(57)【要約】【課題】ＰＥＳパケットに多重化されたＭＰＥＧ−４  ＡＶＣの符号化データにおいて、アクセスユニット毎の表示時間を取得することができるデータ再構成装置を提供する。【解決手段】ステップ２０５において、アクセスユニットデータ、あるいはデスクリプタの情報を解析することにより、アクセスユニットの表示時間を取得する方法を決定し、ステップ２０６では、ステップ２０５において決定された方法に基づいて表示時間を取得する。【選択図】        図５
2005123907.tif 000002
【特許請求の範囲】
【請求項１】
動画像、音声などの符号化メディアデータがパケット多重化されたデータから、前記各メディアデータを分離して出力するデータ再構成装置であって、
前記パケットのヘッダとペイロードを分離する分離手段と、
前記ペイロードのデータから、前記メディアデータのフレーム境界を検出して分離する検出分離手段と、
前記分離された前記メディアデータのフレームの復号時間、あるいは表示時間を取得する時間情報取得手段と、
前記分離されたフレームデータ、および前記取得された時間情報を出力する出力手段とを備え、
前記時間情報取得手段は、前記メディアデータに含まれる識別情報、あるいは前記メディアデータとは別途取得される、前記メディアデータに関連するパラメータ情報に基づいて、復号時間、あるいは表示時間の取得方法を切り替える
ことを特徴とするデータ再構成装置。
【請求項２】
前記時間情報取得手段は、特定の符号化モードにより符号化されたフレーム毎に、時間情報の取得方法を切り替えるかどうか判定する
ことを特徴とする請求項１に記載のデータ再構成装置。
【請求項３】
請求項１に記載のデータ再構成装置において、
前記フレームデータが１以上のサブフレーム単位から構成され、前記サブフレーム単位の先頭に前記サブフレームのサイズ情報が格納されている際には、前記サイズ情報を、前記サブフレームの開始を示す識別コードに変換する格納形式変換手段をさらに備える
ことを特徴とするデータ再構成装置。
【請求項４】
前記フレームデータが１以上のサブフレーム単位から構成される際に、
前記出力手段は、前記時間情報取得手段により取得された時間情報を前記サブフレームの格納単位に格納し、前記フレームデータに付加して出力する
ことを特徴とする請求項１に記載のデータ再構成装置。
【請求項５】
動画像、音声などの符号化メディアデータがパケット多重化されたデータから、前記各メディアデータを分離して出力するデータ再構成方法であって、
前記パケットのヘッダとペイロードを分離する分離ステップと、
前記ペイロードのデータから、前記メディアデータのフレーム境界を検出して分離する検出分離ステップと、
前記分離された前記メディアデータのフレームの復号時間、あるいは表示時間を取得する時間情報取得ステップと、
前記分離されたフレームデータ、および前記取得された時間情報を出力する出力ステップとを含み、
前記時間情報取得ステップにおいて、前記メディアデータに含まれる識別情報、あるいは前記メディアデータとは別途取得される、前記メディアデータに関連するパラメータ情報に基づいて、復号時間、あるいは表示時間の取得方法を切り替える
ことを特徴とするデータ再構成方法。
【請求項６】
動画像、音声などの符号化メディアデータがパケット多重化されたデータから、前記各メディアデータを分離して出力するデータ再構成装置のためのプログラムであって、
前記パケットのヘッダとペイロードを分離する分離ステップと、
前記ペイロードのデータから、前記メディアデータのフレーム境界を検出して分離する検出分離ステップと、
前記分離された前記メディアデータのフレームの復号時間、あるいは表示時間を取得する時間情報取得ステップと、
前記分離されたフレームデータ、および前記取得された時間情報を出力する出力ステップとを含み、
前記時間情報取得ステップにおいて、前記メディアデータに含まれる識別情報、あるいは前記メディアデータとは別途取得される、前記メディアデータに関連するパラメータ情報に基づいて、復号時間、あるいは表示時間の取得方法を切り替えることを特徴とする各ステップをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像、音声などの符号化メディアデータがパケット多重化されたデータを再構成して出力するためのデータ再構成装置に関する。
【背景技術】
【０００２】
近年、蓄積メディアや通信ネットワークの大容量化、あるいは伝送技術の進歩にともない、動画や音声などの符号化マルチメディアデータを扱う機器や、サービスが普及してきた。蓄積メディアとしてはＤＶＤ(Digital Versatile Disk)関連機器の急速な普及が顕著な例であるとともに、放送分野においても、従来のアナログ放送に代わり、デジタル符号化されたメディアデータの放送が開始されている。メディアデータを蓄積、配信する際には、メディアデータの再生に必要なヘッダ情報とメディアデータとを多重化することになるが、デジタル放送やＤＶＤにおいては、多重化規格としてISO/IEC JTC1/SC29/WG 11 (International Standardization Organization/International Engineering Consortium)において標準化されたＭＰＥＧ(Moving Picture Experts Group)−２システム規格を使用する。また、動画の符号化方式としては、現在普及しているＭＰＥＧ−２  ＶｉｓｕａｌやＭＰＥＧ−４  Ｖｉｓｕａｌの後継規格としてＭＰＥＧ−４  ＡＶＣ(Advanced Video Coding)が標準化中であり、今後ＭＰＥＧ−４  ＡＶＣの符号化ビデオデータをＭＰＥＧ−２システム規格により多重化し、蓄積あるいは配信することが予想される。
【０００３】
以下に、ＭＰＥＧ−２  Ｖｉｓｕａｌのビデオ符号化データがＭＰＥＧ−２システムにより多重化されたデータを分離する際の従来例について、放送分野での使用例をもとに説明する。放送では、符号化データは、まずＰＥＳ(Packetized Elementary Stream)パケットに多重化され、さらにＰＥＳパケットがＴＳ(Transport Stream)パケットに多重化される。図１５の（a）と（ｂ）に、それぞれＰＥＳパケットとＴＳパケットの構造を示す。ＰＥＳパケットのペイロードには、アクセスユニット（ＡＵ）データが格納される。１アクセスユニットには、必ず１ピクチャ分の符号化データが含まれ、加えてシーケンスヘッダやＧＯＰ(Group of Pictures)ヘッダが格納されることがある。以降、本明細書では、符号化データを扱う際の基準単位としてＡＵを用いることにする。図１５（a）の（１）から（３）は、ＰＥＳパケットのペイロードへのＡＵデータの格納例を示すものであり、（１）、（２）に示すように１以上のＡＵをまとめて格納してもよいし、（３）に示すようにＡＵデータを分割して格納してもよい。ＰＥＳパケットのヘッダには、ペイロード内で開始する先頭ＡＵの復号時間、あるいは表示時間を格納できる。ここで、復号時間、および表示時間は、ＭＰＥＧ−２システム規格の規定に従って格納されるが、全てのＰＥＳパケットに必ずこれらの時間情報が格納されるわけではなく、時間情報が格納されないＰＥＳパケットも存在する。ＰＥＳパケットのヘッダにより復号時間、あるいは表示時間が示されないＡＵの時間情報が必要である際には、ＡＵデータを解析することにより、直前ＡＵとの復号時間、あるいは表示時間の差分値を取得し、ＰＥＳパケットのヘッダにより時間情報が示されるＡＵの表示時間、あるいは復号時間を基準として、差分値を加算することにより時間情報を取得する。一方、ＰＥＳパケットのデータは、図１５の（ｂ）に示すように、ＴＳパケットのペイロードに分割して格納される。ＴＳパケットは、４バイトのヘッダと１８４バイトのペイロードから構成される固定長のパケットである。ＴＳパケットを受信して再生する際には、データ再構成装置によって受信データからＰＥＳパケットを分離し、分離されたＰＥＳパケットからＡＵのデータ、およびＡＵの表示時間を取得した後に、データ復号化手段によりＡＵデータを復号化する。従来のデータ再構成装置の処理について、図１６のフローチャートを参照して説明する。なお、ここではＴＳパケットのペイロードデータからＰＥＳパケットデータを分離した後の処理について説明する。まず、ステップ１０１においてＰＥＳパケットのヘッダとペイロードを分離する。ステップ１０２では、分離されたＰＥＳパケットのペイロードからＡＵの境界を検出する。ステップ１０２においてＡＵ境界が検出されるまでステップ１０１およびステップ１０２の処理を繰り返し、ＡＵ境界が検出された時点で１ＡＵ分のデータが揃ったと判定し、ＡＵデータを分離する。ステップ１０３では、ＰＥＳパケットのヘッダに格納された表示時間、および予め定められた方法によりＡＵデータから取得される表示時間情報に基づいてＡＵの表示時間を取得する。ここで、予め定められた方法とは、ＡＵ毎のＴｅｍｐｏｒａｌ  Ｒｅｆｅｒｅｎｃｅ値を取得し、直前ＡＵ��Ｔｅｍｐｏｒａｌ  Ｒｅｆｅｒｅｎｃｅ値と比較することにより、直前ＡＵとの表示時間の差分値を計算するものである。
【特許文献１】特開平９―１３９９３７号公報（第４７−５５項、図６）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＭＰＥＧ−４  ＡＶＣでは、ＡＵ内の２種類のパラメータにより表示時間情報を示すことができるが、これらのパラメータは常に存在することは保証されておらず、また、存在していても表示時間情報を示さないことがある。しかしながら、前記従来のデータ再構成装置では、予め定められた方法によりＡＵデータから表示時間情報を取得していたため、一方のパラメータのみしか参照できず、参照するパラメータが存在しない、あるいは表示時間情報を示さない際には、ＡＵの表示時間を取得できないという第１の課題があった。
【０００５】
また、ＭＰＥＧ−４  ＡＶＣでは、ＡＵにおけるピクチャデータの格納形式が２種類存在する。従来のデータ再構成装置では、入力されたＡＵデータを変更せずにそのまま出力していたため、出力ＡＵにおけるデータ格納形式も２種類存在していた。このため、出力ＡＵデータを復号化する復号化装置が、どちらか一方のデータ格納方式にしか対応していない際には、非対応であるデータ格納方式のＡＵが出力されると復号化できないという第２の課題があった。
【０００６】
また、従来のデータ再構成装置では、ＡＵデータとＡＵの表示時間とを別々に出力していたため、ＡＵデータと表示時間とを関連付けて管理する新たな手段が必要となるという第３の課題があった。
【課題を解決するための手段】
【０００７】
本発明は、以上の課題を解決するためになされたものである。
本発明の請求項１にかかるデータ再構成装置は、動画像、音声などの符号化メディアデータがパケット多重化されたデータから、前記各メディアデータを分離して出力するデータ再構成装置であって、前記パケットのヘッダとペイロードを分離する分離手段と、前記ペイロードのデータから、前記メディアデータのフレーム境界を検出して分離する検出分離手段と、前記分離された前記メディアデータのフレームの復号時間、あるいは表示時間を取得する時間情報取得手段と、前記分離されたフレームデータ、および前記取得された時間情報を出力する出力手段とを備え、前記時間情報取得手段は、前記メディアデータに含まれる識別情報、あるいは前記メディアデータとは別途取得される、前記メディアデータに関するパラメータ情報に基づいて、復号時間、あるいは表示時間の取得方法を切り替えることを特徴とするものである。
【０００８】
本発明の請求項２にかかるデータ再構成装置は、請求項１に記載のデータ再構成装置であって、前記時間情報取得手段は、特定の符号化モードにより符号化されたフレーム毎に、時間情報の取得方法を切り替えるかどうか判定することを特徴とするものである。
本発明の請求項３にかかるデータ再構成装置は、請求項１に記載のデータ再構成装置であって、前記フレームデータが１以上のサブフレーム単位から構成され、前記サブフレーム単位の先頭に前記サブフレームのサイズ情報が格納されている際には、前記サイズ情報を、前記サブフレームの開始を示す識別コードに変換する格納形式変換手段をさらに備えることを特徴とするものである。
【０００９】
本発明の請求項４にかかるデータ再構成装置は、請求項１に記載のデータ再構成装置であって、前記フレームデータが１以上のサブフレーム単位から構成される際に、前記出力手段は、前記時間情報取得手段により取得された時間情報を前記サブフレームの格納単位に格納し、前記フレームデータに付加して出力することを特徴とするものである。
本発明の請求項５にかかるデータ再構成装置は、動画像、音声などの符号化メディアデータがパケット多重化されたデータから、前記各メディアデータを分離して出力するデータ再構成方法であって、前記パケットのヘッダとペイロードを分離する分離ステップと、前記ペイロードのデータから、前記メディアデータのフレーム境界を検出して分離する検出分離ステップと、前記分離された前記メディアデータのフレームの復号時間、あるいは表示時間を取得する時間情報取得ステップと、前記分離されたフレームデータ、および前記取得された時間情報を出力する出力ステップとを含み、前記時間情報取得ステップにおいて、前記メディアデータに含まれる識別情報、あるいは前記メディアデータとは別途取得される、前記メディアデータに関連するパラメータ情報に基づいて、復号時間、あるいは表示時間の取得方法を切り替えることを特徴とするものである。
【００１０】
本発明の請求項６にかかるプログラムは、動画像、音声などの符号化メディアデータがパケット多重化されたデータから、前記各メディアデータを分離して出力するデータ再構成装置のためのプログラムであって、前記パケットのヘッダとペイロードを分離する分離ステップと、前記ペイロードのデータから、前記メディアデータのフレーム境界を検出して分離する検出分離ステップと、前記分離された前記メディアデータのフレームの復号時間、あるいは表示時間を取得する時間情報取得ステップと、前記分離されたフレームデータ、および前記取得された時間情報を出力する出力ステップとを含み、前記時間情報取得ステップにおいて、前記メディアデータに含まれる識別情報、あるいは前記メディアデータとは別途取得される、前記メディアデータに関連するパラメータ情報に基づいて、復号時間、あるいは表示時間の取得方法を切り替えることを特徴とする各ステップをコンピュータに実行させることを特徴とするものである。
【発明の効果】
【００１１】
本発明の請求項１に記載のデータ再構成装置によれば、ＡＵデータに含まれる識別情報、あるいは符号化データに関連するパラメータ情報に基づいて表示時間の取得方法を切り替えるため、ＰＥＳパケットのヘッダにより表示時間が示されないＡＵについても、必ず表示時間を取得することができるという効果が得られる。
本発明の請求項２に記載のデータ再構成装置によれば、特定の符号化モードにより符号化されたＡＵ毎に表示時間の取得方法を切り替えるかどうか判定するため、符号化データの途中のＡＵにおいて表示時間情報の設定方法、あるいは表示時間情報の取得に必要なパラメータ情報が変化する際にも、正しい表示時間を取得することができるという効果が得られる。
【００１２】
本発明の請求項３に記載のデータ再構成装置によれば、ＡＵデータのデータ格納形式を変換することにより、入力ＡＵにおけるデータ格納形式に依らず、出力ＡＵデータにおけるデータ格納形式を１通りに統一することができるため、特定のデータ格納形式であるＡＵデータの復号化にのみ対応した復号化装置においても常に出力データを復号化できるという効果が得られる。
【００１３】
本発明の請求項４に記載のデータ再構成装置によれば、ＡＵの表示時間をＡＵデータに付加して出力することにより、ＡＵデータとＡＵの表示時間とを関連付けて管理するための手段が不要になるという効果が得られる。
本発明の請求項５に記載のデータ再構成方法によれば、特定のＡＵデータに含まれる識別情報、あるいは符号化データに関連するパラメータ情報に基づいて表示時間の取得方法を切り替えるため、ＰＥＳパケットのヘッダにより表示時間が示されないＡＵについても、必ず表示時間を取得することができるという効果が得られる。
【００１４】
本発明の請求項６に記載のプログラムによれば、特定のＡＵデータに含まれる識別情報、あるいは符号化データに関連するパラメータ情報に基づいて表示時間の取得方法を切り替える処理をコンピュータに行わせることができるため、ＰＥＳパケットのヘッダにより表示時間が示されないＡＵについても、必ず表示時間を取得できるデータ再構成装置を実現できるという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
まず、本発明の実施の形態１に係るデータ再構成装置について説明する。ここでは、ＭＰＥＧ−４  ＡＶＣの符号化ビデオデータが多重化されたＰＥＳパケットを入力して再構成処理を行うものとする。なお、多重化方式として、主にインターネット上でのストリーミングに用いられるＲＴＰ(Real Time Transport Protocol)のパケット、あるいはＩＳＯ／ＩＥＣ  １４４９６−１にて定められたＭＰ４などのファイルフォーマットを使用することとしてもよい。また、パケット多重化される符号化データは、ＭＰＥＧ−４  ＡＶＣに限定されるものではなく、ＭＰＥＧ−４  Ｖｉｓｕａｌなどのビデオ符号化データ、あるいはＭＰＥＧ−４  ＡＡＣやＡＭＲなどのオーディオ符号化データであってもよい。
【００１６】
図１は、データ再構成装置の全体構成を示す図である。このデータ再構成装置は、ＰＥＳパケットデータを入力してメモリ１０２に格納し、再構成処理終了後のＡＵデータ、およびその関連データを出力するデータＩ／Ｏ手段１０１と、メモリ１０２からＰＥＳパケットの再構成に必要な再構成処理入力データを取得してＡＵ単位に再構成し、再構成処理の結果をメモリ１０２に出力する再構成手段１０３とから構成される。再構成処理入力データとは、データＩ／Ｏ手段１０１から入力されてメモリ１０２に保持されたＰＥＳパケットデータ、あるいはメモリ１０２により既に保持されている再構成手段１０３の再構成処理結果を指す。ここで、メモリ１０２には、入出力データの保存領域、および再構成結果やＡＵデータを一時的に格納するワーク領域が存在し、これら各領域のサイズは可変とできる。また、再構成手段１０３は、ここではＣＰＵであるとするが、専用のハードウェアであってもよい。
【００１７】
まず、ＭＰＥＧ−４  ＡＶＣにおけるＡＵデータの構造について説明する。ＭＰＥＧ−４  ＡＶＣでは、ピクチャの復号化に必須のデータに加えて、復号化には必須でないＳＥＩ(Supplemental Enhancement Information)と呼ばれる補助情報や、符号化データ内での境界情報を符号化データに含めることができ、これらのデータは全てＮＡＬ(Network Adaptation Layer)ユニットに格納される。ＮＡＬユニットは、図２（a）に示すようにヘッダとペイロードから構成され、ヘッダにはペイロードに格納されるデータのタイプ（以降、ＮＡＬユニットタイプと呼ぶ）を示すフィールドなどが含まれる。ＮＡＬユニットタイプは、スライスやＳＥＩなどデータの種類別に値が定義されており、ＮＡＬユニットに格納されたデータの種類を取得する際にはＮＡＬユニットタイプを参照する。ＡＵには、図２（ｂ）および（ｃ）に示すように、１ピクチャ分のスライスデータに加えて、ヘッダ情報やＳＥＩなどのＮＡＬユニットが格納されるが、ＮＡＬユニットにはＮＡＬユニットデータの境界を識別するための情報が存在しないため、ＡＵ格納時には、各ＮＡＬユニットの先頭に境界情報が付加することができる。境界情報としては、図２（ｂ）のように0x000001の３バイトで示されるスタートコードを付加する方法（以降、バイトストリームフォーマットと呼ぶ）と、図２（ｃ）のようにＮＡＬユニットのサイズを付加する方法（以降、ＮＡＬサイズフォーマットと呼ぶ）の２種類がある。なお、バイトストリームフォーマットでは、ＡＵの先頭ＮＡＬユニット、および特定のＮＡＬユニットタイプ値をもつＮＡＬユニットに対しては、スタートコードの前に、ｚｅｒｏ＿ｂｙｔｅ（値が０ｘ００である１バイト）を１つ以上付加することが規定されている。ＰＥＳパケットにＭＰＥＧ−４  ＡＶＣのＡＵデータを多重化する際には、バイトストリームフォーマットが使用される。なお、ＭＰ４ではＮＡＬサイズフォーマットが使用され、ＲＴＰパケットにＡＵデータを格納する際にはＮＡＬユニットの境界情報は付加されない。次に、スライス、およびヘッダ情報について詳しく説明する。スライスは、ＩＤＲ(Instantaneous Decoder Refresh)スライスとそれ以外のスライスの２種類に分けられる。ＩＤＲスライスとは、画面内符号化されたスライスデータであり、後述するＳＰＳ(Sequence Parameter Set)などのヘッダ情報はＩＤＲにおいてのみ切り替えることができる。ピクチャにＩＤＲスライスが含まれる際には、同一ピクチャ内の他のスライスも全てＩＤＲスライスである。ここで、ＩＤＲスライスを含むピクチャから、次のＩＤＲスライスを含むピクチャの直前ピクチャまでをシーケンスと呼ぶ。次に、ヘッダ情報にはＳＰＳとＰＰＳ(Picture Parameter Set)の２種類があり、ＳＰＳはシーケンス単位で固定のヘッダ情報であり、ＰＰＳはピクチャ単位で切り替えることのできるヘッダ情報である。ＳＰＳとＰＰＳは、ともに複数もつことができ、個々のＳＰＳ、あるいはＰＰＳはインデックス番号により区別される。また、１ＮＡＬユニットには１つのＳＰＳ、あるいはＰＰＳが格納される。各ピクチャが参照するＳＰＳ、およびＰＰＳのインデックス番号は次のように取得される。まず、ピクチャが参照するＰＰＳのインデックス番号は、スライスデータのヘッダ部に示され��。次に、ＰＰＳには、ＰＰＳが参照するＳＰＳのインデックス番号が示されるため、ピクチャが参照するＰＰＳを解析することにより、ピクチャが参照するＳＰＳのインデックス番号を取得する。図３は、ＰＥＳパケットに格納されるＡＵデータ内のＮＡＬユニットを示す。ＡＵの先頭には、必ずアクセスユニットデリミタ−（ＡＵＤ）のＮＡＬユニットが配置される。以降のＮＡＬユニットの配置順は、ＳＰＳ、ＰＰＳ、ＳＥＩ、スライスの順となるが、全てのＡＵに必ず含まれるのはスライスのＮＡＬユニット、およびアクセスユニットデリミタ−のＮＡＬユニットのみである。図３（ａ）は、ＩＤＲのスライスを含むＡＵ（ＩＤＲ  ＡＵ）におけるＮＡＬユニットの格納例、図３（ｂ）は、ｎｏｎ−ＩＤＲスライスを含むＡＵ（ｎｏｎ−ＩＤＲ  ＡＵ））におけるＮＡＬユニットの格納例を示す。（ａ）では、復号時間、あるいは、表示時間情報を示すＢｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩとＰｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩのＮＡＬユニットが含まれる。Ｐｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩには、Ｂｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩを含む直近のＡＵとＰｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩが含まれるＡＵとの復号時間の差分値と、Ｐｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩが含まれるＡＵにおける復号時間と表示時間の差分値とが格納される。これら２つのＳＥＩによりＡＵの復号時間、および表示時間を示す際には、Ｂｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩはＩＤＲ−ＡＵに必ず格納され、Ｐｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩは全てのＡＵに必ず格納される。さらに、ここでは図示しないが、符号化データにおける最終ＡＵの最後のＮＡＬユニットとして、符号化データの終端であることを示すエンドオブストリームと呼ばれるＮＡＬユニットを付加することができる。
【００１８】
再構成手段１０３の動作について、以下詳しく説明する。
図４は、再構成手段１０３の構成を示すブロック図である。再構成手段１０３は、ＰＥＳ分離手段２０１、ＡＵ分離手段２０２、およびＰＴＳ取得手段２０３を備える。ＰＥＳ分離手段２０１は、入力されたＰＥＳパケットデータからＰＥＳパケットのヘッダとペイロードとを分離し、ＡＵ分離手段２０２とＰＴＳ取得手段２０３に入力する。ＡＵ分離手段２０２は、ＰＥＳ分離手段により入力されたＰＥＳパケットのペイロードデータからＮＡＬユニットデータを分離し、ＰＥＳパケットのヘッダ情報、ＮＡＬユニットタイプ、あるいはＮＡＬユニットのペイロードデータを解析することによりＡＵの境界を検出した後に、ＡＵデータを分離して出力する。さらに、ＰＴＳ取得手段２０３は、ＰＥＳ分離手段により入力されたＰＥＳパケットヘッダにおける表示時間、ＡＵ分離手段２０２により分離されたＡＵデータを解析して得られる表示時間情報、およびメモリ１０２に保持された表示時間情報とからＡＵの表示時間を取得して出力する。再構成手段１０３の処理フローについて、図５を参照して説明する。まず、ステップ２０１においてＰＥＳパケットのヘッダとペイロードを分離する。ステップ２０２では、分離されたＰＥＳパケットのペイロードからＡＵを構成する各ＮＡＬユニットを分離し、ステップ２０３では、ステップ２０２において分離されたＮＡＬユニットのＮＡＬユニットタイプ、あるいはＮＡＬユニットのペイロードデータを解析することによりＡＵの境界を検出する。次に、ステップ２０４において、ＡＵがＩＤＲ  ＡＵであるかどうか判定する。ＩＤＲ  ＡＵである際にはステップ２０５に進み、ＩＤＲ  ＡＵでない場合にはステップ２０６に進む。なお、ＡＵがＩＤＲ  ＡＵであるかどうかは、ステップ２０３におけるＡＵ境界の検出時に取得しておく。ステップ２０５では、ＳＰＳ内のパラメータ値などに基づいて、ＡＵの表示時間（PTS、Presentation  Time  Stamp）の取得方法を決定する。ＡＵデータにおいて表示時間情報を示す方法としては、前述したＢｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩおよびＰｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩを用いる方法と、ＡＵ毎に設定されるＰＯＣ（Ｐｉｃｔｕｒｅ  Ｏｒｄｅｒ  Ｃｏｕｎｔ）と呼ばれるパラメータを用いる方法の２通りがある。ここで、ＰＯＣの値は、ＳＰＳ内のフィールド値、およびスライスデータのヘッダ内のフィールド値とから計算される。通常、ＰＯＣはＡＵの表示順序を表すものであるが、予め定められたの条件の下では、ＡＵ間におけるＰＯＣの差分値がＡＵ間の表示時間の差分値と一致するため、表示時間情報の取得に使用することができる。続いて、ステップ２０６では、ステップ２０５において決定された取得方法によりＡＵの表示時間を決定する。再構成手段１０３においては、エンドオブストリームのＮＡＬユニットを検出によりＡＵデータの入力が終了したと判定し、ＡＵデータの再構成処理を終了することとするが、ユーザーからの終了指示、予め定められた条件などに基づいて再構成処理を終了することとしてもよい。なお、ＭＰＥＧ−４  ＡＶＣのＡＵデータを多重化したＲＴＰパケットからＡＵデータを分離する際には、ＲＴＰパケットのヘッダ情報のみからＡＵ境界を識別できるため、ＡＵを構成するＮＡＬユ���ットのＮＡＬユニットタイプやＮＡＬユニットのペイロードデータを解析しないこととしてもよい。
【００１９】
以下に、ステップ２０５、およびステップ２０６の処理について詳しく説明する。図６は、ステップ２０５の処理を示すフローチャートである。ここで、ｐｏｃ＿ｆｌａｇは、ＰＯＣから表示時間情報が取得できるかどうかを示すフラグ、ｓｅｉ＿ｆｌａｇは、ＳＥＩから表示時間情報が取得できるかどうかを示すフラグであるとし、両フラグともに初期値は０とする。まず、ステップ３０１において、ＡＵデータ以外の情報により、表示時間情報の取得にＰＯＣが使用できるかどうか判定する。ＭＰＥＧ−２システム規格においては、デスクリプタ（ｄｅｓｃｒｉｐｔｏｒ）と呼ばれるデータにより、符号化データに関する情報などをＡＵデータとは別途格納することができる。ＭＰＥＧ−４  ＡＶＣ用にもデスクリプタが用意されており、そのうちの１つであるＡＶＣ−ｔｉｍｉｎｇ  ａｎｄ  ＨＲＤ  Ｄｅｓｃｒｉｐｔｏｒ内のｔｅｍｐｏｒａｌ＿ｐｏｃ＿ｆｌａｇと呼ばれるフラグ情報によって、ＰＯＣから表示時間情報が取得できるかどうか示される。ここで、ｔｅｍｐｏｒａｌ＿ｐｏｃ＿ｆｌａｇが１にセットされている際には、ｐｏｃ＿ｆｌａｇを１にセットする。符号化データが多重化されたＰＥＳパケットをＴＳパケットにより伝送する際には、デスクリプタはＰｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ（ＰＭＴ）と呼ばれるデータ格納単位により格納され、ＰＥＳパケットとは別にＴＳパケットに多重化される。このため、ＴＳパケットにより多重化されたＰＥＳパケットを受信する際には、ＰＥＳパケットの解析開始に先立ってＰＭＴを解析し、ＰＭＴ内にＡＶＣ−ｔｉｍｉｎｇ  ａｎｄ  ＨＲＤ  Ｄｅｓｃｒｉｐｔｏｒ内が含まれる際には、ｔｅｍｐｏｒａｌ＿ｐｏｃ＿ｆｌａｇの値を取得しておく。一方、ＭＰＥＧ−２システムにおけるプログラムストリームと呼ばれる格納形式のようにＴＳパケットを使用しない際には、デスクリプタはＰＥＳパケットのヘッダに格納される。そのため、ＰＥＳパケットデータの解析時には、ＰＥＳパケットのヘッダを解析してからＰＥＳパケットのペイロードに格納されるＡＵデータを解析することにより、ＰＥＳパケット内のＡＵデータの解析に先立ってＡＶＣ−ｔｉｍｉｎｇ  ａｎｄ  ＨＲＤ  Ｄｅｓｃｒｉｐｔｏｒを解析し、ｔｅｍｐｏｒａｌ＿ｐｏｃ＿ｆｌａｇ値を取得する。ここで、ＰＭＴ、あるいはＰＥＳパケットにより示されるＡＶＣ−ｔｉｍｉｎｇ  ａｎｄ  ＨＲＤ  Ｄｅｓｃｒｉｐｔｏｒにおけるｔｅｍｐｏｒａｌ＿ｐｏｃ＿ｆｌａｇ値が更新された際には、更新後の値を取得する。ＰＭＴ、あるいはＰＥＳパケット内にＡＶＣ−ｔｉｍｉｎｇ  ａｎｄ  ＨＲＤ  Ｄｅｓｃｒｉｐｔｏｒが存在しない際には、ＰＯＣにより表示時間情報が取得できるかどうかは判定できないものとし、ｐｏｃ＿ｆｌａｇ値は０とする。なお、ＡＶＣ−ｔｉｍｉｎｇ  ａｎｄ  ＨＲＤ  Ｄｅｓｃｒｉｐｔｏｒ以外のデスクリプタ、あるいは運用規定などによって、ＰＯＣから表示時間情報が取得できるかどうかを示すこととして、ｐｏｃ＿ｆｌａｇの値を設定することとしてもよい。上記の方法により、ＡＵデータ以外の情報に基づいてｐｏｃ＿ｆｌａｇ値が１に設定された際にはステップ３０３に進み、ｐｏｃ＿ｆｌａｇ値が０である際にはステップ３０２に進む。ステップ３０２では、ＡＵデータ内の情報を解析して表示時間の取得方法を決定し、解析結果に基づいてｐｏｃ＿ｆｌａｇ値、およびｓｅｉ＿ｆｌａｇ値を決定する。続いて、ステップ３０３において、ステップ３０１、あるいはステップ３０２において取得したｐｏｃ＿ｆｌａｇ値を調べ、ｐｏｃ＿ｆｌａｇ値が１である際にはステップ３０５に進み、０である際にはステップ３０４に進む。ステップ３０４では、ステップ３０２において取得したｓｅｉ＿ｆｌａｇ値を調べ、ｓｅｉ＿ｆｌａｇ値が１である際にはステップ３０６に進み、０である際にはステップ３０７に進む。ステップ３０５ではＰＯＣからＡＵの表示時間を取得すると決定し、ステップ３０６ではＳＥＩからＡＵの表示時間を取得すると決定する。ｐｏｃ＿ｆｌａｇとｓｅｉ＿ｆｌａｇの値が共に０である際には、ＰＯＣからもＳＥＩからもＡＵの表示時間が取得できないため、ステップ３０７では、ＡＵデータからはＡＵの表示時間を取得しないと決定し、表示時間は全てＰＥＳパケットのヘッダ情報から取得する。以上の処理により、ＡＵの表示時間の取得方法を決定して処理を終了する。
【００２０】
次に、ステップ３０２において、ＡＵデータ内の情報を解析して表示時間の取得方法を決定する方法について、図７のフローチャートを参照して説明する。ステップ３０２では、ＡＵ内の先頭ＮＡＬユニットから順に、ステップ４１６において方法決定フラグが１にセットされるまで、ステップ４０１からステップ４１６までの処理を繰り返す。ここで、方法決定フラグとは、表示時間情報の取得方法が決定したかどうかを示すフラグであり、ステップ３０２の処理開始時の初期値は０であるとする。まず、ステップ４０１においてＮＡＬユニットにＳＥＩが格納されるかどうか判定する。ＳＥＩを格納するＮＡＬユニットのＮＡＬユニットタイプ値は６であるため、入力されたＮＡＬユニットのＮＡＬユニットタイプが６であるかどうか判定し、６である際にはステップ４０２においてＮＡＬユニットのペイロードに格納されるＳＥＩの種類を取得する。ステップ４０３において、ステップ４０２で解析したＮＡＬユニットにＢｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩが含まれるかどうか判定し、含まれる際にはステップ４０４に進み、含まれなければステップ４０６に進む。ステップ４０４では、Ｂｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩがＡＵ内に存在することを示すフラグであるｂｐ＿ｆｌａｇを１にセットする。なお、ステップ３０２の処理開始時におけるｂｐ＿ｆｌａｇの初期値は０とする。Ｂｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩには、本ＳＥＩが格納されるＡＵにおけるピクチャが参照するＳＰＳのインデックス番号が示されるため、そのインデックス番号をステップ４０５において取得し、ｔａｒｇｅｔ＿ｓｐｓ＿ｉｄにセットする。ｔａｒｇｅｔ＿ｓｐｓ＿ｉｄは、ＡＵ内のピクチャデータが参照するＳＰＳのインデックス番号であるとする。ステップ４０６では、ＡＵがＩＤＲ  ＡＵであるかどうか判定する。ＩＤＲスライスを格納するＮＡＬユニットのＮＡＬユニットタイプは５であるため、入力されたＮＡＬユニットのＮＡＬユニットタイプが５であるかどうか判定し、５である際にはステップ４０７に進み、５でない場合には解析中であるのＮＡＬユニットの解析を終了し、次ＮＡＬユニットの解析を行う。ステップ４０７では、ステップ４０６において検出されたＩＤＲスライスを解析して、ＡＵ内のピクチャが参照するＳＰＳのインデックス番号を取得し、ｔａｒｇｅｔ＿ｓｐｓ＿ｉｄにセットする。次に、ステップ４０８にでは、インデックス番号がｔａｒｇｅｔ＿ｓｐｓ＿ｉｄと同一であるＳＰＳのＶｉｄｅｏ  Ｕｓａｂｉｌｉｔｙ  Ｉｎｆｏｒｍａｔｉｏｎ（ＶＵＩ）を取得する。ＶＵＩには、ＡＵの表示が固定フレームレートであるかどうかを示すフラグであるｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇ含まれるため、本フラグ値を取得し、ステップ４０９においてｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇ値が１であるかどうか判定する。ｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇ値が１である際には、ステップ４１０に進み、０である際にはステップ４１２に進む。ステップ４１０ではｐｏｃ＿ｆｌａｇを１にセットする。ステップ４１１では、ＡＵ間のＰＯＣ値の増分と、表示時間の差分値との関係を示す値であるｄｅｌｔａ＿ｄｐｂを取得する。ｄｅｌｔａ＿ｄｐｂは、ＰＯＣが１増加した際の表示時間の増分を示すものとし、タイムスケールはＶＵＩ内のフィールドにより示される値を使用する。例えば、連続する２つのＡＵであるａｕ１とａｕ２において、それぞれのＰＯＣ値をｐｏｃ１、およびｐｏｃ２とすると、ａｕ１とａｕ２の表示時間の差分値は（ｐｏｃ２―ｐｏｃ１）＊ｄｅｌｔａ＿ｄｐｂとなる。差分値が正である際には、ａｕ２はａｕ１よりも後に表示され、負である際には、ａｕ２はａｕ１よりも先に表示される。ここで、ＡＵ内のピクチャがフレーム構造である際には、ＰＯＣの値としては、トップフィールド用とボトムフィールド用の２種類が定義される。ＡＵの表示時間を算出する際には、トップフィールドとボトムフィールドのＰＯＣを比較し、表示時間が早いフィールドのＰＯＣ値を使用する。次に、ステップ４１２では、ｐｏｃ＿ｆｌａｇを０にセットし、ステップ４１３に進む。ステップ４１３では、ＳＥＩからＡＵの表示時間を取得できるかどうか判定する。ＶＵＩには、ｖｃｌ＿ｈｒｄ＿ｐａｒａｍｅｔｅｒｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ、ｎａｌ＿ｈｒｄ＿ｐａｒａｍｅｔｅｒｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇの２つのフラグが存在し、両フラグの少なくともどちらか一方が１にセットされていれば、ＳＥＩからＡＵの表示時間を取得できることを示す。そこで、ステップ４１３において、ｖｃｌ＿ｈｒｄ＿ｐａｒａｍｅｔｅｒｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇ、ｎａｌ＿ｈｒｄ＿ｐａｒａｍｅｔｅｒｓ＿ｐｒｅｓｅｎｔ＿ｆｌａｇのいずれか一方が１であるかどうか判定する。いずれか一方が１である際には、ステップ４１４においてｓｅｉ＿ｆｌａｇ１を１にセットし、どちらも０である際には、ステップ４１５においてｓｅｉ＿ｆｌａｇ１を０にセットする。ここで、ＳＥＩにより表示時間の計算を行う際にも、タイムスケールはＶＵＩ内のフィールドを使用する。最後に、ステップ４１１、ステップ４１４、あるいはステップ４１５の処理が終了した後に、ステップ４１６において方法決定フラグを１にセットする。上記では、ＳＰＳ内に必ずＶＵＩが存在し、ＶＵＩ内には必ずｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇフィールドが存在するものとしたが、ＶＵＩの使用、あるいはＶＵＩにおけるｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇフィールドの使用は必須ではない。そのため、ＶＵＩが存在しない、あるいは、ＶＵＩが存在してもＶＵＩ内にｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇフィールドが存在しない場合の処理について以下に示す。まず、ＭＰＥＧ−４  ＡＶＣでは、デスクリプタによってもｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇ値、およびタイムスケール値などＶＵＩ内の情報を示すことができるため、デスクリプタによりｆｉｘｅｄ＿ｆｒａｍｅ＿ｒａｔｅ＿ｆｌａｇ値が示される際には、その値に従いステップ４０９の処理を行うこととする。そうでない場合には、ｐｏｃ＿ｆｌａｇとｓｅｉ＿ｆｌａｇを共に０にセットしてステップ４１６の処理を行う。また、運用規定などにより、ＰＯＣあるいはＳＥＩによりＡＵの表示時間が取得できることが示される際には、運用規定に従いｐｏｃ＿ｆｌａｇ値、およびｓｅｉ＿ｆｌａｇ値を決定することとしてもよい。
【００２１】
ここで、ＡＵが参照するＳＰＳはＩＤＲ  ＡＵにおいてのみ更新可能である。ＡＵの表示時間の取得方法はＳＰＳのＶＵＩ情報が更新された際にのみ更新されるため、図５のステップ２０５に示す表示時間の取得方法の決定処理は、ＩＤＲ  ＡＵにおいてのみ行う。
なお、ＡＵの表示時間の取得方法が固定であることが予め示される場合には、表示時間の取得方法決定処理は先頭のＩＤＲ  ＡＵにおいてのみ行うこととしてもよい。また、ｎｏｎ−ＩＤＲ  ＡＵにおいてもステップ２０５の処理を行うこととしてもよい。
【００２２】
なお、ステップ３０２の処理は、図５に示す再構成手段１０３の処理フローにおいて、ループＡ０内に含めることとしてもよい。この際は、ステップ２０２においてＮＡＬユニットを分離した際に、ＮＡＬユニットデータを解析してＡＵの表示時間の取得方法を決定する。
【００２３】
次に、図５のステップ２０６においてＡＵの表示時間を決定する方法について、図８のフローチャートを参照しながら説明する。ここで、ｐｔｓ＿ｆｌａｇは、ＡＵの表示時間がＰＥＳパケットのヘッダにより示されるかどうかを示すフラグであり、ｐｅｓ＿ｐｔｓは、ＰＥＳパケットのヘッダにより示されるＡＵの表示時間を示す。また、ｃｕｒｒ＿ｐｔｓ、ｐｒｅｖ＿ｐｔｓは、それぞれ現在のＡＵの表示時間、および復号順で直前のＡＵの表示時間を示すものとし、ｄｅｌｔａ＿ｐｔｓは、ＰＯＣあるいはＳＥＩから計算される、現在のＡＵの表示時間と、復号順で直前のＡＵの表示時間との差分値を示すものとする。ｄｅｌｔａ＿ｐｔｓは正負の値をとり、ｐｅｓ＿ｐｔｓと同一のタイムスケールを使用する。また、ｍａｘ＿ＰＴＳは、復号順が現在のＡＵよりも早いＡＵの内、表示時間が最も遅いＡＵの表示時間を示すものとする。ここで、ｐｔｓ＿ｆｌａｇの値については、ステップ５０１に先立って取得しているものとする。ステップ５０１において、ｐｔｓ＿ｆｌａｇの値を調べ、フラグ値が１である際には、ステップ５０２において、ｃｕｒｒ＿ｐｔｓにｐｅｓ＿ｐｔｓを代入して表示時間の取得処理を終了する。全ＡＵの表示時間がＰＥＳパケットのヘッダから取得できる際には、常にステップ５０２により表示時間が決定される。次に、ｐｅｓ＿ｆｌａｇ値が０である際には、ステップ５０３に進む。ステップ５０３では、ＡＵについてのｐｏｃ＿ｆｌａｇ値を調べ、フラグ値が１である際にはステップ５０４に進み、０である際にはステップ５０６に進む。ステップ５０４では、現ＡＵがＩＤＲ  ＡＵであるかどうか判定し、ＩＤＲ  ＡＵである際にはステップ５０７に進み、ＩＤＲ  ＡＵでない際にはステップ５０５に進む。ステップ５０５では、ＡＵについてのｓｅｉ＿ｆｌａｇ値を調べ、フラグ値が１である際にはステップ５０６に進み、０である際にはステップ５０８に進む。ステップ５０６では、直前ＡＵの表示時間に、現ＡＵと直前ＡＵの差分値を加算することによって現ＡＵの表示時間を取得する。一方、ステップ５０７では、ｍａｘ＿ＰＴＳにｄｅｌｔａ＿ｐｔｓを加算することによりＡＵの表示時間を決定する。このように、ＰＯＣからＡＵの表示時間を算出する際に、ＡＵがＩＤＲ  ＡＵであるか否かによって算出方法を切り替えるのは、ＰＯＣ値がＩＤＲ  ＡＵ毎に０にリセットされるためである。ＩＤＲ  ＡＵにおいてＰＯＣ値がリセットされると、直前ＡＵとのＰＯＣの差分値が取得できないため、フレームレートが固定であることを利用して、ステップ５０７の方法により表示時間を算出する。ステップ５０８では、ＰＯＣおよびＳＥＩからは表示時間情報は取得できないため、フレームレートが固定であると仮定して、ｐｔｓ＿ｆｌａｇが０であるＡＵの表示時間を計算する。具体的には、ｐｔｓ＿ｆｌａｇが１である、復号順で連続する２つのＡＵをａｕ１、ａｕ２とし、ａｕ１、ａｕ２のｐｅｓ＿ｐｔｓをそれぞれｐｔｓ１、ｐｔｓ２とすると、ｐｔｓ２からｐｔｓ１を減算した値を、ａｕ１とａｕ２の間に含まれるＡＵの数で割ることにより、フレームレートを算出する。なお、フレームレートには予め定められた値を使ってもよいし、ＩＤＲ  ＡＵなど特定のＡＵにおい���のみフレームレートを計算することにしてもよい。この方法では双方向予測を用いたＡＵにおいては正しい表示時間が取得できないため、各ＡＵの予測構造が予め既知である際には、予測構造を考慮してＡＵの表示時間を取得することとしてもよい。
【００２４】
なお、ＰＥＳパケットのヘッダにおける表示時間、ＰＯＣ、あるいはＢｕｆｆｅｒｉｎｇ  Ｐｅｒｉｏｄ  ＳＥＩ、Ｐｉｃｔｕｒｅ  Ｔｉｍｉｎｇ  ＳＥＩにおいて、フィールド値が規格で定められた最大値に達して循環した際には、循環を考慮して表示時間、あるいは表示時間の差分値を算出することとする。
また、上記では再構成手段１０３は表示時間を出力することとしたが、復号時間も出力してもよい。復号時間についても、ＰＯＣの使用方法を除いて、表示時間の算出と同様の手順により算出できる。ＰＯＣは表示時間情報しか示すことができないが、ｐｏｃ＿ｆｌａｇが１となるのは固定フレームレートの場合のみであるため、ＡＵの復号時間は固定のフレームレートで単調増加する。このため、ｐｏｃ＿ｆｌａｇが１の際の復号時間は、復号順で直前のＡＵの復号時間に一定値を加算することにより取得できる。
【００２５】
なお、上記の方法は、表示時間の取得方法を切り替える必要がある符号化方式であれば、ＭＰＥＧ−４  ＡＶＣ以外にも適用できる。また、ＭＰ４では、１つ以上のＡＵから構成される、サンプルと呼ばれる単位で符号化データが管理されるが、サンプルに複数のＡＵが含まれる際には、上記方法によりサンプル内のＡＵの表示時間を取得できる。
【００２６】
（実施の形態２）
次に、本発明の実施の形態２に係るデータ再構成装置について説明する。本実施の形態２に係るデータ再構成装置は、主な構成要素において、上記実施の形態１に係るデータ再構成装置と共通するが、再構成手段１０３において特徴的な構成を備えており、この点において上記実施の形態１に係るデータ再構成装置と異なる。以下、この異なる点を中心に説明する。なお、上記実施の形態１と同一の構成要素については、同一の符号を用いることとし、説明を省略する。
【００２７】
図９は、本実施の形態２に係る再構成手段１０３の構成を示すブロック図である。再構成手段１０３は、入力されたＡＵにおけるＮＡＬユニットの格納形式を変換して出力する機能を有する。ＡＵ分離手段３０１は、ＰＥＳ分離手段により入力されたＰＥＳパケットのペイロードからＮＡＬユニットを分離し、分離後のＮＡＬユニットデータ、およびＮＡＬユニットのサイズを格納形式変換手段３０２に入力する。ここで、格納形式変換手段３０２に入力されるＮＡＬユニットデータでは、バイトストリームフォーマットにおいてＮＡＬユニットに付加されるｚｅｒｏ＿ｂｙｔｅ、およびスタートコードは除去されている。格納形式変換手段３０２は、入力されたＮＡＬユニットデータに対して変換を行い、変換後のデータをＡＵ分離手段３０１に出力する。ＡＵ分離手段３０１は、格納形式変換手段３０２において変換された後の格納形式でＮＡＬユニットが格納されたＡＵデータを出力する。図１０は、再構成手段１０３における処理を示すフローチャートであり、動作のフローは、図５に示す実施の形態１の動作フローにおけるループＡ０の処理に、ＮＡＬユニットの格納形式を変換する処理であるステップ３０１が追加される。ステップ３０１では、ＮＡＬユニットの格納形式をバイトストリームフォーマットからＮＡＬサイズフォーマットに変換する。この結果、再構成手段１０３から出力されるＡＵデータにおけるＮＡＬユニットの格納形式はＮＡＬサイズフォーマットとなる。格納形式変換手段３０２における変換処理について図１１のフローチャートに示す。まず、ステップ４０１において、ＮＡＬユニットデータとともに入力されたサイズに基づいて、ＮＡＬサイズフォーマットにおいてＮＡＬユニットのサイズを示すフィールドを作成する。この際、ＮＡＬユニットのサイズを示すフィールドのフィールド長には、予め定められた値を使用する。なお、フィールド長は、ＭＰＥＧ−４  ＡＶＣのプロファイルやレベル、あるいは符号化時のビットレートなどから見積もられるスライスのＮＡＬユニットの最大値に応じて設定することとしてもよいし、ＩＤＲ  ＡＵ毎に切り替えるなど、ビデオデータの途中のＡＵにおいて更新することとしてもよい。次に、ステップ４０２において、ステップ４０１で作成したＮＡＬユニットのサイズを示すフィールドをＮＡＬユニットデータに付加してＮＡＬユニットデータを出力する。なお、ここではｚｅｒｏ＿ｂｙｔｅ、およびスタートコードを予め除去してＮＡＬユニットデータのみを格納形式変換手段３０２に入力することとしたが、ｚｅｒｏ＿ｂｙｔｅとスタートコードが付加された状態で入力することとしてもよい。この際は、ステップ４０１に先立って、ｚｅｒｏ＿ｂｙｔｅとスタートコードを除去する。また、ＮＡＬサイズフォーマットのＡＵデータが再構成手段１０３に入力される際には、格納形式変換手段３０２における変換処理を行わないこととする。さらに、ＲＴＰパケットに多重化されるＡＵのように、ＡＵにＮＡＬユニットデータのみが格納される際にも、ＮＡＬユニットのサイズを示すフィールドを付加して出力することとしてもよい。さらにまた、ＰＥＳパケットやＲＴＰパケットと異なる格納形式をもつＡＵデータが入力された際にも、Ｎ��Ｌサイズフォーマットに変換して出力することとしてもよい。
【００２８】
このように、バイトストリームフォーマットからＮＡＬサイズフォーマットに変換することにより、ＰＥＳパケットのようにバイトストリームフォーマットでＡＵデータが多重化されたパケットデータが入力された際にも、ＮＡＬサイズフォーマットにしか対応していない復号化手段において、再構成手段１０３から出力されたＡＵデータを復号化できる。
【００２９】
なお、上記ではバイトストリームフォーマットからＮＡＬサイズフォーマットに変換することとしたが、ＮＡＬサイズフォーマットからバイトストリームフォーマットに変換することとしてもよい。例えば、ＭＰ４ではＮＡＬサイズフォーマットによりＡＵデータを格納するが、ＰＥＳパケットにおける格納形式であるバイトストリームフォーマットに統一して出力することができる。図１７は、ＮＡＬサイズフォーマットからバイトストリームフォーマットに変換する処理を示すフローチャートである。ここで、入力されるのはＮＡＬユニットデータ、ＮＡＬユニットのサイズ、およびＮＡＬユニットがＡＵにおける先頭ＮＡＬユニットであるかどうかを示すフラグ情報であるとする。まず、ステップ６０１において、ＮＡＬユニットがＡＵの先頭ＮＡＬユニットであるかどうか判定し、先頭である際にはステップ６０３に進み、先頭でない際にはステップ６０２に進む。ステップ６０２では、ＮＡＬユニットのＮＡＬユニットタイプを解析し、予め定められた特定種類のデータが含まれるかどうか判定する。具体的には、ＮＡＬユニットがＳＰＳ、あるいはＰＰＳを格納するかどうかを判定し、ＳＰＳ、あるいはＰＰＳを格納するＮＡＬユニットである際にはステップ６０３に進み、そうでなければステップ６０４に進む。ステップ６０３では、１つ以上のｚｅｒｏ＿ｂｙｔｅ作成し、ＡＵデータの先頭に付加する。最後に、ステップ６０４において、スタートコードを付加してＮＡＬユニットデータを出力する。この際、ステップ６０３においてｚｅｒｏ＿ｂｙｔｅが付加される際には、付加されたｚｅｒｏ＿ｂｙｔｅの直後にスタートコードを付加し、ｚｅｒｏ＿ｂｙｔｅが付加されない際には、ＡＵデータの先頭にスタートコートを付加する。
【００３０】
なお、ステップ６０１、あるいはステップ６０２においてｚｅｒｏ＿ｂｙｔｅを付加すると決定されたＮＡＬユニット以外のＮＡＬユニットについても、ｚｅｒｏ＿ｂｙｔｅを付加することとしてもよい。例えば、スタッフィングのためにｚｅｒｏ＿ｂｙｔｅを付加することができる。なお、ＮＡＬユニットのサイズを示すフィールドが付加された状態でＮＡＬユニットのデータを入力することとしてもよい。この際は、予めＮＡＬユニットのサイズを示すフィールドのフィールド長を取得しておくことにより、ＮＡＬユニットのサイズを示すフィールドを除去する。例えば、ＭＰ４においては、ＮＡＬユニットのサイズを示すフィールドのフィールド長はＭＰ４ファイルのヘッダ領域に格納されており、その値はチャンク単位で可変であるため、変換処理を行うＡＵ毎にＮＡＬユニットのサイズを示すフィールドのフィールド長を取得する必要がある。ここで、チャンクとは１以上のサンプルをグループ化した単位を示す。さらに、ＲＴＰパケットに多重化されるＡＵのように、ＡＵにはＮＡＬユニットデータのみが格納される際にも、バイトストリームフォーマットに変換することとしてもよい。
【００３１】
（実施の形態３）
次に、本発明の実施の形態３に係るデータ再構成装置について説明する。本実施の形態３に係るデータ再構成装置は、主な構成要素において、上記実施の形態２に係るデータ再構成装置と共通するが、再構成手段１０３において特徴的な構成を備えており、この点において上記実施の形態２に係るデータ再構成装置と異なる。以下、この異なる点を中心に説明する。なお、上記実施の形態２と同一の構成要素については、同一の符号を用いることとし、説明を省略する。
【００３２】
図１２は、本実施の形態３に係る再構成手段１０３の構成を示すブロック図である。再構成手段１０３は、ＡＵの表示時間などの付加情報を含む特別なＮＡＬユニットを、入力されたＡＵにおけるＮＡＬユニットのデータに付加して出力する機能を有する。ＡＵヘッダ追加手段４０１は、ＰＴＳ取得手段２０３から入力されたＡＵの表示時間、およびＡＵ分離手段３０１から出力されたＡＵデータに基づいて、ＡＵの表示時間を格納した特別なＮＡＬユニットタイプをもつＮＡＬユニットを、入力されたＡＵデータに付加して出力する。図１３は、再構成手段１０３における処理を示すフローチャートであり、動作のフローは、図１０に示す実施の形態２の動作フローにおいてＡＵの表示時間を取得した（ステップ２０６）後に、ステップ５０１とステップ５０２とが追加される。ステップ５０１では、ＡＵの表示時間を格納したＮＡＬユニット（以降、このＮＡＬユニットをＡＵヘッダＮＡＬユニットと呼ぶ）を作成する。ステップ５０２において、ステップ５０１で作成したＡＵヘッダＮＡＬユニットをＡＵの先頭に付加して出力する。
【００３３】
図１４は、ＡＵヘッダ追加手段４０１から出力されるＡＵデータ構造の一例を示す。ＡＵの先頭にはＡＵヘッダＮＡＬユニットが配置される。ＡＵヘッダＮＡＬユニットにおけるＮＡＬユニットタイプの値は２４であり、ＮＡＬユニットのペイロードにはＡＵの表示時間が格納される。ＭＰＥＧ−４  ＡＶＣ規格においては、２４−３１までのＮＡＬユニットタイプはユーザー定義領域として使用方法を規定しておらず、アプリケーションによって使用方法を決定することができる。ＡＵデータを復号化する復号化手段においては、解釈できないＮＡＬユニットタイプ値を持つＮＡＬユニットは読み飛ばす、あるいは破棄するため、ＡＵヘッダＮＡＬユニットを解釈できない復号化手段においてＡＵヘッダＮＡＬユニットが付加されたＡＵデータが入力された際にも、ＡＵヘッダＮＡＬユニットは復号化処理に支障をきたすことなく読み飛ばされる、あるいは破棄される。なお、ＡＵヘッダＮＡＬユニットのＮＡＬユニットタイプ値は２４に限定されるものではなく、ユーザー定義領域における他の値のなかで、アプリケーションにおいて未使用である値を選択することとしてもよい。ＡＵヘッダＮＡＬユニットのペイロードには、ＡＵの表示時間が格納される。表示時間のタイムスケールは、ＰＥＳヘッダにおける表示時間のタイムスケールと一致させる。なお、再構成手段１０３のステップ２０３において、入力されたＡＵデータ内にＮＡＬユニットタイプ値が２４であるＮＡＬユニットを検出したした際には、当該ＮＡＬユニットのデータを破棄することとする。なお、ステップ２０３において、入力ＡＵにおける全ＮＡＬユニットのＮＡＬユニットタイプを解析しない際には、入力ＡＵにおける全ＮＡＬユニットのＮＡＬユニットタイプを解析する処理を別途追加し、ＮＡＬユニットタイプ値が２４であるＮＡＬユニットの検出を行い、検出された際には破棄することとしてもよい。また、ここではＡＵヘッダＮＡＬユニットによりＡＵの表示時間を示すこととしたが、ＰＥＳパケットのヘッダを付加することにより表示時間を示すこととしてもよい。このときの再構成手段１０３は、ペイロードに１以上のＡＵのデータ、あるいはＡＵのデータを分割して格納したＰＥＳパケットを入力し、入力ＰＥＳパケットデータを再構成して、ペイロードに１ＡＵ分のデータが格納されるＰＥＳパケットとして出力することになる。
【００３４】
なお、ＡＵヘッダＮＡＬユニットは、ＡＵの最終ＮＡＬユニット、あるいは途中のＮＡＬユニットとして格納することとしてもよい。さらに、ＡＵヘッダＮＡＬユニットには、表示時間だけでなく復号時間も格納することとしてもよいし、復号時間を格納するためのＮＡＬユニットを新たに定義して格納することとしてもよい。さらに、ＡＵデータを復号化する復号化手段においては、ＡＵヘッダＮＡＬユニットをＡＵの先頭を示す識別情報として使用することもできる。なお、ＡＵヘッダＮＡＬユニットのペイロードに格納される表示時間のタイムスケールとしては、予め設定された値を用いることとしてもよい。
【００３５】
また、ＴＳパケットによりＰＥＳパケットを伝送する際に、伝送路においてＴＳパケットがロスした際には、パケットロスの発生を通知するためのＮＡＬユニット（以降、エラー通知ＮＡＬユニットと呼ぶ。）をＡＵデータ内に挿入することとしてもよい。ここで、エラー通知ＮＡＬユニットは、パケットロス検出位置の直後に挿入することとする。図１８は、エラー通知ＮＡＬユニットの挿入方法の一例である。図１８（ａ）は、再構成手段１０３に入力されるＡＵデータを示す。入力ＡＵデータにおいては、ＴＳパケットのロスにより、２番目のスライスＮＡＬユニットデータであるスライスＮＡＬＵ＃２の後半部分が欠落している。図１８（ｂ）は、エラー通知ＮＡＬユニットを挿入した後のＡＵデータを示す。ＴＳパケットのロスが発生したかどうかはＴＳパケットのヘッダを解析することにより検出することができ、図１８（ａ）に示すＡＵデータが入力された際には、スライスＮＡＬＵ＃２の途中でパケットロスの発生が検出される。そのため、受信できたスライスＮＡＬ＃２データの直後に、エラー通知ＮＡＬユニットを挿入する。なお、エラー通知ＮＡＬユニットの挿入後は、少なくともＮＡＬユニットデータの先頭部分が取得できたＮＡＬユニットから出力ＡＵデータとして格納する。このため、図１８（ｂ）の例においてスライスＮＡＬＵ＃３の先頭部分が取得できなかった際には、スライスＮＡＬＵ＃３のデータは出力ＡＵデータには格納せずに、次にＮＡＬユニットの先頭部分が取得できたＮＡＬユニットから格納を開始する。エラー通知ＮＡＬユニットのＮＡＬユニットタイプは２５であるとし、ペイロードにはエラー通知情報を格納する。エラー通知情報としては、（１）エラー通知ＮＡＬユニットの直前ＮＡＬユニットのデータは完全に揃っている、（２）エラー通知ＮＡＬユニットの直前ＮＡＬユニットのデータは不完全である、（３）エラー通知ＮＡＬユニットの直前ＮＡＬユニットのデータが完全に揃っているかどうかは不明である、の３種類の情報を含めることができる。ＴＳパケットにおいては、例えば１ＮＡＬユニットを１ＰＥＳパケットに多重化することにすれば、エラー通知ＮＡＬユニットの直前ＮＡＬユニットは必ず完全に揃うことになる。また、ＲＴＰパケットによりＭＰＥＧ−４  ＡＶＣのＡＵデータを伝送する際には、パケットロス発生時に欠落したのはＮＡＬユニットデータの全てのデータであるか一部のデータであるかを、ＲＴＰパケットのヘッダ情報から判定することができるため、判定結果に基づいてエラー通知情報の内容を切り替えることができる。なお、エラー通知ＮＡＬユニットの直前ＮＡＬユニットのデータが不完全であると判定された際には、直前ＮＡＬユニットのデータを出力しないこととしてもよいし、さらに、エラー通知ＮＡＬユニットの直前ＮＡＬユニットのデータが不完全であるかどうかが不明である際にも、直前ＮＡＬユニットのデータを出力しないこととしてもよい。なお、パケットロス検出後に挿入されたエラー通知ＮＡＬユニットまでを現ＡＵについての出力ＡＵデータとすることとしてもよい。この際、ＡＵ内のＮＡＬユニットにおいてパケットロス検出後に取得したＮＡＬユニットデータは全て破棄される。また、パケットロス検���後は、次に検出したＩＤＲ  ＡＵ、あるいはｎｏｎ−ＩＤＲ  ＡＵのデータから出力することとしてもよいし、次に検出したＩＤＲ  ＡＵのデータから出力してもよい。
【００３６】
なお、エラー通知情報として、上記３つ以外の情報を付加することとしてもよい。また、パケットロスのためにＡＵデータが欠落していることを示す情報を、ＮＡＬユニット単位ではなく、ＡＵ単位で付加することとしてもよい。また、エラー通知ＮＡＬユニットのＮＡＬユニットタイプ値は２5に限定されるものではなく、ユーザー定義領域における他の値のなかで、アプリケーションにおいて未使用である値を選択することとしてもよい。
【００３７】
なお、表示時間、復号時間、あるいはエラー通知情報以外のデータをＮＡＬユニットデータの形式でＡＵデータに付加することとしてもよい。
なお、上記各実施の形態において、再構成手段１０３におけるＰＴＳ取得手段２０３、格納形式変換手段３０２、あるいはＡＵヘッダ追加手段のいずれか１つのみを使用することとしてもよいし、複数手段を組み合わせて使用することとしてもよい。
【産業上の利用可能性】
【００３８】
本発明に係るデータ再構成方法は、パケット多重化されたＭＰＥＧ−４  ＡＶＣの符号化データを再生する機器全般に適用することができ、特にデジタル放送の受信機や、ストリーミングデータの受信機などに有効である。
【図面の簡単な説明】
【００３９】
【図１】本発明の実施の形態１に係るデータ再構成装置の全体構成を示すブロック図である。
【図２】ＭＰＥＧ−４  ＡＶＣにおけるＡＵのデータ構造を示す図である。
【図３】ＡＵ内のＮＡＬユニットの配置例を示す図である。
【図４】本発明の実施の形態１に係るデータ再構成装置における再構成手段の構成を示すブロック図である。
【図５】本発明の実施の形態１に係るデータ再構成装置における再構成手段の処理を示すフローチャートである。
【図６】本発明の実施の形態１に係る再構成手段におけるＡＵの表示時間取得方法の決定手順を示すフローチャートである。
【図７】本発明の実施の形態１に係る再構成手段においてＡＵデータから表示時間を取得する際の取得方法決定手順を示すフローチャートである。
【図８】本発明の実施の形態１に係る再構成手段におけるＡＵの表示時間取得手順を示すフローチャートである。
【図９】本発明の実施の形態２に係るデータ再構成装置における再構成手段の構成を示すブロック図である。
【図１０】本発明の実施の形態２に係るデータ再構成装置における再構成手段の処理を示すフローチャートである。
【図１１】本発明の実施の形態２に係るデータ再構成装置においてＡＵデータの格納方式の変換処理を示すフローチャートである。
【図１２】本発明の実施の形態３に係るデータ再構成装置における再構成手段の構成を示すブロック図である。
【図１３】本発明の実施の形態３に係るデータ再構成装置における再構成手段の処理を示すフローチャートである。
【図１４】本発明の実施の形態３に係るデータ再構成装置における再構成手段においてＡＵの表示時間を付加した後のＡＵのデータ構造を示す図である。
【図１５】ＭＰＥＧ−２システム規格におけるＰＥＳパケットとＴＳパケットの構造を示す図である。
【図１６】従来のデータ再構成装置における再構成手段の処理を示すフローチャートである。
【図１７】本発明の実施の形態２に係るデータ再構成装置においてＡＵデータの格納方式をＮＡＬサイズフォーマットからバイトストリームフォーマットに変換する際の処理を示すフローチャートである。
【図１８】本発明の実施の形態３に係るデータ再構成装置においてエラー通知情報を付加した後のＡＵのデータ構造を示す図である。
【符号の説明】
【００４０】
１０１    データＩ／Ｏ手段
１０２    メモリ
１０３    再構成手段
２０１    ＰＥＳ分離手段
２０２、３０１    ＡＵ分離手段
２０３    ＰＴＳ取得手段
３０２    格納形式変換手段
４０１    ＡＵヘッダ追加手段
【図１】
2005123907.tif 000003
【図２】
2005123907.tif 000004
【図３】
2005123907.tif 000005
【図４】
2005123907.tif 000006
【図５】
2005123907.tif 000007
【図６】
2005123907.tif 000008
【図７】
2005123907.tif 000009
【図８】
2005123907.tif 000010
【図９】
2005123907.tif 000011
【図１０】
2005123907.tif 000012
【図１１】
2005123907.tif 000013
【図１２】
2005123907.tif 000014
【図１３】
2005123907.tif 000015
【図１４】
2005123907.tif 000016
【図１５】
2005123907.tif 000017
【図１６】
2005123907.tif 000018
【図１７】
2005123907.tif 000019
【図１８】
2005123907.tif 000020