JP2011097371A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2011097371A JP2011097371A JP2009249462A JP2009249462A JP2011097371A JP 2011097371 A JP2011097371 A JP 2011097371A JP 2009249462 A JP2009249462 A JP 2009249462A JP 2009249462 A JP2009249462 A JP 2009249462A JP 2011097371 A JP2011097371 A JP 2011097371A
- Authority
- JP
- Japan
- Prior art keywords
- data
- alpha
- compression
- alpha data
- encoded
- 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.)
- Withdrawn
Links
- 238000002156 mixing Methods 0.000 claims abstract description 16
- 230000006835 compression Effects 0.000 abstract description 36
- 238000007906 compression Methods 0.000 abstract description 36
- 239000000872 buffer Substances 0.000 description 63
- 238000000034 method Methods 0.000 description 15
- 239000011159 matrix material Substances 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 102220483064 Metabotropic glutamate receptor 8_F21C_mutation Human genes 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】圧縮符号化画像データおよび圧縮符号化アルファデータの復号化からその復号結果を用いたアルファブレンディングまでの処理を高速化する。
【解決手段】動画デコーダ25は、圧縮符号化画像データを復号化し、その復号結果を外部メモリI/F27に供給する。アルファデータデコーダ26は、圧縮符号化アルファデータを復号化し、この復号化により得たアルファデータが4ビットと異なる分解能のアルファデータである場合には、そのアルファデータを4ビットの分解能のアルファデータに変換して外部メモリI/F27に供給する。外部メモリI/F27は、動画デコーダ25およびアルファデータデコーダ26の各々から供給される復号結果をバスI/F21Cを介して外部メモリモジュール102に転送する。
【選択図】図1
【解決手段】動画デコーダ25は、圧縮符号化画像データを復号化し、その復号結果を外部メモリI/F27に供給する。アルファデータデコーダ26は、圧縮符号化アルファデータを復号化し、この復号化により得たアルファデータが4ビットと異なる分解能のアルファデータである場合には、そのアルファデータを4ビットの分解能のアルファデータに変換して外部メモリI/F27に供給する。外部メモリI/F27は、動画デコーダ25およびアルファデータデコーダ26の各々から供給される復号結果をバスI/F21Cを介して外部メモリモジュール102に転送する。
【選択図】図1
Description
この発明は、動画の圧縮符号化画像データおよび圧縮符号化アルファデータを復号化する技術に関する。
動画再生装置のなかには、MPEG(Moving
Picture Expert Group)などの圧縮アルゴリズムにより圧縮符号化された圧縮符号化画像データを復号化する画像処理装置や、画像処理装置による復号結果を用いて画像を描画する描画装置などの複数種類の回路から構成されているものがある。この動画再生装置内の描画装置による画像の描画に関連した技術として、アルファブレンディングがある。このアルファブレンディングは、描画対象である画像(以下、ソース画像という。)の各画素のカラー値(例えば、R、G、Bの各成分の輝度)と各画素の透明度を示すアルファデータと、ソース画像の背景となる画像(以下、ディスティネーション画像という。)の各画素のカラー値とに基づき、ソース画像を重ねた後のディスティネーション画像の各画素のカラー値を演算する技術である。さらに詳述すると、このアルファブレンディングでは、図7に示すように、ソース画像を構成する1つの画素(以下、ソース画素という。)のカラー値がSC、ソース画素のアルファデータがα、ディスティネーション画像におけるソース画素と同じ位置の画素(以下、ディスティネーション画素という。)のカラー値がD、である場合、次式に示すカラー値D’を算出し、ソース画素をディスティネーション画素に重ねた後のカラー値とする。
D’=α・SC+(1−α)・D ……(1)
これにより、ソース画像を重ねたディスティネーション画像がそのソース画像越しに透けて見える状態を演出することができる。このアルファブレンディングに関する技術を開示した文献として、例えば、特許文献1がある。
Picture Expert Group)などの圧縮アルゴリズムにより圧縮符号化された圧縮符号化画像データを復号化する画像処理装置や、画像処理装置による復号結果を用いて画像を描画する描画装置などの複数種類の回路から構成されているものがある。この動画再生装置内の描画装置による画像の描画に関連した技術として、アルファブレンディングがある。このアルファブレンディングは、描画対象である画像(以下、ソース画像という。)の各画素のカラー値(例えば、R、G、Bの各成分の輝度)と各画素の透明度を示すアルファデータと、ソース画像の背景となる画像(以下、ディスティネーション画像という。)の各画素のカラー値とに基づき、ソース画像を重ねた後のディスティネーション画像の各画素のカラー値を演算する技術である。さらに詳述すると、このアルファブレンディングでは、図7に示すように、ソース画像を構成する1つの画素(以下、ソース画素という。)のカラー値がSC、ソース画素のアルファデータがα、ディスティネーション画像におけるソース画素と同じ位置の画素(以下、ディスティネーション画素という。)のカラー値がD、である場合、次式に示すカラー値D’を算出し、ソース画素をディスティネーション画素に重ねた後のカラー値とする。
D’=α・SC+(1−α)・D ……(1)
これにより、ソース画像を重ねたディスティネーション画像がそのソース画像越しに透けて見える状態を演出することができる。このアルファブレンディングに関する技術を開示した文献として、例えば、特許文献1がある。
この種の動画再生装置では、動画の各フレームの画像データを圧縮符号化した圧縮符号化画像データと様々な分解能のアルファデータを圧縮符号化した複数種類の圧縮符号化アルファデータとをパターンROM内に準備し、圧縮符号化画像データと複数の種類の中から選択した圧縮符号化アルファデータをフレーム一枚分ずつ復号化し、その2種類の復号結果を用いてフレーム1枚分のアルファブレンディングを行う場合がある。しかしながら、この場合、動画再生装置内の描画装置は、画像処理装置から画像データとともに引き渡されるアルファデータが何ビットの分解能のものであるかを示す通知を受け取らなければそのアルファデータを用いたアルファブレンディングを行うことができない。このため、画像処理装置は、圧縮符号化画像データの復号結果を描画装置に引き渡す度にその復号結果が何ビットの分解能のアルファデータであるかを通知する、という煩雑な処理を行わざるを得ず、このことが処理の高速化の障害の1つになっていた。
本発明は、このような背景の下に案出されたものであり、圧縮符号化画像データおよび圧縮符号化アルファデータの復号化からその復号結果を用いたアルファブレンディングまでの処理を高速化することを目的とする。
本発明は、画像を圧縮符号化した圧縮符号化画像データを復号化する動画デコーダと、画像のアルファブレンディングに用いるアルファデータを圧縮符号化した圧縮符号化アルファデータを復号化するアルファデータデコーダと、前記動画デコーダの復号結果である画像データと前記アルファデータデコーダの復号結果であるアルファデータとをマージして出力するインターフェースとを具備し、前記アルファデータデコーダは、前記圧縮符号化アルファデータの復号化に先立って、前記圧縮符号化アルファデータの圧縮符号化対象であった元のアルファデータの分解能を示す属性情報を取得し、この属性情報が示す分解能と予め定められた分解能とが異なる場合に、前記圧縮符号化アルファデータを復号化して得られたアルファデータを前記予め定められた分解能のアルファデータに変換して前記インターフェースに供給することを特徴とする画像処理装置を提供する。
この画像処理装置は、圧縮符号化画像データおよび圧縮符号化アルファデータを記憶しているパターンROMやそれらの復号結果を用いたアルファブレンディングを行う描画装置とともに動画再生装置を構成する。この画像処理装置によると、復号対象の圧縮符号化アルファデータが予め定められた分解能と異なる分解能のアルファデータを圧縮符号化したものである場合に、予め定められた分解能のアルファデータがその圧縮符号化アルファデータの復号結果として描画装置に引き渡される。よって、画像処理装置は、圧縮符号化アルファデータの復号結果を描画装置に引き渡す度にその復号結果が何ビットの分解能であるかまでを同装置に通知する必要がなくなる。従って、圧縮符号化画像データおよび圧縮符号化アルファデータの復号化からその復号結果を用いたアルファブレンディングまでの処理をより高速化できる。
以下、図面を参照し、この発明の実施の形態を説明する。
図1は、この発明の一実施形態である画像処理装置100を含む動画再生装置1の構成を示すブロック図である。画像処理装置100は、ホストCPU103からのコマンドをバス101Aを介して受け取り、このコマンドに従って、バス101Bに接続されたパターンROM104から動画の圧縮符号化画像データおよび圧縮符号化アルファデータを受け取って復号化を行い、復号結果である動画の画像データおよびアルファデータをバス101Cに接続された外部メモリモジュール102を介して描画装置105に引き渡す。
図1は、この発明の一実施形態である画像処理装置100を含む動画再生装置1の構成を示すブロック図である。画像処理装置100は、ホストCPU103からのコマンドをバス101Aを介して受け取り、このコマンドに従って、バス101Bに接続されたパターンROM104から動画の圧縮符号化画像データおよび圧縮符号化アルファデータを受け取って復号化を行い、復号結果である動画の画像データおよびアルファデータをバス101Cに接続された外部メモリモジュール102を介して描画装置105に引き渡す。
ここで、バス101Bに接続されたパターンROM104には、複数種類の動画の圧縮符号化画像データ、およびそれらの圧縮符号化画像データと組み合わせて利用される複数種類の圧縮符号化アルファデータが各々の属性情報とともに記憶されている。パターンROM104内における各種圧縮符号化画像データは、動画の各フレームの画像を16×16画素のマクロブロックに分割し、分割したマクロブロックの各々に非可逆圧縮符号化処理(より具体的には、DCT(Discrete Cosine Transform)、フレーム間予測符号化処理、ハフマン符号化などの処理)を施して得られたデータである。
また、パターンROM104内における各種圧縮符号化アルファデータは、各フレームの画像における各画素の透明度を表したアルファデータのマトリックスをマクロブロック(16×16)に分割し、分割したマクロブロックの各々に可逆圧縮符号化処理(より具体的には、DPCM(Differential Pulse Code Modulation)やハフマン符号化などの処理)を施して得られたデータである。パターンROM104内における圧縮符号化アルファデータには、各画素の透明度を1ビットの分解能(2階調)で表したアルファデータを圧縮符号化したものと、各画素の透明度を2ビットの分解能(4階調)で表したアルファデータを圧縮符号化したものと、各画素の透明度を3ビットの分解能(8階調)で表したアルファデータを圧縮符号化したものと、各画素の透明度を4ビットの分解能(16階調)で表したアルファデータを圧縮符号化したものの4種類がある。パターンROM104内におけるこれら4種類の圧縮符号化アルファデータの各々の属性情報には、圧縮符号化対象であった元のアルファデータの分解能が、1ビット、2ビット、3ビット、4ビットのいずれであるかが記述されている。
図1において、バスI/F(インターフェース)21A、21Bおよび21Cは、各々バス101A、101Bおよび101Cを介したデータの授受の仲介をするインターフェースである。ホストI/F22は、バス101Aに接続されたホストCPU103が出力する各種コマンドをバスI/F21Aを介して受信して内蔵のコマンドバッファ22Aに格納し、格納したコマンドを画像処理装置100内の関係する各部に供給するインターフェースである。レジスタ群23は、画像処理装置100内の各部の制御のための制御情報あるいは各部間で授受されるデータを記憶するためのレジスタの集合体である。パターンROM I/F24は、各々FIFO(First-In First-Out;先入れ先出し)バッファであるバッファ24Aおよび24Bを内蔵している。このパターンROM I/F24は、バス101Bに接続されたパターンROM104内の圧縮符号化画像データをバスI/F21Bを介して受け取ってバッファ24Aに蓄積し、蓄積した圧縮符号化画像データを古いものから順に動画デコーダ25に供給する。また、パターンROM I/F24は、バス101Bに接続されたパターンROM104内の圧縮符号化アルファデータをバスI/F21Bを介して受け取ってバッファ24Bに蓄積し、蓄積した圧縮符号化アルファデータを古いものから順にアルファデータデコーダ26に供給する。
動画デコーダ25は、パターンROM I/F24から供給される圧縮符号化画像データを1マクロブロック分ずつ復号化する装置である。アルファデータデコーダ26は、パターンROM I/F24から供給される圧縮符号化アルファデータを1マクロブロック分ずつ復号化する装置である。
キャッシュ制御部12は、動画デコーダ25による復号化において再利用される復号化済みの画像データを外部メモリモジュール102から取得してキャッシュメモリ11に記憶し、動画デコーダ25の要求に応じてその復号化済みの画像データをキャッシュメモリ11から取り出して動画デコーダ25に供給する。
外部メモリI/F27は、動画デコーダ25から復号結果として出力される画像データを格納する画像データバッファである2つのバッファ27A1および27A2と、アルファデータデコーダ26から復号結果として出力されるアルファデータを格納するアルファデータバッファである2つのバッファ27B1および27B2とを内蔵している。外部メモリI/F27は、バッファ27A1および27A2を交互に利用しつつ、動画デコーダ25から出力される画像データをバッファ27A1および27A2に蓄積し、蓄積した画像データをバスI/F21Cを介して外部メモリモジュール102に転送する。また、外部メモリI/F27は、バッファ27B1および27B2を交互に利用しつつ、アルファデータデコーダ26から出力されるアルファデータをバッファ27B1および27B2に蓄積し、蓄積したアルファデータをバスI/F21Cを介して外部メモリモジュール102に転送する。
当該画像処理装置100および外部メモリモジュール102とともにバス101Cに接続されている描画装置105は、外部メモリモジュール102に記憶された動画の画像データおよびアルファデータを読み出し、図示しない表示装置の表示内容に反映させる描画処理を実行する。その際、描画装置105は、外部メモリモジュール102から読み出したアルファデータを用いて、表示内容において動画の背景画像となる画像と、動画を構成する1フレーム分の画像(外部メモリモジュール102から読み出した画像データ)とのアルファブレンディングを行う。
以上が本実施形態による画像処理装置100の構成の概略であるが、この画像処理装置100の特徴は、次の点にある。
<特徴1>復号対象の圧縮符号化アルファデータが予め設定された分解能である4ビットと異なる分解能のアルファデータを圧縮符号化したものである場合、圧縮符号化アルファデータを復号化して得られたアルファデータに代えてそのアルファデータを4ビットの分解能のアルファデータに変換したものを復号結果とする点。
<特徴2>圧縮符号化画像データの復号結果である画像データおよび圧縮符号化アルファデータの復号結果であるアルファデータを所定画素数分の画像データおよびアルファデータ毎にマージして外部メモリモジュール102に転送する点。
<特徴1>復号対象の圧縮符号化アルファデータが予め設定された分解能である4ビットと異なる分解能のアルファデータを圧縮符号化したものである場合、圧縮符号化アルファデータを復号化して得られたアルファデータに代えてそのアルファデータを4ビットの分解能のアルファデータに変換したものを復号結果とする点。
<特徴2>圧縮符号化画像データの復号結果である画像データおよび圧縮符号化アルファデータの復号結果であるアルファデータを所定画素数分の画像データおよびアルファデータ毎にマージして外部メモリモジュール102に転送する点。
以下、このような特徴を可能にするための仕組みについて説明する。本実施形態において、ホストCPU103は、復号対象とされた圧縮符号化画像データおよび圧縮符号化アルファデータや各々の属性情報の格納開始アドレス等をレジスタ群23の中の所定のレジスタに制御情報として書き込んだ後、圧縮符号化画像データおよび圧縮符号化アルファデータの両方の復号化の実行を指示する復号実行コマンド、圧縮符号化画像データの復号化の実行のみを指示する復号実行コマンド、および圧縮符号化アルファデータの復号化の実行のみを指示する復号実行コマンドの3種類のコマンドのうちいずれかをホストI/F22内のコマンドバッファ22Aに書き込む。
より具体的には、ホストCPU103は、図2に示すように、復号実行コマンドをなす全ビットのうちの2ビットを復号対象制御ビットとし、圧縮符号化画像データおよび圧縮符号化アルファデータの両方の復号化の実行を指示する場合は、復号対象制御ビットを「00」または「01」とした復号実行コマンドをコマンドバッファ22Aに書き込む。また、圧縮符号化画像データの復号化の実行のみを指示する場合は、復号対象制御ビットを「10」とした復号実行コマンドをコマンドバッファ22Aに書き込み、圧縮符号化アルファデータの復号化の実行のみを指示する場合は、復号対象制御ビットを「11」とした復号実行コマンドをコマンドバッファ22Aに書き込む。復号実行コマンドがコマンドバッファ22Aに書き込まれると、動画デコーダ25、アルファデータデコーダ26、外部メモリI/F27、およびバスI/F21Cが次のように連携をとりながら動作する。
a1.圧縮符号化画像データおよび圧縮符号化アルファデータの両方の復号化の実行を指示する復号実行コマンドがコマンドバッファ22Aに書き込まれた場合
この場合、図3(A)に示すように、圧縮符号化画像データおよび圧縮符号化アルファデータを復号化して1マクロブロック(16×16画素)分のYUV色空間の画像データおよびアルファデータのマトリクスを生成し、その画像データおよびアルファデータのマトリクスの各々を水平方向と垂直方向に8等分して2×2画素分ずつの8×8個のブロックに分割する。そして、図3(B)に示すように、8×8個のブロックの各々について、各画素のカラー値(より具体的には、Y値(輝度)、U値(色差)、およびV値(色差)の3種類のカラー値)とアルファデータとをマージした64ビットのデータを復号結果として外部メモリモジュール102へ転送する。64ビットのデータは次のデータから構成される。
この場合、図3(A)に示すように、圧縮符号化画像データおよび圧縮符号化アルファデータを復号化して1マクロブロック(16×16画素)分のYUV色空間の画像データおよびアルファデータのマトリクスを生成し、その画像データおよびアルファデータのマトリクスの各々を水平方向と垂直方向に8等分して2×2画素分ずつの8×8個のブロックに分割する。そして、図3(B)に示すように、8×8個のブロックの各々について、各画素のカラー値(より具体的には、Y値(輝度)、U値(色差)、およびV値(色差)の3種類のカラー値)とアルファデータとをマージした64ビットのデータを復号結果として外部メモリモジュール102へ転送する。64ビットのデータは次のデータから構成される。
データV3210
これは、ブロックにおける4つの画素の各々のV値の代表値(例えば、4つの画素の各々のV値の平均値)を8ビットのビット列として示したデータである。
データY3
これは、ブロックにおける右下の画素のY値を8ビットのビット列として示したデータである。
データY2
これは、ブロックにおける右上の画素のY値を8ビットのビット列として示したデータである。
データα3
これは、ブロックにおける右下の画素の透明度を4ビットのビット列として示したデータである。
データα2
これは、ブロックにおける右上の画素の透明度を4ビットのビット列として示したデータである。
データU3210
これは、ブロックにおける4つの画素の各々のU値の代表値(例えば、4つの画素の各々のU値の平均値)を8ビットのビット列として示したデータである。
データY1
これは、ブロックにおける左下の画素のY値を8ビットのビット列として示したデータである。
データY0
これは、ブロックにおける左上の画素のY値を8ビットのビット列として示したデータである。
データα1
これは、ブロックにおける左下の画素の透明度を4ビットのビット列として示したデータである。
データα0
これは、ブロックにおける左上の画素の透明度を4ビットのビット列として示したデータである。
これは、ブロックにおける4つの画素の各々のV値の代表値(例えば、4つの画素の各々のV値の平均値)を8ビットのビット列として示したデータである。
データY3
これは、ブロックにおける右下の画素のY値を8ビットのビット列として示したデータである。
データY2
これは、ブロックにおける右上の画素のY値を8ビットのビット列として示したデータである。
データα3
これは、ブロックにおける右下の画素の透明度を4ビットのビット列として示したデータである。
データα2
これは、ブロックにおける右上の画素の透明度を4ビットのビット列として示したデータである。
データU3210
これは、ブロックにおける4つの画素の各々のU値の代表値(例えば、4つの画素の各々のU値の平均値)を8ビットのビット列として示したデータである。
データY1
これは、ブロックにおける左下の画素のY値を8ビットのビット列として示したデータである。
データY0
これは、ブロックにおける左上の画素のY値を8ビットのビット列として示したデータである。
データα1
これは、ブロックにおける左下の画素の透明度を4ビットのビット列として示したデータである。
データα0
これは、ブロックにおける左上の画素の透明度を4ビットのビット列として示したデータである。
図4は、この場合における、動画デコーダ25、アルファデータデコーダ26、外部メモリI/F27、およびバスI/F21Cの動作を示す図である。
動画デコーダ25は、復号実行コマンドがコマンドバッファ22Aに書き込まれると、レジスタ群23の中のレジスタに制御情報として書き込まれている格納開始アドレスを参照し、この格納開始アドレスを含むデータ要求をパターンROM I/F24を介してパターンROM104に送る。データ要求を受け取ったパターンROM104は、そのデータ要求に従い、属性情報を同ROM104から読み出して出力した後、フレーム1,フレーム2…の圧縮符号化画像データおよび圧縮符号化アルファデータを順に読み出して出力する。パターンROM104から出力された圧縮符号化画像データおよび圧縮符号化アルファデータは、パターンROM I/F24のバッファ24Aおよび24Bを介して動画デコーダ25およびアルファデータデコーダ26に供給される。
動画デコーダ25は、復号実行コマンドがコマンドバッファ22Aに書き込まれると、レジスタ群23の中のレジスタに制御情報として書き込まれている格納開始アドレスを参照し、この格納開始アドレスを含むデータ要求をパターンROM I/F24を介してパターンROM104に送る。データ要求を受け取ったパターンROM104は、そのデータ要求に従い、属性情報を同ROM104から読み出して出力した後、フレーム1,フレーム2…の圧縮符号化画像データおよび圧縮符号化アルファデータを順に読み出して出力する。パターンROM104から出力された圧縮符号化画像データおよび圧縮符号化アルファデータは、パターンROM I/F24のバッファ24Aおよび24Bを介して動画デコーダ25およびアルファデータデコーダ26に供給される。
動画デコーダ25は、圧縮符号化画像データに所定の復号化処理を施して1マクロブロック分の画像データを生成し、その1マクロブロック分の画像データを8×8ブロックに分割する。そして、動画デコーダ25は、この8×8ブロックを1ブロックずつ走査し、各ブロックからデータV3210,Y3,Y2,U3210,Y1,およびY0を順に取り出して外部メモリI/F27へ供給する。
また、アルファデータデコーダ26は、パターンROM104による圧縮符号化アルファデータの出力の開始に先立って同ROM104から出力された属性情報を取得し、同ROM104から以降に供給される圧縮符号化アルファデータの圧縮符号化対象であった元のアルファデータの分解能を求める。そして、パターンROM104からパターンROM I/F24を介して圧縮符号化アルファデータが供給され始めると、次のような処理を行う。
アルファデータデコーダ26は、圧縮符号化アルファデータに所定の復号化処理を施して1マクロブロック分のアルファデータのマトリクス(16×16個のアルファデータのマトリクス)を生成する。そして、アルファデータデコーダ26は、属性情報により求めておいた分解能が4ビットであった場合には、復号化処理によって得た1マクロブロック分の各アルファデータをそのまま8×8ブロックに分割し、属性情報により求めておいた分解能が4ビットと異なるものであった場合には、復号化処理によって得た1マクロブロック分の各アルファデータ(1ビット、2ビット、または3ビットの分解能のアルファデータ)を4ビットの分解能のアルファデータに変換してから8×8ブロックに分割する。
1ビット、2ビット、および3ビットの分解能のアルファデータから4ビットの分解能のアルファデータへの変換は、1ビットの分解能における最小値(0)と最大値(1)の2階調分のビット列と、2ビットの分解能における最小値(00)から最大値(11)までの間の4階調分のビット列と、3ビットの分解能における最小値(000)から最大値(111)までの間の8階調分のビット列と、4ビットの分解能における最小値(0000)から最大値(1111)までの間の16階調分のビット列とを対応付けた変換テーブルを参照して行う。図5は、変換テーブルの一例を示す図である。
アルファデータデコーダ26は、1マクロブロック分の各アルファデータを8×8ブロックに分割した後、その8×8ブロックを1ブロックずつ走査し、各ブロックからデータα3,α2,α1,α0を2つずつ(より具体的には、データα3およびα2の組(合計8ビット)とデータα1およびα0の組(合計8ビット))順に取り出して外部メモリI/F27へ供給する。
図4において、外部メモリI/F27は、バッファ27A1および27A2のうち一方を書込用、他方を読出用とし、動画デコーダ25から圧縮符号化画像データの復号結果として供給されてくるデータV3210,Y3,Y2,U3210,Y1,Y0を書込用のバッファ27A1(またはバッファ27A2)における格納先バイトアドレスに順に書き込んでいく。そして、書込用のバッファ27A1(またはバッファ27A2)へ1マクロブロック分の復号結果が蓄積される都度、書込用のバッファ27A1(またはバッファ27A2)と読出用のバッファ27A2(またはバッファ27A1)とを切り換え、書込み用に切り換えたバッファ27A2(またはバッファ27A1)への次の1マクロブロック分の復号結果の書込みと、読出用に切り換えたバッファ27A1(またはバッファ27A2)内の復号結果のバスI/F21Cへの供給とを行う。
また、外部メモリI/F27は、バッファ27B1および27B2のうち一方を書込用、他方を読出用とし、アルファデータデコーダ26から圧縮符号化アルファデータの復号結果として供給されてくるデータα3,α2,α1,α0を書込用のバッファ27B1(またはバッファ27B2)における格納先バイトアドレスに順に書き込んでいく。そして、書込用のバッファ27B1(またはバッファ27B2)へ1マクロブロック分の復号結果が蓄積される都度、書込用のバッファ27B1(またはバッファ27B2)と読出用のバッファ27B2(またはバッファ27B1)とを切り換え、書込み用に切り換えたバッファ27B2(またはバッファ27B1)への次の1マクロブロック分の復号結果の書込みと、読出用に切り換えたバッファ27B1(またはバッファ27B2)内の復号結果のバスI/F21Cへの供給とを行う。
バスI/F21Cは、動画デコーダ25およびアルファデータデコーダ26から外部メモリI/F27を介して供給されてくるデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0を上述したデータ構造の64ビットのデータ(図3(B))へとマージし、マージしたデータを外部メモリモジュール102に転送するマージ手段としての役割を果たす。より詳細に説明すると、バスI/F21Cは、自身のメモリをリングバッファ89として利用し、第1および第2の書込み処理を並行して行う。第1の書込み処理は、1マクロブロック分のデータの書込みを終える度にリングバッファ89におけるバッファ90−k(k=1,2…)の書込み先ポインタを1つ進めつつ、外部メモリI/F27から供給されるデータV3210,Y3,Y2,U3210,Y1,Y0をその供給時の書込み先ポインタが示すバッファ90−kに書き込む処理である。第2の書込み処理は、1マクロブロック分のデータの書込みを終える度にリングバッファ89におけるバッファ90−k(k=1,2…)の書込み先ポインタを1つ進めつつ、外部メモリI/F27から供給されるデータα3,α2,α1,α0をその供給時の書込み先ポインタが示すバッファ90−kに書き込む処理である。バスI/F21Cは、この第1および第2の書込み処理において共通のバッファ90−kにデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0を書き込むときに、上述したデータ構造をなすようにデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0をマージする。そして、バスI/F21Cは、バッファ90−kに1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0の両方が蓄積されると、蓄積したデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0を1マクロブロック分の復号結果として外部メモリモジュール102へDMA(Direct
Memory Access )転送する。ここで、バッファ90−kに1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0の両方が蓄積される都度行われるDMA転送では、図6に示すように、1フレームの画像を分割した複数個のマクロブロックの各々の復号結果(1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0,α3,α2,α1,α0)が外部メモリモジュール102内においてマクロブロックのラスタスキャン順のレイアウトで格納されるように、各々の格納先アドレスを指定する。
Memory Access )転送する。ここで、バッファ90−kに1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0およびデータα3,α2,α1,α0の両方が蓄積される都度行われるDMA転送では、図6に示すように、1フレームの画像を分割した複数個のマクロブロックの各々の復号結果(1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0,α3,α2,α1,α0)が外部メモリモジュール102内においてマクロブロックのラスタスキャン順のレイアウトで格納されるように、各々の格納先アドレスを指定する。
b1.圧縮符号化画像データの復号化の実行のみを指示する復号実行コマンドがコマンドバッファ22Aに書き込まれた場合
この場合、動画デコーダ25は、圧縮符号化画像データを復号化して1マクロブロック分の画像データを生成し、生成した画像データからデータV3210,Y3,Y2,U3210,Y1,Y0を取り出し、外部メモリI/F27内のバッファ27A1および27A2を介してバスI/F21Cに送る。アルファデータデコーダ26は、圧縮符号化アルファデータの復号化を行わず、その代わりに4ビットの分解能の最大値(1111)のデータα3,α2,α1,α0(全画素の透明度を100パーセントとするアルファデータ)を外部メモリI/F27内のバッファ27B1および27B2を介してバスI/F21Cに送る。バスI/F21Cは、動画デコーダ25およびアルファデータデコーダ26の各々から供給される1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0,α3,α2,α1,およびα0をマージして外部メモリモジュール102に転送する。
この場合、動画デコーダ25は、圧縮符号化画像データを復号化して1マクロブロック分の画像データを生成し、生成した画像データからデータV3210,Y3,Y2,U3210,Y1,Y0を取り出し、外部メモリI/F27内のバッファ27A1および27A2を介してバスI/F21Cに送る。アルファデータデコーダ26は、圧縮符号化アルファデータの復号化を行わず、その代わりに4ビットの分解能の最大値(1111)のデータα3,α2,α1,α0(全画素の透明度を100パーセントとするアルファデータ)を外部メモリI/F27内のバッファ27B1および27B2を介してバスI/F21Cに送る。バスI/F21Cは、動画デコーダ25およびアルファデータデコーダ26の各々から供給される1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0,α3,α2,α1,およびα0をマージして外部メモリモジュール102に転送する。
c1.圧縮符号化アルファデータの復号化の実行のみを指示する復号実行コマンドがコマンドバッファ22Aに書き込まれた場合
この場合、動画デコーダ25は、圧縮符号化画像データを復号化せず、その代わりに8ビットの分解能における最小値(00000000)のデータV3210,Y3,Y2,U3210,Y1,Y0(透明な画像を示す画像データ)を外部メモリI/F27内のバッファ27A1および27A2を介してバスI/F21Cに送る。アルファデータデコーダ26は、圧縮符号化アルファデータを復号化して1マクロブロック分のアルファデータを生成し、このアルファデータ(データα3,α2,α1,α0)を外部メモリI/F27内のバッファ27B1および27B2を介してバスI/F21Cに送る。バスI/F21Cは、動画デコーダ25およびアルファデータデコーダ26の各々から供給される1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0,α3,α2,α1,α0をマージして外部メモリモジュール102に転送する。
この場合、動画デコーダ25は、圧縮符号化画像データを復号化せず、その代わりに8ビットの分解能における最小値(00000000)のデータV3210,Y3,Y2,U3210,Y1,Y0(透明な画像を示す画像データ)を外部メモリI/F27内のバッファ27A1および27A2を介してバスI/F21Cに送る。アルファデータデコーダ26は、圧縮符号化アルファデータを復号化して1マクロブロック分のアルファデータを生成し、このアルファデータ(データα3,α2,α1,α0)を外部メモリI/F27内のバッファ27B1および27B2を介してバスI/F21Cに送る。バスI/F21Cは、動画デコーダ25およびアルファデータデコーダ26の各々から供給される1マクロブロック分のデータV3210,Y3,Y2,U3210,Y1,Y0,α3,α2,α1,α0をマージして外部メモリモジュール102に転送する。
以上説明したように、本実施形態では、画像処理装置100は、復号対象の圧縮符号化アルファデータが4ビットと異なる分解能のアルファデータを圧縮符号化したものである場合に、4ビットの分解能のアルファデータをその圧縮符号化アルファデータの復号結果として描画装置105に引き渡す。よって、画像処理装置100は、圧縮符号化アルファデータの復号結果を描画装置105に引き渡す度にその復号結果が何ビットの分解能であるかまでを同装置105に通知する必要がなくなる。従って、圧縮符号化画像データおよび圧縮符号化アルファデータの復号化からその復号結果を用いたアルファブレンディングまでの処理をより高速化できる。
また、本実施形態では、画像処理装置100は、動画デコーダ25による復号結果であるデータV3210,Y3,Y2,U3210,Y1,Y0と、アルファデータデコーダ26による復号結果であるデータα3,α2,α1,α0とを64ビットずつマージし、このマージしたデータを外部メモリモジュール102へ転送する。これにより、外部メモリモジュール102では、1ブロックのアルファブレンディングに必要な10種類のデータV3210,Y3,Y2,U3210,Y1,Y0、α3,α2,α1,α0が連続したアドレス領域に格納される。よって、圧縮符号化画像データの復号結果であるデータV3210,Y3,Y2,U3210,Y1,Y0と圧縮符号化アルファデータの復号結果であるα3,α2,α1,α0を別のアドレス領域に分けて格納させる場合に比べて、描画装置105によるデータV3210,Y3,Y2,U3210,Y1,Y0、α3,α2,α1,α0の読み出しの所要時間が短くなり、処理を高速化できる。
また、本実施形態では、画像処理装置100は、圧縮符号化アルファデータの復号化の実行のみを指示する復号実行コマンドが与えられた場合、8ビットの分解能における最小値(00000000)のデータV3210,Y3,Y2,U3210,Y1,Y0を圧縮符号化画像データの復号結果の代わりとし、この最小値(00000000)のデータV3210,Y3,Y2,U3210,Y1,Y0を圧縮符号化アルファデータの復号結果であるデータα3,α2,α1,α0とともに外部メモリモジュール102に転送する。よって、圧縮符号化アルファデータの復号化の実行のみを指示することにより、動画の背景画像となる画像の色の強弱を変更し、一種のエフェクトを実現することができる。
<他の実施形態>
以上、この発明の実施形態を説明したが、この発明には、他にも各種の実施形態が考えられる。例えば、以下の通りである。
(1)上記実施形態では、画像データおよびアルファデータのマトリクスを16×16画素数分ずつ分割したものを1つのマクロブロックとした。しかし、画像データおよびアルファデータのマトリクスを16×16画素と異なる所定画素数分ずつ分割したものを1つのマクロブロックとしてもよい。
以上、この発明の実施形態を説明したが、この発明には、他にも各種の実施形態が考えられる。例えば、以下の通りである。
(1)上記実施形態では、画像データおよびアルファデータのマトリクスを16×16画素数分ずつ分割したものを1つのマクロブロックとした。しかし、画像データおよびアルファデータのマトリクスを16×16画素と異なる所定画素数分ずつ分割したものを1つのマクロブロックとしてもよい。
(2)上記実施形態では、アルファデータデコーダ26は、4ビットの分解能と異なる分解能のアルファデータを圧縮符号化した圧縮符号化アルファデータが復号対象である場合は、その圧縮符号化アルファデータを復号化したアルファデータを4ビットの分解能のアルファデータに変換して外部メモリI/F27に供給した。しかし、アルファデータデコーダ26は、4ビットの分解能のアルファデータへの変換の変わりに、3ビット、2ビット、または1ビットの各分解能のうち予め定められた分解能のアルファデータへの変換を行ってもよい。
1……動画再生装置、100……画像処理装置、101A,101B,101C……バス、103……ホストCPU、104……パターンROM、105……描画装置、11……キャッシュメモリ、12……キャッシュ制御部、21A,21B,21C……バスI/F、22……ホストI/F、23……レジスタ群、24……パターンROM I/F、25……動画デコーダ、26……アルファデータデコーダ、27……外部メモリI/F
Claims (1)
- 画像を圧縮符号化した圧縮符号化画像データを復号化する動画デコーダと、
画像のアルファブレンディングに用いるアルファデータを圧縮符号化した圧縮符号化アルファデータを復号化するアルファデータデコーダと、
前記動画デコーダの復号結果である画像データと前記アルファデータデコーダの復号結果であるアルファデータとをマージして出力するインターフェースとを具備し、
前記アルファデータデコーダは、前記圧縮符号化アルファデータの復号化に先立って、前記圧縮符号化アルファデータの圧縮符号化対象であった元のアルファデータの分解能を示す属性情報を取得し、この属性情報が示す分解能と予め定められた分解能とが異なる場合に、前記圧縮符号化アルファデータを復号化して得られたアルファデータを前記予め定められた分解能のアルファデータに変換して前記インターフェースに供給することを特徴とする画像処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009249462A JP2011097371A (ja) | 2009-10-29 | 2009-10-29 | 画像処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009249462A JP2011097371A (ja) | 2009-10-29 | 2009-10-29 | 画像処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2011097371A true JP2011097371A (ja) | 2011-05-12 |
Family
ID=44113817
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009249462A Withdrawn JP2011097371A (ja) | 2009-10-29 | 2009-10-29 | 画像処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2011097371A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017005544A (ja) * | 2015-06-11 | 2017-01-05 | 株式会社アクセル | 画像情報処理方法 |
-
2009
- 2009-10-29 JP JP2009249462A patent/JP2011097371A/ja not_active Withdrawn
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017005544A (ja) * | 2015-06-11 | 2017-01-05 | 株式会社アクセル | 画像情報処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5051087B2 (ja) | 可逆圧縮符号化装置および可逆復号化装置 | |
| US10026146B2 (en) | Image processing device including a progress notifier which outputs a progress signal | |
| CN101594535A (zh) | 图像处理装置 | |
| JP5157796B2 (ja) | 画像データの可逆圧縮符号化装置および復号化装置 | |
| JP6679290B2 (ja) | 半導体装置 | |
| JP2010098352A (ja) | 画像情報符号化装置 | |
| US20240048740A1 (en) | Image processing method and image processing device for enhancing image processing efficiency | |
| US20080130743A1 (en) | Tv signal processing circuit | |
| US8462168B2 (en) | Decompression system and method for DCT-base compressed graphic data with transparent attribute | |
| JP5359785B2 (ja) | 画像処理装置 | |
| JP2011097371A (ja) | 画像処理装置 | |
| JP2007293533A (ja) | プロセッサシステム及びデータ転送方法 | |
| JP4109151B2 (ja) | 画像処理装置 | |
| CN104104958B (zh) | 图像解码方法及其图像解码装置 | |
| US20070046792A1 (en) | Image compositing | |
| TWI835238B (zh) | 影像處理方法及影像處理裝置 | |
| JP2008053848A (ja) | 画像処理装置及び画像処理方法 | |
| JP5731816B2 (ja) | 画像処理装置、画像処理方法 | |
| US20060170708A1 (en) | Circuits for processing encoded image data using reduced external memory access and methods of operating the same | |
| CN101754034A (zh) | 透明属性的离散余弦转换压缩图数据的解压缩系统及方法 | |
| JP3984981B2 (ja) | 画像符号化方法、その装置及びそのプログラム並びに画像復号化方法、その装置及びそのプログラム | |
| JP2005142699A (ja) | 画像圧縮伸張装置 | |
| CN102291576B (zh) | 显示及记录彩色图像旋转的方法及装置 | |
| JP2004312116A (ja) | 画像復号再生装置 | |
| KR20130010337A (ko) | 영상 처리 장치 및 영상 처리 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130108 |