以下、実施の形態について、図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態に係る送信システム10と受信システム20とを示すブロック図である。送信システム10は、放送波を送信する。送信される放送波は、放送ネットワーク等の伝送路を介して受信システム20へ到達する。受信システム20は、放送波を受信する。
(送信システム)
図1に示される送信システム10は、エンコーダ11、付加情報生成装置12、MMT(MPEG Media Transport)多重化装置13、IP(Internet Protocol)多重化装置14、TLV(Type Length Value)多重化装置15、伝送スロット化装置16及び送信処理装置17を備える。
エンコーダ11は、例えば、カメラ等の撮影装置、又は、サーバ等から、映像・音声信号を受信する。エンコーダ11は、受信した映像・音声信号を予め設定される方式に従って符号化することで、映像・音声信号を符号化信号へ変換する。エンコーダ11は、符号化信号をMMT多重化装置13へ出力する。
付加情報生成装置12は、放送番組の番組表、及び、映像配信コンテンツの課金・暗号化等についての情報を作成し、付加情報としてMMT多重化装置13へ出力する。なお、図1に示される送信システム10には、暗号化部(スクランブラ)は記載されていないが、例えば、MMT多重化装置13とIP多重化装置14との間に設けられる。
MMT多重化装置13は、例えば、CPU(Central Processing Unit)、CPUが処理を実行する際に用いるメモリ、及び、CPUからの制御に従って所定の処理を実行するFPGA(Field Programmable Gate Array)等を備える。CPUがFPGAに所定の処理を実行させることで、MMT多重化装置13は、符号化信号に対する処理を実行する。すなわち、MMT多重化装置13は、符号化信号に付加情報を付加し、付加情報を付加した符号化信号をMMTP(MPEG Media Transport Protocol)パケットに格納する。MMT多重化装置13は、MMTPパケットをIP多重化装置14へ出力する。
なお、MMT多重化装置13は、FPGAの代わりにLSI(Large-Scale Integration)を備えるようにしても構わない。また、MMT多重化装置13は、ソフトウェアにより所定の処理を実行するようにしても構わない。
IP多重化装置14は、例えば、CPU、CPUが処理を実行する際に用いるメモリ、及び、CPUからの制御に従って所定の処理を実行するFPGA等を備える。CPUがFPGAに所定の処理を実行させることで、IP多重化装置14は、MMTPパケットに対する処理を実行する。すなわち、IP多重化装置14は、MMTPパケットをIPパケットに格納する。IP多重化装置14は、IPパケットをTLV多重化装置15へ出力する。
なお、IP多重化装置14は、FPGAの代わりにLSIを備えるようにしても構わない。また、IP多重化装置14は、ソフトウェアにより所定の処理を実行するようにしても構わない。
TLV多重化装置15は、例えば、CPU、CPUが処理を実行する際に用いるメモリ、及び、CPUからの制御に従って所定の処理を実行するFPGA等を備える。CPUがFPGAに所定の処理を実行させることで、TLV多重化装置15は、IPパケットに対する処理を実行する。すなわち、TLV多重化装置15は、IPパケットに基づいてTLVパケットを生成する。
図2は、TLV多重化装置15が生成するTLVパケットの構成を示す模式図である。図2に示されるように、TLVパケットは、「01」の2ビット、「111111」の6ビット、TLVに格納するパケットの種別を識別するための8ビットの「パケット種別」、後続するデータバイト数を書き込む16ビットの「データ長」及びデータ長によりデータバイト数が示されるデータからなる。データ長が0である、すなわち、データバイト数が0バイトである場合、TLVパケットの容量は最小の4バイト(2ビット+6ビット+8ビット+16ビット+0バイト)となる。
TLV多重化装置15は、TLVパケットを伝送スロット化装置16へ出力する。
なお、TLV多重化装置15は、FPGAの代わりにLSIを備えるようにしても構わない。また、TLV多重化装置15は、ソフトウェアにより所定の処理を実行するようにしても構わない。
伝送スロット化装置は16、例えば、CPU、CPUが処理を実行する際に用いるメモリ、及び、CPUからの制御に従って所定の処理を実行するFPGA等を備える。CPUがFPGAに所定の処理を実行させることで、伝送スロット化装置16は、TLVパケットに対する処理を実行する。すなわち、伝送スロット化装置16は、TLVパケットを、伝送主信号を構成するスロットのいずれかに格納することで、伝送主信号を生成する。伝送スロット化装置16は、生成した伝送主信号を送信処理装置17へ出力する。
伝送主信号は、スロットを単位として生成される信号である。伝送主信号についての伝送モードの設定は、設定情報に基づき、120のスロットで構成されるフレーム毎に更新される。設定情報には、伝送主信号における120のスロットについて、変調方式及び符号化率等の伝送モードについての情報が含まれている。
図3は、スロットの構成例を示す模式図である。スロットは、スロットヘッダ及び主信号に、誤り訂正外符号及びスタッフビットを付加し、この信号に対して誤り訂正内符号を付加した信号である。主信号には、後述するように、TLVパケット、NTPパケット、TLV NULLパケット及びスロットパディングバイトのうち、少なくともいずれかが格納される。
図4は、図1に示される伝送スロット化装置16の機能構成の例を示すブロック図である。図4に示されるスロット番号カウンタ161、設定情報受信部162、容量算出部163、伝送スロット化部164、TLVパケット受信部165、NTP(Network Time Protocol)パケット生成部166、スロットパディングバイト生成部167及びTLV NULLパケット生成部168の機能は、CPUがFPGAに所定の処理を実行させることで実現される。なお、伝送スロット化装置16は、FPGAの代わりにLSIを備えることで、図4に示される機能を実現するようにしても構わない。また、伝送スロット化装置16は、ソフトウェアにより、図4に示される機能を実現しても構わない。
スロット番号カウンタ161は、フレーム同期信号を受信すると、カウント値を1とした後、伝送クロックを用いてカウントを再開する。スロット番号カウンタ161は、図3に示されるスロット構造のデータを伝送するクロック数が経過すると、スロット番号を1増加させ、次のスロットの伝送クロック数をカウントする。これにより、フレームの開始と共にカウントが開始されることとなる。スロット番号カウンタ161は、カウント値を容量算出部163及び選択部1641へ出力する。
設定情報受信部162は、伝送主信号についてのフレーム毎の伝送モードを設定する設定情報を受信する。設定情報受信部162は、設定情報を容量算出部163及び伝送スロット化部164へ出力する。
なお、設定情報に含まれる符号化率は、例えば、図3における符号化率にて示されるように設定可能であり、符号化率の変動に応じて主信号ビット数も変動する。
また、設定情報に含まれる変調方式は、例えば、16値振幅位相変調方式(16APSK)、8相位相変調方式(8PSK)、4相位相変調方式(QPSK)及び2分のπシフト2相変調方式(π/2シフトBPSK)等である。16APSKでは、スロットの単位を5とした場合、有効スロット数が4、無効スロット数が1である。また、8PSKでは、スロットの単位を5とした場合、有効スロット数が3、無効スロット数が2である。また、QPSKでは、スロットの単位を5とした場合、有効スロット数が2、無効スロット数が3である。また、π/2シフトBPSKでは、スロットの単位を5とした場合、有効スロット数が1、無効スロット数が4である。設定情報に含まれる変調方式と符号化率との組み合わせにより、5スロット毎の主信号総ビット数が決定する。
また、設定情報に含まれる変調方式と符号化率との組み合わせは、1種類に限定されない。設定情報に含まれる変調方式と符号化率との組み合わせは、2種類以上であっても構わない。組み合わせが複数ある場合、スロットへの伝送モードの割り当ては、スロット番号1から昇順に、多値数の大きい変調方式、同じ変調方式の場合、符号化率の高いものから順に行われる。
容量算出部163は、スロット番号カウンタ161から出力されるカウント値と、設定情報受信部162から出力される設定情報とを受信する。容量算出部163は、フレーム中における最初のカウント値、すなわち、「1」を受信すると、符号化率により決定される主信号ビット数と、変調方式から決定される有効スロットと無効スロットとの割合とに基づき、フレームについての有効な主信号の容量を、フレーム主信号容量として算出する。また、容量算出部163は、スロット番号カウンタ161から出力されるカウント値を受信すると、カウント値が示す番号で表されるスロットにおける有効な主信号の容量を、スロット主信号容量として算出する。容量算出部163は、フレーム主信号容量及びスロット主信号容量を算出すると、算出したフレーム主信号容量についての情報、及び、算出したスロット主信号容量についての情報を伝送スロット化部164へ出力する。
設定情報に含まれる変調方式と符号化率との組み合わせが2種類以上ある場合、容量算出部163は、組み合わせ毎に擬似的なフレーム主信号容量を算出する。容量算出部163は、設定情報に含まれる変調方式と符号化率との組み合わせに従って割り当てられたスロット開始位置で擬似的なスロット主信号容量を用いる。
TLVパケット受信部165は、TLV多重化装置15から出力されるTLVパケットを受信する。TLVパケット受信部165は、バッファ(図示せず)を備え、受信したTLVパケットをバッファに保持する。TLVパケット受信部165は、伝送スロット化部164からの指示に応じ、保持するTLVパケットを伝送スロット化部164へ出力する。
NTPパケット生成部166は、NTP形式のIPパケットを生成する。NTPパケット生成部166は、NTP形式を含むIPパケットをTLVパケットに格納することで、NTPパケットを生成する。
なお、ARIB STD−B44 2.0版では、NTPパケットを、TLVストリームID毎に割り当てられたスロットのうち、フレーム中の最初のスロットの先頭に配置することが規定されている。NTPパケットの遅延変動を抑えるためである。なお、NTPパケットは、フレーム毎に必ずしも含める必要はない。また、同一TLVストリームID中に変調方式と符号化率との組み合わせが2種類以上ある場合、誤り耐性が最も強い組み合わせとなるスロットの最初のスロットの先頭に、NTPパケットを配置しても良い。
NTPパケット生成部166は、伝送スロット化部164から、NTPパケットを挿入するタイミングの通知を受け、そのときのNTP時刻(システム時刻)を含むNTPパケットを伝送スロット化部164へ出力する。なお、NTP時刻に対し、外部から設定されるオフセットを加算又は減算して補正してもよい。
スロットパディングバイト生成部167は、伝送スロット化部164からの指示に応じ、予め設定されるデータ列をスロットパディングバイトとして生成する。TLVパケットの先頭バイトは、図2に記載するように、「0x7f」である。スロットパディングバイト生成部167は、「0x7f」とは異なるデータ列、例えば、「0x7e」をスロットパディングバイトとして生成する。なお、スロットパディングバイトは、「0x7e」に限られず、「0x7f」以外であればよい。
また、スロットパディングバイト生成部167は、伝送主信号における最後の有効スロットの残容量が3バイトである場合のスロットパディングバイトを「0x7e」とし、残容量が2バイトである場合のスロットパディングバイトを「0x7d」とし、残容量が1バイトである場合のスロットパディングバイトを「0x7c」と、下位2ビットが残容量を表すようにしてもよい。スロットパディングバイト生成部167は、生成したスロットパディングバイトを伝送スロット化部164へ出力する。
TLV NULLパケット生成部168は、伝送スロット化部164からの指示を受信し、指示される容量のTLV NULLパケットを生成する。TLV NULLパケット生成部168は、生成したTLV NULLパケットを伝送スロット化部164へ出力する。
伝送スロット化部164は、選択部1641、TLVバイト数抽出部1642、残量算出部1643及びスロット情報多重部1644を備える。
TLVバイト数抽出部1642は、TLVパケット受信部165から出力されるTLVパケット、又は、NTPパケット生成部166から出力されるNTPパケットを受信する。TLVバイト数抽出部1642は、受信したTLVパケット又はNTPパケットから図2に示されるデータ長を抽出し、TLVパケット又はNTPパケットに含まれるデータ容量を取得する。TLVバイト数抽出部1642は、取得したデータ容量についての情報を残量算出部1643へ出力する。
残量算出部1643は、容量算出部163から出力されるフレーム主信号容量についての情報、容量算出部163から出力されるスロット主信号容量についての情報、及び、TLVバイト数抽出部1642から出力されるデータ容量についての情報を受信する。残量算出部1643は、フレーム主信号容量からデータ容量を順次差し引くことで、フレーム残容量を算出する。残量算出部1643は、算出したフレーム残容量を選択部1641へ出力する。残量算出部1643は、フレーム主信号容量からデータ容量を順次差し引くことで、スロット残容量を算出する。残量算出部1643は、算出したスロット残容量を選択部1641へ出力する。
選択部1641は、スロット番号カウンタ161から出力されるカウント値が示す番号で表されるスロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納する。
選択部1641は、スロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納すると、残量算出部1643から出力されるスロット残容量から、格納したデータの容量を減算することで、現状のスロット残容量を算出する。また、選択部1641は、スロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納すると、残量算出部1643から出力されるフレーム残容量から、格納したデータの容量を減算することで、現状のフレーム残容量を算出する。
選択部1641は、スロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納したことで、フレームにおける最後の有効スロットのスロット残容量が4バイト未満となる場合、スロットパディングバイト生成部167へ、スロットパディングバイトの要求指示を出力する。このとき、選択部1641は、スロットパディングバイト生成部167に対し、同一のスロットパディングバイト、例えば、「0x7e」を複数バイト分要求してもよい。
また、選択部1641は、スロット残容量が3バイトである場合は「0x7e」を3バイト分要求し、スロット残容量が2バイトである場合は「0x7d」を2バイト分要求し、スロット残容量が1バイトである場合は「0x7c」を1バイト分要求してもよい。なお、選択部1641によるスロットパディングバイトの要求は、上記に限定されず、様々な態様が想定可能である。例えば、選択部1641は、スロット残容量が3バイトである場合は「0x7e」、「0x7d」及び「0x7c」を要求し、スロット残容量が2バイトである場合は「0x7d」及び「0x7c」を要求し、スロット残容量が1バイトである場合は「0x7c」を要求しても構わない。
選択部1641は、設定情報受信部162から出力される設定情報に基づき、スロット番号カウンタ161から出力されるカウント値が示す番号で表されるスロットの先頭にNTPパケットを格納する必要があるか否かを判断する。必要と判断した場合、選択部1641は、NTPパケット生成部166へNTPパケットの要求指示を出す。選択部1641は、NTPパケット生成部166から出力されるNTPパケットをスロットへ格納する。
選択部1641は、フレーム残容量及びスロット残容量に応じた容量のTLV NULLパケットを生成するようにTLV NULLパケット生成部168へ指示する。選択部1641は、TLV NULLパケット生成部168から出力されるTLV NULLパケットを受信すると、受信したTLV NULLパケットを、スロットに格納する。
選択部1641は、データを格納したスロットをスロット情報多重部1644へ出力する。
スロット情報多重部1644は、容量算出部163から出力されるフレーム主信号容量についての情報、容量算出部163から出力されるスロット主信号容量についての情報、設定情報受信部162から出力される設定情報、及び、選択部1641から出力されるスロットを受信する。スロット情報多重部1644は、受信したフレーム主信号容量、スロット主信号容量及び設定情報に基づき、受信したスロットについてのスロット情報を作成する。スロット情報は、同期信号、信号点配置情報及びTMCC情報を含む。信号点配置情報は、スロット毎に包含される最初のパケットの先頭位置、及び、スロット毎に包含される最後のパケットの末尾の位置を示す。TMCC情報は、符号化率及び変調方式を含む伝送モードについての情報、及び、TLVストリームIDについての情報等を含む。スロット情報多重部1644は、生成したスロット情報を受信したスロットに多重し、スロット情報を多重したスロットを送信処理装置17へ出力する。図5は、スロット情報多重部1644が送信処理装置17へ出力する伝送主信号のスロット構成を示す模式図である。
送信処理装置17は、例えば、CPU、CPUが処理を実行する際に用いるメモリ、及び、CPUからの制御に従って所定の処理を実行するFPGA等を備える。CPUがFPGAに所定の処理を実行させることで、送信処理装置17は、伝送主信号に対する処理を実行する。すなわち、送信処理装置17は、伝送スロット化装置16から出力される伝送主信号を受信し、受信した伝送主信号を、スロット毎に割り当てられた変調方式で変調する。送信処理装置17は、変調後の信号に対して所定の送信処理を実施し、放送波を生成する。送信処理装置17は、放送波を送信する。
なお、送信処理装置17は、FPGAの代わりにLSIを備えるようにしても構わない。また、送信処理装置17は、ソフトウェアにより所定の処理を実行するようにしても構わない。
次に以上のように構成される伝送スロット化装置16の動作を詳細に説明する。図6は、図4に示される選択部1641が受信したデータをスロットに格納する際の処理の例を示すフローチャートである。なお、図6では、フレーム中における伝送モードが1つ、すなわち、設定情報に含まれる変調方式と符号化率との組み合わせが1つである場合を例に説明する。
まず、選択部1641は、スロット番号カウンタ161からカウント値を受信する(ステップS61)。選択部1641は、受信したカウント値が1であるか否かを判断する(ステップS62)。受信したカウント値が1である場合(ステップS62のYes)、選択部1641は、新たなフレームが開始したことを認識する(ステップS63)。受信したカウント値が1でない場合(ステップS62のNo)、選択部1641は、カウント値が示す番号で表されるスロットにNTPパケットを格納するか否かを判断する(ステップS64)。
スロットにNTPパケットを格納する必要がある場合(ステップS64のYes)、選択部1641は、現スロットの先頭にNTPパケットを格納する(ステップS65)。スロットにNTPパケットを格納する必要がない場合(ステップS64のNo)、選択部1641は、現スロットが現フレームにおける最後の有効スロットであるか否かを判断する(ステップS66)。
選択部1641は、現スロットにデータを格納すると、残量算出部1643から出力されるスロット残容量から、格納したデータの容量を減算することで、現状のスロット残容量を更新する。また、選択部1641は、現スロットにデータを格納すると、残量算出部1643から出力されるフレーム残容量から、格納したデータの容量を減算することで、現状のフレーム残容量を更新する(ステップS67)。
続いて、選択部1641は、現スロットにおけるスロット残容量が0であるか否かを判断する(ステップS68)。現スロットにおけるスロット残容量が0である場合(ステップS68のYes)、選択部1641は、現フレームにおけるフレーム残容量が0であるか否かを判断する(ステップS69)。現スロットにおけるスロット残容量が0でない場合(ステップS68のNo)、選択部1641は、処理をステップS66へ移行する。
現フレームにおけるフレーム残容量が0である場合(ステップS69のYes)、選択部1641は、次フレームが開始されるまで待機する(ステップS610)。現フレームにおけるフレーム残容量が0でない場合(ステップS69のNo)、選択部1641は、処理をステップS61へ移行する。
ステップS66において、現スロットが現フレームにおける最後の有効スロットである場合(ステップS66のYes)、選択部1641は、現スロットのスロット残容量が4バイト未満であるか否かを判断する(ステップS611)。現スロットが現フレームにおける最後の有効スロットでない場合(ステップS66のNo)、選択部1641は、現スロットに格納すべきTLVパケットが存在するか否かを判断する(ステップS612)。
ステップS611において、現スロットのスロット残容量が4バイト未満である場合(ステップS611のYes)、選択部1641は、4バイト未満の領域に、スロットパディングバイト生成部167から出力されるスロットパディングバイトを格納し(ステップS613)、処理をステップS610へ移行する。
ステップS612において、現スロットに格納すべきTLVパケットが存在する場合(ステップS612のYes)、選択部1641は、現フレームにこのTLVパケットを格納できないか否か、すなわち、現スロットにTLVパケットを格納すると現フレームのフレーム残容量が0を下回るか否かを判断する(ステップS614)。現スロットに格納すべきTLVパケットが存在しない場合(ステップS612のNo)、選択部1641は、TLV NULLパケット生成部168から出力されるTLV NULLパケットを現スロットに格納し(ステップS615)、処理をステップS67へ移行する。
現スロットにTLVパケットを格納すると現フレームのフレーム残容量が0を下回る場合(ステップS614のYes)、選択部1641は、現スロットと、現フレームにおける最後の有効スロットまでを連結し、この連結スロットに、このTLVパケットではなくTLV NULLパケットを格納する(ステップS616)。現スロットにTLVパケットを格納すると現フレームのフレーム残容量が0を下回る場合(ステップS614のNo)、選択部1641は、現スロットにTLVパケットを格納すると現スロットのスロット残容量が0を下回るか否かを判断する(ステップS617)。
現スロットにTLVパケットを格納すると現スロットのスロット残容量が0を下回る場合(ステップS617のYes)、選択部1641は、TLVパケットを、現スロットに格納可能な容量の第1のTLVパケットと、その他の第2のTLVパケットとに分割する(ステップS618)。選択部1641は、分割した第1のTLVパケットを現スロットに格納し(ステップS619)、処理をステップS67へ移行する。現スロットにTLVパケットを格納すると現スロットのスロット残容量が0以上となる場合(ステップS617のNo)、選択部1641は、TLVパケットを現スロットに格納し(ステップS620)、処理をステップS67へ移行する。
選択部1641が図6に記載する処理を実行することにより、図7に示されるようなスロット群がスロット情報多重部1644へ出力されることになる。図7によれば、最後の有効スロットの末尾にスロットパディングバイトが格納されている。
なお、図6では、フレーム中における伝送モードが1つである場合を例に説明した。しかしながら、これに限定されない。選択部1641は、フレーム中における伝送モードが2つ以上ある場合であっても同様な動作を実施することが可能である。
フレーム中における伝送モードが2つ以上ある場合、容量算出部163は、設定情報に従い、伝送モード毎に有効な主信号の容量を、フレーム主信号容量として算出する。
残量算出部1643は、伝送モード毎に算出されるフレーム主信号容量から、TLVバイト数抽出部1642から出力されるデータ容量を減算することで、伝送モード毎のフレーム残容量を算出する。
選択部1641は、設定情報に示される、スロットへの伝送モードの割り当てに従い、フレーム残容量及びスロット残容量を参照しながら、スロットにTLVパケットを格納する。
図8は、TLVストリームが1つであり、かつ、伝送モードが2つの場合のスロット構成を示す図である。図8において、スロット#1〜#60に割り当てられる伝送モードの変調方式の多値数は、スロット#61〜#120に割り当てられる伝送モードの変調方式の多値数よりも大きいものとする。このとき、スロット#61〜#120に割り当てられる伝送モードの方が妨害に強いため、NTPパケットは、スロット#61の先頭に配置されることになる。また、図8によれば、各伝送モードにおける最後の有効スロットの末尾にスロットパディングバイトが格納されている。
図9は、TLVストリームが3つであり、かつ、伝送モードが3つの場合のスロット構成を示す図である。図9において、スロット#1〜#40に割り当てられる伝送モードについてのNTPパケットはスロット#1の先頭に格納され、スロット#41〜#80に割り当てられる伝送モードについてのNTPパケットはスロット#41の先頭に格納され、スロット#81〜#1200に割り当てられる伝送モードについてのNTPパケットはスロット#81の先頭に格納される。また、図9によれば、スロット#1〜#40に割り当てられる伝送モードにおける最後の有効スロットの末尾にスロットパディングバイトが格納されている。
以上のように、第1の実施形態に係る送信システム10は、伝送スロット化装置16の容量算出部163により、フレーム主信号容量及びスロット主信号容量を算出する。残量算出部1643は、フレーム主信号容量からTLVパケットのデータ容量を減算することで、フレーム残容量を算出し、スロット主信号容量からTLVパケットのデータ容量を減算することで、スロット残容量を算出する。そして、フレーム中の最後の有効スロットにおけるスロット残容量が4バイト未満となる場合、選択部1641は、残領域にスロットパディングバイトを格納するようにしている。これにより、第1の実施形態に係る送信システム10は、フレーム中の最後の有効スロットにおけるスロット残容量が、有効スロットにTLVパケットを格納することにより4バイト未満となる場合であっても、フレーム中の最後の有効スロットの終端までデータを格納することが可能となる。
したがって、第1の実施形態係る送信システム10によれば、フレーム中の最後の有効スロットの残容量が、フレーム中の有効スロットにTLVパケットを格納することにより4バイト未満となっても放送波を正常に送信することができる。
なお、第1のフレーム中の最後の有効スロットにおいて残された3バイトの領域と、第1のフレームに続く第2のフレームの最初のスロットとを連結し、連結したスロットにTLV NULLパケットを格納する対応策も考えられる。しかしながら、NTPパケットを格納する場合、その位置が最初のスロットにおける先頭と規定されているため、この対応策では第1の実施形態に係る送信システムが達成する機能には及ばない。
また、第1の実施形態では、スロットパディングバイト生成部167は、残容量に応じた複数種類のスロットパディングバイトを生成する。そして、選択部1641は、残容量に応じたスロットパディングバイトを格納するようにしている。これにより、受信システム20が伝送主信号に含まれるスロットパディングバイトを受信した際、スロットパディングバイトが何バイト分格納されているのかを把握することが可能となる。
(受信システム)
図10は、図1に示される受信システム20の構成を示すブロック図である。図10に示される受信システム20は、受信処理装置21、伝送主信号受信装置22、TLV分離装置23、IP分離装置24、MMT分離装置25、デコーダ26及び付加情報解釈部27を具備する。
受信処理装置21は、放送ネットワーク等の伝送路を介して到来する放送波を受信する。受信処理装置21は、受信した放送波に対して所定の受信処理を施すと共に、スロット毎に割り当てられた変調方式に対応する復調方式を用いた復調処理を実施することで、放送波を伝送主信号に変換する。受信処理装置21は、伝送主信号を伝送主信号受信装置22へ出力する。
図11は、図10に示される伝送主信号受信装置22の機能構成の例を示すブロック図である。図10に示されるデータ分離部221、NTP時刻再生部222、スロット情報解釈部223及びスロットパディングバイト除去部224の機能は、CPUがFPGAに所定の処理を実行させることで実現される。なお、伝送主信号受信装置22は、FPGAの代わりにLSIを備えることで、図11に示される機能を実現するようにしても構わない。また、伝送主信号受信装置22は、ソフトウェアにより、図11に示される機能を実現しても構わない。
データ分離部221は、受信処理装置21から出力される伝送主信号を受信する。データ分離部221は、受信した伝送主信号に含まれるスロットから、スロットに付加されているスロット情報を分離する。データ分離部221は、分離したスロット情報をスロット情報解釈部223へ出力する。
また、データ分離部221は、受信した伝送主信号に含まれるスロットのスロットヘッダを参照し、スロットから主信号を取り出す。データ分離部221は、主信号に含まれるNTPパケットをNTP時刻再生部222へ出力する。また、データ分離部221は、主信号に含まれるNTPパケット以外のデータを、スロットパディングバイト除去部224へ出力する。
NTP時刻再生部222は、データ分離部221から出力されるNTPパケットに基づき、NTP時刻情報を生成する。NTP時刻再生部222は、生成したNTP時刻情報と内部でカウントする時刻情報とが同期するよう内部でカウントするクロックを調整し、内部でカウントする時刻情報を後段の装置へ出力する。クロックの調整は、例えば、NTP時刻情報を受信したとき、内部でカウントする時刻情報の値と比較し、内部でカウントする時刻情報が進んでいる場合はクロックを低くし、遅れている場合はクロックを高くするようVCXO(Voltage Controlled Xtal Oscillator)の発振周波数を制御することで行う。
スロット情報解釈部223は、データ分離部221から出力されるスロット情報を受信する。スロット情報解釈部223は、受信したスロット情報から、スロット情報に含まれる信号点配置情報及びTMCC情報を解釈する。スロット情報解釈部223は、信号点配置情報及びTMCC情報をスロットパディングバイト除去部224へ出力する。
スロットパディングバイト除去部224は、スロットパディングバイトとなるデータ列、例えば、「0x7e」を予め記憶する。スロットパディングバイト除去部224は、スロット情報解釈部223から出力される信号点配置情報及びTMCC情報を受信する。スロットパディングバイト除去部224は、受信した信号点配置情報及びTMCC情報に基づき、伝送主信号の伝送モード及びフレーム中の最後の有効スロットにおける最後のパケットの末尾の位置等を把握する。スロットパディングバイト除去部224は、データ分離部221から出力されるデータを受信すると、この末尾の位置に、記憶しているデータ列が存在するか否かを判断する。受信したデータにスロットパディングバイトが存在している場合、スロットパディングバイト除去部224は、受信したデータにおける末尾の位置から最大3バイト分配置されるスロットパディングバイトを除去する。スロットパディングバイト除去部224は、スロットパディングバイトを除去した後のデータ、すなわち、TLVパケット又はTLV NULLパケットを、TLV分離装置へ出力する。
なお、スロットパディングバイト除去部224が記憶する情報は、データ列のみに限られない。例えば、スロットパディングバイト除去部224は、スロットに「0x7e」が含まれる場合は「0x7e」を含めて3バイト分が不要なデータであり、スロットに「0x7d」が含まれる場合は「0x7d」を含めて2バイト分が不要なデータであり、スロットに「0x7c」が含まれる場合は「0x7c」を含めて1バイト分が不要なデータである旨の情報を予め記憶していてもよい。このとき、スロットパディングバイト除去部224は、データ分離部221から出力されるデータに含まれるスロットパディングバイトに応じ、このデータに含まれる不要なデータを除去する。
TLV分離装置23は、伝送主信号受信装置22から出力されるTLVパケット及びTLV NULLパケットを受信する。TLV分離装置23は、受信したTLVパケットからIPパケットを取り出す。TLV分離装置23は、取り出したIPパケットをIP分離装置24へ出力する。
IP分離装置24は、TLV分離装置23から出力されるIPパケットを受信する。IP分離装置24は、受信したIPパケットからMMTPパケットを取り出す。IP分離装置24は、取り出したMMTPパケットをMMT分離装置25へ出力する。
MMT分離装置25は、IP分離装置24から出力されるMMTPパケットを受信する。MMT分離装置25は、受信したMMTPパケットから符号化信号と、付加情報とを取り出す。MMT分離装置25は、取り出した符号化信号をデコーダ26へ出力し、取り出した付加情報を付加情報解釈部27へ出力する。
デコーダ26は、MMT分離装置25から出力される符号化信号を受信し、予め設定される方式に従って復号することで、符号化信号を映像・音声信号へ変換する。デコーダ26は、映像・音声信号を後段の装置へ出力する。
付加情報解釈部27は、MMT分離装置25から出力される付加情報を受信する。付加情報解釈部27は、受信した付加情報から読み出される情報を後段の装置へ出力する。
以上のように第1の実施形態に係る受信システム20では、伝送主信号受信装置22は、スロットから主信号を取り出す。伝送主信号受信装置22は、スロットパディングバイトとなるデータ列を予め記憶する。そして、伝送主信号受信装置22は、主信号にスロットパディングバイトが含まれる場合、主信号からスロットパディングバイトを除去するようにしている。これにより、伝送主信号受信装置22は、伝送主信号を構成するスロットにスロットパディングバイトが含まれている場合であっても、伝送主信号からTLVパケットを正常に取り出すことが可能となる。
したがって、第1の実施形態に係る伝送主信号受信装置22によれば、送信システム10から送信される伝送主信号にスロットパディングバイトが含まれている場合であっても、受信システム20における放送波の正常な受信を実現することができる。
(第2の実施形態)
第1の実施形態では、伝送スロット化装置16が、伝送主信号における最後の有効スロットのスロット残容量が4バイト未満となった場合、空き領域にスロットパディングバイトを格納する場合を説明した。第2の実施形態では、伝送スロット化装置18が、伝送主信号における最後の有効スロットのスロット残容量が4バイト未満とならないように、スロットにパケットを格納する場合を説明する。
図12は、第2の実施形態に係る伝送スロット化装置18の機能構成の例を示すブロック図である。図12に示されるスロット番号カウンタ161、設定情報受信部162、容量算出部163、伝送スロット化部181、TLVパケット受信部165、NTPパケット生成部166及びTLV NULLパケット生成部168の機能は、CPUがFPGAに所定の処理を実行させることで実現される。なお、伝送スロット化装置18は、FPGAの代わりにLSIを備えることで、図12に示される機能を実現するようにしても構わない。また、伝送スロット化装置18は、ソフトウェアにより、図12に示される機能を実現しても構わない。
伝送スロット化部181は、選択部1811、TLVバイト数抽出部1642、残量算出部1643及びスロット情報多重部1644を備える。
選択部1811は、スロット番号カウンタ161から出力されるカウント値が示す番号で表されるスロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納する。
選択部1811は、スロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納すると、残量算出部1643から出力されるスロット残容量から、格納したデータの容量を減算することで、現状のスロット残容量を算出する。また、選択部1811は、スロットにTLVパケット、NTPパケット又はTLV NULLパケットを格納すると、残量算出部1643から出力されるフレーム残容量から、格納したデータの容量を減算することで、現状のフレーム残容量を算出する。
選択部1811は、設定情報受信部162から出力される設定情報に基づき、スロット番号カウンタ161から出力されるカウント値が示す番号で表されるスロットの先頭にNTPパケットを格納する必要があるか否かを判断する。必要と判断した場合、選択部1811は、NTPパケット生成部166へNTPパケットの要求指示を出す。選択部1811は、NTPパケット生成部166から出力されるNTPパケットをスロットへ格納する。
選択部1811は、フレーム残容量及びスロット残容量に応じた容量のTLV NULLパケットを生成するようにTLV NULLパケット生成部168へ指示する。選択部1811は、TLV NULLパケット生成部168から出力されるTLV NULLパケットを受信すると、受信したTLV NULLパケットを、スロットに格納する。
選択部1811は、データを格納したスロットをスロット情報多重部1644へ出力する。
次に図12に示される選択部1811が、受信したパケットをスロットに格納する際の処理を詳細に説明する。図13は、選択部1811がパケットをスロットに格納する際の処理を示すフローチャートである。なお、図13では、フレーム中における伝送モードが1つの場合を例に説明する。
まず、選択部1811は、スロット番号カウンタ161からカウント値を受信する(ステップS131)。選択部1811は、受信したカウント値が1であるか否かを判断する(ステップS132)。受信したカウント値が1である場合(ステップS132のYes)、選択部1811は、新たなフレームが開始したことを認識する(ステップS133)。受信したカウント値が1でない場合(ステップS132のNo)、選択部1811は、カウント値が示す番号で表されるスロットにNTPパケットを格納するか否かを判断する(ステップS134)。
スロットにNTPパケットを格納する必要がある場合(ステップS134のYes)、選択部1811は、現スロットの先頭にNTPパケットを格納する(ステップS135)。スロットにNTPパケットを格納する必要がない場合(ステップS134のNo)、選択部1811は、現スロットに格納すべきTLVパケットが存在するか否かを判断する(ステップS136)。
選択部1811は、現スロットにデータを格納すると、残量算出部1643から出力されるスロット残容量から、格納したデータの容量を減算することで、現状のスロット残容量を更新する。また、選択部1811は、現スロットにデータを格納すると、残量算出部1643から出力される、フレーム残容量から、格納したデータの容量を減算することで、現状のフレーム残容量を更新する(ステップS137)。
続いて、選択部1811は、現スロットにおけるスロット残容量が0であるか否かを判断する(ステップS138)。現スロットにおけるスロット残容量が0である場合(ステップS138のYes)、選択部1811は、現フレームにおけるフレーム残容量が0であるか否かを判断する(ステップS139)。現スロットにおけるスロット残容量が0でない場合(ステップS138のYes)、選択部1811は、処理をステップS136へ移行する。
現フレームにおけるフレーム残容量が0である場合(ステップS139のYes)、選択部1811は、次フレームが開始されるまで待機する(ステップS1310)。現フレームにおけるフレーム残容量が0でない場合(ステップS139のNo)、選択部1811は、処理をステップS131へ移行する。
ステップS136において、現スロットに格納すべきTLVパケットが存在する場合(ステップS136のYes)、選択部1811は、現スロットにTLVパケットを格納すると現フレームのフレーム残容量が4バイト未満となるか否かを判断する(ステップS1311)。現スロットに格納すべきTLVパケットが存在しない場合(ステップS136のNo)、選択部1811は、TLV NULLパケット生成部168から出力されるTLV NULLパケットを現スロットに格納し(ステップS1312)、処理をステップS137へ移行する。
現スロットにTLVパケットを格納すると現フレームのフレーム残容量が4バイト未満となる場合(ステップS1311のYes)、選択部1811は、現スロットと、現フレームにおける最後の有効スロットまでを連結し、この連結スロットに、TLV NULLパケットを格納する(ステップS1313)。現スロットにTLVパケットを格納すると現フレームのフレーム残容量が4バイト以上となる場合(ステップS1311のNo)、選択部1811は、現スロットにTLVパケットを格納すると現スロットのスロット残容量が0を下回るか否かを判断する(ステップS1314)。
現スロットにTLVパケットを格納すると現スロットのスロット残容量が0を下回る場合(ステップS1314のYes)、選択部1811は、TLVパケットを、現スロットに格納可能な容量の第1のTLVパケットと、その他の第2のTLVパケットとに分割する(ステップS1315)。選択部1811は、分割した第1のTLVパケットを現スロットに格納し(ステップS1316)、処理をステップS137へ移行する。現スロットにTLVパケットを格納すると現スロットのスロット残容量が0以上となる場合(ステップS1314のNo)、選択部1811は、TLVパケットを現スロットに格納し(ステップS1317)、処理をステップS137へ移行する。
なお、図13では、フレーム中における伝送モードが1つである場合を例に説明した。しかしながら、これに限定されない。選択部1811は、フレーム中における伝送モードが2つ以上ある場合であっても同様な動作を実施することが可能である。
以上のように、第2の実施形態に係る送信システム10は、伝送スロット化装置18の容量算出部163により、フレーム主信号容量及びスロット主信号容量を算出する。残量算出部1643は、フレーム主信号容量からTLVパケットのデータ容量を減算することで、フレーム残容量を算出し、スロット主信号容量からTLVパケットのデータ容量を減算することで、スロット残容量を算出する。そして、スロットにTLVパケットを格納すると現フレームのフレーム残容量が4バイト未満となる場合、選択部1811は、スロットにTLVパケットを格納せずに、スロットの終端までTLV NULLパケットを格納するようにしている。これにより、第2の実施形態に係る送信システム10は、フレーム中の最後の有効スロットの終端までTLVパケット及びTLV NULLパケットを格納することが可能となる。
したがって、第2の実施形態に係る送信システム10によれば、フレーム中の最後の有効スロットにおける残容量が4バイト未満となることを回避することが可能となる。
なお、上記第1及び第2の実施形態では、伝送スロット化装置16,18が、TLVパケットをスロットの主信号に格納する場合を例に説明した。しかしながら、TLVパケットは、データ種別を示す情報及びデータバイト数を示す情報を含む可変長パケットの例として示したものである。データ種別を示す情報及びデータバイト数を示す情報を含む可変長パケットとしては、TLVパケットの他に例えば、GSE(Generic Stream Encapsulated)パケットが挙げられる。なお、TLV多重化装置15は、可変長パケット多重化装置と記載してもよい。
また、第1及び第2の実施形態では、TLVパケットが取り得る最小バイト数は4バイトであるとし、選択部1641,1811は、最後の有効スロットの残容量が4バイト未満であるか否かに応じて処理を行うようにしている。しかしながら、選択部1641,1811が判断の基準にするバイト数は4バイト未満に限定される訳ではない。可変長パケットが取り得る最小バイト数は4バイトに限られる訳ではない。可変長パケットが取り得る最小バイト数が例えば2バイトである場合には、選択部1641,1811は、最後の有効スロットの残容量が2バイト未満であるか否かに応じて処理を行うようにしてもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
以下に、原出願の出願時の特許請求の範囲に記載された発明を付記する。
[C1]
データの種別を示す情報と前記データのバイト数を示す情報とを含む可変長パケットを生成する可変長パケット多重化装置と、
伝送主信号を構成する複数のスロットのいずれかに前記可変長パケットを格納する伝送スロット化装置と
を具備する送信システムにおいて、
前記伝送スロット化装置は、
前記伝送主信号についての1フレーム分の設定情報を受信し、前記設定情報に基づいて1フレームの前記伝送主信号に含めることが可能なデータ容量を算出する容量算出部と、
前記可変長パケットのバイト数を抽出する抽出部と、
前記容量算出部が算出する前記データ容量と前記抽出部が抽出する前記バイト数とに基づき、前記伝送主信号の残容量を算出する残容量算出部と、
前記可変長パケットをスロットのいずれかに格納すると、前記伝送主信号の残容量が、可変長パケットが取り得る最小バイト数未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納し、前記ヌルパケットを格納したスロットを出力する選択部と、
前記選択部が出力するスロットにスロット情報を多重するスロット情報多重部と
を有する送信システム。
[C2]
前記可変長パケットはTLV(Type Length Value)パケットであるC1記載の送信システム。
[C3]
前記選択部は、前記可変長パケットをスロットのいずれかに格納すると、前記伝送主信号の残容量が4バイト未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納し、前記ヌルパケットを格納したスロットを出力するC2記載の送信システム。
[C4]
前記設定情報に変調率と変調方式との組み合わせが複数設定され、
前記容量算出部は、前記組み合わせ毎に前記データ容量を算出し、
前記残容量算出部は、前記組み合わせ毎に前記残容量を算出し、
前記選択部は、前記可変長パケットを前記スロットのいずれかに格納すると、前記組み合わせ毎に算出される残容量が前記可変長パケットの最小バイト数未満となるか否かを判断し、残容量が前記可変長パケットの最小バイト数未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納する請求項C1乃至C3のいずれかに記載の送信システム。
[C5]
前記選択部は、1フレームの前記伝送主信号を構成する最初のスロットの先頭にNTPパケットを格納するC1乃至C4のいずれかに記載の送信システム。
[C6]
複数のスロットにより構成される伝送主信号についての1フレーム分の設定情報を受信し、前記設定情報に基づいて1フレームの前記伝送主信号に含めることが可能なデータ容量を算出する容量算出部と、
データの種別を示す情報と前記データのバイト数を示す情報とを含む可変長パケットのバイト数を抽出する抽出部と、
前記容量算出部が算出する前記データ容量と前記抽出部が抽出する前記バイト数とに基づき、前記伝送主信号の残容量を算出する残容量算出部と、
前記可変長パケットをスロットのいずれかに格納すると、前記伝送主信号の残容量が、可変長パケットが取り得る最小バイト数未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納し、前記ヌルパケットを格納したスロットを出力する選択部と、
前記選択部が出力するスロットにスロット情報を多重するスロット情報多重部と
を具備する伝送スロット化装置。
[C7]
前記可変長パケットはTLV(Type Length Value)パケットであるC6記載の伝送スロット化装置。
[C8]
前記選択部は、前記可変長パケットをスロットのいずれかに格納すると、前記伝送主信号の残容量が4バイト未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納し、前記ヌルパケットを格納したスロットを出力するC7記載の伝送スロット化装置。
[C9]
前記設定情報に変調率と変調方式との組み合わせが複数設定され、
前記容量算出部は、前記組み合わせ毎に前記データ容量を算出し、
前記残容量算出部は、前記組み合わせ毎に前記残容量を算出し、
前記選択部は、前記可変長パケットを前記スロットのいずれかに格納すると、前記組み合わせ毎に算出される残容量が前記可変長パケットの最小バイト数未満となるか否かを判断し、残容量が前記可変長パケットの最小バイト数未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納するC6乃至C8のいずれかに記載の伝送スロット化装置。
[C10]
前記選択部は、1フレームの前記伝送主信号を構成する最初のスロットの先頭にNTPパケットを格納するC6乃至C9のいずれかに記載の伝送スロット化装置。
[C11]
複数のスロットにより構成される伝送主信号についての1フレーム分の設定情報に基づいて1フレームの前記伝送主信号に含めることが可能なデータ容量を算出し、
データの種別を示す情報と前記データのバイト数を示す情報とを含む可変長パケットのバイト数を抽出し、
前記データ容量と前記バイト数とに基づき、前記伝送主信号の残容量を算出し、
前記可変長パケットをスロットのいずれかに格納し、
前記可変長パケットを前記スロットのいずれかに格納すると、前記伝送主信号の残容量が、可変長パケットが取り得る最小バイト数未満となる場合、前記可変長パケットに代えてヌルパケットを前記スロットの終端まで格納し、
前記ヌルパケットを格納したスロットにスロット情報を多重する伝送スロット作成方法。