(57)【要約】【課題】  各パケット先頭位置にパケット先頭識別データが存在しない多重化ストリームから所要のペイロードデータのみを正確に抽出、分離できるデマルチプレクサを提供するを目的とする。【解決手段】  本発明のデマルチプレクサは、多重化ストリーム１００７のストリーム情報領域１００６を解析して、ストリーム情報テーブル２００３を作成するストリーム情報テーブル作成部２００１と、ストリーム情報テーブル２００３を解析して、ストリーム情報データを取得するストリーム情報テーブル解析部２００４と、ストリーム情報テーブル解析部２００４から出力されるストリーム情報データを用いて、多重化ストリームの１００７のパケットデータ領域１００５からペイロードデータを分離するペイロード分離部２００５とを備える。【選択図】図２
2008047250.tif 000002
【特許請求の範囲】
【請求項１】
ペイロードデータを含む複数のパケットから構成されるパケットデータ領域と、前記各パケットの属性情報、サイズ情報、出力時間情報、及びファイル先頭からパケット先頭位置までを示すオフセット情報を含むストリーム情報領域とを有する多重化ストリームからペイロードデータを分離するデマルチプレクサであって、
前記ストリーム情報領域を解析し、前記各パケットの属性情報、及びサイズ情報を含むストリーム情報データを取得して、ストリーム情報テーブルを作成するストリーム情報テーブル作成部と、
前記ストリーム情報テーブルを記憶するメモリと、
前記ストリーム情報テーブルを解析するストリーム情報テーブル解析部と、
前記多重化ストリームのパケットデータ領域からペイロードデータを分離するペイロード分離部と、
前記ストリーム情報テーブル作成部、前記ストリーム情報テーブル解析部、及び前記ペイロード分離部を制御するストリーム制御部とを備え、
前記ストリーム情報テーブル作成部は、前記ストリーム情報領域に含まれる各パケットの属性情報、及びサイズ情報をストリーム情報データとして、前記メモリ上のストリーム情報テーブルに格納し、
前記ストリーム情報テーブル解析部は、前記メモリ上のストリーム情報テーブルから各パケットの属性情報、及びサイズ情報を含むストリーム情報データを読み出して解析し、該ストリーム情報データを、順次、前記ペイロードデータ分離部に出力し、
前記ペイロード分離部は、前記ストリーム情報テーブル解析部から出力される前記ストリーム情報データに基づいて、前記多重化ストリームのパケットデータ領域からペイロードデータを分離する、
ことを特徴とするデマルチプレクサ。
【請求項２】
請求項１に記載のデマルチプレクサにおいて、
前記多重化ストリームを入力し、前記入力した多重化ストリームのストリーム情報領域をストリーム情報テーブル作成部に出力し、前記ストリーム情報テーブル作成部が前記ストリーム情報領域を解析後、前記入力した多重化ストリームのパケットデータ領域を前記ペイロード分離部に出力するストリーム入力部を備える、
ことを特徴とするデマルチプレクサ。
【請求項３】
請求項１または２に記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル作成部は、前記ストリーム情報領域を解析し、前記各パケットの前記属性情報、前記サイズ情報、及び前記出力時間情報をストリーム情報データとして、前記ストリーム情報テーブルに格納する、
ことを特徴とするデマルチプレクサ。
【請求項４】
請求項１または２記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル作成部は、前記多重化ストリームのストリーム情報領域を解析し、前記各パケットの前記属性情報、前記サイズ情報、前記出力時間情報、及び前記オフセット情報をストリーム情報データとして、前記ストリーム情報テーブルに格納する、
ことを特徴とするデマルチプレクサ。
【請求項５】
請求項１または２に記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル作成部は、連続する複数のパケットの属性が同じで、かつ、前記複数のパケットのサイズ情報の加算値が、前記ストリーム情報テーブルの、サイズ情報を格納する領域の最大値を超えない場合、前記複数のパケットのサイズ情報として、前記サイズ情報の加算値を、前記ストリーム情報テーブルに格納する、
ことを特徴とするデマルチプレクサ。
【請求項６】
請求項３に記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル作成部は、連続する複数のパケットの属性が同じで、かつ、前記複数のパケットのサイズ情報の加算値、及び出力時間情報の加算値が、前記ストリーム情報テーブルの、前記サイズ情報、及び前記出力時間情報を格納する領域の最大値を超えない場合、前記複数のパケットのサイズ情報、及び出力時間情報として、前記サイズ情報の加算値、及び前記出力時間情報の加算値を前記ストリーム情報テーブルに格納する、
ことを特徴とするデマルチプレクサ。
【請求項７】
請求項４に記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル作成部は、連続する複数のパケットの属性が同じで、かつ、前記複数のパケットのサイズ情報の加算値、出力時間情報の加算値、及びオフセット情報の加算値が、前記ストリーム情報テーブルの、前記サイズ情報、前記出力時間情報情報、及び前記オフセット情報を格納する領域の最大値を超えない場合、前記複数のパケットのサイズ情報、出力時間情報、及び前記オフセット情報として、前記サイズ情報の加算値、前記出力時間情報の加算値、及び前記オフセット情報の加算値を前記ストリーム情報テーブルに格納する、
ことを特徴とするデマルチプレクサ。
【請求項８】
請求項１または２に記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル作成部は、前記各パケットの属性情報に基づいて、属性の種類毎に、前記ストリーム情報テーブルを作成する、
ことを特徴とするデマルチプレクサ。
【請求項９】
請求項４に記載のデマルチプレクサにおいて、
前記ストリーム情報テーブル解析部は、各パケットの前記サイズ情報を用いて、ファイルの先頭から各パケットの先頭までのサイズを加算し、加算結果と、前記各パケットのオフセット情報の値とを比較し、前記加算結果と前記オフセット情報の値とが一致しなかった場合には、前記多重化ストリーム中にエラーが存在するとして、前記ストリーム制御部にエラー情報を出力する、
ことを特徴とするデマルチプレクサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多重化されたストリームから所要のデータを分離するためのデマルチプレクサに関するものである。
【背景技術】
【０００２】
光ディスクの１つであるＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）には、映像、音声等が圧縮符号化されたデータが記録されている。また、ＤＶＤディスクからの読み出しデータは、各パケットの先頭識別データとペイロード長データとペイロードデータとを含む複数のパケットで構成された多重化ストリームの形態をとる。したがって、多重化ストリームから所要のペイロードデータを抽出し、抽出されたペイロードデータを、該データを伸張処理するデコーダに供給するためのデマルチプレクサが、ＤＶＤ再生装置にとって必要である。
【０００３】
正しいペイロードデータをデコーダに供給できなければ、映像、音声の再生結果に乱れが生じ、デコーダが動作停止（ハング）する可能性もある。正しいペイロードデータを抽出するためには、各パケットの先頭位置を正確に判別し、パケット内部を解析して、ペイロードデータを転送する必要がある。
【０００４】
ＤＶＤ規格においては、規格としてパケット先頭識別データが規定されているため、規格で規定されたパケット先頭識別データを多重化ストリーム中から検出することで、正確なパケット先頭位置の検出が可能となり、その結果、正しいペイロードデータをデコーダに供給することが可能であった（例えば、特許文献１参照）。
【特許文献１】特開平８−７９７０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、全ての多重化ストリームのパケット先頭位置にパケット先頭識別データが存在するとは限らない。
デマルチプレクサは、各パケット先頭位置にパケット先頭識別データが存在しない多重化ストリームに対しては、従来のパケット先頭識別データの検出方法を用いてパケット先頭位置を検出できないため、パケットの先頭位置を正確に識別することができない。パケット先頭位置を正確に識別できない場合、デマルチプレクサは、誤ったデータをペイロードデータとしてデコーダに供給することになり、それによって、前述のとおりデコーダが動作停止する可能性がある。
【０００６】
以上のことから、本発明は、各パケット先頭位置にパケット先頭識別データが存在しない多重化ストリームから所要のペイロードデータのみを正確に分離できるデマルチプレクサを提供するを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、ペイロードデータを含む複数のパケットから構成されるパケットデータ領域と、前記各パケットの属性情報、サイズ情報、出力時間情報、及びファイル先頭からパケット先頭位置までを示すオフセット情報を含むストリーム情報領域とを有する多重化ストリームからペイロードデータを分離するデマルチプレクサであって、前記ストリーム情報領域を解析し、前記各パケットの属性情報、及びサイズ情報を含むストリーム情報データを取得して、ストリーム情報テーブルを作成するストリーム情報テーブル作成部と、前記ストリーム情報テーブルを記憶するメモリと、前記ストリーム情報テーブルを解析するストリーム情報テーブル解析部と、前記多重化ストリームのパケットデータ領域からペイロードデータを分離するペイロード分離部と、前記ストリーム情報テーブル作成部、前記ストリーム情報テーブル解析部、及び前記ペイロード分離部を制御するストリーム制御部とを備え、前記ストリーム情報テーブル作成部が、前記ストリーム情報領域に含まれる各パケットの属性情報、及びサイズ情報をストリーム情報データとして、前記メモリ上のストリーム情報テーブルに格納し、前記ストリーム情報テーブル解析部が、前記メモリ上のストリーム情報テーブルから各パケットの属性情報、及びサイズ情報を含むストリーム情報データを読み出して解析し、該ストリーム情報データを、順次、前記ペイロードデータ分離部に出力し、前記ペイロード分離部が、前記ストリーム情報テーブル解析部から出力される前記ストリーム情報データに基づいて、前記多重化ストリームのパケットデータ領域からペイロードデータを分離することを特徴とする。
【０００８】
本発明は、前記多重化ストリームを入力し、前記入力した多重化ストリームのストリーム情報領域をストリーム情報テーブル作成部に出力し、前記ストリーム情報テーブル作成部が前記ストリーム情報領域を解析後、前記入力した多重化ストリームのパケットデータ領域を前記ペイロード分離部に出力するストリーム入力部を備えることを特徴とする。
【０００９】
本発明は、前記ストリーム情報テーブル作成部が、前記ストリーム情報領域を解析し、前記各パケットの前記属性情報、前記サイズ情報、及び前記出力時間情報をストリーム情報データとして、前記ストリーム情報テーブルに格納することを特徴とする。
【００１０】
本発明は、前記ストリーム情報テーブル作成部が、前記多重化ストリームのストリーム情報領域を解析し、前記各パケットの前記属性情報、前記サイズ情報、前記出力時間情報、及び前記オフセット情報をストリーム情報データとして、前記ストリーム情報テーブルに格納することを特徴とする。
【００１１】
本発明は、前記ストリーム情報テーブル作成部が、連続する複数のパケットの属性が同じで、かつ、前記複数のパケットのサイズ情報の加算値が、前記ストリーム情報テーブルの、サイズ情報を格納する領域の最大値を超えない場合、前記複数のパケットのサイズ情報として、前記サイズ情報の加算値を、前記ストリーム情報テーブルに格納することを特徴とする。
【００１２】
本発明は、前記ストリーム情報テーブル作成部が、連続する複数のパケットの属性が同じで、かつ、前記複数のパケットのサイズ情報の加算値、及び出力時間情報の加算値が、前記ストリーム情報テーブルの、前記サイズ情報、及び前記出力時間情報を格納する領域の最大値を超えない場合、前記複数のパケットのサイズ情報、及び出力時間情報として、前記サイズ情報の加算値、及び前記出力時間情報の加算値を前記ストリーム情報テーブルに格納することを特徴とする。
【００１３】
本発明は、前記ストリーム情報テーブル作成部が、連続する複数のパケットの属性が同じで、かつ、前記複数のパケットのサイズ情報の加算値、出力時間情報の加算値、及びオフセット情報の加算値が、前記ストリーム情報テーブルの、前記サイズ情報、前記出力時間情報情報、及び前記オフセット情報を格納する領域の最大値を超えない場合、前記複数のパケットのサイズ情報、出力時間情報、及び前記オフセット情報として、前記サイズ情報の加算値、前記出力時間情報の加算値、及び前記オフセット情報の加算値を前記ストリーム情報テーブルに格納することを特徴とする。
【００１４】
本発明は、前記ストリーム情報テーブル作成部が、前記各パケットの属性情報に基づいて、属性の種類毎に、前記ストリーム情報テーブルを作成することを特徴とする。
【００１５】
本発明は、前記ストリーム情報テーブル解析部が、各パケットの前記サイズ情報を用いて、ファイルの先頭から各パケットの先頭までのサイズを加算し、加算結果と、前記各パケットのオフセット情報の値とを比較し、前記加算結果と前記オフセット情報の値とが一致しなかった場合には、前記多重化ストリーム中にエラーが存在するとして、前記ストリーム制御部にエラー情報を出力することを特徴とする。
【発明の効果】
【００１６】
本発明のデマルチプレクサによれば、多重化ストリーム中のストリーム情報領域を解析して、各パケットの属性情報及びサイズ情報を含むストリーム情報データを取得し、前記ストリーム情報データに基づいて、前記多重化ストリームのパケットデータ領域からペイロード分離することから、各パケットの先頭位置にパケット先頭識別データが存在しない多重化ストリームにおいても、多重化ストリームのパケット先頭位置を正しく判別し、多重化ストリーム中の所要のペイロードデータのみを正確に分離して、デコード処理部に転送できる。
【００１７】
また、本発明のデマルチプレクサによれば、前記ストリーム情報領域に含まれる各パケットの属性情報、サイズ情報、及び出力時間情報を用いて、ストリーム情報テーブルを作成することから、再生時に、ペイロードデータであるビデオデータとオーデイオデータの同期制御が可能になる。
【００１８】
また、本発明のデマルチプレクサによれば、前記ストリーム情報領域に含まれる各パケットの属性情報、サイズ情報、出力時間情報、及びオフセット情報を用いて、ストリーム情報テーブルを作成することから、ペイロードデータの特性再生、例えば、途中再生を実現できる。
【００１９】
また、本発明のデマルチプレクサによれば、多重化ストリームのストリーム情報領域を解析して、ストリーム情報テーブルを作成し、前記ストリーム情報テーブルが作成された後で、多重化ストリームからペイロードを分離するペイロード分離部に、多重化ストリーム中のパケットデータ領域が供給されるようにしたことから、多重化ストリームの終端部にストリーム情報領域が存在する場合でも、ペイロードデータを分離する前に、ストリーム情報領域を解析して、ストリーム情報テーブルを作成できる。その結果、ストリーム情報領域が多重化ストリームの終端部に存在する場合でも、ストリーム情報テーブルに格納されたストリーム情報データを用いて、所要のペイロードデータを正確に分離することができる。
【００２０】
また、本発明のデマルチプレクサによれば、多重化ストリームにおいて、連続する複数のパケットの属性が同じで、かつ、該複数のパケットのサイズ情報、出力時間情報、及びオフセット情報の各加算値が、前記ストリーム情報テーブルのそれぞれの情報を格納する領域の最大値を超えない場合、前記複数のパケットのストリーム情報データを１つのストリーム情報データとして、前記ストリーム情報テーブルに格納することから、ストリーム情報テーブルの格納に必要なメモリサイズを削減できる。
【００２１】
また、本発明のデマルチプレクサによれば、ストリーム情報領域に含まれる各パケットの前記サイズ情報とオフセット情報を用いて、前記多重化ストリーム中にエラーが存在するかを検出し、エラーが存在する場合には、エラー情報を作成することから、デコードの再生性能の向上を図ることができる。
【発明を実施するための最良の形態】
【００２２】
（実施の形態１）
本発明の実施の形態１に係るデマルチプレクサについて、図１、図２を用いて説明する。
図１は、本発明の実施の形態１における多重化ストリームの構造図である。
図１において、多重化ストリーム１００７は、第１のペイロードデータ（第１のパケット１００１）、第２のペイロードデータ（第２のパケット１００２）、第３のペイロードデータ（第３のパケット１００３）、…第ｎ（ｎは自然数）のペイロードデータ（第ｎのパケット１００４）からなるパケットデータ領域１００５と、ストリーム情報領域１００６とを含む。また、多重化ストリーム１００７の先頭には、パケットデータ領域１００５とストリーム情報領域１００６のサイズ情報を含む領域サイズデータ１００８が存在する。ストリーム情報領域１００６には、パケットデータ領域の各パケットの属性情報（各パケットがビデオデータか、オーディオデータか等を示す情報）、各パケットのサイズ情報、各パケットの出力時間情報（例えば、画像出力時間情報や音声出力時間情報）、及びファイル先頭位置（パケットデータ領域の先頭位置）からの各パケットの先頭位置までを示すオフセット情報が含まれている。
以上のように、図１の多重化ストリーム１００７は、各パケットの先頭部に先頭識別データが存在しない。
【００２３】
図２は、本発明の実施の形態１に係るデマルチプレクサの構成を示すブロック図である。
図２において、デマルチプレクサ２０００は、ストリーム情報テーブル作成部２００１と、メモリ２００２と、ストリーム情報テーブル２００３と、ストリーム情報テーブル解析部２００４と、ペイロード分離部２００５と、ストリーム制御部２００６と、デコード処理部２００７とを備える。
以上のように構成されるデマルチプレクサ２０００の動作について説明する。
【００２４】
デマルチプレクサ２０００は、各パケットの先頭部に先頭識別データが存在しない構造の多重化ストリーム１００７からペイロードデータを正確に分離するために、以下の処理を行う。
【００２５】
パケットデータ領域１００５のみでは各パケットの境界位置を識別できないため、正確なペイロードデータの転送ができない。よって、まず、ペイロードデータの分離を行う前に、ストリーム情報テーブル作成部２００１がストリーム情報領域１００６を解析する。
【００２６】
ストリーム情報テーブル作成部２００１は、入力したストリーム情報領域１００６を解析し、ストリーム情報データを取り出して、メモリ２００２上のストリーム情報テーブル２００３に格納する。
【００２７】
ストリーム情報テーブルとしては、図２に示すストリーム情報テーブルＡ〜Ｃが挙げられる。
ストリーム情報データとして、ストリーム情報領域１００６に含まれる属性情報及びサイズ情報をストリーム情報テーブル２００３に格納する場合は、ストリーム情報テーブルＡのようになる。
【００２８】
また、ストリーム情報データとして、ストリーム情報領域１００６に含まれる属性情報、サイズ情報、及び出力時間情報をストリーム情報テーブル２００３に格納する場合は、ストリーム情報テーブルＢのようになる。ストリーム情報データとして、出力時間情報を追加して、ストリーム情報テーブル２００３に格納することで、デコード処理部２００７へ転送するペイロードデータに出力時間情報を付加することになり、再生時のビデオデータとオーデイオの同期制御が可能となる。
【００２９】
また、ストリーム情報データとして、ストリーム情報領域１００６に含まれる属性情報、サイズ情報、出力時間情報、及びオフセット情報をストリーム情報テーブルに格納する場合は、ストリーム情報テーブルＣのようになる。ストリーム情報データとして、オフセット情報を追加してストリーム情報テーブル２００３に格納することで、デコード処理部２００７で多重化ストリームを途中から再生するなどの特殊再生が可能になり、デコーダの再生性能を向上させることができる。
【００３０】
多重化ストリーム１００７中のすべてのパケットに対するストリーム情報データをストリーム情報テーブル２００３に格納後、ストリーム情報テーブル作成部２００１は、ストリーム制御部２００６にストリーム情報領域１００６の解析が完了したことを通知する。
【００３１】
ストリーム情報領域１００６の解析完了の通知を受けたストリーム制御部２００６は、ストリーム情報テーブル解析部２００４に対して、ストリーム情報テーブル２００３の解析開始を通知する。
【００３２】
通知を受けたストリーム情報テーブル解析部２００４は、ストリーム情報テーブル２００３に格納されたストリーム情報データを取得し、取得したストリーム情報データ（属性情報、サイズ情報、出力時間情報、オフセット情報など）をペイロード分離部２００５へ出力する。
【００３３】
ペイロード分離部２００５は、多重化ストリーム１００７のパケットデータ領域１００５と、ストリーム情報テーブル解析部２００４から入力したストリーム情報データを用いて、所要のペイロードデータを抽出、分離する。
【００３４】
以上のように、本実施の形態１に係るデマルチプレクサによれば、ストリーム情報テーブル作成部２００１が多重化ストリーム１００７のストリーム情報領域１００６を解析しして、ストリーム情報データをメモリ上２００２のストリーム情報テーブル２００３に格納し、ストリーム情報データ解析部２００４がストリーム情報テーブル２００３を解析して、ストリーム情報データを取得し、ペイロード分離部２００５が、ストリーム情報データ解析部２００４から出力されるストリーム情報データに基づいて、多重化ストリーム１００７からペイロードデータを抽出、分離することから、各パケット先頭位置にパケット先頭識別データが存在せず、パケット間の境界を識別できない多重化ストリームからも所要のペイロードデータを正確に分離することができる。
【００３５】
なお、本実施の形態１では、すべてのストリーム情報データを、一つのストリーム情報テーブルにまとめる場合について説明したが、本発明のデマルチプレクサは、ビデオデータのストリーム情報データをビデオデータのストリーム情報テーブルに格納し、オーデイオデータのストリーム情報データをオーディオデータのストリーム情報テーブルに格納するなどして、属性種類毎にストリーム情報テーブルを分けることも可能である。
【００３６】
（実施の形態２）
本実施の形態２に係るデマルチプレクサについて図３、図４を用いて説明する。
前記実施の形態１では、ストリーム情報領域１００６が先頭部側に存在する多重化ストリーム１００７をデマルチプレクサが入力する場合について説明したが、ストリーム情報領域１００６は、図３に示すように多重化ストリーム１００７の終端部に存在する場合もある。しかし、パケットデータ領域１００５のみでは、各パケットの境界位置が識別できないため、ペイロードデータ分離を行う前に、ストリーム情報領域１００６をストリーム情報テーブル作成部２００１で解析する必要がある。
【００３７】
よって、本実施の形態２に係るデマルチプレクサは、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在するかを判定し、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在していても、ペイロードデータの分離前に、ストリーム情報領域１００６をストリーム情報テーブル作成部２００１に入力して、ストリーム情報領域１００６を解析することを特徴とする。
【００３８】
図４は、本実施の形態２に係るデマルチプレクサ２０００ａの構成図であり、図１に示す実施の形態１に係るデマルチプレクサ２０００と同一構成要素については、同一符号を付し、説明を省略する。デマルチプレクサ２０００ａは、ストリーム入力部２００８を備えることを特徴とする。ストリーム入力部２００８は、多重化ストリーム１００７を入力して、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在するかを判定する。多重化ストリーム１００７の先頭には、パケットデータの領域１００５とストリーム情報領域１００６のサイズ情報を含む領域サイズデータ１００８が存在するため、この領域サイズデータ１００８を解析することにより、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在するのかを判定できる。ストリーム入力部２００８は、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在していても、ストリーム情報領域１００６から多重化ストリーム１００７の出力を開始する。
【００３９】
以上のように構成されるデマルチプレクサ２０００ａの動作について説明する。
まず、ストリーム入力部２００８は、多重化ストリーム１００７を入力して、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在するかを判定する。
【００４０】
次に、ストリーム入力部２００８は、多重化ストリーム１００７のうち、まず、ストリーム情報領域１００６をストリーム情報テーブル作成部２００１に出力する。
【００４１】
次に、ストリーム情報テーブル作成部２００１は、ストリーム情報領域１００６を解析して、ストリーム情報テーブル２００３を作成する。
【００４２】
次に、ストリーム情報テーブル作成部２００１は、ストリーム情報テーブル２００３を作成後、ストリーム情報領域１００６の作成が完了したことをストリーム制御部２００６に通知する。
【００４３】
ストリーム情報テーブル２００３の作成完了の通知を受けたストリーム制御部２００６は、ストリーム情報テーブル２００３の解析開始をストリーム情報テーブル解析部２００４に通知し、ストリーム入力部２００８に多重化ストリーム１００７のパケットデータ領域１００５の出力開始を通知する。
【００４４】
解析開始の通知を受けたストリーム情報テーブル解析部２００４は、ストリーム情報テーブル２００３からストリーム情報データを取得し、取得したストリーム情報データをペイロード分離部２００５に出力する。
【００４５】
出力開始の通知を受けたストリーム入力部２００８は、パケットデータ領域１００５をペイロード分離部２００５に出力する。
【００４６】
ペイロード分離部２００５は、ストリーム情報テーブル解析部２００４から入力したストリーム情報データを用いて、パケットデータ領域１００５から所要のペイロードデータを抽出、分離する。
【００４７】
以上のように、本実施の形態２に係るデマルチプレクサによれば、多重化ストリーム１００７を入力して、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在するのかを判定し、ストリーム情報領域１００６をストリーム情報テーブル作成部２００１に出力し、ストリーム情報テーブル２００３が作成された後に、パケットデータ領域１００５をペイロード分離部２００５に出力するストリーム入力部２００８を備えたことから、多重化ストリーム１００７の終端部にストリーム情報領域１００６が存在する場合でも、ペイロードデータを分離する前に、ストリーム情報テーブル作成部２００１でストリーム情報領域１００６を解析して、ストリーム情報テーブル２００３を作成できる。その結果、ストリーム情報領域１００６が多重化ストリーム１００７の終端部に存在する場合でも、ストリーム情報テーブル２００３に格納されたストリーム情報データを用いて、所要のペイロードデータを正確に抽出、分離することができる。
【００４８】
（実施の形態３）
本実施の形態３に係るデマルチプレクサについて図５〜図８を用いて説明する。
前記実施の形態１、２に係るデマルチプレクサでは、ストリーム情報テーブル作成部２００１が、ペイロードデータ毎（パケット毎）にストリーム情報データをストリーム情報テーブル２００３に格納していたが、本実施の形態３に係るデマルチプレクサでは、ストリーム情報テーブル作成部２００１が、連続する複数のペイロードデータ（パケット）の属性が同じであるかを判定し、同じ場合は、それら連続する複数のパケットのストリーム情報データを１つのストリーム情報データとしてストリーム情報テーブル２００３に格納できるかを判定し、可能である場合は、前記連続するパケットのストリーム情報データを１つのストリーム情報データとしてストリーム情報テーブル２００３に格納することを特徴とする。
【００４９】
以下、本実施の形態３に係るデマルチプレクサによるストリーム情報テーブルの作成方法について、図５〜図８を用いて説明する。
図５は、実施の形態３に係るデマルチプレクサのストリーム情報テーブル作成部２００１による、属性情報及びサイズ情報を含むストリーム情報テーブルの作成フローを示す図である。図５は、第２のパケット１００２と第３のパケット１００３が、同じ属性を示すか否かを比較する場合のフローについて示している。
【００５０】
以下、図５に示すフローについて説明する。
ステップＳ５０１：第２のパケット（第２のペイロードデータ）１００２の属性情報Ｐ２と第３のパケット（第３のペイロードデータ）１００３の属性情報Ｐ３とを比較する。
【００５１】
ステップＳ５０２：属性情報Ｐ２が示す属性と属性情報Ｐ３が示す属性とが一致するかを判定し、一致する場合はステップＳ５０３に、一致しない場合はステップＳ５０６に処理を移行する。
【００５２】
ステップＳ５０３：第２のパケット１００２のサイズ情報Ｓ２の値と第３のパケット１００３のサイズ情報Ｓ３の値とを加算して、加算値ＳXを算出する。
【００５３】
ステップＳ５０４：加算値ＳXがストリーム情報テーブルのサイズ情報格納領域の最大値以下か否かを判定し、最大値以下の場合は、ステップＳ５０５に処理を移行し、最大値を超える場合は、ステップＳ５０６に処理を移行する。
【００５４】
ステップＳ５０５：第２のパケット１００２と第３のパケット１００３のストリーム情報データを１つのストリーム情報データとし、該ストリーム情報データのサイズ情報として加算値ＳXをストリーム情報テーブル２００３に格納する。この場合、ストリーム情報テーブルは、図８に示すストリーム情報テーブルＤとなる。
【００５５】
ステップＳ５０６：ストリーム情報テーブル２００３に、第２のパケットのサイズ情報として、サイズ情報Ｓ２の値を格納し、第３のパケット１００３のサイズ情報として、サイズ情報Ｓ３の値を格納する。この場合、ストリーム情報テーブルは、図２に示すストリーム情報テーブルＡとなる。
【００５６】
なお、図５では、２つの連続するペイロードデータの属性が同じであるか否かを判定する場合のフローについて示したが、ストリーム情報テーブル作成部２００１は、２つ以上の連続するペイロードデータの属性が同じであるか否かを判定できる。例えば、第１のパケット１００１〜第３のパケット１００３の属性が同じであるか否かを判定し、属性が同じで、第１のパケット１００１〜第３のパケットのサイズ情報の加算値（Ｓ１＋Ｓ２＋Ｓ３＝ＳY）が、ストリーム情報テーブルのサイズ情報格納領域の最大値以下である場合は、第１のパケット１００１〜第３のパケット１００３のストリーム情報データを１つのストリーム情報データとし、該ストリーム情報データをストリーム情報テーブルに格納する。
【００５７】
図６は、本実施の形態３に係るデマルチプレクサのストリーム情報テーブル作成部２００１による、属性情報、サイズ情報及び出力時間情報を含むストリーム情報テーブルの作成フローを示す図である。図６は、第２のパケット１００２と第３のパケット１００３が、同じ属性を示すか否かを比較する場合のフローについて示している。
【００５８】
以下、図６に示すフローについて説明する。
ステップＳ５０１：第２のパケット１００２の属性情報Ｐ２と第３のパケット１００３の属性情報Ｐ３とを比較する。
【００５９】
ステップＳ５０２：属性情報Ｐ２が示す属性と属性情報Ｐ３が示す属性とが一致するかを判定し、一致する場合はステップＳ５０３に、一致しない場合はステップＳ５１０に処理を移行する。
【００６０】
ステップＳ５０３：第２のパケット１００２のサイズ情報Ｓ２の値と第３のパケット１００３のサイズ情報Ｓ３の値とを加算して、加算値ＳXを算出する。
【００６１】
ステップＳ５０４：加算値ＳXが、ストリーム情報テーブルのサイズ情報格納領域の最大値以下か否かを判定し、最大値以下の場合は、ステップＳ５０７に処理を移行し、最大値を超える場合は、ステップＳ５１０に処理を移行する。
【００６２】
ステップＳ５０７：第２のパケット１００２の出力時間情報Ｔ２の値と第３のパケット１００３の出力時間情報Ｔ３の値とを加算して、加算値ＴXを算出する。
【００６３】
ステップＳ５０８：加算値ＴXがストリーム情報テーブルの出力時間情報格納領域の最大値以下か否かを判定し、最大値以下の場合は、ステップＳ５０９に処理を移行し、最大値を超える場合は、ステップＳ５１０に処理を移行する。
【００６４】
ステップＳ５０９：第２のパケット１００２のストリーム情報データと第３のパケット１００３のストリーム情報データを一つのストリーム情報データとし、該ストリーム情報データのサイズ情報として加算値ＳXを、出力時間情報として加算値ＴXをストリーム情報テーブル２００３に格納する。この場合のストリーム情報テーブルは、図８に示すストリーム情報テーブルＥとなる。
【００６５】
ステップＳ５１０：ストリーム情報テーブル２００３に、第２のパケット１００２のサイズ情報としてサイズ情報Ｓ２の値を、出力時間情報として出力時間情報Ｔ２の値を格納し、第３のパケット１００３のサイズ情報としてサイズ情報Ｓ３の値を、出力時間情報として出力時間情報Ｔ３の値を格納する。この場合、ストリーム情報テーブルは、図２に示すストリーム情報テーブルＢとなる。
【００６６】
なお、図６では、２つの連続するペイロードデータの属性が同じであるか否かを判定する場合のフローについて示したが、ストリーム情報テーブル作成部２００１は、２つ以上の連続するペイロードデータの属性が同じであるか否かを判定できる。例えば、第１のパケット１００１〜第３のパケット１００３の属性が同じであるかを判定し、属性が同じで、第１のパケット１００１〜第３のパケット１００３のサイズ情報の加算値（Ｓ１＋Ｓ２＋Ｓ３＝ＳY）及び出力時間情報の加算値（Ｔ１＋Ｔ２＋Ｔ３＝ＴY）が、ストリーム情報テーブルのそれぞれの格納領域の最大値以下の場合は、第１のパケット１００１〜第３のパケット１００３のストリーム情報データを１つのストリーム情報データとし、該ストリーム情報データをストリーム情報テーブル２００３に格納する。
【００６７】
図７は、本実施の形態３に係るデマルチプレクサのストリーム情報テーブル作成部２００１による、属性情報、サイズ情報、出力時間情報、及びオフセット情報を含むストリーム情報テーブルの作成フローを示す図である。図７は、第２のパケット１００２と第３のパケット１００３が、同じ属性を示すか否かを比較する場合のフローについて示している。
【００６８】
以下、図７のフローについて説明する。
ステップＳ５０１：第２のパケット１００２の属性情報Ｐ２と第３のパケット１００３の属性情報Ｐ３とを比較する。
【００６９】
ステップＳ５０２：属性情報Ｐ２が示す属性と属性情報Ｐ３が示す属性とが一致するかを判定し、一致する場合はステップＳ５０３に、一致しない場合はステップＳ５１４に処理を移行する。
【００７０】
ステップＳ５０３：第２のパケット１００２のサイズ情報Ｓ２の値と第３のパケット１００３のサイズ情報Ｓ３の値とを加算して、加算値ＳXを算出する。
【００７１】
ステップＳ５０４：加算値ＳXが、ストリーム情報テーブルのサイズ情報格納領域の最大値以下か否かを判定し、最大値以下の場合は、ステップＳ５０７に処理を移行し、最大値を超える場合は、ステップＳ５１４に処理を移行する。
【００７２】
ステップＳ５０７：第２のパケット１００２の出力時間情報Ｔ２の値と第３のパケット１００３の出力時間情報Ｔ３の値とを加算して、加算値ＴXを算出する。
【００７３】
ステップＳ５０８：加算値ＴXがストリーム情報テーブルの出力時間情報格納領域の最大値以下か否かを判定し、最大値以下の場合は、ステップＳ５１１に処理を移行し、最大値を超える場合は、ステップＳ５１４に処理を移行する。
【００７４】
ステップＳ５１１：第２のパケット１００２のオフセット情報Ｏ２の値と第３のパケット１００３のオフセット情報Ｏ３の値を加算して、加算値ＯXを算出する。
【００７５】
ステップＳ５１２：加算値ＯXがストリーム情報テーブルのオフセット情報格納領域の最大値以下か否かを判定し、最大値以下の場合は、ステップＳ５１３に処理を移行し、最大値を超える場合は、ステップＳ５１４に処理を移行する。
【００７６】
ステップＳ５１３：第２のパケット１００２のストリーム情報データと第３のパケット１００３のストリーム情報データを一つのストリーム情報データとし、該ストリーム情報データのサイズ情報として加算値ＳXを、出力時間情報として加算値ＴXを、オフセット情報として加算値ＯXをストリーム情報テーブル２００３に格納する。この場合、ストリーム情報テーブルは、図８に示すストリーム情報テーブルＦとなる。
【００７７】
ステップＳ５１４：ストリーム情報テーブル２００３に、第２のパケット１００２のサイズ情報としてサイズ情報Ｓ２の値を、出力時間情報として出力時間情報Ｔ２の値を、オフセット情報Ｏとしてオフセット情報Ｏ２の値を格納し、第３のペイロードデータ１００３のサイズ情報としてサイズ情報Ｓ３の値を、出力時間情報として出力時間情報Ｔ３の値を、オフセット情報としてオフセット情報Ｏ３の値を格納する。この場合、ストリーム情報テーブルは、図２に示すストリーム情報テーブルＣとなる。
【００７８】
なお、図７では、２つの連続するペイロードデータの属性が同じであるか否かを判定する場合のフローについて示したが、ストリーム情報テーブル作成部２００１は、２つ以上の連続するペイロードデータの属性が同じである否かを判定できる。例えば、第１のパケット１００１〜第３のパケット１００３の属性が同じであるかを判定し、属性が同じで、第１のパケット１００１〜第３のパケット１００３のサイズ情報の加算値（Ｓ１＋Ｓ２＋Ｓ３＝ＳY）、出力時間情報の加算値（Ｔ１＋Ｔ２＋Ｔ３＝ＴY）、及びオフセット情報の加算値（Ｏ１＋Ｏ２＋Ｏ３＝ＯY）が、ストリーム情報テーブルのそれぞれの格納領域の最大値以下であると判定した場合は、第１のパケット１００１〜第３のパケット１００３のストリーム情報データを１つのストリーム情報データとし、該ストリーム情報データをストリーム情報テーブルに格納する。
【００７９】
以上のように、本実施の形態３に係るデマルチプレクサによれば、ストリーム情報テーブル作成部２００１が、連続する複数のペイロードデータ（パケット）の属性が同じであるかを判定し、同じ場合は、それら連続する複数のパケットのストリーム情報データを１つのストリーム情報データとしてストリーム情報テーブルに格納できるかを判定し、可能である場合は、前記連続するパケットのストリーム情報データを１つのストリーム情報データとしてストリーム情報テーブル２００３に格納することから、該ストリーム情報テーブルに必要なメモリサイズを削減できる。
【００８０】
（実施の形態４）
本実施の形態４に係るデマルチプレクサについて図９、図１０を用いて説明する。
本実施の形態４に係るデマルチプレクサでは、ストリーム情報テーブル解析部２００４が、図２に示すストリーム情報テーブルＣの属性情報、サイズ情報、及びオフセット情報を用いて、多重化ストリーム１００７中にエラーが存在するか否かを解析することを特徴とする。
【００８１】
まず、第１のパケット１００１にエラーが存在するかを解析する処理について図９を用いて説明する。図９は、多重化ストリームの構成例を示す図である。
【００８２】
ストリーム情報テーブル解析部２００４は、ストリーム情報テーブル２００３からサイズ情報Ｓ１とオフセット情報Ｏ２を読み出して、サイズ情報Ｓ１の値とオフセット情報Ｏ２の値を比較して、これらの値が一致するか否かを検出する。オフセット情報Ｏ２は、ファイル先頭（パケットデータ領域の先頭）から第２のパケット１００２の先頭位置までの値を示すことから第１のパケット１００１にエラーが存在していない場合、サイズ情報Ｓ１の値とオフセット情報Ｏ２の値は、図９に示すように一致する。一方、エラーが存在している場合は、比較した２つの値は一致しない。ストリーム情報テーブル解析部２００４は、エラーの存在を検出した場合、エラー情報をストリーム制御部２００６に出力して、エラーの解析処理を終了し、エラーの存在を検出しなかった場合は、次のパケットである第２のパケット１００２にエラーが存在しているか否かを解析する。
【００８３】
次に、第２のパケットにエラーが存在するか否かを解析する処理について、図９、図１０を用いて説明する。図１０は、ストリーム情報テーブル解析部２００４によるエラー解析処理のフロー図である。
【００８４】
ステップＳ６０１：ストリーム情報テーブル２００３から、サイズ情報Ｓ１、サイズ情報Ｓ２、及びオフセット情報Ｏ３を読み出し、サイズ情報Ｓ１とサイズ情報Ｓ２の加算値と、オフセット情報Ｏ３の値を比較する。
【００８５】
ステップ６０２：サイズ情報Ｓ１とサイズ情報Ｓ２の加算値と、オフセット情報Ｏ３の値とが一致するか否かを判定し、一致した場合は、第２のパケット１００２にエラーが存在するか否かの解析処理を終了し、一致しなかった場合はステップＳ６０３に処理を移行する。オフセット情報Ｏ３は、ファイル先頭から第３のパケットの先頭位置までの値を示すことからエラーが存在していない場合、サイズ情報Ｓ１とサイズ情報Ｓ２の加算値とオフセット情報Ｏ３の値は、図９に示すように等しくなる。一方、エラーが存在している場合、比較した２つの値は一致しない。
【００８６】
ステップＳ６０３：多重化ストリーム１００７にエラーが存在することを示すエラー情報をストリーム制御部２００６に出力して、エラー解析処理を終了する。
【００８７】
第２のパケットにエラーが存在するか否か解析した結果、エラーの存在を検出しなかった場合、ストリーム情報テーブル解析部２００４は、次のパケットである第３のパケットにエラーが存在するか否か解析する。すなわち、サイズ情報Ｓ１〜Ｓ３の加算値と、オフセット情報Ｏ４の値とを比較して、比較した２つの値が一致するかどうかによって、エラーが存在するか否かを解析する。
【００８８】
以上のようにして、ストリーム情報テーブル解析部２００４は、先頭のパケットから順に、多重化ストリーム１００７中にエラーが存在するか否かを解析し、エラーを検出した時点で、エラー情報をストリーム制御部２００６に出力して、エラー解析処理を終了する。
【００８９】
ストリーム制御部２００６に出力されたエラー情報は、ストリーム制御部２００６から外部に出力される。
【００９０】
以上のように、本実施の形態４に係るデマルチプレクサによれば、ストリーム情報テーブル解析部２００４が、各パケットのサイズ情報とオフセット情報を用いて、多重化ストリーム１００７にエラーが含まれるかを判定して、エラー情報を出力することから、該エラー情報を用いて、デマルチプレクサの再生品質の向上を図ることができる。
【図面の簡単な説明】
【００９１】
【図１】本発明の実施の形態１に係るデマルチプレクサが入力する多重化ストリームの構成例を示す図である。
【図２】本発明の実施の形態１に係るデマルチプレクサの構成例を示すブロック図である。
【図３】本発明の実施の形態２に係るデマルチプレクサが入力する多重化ストリームの構成例を示す図である。
【図４】本発明の実施の形態２に係るデマルチプレクサの構成例を示すブロック図である。
【図５】本発明の実施の形態３に係るデマルチプレクサのストリーム情報テーブル作成部による、ストリーム情報テーブルの作成フローを示す図である。
【図６】本発明の実施の形態３に係るデマルチプレクサのストリーム情報テーブル作成部による、ストリーム情報テーブルの作成フローを示す図である。
【図７】本発明の実施の形態３に係るデマルチプレクサのストリーム情報テーブル作成部による、ストリーム情報テーブルの作成フローを示す図である。
【図８】本発明の実施の形態３に係るデマルチプレクサのストリーム情報テーブルに格納されたストリーム情報データの図である。
【図９】本発明の実施の形態４に係るデマルチプレクサが入力する多重化ストリームの構成例を示す図である。
【図１０】本発明の実施の形態４に係るデマルチプレクサのストリーム情報テーブル解析部による多重化ストリームの解析フロー図である。
【符号の説明】
【００９２】
１００１  第１のパケット
１００２  第２のパケット
１００３  第３のパケット
１００４  第ｎのパケット
１００５  パケットデータ領域
１００６  ストリーム情報領域
１００７  多重化ストリーム
１００８  領域サイズデータ
２００１  ストリーム情報テーブル作成部
２００２  メモリ
２００３  ストリーム情報テーブル
２００４  ストリーム情報テーブル解析部
２００５  ペイロード分離部
２００６  ストリーム制御部
２００７  デコード処理部
２００８  ストリーム入力部
【図１】
2008047250.tif 000003
【図２】
2008047250.tif 000004
【図３】
2008047250.tif 000005
【図４】
2008047250.tif 000006
【図５】
2008047250.tif 000007
【図６】
2008047250.tif 000008
【図７】
2008047250.tif 000009
【図８】
2008047250.tif 000010
【図９】
2008047250.tif 000011
【図１０】
2008047250.tif 000012