0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MMT/TLVのしくみ①

Last updated at Posted at 2025-05-03

MMT/TLVとは

4K・8Kの放送で用いられる、MMT/TLVについてのメモです。今使われているMPEG-2 TSでは、188バイトの固定パケットがひたすらに流れていくしくみですが、MMTもTLVも、可変長パケットです。IPを意識した作りとなっています。

プロトコル・スタック

image.png
図としてはこんな感じです。プロトコル・スタックはARIB STD-B60に載っていますが、簡素化してちょっと付け足したのがこの図です。

それぞれがどういう役割なのかを端的に説明します。

  • TLV: Type Length Value方式。パケットの種別(UDP/IPパケットか?Nullパケットか?TLV-SIか?など)と、可変長パケットなのでパケットのサイズが書かれています
  • UDP/IP: 放送では宛先IPとかポートとかの値は同じものが流れてくるので、圧縮された状態で送られます
  • NTP: 一般に使われるものと同じですが、MPEG-2 TSをご存じの方は、PCRがNTPに変わったという認識で良いと思います
  • TLV-SI: 制御情報が乗っかります。どこの周波数でどのチャンネルが放送やってるのかを示すもの(TLV-NIT)と、どのIP・ポートで流れてるデータがどのサービスなのかを示すもの(AMT)に分かれます
  • HEVC, AAC: 映像と音声です
  • TTML: ARIB独自の字幕フォーマットです。独自なXMLフォーマットになっています。アニメーションなどもできるそうです(運用されてるかは知りません…)
  • HTML5: データ放送です。Javascriptなんかも動くみたいです

TLVパケットの構造

いろいろプロトコルがあって大変そうなので、一番下のパケットから見てみます。
構造はかなり単純です。

image.png

図にすると上のようになります。パケットの先頭は0x7fで固定です。次の1バイトでペイロードの中身の種別を記述します。そして、2~4バイト目ではペイロードの長さを記述します。
ペイロードの中身のタイプは次のとおりです。

  • IPv4(0x01)
  • IPv6(0x02)
  • ヘッダ圧縮IPパケット(0x03)
  • TLV-SI(0xfe)
  • Nullパケット(0xff)

IPv4, IPv6, ヘッダ圧縮IPパケットにはMMTやNTPが伝送されます。TLV-SIは先程述べた通り周波数のリストやサービスのリストが記述されるテーブルを伝送するものです。Nullパケットは、放送のデータレートは一定なので、その埋め合わせをするために送られるパケットで、中身に意味はありません。ペイロードの部分はすべてが0xffで埋められます。

最後に

プロトコル・スタックを眺めて、さらにTLVパケットの中身について少し触れました。次は他のパケットについても見ていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?