(57)【要約】【課題】同一ＶＯＢＵの符号化ビデオデータを反復して入力することなく逆転再生を行うことができるデータ復号化装置とその方法を提供する。【解決手段】符号化ビデオデータバッファ部４０のバッファに書き込まれた１ＶＯＢＵ分のピクチャの中からシステム制御部６０によって復号化対象のピクチャが指定されると、ＶＯＢＵ内の配列順序の先頭から順番にピクチャが読み出されて復号化される。読み出されたピクチャがＰピクチャまたはＢピクチャの場合は、これより以前に読み出された参照ピクチャの復号化結果を参照して復号化が行われる。こうした復号化が繰り返されることにより、復号化対象ピクチャの復号化結果がビデオデータ復号化部５０から出力されると、次に、この復号化対象ピクチャより復号化順序が通常再生順において先のピクチャが新たな復号化対象として指定され、その復号化結果が上述と同様の処理によって得られる。【選択図】      図１
2004215185.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ復号化順序が割り当てられた複数の符号化データが列をなして形成されるデータユニットであって、他の符号化データの復号化結果を参照せずに復号化が可能な第１の符号化データと、上記復号化順序および上記列における順序が自らより先の符号化データの復号化結果を復号化に際して参照する必要がある第２の符号化データとを含んだデータユニットを記憶する符号化データ記憶手段と、
上記符号化データ記憶手段から読み出された符号化データを復号化し、読み出された符号化データが上記第２の符号化データである場合は以前に読み出された符号化データの復号化結果を参照して当該第２の符号化データを復号化し、指定された符号化データの復号化結果を出力する復号化結果出力手段と、
復号化対象の符号化データを上記復号化結果出力手段に指定し、上記符号化データ記憶手段に記憶された符号化データを上記列の先頭から順に読み出して上記復号化結果出力手段に供給し、上記指定に応じた復号化結果が上記復号化結果出力手段から出力された場合、上記指定した符号化データより上記復号化順序が先の符号化データを新たな復号化対象として上記復号化結果出力手段に指定して、上記列の先頭からの符号化データの読み出しを再び実行する制御手段と
を有するデータ復号化装置。
【請求項２】
上記符号化データ記憶手段は、複数の上記データユニットを記憶可能であり、上記制御手段は、復号化の際の参照先となる符号化データが自らを含むデータユニットとは異なる別のデータユニットに含まれる、特定の符号化データを復号化対象として指定した場合、上記参照先の符号化データを含むデータユニットの符号化データを上記列の先頭から末尾まで順に読み出して上記復号化結果出力手段に供給し、次いで、上記特定の符号化データを含むデータユニットの符号化データを上記列の先頭から順に読み出して上記復号化結果出力手段に供給する、
請求項１に記載のデータ復号化装置。
【請求項３】
上記特定の符号化データを復号化する際の参照先の符号化データは、上記特定の符号化データを含むデータユニットの前または後に連続して入力されるデータユニットに含まれており、
上記符号化データ記憶手段は、上記データユニットをそれぞれ記憶可能な複数のデータ記憶手段を有し、
上記制御手段は、上記複数のデータ記憶手段の何れか１つに同一データユニットの符号化データを順次書き込み、新たなデータユニットの入力を通知する信号が入力された場合、書き込み先を他のデータ記憶手段に変更する、
請求項２に記載のデータ復号化装置。
【請求項４】
上記制御手段は、上記書き込み先のデータ記憶手段を変更する場合において、変更前のデータ記憶手段に対する符号化データの書き込みを禁止する、
請求項３に記載のデータ復号化装置。
【請求項５】
上記制御手段は、書き込み先のデータ記憶手段に既に書き込まれた符号化データの数が所定の上限に達した場合、当該データ記憶手段に対する符号化データの書き込みを禁止する、
請求項３に記載のデータ復号化装置。
【請求項６】
上記制御手段は、上記復号化順序における先頭の符号化データの復号化結果が上記復号化結果出力手段から出力された場合、当該先頭の符号化データを記憶するデータ記憶手段の記憶データを消去するとともに、当該データ記憶手段に対する書き込みを禁止している場合はその禁止を解除する、
請求項４に記載のデータ復号化装置。
【請求項７】
上記制御手段は、上記新たなデータユニットの入力を通知する信号が入力された場合であっても、書き込み先として指定中のデータ記憶手段に読み出し可能な符号化データが書き込まれていない場合は、書き込み先の変更を行わない、
請求項６に記載のデータ復号化装置。
【請求項８】
上記符号化データ記憶手段は、上記データ記憶手段を２つ有しており、
上記制御手段は、新たな復号化対象として指定する符号化データが上記特定の符号化データである場合、読み出し中のデータ記憶手段に書き込まれた符号化データと他方のデータ記憶手段に書き込まれた符号化データとの入力順序が所定の順序であり、かつ、当該他方のデータ記憶手段に読み出し可能な符号化データが書き込まれていることを条件として、当該他方のデータ記憶手段に書き込まれた符号化データを上記列の先頭から順に読み出す、
請求項６に記載のデータ復号化装置。
【請求項９】
上記制御手段は、上記符号化データ記憶手段からの符号化データの読み出し中に、一方のデータ記憶手段の符号化データを全て読み出した場合、当該一方のデータ記憶手段に上記列の先頭から末尾までの符号化データが書き込まれており、当該一方のデータ記憶手段に書き込まれた符号化データと他方のデータ記憶手段に書き込まれた符号化データとの入力順序が所定の順序であり、かつ、当該他方のデータ記憶手段に読み出し可能な符号化データが書き込まれていることを条件として、当該他方のデータ記憶手段に書き込まれた符号化データを上記列の先頭から順に読み出す、
請求項８に記載のデータ復号化装置。
【請求項１０】
それぞれ復号化順序が割り当てられた複数の符号化データが列をなして形成されるデータユニットであって、他の符号化データの復号化結果を参照せずに復号化が可能な第１の符号化データと、上記復号化順序および上記列における順序が自らより先の符号化データの復号化結果を復号化に際して参照する必要がある第２の符号化データとを含んだデータユニットの中から、復号化対象の符号化データを指定する第１のステップと、
上記第１のステップにおいて復号化対象の符号化データが指定された場合、上記データユニットを記憶する符号化データ記憶装置より、上記列の先頭から順に符号化データを読み出して復号化し、読み出した符号化データが上記第２の符号化データである場合は以前に読み出した符号化データの復号化結果を参照して当該第２の符号化データを復号化し、上記復号化対象として指定した符号化データの復号化結果を取得する第２のステップとを有し、
上記指定した符号化データの復号化結果が上記第２のステップにおいて取得された場合、上記第１のステップにおいて、上記指定した符号化データより上記復号化順序が先の符号化データを新たな復号化対象として指定する、
データ復号化方法。
【請求項１１】
上記符号化データ記憶装置は、複数の上記データユニットを記憶可能であり、復号化の際の参照先となる符号化データが自らを含むデータユニットとは異なる別のデータユニットに含まれる、特定の符号化データが上記第１のステップにおいて復号化対象として指定された場合、上記第２のステップにおいて、上記参照先の符号化データを含むデータユニットの符号化データを上記列の先頭から末尾まで順に読み出して復号化し、次いで、上記特定の符号化データを含むデータユニットの符号化データを上記列の先頭から順に読み出して復号化し、上記特定の符号化データの復号化結果を取得する、
請求項１０に記載のデータ復号化方法。
【請求項１２】
上記特定の符号化データを復号化する際の参照先の符号化データは、上記符号化データ記憶装置に順次入力されるデータユニットのうち、上記特定の符号化データを含むデータユニットの前または後に連続して入力されるデータユニットに含まれており、
上記符号化データ記憶装置が有する複数のデータ記憶装置の何れか１つに同一データユニットの符号化データを順次書き込み、新たなデータユニットの入力が通知された場合、書き込み先を他のデータ記憶装置に変更する第３のステップを有する、
請求項１１に記載のデータ復号化方法。
【請求項１３】
上記第３のステップにおいて、上記書き込み先のデータ記憶装置を変更する場合、変更前のデータ記憶装置に対する符号化データの書き込みを禁止する、
請求項１２に記載のデータ復号化方法。
【請求項１４】
上記復号化順序における先頭の符号化データの復号化結果が上記第２のステップにおいて取得された場合、当該先頭の符号化データを記憶するデータ記憶装置の記憶データを消去するとともに、当該データ記憶装置に対する書き込みを禁止している場合はその禁止を解除する第４のステップを有する、
請求項１３に記載のデータ復号化方法。
【請求項１５】
上記符号化データ記憶装置は、上記データ記憶装置を２つ有しており、上記第１のステップにおいて新たな復号化対象として指定した符号化データが上記特定の符号化データである場合、読み出し中のデータ記憶装置に書き込まれた符号化データと他方のデータ記憶装置に書き込まれた符号化データとの入力順序が所定の順序であり、かつ、当該他方のデータ記憶装置に読み出し可能な符号化データが書き込まれていることを条件として、上記第２のステップにおいて、当該他方のデータ記憶装置に書き込まれた符号化データを上記列の先頭から順に読み出して復号化する、
請求項１４に記載のデータ復号化方法。
【請求項１６】
上記第２のステップにおいて、上記符号化データ記憶装置からの符号化データの読み出し中に、一方のデータ記憶装置の符号化データを全て読み出した場合、当該一方のデータ記憶装置に上記列の先頭から末尾までの符号化データが書き込まれており、当該一方のデータ記憶装置に書き込まれた符号化データと他方のデータ記憶装置に書き込まれた符号化データとの入力順序が所定の順序であり、かつ、当該他方のデータ記憶装置に読み出し可能な符号化データが書き込まれていることを条件として、当該他方のデータ記憶装置に書き込まれた符号化データを上記列の先頭から順に読み出す、
請求項１５に記載のデータ復号化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、符号化されたデータを復号化するデータ復号化装置とその方法に係り、たとえば、ＭＰＥＧ２（ｍｏｖｉｎｇ  ｐｉｃｔｕｒｅ  ｅｘｐｅｒｔｓ  ｇｒｏｕｐ  ２）などの画像符号化方式によって符号化された画像データを復号化するデータ復号化装置とその方法に関するものである。
【０００２】
【従来の技術】
図３５は、一般的なＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ）ビデオ再生装置の構成例を示すブロック図である。
図３５に示すＤＶＤビデオ再生装置は、多重化データ分離部１Ａと、多重化データバッファ部１Ｂと、多重化データ分離部１Ｃと、符号化ビデオデータバッファ部１Ｄと、ビデオデータ復号化部１Ｅと、符号化オーディオデータバッファ部１Ｆと、オーディオデータ復号化部１Ｇと、システム制御部１Ｈとを有する。
【０００３】
多重化データ供給部１Ａは、ＤＶＤ２に記録されている信号を読み出して符号化ビデオデータ、符号化オーディオデータ、符号化字幕データを取得し、取得したこれらの符号化データを分割・多重化して、多重化データバッファ部１Ｂに供給する。
【０００４】
多重化データ供給部１Ａによる多重化データの供給は、ＶＯＢＵ（ｖｉｄｅｏ  ｏｂｊｅｃｔ  ｕｎｉｔ）と呼ばれる単位で行われる。
図３６は、ＶＯＢＵの構成の一例を示す図である。
ＶＯＢＵは、物理的に連続してＤＶＤ上に記録されている各種の符号化データ（符号化ビデオデータ、符号化オーディオデータ、符号化字幕データ）をそれぞれ所定データ長ごとに分割してパック化し、パック化した符号化データ（以降、パックと表記する）を多重化して形成されるデータユニットである。このＶＯＢＵは、ＤＶＤビデオにおける最小の再生単位であり、１つのＶＯＢＵから０．４〜１．２［ｓｅｃ］の画像が再生される。
【０００５】
ＶＯＢＵの先頭には、前後に連なるＶＯＢＵの情報や、内部のパックに関する情報を含んだナビゲーション・データ（以降、Ｎａｖｉパックと表記する）が付加される。Ｎａｖｉパックは、ＶＯＢＵの先頭の識別や、システム制御部１Ｈによる各種の制御（ＶＯＢＵ供給範囲、供給方向の制御など）に用いられる。
【０００６】
１つのＶＯＢＵに含まれる各符号化データのパック数は、Ｐ−ＳＴＤ（ｐｒｏｇｒａｍ  ｓｔｒｅａｍ  ｓｙｓｔｅｍ  ｔａｒｇｅｔ  ｄｅｃｏｄｅｒ）と呼ばれる仮想的なデコーダ・モデルのバッファを破綻させないように、多重化データ供給部１Ａにおいて調節される。ＭＰＥＧ２のプログラム・ストリームを復号化する場合、このＰ−ＳＴＤのバッファを破綻させないように復号化しなければならないことがＭＰＥＧ２において規定されている。
【０００７】
また図３７（Ａ）に示すように、１つのＶＯＢＵに含まれる符号化ビデオデータは、整数個のＧＯＰ（ｇｒｏｕｐ  ｏｆ  ｐｉｃｔｕｒｅ）で構成されることが規定されている。
ＧＯＰは、符号化ビデオデータの基本単位であるピクチャの集合であり、それぞれのピクチャから１フレームまたは１フィールドの画像が復号化される。ＧＯＰを構成するピクチャには、次の３つの種類がある。
【０００８】
［Ｉピクチャ］
他のピクチャの復号化結果を参照せずに復号化可能なピクチャ
［Ｐピクチャ］
前方の参照ピクチャ（ＩピクチャまたはＰピクチャ）の復号化結果を参照して復号化するピクチャ
［Ｂピクチャ］
前後２枚の参照ピクチャの復号化結果を参照して復号化するピクチャ
【０００９】
図３７（Ｂ）は、ＧＯＰを構成するピクチャの一例を示す図である。
この図において、記号‘Ｉ２’はＩピクチャを、記号‘Ｂ０’、’Ｂ１’、‘Ｂ３’、‘Ｂ４’、‘Ｂ６’、‘Ｂ７’、‘Ｂ９’、‘Ｂ１０’、‘Ｂ１２’、‘Ｂ１３’はＢピクチャを、記号‘Ｐ５’、‘Ｐ８’、‘Ｐ１１’、‘Ｐ１４’はＰピクチャをそれぞれ示す。
図におけるピクチャの配列順序は、後述するビデオデータ復号化部１Ｅに対するピクチャの供給順序を示す。
記号‘Ｉ’、‘Ｐ’、‘Ｂ’に付された番号は、復号化の順序を示す。この図の例によれば、通常再生時において、‘Ｂ０’、’Ｂ１’、‘Ｉ２’、‘Ｂ３’、‘Ｂ４’、‘Ｐ５’、‘Ｂ６’、‘Ｂ７’、‘Ｐ８’、‘Ｂ９’、‘Ｂ１０’、‘Ｐ１１’、‘Ｂ１２’、‘Ｂ１３’、‘Ｐ１４’の順に画像の再生が行われる。
【００１０】
図３７に示すように、１つのＧＯＰには１つのＩピクチャが含まれる。また、一般に、Ｉピクチャは１５ピクチャごとに１枚挿入され、Ｐピクチャは３ピクチャごとに１枚挿入される。
【００１１】
多重化データ供給部１Ａには、ＶＯＢＵの供給範囲、供給方向（順方向／逆方向）、ＶＯＢＵのスキップ数などの条件を指定する命令が、システム制御部１Ｈから与えられる。
【００１２】
図３８は、各再生モードにおけるＶＯＢＵの供給例を示す図である。
通常再生の場合、図３８（Ａ）に示すように、各ＶＯＢＵが順方向に多重化データバッファ部１Ｂへ供給される。
早送り再生の場合は、図３８（Ｂ）に示すように、指定された数のＶＯＢＵをスキップさせながら（図の例では２ＶＯＢＵをスキップ）、順方向にＶＯＢＵの供給が行われる。
巻戻し再生の場合は、図３８（Ｃ）に示すように、指定された数のＶＯＢＵをスキップさせながら（図の例では２ＶＯＢＵをスキップ）、逆方向にＶＯＢＵの供給が行われる。
【００１３】
これに対し、逆転再生の場合は、図３８（Ｄ）に示すように、１つのＶＯＢＵを復号化するにあたって、この復号化対象のＶＯＢＵが繰り返し多重化データバッファ部１Ｂへ供給される。これは、逆転再生時において、復号化対象のＰピクチャおよびＢピクチャが、その参照ピクチャの復号化に用いられるピクチャより先に復号化されることによる。
【００１４】
すなわち、ＰピクチャおよびＢピクチャの復号化には参照ピクチャの復号化結果が必要であり、その参照ピクチャの復号化には、これに続く何枚かのピクチャの復号化結果が必要になる。その復号化結果の画像データは、後述するビデオデータ復号化部１Ｅのフレームバッファに一旦記憶される。フレームバッファに記憶された画像データは、これらのピクチャが後で復号化対象となった際にそのまま復号化結果として利用できるデータであるが、画像データはデータ量が多く、フレームバッファの数が限られることから、一旦フレームバッファに記憶されたとしても他のピクチャを復号化する過程で上書きされてしまう。このため、これらのピクチャが復号化対象となったとき、その復号化を再び実行する必要がある。このように、逆転再生の場合は、同じピクチャの符号化データが何度も必要となり、結果として、多重化データバッファ部１Ｂへの同一ＶＯＢＵの供給が繰り返されることになる。
【００１５】
また、ピクチャの中には、自らを含むＶＯＢＵとは異なる別のＶＯＢＵに参照ピクチャが含まれるものもある。
たとえば、図３７（Ｂ）のＧＯＰ（ＧＯＰｎ）に含まれるＢピクチャ‘Ｂ０’および‘Ｂ１’の復号化には、この前後に復号化される２つの参照ピクチャが必要である。一方の参照ピクチャはＩピクチャ‘Ｉ２’であり、他方の参照ピクチャはこのＧＯＰ（ＧＯＰｎ）の隣のＧＯＰ（ＧＯＰｎ−１）に含まれている。したがって、これら２つのＧＯＰが異なるＶＯＢＵに所属する場合、Ｂピクチャ‘Ｂ０’および‘Ｂ１’の参照ピクチャは、自らのＶＯＢＵとは異なる別のＶＯＢＵに含まれることになる。
このような特定のピクチャ（以降、特定ピクチャと表記する）が復号化される場合、多重化データ供給部１Ａには、２つのＶＯＢＵの供給を指示する命令がシステム制御部１Ｈにより与えられる。
【００１６】
多重化データバッファ部１Ｂは、多重化データを一時的に貯めておくためのリングバッファである。多重化データバッファ部１Ｂを設けることによって、多重化データ供給部１ＡからのＶＯＢＵの出力タイミングと、多重化データ分離部１ＣへのＶＯＢＵの入力タイミングとを非同期にすることが可能になる。
多重化データバッファ部１Ｂには、多重化データ供給部１Ａから供給される多重化データがＶＯＢＵごとに書き込まれる。多重化データ分離部１Ｃに書き込まれた多重化データは、多重化データ分離部１Ｃによって、書き込み順に読み出される。
また多重化データバッファ部１Ｂは、システム制御部１Ｈからの命令に応じて、バッファに格納されている多重化データを全て削除し、バッファを空の状態に初期化する。
【００１７】
多重化データ分離部１Ｃは、多重化データバッファ部１Ｂから読み出した多重化データを符号化ビデオデータ、符号化オーディオデータ、符号化字幕データ、ナビゲーション・データに分離し、パック化の際に付加されたヘッダ情報を取り除いて、後段に接続されている各符号化データのバッファに格納する。
【００１８】
図３９は、多重化データ分離部１Ｃにおける符号化データの分離動作の一例を図解した図である。図３９と図３５の同一符号は同一の構成要素を示す。
図３９に示すように、多重化データ分離部１Ｃにより分離された符号化ビデオデータ、符号化オーディオデータ、符号化字幕データおよびナビゲーション・データは、符号化ビデオデータバッファ部１Ｄ、符号化オーディオデータバッファ部１Ｆ、符号化字幕データバッファ１Ｊおよびナビゲーション・データバッファ１Ｋにそれぞれ格納される。
【００１９】
また多重化データ分離部１Ｃは、システム制御部１Ｈからの指定に応じて、符号化ビデオデータ、符号化オーディオデータおよび符号化字幕データのうち、分離して後段のバッファに供給する符号化データを選別する。
図４０は、多重化データ分離部１Ｃにおける符号化データの分離・選別動作の一例を図解した図である。図４０の例では、ＶＯＢＵに含まれる各種の符号化データのうち、符号化ビデオデータのみが分離されて符号化ビデオデータバッファ１Ｄに供給されている。たとえば逆転再生時においては、図４０に示すように、符号化ビデオデータのみが分離される。
【００２０】
符号化ビデオデータバッファ部１Ｄは、符号化ビデオデータを一時的に貯めておくためのリングバッファである。符号化ビデオデータバッファ部１Ｄを設けることによって、多重化データ分離部１Ｃからの符号化ビデオデータの出力タイミングと、ビデオデータ復号化部１Ｅへの符号化ビデオデータの入力タイミングとを非同期にすることができる。
【００２１】
図４１は、符号化ビデオデータバッファ部１Ｄの構成の一例を示すブロック図である。図４１の例に示す符号化ビデオデータバッファ部１Ｄは、ＲＡＭなどの記憶装置によって構成される記憶部１Ｄ１と、この記憶部１Ｄ１に対する書き込みアドレスおよび読み出しアドレスを制御することによりリングバッファとしての動作を実現するリングバッファ制御部１Ｄ２とを有する。
【００２２】
符号化ビデオデータバッファ部１Ｄには、多重化データ分離部１Ｃにおいて分離された符号化ビデオデータが書き込まれる。符号化ビデオデータバッファ部１Ｄに書き込まれた符号化ビデオデータは、ビデオデータ復号化部１Ｅによって書き込み順に読み出される。
また符号化ビデオデータバッファ部１Ｄは、システム制御部１Ｈの命令によりバッファに格納されているデータを全て削除し、バッファを空の状態に初期化する。
【００２３】
ビデオデータ復号化部１Ｅは、符号化ビデオデータバッファ部１Ｄから読み出した符号化ビデオデータを復号化し、ビデオ信号に変換して出力する。
ビデオデータ復号化部１Ｅの内部には、復号化の際に参照ピクチャの復号化結果を格納するためのフレームバッファが設けられており、一般に３ピクチャ分の画像データを格納することが可能である。
【００２４】
ビデオデータ復号化部１Ｅには、再生モード（通常再生モード、早送り再生モード、巻戻し再生モードおよび逆転再生モード）を指定する命令がシステム制御部１Ｈより与えられる。
通常再生モードでは、順方向に供給される符号化ビデオデータの全ピクチャを復号化し、順方向に出力する。
早送り／巻き戻し再生モードでは、順方向／逆方向に供給される符号化ビデオデータのうち、Ｉピクチャのみを復号化して出力する。
逆転再生モードでは、供給される符号化ビデオデータのうち、システム制御部１Ｈが指定するピクチャのみを復号化して出力する。
【００２５】
システム制御部１Ｈは、各バッファ部の初期化や、再生モードの指定、多重化データの供給条件の指定、ＶＯＢＵから分離する符号化データの選別など、システム全体の制御を行う。
【００２６】
ここで、上述したＤＶＤビデオ再生装置の通常再生モードおよび逆転再生モードにおける動作を説明する。
【００２７】
＜通常再生時の動作＞
図４２は、図３５に示すＤＶＤビデオ再生装置の通常再生時における動作を説明するための図である。
【００２８】
１．／初期化および動作モードの設定／
まず、システム制御部１Ｈからの命令に応じて、各ユニットの初期設定が行われる。
すなわち、多重化データバッファ部１Ｂ、符号化ビデオデータバッファ部１Ｄの記憶領域が設定され、記憶内容が空状態に初期化される。
多重化データ供給部１Ａには、多重化データの供給範囲が指定されるとともに、供給方向として順方向、スキップ数としてゼロ（スキップなし）が指定される。
多重化データ分離部１Ｃには、分離対象の符号化データとして、ビデオデータ、オーディオデータ、字幕データの全てが指定される。
ビデオデータ復号化部１Ｅには、通常再生モードでの復号化動作が指定される。
【００２９】
２．／多重化データの供給／
多重化データバッファ部１Ｂに空きがあり、かつ、多重化データの書き込みが可能であれば、多重化データ供給部１Ａから多重化データバッファ部１Ｂへ多重化データが供給される。
【００３０】
３．／多重化データの分離／
各符号化データバッファ部の空き領域に符号化データの書き込みを行うことが可能であり、かつ、多重化データバッファ部１Ｂに格納された多重化データを読み出すことが可能であれば、多重化データバッファ部１Ｂから多重化データが読み出されて多重化データ分離部１Ｃにおいて各符号化データに分離され、分離された符号化データが対応する符号化データバッファ部に格納される。
【００３１】
４．／復号化および出力／
ビデオデータ復号化部１Ｅのフレームバッファに復号化後の画像データを格納することが可能であり、かつ、符号化ビデオデータバッファ部１Ｄに格納された符号化ビデオデータを読み出すことが可能であれば、符号化ビデオデータバッファ部１Ｄから符号化ビデオデータが読み出されてビデオデータ復号化部１Ｅにより復号化される。復号化結果の画像データは、ビデオデータ復号化部１Ｅのフレームバッファに格納され、順次ビデオ信号に変換されて、表示装置３に出力される。
【００３２】
上述した「２．多重化データの供給」、「３．多重化データの分離」、「４．復号化／出力」の処理が並列して実行されることにより、通常再生が実現される。
【００３３】
図４３（Ａ）は、通常再生時においてビデオデータ復号化部１Ｅに入力される復号化前のＧＯＰの一例を示す図であり、図４３（Ｂ）は、この復号化前のＧＯＰに対応してビデオデータ復号化部１Ｅから出力される復号化後のＧＯＰを示す図である。
図４４は、図４３に示すＧＯＰの復号化結果が、復号化の過程においてビデオデータ復号化部１Ｅの３つのフレームバッファ（Ａ〜Ｃ）に格納される様子を図解した図である。
【００３４】
図４４に示すように、ＰピクチャおよびＢピクチャは、フレームバッファに既に格納されている参照ピクチャを用いて復号化される。たとえば、ＧＯＰｎのＢピクチャ‘Ｂ３’は、フレームバッファＡおよびＢに格納されたＩピクチャ‘Ｉ２’およびＰピクチャ‘Ｐ５’の復号化後の画像データを用いて復号化され、その結果がフレームバッファＣに格納される。
【００３５】
また図４４に示すように、通常再生では、参照ピクチャの復号化に必要なピクチャが復号化対象のピクチャより先に出力されるため、これらを再び復号化する必要がない。
たとえば、Ｂピクチャ‘Ｂ１２’を復号化する場合、参照ピクチャ‘Ｐ１１’および‘Ｐ１４’の復号化結果が必要であり、この参照ピクチャを復号化するには、さらにピクチャ‘Ｉ２’、‘Ｐ５’、‘Ｐ８’の復号化も必要である。このピクチャ‘Ｉ２’、‘Ｐ５’、‘Ｐ８’は、何れもＢピクチャ‘Ｂ１２’を復号化する前に出力されるため、これらを再び読み出して復号化する必要はない。
【００３６】
すなわち、通常再生では、ＧＯＰ中のピクチャを先頭から順方向に読み出して復号化し、その復号化結果を空いたフレームバッファに順次格納することにより、ＧＯＰの再読み出し／再復号化を行うことなく、符号化ビデオデータをビデオ信号に変換すること可能である。
【００３７】
＜逆転再生時の動作＞
図４５は、図３５に示すＤＶＤビデオ再生装置の逆転再生時における動作を説明するための図である。
また図４６は、逆転再生時における各処理の順序を図解したシーケンス図である。
【００３８】
１．／初期化および動作モードの設定／
システム制御部１Ｈからの命令に応じて、多重化データバッファ部１Ｂ、符号化ビデオデータバッファ部１Ｄの記憶領域が設定され（ステップＳＴ１）、その記憶内容が空に初期化される（ステップＳＴ３）。
ビデオデータ復号化部１Ｅには、逆転再生モードでの復号化動作が指定される（ステップＳＴ２）。
多重化データ分離部１Ｃには、分離対象の符号化データとして、ビデオデータのみが指定される（ステップＳＴ２）。したがって、オーディオデータおよび字幕データの分離および復号化は行われない。
【００３９】
２．／多重化データの供給範囲の指定／
多重化データ供給部１Ａには、システム制御部１Ｈからの命令に応じて、多重化データの供給範囲が指定される（ステップＳＴ４）。供給範囲は、符号化対象のピクチャに応じて、１ＶＯＢＵまたは２ＶＯＢＵに設定される。供給範囲が２ＶＯＢＵの場合、その供給方向は順方向、スキップ数はゼロ（スキップなし）に設定される。
【００４０】
３．／多重化データの供給／
多重化データバッファ部１Ｂに空きがあり、かつ、多重化データの書き込みが可能であれば（ステップＳＴ５）、多重化データ供給部１Ａから多重化データバッファ部１Ｂへ多重化データが供給される（ステップＳＴ６）。
【００４１】
４．／多重化データの分離／
符号化ビデオデータバッファ部１Ｄの空き領域にデータを書き込みむことが可能であり（ステップＳＴ８）、かつ、多重化データバッファ部１Ｂに格納された多重化データを読み出すことが可能であれば（ステップＳＴ７）、多重化データバッファ部１ＢからＶＯＢＵごとに多重化データが読み出される（ステップＳＴ９）。この読み出された多重化データから、多重化データ分離部１Ｃにおいて符号化ビデオデータのみが分離され（ステップＳＴ１０）、分離された符号化ビデオデータが符号化ビデオデータバッファ部１Ｄに格納される（ステップＳＴ１１）。
【００４２】
５．／復号化命令／
システム制御部１Ｈからの復号化命令に応じて、ビデオデータ復号化部１Ｅには逆転再生モードでの復号化動作が指定されるとともに、復号化対象のピクチャ範囲が指定される（ステップＳＴ１２）。
【００４３】
６．／復号化および出力／
ビデオデータ復号化部１Ｅのフレームバッファに復号化後の画像データを格納することが可能であり（ステップＳＴ１４）、かつ、符号化ビデオデータバッファ部１Ｄに格納された符号化ビデオデータを読み出すことが可能であれば（ステップＳＴ１３）、符号化ビデオデータバッファ部１Ｄから符号化ビデオデータが読み出される（ステップＳＴ１５）。
【００４４】
詳しく述べると、ビデオデータ復号化部１Ｅのフレームバッファに復号化後の画像データを格納することが可能である場合（ステップＳＴ１４）、ビデオデータ復号化部１Ｅから符号化ビデオデータバッファ部１Ｄに対して、読み出し可否の問い合わせが発せられる（ステップＳＴ１３）。この読み出し可否問い合わせに応じて、符号化ビデオデータバッファ部１Ｄでは、読み出しポインタと書き込みポインタとの位置関係から読み出しの可否が判定される。判定結果はビデオデータ復号化部１Ｅに通知され、読み出し可能の判定結果が通知された場合、符号化ビデオデータバッファ部１Ｄから符号化データから読み出される（ステップＳＴ１５）。
【００４５】
読み出された復号化データは、ビデオデータ復号化部１Ｅにおいて順次復号化され（ステップＳＴ１６）、その復号化結果がフレームバッファに格納される（ステップＳＴ１７）。
ただし、Ｂピクチャは他のピクチャに対する参照ピクチャとして用いられないため、復号化対象のものを除き、ビデオデータ復号化部１Ｅにおいて復号化されずに破棄される。
復号化対象のピクチャが全て復号化されたところで、符号化ビデオデータの読み出しと復号化は停止される。
【００４６】
フレームバッファに復号化対象のピクチャの画像データが格納されると、格納された画像データはビデオデータ復号化部１Ｅの出力部に読み出され（ステップＳＴ１８）、ビデオ信号に変換されて出力される（ステップＳＴ１９）。復号化対象として指定されたピクチャが複数の場合は、順方向再生順とは逆の順番で、フレームバッファに格納された画像データが読み出され、ビデオ信号に変換される。
【００４７】
復号化対象として指定されたピクチャの画像データがフレームバッファからすべて読み出されることにより、次に読み出すべき画像データがフレームバッファに存在しなくなると、ビデオデータ復号化部１Ｅからシステム制御部１Ｈに対してＶＯＢＵの再供給要求が発せられる（ステップＳＴ２０、ステップＳＴ２１）。
このとき、次に復号化対象となるピクチャが、上述した特定ピクチャでない通常のピクチャの場合は、今まで供給されていたＶＯＢＵの再供給が要求される。次に復号化対象となるピクチャが特定ピクチャの場合は、今まで供給されていたＶＯＢＵに加えて、このＶＯＢＵに対し順方向再生順で先に復号化されるＶＯＢＵの再供給が要求される。
【００４８】
上述した「２．多重化データの供給範囲の指定」、「３．多重化データの供給」、「４．多重化データの分離」、「５．復号化命令」および「６．復号化および出力」が、復号化対象ピクチャ範囲を逆方向再生順に変化させながら実行されることにより、逆転再生が実現される。
【００４９】
図４７（Ａ）は、逆転再生時において、通常のピクチャ（‘Ｂ１２’）が復号化対象の場合にビデオデータ復号化部１Ｅに入力される復号化前のＧＯＰの一例を示す図である。
図４７（Ｂ）は、Ｂピクチャ‘Ｂ１２’を復号化する際に参照されるピクチャを図解した図である。
図４７（Ｃ）は、ビデオデータ復号化部１Ｅから出力される復号化後のピクチャ（‘Ｂ１２’）を示す図である。
図４８は、図４７に示すＧＯＰの復号化結果が、復号化の過程においてビデオデータ復号化部１Ｅの３つのフレームバッファ（Ａ〜Ｃ）に格納される様子を図解した図である。
【００５０】
図４７（Ｂ）に示すように、復号化対象が通常のピクチャ（ＰピクチャおよびＢピクチャ）の場合は、自らと同一のＶＯＢＵに含まれるピクチャを参照して復号化される。
たとえばＢピクチャ‘Ｂ１２’の復号化には参照ピクチャ‘Ｐ１１’および‘Ｐ１４’の復号化結果が必要であり、この参照ピクチャを復号化するためには、さらにピクチャ‘Ｉ２’、‘Ｐ５’および‘Ｐ８’の復号化結果が必要である。
【００５１】
１つのピクチャの復号化に用いられる他のピクチャの復号化結果は、図４８に示すように、３つのフレームバッファに随時格納される。復号化対象のピクチャを復号化するために必要なピクチャは最終的に１枚（Ｐピクチャ）または２枚（Ｂピクチャ）なので、他のピクチャの復号化結果は復号化の過程で上書きにより消去される。たとえば、図４８におけるピクチャ‘Ｉ２’、‘Ｐ５’および‘Ｐ８’は他のピクチャを復号化する過程で上書きされ、Ｂピクチャ‘Ｂ１２’の復号化時にはフレームバッファ上に存在しない。
【００５２】
逆転再生の場合、上書きによって復号化結果が消去されてしまうこれらのピクチャは、後に復号化対象として指定された際に、再びその復号化が必要になる。このため、１つのＶＯＢＵ内のピクチャの復号化が完了するまでに、このＶＯＢＵが何度もビデオデータ復号化部１Ｅに供給されて同一ピクチャの復号化が行われる必要がある。
【００５３】
図４９（Ａ）は、逆転再生時において、特定ピクチャ（‘Ｂ１’）が復号化対象の場合にビデオデータ復号化部１Ｅに入力される復号化前のＧＯＰの一例を示す図である。
図４９（Ｂ）は、特定ピクチャ‘Ｂ１’を復号化する際に参照されるピクチャを図解した図である。
図４９（Ｃ）は、ビデオデータ復号化部１Ｅから出力される復号化後の特定ピクチャ（‘Ｂ１’）を示す図である。
図５０は、図４９に示すＧＯＰの復号化結果が、復号化の過程においてビデオデータ復号化部１Ｅの３つのフレームバッファ（Ａ〜Ｃ）に格納される様子を図解した図である。
【００５４】
図４９（Ｂ）に示すように、復号化対象のピクチャが特定ピクチャの場合は、自らと異なるＶＯＢＵに含まれるピクチャを参照して復号化される。
たとえば特定ピクチャ‘Ｂ１’の復号化には、自らと同一のＶＯＢＵｎに含まれる参照ピクチャ‘Ｉ２’と、このＶＯＢＵｎに対して順方向再生順で先に復号化されるＶＯＢＵｎ−１に含まれる参照ピクチャ‘Ｐ１４’の復号化結果が必要である。また、参照ピクチャ‘Ｐ１４’を復号化するためには、ＶＯＢＵｎ−１に含まれるピクチャ‘Ｉ２’、‘Ｐ５’、‘Ｐ８’および‘Ｐ１１’の復号化結果がさらに必要である。
図５０に示すように、これらのピクチャ‘Ｉ２’、‘Ｐ５’、‘Ｐ８’および‘Ｐ１１’の復号化結果は、特定ピクチャ‘Ｂ１’の復号化時においてフレームバッファから消去されるため、後に復号化対象として指定された際に、再び多重化データ供給部１Ａから供給を受ける必要がある。
【００５５】
【発明が解決しようとする課題】
ところで、上述したＤＶＤビデオ再生装置で逆転再生を行う場合、他の再生モードに比べて、多重化データ供給部１Ａにおける多重化データの供給回数が非常に多くなってしまう不利益がある。
多重化データ供給部１Ａでは、多重化データの供給が行われるたびにＤＶＤへのアクセスが行われ、ＤＶＤから所望の符号化データを検索するための遅延時間が発生する。このため、多重化データの供給回数が増えると、逆転再生の速度が遅くなってしまう不利益が生じる。また、多重化データの供給回数の増加によって、消費電力が増大する不利益も生じる。
【００５６】
多重化データ供給部１Ａにおける多重化データの供給回数を減らす方法として、たとえば、ビデオデータ復号化部１Ｅ内のフレームバッファの記憶容量を大きくする方法がある。しかしながら、復号化された後の画像データはデータ・サイズが非常に大きいため、フレームバッファの記憶容量を大きくした場合、コストが上昇してしまう不利益が生じる。
【００５７】
本発明はかかる事情に鑑みてなされたものであり、その目的は、それぞれ復号化順序が割り当てられた符号化データを入力して復号化し、その復号化結果を割り当てられた復号化順序に応じて順に出力する際に、復号化後のデータを格納するための記憶装置を増やすことなく、同一符号化データを反復して入力する回数を削減することができるデータ復号化装置とその方法を提供することにある。
【００５８】
【課題を解決するための手段】
上記の目的を達成するため、本発明の第１の観点のデータ復号化装置は、それぞれ復号化順序が割り当てられた複数の符号化データが列をなして形成されるデータユニットであって、他の符号化データの復号化結果を参照せずに復号化が可能な第１の符号化データと、上記復号化順序および上記列における順序が自らより先の符号化データの復号化結果を復号化に際して参照する必要がある第２の符号化データとを含んだデータユニットを記憶する符号化データ記憶手段と、上記符号化データ記憶手段から読み出された符号化データを復号化し、読み出された符号化データが上記第２の符号化データである場合は以前に読み出された符号化データの復号化結果を参照して当該第２の符号化データを復号化し、指定された符号化データの復号化結果を出力する復号化結果出力手段と、復号化対象の符号化データを上記復号化結果出力手段に指定し、上記符号化データ記憶手段に記憶された符号化データを上記列の先頭から順に読み出して上記復号化結果出力手段に供給し、上記指定に応じた復号化結果が上記復号化結果出力手段から出力された場合、上記指定した符号化データより上記復号化順序が先の符号化データを新たな復号化対象として上記復号化結果出力手段に指定して、上記列の先頭からの符号化データの読み出しを再び実行する制御手段とを有する。
【００５９】
本発明の第１の観点のデータ復号化装置によれば、上記復号化結果出力手段に対して復号化対象の符号化データが指定され、上記符号化データ記憶手段に記憶された符号化データが上記列の先頭から順に読み出されて上記復号化結果出力手段に供給される。上記復号化結果出力手段においては、上記符号化データ記憶手段から読み出された符号化データが順次復号化される。読み出された符号化データが上記第２の符号化データである場合は、以前に読み出された符号化データの復号化結果が参照されて当該第２の符号化データが復号化される。これにより、上記復号化結果出力手段において、上記指定された符号化データが復号化され、その復号化結果が出力される。上記指定に応じた復号化結果が上記復号化結果出力手段から出力された場合、上記指定された符号化データより上記復号化順序が先の符号化データが新たな復号化対象として上記復号化結果出力手段に指定され、上記列の先頭からの符号化データの読み出しが再び実行される。
【００６０】
好適には、上記符号化データ記憶手段において、複数の上記データユニットを記憶することができる。また、上記制御手段において、復号化の際の参照先となる符号化データが自らを含むデータユニットとは異なる別のデータユニットに含まれる、特定の符号化データが復号化対象として指定された場合、上記参照先の符号化データを含むデータユニットの符号化データが上記列の先頭から末尾まで順に読み出されて上記復号化結果出力手段に供給され、次いで、上記特定の符号化データを含むデータユニットの符号化データが上記列の先頭から順に読み出されて上記復号化結果出力手段に供給される。
【００６１】
本発明の第２の観点のデータ復号化方法は、それぞれ復号化順序が割り当てられた複数の符号化データが列をなして形成されるデータユニットであって、他の符号化データの復号化結果を参照せずに復号化が可能な第１の符号化データと、上記復号化順序および上記列における順序が自らより先の符号化データの復号化結果を復号化に際して参照する必要がある第２の符号化データとを含んだデータユニットの中から、復号化対象の符号化データを指定する第１のステップと、上記第１のステップにおいて復号化対象の符号化データが指定された場合、上記データユニットを記憶する符号化データ記憶装置より、上記列の先頭から順に符号化データを読み出して復号化し、読み出した符号化データが上記第２の符号化データである場合は以前に読み出した符号化データの復号化結果を参照して当該第２の符号化データを復号化し、上記復号化対象として指定した符号化データの復号化結果を取得する第２のステップとを有し、上記指定した符号化データの復号化結果が上記第２のステップにおいて取得された場合、上記第１のステップにおいて、上記指定した符号化データより上記復号化順序が先の符号化データを新たな復号化対象として指定する。
【００６２】
本発明の第２の観点のデータ復号化方法によれば、上記第１のステップにおいて、上記データユニットの中から、復号化対象の符号化データが指定される。上記第１のステップにおいて復号化対象の符号化データが指定された場合、上記第２のステップにおいて、上記データユニットを記憶する符号化データ記憶装置より、上記列の先頭から順に符号化データが読み出されて復号化される。読み出された符号化データが上記第２の符号化データである場合は、以前に読み出された符号化データの復号化結果を参照して当該第２の符号化データが復号化される。これにより、上記復号化対象として指定された符号化データの復号化結果が取得される。上記指定された符号化データの復号化結果が上記第２のステップにおいて取得された場合、上記第１のステップにおいて、上記指定した符号化データより上記復号化順序が先の符号化データが新たな復号化対象として指定される。
【００６３】
好適には、上記符号化データ記憶装置は、複数の上記データユニットを記憶可能である。また、復号化の際の参照先となる符号化データが自らを含むデータユニットとは異なる別のデータユニットに含まれる、特定の符号化データが上記第１のステップにおいて復号化対象として指定された場合、上記第２のステップにおいて、上記参照先の符号化データを含むデータユニットの符号化データが上記列の先頭から末尾まで順に読み出されて復号化され、次いで、上記特定の符号化データを含むデータユニットの符号化データが上記列の先頭から順に読み出されて復号化される。これにより、上記特定の符号化データの復号化結果が取得される。
【００６４】
【発明の実施の形態】
図１は、本発明に係るデータ復号化装置の構成の一例を示すブロック図である。
図１に示すデータ復号化装置は、多重化データ供給部１０と、多重化データバッファ部２０と、多重化データ分離部３０と、符号化ビデオデータバッファ部４０と、ビデオデータ復号化部５０と、システム制御部６０とを有する。
また、符号化ビデオデータバッファ部４０は、バッファ４１および４２と、バッファ制御部４３とを有する。
【００６５】
（多重化データ供給部１０）
多重化データ供給部１０は、たとえば符号化ビデオデータ、符号化オーディオデータ、符号化字幕データなどの各種の符号化データを取得し、取得したこれらの符号化データを分割・多重化して、多重化データバッファ部２０に供給する。符号化データは、たとえばＤＶＤなどの各種の記録媒体に記録された情報を読み取ることによって取得しても良いし、インターフェースを介したデータ通信によって外部の装置から取得しても良い。
以下の説明では、例として、パック化された符号化ビデオデータ、符号化オーディオデータ、符号化字幕データおよびナビゲーション・データを含んだ上述のＶＯＢＵを最小単位として、多重化データの供給を行うものとする。
【００６６】
多重化データ供給部１０には、ＶＯＢＵの供給範囲、供給方向（順方向／逆方向）、ＶＯＢＵのスキップ数などの条件を指定する命令が、システム制御部６０から与えられる。
【００６７】
通常再生、早送り再生、および巻戻し再生におけるＶＯＢＵの供給動作は、図３８（Ａ）〜（Ｃ）に示す動作と同様である。すなわち、通常再生の場合、スキップなしに順方向にＶＯＢＵの供給を行う。早送り再生の場合は、指定された数のＶＯＢＵをスキップさせながら、順方向にＶＯＢＵの供給を行う。巻戻し再生の場合は、指定された数のＶＯＢＵをスキップさせながら、逆方向にＶＯＢＵの供給を行う。
一方、逆転再生の場合は、図３８（Ｃ）に示すようなＶＯＢＵの再供給は行わず、スキップなしに逆方向にＶＯＢＵの供給を行う。
【００６８】
（多重化データバッファ部２０）
多重化データバッファ部２０は、多重化データを一時的に貯めておくためのバッファであり、たとえばリングバッファが用いられる。
多重化データバッファ部２０には、多重化データ供給部１０から供給される多重化データがＶＯＢＵごとに書き込まれる。多重化データ分離部２０に書き込まれた多重化データは、多重化データ分離部３０によって、書き込み順に読み出される。
また多重化データバッファ部２０は、システム制御部６０からの命令に応じて、バッファに格納されている多重化データを全て削除し、バッファを空の状態に初期化する。
【００６９】
（多重化データ分離部３０）
多重化データ分離部３０は、多重化データバッファ部２０から多重化データを読み出して、多重化データに含まれるパック化された符号化ビデオデータを分離する。分離した符号化ビデオデータは、符号化ビデオデータバッファ部４０に書き込む。
【００７０】
すなわち、符号化ビデオデータバッファ部４０に対して符号化ビデオデータの書き込み可否を問い合わせるとともに（図２１）、多重化データバッファ部２０に対して多重化データの読み出し可否を問い合わせる。問い合わせの結果、符号化ビデオデータバッファ部４０が書き込み可能で、かつ多重化データバッファ部２０が読み出し可能の場合、多重化データバッファ部２０に対して多重化データの読み出し要求を発し、バッファに書き込まれた多重化データを読み出し、読み出した多重化データに含まれるパック化された符号化ビデオデータを分離する。次いで、符号化ビデオデータバッファ部４０に対して書き込み要求（図２４）を発し、分離した符号化ビデオデータを符号化ビデオデータバッファ部４０に書き込む。
【００７１】
なお、特に図示していないが、多重化データ分離部３０において分離される他の符号化データ（符号化オーディオデータ、符号化字幕データ、Ｎａｖｉパック）を、それぞれ個別のバッファ部に格納しても良い。
【００７２】
また多重化データ分離部３０は、新たなＮａｖｉパックを分離するたびに、システム制御部６０に対してＮａｖｉパックの分離を通知する割り込み信号を出力する。この割り込み信号は、符号化ビデオデータバッファ部４０に対する新たなＶＯＢＵの入力を通知する信号である。後述するように、この割り込み信号がシステム制御部６０へ出力されることにより、符号化ビデオデータバッファ部４０におけるＶＯＢＵの書き込み先バッファが変更される（図２０）。
【００７３】
また多重化データ分離部３０は、システム制御部６０からの指定に応じて、符号化ビデオデータ、符号化オーディオデータおよび符号化字幕データのうち、分離して後段のバッファに供給する符号化データを選別しても良い。たとえば逆転再生時において、符号化ビデオデータのみを分離しても良い。
【００７４】
（符号化ビデオデータバッファ部４０）
符号化ビデオデータバッファ部４０は、多重化データ分離部３０から供給される符号化ビデオデータを一時的に貯めておくためのバッファであり、たとえば２ＶＯＢＵ分の符号化ビデオデータを格納することができる。
【００７５】
図３７に示すように、１ＶＯＢＵ分の符号化ビデオデータはゼロ個または整数個のＧＯＰで構成される。ＧＯＰは、他のピクチャの復号化結果を参照せずに復号化が可能な１つのＩピクチャと、それを参照して復号される幾つかのＰピクチャおよびＢピクチャで構成される。
それぞれのピクチャには、たとえば‘Ｂ０’，’Ｂ１’，‘Ｉ２’，…というように、復号化の順序が割り当てられている。一方、ＶＯＢＵ内のピクチャは、この復号化順序とは別に、たとえば‘Ｉ２’，‘Ｂ０’，’Ｂ１’，…というような配列を有している。
すなわち、１ＶＯＢＵ分の符号化ビデオデータは、それぞれ復号化順序が割り当てられた複数のピクチャ（Ｉ，Ｐ，Ｂ）が列をなして形成されたデータユニットである。
【００７６】
この１ＶＯＢＵ分の符号化ビデオデータを用いて逆転再生を行う場合、ＰピクチャおよびＢピクチャは、上述した復号化順序および配列順序が自らより先の符号化データの復号化結果を復号化に際して参照する必要がある。たとえば、Ｂピクチャ‘Ｂ１２’を復号化する場合、復号化順序および配列順序が自らより先のＰピクチャ‘Ｐ１１’の復号化結果を参照する必要がある。
【００７７】
なお、ここでいう「復号化順序が先」とは、通常再生時においてビデオデータ復号化部５０から復号化結果（画像データやビデオ信号）として出力される順番が先であることを意味する。また、ここでいう「配列順序が先」とは、通常再生時においてビデオデータ復号化部５０に供給される順序が先であることを意味する。
以降の説明においては、特に断らないかぎり、符号化ビデオデータ（ピクチャ、ＶＯＢＵ）の復号化順序および配列順序に関する表現（先／後）を、上述と同様の意味で用いる。
【００７８】
図２は、逆転再生時における符号化ビデオデータバッファ部４０の概念的な動作を図解した図である。また図３は、逆転再生時におけるＶＯＢＵごとの符号化データの書き込み順序および読み出し順序を図解した図である。
２つのバッファ（４１，４２）にはそれぞれ１ＶＯＢＵ分の符号化ビデオデータを格納可能である。図３に示すように多重化データ分離部３０から１ＶＯＢＵずつ逆順に供給される符号化ビデオデータは、図２に示すように書き込み先のバッファを切り替えながら、２つのバッファ（４１，４２）に１ＶＯＢＵずつ格納される。したがって、２つのバッファ（４１，４２）には、連続して入力される２ＶＯＢＵ分の符号化ビデオデータを格納することができる。
【００７９】
逆転再生時において必要となる１ＶＯＢＵ分または２ＶＯＢＵ分の符号化ビデオデータは、多重化データ供給部１０ではなく、符号化ビデオデータバッファ部４０から再供給される。
符号化ビデオデータバッファ部４０は、システム制御部６０から１ＶＯＢＵの再供給準備命令が与えられると、現在読み出し中のバッファに格納されたＶＯＢＵの先頭に読み出しポインタを戻す。そして、ビデオデータ復号化部５０からの読み出し要求を受けて、同一のＶＯＢＵをその先頭から再び出力する。
【００８０】
また、システム制御部６０から２ＶＯＢＵ分の再供給準備命令が与えられると、符号化ビデオデータバッファ部４０は、現在読み出し中のバッファではない他方のバッファに読み出し先を切り替え、その他方のバッファに格納された配列順序が先のＶＯＢＵ（ＶＯＢＵｎ−１）の先頭に読み出しポインタを移す。そして、ビデオデータ復号化部５０からの読み出し要求を受けて、配列順序が先のＶＯＢＵ（ＶＯＢＵｎ−１）をその先頭から出力する。このＶＯＢＵ（ＶＯＢＵｎ−１）の読み出しが終了した後、読み出し先を再び元のバッファへ戻し、元のバッファに格納されたＶＯＢＵ（ＶＯＢＵｎ）をその先頭から出力する。
【００８１】
ここで、符号化ビデオデータバッファ部４０の各構成要素について説明する。
【００８２】
（バッファ４１および４２）
図４は、バッファ４１および４２の構成の一例を示すブロック図である。
バッファ４１および４２は、記憶部４０１と、制御部４０２とをそれぞれ有する。
なお、記憶部４０１を含むユニットは、本発明の符号化データ記憶手段の一実施形態である。
【００８３】
記憶部４０１は、１ＶＯＢＵ分の符号化ビデオデータを格納できる記憶容量を有しており、たとえばＳＤＲＡＭ（ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）やハードディスクなどの記憶装置を用いて構成される。
【００８４】
制御部４０２は、記憶部４０１に対するデータの書き込みや読み出しに関する各種の制御を行う。
すなわち、記憶部４０１の状態を示すフラグ（ＢＰＦ）や、記憶部４０１のアドレスを指示する各種のポインタ（ＷＰ，ＲＰ，ＢＳＡ，ＢＥＡ）を管理し、バッファ制御部４３からの問い合わせを受けて、これらのフラグやポインタの値に応じた回答を返す。また、バッファ制御部４３からの要求を受けて、これらのフラグやポインタの値に応じた各種の処理（書き込み、読み出し、フラグ・ポインタの更新など）を実行する。
【００８５】
制御部４０１は、たとえば以下に述べるポインタおよびフラグを管理する。
【００８６】
＜スタートポインタＢＳＡ（ｂｕｆｆｅｒ  ｓｔａｒｔ  ａｄｄｒｅｓｓ）＞
スタートポインタＢＳＡは、記憶部４０１においてデータの格納に使用される記憶領域の先頭アドレスを指示する。
【００８７】
＜エンドポインタＢＥＡ（ｂｕｆｆｅｒ  ｅｎｄ  ａｄｄｒｅｓｓ）＞
エンドポインタＢＥＡは、記憶部４０１においてデータの格納に使用される記憶領域の末尾アドレスを指示する。
【００８８】
＜書き込みポインタＷＰ（ｗｒｉｔｅ  ｐｏｉｎｔｅｒ）＞
書き込みポインタＷＰは、記憶部４０１において次に書き込みが行われるアドレスを指示するとともに、読み出し可能なデータが格納されている記憶領域の終端を指示する。
【００８９】
＜読み出しポインタＲＰ（ｒｅａｄ  ｐｏｉｎｔｅｒ）＞
読み出しポインタＲＰは、記憶部４０１において次に読み出しが行われるアドレスを指示する。
【００９０】
＜バッファ保護フラグＢＦＰ（ｂｕｆｆｅｒ  ｐｒｏｔｅｃｔ  ｆｌａｇ））
記憶部４０１に書き込まれているデータの保護を示す。
このバッファ保護フラグＢＰＦが定数‘ＢＵＦＦＥＲ＿ＰＲＯＴＥＣＴＥＤ’に設定されている場合、記憶部４０１に対す書き込みが禁止され、定数‘ＢＵＦＦＥＲ＿ＮＯＴ＿ＰＲＯＴＥＣＴＥＤ’に設定されている場合は、書き込み禁止が解除される。
【００９１】
また、制御部４０１は、たとえば以下に述べるような問い合わせや要求を受けて、これに応じた処理を実行する。
【００９２】
＜記憶領域設定＞
図５は、バッファ４１および４２に対する記憶領域設定要求に応じた処理を示すフローチャートである。
記憶領域設定要求が発せられた場合、制御部４０２は、バッファ制御部４３から与えられるアドレス値‘ＳＴＡＲＴ＿ＡＤＤＲＥＳＳ’および‘ＥＮＤ＿ＡＤＤＲＥＳＳ’を、スタートポインタＢＳＡおよびエンドポインタＢＥＡにそれぞれ設定する。
なお、ここでは例として、終端アドレスの値‘ＥＮＤ＿ＡＤＤＲＥＳＳ’は開始アドレスの値‘ＳＴＡＲＴ＿ＡＤＤＲＥＳＳ’より大きいものとする。
【００９３】
＜記憶内容のクリア＞
図６は、バッファ４１および４２に対する記憶内容クリア要求に応じた処理を示すフローチャートである。
バッファ制御部４３から記憶内容のクリアが要求された場合、制御部４０２は、書き込みポインタＷＰおよび読み出しポインタＲＰを何れもスタートポインタＢＳＡが指示する先頭アドレスに設定する。また、バッファ保護フラグＢＦＰを定数‘ＢＵＦＦＥＲ＿ＮＯＴ＿ＰＲＯＴＥＣＴＥＤ’に設定し、記憶部４０１に対する書き込み禁止を解除する。
【００９４】
＜フル状態の問い合わせ＞
図７は、バッファ４１および４２に対するフル状態問い合わせに応じた処理を示すフローチャートである。
バッファ制御部４３からフル状態の問い合わせが発せられた場合、制御部４０２は、書き込みポインタＷＰとエンドポインタＢＥＡとの大小関係を判定する（ステップＳＴ１００３）。
書き込みポインタＷＰがエンドポインタＢＥＡより大きい場合、記憶部４０１の記憶領域は書き込みデータによって満杯状態（フル状態）になっている。この場合、制御部４０２は、バッファ制御部４３に対して定数‘ＢＵＦＦＥＲ＿ＦＵＬＬ’を返す（ステップＳＴ１００４）。それ以外の場合は、バッファ制御部４３に対して、記憶部４０１がフル状態でないことを示す定数‘ＢＵＦＦＥＲ＿ＮＯＴ＿ＦＵＬＬ’を返す（ステップＳＴ１００５）。
【００９５】
＜保護状態の問い合わせ＞
図８は、バッファ４１および４２に対する保護状態問い合わせに応じた処理を示すフローチャートである。
バッファ制御部４３から保護状態の問い合わせが発せられた場合、制御部４０２は、バッファ保護フラグＢＦＰと定数‘ＢＵＦＦＥＲ＿ＰＲＯＴＥＣＴＥＤ’とが等しいか否か判定する（ステップＳＴ１００６）。
バッファ保護フラグＢＦＰが定数‘ＢＵＦＦＥＲ＿ＰＲＯＴＥＣＴＥＤ’と等しい場合、記憶部４０１に対する書き込みは禁止される。この場合、制御部４０２は、バッファ制御部４３に対して定数‘ＢＵＦＦＥＲ＿ＰＲＯＴＥＣＴＥＤ’を返す（ステップＳＴ１００７）。それ以外の場合は、バッファ制御部４３に対して定数‘ＢＵＦＦＥＲ＿ＮＯＴ＿ＰＲＯＴＥＣＴＥＤ’を返す（ステップＳＴ１００８）。
【００９６】
＜書き込み可否問い合わせ＞
図９は、バッファ４１および４２に対する書き込み可否問い合わせに応じた処理を示すフローチャートである。
バッファ制御部４３から書き込み可否の問い合わせが発せられた場合、制御部４０２は、図７に示すフル状態問い合わせ処理を実行し（ステップＳＴ１００９）、その結果、フル状態でない場合は更に図８に示す保護状態問い合わせ処理を実行する（ステップＳＴ１０１０）。これらの処理の結果、フル状態でも保護状態でもない場合は、記憶部４０１に対する書き込みが可能であることを示す定数‘ＷＲＩＴＥ＿ＰＯＳＳＩＢＬＥ’をバッファ制御部４３に返す（ステップＳＴ１０１１）。フル状態か、または保護状態の場合は、記憶部４０１に対する書き込みができないことを示す定数‘ＷＲＩＴＥ＿ＩＭＰＯＳＳＩＢＬＥ’をバッファ制御部４３に返す（ステップＳＴ１０１２）。
【００９７】
＜書き込み＞
図１０は、バッファ４１および４２に対する書き込み要求に応じた処理を示すフローチャートである。
バッファ制御部４３から書き込み要求が発せられた場合、制御部４０２は、書き込みポインタＷＰによって指示された記憶部４０１のアドレスに、多重化データ分離部３０から供給される１ピクチャ分の符号化ビデオデータを書き込む。また、書き込みポインタＷＰの値をインクリメントし、その指示対象を次の書き込みアドレスに移動させる。
【００９８】
＜読み出し＞
図１１は、バッファ４１および４２に対する読み出し要求に応じた処理を示すフローチャートである。
バッファ制御部４３から読み出し要求が発せられた場合、制御部４０２は、読み出しポインタＲＰによって指示された記憶部４０１のアドレスから、１ピクチャ分の符号化ビデオデータを読み出す。また、読み出しポインタＲＰの値をインクリメントし、その指示対象を次の読み出しアドレスへ移動させる。
【００９９】
＜再読み出し準備＞
図１２は、バッファ４１および４２に対する再読み出し準備要求に応じた処理を示すフローチャートである。
バッファ制御部４３から再読み出し準備要求が発せられた場合、制御部４０２は、読み出しポインタＲＰをスタートポインタＢＳＡに設定する。これにより、記憶部４０１に記憶された符号化ビデオデータを、ＶＯＢＵの先頭から再び読み出すことが可能になる。
【０１００】
＜バッファ保護＞
図１３は、バッファ４１および４２に対するバッファ保護要求に応じた処理を示すフローチャートである。
バッファ制御部４３からバッファ保護要求が発せられた場合、制御部４０２は、バッファ保護フラグＢＦＰを定数‘ＢＵＦＦＥＲ＿ＰＲＯＴＥＣＴＥＤ’に設定する。これにより、記憶部４０１に対する書き込みが禁止され、上書きに対するデータの保護が図られる。
【０１０１】
＜エンプティ状態の問い合わせ＞
図１４は、バッファ４１および４２に対するエンプティ状態問い合わせに応じた処理を示すフローチャートである。
バッファ制御部４３からエンプティ状態の問い合わせが発せられた場合、制御部４０２は、書き込みポインタＷＰとスタートポインタＢＳＡとの大小関係を判定する（ステップＳＴ１０１７）。
書き込みポインタＷＰがスタートポインタＢＳＡと等しいかこれより小さい場合、記憶部４０１の記憶領域は読み出し可能なデータが空の状態（エンプティ状態）になっている。この場合、制御部４０２は、バッファ制御部４３に対して定数‘ＢＵＦＦＥＲ＿ＥＭＰＴＹ’を返す（ステップＳＴ１０１８）。それ以外の場合、バッファ制御部４３に対して記憶部４０１がエンプティ状態でないことを示す定数‘ＢＵＦＦＥＲ＿ＮＯＴ＿ＥＭＰＴＹ’を返す（ステップＳＴ１０１９）。
【０１０２】
＜読み出し可否問い合わせ＞
図１５は、バッファ４１および４２に対する読み出し可否問い合わせに応じた処理を示すフローチャートである。
バッファ制御部４３から読み出し可否の問い合わせが発せられた場合、制御部４０２は、書き込みポインタＷＰと読み出しポインタＲＰとの大小関係を判定する（ステップＳＴ１０２０）。
読み出しポインタＲＰが書き込みポインタＷＰと等しいかこれより大きい場合、読み出しポインタＲＰはまだデータの書き込まれていないアドレスを指示することになる。この場合、制御部４０２は、記憶部４０１からの読み出しができないことを示す定数‘ＲＥＡＤ＿ＩＭＰＯＳＳＩＢＬＥ’をバッファ制御部４３に返す（ステップＳＴ１０２１）。それ以外の場合は、記憶部４０１が読み出し可能であることを示す定数‘ＲＥＡＤ＿ＰＯＳＳＩＢＬＥ’をバッファ制御部４３に返す（ステップＳＴ１０２２）。
【０１０３】
（バッファ制御部４３）
次に、符号化ビデオデータバッファ部４０のバッファ制御部４３について説明する。
【０１０４】
バッファ制御部４３は、バッファ４１および４２に対するデータの書き込みや読み出しに関する種々の制御を行う。
すなわちバッファ制御部４３は、図１６に示すように、２つのバッファのうちの何れか一方を指示するためのバッファ・ポインタ（ＣＷＢＰ，ＣＲＢＰ，ＰＤＢＰ）を管理する。他のユニット（多重化データ分離部３０やビデオデータ符号化部５０、システム制御部６０など）から問い合わせや要求を受けた場合、このバッファ・ポインタの値や、バッファ・ポインタで指示されたバッファへの上述の問い合わせ・要求に対するバッファからの回答に応じて、種々の処理（問い合わせへの回答、バッファに対する書き込み・読み出し、バッファに格納されたデータの削除など）を実行する。
【０１０５】
バッファ制御部４３は、たとえば以下に述べる３つのバッファ・ポインタを管理する。
【０１０６】
＜バッファ・ポインタＣＷＢＰ（ｃｕｒｒｅｎｔ  ｗｒｉｔｅ  ｂｕｆｆｅｒ  ｐｏｉｎｔｅｒ）＞
バッファ４１またはバッファ４２のうち、現在書き込み対象となっているバッファを指示する。
【０１０７】
＜バッファ・ポインタＣＲＢＰ（ｃｕｒｒｅｎｔ  ｒｅａｄ  ｂｕｆｆｅｒ  ｐｏｉｎｔｅｒ）＞
バッファ４１またはバッファ４２のうち、現在読み出し対象となっているバッファを指示する。
【０１０８】
＜バッファ・ポインタＰＤＢＰ（ｐｒｅｖｉｏｕｓ  ｄａｔａ  ｂｕｆｆｅｒ  ｐｏｉｎｔｅｒ）＞
バッファ４１またはバッファ４２のうち、最後に書き込みが行われたバッファを指示する。
【０１０９】
また、バッファ制御部４３は、たとえば以下に述べる処理を実行する。
【０１１０】
＜記憶領域設定＞
図１７は、符号化ビデオデータバッファ部４０に対する記憶領域設定要求に応じた処理を示すフローチャートである。
システム制御部６０から記憶領域の設定要求が発せられ、これとともに、バッファ４１および４２の記憶領域を設定するための開始／終端アドレスが与えられると、バッファ制御部４３は、図５に示した記憶領域設定要求を各バッファに発し、システム制御部６０から与えられた開始／終端アドレスをそれぞれのバッファに渡す。これにより、バッファ４１および４２の記憶領域がそれぞれ設定される。
【０１１１】
＜記憶内容のクリア＞
図１８は、符号化ビデオデータバッファ部４０に対する記憶内容のクリア要求に応じた処理を示すフローチャートである。
システム制御部６０から記憶内容のクリア要求が発せられると、バッファ制御部４３は、図６に示した記憶内容クリア要求を各バッファに発して、２つのバッファの記憶内容を消去させる。また、バッファ・ポインタＣＷＢＰ、バッファ・ポインタＣＲＢＰおよびバッファ・ポインタＰＤＢＰの指示対象を、何れもバッファ４１に設定する。
【０１１２】
＜他バッファのアドレス取得＞
図１９は、他バッファのアドレス取得処理を示すフローチャートである。
バッファ制御部４３は、他バッファのアドレス取得処理として、与えられた一方のバッファのアドレスに対する他方のバッファのアドレスを返す処理を行う。まず、与えられた一方のバッファのアドレスがバッファ４１のアドレスと等しいか否か判定する（ステップＳＴ２００３）。与えられたアドレスがバッファ４１のアドレスと等しい場合は、バッファ４２のアドレスを他方のバッファのアドレスとして返す（ステップＳＴ２００４）。また、与えられたアドレスがバッファ４１のアドレスと等しくない場合は、バッファ４１のアドレスを他方のバッファのアドレスとして返す（ステップＳＴ２００５）。
【０１１３】
＜書き込み先変更＞
図２０は、符号化ビデオデータバッファ部４０に対する書き込み先変更要求に応じた処理を示すフローチャートである。
システム制御部６０から書き込み先変更要求が発せられると、バッファ制御部４３は、バッファ・ポインタＣＷＢＰで指示される書き込み対象バッファに対して図１４に示すエンプティ状態問い合わせを発する（ステップＳＴ２００６）。問い合わせの結果、書き込み対象バッファがエンプティ状態でない場合、この書き込み対象バッファに対して図１３に示すバッファ保護要求を発し、このバッファを書き込み禁止に設定する。また、図１９に示す他バッファのアドレス取得処理を実行し、バッファ・ポインタＣＷＢＰで指示される書き込み対象バッファではない他方のバッファのアドレスを取得する。この取得したアドレスをバッファ・ポインタＣＷＢＰとして設定することにより、書き込み対象バッファを他方のバッファへ変更する（ステップＳＴ２００７）。
【０１１４】
一方、エンプティ状態問い合わせの結果、書き込み対象バッファがエンプティ状態である場合は、書き込み先の変更を行わない（ステップＳＴ２００６）。これは、符号化ビデオデータを全く含まないＶＯＢＵに対する措置である。後述するように、書き込み先の変更はＶＯＢＵの先頭が検出された場合に実行されるため、新たなＶＯＢＵが入力されるたびに無条件で書き込み先の変更を行ってしまうと、エンプティ状態のバッファに対して書き込み保護を与えてしまうことになる。こうした事態を防止するため、書き込み対象バッファがエンプティ状態でないことを書き込み先変更の条件としている。
【０１１５】
＜書き込み可否問い合わせ＞
図２１は、符号化ビデオデータバッファ部４０に対する書き込み可否問い合わせに応じた処理を示すフローチャートである。
多重化データ分離部３０から書き込み可否問い合わせが発せられると、バッファ制御部４３は、バッファ・ポインタＣＷＢＰで指示される書き込み対象バッファに対して図９に示す書き込み可否問い合わせを発する（ステップＳＴ２００８）。問い合わせの結果、書き込み対象バッファが書き込み可能な場合は、多重化データ分離部３０に対して書き込み可能を示す定数‘ＷＲＩＴＥ＿ＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２００９）。書き込み対象バッファが書き込み不可の場合は、多重化データ分離部３０に対して書き込み不可を示す定数‘ＷＲＩＴＥ＿ＩＭＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２０１０）。
【０１１６】
＜読み出し可否問い合わせ＞
図２２は、符号化ビデオデータバッファ部４０に対する読み出し可否問い合わせに応じた処理を示すフローチャートである。
ビデオデータ復号化部５０から読み出し可否問い合わせが発せられると、バッファ制御部４３は、バッファ・ポインタＣＲＢＰで指示される読み出し対象バッファに対して図１５に示す読み出し可否問い合わせ要求を発する（ステップＳＴ２０１１）。問い合わせの結果、読み出し対象バッファが読み出し可能である場合は、ビデオデータ復号化部５０に対して読み出し可能を示す定数‘ＲＥＡＤ＿ＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２０１７）。
【０１１７】
読み出し対象バッファが読み出し不可である場合、バッファ制御部４３は、この読み出し対象バッファに対して図９に示す書き込み可否問い合わせを発する（ステップＳＴ２０１２）。この問い合わせの結果、読み出し対象バッファが書き込み可能である場合は、多重化データ分離部３０に対して読み出し不可を示す定数‘ＲＥＡＤ＿ＩＭＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２０１８）。
この場合、読み出し対象バッファは、書き込み可能かつ読み出し不可であることから、データの読み出し処理に対して書き込み処理が追いついていない状態にある。
【０１１８】
書き込み可否問い合わせ（ステップＳＴ２０１２）が書き込み不可である場合、バッファ制御部４３は、バッファ・ポインタＣＲＢＰとバッファ・ポインタＰＤＢＰとが等しいか否か判定する（ステップＳＴ２０１３）。これは、読み出し対象バッファではない他方のバッファに書き込まれているＶＯＢＵが、読み出し対象バッファに書き込まれているＶＯＢＵに対して、配列順序が先であるか後であるかを判定するための処理である。
【０１１９】
図２３は、２つのバッファに書き込まれたＶＯＢＵの配列順序の判定方法について図解した図である。
図２３（Ａ）に示すように、逆転再生時におけるＶＯＢＵの供給順序は、ＶＯＢＵの配列順序に対して逆方向（…，ＶＯＢＵｎ＋１，ＶＯＢＵｎ，ＶＯＢＵｎ−１，…）である。このため、バッファ・ポインタＰＤＢＰで指示されるバッファ、すなわち最後に書き込みが行われたバッファには、配列順序が最も先のＶＯＢＵが書き込まれている。
【０１２０】
したがって、図２３（Ｂ）に示すように、バッファ・ポインタＣＲＢＰとバッファ・ポインタＰＤＢＰが等しい場合、読み出し対象でない他方のバッファ（バッファＹ）に書き込まれているＶＯＢＵは、読み出し対象のバッファ（バッファＸ）に書き込まれているＶＯＢＵより、配列順序が後になる。
また、図２３（Ｃ）に示すように、バッファ・ポインタＣＲＢＰとバッファ・ポインタＰＤＢＰが等しくない場合、読み出し対象でない他方のバッファ（バッファＸ）に書き込まれているＶＯＢＵは、読み出し対象のバッファ（バッファＹ）に書き込まれているＶＯＢＵより、配列順序が先になる。
【０１２１】
ステップＳＴ２０１３において、読み出し対象バッファではない他方のバッファに書き込まれているＶＯＢＵが、読み出し対象バッファに書き込まれているＶＯＢＵに対して、配列順序が先であると判定した場合、バッファ制御部４３は、多重化データ分離部３０に対して読み出し不可を示す定数‘ＲＥＡＤ＿ＩＭＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２０１８）。
【０１２２】
読み出し対象バッファではない他方のバッファに書き込まれているＶＯＢＵが、読み出し対象バッファに書き込まれているＶＯＢＵに対して、配列順序が後である場合は、図１９に示す他バッファのアドレス取得処理を実行して、バッファ・ポインタＣＲＢＰで指示される読み出し対象バッファではない他方のバッファのアドレスを取得する（ステップＳＴ２０１４）。そして、取得した他方のバッファに対し図１４に示すエンプティ状態問い合わせを発する（ステップＳＴ２０１５）。
【０１２３】
問い合わせの結果、エンプティ状態の場合には、多重化データ分離部３０に対して読み出し不可を示す定数‘ＲＥＡＤ＿ＩＭＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２０１８）。
問い合わせの結果、エンプティ状態でない場合は、バッファ・ポインタＣＲＢＰの指示対象を他方のバッファに変更する。また、新たにバッファ・ポインタＣＲＢＰの指示対象となったバッファに対して図１２に示す再読み出し準備要求を発し、このバッファに書き込まれたＶＯＢＵの先頭からピクチャを読み出すための準備を行う（ステップＳＴ２０１６）。次いで、多重化データ分離部３０に対して読み出し可能を示す定数‘ＲＥＡＤ＿ＰＯＳＳＩＢＬＥ’を返す（ステップＳＴ２０１７）。
【０１２４】
ステップＳＴ２０１２〜ＳＴ２０１６の処理は、逆転再生時において、上述した特定ピクチャの復号化を行うための処理である。
特定ピクチャが復号化される場合、まず配列順序が先のＶＯＢＵ（ＶＯＢＵｎ−１）が読み出されて復号化され、次いで、配列順序が後のＶＯＢＵ（ＶＯＢＵｎ）が読み出されて復号化される。読み出し可否問い合わせでは、このような２つの連続したＶＯＢＵの読み出し動作を実行するため、ステップＳＴ２０１２〜ＳＴ２０１６の処理が設けられている。
すなわち、符号化ビデオデータバッファ部４０からの符号化ビデオデータの読み出し中に、その読み出し対象のバッファから符号化ビデオデータを全て読み出したと判定された場合（ステップＳＴ２０１１）、読み出し対象のバッファに１ＶＯＢＵ分の符号化ビデオデータが書き込まれており（ステップＳＴ２０１２）、読み出し対象でない他方のバッファに書き込まれたＶＯＢＵが読み出し対象のバッファに書き込まれたＶＯＢＵに対して配列順序が後であり（ステップＳＴ２０１３）、かつ、他方のバッファに読み出し可能な符号化ビデオデータが書き込まれていること（ステップＳＴ２０１５）を条件として、読み出し対象を他方のバッファに変更し、そのバッファの先頭に読み出しポインタＲＰを移動する。
【０１２５】
＜書き込み＞
図２４は、符号化ビデオデータバッファ部４０に対する書き込み要求に応じた処理を示すフローチャートである。
多重化データ分離部３０から書き込み要求が発せられると、バッファ制御部４３は、バッファ・ポインタＣＷＢＰで指示された書き込み対象バッファに対して図１０に示す書き込み要求を発し、多重化データ分離部３０から分離されたデータをそのバッファに書き込む。また、バッファ・ポインタＰＤＢＰとバッファ・ポインタＣＷＢＰとを一致させる。
【０１２６】
＜読み出し＞
図２５は、符号化ビデオデータバッファ部４０に対する読み出し要求に応じた処理を示すフローチャートである。
ビデオデータ復号化部５０から読み出し要求が発せられると、バッファ制御部４３は、バッファ・ポインタＣＲＢＰで指示された読み出し対象バッファに対して図１１に示す読み出し要求を発し、このバッファに書き込まれた符号化ビデオデータを読み出して、ビデオデータ復号化部５０に供給する。
【０１２７】
＜再読み出し準備＞
図２６は、符号化ビデオデータバッファ部４０に対する再読み出し準備要求に応じた処理を示すフローチャートである。
システム制御部６０から再読み出し準備要求が発せられると、バッファ制御部４３は、その再読み出し準備要求が、現在読み出し中のＶＯＢＵを再び読み出す要求であるのか、それとも、読み出し中のＶＯＢＵに対して配列順序が先のＶＯＢＵを読み出す要求であるのかを判定する（ステップＳＴ２０２１）。現在読み出し中のＶＯＢＵを再び読み出す要求である場合は、バッファ・ポインタＣＲＢＰで指示されたバッファに対して図１２に示す再読み出し要求を発し、その読み出しポインタＲＰをバッファの先頭に戻す（ステップＳＴ２０２２）。次いで、システム制御部６０に対して、再読み出し準備が実行されたことを示す定数‘ＲＥＱＵＥＳＴ＿ＲＥＳＵＰＰＬＹ＿ＳＵＣＣＥＥＤ’を返す（ステップＳＴ２０２６）。
【０１２８】
一方、システム制御部６０から再読み出し準備要求が、読み出し中のＶＯＢＵに対して配列順序が先のＶＯＢＵを読み出す要求である場合、バッファ制御部４３は、バッファ・ポインタＣＲＢＰとバッファ・ポインタＰＤＢＰとが等しいか否かに基づいて、読み出し対象バッファに書き込まれているＶＯＢＵと他方のバッファに書き込まれているＶＯＢＵとの配列順序（先／後）を判定する（ステップＳＴ２０２３）。
【０１２９】
他方のバッファに書き込まれているＶＯＢＵの配列順序が先であると判定された場合は、バッファ・ポインタＰＤＢＰで指示される他方のバッファに対して図１４に示すエンプティ状態問い合わせを発する（ステップＳＴ２０２４）。この問い合わせの結果、他方のバッファがエンプティ状態でない場合は、バッファ・ポインタＣＲＢＰの指示対象を他方のバッファに変更する（ステップＳＴ２０２５）。また、新たにバッファ・ポインタＣＲＢＰの指示対象となったバッファに対して図１２に示す再読み出し準備要求を発し、このバッファに書き込まれたＶＯＢＵの先頭からピクチャを読み出すための準備を行う（ステップＳＴ２０２５）。次いで、システム制御部６０に対して、再読み出し準備が成功したことを示す定数‘ＲＥＱＵＥＳＴ＿ＲＥＳＵＰＰＬＹ＿ＳＵＣＣＥＥＤ’を返す（ステップＳＴ２０２６）。
【０１３０】
他方のバッファのＶＯＢＵが読み出し対象バッファのＶＯＢＵより配列順序が後であると判定された場合（ステップＳＴ２０２３）や、他方のバッファがエンプティ状態と判定された場合（ステップＳＴ２０２４）は、システム制御部６０に対して、再読み出し準備が失敗したことを示す定数‘ＲＥＱＵＥＳＴ＿ＲＥＳＵＰＰＬＹ＿ＦＡＩＬ’を返す（ステップＳＴ２０２６）。
【０１３１】
＜削除対象バッファのアドレス取得＞
図２７は、削除対象バッファのアドレス取得処理を示すフローチャートである。
バッファ制御部は、バッファに書き込まれた符号化ビデオデータを削除するにあたって、削除対象となるバッファのアドレスを取得する処理を行う。
まず、バッファ４１に対して図１４に示すエンプティ状態問い合わせを発する（ステップＳＴ２０２８）。この問い合わせの結果、バッファ４１がエンプティ状態の場合は、削除対象バッファのアドレスとして、バッファ４２のアドレスを取得する（ステップＳＴ２０２９）。
【０１３２】
バッファ４１がエンプティ状態でない場合、バッファ４２に対して図１４に示すエンプティ状態問い合わせを発する（ステップＳＴ２０３０）。この問い合わせの結果、バッファ４２がエンプティ状態の場合は、削除対象バッファのアドレスとして、バッファ４１のアドレスを取得する（ステップＳＴ２０３１）。
【０１３３】
バッファ４１およびバッファ４２がともにエンプティ状態でない場合は、図１９に示す他バッファアドレス取得処理を実行し、バッファ・ポインタＰＤＢＰで指示されたバッファに対する他方のバッファのアドレスを、削除対象バッファのアドレスとして取得する（ステップＳＴ２０３２）。
【０１３４】
図２８は、バッファの状態（エンプティ状態、フル状態、書き込み中）とバッファ・ポインタＰＤＢＰとの関係に応じて決定される削除対象バッファを図解した図である。
図２８（Ａ）および（Ｂ）は、両方のバッファがともにエンプティ状態の場合を示す。この場合は、何れのバッファも削除対象として指定可能である。
【０１３５】
図２８（Ｃ）は、一方のバッファＸが書き込み中、他方のバッファＹがエンプティ状態の場合を示す。この場合、バッファ・ポインタＰＤＢＰは必ず書き込み中のバッファＸを指示する。
後述するように、逆転再生時の削除命令は、ＶＯＢＵの先頭のピクチャに対する復号化結果がビデオデータ復号化部５０から出力された場合に発せられる。この場合、バッファＹがエンプティ状態であることから、この削除命令はバッファＸに書き込まれたＶＯＢＵに対する削除命令であることが分かる。したがって、書き込み中のバッファＸが削除対象となる。
【０１３６】
図２８（Ｄ）は、一方のバッファＸがフル状態、他方のバッファＹがエンプティ状態の場合を示す。この場合、バッファ・ポインタＰＤＢＰは必ずフル状態のバッファＸを指示する。
バッファＹがエンプティ状態であることから、この削除命令はバッファＸに書き込まれたＶＯＢＵに対する削除命令であることが分かる。したがって、フル状態のバッファＸが削除対象となる。
【０１３７】
図２８（Ｅ）は、一方のバッファＸがフル状態、他方のバッファＹが書き込み中の場合を示す。この場合、バッファ・ポインタＰＤＢＰは必ず書き込み中のバッファＹを指示する。
バッファ・ポインタＰＤＢＰがバッファＹを指示していることから、バッファＸに書き込まれているＶＯＢＵはバッファＹに書き込まれているＶＯＢＵより配列順序が後である。逆転再生時においては、配列順序が後のＶＯＢＵから復号化および再生が行われるので、この場合の削除命令は、バッファＸに書き込まれているＶＯＢＵの再生が完了したことによるものであることが分かる。したがって、フル状態のバッファＸが削除対象となる。
【０１３８】
図２８（Ｆ）および（Ｇ）は、両方のバッファがフル状態であり、バッファ・ポインタＰＤＢＰが一方のバッファを指示している場合を示す。
この場合、バッファ・ポインタＰＤＢＰで指示されていないバッファの方が指示されているバッファより配列順序が後であり、逆転再生時における再生順序が先である。したがって、バッファ・ポインタＰＤＢＰで指示されていないバッファが削除対象となる。
【０１３９】
図２８（Ａ）〜（Ｇ）の条件から、何れかがエンプティ状態の場合はエンプティ状態でない方のバッファが削除対象となり、何れもエンプティ状態でない場合はバッファ・ポインタＰＤＢＰで指示されていないバッファが削除対象となる。
【０１４０】
＜バッファのデータ削除＞
図２９は、符号化ビデオデータバッファ部４０に対するバッファのデータ削除要求に応じた処理を示すフローチャートである。
バッファに書き込まれたデータの削除要求がシステム制御部６０から発せられた場合、バッファ制御部４３は、図２７に示す削除対象バッファのアドレス取得処理を実行し、削除対象のバッファに対して図６に示す記憶内容クリア要求を発する（ステップＳＴ２０３３）。また、図１９に示す他バッファアドレス取得処理を実行して、削除対象でないバッファのアドレスを取得する（ステップＳＴ２０３３）。
【０１４１】
次いで、この他方のバッファに対して図９に示す書き込み可否問い合わせを発し、他方のバッファが書き込み可能であれば、バッファ・ポインタＣＷＢＰをこの他方のバッファに設定する（ステップＳＴ２０３５）。他方のバッファが書き込み可能でなければ、バッファ・ポインタＣＷＢＰを削除対象のバッファに設定する（ステップＳＴ２０３６）。
また、バッファ・ポインタＣＲＢＰおよびバッファ・ポインタＰＤＢＰを他方のバッファに設定する（ステップＳＴ２０３７）。
【０１４２】
（ビデオデータ復号化部５０）
図１の説明に戻る。
ビデオデータ復号化部５０は、システム制御部６０から逆転再生モードでの動作を命令され、復号化対象のピクチャを指定された場合、その指定されたピクチャを復号化するために必要なピクチャを符号化ビデオデータバッファ部４０から読み出して順次復号化する。読み出したピクチャがＰピクチャやＢピクチャの場合は、以前に読み出した参照ピクチャの復号化結果を参照して復号化する。そして、指定されたピクチャの復号化結果を、たとえばビデオ信号などに変換して出力する。
【０１４３】
図３０は、ビデオデータ復号化部５０の構成の一例を示すブロック図である。図３０に示すビデオデータ復号化部５０は、復号化部５１と、フレームバッファ部５２と、出力部５３と、制御部５４とを有する。
復号化部５１、フレームバッファ部５２および出力部５３を含むユニットは、本発明の復号化結果出力手段の一実施形態である。
【０１４４】
復号化部５１は、符号化ビデオデータバッファ部４０から読み出された符号化データをピクチャごとに復号化し、復号化結果の画像データをフレームバッファ部５２に書き込む。
符号化ビデオデータバッファ部４０から読み出されたピクチャがＰピクチャや場合は、以前に読み出された参照ピクチャの復号化結果をフレームバッファ部５２から取得して、これを参照しながら復号化を行う。
符号化ビデオデータバッファ部４０から読み出されたピクチャがＢピクチャの場合は、復号化対象のものを除き、復号化せずに破棄する。
【０１４５】
フレームバッファ部５２は、復号化部５１において復号化された１フレームあるいは１フィールド分の画像データを一時的に貯えるためのバッファであり、たとえば、３ピクチャ分の画像データを貯えることが可能な記憶容量を有する。
【０１４６】
出力部５３は、制御部５４からの出力指示に応じて、フレームバッファ部５２に書き込まれた復号化結果の画像データを読み出し、ビデオ信号に変換して出力する。
【０１４７】
制御部５４は、フレームバッファ部５２に書き込まれた画像データの情報、たとえばピクチャ種類や復号化後のＧＯＰ中における画像の順番などの情報を管理する。
システム制御部６０によって復号化対象のピクチャが指定された場合、その指定されたピクチャを復号化するために必要なピクチャを符号化ビデオデータバッファ部４０から読み出して、復号化部５１に供給する。
すなわち、システム制御部６０によって復号化対象のピクチャが指定された場合、フレームバッファ部５２に空きがあることを確認した上で、符号化ビデオデータバッファ部４０のバッファ制御部４３に対し図２２に示す読み出し可否問い合わせを発する。この問い合わせの結果読み出し可能な場合は、図２５に示す読み出し要求をバッファ制御部４３に対して発し、符号化ビデオデータバッファ部４０からピクチャを読み出して復号化部５１に供給する。復号化対象のピクチャが全て復号化されたところで、符号化ビデオデータの読み出しと復号化を停止する。
【０１４８】
また、フレームバッファ部５２に書き込まれた復号化対象ピクチャの復号化結果の読み出しを出力部５３に対して指示し、復号化後のＧＯＰ中における画像の順番にしたがって、復号化されたピクチャをビデオ信号に順次変換させる。
【０１４９】
（システム制御部６０）
システム制御部６０は、各バッファ部の初期化や、再生モードの指定、多重化データの供給条件の指定、ＶＯＢＵの再供給準備要求など、システム全体の制御を行う。
【０１５０】
ここで、上述した構成を有する図１に示すデータ復号化装置の逆転再生モードにおける動作について、図３１に示すシーケンス図を参照しながら説明する。
【０１５１】
＜初期化動作（ステップＳＴ１０１〜ＳＴ１０３）＞
図３２は、図１に示すデータ復号化装置の逆転再生モードにおける初期化動作を説明するための図である。
システム制御部６０からの命令に応じて、多重化データバッファ部２０および符号化ビデオデータバッファ部４０の記憶領域が設定され（ステップＳＴ１０１）、その記憶内容が空に初期化される（ステップＳＴ１０３）。たとえば符号化ビデオデータバッファ部４０に対しては、図１７に示す記憶領域設定要求および図１８に示す記憶領域クリア要求が発せられる。
また、装置の各構成要素に対して逆転再生モードでの動作が指定される（ステップＳＴ１０２）。
【０１５２】
＜多重化データ供給動作（ステップＳＴ１０４〜ＳＴ１０５）＞
図３３は、図１に示すデータ復号化装置の逆転再生モードにおける多重化データ供給動作および多重化データ分離動作を説明するための図である。
多重化データ供給部１０に対して逆転再生モードでの動作が指定されると、多重化データ供給部１０から多重化データバッファ部２０に対して多重化データの書き込み可否問い合わせが発せられる（ステップＳＴ１０４）。問い合わせの結果、多重化データバッファ部２０が書き込み可能である場合は、多重化データ供給部１０から多重化データバッファ部２０に対して多重化データが供給され、多重化データバッファ部２０に書き込まれる（ステップＳＴ１０５）。
【０１５３】
このステップＳＴ１０４およびＳＴ１０５の動作が繰り返されることにより、多重化データ供給部１０から多重化データバッファ部２０に対して多重化データが順次供給される。多重化データの供給順序は、通常再生モードにおける供給順序に対して逆順、すなわち…，ＶＯＢＵｎ＋１，ＶＯＢＵｎ，ＶＯＢＵｎ−１，…という順序になる。
【０１５４】
＜多重化データ分離動作（ステップＳＴ１０６〜ＳＴ１１２）＞
多重化データ分離部３０に対して逆転再生モードでの動作が指定されると、多重化データ分離部３０から多重化データバッファ部２０に対してＶＯＢＵの読み出し可否問い合わせが発せられるとともに（ステップＳＴ１０６）、多重化データ分離部３０から符号化ビデオデータバッファ部４０に対して図２１に示す書き込み可否問い合わせが発せられる（ステップＳＴ１０７）。
【０１５５】
これらの問い合わせの結果、多重化データバッファ部２０が読み出し可能であり、かつ、符号化ビデオデータバッファ部４０が書き込み可能である場合、多重化データバッファ部２０から多重化データが読み出され（ステップＳＴ１０８）、読みだされた多重化データから符号化ビデオデータが分離され（ステップＳＴ１０９）、分離された符号化ビデオデータが符号化ビデオデータバッファ部４０に書き込まれる（ステップＳＴ１１２）。
【０１５６】
また、ステップＳＴ１０９における多重化データの分離時においてＶＯＢＵの先頭を示すＮａｖｉパックが分離された場合、多重化データ分離部３０からシステム制御部６０に対してＮａｖｉパックの分離を通知する割り込み信号が出力される（ステップＳＴ１１０）。この割り込み信号が出力された場合、システム制御部６０から符号化ビデオデータバッファ部４０に対して図２０に示す書き込み先変更要求が発せられる（ステップＳＴ１１１）。これにより、符号化ビデオデータバッファ部４０において現在書き込み中のバッファがエンプティ状態でない場合は、現在書き込み中のバッファが保護状態に設定されて、他方のバッファが新たな書き込み対象に設定される。
【０１５７】
このステップＳＴ１０６〜ＳＴ１１２の動作が反復されることにより、符号化ビデオデータバッファ部４０に対して符号化ビデオデータが順次供給され、バッファ４１および４２に１ＶＯＢＵ分ずつ書き込まれる。符号化ビデオデータの書き込み順序は多重化データ供給部１０の供給順序と同じであり、通常再生モードにおける供給順序と逆順、すなわち…，ＶＯＢＵｎ＋１，ＶＯＢＵｎ，ＶＯＢＵｎ−１，…という順序になる。
【０１５８】
＜復号化動作（ステップＳＴ１１３〜ＳＴ１１８）＞
図３４は、図１に示すデータ復号化装置の逆転再生モードにおける復号化動作および出力動作を説明するための図である。
ビデオデータ復号化部５０に対して逆転再生モードでの動作が指定され（ステップＳＴ１０２）、次いで、システム制御部６０からビデオデータ復号化部５０に対して復号化対象のピクチャが指定されると（ステップＳＴ１１３）、フレームバッファ部５２が書き込み可能であれば（ステップＳＴ１１５）、ビデオデータ復号化部５０から符号化ビデオデータバッファ部４０に対して図２２に示す読み出し可否問い合わせが発せられる（ステップＳＴ１１４）。
【０１５９】
現在読み出し中のバッファが読み出し可能な場合、すなわち、現在読み出し中のバッファから読み出し可能な全てのピクチャが読み出されていない場合は、符号化ビデオデータバッファ部４０からシステム制御部６０に対して読み出し可能の通知が回答される。
【０１６０】
現在読み出し中のバッファから読み出し可能なピクチャが全て読み出された場合は、次の条件が判定される。すなわち、その読み出し中のバッファが書き込み不可であること（これは、１ＶＯＢＵの先頭から末尾までのピクチャが読み出し中のバッファに書き込まれていることを意味する）、この読み出し中のバッファに書き込まれたＶＯＢＵが他方のバッファに書き込まれたＶＯＢＵより配列順序において先であること、ならびに、他方のバッファがエンプティ状態でないことが条件として判定される。
これらの条件が全て満たされる場合、読み出し対象バッファは他方のバッファに変更され、変更先のバッファの読み出しポインタＲＰがＶＯＢＵの先頭に戻される。そして、符号化ビデオデータバッファ部４０からシステム制御部６０に対して読み出し可能の通知が回答される。
これらの条件の何れか１つでも満たされない場合は、符号化ビデオデータバッファ部４０からシステム制御部６０に対して読み出し不可の通知が回答される。
【０１６１】
問い合わせの結果、符号化ビデオデータバッファ部４０が読み出し可能であれば、ビデオデータ復号化部５０から符号化ビデオデータバッファ部４０に対して図２５に示す読み出し要求が発せられ（ステップＳＴ１１６）、読み出されたピクチャが復号化部５１において復号化され（ステップＳＴ１１７）、復号化結果がフレームバッファ部５２に書き込まれる（ステップＳＴ１１８）。ただし、読み出されたピクチャが復号化対象でないＢピクチャである場合は、復号化部５１における復号化は実行されない。
【０１６２】
ステップＳＴ１１４〜ＳＴ１１８の動作が反復されることにより、復号化対象のピクチャが復号化されて、その復号化結果がフレームバッファ部５２に書き込まれる。復号化対象のピクチャが復号化されたところで、ステップＳＴ１１６〜ＳＴ１１８におけるピクチャの読み出しと復号化処理は停止される。
【０１６３】
＜出力動作（ステップＳＴ１１９〜ＳＴ１２４）＞
システム制御部６０からビデオデータ復号化部５０に対して復号化対象のピクチャが指定されて（ステップＳＴ１１３）、ビデオデータ復号化部５０における復号化処理が実行され（ステップＳＴ１１４〜ＳＴ１１８）、その結果としてフレームバッファ部５２に復号化対象ピクチャの復号化結果が書き込まれると、出力部５３によってその復号化結果が読み出されて（ステップＳＴ１１９）、ビデオ信号に変換されて出力される（ステップＳＴ１２０）。ビデオ信号として出力されたピクチャがＶＯＢＵ内の配列順序で先頭のピクチャの場合、このＶＯＢＵ内の全ピクチャの復号化が完了したことになるので、符号化ビデオデータバッファ部４０に対し図２９に示すデータ削除要求が発せられ（ステップＳＴ１２１）、復号化の完了したバッファからデータが削除される。
【０１６４】
また、復号化対象として指定されたピクチャが全て出力されることにより、次に読み出すべきピクチャがフレームバッファ部５２に存在しなくなると、ビデオデータ復号化部５０からシステム制御部６０に対してＶＯＢＵの再供給要求が発せられる（ステップＳＴ１２２，ＳＴ１２３）。これを受けて、システム制御部６０から符号化ビデオデータバッファ部４０に対して図２６に示す再読み出し準備要求が発せられる（ステップＳＴ１２４）。
【０１６５】
次の復号化対象が特定ピクチャでない通常のピクチャの場合、読み出し対象バッファは変更されず、その読み出しポインタＲＰがＶＯＢＵの先頭に戻される。次の復号化対象が特定ピクチャの場合は、読み出し中のバッファに書き込まれたＶＯＢＵが他方のバッファに書き込まれたＶＯＢＵより配列順序において後であり、かつ、他方のバッファがエンプティ状態でないことを条件として、読み出し対象バッファが他方のバッファに変更される。また、その読み出しポインタＲＰがＶＯＢＵの先頭に戻される。
【０１６６】
次の復号化対象が特定ピクチャの場合において、これらの条件の何れか一方でも満たされない場合、再読み出し準備の失敗がシステム制御部６０に対して通知される。この場合、システム制御部６０からは、再読み出し準備の成功が通知されるまで、再読み出し準備要求が繰り返し発せられる。符号化ビデオデータバッファ部４０に対する符号化ビデオデータの書き込み処理が進行し、他方のバッファに対して符号化ビデオデータの書き込みが行われることにより、この再読み出し準備の失敗は解消される。
【０１６７】
再読み出し準備の成功がシステム制御部６０に対して通知されると、システム制御部６０からビデオデータ復号化部５０に対して新たな復号化対象ピクチャが指定され（ステップＳＴ１１３）、上述した復号化動作および出力動作が再び実行される。
【０１６８】
以上説明したように、図１に示すデータ復号化装置によれば、それぞれ復号化順序が割り当てられた複数の符号化ビデオデータが列をなして形成される１ＶＯＢＵ分の符号化ビデオデータであって、他の符号化データの復号化結果を参照せずに復号化が可能なＩピクチャと、復号化順序および配列順序が自らより先の符号化データの復号化結果を復号化に際して参照する必要があるＰピクチャおよびＢピクチャとを含んだ１ＶＯＢＵ分の符号化ビデオデータが、符号化ビデオデータバッファ部４０に書き込まれる。この書き込まれたピクチャの中からシステム制御部６０によって復号化対象のピクチャが指定されると、ＶＯＢＵ内における配列順序の先頭から順番に１ピクチャ分の符号化ビデオデータが読み出され、復号化部５１において復号化される。読み出されたピクチャがＰピクチャまたはＢピクチャの場合は、これより以前に読み出された参照ピクチャの復号化結果がフレームバッファ部５２から読み出され、これを参照して当該ＰピクチャまたはＢピクチャが復号化される。こうした復号化が繰り返されることにより、復号化対象ピクチャの復号化結果が取得される。復号化対象ピクチャの復号化結果が取得されると、逆順再生モードでは、前の復号化対象ピクチャより復号化順序が先のピクチャが新たな復号化対象として指定され、その復号化結果が上述の処理により取得される。
このため、逆順再生モードにおいて同一ＶＯＢＵの符号化ビデオデータが繰り返し復号化される場合に、符号化ビデオデータバッファ部４０に書き込まれた１ＶＯＢＵ分の符号化ビデオデータがその先頭から繰り返し読み出されて復号化される。したがって、ポインタを操作するだけの簡易な処理で、符号化ビデオデータバッファ部４０から必要な符号化ビデオデータを素早く読み出して復号化することが可能になる。このことから、図３５に示すＤＶＤビデオ再生装置のように、同一ＶＯＢＵの多重化データを多重化データ供給部から繰り返し供給する方法に比べて、逆転再生モードにおける処理を高速化することができる。また、図３５に示すＤＶＤビデオ再生装置と比べて、多重化データ供給部および多重化データ分離部における処理が削減されることから、消費電力を低減することができる。
【０１６９】
また、復号化対象ピクチャとして、復号化の際の参照先となるピクチャが自らを含むＶＯＢＵより配列順序において先のＶＯＢＵに含まれる特定ピクチャが指定された場合、まず、符号化ビデオデータバッファ部４０の２つのバッファ４１および４２のうち、その特定ピクチャの参照先ピクチャを含むＶＯＢＵが書き込まれたバッファが読み出し対象バッファとして指定され、その読み出し対象バッファに書き込まれたＶＯＢＵの先頭から順番にピクチャが読み出されて復号化される。次いで、その特定ピクチャを含むＶＯＢＵが書き込まれたバッファが読み出し対象バッファとして指定され、読み出し対象バッファに書き込まれたＶＯＢＵの先頭から順番にピクチャが読み出されて復号化される。したがって、復号化対象ピクチャとして特定ピクチャが指定された場合においても、多重化データ供給部からの多重化データの再供給は不要であり、逆転再生モードにおける処理の高速化と低消費電力化を図ることができる。
【０１７０】
符号化ビデオデータバッファ部４０に対して符号化ビデオデータの書き込みが行われる場合、２つのバッファ４１および４２の何れか一方に同一ＶＯＢＵの符号化ビデオデータが順次書き込まれる。Ｎａｖｉパックの分離を知らせる割り込み信号が多重化データ分離部３０からシステム制御部６０に対して出力され、これに応じてシステム制御部６０から符号化ビデオデータバッファ部４０に対して書き込み先変更要求が発せられると、符号化ビデオデータの書き込み先が一方のバッファから他方のバッファに変更される。これにより、多重化データ分離部３０から供給される連続した２つのＶＯＢＵの符号化ビデオデータを、１ＶＯＢＵ分ずつバッファ４１および４２に格納させることが可能になる。
【０１７１】
書き込み先バッファの変更が行われる場合、変更前のバッファに対する符号化ビデオデータの書き込みが禁止されるため、多重化データ分離部３０から供給される新たな符号化ビデオデータによってバッファのデータが上書きされることを防止できる。
また、システム制御部６０から符号化ビデオデータバッファ部４０に対して書き込み先変更要求が発せられる場合であっても、書き込み先として指定中のバッファがエンプティ状態、すなわち読み出し可能なピクチャが書き込まれていない状態の場合は、書き込み先の変更が行われない。これにより、符号化ビデオデータを含まないＶＯＢＵが多重化データ分離部３０において分離された場合に、エンプティ状態のバッファが書き込み禁止に設定されることを防止できる。
【０１７２】
書き込み先のバッファに既に書き込まれた符号化ビデオデータの数が所定の上限に達した場合、このバッファに対する符号化ビデオデータの書き込みが禁止される。バッファの記憶容量は１ＶＯＢＵ分の符号化ビデオデータを格納可能な容量に設定されているので、書き込み先のバッファに既に書き込まれた符号化ビデオデータの数が所定の上限に達したことをもってバッファのフル状態を通知することが可能になり、符号化ビデオデータバッファ部４０に対する書き込み可否問い合わせ（図２１）や読み出し可否問い合わせ（図２２）に対する回答通知の高速化を図ることができる。
【０１７３】
ＶＯＢＵ内の復号化順序で先頭のピクチャ（逆転再生時の復号化順序としては最後のピクチャ）が復号化対象として指定され、その復号化結果が取得された場合、復号化された先頭ピクチャを記憶する符号化ビデオデータバッファ部４０のバッファから、その記憶データが消去される。その際、バッファが書き込み禁止状態に設定されている場合には、その書き込み禁止が解除される。これにより、２ＶＯＢＵ分の符号化ビデオデータで符号化ビデオデータバッファ部４０がフル状態になることを防止でき、多重化データ分離部３０から供給される一連のＶＯＢＵをバッファ４１および４２に１ＶＯＢＵ分ずつ格納させることが可能になる。
【０１７４】
新たな復号化対象として指定した符号化データが特定ピクチャの場合、読み出し中のバッファに書き込まれたＶＯＢＵが他方のバッファに書き込まれたＶＯＢＵより後に多重化データ分離部３０から供給されたＶＯＢＵであり、かつ、他方のバッファに読み出し可能な符号化ビデオデータが書き込まれていることを条件として、読み出し対象バッファが他方のバッファに変更され、その読み出しポインタＲＰがＶＯＢＵの先頭に設定される。これにより、特定ピクチャが復号化対象として指定された場合において、その特定ピクチャの参照先ピクチャが含まれるＶＯＢＵの各ピクチャを先頭から順番に読み出して復号化することが可能になる。
また、符号化ビデオデータバッファ部４０からの符号化データの読み出し中に、読み出し対象バッファの符号化データを全て読み出した場合、読み出し対象バッファに１ＶＯＢＵ分の符号化ビデオデータが書き込まれており、読み出し対象バッファに書き込まれたＶＯＢＵが他方のバッファに書き込まれたＶＯＢＵより先に多重化データ分離部３０から供給されたＶＯＢＵであり、かつ、他方のバッファに読み出し可能な符号化ビデオデータが書き込まれていることを条件として、他方のバッファが新たな読み出し対象として設定され、そのバッファに格納されたＶＯＢＵの先頭から順番に符号化ビデオデータが読み出される。これにより、特定ピクチャが復号化対象として指定された場合において、その特定ピクチャの参照先ピクチャが含まれるＶＯＢＵの各ピクチャを先頭から順番に読み出して復号化し、次いで、その特定ピクチャが含まれるＶＯＢＵの各ピクチャを先頭から順番に読み出して復号化することが可能になる。
【０１７５】
なお、本発明は上述した実施形態に限定されない。
たとえば、上述した実施形態において符号化ビデオデータバッファ部４０は２つのバッファ（４１，４２）を有しているが、その数は任意である。
【０１７６】
制御部の構成は任意であり、たとえば図１の例に示すデータ復号化部のように、システム制御部６０と各構成要素に含まれる制御部（たとえばバッファ制御部４３など）とに分かれた構成としても良いし、これらをまとめた１つの制御部としても良い。
【０１７７】
制御部を含む各構成要素の処理は、全てをハードウェアで実現しても良いし、その一部または全部をコンピュータやＤＳＰなどの処理装置に置き換えて、ソフトウェアにより実現しても良い。
【０１７８】
上述した実施形態においてビデオデータ復号化部５０の出力信号の形式は任意であり、たとえば、復号化結果として得られた画像データをそのまま他の装置（画像編集装置など）に出力しても良い。
【０１７９】
上述した実施形態はデータ復号化装置を逆転再生モードで動作させるものであるが、これを通常再生モードや他のモードで動作させることも可能である。
たとえば図１に示すデータ復号化装置を通常再生モードで動作させる場合、バッファ制御部４３においてバッファ・ポインタＣＷＢＰおよびバッファ・ポインタＣＲＢＰをバッファ４１に固定させ、バッファ４１の制御部４０２において書き込みポインタＷＰおよび読み出しポインタＲＰをリングバッファとして制御させることにより、多重化データ分離部３０やビデオデータ復号化部５０の動作を変更することなく、図３５に示すＤＶＤビデオ再生装置と同様の通常再生動作を実行させることが可能になる。
【０１８０】
【発明の効果】
本発明によれば、それぞれ復号化順序が割り当てられた符号化データを入力して復号化し、その復号化結果を割り当てられた復号化順序に応じて順に出力する処理において、同一符号化データを反復して入力する無駄な処理を省略することができ、処理の高速化とシステムの低消費電力化を図ることができる。
【図面の簡単な説明】
【図１】本発明に係るデータ復号化装置の構成の一例を示すブロック図である。
【図２】逆転再生時における符号化ビデオデータバッファ部の概念的な動作を図解した図である。
【図３】逆転再生時におけるＶＯＢＵごとの符号化データの書き込み順序および読み出し順序を図解した図である。
【図４】バッファの構成の一例を示すブロック図である。
【図５】バッファに対する記憶領域設定要求に応じた処理を示すフローチャートである。
【図６】バッファに対する記憶内容クリア要求に応じた処理を示すフローチャートである。
【図７】バッファに対するフル状態問い合わせに応じた処理を示すフローチャートである。
【図８】バッファに対する保護状態問い合わせに応じた処理を示すフローチャートである。
【図９】バッファに対する書き込み可否問い合わせに応じた処理を示すフローチャートである。
【図１０】バッファに対する書き込み要求に応じた処理を示すフローチャートである。
【図１１】バッファに対する読み出し要求に応じた処理を示すフローチャートである。
【図１２】バッファに対する再読み出し準備要求に応じた処理を示すフローチャートである。
【図１３】バッファに対するバッファ保護要求に応じた処理を示すフローチャートである。
【図１４】バッファに対するエンプティ状態問い合わせに応じた処理を示すフローチャートである。
【図１５】バッファに対する読み出し可否問い合わせに応じた処理を示すフローチャートである。
【図１６】符号化ビデオデータバッファ部の構成の一例を示すブロック図である。
【図１７】符号化ビデオデータバッファ部に対する記憶領域設定要求に応じた処理を示すフローチャートである。
【図１８】符号化ビデオデータバッファ部に対する記憶内容のクリア要求に応じた処理を示すフローチャートである。
【図１９】他バッファのアドレス取得処理を示すフローチャートである。
【図２０】符号化ビデオデータバッファ部に対する書き込み先変更要求に応じた処理を示すフローチャートである。
【図２１】符号化ビデオデータバッファ部に対する書き込み可否問い合わせに応じた処理を示すフローチャートである。
【図２２】符号化ビデオデータバッファ部に対する読み出し可否問い合わせに応じた処理を示すフローチャートである。
【図２３】２つのバッファに書き込まれたＶＯＢＵの配列順序の判定方法について図解した図である。
【図２４】符号化ビデオデータバッファ部に対する書き込み要求に応じた処理を示すフローチャートである。
【図２５】符号化ビデオデータバッファ部に対する読み出し要求に応じた処理を示すフローチャートである。
【図２６】符号化ビデオデータバッファ部に対する再読み出し準備要求に応じた処理を示すフローチャートである。
【図２７】削除対象バッファのアドレス取得処理を示すフローチャートである。
【図２８】バッファの状態とバッファ・ポインタＰＤＢＰとの関係に応じて決定される削除対象バッファを図解した図である。
【図２９】符号化ビデオデータバッファ部に対するバッファのデータ削除要求に応じた処理を示すフローチャートである。
【図３０】ビデオデータ復号化部の構成の一例を示すブロック図である。
【図３１】図１に示すデータ復号化装置の逆転再生時における各処理の順序を図解したシーケンス図である。
【図３２】図１に示すデータ復号化装置の逆転再生モードにおける初期化動作を説明するための図である。
【図３３】図１に示すデータ復号化装置の逆転再生モードにおける多重化データ供給動作および多重化データ分離動作を説明するための図である。
【図３４】図１に示すデータ復号化装置の逆転再生モードにおける復号化動作および出力動作を説明するための図である。
【図３５】一般的なＤＶＤビデオ再生装置の構成例を示すブロック図である。
【図３６】ＶＯＢＵの構成の一例を示す図である。
【図３７】ＶＯＢＵに含まれるＧＯＰの構成の一例を示す図である。
【図３８】各再生モードにおけるＶＯＢＵの供給例を示す図である。
【図３９】多重化データ分離部における符号化データの分離動作の一例を図解した第１の図である。
【図４０】多重化データ分離部における符号化データの分離動作の一例を図解した第２の図である。
【図４１】符号化ビデオデータバッファ部の構成の一例を示すブロック図である。
【図４２】図３５に示すＤＶＤビデオ再生装置の通常再生時における動作を説明するための図である。
【図４３】通常再生時においてビデオデータ復号化部に入出力されるＧＯＰの一例を示す図である。
【図４４】図４３に示すＧＯＰの復号化結果が、復号化の過程においてビデオデータ復号化部の各フレーム・メモリに格納される様子を図解した図である。
【図４５】図３５に示すＤＶＤビデオ再生装置の逆転再生時における動作を説明するための図である。
【図４６】図３５に示すＤＶＤビデオ再生装置の逆転再生時における各処理の順序を図解したシーケンス図である。
【図４７】逆転再生時においてビデオデータ復号化部に入出力されるＧＯＰと、通常のピクチャを復号化する際に参照されるピクチャの例を図解した図である。
【図４８】図４７に示すＧＯＰの復号化結果が、復号化の過程においてビデオデータ復号化部の各フレーム・メモリに格納される様子を図解した図である。
【図４９】逆転再生時においてビデオデータ復号化部に入出力されるＧＯＰと、特定ピクチャを復号化する際に参照されるピクチャの例を図解した図である。
【図５０】図４９に示すＧＯＰの復号化結果が、復号化の過程においてビデオデータ復号化部の各フレーム・メモリに格納される様子を図解した図である。
【符号の説明】
１０…多重化データ供給部、２０…多重化データバッファ部、３０…多重化データ分離部、４０…符号化ビデオデータバッファ部、５０…ビデオデータ復号化部、６０…システム制御部、４１，４２…バッファ、４３…バッファ制御部、４０１…記憶部、４０２，５４…制御部、５１…復号化部、５２…フレームバッファ部、５３…出力部
【図１】
2004215185.tif 000003
【図２】
2004215185.tif 000004
【図３】
2004215185.tif 000005
【図４】
2004215185.tif 000006
【図５】
2004215185.tif 000007
【図６】
2004215185.tif 000008
【図７】
2004215185.tif 000009
【図８】
2004215185.tif 000010
【図９】
2004215185.tif 000011
【図１０】
2004215185.tif 000012
【図１１】
2004215185.tif 000013
【図１２】
2004215185.tif 000014
【図１３】
2004215185.tif 000015
【図１４】
2004215185.tif 000016
【図１５】
2004215185.tif 000017
【図１６】
2004215185.tif 000018
【図１７】
2004215185.tif 000019
【図１８】
2004215185.tif 000020
【図１９】
2004215185.tif 000021
【図２０】
2004215185.tif 000022
【図２１】
2004215185.tif 000023
【図２２】
2004215185.tif 000024
【図２３】
2004215185.tif 000025
【図２４】
2004215185.tif 000026
【図２５】
2004215185.tif 000027
【図２６】
2004215185.tif 000028
【図２７】
2004215185.tif 000029
【図２８】
2004215185.tif 000030
【図２９】
2004215185.tif 000031
【図３０】
2004215185.tif 000032
【図３１】
2004215185.tif 000033
【図３２】
2004215185.tif 000034
【図３３】
2004215185.tif 000035
【図３４】
2004215185.tif 000036
【図３５】
2004215185.tif 000037
【図３６】
2004215185.tif 000038
【図３７】
2004215185.tif 000039
【図３８】
2004215185.tif 000040
【図３９】
2004215185.tif 000041
【図４０】
2004215185.tif 000042
【図４１】
2004215185.tif 000043
【図４２】
2004215185.tif 000044
【図４３】
2004215185.tif 000045
【図４４】
2004215185.tif 000046
【図４５】
2004215185.tif 000047
【図４６】
2004215185.tif 000048
【図４７】
2004215185.tif 000049
【図４８】
2004215185.tif 000050
【図４９】
2004215185.tif 000051
【図５０】
2004215185.tif 000052