MPEG2 AAC +---+ [ENC]------>+ | SDI SDI | | | [Video][A/D]------[EMB]---------+ H.264 | | | | AAC | M | [Audio]-[A/D]-------+ [ENC]------>+ |MPEG-TS OFDM AES/EBU | U +--------[MOD]--------> OA | | DVB/ASI | X | [DATA]----------------------------------->+ | | | [PSI/SI]--------------------------------->+ | +---+
OFDM MPEG-TS +---+ H.264 UHF OA --->[DEMOD]---------->+ +------>[DEC]---> Video | D | | E +------>[DEC]---> Audio | M | | U +------>BML etc... | X | | +------>PSI/SI.... +---+
電波として送信する際に、1つの放送チャンネルを さらに13の小さな周波数帯域(セグメント)に分け、幾つかのセグメントを組み合わせることで 1つの放送チャンネル(=放送局)で複数の番組を送出することが可能。
用途 | セグメント数(例) | ビットレート(例) | 備考 |
高精細度 (HDTV) | 12 | 約17Mbps | 1440x810/30fps, 5+1ch |
標準精細度 (SDTV) | 4 | 約6Mbps | 640x480/30fps |
移動体向け (ワンセグ) | 1 | 約300kbps | 320x240/15fps, 2ch |
現在は、高精細度放送と移動体向け、あるいは複数の標準精細度放送と移動体向けの サービスを組み合わせた放送が行われている。
<--------------TV ch (6MHz)--------------> | | G(下): 1/3seg | | | | | | | | | | | | | | | | G(上): 2/3seg |G| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|11|12|13|G| 1seg: 6MHz/14 = 3/7MHz ------------------------------------------------ <---------------> <---------------> HDTV <==> 1seg
このうち、移動体向けの1セグメントを使ったサービスが 通称と呼ばれる放送である。
OSC2008 Nagaoka にて NetBSD Users Groupによりデモが実施されていた。 RockridgeSound社製 USBワンセグチューナ DUS-01 で NetBSD 上でのワンセグ放送視聴を行うというもの。
デモの展示内容について情報を頂き、OpenBSDにて追試を行った結果が以下のものである。
uditune 26 >oa_26.ts &
mplayer oa_26.ts
拙作 tspdump.c を使って得られたTSファイルの中身を見てみる。
tspdump -1 oa_26.ts | less --[ADDR:000000179352 TSP]---------- Transport Error Indicator: 0 Payload Unit Start Indicator: 1 Transport Priority: 0 Packet Id: 0x0027 <- EIT (電子番組表のデータ) であることを示す Transport Scrambling Control: 0x0 Adaptation Field Control: 0x1 Continuity Counter: 0xc 47 40 27 1c 00 4e f0 3c 7d a0 e9 00 02 7e 04 7e G@'..N.<}....~.~ 02 4e e4 a2 d5 3c 23 40 00 00 55 00 00 21 4d 14 .N...<#@..U..!M. 70 6e 0d 0e 4e 45 57 53 0f 21 21 0e 5a 45 52 4f pn..NEWS.!!.ZERO <-番組名の一部が 89 20 54 06 00 ff 01 ff 10 ff c1 01 88 9f 30 b0 . T...........0. 4e f0 89 7d a0 e9 01 02 7e 04 7e 04 02 4e e4 b6 N..}....~.~..N.. 3d 00 35 00 00 30 00 00 6e 4d 61 6a 70 6e 21 1b =.5..0..nMajpn!. d5 e9 a4 c7 f9 0e 54 56 e9 dc fb 48 41 50 50 59 ......TV...HAPPY <-見えている。 fc fb 0f 4e 78 30 26 3f 37 45 5e 0e 21 fc 3b 22 ...Nx0&?7E^.!.;" 0e 48 41 50 50 59 21 0d 0f 22 26 3a 66 32 6d 3f .HAPPY!.."&:f2m? 21 5f 44 4d 43 4f 49 70 4d 3a 1b 7c ce 31 69 40 !_DMCOIpM:.|.1i@ 37 3f 3e 70 4a 73 d0 e9 a8 c6 a3 21 21 4e 78 30 7?>pJs.....!!Nx0 3f ?
TSに含まれるPIDの種類を数える; 例として、一時間分のTSファイルについて計測
tspdump -1 oa_26.ts | awk '/Packet Id:/ { print $3 }' | sort | uniq -c
個数 PID 名称 3600 0x0010 NIT: Network Information Table 1799 0x0011 SDT: Service Description Table 719 0x0014 TOT: Time Offset Table 3598 0x0024 BIT: Broadcaster Information Table 6299 0x0027 EIT: Event Information Table 88 0x0028 SDTT: Software Download Trigger Table 35884 0x0551 データ放送 35860 0x0552 データ放送 416551 0x0881 H.264映像 130331 0x0883 AAC音声 15553 0x08ff PCR: Program Clock Reference 17992 0x1fc8 PMT: Program Mapping Table 327116 0x1fff Null
TSパケットは定長なので、これにより各パケットの平均送出間隔や所要帯域の割合などが算出できる。