(57)【要約】【課題】多重化ストリームのペイロード長のエンディアンが規格として規定されてない場合でも、正しいエンディアンを確定可能なデマルチプレクサの実現する【解決手段】デマルチプレクサは、多重化ストリーム（４００）に含まれる各パケットからパケット先頭識別データを検出するパケット先頭検出部（１０）と、選択されたエンディアンに従って、多重化ストリーム（４００）に含まれる各パケットからペイロード長を算出するペイロード長算出部（２０）と、ペイロード長算出部（２０）によるペイロード長算出処理に係るエンディアンを選択するエンディアン選択部（４０）とを備える。エンディアン選択部（４０）は、パケット先頭検出部（１０）がパケット先頭識別データを検出できなかった場合、エンディアンを切り替える。【選択図】図２
2006270322.tif 000002
【特許請求の範囲】
【請求項１】
パケット先頭識別データ、ペイロード長データ、およびペイロードデータを含むパケットを複数含む多重化ストリームを受け所定のペイロードデータを出力するデマルチプレクサであって、
前記多重化ストリームに含まれる各パケットからパケット先頭識別データを検出するパケット先頭検出部と、
選択されたエンディアンに従って、前記多重化ストリームに含まれる各パケットからペイロード長を算出するペイロード長算出部と、
前記ペイロード長算出部によって算出されたペイロード長に基づいて、前記多重化ストリームからペイロードデータを分離するペイロード分離部と、
前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンを選択するエンディアン選択部とを備え、
前記エンディアン選択部は、前記パケット先頭検出部がパケット先頭識別データを検出できなかった場合、エンディアンを切り替える
ことを特徴とするデマルチプレクサ。
【請求項２】
請求項１に記載のデマルチプレクサにおいて、
前記エンディアン選択部は、
前記パケット先頭検出部が、前記多重化ストリームに含まれる所定数のパケットのパケット先頭識別データを連続して検出できた第１の場合、前記選択したエンディアンを前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定する一方、前記パケット先頭検出部が、前記所定数のパケットを連続して検出できなかった第２の場合、前記切り替え後のエンディアンを前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定するものであり、
前記ペイロード長算出部は、前記第２の場合、前記確定されたエンディアンに従って、ペイロード長算出処理を、前記所定数のパケットの最初のパケットから再実行する
ことを特徴とするデマルチプレクサ。
【請求項３】
請求項２に記載のデマルチプレクサにおいて、
前記ペイロード分離部は、
エンディアンが確定されるまで前記分離したペイロードデータを保持するものであり、かつ、前記第１の場合、前記保持していたペイロードデータを出力する一方、前記第２の場合、前記保持していたペイロードデータを削除し、ペイロードデータ分離処理を、前記所定数のパケットの最初のパケットから再実行し、分離したペイロードデータを出力する
ことを特徴とするデマルチプレクサ。
【請求項４】
請求項１に記載のデマルチプレクサにおいて、
前記エンディアン選択部は、
前記パケット先頭検出部が、前記多重化ストリームに含まれる所定数のパケットのパケット先頭識別データを連続して検出できた第１の場合、前記選択したエンディアンを前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定する一方、前記パケット先頭検出部が、前記所定数のパケットのパケット先頭識別データを連続して検出できなかった第２の場合、エンディアンを切り替えるものであり、
前記ペイロード長算出部は、前記第２の場合、前記切り替え後のエンディアンに従って、ペイロード長算出処理を、前記所定数のパケットの最初のパケットから再実行する
ことを特徴とするデマルチプレクサ。
【請求項５】
請求項４に記載のデマルチプレクサにおいて、
前記ペイロード分離部は、
エンディアンが確定されるかまたはエンディアンが切り替えられるまで前記分離したペイロードデータを保持するものであり、かつ、前記第１の場合、前記保持していたペイロードデータを出力する一方、前記第２の場合、前記保持していたペイロードデータを削除し、ペイロードデータ分離処理を、前記所定数のパケットの最初のパケットから再実行し、分離したペイロードデータを新たに保持する
ことを特徴とするデマルチプレクサ。
【請求項６】
パケット先頭識別データ、ペイロード長データ、およびペイロードデータを含むパケットを複数含む多重化ストリームを受け所定のペイロードデータを出力するデマルチプレクサであって、
前記多重化ストリームに含まれる各パケットからパケット先頭識別データを検出するパケット先頭検出部と、
選択されたエンディアンに従って、前記多重化ストリームに含まれる各パケットからペイロード長を算出するペイロード長算出部と、
前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンを選択するエンディアン選択部とを備え、
前記エンディアン選択部は、前記ペイロード長算出部によって算出されたペイロード長と閾値とを比較し、当該比較結果に応じて、エンディアンを切り替える
ことを特徴とするデマルチプレクサ。
【請求項７】
請求項６に記載のデマルチプレクサにおいて、
前記エンディアン選択部は、
前記多重化ストリームに含まれるパケットについて、前記ペイロード長算出部によって算出されたペイロード長が前記閾値よりも小さい第１の場合、前記選択したエンディアンを前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定する一方、前記パケットについて、前記ペイロード長算出部によって算出されたペイロード長が前記閾値よりも大きい第２の場合、前記切り替え後のエンディアンを前記ペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定するものであり、
前記ペイロード長算出部は、前記第２の場合、前記確定されたエンディアンに従って、前記パケットのペイロード長を再算出する
ことを特徴とするデマルチプレクサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デマルチプレクサに関し、特に、多重化ストリームを受信し、所要のペイロードデータを出力するデマルチプレクサの技術に関する。
【背景技術】
【０００２】
マルチプレクサによって多重化されたデータは、一般に、多重化ストリームの形態をとる。デマルチプレクサは、この多重化ストリームからペイロードデータを抽出し、抽出したペイロードデータを伸長処理のためデコーダへ供給する回路である。
【０００３】
図６は、多重化ストリームの構成を示す。多重化ストリーム４００は、複数のパケットから構成される。各パケットは、パケット先頭識別データ、ペイロード長データ、およびペイロードデータを有している。パケット先頭識別データは、各パケットを識別するためのデータである。ペイロード長データは、パケットが有しているペイロードデータのサイズを示している。これら２つのデータは、パケットのヘッダ情報であり、実際に出力されるデータは、ペイロードデータのみである。図６で示した多重化ストリーム４００は、パケットＡにおけるパケット先頭識別データＡ４１０、ペイロード長データＡ４２０、ペイロードデータＡ４３０、パケットＢにおけるパケット先頭識別データＢ４４０、ペイロード長データＢ４５０、ペイロードデータＢ４６０の順にデマルチプレクサに入力される。
【０００４】
デコーダにペイロードデータを出力する際、デマルチプレクサは、設定したエンディアンに従って、ペイロードデータのペイロード長が記録された領域で解析を行い、出力するペイロードデータのサイズを確認する。たとえば、ＤＶＤ（Digital Versatile Disc）においては、規格としてペイロード長の算出に関するエンディアンが規定されているため、デマルチプレクサは、規格で規定されたエンディアンによりペイロード長を正しく解析することが可能である。このため、多重化ストリーム４００中のペイロードデータを正しく出力できる（たとえば、特許文献１参照）。
【特許文献１】特開平３−１６０５５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＤＶＤにおいては、多重化ストリーム４００のペイロード長の算出に関するエンディアンが規格として規定されているが、すべての多重化ストリーム４００のエンディアンが規格として規定されているとは限らない。ペイロード長のエンディアンが規格として規定されていない多重化ストリーム４００の解析時において、このとき使用するエンディアンの選択を誤ってしまえば、デマルチプレクサは、ペイロード長を誤って解析することになる。デマルチプレクサによって正しいペイロードデータがデコーダへ供給されなければ、ペイロードデータの再生結果に乱れが生じ、最悪の場合にはデコーダが動作停止（ハング）してしまう可能性もある。
【０００６】
上記問題に鑑み、本発明は、多重化ストリーム４００のペイロード長の算出に関するエンディアンが規格として規定されてない場合であっても、正しいペイロードデータを分離可能なデマルチプレクサの実現を課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明が講じた手段は、パケット先頭識別データ、ペイロード長データ、およびペイロードデータを含むパケットを複数含む多重化ストリームを受け所定のペイロードデータを出力するデマルチプレクサであって、多重化ストリームに含まれる各パケットからパケット先頭識別データを検出するパケット先頭検出部と、選択されたエンディアンに従って、多重化ストリームに含まれる各パケットからペイロード長を算出するペイロード長算出部と、多重化ストリームからペイロードデータを分離するペイロード分離部と、ペイロード長算出部によるペイロード長算出処理に係るエンディアンを選択するエンディアン選択部とを備え、エンディアン選択部は、パケット先頭検出部がパケット先頭識別データを検出できなかった場合、エンディアンを切り替えるものとする。
【０００８】
この発明によると、あるパケットに対してパケット先頭識別データが検出できなかった場合、エンディアン選択部によって、エンディアンが切り替えられる。これにより、多重化ストリームのペイロード長のエンディアンが規格として規定されてない場合であっても、適切なエンディアンが自動的に選択され、正しいペイロードデータの分離が可能となる。
【０００９】
また、具体的には、エンディアン選択部は、パケット先頭検出部が、多重化ストリームに含まれる所定数のパケットのパケット先頭識別データを連続して検出できた第１の場合、上記の選択したエンディアンをペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定する一方、パケット先頭検出部が、上記の所定数のパケットのパケット先頭識別データを連続して検出できなかった第２の場合、上記の切り替え後のエンディアンをペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定するものであり、ペイロード長算出部は、第２の場合、確定されたエンディアンに従って、ペイロード長算出処理を、上記の所定数のパケットの最初のパケットから再実行するものとする。
【００１０】
この発明によると、多重化ストリームに含まれる所定数のパケットのパケット先頭識別データが、連続して検出されたか否かでエンディアンの確定が判断される。連続して検出された場合、上記の選択されたエンディアンがペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定される。一方、連続して検出されなかった場合、ペイロード長算出部によるペイロード長算出処理に係るエンディアンが、切り替えられて、確定し、このエンディアンに従って、ペイロード長算出処理が再実行される。これにより、比較的高い精度で適切なエンディアンが選択、確定される。
【００１１】
さらに、具体的には、ペイロード分離部は、エンディアンが確定されるまで分離したペイロードデータを保持するものであり、かつ、上記の第１の場合、保持していたペイロードデータを出力する一方、上記の第２の場合、保持していたペイロードデータを削除し、ペイロードデータ分離処理を、前記所定のパケットの最初のパケットから再実行し、分離したペイロードデータを出力するものとする。
【００１２】
この発明によると、上記の第１の場合、ペイロード分離部によって、保持されていたペイロードデータが出力される。一方、上記の第２の場合、ペイロード分離部によって、保持されていたペイロードデータが削除され、ペイロードデータ分離処理が、前記所定のパケットの最初のパケットから再実行され、分離されたペイロードデータが出力される。これにより、エンディアンを切り替えた場合、ペイロード分離部によって、切り替え前のエンディアンに基づいて分離および保持されたペイロードデータは削除され、正しいデータのみが出力される。
【００１３】
また、具体的には、エンディアン選択部は、パケット先頭検出部が、多重化ストリームに含まれる所定数のパケットのパケット先頭識別データを連続して検出できた第１の場合、上記の選択したエンディアンをペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定する一方、パケット先頭検出部が、上記の所定数のパケットのパケット先頭識別データを連続して検出できなかった第２の場合、上記の選択したエンディアンを別のものに切り替えるものであり、ペイロード長算出部は、第２の場合、上記の切り替え後のエンディアンに従って、ペイロード長算出処理を、上記の所定数のパケットの最初のパケットから再実行するものとする。
【００１４】
この発明によると、多重化ストリームに含まれる所定数のパケットのパケット先頭識別データが、連続して検出されるまでエンディアンは確定されない。連続して検出されなかった場合、エンディアン選択部によって、上記の選択されたエンディアンが切り替えられ、ペイロード長算出処理が再実行される。これにより、本発明のエンディアン確定条件は、上記の所定数のパケットのパケット先頭識別データが連続して検出されるか否かでエンディアンを確定する上記発明のエンディアン確定条件よりも厳密であるため、上記発明よりも高い精度で適切なエンディアンが確定される。
【００１５】
さらに具体的には、ペイロード分離部は、エンディアンが確定されるかまたはエンディアンが切り替えられるまで分離したペイロードデータを保持するものであり、かつ、上記の第１の場合、保持していたペイロードデータを出力する一方、上記の第２の場合、保持していたペイロードデータを削除し、ペイロードデータ分離処理を、前記所定数のパケットの最初のパケットから再実行し、分離したペイロードデータを新たに保持するものとする。
【００１６】
この発明によると、上記の第１の場合、ペイロード分離部によって、保持されていたペイロードデータが出力される。一方、上記の第２の場合、ペイロード分離部によって、保持されていたペイロードデータが削除され、ペイロードデータ分離処理が、前記所定のパケットの最初のパケットから再実行され、分離されたペイロードデータが新たに保持される。これにより、エンディアンを切り替えた場合、ペイロード分離部によって、切り替え前のエンディアンに基づいて分離および保持されたペイロードデータは削除されるため、正しいデータのみが出力される。
【００１７】
また、上記課題を解決するために本発明が講じた手段は、パケット先頭識別データ、ペイロード長データ、およびペイロードデータを含むパケットを複数含む多重化ストリームを受け所定のペイロードデータを出力するデマルチプレクサであって、多重化ストリームに含まれる各パケットからパケット先頭識別データを検出するパケット先頭検出部と、選択されたエンディアンに従って、多重化ストリームに含まれる各パケットからペイロード長を算出するペイロード長算出部と、ペイロード長算出部によるペイロード長算出処理に係るエンディアンを選択するエンディアン選択部とを備え、エンディアン選択部は、ペイロード長算出部によって算出されたペイロード長と閾値との比較結果に応じて、エンディアンを切り替えるものとする。
【００１８】
この発明によると、エンディアン選択部によって、ペイロード長算出部によって算出されたペイロード長と閾値との比較結果に応じて、エンディアンが切り替えられる。これにより、多重化ストリームのペイロード長のエンディアンが規格として規定されてない場合であっても、適切なエンディアンが自動的に選択される。
【００１９】
また、具体的には、エンディアン選択部は、多重化ストリームに含まれるパケットについて、ペイロード長算出部によって算出されたペイロード長が上記の閾値よりも小さい第１の場合、上記の選択したエンディアンをペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定する一方、上記のパケットについて、ペイロード長算出部によって算出されたペイロード長が上記の閾値よりも大きい第２の場合、上記の切り替え後のエンディアンをペイロード長算出部によるペイロード長算出処理に係るエンディアンとして確定するものであり、ペイロード長算出部は、第２の場合、上記の確定されたエンディアンに従って、上記のパケットのペイロード長を再算出するものとする。
【発明の効果】
【００２０】
本発明によると、多重化ストリームのペイロード長の算出に関するエンディアンが規格として規定されていない場合であっても、適切なエンディアンを選択し、確定することができる。この結果、誤ったデータがペイロードデータとしてデコーダへ供給されることを抑制できるため、デコーダの再生性能の向上を図ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
【００２２】
（第１の実施形態）
以下、多重化ストリーム４００（図６参照）は、ペイロード長の算出に関するエンディアンが規格として規定されていないものとして説明する。
【００２３】
図１は、本発明の第１の実施形態に係るデマルチプレクサの構成を示す。本実施形態に係るデマルチプレクサは、パケット先頭検出部１０、ペイロード長算出部２０、ペイロード分離部３０、およびストリーム制御部４０を備えている。
【００２４】
パケット先頭検出部１０は、制御信号Ｓｉｇ１に基づいて、多重化ストリーム４００に含まれる各パケットからパケット先頭識別データを検索し、この検索結果を情報Ｓｉｇ１１として出力する。
【００２５】
ペイロード長算出部２０は、選択されたエンディアンを示す信号Ｓｉｇ２に従って、多重化ストリーム４００から各パケットに含まれるペイロード長データからペイロード長を算出し、この算出結果を情報Ｓｉｇ１２として出力する。
【００２６】
ペイロード分離部３０は、情報Ｓｉｇ１１およびＳｉｇ１２に基づいて、多重化ストリーム４００からペイロードデータを分離し、分離したペイロードデータを一時的に保持する。また、制御信号Ｓｉｇ３に応じて、保持しているペイロードデータのうち、必要なデータをデコーダ１００に出力する。
【００２７】
ストリーム制御部４０は、上記の制御信号Ｓｉｇ１、Ｓｉｇ３および信号Ｓｉｇ２を出力する。また、ストリーム制御部４０は、設定された２つのエンディアンのうち、１つを選択し、このエンディアンを示す信号Ｓｉｇ２を出力するエンディアン選択部として動作する。また、エンディアンの初期設定は、ストリーム制御部４０の内部情報に基づいて設定される。また、ストリーム制御部４０は、情報Ｓｉｇ１１から、パケット先頭検出部１０がパケット先頭識別データを検出できたか否かを判断する。
【００２８】
図２は、本実施形態に係るデマルチプレクサによるエンディアン確定のフローチャートを示す。本実施形態に係るデマルチプレクサに多重化ストリーム４００が入力された場合、最初に入力された第１のパケットのパケット先頭識別データが、パケット先頭検出部１０によって検索され、ストリーム制御部４０によって検出される（ステップＳ１０１）。検出後、ストリーム制御部４０により初期設定されたエンディアンに従って、第１のパケットのペイロード長が、ペイロード長算出部２０によって算出される（ステップＳ１０２）。算出後、第１のパケットのペイロードデータが、ペイロード分離部３０によって多重化ストリーム４００から分離、保持される（ステップＳ１０３）。
【００２９】
続いて、第１のパケットの次に入力される第２のパケットのパケット先頭識別データが、パケット先頭検出部１０によって検索され、ストリーム制御部４０によってこのデータが検出されたか否かが判断される（ステップＳ１０４）。パケット先頭識別データが検出されたと判断された場合、初期設定されたエンディアンが、ストリーム制御部４０によって多重化ストリーム４００のペイロード長の算出に関するエンディアンとして確定される（ステップＳ１０５）。その後、第１のパケットのペイロードデータが、デコーダ１００に出力される（ステップＳ１０６）。
【００３０】
一方、ステップＳ１０４において、第２のパケットのパケット先頭識別データが検出されなかったと判断された場合、第１のパケットのペイロードデータは、ペイロード分離部３０によって削除される（ステップＳ１０７）。その後、初期設定されたエンディアンは、ストリーム制御部４０によって別のエンディアンに切り替えられ（ステップＳ１０８）、この切り替え後のエンディアンが、多重化ストリーム４００のペイロード長の算出に関するエンディアンとして確定される（ステップＳ１０９）。そして、確定されたエンディアンに従って、第１のパケットのペイロード長が、ペイロード長算出部２０によって再算出される（ステップＳ１１０）。再算出後、第１のパケットのペイロードデータは、ペイロード分離部３０によって多重化ストリーム４００から再分離され（ステップＳ１１１）、ステップＳ１０６に移行する。
【００３１】
ステップＳ１０６の実行後は、確定したエンディアンに従って、各パケットについて、ペイロードデータの分離および出力までの工程が、多重化ストリーム４００の終端まで実行される。
【００３２】
以上、本実施形態によると、多重化ストリーム４００のペイロード長のエンディアンが規格として規定されていない場合であっても、適切なエンディアンが選択、確定され、正しいペイロードデータを分離することができる。
【００３３】
なお、ここでは、切り替えられたエンディアンを多重化ストリーム４００のペイロード長の算出に関するエンディアンとしてすぐに確定するとしたが、エンディアン切り替え後にすぐにエンディアンを確定せずに、第１および第２のパケットのパケット先頭識別データを連続して検出できたときに初めてエンディアンを確定するようにしてもよい。パケット先頭識別データが連続して検出されたことによってエンディアンを確定するようにすることによって、より高い精度で適切なエンディアンが選択、確定される。
【００３４】
また、エンディアンの初期設定は、ストリーム制御部４０の内部情報に基づいて設定されるとしたが、ストリーム制御部４０が外部から情報を受け、この情報に基づいてエンディアンの初期設定を優先的に設定するようにしてもよい。
【００３５】
（第２の実施形態）
上述した第１の実施形態に係るデマルチプレクサは、パケット先頭識別データと類似したデータを誤検出することで、結果として、不適切なエンディアンがペイロード長のエンディアンとして確定することがありうる。この誤りをなくすために、本発明の第２の実施形態に係るデマルチプレクサでは、ｎ個（ｎは３以上の整数）のパケットのパケット先頭識別データに対して、連続してパケット先頭識別データを検出できる否かを確認する。
【００３６】
以下、本発明の第２の実施形態に係るデマルチプレクサについて説明する。本実施形態に係るデマルチプレクサの構成は、図１に示した構成と同様であるため、ここでの説明は省略し、以下、本実施形態に係るデマルチプレクサによるエンディアン確定のフローについて説明する。
【００３７】
図３は、本実施形態に係るデマルチプレクサによるエンディアン確定のフローチャートを示す。ステップＳ１０３までは上述した通りであるため、以下、ステップＳ２０４から説明する。ステップＳ２０４において、第２のパケットのパケット先頭識別データが、パケット先頭検出部１０によって検索され、ストリーム制御部４０によってこのデータが検出されたか否かが判断される。パケット先頭識別データが検出されたと判断された場合、現在選択されているエンディアンに従って、第２のパケットのペイロード長が、ペイロード長算出部２０によって算出される（ステップＳ２０５）。算出後、第２のパケットのペイロードデータが、ペイロード分離部３０によって多重化ストリーム４００から分離、保持される（ステップＳ２０６）。
【００３８】
一方、ステップＳ２０４において、パケット先頭識別データが検出されなかったと判断された場合、ステップＳ２０７に移行し、ペイロード分離部３０に保持されたペイロードデータが、削除される。その後、現在選択しているエンディアンは、ストリーム制御部４０によって別のエンディアンに切り替えられる（ステップＳ２０８）。そして、切り替え後のエンディアンに従って、第１のパケットのペイロード長が、ペイロード長算出部２０によって再算出され（ステップＳ２０９）、ステップＳ１０３に移行する。
【００３９】
ステップＳ２０６後、ストリーム制御部４０によって、ｎ回パケット先頭識別データが検出されたか否かが確認される（ステップＳ２１０）。ｎ回パケット先頭識別データが検出されたと確認された場合、現在選択しているエンディアンが、ストリーム制御部４０によって多重化ストリーム４００のペイロード長の算出に関するエンディアンとして確定される（ステップＳ２１１）。その後、ペイロード分離部３０に保持されたペイロードデータが、デコーダ１００に出力される（ステップＳ２１２）。
【００４０】
一方、ステップＳ２１０において、パケット先頭識別データが、まだｎ回検出されていないと確認された場合、続くパケットのパケット先頭識別データが、パケット先頭検出部１０によって検索され、ストリーム制御部４０によってこのデータが検出されたか否かが判断される（ステップＳ２１３）。このパケットのパケット先頭識別データが検出されたと判断された場合、現在選択されているエンディアンに従って、このパケットのペイロード長が、ペイロード長算出部２０によって算出される（ステップＳ２１４）。算出後、このパケットのペイロードデータは、ペイロード分離部３０によって多重化ストリーム４００から分離、保持され（ステップＳ２１５）、ステップＳ２１０に移行する。一方、ステップＳ２１３において、パケット先頭識別データが検出されなかったと判断された場合、ステップＳ２０７に移行する。
【００４１】
ステップＳ２１２の実行後は、確定したエンディアンに従って、各パケットについて、ペイロードデータの分離および出力までの工程が、多重化ストリーム４００の終端まで実行される。
【００４２】
以上、本実施形態によると、独立のパケットのパケット先頭識別データに対して、少なくとも３回連続してパケット先頭識別データを検出できるまでエンディアンの確定をしないことで、第１の実施形態よりも高い精度で適切なエンディアンが選択、確定され、正しいペイロードデータが分離される。
【００４３】
なお、切り替えられたエンディアンを多重化ストリーム４００のペイロード長の算出に関するエンディアンとしてすぐに確定するようにしてもよい。
【００４４】
また、検出回数は、ストリーム制御部４０にあらかじめ設定されているとしたが、ストリーム制御部４０が、外部から情報を受け、この情報に基づいて検出回数を優先的に設定するようにしてもよい。
【００４５】
（第３の実施形態）
図４は、本発明の第３の実施形態に係るデマルチプレクサの構成を示す。本実施形態に係るデマルチプレクサは、パケット先頭検出部１０、ペイロード長算出部２０、ペイロード分離部３０、およびストリーム制御部４０Ａを備えている。このうち、パケット先頭検出部１０、ペイロード長算出部２０、ペイロード分離部３０は上述したものと同様であるため、ここでの説明は省略する。本実施形態は、ストリーム制御部４０Ａに、あらかじめ閾値（たとえば、ペイロード長の最大値＋単位長）を設定し、ストリーム制御部４０Ａが、この閾値と情報Ｓｉｇ１２によるペイロード長とを比較することで、エンディアンを確定する。
【００４６】
図５は、本実施形態に係るデマルチプレクサによるエンディアン確定のフローチャートを示す。ステップＳ１０２までは上述した通りであるため、以下、ステップＳ３０３から説明する。ステップＳ０３において、第１のパケットのペイロード長算出後、これと設定された閾値とが、ストリーム制御部４０によって比較される。ペイロード長が閾値よりも小さい場合、初期設定されたエンディアンは、ストリーム制御部４０Ａによって多重化ストリーム４００のペイロード長の算出に関するエンディアンとして確定される（ステップＳ３０４）。エンディアン確定後、第１のパケットのペイロードデータが、ペイロード分離部３０によって多重化ストリーム４００から分離される（ステップＳ３０５）。そして、このペイロードデータがデコーダ１００に出力される（ステップＳ３０６）。
【００４７】
一方、ステップＳ３０３において、ペイロード長が閾値よりも大きい場合、初期設定されたエンディアンは、ストリーム制御部４０Ａによって別のエンディアンに切り替えられる（ステップＳ３０７）。そして、切り替え後のエンディアンが、多重化ストリーム４００のペイロード長の算出に関するエンディアンとして確定され（ステップＳ３０８）、ステップＳ３０５に移行する。
【００４８】
ステップＳ３０６の実行後は、確定したエンディアンに従って、各パケットについて、ペイロードデータの分離および出力までの工程が、多重化ストリーム４００の終端まで実行される。
【００４９】
以上、本実施形態によると、１つのパケットについて、算出されたペイロード長と閾値とを比較することでエンディアンが確定されるため、適切なエンディアンが比較的容易に確定できる。
【００５０】
なお、第１および第２の実施形態と同様に、ストリーム制御部４０Ａは、閾値とペイロード長との比較回数を、独立のパケットのペイロード長に対して、少なくとも連続２回行うようにしてもよい。このようにすることで、より高い精度で適切なエンディアンが、選択、確定される。
【００５１】
また、適切なエンディアンを多重化ストリーム４００のエンディアンとして確定する精度をさらに上げるために、第１および第３の実施形態に係るエンディアン確定方法、または第２および第３の実施形態に係るエンディアン確定方法を適宜組み合わせてもよい。
【００５２】
また、閾値は、ストリーム制御部４０Ａにあらかじめ設定されているとしたが、ストリーム制御部４０Ａが、外部から情報を受け、この情報に基づいて閾値を優先的に設定するようにしてもよい。
【産業上の利用可能性】
【００５３】
本発明に係るデマルチプレクサは、多重化ストリームのペイロード長の算出に関するエンディアンが規格として規定されていない場合であっても、適切なエンディアンを確定することができるため、高性能のデコーダが要求される光ディスク再生装置、磁気ディスク再生装置等に有用である。また、本発明に係るデマルチプレクサは、多重化ストリームを扱うデジタル放送、インターネット通信等にも適用可能である。
【図面の簡単な説明】
【００５４】
【図１】本発明の第１の実施形態に係るデマルチプレクサの構成図である。
【図２】本発明の第１の実施形態に係るデマルチプレクサによるエンディアン確定のフローチャートである。
【図３】本発明の第２の実施形態に係るデマルチプレクサによるエンディアン確定のフローチャートである。
【図４】本発明の第３の実施形態に係るデマルチプレクサの構成図である。
【図５】本発明の第３の実施形態に係るデマルチプレクサによるエンディアン確定のフローチャートである。
【図６】多重化ストリームの構成図である。
【符号の説明】
【００５５】
１０  パケット先頭検出部
２０  ペイロード長算出部
３０  ペイロード分離部
４０、４０Ａ  ストリーム制御部（エンディアン選択部）
【図１】
2006270322.tif 000003
【図２】
2006270322.tif 000004
【図３】
2006270322.tif 000005
【図４】
2006270322.tif 000006
【図５】
2006270322.tif 000007
【図６】
2006270322.tif 000008