実施の形態.1
図1は、この発明に係る多重化装置と分離装置との接続を示す図である。図において、Aは多重化装置、Bは分離装置であり、多重化装置Aと分離装置Bとはインターネットなどのネットワーク(図示せず。)を介し接続され、多重化装置Aは2種類の入力データ列a,bを多重化した多重化データである多重化ストリーム5を分離装置Bへ伝送し、分離装置Bは多重化装置Aからの多重化ストリーム5を受信して入力データ列a,bを分離して出力することを示している。尚、多重化装置Aおよび分離装置B内の構成は、特別新しい構成はないので、ここではその説明は省略する。
図2は、この実施の形態1の多重化装置Aが送信し、分離装置Bが受信する多重化ストリーム5を示す図である。
図において、1はパケットの区切れ目を示すフラグ、2a〜2bは多重している入力データ列a,bの種別等を示す識別情報としてのヘッダ、3a〜3bは多重化すべき入力データ列a,bをその種別毎に適当な長さに分割したパケット、5は多重化ストリームである。なお、本発明の実施の形態では、多重化すべきデータの種類は、従来技術の場合と同様に、説明の便宜上a,bの2種類で説明するが、本発明では、多重化すべきデータの種類はいくつでもよい。また、入力データの種類とは、ビデオや、オーディオ、データ等のメディアの種類毎に種類分けしても良いし、例えばビデオ等の同一メディアでもあっても、エンコーダなどの情報源毎に種類分けたり、符号化方式毎に種類分けしても良いし、さらにはそれより上位の番組毎に種類分けするようにしても勿論よい。
次に動作について説明する。
まず、多重化装置Aは、2種類の入力データ列a、bを入力すると、図2に示すように、それぞれデータの種類ごとにレングスを変え固定長La、Lbで分割してそれぞれパケット3a、3bとし、そのパケット3a、3bを送信するときに、パケットの区切れ目を示すフラグ1と、分割したデータa,bの種別等を示す識別情報であるヘッダ2a、2bとを付与して送信する。これが図2に示す多重化ストリーム5である。
分離装置Bでは、この多重化ストリーム5を受信すると、まず、フラグ1を検出し、続いてそのフラグ1に続くヘッダ2を解析して、その後に続いているパケットのデータ種別を認識する。その際、次のフラグ1を検出するまでは同じパケットであると認識して、正常にパケットを分離する。
ここで、ヘッダ2が伝送誤り等により正常に認識できない場合は、分離装置Bは、その後に続いているパケットのデータ種別を認識できないので、次に発生するフラグ1までのデータの長さがLaであれば入力データ列aと推測し、また次に発生するフラグ1までのデータの長さがLbであれば入力データ列bと推測して分離を行う。
なお、本実施の形態1の分離装置Bでは、多重化ストリーム5中のヘッダ2a,2bを認識することによりパケット3a,3bのレングスを認識できるように、多重化装置Aが多重化する入力データの種別や、その種別毎に入力データを分割する際の固定のレングス、フラグ1およびヘッダ2のビット数等を、多重化装置Aとの間で予め取り決めておくか、多重化装置Aから多重化ストリーム5を受信する前のネゴシエーションにより伝送してもらっておき、予め認識しているものとする。尚、このことは、以下に説明する他の実施の形態の分離装置Bでも同様である。
このように、この実施の形態1では、多重化装置Aは各入力データを、データの種別毎にそれぞれ異なる長さの固定レングスでパケットに分割し、そのパケットを多重化して伝送するので、分離装置Bはヘッダ2を正常に解析できなくても、フラグ間のパケットのデータレングスによって、そのパケットのデータ種別を認識することができ、正常にデータを分離できる効果がある。
また、分離装置Bでは、フラグ1が伝送誤り等により正常に認識できない場合がある。フラグ1が正常に認識できないケースとしては、伝送エラーによるフラグの誤りや、伝送すべきデータ中にフラグと同一のコードが含まれる、いわゆるフラグのエミュレーション現象等が考えられる。これらの状況からフラグ1を適切に認識するためには、フラグ1だけでなく、その後に続くヘッダ2やレングスを利用するべきである。
このため、本実施の形態1の分離装置Bでは、あるフラグ1が伝送誤り等により正常に認識できない場合は、その直前のヘッダ2が識別情報として入力データ列aを示すものであれば、そこからレングスLa後に正常に認識できなかったフラグ1が存在するものとして、以降の分離処理を続けることができる。同様に、ヘッダ2が入力データ列bを示すものであれば、そこからレングスLb後に正常に認識できなかったフラグ1が存在するものとして、以降の分離処理を続けることができる。
このように、実施の形態1では、多重化装置Aは各入力データをそれぞれデータの種別毎に異なる固定のレングスでパケットに分割し、そのパケットを多重化して伝送するので、分離装置Bではフラグ1を正常に検出できなくても、直前のヘッダ2によりそのパケットの種別を認識し、そのパケットのレングスも認識できるので、その後に発生するフラグ1の位置を予測でき、正常にデータを分離できる効果がある。
なお、上記実施の形態1では、各入力データをそれぞれデータの種別毎に異なる固定レングスのパケットに分割するように説明したが、各入力データ毎に固定長パケットに分割していった際に、最後に例えばその固定長に満たないパケットが分割された場合には、次に説明する実施の形態2等に示すように可変長パケットのままで多重分離するようにしてもよいが、他の固定長パケットとレングスが同一になるように固定長に満たないパケットにヌルパケットを追加して、入力データの種別毎に異なる固定レングスとするようにしても勿論良い。
実施の形態2.
以上の実施の形態1では、各入力データをその種類毎にそれぞれ異なる固有のレングスのパケットに分割して多重および分離する装置について説明したが、次に同一種類の入力データでも可変のレングスで分割して多重し転送する場合の実施の形態2について説明する。
図3は、この実施の形態2の多重化装置Aが送信し、分離装置Bが受信する多重化ストリームを示す図である。
図において、2a、2a0、2bは多重しているパケットのデータ種別および可変長パケットの場合には可変長パケットのレングスを範囲により間接的に示す識別情報としてのヘッダであり、それに続くデータの長さはそれぞれLa、La0、Lbである。その他は、図2と同様なので省略する。なお、ヘッダ2a0が可変長パケットのヘッダであり、ヘッダ2a、2bが固定長パケットのヘッダである。また、データの種別毎に固定長パケットのレングスを変えているので、ヘッダ2a、2bは、入力データの種別を示すだけでなく、データの種別毎に固定長パケットのレングスを識別または示しているものといえる。
次に動作について説明する。
まず、多重化装置Aは、2種類の入力データ列a、bをそれぞれ固定長La、Lbで分割し、それぞれをパケット3a、3bとして、フラグ1と分割したパケットのデータ種別を示すヘッダ2a、2bを付与して送信する。
ここで、本実施の形態2の多重化装置Aでは、入力データ列aを固定長Laのパケット3aに分割して多重化する際、例えば、分割の最後に固定長Laに満たないパケット3a’が現れた場合、その固定長Laに満たないパケット3a’は、図3に示すように、そのレングスが入力データaを分割した通常のパケット3aの固定長Laより短い任意のレングスLa0のパケットであるので、固定長Laに満たないパケット3a’に対しては、パケット3aとはデータの種別が同じで、かつ、パケット3aのレングスLaとは異なるレングスLa0であることを示す識別情報としてヘッダ2a0を付与して多重を行う。
つまり、本実施の形態2の多重化装置Aでは、パケットに付与する識別情報としてのヘッダ2により、データの種別だけでなく、パケットのレングス、すなわちバケット長まで識別しているので、同一種別の入力データを分割したパケットであっても、パケット長を変えること、すなわち可変長パケットとして多重化することができる。
一方、本実施の形態2の分離装置Bでは、この多重化ストリーム5を受信すると、受信した多重化ストリーム5からフラグ1を検出し、フラグ1に続くヘッダ2を解析して、その後に続いているパケットのデータ種別を識別すると共に、パケットのレングスまで識別する。
つまり、本実施の形態2の分離装置Bでは、ヘッダ2a,2bを解析した場合には、前記実施の形態1の場合と同様に、それらに続くパケット3a,3bのデータ種別a,bとそのレングスLa、Lbを識別する。一方、ヘッダ2a0を解析した場合には、ヘッダ2a0に続くパケットは、パケット3aとはデータの種別が同じであるが、パケット3aのレングスLaとは異なるレングスLa0であると識別して、ヘッダ2a0以降レングスLa以内にパケット3a’が完結し、その後フラグ1を検出できることを予想することができる。
このため、伝送誤り等により、分離装置Bでヘッダ2a0の後のフラグ1が検出できなかった場合でも、本実施の形態2の分離装置Bでは、ヘッダ2a0以降レングスLa0以内にフラグ1と類似するパターンを検出し、それをフラグ1とみなして分離処理を継続することができる。
特に、本実施の形態2では、多重化装置Aは基本的には同一種別の入力データを固定長パケットに分割するが、分割の最後のパケットが固定長にならない場合は、その可変長パケットのレングスの最大長を固定長パケットのレングスより小さくし、かつ、固定長パケットと可変長パケットのそれぞれにデータ種別およびレングスを識別できる固有のヘッダ2a0を付与することによって、フラグ1が正常に検出できなくても、その直前のパケットのヘッダ2a0により、その後に発生するフラグ1の範囲を限定して、フラグ1に類似するデータをフラグとして処理することで、正常にデータを分離できる効果がある。
また、入力データの長さが多重化装置A側でわからなかったり、入力データの長さが一定しない等の理由により、入力データを固定長パケットに分割せず、常に可変長パケットに分割して伝送する場合には、可変長パケットの最大レングスを規定しておくことで、伝送誤り等により、分離装置Bでヘッダ2の後の次のバケットのフラグ1が検出できない場合でも、本実施の形態2の分離装置Bでは、ヘッダ2以降の可変長の規定最大レングス以内にフラグと類似するパターンを検出し、それをフラグとみなして分離処理を継続するようにしてもよい。
つまり、例えば、ある入力データを可変長パケットに分割する場合に、多重化装置Aは、その可変長パケットの最大レングスを例えばLmax等と決めて、分割する可変長パケットのレングスを最大レングスのLmax以下の任意のレングスで分割するようにして、分割した最大レングスLmax以下の各可変長パケットに同じヘッダ2を付加するようにしても良い。このとき、最大レングスだけでなく、最小レングスも決めておき、最小レングスから最大レングスの範囲内で分割する可変長パケットのレングスを規定するようにしても勿論よい。
このように、本実施の形態2では、多重化装置Aは同一種別の入力データを可変長のパケットに分割して多重伝送するときでも、レングスの最大長等を規定し、固有のヘッダを付与することによって、フラグが正常に検出できなくても、その直前のパケットのヘッダにより、その後に発生するフラグの範囲を限定して、フラグに類似するデータをフラグとして処理することで、正常にデータを分離できる効果がある。
また、多重化装置Aは、例えば、可変長の最大レングスがLaのパケットを、それぞれ、La1,La2,・・・,Lanの可変長でn分割し、La1(0以上La×1/n未満)、La2(La×1/n以上La×2/n未満)、・・・、Lan(La×(n-1)/n以上La未満)のレングスのパケットに対して、それぞれ個別のヘッダ2a1、2a2、・・・、2anを付与することにより、固定長Laに満たないパケット3aでも、2a1、2a2、・・・、2anのN種類のヘッダによって、可変長パケットのレングスの範囲を詳細に識別して示すこともできる。
このため、伝送誤り等により、分離装置Bでヘッダ2ax(xは1〜N)の後のフラグ1が検出できなかった場合でも、レングスLa×(x−1)/n以上レングスLa×x/n以内の範囲にフラグ1と類似するパターンを検出することにより、それをフラグ1とみなして分離処理を継続することができる。
このように、本実施の形態2では、可変長パケットの各レングスに対しても、ヘッダ2により各レングスの範囲を識別できるようにしたことで、フラグ1が正常に検出できなくても、直前ヘッダによりその後に発生するフラグの範囲を可変長パケットの各レングス毎により正確に限定でき、フラグに類似したデータをフラグとして処理することで、正常にデータを分離できる効果がある。
また、本実施の形態2では、パケットに付与する識別情報としてのヘッダ2a0により、データの種別aだけでなく、パケット3a’のレングスLa0まで識別するようにしたので、例えば、データの種別が異なるパケットでレングスが同じになった場合でも、そのパケットを識別できる。つまり、図3の場合において、例えば、パケット3bのレングスLbと、パケット3a’のレングスLa0とが同一になったとしても、それぞれのヘッダ2bとヘッダ2a0の違いにより、そのパケット3a’のデータ種別を識別できる。
さらに、本実施の形態2では、パケットに付与する識別情報としてのヘッダ2a0により、データの種別aだけでなく、パケット3a’のレングスLa0まで識別するようにしたので、例えば、識別情報であるヘッダ毎にそれに続くパケットのレングスを異なるようにすれば、同一種類のデータに可変長のパケットが混在する場合でも、ヘッダからパケットのデータ種別およびパケットのレングスが識別できるだけでなく、ヘッダが伝送誤り等により認識できない場合でも、パケットのレングスを認識することにより、パケットのデータ種別を識別することができる。つまり、図3の場合において、例えば、パケット3a’のヘッダ2a0を認識できず、そのパケット3a’のデータ種別を識別できない場合でも、パケットの切れ目を示すフラグ1の検出により、そのパケット3a’のレングスLa0を認識できた場合には、そのレングスLa0に基づきそのパケット3a’のヘッダが2a0と一意に決まるので、パケットのレングスよりそのパケットのデータ種別を識別できる。
なお、上記説明では、可変長パケットの場合には、上述のようにその識別情報としてのヘッダによりそのパケットのデータ種別の他にデータレングスの範囲を示すように説明したが、本発明ではこれに限らず、その識別情報としてのヘッダによりそのパケットのデータ種別の他に、データのレングス情報を直接示すようにしても勿論良い。具体的には、多重化装置Aは、例えば、最大レングスがLaのパケットを、それぞれ、La1,La2,・・・,Lanの可変長でn分割する場合、それらのレングスを有する可変調パケットに対して、それぞれ個別のヘッダ2a1、2a2、・・・、2anを付与して、ヘッダ2a1の可変長パケットはそのレングスがLa1、ヘッダ2a2の可変長パケットはそのレングスがLa2、・・・、ヘッダ2anの可変長パケットはそのレングスがLanというように、ヘッダにより可変長パケットのレングスを直接示すようにしても良い。
このようにすれば、分離装置Bでは、可変長パケットのレングスを直接示すヘッダ2を認識することにより、可変長パケットのレングスの範囲を示す識別情報としてのヘッダ2を認識する場合よりも、そのヘッダ2により可変長パケットの次に発生するであろうフラグの位置をより正確に推測できる。
以上のように、本実施の形態2によれば、ヘッダ2に含まれているデータ種別情報もしくはレングス情報を用いて、分離装置Bはパケットのデータ種別だけでなく、パケットのレングスまたはその範囲を認識できるため、フラグ1を正常に検出できなくても、直前パケットのヘッダによりそのパケットのレングスまたはその範囲を認識することにより、その後に発生するフラグの位置を正確に推測でき、フラグに類似したデータをフラグとして処理することで、正常にデータを分離できる。
また、本実施の形態2によれば、ヘッダ2によりそのパケットのレングスまたはその範囲を認識して、次に発生するフラグ1の位置もしくはその範囲を推測することにより、次に発生するフラグ1の位置近傍もしくはその範囲までフラグ検索を行なわないようにしても良い。
このようにすれば、フラグ1の発生位置もしくはその範囲を推測することによって、フラグの検索範囲が限定され、フラグ1の検出または検索にかかる処理負荷を軽減できる。
実施の形態3.
以上の実施の形態1,2では、多重するパケット間にはその切れ目を示すフラグとして、基本的には1つのフラグを挿入するようにしたものであるが、次に、多重するパケット間のフラグの数を制御する実施の形態について説明する。
図4は、この実施の形態3の多重化装置Aが送信し、分離装置Bが受信する多重化ストリームを示す図である。
図4において、図3と同一の参照番号は、図3と同一または同等の要素であるので、詳細説明を省略する。
次に動作について説明する。
まず多重化装置Aは、実施の形態2の場合と同様に、フラグ1、ヘッダ2、パケット3を一塊として多重化ストリーム5を転送する。分離装置Bでは、受信した多重化ストリーム5からフラグ1を検出することによって、パケット3の分れ目を検出する。
ここで、本実施の形態3の多重化装置Aでは、可変長のパケットを多重転送する場合、その可変長パケット直後に、少なくとも固定長パケット直後の場合よりフラグを多く入れて(図4の場合、固定長パケット直後に入れるフラグ1を2つ入れている)、次のデータを多重する。図4では、ヘッダ2a0の後に可変長パケット3a’が存在するので、可変長パケット3a’の次にフラグ1を2つ入れて、その後に次のヘッダ2aおよびパケット3aを転送することを示している。なお、可変長パケット直後に入れるフラグは、固定長パケット直後に入れるフラグ1の数より多くすれば良いので、2つでなくても、3つでも、またはそれ以上でも勿論良い。また、分離装置Bでは、フラグ1がいくつ入っても、データの分離には問題ないため、正常にデータを分離することができる。
すると、分離装置Bでは、固定長のデータが後に続くヘッダ2aを検出した場合は次のフラグ1の位置を正確に予測できるが、可変長のパケット3a’が後に続くヘッダ2a0を検出した場合には、次のフラグ1の位置を正確に予測できない場合がある。特に、ヘッダ2により可変長パケットのレングスの範囲を示した場合に、その範囲が広範囲におよぶ時、次のフラグ1の位置を正確に予測できない場合があり得る。このような状況で次のフラグ1が伝送エラー等によって正確に検出できなかった場合、次のパケットを正確に分離できなくなるおそれがある。
しかし、本実施の形態3の多重化装置Aでは、可変長パケット3a’の後にフラグ1を、固定長パケット直後に入れる場合より多くなるように、例えば2つ挿入するようにしたので、本実施の形態3の分離装置Bでは、可変長パケット3a’の後にフラグ1を1つ入れる場合よりも、フラグを検出する確率が上がり、以降正常なデータの分離が行える確率も向上する。
このように、本実施の形態3では、可変長パケットの後に固定長パケット直後に入れる場合よりフラグを多く入れるようにしたので、分離装置Bにおける可変長パケットのフラグの検出確率が向上し、正常に可変長パケットを分離できる効果がある。
実施の形態4.
実施の形態4では、ヘッダ2を正確に認識するために、誤りに強いヘッダ2の符号を選択する実施の形態について説明する。
本実施の形態4の多重化装置Aでは、ヘッダ2に設定される識別情報の値を選択するときに、設定する値の組み合わせを少なくし、そしてそれらの値のハミング距離が長くなるような値を選択することを特徴とする。
図5は、この実施の形態4の多重化装置Aが送信し、分離装置Bが受信する多重化ストリーム内のヘッダの値を示す図である。
具体的には、図5はヘッダが3ビットの場合の例であり、この場合、多重化装置Aは、2種類のヘッダを識別するために、3ビットからなるヘッダの値として(0,0,0)と(1,1,1)の2つの値を選択する。このときのハミング距離は3である。
このため、本実施の形態4の分離装置Bでは、このヘッダを受信する際に、ヘッダに誤りが付加された場合でも、1ビットの誤りであれば、ハミング距離が3であるので、(0,0,0)もしくは(1,1,1)の距離の近いほうの値と推測できる。図5では、(0,0,0)の1ビット誤りである(0,0,1)(0,1,0)もしくは(1,0,0)は、(0,0,0)の値のヘッダであると推測できる一方、(1,1,1)の1ビット誤りである(0,1,1)、(1,0,1)もしくは(1,1,0)は、(1,1,1)の値のヘッダであると推測できることを示している。
このため、nビットのヘッダの場合でも、実際に使用する値を選択するときに、お互いのハミング距離を長くとれば、ヘッダに誤りが付加された場合でも、正確にヘッダを推測できる。
以上のように、本実施の形態4では、ヘッダ2の値の種類をなるべく少なくして、それぞれのハミング距離を長くとるようにしたので、識別情報であるヘッダ2に誤りが付加された場合でも、正確なヘッダを推測でき、正常にデータを分離できる効果がある。
実施の形態5.
次に、分離装置B側のデータ分離のための詳細な処理手順を実施の形態5として説明する
図6は、実施の形態5の分離装置Bでのデータ分離のための処理フローを示したものである。
まず、フラグ検出処理について説明する。
まず、分離装置Bでは、多重化ストリーム5のデータを受信すると(ステップS100)、続いてその受信データがフラグ1であるか否かのフラグ検出処理を行ない(ステップS110)、この時、受信データがフラグ1と見なせない場合は(ステップS110“No”)、ステップS100へ戻り、次のデータの受信処理を行う。なお、図6におけるフラグ検出処理には、上記実施の形態1〜4にて説明したヘッダからそれに続くパケットのレングスまたはその範囲を推定して次のフラグの位置を推定する等の各種フラグ検出処理を使用しても良い。
これに対し、受信データをフラグ1と判断してフラグの正常性を確認できた場合は(ステップS110“Yes”)、続いてヘッダ2の解析処理を行い(ステップS120)、このヘッダ2の後に続くデータ列が固定長パケットなのか、あるいは可変長パケットなのかを判断する。これは、次に説明するように、後に続くデータ列が固定レングスの固定長パケットであるか、可変レングスの可変長パケットであるかにより、これに続く処理が異なるからである。尚、ステップS120のヘッダ解析処理において、登録されていないヘッダを認識した場合や、ヘッダを正常に認識できない場合は、ステップ110で検出したフラグは正常なフラグでない、あるいはステップ120で解析したヘッダは本当のヘッダでないものとして、ステップS100へ戻り、再度フラグを検出するようにする。
次に、ステップS120のヘッダ解析処理において、後に続くデータ列が固定長パケットであると判断した場合の処理について説明する。
ヘッダの解析により、後に続くデータ列が固定長パケットであると判断した場合、その固定長パケットのレングスはデータ種別毎に、すなわちヘッダ毎に異なっているので、分離装置Bは、ヘッダの解析よりその固定長パケットのレングスを認識することができる。このため、分離装置Bは、次のパケットの先頭を検出するために、ヘッダに基づき認識した所定の固定レングスになるまで(ステップS140“Yes”)、ステップS130のデータ受信処理を繰り返す(ステップS140“No”→S130)。
そして、分離装置Bは、所定の固定レングス後に、ステップS110と同様のフラグの検出を行い、検出したフラグが正常なフラグであるか否かを判断し(ステップS150)、検出したフラグが正常なフラグでないと判断した場合には(ステップS150“No”)、ステップS100のデータ受信処理を介しステップS110のフラグ検出処理を実行する。
これに対し、検出したフラグが正常なフラグであると判断した場合には(ステップS150“Yes”)、そのフラグの検出まで受信したパケットデータを分離し(ステップS160)、ステップS120に戻り、そのフラグに続くヘッダの解析処理を行ない、上述の処理を繰り返す。
次に、ステップS120のヘッダ解析処理において、後に続くデータ列が可変長パケットであると判断した場合の処理について説明する。
ヘッダの解析により、後に続くデータ列が可変長パケットであると判断した場合、固定長パケットの場合と同様に、分離装置Bは、ヘッダからその可変長パケットのレングスまたはその範囲を認識することができる。このため、分離装置Bは、次のパケットの先頭を検出するために、ヘッダから認識した所定の値または所定範囲のレングスになるまで(ステップS180“Yes”)、このデータ受信を繰り返す(ステップS180“No”→S170)。
そして、受信したデータが所定の値または所定範囲のレングスになると(ステップS180“Yes”)、ステップS110と同様のフラグの検出処理を行って、検出したデータが正常なフラグであるか否かを判断し(ステップS190)、検出したデータが正常なフラグであると判断した場合には(ステップS190“Yes”)、そのフラグの検出まで受信したパケットデータを分離して(ステップS160)、ヘッダ解析処理のステップS120に戻り、上述の処理を繰り返す。
これに対し、検出したデータが正常なフラグでないと判断した場合には(ステップS190“No”)、可変長パケットのレングスが範囲で示されている場合のみ、現在の受信データのレングスがヘッダに基づく可変レングスの範囲の最大値を超えているか否かを判断し(ステップS200)、超えていなければ(ステップS200“No”)、さらにフラグを探すために、ステップS170のデータ受信処理に戻る一方、受信データのレングスが予め定めておいた可変レングスの最大値を超えている場合には(ステップS200“Yes”)、ステップS100のデータ受信処理を介しステップS110のフラグ検出処理を実行する。なお、ヘッダが可変長パケットのレングスを直接示している場合には、上述のステップ200の判断処理は不要となる。
このように、本実施の形態5では、前述した実施の形態1〜4のフラグ検出やヘッダ解析機能を組み合わせることで、データの中にフラグと同じパターンが存在した場合でも、正常にデータを分離できるという効果がある。
また、分離装置Bは、フラグの誤認識を避けるために、フラグだけでなくその後のヘッダと合わせて正常性を認識するようにしてもよい。例えば、フラグと同一のコードがデータ中に含まれていた場合には、そのコードをフラグと認識してしまうおそれがある。特に、可変長パケットの次のフラグは、フラグの位置が予測できない場合があるため、このようなエミュレーションは頻繁に発生する可能性がある。そのため、フラグの後に続くヘッダの取りうる値が限定されているのであれば、その値に属さないものがフラグの後に続いていた場合、その直前のフラグはエミュレーションということになる。このようにして正しいフラグを検出することができる。
このように、本実施の形態5では、フラグ検出とヘッダ解析機能を組み合わせることで、データの中にフラグと同じパターンが存在した場合でも、正常にデータを分離できるという効果がある。
さらに、分離装置Bは、伝送エラーによってフラグが検出できないことのないように、フラグやヘッダに誤りが混入していたとしてもそれを許容できるようにしてもよい。例えば、あるパケット直前のパケットのヘッダからあるパケットのフラグの存在する位置を予測し、その位置に例えば1ビット誤りを含んだフラグを検出した場合でも、それをフラグと認識することでエラー耐性のあるフラグ検出が可能となる。また、フラグだけでなくヘッダにもエラーが混入しても、正常なヘッダを予測できれば、その値を用いて正常な分離処理が行える。
このように、本実施の形態5では、フラグ検出とヘッダ解析機能に正確な値でなくとも近い値であれば処理を継続するようにすることで、伝送エラー等でフラグやヘッダに誤りが混入した場合でも、正常にデータを分離できるという効果がある。
実施の形態6.
次に、ヘッダを正常に認識できなかった場合の分離処理を実施の形態6として説明する。
まず、多重化装置Aが実施の形態1の場合と同様に、データを多重伝送した際、伝送エラー等であるヘッダに誤りが付加されたものとする。
図7は、この実施の形態6の多重化装置Aが送信し、誤りが付加された後に分離装置Bで受信された多重化ストリームの一例を示す図である。
具体的には、図7において、伝送エラー等により誤りが付加されたことにより、ヘッダ2aがヘッダ2zとなって、ヘッダ2aが本来取りうるべき値でない値となった場合、以降に続くパケット3aもデータ種別が不明となってパケット3zとして認識し、そのレングスも不明となる。
このため、本実施の形態6の分離装置Bでは、その後に続くフラグ1およびヘッダ2bを検出することで、それ以前のパケット3zのレングスがLaであることが判明するので、パケットのレングスより入力データの種別が一意に決定することから、レングスLaを取りうるヘッダは2aしか存在しないと判断し、ヘッダ2zはヘッダ2aに誤りが付加されたものとみなし、パケット3zはデータaを分割したパケット3aとして処理する。
このように、パケットのレングスとデータ種別、すなわちデータ種別を示す識別情報であるヘッダとが一意に結びつけることにより、ヘッダに誤りが付加された場合でも、その後に続くフラグを検出して不明なパケットのレングスを算出し、さらにそのレングスからヘッダを割り出しそのパケットのデータ種別を認識して、そのヘッダの示すデータ種別によるデータの分離を行うことで、正常な分離処理が行える。
また、以上の処理を、実施の形態5で説明したフラグ検出処理やヘッダ解析処理に採用して、伝送エラー等でフラグやヘッダに誤りが混入した場合でも、正常にデータを分離できるという効果がある。
尚、前記方法で、レングスからヘッダを予測できなかった場合、本実施の形態6の分離装置Bでは、それまで分離していたデータを発生確率の高いデータとして分離するようにしてもよい。
例えば、AV通信などではビデオデータが多いため、不明なデータはビデオデータとして分離すれば、正しく分離される確率が高い。そのためヘッダを解析できずに、データ種別が不明なデータを発生確率の高いデータとして分離するのである。
このように、本実施の形態6では、データ種別が不明なデータを発生確率の高いデータとして分離するようにすることで、不明なデータでも正常に分離できる確率が高くなるという効果がある。
尚、前記各実施の形態1〜6では、それぞれの各実施の形態の説明が重複しないように、各実施の形態の特徴部分を中心に説明したが、本発明では、各実施の形態の内容が矛盾しない範囲で、各実施の形態を任意に組み合せて実施するようにしても良い。例えば、実施の形態3では、可変長パケットの直後に入れるフラグの数を固定長パケット直後に入れるフラグの数より多くした実施の形態にのみ説明しているので、本発明では、この実施の形態3と、可変長パケットに言及している実施の形態2,4〜6とを組み合わせるようにしても良い。このようにすれば、可変長パケットの場合には、ヘッダ2からパケットのレングスやその範囲を認識すると共に、可変長パケット直後の数の多いフラグ1より、よりフラグの検出効率が向上することになる。その他、実施の形態4では、誤りに強いヘッダ2の符号を選択する実施の形態についてのみ説明しているので、本発明では、この実施の形態4と、実施の形態1〜3,5,6とを組み合せて使用するようにしても勿論良い。このようにすれば、固定長パケットに限らず、可変長パケットの場合にも、識別情報としてのヘッダ2に誤りが付加された場合でも、正確なヘッダを推測でき、正常にデータを分離できることになる。また、その他の実施の形態の任意の組み合わせでも勿論可能である。