(57)【要約】【課題】外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格においてリアルタイムでビデオ復号化を行うことができる復号化装置を提供すること。【解決手段】ビデオ復号化装置１００は、ピクセルの係数の復号化と再構築されたピクチャの外部メモリ１１０への書込みとを実行するハードウェアビデオデコーダ１１５を備える。また、ハードウェアビデオデコーダ１１５は、外部メモリ１１０へのＤＭＡ読取りアクセスもしくはＤＭＡ書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるハードウェアエンジンのパイプライン２０１と、複数のハードウェアエンジンからのすべてのＤＭＡアクセスを、ＤＭＡコントローラ１１１への１つのＤＭＡチャネル又は複数のＤＭＡチャネルに調停するハードウェアビデオデコーダＤＭＡコントローラ２００とを備える。【選択図】図２
2009267837.tif 000002
【特許請求の範囲】
【請求項１】
外部メモリと、前記外部メモリへのＤＭＡアクセスを制御するＤＭＡコントローラと、前記外部メモリの使用を前記ＤＭＡコントローラを通じて共有する複数のコンポーネントとを備える復号化装置であって、
前記複数のコンポーネントは、
ピクセルの係数の復号化と、再構築されたピクチャの前記外部メモリへの書込みとを実行するハードウェアビデオデコーダと、
圧縮されたビデオビットストリームの解析から得られるパラメータによって前記ハードウェアビデオデコーダを制御するコアプロセッサと、
を備える復号化装置。
【請求項２】
前記複数のコンポーネントは、
ホストプロセッサ、圧縮されたビットストリームをエレメンタリビデオ／音声ビットストリームに逆多重化する逆多重化プロセッサ、及び／又は、復号化されたピクチャを表示するディスプレイユニットをさらに備える請求項１記載の復号化装置。
【請求項３】
前記ハードウェアビデオデコーダは、
前記外部メモリへのＤＭＡ読取りアクセスもしくはＤＭＡ書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンと、
前記複数のハードウェアエンジンからのすべてのＤＭＡアクセスを、前記ＤＭＡコントローラへの１つのＤＭＡチャネル又は複数のＤＭＡチャネルに調停するビデオデコーダＤＭＡコントローラとを備える請求項１記載の復号化装置。
【請求項４】
前記ハードウェアエンジンは、
ＤＭＡ読取り事前要求を、対応する各ＤＭＡ読取り要求に対して発行し、
ビデオ復号化のため現在の一連のデータに対する前記ＤＭＡ読取り要求を処理し、次の一連のデータに対するＤＭＡ読取り事前要求を発行するＤＭＡ読取事前要求発行手段を備える請求項３記載の復号化装置。
【請求項５】
前記ハードウェアビデオデコーダの統合型ＤＭＡコントローラは、
ＤＭＡ読み取りデータ及びＤＭＡ書き込むデータをバッファリングするとともに、前記ＤＭＡコントローラによるデータ転送と、前記ハードウェアエンジンのパイプラインによるデータ転送との間で割り当てを動的に切り換え可能な２つのデータストレージ手段と、
前記ハードウェアエンジンのパイプラインに割り当てられているデータストレージ手段へのＤＭＡ読取り要求及びＤＭＡ書込み要求を調停するハードウェアエンジンからのＤＭＡ要求の調停器と、
前記ＤＭＡ書込み要求を登録し、前記２つのデータストレージ手段が切り換わった時点で、前記登録されたＤＭＡ書込み要求をＤＭＡ発行ユニットに転送するＤＭＡ書込み要求登録ユニットと、
前記ハードウェアエンジンからの受理されたＤＭＡ読取り事前要求と、前記ＤＭＡ書込み要求登録ユニットから転送された登録されているＤＭＡ書込み要求とに対して、前記ＤＭＡコントローラへのＤＭＡ要求を発行するＤＭＡ発行ユニットと、
前記ＤＭＡコントローラによるデータ転送と、前記ハードウェアエンジンのパイプラインによるデータ転送との間で、前記２つのデータストレージ手段の使用を切り換える切換え制御ユニットとを備え、
前記切換え制御ユニットは、
指定された数のＤＭＡ読取り事前要求が処理され、かつ、前記ＤＭＡ発行ユニット内のすべてのＤＭＡ書込み要求が、前記ＤＭＡコントローラによって処理され、
指定された数のＤＭＡ書込み要求が処理され、かつ、前記ハードウェアエンジンのパイプラインによるデータ転送に割り当てられている前記データストレージ手段の中の読取りデータに対応するすべてのＤＭＡ読取り要求が処理されたとき、前記２つのデータストレージ手段の使用を切り換える請求項３記載の復号化装置。
【請求項６】
前記切換え制御ユニットは、
ＤＭＡ読取りアクセスを要求しているハードウェアエンジンに対して１つのマクロブロックを処理するのに必要な読取りデータの量に基づいて、前記指定された数のＤＭＡ読取り事前要求の条件を決定して前記データストレージ手段を切り換えるとともに、
ＤＭＡ書込みアクセスを要求しているハードウェアエンジンに対して１つのマクロブロックを処理した後の書込みデータの量に基づいて、前記指定された数のＤＭＡ書込み要求の条件を決定して、前記データストレージ手段を切り換える請求項５記載の復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高いスループットのビデオ復号化を実行する復号化装置に係り、詳細には、ビデオ復号化と、電子システム内の複数のコンポーネントとが外部メモリの使用を共有し、ビデオ復号化を実行する電子システムに適用可能な復号化装置に関する。
【背景技術】
【０００２】
デジタルビデオ復号化システムは、通常、コアプロセッサと、ハードウェアビデオデコーダとから構成される。コアプロセッサは、エレメンタリビデオビットストリームをマクロブロックレベル又はそれ以上において、場合によってはハードウェアエンジンの支援下で解析する。コアプロセッサが、マクロブロックレベル以上としては、例えばシーケンスヘッダ、スライスヘッダ、ピクチャヘッダ、又はマクロブロックヘッダである場合がある。コアプロセッサは、ピクセルの係数（pixel coefficients）を復号化するハードウェアビデオデコーダを、得られた情報を使用して制御する。ハードウェアビデオデコーダは、通常、特定の復号化機能のみを実行するようにされている専用ハードウェアエンジンのパイプラインによって構築されている。そのような復号化機能の例としては、可変長復号化、逆量子化、逆変換、動き補償、イントラ予測（intra prediction）、デブロッキングフィルタが挙げられる。
【０００３】
これらのハードウェアエンジンのいくつかは、外部メモリを使用する必要がある。ビデオ復号化システムにおいては、ほとんどの場合、コストを低減するためこれらのエンジンは外部メモリを共有しなければならない。さらに、この外部メモリは、通常では、より大きな電子システムにおける他のコンポーネント（例えば、ホストプロセッサ、逆多重化プロセッサ、コアプロセッサ、ディスプレイユニット）とも共有される。ホストプロセッサは、電子システムを制御し、逆多重化プロセッサは、圧縮されたビットストリームをエレメンタリビデオ／音声ビットストリームに逆多重化し、ディスプレイユニットは、後処理を行い、復号化されたピクチャを出力する。
【０００４】
電子システムは、電子システム内のコンポーネントからのＤＭＡアクセス要求を優先順位付けして調停するＤＭＡ（Direct Memory Access）コントローラを備えて構成される。ＤＭＡコントローラは、いかなるときにも、ＤＭＡアクセス要求のうちの１つのみにメモリアクセス権を許可する。電子システム内のコンポーネントは、ＤＭＡアクセスを要求するためと、要求が許可された後のその後のＤＭＡトランザクションのため、ＤＭＡコントローラへの複数のＤＭＡアクセスチャネルを持つことができる。
【０００５】
特許文献１には、ビデオ復号化システムの動作方法が記載されている。特許文献１に記載のビデオ復号化システムは、復号化システムのさまざまなモジュールとシステムメモリとの間を橋渡しするブリッジを備えている。このブリッジは、ビデオ復号化システム内の他のモジュールすべてを接続する相互接続ネットワークを提供する。さらに、このブリッジは、デコーダシステム内のメモリ（例えば、共有されるデコーダメモリ、個々のモジュール内のローカルメモリユニット）の処理を行うＤＭＡエンジンを含んでいる。ブリッジモジュールは、非同期インターフェース機能を例示的に含んでおり、復号化システムとメインメモリバスとで異なるクロックレート（いずれかのクロック周波数が他方よりも高い）をサポートする。
【０００６】
特許文献１に記載のブリッジモジュールは、多数のモジュールに接続されている複雑な設計であり、これらのモジュールからの多数のＤＭＡアクセスを調停しなければならない。新しい高度なビデオ規格によって符号化されている高解像度のピクチャの場合、リアルタイムでの復号化を保証することは難しい。このことは、特に、動作時の電子システムのダイナミクスに起因してＤＭＡレイテンシが大きかったり変化しうる条件下であてはまる。
【特許文献１】米国特許公開第２００３／０１８５２９８号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、このような従来のビデオ復号化システムにあっては、それぞれが複数のＤＭＡアクセスチャネルを有する、電子システム内のコンポーネントからのＤＭＡアクセス要求を、ＤＭＡコントローラが優先順位付けして調停することは難しい。従来、ＤＭＡの調停は、ラウンドロビン方式や、各ＤＭＡ要求に優先度を割り当てるなど、１つ又は複数に方式よって行われている。このような従来の方式では、増大しつつあるＤＭＡアクセス需要と、電子システムの動作中に電子システム内のハードウェアエンジン及びそれ以外のコンポーネントからのＤＭＡアクセス需要が変化することとに対応することができない。
【０００８】
さらに、求められる圧縮効率が高まっているため、高度なビデオ規格（Ｈ．２６４／ＡＶＣ、ＳＭＰＴＥ  ＶＣ１、Ｃｈｉｎａ  ＡＶＳなど）の多くは、より多くの視覚ツールを使用しており、これらの視覚ツールのいくつかは、中間の復号化データを格納するため外部メモリの使用を必要とする。結果として、外部メモリへのＤＭＡアクセスチャネルの数が増大し、これらのＤＭＡ要求を効率的に優先順位付けすることは、さらに難しくなる。ＤＭＡレイテンシが動作時の電子システムのダイナミクスに起因して大きかったり変化しうるときには、要求されるリアルタイムでの復号化のスループットを満たすことはますます難しい。
【０００９】
本発明は、上記に鑑みてなされたものであり、外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格においてリアルタイムでビデオ復号化を行うことができる復号化装置を提供することを目的とする。
【００１０】
また、本発明は、要求されるオンチップストレージの量を減少させることができ、コストを低減することができる復号化装置を提供することを別の目的とする。
【課題を解決するための手段】
【００１１】
本発明の復号化装置は、外部メモリと、前記外部メモリへのＤＭＡアクセスを制御するＤＭＡコントローラと、前記外部メモリの使用を前記ＤＭＡコントローラを通じて共有する複数のコンポーネントとを備えるビデオ復号化装置であって、前記複数のコンポーネントは、ピクセルの係数の復号化と、再構築されたピクチャの前記外部メモリへの書込みとを実行するハードウェアビデオデコーダと、圧縮されたビデオビットストリームの解析から得られるパラメータによって前記ハードウェアビデオデコーダを制御するコアプロセッサと、を備える構成を採る。
【発明の効果】
【００１２】
本発明によれば、ピクセルの係数の復号化と再構築されたピクチャの外部メモリへの書込みとを実行するハードウェアビデオデコーダを備えることにより、ビデオの復号化におけるＤＭＡコントローラへのＤＭＡチャネルを１つ又は数個のみとすることができる。これにより、調停するチャネルの数が減少し、ＤＭＡコントローラの複雑さを低減することができる。
【００１３】
また、複数のハードウェアエンジンからのすべてのＤＭＡアクセスを、ＤＭＡコントローラへの１つのＤＭＡチャネル又は複数のＤＭＡチャネルに調停するビデオデコーダＤＭＡコントローラを備えることにより、データがＤＭＡ送出される、又はデータがＤＭＡ入力されるのを待機することに起因してハードウェアエンジンの処理が停止することなく、高スループットの復号化が可能になる。
【００１４】
これにより、共有されている外部メモリへのＤＭＡレイテンシが大きかったり変化しうる環境において、リアルタイムでのビデオ復号化を達成することが容易になる。
【００１５】
その結果、外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格（Ｈ．２６４／ＡＶＣ、ＳＭＰＴＥ  ＶＣ１、Ｃｈｉｎａ  ＡＶＳなど）においてリアルタイムでのビデオ復号化を達成することができる。リアルタイムでのビデオ復号化のため、より多くの外部メモリを使用する環境において、要求されるオンチップストレージの量が減少し、コストを低減することができる。また、調停しなければならないＤＭＡチャネルの数を減少させることによって、外部メモリのＤＭＡコントローラの複雑さを低減させることができる。さらに、動作時の電子システムのダイナミクスに起因してＤＭＡレイテンシが大きいことがありかつ変化する条件下で、リアルタイムの復号化を可能にすることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１７】
図１は、本発明の一実施の形態に係るビデオ復号化装置の構成を示すブロック図である。本実施の形態は、ビデオ復号化と電子システム内の複数のコンポーネントとが外部メモリの使用を共有し、ビデオ復号化を実行する電子システムのうちビデオ復号化タスクを実行するビデオ復号化装置に適用した例である。
【００１８】
図１において、ビデオ復号化装置１００は、外部メモリ１１０と、外部メモリ１１０へのＤＭＡアクセスを制御するＤＭＡコントローラ１１１と、外部メモリ１１０の使用をＤＭＡコントローラ１１１を通じて共有する複数のコンポーネントとを備えて構成される。複数のコンポーネントは、ホストプロセッサ１１２、逆多重化プロセッサ１１３、コアプロセッサ１１４、ハードウェアビデオデコーダ１１５、及びディスプレイユニット１１６から構成される。
【００１９】
ＤＭＡコントローラ１１１とハードウェアビデオデコーダ１１５間は、ＤＭＡチャネル１１７で結ばれ、ＤＭＡコントローラ１１１とディスプレイユニット１１６間は、ＤＭＡチャネル１１８で結ばれる。また、外部メモリ１１０とＤＭＡコントローラ１１１間は、メモリアクセス１１９で結ばれる。
【００２０】
ＤＭＡコントローラ１１１は、外部メモリ１１０へのメモリアクセスチャネルを制御し、いかなるときにも１つのコンポーネントが外部メモリ１１０へのメモリアクセス１１９を実行できるのみであるようにすることができる。ＤＭＡコントローラ１１１は、外部メモリ１１０へのメモリアクセス１１９を交替で実行するため、ＤＭＡアクセス要求を登録し、これらを優先順位付けしてスケジューリングする。
【００２１】
ホストプロセッサ１１２は、システム全体の制御を提供する。
【００２２】
逆多重化プロセッサ１１３は、圧縮されたビットストリームをエレメンタリビデオ／音声ビットストリームに逆多重化し、それらを外部メモリ１１０に格納する。
【００２３】
コアプロセッサ１１４は、圧縮されたビデオビットストリームの解析から得られるパラメータによってハードウェアビデオデコーダ１１５を制御する。コアプロセッサ１１４は、エレメンタリビデオストリームを解析し、ピクセルの係数を復号化するハードウェアビデオデコーダ１１５を、得られた情報を使用して制御する。
【００２４】
ハードウェアビデオデコーダ１１５は、ピクセルの係数の復号化と、再構築されたピクチャの外部メモリへの書込みとを実行する。ハードウェアビデオデコーダ１１５は、テクスチャ復号化（texture decoding）と、再構築されたピクチャを外部メモリ１１０に書き込むこととを主たるタスクとして実行するハードウェアエンジンのパイプライン２０１（図２で後述する）を備えている。再構築されたピクチャは、ディスプレイユニット１１６によって読み取られて表示される。
【００２５】
ディスプレイユニット１１６は、復号化されたピクチャを表示する。
【００２６】
上述したコンポーネント１１２〜１１６は、外部メモリ１１０にアクセスするための１つ以上のＤＭＡチャネル１１８を必要とする。
【００２７】
ハードウェアビデオデコーダ１１５の内側には、外部メモリ１１０へのメモリアクセス１１９を必要とする複数のハードウェアエンジンが存在する。１つのみのＤＭＡチャネル１１７を通じて外部メモリ１１０にアクセスするため、ハードウェアエンジンからのすべてのＤＭＡ要求をハードウェアビデオデコーダ１１５の内側で調停する。
【００２８】
これにより、ビデオ復号化の高いスループットを達成する専用の調停／ＤＭＡ方式を、ＤＭＡコントローラ１１１とは無関係にハードウェアビデオデコーダ１１５の内側に実施することができる。また、ＤＭＡコントローラ１１１によって処理されるＤＭＡチャネルの数も低減し、従って、ＤＭＡコントローラ１１１の複雑さが低減する。
【００２９】
図２は、ハードウェアビデオデコーダ１１５の構成を示すブロック図である。
【００３０】
図２において、ハードウェアビデオデコーダ１１５は、外部メモリ１１０へのＤＭＡ読取りアクセスもしくはＤＭＡ書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるビデオ復号化のハードウェアエンジンのパイプライン２０１と、複数のハードウェアエンジンからのすべてのＤＭＡアクセスを、ＤＭＡコントローラ１１１への１つのＤＭＡチャネル又は複数のＤＭＡチャネルに調停するビデオデコーダＤＭＡコントローラ２００とを備えて構成される。ビデオデコーダＤＭＡコントローラ２００は、ハードウェアビデオデコーダの統合型ＤＭＡコントローラである。
【００３１】
ハードウェアエンジンのパイプライン２０１は、圧縮されたビデオストリーム２０１Ａを処理する複数のハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎを備える。
【００３２】
複数のハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎは、ＤＭＡ読取り事前要求を、対応する各ＤＭＡ読取り要求に対して発行し、ビデオ復号化のため現在の一連のデータ（chuck of data）に対するＤＭＡ読取り要求を処理し、同時に、次の一連のデータに対するＤＭＡ読取り事前要求を発行するＤＭＡ読取事前要求発行手段を備える。具体的には、複数のハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎは、ビデオデコーダＤＭＡコントローラ２００へのＤＭＡ書込み要求インターフェース２０５，２０６を介してＤＭＡ書込み要求を発行する。書込みデータは、対応するＤＭＡ書込み要求が許可された後、ＤＭＡ書込みデータバス２０７，２０８を通じて送られる。
【００３３】
複数のハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎは、ビデオデコーダＤＭＡコントローラ２００へのＤＭＡ読取り要求インターフェース２１１，２１２を介してＤＭＡ読取り要求を発行する。各ハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎは、各ＤＭＡ読取り要求より前に、ビデオデコーダＤＭＡコントローラ２００への対応するＤＭＡ読取り事前要求インターフェース２０９，２１０を介してＤＭＡ読取り事前要求を行わなければならない。各ハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎは、このＤＭＡ読取り要求を、対応するＤＭＡ読取り事前要求が処理された後に行う。次いで、各ハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎは、ＤＭＡ読取り要求アクセスが許可された後、ＤＭＡ読取りデータバス２１３，２１４からデータを読み取る。
【００３４】
ビデオデコーダＤＭＡコントローラ２００は、圧縮されたビットストリーム２０１Ａからの高いスループットのビデオ復号化を可能にする。ビデオデコーダＤＭＡコントローラ２００は、ハードウェアビデオデコーダ内のハードウェアエンジン２０１から、ＤＭＡ書込み要求インターフェース２０５，２０６を介してＤＭＡ書込み要求を集めて処理し、ＤＭＡ読取り事前要求インターフェース２０９，２１０を介してＤＭＡ読取り事前要求を集め、これらの要求をＤＭＡチャネル２１５を通じてシリアル方式で送出する。ＤＭＡ書込み要求に対応するデータは、ＤＭＡ書込み要求をＤＭＡチャネル２１５を通じて送る前に、各ハードウェアエンジン２０２−１，２０２−２，…，２０２−ＮからビデオデコーダＤＭＡコントローラ２００にすでに転送されていなければならない。
【００３５】
これにより、ビデオデコーダＤＭＡコントローラ２００は、図１におけるＤＭＡコントローラ１１１の制御下で、ＤＭＡチャネル２１５を介しての書込みデータの送出転送及び読取りデータの入力転送を低レイテンシで行うことができる。
【００３６】
図３は、ビデオデコーダＤＭＡコントローラ３００、そのハードウェアエンジンインターフェース３０１、及びＤＭＡチャネル３０２の構成を示す図である。図３に示すビデオデコーダＤＭＡコントローラ３００は、図２のビデオデコーダＤＭＡコントローラ２００に適用することができる。
【００３７】
図３において、ビデオデコーダＤＭＡコントローラ３００は、データストレージ部３０３，３０４、切換え制御ユニット３０７、ＤＭＡ発行ユニット３１３、調停器３１６、及びＤＭＡ書込み要求登録ユニット３１９を備えて構成される。図３中、データストレージ部３０３，３０４は、ビデオデコーダＤＭＡコントローラ３００により割り当てられた場合、それぞれデータストレージ部３０５，３０６で示される。
【００３８】
データストレージ部３０３，３０４は、ＤＭＡ読み取りデータ及びＤＭＡ書き込むデータをバッファリングするための２つの同じ（デュアル）データストレージ手段である。データストレージ部３０３，３０４は、ＤＭＡコントローラ１１１によるデータ転送と、ハードウェアエンジンのパイプライン２０１によるデータ転送との間で割り当てを動的に切り換えることができる。
【００３９】
切換え制御ユニット３０７は、ＤＭＡコントローラ１１１によるデータ転送と、ハードウェアエンジンのパイプライン２０１によるデータ転送との間で、２つのデータストレージ部３０３，３０４の使用を切り換える。具体的には、切換え制御ユニット３０７は、指定された数のＤＭＡ読取り事前要求が処理され、かつ、ＤＭＡ発行ユニット３１３内のすべてのＤＭＡ書込み要求が、ＤＭＡコントローラ１１１によって処理され、指定された数のＤＭＡ書込み要求が処理され、かつ、ハードウェアエンジンのパイプライン２０１によるデータ転送に割り当てられているデータストレージ部３０３，３０４の中の読取りデータに対応するすべてのＤＭＡ読取り要求が処理されたとき、２つのデータストレージ部３０３，３０４の使用を切り換える。また、切換え制御ユニット３０７は、ＤＭＡ読取りアクセスを要求しているハードウェアエンジンに対して１つのマクロブロックを処理するのに必要な読取りデータの量に基づいて、指定された数のＤＭＡ読取り事前要求の条件を決定してデータストレージ部３０３，３０４を切り換えるとともに、ＤＭＡ書込みアクセスを要求しているハードウェアエンジンに対して１つのマクロブロックを処理した後の書込みデータの量に基づいて、指定された数のＤＭＡ書込み要求の条件を決定して、データストレージ部３０３，３０４を切り換える。
【００４０】
ＤＭＡ発行ユニット３１３は、ハードウェアエンジン２０２−１，２０２−２，…，２０２−Ｎからの受理されたＤＭＡ読取り事前要求と、ＤＭＡ書込み要求登録ユニット３１９から転送された登録されているＤＭＡ書込み要求とに対して、ＤＭＡコントローラ１１１へのＤＭＡ要求を発行する。
【００４１】
調停器３１６は、ハードウェアエンジンからのＤＭＡ要求の調停器である。調停器３１６は、ハードウェアエンジンのパイプラインに割り当てられているデータストレージ部３０３，３０４へのＤＭＡ読取り要求及びＤＭＡ書込み要求を調停する。
【００４２】
ＤＭＡ書込み要求登録ユニット３１９は、ＤＭＡ書込み要求を登録し、２つのデータストレージ部３０３，３０４が切り換わった時点で、登録されたＤＭＡ書込み要求をＤＭＡ発行ユニット３１３に転送する。
【００４３】
次に、ビデオデコーダＤＭＡコントローラ３００の動作について説明する。
【００４４】
ビデオデコーダＤＭＡコントローラ３００は、２つの同じデータストレージ部３０３，３０４が存在している。ビデオデコーダＤＭＡコントローラ３００は、いかなるときにも、ハードウェアエンジンインターフェース３０１からのデータアクセスには一方のデータストレージ部３０５を割り当て、ＤＭＡチャネル３０２からのデータアクセスには他方のデータストレージ部３０６を割り当てる。データストレージ部３０５，３０６は、ビデオデコーダＤＭＡコントローラ３００により割り当てられた２つのデータストレージ部３０３，３０４のうちの一方と他方である。
【００４５】
ビデオデコーダＤＭＡコントローラ３００は、ハードウェアエンジンインターフェース３０１からのデータアクセスが完了し、ＤＭＡチャネル３０２からのデータアクセスが完了した時点で、ハードウェアエンジンインターフェース３０１からのデータアクセスとＤＭＡチャネル３０２からのデータアクセスとの間で、２つのデータストレージ部３０３，３０４を再割り当てする。
【００４６】
切り換え制御ユニット３０７は、ハードウェアエンジンインターフェース３０１からのデータアクセスとＤＭＡチャネル３０２からのデータアクセスとの間でデータストレージ部３０３，３０４をいつ切り換えるかを制御する。
【００４７】
ハードウェアエンジンインターフェース３０１は、複数のＤＭＡ読取り事前要求インターフェース３０８、複数のＤＭＡ読取り要求インターフェース３０９、ハードウェアエンジンからの複数のＤＭＡ読取りデータバス３１０、複数のＤＭＡ書込み要求インターフェース３１１、及び複数のＤＭＡ書込みデータバス３１２を備える。
【００４８】
外部メモリ１１０（図１）への読取りアクセスを必要とするハードウェアエンジンは、複数のＤＭＡ読取り事前要求インターフェース３０８と、複数のＤＭＡ読取り要求インターフェース３０９と、複数のＤＭＡ読取りデータバス３１０と、ハードウェアエンジンインターフェース３０１とを使用する。外部メモリ１１０（図１）への書込みアクセスを必要とするハードウェアエンジンは、複数のＤＭＡ書込み要求インターフェース３１１と、複数のＤＭＡ書込みデータバス３１２と、ハードウェアエンジンインターフェース３０１とを使用する。
【００４９】
ビデオデコーダＤＭＡコントローラ３００は、ハードウェアエンジンによって複数のＤＭＡ読取り事前要求インターフェース３０８を通じて発行されるＤＭＡ読取り事前要求を、ＤＭＡ発行ユニット３１３に登録する。その後、これらのＤＭＡ読取り事前要求を、図１におけるＤＭＡコントローラ１１１に、ＤＭＡコマンド／アドレスインターフェース３２０を通じてＤＭＡチャネル３０２を介して発行する。その後、外部メモリ１１０（図１）からの読取りデータを読取りデータバス３１５を通じて受け取り、データストレージ部３０５，３０６のうちの一方のデータストレージ部３０６に格納する。データストレージ部３０６の切り換え後、ハードウェアエンジンは、ハードウェアエンジンインターフェース３０１からのデータアクセスに割り当てられているデータストレージ部３０５の中のデータにアクセスするため、複数のＤＭＡ読取り要求インターフェース３０９を通じてＤＭＡ読取り要求を行う。
【００５０】
ハードウェアエンジンがＤＭＡ書込み要求インターフェースを通じてＤＭＡ書込み要求を行うと、ハードウェアエンジンからのＤＭＡ要求の調停器３１６がその要求を調停する。
【００５１】
ハードウェアエンジンからのＤＭＡ要求の調停器３１６は、ハードウェアエンジンからのＤＭＡ読取り要求又はＤＭＡ書込み要求がデータストレージ部３０５，３０６への読取りアクセス３１７又は書込みアクセス３１８に変換されるたびに、データストレージ部３０５，３０６への読取りアクセス及び書込みアクセスを調停する。
【００５２】
ハードウェアエンジンからのＤＭＡ書込み要求が、ハードウェアエンジンからのＤＭＡ要求の調停器３１６によって許可された後、ハードウェアエンジンは、対応するＤＭＡ書込みデータを複数のＤＭＡ書込みデータバス３１２に転送する。
【００５３】
次いで、処理されたＤＭＡ書込み要求をＤＭＡ書込み要求登録ユニット３１９が登録する。データストレージ部３０６が切り換わった時点で、ＤＭＡ書込み要求登録ユニット３１９は、登録されているすべての書込み要求をＤＭＡ発行ユニット３１３に送る。
【００５４】
ＤＭＡ発行ユニット３１３は、ＤＭＡ書込みコマンド及びメモリアドレスをＤＭＡコマンド／アドレスインターフェース３２０に発行する。その後、ＤＭＡチャネル３０２に割り当てられているデータストレージ部３０６からのデータを書込みデータバス３１４を介して送出する。
【００５５】
ハードウェアエンジンインターフェース３０１からデータストレージ手段へのデータアクセスは、すべてのハードウェアエンジンが、以前に発行したＤＭＡ読取り事前要求を通じて要求していたすべてのデータの読取りを完了し、すべてのハードウェアエンジンが特定の量のＤＭＡ書込みデータの書込みを完了した時点で、完了したものとする。ＤＭＡチャネル３０２からデータストレージ手段へのデータアクセスは、すべての書込みデータがＤＭＡコントローラ１１１に送出転送され、特定の数のＤＭＡ読取り事前要求が処理されてそれらの読取りデータがＤＭＡコントローラ１１１から入力転送された時点で、完了したものとする。
【００５６】
以上詳細に説明したように、本実施の形態によれば、ビデオ復号化装置１００は、外部メモリ１１０と、外部メモリ１１０へのＤＭＡアクセスを制御するＤＭＡコントローラ１１１と、外部メモリ１１０の使用をＤＭＡコントローラ１１１を通じて共有するピクセルの係数の復号化と再構築されたピクチャの外部メモリ１１０への書込みとを実行するハードウェアビデオデコーダ１１５と、圧縮されたビデオビットストリームの解析から得られるパラメータによってハードウェアビデオデコーダを制御するコアプロセッサ１１４とを備える。上記ハードウェアビデオデコーダ１１５を備えることで、ビデオの復号化におけるＤＭＡコントローラ１１１へのＤＭＡチャネルを１つ又は数個のみとすることができる。これにより、調停するチャネルの数が減少し、ＤＭＡコントローラ１１１の複雑さを低減することができる。
【００５７】
また、本実施の形態では、ハードウェアビデオデコーダ１１５は、外部メモリ１１０へのＤＭＡ読取りアクセスもしくはＤＭＡ書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるハードウェアエンジンのパイプライン２０１と、複数のハードウェアエンジンからのすべてのＤＭＡアクセスを、ＤＭＡコントローラ１１１への１つのＤＭＡチャネル又は複数のＤＭＡチャネルに調停するビデオデコーダＤＭＡコントローラ２００とを備える。さらに、ビデオデコーダＤＭＡコントローラ２００は、ＤＭＡ読み取りデータ及びＤＭＡ書き込むデータをバッファリングするための２つの同じデータストレージ部３０３，３０４を有することで、ＤＭＡアクセスとビデオ復号化とを同時に進行させることができる。これにより、共有されている外部メモリ１１０へのＤＭＡレイテンシが大きかったり変化しうる環境において、リアルタイムでビデオ復号化を達成することができる。
【００５８】
すなわち、ビデオデコーダＤＭＡコントローラ３００は、２つの同じデータストレージ部３０３，３０４を有することで、いかなるときにも、外部メモリ１１０から、及び外部メモリ１１０にデータを転送するために一方のデータストレージ部を割り当て、ハードウェアエンジンのパイプライン２０１から、及びハードウェアエンジンのパイプライン２０１にデータを転送するために他方のデータストレージ部を割り当てる。これにより、データがＤＭＡ送出される、又はデータがＤＭＡ入力されるのを待機することに起因してハードウェアエンジンの処理が停止することを防ぐことができ、高スループットの復号化が可能になる。これを達成するため、ハードウェアエンジンは、外部メモリ１１０からのデータをデータストレージ手段の一方にプリフェッチし、その後、それらのデータをハードウェアエンジンに読み出す必要がある。ハードウェアエンジンからＤＭＡ送出するデータは、他方のデータストレージ手段に書込み、その後、それらのデータを外部メモリ１１０に書き込む。これにより、ＤＭＡレイテンシが大きかったり変化しうる環境において、リアルタイムでのビデオ復号化が可能になる。
【００５９】
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
【００６０】
また、本実施の形態ではビデオ復号化装置という名称を用いたが、これは説明の便宜上であり、復号装置、デジタルビデオ復号化システム等であってもよいことは勿論である。
【００６１】
さらに、上記復号化装置を構成するコアプロセッサ、ハードウェアビデオデコーダ、動ホストプロセッサの種類、その数及び接続方法など、さらにはデータストレージ手段の構成例などは前述した実施の形態に限られない。
【産業上の利用可能性】
【００６２】
本発明に係る復号化装置は、高いスループットのビデオ復号化を実行する装置に好適である。また、ビデオ復号化と、電子システム内の複数のコンポーネントとが外部メモリの使用を共有し、ビデオ復号化を実行する電子システムに適用可能である。例えば、外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格（Ｈ．２６４／ＡＶＣ、ＳＭＰＴＥ  ＶＣ１、Ｃｈｉｎａ  ＡＶＳなど）においてリアルタイムでのビデオ復号化を達成することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施の形態に係る復号化装置の構成を示すブロック図
【図２】上記実施の形態に係る復号化装置のハードウェアビデオデコーダの構成を示すブロック図
【図３】上記実施の形態に係る復号化装置のビデオデコーダＤＭＡコントローラ、ハードウェアエンジンインターフェース及びＤＭＡチャネルの構成を示す図
【符号の説明】
【００６４】
１００  復号化装置
１１０  外部メモリ
１１１  ＤＭＡコントローラ
１１２  ホストプロセッサ
１１３  逆多重化プロセッサ
１１４  コアプロセッサ
１１５  ハードウェアビデオデコーダ
１１６  ディスプレイユニット
２０１  ハードウェアエンジンのパイプライン
２００，３００  ビデオデコーダＤＭＡコントローラ
２０２−１，２０２−２，…，２０２−Ｎ  ハードウェアエンジン
３０３〜３０６  データストレージ部
３０７  切換え制御ユニット
３１３  ＤＭＡ発行ユニット
３１６  ハードウェアエンジンからのＤＭＡ要求の調停器
３１９  ＤＭＡ書込み要求登録ユニット
【図１】
2009267837.tif 000003
【図２】
2009267837.tif 000004
【図３】
2009267837.tif 000005