(57)【要約】【課題】符号化されたストリームを復号する際に要するデータ転送を効率的に行う画像復号装置を提供する。【解決手段】画像復号を行う各処理ブロックにより実行パイプラインを構成し、各処理とマクロブロック毎にデータ転送を行う外部メモリを一元化し、可変長復号化部１２のためのＦＩＦＯバッファ１３を監視する。そして、当該バッファが空になった場合には可変長復号化部１２の処理を停止し、再度バッファにデータ転送がされた後に処理を再開することでベストエフォット動作を実現する。【選択図】図１
2006115168.tif 000002
【特許請求の範囲】
【請求項１】
符号化されたストリームを含む第１のデータと、動き補償のための参照画像を含む第２のデータとを記憶するメモリと、
画像の基準時間毎に前記メモリから転送された第１のデータを復号する第１の処理部と、
前記メモリから転送された第２のデータに基づいて、第１の処理部の復号結果に対して動き補償を行い、差分画像を生成する第２の処理部と、
前記第１の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像を前記メモリに転送する第３の処理部と、
前記第１〜第３の処理部が順にパイプライン動作を行うように制御する制御部と、
を有し、
前記第１〜第３の処理部のそれぞれの処理時間は、前記第１〜第３の処理部が前記メモリとのデータ転送に要する時間の総和よりも短い
画像復号装置。
【請求項２】
前記第１の処理部のデータ転送に対して、前記基準時間に応じた第１のデータ転送量を割り当て、
前記第１の処理のデータ転送が当該第１のデータ転送量を越える場合には、前記制御部は、パイプライン動作を中断する
請求項１記載の画像復号装置。
【請求項３】
前記第１〜第３の処理部が、それぞれ前記メモリとデータ転送を行うためにデータを格納する複数のバッファを有し、
前記複数のバッファのうち、いずれか一のバッファが空になった場合には、前記制御部は、パイプライン動作において、前記一のバッファに対応する処理部以降の動作開始を遅延させる
請求項１記載の画像復号装置。
【請求項４】
前記基準時間は、画像の１フレームの時間を、１フレームのマクロブロックの数で除した時間である
請求項１記載の画像復号装置。
【請求項５】
符号化されたストリームを格納するメモリと、
前記ストリームを前記メモリから読み出して復号し、画像を生成し、当該画像をメモリに書き込む画像復号部と、
前記画像復号部により書き込まれた画像を、メモリから転送して表示する画像表示部と、
前記画像復号部および前記画像表示部によるデータ転送要求を調停する調停部と、
を有し、
前記調停部は、処理の基準となる第１の基準期間において、当該第１の基準期間の第１の比率まで、前記画像復号部のデータ転送要求を優先的に許可する
画像表示装置。
【請求項６】
前記調停部は、
第１の基準期間で許可されない画像復号部からのデータ転送要求を、前記第１の基準期間に続く第２の基準期間で調停する
請求項５記載の画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮符号化された画像のストリームを復号化するための画像復号装置および画像表示装置に関するものである。
【背景技術】
【０００２】
動画像符号化方式としては、ＭＰＥＧ２規格（ＩＳＯ／ＩＥＣ１３８１８）が広く普及している。このＭＰＥＧ−２においては、主に機能の分類（シンタックスの違い）を規定するプロファイルと、画像サイズなどの処理量の違いを規定するレベルという概念を導入し、サポート可能な符号化性能をクラス分けしている。通常、７２０ｘ４８０画素、６０フィールド／秒のＩＴＵ−Ｒ６０１の画像に対してはＭＰ＠ＭＬ(Main Profile at Main Level)が、１９２０ｘ１０８０画素、６０フィールド／秒のＨＤＴＶの画像に対してはＭＰ＠ＨＬ(Main Profile at High Level)が使用される。
【０００３】
高品位テレビジョン（ＨＤＴＶ：High Definition Television) 信号のような画素数の多い画面構成の動画像信号の画像復号装置、たとえばＭＰ＠ＨＬの復号化を実行する装置は、外部メモリに対するデータ転送量が多大になる。ＭＰＥＧ２  ＭＰ＠ＨＬにより複数のストリームをリアルタイムに同時に復号化する場合には、さらにデータ転送量が増大する。したがって、たとえば下記特許文献１のように、効率的なデータ転送を行う技術が提案されている。
【０００４】
図７は、ＭＰ＠ＨＬのストリームデータ（以下、適宜ストリームと略記する）の復号化を実行する、従来の画像復号装置の構成を示すブロック図である。
図７において、可変長復号化部１２ａ、逆量子化部１４ａ、逆ＤＣＴ部１５ａ、動き補償部１７ａの各ブロックは、符号化されたストリームを復号化するための実行パイプラインを構成する。
外部メモリ２０ａには、可変長符号化データ（ストリーム）が記憶され、外部メモリ２１ａには、動き補償のための参照画像および復号化された画像（復号化画像）が記憶される。
【０００５】
図７に示す従来の画像復号装置では、逆ＤＣＴ部１５ａにより得られた差分画像と、動き補償部１７ａにより選択された参照画像とが加算器１６ａにより加算され、元の画像が生成される。
実行パイプラインの各ブロックと外部メモリ２０ａ，２１ａの間には、データバッファ１３ａ，１８ａ，１９ａが用意され、外部メモリとやり取りされるデータが格納される。すなわち、可変長復号化部１２ａは、外部メモリから読み出したストリームをデータバッファ１３ａに格納する。差分画像と参照画像の加算結果である復号化画像は、バッファ１８ａに格納されてから外部メモリ２１ａに書き込まれる。動き補償部１７ａは、参照画像を外部メモリ２１ａから読み出し、バッファ１９ａに格納する。
各ブロックの処理の開始は、制御部１１ａによって制御される。
【０００６】
また、従来の画像復号装置では、データ転送量を容易に保証するため、各ブロックのデータ転送要求はタイムスケジューリングされている。すなわち、１フレーム期間を１フレームのトータルのマクロブロック（ＭＢ）の数で割った平均を１ＭＢ期間として、１ＭＢ期間毎に各ブロックの処理およびデータ転送が管理される。これを固定パイプライン動作という。
【０００７】
【特許文献１】特開２００２−２７４７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、参照画像および復号化画像のデータは、規則的に外部メモリ２１ａに対してアクセスが行われるので、保証すべきデータ転送量が比較的一定である。その一方で、可変長符号化データは、外部メモリ２０ａに対してバースト的にアクセスされるので、外部メモリのデータ転送については、最悪ケースとして、最大の読み出し量を保証する必要がある。たとえば、ＭＰＥＧにおいては、平均的なストリームの読み出し量に対し、最大の読み出し量は１０倍程度となる。
【０００９】
そして、データ転送の最悪値を保証しようとする場合に、従来の固定パイプライン動作では、データ転送に無駄が生じてしまうという問題がある。
【００１０】
以下、従来の固定パイプライン動作の問題点について添付図面に関連付けて述べる。
【００１１】
図８は、固定パイプライン動作におけるデータ転送を示す模式図である。
図８において、最初の１ＭＢ期間である１ＭＢ＿１では、外部メモリ２０ａからのストリームの読み出し量が最大値を要求している場合である。次の１ＭＢ期間である１ＭＢ＿２および１ＭＢ＿３では、逆に外部メモリ２０ａからのストリームの読み出し量が平均よりも少ない場合であって、この場合の頻度が極めて高い。
【００１２】
かかる場合には、１ＭＢ＿１により必要な全体のデータ転送量が決定されるため、１ＭＢ＿１の場合を保証する結果、１ＭＢ＿２および１ＭＢ＿３では、図において、無駄時間ΔＴ１およびΔＴ２が生じ、効率的な転送ができない。すなわち、一定期間、たとえば１フレーム期間のデータ転送において、無駄時間ΔＴ１およびΔＴ２が存在するために、これらの無駄時間以外の時間にデータ転送量が集中する。
【００１３】
また、従来の画像復号装置では、ストリームのための外部メモリ２０ａと、参照画像および復号化画像のための外部メモリ２１ａとが独立しているため、画像復号装置全体としてデータ転送量を緩和することが困難である。
【００１４】
したがって、本発明の目的は、ストリームを復号する際に要するデータ転送を効率的に行う画像復号装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を克服するために、本発明の第１の観点は、符号化されたストリームを含む第１のデータと、動き補償のための参照画像を含む第２のデータとを記憶するメモリと、画像の基準時間毎に前記メモリから転送された第１のデータを復号する第１の処理部と、前記メモリから転送された第２のデータに基づいて、第１の処理部の復号結果に対して動き補償を行い、差分画像を生成する第２の処理部と、前記第１の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像を前記メモリに転送する第３の処理部と、前記第１〜第３の処理部が順にパイプライン動作を行うように制御する制御部と、を有し、前記第１〜第３の処理部のそれぞれの処理時間は、前記第１〜第３の処理部が前記メモリとのデータ転送に要する時間の総和よりも短い画像復号装置である。
【００１６】
好適には、前記第１の処理部のデータ転送に対して、前記基準時間に応じた第１のデータ転送量を割り当て、前記第１の処理のデータ転送が当該第１のデータ転送量を越える場合には、前記制御部は、パイプライン動作を中断する。
【００１７】
好適には、前記第１〜第３の処理部が、それぞれ前記メモリとデータ転送を行うためにデータを格納する複数のバッファを有し、前記複数のバッファのうち、いずれか一のバッファが空になった場合には、前記制御部は、パイプライン動作において、前記一のバッファに対応する処理部以降の動作開始を遅延させる。
【００１８】
好適には、前記基準時間は、画像の１フレームの時間を、１フレームのマクロブロックの数で除した時間である。
【００１９】
上記課題を克服するために、本発明の第２の観点は、符号化されたストリームを格納するメモリと、前記ストリームを前記メモリから読み出して復号し、画像を生成し、当該画像をメモリに書き込む画像復号部と、前記画像復号部により書き込まれた画像を、メモリから転送して表示する画像表示部と、前記画像復号部および前記画像表示部によるデータ転送要求を調停する調停部と、を有し、前記調停部は、処理の基準となる第１の基準期間において、当該第１の基準期間の第１の比率まで、前記画像復号部のデータ転送要求を優先的に許可する画像表示装置である。
【００２０】
好適には、前記調停部は、第１の基準期間で許可されない画像復号部からのデータ転送要求を、前記第１の基準期間に続く第２の基準期間で調停する。
【００２１】
本発明に係る画像復号装置の作用は、以下の通りである。
すなわち、第１の処理部は、画像の基準時間毎にメモリから転送された第１のデータを復号する。第２の処理部は、メモリから転送された第２のデータに基づいて、第１の処理部の復号結果に対して動き補償を行い、差分画像を生成する。第３の処理部は、前記第１の処理部の復号結果に対して逆量子化および逆離散コサイン変換を行い、前記差分画像を加算して画像を生成し、当該画像をメモリに転送する。
制御部は、前記第１〜第３の処理部が順にパイプライン動作を行うように制御し、前記第１〜第３の処理部のそれぞれの処理時間は、前記第１〜第３の処理部が前記メモリとのデータ転送に要する時間の総和よりも短いので、全体の復号処理は、各処理部の処理時間ではなく、データ転送時間に依存する。
【発明の効果】
【００２２】
本発明によれば、ストリームを復号する際のデータ転送のピークを抑制するので、データ転送を効率的に行うことができる。
【発明を実施するための最良の形態】
【００２３】
［第１の実施形態］
以下、本発明に係る画像復号装置の一実施形態を添付図面に関連付けて説明する。
【００２４】
図１は、実施形態に係る画像復号装置１のブロック構成を示す図である。
画像復号装置１は、たとえばＭＰＥＧ２  ＭＰ＠ＨＬにより符号化された画像のストリームを順次復号化処理するための装置である。
以下、画像復号装置１の構成について説明する。
【００２５】
画像復号装置１は、図１に示すように、制御部１１、可変長符号化部１２、ＦＩＦＯバッファ１３、逆量子化部１４、逆ＤＣＴ部１５、加算部１６、動き補償部１７、ＦＩＦＯバッファ１８，１９、および外部メモリ２０を有している。
なお、可変長復号化部１２は、本発明の第１の処理部の一実施形態である。
動き補償部１７は、本発明の第２の処理部の一実施形態である。
逆量子化部１４および逆ＤＣＴ部１５は、本発明の第３の処理部の一実施形態である。
ＦＩＦＯバッファ１３，１８，１９は、本発明の複数のバッファの一実施形態である。
【００２６】
まず、画像復号装置１に入力されるストリーム（可変長符号化データ）は、外部メモリ２０に格納された後、外部メモリ２０から可変長復号化部１２により読み出される。入力されたストリームは、システムバスを介して、ＦＩＦＯバッファ１３に取り込まれ、順次処理される。
すなわち、可変長復号化部１２は、入力されたストリームのマクロブロック符号化情報を復号し、符号化モード、動きベクトル、量子化情報、量子化ＤＣＴ係数などを抽出する。
符号化モードおよび動きベクトルの情報は、システムバスを介して、動き補償部１７に供給される。量子化情報および復号化された量子化ＤＣＴ係数は、それぞれ逆量子化部１４および逆ＤＣＴ部１５に、それぞれ供給される。
【００２７】
なお、外部メモリ２０からのデータ転送は、１６画素×１６ラインのマクロブロック単位で行われる。ここで、1フレーム期間を1フレームのトータルのマクロブロック（ＭＢ）の数で割った平均を１ＭＢ期間（適宜１ＭＢと略記する）という。すなわち、外部メモリ２０には、概ね１ＭＢ期間単位でアクセスされ、ＦＩＦＯバッファ１３にデータが転送される。
【００２８】
外部メモリ２０内の可変長符号化データに対する１ＭＢ期間におけるメモリアクセス量は、１マクロブロックの発生情報量に依存する。たとえば、処理すべき非零ＤＣＴ係数の数が多く、それら係数の値がある一定値以上の場合に発生情報量が多くなる。
但し、ＭＰＥＧ２においては、4608ビットの発生情報量を超えてもよいマクロブロックが１スライスに２マクロブロックのみでなければならないという制約があるため、１マクロブロックの発生情報量が最大となる場合、たとえば、9425ビットとなる場合の頻度は非常に少ない。
【００２９】
このように、外部メモリ２０から転送される可変長符号化データはバースト的であるため、ＦＩＦＯバッファ１３のバッファ容量は、回路規模を必要以上に大きくしないように、平均的なデータ転送量を保証する容量となっている。
なお、この平均的なデータ転送量は、本発明の第１のデータ転送量に対応する。
【００３０】
動き補償部１７は、動き予測処理のための参照画像を外部メモリ２０から読み出し、ＦＩＦＯバッファ１９に格納する。
マクロブロック単位の参照画像のデータ量はほぼ一定であるため、外部メモリ２０からＦＩＦＯバッファ１９に対するデータ転送は、規則的に一定量をもって行われる。
【００３１】
逆量子化部１４は、可変長復号化部１２より入力される、１マクロブロックの量子化ＤＣＴ係数を逆量子化し、ＤＣＴ係数に復元し、逆ＤＣＴ部１５に出力する。
【００３２】
逆ＤＣＴ部１５は、逆量子化部１４より入力されるＤＣＴ係数を、逆離散コサイン変換（逆ＤＣＴ）し、画素空間データ（差分画像）を生成して、加算部１６に出力する。
【００３３】
加算器１６は、逆ＤＣＴ部１５により得られた差分画像と、動き補償部１７から供給される参照画像とを加算し、元の画像を生成する。
加算部１６により生成された画像は、一旦ＦＩＦＯバッファ１８に格納された後、システムバスを介して外部メモリ２０に出力される。
マクロブロック単位の画像はほぼ一定であるため、加算部１６から外部メモリ２０に対するデータ転送は、規則的に一定量をもって行われる。
【００３４】
制御部１１は、上述したマクロブロック単位の一連の画像復号処理がパイプライン動作となるように管理する。すなわち、当該パイプライン動作では、可変長復号化→動き補償→逆量子化→逆ＤＣＴの順にマクロブロック単位で順次処理が行われる。
なお、パイプラインを構成する各ブロックは、ＭＰＥＧ２  ＭＰ＠ＨＬを復号化可能な処理能力をもつように、図２に示すように並列化されている。
【００３５】
制御部１１は、ＦＩＦＯバッファ１３を監視し、ＦＩＦＯバッファ１３が空となった場合には、可変長復号化部１２の復号化処理を停止し、ＦＩＦＯバッファ１３にデータが転送された時点で復号化処理を再開するように制御する。これにより、復号化処理が破綻しないように制御する。
たとえば、上述したように、外部メモリ２０からの可変長符号化データの転送は、バースト的であり、データ転送量が平均値よりも大きい場合、たとえば、１ＭＢの最大発生情報量である9425ビット（平均値に対し１０倍程度）が連続した場合には、復号化処理中にＦＩＦＯバッファ１３が空状態となる。その場合には、可変長復号化部１２の処理がストールし、再度ＦＩＦＯバッファ１３にデータが転送されると処理を再開することで、復号化処理が破綻しない仕組みとなっている。
【００３６】
制御部１１は、ＦＩＦＯバッファ１３，１８，１９のいずれかのバッファが空になった場合には、処理が破綻しないように、空になったバッファに対応する処理以降について、パイプライン処理を中断し、当該バッファに新たにデータが供給された時点でパイプライン処理を再開する。
【００３７】
制御部１１の上記動作により、画像復号装置１の復号化処理は、パイプラインの演算処理の時間ではなく、データ転送時間に依存したベストエフォット動作となっている。すなわち、可変長復号化部１２、逆量子化部１４、逆ＤＣＴ部１５、動き補償部１７の各処理時間は、それぞれ外部メモリ２０とのデータ転送時間の総量よりも短いので、復号化処理全体で見ると、処理時間よりもデータ転送時間に依存した形で動作する。
【００３８】
本実施形態の画像復号装置１では、データ転送時間に依存した動作とするために、単一の外部メモリ２０とのデータ転送を行うように構成している。
【００３９】
なお、ＭＰＥＧ２  ＭＰ＠ＨＬを復号化する場合（特に2本処理する場合）には、データ転送量が大きくなるため、データ転送時間の1フレームの処理時間に対する影響が大きくなるが、画像復号装置１の実行パイプラインでは、並列処理が可能であるので、処理時間を短縮することができる。そのため、本実施形態に係る画像復号装置１は、１フレーム単位のデータ転送時間の合計が1フレームの復号化処理の時間となるようなアーキテクチャとしている。
【００４０】
次に、画像復号装置１の動作について説明する。
図２は、画像復号装置１の１ＭＢ毎のデータ転送について模式的に表した図である。図２において、（ａ）は各データ転送を、（ｂ）は可変長復号化処理を、（ｃ）は動き補償処理を、（ｄ）は逆量子化・逆ＤＣＴ処理を、それぞれ示す。図には、１ＭＢ＿１〜１ＭＢ＿３の３つの１ＭＢ期間についてのデータ転送および処理内容が示されている。
【００４１】
先ず、１ＭＢ＿１では、図２（ａ）に示すように、可変長符号化データの転送量が平均よりも多い場合、たとえば、上述した発生情報量が9425ビットであるような場合である。
この場合、必要なデータをすべて転送できずＦＩＦＯバッファ１３が空となるため、制御部１１は、可変長復号化部１２の復号化処理を停止し、ＦＩＦＯバッファ１３にデータが転送された時点で復号化処理を再開するように制御する。その結果、可変長符号化データのデータ転送時間が通常よりも長くなり、参照画像のデータ転送の開始が遅れるため、トータルのデータ転送時間が１ＭＢ期間よりも長くなる。
なお、図２では、データ転送時間の超過分をΔｔ１で表している。
【００４２】
次に、１ＭＢ＿２では、可変長符号化データのデータ転送量が平均よりも少ない場合である。バースト的なデータ転送となる可変長符号化データでは、データ転送量が平均よりも少ない場合の頻度が極めて高い。
かかる場合には、可変長符号化データのデータ転送量が平均より少ない分が参照画像のデータ転送に割り当てられるので、参照画像のデータ転送の開始が１ＭＢ＿１と比較して早められる結果、トータルのデータ転送時間の超過分Δｔ２は、Δｔ１よりも減少する。
【００４３】
次に、１ＭＢ＿３では、１ＭＢ＿２と同様に、可変長符号化データのデータ転送量が平均よりも少ない場合である。この場合も、可変長符号化データのデータ転送量が平均より少ない分が参照画像のデータ転送に割り当てられるので、参照画像のデータ転送の開始が１ＭＢ＿１と比較して早められる結果、トータルのデータ転送時間の超過分は解消する。
【００４４】
図２においては、たとえば、１ＭＢ＿１で可変長復号化処理ｂ−１を行った後、参照画像のデータ転送が１ＭＢ期間をΔｔ１分超過するため、その分、１ＭＢ＿２での動き補償処理ｃ−２の開始が遅れる。さらに、１ＭＢ＿２で可変長復号化処理ｂ−２を行った後、参照画像のデータ転送が１ＭＢ期間をΔｔ２分超過するため、その分、１ＭＢ＿３での動き補償処理ｃ−３の開始が遅れる。
【００４５】
上述した本実施形態に係る画像復号装置１の動作において、パイプラインの各処理に要する時間は、データ転送時間の総和よりも短いため、１フレームの処理時間が遅延することはない。すなわち、図２に示す例では、可変長符号化データの転送量が平均よりも多いことに起因する１ＭＢ＿１でのデータ転送超過分Δｔ１は、その頻度が極めて小さいため、１フレーム単位で見れば、超過分は徐々に解消されていく。
【００４６】
なお、全データ転送量が１フレーム内に収まるようにするためには、画像復号装置１として、１フレームで最低限必要なデータ転送量が確保されていることが前提となるが、可変長符号化データの量が最悪値の場合の転送時間を保証するように、必要なデータ転送量を確保しておけばよい。
【００４７】
上述したように、本実施形態に係る画像復号装置１によれば、画像復号を行う各処理ブロックにより実行パイプラインを構成し、各処理とマクロブロック毎にデータ転送を行う外部メモリを一元化し、可変長復号化部１２のためのバッファを監視する。そして、当該バッファが空になった場合には可変長復号化部１２の処理を停止し、再度バッファにデータ転送がされた後に処理を再開するように構成した。
【００４８】
これにより、実行パイプラインの全体の処理は、データ転送量に依存したベストエフォット動作となる。ベストエフォット動作の下では、ある１ＭＢ期間で可変長符号化データの転送量が平均よりも多い場合があっても、１フレーム全体で見れば、全データ転送量が１フレーム内に収まるようになる。したがって、１ＭＢ期間毎にデータ転送と各処理を管理する場合（固定パイプライン）と比較して、データ転送のピークが緩和され、メモリバンド幅を有効に活用することができる。
【００４９】
一例として、ＭＰＥＧ２  ＭＰ＠ＨＬを2本復号化する場合のデータ転送量は、固定パイプラインの場合可変長符号化データのデータ量の最悪値を保証する場合には14.1Gbpsとなるが、本実施形態に係る画像復号装置１では、10.8Gbpsに緩和される。
【００５０】
本実施形態に係る画像復号装置１によれば、１フレームの処理時間がデータ転送量に依存するため、符号化されたストリームの複雑度に応じて処理時間が可変になるため、複雑度が高くないストリームを復号化する場合には、１フレームの時間が短縮され、高速デコードなどの特殊な再生においても効果がある。
【００５１】
［第２の実施形態］
以下、第２の実施形態に係る画像復号装置について述べる。
本実施形態に係る画像復号装置２は、図１に示した第１の実施形態に係る画像復号装置１と同一の構成であるが、異なるフレームレートの画像を含むストリームを処理する点が異なる。
【００５２】
画像復号装置２についても、画像復号装置１同様に、処理時間がデータ転送量に依存したベストエフォット動作を示すので、データ転送量が少ないストリームに対して、１フレームの処理時間を短縮することも可能である。また、ベストエフォット動作をすることで、異なるフレームレートのストリームを複数復号化することが可能となる。
【００５３】
以下、図３に関連付けて、画像復号装置２の動作を説明する。
図３は、ＭＰＥＧ２  ＭＰ＠ＨＬの１０８０Ｉ（３０ｆｐｓ）と７２０Ｐ（２４ｆｐｓ）のストリームを同時に復号化する場合を例として、フレーム毎の処理を表した模式図であり、（ａ）は固定パイプラインの場合を、（ｂ）は画像復号装置２の場合を、それぞれ示す。
【００５４】
図３（ａ）に示すように、固定パイプラインの場合では、それぞれのフレーム単位の処理を保証するため、各フレームの動作の開始をフレームシンクに同期させることで、１０８０Ｉの３０ｆｐｓのフレーム時間に７２０Ｐのストリームを同期させる必要がある。
したがって、６回に１回の割合で７２０Ｐのストリームの処理をスキップする必要がある。それゆえ、６フレーム目のスキップする時間において処理に無駄が生ずることになるので、その分、データ転送レートは平均的に高くなる。
【００５５】
一方、図３（ｂ）に示すように、画像復号装置２によりベストエフォット動作を行う場合は、各復号化処理について各フレームで同期をとる必要がなく、６フレーム目に見られるように、１０８０Ｉと７２０Ｐのストリームの復号化順序を入れかれることが可能である。
図に示すように、データ転送を含めた復号処理は６フレーム内に収まるとともに、７２０Ｐのストリームの処理をスキップする必要がないので、その分、データ転送レートが抑制される。
したがって、本実施形態に係る画像復号装置２によれば、ベストエフォット動作をすることで、異なるフレームレートのストリームを複数復号化することが可能となるとともに、データ転送レートを抑制できるという効果がある。
【００５６】
［第３の実施形態］
以下、本発明に係る画像表示装置の一実施形態について述べる。
本実施形態に係る画像表示装置３は、たとえばＭＰＥＧ２  ＭＰ＠ＨＬのストリームを入力して復号し、復号により得られた画像を表示する画像表示装置である。
【００５７】
本実施形態に係る画像表示装置３は、復号化機能と、画像表示機能等の他の機能とを包含しているので、リアルタイム処理においては、複数の機能の実行に伴うデータ転送が競合する場合が生ずる。
たとえば、ＭＰＥＧ２  ＭＰ＠ＨＬのストリームを復号化する場合（特に２本復号化する場合）には、復号化機能のために割り当てるデータ転送量は多大なものになり、リアルタイム処理を実現するためには、画像表示機能等の他の機能に対し、復号化機能のためのデータ転送の優先度を第１にする必要がある。その一方で、復号化機能のためのデータ転送の優先度を完全に第１にした場合には、他の機能を実行するためのデータ転送を確保することができず、システムが成立しない。
【００５８】
したがって、複数の機能間のデータ転送要求をうまく調停する必要があり、画像表示装置３は、その調停方法に特徴がある。
【００５９】
図４は、画像表示装置３のシステム構成を示すブロック図である。
図４に示すように、画像表示装置３は、ストリーム入力部３１、復号化部３２、画像表示部３３、アービタ４０を含むメモリ制御部３４、制御部３５、外部メモリ３６を有する。
画像表示装置３では、トランスポート・ストリーム（ＴＳ）やプログラム・ストリーム（ＰＳ）をストリーム入力部３１が受け、外部メモリ３６にエレメンタリ・ストリーム（ＥＳ）として書き込む。
復号化部３２は、外部メモリ３６からＥＳを読み出し、復号して得られた画像を外部メモリに書き戻す。画像表示部３３は、当該画像をＬＣＤ(Liquid Crystal Display)等に出力する。
【００６０】
なお、復号化部３２は、本発明の画像復号部の一実施形態である。
画像表示部３３は、本発明の画像表示部の一実施形態である。
メモリ制御部３４は、本発明の調停部の一実施形態である。
【００６１】
制御部３５は、画像表示装置３の全体の制御を統括する。
メモリ制御部３４では、アービタ４０が各部からのデータ転送要求（ＲＥＱ）を受け、当該要求を調停するとともに、データ転送のタイミングを制御する。アービタ４０は、システムが破綻しないように、ある一定期間内で復号化部３２のデータ転送に制限をかける。
【００６２】
図５は、復号化部３２のデータ転送に制限をかける処理を説明するための模式図であり、（ａ）はアービタ４０が仮に復号化部３２を優先的に調停するとした場合を、（ｂ）はアービタ４０により復号化部３２のデータ転送に制限をかけた調停をした場合（本実施形態の場合）を、それぞれ示す。（ａ）の場合は、復号化部３２のデータ転送を完全に最優先とした場合である。図５では、復号化部３２と画像表示部３３のデータ転送を一例として示している。
なお、１ｓｙｎｃ期間は、データ処理の基準となる基準期間である。
【００６３】
図５（ａ）において、復号化部３２のデータ転送と画像表示部３３のデータ転送が競合した場合に、復号化部３２に対して常に優先順位を高く設定しているとすれば、アービタ４０は、復号化部３２からのデータ転送要求に対して優先的に転送許可を与え、これにより、復号化部３２のデータ転送が優先的に行われるので、画像表示部３３のデータ転送に遅延が生じる。
この遅延が画像表示部３３の機能を保証する許容範囲を超えた場合には、システムが破綻する。たとえば、画像表示部３３が画像をリアルタイムに表示できないという不都合が生ずる。
【００６４】
一方、本実施形態に係る画像表示装置３では、アービタ４０により復号化部３２のデータ転送に制限をかけた調停を行う。
すなわち、図５（ｂ）に示すように、復号化部３２のデータ転送が１ｓｙｎｃ期間に対して所定の比率までとなるように制限を設ける。すなわち、復号化部３２には、１ｓｙｎｃ期間とデコーダ割り当て期間が与えられ、両者の比により復号化部３２に割り当てられるデータ転送量が決定される。たとえば、１ｓｙｎｃ期間を３１１サイクル、デコーダ割り当て時間を１００サイクルとし、外部メモリの転送帯域が１７Ｇｂｐｓである場合、復号化部３２には、５．５Ｇｂｐｓ（=17×100/311）が割り当てられる。
【００６５】
これにより、１ｓｙｎｃ期間のうち、残りの期間については、画像表示部３３のデータ転送を行うことができる。１ｓｙｎｃ期間に対して復号化部３２に対して割り当てられる量は、１フレームでのデータ転送を保証するものであり、１フレームにおける平均のデータ転送量に設定される。
【００６６】
なお、図５（ｂ）に示すように、ある１ｓｙｎｃ期間において、復号化部３２のデータ転送に要する時間が、デコーダ割り当て期間を越えた場合には、その超過分のデータの転送は次のｓｙｎｃ期間に行われる。
たとえば、上述した例では、ある１ｓｙｎｃ期間（３１１サイクル）において、復号化部３２が１００サイクル以上のデータ転送を要求した場合には、次のｓｙｎｃまで転送要求がアービタ４０により許可されない。
【００６７】
１ｓｙｎｃ期間およびデコーダ割り当て期間は、復号化部３２以外のクライアントのデータ転送要求を保証し、かつ、当該クライアントのためのＦＩＦＯバッファ容量を最小限にするように設定する。
【００６８】
次に、復号化部３２のデータ転送に制限をかけるための具体的な処理について述べる。
図６は、復号化部３２のデータ転送に制限をかけるために、主として、メモリ制御部３４が実行するフローチャートである。
なお、図６において、mc_cycleは復号化部３２での動き補償処理（ＭＣ）が１回のデータ転送に要するサイクル数、vld_cycleは復号化部３２での可変長復号処理（ＶＬＤ）が１回のデータ転送に要するサイクル数、dct_cycleは復号化部３２での逆ＤＣＴ処理（ＤＣＴ）が１回のデータ転送に要するサイクル数、である。
また、all_cycleは１ｓｙｎｃ期間、dec_cycleはデコーダ割り当て期間、use_dec_cycleは１ｓｙｎｃ期間内で復号化部３２が消費したサイクル数、である。
【００６９】
先ず、予め、制御部３５は、メモリ制御部３４のレジスタ群４２（all_cycleレジスタおよびdec_cycleレジスタ）に対して、１ｓｙｎｃ期間（all_cycle）およびデコーダ割り当て期間（dec_cycle）の値をセットする（ステップＳＴ１）。
【００７０】
そして、ある１ｓｙｎｃ期間において、復号化部３２の処理が開始すると（ステップＳＴ２）、復号化部３２における各処理からのデータ転送要求があるか否かがチェックされる（ステップＳＴ３）。復号化部３２における各処理とは、たとえば、動き補償処理（ＭＣ）、可変長復号処理（ＶＬＤ）、および逆ＤＣＴ処理（ＤＣＴ）である。
【００７１】
復号化部３２からデータ転送要求がある場合には、現在１ｓｙｎｃ期間の最初のサイクルであるか否かがチェックされる（ステップＳＴ４）。なお、ここで、１ｓｙｎｃ期間の最初のサイクルには、ｓｙｎｃが「１」となっており、それ以外では「０」となっているものとする。
現在１ｓｙｎｃ期間の最初のサイクルである場合には、use_dec_cycleをリセットする（ステップＳＴ５）。１ｓｙｎｃ期間の最初のサイクルでなければ、ステップＳＴ５は行わない。
【００７２】
ステップＳＴ６では、１ｓｙｎｃ期間において、復号化部３２のデータ転送のために、現在までに消費したサイクル数が予め設定されたデコーダ割り当て期間を越えるか否かが判断される（ステップＳＴ６）。これにより、１ｓｙｎｃ期間における復号化部３２のデータ転送が所定の割当量に制限される。
デコーダ割り当て期間に達している場合には、これ以上、当該１ｓｙｎｃ期間においてデータ転送要求を許可しないので、転送待ち状態となり（ステップＳＴ７）、次のｓｙｎｃを待つことになる。
【００７３】
ステップＳＴ６において、デコーダ割り当て期間に達していない場合には、データ転送要求が許可され、データ転送が行われる（ステップＳＴ８）。さらに、当該データ転送に伴う消費サイクル数分だけ、use_dec_cycleをカウントアップする（ステップＳＴ８）。
【００７４】
以上述べたように、本実施形態に係る画像表示装置３によれば、復号化部３２のデータ転送を処理サイクルの一定比率分に割り当てたうえで、復号化部３２を優先的に調停するようにしたので、復号化部３２のデータ転送が抑制され、復号化部３２以外のクライアント、たとえば、画像表示部３３などに、データ転送時間を割り当てることが可能となる。
【００７５】
なお、本発明の実施形態は、上述した内容に拘泥せず、本発明の要旨を変更しない範囲で様々な改変が可能である。
たとえば、第３の実施形態に係る画像表示装置３では、アービタ４０は、復号化部３２のデータ転送をタイマによって時間制限で優先するように調停することで、画像表示部３３等の他のクライアントが破綻しないようすることが可能である。
【図面の簡単な説明】
【００７６】
【図１】実施形態に係る画像復号装置１のブロック構成を示す図である。
【図２】実施形態に係る画像復号装置１の１ＭＢ毎のデータ転送を模式的に表した図である。
【図３】フレームレートが異なるストリームを同時に復号化する場合のフレーム毎の処理を表した模式図である。
【図４】画像表示装置３のシステム構成を示すブロック図である。
【図５】復号化部３２のデータ転送に制限をかける処理を説明するための模式図である。
【図６】復号化部３２のデータ転送に制限をかけるために、主として、メモリ制御部３４が実行するフローチャートである。
【図７】従来の画像復号装置の構成を示すブロック図である。
【図８】固定パイプライン動作におけるデータ転送を示す模式図である。
【符号の説明】
【００７７】
１，２…画像復号装置、３…画像表示装置、１１，１１ａ…制御部、１２，１２ａ…可変長復号化部、１３，１８，１９，１３ａ，１８ａ，１９ａ…データバッファ、１４，１４ａ…逆量子化部、１５，１５ａ…逆ＤＣＴ部、１６，１６ａ…加算器、１７，１７ａ…動き補償部、２０，２１，２０ａ，２１ａ…外部メモリ、３１…ストリーム入力部、３２…復号化部、３３…画像表示部、３４…メモリ制御部、３５…制御部、３６…外部メモリ、４０…アービタ。
【図１】
2006115168.tif 000003
【図２】
2006115168.tif 000004
【図３】
2006115168.tif 000005
【図４】
2006115168.tif 000006
【図５】
2006115168.tif 000007
【図６】
2006115168.tif 000008
【図７】
2006115168.tif 000009
【図８】
2006115168.tif 000010