以下、図面を参照しながら本技術の実施の形態について説明する。なお、説明は以下の順序で行うものとする。
1.システムの構成
2.PLPバンドリングに対応した装置の構成
3.PLPバンドリングにおけるエラー発生時のBBフレームの選択方法
(1)SYNCDを用いたBBフレーム推定
(2)BBフレーム選択の規則性を用いたBBフレーム推定
(3)次のISCRの予測結果を用いたBBフレーム推定
4.BBフレーム推定時のエラーの局所化
5.コンピュータの構成
<1.システムの構成>
図1は、本技術を適用した伝送システムの一実施の形態の構成を示す図である。なお、システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか、否かは問わない。
図1において、伝送システム1は、送信装置10と受信装置20から構成される。
送信装置10は、例えば、テレビ番組等の送信(デジタル放送やデータ伝送)を行う。すなわち、送信装置10は、例えばテレビ番組としてのビデオデータやオーディオデータなどの送信の対象である対象データのストリームを、デジタル放送信号として、例えばケーブルテレビジョン網(有線回線)である伝送路30を介して送信(伝送)する。
受信装置20は、送信装置10から伝送路30を介して送信されてくるデジタル放送信号を受信し、元のストリームに復元して出力する。例えば、受信装置20は、テレビ番組としてのビデオデータやオーディオデータを出力する。
なお、図1の伝送システム1は、DVB-C2規格に準拠したデータ伝送の他、DVB-T2規格やDVB-S2規格、ATSC(Advanced Television Systems Committee standards)、ISDB(Integrated Services Digital Broadcasting)等の規格に準拠したデータ伝送、その他のデータ伝送に適用することができる。また、伝送路30としては、ケーブルテレビジョン網の他、衛星回線や地上波等を採用することができる。
<2.PLPバンドリングに対応した装置の構成>
(PLPバンドリングの概要)
図2は、PLPバンドリングの概要を説明する図である。
DVB-C2規格では、チャネルボンディング(Channel Bonding)の1つとして、PLPバンドリング(PLP bundling)が規定されている。チャネルボンディングでは、高データレートのストリームを、複数(チャンネル)の分割ストリームに分割して伝送し、受信側において、複数の分割ストリームを、元のデータレートのストリームに再構成する。
近年、いわゆる8K等の高解像度の画像を送信するデジタル放送が要請されているが、8Kの解像度の画像については、HEVC(High Efficiency Video Coding)方式で符号化を行った場合に、その符号化の結果得られる高データレートのデータの伝送に必要なスループットは、100Mbps程度になる。このような高データレートのデータに相当する図2のPLP(Physical Layer Pipe)については、1のデータスライス(Data Slice)で伝送することが困難である。
そこで、伝送システム1において、送信装置10では、チャネルボンディングの1つであるPLPバンドリングにより、1のPLPとしての実データを、BBフレーム単位で分割し、複数のデータスライスで伝送することができるようになっている。図2においては、PLPが、データスライス2乃至4に分割されて、受信装置20に伝送されている。受信装置20では、データスライス2乃至4が、チューナ1乃至3により受信されて処理された後に、PLPデコーダにより処理されることで、PLPとしての実データが再構成されることになる。
なお、DVB-C2規格では、OFDM(Orthogonal Frequency Division Multiplexing)信号を伝送する伝送帯域が、例えば(約)6MHz単位に区切られている。いま、6MHz単位に区切られた1つの伝送帯域を、単位伝送帯域ということとすると、受信装置20では、所望のテレビ番組の実データのPLPを含むデータスライスが伝送される単位伝送帯域のOFDM信号が受信され、そのOFDM信号に含まれるデータスライスが処理されることになる。
また、PLPは、データスライスに含まれる論理的なチャンネル(で伝送されるデータ)であり、PLPには、PLPを識別するためのユニークなPLP IDが付与される。例えば、あるPLP IDのPLPは、あるテレビ番組の実データに相当する。以下、PLP IDがiのPLPを、PLP#iとも記述する。
なお、以下の説明では、BBフレームのストリームを、「BBストリーム」と称し、このBBストリームを分割して得られる複数のストリームを、「分割ストリーム」と称する。すなわち、分割ストリームは、BBフレームから構成されている。
(送信装置の構成)
図3は、図1の送信装置10の構成例を示す図である。
送信装置10は、チャネルボンディングの1つであるPLPバンドリングにより、1のPLP#i(同一のPLP IDが付与されるPLP)としての実データを、BBフレーム単位で分割し、複数のデータスライスで伝送できるようになっている。
図3において、送信装置10は、制御部111、BBフレーム生成部112、BBフレーム分配部113、データスライス処理部114−1乃至114−N(Nは1以上の整数)、フレーム構成部115、及び、送信部116から構成される。
制御部111は、送信装置10の各部の動作を制御する。
BBフレーム生成部112には、同一のPLP IDのPLP#iとしての実データ(例えばTS(Transport Stream)等の対象データ)が供給される。BBフレーム生成部112は、そこに供給される実データに、BBヘッダを付加することなどによって、BBフレームを構成する。なお、BBヘッダには、ISSY(Input Stream Synchronizer)として、ISCR(Input Stream Time Reference)が含まれる。BBフレーム生成部112は、BBフレームから構成されるBBストリームを、BBフレーム分配部113に供給する。
BBフレーム分配部113は、BBフレーム生成部112から供給されるBBストリームを、分割の対象として、そのBBストリームを構成する各BBフレームを、複数のデータスライスのうち、1のデータスライスに分配することを繰り返すことで、BBストリームを、BBフレーム単位で、複数の分割ストリームに分割する。また、BBフレーム分配部113は、BBストリームを分割して得られる複数の分割ストリームを、データスライス処理部114−1乃至114−Nのいずれかに分配する。
データスライス処理部114−1は、BBフレーム分配部113により分配された分割ストリームに対する処理を行う。データスライス処理部114−1は、PLP処理部131−1、データスライス構成部132−1、及び、時間/周波数インターリーバ133−1から構成される。
PLP処理部131−1は、BBフレーム分配部113により分配されてデータスライス処理部114−1に供給された分割フレームを構成するBBフレームを対象として誤り訂正符号化を行う。また、PLP処理部131−1は、誤り訂正符号化の結果得られるFECフレームを、シンボルとしての所定のビット数単位で、所定のコンスタレーション上の信号点にマッピングして、そのマッピング結果としてのシンボルを、FECフレーム単位で抽出することで得られるFECフレームに対して、FECフレームヘッダを付加することで、データスライスパケットを構成する。
データスライス構成部132−1には、PLP処理部131−1から1個以上のデータスライスパケットが供給される。データスライス構成部132−1は、PLP処理部131−1から供給される1個以上のデータスライスパケットから、データスライスを構成し、時間/周波数インターリーバ133−1に供給する。
時間/周波数インターリーバ133−1は、データスライス構成部132−1から供給されるデータスライスを、時間方向と周波数方向にインターリーブし、そのインターリーブ後のデータスライスを、フレーム構成部115に供給する。
データスライス処理部114−2乃至114−Nは、図示は省略しているが、データスライス処理部114−1と同様に、PLP処理部131−2乃至131−N、データスライス構成部132−2乃至132−N、及び、時間/周波数インターリーバ133−2乃至133−Nから構成されている。データスライス処理部114−2乃至114−Nにおいては、データスライス処理部114−1と同様に、BBフレーム分配部113により分配された分割ストリームに対する処理が行われ、それにより得られるデータスライスが、フレーム構成部115に供給される。
なお、以下の説明では、データスライス処理部114−1乃至114−Nを、特に区別する必要がない場合には、データスライス処理部114と称して説明する。同様に、PLP処理部131−1乃至131−N、データスライス構成部132−1乃至132−N、及び、時間/周波数インターリーバ133−1乃至133−Nを、特に区別する必要がない場合には、PLP処理部131、データスライス構成部132、及び、時間/周波数インターリーバ133とそれぞれ称して説明する。
フレーム構成部115には、データスライス処理部114−1乃至114−N(の時間/周波数インターリーバ133−1乃至133−N)から1個以上のデータスライスが供給される。フレーム構成部115は、データスライス処理部114−1乃至114−Nからの1個以上のデータスライスを含むC2フレームを構成し、送信部116に供給する。
送信部116は、フレーム構成部115から供給されるC2フレームのIFFT(Inverse Fast Fourier Transform)を行い、その結果得られるOFDM信号を、DA変換(Digital to Analog Conversion)する。そして、送信部116は、デジタル信号からアナログ信号に変換されたOFDM信号を、RF(Radio Frequency)信号に変調し、デジタル放送信号として、伝送路30を介して送信する。
なお、図3の送信装置10の構成では、説明の都合上、PLPバンドリングに関係のないブロックについては、適宜、図示を省略してある。
(送信処理の流れ)
次に、図4のフローチャートを参照して、図3の送信装置10により実行される送信処理の流れについて説明する。
ステップS111において、BBフレーム生成部112は、そこに供給されるPLPとしての実データ(例えばTS等の対象データ)を、BBフレームのデータフィールドに配置し、そのデータフィールドに、ISSY(ISCR)を含むBBヘッダを付加することで、BBフレームを構成する。
ステップS112において、BBフレーム分配部113は、ステップS111の処理で構成されたBBフレームを、複数のデータスライスのうち、1のデータスライスに分配することで、BBストリームを、BBフレーム単位で、複数の分割ストリームに分割する。
ステップS113において、BBフレーム分配部113は、ステップS112の処理で得られた複数の分割ストリームを、データスライス処理部114−1乃至114−Nのいずれかに分配する。これにより、BBストリームを分割して得られる複数の分割ストリームが、データスライス処理部114−1乃至114−Nのいずれかに供給される。
データスライス処理部114においては、ステップS114乃至S118の処理が実行される。すなわち、ステップS114において、PLP処理部131は、BBフレーム分配部113により分配されてデータスライス処理部114に供給された分割フレームを構成するBBフレームを対象として誤り訂正符号化を行う。
ステップS115において、PLP処理部131は、ステップS114の処理で、誤り訂正符号化の結果得られるFECフレームを、シンボルとしての所定のビット数単位で、所定のコンスタレーション上の信号点にマッピングする。
ステップS116において、PLP処理部131は、ステップS115の処理で、マッピング結果としてのシンボルを、FECフレーム単位で抽出することで得られるFECフレームに対して、FECフレームヘッダを付加することで、データスライスパケットを構成する。
ステップS117において、データスライス構成部132は、ステップS116の処理により構成された1個以上のデータスライスパケットから、データスライスを構成する。
ステップS118において、時間/周波数インターリーバ133は、ステップS117の処理により構成されたデータスライスを、時間方向と周波数方向にインターリーブする。
ステップS119において、フレーム構成部115は、データスライス処理部114−1乃至114−N(の時間/周波数インターリーバ133)からの1以上のインターリーブ後のデータスライスを含むC2フレームを構成する。
ステップS120において、送信部116は、ステップS119の処理により構成されたC2フレームのIFFTを行う。また、ステップS121において、送信部116は、ステップS120の処理で、IFFTの結果得られるOFDM信号をDA変換する。
ステップS122において、ステップS121の処理で得られるDA変換後のOFDM信号を、RF信号に変調し、デジタル放送信号として、伝送路30(図1)を介して伝送する。ステップS122の処理が終了すると、図4の送信処理は終了する。
以上、送信処理の流れについて説明した。
(受信装置の構成)
図5は、図1の受信装置20の構成例を示す図である。
受信装置20は、PLPバンドリングにより、1のPLP#iが複数のデータスライスに分配されて送信(伝送)されてくる実データを再構成(復元)することができるようになっている。
図5において、受信装置20は、制御部211、受信部212−1乃至212−N(Nは1以上の整数)、データスライス処理部213−1乃至213−N、バッファ214−1乃至214−N、BBフレーム選択部215、及び、BBフレーム処理部216から構成される。
制御部211は、受信装置20の各部の動作を制御する。
受信部212−1は、送信装置10から、デジタル放送信号として、伝送路30を介して送信されてくる所定の帯域のRF信号を受信して復調し、その結果得られる復調信号(OFDM信号)を、AD変換(Analog to Digital Conversion)する。そして、受信部212−1は、アナログ信号からデジタル信号に変換された復調信号のFFT(Fast Fourier Transform)を行い、その結果得られるデータスライスを、データスライス処理部213−1に供給する。
データスライス処理部213−1は、受信部212−1から供給されるデータスライスに対する処理を行う。データスライス処理部213−1は、時間/周波数デインターリーバ231−1、データスライス分解部232−1、及び、PLP処理部233−1から構成される。
時間/周波数デインターリーバ231−1は、受信部212−1から供給されるデータスライスを、時間方向と周波数方向に、デインターリーブし、そのデインターリーブ後のデータスライスを、データスライス分解部232−1に供給する。
データスライス分解部232−1は、時間/周波数デインターリーバ231−1から供給されるデータスライスを、データスライスパケットに分解し、PLP処理部233−1に供給する。
PLP処理部233−1は、データスライス分解部232−1から供給されるデータスライスパケットから、FECフレームヘッダを除去することで、データスライスパケットを、FECフレームに分解する。なお、除去されたFECフレームヘッダに基づいて、FECフレームの変調方式や符号長等が認識され、後段のデマッピングや誤り訂正の復号等が行われる。
また、PLP処理部233−1は、FECフレーム(のシンボル)のデマッピングを行い、デマッピング後のFECフレームに対し、誤り訂正符号の復号を行うことで、BBフレームで構成される分割ストリームを復元する。データスライス処理部213−1により、データスライスから復元された分割ストリーム(を構成するBBフレーム)は、バッファ214−1に供給される。
バッファ214−1は、例えば、FIFO(First In First Out)メモリで構成され、データスライス処理部213−1(のPLP処理部233−1)から供給される分割ストリーム(を構成するBBフレーム)を順次記憶する。
データスライス処理部213−2乃至213−Nは、図示は省略しているが、データスライス処理部213−1と同様に、時間/周波数デインターリーバ231−2乃至231−N、データスライス分解部232−2乃至232−N、及び、PLP処理部233−2乃至233−Nから構成される。データスライス処理部213−2乃至213−Nにおいては、データスライス処理部213−1と同様に、受信部212−2乃至212−Nから供給されるデータスライスに対する処理が行われ、それにより得られる分割ストリーム(を構成するBBフレーム)が、バッファ214−2乃至214−Nに順次記憶される。
なお、以下の説明では、データスライス処理部213−1乃至213−Nを、特に区別する必要がない場合には、データスライス処理部213と称して説明する。同様に、時間/周波数デインターリーバ231−1乃至231−N、データスライス分解部232−1乃至232−N、及び、PLP処理部233−1乃至233−Nを、特に区別する必要がない場合には、時間/周波数デインターリーバ231、データスライス分解部232、PLP処理部233とそれぞれ称して説明する。さらに、バッファ214−1乃至214−Nを、特に区別する必要がない場合には、バッファ214と称して説明する。
BBフレーム選択部215は、バッファ214−1乃至214−Nに記憶された複数の分割ストリームを構成するBBフレームに付加されたBBヘッダに含まれるISSY(ISCR)に基づいて、元のBBストリームを構成するBBフレームの並び順に、バッファ214−1乃至214−NからBBフレームを読み出して、BBフレーム処理部216に供給する。
BBフレーム処理部216は、BBフレーム選択部215から供給される順に、BBフレームを並び替えることで、元のBBストリームを再構成(復元)する。また、BBフレーム処理部216は、元のBBストリームを構成するBBフレームを分解し、実データ(例えばTS等の対象データ)を復元して出力する。
なお、図5の受信装置20の構成では、説明の都合上、PLPバンドリングに関係のないブロックについては、適宜、図示を省略してある。また、図5の受信装置20の構成では、データスライス処理部213に対応して複数の受信部212を設けた構成を説明したが、広帯域のRF信号を受信可能な受信部212を1つだけ設けて、C2フレームに含まれるデータスライスを分解することで、分解されたデータスライスが、データスライス処理部213−1乃至213−Nに供給されるようにしてもよい。
(受信処理の流れ)
次に、図6のフローチャートを参照して、図5の受信装置により実行される受信処理の流れについて説明する。
ステップS211において、受信部212は、送信装置10から、デジタル放送信号として、伝送路30を介して送信されてくる所定の帯域のRF信号を受信して復調する。
ステップS212において、受信部212は、ステップS211の処理で、RF信号を復調して得られる復調信号(OFDM信号)のAD変換を行う。
ステップS213において、受信部212は、ステップS212の処理で、AD変換の結果得られるデジタル信号のFFTを行う。
ステップS214において、時間/周波数デインターリーバ231は、ステップS213の処理の結果得られるデータスライスを、時間方向と周波数方向に、デインターリーブする。
ステップS215において、データスライス分解部232は、ステップS214の処理の結果得られるデインターリーブ後のデータスライスを、データスライスパケットに分解する。
ステップS216において、PLP処理部233は、ステップS215の処理で分解されたデータスライスパケットから、FECフレームヘッダを除去することで、データスライスパケットを、FECフレームに分解する。
ステップS217において、PLP処理部233は、ステップS216の処理で得られるFECフレーム(のシンボル)のデマッピングを行う。
ステップS218において、PLP処理部233は、ステップS217の処理によるデマッピング後のFECフレームに対し、誤り訂正符号の復号を行うことで、BBフレームで構成される分割ストリームを復元する。
ステップS219において、バッファ214は、ステップS218の処理で復元された分割ストリームを構成するBBフレームを記憶(バッファリング)する。
ステップS220において、BBフレーム選択部215は、BBフレーム選択処理を行う。このBBフレーム選択処理では、ステップS219の処理で、バッファ214−1乃至214−Nに記憶された複数の分割ストリームを構成するBBフレームに付加されたBBヘッダに含まれるISSY(ISCR)に基づいて、バッファ214−1乃至214−Nから読み出すBBフレームを選択する処理が行われる。
すなわち、バッファ214−1乃至214−Nに記憶された分割ストリームを構成するBBフレームは、元のBBストリームにおける並び順のタイミングまで、バッファ214−1乃至214−Nに記憶され、元のBBストリームにおける並び順のタイミングになると、バッファ214−1乃至214−Nから読み出される。
また、BBフレーム選択処理では、伝送時にエラーが発生して、ISCRが取得できない場合には、BBフレームの推定結果に基づいて、BBフレームが選択されることになる。このBBフレームの推定処理としては、SYNCDを用いたBBフレーム推定、BBフレーム選択の規則性を用いたBBフレーム推定、又は次のISCRの予測結果を用いたBBフレーム推定のいずれかの推定処理が行われる。なお、エラー発生時におけるBBフレーム選択処理の詳細な内容は、図23、図26、及び、図29のフローチャートを参照して後述する。
ステップS221において、BBフレーム処理部216は、ストリーム再構成処理を行う。このストリーム再構成処理では、ステップS220の処理により選択されたBBフレームを、その選択順に並び替えることで、元のBBストリームを再構成(復元)する処理が行われる。
また、ストリーム再構成処理では、伝送時にエラーが発生して、ステップS220の処理で、BBフレームの推定処理を行った場合には、BBフレーム推定時のエラーを局所化するための処理が行われる。なお、ストリーム再構成処理の詳細な内容は、図39のフローチャートを参照して後述する。
ステップS222において、BBフレーム処理部216は、ステップS221の処理で再構成された元のBBストリームを構成するBBフレームを分解し、実データ(例えばTS等の対象データ)を復元して出力する。ステップS222の処理が終了すると、図6の受信処理は終了する。
以上、受信処理の流れについて説明した。
(BBフレームの流れ)
次に、図7を参照して、PLPバンドリングを行う場合における、図3の送信装置10と、図5の受信装置20で処理されるBBフレームの流れについて説明する。なお、図7において、送信装置10と受信装置20は、その一部の構成を省略している。また、図中の数字が記された四角は、BBフレームを表しており、そこに記された数字は、ISCRの値(タイムスタンプ)を表している。
図7において、送信装置10では、BBフレーム生成部112が、実データ(例えばTS等の対象データ)から、BBフレームを生成するが、このBBフレームには、ISSY(ISCR)を含むBBヘッダが、順に付加されている。すなわち、この例では、"10"乃至"80"であるISCRのBBフレームが生成されているが、BBヘッダに含まれるISCRの値が、"10"ずつ増加している。
ここで、図8に示すように、BBフレーム(BBFrame)は、BBヘッダ(BBHeader)と実データが配置されるデータフィールド(DATA)から構成される。BBヘッダには、2バイトのMATYPE、2バイトのISSY、2バイトのDFL、1バイトのISSY、2バイトのSYNCD、及び、1バイトのCRC-8がその順に配置されている。
また、図9には、BBヘッダに含められるISSYのフォーマットの例を示している。図9に示すように、ISSYには、ISCR、BUFS、BUFSTATがある。
ISCRは、データ(BBフレーム)の送信時刻を示す情報であり、2又は3バイトの情報である。PLPバンドリングを行う場合、ISSYの3バイトのフィールドには、必ずISCRが配置され、システムの最小時間単位として、7/48μsごとにカウントアップされる。受信装置20では、このタイムスタンプの役割を有するISCRを参照することで、複数の分割ストリームとして伝送されるBBフレームの順番を特定する。
BUFSは、受信装置20でのデータの処理にあたって、遅延変動を補償するために必要なバッファのバッファ容量(所要Buffer量)を表す(実質)2バイトの情報である。受信装置20では、BUFSが表すバッファ容量のバッファとしての記憶領域を確保し、そのバッファに対するデータの読み書きを行うことで、遅延変動を補償(吸収)する。
BUFSTATは、受信装置20において、BUFSが表すバッファ容量のバッファからデータを読み出す読み出し開始時刻を表す(実質)2バイトの情報である。受信装置20では、BUFSが表すバッファ容量のバッファに記憶されたデータについて、BUFSTATが表す時刻(バッファのデータ残量が、BUFSTATが表す値になったタイミング)から、読み出しが開始される。
PLPバンドリングを行う場合、各BBフレームのBBヘッダのISSYの3バイトのフィールドには、ISCR、BUFS、及び、BUFSTATのうちのISCRが配置される。一方、PLPバンドリングを行わない場合、BBヘッダのISSYの3バイトのフィールドには、BBフレームごとに、ISCR、BUFS、及び、BUFSTATのうちのいずれか1つが選択的に配置される。
図7の説明に戻り、BBフレーム分配部113は、BBフレーム生成部112により生成されたBBフレームを分割して得られる分割ストリームを、データスライス処理部114−1又はデータスライス処理部114−2に分配する。これにより、データスライス処理部114−1には、例えば、"10"乃至"20"であるISCRのBBフレームから構成される分割ストリームが供給されて処理される。また、データスライス処理部114−2には、例えば、"30"乃至"40"であるISCRのBBフレームから構成される分割ストリームが供給されて処理される。
そして、送信装置10では、それらのデータスライスを含むC2フレームが構成され、変調等の処理が行われることで、RF信号が、伝送路30を介して送信される。一方、図7において、受信装置20では、送信装置10からのRF信号が、伝送路30を介して受信される。そして、データスライス処理部213−1と、データスライス処理部213−2では、RF信号から得られるデータスライスに対する処理が行われる。これにより、バッファ214−1には、データスライス処理部213−1により復元された分割ストリーム(を構成するBBフレーム)、バッファ214−2には、データスライス処理部213−2により復元された分割ストリーム(を構成するBBフレーム)が順次記憶される。
BBフレーム選択部215は、バッファ214−1及びバッファ214−2に記憶されたBBフレームのBBヘッダに含まれるISCRに基づいて、バッファ214−1又はバッファ214−2からBBフレームを読み出して、BBフレーム処理部216に供給する。この例の場合、バッファ214−1及びバッファ214−2のいずれか一方に記憶されていた"10"乃至"40"であるISCRのBBフレームが、ISCRの値に基づいて、その値が小さい順に読み出されている。また、バッファ214−1に記憶された"50"、"60"、"90"であるISCRのBBフレームと、バッファ214−2に記憶された"70"、"80"であるISCRのBBフレームについても同様に、ISCRの値が小さい順に読み出されることになる。
<3.PLPバンドリングにおけるエラー発生時のBBフレームの選択方法>
(伝送時のエラーによりISCRが取得できない場合の影響)
PLPバンドリングを行う場合、ISSYの3バイトのフィールドには必ずISCRが配置され、受信装置20側では、このISCRの値(タイムスタンプ)を唯一の順番情報として参照して、複数の分割ストリームに分配されて伝送されているBBフレームの順番を特定することになることは、先に述べた通りである。
図10においては、PLPバンドリングにより、1のPLP#iとしての実データ(のストリーム)が、BBフレーム単位で分割され、4のデータスライスで伝送されている場合を例示している。なお、ここでは、4のデータスライスで伝送されている例を示しているが、1のPLP#iの伝送に用いるデータスライスの数は、4に限定されるものではなく、2、3、又は5以上255以下の任意の値を採用することができる。
受信装置20においては、BBストリームが4のデータスライスDS#1乃至DS#4に分配されて伝送されているので、データスライス処理部213−1乃至213−4がそれぞれ、各データスライスに対する処理を行うことで、それにより得られる分割ストリームを構成するBBフレームが、バッファ214−1乃至214−4に順次記憶されることになる。
BBフレーム選択部215は、バッファ214−1乃至214−4のそれぞれの先頭に格納されたBBフレームに付加されたBBヘッダのISCRの値(タイムスタンプ)を参照して、最小値となるISCRのBBフレームから順に選択して、後段のBBフレーム処理部216(図5)に供給することになる。
しかしながら、受信装置20において、伝送時のエラー(例えばBBフレームのエラー等)の影響で、BBフレームに付加されたBBヘッダに含まれるISCRが取得できない場合、唯一の順番情報を参照することができないために、BBフレームの順番を特定することができず、その結果として、BBフレームを正確に並び替えることができない。
ここで、図11乃至図14には、送信側の送信装置10により分割された分割ストリームを、受信側の受信装置20により元のBBストリームに再構成(復元)する場合において、エラー発生時の様子を、BBフレームに注目して模式的に表している。
なお、図11乃至図14には、各装置におけるBBフレームの状態を、時系列で表しており、図11の状態が時間的に最もはやい時刻の状態を表し、図14の状態が時間的に最も遅い時刻の状態を表している。また、各図においては、図中の点線で表した伝送路30の左側が送信側、すなわち、送信装置10で行われる処理を表し、伝送路30の右側が受信側、すなわち、受信装置20で行われる処理を表している。さらに、各図において、図中の数字が記された四角は、BBフレームを表しており、そこに記された数字は、ISCRの値(タイムスタンプ)を表している。
まず、図11において、送信装置10では、複数のBBフレームから構成されるBBストリームが生成される。このBBストリームを構成する各BBフレームには、"10"乃至"80"であるISCRを含むBBヘッダが、順に付加されている。
次に、図12において、送信装置10では、BBフレーム分配部113によって、図11のBBストリームが、BBフレーム単位で、4の分割ストリームに分割される。図12において、4の分割ストリームから構成されるデータスライスを、図中の上側から順に、データスライスDS#1乃至DS#4とすれば、データスライスDS#1には、"10"であるISCRのBBフレームと、"50"であるISCRのBBフレームが含まれる。
また、データスライスDS#2には、"20"であるISCRのBBフレームと、"60"であるISCRのBBフレームが含まれる。さらに、データスライスDS#3には、"30"であるISCRのBBフレームと、"70"であるISCRのBBフレームが含まれ、データスライスDS#4には、"40"であるISCRのBBフレームと、"80"であるISCRのBBフレームが含まれている。
このように分配されたBBフレームを含むデータスライスから構成されるC2フレームが、RF信号として、送信装置10から伝送路30を介して、受信装置20に伝送される。
図13において、受信装置20では、伝送路30を介して送信装置10からのRF信号が受信され、データスライス処理部213−1によりデータスライスDS#1が処理され、当該データスライスDS#1から復元された分割ストリームを構成する、"10"であるISCRのBBフレームと、"50"であるISCRのBBフレームが順に、バッファ214−1に記憶される。
また、バッファ214−2には、データスライス処理部213−2によってデータスライスDS#2から復元された分割ストリームを構成する、"20"であるISCRのBBフレームが記憶されているが、BBフレームにエラーが発生したために、"20"であるISCRのBBフレームの次に入ってきたBBフレーム(図中の"XX"が記された斜線の四角)のISCRを取得することができない。
また、バッファ214−3には、データスライス処理部213−3によってデータスライスDS#3から復元された分割ストリームを構成する、"30"であるISCRのBBフレームと、"70"であるISCRのBBフレームが順に記憶される。さらに、バッファ214−4には、データスライス処理部213−4によってデータスライスDS#4から復元された分割ストリームを構成する、"40"であるISCRのBBフレームと、"80"であるISCRのBBフレームが順に記憶される。
このようにして、バッファ214−1乃至214−4に記憶されたBBフレームが、BBフレーム選択部215により選択されることになるが、BBフレーム選択部215は、バッファ214−1乃至214−4の先頭に格納された各BBフレームに付加されたBBヘッダのISCRの値(タイムスタンプ)を参照して、最小値となるISCRのBBフレームから順に選択して、後段のBBフレーム処理部216(図5)に供給することになる。
そのため、図13のように、バッファ214−1乃至214−4の先頭に格納された全てのBBフレームのISCRの値を参照できる場合には、例えば、まず、"10"であるISCRのBBフレームを選択して、その次に、"20"であるISCRのBBフレームを選択するといったことが可能となる。
しかしながら、図14に示すように、バッファ214−1では、"10"であるISCRのBBフレームが選択されると、次に、"50"であるISCRのBBフレームが先頭に格納され、バッファ214−2では、"20"であるISCRのBBフレームが選択されると、次に、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が先頭に格納されることになる。
この場合、バッファ214−2の先頭に格納されたBBフレームのISCRの値が参照できないため、BBフレーム選択部215は、バッファ214−1乃至214−4の先頭に格納されたBBフレームの中から、最小値となるISCRのBBフレームを特定することができず、"20"であるISCRのBBフレームの次のBBフレームを選択することができない。
ここで、図15の上側に示すように、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)は、"50"であるISCRのBBフレームの次であって、"70"であるISCRのBBフレームの前に選択されるのが、正しい順番であるが、それ以外の順番で選択されると、BBフレームが間違った順番で並び替えられたことになる。例えば、図15の下側では、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が、"20"であるISCRのBBフレームの次であって、"30"であるISCRのBBフレームの前に選択されている。
この場合、ISCRの値が不明なBBフレームの順番が誤っているだけでなく、その影響で、当該BBフレーム以降に選択されるBBフレーム(図15の"30"乃至"50"であるISCRのBBフレーム)までもが、誤った順番に並び替えられている。このように、ISCRの値が不明なBBフレームの選択の順番を誤ってしまうと、その影響がBBフレーム単位で拡大することになる。例えば、BBフレームのデータフィールドに配置される実データの部分にエラーがなくても、BBヘッダにエラーが発生してISCRを取得できない場合には、4のBBフレームがエラーとなってエラーが増大し、著しい劣化を引き起こすことになる。
そのため、PLPバンドリング等のチャネルボンディングにおいて、伝送時のエラーの影響でISCRが取得できない場合でも、その影響を最小限に抑えることが求められている。以下、PLPバンドリングを行う場合において、伝送時のエラー(例えば、BBフレームのエラー)の影響でISCRを取得できないBBフレームが存在するときであっても、BBフレームの並び替えの順番が正しくなるようにして、エラーの影響を最小限に抑えることができるようにするBBフレームの選択方法について説明する。
(1)SYNCDを用いたBBフレーム推定
まず、図16乃至図23を参照して、PLPバンドリングにおけるエラー発生時のBBフレームの選択方法の1つとして、SYNCDを用いたBBフレームの推定結果に応じたBBフレームの選択方法について説明する。
(SYNCDを用いたBBフレームの推定結果に応じたBBフレームの選択方法)
SYNCDは、BBフレームをTSパケット(TSP:TSPacket)に格納したときの、BBヘッダを格納するTSパケットを構成するのに必要な残りのビット数を示す情報である。例えば、図16においては、TSパケット(TSP)に格納される複数のBBヘッダ(BBH)を例示しているが、各BBヘッダ(BBH)には、当該BBヘッダを格納したTSパケットを構成するのに必要となる残りのビット数を示す2バイトのSYNCDが配置されている。
SYNCDを用いたBBフレーム推定では、このSYNCDに着目して、例えば、BBフレームにエラーが発生して、複数のバッファ214に格納された選択可能なBBフレームの中に、ISCRの値が不明なBBフレームが存在する場合に、BBヘッダのSYNCDの値(設定値)と、SYNCDの期待値とを比較して、選択可能なBBフレームの中から、次に選択されるべきBBフレームを推定するようにする。
なお、SYNCDの期待値とは、BBフレーム推定を行うときに、1個前に選択されたBBフレームをTSパケットに格納したときのTSパケットを構成するのに必要な残りのビット数であって、このビット数は、その次に選択されるBBフレームのBBヘッダに配置されるSYNCDが示すビット数と一致している。換言すれば、SYNCDの期待値は、あるBBフレームに配置される実データを格納したTSパケットの切れ目の値から予測される、次のBBフレームのBBヘッダのSYNCDの値であると言える。
ここで、図17に示すように、BBフレームのISCRのみを参照して、複数のバッファ214の先頭に格納されているBBフレームを選択する場合に、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が存在していると、BBフレーム選択部215が、最小値となるISCRのBBフレームを特定することができず、BBフレームが、誤った順番で並び替えられる可能性が高くなる。
一方、図18に示すように、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が存在している場合に、BBフレームのISCRの他に、SYNCDの値にも着目して、SYNCDの期待値と一致するSYNCDの値のBBヘッダが付加されたBBフレームが存在するとき、当該BBフレームを、次に選択されるべきBBフレームであると推定して、BBフレーム選択部215によって、当該BBフレームが選択されるようにする。
なお、SYNCDの期待値と一致するSYNCDの値のBBヘッダが付加されたBBフレームが存在しないときには、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)を、次に選択されるべきBBフレームであると推定して、BBフレーム選択部215によって、当該BBフレームが選択されるようにする。
図19には、データスライス処理部213−1によってデータスライスDS#1から復元される分割ストリームを構成するBBフレームと、データスライス処理部213−2によってデータスライスDS#2から復元される分割ストリームを構成するBBフレームに注目した場合に、データスライス処理部213−2からのBBフレームにエラーが発生したときに行われるBBフレーム推定の様子を模式的に表している。
図19においては、選択可能なBBフレームの中に、ISCRの値が不明なBBフレーム("XX"であるISCRのBBフレーム)が存在しているため、SYNCDを用いたBBフレーム推定が行われる。すなわち、この場合、BBフレーム選択部215により1個前に選択されたBBフレームから、SYNCDの期待値が求められ、選択可能なBBフレームのSYNCDの値と比較されることで、次に選択されるべきBBフレームが推定されることになる。
図19の上側の例の場合、1個前に選択されたBBフレームからSYNCDの期待値として、728ビットが求められる。ここで、データスライスDS#1から復元された分割ストリームを構成するBBフレームのBBヘッダには、728ビットであるSYNCDが含まれている。一方、データスライスDS#2から復元された分割ストリームを構成するBBフレームのSYNCDの値("XX"であるSYNCDの値)は、不明である。
この場合、728ビットであるSYNCDの期待値は、選択可能なBBフレームのうち、データスライスDS#1から復元された分割ストリームを構成するBBフレームのSYNCDの値(728ビット)と一致するので、ここでは、当該BBフレームが、次に選択されるべきBBフレームであると推定される。
一方、図19の下側の例の場合、1個前に選択されたBBフレームからSYNCDの期待値として、104ビットが求められる。ここで、データスライスDS#1から復元された分割ストリームを構成するBBフレームのBBヘッダに含まれるSYNCDの値は512ビットとなるため、104ビットであるSYNCDの期待値とは一致していない。この場合、104ビットであるSYNCDの期待値は、選択可能なBBフレームのSYNCDの値とは一致しないので、データスライスDS#2から復元された分割ストリームを構成する、エラーがあるBBフレームが、次に選択するべきBBフレームであると推定されることになる。
このように、SYNCDを用いたBBフレーム推定では、伝送時のエラーの影響でISCRが取得できない場合に、選択可能なBBフレーム(のBBヘッダ)のSYNCDの値を参照して、SYNCDの期待値と一致するかどうかによって、次に選択されるべきBBフレームを推定して、BBフレームが正しく並び替えられるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
また、SYNCDは、重複する可能性が非常に低いため、SYNCDの期待値と一致するSYNCDの値が存在する場合には、非常に高い確率で正しいBBフレームが推定されることになるが、その理由は、次の通りである。
すなわち、図20に示すように、BBフレームは、BBヘッダと、実データ(DATA)と、パディング(PADDING)から構成される。通常、パディング(PADDING)は使用されず、BBヘッダは80ビットであるので、実データ(DATA)は、Kbch-80ビットとされる。なお、Kbchは、図21に示すように、符号長と符号化率で定まる値である。ここでは、このBBフレームを、Nullパケットディレーション(NPD:Null Packet Deletion)と呼ばれるモードで動作しているかどうかに応じて、異なるビット単位で切り出すようにする。なお、Nullパケットディレーションがオンとなる場合、Nullパケットは、1バイト(8ビット)のDNP(Deleted Null Packet)と呼ばれる信号で伝送されることになる。
具体的には、Nullパケットディレーションがオフである場合、BBフレームは、TSパケットに、1496ビット単位で切り出され、Nullパケットディレーションがオンである場合、BBフレームは、TSパケットに、1504ビット単位で切り出されるようにする。
このとき、あるBBフレームと同一の値のSYNCDを持つ他のBBフレームは、最短でも17BBフレーム後でないと出現しない。なお、この最短の17BBフレームを求めるためには、符号長は64k、符号化率は4/5、Nullパケットディレーションがオフのときであることが条件とされる。そして、17BBフレームが離れたBBフレーム間で順番の選択を行う可能性が低いため、パディングを使用しない場合において、SYNCDを用いて次に選択されるべきBBフレームを推定することで、非常に高い確率で正しいBBフレームを推定することができる。
(制御部の機能的な構成例)
図22は、SYNCDを用いたBBフレーム推定を行う場合の制御部211(図5)の機能的な構成例を示す図である。
図22において、制御部211は、BBヘッダ解析部251、BBフレーム選択制御部252、選択BBフレーム推定部253、及び、SYNCD期待値算出部254から構成される。
BBヘッダ解析部251は、バッファ214−1乃至214−Nの先頭に格納されたBBフレームのBBヘッダの解析を行う。BBヘッダ解析部251は、ISCRの値が不明なBBフレームが存在せず、全てのBBフレームのISCRの値を取得できる場合、その解析結果を、BBフレーム選択制御部252に供給する。また、BBヘッダ解析部251は、ISCRの値が不明なBBフレームが存在する場合、その解析結果を、選択BBフレーム推定部253に供給する。
BBフレーム選択制御部252は、BBヘッダ解析部251から供給されるISCRの解析結果に基づいて、BBフレーム選択部215を制御して、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、最小値となるISCRのBBフレームが選択されるようにする。
選択BBフレーム推定部253は、BBヘッダ解析部251からの解析結果に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、ISCRの値が不明なBBフレームが存在する場合、SYNCD期待値算出部254に対して、SYNCDの期待値を要求する。SYNCD期待値算出部254は、選択BBフレーム推定部253からの要求に応じて、BBフレーム選択部215により1個前に選択されたBBフレームからSYNCDの期待値を算出し、選択BBフレーム推定部253に供給する。
選択BBフレーム推定部253は、BBヘッダ解析部251から供給される解析結果から得られるSYNCDの値と、SYNCD期待値算出部254から供給されるSYNCDの期待値とを比較して、SYNCDの期待値と一致するSYNCDの値が存在するかどうかを判定する。
選択BBフレーム推定部253は、SYNCDの期待値と一致するSYNCDの値が存在する場合、当該SYNCD(の値を含むBBヘッダ)のBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。また、選択BBフレーム推定部253は、SYNCDの期待値と一致するSYNCDの値が存在しない場合、エラーがあるBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。
BBフレーム選択制御部252は、選択BBフレーム推定部253から供給される推定結果に基づいて、BBフレーム選択部215を制御して、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、推定結果に応じた次に選択されるべきBBフレームが選択されるようにする。
(第1のBBフレーム選択処理の流れ)
次に、図23のフローチャートを参照して、図6のステップS220の処理に対応する第1のBBフレーム選択処理の流れについて説明する。
ステップS231において、BBヘッダ解析部251は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、エラーがあるBBフレーム(CRCエラーのBBヘッダ)が存在するかどうかを判定する。
ステップS231において、エラーがあるBBフレームが存在しないと判定された場合、処理は、ステップS232に進められる。ステップS232において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、最小値となるISCRのBBフレームを選択する。
また、ステップS231において、エラーがあるBBフレームが存在すると判定された場合、処理は、ステップS233に進められる。ステップS233において、選択BBフレーム推定部253は、SYNCD期待値算出部254により算出されたSYNCDの期待値と、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームから得られるSYNCDの値とを比較して、SYNCDの期待値と一致するSYNCDの値が存在するかどうかを判定する。
ステップS233において、SYNCDの期待値と一致するSYNCDの値が存在すると判定された場合、処理は、ステップS234に進められる。ステップS234において、選択BBフレーム推定部253は、SYNCDの期待値と一致した値のSYNCDのBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。
ステップS235において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、ステップS234の処理の推定結果に応じたBBフレーム(SYNCDの期待値と一致した値のSYNCDのBBフレーム)を選択する。
また、ステップS233において、SYNCDの期待値と一致するSYNCDの値が存在しないと判定された場合、処理は、ステップS236に進められる。ステップS236において、BBヘッダ解析部251は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、エラーがあるBBフレーム(CRCエラーのBBヘッダ)が複数存在するかどうかを判定する。
ステップS236において、選択可能なBBフレームの中に、エラーがあるBBフレームが複数存在しない、すなわち、1つだけ存在すると判定された場合、処理は、ステップS237に進められる。ステップS237において、選択BBフレーム推定部253は、エラーがあるBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。
ステップS238において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、ステップS237の処理の推定結果に応じたエラーがあるBBフレームを選択する。
また、ステップS236において、選択可能なBBフレームの中に、エラーがあるBBフレームが複数存在すると判定された場合、処理は、ステップS239に進められる。ステップS239において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、前回選択されてから最も時間の経過している系列(パス)のBBフレームを選択する。例えば、バッファ214−1に格納されたBBフレームを前回選択してからの時間が、他のバッファ214−2乃至214−Nに格納されたBBフレームを前回選択してからの時間と比べて、最も長い場合には、バッファ214−1に格納されたBBフレームが選択されるようにする。
ステップS232、S235、S238、又はS239の処理が終了すると、処理は、図6のステップS220の処理に戻り、それ以降の処理が実行される。
以上、第1のBBフレーム選択処理について説明した。この第1のBBフレーム選択処理では、伝送時のエラーの影響でISCRが取得できない場合に、選択可能なBBフレーム(のBBヘッダ)のSYNCDの値を参照して、SYNCDの期待値と一致するかどうかによって、次に選択されるべきBBフレームを推定することで、BBフレームが正しく並び替えられるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
(2)BBフレーム選択の規則性を用いたBBフレーム推定
次に、図24乃至図26を参照して、PLPバンドリングにおけるエラー発生時のBBフレームの選択方法の1つとして、BBフレーム選択の規則性を用いたBBフレーム推定結果に応じたBBフレームの選択方法について説明する。
(BBフレーム選択の規則性を用いたBBフレーム推定結果に応じたBBフレームの選択方法)
図24は、BBフレーム選択の規則性を用いたBBフレーム推定結果に応じたBBフレームの選択方法を説明する図である。
図24において、受信装置20では、送信装置10からのRF信号が受信され、データスライス処理部213−1乃至213−4によりデータスライスDS#1乃至DS#4が処理され、それにより復元される分割ストリームを構成するBBフレームが、対応するバッファ214−1乃至214−4に順次記憶される。そして、バッファ214−1乃至214−4の先頭に格納された全てのBBフレームのISCRを参照できる場合、BBフレーム選択部215は、選択可能なBBフレームの中から、最小値となるISCRのBBフレームを特定して選択する。これにより、図24の左側の例では、"10"乃至"50"であるISCRのBBフレームが順に選択されている。
このように、選択可能なBBフレームの中に、エラーがあるBBフレームが存在しない場合、BBフレーム選択部215は、最小値となるISCRのBBフレームを順に選択することになるが、ここでは、この正常受信時に、BBフレームの選択時の規則性を求めておくようにする。
例えば、図24の左側の例においては、データスライスDS#1乃至DS#4に対する処理の系列をそれぞれ、系列A乃至Dとした場合に、"10"であるISCRのBBフレームが系列A、"20"であるISCRのBBフレームが系列B、"30"であるISCRのBBフレームが系列C、"40"であるISCRのBBフレームが系列D、"50"であるISCRのBBフレームが系列Aから選択されている。この場合、BBフレーム選択部215により選択されたBBフレームの系列の規則性として、「A,B,C,D,A」の順に選択されていることが求められる。
また、図24の左側の例では、BBフレーム選択部215によりバッファ214−1に記憶された"50"であるISCRのBBフレームが選択されると、バッファ214−1では、"50"であるISCRのBBフレームの次に入力されたBBフレームが先頭に格納されるが、当該BBフレーム(図中の"XX"が記された斜線の四角)は、エラーの影響でISCRの値が不明となっている。
この場合、バッファ214−1の先頭に格納されたBBフレームのISCRが参照できないため、バッファ214−1乃至214−4の先頭に格納されたBBフレームの中から、最小値となるISCRのBBフレームを特定することができず、BBフレーム選択部215は、"50"であるISCRのBBフレームの次のBBフレームを選択することができない。
ここでは、バッファ214−1の先頭に、エラーがあるBBフレームが格納される前の正常受信時に、BBフレーム選択部215により選択されたBBフレームの系列の規則性をあらかじめ求めておいたので、この規則性を利用して、次に選択されるべきBBフレームを推定するようにする。すなわち、BBフレームの系列の規則性として、例えば、「A,B,C,D,A」である規則性が求められていた場合、BBフレーム選択部215は、この規則性に従い、"50"であるISCRのBBフレームが系列Aから選択されているので、当該BBフレームの次に選択されるBBフレームとして、系列Bの"60"であるISCRのBBフレームを推定し、"60"であるISCRのBBフレームが選択されるようにする。
同様にして、BBフレーム選択部215により選択されたBBフレームの系列の規則性に従うことで、図24の右側の例に示すように、BBフレーム選択部215は、系列Cの"70"であるISCRのBBフレーム、系列Dの"80"であるISCRのBBフレーム、系列AのISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が順に選択されることになる。そして、系列AのISCRの値が不明なBBフレームが選択された後は、バッファ214−1乃至214−4の先頭に格納された全てのBBフレームのISCRを参照できるので、BBフレーム選択部215は、"100"であるISCRのBBフレームから順に、バッファ214−1乃至214−4の先頭に格納されたBBフレームの中から、最小値となるISCRのBBフレームを選択することになる。
このように、BBフレーム選択の規則性を用いたBBフレーム推定では、伝送時のエラーの影響でISCRが取得できない場合に、あらかじめ求めておいた規則性に従い、次に選択されるべきBBフレームを推定して、BBフレームが正しく並び替えられるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
なお、上述した規則性の求め方は一例であって、例えば、系列Bの次は、系列Cである確率が高いなどの条件付き確率を適用して規則性を求めるなど、他の算出方法により規則性が算出されるようにしてもよい。
(制御部の機能的な構成例)
図25は、BBフレーム選択の規則性を用いたBBフレーム推定を行う場合の制御部211(図5)の機能的な構成例を示す図である。なお、図25の制御部211において、図22の制御部211と対応する部分については、同一の符号が付してあり、その説明は適宜省略する。
図25において、制御部211は、BBヘッダ解析部251、BBフレーム選択制御部252、選択BBフレーム推定部253、及び、規則性算出部261から構成される。すなわち、図25の制御部211は、図22の制御部211と比べて、SYNCD期待値算出部254の代わりに、規則性算出部261が設けられている。
規則性算出部261は、BBフレーム選択部215によるBBフレームの選択を監視して、BBフレーム選択部215により選択されるBBフレームの系列の規則性を算出する。規則性算出部261は、選択BBフレーム推定部253からの要求に応じて、算出されたBBフレームの系列の規則性を、選択BBフレーム推定部253に供給する。
選択BBフレーム推定部253は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、ISCRの値が不明なBBフレームが存在する場合、規則性算出部261から、BBフレームの系列の規則性を取得する。選択BBフレーム推定部253は、規則性算出部261からのBBフレームの系列の規則性に基づいて、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、次に選択されるべきBBフレームを推定し、その推定結果を、BBフレーム選択制御部252に供給する。
BBフレーム選択制御部252は、選択BBフレーム推定部253から供給される推定結果に基づいて、BBフレーム選択部215を制御して、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、推定結果に応じた次に選択されるべきBBフレームが選択されるようにする。
(第2のBBフレーム選択処理の流れ)
次に、図26のフローチャートを参照して、図6のステップS220の処理に対応する第2のBBフレーム選択処理の流れについて説明する。
ステップS251において、BBヘッダ解析部251は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、エラーがあるBBフレーム(CRCエラーのBBヘッダ)が存在するかどうかを判定する。
ステップS251において、エラーがあるBBフレームが存在しないと判定された場合、処理は、ステップS252に進められる。ステップS252において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、最小値となるISCRのBBフレームを選択する。
ステップS253において、規則性算出部261は、BBフレーム選択部215によるBBフレームの選択を監視して、BBフレーム選択部215により選択されたBBフレームの系列の規則性を算出して保持する。このようにして、正常受信時に、BBフレームの選択の規則性が求められる。
また、ステップS251において、エラーがあるBBフレームが存在すると判定された場合、処理は、ステップS254に進められる。ステップS254において、選択BBフレーム推定部253は、ステップS253の処理で、あらかじめ求めておいたBBフレームの系列の規則性に基づいて、次に選択されるべきBBフレームを推定し、その推定結果を、BBフレーム選択制御部252に供給する。
ステップS255において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、ステップS254の処理の推定結果に応じた規則性に従ったBBフレームを選択する。
ステップS253、又は、S255の処理が終了すると、処理は、図6のステップS220の処理に戻り、それ以降の処理が実行される。
以上、第2のBBフレーム選択処理について説明した。この第2のBBフレーム選択処理では、伝送時のエラーの影響でISCRが取得できない場合に、あらかじめ求めておいた規則性に従い、次に選択されるべきBBフレームを推定することで、BBフレームが正しく並び替えられるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
(3)次のISCRの予測結果を用いたBBフレーム推定
最後に、図27乃至図29を参照して、PLPバンドリングにおけるエラー発生時のBBフレームの選択方法の1つとして、次のISCRの予測結果を用いたBBフレーム推定結果に応じたBBフレームの選択方法について説明する。
(次のISCRの予測結果を用いたBBフレーム推定結果に応じたBBフレームの選択方法)
図27は、次のISCRの予測結果を用いたBBフレーム推定結果に応じたBBフレームの選択方法を説明する図である。
図27において、受信装置20では、送信装置10からのRF信号が受信され、データスライス処理部213−1乃至213−4によりデータスライスDS#1乃至DS#4が処理され、それにより復元される分割ストリームを構成するBBフレームが、対応するバッファ214−1乃至214−4に順次記憶される。そして、BBフレーム選択部215は、バッファ214−1乃至214−4の先頭に格納された全てのBBフレームのISCRを参照できる場合、最小値となるISCRのBBフレームを特定して選択する。これにより、図27の左側の例では、"10"乃至"50"であるISCRのBBフレームが順に選択されている。
このように、選択可能なBBフレームの中に、エラーがあるBBフレームが存在しない場合、BBフレーム選択部215は、最小値となるISCRのBBフレームを順に選択することになるが、ここでは、この正常受信時に、BBフレームの選択時に次のISCRを予測しておくようにする。
例えば、図27の左側の例において、BBフレーム選択部215により選択されたBBフレームのうち、"10"であるISCRのBBフレームと、その次に選択される"20"であるISCRのBBフレームとでは、ISCRの値が"10"だけ増加している。同様に、"20"であるISCRのBBフレームと"30"であるISCRのBBフレーム、"30"であるISCRのBBフレームと"40"であるISCRのBBフレーム、"40"であるISCRのBBフレームと"50"であるISCRのBBフレームでは、それぞれISCRの値が"10"だけ増加している。従って、BBフレーム選択部215により選択された"10"乃至"50"であるISCRのBBフレームでは、ISCRの値が"10"ずつ増加していることになる。
また、図27の左側の例では、BBフレーム選択部215によりバッファ214−1に記憶された"50"であるISCRのBBフレームが選択されると、バッファ214−1では、"50"であるISCRのBBフレームの次に入力されたBBフレームが先頭に格納されるが、当該BBフレーム(図中の"XX"が記された斜線の四角)は、エラーの影響でISCRの値が不明となっている。
この場合、バッファ214−1の先頭に格納されたBBフレームのISCRが参照できないため、バッファ214−1乃至214−4の先頭に格納されたBBフレームの中から、最小値となるISCRのBBフレームを特定することができず、BBフレーム選択部215は、"50"であるISCRのBBフレームの次のBBフレームを選択することができない。
ここでは、バッファ214−1の先頭に、エラーがあるBBフレームが格納される前の正常受信時に、次のISCRの予測結果として各BBフレームのISCRの値の増分をあらかじめ求めておいたので、このISCRの増分値を利用して、次に選択されるべきBBフレームを推定するようにする。すなわち、BBフレームのISCRの増分値として、"10"である増分値が算出されていた場合、BBフレーム選択部215は、この増分値に従い、"50"であるISCRのBBフレームの次に選択されるBBフレームとして、ISCRの値を"50"から"10"増加させた"60"であるISCRのBBフレームが、バッファ214−2から選択されるようにする。
同様にして、選択されたBBフレームのISCRの値を、ISCRの増分値(この例の場合、"10")だけ増加させたISCRのBBフレームを選択することで、図27の右側の例に示すように、バッファ214−3から"70"であるISCRのBBフレームと、バッファ214−4から"80"であるISCRのBBフレームが順に選択される。
また、ISCRの値を"80"から"10"増加させた"90"であるISCRのBBフレームは存在しないので、この場合には、バッファ214−1からISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が選択されることになる。そして、ISCRの値が不明なBBフレームが選択された後は、バッファ214−1乃至214−4の先頭に格納された全てのBBフレームのISCRを参照できるので、BBフレーム選択部215は、"100"であるISCRのBBフレームから順に、バッファ214−1乃至214−4の先頭に格納されたBBフレームの中から、最小値となるISCRのBBフレームを選択することになる。
このように、次のISCRの予測結果を用いたBBフレーム推定では、伝送時のエラーの影響でISCRが取得できない場合に、ISCRの増分値をISCRの予測値として求めて、そのISCRの予測値に近いISCRの値が存在するかどうかによって、次に選択されるべきBBフレームを推定して、BBフレームが正しく並び替えられるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
なお、BBフレームのISCRの予測値(ISCRの増分値)の算出方法として、上述した説明では、ISCRの実測値を用いた算出方法を説明したが、伝送パラメータを用いて算出するようにしてもよい。
伝送パラメータを用いて算出する方法では、まず、符号長と符号化率から1BBフレーム当たりのビット数を算出する。ここでは、例えば、符号長が64kで、符号化率が4/5である場合には、51568ビットが求められる。
次に、1BBフレーム当たりのパケット数を算出する。ここでは、例えば、Nullパケットディレーション(NPD:Null Packet Deletion)がオフとなる場合には、1BBフレーム当たりのビット数を1496で除算することで、そのパケット数を算出する。例えば、51568 / 1496 = 34.29となるので、34パケット又は35パケットが求められる。また、Nullパケットディレーションがオンとなる場合には、前のBBフレームに含まれる最初のパケット開始以降のパケット数(繰り上げ)に、前のBBフレームのDNP(Deleted Null Packet)の値をすべて加算することになる。例えば、ΣDNPの値が、31であるとすれば、34 + ΣDNP = 65となるので、65パケットが求められる。
そして、例えば、ビットレートを100Mbpsとすれば、ISCRは、7/48μsごとにカウントアップされるので、下記の演算を行うことで、ISCRの増分値として、1BBフレーム当たりのパケット数が、34パケットである場合には、"3506"が算出される。同様にして、1BBフレーム当たりのパケット数が、35パケットである場合には、"3610"が算出され、65パケットである場合には、"6704"が算出される。
3506 = 34 × 1504 / 100 / (7/48)
3610 = 35 × 1504 / 100 / (7/48)
6704 = 65 × 1504 / 100 / (7/48)
なお、ISCRの実測値を用いた算出方法は、Nullパケットディレーションがオフとなる場合に限定されるため、正常受信時に連続するBBフレーム間の差分値を算出することにより、例えば、1BBフレーム当たりのパケット数が、34パケットである場合と、35パケットである場合の2通りのISCRの増分値が求められることになる。
(制御部の機能的な構成例)
図28は、次のISCRの予測結果を用いたBBフレーム推定を行う場合の制御部211(図5)の機能的な構成例を示す図である。なお、図28の制御部211において、図22の制御部211と対応する部分については、同一の符号が付してあり、その説明は適宜省略する。
図28において、制御部211は、BBヘッダ解析部251、BBフレーム選択制御部252、選択BBフレーム推定部253、及び、ISCR予測値算出部271から構成される。すなわち、図28の制御部211は、図22の制御部211と比べて、SYNCD期待値算出部254の代わりに、ISCR予測値算出部271が設けられている。
ISCR予測値算出部271は、BBフレーム選択部215によるBBフレームの選択を監視して、BBフレーム選択部215により選択されるBBフレームのISCRの値の増分を算出し、次に選択されるBBフレームのISCRの値を予測する。ISCR予測値算出部271は、選択BBフレーム推定部253からの要求に応じて、算出されたISCRの予測値(ISCRの増分値)を、選択BBフレーム推定部253に供給する。
選択BBフレーム推定部253は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、ISCRの値が不明なBBフレームが存在する場合、ISCR予測値算出部271からISCRの予測値(ISCRの増分値)を取得する。選択BBフレーム推定部253は、ISCR予測値算出部271からのISCRの予測値と、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームのISCRの値(設定値)とを比較して、ISCRの予測値と同一又はそれに近い値となるISCRの値が存在するかどうかを判定する。
選択BBフレーム推定部253は、ISCRの予測値と同一又はそれに近い値となるISCRの値が存在する場合、当該ISCR(の値を含むBBヘッダ)のBBフレームを、次に、選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。また、選択BBフレーム推定部253は、ISCRの予測値と同一又はそれに近い値となるISCRの値が存在しない場合、エラーがあるBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。
BBフレーム選択制御部252は、選択BBフレーム推定部253から供給される推定結果に基づいて、BBフレーム選択部215を制御して、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、推定結果に応じた次に選択されるべきBBフレームが選択されるようにする。
(第3のBBフレーム選択処理の流れ)
次に、図29のフローチャートを参照して、図6のステップS220の処理に対応する第3のBBフレーム選択処理の流れについて説明する。
ステップS261において、BBヘッダ解析部251は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、エラーがあるBBフレーム(CRCエラーのBBヘッダ)が存在するかどうかを判定する。
ステップS261において、エラーがあるBBフレームが存在しないと判定された場合、処理は、ステップS262に進められる。ステップS262において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、最小値となるISCRのBBフレームを選択する。
ステップS263において、ISCR予測値算出部271は、BBフレーム選択部215によるBBフレームの選択を監視して、BBフレーム選択部215により選択されるBBフレームのISCRの値の増分を算出し、次に選択されるBBフレームのISCRの値を予測する。このようにして、正常受信時に、次のISCRの予測結果が求められる。
また、ステップS261において、エラーがあるBBフレームが存在すると判定された場合、処理は、ステップS264に進められる。ステップS264において、選択BBフレーム推定部253は、ステップS263の処理で、あらかじめ求めておいたISCRの予測値と、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームのISCRの値とを比較して、ISCRの予測値と同一又はそれに近い値となるISCRの値が存在するかどうかを判定する。
ステップS264において、ISCRの予測値と同一又はそれに近い値となるISCRの値が存在すると判定された場合、処理は、ステップS265に進められる。ステップS265において、選択BBフレーム推定部253は、ISCRの予測値と同一又はそれに近い値のISCRのBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。
ステップS266において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、ステップS265の処理の推定結果に応じたBBフレーム(ISCRの予測値と同一又はそれに近い値のISCRのBBフレーム)を選択する。
また、ステップS264において、ISCRの予測値と同一又はそれに近い値のISCRが存在しないと判定された場合、処理は、ステップS267に進められる。ステップS267において、BBヘッダ解析部251は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、エラーがあるBBフレーム(CRCエラーのBBヘッダ)が複数存在するかどうかを判定する。
ステップS267において、選択可能なBBフレームの中に、エラーがあるBBフレームが複数存在しない、すなわち、1つだけ存在すると判定された場合、処理は、ステップS268に進められる。ステップS268において、選択BBフレーム推定部253は、エラーがあるBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。
ステップS269において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、ステップS268の処理の推定結果に応じたエラーがあるBBフレームを選択する。
また、ステップS267において、選択可能なBBフレームの中に、エラーがあるBBフレームが複数存在すると判定された場合、処理は、ステップS270に進められる。ステップS270において、BBフレーム選択部215は、BBフレーム選択制御部252からの制御に従い、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、前回選択されてから最も時間の経過している系列(パス)のBBフレームを選択する。例えば、バッファ214−1に格納されたBBフレームを前回選択してからの時間が、他のバッファ214−2乃至214−Nに格納されたBBフレームを前回選択してからの時間と比べて、最も長い場合には、バッファ214−1に格納されたBBフレームが選択されるようにする。
ステップS263、S266、S269、又はS270の処理が終了すると、処理は、図6のステップS220の処理に戻り、それ以降の処理が実行される。
以上、第3のBBフレーム選択処理について説明した。この第3のBBフレーム選択処理では、伝送時のエラーの影響でISCRが取得できない場合に、ISCRの増分値をISCRの予測値として求めて、そのISCRの予測値に近いISCRの値が存在するかどうかによって、次に選択されるべきBBフレームを推定することで、BBフレームが正しく並び替えられるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
<4.BBフレーム推定時のエラーの局所化>
ところで、受信装置20においては、伝送時のエラー(例えばBBフレームのエラー等)の影響で、BBフレームに付加されたBBヘッダに含まれるISCRが取得できない場合に、例えばSYNCDやISCR等のBBヘッダに配置された情報に基づいて、選択可能なBBフレームの中から、次に選択されるべきBBフレームが推定されることは、先に述べた通りである。これらのBBフレームの推定では、十分な精度で、次に選択されるべきBBフレームを推定することができるが、あくまで推定であって、完全ではなく、間違った順番でBBフレームが並び替えられる可能性は否定できない。
このようなことから、受信装置20において、BBフレーム選択部215により選択されたBBフレームの並び替えの順番が間違っている状態で、BBフレーム処理部216が処理を行うと、その順番間違いの影響が拡大することになる。特に、BBヘッダに配置されるSYNCDは、BBフレームの並び替えの順番が間違っていると、まったく意味をなさないものとなってしまう。
そこで、次に、図30乃至図39を参照して、BBフレームにエラーが発生してBBヘッダに含まれるISCRが取得できない場合において、BBフレームの推定を行ったときに、仮にそのBBフレームの推定が誤っていたとしても、その影響を限られた部分に局所化して、BBフレームの並び替えの順番の間違いの影響を最小限に抑える方法について説明する。
(BBフレーム推定時のエラーの局所化の方法)
図30は、BBフレームの推定結果に応じたBBフレームの選択方法に説明する図である。
図30において、受信装置20では、送信装置10からのRF信号が受信され、データスライス処理部213−1乃至213−4によりデータスライスDS#1乃至DS#4が処理され、それにより復元される分割ストリームを構成するBBフレームが、対応するバッファ214−1乃至214−4に順次記憶される。そして、BBフレーム選択部215は、バッファ214−1乃至214−4の先頭に格納された全てのBBフレームのISCRを参照できる場合、最小値となるISCRのBBフレームを特定して選択する。これにより、図30の例では、"10"乃至"20"であるISCRのBBフレームが順に選択されている。
このように、選択可能なBBフレームの中に、エラーがあるBBフレームが存在しない場合、BBフレーム選択部215は、最小値となるISCRのBBフレームを順に選択することになるが、BBフレーム選択部215によりバッファ214−2に記憶された"20"であるISCRのBBフレームが選択されると、バッファ214−2では、"20"であるISCRのBBフレームの次に入力されたBBフレームが先頭に格納されるが、当該BBフレーム(図中の"XX"が記された斜線の四角)は、エラーの影響でISCRの値が不明となっている。
この場合に、SYNCDやISCR等のBBヘッダに配置された情報に基づいて、選択可能なBBフレームの中から、次に選択されるべきBBフレームが推定されることは、先に述べた通りである。そして、BBフレーム選択部215は、当該BBフレームの推定結果に基づいて、次に選択されるべきBBフレームを選択することになる。
ここで、当該BBフレームの推定結果が正しかった場合、図31の上側に示すように、BBフレームは正しい順番に並び替えられるが、当該BBフレームの推定結果が誤っていた場合には、図31の下側に示すように、間違った順番でBBフレームが並び替えられることになる。この場合、エラーの影響でISCRの値が不明なBBフレームの位置が誤っているだけでなく、その影響で、当該BBフレーム以降に選択されるBBフレーム(図31の"30"乃至"50"であるISCRのBBフレーム)までもが、誤った順番に並び替えられている。このように、BBフレームの推定結果が誤っていると、その影響がBBフレーム単位で拡大することになる。
特に、BBヘッダに含まれるSYNCDは、BBフレームの並び替えの順番が間違っていると、まったく意味をなさないものとなる。例えば、図32に示すように、BBフレームの推定結果が誤っていて、間違った順番でBBフレームが並び替えられてしまった場合、エラーの影響でISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)は、1個前のBBフレームのTSパケットの開始位置を示す情報(以下、「パケット開始位置情報」という)を引き継ぐことになる。
そのため、BBフレーム処理部216においては、ISCRの値が不明なBBフレーム以降の誤った順番に並び替えられたBBフレーム(図32の"30"乃至"50"であるISCRのBBフレーム)のBBヘッダに含まれるSYNCDの値を使用すると、当該BBフレームに格納されたデータ(実データ)を捨ててしまうこととなり、結果として、復元される実データ(例えばTS等の対象データ)に不連続点が生じてしまう。
ここでは、このような不連続点が生じることを回避するために、BBフレーム処理部216において、BBフレームの並び替えの順番が誤っている可能性のある区間(以下、「影響区間」という)は、BBヘッダに含まれるSYNCDの値を使用せずに、影響区間の直前のBBフレームのパケット開始位置情報が引き継がれるようにする。
例えば、図33に示すように、BBフレームの推定結果が誤っていて、間違った順番でBBフレームが並び替えられてしまった場合に、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)だけでなく、影響区間内のBBフレームは、当該影響区間の直前のBBフレームのパケット開始位置情報を引き継ぐようにする。なお、このパケット開始位置情報としては、例えば、影響区間の直前のBBフレームのBBヘッダに含まれるSYNCDから得られるビット情報を用いることができる。
具体的には、図33においては、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)と、"30"乃至"50"であるISCRのBBフレームが影響区間となるので、当該影響区間の直前の"20"であるISCRのBBフレームのパケット開始位置情報が引き継がれるようにする。これにより、BBフレームの順番が誤っている可能性のある影響区間では、SYNCDを使わないため、BBフレームに格納されたデータ(実データ)が無駄に捨てられることはなく、結果として、復元される実データ(例えばTS等の対象データ)に不連続点が生じることもない。なお、この例では、影響区間外となる"10"、"20"、"70"、"80"であるISCRのBBフレームは、BBヘッダに含まれるSYNCDの値を使用することになる。
なお、影響区間は、BBフレームの推定アルゴリズムに依存するものであるが、その最大値は、エラーがあるBBフレームが入力されるバッファ214から、エラーがあるBBフレームの直前に入力されたBBフレームが選択された直後から、エラーがあるBBフレームの直後に入力されるBBフレームが選択される直前までの区間とされる。
例えば、図34において、バッファ214−2には、"20"であるISCRのBBフレームの次に、エラーの影響でISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)と、"100"であるISCRのBBフレームが順に入力されている。そして、バッファ214−2の先頭に格納された"20"であるISCRのBBフレームが選択されると、"20"であるISCRのBBフレームの次に入力されたBBフレームが先頭に格納されるが、当該BBフレーム(図中の"XX"が記された斜線の四角)は、エラーの影響でISCRの値が不明となっている。
この場合、バッファ214−1乃至214−4の先頭に格納された選択可能なBBフレームの中から、バッファ214−2の先頭に格納されたISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が選択されて、バッファ214−2の先頭に"100"であるISCRのBBフレームが格納されるまでの間は、SYNCD等を用いたBBフレームの推定が行われることになる。例えば、図35には、BBフレームが正しい順番に並べられた場合と、BBフレームが誤った順番に並べられた場合が例示されている。
すなわち、"20"であるISCRのBBフレームの直後に選択されるBBフレームから、"100"であるISCRのBBフレームの直前に選択されるBBフレームまでの間のBBフレームとして、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)が選択される可能性があり、その区間が、最大の影響区間とされるようにする。つまり、"XX"であるISCRの値は、"20"よりも大きく、"100"よりも小さいことが分かるので、ISCRの値が、"20"を超える値であって、"100"未満の値となるBBフレームは、影響区間内のBBフレームであるとして、当該BBフレームに付加されたBBヘッダに含まれるSYNCDの値を使用しないようにする。
例えば、図36に示すように、BBフレーム処理部216においては、ISCRの値が不明なBBフレーム以降の誤った順番に並び替えられたBBフレーム(図36の"30"乃至"50"であるISCRのBBフレーム)のBBヘッダに含まれるSYNCDの値を使用すると、復元される実データに不連続点が生じてしまうので、図37に示すように、影響区間内では、BBヘッダに含まれるSYNCDの値を使用せずに、当該影響区間の直前のBBフレームのパケット開始位置情報が引き継がれるようにする。
具体的には、図37においては、ISCRの値が不明なBBフレーム(図中の"XX"が記された斜線の四角)と、"30"乃至"90"であるISCRのBBフレームが影響区間(最大の影響区間)となるので、当該影響区間の直前の"20"であるISCRのBBフレームのパケット開始位置情報が引き継がれるようにする。これにより、BBフレームの順番が誤っている可能性のある影響区間では、SYNCDを使わないため、BBフレームに格納されたデータ(実データ)が無駄に捨てられることはなく、結果として、復元される実データに不連続点が生じることもない。なお、この例では、影響区間外となる"10"、"20"、"100"であるISCRのBBフレームは、BBヘッダに含まれるSYNCDの値を使用することになる。
このように、BBフレーム推定時のエラーの局所化では、BBフレームの並び替えの順番が誤っている可能性のある影響区間のBBフレームでは、BBヘッダに含まれるSYNCDの値を使用せずに、当該影響区間の直前のBBフレームのパケット開始位置情報が引き継がれるようにして、当該BBフレームに格納されたデータ(実データ)を捨ててしまうことにより生じる不連続点を回避できるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
(制御部の機能的な構成例)
図38は、BBフレーム推定時のエラーの局所化を行う場合の制御部211(図5)の機能的な構成例を示す図である。なお、図38の制御部211において、図22の制御部211と対応する部分については、同一の符号が付してあり、その説明は適宜省略する。
図38において、制御部211は、BBヘッダ解析部251、BBフレーム選択制御部252、選択BBフレーム推定部253、SYNCD期待値算出部254、及び、BBフレーム処理制御部281から構成される。すなわち、図38の制御部211においては、図22の制御部211と比べて、新たに、BBフレーム処理制御部281が追加された構成となっている。
選択BBフレーム推定部253は、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中に、ISCRの値が不明なBBフレームが存在する場合、SYNCDの期待値とSYNCDの値とを比較して、SYNCDの期待値と一致するSYNCDの値が存在するかどうかを判定する。
選択BBフレーム推定部253は、SYNCDの期待値と一致するSYNCDの値が存在する場合、当該SYNCDのBBフレームを、次に選択されるべきBBフレームであると推定し、その推定結果を、BBフレーム選択制御部252に供給する。これにより、BBフレーム選択部215では、バッファ214−1乃至214−Nの先頭に格納された選択可能なBBフレームの中から、推定結果に応じたBBフレームが選択されることになる。
ここで、選択BBフレーム推定部253は、BBフレームの推定を行った場合には、そのBBフレームの推定結果が誤っていたときに、BBフレームの並び替えの順番が誤っている可能性のある影響区間内のBBフレームであることを示す1ビットのフラグ(以下、「影響区間フラグ」という)を生成し、BBフレーム選択部215によるBBフレームの選択のタイミングに応じて、BBフレーム処理制御部281に供給する。
BBフレーム処理制御部281には、選択BBフレーム推定部253から、BBフレーム処理部216で処理されるBBフレームが、影響区間内のBBフレームである場合には、例えば、"1"である影響区間フラグが供給され、影響区間外のBBフレームである場合には、例えば、"0"である影響区間フラグが供給される。BBフレーム処理制御部281は、選択BBフレーム推定部253から供給される影響区間フラグに基づいて、BBフレーム処理部216で行われる、元のBBストリームを再構成(復元)する処理を制御する。
具体的には、BBフレーム処理制御部281は、選択BBフレーム推定部253からの影響区間フラグが"0"、すなわち、BBフレームが影響区間外となる場合には、当該BBフレームのBBヘッダに含まれるSYNCDの値が使用されるようにする。一方、BBフレーム処理制御部281は、選択BBフレーム推定部253からの影響区間フラグが"1"、すなわち、BBフレームが影響区間内となる場合には、当該影響区間の直前のBBフレームのパケット開始位置情報が引き継がれるようにする。
なお、図38の制御部211の構成では、BBフレームの推定方法として、SYNCDを用いたBBフレーム推定を採用した場合の構成を一例に説明したが、例えば、BBフレーム選択の規則性を用いたBBフレーム推定や、次のISCRの予測結果を用いたBBフレーム推定を採用した場合にも同様に構成することができる。
(ストリーム再構成処理の流れ)
次に、図39のフローチャートを参照して、図6のステップS221の処理に対応するストリーム再構成処理の流れについて説明する。
ステップS281において、BBフレーム処理制御部281は、選択BBフレーム推定部253から供給される影響区間フラグに基づいて、BBフレーム処理部216で処理される対象のBBフレームが、影響区間内のBBフレームであるかどうかを判定する。
ステップS281において、対象のBBフレームが、影響区間外のBBフレームであると判定された場合、処理は、ステップS282に進められる。ステップS282において、BBフレーム処理制御部281は、BBフレーム処理部216を制御して、ステップS281の処理の対象のBBフレームについては、BBヘッダに含まれるSYNCDを用いて、BBフレームからTSパケットに変換されるようにする。
また、ステップS281において、対象のBBフレームが、影響区間内のBBフレームであると判定された場合、処理は、ステップS283に進められる。ステップS283において、BBフレーム処理制御部281は、BBフレーム処理部216を制御して、ステップS281の処理の対象のBBフレームについては、当該影響区間の直前のBBフレームのパケット開始位置情報を用いてBBフレームからTSパケットに変換されるようにする。
ステップS282又はS283の処理が行われることで、並び替えられたBBフレームから、元のBBストリームが再構成(復元)されることになる。なお、ステップS282又はS283の処理が終了すると、処理は、図6のステップS221の処理に戻り、それ以降の処理が実行される。
以上、ストリーム再構成処理について説明した。このストリーム再構成処理では、BBフレームの並び替えの順番が誤っている可能性のある影響区間のBBフレームでは、BBヘッダに含まれるSYNCDの値を使用せずに、当該影響区間の直前のBBフレームのパケット開始位置情報が引き継がれるようにすることで、当該BBフレームに格納されたデータ(実データ)を捨ててしまうことにより生じる不連続点を回避できるようにしているため、伝送時のエラーの影響を最小限に抑えることができる。
<5.コンピュータの構成>
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。図40は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示す図である。
コンピュータ900において、CPU(Central Processing Unit)901,ROM(Read Only Memory)902,RAM(Random Access Memory)903は、バス904により相互に接続されている。バス904には、さらに、入出力インターフェース905が接続されている。入出力インターフェース905には、入力部906、出力部907、記録部908、通信部909、及び、ドライブ910が接続されている。
入力部906は、キーボード、マウス、マイクロフォンなどよりなる。出力部907は、ディスプレイ、スピーカなどよりなる。記録部908は、ハードディスクや不揮発性のメモリなどよりなる。通信部909は、ネットワークインターフェースなどよりなる。ドライブ910は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア911を駆動する。
以上のように構成されるコンピュータ900では、CPU901が、ROM902や記録部908に記憶されているプログラムを、入出力インターフェース905及びバス904を介して、RAM903にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ900(CPU901)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア911に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線又は無線の伝送媒体を介して提供することができる。
コンピュータ900では、プログラムは、リムーバブルメディア911をドライブ910に装着することにより、入出力インターフェース905を介して、記録部908にインストールすることができる。また、プログラムは、有線又は無線の伝送媒体を介して、通信部909で受信し、記録部908にインストールすることができる。その他、プログラムは、ROM902や記録部908に、あらかじめインストールしておくことができる。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順番に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
また、本技術は、以下のような構成をとることができる。
(1)
BB(BaseBand)フレームのストリームであるBBストリームのBBフレームを、複数のデータスライスに分配することで得られる複数の分割ストリームを受信する受信部と、
伝送時にエラーが発生して、前記複数の分割ストリームを再構成する際の前記BBフレームの選択の順番を示す時刻情報が取得できない場合、前記BBフレームに関する情報に基づいて、前記複数の分割ストリームごとに選択可能な前記BBフレームの中から、次に選択されるべき前記BBフレームを推定する推定部と、
前記推定部による前記BBフレームの推定結果に基づいて、選択可能な前記BBフレームの中から、次の前記BBフレームを選択する選択部と
を備える受信装置。
(2)
前記時刻情報は、DVB-C2(Digital Video Broadcasting - Cable second generation)規格で規定されたISSY(Input Stream Synchronizer)のISCR(Input Stream Time Reference)である
(1)に記載の受信装置。
(3)
前記推定部は、前記BBフレームをパケットに格納したときの、前記フレームに付加されるBBヘッダを格納する前記パケットを構成するのに必要な残りのビット数を示す情報であるSYNCDに基づいて、1個前に選択された前記BBフレームから予測されるSYNCDの期待値と、前記BBヘッダに含まれるSYNCDの値とを比較することで、次に選択されるべき前記BBフレームを推定する
(2)に記載の受信装置。
(4)
前記選択部は、
前記SYNCDの期待値と、前記SYNCDの値とが一致する場合、前記SYNCDの期待値と一致した値のSYNCDを含むBBヘッダが付加された前記BBフレームを、次に選択されるべき前記BBフレームとして選択し、
前記SYNCDの期待値と一致した値のSYNCDが存在しない場合、エラーの影響でISCRの値が不明な前記BBフレームを、次に選択されるべき前記BBフレームとして選択する
(3)に記載の受信装置。
(5)
前記推定部は、前記BBフレームの選択の規則性の予測結果に基づいて、次に選択されるべき前記BBフレームを推定する
(2)に記載の受信装置。
(6)
前記BBフレームの選択の規則性は、前記BBフレームが正常に受信されている場合に、選択可能な前記BBフレームの中から選択される、次の前記BBフレームの選択結果に基づいて、予測される
(5)に記載の受信装置。
(7)
前記推定部は、前記BBフレームのISCRの予測結果に基づいて、次に選択されるべき前記BBフレームを推定する
(2)に記載の受信装置。
(8)
前記選択部は、
前記ISCRの予測結果と同一又はそれに近い値のISCRの前記BBフレームが存在する場合、当該BBフレームを、次に選択されるべき前記BBフレームとして選択し、
前記ISCRの予測結果と同一又はそれに近い値のISCRの前記BBフレームが存在しない場合、エラーの影響でISCRの値が不明な前記BBフレームを、次に選択されるべき前記BBフレームとして選択する
(7)に記載の受信装置。
(9)
前記ISCRの予測結果は、前記ISCRの実測値から算出されるか、又は伝送パラメータに基づいて算出される
(7)又は(8)に記載の受信装置。
(10)
前記選択部により選択された順番に前記BBフレームを処理することで、前記複数の分割ストリームから、元の前記BBストリームを再構成する再構成部をさらに備える
(1)乃至(9)のいずれかに記載の受信装置。
(11)
受信装置の受信方法において、
前記受信装置が、
BBフレームのストリームであるBBストリームのBBフレームを、複数のデータスライスに分配することで得られる複数の分割ストリームを受信し、
伝送時にエラーが発生して、前記複数の分割ストリームを再構成する際の前記BBフレームの選択の順番を示す時刻情報が取得できない場合、前記BBフレームに関する情報に基づいて、前記複数の分割ストリームごとに選択可能な前記BBフレームの中から、次に選択されるべき前記BBフレームを推定し、
前記BBフレームの推定結果に基づいて、選択可能な前記BBフレームの中から、次の前記BBフレームを選択する
ステップを含む受信方法。