(57)【要約】【課題】固定値フィールドの占有率を増大させず、また、パケット当たりのデータ伝送効率を低下させずに、パケットの境界位置を決定する受信装置を提供する。【解決手段】取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出する位置検出部と、前記位置検出部が検出した前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定する境界決定部と、を備え、前記境界決定部は、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、受信装置が提供される。【選択図】図１
2014232924.tif 000002
【特許請求の範囲】
【請求項１】
取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出する位置検出部と、
前記位置検出部が検出した前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定する境界決定部と、
を備え、
前記境界決定部は、前記パケット境界位置が一意に特定できていない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、受信装置。
【請求項２】
前記境界決定部は、前記パケット境界位置が一意に特定できた場合に該パケット境界位置以降における値の出現回数をビット毎にカウントし、前記パケット境界位置が一意に特定できない場合は、カウントした前記出現回数を用いて前記パケット境界位置を決定する、請求項１に記載の受信装置。
【請求項３】
前記境界決定部は、機械学習によって前記パケット境界位置を決定する、請求項２に記載の受信装置。
【請求項４】
前記境界決定部は、ベクトル空間モデルを用いて前記パケット境界位置を決定する、請求項３に記載の受信装置。
【請求項５】
前記境界決定部は、ベイズ推定を用いて前記パケット境界位置を決定する、請求項３に記載の受信装置。
【請求項６】
前記境界決定部は、前記パケット境界位置の候補がパケット長の範囲で複数存在する場合に、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、請求項１に記載の受信装置。
【請求項７】
前記境界決定部は、前記同期情報と同一の情報がパケット長と同じ周期でＮ回連続して現れる前であっても、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、請求項１に記載の受信装置。
【請求項８】
取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出するステップと、
前記位置を検出するステップで検出された前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定するステップと、
を備え、
前記決定するステップでは、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、パケット境界決定方法。
【請求項９】
コンピュータに、
取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出するステップと、
前記位置を検出するステップで検出された前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定するステップと、
を実行させ、
前記決定するステップでは、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、受信装置、パケット境界決定方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
固定長のデータパケットがバイトストリームで伝送される状況では、パケットの境界位置は、特定の値のバイトデータ（同期バイト）の位置によって同定されることができる。例えば特許文献１では、パケットの境界を正しく見出すために、一定のパケット数（Ｎ個とする）分の長さのバイトデータを蓄積し、ちょうどパケット長と同じ周期でＮ回同期バイトが出現している位置を境界位置と判断するという技術が開示されている。
【０００３】
同期バイトとして用いられる値が、パケット中の他の位置に出現することがない場合は、上述の技術によって正しい境界位置を必ず発見することが可能である。しかし、境界位置以外で同期バイトと同じ値が複数のパケットの同一の位置に偶然出現することがあり、このようなケースでは真の境界位置と偽の境界位置とが判別できなくなる。この現象は一般にエミュレーションと呼ばれている。
【０００４】
このエミュレーションへの対処として、例えば特許文献２で開示されているように、既存の同期バイトに加えて別の位置に一定の値のバイトあるいはバイト列を配置することを取り決めておき、その一致についても確認するようにすることで、エミュレーションとの区別を付けやすくする技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０００−５０７７８５号公報
【特許文献２】特開平７−７９２１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
既存のエミュレーションへの対処技術では、同期バイトに加えて別の位置に一定の値のバイトあるいはバイト列を配置するために、パケットにおける固定値フィールドの占有率を増大させ、パケット当たりのデータ伝送効率を低下させていた。
【０００７】
そこで本開示は、固定値フィールドの占有率を増大させず、また、パケット当たりのデータ伝送効率を低下させずに、パケットの境界位置を決定することが可能な、新規かつ改良された受信装置、パケット境界決定方法及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示によれば、取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出する位置検出部と、前記位置検出部が検出した前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定する境界決定部と、を備え、前記境界決定部は、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、受信装置が提供される。
【０００９】
また本開示によれば、取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出するステップと、前記位置を検出するステップで検出された前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定するステップと、を備え、前記決定するステップでは、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、パケット境界決定方法が提供される。
【００１０】
また本開示によれば、コンピュータに、取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出するステップと、前記位置を検出するステップで検出された前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定するステップと、を実行させ、前記決定するステップでは、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、コンピュータプログラムが提供される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、固定値フィールドの占有率を増大させず、また、パケット当たりのデータ伝送効率を低下させずに、パケットの境界位置を決定することが可能な、新規かつ改良された受信装置、パケット境界決定方法及びコンピュータプログラムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係る伝送システム１の構成例を示す説明図である。
【図２】本開示の一実施形態に係る受信装置１００の機能構成例を示す説明図である。
【図３】本開示の一実施形態に係る受信装置１００に含まれるデータ処理部１３０の機能構成例を示す説明図である。
【図４】本開示の一実施形態に係る受信装置１００の動作例を示す流れ図である。
【図５】バイトデータの例を示す説明図である。
【図６】ヒストグラムの例を示す説明図である。
【図７】バイトデータの例を示す説明図である。
【図８】ベクトル空間モデルによる類似度の算出を概念的に示す説明図である。
【図９】ハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
＜１．本開示の一実施形態＞
［システム構成例］
［受信装置の機能構成例］
［データ処理部の機能構成例］
［受信装置の動作例］
＜２．ハードウェア構成例＞
＜３．まとめ＞
【００１５】
＜１．本開示の一実施形態＞
［システム構成例］
まず、図面を参照しながら本開示の一実施形態に係るシステム構成例について説明する。図１は、本開示の一実施形態に係る伝送システム１の構成例を示す説明図である。以下、図１を用いて本開示の一実施形態に係る伝送システム１の構成例について説明する。
【００１６】
図１に示したように、本開示の一実施形態に係る伝送システム１は、サーバ装置１０と、受信装置１００と、を含んで構成される。サーバ装置１０と、受信装置１００とは、インターネットその他のネットワーク２に接続されている。
【００１７】
サーバ装置１０は、固定長のデータパケットからなるストリームをバイトストリームでネットワーク２へ送信する装置である。そして受信装置１００は、サーバ装置１０からバイトストリームで伝送される固定長のデータパケットからなるストリームをネットワーク２から受信し、そのストリームに基づいた処理を実行する装置である。
【００１８】
例えばサーバ装置１０は、ＭＰＥＧ−２  ＴＳの形式で映像コンテンツをネットワーク２へ出力する装置であり、受信装置１００は、サーバ装置１０からＭＰＥＧ−２  ＴＳの形式で出力される映像コンテンツをネットワーク２から受信し、その映像コンテンツを出力する装置であっても良い。なおサーバ装置１０及び受信装置１００の機能は係る例に限定されないことは言うまでもない。受信装置１００は、サーバ装置１０から出力される、バイトストリームで伝送される固定長のデータパケットからなるストリームを受信するものであれば、以下で説明する実施の形態が適用可能である。
【００１９】
以上、図１を用いて本開示の一実施形態に係る伝送システム１の構成例について説明した。続いて、本開示の一実施形態に係る受信装置１００の機能構成例について説明する。
【００２０】
［受信装置の機能構成例］
図２は、本開示の一実施形態に係る受信装置１００の機能構成例を示す説明図である。以下、図２を用いて本開示の一実施形態に係る受信装置１００の機能構成例について説明する。
【００２１】
図２に示した受信装置１００は、サーバ装置１０からバイトストリームで伝送される固定長のデータパケットからなるストリームを受信し、そのストリームに基づいた処理を実行する装置である。図１に示したように、受信装置１００は、受信部１１０と、受信モジュール１２０と、データ処理部１３０と、を含んで構成される。
【００２２】
受信部１１０は、サーバ装置１０からバイトストリームで伝送される固定長のデータパケットからなるストリームを、ネットワーク２から受信するインターフェースである。受信部１１０は、ネットワーク２から受信したストリームを受信モジュール１２０へ送る。
【００２３】
受信モジュール１２０は、受信部１１０から渡されるストリームに対してＡ／Ｄ変換処理等を施してデータ処理部１３０に渡す。
【００２４】
データ処理部１３０は、受信モジュール１２０から渡されるストリームに対する処理を実行する。データ処理部１３０が実行する処理は、取得した分割したストリームに対する特定の値のバイトデータ（同期バイト）の位置の検出によるパケットの境界位置の決定、決定した境界位置に基づいたストリームからのパケットの抽出、抽出したパケットのデータに基づく映像の表示その他の動作の実行などがある。データ処理部１３０の詳細な構成については後に詳述する。
【００２５】
以上、図２を用いて本開示の一実施形態に係る受信装置１００の機能構成例について説明した。続いて、本開示の一実施形態に係る受信装置１００に含まれるデータ処理部１３０の機能構成例について説明する。
【００２６】
［データ処理部の機能構成例］
図３は、本開示の一実施形態に係る受信装置１００に含まれるデータ処理部１３０の機能構成例を示す説明図である。以下、図３を用いてデータ処理部１３０の機能構成例について説明する。
【００２７】
図３に示したように、データ処理部１３０は、位置検出部１３２と、境界決定部１３４と、パケット抽出部１３６と、を含んで構成される。
【００２８】
位置検出部１３２は、一定のパケット数分の長さのバイトデータを蓄積し、データ処理部１３０が受信モジュール１２０から渡されたストリームの中から、同期バイトとして規定されているデータと同じデータが存在する位置を検出する。位置検出部１３２は、ストリーム及び同期バイトと同じデータが存在する位置の情報を境界決定部１３４に送る。
【００２９】
境界決定部１３４は、位置検出部１３２から送られるストリーム及び同期バイトと同じデータが存在する位置の情報を用いて、受信装置１００が受信したストリームにおける、パケット境界位置を決定する。境界決定部１３４は、同期バイトと同じデータがパケット長と同じ周期で連続して現れる位置があれば、その位置をパケット境界位置として決定することが出来る。
【００３０】
位置検出部１３２は、データ処理部１３０に送られたストリームに対し、同期バイトと同一の値が現れる位置を検出し、その検出の結果を境界決定部１３４に送る。同期バイトと同一の値がパケット長と同じ周期で現れるのが１箇所だけであれば、境界決定部１３４は、その位置がパケット境界位置であると容易に判断できる。
【００３１】
しかし、同期バイトと同一の値がパケット長と同じ周期で現れるのが１箇所だけでなく２箇所以上である場合は、境界決定部１３４はパケット境界位置がどこなのかを判断するのが困難になる。
【００３２】
そこで、本実施形態にかかる境界決定部１３４は、複数の箇所で同期バイトと同一の値がパケット長と同じ周期で現れた場合に、どの場所が最も境界位置らしいかを判定し、その判定によりパケット境界位置を決定する。本実施形態でのパケット境界位置の決定手法については後に詳述する。
【００３３】
パケット抽出部１３６は、境界決定部１３４が決定したパケット境界位置に基づいて、データ処理部１３０に送られるストリームからパケットを抽出する。受信装置１００は、パケット抽出部１３６が抽出したパケットに基づく映像コンテンツの表示その他の動作を実行することができる。
【００３４】
以上、図３を用いて、本開示の一実施形態に係る受信装置１００に含まれるデータ処理部１３０の機能構成例について説明した。続いて、本開示の一実施形態に係る受信装置１００の動作例について説明する。
【００３５】
［受信装置の動作例］
図４は、本開示の一実施形態に係る受信装置１００の動作例を示す流れ図である。図４に示したのは、受信装置１００がネットワーク２から受信したストリームのパケット境界位置の決定及びパケットの抽出を行なう際の、受信装置１００の動作例である。以下、図４を用いて本開示の一実施形態に係る受信装置１００の動作例について説明する。
【００３６】
受信装置１００は、ネットワーク２から受信したストリームに対し、同期バイトと同じデータがパケット長と同じ周期で存在する位置を検出することで、境界位置を検出する（ステップＳ１０１）。この境界位置の検出処理は、例えば位置検出部１３２及び境界決定部１３４が実行し得る。
【００３７】
位置検出部１３２は、一定のパケット数（Ｎ個とする）分の長さのバイトデータを蓄積し、ちょうどパケット長と同じ周期でＮ回同期バイトと同じデータが出現している位置を検出する。そして境界決定部１３４は、同期バイトと同じデータが出現している位置をパケット境界位置と決定する。
【００３８】
図５は、１つのパケットのサイズが１６バイトであり、Ｎ＝４とした場合の、４パケット分のバイトデータの例を示す説明図である。図５に示した例では、１１バイト目、２７バイト目、４３バイト目、５９バイト目に、同期バイトと同じデータが出現している。図５に示したように、１６バイト周期で同じ位置に同期バイトと等しい値のバイトがＮ回（Ｎ＝４）連続で現れており、他に１６バイト周期で同期バイトと等しい値が現れているバイトが無ければ、境界決定部１３４は、この１６バイト周期で同期バイトと等しい値のバイトの位置をパケット境界位置と決定する。
【００３９】
続いて受信装置１００は、上記ステップＳ１０１における境界位置の検出により、パケット境界位置が一意に定まるかどうかを判断する（ステップＳ１０２）。ステップＳ１０２の判断処理は、例えば境界決定部１３４が実行し得る。上記ステップＳ１０１における境界位置の検出により、パケット境界位置が一意に定まる場合は、受信装置１００は、パケット中の各ビットの値の分布を記録する（ステップＳ１０３）。このステップＳ１０３の記録処理は、例えば境界決定部１３４が実行し得る。
【００４０】
続いて受信装置１００は、決定したパケット境界位置を基準にしてパケットを切り出して、次段の処理に渡す（ステップＳ１０４）。このステップＳ１０４のパケットの切り出し処理は、例えばパケット抽出部１３６が実行し得る。
【００４１】
複数のパケットについてパケット中の各ビットの値の分布を記録し、パケットを切り出すことで、受信装置１００は、正しく切り分けられたパケット中の各ビット位置における１（または０）の出現頻度のヒストグラムを生成することができる。図６は、あるパケット列でのパケット境界位置以降の２４ビットの各ビット位置における１の出現回数のヒストグラムの例を示す説明図である。
【００４２】
このようにパケット境界位置が一意に特定可能なデータを受信装置１００で受信した後に、上述のエミュレーションの発生によって、複数の位置がパケット境界位置であるかのように見えるデータを受信装置１００で受信した場合を考える。図７は、エミュレーションが発生している様子を示す説明図である。図７に示した例では、図５同様に１つのパケットのサイズが１６バイトであるとする。
【００４３】
図７に示したのは、ある時点では境界位置らしきものが一意に定まっているが、しばらくして、その定まっていた境界位置とは別の場所で、１６バイト周期で同じ位置に同期バイトと等しい値のバイトがＮ回（Ｎ＝４）連続で現れてしまっている場合の例である。このように、１６バイト周期で同じ位置に同期バイトと等しい値のバイトが、複数の場所においてＮ回連続で現れてしまうと、どの場所がパケット境界位置なのかを一意に特定することが出来なくなってしまう。
【００４４】
こういったケースにおいて、これまで述べてきた判定基準は、それらのいずれをパケット境界として採用すべきかについては特に指針を与えない。強いて言えば、より長く条件を満たしている方を採用するといったルールをさらに追加して対処することは可能である。しかし、新しく出現した境界位置候補こそが正しい境界位置で、これまで境界位置としてきた位置がエミュレーションにすり替わってしまっている可能性も否定できない。したがって、その場合には先述した事前定義されたルールに盲従する方法を適用すると、受信装置１００は、パケット境界位置を間違って決定してしまうことになる。
【００４５】
そこで本実施形態に係る受信装置１００は、境界位置らしきものが複数の箇所に現れた場合に、上記ステップＳ１０３で記録した、パケット境界位置が一意に特定可能な場合におけるパケット中の各ビットの値の分布を用いて、境界位置を１つ決定する。
【００４６】
エミュレーションの発生により、上記ステップＳ１０１における境界位置の検出によってパケット境界位置が一意に定まらず、パケット境界位置の候補が複数存在する場合は、受信装置１００は、各パケット境界位置の候補を起点とするビットの分布を、ステップＳ１０３で記録した各ビットの値の分布と照らし合わせ、境界位置らしさを算定する（ステップＳ１０５）。この境界位置らしさの算定処理は、例えば境界決定部１３４が実行し得る。
【００４７】
例えば、図６のヒストグラムが得られている状況下で、２つのパケット境界位置の候補が見つかったとする。以下では２つのパケット境界位置の候補を候補Ａ、候補Ｂとする。この場合、候補Ａ、Ｂを起点としてビットの分布を見たところ、候補Ａの直後の１ビット目が０であるのに対し、候補Ｂの直後の１ビット目が１であったとする。
【００４８】
図６のヒストグラムを参照すると、エミュレーションの発生前に取得された正しいパケットでは１ビット目はほぼすべて０であったことを踏まえると、候補Ｂは候補Ａに比べて「境界位置らしさ」が低いと言える。従って、パケット境界位置の候補として候補Ａ、Ｂが見つかった場合は、境界決定部１３４は、候補Ａをパケット境界位置として採用する方が好ましいと判断できる。
【００４９】
一般に、パケットはヘッダを持つことが多く、そのヘッダ部分には複数のパケットを通して同じ位置に同じ値が配置されるケースが珍しくない。そういったストリームでは、パケット内の特定のビット位置が０または１に偏る状況が発生しやすいので、そのように値が偏る箇所を手掛かりとして境界位置らしさを見積もることには、多くのケースで十分妥当性がある。
【００５０】
境界決定部１３４は、複数のパケット境界位置の候補の中から１つをパケット境界位置として決定する際に、例えば所定の３つのビットの比較を行い、その３つのビットの比較によってパケット境界位置を決定することが出来ない場合は、さらに別のビットの比較を行なうようにしてもよい。このように比較するビットを増加させながらパケット境界位置を決定すると、境界決定部１３４の演算量の減少に寄与できる。
【００５１】
「境界位置らしさ」を定量的に算定するには、一般に機械学習とよばれる領域の各種手法を用いることができる。以下では、機械学習の２つの例を挙げて説明するが、もちろん本開示は、「境界位置らしさ」の定量的な算出手法は以下で示す例に限られないことは言うまでもない。
【００５２】
（１．ベクトル空間モデル）
１つ目の例として、ベクトル空間モデルによる境界位置らしさの定量的な算出手法を説明する。ベクトル空間モデルは、文書の分類などに用いられるモデルであり、各々のデータをそれぞれ高次元のベクトルと捉え、それらの間の内積の大きさや、なす角の小ささをデータ同士の類似度とする。
【００５３】
図６に示したヒストグラムを例にすると、このヒストグラム全体は２４次元のベクトルと捉えることができる。同様にして、各境界位置候補を起点とした２４ビット分の０または１の出現頻度も、ベクトルとして考えることで、それぞれの境界位置候補と正しい境界位置との類似度を算出することができる。従って境界決定部１３４は、それぞれの境界位置候補と正しい境界位置との類似度を算出することで、境界位置として最も有望である候補を選択することができる。
【００５４】
図８は、ベクトル空間モデルによる類似度の算出を概念的に示す説明図である。図８に示したのは、２４次元のベクトルを用いたベクトル空間モデルによる類似度の算出の例である。図８の符号ｖ１は、図６に示したヒストグラムから生成した２４次元のベクトルである。すなわち、このベクトルｖ１は正常なパケットにおける、境界位置を起点とした２４ビット分の０または１の出現頻度から導出できるベクトルである。
【００５５】
そして図８の符号ｖ２、ｖ３は、それぞれ、境界位置候補を起点とした２４ビット分の０または１の出現頻度から導出したベクトルである。ベクトルｖ２、ｖ３と、ベクトルｖ１との間の内積の大きさや、なす角の小ささを求めると、ベクトルｖ２の方が、ベクトルｖ３よりも、ベクトルｖ１により近いことが分かる。従って境界決定部１３４は、ベクトルｖ２の基となった境界位置候補が、境界位置として最も有望であると判定することができる。
【００５６】
（２．ベイズ推定）
２つ目の例として、ベイズ推定による境界位置らしさの定量的な算出手法を説明する。ベイズ推定は、ある事象が発生した確率を、それと関連する別の事象の発生を踏まえて見積もる手法である。ベイズの定理に基づくと、「ある位置を基準としてｘビット目が１であった」という事実が観測された場合に、「その基準位置が真の境界位置である」確率は、以下のように表される。
【００５７】
【数１】
2014232924.tif 000003
【００５８】
なお、Ｐ（Ｘ）は事象Ｘが発生する確率であり、Ｐ（Ｘ｜Ｙ）は事象Ｙが発生したという条件のもとで、事象Ｘが発生する確率（条件付き確率）である。上述の式は、その位置が真の境界位置である可能性がもともとＰ（当該位置が真の境界）であると見積もられている場合に、「ｘビット目が１であった」という事実（証拠）が観測されることで、その見積もりが以下のように改定されることを表している。
【００５９】
【数２】
2014232924.tif 000004
【００６０】
複数の証拠が互いに独立であるという前提を立てるナイーブベイズと呼ばれる手法に準じれば、複数のビットについての情報を盛り込むには、上記数式の、
【００６１】
【数３】
2014232924.tif 000005
【００６２】
におけるｘをそのビット位置に、「１」の部分を当該ビットの値に変えて次々と見積もりを改訂していけばよい。これらは、いずれも図６に示したヒストグラムの情報から求めることが可能である。従って境界決定部１３４は、ベイズ推定を用いることで、複数の境界位置候補の中から、最も真の境界位置である可能性が高いものを選択することができる。
【００６３】
上述の例では、ビットごとの０または１の出現頻度を特徴として用いる例を示したが、本開示は係る例に限定されるものではない。境界決定部１３４は、より大きな単位、例えば複数の連続するビット列や、バイト単位での値の分布を特徴として用いてもよい。特にナイーブベイズでは、各々の証拠が独立であることを前提としているため、複数ビットの並びで意味を持つようなフィールドでは、複数ビットの並びを単位として扱う方が適切である。
【００６４】
また、正しいパケットにおいて０または１の出現頻度にほとんど差がないような箇所については、正しいパケットにおける出現頻度と、境界位置候補から切り出したビットデータと比較で得られる情報量が少ない。例えば図６に示した例では、２１ビット目から２４ビット目については０または１の出現頻度にほとんど差がない。従って境界決定部１３４は、ある程度以上分布に偏りが見られた位置のみを比較対象としてもよい。例えば図６に示したヒストグラムを用いる場合は、境界決定部１３４は、２４ビット分のデータの内、２１ビット目から２４ビット目については比較対象から除外しても良い。
【００６５】
また、事前に当該ストリームから正常に切り出されたパケットを取得することができない状況下では、境界決定部１３４は、事前に取得可能なその他のストリームでのパケット中のビットの出現傾向を、ヒストグラムの初期値として用いてもよい。
【００６６】
例えばＭＰＥＧ−２  ＴＳにおけるＴｒａｎｓｐｏｒｔ  Ｅｒｒｏｒ  Ｉｎｄｉｃａｔｏｒなどは、一般にほとんどの場合、値が０となっており、そういった傾向はストリームをまたいで共通するものである。従って、他のストリームから計測したものを用いたとしても、境界決定部１３４でのパケット境界位置の決定に際し、ある程度有用な情報を与えうる。
【００６７】
上述した例では、エミュレーションが発生した場合におけるパケット境界位置の決定手法を示したが、本開示は係る例に限定されるものではない。すなわち、エミュレーションが発生していない通常の同期バイト検出時にも、本開示による技術を用いても良い。例えば境界決定部１３４は、境界位置らしさが一定値を超えた場合は、パケット長と同一の周期でのＮ回連続して同期バイトを検出したことを待たずに、境界位置と判定してもよい。
【００６８】
＜２．ハードウェア構成例＞
上記の受信装置１００の動作は、例えば、図９に示す情報処理装置のハードウェア構成を用いて実行することが可能である。つまり、受信装置１００の動作は、コンピュータプログラムを用いて図９に示すハードウェアを制御することにより実現されてもよい。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、接触式又は非接触式のＩＣチップ、接触式又は非接触式のＩＣカード、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【００６９】
図９に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【００７０】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【００７１】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【００７２】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【００７３】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【００７４】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【００７５】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【００７６】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は接触又は非接触通信用のデバイス等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【００７７】
＜３．まとめ＞
以上説明したように本開示の一実施形態によれば、同期バイトの検出によるパケット境界位置の決定に際し、境界位置らしさが最も高い候補をパケット境界位置として決定する受信装置１００が提供される。受信装置１００は、境界位置らしさが最も高い候補をパケット境界位置として決定する際に、正常に受信できているパケットにおけるビットの値の分布と、各候補を基準としたビットの値とを比較する。
【００７８】
本開示の一実施形態に係る受信装置１００は、正常に受信できているパケットにおけるビットの値の分布と、各候補を基準としたビットの値とを比較することで、より境界位置らしいものをパケット境界位置として決定することが出来る。従って本開示の一実施形態に係る受信装置１００は、エミュレーションの発生などにより、パケット境界が一意に定められなくなった場合に、それまでに実際に流れていたパケットの特徴に対してより整合するような境界位置を選択することによって、より精度の高いパケット境界位置の判定が可能になる。
【００７９】
本開示の一実施形態に係る受信装置１００は、パケット中に収められたデータそのものの特徴を、パケット境界位置を決定する際のヒントに用いており、新たに（実際のデータとは無関係な）固定値をパケット中に収めることを要求する手法と比較すると、伝送効率の低下を回避することができる。
【００８０】
本開示の一実施形態に係る受信装置１００は、エミュレーションが発生していない状況においても、伝送経路の問題などで一時的にパケット境界を見失った際に、十分パケット境界らしいと判断できる場合は、同期バイトの確認個数を少なく切り上げることができる。従って本開示の一実施形態に係る受信装置１００は、一定の精度を保ちつつ素早く同期を取り戻すといったことが可能となる。
【００８１】
本明細書の各装置が実行する処理における各ステップは、必ずしもシーケンス図またはフローチャートとして記載された順序に沿って時系列に処理する必要はない。例えば、各装置が実行する処理における各ステップは、フローチャートとして記載した順序と異なる順序で処理されても、並列的に処理されてもよい。
【００８２】
また、各装置に内蔵されるＣＰＵ、ＲＯＭおよびＲＡＭなどのハードウェアを、上述した各装置の構成と同等の機能を発揮させるためのコンピュータプログラムも作成可能である。また、該コンピュータプログラムを記憶させた記憶媒体も提供されることが可能である。また、機能ブロック図で示したそれぞれの機能ブロックをハードウェアで構成することで、一連の処理をハードウェアで実現することもできる。
【００８３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００８４】
なお、本技術は以下のような構成も取ることができる。
（１）
取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出する位置検出部と、
前記位置検出部が検出した前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定する境界決定部と、
を備え、
前記境界決定部は、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、受信装置。
（２）
前記境界決定部は、前記パケット境界位置が一意に特定できた場合に該パケット境界位置以降における値の出現回数をビット毎にカウントし、前記パケット境界位置が一意に特定できない場合は、カウントした前記出現回数を用いて前記パケット境界位置を決定する、前記（１）に記載の受信装置。
（３）
前記境界決定部は、機械学習によって前記パケット境界位置を決定する、前記（２）に記載の受信装置。
（４）
前記境界決定部は、ベクトル空間モデルを用いて前記パケット境界位置を決定する、前記（３）に記載の受信装置。
（５）
前記境界決定部は、ベイズ推定を用いて前記パケット境界位置を決定する、前記（３）に記載の受信装置。
（６）
前記境界決定部は、前記パケット境界位置の候補がパケット長の範囲で複数存在する場合に、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、前記（１）〜（５）のいずれかに受信装置。
（７）
前記境界決定部は、前記同期情報と同一の情報がパケット長と同じ周期でＮ回連続して現れる前であっても、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、前記（１）〜（６）のいずれかに記載の受信装置。
（８）
取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出するステップと、
前記位置を検出するステップで検出された前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定するステップと、
を備え、
前記決定するステップでは、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、パケット境界決定方法。
（９）
コンピュータに、
取得したストリームに対して所定の同期情報と同一の情報が存在する位置を検出するステップと、
前記位置を検出するステップで検出された前記同期情報と同一の情報がパケット長と同じ周期でＮ回（Ｎ＞１）連続して現れる位置を前記ストリームのパケット境界位置として決定するステップと、
を実行させ、
前記決定するステップでは、前記パケット境界位置が一意に特定できない場合は、前記同期情報と同一の情報の位置における境界位置らしさに基づいて前記パケット境界位置を決定する、コンピュータプログラム。
【符号の説明】
【００８５】
１    伝送システム
１０    サーバ装置
１００    受信装置
１１０    受信部
１２０    受信モジュール
１３０    データ処理部
１３２    位置検出部
１３４    境界決定部
１３６    パケット抽出部
【図１】
2014232924.tif 000006
【図２】
2014232924.tif 000007
【図３】
2014232924.tif 000008
【図４】
2014232924.tif 000009
【図５】
2014232924.tif 000010
【図６】
2014232924.tif 000011
【図７】
2014232924.tif 000012
【図８】
2014232924.tif 000013
【図９】
2014232924.tif 000014