(57)【特許請求の範囲】
【請求項１】
動画像符号化データを復号する復号装置において、
前記動画像符号化データを構成するピクチャ各々を最大参照画像数により分類したピクチャ種別の構成であって、前記動画像符号化データ中で連続するピクチャからなるピクチャ群における構成であるピクチャ種別構成を検出するピクチャ種別構成検出部と、
前記各ピクチャ種別のピクチャの復号処理におけるメモリとの間の前記最大参照画像数に基づくデータ転送量と、前記検出したピクチャ種別構成とに基づき、前記ピクチャ群のピクチャ各々の復号処理におけるメモリとの間の単位時間当たりのデータ転送量が、時間方向に平準化されるように各ピクチャの基準復号処理時間を求める復号処理時間算出部と、
前記ピクチャ群のピクチャを前記ピクチャ種別により参照画像数の多い第１ピクチャ群と参照画像数の少ない第２ピクチャ群とに分類するピクチャ分類部と、
前記ピクチャ分類部が分類した第１ピクチャ群のピクチャ各々を構成する構成要素各々の参照画像数を検出する参照画像数検出部と、
前記第１ピクチャ群のピクチャ各々を構成する構成要素のうち、当該構成要素の属するピクチャの最大参照画像数より前記参照画像数検出部が検出した参照画像数が少ない構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間より短い時間を該構成要素の復号処理時間とし、残りの構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間を該構成要素の復号処理時間とし、前記各構成要素の復号処理時間を合計した前記第１ピクチャ群の復号処理時間と、該第１ピクチャ群を構成するピクチャの前記基準復号処理時間の合計との差分である余剰時間を算出する余剰時間演算部と、
前記算出した余剰時間を、前記ピクチャ群の後続のピクチャ群における第２ピクチャ群の復号処理時間に割り当てて、該第２ピクチャ群を構成するピクチャの復号処理時間を算出する第２ピクチャ群処理時間演算部と
を具備することを特徴とする復号装置。
【請求項２】
前記ピクチャ種別構成検出部は、前記動画像符号化データから同一のピクチャに関する提示時刻情報と復号時刻情報とを検出し、該ピクチャと前記動画像符号化データ中の並びが該ピクチャに続くピクチャであって、提示時刻が該ピクチャより前のピクチャからなるピクチャ群におけるピクチャ種別構成を、前記検出した提示時刻情報と復号時刻情報とに基づき算出すること
を特徴とする請求項１に記載の復号装置。
【請求項３】
前記余剰時間演算部は、前記ピクチャ分類部が分類した第１ピクチャ群のピクチャ各々を構成する構成要素のうち、当該構成要素の属するピクチャの最大参照画像数より参照画像数が少ない構成要素については、各ピクチャの復号処理時間を均等にしたときの１構成要素当たりの復号処理時間を該構成要素の復号処理時間とすることを特徴とする請求項１または２に記載の復号装置。
【請求項４】
前記ピクチャ種別は、最大参照画像数が２つのＢピクチャと、最大参照画像数が１つまたは０のＩ／Ｐピクチャとの２種類であり、
前記第１ピクチャ群は、Ｂピクチャからなり、
前記第２ピクチャ群は、Ｉ／Ｐピクチャからなること
を特徴とする請求項１から請求項３のいずれかの項に記載の復号装置。
【請求項５】
請求項１から請求項４のいずれかの項に記載の復号装置を具備することを特徴とするデジタルテレビ装置。
【請求項６】
請求項１から請求項４のいずれかの項に記載の復号装置を具備することを特徴とするテレビ付き携帯電話。
【請求項７】
請求項１から請求項４のいずれかの項に記載の復号装置を具備することを特徴とするデジタルメディアプレーヤ。
【請求項８】
請求項１から請求項４のいずれかの項に記載の復号装置を具備することを特徴とするインターネットテレビ装置。
【請求項９】
動画像符号化データを復号する復号装置における復号方法において、
前記復号装置が、前記動画像符号化データを構成するピクチャ各々を最大参照画像数により分類したピクチャ種別の構成であって、前記動画像符号化データ中で連続するピクチャからなるピクチャ群における構成であるピクチャ種別構成を検出する第１の過程と、
前記復号装置が、前記各ピクチャ種別のピクチャの復号処理におけるメモリとの間の前記最大参照画像数に基づくデータ転送量と、前記検出したピクチャ種別構成とに基づき、前記ピクチャ群のピクチャ各々の復号処理におけるメモリとの間の単位時間当たりのデータ転送量が、時間方向に平準化されるように各ピクチャの基準復号処理時間を求める第２の過程と、
前記復号装置が、前記ピクチャ群のピクチャを前記ピクチャ種別により参照画像数の多い第１ピクチャ群と参照画像数の少ない第２ピクチャ群とに分類する第３の過程と、
前記復号装置が、前記第３の過程にて分類した第１ピクチャ群のピクチャ各々を構成する構成要素各々の参照画像数を検出する第４の過程と、
前記第１ピクチャ群のピクチャ各々を構成する構成要素のうち、当該構成要素の属するピクチャの最大参照画像数より前記第４の過程にて検出した参照画像数が少ない構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間より短い時間を該構成要素の復号処理時間とし、残りの構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間を該構成要素の復号処理時間とし、前記各構成要素の復号処理時間を合計した前記第１ピクチャ群の復号処理時間と、該第１ピクチャ群を構成するピクチャの前記基準復号処理時間の合計との差分である余剰時間を算出する第５の過程と、
前記復号装置が、前記第５の過程にて算出した余剰時間を、前記ピクチャ群の後続のピクチャ群における第２ピクチャ群の復号処理時間に割り当てて、該第２ピクチャ群を構成するピクチャの復号処理時間を算出する第６の過程と
を備えることを特徴とする復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、復号装置、デジタルテレビ装置、テレビ付き携帯電話、デジタルメディアプレーヤ、インターネットテレビ装置および復号方法、特に動画像符号化データを復号する復号装置、デジタルテレビ装置、テレビ付き携帯電話、デジタルメディアプレーヤ、インターネットテレビ装置および復号方法に関する。
【背景技術】
【０００２】
近年、ＭＰＥＧ（Moving Picture Experts Group）１、ＭＰＥＧ２、ＭＰＥＧ４、ＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Standardization：国際電気通信連合  電気通信標準化部門）勧告Ｈ．２６３、Ｈ．２６４等の動画像符号化方式が、ＤＶＤ（Digital Versatile Disk）、デジタル放送、テレビ電話等、様々な装置に利用されるようになっている（特許文献１、非特許文献１参照）。これらの符号化方式が普及した理由としては、蓄積、放送、通信の何れのメディアにおいても、利用上問題となる程に巨大な動画像データのサイズを、１／３０〜１／８０にまで圧縮することが可能である点が挙げられる。これらの動画像符号化方式においては、その圧縮率を高めるための一技術として、動画を構成する静止画（以降、ピクチャと呼ぶ）間の相関を利用する「動き補償」の技術が用いられている。この「動き補償」の基本的な考え方を、以下に述べる。
【０００３】
説明のために図２１を用いる。図２１は、符号化あるいは復号処理中の現在のピクチャ１７１０と、現在のピクチャ１７１０より前に表示される過去のピクチャ１７００と、現在のピクチャ１７１０より後に表示される未来のピクチャ１７２０とを、並べた図である。図２１における現在のピクチャ１７１０の中の領域１７１５と過去のピクチャ１７００中の領域１７０５とが似た画であったとすれば、領域１７１５は領域１７０５に少しだけ修正したものと考えることができる。その修正に必要なデータは、前記領域１７０５と領域１７１５の相関が高い程少なくて済む。そこで、現在のピクチャ１７１０の領域１７１５の符号化では、過去のピクチャ１７００の領域１７０５の領域１７１５に対する相対位置と、領域１７１５と領域１７０５との差分データを求め、それらを符号化する。
【０００４】
そして、ピクチャ１７１０の領域１７１５の復号は、前記相対位置から得られる位置における過去のピクチャ１７００の領域１７０５のデータに、前記差分データを加算することにより行う。つまり、「動き補償」を利用した動画像符号化方式で符号化されたストリームを復号する際には、復号するピクチャのストリームに加え、既に復号済みの、符号化時に使用した他のピクチャのデータが必要となる。また、現在のピクチャ１７１０の中の領域１７１５と未来のピクチャ１７２０の中の領域１７２５とが似た画であったときも、同様である。
【０００５】
ところで、前記の現在主流となっている動画像符号化では、ピクチャは、その符号化の方法によって、以下の３種類の符号化種別（ピクチャタイプ）に分類されている。それ自身の情報のみで符号化された、故にそれ自身の符号化ストリームのみから復号が可能なＩ（Intra：画面内予測）ピクチャ、過去のピクチャ１枚から動き補償予測を使用して符号化された、即ち、復号時には符号化の際に使用したピクチャ１枚を参照する必要があるＰ（Predictive：順方向予測）ピクチャ、過去と未来のピクチャ１枚もしくは２枚から動き補償予測を使用して符号化された、即ち、復号時には符号化の際に使用したピクチャ１枚もしくは２枚を参照する必要があるＢ（ＭＰＥＧ１／２／４、勧告Ｈ．２６３では、Bi-directional predictive（双方向予測）を意味し、勧告Ｈ．２６４では、Bi-predictive Prediction（双予測）を意味する）ピクチャの３種類である。Ｂピクチャについては、勧告Ｈ．２６４とそれ以前の動画像符号化規格で定義が異なるが、復号時のピクチャの参照枚数に限って言えば、最大２枚を参照するという点で共通である。なお、Ｐピクチャ及びＢピクチャにも、Ｉピクチャと同様に、他のピクチャを参照しない部分が含まれることはある。
【０００６】
ここで、デジタルＴＶに用いられる動画像の復号装置の構成例を示した概略ブロック図を図２２に示す。この復号装置は、ビデオデコーダ１８００、メモリ１８１０、ＣＰＵ１８２０、表示処理部１８３０、表示装置１８４０、オーディオデコーダ１８５０、チューナ１８６０、ストリーム処理部１８７０、バス１８８０、音声出力装置１８９０で構成されている。この例では、ストリーム処理部１８７０、ＣＰＵ１８２０、メモリ１８１０、ビデオデコーダ１８００、オーディオデコーダ１８５０、表示処理部１８３０が、バス１８８０に接続されて、バス１８８０を共有している。
【０００７】
以下、図２２に示す動画像復号装置の動作を説明する。チューナ１８６０はデジタルＴＶチューナであり、受信した放送波を復調処理して、オーディオ、ビデオ、セクションその他の情報が格納されたデータ列（ストリーム）を取り出す。前記ストリームはストリーム処理部１８７０へと送られる。ストリーム処理部１８７０は、前記ストリームをビデオストリーム、オーディオストリーム、セクション等に分類し、それぞれメモリ１８１０へと書き込む。ビデオデコーダ１８００は、前記ビデオストリームをメモリ１８１０から読み出し、復号処理を行って、その復号処理の結果であるピクチャデータをメモリ１８１０へと書き込む。ＰピクチャやＢピクチャの復号処理時には、前記「動き補償」処理のために、復号処理済みのピクチャデータの参照が必要となるため、メモリ１８１０から前記復号処理済みのピクチャデータの読み出しが随時行われる。オーディオデコーダ１８５０は、前記オーディオストリームをメモリ１８１０から読み出し、復号処理を行って、その復号処理の結果であるオーディオデータを音声出力装置１８９０へと出力する。
【０００８】
ＣＰＵ１８２０は、メモリ１８１０に格納されたプログラムを実行することで動作し、ユーザ操作等の外部イベントに対しての応答処理を行う。なお、ＣＰＵ１８２０が実行するプログラムは、本動画像復号装置の起動時に、図２２中に図示されない不揮発性メモリやネットワーク等からメモリ１８１０にロードされる。また、ＣＰＵ１８２０は、前記セクションをメモリ１８１０から読み出し、データ放送や番組情報の復号を行い、復号結果の画像データをメモリ１８１０へと書き込む。表示処理部１８３０は、前記ビデオデコーダ１８００がメモリ１８１０に書き込んだピクチャデータを読み出し、画質調整等の処理を行ったり、前記ＣＰＵ１８２０がメモリ１８１０に書き込んだ画像データを拡大縮小するスケール調整等を行ったり、さらには、双方の重ね合わせ処理等を行って、表示装置１８４０へと出力する。なお、ビデオデコーダ１８００、オーディオデコーダ１８５０、表示処理部１８３０の動作タイミングは、ストリーム中に含まれる時間パラメータに基づき、制御が行われる（復号結果表示／出力タイミングの制御方法は、例えば、非特許文献２、非特許文献３に記載されている）。
【０００９】
従って、上記図２２に示したようなシステムでは、バス１８８０（ひいてはメモリ１８１０）は、ストリーム処理部１８７０、ＣＰＵ１８２０、ビデオデコーダ１８００、オーディオデコーダ１８５０、表示処理部１８３０が使用する帯域の合計を上回る帯域を持たねばならないことになる。なお、本明細書中において、「帯域」は「単位時間当たりのデータ転送量（＝データ転送速度）」を意味するものとする。
【００１０】
一方で、ビデオデコーダ１８００がメモリ１８１０に対するアクセスで使用する帯域は復号を行うピクチャタイプ毎に変化する。実際には、ビデオデコーダ１８００がメモリ１８１０に対するアクセスで使用する帯域は、符号化時の動き補償処理でどれだけ他のピクチャを参照するかによって変動するが、各ピクチャタイプにおいて最も多く参照する（使用する帯域が多い）場合を図２３に示す。
【００１１】
ビデオデコーダ１８００がバス１８８０を介してメモリ１８１０に行うアクセスは、大きく３つに分類される。即ち、（１）メモリ１８１０からビデオストリームを読み出す（図２３のストリーム読み出し１９００、１９２０、１９５０）、（２）メモリ１８１０に復号結果のピクチャデータを書き込む（図２３の書き込み１９１０、１９３０、１９６０）、（３）メモリ１８１０から参照用のピクチャデータを読み出す（図２３の読み出し１９４０、１９７０、１９８０）である。
【００１２】
（１）のケースは、前記ＭＰＥＧ２等のデジタルの動画像符号化方式においては、符号化されたビデオストリームが、元画像の１／３０〜１／８０のサイズにまで圧縮されていることを考えると、（２）、（３）のケースに比べて、非常に少ない帯域となる（全ての種類のピクチャで同一の帯域という訳ではないが使用する帯域の総量からするとわずかであるということは共通する）。
【００１３】
（２）のケースは、Ｉピクチャ、Ｐピクチャ、Ｂピクチャの何れの場合でも復号結果のピクチャを書き込むので、必ず１ピクチャ分の書き込みが行われる。従って、いずれのタイプのピクチャでも同じ帯域が使用される。
（３）のケースは、ＰピクチャとＢピクチャでのみ発生し、Ｐピクチャでは最大１ピクチャ分、Ｂピクチャでは最大２ピクチャ分の読み出しが行われる。
即ち、各タイプのピクチャの復号処理に使用される最大帯域を比較すると、Ｂピクチャが最も使用する帯域が多くなり、次がＰピクチャ、最も少ない帯域で済むのがＩピクチャとなる。
【特許文献１】特開平８−２１２７０１号公報
【非特許文献１】大久保  榮監修、「Ｈ．２６４／ＡＶＣ教科書」、株式会社インプレス
【非特許文献２】亀山  渉、花村  剛監修、「改訂版デジタル放送教科書（上）」、株式会社インプレス
【非特許文献３】藤原  洋著、「最新ＭＰＥＧ教科書」、アスキー出版局
【発明の開示】
【発明が解決しようとする課題】
【００１４】
以上述べたように、ビデオデコーダはピクチャタイプ毎に、メモリに対するアクセスで使用する帯域が変化する。従って、ビデオデコーダが接続されるバスやビデオデコーダが復号処理に使用するメモリには、この変化する帯域の最大値以上の帯域が要求される。該要求を満たすためには、高性能のメモリやバスを使用する必要があり、高コストとなってしまうという問題がある。
【００１５】
特に、これらのバスやメモリを、他のオーディオデコーダやＣＰＵ等のモジュールと共有する場合には、各々の行う処理でそれぞれ帯域が必要とされるため、前記バスやメモリに必要とされる帯域は、前記ビデオデコーダが必要とする最大の帯域に、前記ビデオデコーダ以外のモジュールが使用する帯域を加えた帯域となるため、さらに大きな帯域となってしまう。
【００１６】
また、デジタルＴＶのような機器において、これらのバスやメモリをＣＰＵ等のモジュールと共有する場合には、ビデオデコーダによる復号処理以外にも、外部からの非定常的に発生するイベント（例えばユーザの操作）に対する処理も行う必要があるが、ビデオデコーダが多くの帯域を使用する処理を行っている時は、ユーザの操作等の外部からもたらされるイベントに対する応答時間が長くなってしまう（ユーザの操作への応答性が悪くなる）という問題がある。
【００１７】
本発明は、このような事情に鑑みてなされたもので、その目的は、ビデオデコーダが復号処理を行う際に必要となるメモリに対するアクセスで使用する帯域、すなわち単位時間当たりのデータ転送量を抑えることで、低コスト化された復号装置、および、メモリをＣＰＵ等のモジュールと共有していても、ユーザ操作などの外部からのイベントに対して優れた応答性を得ることができる復号装置、デジタルテレビ装置、テレビ付き携帯電話、デジタルメディアプレーヤ、インターネットテレビ装置および復号方法を提供することにある。
【課題を解決するための手段】
【００１８】
この発明は上述した課題を解決するためになされたもので、本発明の復号装置は、動画像符号化データを復号する復号装置において、前記動画像符号化データを構成するピクチャ各々を最大参照画像数により分類したピクチャ種別の構成であって、前記動画像符号化データ中で連続するピクチャからなるピクチャ群における構成であるピクチャ種別構成を検出するピクチャ種別構成検出部と、前記各ピクチャ種別のピクチャの復号処理におけるメモリとの間の前記最大参照画像数に基づくデータ転送量と、前記検出したピクチャ種別構成とに基づき、前記ピクチャ群のピクチャ各々の復号処理におけるメモリとの間の単位時間当たりのデータ転送量が、時間方向に平準化されるように各ピクチャの基準復号処理時間を求める復号処理時間算出部と、前記ピクチャ群のピクチャを前記ピクチャ種別により参照画像数の多い第１ピクチャ群と参照画像数の少ない第２ピクチャ群とに分類するピクチャ分類部と、前記ピクチャ分類部が分類した第１ピクチャ群のピクチャ各々を構成する構成要素各々の参照画像数を検出する参照画像数検出部と、前記第１ピクチャ群のピクチャ各々を構成する構成要素のうち、当該構成要素の属するピクチャの最大参照画像数より前記参照画像数検出部が検出した参照画像数が少ない構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間より短い時間を該構成要素の復号処理時間とし、残りの構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間を該構成要素の復号処理時間とし、前記各構成要素の復号処理時間を合計した前記第１ピクチャ群の復号処理時間と、該第１ピクチャ群を構成するピクチャの前記基準復号処理時間の合計との差分である余剰時間を算出する余剰時間演算部と、前記算出した余剰時間を、前記ピクチャ群の後続のピクチャ群における第２ピクチャ群の復号処理時間に割り当てて、該第２ピクチャ群を構成するピクチャの復号処理時間を算出する第２ピクチャ群処理時間演算部とを具備することを特徴とする。
【００１９】
これにより、本発明の復号装置は、ピクチャ群のピクチャ各々の復号処理におけるメモリとの間の単位時間当たりのデータ転送量が時間方向に平準化されるようにピクチャ種別構成に基づき基準復号処理時間を求めるとともに、参照画像数の多い第１ピクチャ群のピクチャの構成要素のうち、当該構成要素の属するピクチャの参照画増数より参照画像数が少ない構成要素については、１構成要素当たりの基準復号処理時間より短い時間を該構成要素の復号処理時間として第１ピクチャ群の復号処理における余剰時間を算出し、この余剰時間を後続のピクチャ群の第２ピクチャ群の復号処理時間に割り当てるので、各ピクチャを復号処理する際の参照画像数が多いピクチャの単位時間当たりのデータ転送量を抑え、さらに、参照画像数が多いピクチャの構成要素の参照画像数が少ないときに、参照画像数が少ないピクチャの単位時間当たりのデータ転送量を抑えるので、低コスト化された復号装置、および、メモリをＣＰＵ等のモジュールと共有していても、ユーザ操作などの外部からのイベントに対して優れた応答性を得ることができる。
【００２０】
また、本発明の復号装置は、上述の復号装置であって、前記ピクチャ種別構成検出部は、前記動画像符号化データから同一のピクチャに関する提示時刻情報と復号時刻情報とを検出し、該ピクチャと前記動画像符号化データ中の並びが該ピクチャに続くピクチャであって、提示時刻が該ピクチャより前のピクチャからなるピクチャ群におけるピクチャ種別構成を、前記検出した提示時刻情報と復号時刻情報とに基づき算出することを特徴とする。
【００２１】
また、本発明の復号装置は、上述のいずれかの復号装置であって、前記余剰時間演算部は、前記ピクチャ分類部が分類した第１ピクチャ群のピクチャ各々を構成する構成要素のうち、当該構成要素の属するピクチャの最大参照画像数より参照画像数が少ない構成要素については、各ピクチャの復号処理時間を均等にしたときの１構成要素当たりの復号処理時間を該構成要素の復号処理時間とすることを特徴とする。
【００２２】
また、本発明の復号装置は、上述のいずれかの復号装置であって、前記ピクチャ種別は、最大参照画像数が２つのＢピクチャと、最大参照画像数が１つまたは０のＩ／Ｐピクチャとの２種類であり、前記第１ピクチャ群は、Ｂピクチャからなり、前記第２ピクチャ群は、Ｉ／Ｐピクチャからなることを特徴とする。
【００２３】
また、本発明のデジタルテレビ装置は、上述のいずれかの項に記載の復号装置を具備することを特徴とする。
【００２４】
また、本発明のテレビ付き携帯電話は、上述のいずれかの項に記載の復号装置を具備することを特徴とする。
【００２５】
また、本発明のデジタルメディアプレーヤは、上述のいずれかの項に記載の復号装置を具備することを特徴とする。
【００２６】
また、本発明のインターネットテレビ装置は、上述のいずれかの項に記載の復号装置を具備することを特徴とする。
【００２７】
また、本発明の復号方法は、動画像符号化データを復号する復号装置における復号方法において、動画像符号化データを復号する復号装置における復号方法において、前記復号装置が、前記動画像符号化データを構成するピクチャ各々を最大参照画像数により分類したピクチャ種別の構成であって、前記動画像符号化データ中で連続するピクチャからなるピクチャ群における構成であるピクチャ種別構成を検出する第１の過程と、前記復号装置が、前記各ピクチャ種別のピクチャの復号処理におけるメモリとの間の前記最大参照画像数に基づくデータ転送量と、前記検出したピクチャ種別構成とに基づき、前記ピクチャ群のピクチャ各々の復号処理におけるメモリとの間の単位時間当たりのデータ転送量が、時間方向に平準化されるように各ピクチャの基準復号処理時間を求める第２の過程と、前記復号装置が、前記ピクチャ群のピクチャを前記ピクチャ種別により参照画像数の多い第１ピクチャ群と参照画像数の少ない第２ピクチャ群とに分類する第３の過程と、前記復号装置が、前記第３の過程にて分類した第１ピクチャ群のピクチャ各々を構成する構成要素各々の参照画像数を検出する第４の過程と、前記第１ピクチャ群のピクチャ各々を構成する構成要素のうち、当該構成要素の属するピクチャの最大参照画像数より前記第４の過程にて検出した参照画像数が少ない構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間より短い時間を該構成要素の復号処理時間とし、残りの構成要素については、該構成要素の属するピクチャの１構成要素当たりの基準復号処理時間を該構成要素の復号処理時間とし、前記各構成要素の復号処理時間を合計した前記第１ピクチャ群の復号処理時間と、該第１ピクチャ群を構成するピクチャの前記基準復号処理時間の合計との差分である余剰時間を算出する第５の過程と、前記復号装置が、前記第５の過程にて算出した余剰時間を、前記ピクチャ群の後続のピクチャ群における第２ピクチャ群の復号処理時間に割り当てて、該第２ピクチャ群を構成するピクチャの復号処理時間を算出する第６の過程とを備えることを特徴とする。
【発明の効果】
【００２８】
この発明によれば、各ピクチャを復号処理する際の参照画像数が多いピクチャの単位時間当たりのデータ転送量を抑えるとともに、参照画像数が多いピクチャの構成要素の参照画像数が少ないときには、参照画像数が少ないピクチャの単位時間当たりのデータ転送量をも抑えるので、高速なバスやメモリを必要としない低コスト化された復号装置、および、メモリをＣＰＵ等のモジュールと共有していても、ユーザ操作などの外部からのイベントに対する応答性の優れた復号装置が得られる。
【発明を実施するための最良の形態】
【００２９】
［第１の実施形態］
以下、本発明の第１の実施形態について、図１から図１７を用いて説明する。
図１は本実施形態による復号装置であるデジタルＴＶ３７０の構成を示す概略ブロック図である。デジタルＴＶ３７０は、チューナ３００、ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０、バス３６０から構成される。図１に示すデジタルＴＶ３７０は、ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、ビデオデコーダ２３０、オーディオデコーダ３２０、表示処理部３４０といった各データ処理を行うブロックがバス３６０を介して、メモリ２８０を共有する構成となっている。
【００３０】
以下、デジタルＴＶ３７０における復号処理の概要を説明する。まず、アンテナで受信した放送波がチューナ３００に入力されると、チューナ３００はこれを復調処理し、オーディオストリーム、ビデオストリーム、セクションその他の情報が格納されたストリームを取り出して、ストリーム処理部２００へと送る。ストリーム処理部２００は、入力されたストリームをビデオストリーム、オーディオストリーム、セクション等に分類し、それぞれメモリ２８０へと書き込む。
【００３１】
ビデオデコーダ２３０は、復号制御部３８０が生成した復号処理時間に基づいて、前記ビデオストリームをメモリ２８０から読み出し、復号処理を行って、その復号処理の結果であるピクチャデータをメモリ２８０へと書き込む。ビデオデコーダ２３０は、ＰピクチャやＢピクチャの復号処理中には、「動き補償」処理のために、ＩピクチャまたはＰピクチャの復号処理済みピクチャデータの参照が必要となるため、メモリ２８０から前記復号処理済みピクチャデータの読み出しを随時行う。
【００３２】
オーディオデコーダ３２０は、復号制御部３８０が生成した復号開始タイミング信号に基づいて、前記オーディオストリームをメモリ２８０から読み出し、復号処理を行って、その復号処理の結果であるオーディオデータを音声出力装置３３０へと出力する。音声出力装置３３０は、入力されたオーディオデータに従い、スピーカなどにより音声、楽音などを出力する。
【００３３】
復号制御部３８０は、ビデオデコーダ２３０が復号処理を行う際に用いる復号処理時間を生成し、ビデオデコーダ２３０に供給する。また、復号制御部３８０は、ビデオデコーダ２３０の復号結果であるピクチャデータの読み出しを開始するタイミングを示す信号を生成し、表示処理部３４０に提供する。復号制御部３８０は、オーディオの復号処理タイミングに関しても制御を行う。ビデオの表示タイミングに同期するように、オーディオの復号開始タイミング信号を生成し、オーディオデコーダ３２０に供給する。
【００３４】
ＣＰＵ３１０は、メモリ２８０に格納されたプログラムを実行することで動作し、ユーザ操作等の外部イベントに対しての応答処理を行う。なお、ＣＰＵ３１０が実行するプログラムは、デジタルＴＶ３７０の起動時に、図１中に図示されない不揮発性メモリやネットワーク等からメモリ２８０にロードされる。また、ＣＰＵ３１０は、前記セクションをメモリ２８０から読み出し、データ放送や番組情報の復号を行い、復号結果の画像データをメモリ２８０へと書き込む。
表示処理部３４０は、前記復号制御部３８０から指示されるタイミングに基づき、前記ビデオデコーダ２３０がメモリ２８０に書き込んだピクチャデータを読み出し、画質調整処理等を行った上で表示装置３５０へと出力する。その際、ＣＰＵ３１０がメモリ２８０に書き込んだ画像データを拡大縮小するスケール調整等を施した上で、前述のピクチャデータに重ね合わせる処理等も行う。表示装置３５０は、前記表示処理部３４０から与えられたデータを表示する。
【００３５】
図２は、デジタルＴＶ３７０におけるビデオの復号処理に関連した構成をより詳細に示すブロック図である。従って、図２では、オーディオ関連の処理ブロック（オーディオデコーダ３２０、音声出力装置３３０）やチューナ３００、ＣＰＵ３１０、表示装置３５０といったビデオの復号処理に直接関係のないブロックの図示を省略している。ＴＶ３７０のビデオ復号に関連した処理は、ストリーム処理部２００、ビデオストリームバッファ２１０、ビデオ位相調整バッファ２２０、ビデオデコーダ２３０、フレームバッファ２４０、表示処理部３４０、復号処理時間演算部２５０、ＳＴＣ２６０、表示タイミング生成部２７０、復号タイミング生成部２９０から構成されている。
【００３６】
図２のビデオストリームバッファ２１０、ビデオ位相調整バッファ２２０、フレームバッファ２４０は、図３のメモリ２８０に含まれ、復号処理時間演算部２５０、ＳＴＣ２６０、表示タイミング生成部２７０、復号タイミング生成部２９０は復号制御部３８０に含まれる。
【００３７】
なお、図２では図示を省略しているが、メモリ２８０には、オーディオストリームを格納する領域が、復号制御部３８０には、オーディオの復号タイミング信号を生成する機能が含まれる。
また、図２においては、バス３６０は図示していない。バス３６０は、各処理ブロックがメモリを共有するため及び各処理ブロック同士がデータをやり取りするために必要なものであるので、図２においては、メモリ２８０と各ブロックを接続する矢印及び各ブロック同士を接続する矢印がバス３６０に相当する部分となる。
【００３８】
以下、図２を用いて、本発明による動画復号処理の流れを説明する。ここでは、前記ストリーム処理部２００に入力される動画像符号化ストリームが、ＭＰＥＧ２−ＴＳ（Transport Stream）であるものとして説明する。
ストリーム処理部２００は、前記入力された動画像符号化ストリームＭＰＥＧ２−ＴＳから、ビデオＥＳ（Elementally Stream：エレメンタリストリーム）、ＴＳ（Transport Stream）ヘッダ、ビデオＥＳを格納したＰＥＳ（Packetized Elementary Stream：パケット化エレメンタリストリーム）パケットのヘッダ部分（以下、「ビデオＰＥＳヘッダ」という）を抽出し、それぞれ、ビデオＥＳをビデオストリームバッファ２１０と復号処理時間演算部２５０へ、ＴＳヘッダをＳＴＣ２６０へ、ビデオＰＥＳヘッダを復号処理時間演算部２５０と表示タイミング生成部２７０と復号タイミング生成部２９０へと分配する。
【００３９】
ここで、前記ストリーム処理部２００が各ブロックへと送るデータの内容について簡単に説明する。図３は、動画像符号化ストリームＭＰＥＧ２−ＴＳの構造を示す図である。動画像符号化ストリームＭＰＥＧ２−ＴＳは、ビデオストリーム、オーディオストリーム、データ放送、制御情報等の様々な要素を構成要素とすることができるが、図３は、ビデオストリームとオーディオストリームのみを含む動画像符号化ストリームＭＰＥＧ２−ＴＳを例示している。
【００４０】
図３において、ＴＳパケットＶであるパケットＴ３００、Ｔ３１０、Ｔ３３０は、ビデオストリームを運ぶためのＴＳパケットであり、ＴＳパケットＡであるパケットＴ３２０、Ｔ３４０はオーディオストリームを運ぶためのＴＳパケットである。図３に例示する動画像符号化ストリームＭＰＥＧ２−ＴＳは、これらのＴＳパケットによって構成されている。ＴＳパケットは固定長パケットであり、１８８バイトの長さを持つ。各ＴＳパケットは、ＴＳヘッダＴ３５０、Ｔ３７０、Ｔ３９０、Ｔ４１０とＴＳペイロードＴ３６０、Ｔ３８０、Ｔ４００、Ｔ４２０に分割することができる。これらのＴＳヘッダＴ３５０、Ｔ３７０、Ｔ３９０、Ｔ４１０は、前記のストリーム処理部２００によりＳＴＣ２６０へと送られる。
【００４１】
ＴＳパケットＶであるパケットＴ３００、Ｔ３１０、Ｔ３３０とＴＳパケットＡであるパケットＴ３２０、Ｔ３４０は、前記ＴＳヘッダ内のパラメータによりビデオストリームを運ぶためのＴＳパケットであるかオーディオストリームを運ぶためのＴＳパケットであるかを判別することが可能である。前記ＴＳペイロードには、ビデオストリームやオーディオストリームをＰＥＳパケット化したものが分割され、格納されている。即ち、ＴＳパケットＶであるパケットＴ３１０、Ｔ３３０のＴＳペイロードＴ３６０、Ｔ３８０には、ビデオＰＥＳパケットを分割したものが格納され、ＴＳパケットＡであるパケットＴ３２０、Ｔ３４０のＴＳペイロードＴ４００、Ｔ４２０には、オーディオＰＥＳパケットを分割したものが格納されている。
【００４２】
ＰＥＳパケットは、ビデオやオーディオの符号化されたデータであるＥＳ（エレメンタリストリーム）をパケット化したものであり、ビデオＰＥＳパケットは、ビデオＰＥＳヘッダ（Ｔ４３０、Ｔ４５０）とビデオＥＳ（Ｔ４４０、Ｔ４６０）とから構成され、オーディオＰＥＳパケットは、オーディオＰＥＳヘッダ（Ｔ４７０、Ｔ４９０）とオーディオＥＳ（Ｔ４８０、Ｔ５００）とから構成される。
【００４３】
前記ビデオＰＥＳヘッダＴ４３０、Ｔ４５０は、ストリーム処理部２００により復号処理時間演算部２５０、表示タイミング生成部２７０、復号タイミング生成部２９０に送られる。また、前記ビデオＥＳＴ４４０、Ｔ４６０は、ストリーム処理部２００によりビデオストリームバッファ２１０、復号処理時間演算部２５０へと送られる。図２は、ビデオの復号処理に関連した構成のみを抜き出したものであるため、前記オーディオＰＥＳヘッダＴ４７０、Ｔ４９０、及び、前記オーディオＥＳＴ４８０、Ｔ５００の送り先は、この図２には示されていない。
【００４４】
図２による動画像符号化ストリームＭＰＥＧ２−ＴＳの処理手順の説明に戻る。ビデオストリームバッファ２１０は、動画像符号化の規格によってその（最低）容量を定められたバッファである。例えばＭＰＥＧ２では、ＶＢＶ（Ｖｉｄｅｏ  Ｂｕｆｆｅｒｉｎｇ  Ｖｅｒｉｆｉｅｒ）バッファに相当し、入力されたビデオＥＳを蓄積し、ビデオＥＳの入出力の速度差を吸収する役目を持つ。ビデオ位相調整バッファ２２０は、後述する、本実施形態による復号方法が必要とする復号開始時刻の最大遅延時間Ｅの時間だけビデオＥＳを蓄積するためのバッファである。
【００４５】
ビデオストリームバッファ２１０に入力されたビデオＥＳは、ビデオ位相調整バッファ２２０に空きがある限り、順次ビデオ位相調整バッファ２２０に移動させられる。図２では、利用目的の違いを明確にするために、ビデオストリームバッファ２１０とビデオ位相調整バッファ２２０を個別に設けているが、両者を一つのバッファにまとめた構成としてもよい。
【００４６】
復号処理時間演算部２５０は、入力されたビデオＥＳとビデオＰＥＳヘッダから、ビデオデコーダ２３０が復号処理を行う際に用いるピクチャの画像構成要素毎の復号処理時間（復号処理速度でも同義）を演算する。復号処理時間の演算方法の詳細は後述する。本実施形態においては、前記画像構成要素はマクロブロックとしている。結果として得られた復号処理時間は、ビデオデコーダ２３０に供給される。
【００４７】
以下、復号処理時間演算部２５０の動作の詳細を図４〜１２を用いて説明する。図４は、復号処理時間演算部２５０の構成を示す概略ブロック図である。復号処理時間演算部２５０は、図４に示すように、参照画像数検出部１０５、フレーム周期検出部１１０、解像度検出部１１５、処理ピクチャタイプ検出部１２０、Ｐ−Ｐ間フレーム数検出部１２５、Ｔｍｂ演算部１３０、復号時間比演算部１３５、画像構成要素数計数部１４０、余剰時間演算部１４５、Ｂピクチャ処理時間演算部１５０、Ｉ／Ｐピクチャ処理時間演算部１５５、ＦＩＦＯ（First In First Out：先入れ先出し）書き込み制御部１６０、ＦＩＦＯ１６５、余剰時間演算時刻検出部１７０を具備する。
【００４８】
参照画像数検出部１０５、フレーム周期検出部１１０、解像度検出部１１５、処理ピクチャタイプ検出部１２０には、ストリーム処理部２００からビデオＥＳが入力される。Ｐ−Ｐ間フレーム数検出部１２５には、ストリーム処理部２００からビデオＰＥＳヘッダが入力される。
【００４９】
以下、ビデオＥＳの動画像符号化アルゴリズムがＭＰＥＧ２であるとして、復号処理時間演算部２５０の動作を説明する。なお、本実施形態においては、１ピクチャは１フレームであるものとする。
最初に、ＭＰＥＧ２のビデオＥＳの構成について簡単に説明する。図５はＭＰＥＧ２のビデオＥＳの構造を示す図である。図５からわかるように、ＭＰＥＧ２のビデオＥＳは６層構造となっており、最上層がシーケンス層、次の第２層がＧＯＰ（Group Of Picture：グループオブピクチャ）層、第３層がピクチャ層、第４層がスライス層、第５層がマクロブロック層、第６層がブロック層となっている。
【００５０】
シーケンス層は、１つまたは複数のＧＯＰを管理するための層であり、１つまたは複数のシーケンスヘッダと、１つまたは複数のＧＯＰと、１つのシーケンスの終了を示すシーケンス終了コードとからなる。ＧＯＰ層は、シーケンスへのランダムアクセスのための層であり、ＧＯＰヘッダとそれに続くＩピクチャ（図中Ｉ）、Ｂピクチャ（図中Ｂ）、Ｐピクチャ（図中Ｐ）とからなる。ＧＯＰ層は存在しないこともある。ピクチャ層は、符号化の基本単位であるピクチャを構成する層であり、ピクチャヘッダとそれに続くスライスとからなる。
【００５１】
スライス層は、エラー発生時の再同期単位のための層であり、スライスヘッダとそれに続くマクロブロックとからなる。マクロブロック層は、動き補償の単位を構成する層であり、マクロブロックヘッダとそれに続くブロックとからなる。ブロック層は、ＤＣＴ（Discrete Cosine Transform：離散コサイン変換）処理等の符号化処理の基本単位を構成する層であり、ブロックデータからなる。
【００５２】
図４に戻り、フレーム周期検出部１１０は、入力されたビデオＥＳから、動画のフレーム周期Ｔの算出を行う。前記ビデオＥＳの最上層、シーケンス層のシーケンスヘッダには、ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅ、ｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｎ（以下、「ＦＲＥｎ」という）、ｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｄ（以下、「ＦＲＥｄ」という）というパラメータが含まれており、これらからフレームレートＦを求めることが可能である。具体的には、ｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅを図６に示したｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅの各値とｆｒａｍｅ＿ｒａｔｅ＿ｖａｌｕｅ（以下、「ＦＲＶ」という）との対応関係を格納した表を用いて変換することにより、ＦＲＶを求め、これを以下の式（１）に代入することにより、フレームレートＦを求める。
【００５３】
【数１】
0004807883.tif 000002
【００５４】
なお、対象とするＭＰＥＧ２プロファイルにおいて、ｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｎ及びｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｄが０と規定されている場合や、復号しようとするビデオＥＳにｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｎやｆｒａｍｅ＿ｒａｔｅ＿ｅｘｔｅｎｓｉｏｎ＿ｄが含まれていない場合には、以下の式（１）’を用いてフレームレートＦを求める。
Ｆ＝ＦＲＶ…（１）’
【００５５】
フレーム周期検出部１１０は、以上のように式（１）あるいは式（１）’を用いて求めたフレームレートＦの逆数を取り、フレーム周期Ｔを求め、前記フレーム周期ＴをＰ−Ｐ間フレーム数検出部１２５及びＴｍｂ演算部１３０へと出力する。この出力値は、新たにシーケンスヘッダを検出し、フレーム周期Ｔを算出し直すまで保持される。
【００５６】
解像度検出部１１５は、入力されたビデオＥＳから、水平方向解像度ＨＳと垂直方向解像度ＶＳを検出する。前記ビデオＥＳの最上層、シーケンス層のシーケンスヘッダには、ｈｏｒｉｚｏｎｔａｌ＿ｓｉｚｅ＿ｖａｌｕｅ、ｈｏｒｉｚｏｎｔａｌ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎ、ｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｖａｌｕｅ、ｖｅｒｔｉｃａｌ＿ｓｉｚｅ＿ｅｘｔｅｎｓｉｏｎというパラメータが含まれており、解像度検出部１１５は、前者の２つのパラメータから水平方向解像度ＨＳを、後者の２つのパラメータから垂直方向解像度ＶＳを得る。解像度検出部１１５は、得られた水平方向解像度ＨＳ、垂直方向解像度ＶＳをＴｍｂ演算部１３０へと出力する。この出力値は、新たにシーケンスヘッダを検出し、水平方向解像度ＨＳ、垂直方向解像度ＶＳを算出し直すまで保持される。
【００５７】
処理ピクチャタイプ検出部１２０（ピクチャ分類部）は、現在復号処理時間演算部２５０に入力されているビデオＥＳのピクチャタイプが、最大参照画像数が０であるＩピクチャ、最大参照画像数が１であるＰピクチャ、最大参照画像数が２であるＢピクチャのいずれであるかを検出する。図５に示したビデオＥＳの第三層、ピクチャ層のピクチャヘッダ内には、ピクチャタイプを示すパラメータｐｉｃｔｕｒｅ＿ｃｏｄｉｎｇ＿ｔｙｐｅが含まれているので、処理ピクチャタイプ検出部１２０は、このパラメータを用いて検出する。処理ピクチャタイプ検出部１２０は、検出結果のピクチャタイプＰＴを、参照画像数検出部１０５及び画像構成要素計数部１４０へ出力する。この出力値は、新たにピクチャヘッダを検出し、そのピクチャタイプＰＴを得るまで保持される。
【００５８】
参照画像数検出部１０５は、入力されたビデオＥＳから、Ｂピクチャについて、各ピクチャの画像構成要素である各マクロブロックの参照画像数Ｒｆｍｂを検出する。図５に示したビデオＥＳの第５層、すなわちマクロブロック層のマクロブロックヘッダには、ｍａｃｒｏｂｌｏｃｋ＿ｔｙｐｅというパラメータが含まれており、参照画像数検出部１０５は、このパラメータから参照画像の数を検出する。
【００５９】
ところで、パラメータｍａｃｒｏｂｌｏｃｋ＿ｔｙｐｅは、ピクチャタイプによって符号化テーブルが変化するので、復号するためにはピクチャタイプの特定が必要である。一方で、本実施形態においては、前記参照画像数検出部１０５は、ピクチャタイプがＢピクチャである場合においてのみ、参照画像数Ｒｆｍｂの検出を行えば良いので、処理ピクチャタイプ検出部１２０が検出した前記ピクチャタイプＰＴがＢピクチャを示す時、参照画像数Ｒｆｍｂの検出を行って、その検出結果を画像構成要素数計数部１４０へと送る。その際、参照画像数検出部１０５は、参照画像数Ｒｆｍｂの値を送ったことを示すトリガ信号も画像構成要素計数部１４０に対し出力する。なお、ピクチャタイプＰＴがＢピクチャを示す時のみ、参照画像数Ｒｆｍｂの検出を行う場合では、参照画像数検出部１０５は、Ｂピクチャの復号のみが行えれば良いので、Ｂピクチャ用の復号処理モジュールのみを備えていれば良い。
【００６０】
Ｐ−Ｐ間フレーム数検出部（ピクチャ種別構成検出部）１２５は、入力されたビデオＰＥＳヘッダ、フレーム周期Ｔから、Ｐ（またはＩ）ピクチャから次のＰ（またはＩ）の直前ピクチャまでのフレーム数（以下、「Ｐ−Ｐ間フレーム数」という）Ｍを検出する。
ここで、具体的なＰ−Ｐ間フレーム数Ｍの求め方について述べる。Ｐ−Ｐ間フレーム数Ｍは、ビデオＰＥＳヘッダ内に記載されているパラメータを用いて算出する。図７にＰＥＳヘッダの基本構造を示す。図７に示した基本構造は、ビデオＰＥＳヘッダでもオーディオＰＥＳヘッダでも同一である。
【００６１】
まず、Ｐ−Ｐ間フレーム数検出部１２５は、ビデオＰＥＳヘッダのうち、図７の符号Ｐ６４５で示したＰＴＳ  ＤＴＳフラグが“１１”（この時、ＰＴＳ（Presentation Time Stamp；提示時刻情報）、ＤＴＳ（Decoding Time Stamp；復号時刻情報）を両方共含むＰＥＳヘッダであることを示す）であるビデオＰＥＳヘッダを検出する。そして、Ｐ−Ｐ間フレーム数検出部１２５は、検出したビデオＰＥＳヘッダから、提示時刻情報ＰＴＳ（Ｐ６６１）と復号時刻情報ＤＴＳ（Ｐ６６２）を抽出する。そして、Ｐ−Ｐ間フレーム数検出部１２５は、これら提示時刻情報ＰＴＳ、復号時刻情報ＤＴＳと、フレーム周期検出部１１０から送られてきたフレーム周期Ｔを、以下の式（２）に代入することにより、Ｐ−Ｐ間フレーム数Ｍを求める。
【００６２】
【数２】
0004807883.tif 000003
【００６３】
図８は、式（２）によるＰ−Ｐ間フレーム数Ｍの算出を説明した図である。図８は、復号処理による遅延時間が０、即ち、復号処理と同時に表示を行うことが可能である理想的なビデオデコーダにビデオＥＳが入力された際の、前記理想的なビデオデコーダにより復号処理が行われる期間と復号結果が表示される期間を示した図である。なお、この図８では、提示時刻情報ＰＴＳと復号時刻情報ＤＴＳにより復号処理及び表示処理のタイミングが制御されていることを前提としている。
【００６４】
上段の符号８００、８０５、８１０、８１５、８２０、８２５が示す矩形の横方向の幅は、各々、前記理想的なビデオデコーダが、入力されたビデオＥＳを１ピクチャ分復号処理する復号処理期間を示している。但し、符号８００、８０５、８１０、８１５、８２０、８２５の復号処理期間は、復号処理に使用可能な期間であるということを示しているのであり、その期間全てを復号処理に使用しなければならないということではない。この復号処理期間８００、８０５、８１０、８１５、８２０、８２５を表す矩形中の符号（Ｉ１、Ｂ２、Ｂ３、Ｐ４、Ｂ５、Ｂ６）は、アルファベット部が復号処理中のピクチャタイプを示し、数字部がその復号処理順を示している。
【００６５】
また、下段の符号８３０、８３５、８４０、８４５、８５０、８５５が示す矩形の横方向の幅は前記入力されたビデオＥＳの復号結果を表示する表示処理期間を示しており、中の符号（Ｂ２、Ｂ３、Ｉ１、Ｂ５、Ｂ６、Ｐ４）は、上段の復号処理期間８００〜８２５内の符号と対応している。図の最下部に記されている符号ＤＴＳ１、ＤＴＳ４およびＰＴＳ１〜ＰＴＳ６は、数字部分の一致するピクチャに付けられている提示時刻情報ＰＴＳ、復号時刻情報ＤＴＳが指し示す時刻を表している。例えば、ＤＴＳ１は、ピクチャＩ１の復号時刻情報ＤＴＳを、ＰＴＳ２は、ピクチャＢ２の提示時刻情報ＰＴＳを表している。なお、ピクチャの復号処理順と表示処理順が異なる理由については、非特許文献２、非特許文献３に記載されている。
【００６６】
この図８から、あるＰ（またはＩ）ピクチャの提示時刻情報ＰＴＳは、次のＰ（またはＩ）ピクチャの復号時刻情報ＤＴＳと一致することがわかる（例えばＰＴＳ１とＤＴＳ４は一致する）。従って、あるＰ（またはＩ）ピクチャの復号処理開始から（例えばＤＴＳ１）、表示開始まで（例えばＰＴＳ１＝ＤＴＳ４）の時間をフレーム周期Ｔで割ることによりＰ−Ｐ間フレーム数Ｍが求められることがわかる。Ｐ−Ｐ間フレーム数検出部１２５は、このようにＰ−Ｐ間フレーム数を算出することで、提示時刻情報ＰＴＳと復号時刻情報ＤＴＳとが付されたＩ／Ｐピクチャに続くＢピクチャであって、提示時刻が該Ｉ／Ｐピクチャより前のＢピクチャまでの連続するピクチャからなるピクチャ群におけるピクチャ種別の構成を検出しているとも言える。
【００６７】
図４に戻り、Ｐ−Ｐ間フレーム数検出部１２５は、このように式（２）を用いて求めたＰ−Ｐ間フレーム数Ｍを、復号時間比演算部１３５と余剰時間演算時刻検出部１７０へと出力する。Ｐ−Ｐ間フレーム数検出部１２５は、このＰ−Ｐ間フレーム数Ｍの出力値を、新たな演算結果が得られるまでは保持する。また、Ｐ−Ｐ間フレーム数検出部１２５は、復号時間比演算部１３５に対しては、Ｐ−Ｐ間フレーム数Ｍの値が更新された（結果が同一値であったとしても、前記ＰＴＳ  ＤＴＳフラグが“１１”であるようなビデオＰＥＳヘッダを検出した場合には更新されたと見做す）ことを示すトリガ信号も送る。
【００６８】
Ｔｍｂ演算部１３０は、解像度検出部１１５から与えられる水平方向解像度ＨＳ、垂直方向解像度ＶＳから１フレーム内のマクロブロック数ＭＢを求め、さらに、前記１フレーム内のマクロブロック数ＭＢとフレーム周期検出部１１０から与えられるフレーム周期Ｔより、画像構成要素（＝マクロブロック）１つ当たりの表示時間であるマクロブロック表示時間Ｔｍｂを求める。
先ずは、１フレームに含まれるマクロブロックの数ＭＢを求める。Ｔｍｂ演算部１３０は、式（３）を用いて、前記水平方向解像度ＨＳ、垂直方向解像度ＶＳから、マクロブロック数ＭＢを算出する。
【００６９】
【数３】
0004807883.tif 000004
【００７０】
Ｔｍｂ演算部１３０は、マクロブロック数ＭＢを、余剰時間演算時刻検出部１７０及びＩ／Ｐピクチャ処理時間演算部１５５へ出力する。
次に、Ｔｍｂ演算部１３０は、マクロブロック数ＭＢとフレーム周期Ｔを、次の式（４）に代入してマクロブロック表示時間Ｔｍｂを算出する。
【００７１】
【数４】
0004807883.tif 000005
【００７２】
Ｔｍｂ演算部１３０は、求めたマクロブロック表示時間Ｔｍｂを、余剰時間演算部１４５、Ｉ／Ｐピクチャ処理時間演算部１５５、Ｂピクチャ処理時間演算部１５０へ出力する。マクロブロック数ＭＢ、マクロブロック表示時間Ｔｍｂは共に、入力値である水平方向解像度ＨＳ、垂直方向解像度ＶＳ、フレーム周期Ｔ値の変化に応じて、随時値が変化する。
【００７３】
復号時間比演算部（復号処理時間算出部）１３５は、Ｐ−Ｐ間フレーム数Ｍが更新されたことを示すトリガ信号を受けると、前記Ｐ−Ｐ間フレーム数Ｍを用いて、ＩまたはＰピクチャの基準復号時間比ＴＲｐと、Ｂピクチャの基準復号時間比ＴＲｂを算出する。
ここで、基準復号時間比ＴＲｐ、ＴＲｂについて説明をする。
図９は、各ピクチャの復号処理時間を均等にした場合の、Ｐピクチャ、Ｂピクチャにおける最大使用帯域を表した図である。図中の矩形は、１ピクチャ分のデータ転送の総量を示しており、その高さは使用する帯域を、幅は使用する時間を示している。復号処理時間を均等にしたときは、１ピクチャの表示時間の間に１ピクチャの復号を行うため、ＰピクチャもＢピクチャでも復号時間はＴとなっている。
【００７４】
図９は、最も帯域が使用される場合を示しており、Ｐピクチャの復号では、主として、復号結果を書き込むために１ピクチャ分、参照画像を読み出すために１ピクチャ分のデータ転送を行うので、前記矩形２つ分の高さとなるＢＷｐという帯域が必要とされる。Ｂピクチャの復号では、主として、復号結果を書き込むために１ピクチャ分、参照画像を読み出すために２ピクチャ分のデータ転送を行うので、前記矩形３つ分の高さとなるＢＷｂという帯域が必要とされる。
従って、復号処理時間を均等にしたときは、ビデオストリームの復号にＢＷｂという帯域が必要になる。
【００７５】
ここで、Ｐピクチャの復号に必要な帯域が、Ｂピクチャの復号に必要な帯域より少ないことを考えると、これらの復号のための時間配分を変えれば、ビデオストリームの復号に必要な帯域をＢＷｂよりも低く抑えることが可能である。図９に示されたような復号処理における使用帯域が最大である場合に、Ｐピクチャから次のＰピクチャの直前のＢピクチャまでの間で、帯域を平準化したときの、Ｐピクチャ、Ｂピクチャにおける使用帯域を表した図が図１０である。図１０中の矩形は、形状が異なっていても、全て１ピクチャ分のデータ転送量を表している、つまり同一面積である。
Ｐ−Ｐ間フレーム数Ｍが得られれば、Ｐピクチャ１枚に対するＢピクチャの枚数がＭ−１枚と求められるため、Ｐ−Ｐ間フレーム数Ｍを用いることにより、Ｐピクチャの復号に必要な最大帯域とＢピクチャの復号に必要な最大帯域が同じＢＷａｖｅになるような、Ｐピクチャ、Ｂピクチャの復号時間も得ることができる。
【００７６】
この時のＰピクチャ復号時間と、復号処理時間を均等にしたときにおける１ピクチャの復号時間（＝１ピクチャの表示時間）Ｔとの比がＰピクチャ基準復号時間比ＴＲｐであり、Ｂピクチャ復号時間と、復号処理時間を均等にしたときにおける１ピクチャの復号時間（＝１ピクチャの表示時間）Ｔとの比がＢピクチャ基準復号時間比ＴＲｂである。
本実施形態においては、使用する帯域が少ないピクチャに関しては復号時間を短くし（復号速度を速め）、使用する帯域が多いピクチャに関しては復号時間を長くする（復号速度を遅める）という操作を、ピクチャ毎、マクロブロック毎にそれぞれ行うが、まず、ピクチャタイプに応じて、ピクチャ毎の復号時間（復号速度）を決めるのが復号速度比演算部１３５ということになる。
図９のように、ＰピクチャもＢピクチャも使用帯域が最大になるような場合では、このＰピクチャ基準復号時間比ＴＲｐ及びＢピクチャ基準復号時間比ＴＲｂを用いることにより、ビデオデコーダ２３０の使用帯域を時間方向に平準化できる。
Ｐピクチャ基準復号時間比ＴＲｐとＢピクチャ基準復号時間比ＴＲｂを求める式は、それぞれ、式（５）、（６）になる。
【００７７】
【数５】
0004807883.tif 000006
【００７８】
復号時間比演算部１３５は、式（５）、（６）を用いて、前記Ｐ−Ｐ間フレーム数ＭからＰピクチャ基準復号時間比ＴＲｐ、Ｂピクチャ基準復号時間比ＴＲｂを算出した後、Ｐピクチャ基準復号時間比ＴＲｐとその算出終了を示すトリガ信号をＩ／Ｐピクチャ処理時間演算部１５５へと送り、Ｂピクチャ基準復号時間比ＴＲｂとその算出終了を示すトリガ信号を余剰時間演算部１４５及びＢピクチャ処理時間演算部１５０へと送る。
【００７９】
画像構成要素数計数部１４０は、Ｂピクチャにおける参照画像数Ｒｆｍｂの値が２のマクロブロックの数と、参照画像数Ｒｆｍｂの値が１以下のマクロブロックの数を各々計数する。参照画像数Ｒｆｍｂの値が２のマクロブロックの数をマクロブロック数ＭＢｔ、参照画像数Ｒｆｍｂの値が１以下のマクロブロックの数をマクロブロック数ＭＢｏとする。
【００８０】
画像構成要素数計数部１４０は、参照画像数検出部１０５から、参照画像数Ｒｆｍｂを送ったことを示すトリガ信号を受けると、参照画像数Ｒｆｍｂの値を確認し、参照画像数Ｒｆｍｂ＝２の場合にはマクロブロック数ＭＢｔを、参照画像数Ｒｆｍｂ≦１の場合にはマクロブロック数ＭＢｏを１だけ増分する。また、画像構成要素数計数部１４０は、処理ピクチャタイプ検出部１２０から送られてきたピクチャタイプＰＴがＢピクチャからＰ（またはＩ）ピクチャに変化したことを検出すると、その時、マクロブロック数ＭＢｔ、ＭＢｏを０に初期化する。従って、Ｂピクチャが連続した場合には、マクロブロック数ＭＢｔ、ＭＢｏは、連続するＢピクチャ中の、各々の条件に適合するマクロブロックの総数になる。
【００８１】
画像構成要素数計数部１４０は、マクロブロック数ＭＢｏを、余剰時間演算部１４５へ、マクロブロック数ＭＢｏ、ＭＢｔを、余剰時間演算時刻検出部１７０へと出力する。画像構成要素数計数部１４０は、余剰時間演算時刻検出部１７０へは、マクロブロック数ＭＢｏ、ＭＢｔのいずれかが更新されたことを示すトリガ信号も出力する。
なお、上記では、参照画像数Ｒｆｍｂ＝２と参照画像数Ｒｆｍｂ≦１という条件で分けて、それぞれのマクロブロックの数を計数する方法を説明したが、参照画像数Ｒｆｍｂ＝２、参照画像数Ｒｆｍｂ＝１、参照画像数Ｒｆｍｂ＝０の時を個別に計数するという方法や、参照画像数Ｒｆｍｂ≧１と参照画像数Ｒｆｍｂ＝０という条件で分けて計数する方法等を用いることができる。Ｂピクチャ処理時間演算部１５０やビデオデコーダ２３０における、復号時間を可変する条件と対応する値を計数する。
【００８２】
余剰時間演算時刻検出部１７０は、余剰時間演算部１４５が余剰時間Ｔｏｄｄを算出するタイミングを検出する。余剰時間演算時刻検出部１７０は、Ｔｍｂ演算部１３０から与えられる１フレーム内のマクロブロック数ＭＢ、Ｐ−Ｐ間フレーム数検出部１２５から与えられるＰ−Ｐ間フレーム数Ｍ、画像構成要素数計数部１４０から与えられるＭＢｏ、ＭＢｔが次の（７）式を満たす時、余剰時間演算部１４５に対し、トリガ信号を出力する。
【００８３】
【数６】
0004807883.tif 000007
【００８４】
余剰時間演算部１４５は、余剰時間演算時刻検出部１７０からのトリガ信号を受けたら、画像構成要素数計数部１４０から与えられるマクロブロック数ＭＢｏと、復号時間比演算部１３５から与えられるＢピクチャ基準復号時間比ＴＲｂと、Ｔｍｂ演算部１３０から与えられる１マクロブロック表示時間Ｔｍｂとを用いて、余剰時間Ｔｏｄｄを算出する。
【００８５】
ここで、余剰時間Ｔｏｄｄの意味するところに関して説明しておく。
本実施形態のビデオデコーダ２３０は、復号処理時の使用帯域を平準化するために、２つの方法を用いて復号処理時間を変化させる。１つ目は、各ピクチャの最大参照画像数に基づいて使用帯域が平準化されるようにする、復号時間比演算部１３５で算出した基準復号時間比ＴＲｐ、ＴＲｂを用いる方法で、ピクチャ毎に復号処理時間を変化させる方法である。この１つ目の方法では、最大参照画像数が２つであるＢピクチャに割り当てる復号処理時間を多くし、最大参照画像数が１のＰピクチャや０のＩピクチャに割り当てる復号処理時間を少なくすることにより使用帯域を平準化させる。しかし、この１つ目の方法では、Ｂピクチャを構成する多くのマクロブロックの参照画像数が１つまたは０であった場合に、減らす必要のないＢピクチャの使用帯域が削減され、その削減分だけ、Ｉ、Ｐピクチャの使用帯域が大きくなってしまうことがある。
【００８６】
２つ目は、マクロブロック毎に復号処理時間を変化させる方法である。この２つ目の方法は、Ｂピクチャの復号処理を行う際に、参照画像数が少ないマクロブロックでは復号時間比ＴＲｂに基づく復号処理時間よりも復号処理時間を短縮するよう制御することにより、全てのマクロブロックの復号処理時間を基準復号時間比ＴＲｂに基づく復号処理時間とする場合よりも短い時間でＢピクチャの復号を完了させ、その短縮された時間を次のＰ（またはＩ）ピクチャの復号時間として使うという方法である。余剰時間Ｔｏｄｄは、参照画像数が少ないマクロブロック１つにおいて短縮される時間を、Ｂピクチャが連続する間で累積加算（参照画像数が少ないマクロブロックの数と積算）したものとする。
【００８７】
続いて、このマクロブロック毎に参照画像数の数に応じて復号時間を変化させる方法について述べる。
ビデオデコーダ２３０の使用する帯域を平準化しようとした時、参照画像数が多い場合においては、使用帯域を低く抑えるには、可能な限り復号時間を長くとることが望ましい。一方、参照画像数が少ない場合においては、参照画像数が多い場合の使用帯域を越えない範囲で復号時間を短縮することが望ましい。実際には、ストリーム中に参照画像数が異なるマクロブロックがどのような比率で、どのような順序で存在するかによって、使用帯域を平準化するための最適な復号時間は異なってくる。また、コンテンツの種別等の条件によっては、動的に前記参照画像数による復号時間を変更することで高い効果が得られるというケースも考えられる。しかし、基本的に効果が得られる条件は、（参照画像が多い場合の復号時間）＞（参照画像が少ない場合の復号時間）である。これは、（参照画像数２の場合の復号時間）＞（参照画像数１の場合の復号時間）＞（参照画像数０の場合の復号時間）でも同義である。
【００８８】
本実施形態においては、参照画像数Ｒｆｍｂ＝２の時には、該マクロブロックの復号時間をＢピクチャ基準復号時間比ＴＲｂ×マクロブロック表示時間Ｔｍｂとし、参照画像数Ｒｆｍｂ≦１の時には、その復号時間を１×マクロブロック表示時間Ｔｍｂとするものとして、以下、動作を説明する。
Ｂピクチャ復号時の、全てのマクロブロックの復号処理時間を基準復号時間比ＴＲｂに基づく復号処理時間とする方法と、本実施形態における復号方法との、画像構成要素（マクロブロック）の復号処理時間の比較を図１１に示す。図１１はＢピクチャ（１ピクチャとは限らない）に含まれるｎ個のマクロブロックの処理時間を示している。
【００８９】
前述の１つ目の方法、すなわち基準復号時間比ＴＲｐ、ＴＲｂのみで復号処理時間を制御する方法では、全てのマクロブロックの処理にＴＲｂ×Ｔｍｂの時間を使うので、ｎ個のマクロブロックを処理するには、ＴＲｂ×Ｔｍｂ×ｎの時間を要する。一方、本実施形態においては、Ｂピクチャの復号処理において、参照画像数が多い（Ｒｆｍｂ＝２）マクロブロックについては、これらのマクロブロックの処理に基準復号時間比ＴＲｐ、ＴＲｂによる方法と同じ時間を使うが、参照画像数が少ない（Ｒｆｍｂ≦１）マクロブロックについては、１×Ｔｍｂ時間で復号処理を行うという制御も行う。このため、参照画像数が多い（Ｒｆｍｂ＝２）マクロブロックの数をＭＢｔ、参照画像数が少ない（Ｒｆｍｂ≦１）マクロブロックの数がＭＢｏとするとき、ｎ（＝ＭＢｔ＋ＭＢｏ）個のマクロブロックを処理するのに要する時間Ｔｎは以下の式（８）で表される。
【００９０】
【数７】
0004807883.tif 000008
【００９１】
従って、本実施形態による復号装置がＢピクチャ内のｎ個のマクロブロックを処理する時間は、基準復号時間比ＴＲｐ、ＴＲｂによる方法のみを用いた復号装置に比べて、式（９）で表される余剰時間Ｔｏｄｄだけ短くなることになる。
【００９２】
【数８】
0004807883.tif 000009
【００９３】
余剰時間演算部１４５は、求めたＴｏｄｄをＩ／Ｐピクチャ処理時間演算部１５５へと送る。
Ｂピクチャ処理時間演算部１５０は、復号時間比演算部１３５からトリガ信号を受けたら、復号時間比演算部１３５から与えられるＴＲｂとＴｍｂ演算部１３０から与えられるＴｍｂから、ビデオデコーダ２３０がＢピクチャを復号する際に１マクロブロック分の処理に使用する時間を演算する。
【００９４】
既に述べたように、本実施形態のビデオデコーダ２３０は、Ｂピクチャの復号時、マクロブロック毎に参照画像数を検出し、その参照画像数に応じて復号時間を可変する。そこで、Ｂピクチャ処理時間演算部１５０は、前記参照画像数に応じた復号時間を全て算出しなければならない。これは、画像構成要素数計数部１４０が、画像構成要素（マクロブロック）数を分別し、計数する条件と対応する。本実施形態においては、画像構成要素数計数部１４０が、参照画像数Ｒｆｍｂ≦１の時と、参照画像数Ｒｆｍｂ＝２の時の２種類の条件各々を満たすマクロブロック数ＭＢｏとＭＢｔを計数している。従って、Ｂピクチャ処理演算部１５０は、マクロブロック数ＭＢｏに対応する参照画像数Ｒｆｍｂ≦１の時の１マクロブロック処理時間Ｔｍｂｂ１と、マクロブロック数ＭＢｔに対応する参照画像数Ｒｆｍｂ＝２の時の１マクロブロック処理時間Ｔｍｂｂ２を算出する。Ｂピクチャ処理演算部１５０は、１マクロブロック処理時間Ｔｍｂｂ１、Ｔｍｂｂ２を、各々、式（１０）、（１１）にて算出する。
【００９５】
【数９】
0004807883.tif 000010
【００９６】
Ｂピクチャ処理時間演算部１５０は、演算結果の１マクロブロック処理時間Ｔｍｂｂ１、Ｔｍｂｂ２を、ＦＩＦＯ書き込み制御部１６０へＦＩＦＯ書き込みトリガ信号と共に送る。
Ｉ／Ｐピクチャ処理時間演算部（第２ピクチャ群処理時間演算部）１５５は、復号時間比演算部１３５からトリガ信号を受けると、復号時間比演算部１３５から与えられる基準復号時間比ＴＲｐ、Ｔｍｂ演算部１３０から与えられるマクロブロック数ＭＢ、マクロブロック表示時間Ｔｍｂ、余剰時間演算部１４５から与えられる余剰時間Ｔｏｄｄから、ビデオデコーダ２３０がＰ（またはＩ）ピクチャを復号する際に１マクロブロック分の処理に使用する時間であるＩ／Ｐピクチャの１マクロブロック処理時間Ｔｍｂｐを式（１２）により算出する。
【００９７】
【数１０】
0004807883.tif 000011
【００９８】
すなわち、Ｉ／Ｐピクチャ処理時間演算部１５５は、余剰時間演算部１４５が算出した余剰時間Ｔｏｄｄを、余剰時間Ｔｏｄｄの算出対象となったＢピクチャの後続のＩ／Ｐピクチャの復号処理時間として割り当てた上で、Ｉ／Ｐピクチャの復号処理時間を算出する
Ｉ／Ｐピクチャ処理時間演算部１５５は、算出結果のＰ（またはＩ）ピクチャの１マクロブロック処理時間Ｔｍｂｐを、ＦＩＦＯ書き込み制御部１６０へＦＩＦＯ書き込みトリガ信号と共に送る。
ＦＩＦＯ書き込み制御部１６０は、Ｂピクチャ処理時間演算部１５０とＩ／Ｐピクチャ処理時間演算部１５５から与えられる１マクロブロック処理時間Ｔｍｂｐ、Ｔｍｂｂ１、Ｔｍｂｂ２の各データをＦＩＦＯ１６５に書き込む。
【００９９】
ＦＩＦＯ書き込み制御部１６０は、このＦＩＦＯ１６５への書き込みを、Ｉ／Ｐピクチャ処理時間演算部１５５、Ｂピクチャ処理時間演算部１５０から送られてくるトリガ信号をトリガとして行う。具体的には、前記２つのトリガ信号のどちらか遅い方を利用して、１マクロブロック処理時間Ｔｍｂｐ、Ｔｍｂｂ１、Ｔｍｂｂ２をまとめて書き込むようにしてもよいし、Ｉ／Ｐピクチャ処理時間演算部１５５からのトリガ信号により１マクロブロック処理時間Ｔｍｂｐを書き込み、Ｂピクチャ処理時間演算部１５０からのトリガ信号により１マクロブロック処理時間Ｔｍｂｂ１とＴｍｂｂ２を書き込むようにしてもよい。但し、後者の場合には、前記２つのトリガ信号の発生順が常に同じであることが必要で、そうでない場合には、ＦＩＦＯ１６５にＩ／Ｐピクチャ用のバッファとＢピクチャ用のバッファを別個に設ける等、ＦＩＦＯ１６５において１マクロブロック処理時間Ｔｍｂｐ、Ｔｍｂｂ１、Ｔｍｂｂ２の各パラメータを判別できるような仕組みが必要となる。
【０１００】
ＦＩＦＯ１６５は、いわゆるＦＩＦＯバッファであり、先に書き込んだデータが先に読み出されるバッファである。本実施形態では、ＦＩＦＯ１６５の容量は、ビデオストリームバッファ２１０、ビデオ位相調整バッファ２２０に蓄積され得るビデオストリーム中に、最大存在しうるＰＴＳ  ＤＴＳフラグ＝“１１”を満たすビデオＰＥＳヘッダの個数分の１マクロブロック処理時間Ｔｍｂｐ、Ｔｍｂｂ１、Ｔｍｂｂ２が格納できるだけあれば良い。
【０１０１】
以上、復号処理時間演算部２５０の内部で行われる処理の動作を個々に説明してきたが、ここで、全体の処理の流れについて説明する。
図１２は、復号処理時間演算部２５０内の各処理の処理手順を示した図である。
図中の最上段の矩形列１１００、１１０２、１１０４、…１１４６は復号処理時間演算部２５０に入力される動画像符号化ストリームＭＰＥＧ２−ＴＳを示している。矩形列１１００、１１０２、１１０４、…１１４６のうち、１１００はシーケンスヘッダを示し、１１０２、１１１６、１１３０、１１４４はビデオＰＥＳヘッダを示し、１１０４、１１１８、１１３２、１１４６はピクチャヘッダを示し、１１０６、１１２０、１１３４はスライスヘッダを示し、１１０８、１１１２、１１２２、１１２６、１１３６、１１４０はマクロブロックヘッダを示し、１１１０、１１１４、１１２４、１１２８、１１３８、１１４２はブロックデータを示す。
なお、図１２に示す動画像符号化ストリームＭＰＥＧ２−ＴＳは、復号処理時間演算部２５０の動作の説明に必要な要素のみを示したものとなっている。
【０１０２】
先ず、シーケンスヘッダ１１００が復号処理時間演算部２５０に入力されると、復号処理時間演算部２５０は、フレーム周期Ｔ、水平方向解像度ＨＳ、垂直方向解像度ＶＳを求め、さらにそれらから１フレーム内のマクロブロック数ＭＢとマクロブロック１つ当たりの表示時間であるマクロブロック表示時間Ｔｍｂを求める。その方法は、フレーム周期検出部１１０、解像度検出部１１５、Ｔｍｂ演算部１３０の動作の説明で述べた通りである。
【０１０３】
次に、ＰＴＳ  ＤＴＳフラグ＝“１１”を満たすビデオＰＥＳヘッダ１１０２がＰ−Ｐ間フレーム数検出部１２５に入力されると、復号処理時間演算部２５０は、同ビデオＰＥＳヘッダ内の提示時刻情報ＰＴＳ、復号時刻情報ＤＴＳを抽出し、これらとシーケンスヘッダ１１００から求めたフレーム周期Ｔを用いて、Ｐ−Ｐ間フレーム数Ｍを求める。さらに、復号時間比演算部１３５は、Ｐ−Ｐ間フレーム数ＭからＰ（またはＩ）ピクチャの基準復号時間比ＴＲｐと、Ｂピクチャの基準復号時間比ＴＲｂを求める。基準復号時間比ＴＲｐとＴＲｂが求まったら、Ｉ／Ｐピクチャ処理時間演算部１５５は、その時点で得られている余剰時間Ｔｏｄｄと、基準復号時間比ＴＲｐと、マクロブロック表示時間Ｔｍｂと、１フレーム内のマクロブロック数ＭＢとを用いて、Ｐ（またはＩ）ピクチャを復号する際に１マクロブロック分の処理に使用する１マクロブロック処理時間Ｔｍｂｐを求める。
【０１０４】
また、基準復号時間比ＴＲｂとマクロブロック表示時間Ｔｍｂを用いて、Ｂピクチャを復号する際に１マクロブロック分の処理に使用する１マクロブロック処理時間Ｔｍｂｂ１、Ｔｍｂｂ２を、Ｂピクチャ処理時間演算部１５０が求める。なお、Ｉ／Ｐピクチャ処理時間演算部１５５は、１マクロブロック処理時間Ｔｍｂｐを求める際に、前記ＰＴＳ  ＤＴＳフラグ＝“１１”であるビデオＰＥＳヘッダが、入力される動画像符号化ストリームＭＰＥＧ２−ＴＳ中最初のものであり、該ストリームについて余剰時間Ｔｏｄｄを未算出のときには、余剰時間Ｔｏｄｄ＝０として１マクロブロック処理時間Ｔｍｂｐを求める。
【０１０５】
Ｐ−Ｐ間フレーム数Ｍ、Ｐ（またはＩ）ピクチャの基準復号時間比ＴＲｐと、Ｂピクチャの基準復号時間比ＴＲｂ、Ｐ（またはＩ）ピクチャを復号する際の１マクロブロック処理時間Ｔｍｂｐ、Ｂピクチャを復号する際の１マクロブロック処理時間Ｔｍｂｂ１、Ｔｍｂｂ２を求める具体的な方法については、Ｐ−Ｐ間フレーム数検出部１２５、復号時間比演算部１３５、Ｉ／Ｐピクチャ処理時間演算部１５５、Ｂピクチャ処理時間演算部１５０の動作の説明で述べた通りである。
【０１０６】
処理ピクチャタイプ検出部１２０は、ピクチャヘッダ１１０４、１１１８、１１３２、１１４６のいずれかが入力されると、ピクチャタイプＰＴを検出する。そしてそのピクチャタイプがＩまたはＰであった場合（１１０４、１１４６）には、画像構成要素計数部１４０は、参照画像数Ｒｆｍｂの値が１以下のマクロブロックの数の計数値（ＭＢｏ）と、参照画像数Ｒｆｍｂの値が２のマクロブロックの数の計数値（ＭＢｔ）を共に０に初期化する。ピクチャタイプがＢであった場合には特に何の処理も行わない。
【０１０７】
参照画像数検出部１０５は、マクロブロックヘッダ１１０８、１１１２、１１２２、１１２６、１１３６、１１４０のいずれかが入力され、その時のピクチャタイプＰＴがＢであった場合（１１２２、１１２６、１１３６、１１４０）、前記マクロブロックヘッダから、参照画像数Ｒｆｍｂを求める。そして、画像構成要素計数部１４０は、その参照画像数Ｒｆｍｂの値が１以下の場合にはマクロブロック数ＭＢｏを、２の場合にはマクロブロック数ＭＢｔを１加算する。
ピクチャタイプＰＴを求める方法は、処理ピクチャタイプ検出部１２０の動作説明で、参照画像数Ｒｆｍｂを求める方法は参照画像数検出部１０５の動作説明で、ＭＢｏ、ＭＢｔの計数動作に関しては、画像構成要素数計数部１４０の動作説明で述べた通りである。
【０１０８】
次のピクチャタイプがＩまたはＰであるＢピクチャの最後のマクロブロックヘッダについて、参照画像数検出部１０５が参照画像数Ｒｆｍｂを検出し、画像構成要素計数部１４０がマクロブロック数ＭＢｏの計数処理も完了したら、余剰時間演算時刻検出部１７０の指示に従い、そのマクロブロック数ＭＢｏに加え、Ｂピクチャの基準復号時間比ＴＲｂとマクロブロック表示時間Ｔｍｂも使って、余剰時間演算部１４５が余剰時間Ｔｏｄｄを求める。
次のピクチャタイプがＩまたはＰであるＢピクチャの最後のマクロブロックの検出方法については、余剰時間演算時刻検出部１７０に、余剰時間Ｔｏｄｄを求める方法については、余剰時間演算部１４５に述べた通りである。
【０１０９】
このようにして、ＰＴＳ  ＤＴＳフラグ＝“１１”であるビデオＰＥＳヘッダが入力される度に、新たな１マクロブロック処理時間Ｔｍｂｐ、Ｔｍｂｂ１、Ｔｍｂｂ２を求め、ＦＩＦＯ１６５を通じて、これらの１マクロブロック処理時間Ｔｍｂｐ、Ｔｍｂｂ１、Ｔｍｂｂ２をビデオデコーダ２３０へと順次供給する。
ＦＩＦＯ１６５への書き込み方法は、ＦＩＦＯ書き込み制御部１６０で述べた通りである。
以上で、復号処理時間演算部２５０の動作の説明を終了する。
【０１１０】
図２に戻り、ＳＴＣ２６０は、ＴＳヘッダからパラメータＰＣＲ（Program Clock Reference）を抽出して、システム基準時刻ＳＴＣ（System Time Clock）の合わせ込みを行う。そして、ＳＴＣ２６０は、システム基準時刻ＳＴＣを表示タイミング生成部２７０と復号タイミング生成部２９０に供給する。
表示タイミング生成部２７０は、ビデオＰＥＳヘッダとシステム基準時刻ＳＴＣから、表示処理部３４０がフレームバッファ２４０から復号済みのピクチャデータを読み出すためのタイミング信号（表示タイミング信号）を生成する。具体的には、まず、ビデオＰＥＳヘッダに含まれる提示時刻情報ＰＴＳを抽出する。既に述べたように、ビデオＰＥＳヘッダの構造は、図７のＰＥＳヘッダと同一の構造であるので、同図中のＰＥＳヘッダＰ６００から、提示時刻情報ＰＴＳＰ６６１を抽出すれば良い。
【０１１１】
表示タイミング生成部２７０は、前記抽出した提示時刻情報ＰＴＳの値を記録しておくバッファＡを持つ。表示タイミング生成部２７０は、提示時刻情報ＰＴＳを抽出したら、前記バッファＡ上に既に書き込まれている全ての提示時刻情報ＰＴＳを読み出し、前記抽出した提示時刻情報ＰＴＳを含め、昇順にソートして、前記バッファＡ上に書き込み直す。表示タイミング生成部２７０は、前記バッファＡ上に書き込まれた提示時刻情報ＰＴＳのうち、最も小さい値を持つ提示時刻情報ＰＴＳとシステム基準時刻ＳＴＣとを比較し、これらが一致する場合に、表示タイミング信号を生成する。
【０１１２】
ただし、実装時は、少なくともビデオデコーダが復号処理に要する時間Ｄだけタイミング信号の生成時刻を遅らせる必要がある。また、本実施形態においては、後述するように、その構成上、復号処理完了が各ピクチャの復号処理時間を同一にする場合に比べ、最大時間Ｅだけ遅れるため、この時間Ｅの分もタイミング信号の生成時刻を遅らせる必要がある。表示タイミング生成部２７０は、生成したタイミング信号を、表示処理部３４０に送る。
【０１１３】
復号タイミング生成部２９０は、ビデオＰＥＳヘッダとシステム基準時刻ＳＴＣから、ビデオデコーダ２３０が復号処理を開始するためのタイミング信号（復号タイミング信号）を生成する。具体的には、復号タイミング生成部２９０は、まず、ビデオＰＥＳヘッダに含まれる復号時刻情報ＤＴＳを抽出する（図７参照）。復号タイミング生成部２９０は、復号時刻情報ＤＴＳが存在しない場合は、提示時刻情報ＰＴＳを抽出する。
【０１１４】
復号タイミング生成部２９０は、前記抽出した復号時刻情報ＤＴＳまたは提示時刻情報ＰＴＳを記録しておくバッファＢを持つ。復号タイミング生成部２９０は、抽出した値を、抽出した順番でバッファＢに書き込んでいく。復号タイミング生成部２９０は、前記バッファＢ上に書き込まれた復号時刻情報ＤＴＳまたは提示時刻情報ＰＴＳのうち、最も早く書き込んだものとシステム基準時刻ＳＴＣを比較し、これらが一致する場合に、復号タイミング信号を生成する。復号タイミング生成部２９０は、生成したタイミング信号を、ビデオデコーダ２３０に送る。
但し、本実施形態においては、後述するようにその構成上、復号処理開始が各ピクチャの復号処理時間を同一にする場合に比べ、最大時間Ｅだけ遅れるため、少なくともこの時間Ｅの分タイミング信号の生成時刻を遅らせる必要がある。
【０１１５】
ビデオデコーダ２３０は、復号タイミング生成部２９０から送られてくる復号タイミング信号により、ビデオ位相調整バッファ２２０からビデオストリームの読み出しを開始し、１ピクチャ分の復号処理を開始する。本実施形態においては、復号処理時間演算部２５０の動作説明の際に述べたように、１ピクチャの復号に要する時間と１ピクチャの表示時間が異なるが、復号タイミング生成部２９０は、前記したように（Ｅという一定の時間、遅延させるとは言え）、復号時刻情報ＤＴＳまたは提示時刻情報ＰＴＳから復号タイミング信号を生成するため、復号タイミング信号はほぼ一定の間隔で発生する（図１３参照）。
【０１１６】
従って、本実施形態におけるビデオデコーダ２３０では、復号タイミング信号が送られて来る前に、復号処理を開始していないとならないという状況が発生し得る。このような場合でも復号処理が問題なく行えるように、ビデオデコーダ２３０は、最初のピクチャは、復号タイミング信号により復号を開始するが、２番目以降のピクチャは、ビデオ位相調整バッファ２２０が空となるか、別途停止を指示するトリガが与えられるまでは、復号タイミング信号が与えられなくとも、復号処理を行う。
別途停止を指示するトリガとしては、復号したピクチャの枚数Ｘが復号タイミング信号の発生回数Ｙに対し、Ｘ＞Ｙとなった場合や、ユーザからの停止操作があった場合等が考えられる。
【０１１７】
ここで、本実施形態が各ピクチャの復号処理時間を同一にする場合に比べ、復号処理完了が最大時間Ｅ遅れる理由とそのＥの最大値について言及しておく。
図１４は、入力ビデオストリームを復号処理する際に、各ピクチャの復号処理時間を同一にする場合と、本実施形態とで、各々、復号処理及び表示のタイミングを示した図である。この図１４では復号処理の遅延時間Ｄは０としている。図１４においても、各矩形に付された符号は、英文字がピクチャのタイプを表し、数字がストリーム上でのピクチャの並び順を表す。
本実施形態では、Ｉ（またはＰ）ピクチャの復号時間は各ピクチャの復号処理時間を同一にする場合よりも短くなるという特徴があるが、復号処理の完了は、ビデオストリームの入力完了よりも早い時刻にはできないため、復号時間が短縮された分、各ピクチャの復号処理時間を同一にする場合よりも復号開始を遅らせる必要が出てくる（図１４の本実施形態復号処理のＩ１、Ｐ４を参照）。
【０１１８】
そして、復号結果の表示が復号処理を追い越さないようにするには、表示の開始時刻についても、各ピクチャの復号処理時間を同一にする場合よりも遅らせる必要が生じる（図１４の本実施形態表示のＢ２、Ｂ５を参照）。
本実施形態では、Ｉ（またはＰ）ピクチャの復号時間Ｔｐは、式（５）から、前記Ｐ−Ｐ間フレーム数Ｍ及びフレーム周期Ｔを用いて、次の式（１３）で表される。
【０１１９】
【数１１】
0004807883.tif 000012
【０１２０】
従って前記Ｅは、式（１４）で表され、その最大値は、式（１５）で表されるようにＴ／３となる。従って、ビデオ位相調整バッファ２２０は、Ｔ／３時間分の容量があれば良い。
【０１２１】
【数１２】
0004807883.tif 000013
【０１２２】
ビデオデコーダ２３０は復号処理を開始すると、ＰＴＳ  ＤＴＳフラグが“１１”であるようなビデオＰＥＳヘッダを検出する度に、復号処理時間演算部２５０のＦＩＦＯ１６５からＰ（またはＩ）ピクチャの復号時の１マクロブロック処理時間ＴｍｂｐとＢピクチャの復号時の１マクロブロック処理時間Ｔｍｂｂ１、Ｔｍｂｂ２を読み出す。
ビデオデコーダ２３０は、Ｐ（またはＩ）ピクチャを復号する時には、１マクロブロック処理時間Ｔｍｂｐで指定された時間以下で処理が完了するようにマクロブロック毎の復号を行う。また、ビデオデコーダ２３０は、Ｂピクチャを復号する時には、マクロブロックヘッダのｍａｃｒｏｂｌｏｃｋ＿ｔｙｐｅというパラメータから、参照画像数を検出し、前記参照画像数が１以下である場合には、１マクロブロック処理時間Ｔｍｂｂ１で指定された時間以下で処理が完了するように、前記参照画像数が２である場合には、１マクロブロック処理時間Ｔｍｂｂ２で指定された時間以下で処理が完了するようにマクロブロックの復号を行う。
【０１２３】
このとき、ビデオデコーダ２３０が、Ｐ（またはＩ）ピクチャの復号時の１マクロブロック処理時間Ｔｍｂｐ、Ｂピクチャの復号時の１マクロブロック処理時間Ｔｍｂｂ１、Ｔｍｂｂ２で指定された時間以下で処理が完了するようにマクロブロックの復号を行う方法について説明する。この方法としては、第一にある単位毎の処理の間隔を変更する方法がある。ＭＰＥＧ２のマクロブロックの復号処理はブロック単位での復号処理の繰り返し処理と見做せるので、ブロックの処理の間隔を制御することにより、結果として１マクロブロックの処理時間を制御する。
第二の処理時間を制御する方法として、ビデオデコーダ２３０の動作クロックをマクロブロック処理時間に比例させる方法がある。この方法には、無段階にクロック周波数を変更する方法、予め用意しておいた何種類かのクロック周波数をマクロブロック処理時間に応じて段階的に切り換える方法等が考えられる。
【０１２４】
なお、復号処理時間演算部２５０の動作の説明でも述べたように、参照画像数に応じたマクロブロックの処理時間の変化のさせ方には、様々なバリエーションが考えられる。
また、本実施形態においては、ビデオデコーダ２３０に与えるパラメータを、Ｐ（またはＩ）ピクチャを復号する際に１マクロブロック分の処理に使用する時間と、Ｂピクチャを復号する際に１マクロブロック分の処理に使用する時間としたが、結果的にマクロブロックの処理時間を制御できるパラメータであれば、処理速度など、他のパラメータを用いても良い。
【０１２５】
なお、ここまでのビデオデコーダ２３０の説明においては、マクロブロック層より上位の層（シーケンス層、ＧＯＰ層、ピクチャ層、スライス層）の処理時間を確保する方法については言及しなかったが、これらの処理の時間の確保については、（１）マクロブロックの復号処理と並列処理にする、（２）マクロブロックの処理時間を演算する際に、各マクロブロックの処理時間を少しずつ短めに設定することで処理時間を確保する、等の方法により、比較的容易に実施可能である。
【０１２６】
図２に戻り、ビデオデコーダ２３０は、復号処理に参照画像データが必要になると、随時フレームバッファ２４０から読み出し、復号結果の画像データはフレームバッファ２４０へと書き込む。
フレームバッファ２４０は、ビデオデコーダ２３０が復号した画像データを蓄積する。また、ビデオデコーダ２３０または表示処理部３４０からの要求によって、要求した相手に画像データを出力する。
表示処理部３４０は、表示タイミング生成部２７０から表示タイミング信号を受け取ると、フレームバッファ２４０から画像データを表示順に読み出して、表示装置３５０へと出力する。
【０１２７】
ここで、本発明の復号方法でビデオストリームを復号した場合のメモリの使用帯域と、各ピクチャの復号処理時間を同一にした場合（復号方法１）のメモリの使用帯域と、基準復号時間比ＴＲｐ、ＴＲｂによりピクチャ毎に復号処理時間を変化させた場合（復号方法２）のメモリの使用帯域を比較する。但し、ビデオストリームを読み出す帯域については、前記したように復号処理全体に占める割合が少なく、符号化アルゴリズムや符号化する動画の内容によっても各ピクチャ当たりの符号化量が大きく変化するため、以下の比較には含まないものとする。
比較のための条件として、以下の３種類を設定する。
条件１：Ｐピクチャの参照画像数は全てのマクロブロックで１、Ｂピクチャの参照画像数は全てのマクロブロックで２。
条件２：Ｐピクチャの参照画像数は全てのマクロブロックで１、Ｂピクチャの参照画像数も全てのマクロブロックで１。
条件３：Ｐピクチャの参照画像数は全てのマクロブロックで１、Ｂピクチャの参照画像数は、ピクチャ内の通し番号が奇数番目のマクロブロックで１、偶数番目のマクロブロックで２（平均で１．５）。
【０１２８】
本実施形態と復号方法１と復号方法２との３種類の復号方法について、条件１の場合の使用帯域を図１５、条件２の場合の使用帯域を図１６、条件３の場合の使用帯域を図１７に示す。
図１５〜図１７では、ピクチャはフレーム構造であり、その解像度は１９２０×１０８８ドット（つまり、１２０マクロブロック×６８マクロブロック）、そのフレーム周期は６０ｆｐｓ（ｆｒａｍｅ  ｐｅｒ  ｓｅｃ）であるとし、帯域は１マクロブロックライン（１２０マクロブロック）時間（≒２４５μｓ）毎のデータ転送量を示すものとする。
【０１２９】
各図の縦軸は使用帯域を示している。１ピクチャ分のデータを１ピクチャの表示時間で平均的に読み書きする場合の使用帯域をＢＷとしている。また横軸は、時間推移を表しており、１ピクチャの表示時間（１／６０秒）をＴと表記している。各図では、約６ピクチャのビデオストリームを復号する際の使用帯域の推移を示しており、Ｉピクチャを「Ｉ」、Ｐピクチャを「Ｐ」、Ｂピクチャを「Ｂ」で表すと、入力されるストリームのピクチャ構成はＩＢＢＰＢＢとなっている。
【０１３０】
復号方法１では、どのタイプのピクチャでも、１ピクチャの復号時間は１ピクチャの表示時間で行うため、前記条件１（図１５）では、復号結果の書き込みだけが行われるＩピクチャの使用帯域はＢＷ、復号結果の書き込みに加え、参照画像を１枚読み出すＰピクチャの使用帯域は２ＢＷ、復号結果の書き込みに加え、参照画像を２枚読み出すＢピクチャの使用帯域は３ＢＷとなる。前記条件２（図１６）では、復号結果の書き込みだけが行われるＩピクチャの使用帯域はＢＷ、復号結果の書き込みに加え、参照画像を１枚読み出すＰ、Ｂピクチャの使用帯域は２ＢＷとなり、前記条件３（図１７）では、復号結果の書き込みだけが行われるＩピクチャに使用帯域はＢＷ、復号結果の書き込みに加え、参照画像を１枚読み出すＰピクチャの使用帯域は２ＢＷ、復号結果の書き込みに加え、参照画像を１．５枚読み出すＢピクチャの使用帯域は２．５ＢＷとなる。
【０１３１】
復号方法２では、Ｉ、Ｐピクチャの復号時間を１ピクチャの表示時間のＴＲｐ倍（式（５）参照）、Ｂピクチャの復号時間を１ピクチャの表示時間のＴＲｂ倍（式（６）参照）とするため、条件１（図１５）では、Ｉピクチャの使用帯域はＢＷ／ＴＲｐ、ＰまたはＢピクチャの使用帯域は３ＢＷ／ＴＲｂ（＝２ＢＷ／ＴＲｐ）となり、条件２（図１６）では、Ｉピクチャの使用帯域はＢＷ／ＴＲｐ、Ｐピクチャの使用帯域は２ＢＷ／ＴＲｐ、Ｂピクチャの使用帯域は２ＢＷ／ＴＲｂとなり、条件３（図１７）では、Ｉピクチャの使用帯域はＢＷ／ＴＲｐ、Ｐピクチャの使用帯域は２ＢＷ／ＴＲｐ、Ｂピクチャの使用帯域は２．５ＢＷ／ＴＲｂとなる。
【０１３２】
本実施形態による復号方法では、前記復号方法２と同様に、Ｉ、Ｐピクチャの最小復号時間を１ピクチャの表示時間ＴのＴＲｐ倍（式（５）参照）、Ｂピクチャの最大復号時間を１ピクチャの表示時間ＴのＴＲｂ倍（式（６）参照）とすると共に、Ｂピクチャの復号においては、マクロブロック毎に参照画像数に応じて復号時間を変化させ（参照画像数２の時は、１マクロブロックの復号時間をＴＲｂ×Ｔｍｂとし、参照画像数１以下の時は、１マクロブロックの復号時間を１×Ｔｍｂとする）、前記Ｂピクチャのマクロブロック毎の復号時間を変化させたことにより短縮された復号時間を、次のＰ（またはＩ）ピクチャの復号に用いるため、条件１（図１５）では、Ｉ、Ｐ、Ｂいずれのピクチャにおいても、使用帯域は復号方法２と同一となり、条件２（図１６）では、Ｉピクチャの使用帯域はＢＷ／ＴＲｐ、Ｐピクチャ、Ｂピクチャの使用帯域は２ＢＷとなり、条件３（図１７）では、Ｉピクチャの使用帯域はＢＷ／ＴＲｐ、Pピクチャの使用帯域は式（１６）で表されるＢＷａｐ３、Ｂピクチャの使用帯域は式（１７）で表されるＢＷａｂ３となる。
【０１３３】
【数１３】
0004807883.tif 000014
【０１３４】
以下、上述の式（１６）、（１７）の導出方法について補足しておく。
本実施形態おけるＢピクチャの復号時間Ｔａｂが、そのＢピクチャを構成するマクロブロックの参照画像数によって変化するのは、上述した通りである。条件３においては、１枚のＢピクチャ内に、処理時間がＴＲｂ×Ｔｍｂとなるマクロブロックと、１×Ｔｍｂとなるマクロブロックが半分ずつ含まれることになるので、条件３におけるＴａｂ（＝Ｔａｂ３）は、次の式（１８）で表される。条件３の時、Ｂピクチャを時間Ｔで復号するのに必要な帯域は、２．５ＢＷなので、時間Ｔａｂ３で復号するのに必要な帯域ＢＷａｂ３は、式（１９）から求まる。これは式（１７）そのものである。
【０１３５】
【数１４】
0004807883.tif 000015
【０１３６】
また、本実施形態におけるＰ（またはＩ）ピクチャの処理時間Ｔａｐは、Ｐ（またはＩ）ピクチャに最低限確保される復号時間ＴＲｐ×Ｔに、処理時間を求めようとするＰ（またはＩ）ピクチャより前、かつ、前記Ｐ（またはＩ）ピクチャの直前のＰ（またはＩ）ピクチャよりは後、に存在する１以上のＢピクチャにおいて短縮された復号時間の総和Ｔａｂｄを加算したものとなる。
条件３の時のＴａｂｄ（＝Ｔａｂｄ３）は、本実施形態におけるＢピクチャ１枚の最大の復号時間ＴＲｂ×Ｔと、前記条件３の時のＢピクチャの復号時間Ｔａｂ３の差分に、Ｐ（またはＩ）ピクチャ間のＢピクチャの枚数をかけた式（２０）となる。従って、条件３の時のＴａｐ（＝Ｔａｐ３）は、次の式（２１）式で表される。
【０１３７】
【数１５】
0004807883.tif 000016
【０１３８】
条件３の時、Ｐピクチャを時間Ｔで復号するのに必要な帯域は、２ＢＷなので、時間Ｔａｐ３で復号するのに必要な帯域ＢＷａｐ３は、式（２２）により求まる。これは式（１６）そのものである。
【０１３９】
【数１６】
0004807883.tif 000017
【０１４０】
以上のようにして、式（１６）、（１７）が求められる。
図１５〜１７により条件１〜３での使用帯域を比較すると、どの条件においても本実施形態による方法が、他の２つの復号方法に比べて、最大使用帯域を最も低く抑えることができていることがわかる。
【０１４１】
以上、入力されるビデオストリームが、ＭＰＥＧ２−ＴＳの場合についての本発明の処理手順について説明したが、他のビデオストリームであっても、Ｐ（またはＩ）ピクチャとＢピクチャがビデオストリーム中でどのように配置されているかを算出するためのパラメータ（Ｐ−Ｐ間フレーム数Ｍを算出可能なＰＴＳ、ＤＴＳのようなパラメータ）、ビデオストリームのフレーム周期Ｔを算出するためのパラメータ、マクロブロック毎の参照画像数を算出するパラメータ、ピクチャタイプを特定するためのパラメータ、ピクチャの解像度またはピクチャ中のマクロブロック数を算出するためのパラメータが含まれるビデオストリームであれば、本実施形態と同様な処理を行うことにより、動画像復号処理システムに使用されるメモリ帯域の平準化を図ることが可能である。
【０１４２】
例えば、ＭＰＥＧ２−ＰＳの場合、以下の２点を変更することにより、本実施例と同様のシステムが実現できる。（１）ＴＳヘッダの代わりにＰＳパックヘッダを使う。（２）ＴＳヘッダ内のパラメータＰＣＲの代わりにＰＳパックヘッダ内のパラメータＳＣＲ（Ｓｙｓｔｅｍ  Ｃｌｏｃｋ  Ｒｅｆｅｒｅｎｃｅ）により、ＳＴＣの合わせ込みを行う。
【０１４３】
このように、本実施形態のデジタルＴＶ３７０は、Ｉ／Ｐピクチャから次のＩ／Ｐピクチャの前のＢピクチャまでのピクチャ各々の復号処理において使用する帯域が、時間方向に平準化されるように基準復号処理時間を求める。さらに、本実施形態のデジタルＴＶ３７０は、参照画像数の多いＢピクチャのマクロブロックのうち、Ｂピクチャの参照画像数が「２」より参照画像数が少ないマクロブロックについては、１マクロブロック当たりの復号処理時間を、１つ当たりの表示時間であるマクロブロック表示時間Ｔｍｂとして、Ｂピクチャの復号処理における余剰時間を算出し、この余剰時間を後続のＩ／Ｐピクチャの復号処理時間に割り当てる。このため、本実施形態のデジタルＴＶ３７０は、各ピクチャを復号処理する際の参照画像数が多いＢピクチャの単位時間当たりのデータ転送量を抑えるとともに、Ｂピクチャの各マクロブロックの参照画像数が少ないときには、余剰時間をＩ／Ｐピクチャを割り当てて帯域を抑える。従って、本実施形態のデジタルＴＶ３７０は、大きな帯域を持つ高コストな部品を用いる必要がなくなり、低コスト化することができる。さらに、復号処理に要する帯域が抑えられているので、本実施形態のデジタルＴＶ３７０は、メモリ２８０をユーザ操作等の外部イベントの処理を行うＣＰＵ３１０等のモジュールと共有していても、ユーザ操作などの外部からのイベントに対して優れた応答性を得ることができる。
【０１４４】
［第２の実施形態］
以下、本発明の第２の実施形態について、図１８を用いて説明する。図１８は本実施形態による復号装置であるＴＶ付き携帯電話４００の構成を示した概略ブロック図である。ＴＶ付き携帯電話４００の具体例としては、日本であれば、地上デジタル放送ＩＳＤＢ−Ｔ（Integrated Services Digital Broadcasting Terrestrial）の１セグメント放送を受信、再生、表示できる携帯電話やＰＨＳが、欧州や米国等であれば、ＤＶＢ−Ｈ（Digital Video Broadcasting for Handheld）やＴ−ＤＭＢ（Terrestrial-digital media broadcasting）を受信、再生、表示できる携帯電話が挙げられる。
【０１４５】
ＴＶ付き携帯電話４００は、チューナ３００、ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０、バス３６０、通信制御部４１０を具備する。
【０１４６】
チューナ３００、ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０の動作については、第１の実施形態と同様の動作をする。第１の実施形態とこの第２の実施形態との相違点は、バス３６０に通信制御部４１０が接続されている点である。この通信制御部４１０は、携帯電話における音声通話、ＴＶ電話、パケット通信等の処理を行うブロックである。携帯電話用アンテナで受信した電波を復調して受信データを得たり、送信データを変調して携帯電話用アンテナから電波として送信したりする。なお、前記受信データ、送信データには、通話音声やＴＶ電話画像等も含む。
【０１４７】
通信制御部４１０はまた、音声通話に必要なマイクロフォンやスピーカ、ＴＶ電話に必要なカメラ等の機能等も含んでいる。通信制御部４１０は、ＴＶ付き携帯電話４００で実行される処理が、図１８に示した他のブロックによる処理を必要とする処理であった場合、他のブロックとデータのやり取りを行う。例えば、通信制御部４１０が表示装置３５０に表示すべき画像データや文字データをパケット通信により得た場合は、前記データはメモリ２８０を介してＣＰＵ３１０に渡され、（通常はなんらかの通信に必要な符号化を施されているので）復号処理がなされた後、表示処理部３４０を通じて表示装置３５０に表示される。
【０１４８】
また、音声出力装置３３０から出力すべき音声データをパケット通信により得た場合は、前記データはメモリ２８０を介してオーディオデコーダ３２０に渡され、（通常はなんらかの符号化を施されているので）復号処理がなされた後、音声出力装置３３０から音声が出力される。つまり、通信制御部４１０は、データを他のブロックとやり取りする場合に、バス３６０やメモリ２８０を、その他のブロックと共有することになる。前記のようなバス３６０やメモリ２８０の共有は、第１の実施形態におけるＣＰＵ３１０によるセクションの復号処理や、オーディオデコーダ３２０によるオーディオストリームの復号処理のためにも行われていることで、本発明による復号方法または復号装置の実現を妨げるものではない。従って、本発明による復号装置は、図１８に示す第２の実施形態によっても実現可能である。
【０１４９】
［第３の実施形態］
以下、本発明の第３の実施形態について、図１９を用いて説明する。図１９は本実施形態による復号装置であるデジタルメディアプレーヤ５００の構成を示した概略ブロック図である。デジタルメディアプレーヤ５００の具体例としては、携帯音楽プレーヤや携帯ゲーム機等のＨＤＤ（Hard Disk Drive）やフラッシュメモリを内蔵した動画プレーヤが挙げられる。
【０１５０】
デジタルメディアプレーヤ５００は、ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０、バス３６０、メディア部５１０を具備する。ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０の動作については、第１の実施形態と同様の動作をする。
【０１５１】
第１の実施形態とこの第３の実施形態とのブロック間接続上の相違点は、バス３６０にメディア部５１０が接続されている点と、ストリーム処理部２００にチューナ３００が接続されていない点である。メディア部５１０は、不揮発性メモリ及び前記不揮発性メモリにデータを読み書きする機器から構成されるものである。具体例としては、ＨＤＤ、フラッシュメモリとそのリーダ／ライタ、ＤＶＤ（Digital Versatile Disk）その他の光学ディスクとその再生／記録ドライブ等が挙げられる。
【０１５２】
本実施形態においては、ストリーム処理部２００は、ストリームをチューナ３００の代わりにメディア部５１０から入手する点が第１の実施形態とは異なっている。入手方法としては、ストリーム処理部２００がメディア部５１０から直接読み出す方法と、一旦メディア部５１０からメモリ２８０へとコピーされたストリームをストリーム処理部２００がメモリ２８０から読み出すという方法が考えられる。入手した後のストリームの処理に関しては、第１の実施形態と同様である。
【０１５３】
即ち、本実施形態では、ストリーム処理部２００に入力されるストリームが、バス３６０やメモリ２８０を通るという点が第１の実施形態と異なる。
バス３６０やメモリ２８０は、元々複数のブロックの間で共有されているものであるので、前記の相違点は、本発明による復号方法または復号装置の実現を妨げるものではない。従って、本発明による復号装置は、図１９に示す第３の実施形態によっても実現可能である。
【０１５４】
［第４の実施形態］
以下、本発明の第４の実施形態について、図２０を用いて説明する。図２０は本実施形態による復号装置であるＩＰＴＶ(Internet Protocol Television）装置（インターネットテレビ装置）６００の構成を示した概略ブロック図である。ＩＰＴＶ装置６００は、ネットワーク上から、動画、音声、その他の情報を含むストリームを受け取り、それらの再生を行う装置である。ＩＰＴＶ装置６００は、ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０、バス３６０、ＩＰチューナ６１０を具備する。ストリーム処理部２００、ＣＰＵ３１０、復号制御部３８０、メモリ２８０、ビデオデコーダ２３０、オーディオデコーダ３２０、音声出力装置３３０、表示処理部３４０、表示装置３５０の動作については、第１の実施形態と同様の動作をする。
【０１５５】
第１の実施形態とこの第４の実施形態とは、チューナ３００の代わりにＩＰチューナ６１０がストリーム処理部２００に接続されている点のみが異なる。第１の実施形態においては、チューナ３００が放送波を復調し、ストリームを取り出して、その取り出したストリームをストリーム処理部２００へと送るのに対し、本実施形態においては、ＩＰチューナ６１０がネットワーク上から通信パケットを受け取り、そこからストリームを取り出して、ストリーム処理部２００へと送る。前記チューナ３００とＩＰチューナ６１０の違いを除けば、本実施形態は第１の実施形態と同じ構成であるので、本発明による復号装置は、図２０に示す第４の実施形態によっても実現可能である。
【０１５６】
また、図２における復号制御部３８０、ビデオデコーダ２３０は専用のハードウェアによって実現されてもよいし、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより復号制御部３８０、ビデオデコーダ２３０の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１５７】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１５８】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【０１５９】
本発明は、動画像符号化データを復号するデジタルテレビ装置、テレビ付き携帯電話、デジタルメディアプレーヤ及びインターネットテレビ装置に用いて好適であるが、これに限定されない。
【図面の簡単な説明】
【０１６０】
【図１】本発明の第１の実施形態によるデジタルＴＶ３７０の構成を示した概略ブロック図である。
【図２】同実施形態によるデジタルＴＶ３７０から復号処理に関連した構成を抜き出し、復号処理手順に準じた配置を示した概略ブロック図である。
【図３】動画像符号化ストリームＭＰＥＧ２−ＴＳの構造を示した図である。
【図４】本発明の第１の実施形態によるデジタルＴＶ３７０内の復号処理時間演算部２５０の構成を示した概略ブロック図である。
【図５】ＭＰＥＧ２のビデオＥＳの構成を示した図である。
【図６】ＭＰＥＧ２におけるｆｒａｍｅ＿ｒａｔｅ＿ｃｏｄｅとｆｒａｍｅ＿ｒａｔｅ＿ｖａｌｕｅとの対応関係を示した表である。
【図７】ＭＰＥＧ２のＰＥＳヘッダの構成を示した図である。
【図８】Ｐ−Ｐ間フレーム数Ｍが提示時刻情報ＰＴＳ、復号時刻情報ＤＴＳ、フレーム周期Ｔから求められることを示した図である。
【図９】各ピクチャの復号処理時間を同一にした場合のＰピクチャ、Ｂピクチャの復号時間と最大使用帯域を示した図である。
【図１０】Ｐ−Ｐ間フレーム数分の復号処理において帯域を平準化した際のＰピクチャ、Ｂピクチャの復号時間と最大使用帯域を示した図である。
【図１１】基準復号時間比ＴＲｂに基づく復号処理時間と本発明の第１の実施形態によるマクロブロックの復号処理時間の比較図である。
【図１２】同実施形態によるデジタルＴＶ３７０内の復号処理時間演算部２５０の処理手順を示した図である。
【図１３】同実施形態における、復号タイミング信号の発生時刻と復号開始時刻の関係を示した図である。
【図１４】各ピクチャの復号処理時間を同一にする場合と同実施形態との処理タイミングの比較図である。
【図１５】Ｐピクチャの参照画像数は全てのマクロブロックで１、Ｂピクチャの参照画像数は全てのマクロブロックで２である場合に、復号方法１、復号方法２、本発明の第１の実施形態による方法の使用帯域を比較した図である。
【図１６】Ｐピクチャの参照画像数は全てのマクロブロックで１、Ｂピクチャの参照画像数も全てのマクロブロックで１である場合に、復号方法１、復号方法２、本発明の第１の実施形態による方法の使用帯域を比較した図である。
【図１７】Ｐピクチャの参照画像数は全てのマクロブロックで１、Ｂピクチャの参照画像数は、奇数番目のマクロブロックで１、偶数番目のマクロブロックで２である場合に、復号方法１、復号方法２、本発明の第１の実施形態による方法の使用帯域を比較した図である。
【図１８】本発明の第２の実施形態によるＴＶ付き携帯電話４００の構成を示した概略ブロック図である。
【図１９】本発明の第３の実施形態によるデジタルメディアプレーヤ５００の構成を示した概略ブロック図である。
【図２０】本発明の第４の実施形態によるＩＰＴＶ６００の構成を示した概略ブロック図である。
【図２１】動画を構成するピクチャ間の相関を説明する図である。
【図２２】従来のデジタルＴＶに用いられる動画像の復号装置の構成例を示した概略ブロック図である。
【図２３】各種別のピクチャを復号する際に、ビデオデコーダ１８００がメモリ１８１０に対するアクセスによって使用する帯域を示した図である。
【符号の説明】
【０１６１】
１０５…参照画像数検出部
１１０…フレーム周期検出部
１１５…解像度検出部
１２０…処理ピクチャタイプ検出部
１２５…Ｐ−Ｐ間フレーム数検出部
１３０…Ｔｍｂ演算部
１３５…復号時間比演算部
１４０…画像構成要素数計数部
１４５…余剰時間演算部
１５０…Ｂピクチャ処理時間演算部
１５５…Ｉ／Ｐピクチャ処理時間演算部
１６０…ＦＩＦＯ書き込み制御部
１６５…ＦＩＦＯ
１７０…余剰時間演算時刻検出部
２００…ストリーム処理部
２１０…ビデオストリームバッファ
２２０…ビデオ位相調整バッファ
２３０…ビデオデコーダ
２４０…フレームバッファ
２５０…復号処理時間演算部
２６０…ＳＴＣ
２７０…表示タイミング生成部
２８０…メモリ
２９０…復号タイミング生成部
３００…チューナ
３１０…ＣＰＵ
３２０…オーディオデコーダ
３３０…音声出力装置
３４０…表示処理部
３５０…表示装置
３６０…バス
３７０…デジタルＴＶ
３８０…復号制御部
４００…ＴＶ付き携帯電話
４１０…通信制御部
５００…デジタルメディアプレーヤ
５１０…メディア部
６００…ＩＰＴＶ
６１０…ＩＰチューナ
Ｔ３００、Ｔ３１０、Ｔ３３０…ＴＳパケットＶ
Ｔ３２０、Ｔ３４０…ＴＳパケットＡ
Ｔ３５０、Ｔ３７０、Ｔ３９０、Ｔ４１０…ＴＳヘッダ
Ｔ３６０、Ｔ３８０、Ｔ４００、Ｔ４２０…ＴＳペイロード
Ｔ４３０、Ｔ４５０…ビデオＰＥＳヘッダ
Ｔ４４０、Ｔ４６０…ビデオＥＳ
Ｔ４７０、Ｔ４９０…オーディオＰＥＳヘッダ
Ｔ４８０、Ｔ５００…オーディオＥＳ
Ｐ６００…ＰＥＳヘッダ
Ｐ６１０…パケット開始コード
Ｐ６２０…パケット長
Ｐ６３０…制御コード
Ｐ６４０…フラグ
Ｐ６４５…ＰＴＳ  ＤＴＳフラグ
Ｐ６５０…ＰＥＳヘッダ長
Ｐ６６０…コンディショナル・コーディング
Ｐ６６１…ＰＴＳ
Ｐ６６２…ＤＴＳ
１１００…シーケンスヘッダ
１１０２、１１１６、１１３０、１１４４…ビデオＰＥＳヘッダ
１１０４、１１１８、１１３２、１１４６…ピクチャヘッダ
１１０６、１１２０、１１３４…スライスヘッダ
１１０８、１１１２、１１２２、１１２６、１１３６、１１４０…マクロブロックヘッダ
１１１０、１１１４、１１２４、１１２８、１１３８、１１４２…ブロックデータ
１８００…ビデオデコーダ
１８１０…メモリ
１８２０…ＣＰＵ
１８３０…表示処理部
１８４０…表示装置
１８５０…オーディオデコーダ
１８６０…チューナ
１８７０…ストリーム処理部
１８８０…バス
１８９０…音声出力装置
【図１】
0004807883.tif 000018
【図２】
0004807883.tif 000019
【図３】
0004807883.tif 000020
【図４】
0004807883.tif 000021
【図５】
0004807883.tif 000022
【図６】
0004807883.tif 000023
【図７】
0004807883.tif 000024
【図８】
0004807883.tif 000025
【図９】
0004807883.tif 000026
【図１０】
0004807883.tif 000027
【図１１】
0004807883.tif 000028
【図１２】
0004807883.tif 000029
【図１３】
0004807883.tif 000030
【図１４】
0004807883.tif 000031
【図１５】
0004807883.tif 000032
【図１６】
0004807883.tif 000033
【図１７】
0004807883.tif 000034
【図１８】
0004807883.tif 000035
【図１９】
0004807883.tif 000036
【図２０】
0004807883.tif 000037
【図２１】
0004807883.tif 000038
【図２２】
0004807883.tif 000039
【図２３】
0004807883.tif 000040