JP2009267837A - 復号化装置 - Google Patents
復号化装置 Download PDFInfo
- Publication number
- JP2009267837A JP2009267837A JP2008116174A JP2008116174A JP2009267837A JP 2009267837 A JP2009267837 A JP 2009267837A JP 2008116174 A JP2008116174 A JP 2008116174A JP 2008116174 A JP2008116174 A JP 2008116174A JP 2009267837 A JP2009267837 A JP 2009267837A
- Authority
- JP
- Japan
- Prior art keywords
- dma
- hardware
- data
- request
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格においてリアルタイムでビデオ復号化を行うことができる復号化装置を提供すること。
【解決手段】ビデオ復号化装置100は、ピクセルの係数の復号化と再構築されたピクチャの外部メモリ110への書込みとを実行するハードウェアビデオデコーダ115を備える。また、ハードウェアビデオデコーダ115は、外部メモリ110へのDMA読取りアクセスもしくはDMA書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるハードウェアエンジンのパイプライン201と、複数のハードウェアエンジンからのすべてのDMAアクセスを、DMAコントローラ111への1つのDMAチャネル又は複数のDMAチャネルに調停するハードウェアビデオデコーダDMAコントローラ200とを備える。
【選択図】図2
【解決手段】ビデオ復号化装置100は、ピクセルの係数の復号化と再構築されたピクチャの外部メモリ110への書込みとを実行するハードウェアビデオデコーダ115を備える。また、ハードウェアビデオデコーダ115は、外部メモリ110へのDMA読取りアクセスもしくはDMA書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるハードウェアエンジンのパイプライン201と、複数のハードウェアエンジンからのすべてのDMAアクセスを、DMAコントローラ111への1つのDMAチャネル又は複数のDMAチャネルに調停するハードウェアビデオデコーダDMAコントローラ200とを備える。
【選択図】図2
Description
本発明は、高いスループットのビデオ復号化を実行する復号化装置に係り、詳細には、ビデオ復号化と、電子システム内の複数のコンポーネントとが外部メモリの使用を共有し、ビデオ復号化を実行する電子システムに適用可能な復号化装置に関する。
デジタルビデオ復号化システムは、通常、コアプロセッサと、ハードウェアビデオデコーダとから構成される。コアプロセッサは、エレメンタリビデオビットストリームをマクロブロックレベル又はそれ以上において、場合によってはハードウェアエンジンの支援下で解析する。コアプロセッサが、マクロブロックレベル以上としては、例えばシーケンスヘッダ、スライスヘッダ、ピクチャヘッダ、又はマクロブロックヘッダである場合がある。コアプロセッサは、ピクセルの係数(pixel coefficients)を復号化するハードウェアビデオデコーダを、得られた情報を使用して制御する。ハードウェアビデオデコーダは、通常、特定の復号化機能のみを実行するようにされている専用ハードウェアエンジンのパイプラインによって構築されている。そのような復号化機能の例としては、可変長復号化、逆量子化、逆変換、動き補償、イントラ予測(intra prediction)、デブロッキングフィルタが挙げられる。
これらのハードウェアエンジンのいくつかは、外部メモリを使用する必要がある。ビデオ復号化システムにおいては、ほとんどの場合、コストを低減するためこれらのエンジンは外部メモリを共有しなければならない。さらに、この外部メモリは、通常では、より大きな電子システムにおける他のコンポーネント(例えば、ホストプロセッサ、逆多重化プロセッサ、コアプロセッサ、ディスプレイユニット)とも共有される。ホストプロセッサは、電子システムを制御し、逆多重化プロセッサは、圧縮されたビットストリームをエレメンタリビデオ/音声ビットストリームに逆多重化し、ディスプレイユニットは、後処理を行い、復号化されたピクチャを出力する。
電子システムは、電子システム内のコンポーネントからのDMAアクセス要求を優先順位付けして調停するDMA(Direct Memory Access)コントローラを備えて構成される。DMAコントローラは、いかなるときにも、DMAアクセス要求のうちの1つのみにメモリアクセス権を許可する。電子システム内のコンポーネントは、DMAアクセスを要求するためと、要求が許可された後のその後のDMAトランザクションのため、DMAコントローラへの複数のDMAアクセスチャネルを持つことができる。
特許文献1には、ビデオ復号化システムの動作方法が記載されている。特許文献1に記載のビデオ復号化システムは、復号化システムのさまざまなモジュールとシステムメモリとの間を橋渡しするブリッジを備えている。このブリッジは、ビデオ復号化システム内の他のモジュールすべてを接続する相互接続ネットワークを提供する。さらに、このブリッジは、デコーダシステム内のメモリ(例えば、共有されるデコーダメモリ、個々のモジュール内のローカルメモリユニット)の処理を行うDMAエンジンを含んでいる。ブリッジモジュールは、非同期インターフェース機能を例示的に含んでおり、復号化システムとメインメモリバスとで異なるクロックレート(いずれかのクロック周波数が他方よりも高い)をサポートする。
特許文献1に記載のブリッジモジュールは、多数のモジュールに接続されている複雑な設計であり、これらのモジュールからの多数のDMAアクセスを調停しなければならない。新しい高度なビデオ規格によって符号化されている高解像度のピクチャの場合、リアルタイムでの復号化を保証することは難しい。このことは、特に、動作時の電子システムのダイナミクスに起因してDMAレイテンシが大きかったり変化しうる条件下であてはまる。
米国特許公開第2003/0185298号明細書
しかしながら、このような従来のビデオ復号化システムにあっては、それぞれが複数のDMAアクセスチャネルを有する、電子システム内のコンポーネントからのDMAアクセス要求を、DMAコントローラが優先順位付けして調停することは難しい。従来、DMAの調停は、ラウンドロビン方式や、各DMA要求に優先度を割り当てるなど、1つ又は複数に方式よって行われている。このような従来の方式では、増大しつつあるDMAアクセス需要と、電子システムの動作中に電子システム内のハードウェアエンジン及びそれ以外のコンポーネントからのDMAアクセス需要が変化することとに対応することができない。
さらに、求められる圧縮効率が高まっているため、高度なビデオ規格(H.264/AVC、SMPTE VC1、China AVSなど)の多くは、より多くの視覚ツールを使用しており、これらの視覚ツールのいくつかは、中間の復号化データを格納するため外部メモリの使用を必要とする。結果として、外部メモリへのDMAアクセスチャネルの数が増大し、これらのDMA要求を効率的に優先順位付けすることは、さらに難しくなる。DMAレイテンシが動作時の電子システムのダイナミクスに起因して大きかったり変化しうるときには、要求されるリアルタイムでの復号化のスループットを満たすことはますます難しい。
本発明は、上記に鑑みてなされたものであり、外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格においてリアルタイムでビデオ復号化を行うことができる復号化装置を提供することを目的とする。
また、本発明は、要求されるオンチップストレージの量を減少させることができ、コストを低減することができる復号化装置を提供することを別の目的とする。
本発明の復号化装置は、外部メモリと、前記外部メモリへのDMAアクセスを制御するDMAコントローラと、前記外部メモリの使用を前記DMAコントローラを通じて共有する複数のコンポーネントとを備えるビデオ復号化装置であって、前記複数のコンポーネントは、ピクセルの係数の復号化と、再構築されたピクチャの前記外部メモリへの書込みとを実行するハードウェアビデオデコーダと、圧縮されたビデオビットストリームの解析から得られるパラメータによって前記ハードウェアビデオデコーダを制御するコアプロセッサと、を備える構成を採る。
本発明によれば、ピクセルの係数の復号化と再構築されたピクチャの外部メモリへの書込みとを実行するハードウェアビデオデコーダを備えることにより、ビデオの復号化におけるDMAコントローラへのDMAチャネルを1つ又は数個のみとすることができる。これにより、調停するチャネルの数が減少し、DMAコントローラの複雑さを低減することができる。
また、複数のハードウェアエンジンからのすべてのDMAアクセスを、DMAコントローラへの1つのDMAチャネル又は複数のDMAチャネルに調停するビデオデコーダDMAコントローラを備えることにより、データがDMA送出される、又はデータがDMA入力されるのを待機することに起因してハードウェアエンジンの処理が停止することなく、高スループットの復号化が可能になる。
これにより、共有されている外部メモリへのDMAレイテンシが大きかったり変化しうる環境において、リアルタイムでのビデオ復号化を達成することが容易になる。
その結果、外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格(H.264/AVC、SMPTE VC1、China AVSなど)においてリアルタイムでのビデオ復号化を達成することができる。リアルタイムでのビデオ復号化のため、より多くの外部メモリを使用する環境において、要求されるオンチップストレージの量が減少し、コストを低減することができる。また、調停しなければならないDMAチャネルの数を減少させることによって、外部メモリのDMAコントローラの複雑さを低減させることができる。さらに、動作時の電子システムのダイナミクスに起因してDMAレイテンシが大きいことがありかつ変化する条件下で、リアルタイムの復号化を可能にすることができる。
以下、本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の一実施の形態に係るビデオ復号化装置の構成を示すブロック図である。本実施の形態は、ビデオ復号化と電子システム内の複数のコンポーネントとが外部メモリの使用を共有し、ビデオ復号化を実行する電子システムのうちビデオ復号化タスクを実行するビデオ復号化装置に適用した例である。
図1において、ビデオ復号化装置100は、外部メモリ110と、外部メモリ110へのDMAアクセスを制御するDMAコントローラ111と、外部メモリ110の使用をDMAコントローラ111を通じて共有する複数のコンポーネントとを備えて構成される。複数のコンポーネントは、ホストプロセッサ112、逆多重化プロセッサ113、コアプロセッサ114、ハードウェアビデオデコーダ115、及びディスプレイユニット116から構成される。
DMAコントローラ111とハードウェアビデオデコーダ115間は、DMAチャネル117で結ばれ、DMAコントローラ111とディスプレイユニット116間は、DMAチャネル118で結ばれる。また、外部メモリ110とDMAコントローラ111間は、メモリアクセス119で結ばれる。
DMAコントローラ111は、外部メモリ110へのメモリアクセスチャネルを制御し、いかなるときにも1つのコンポーネントが外部メモリ110へのメモリアクセス119を実行できるのみであるようにすることができる。DMAコントローラ111は、外部メモリ110へのメモリアクセス119を交替で実行するため、DMAアクセス要求を登録し、これらを優先順位付けしてスケジューリングする。
ホストプロセッサ112は、システム全体の制御を提供する。
逆多重化プロセッサ113は、圧縮されたビットストリームをエレメンタリビデオ/音声ビットストリームに逆多重化し、それらを外部メモリ110に格納する。
コアプロセッサ114は、圧縮されたビデオビットストリームの解析から得られるパラメータによってハードウェアビデオデコーダ115を制御する。コアプロセッサ114は、エレメンタリビデオストリームを解析し、ピクセルの係数を復号化するハードウェアビデオデコーダ115を、得られた情報を使用して制御する。
ハードウェアビデオデコーダ115は、ピクセルの係数の復号化と、再構築されたピクチャの外部メモリへの書込みとを実行する。ハードウェアビデオデコーダ115は、テクスチャ復号化(texture decoding)と、再構築されたピクチャを外部メモリ110に書き込むこととを主たるタスクとして実行するハードウェアエンジンのパイプライン201(図2で後述する)を備えている。再構築されたピクチャは、ディスプレイユニット116によって読み取られて表示される。
ディスプレイユニット116は、復号化されたピクチャを表示する。
上述したコンポーネント112〜116は、外部メモリ110にアクセスするための1つ以上のDMAチャネル118を必要とする。
ハードウェアビデオデコーダ115の内側には、外部メモリ110へのメモリアクセス119を必要とする複数のハードウェアエンジンが存在する。1つのみのDMAチャネル117を通じて外部メモリ110にアクセスするため、ハードウェアエンジンからのすべてのDMA要求をハードウェアビデオデコーダ115の内側で調停する。
これにより、ビデオ復号化の高いスループットを達成する専用の調停/DMA方式を、DMAコントローラ111とは無関係にハードウェアビデオデコーダ115の内側に実施することができる。また、DMAコントローラ111によって処理されるDMAチャネルの数も低減し、従って、DMAコントローラ111の複雑さが低減する。
図2は、ハードウェアビデオデコーダ115の構成を示すブロック図である。
図2において、ハードウェアビデオデコーダ115は、外部メモリ110へのDMA読取りアクセスもしくはDMA書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるビデオ復号化のハードウェアエンジンのパイプライン201と、複数のハードウェアエンジンからのすべてのDMAアクセスを、DMAコントローラ111への1つのDMAチャネル又は複数のDMAチャネルに調停するビデオデコーダDMAコントローラ200とを備えて構成される。ビデオデコーダDMAコントローラ200は、ハードウェアビデオデコーダの統合型DMAコントローラである。
ハードウェアエンジンのパイプライン201は、圧縮されたビデオストリーム201Aを処理する複数のハードウェアエンジン202−1,202−2,…,202−Nを備える。
複数のハードウェアエンジン202−1,202−2,…,202−Nは、DMA読取り事前要求を、対応する各DMA読取り要求に対して発行し、ビデオ復号化のため現在の一連のデータ(chuck of data)に対するDMA読取り要求を処理し、同時に、次の一連のデータに対するDMA読取り事前要求を発行するDMA読取事前要求発行手段を備える。具体的には、複数のハードウェアエンジン202−1,202−2,…,202−Nは、ビデオデコーダDMAコントローラ200へのDMA書込み要求インターフェース205,206を介してDMA書込み要求を発行する。書込みデータは、対応するDMA書込み要求が許可された後、DMA書込みデータバス207,208を通じて送られる。
複数のハードウェアエンジン202−1,202−2,…,202−Nは、ビデオデコーダDMAコントローラ200へのDMA読取り要求インターフェース211,212を介してDMA読取り要求を発行する。各ハードウェアエンジン202−1,202−2,…,202−Nは、各DMA読取り要求より前に、ビデオデコーダDMAコントローラ200への対応するDMA読取り事前要求インターフェース209,210を介してDMA読取り事前要求を行わなければならない。各ハードウェアエンジン202−1,202−2,…,202−Nは、このDMA読取り要求を、対応するDMA読取り事前要求が処理された後に行う。次いで、各ハードウェアエンジン202−1,202−2,…,202−Nは、DMA読取り要求アクセスが許可された後、DMA読取りデータバス213,214からデータを読み取る。
ビデオデコーダDMAコントローラ200は、圧縮されたビットストリーム201Aからの高いスループットのビデオ復号化を可能にする。ビデオデコーダDMAコントローラ200は、ハードウェアビデオデコーダ内のハードウェアエンジン201から、DMA書込み要求インターフェース205,206を介してDMA書込み要求を集めて処理し、DMA読取り事前要求インターフェース209,210を介してDMA読取り事前要求を集め、これらの要求をDMAチャネル215を通じてシリアル方式で送出する。DMA書込み要求に対応するデータは、DMA書込み要求をDMAチャネル215を通じて送る前に、各ハードウェアエンジン202−1,202−2,…,202−NからビデオデコーダDMAコントローラ200にすでに転送されていなければならない。
これにより、ビデオデコーダDMAコントローラ200は、図1におけるDMAコントローラ111の制御下で、DMAチャネル215を介しての書込みデータの送出転送及び読取りデータの入力転送を低レイテンシで行うことができる。
図3は、ビデオデコーダDMAコントローラ300、そのハードウェアエンジンインターフェース301、及びDMAチャネル302の構成を示す図である。図3に示すビデオデコーダDMAコントローラ300は、図2のビデオデコーダDMAコントローラ200に適用することができる。
図3において、ビデオデコーダDMAコントローラ300は、データストレージ部303,304、切換え制御ユニット307、DMA発行ユニット313、調停器316、及びDMA書込み要求登録ユニット319を備えて構成される。図3中、データストレージ部303,304は、ビデオデコーダDMAコントローラ300により割り当てられた場合、それぞれデータストレージ部305,306で示される。
データストレージ部303,304は、DMA読み取りデータ及びDMA書き込むデータをバッファリングするための2つの同じ(デュアル)データストレージ手段である。データストレージ部303,304は、DMAコントローラ111によるデータ転送と、ハードウェアエンジンのパイプライン201によるデータ転送との間で割り当てを動的に切り換えることができる。
切換え制御ユニット307は、DMAコントローラ111によるデータ転送と、ハードウェアエンジンのパイプライン201によるデータ転送との間で、2つのデータストレージ部303,304の使用を切り換える。具体的には、切換え制御ユニット307は、指定された数のDMA読取り事前要求が処理され、かつ、DMA発行ユニット313内のすべてのDMA書込み要求が、DMAコントローラ111によって処理され、指定された数のDMA書込み要求が処理され、かつ、ハードウェアエンジンのパイプライン201によるデータ転送に割り当てられているデータストレージ部303,304の中の読取りデータに対応するすべてのDMA読取り要求が処理されたとき、2つのデータストレージ部303,304の使用を切り換える。また、切換え制御ユニット307は、DMA読取りアクセスを要求しているハードウェアエンジンに対して1つのマクロブロックを処理するのに必要な読取りデータの量に基づいて、指定された数のDMA読取り事前要求の条件を決定してデータストレージ部303,304を切り換えるとともに、DMA書込みアクセスを要求しているハードウェアエンジンに対して1つのマクロブロックを処理した後の書込みデータの量に基づいて、指定された数のDMA書込み要求の条件を決定して、データストレージ部303,304を切り換える。
DMA発行ユニット313は、ハードウェアエンジン202−1,202−2,…,202−Nからの受理されたDMA読取り事前要求と、DMA書込み要求登録ユニット319から転送された登録されているDMA書込み要求とに対して、DMAコントローラ111へのDMA要求を発行する。
調停器316は、ハードウェアエンジンからのDMA要求の調停器である。調停器316は、ハードウェアエンジンのパイプラインに割り当てられているデータストレージ部303,304へのDMA読取り要求及びDMA書込み要求を調停する。
DMA書込み要求登録ユニット319は、DMA書込み要求を登録し、2つのデータストレージ部303,304が切り換わった時点で、登録されたDMA書込み要求をDMA発行ユニット313に転送する。
次に、ビデオデコーダDMAコントローラ300の動作について説明する。
ビデオデコーダDMAコントローラ300は、2つの同じデータストレージ部303,304が存在している。ビデオデコーダDMAコントローラ300は、いかなるときにも、ハードウェアエンジンインターフェース301からのデータアクセスには一方のデータストレージ部305を割り当て、DMAチャネル302からのデータアクセスには他方のデータストレージ部306を割り当てる。データストレージ部305,306は、ビデオデコーダDMAコントローラ300により割り当てられた2つのデータストレージ部303,304のうちの一方と他方である。
ビデオデコーダDMAコントローラ300は、ハードウェアエンジンインターフェース301からのデータアクセスが完了し、DMAチャネル302からのデータアクセスが完了した時点で、ハードウェアエンジンインターフェース301からのデータアクセスとDMAチャネル302からのデータアクセスとの間で、2つのデータストレージ部303,304を再割り当てする。
切り換え制御ユニット307は、ハードウェアエンジンインターフェース301からのデータアクセスとDMAチャネル302からのデータアクセスとの間でデータストレージ部303,304をいつ切り換えるかを制御する。
ハードウェアエンジンインターフェース301は、複数のDMA読取り事前要求インターフェース308、複数のDMA読取り要求インターフェース309、ハードウェアエンジンからの複数のDMA読取りデータバス310、複数のDMA書込み要求インターフェース311、及び複数のDMA書込みデータバス312を備える。
外部メモリ110(図1)への読取りアクセスを必要とするハードウェアエンジンは、複数のDMA読取り事前要求インターフェース308と、複数のDMA読取り要求インターフェース309と、複数のDMA読取りデータバス310と、ハードウェアエンジンインターフェース301とを使用する。外部メモリ110(図1)への書込みアクセスを必要とするハードウェアエンジンは、複数のDMA書込み要求インターフェース311と、複数のDMA書込みデータバス312と、ハードウェアエンジンインターフェース301とを使用する。
ビデオデコーダDMAコントローラ300は、ハードウェアエンジンによって複数のDMA読取り事前要求インターフェース308を通じて発行されるDMA読取り事前要求を、DMA発行ユニット313に登録する。その後、これらのDMA読取り事前要求を、図1におけるDMAコントローラ111に、DMAコマンド/アドレスインターフェース320を通じてDMAチャネル302を介して発行する。その後、外部メモリ110(図1)からの読取りデータを読取りデータバス315を通じて受け取り、データストレージ部305,306のうちの一方のデータストレージ部306に格納する。データストレージ部306の切り換え後、ハードウェアエンジンは、ハードウェアエンジンインターフェース301からのデータアクセスに割り当てられているデータストレージ部305の中のデータにアクセスするため、複数のDMA読取り要求インターフェース309を通じてDMA読取り要求を行う。
ハードウェアエンジンがDMA書込み要求インターフェースを通じてDMA書込み要求を行うと、ハードウェアエンジンからのDMA要求の調停器316がその要求を調停する。
ハードウェアエンジンからのDMA要求の調停器316は、ハードウェアエンジンからのDMA読取り要求又はDMA書込み要求がデータストレージ部305,306への読取りアクセス317又は書込みアクセス318に変換されるたびに、データストレージ部305,306への読取りアクセス及び書込みアクセスを調停する。
ハードウェアエンジンからのDMA書込み要求が、ハードウェアエンジンからのDMA要求の調停器316によって許可された後、ハードウェアエンジンは、対応するDMA書込みデータを複数のDMA書込みデータバス312に転送する。
次いで、処理されたDMA書込み要求をDMA書込み要求登録ユニット319が登録する。データストレージ部306が切り換わった時点で、DMA書込み要求登録ユニット319は、登録されているすべての書込み要求をDMA発行ユニット313に送る。
DMA発行ユニット313は、DMA書込みコマンド及びメモリアドレスをDMAコマンド/アドレスインターフェース320に発行する。その後、DMAチャネル302に割り当てられているデータストレージ部306からのデータを書込みデータバス314を介して送出する。
ハードウェアエンジンインターフェース301からデータストレージ手段へのデータアクセスは、すべてのハードウェアエンジンが、以前に発行したDMA読取り事前要求を通じて要求していたすべてのデータの読取りを完了し、すべてのハードウェアエンジンが特定の量のDMA書込みデータの書込みを完了した時点で、完了したものとする。DMAチャネル302からデータストレージ手段へのデータアクセスは、すべての書込みデータがDMAコントローラ111に送出転送され、特定の数のDMA読取り事前要求が処理されてそれらの読取りデータがDMAコントローラ111から入力転送された時点で、完了したものとする。
以上詳細に説明したように、本実施の形態によれば、ビデオ復号化装置100は、外部メモリ110と、外部メモリ110へのDMAアクセスを制御するDMAコントローラ111と、外部メモリ110の使用をDMAコントローラ111を通じて共有するピクセルの係数の復号化と再構築されたピクチャの外部メモリ110への書込みとを実行するハードウェアビデオデコーダ115と、圧縮されたビデオビットストリームの解析から得られるパラメータによってハードウェアビデオデコーダを制御するコアプロセッサ114とを備える。上記ハードウェアビデオデコーダ115を備えることで、ビデオの復号化におけるDMAコントローラ111へのDMAチャネルを1つ又は数個のみとすることができる。これにより、調停するチャネルの数が減少し、DMAコントローラ111の複雑さを低減することができる。
また、本実施の形態では、ハードウェアビデオデコーダ115は、外部メモリ110へのDMA読取りアクセスもしくはDMA書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンからなるハードウェアエンジンのパイプライン201と、複数のハードウェアエンジンからのすべてのDMAアクセスを、DMAコントローラ111への1つのDMAチャネル又は複数のDMAチャネルに調停するビデオデコーダDMAコントローラ200とを備える。さらに、ビデオデコーダDMAコントローラ200は、DMA読み取りデータ及びDMA書き込むデータをバッファリングするための2つの同じデータストレージ部303,304を有することで、DMAアクセスとビデオ復号化とを同時に進行させることができる。これにより、共有されている外部メモリ110へのDMAレイテンシが大きかったり変化しうる環境において、リアルタイムでビデオ復号化を達成することができる。
すなわち、ビデオデコーダDMAコントローラ300は、2つの同じデータストレージ部303,304を有することで、いかなるときにも、外部メモリ110から、及び外部メモリ110にデータを転送するために一方のデータストレージ部を割り当て、ハードウェアエンジンのパイプライン201から、及びハードウェアエンジンのパイプライン201にデータを転送するために他方のデータストレージ部を割り当てる。これにより、データがDMA送出される、又はデータがDMA入力されるのを待機することに起因してハードウェアエンジンの処理が停止することを防ぐことができ、高スループットの復号化が可能になる。これを達成するため、ハードウェアエンジンは、外部メモリ110からのデータをデータストレージ手段の一方にプリフェッチし、その後、それらのデータをハードウェアエンジンに読み出す必要がある。ハードウェアエンジンからDMA送出するデータは、他方のデータストレージ手段に書込み、その後、それらのデータを外部メモリ110に書き込む。これにより、DMAレイテンシが大きかったり変化しうる環境において、リアルタイムでのビデオ復号化が可能になる。
以上の説明は本発明の好適な実施の形態の例証であり、本発明の範囲はこれに限定されることはない。
また、本実施の形態ではビデオ復号化装置という名称を用いたが、これは説明の便宜上であり、復号装置、デジタルビデオ復号化システム等であってもよいことは勿論である。
さらに、上記復号化装置を構成するコアプロセッサ、ハードウェアビデオデコーダ、動ホストプロセッサの種類、その数及び接続方法など、さらにはデータストレージ手段の構成例などは前述した実施の形態に限られない。
本発明に係る復号化装置は、高いスループットのビデオ復号化を実行する装置に好適である。また、ビデオ復号化と、電子システム内の複数のコンポーネントとが外部メモリの使用を共有し、ビデオ復号化を実行する電子システムに適用可能である。例えば、外部メモリへの頻繁なアクセスを必要とする高度なビデオ規格(H.264/AVC、SMPTE VC1、China AVSなど)においてリアルタイムでのビデオ復号化を達成することができる。
100 復号化装置
110 外部メモリ
111 DMAコントローラ
112 ホストプロセッサ
113 逆多重化プロセッサ
114 コアプロセッサ
115 ハードウェアビデオデコーダ
116 ディスプレイユニット
201 ハードウェアエンジンのパイプライン
200,300 ビデオデコーダDMAコントローラ
202−1,202−2,…,202−N ハードウェアエンジン
303〜306 データストレージ部
307 切換え制御ユニット
313 DMA発行ユニット
316 ハードウェアエンジンからのDMA要求の調停器
319 DMA書込み要求登録ユニット
110 外部メモリ
111 DMAコントローラ
112 ホストプロセッサ
113 逆多重化プロセッサ
114 コアプロセッサ
115 ハードウェアビデオデコーダ
116 ディスプレイユニット
201 ハードウェアエンジンのパイプライン
200,300 ビデオデコーダDMAコントローラ
202−1,202−2,…,202−N ハードウェアエンジン
303〜306 データストレージ部
307 切換え制御ユニット
313 DMA発行ユニット
316 ハードウェアエンジンからのDMA要求の調停器
319 DMA書込み要求登録ユニット
Claims (6)
- 外部メモリと、前記外部メモリへのDMAアクセスを制御するDMAコントローラと、前記外部メモリの使用を前記DMAコントローラを通じて共有する複数のコンポーネントとを備える復号化装置であって、
前記複数のコンポーネントは、
ピクセルの係数の復号化と、再構築されたピクチャの前記外部メモリへの書込みとを実行するハードウェアビデオデコーダと、
圧縮されたビデオビットストリームの解析から得られるパラメータによって前記ハードウェアビデオデコーダを制御するコアプロセッサと、
を備える復号化装置。 - 前記複数のコンポーネントは、
ホストプロセッサ、圧縮されたビットストリームをエレメンタリビデオ/音声ビットストリームに逆多重化する逆多重化プロセッサ、及び/又は、復号化されたピクチャを表示するディスプレイユニットをさらに備える請求項1記載の復号化装置。 - 前記ハードウェアビデオデコーダは、
前記外部メモリへのDMA読取りアクセスもしくはDMA書込みアクセス、又はその両方を必要とする複数のハードウェアエンジンと、
前記複数のハードウェアエンジンからのすべてのDMAアクセスを、前記DMAコントローラへの1つのDMAチャネル又は複数のDMAチャネルに調停するビデオデコーダDMAコントローラとを備える請求項1記載の復号化装置。 - 前記ハードウェアエンジンは、
DMA読取り事前要求を、対応する各DMA読取り要求に対して発行し、
ビデオ復号化のため現在の一連のデータに対する前記DMA読取り要求を処理し、次の一連のデータに対するDMA読取り事前要求を発行するDMA読取事前要求発行手段を備える請求項3記載の復号化装置。 - 前記ハードウェアビデオデコーダの統合型DMAコントローラは、
DMA読み取りデータ及びDMA書き込むデータをバッファリングするとともに、前記DMAコントローラによるデータ転送と、前記ハードウェアエンジンのパイプラインによるデータ転送との間で割り当てを動的に切り換え可能な2つのデータストレージ手段と、
前記ハードウェアエンジンのパイプラインに割り当てられているデータストレージ手段へのDMA読取り要求及びDMA書込み要求を調停するハードウェアエンジンからのDMA要求の調停器と、
前記DMA書込み要求を登録し、前記2つのデータストレージ手段が切り換わった時点で、前記登録されたDMA書込み要求をDMA発行ユニットに転送するDMA書込み要求登録ユニットと、
前記ハードウェアエンジンからの受理されたDMA読取り事前要求と、前記DMA書込み要求登録ユニットから転送された登録されているDMA書込み要求とに対して、前記DMAコントローラへのDMA要求を発行するDMA発行ユニットと、
前記DMAコントローラによるデータ転送と、前記ハードウェアエンジンのパイプラインによるデータ転送との間で、前記2つのデータストレージ手段の使用を切り換える切換え制御ユニットとを備え、
前記切換え制御ユニットは、
指定された数のDMA読取り事前要求が処理され、かつ、前記DMA発行ユニット内のすべてのDMA書込み要求が、前記DMAコントローラによって処理され、
指定された数のDMA書込み要求が処理され、かつ、前記ハードウェアエンジンのパイプラインによるデータ転送に割り当てられている前記データストレージ手段の中の読取りデータに対応するすべてのDMA読取り要求が処理されたとき、前記2つのデータストレージ手段の使用を切り換える請求項3記載の復号化装置。 - 前記切換え制御ユニットは、
DMA読取りアクセスを要求しているハードウェアエンジンに対して1つのマクロブロックを処理するのに必要な読取りデータの量に基づいて、前記指定された数のDMA読取り事前要求の条件を決定して前記データストレージ手段を切り換えるとともに、
DMA書込みアクセスを要求しているハードウェアエンジンに対して1つのマクロブロックを処理した後の書込みデータの量に基づいて、前記指定された数のDMA書込み要求の条件を決定して、前記データストレージ手段を切り換える請求項5記載の復号化装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008116174A JP2009267837A (ja) | 2008-04-25 | 2008-04-25 | 復号化装置 |
PCT/JP2009/001783 WO2009130871A1 (ja) | 2008-04-25 | 2009-04-17 | 復号化装置 |
US12/937,155 US20110032997A1 (en) | 2008-04-25 | 2009-04-17 | Decoding device |
CN200980114011XA CN102017625A (zh) | 2008-04-25 | 2009-04-17 | 解码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008116174A JP2009267837A (ja) | 2008-04-25 | 2008-04-25 | 復号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009267837A true JP2009267837A (ja) | 2009-11-12 |
Family
ID=41216613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008116174A Pending JP2009267837A (ja) | 2008-04-25 | 2008-04-25 | 復号化装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110032997A1 (ja) |
JP (1) | JP2009267837A (ja) |
CN (1) | CN102017625A (ja) |
WO (1) | WO2009130871A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112010004549T5 (de) | 2009-11-25 | 2012-09-13 | Yazaki Corporation | Schalter |
JP2013005452A (ja) * | 2011-06-20 | 2013-01-07 | Intel Corp | マルチフォーマットビデオ処理のためのコンフィギュレーションバッファ割当 |
JP2013029900A (ja) * | 2011-07-27 | 2013-02-07 | Shuichi Takada | Dma制御装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5485055B2 (ja) * | 2010-07-16 | 2014-05-07 | パナソニック株式会社 | 共有メモリシステム及びその制御方法 |
US8854759B2 (en) * | 2012-04-24 | 2014-10-07 | International Business Machines Corporation | Combined soft detection/soft decoding in tape drive storage channels |
CN102752571A (zh) * | 2012-05-30 | 2012-10-24 | 曙光信息产业股份有限公司 | 一种高清晰视频装置及其实现方法 |
CN102833541B (zh) * | 2012-08-03 | 2015-04-15 | 东莞中山大学研究院 | 用于mpeg-2视频解码的sdram控制*** |
CN103678199B (zh) * | 2012-09-26 | 2017-05-10 | 深圳市中兴微电子技术有限公司 | 一种传输数据的方法和设备 |
CN104349120A (zh) * | 2013-07-26 | 2015-02-11 | 北京计算机技术及应用研究所 | 一种音视频解码***及解码方法 |
CN103596013B (zh) * | 2013-11-19 | 2017-02-15 | 上海高清数字科技产业有限公司 | 新型解码器及解码方法 |
JP6403430B2 (ja) * | 2014-05-23 | 2018-10-10 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
US11334288B2 (en) * | 2016-09-27 | 2022-05-17 | Integrated Silicon Solution, (Cayman) Inc. | MRAM access coordination systems and methods with a plurality of pipelines |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11252549A (ja) * | 1998-02-27 | 1999-09-17 | Toshiba Corp | 画像符号化/復号化装置 |
US6636222B1 (en) * | 1999-11-09 | 2003-10-21 | Broadcom Corporation | Video and graphics system with an MPEG video decoder for concurrent multi-row decoding |
US20030167348A1 (en) * | 2001-07-02 | 2003-09-04 | Globespanvirata, Inc. | Communications system using rings architecture |
US6775717B1 (en) * | 2001-08-31 | 2004-08-10 | Integrated Device Technology, Inc. | Method and apparatus for reducing latency due to set up time between DMA transfers |
KR100418437B1 (ko) * | 2001-12-24 | 2004-02-14 | (주)씨앤에스 테크놀로지 | 멀티미디어 신호처리를 위한 영상복원 프로세서 |
-
2008
- 2008-04-25 JP JP2008116174A patent/JP2009267837A/ja active Pending
-
2009
- 2009-04-17 CN CN200980114011XA patent/CN102017625A/zh active Pending
- 2009-04-17 US US12/937,155 patent/US20110032997A1/en not_active Abandoned
- 2009-04-17 WO PCT/JP2009/001783 patent/WO2009130871A1/ja active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112010004549T5 (de) | 2009-11-25 | 2012-09-13 | Yazaki Corporation | Schalter |
JP2013005452A (ja) * | 2011-06-20 | 2013-01-07 | Intel Corp | マルチフォーマットビデオ処理のためのコンフィギュレーションバッファ割当 |
US9037761B2 (en) | 2011-06-20 | 2015-05-19 | Intel Corporation | Configurable buffer allocation for multi-format video processing |
JP2013029900A (ja) * | 2011-07-27 | 2013-02-07 | Shuichi Takada | Dma制御装置 |
Also Published As
Publication number | Publication date |
---|---|
US20110032997A1 (en) | 2011-02-10 |
WO2009130871A1 (ja) | 2009-10-29 |
CN102017625A (zh) | 2011-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009130871A1 (ja) | 復号化装置 | |
US5812789A (en) | Video and/or audio decompression and/or compression device that shares a memory interface | |
US6058459A (en) | Video/audio decompression/compression device including an arbiter and method for accessing a shared memory | |
WO2009133671A1 (ja) | ビデオ符号化・復号化装置 | |
JP4210303B2 (ja) | デジタル・カメラにおけるメモリ・アクセス帯域幅割付けおよびレイテンシ制御 | |
US9798551B2 (en) | Scalable compute fabric | |
US8731044B2 (en) | Moving-picture processing apparatus | |
US7263587B1 (en) | Unified memory controller | |
US6606691B2 (en) | System integrating agents having different resource-accessing schemes | |
US10877811B1 (en) | Scheduler for vector processing operator allocation | |
US20040047194A1 (en) | Memory access engine having multi-level command structure | |
KR20070082835A (ko) | 직접 메모리 액세스 제어장치 및 방법 | |
JP2007526711A (ja) | ビデオ処理回路およびビデオ処理方法 | |
KR20020042171A (ko) | 메모리 중재 방법 및 시스템 | |
US9547330B2 (en) | Processor and control method for processor | |
EP0772159A1 (en) | Memory sharing in a MPEG decoder | |
US9372817B2 (en) | High perfomance DMA controller for video processors | |
JPH03205985A (ja) | マルチプロセッサ型動画像符号化装置及びバス制御方法 | |
JP5379223B2 (ja) | 情報処理装置 | |
US7729591B2 (en) | Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium | |
EP1729219A2 (en) | Pixel fetch request interface | |
TWI603616B (zh) | 晶片內/晶片外記憶體管理 | |
JP2004326228A (ja) | 並列演算処理装置 | |
US20170272756A1 (en) | Method of managing network bandwidth by control of image compression rate and frame generation and image transmission system using the same | |
CN1220377C (zh) | 借助多个处理器对数据进行处理的设备 |