JP2006222648A - 復号方法、復号装置およびそのプログラム - Google Patents
復号方法、復号装置およびそのプログラム Download PDFInfo
- Publication number
- JP2006222648A JP2006222648A JP2005033209A JP2005033209A JP2006222648A JP 2006222648 A JP2006222648 A JP 2006222648A JP 2005033209 A JP2005033209 A JP 2005033209A JP 2005033209 A JP2005033209 A JP 2005033209A JP 2006222648 A JP2006222648 A JP 2006222648A
- Authority
- JP
- Japan
- Prior art keywords
- data
- decoding
- predicted load
- encoded data
- prediction
- 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
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【解決手段】 クロック制御部11において符号化データのヘッダデータ等を基に可変調復号部13〜デブロックフィルタ23までの処理に要するクロック数を予測する。そして、その予測結果を基に、クロック制御回路7からCPU8に供給するクロック信号の周波数、電源6からCPU8に供給する電圧を制御する。
【選択図】 図2
Description
このような復号装置は、例えば、符号化データに含まれるヘッダデータを基に復号処理に用いるパラメータを決定し、そのパラメータを基に、復号処理を行う。
ところで、このような復号処理は、復号画像データを途切れなく生成するために、復号処理量の最大値を予測し、その最大値において復号処理が所望のレートで行えるように復号装置の動作周波数を決めている。
特に、近年、CPUの処理能力が上がり、ソフトウェア処理により復号処理が行われることが多いが、このような場合に、専用ハードウェアで行う場合に比べて消費電力が特に大きくなるという問題がある。
先ず、負荷予測手段が、ヘッダデータに含まれる前記符号化データの属性データに基づいて、前記符号化データの復号処理の予測負荷を示す予測負荷データを生成する。
次に、決定手段が、前記負荷予測手段が生成した前記予測負荷データに基づいて、動作周波数を決定する。
次に、前記復号手段が、前記決定手段で決定した前記動作周波数で動作して前記符号化データを復号する。
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
図5に示すステップST13が第1の観点の発明の第1の工程に対応し、ステップST14が第2の工程に対応し、図3に示すMC(動き予測・補償処理)、IDCT(逆DCT処理)、IQ(逆量子化処理)およびDeblock(デブロックフィルタ処理)が第3の工程に対応している。
また、本実施形態の復号開始前予測サイクル数データISD1、可変調復号開始前予測サイクル数データISD2、並びに可変調復号後予測サイクル数データISD3の各々が本発明の予測負荷データに対応している。
また、本実施形態のシーケンスヘッダデータ、スライスヘッダデータ、並びに可変調復号部13によって得られた情報等が本発明の属性データに対応している。
また、本実施形態のクロック信号CLKが本発明のクロック信号に対応している。
また、図2に示すクロック制御部11が本発明の負荷予測手段および決定手段に対応し、可変調復号部13、動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23が復号手段に対応している。
また、図1に示すプログラムPRGが本発明のプログラムに対応している。
図1に示すように、復号装置1は、例えば、記録メディア3、メモリ4、表示デバイス5、電源6、クロック制御回路7およびCPU(Central Processing Unit)8を有する。
メモリ4は、CPU8が実行するプログラムPRG、並びにCPU8の処理に用いられるデータを記憶する。
表示デバイス5は、CPU8が復号した復号画像データに応じた画像を表示する。
また、電源6は、CPU8からの電圧指定信号VIに応じた電圧をCPU8に供給する。
クロック制御回路7は、CPU8からのクロック指定信号CIが示す周波数のクロック信号CLKをCPU8に出力する。
また、CPU8は、後述するように、ビットストリームEDの復号前に、当該復号処理に要するクロック数を予測し、その結果に基づいて、クロック指定信号CIおよび電圧指定信号VIを生成する。
すなわち、CPU8は、復号処理に要するクロック数を復号処理前に予測し、その結果に基づいて、復号処理を破綻させない(例えば、所望の再生スピードを維持できる)ために必要なクロック信号CLKの周波数等を決定し、当該周波数で動作する。
これにより、CPU8を、必要以上に高周波数で動作せることを回避でき、省電力化を図る。
図2に示すように、CPU8は、プログラムPRGを実行して、クロック制御部11、可変調復号(VLD:Variable Length Coding)部13、可変調復号後データ蓄積部14、サイクル数推定用パラメータ蓄積部15、動き予測・補償部21、逆DCT・逆量子化部22、デブロックフィルタ23、並びに参照画像蓄積部26を実現する。
また、図2に示すように、クロック制御部11は、例えば、復号開始前クロック制御部31、VLD開始前クロック制御部33およびVLD後クロック制御部35を有する。
なお、図2に示す構成要素の全てあるいは一部を、CPU8によるプログラムPRGの実行ではなく、電子回路として実現してもよい。
ステップST1:
図2に示す復号開始前クロック制御部31は、記録メディア3からビットストリームED内のシーケンスヘッダを読み出し、それを解析して復号開始前のクロックサイクル数を予測する。
そして、復号開始前クロック制御部31は、当該予測を基に、動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23に対する供給電圧、並びにクロック信号CLKの周波数を決定する。
このとき、復号開始前クロック制御部31は、例えば、シーケンスヘッダ内に格納された符号化データのビットレート、画像サイズ、並びにエントリピー符号化方式などの情報を基に、上記復号開始前のクロックサイクル数を予測する。
ステップST2:
CPU8が、記録メディア3に記憶されたビットストリームEBの符号化データを読み出してメモリ4に書き込む。
VLD開始前クロック制御部33は、記録メディア3からビットストリームED内のスライスヘッダを読み出して、可変調復号部13による可変調復号前のクロックサイクル数を予測する。
そして、復号開始前クロック制御部31は、当該予測を基に、動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23に対する供給電圧、並びにクロック信号CLKの周波数を決定する。
VLD開始前クロック制御部33は、例えば、スライスヘッダデータ内に格納されたスライスデータの種類(I,P,B),スライスデータのビット数などの情報を基に、可変調復号前のクロック周波数を予測する。
ステップST4:
可変調復号部13において、メモリ4から読み出したビットストリームEDの符号化データが可変調復号され、それによって得られたMBヘッダ内の動きベクトルMV、量子化スケール、並びにDCT係数が可変調復号後データ蓄積部14に蓄積される。
また、可変調復号部13において1ピクチャあるいはスライスデータが復号される度に、それに対するサイクル数推定用の各種パラメータがサイクル数推定用パラメータ蓄積部15に蓄積される。
VLD後クロック制御部35は、1ピクチャあるいは1スライスデータの可変調復号が終了した時点で、サイクル数推定用パラメータ蓄積部15に蓄積されたサイクル数推定用パラメータを用いて、可変調復号部13による可変変調復号後のクロックサイクル数(動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23に要するクロックサイクル数)を予測する。
そして、VLD後クロック制御部35は、当該予測を基に、動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23に対する供給電圧、並びにクロック信号CLKの周波数を決定する。
本実施形態では、サイクル数推定用パラメータ蓄積部15には、変換係数(DCT系端数)、動きベクトルMVが示す補間画素位置、並びにデブロックフィルタ処理を要するエッジなどに関する情報がサイクル数推定用パラメータ蓄積部15に蓄積され、VLD後クロック制御部35によって用いられる。
ステップST6:
動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23が、ステップST5で規定されたクロック信号CLKおよび供給電圧により動作し、デブロックフィルタ23から復号画像データDDが表示デバイス5に出力される。
ステップST7:
表示デバイス5がステップST6で入力した復号画像データDDに応じた画像を表示する。
復号装置1では、図3および図4に示すように、図2に示す復号開始前クロック制御部31、VLD開始前クロック制御部33およびVLD後クロック制御部35によって、それぞれ復号処理の異なる段階で、電圧やクロック信号CLKの変更タイミングを規定し、制御する。これにより、復号処理の進行に応じて、可能な限り早いタイミングで且つ適切な情報を基に、その後の復号処理に要するクロックサイクルを予測でき、効果的に省電力化を図れる。
本実施形態では、復号開始前クロック制御部31、VLD開始前クロック制御部33およびVLD後クロック制御部35の全てにおいて、電源およびクロック周波数の制御を行う場合を例示するが、これらのうち一部のみを用いてもよい。
例えば、復号処理過程で電源およびクロック周波数の変更が困難な場合には復号開始前クロック制御部31のみを用いる。
また、可変調復号部13の処理を終了する前まで電源およびクロック周波数の変更が可能な場合には、VLD開始前クロック制御部33のみを用いるか、復号開始前クロック制御部31およびVLD開始前クロック制御部33のみを用いる。
以下、図2に示す復号開始前クロック制御部31について説明する。
図5は、図2に示す復号開始前クロック制御部31の処理のフローチャートである。
ステップST11:
復号開始前クロック制御部31が、記録メディア3からビットストリームED内のシーケンスヘッダデータを読み出す。
ステップST12:
復号開始前クロック制御部31が、ステップST11で読み出したシーケンスヘッダデータから、復号開始前のクロックサイクルを予測するために用いるパラメータを抽出する。
当該パラメータは、例えば、ビットストリームEDのマクロブロックレート(MBrate)、ビットレート(bitrate)、並びに符号化方式としてCABAC(Context-Adaptive Binary Arithmetic Coding: コンテキスト適応型2値算術符号化方式)の採用の有無を示すデータなどである。
復号開始前クロック制御部31が、ステップST12で抽出したパラメータを基に、下記式(1)により、復号開始前予測サイクル数データISD1を生成する。
ISD1= iVLDc + IDCTc + iIQc + iDEBc + iMCc + OTHERc
…(1)
本実施形態において、「Mc」は、メガサイクルを示している。
iDEBc = 100Mc*MBrate/(396*30)
…(2)
iMCc = 120Mc*MBrate/(396*30)
…(3)
iIDCTc = 30Mc*bitrate/384kbps
…(4)
iIQc = 20Mc*bitrate/384kbps
…(5)
iVLDc = 20Mc*bitrate/384kbps
…(6)
復号開始前クロック制御部31は、ステップST13で計算した復号開始前予測サイクル数データISD1を基に、電源6およびCPU8が、動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23に対する供給電圧、並びにクロック信号CLKの周波数を決定する。
具体的には、復号開始前クロック制御部31は、復号開始前予測サイクル数データISD1が示すサイクル数が小さくなるに従って低い周波数となるようにクロック信号CLKを制御するクロック指定信号CIを生成する。
また、復号開始前クロック制御部31は、クロック信号CLKの周波数が低くなるに従って、電源6がCPU8に供給する電圧を小さくするように電源6を制御する電圧制御信号VIを生成する。
図1に示すCPU8の消費電力Pは、例えば、「C*F*V^2」で示される。
ここで、Cは、例えば、CPU8の容量、Fはクロック信号CLKの周波数、Vは電源6がメモリ4に供給する電源電圧を示している。
すなわち、CPU8の消費電力Pを下げるには、FとVを下げる。
その一方、周波数FでCPU8を動作させるには、ある値以上の電源Vが必要になる。これらを考慮して図6は規定されている。
以下、図2に示すVLD開始前クロック制御部33について説明する。
図7は、図2に示すVLD開始前クロック制御部33の動作例を説明するためのフローチャートである。
ステップST21:
VLD開始前クロック制御部33は、図3に示すように、記録メディア3からビットストリームEDのピクチャヘッダデータおよびスライスヘッダデータを読み出し、これらからVLD開始前のクロック数を予測するために用いるパラメータを抽出する。
当該パラメータとしては、例えば、スライスデータの種類(タイプ)や、スライス内のビット数を示す「sliceBitNum」がある。
VLD開始前クロック制御部33は、ステップST21で抽出したパラメータを基に、スライスデータのビット量を基に、下記式(7),(8),(9)に基づいて、bIDCTc, bIQc,bVLDcを計算する。
ここで、bIDCTcは逆直交変換に関連して要するクロック数を示し、bIQcは逆量子化に関連して要するクロック数を示し、bVLDcは可変調復号に関連して要するクロック数を示している。
bIDCTc = iIDCTc*sliceBitNum/(384kbps/30fps)
…(7)
bIQc = iIQc*sliceBitNum/(384kbps/30fps)
…(8)
bVLDc = iVLDc*sliceBitNum/(384kbps/30fps)
…(9)
VLD開始前クロック制御部33は、処理対象のスライスデータと同じ種類のスライスデータについて、可変調復号開始前予測サイクル数データISD2を生成したか否かを判断し、生成していないと判断するとステップST24に進み、生成したと判断するとステップST25に進む。
VLD開始前クロック制御部33は、当該処理対象のスライスデータの種類I,P,Bに応じて、それぞれ下記式(10),(11),(12)により、bMCc,bDEBcを計算する。
ここで、bMCcは動き予測・補償処理に関係して要するクロック数を示し、bDEBcはデブロックフィルタ処理に関係して要するクロック数を示している。
また、iMCcは上記式(3)により復号開始前クロック制御部31が計算した値、iDEBcは上記式(2)により復号開始前クロック制御部31が計算した値が用いられる。
I slice:
bMCc = iMCc * 0.5
bDEBc = iDEBc * 2
…(10)
P slice :
bMCc = iMCc
bDEBc =iDEBc
…(11)
B slice:
bMCc = iMCc * 2
bDEBc = iDEBc * 1.5
…(12)
VLD開始前クロック制御部33は、直前の同一種類(タイプ)のスライスデータで使用したbIDCTc, bIQc,bVLDc,bMCc,bDEBcであるPvIDCTc, PvIQc,PvVLDc,PvMCc,PvDEBcを用いて、下記式(13),(14),(15),(16),(17)に示すように、上記bIDCTc, bIQc,bVLDc,bMCc,bDEBcを計算する。
bIDCTc = PvIDCTc*sliceBitNum/PsliceBitNum
…(13)
bIQc = PvIQc*sliceBitNum/PsliceBitNum
…(14)
bVLDc = PvVLDc*sliceBitNum/PsliceBitNum
…(15)
bMCc = PvMCc
…(16)
bDEBc =PvDEBc
…(17)
VLD開始前クロック制御部33は、下記式(18)により、可変調復号開始前予測サイクル数データISD2を計算する。
ISD2= bIDCTc + bIQc + bDEBc + bMCc + OTHERc
…(18)
VLD開始前クロック制御部33は、ステップST26で計算した可変調復号開始前予測サイクル数データISD2を基に、電源6およびCPU8が、動き予測・補償部21、逆DCT・逆量子化部22およびデブロックフィルタ23に対する供給電圧、並びにクロック信号CLKの周波数を決定する。
具体的には、復号開始前クロック制御部31は、可変調復号開始前予測サイクル数データISD2が示すサイクル数が小さくなるに従って低い周波数となるようにクロック信号CLKを制御するクロック指定信号CIを生成する。
また、復号開始前クロック制御部31は、クロック信号CLKの周波数が低くなるに従って、電源6がCPU8に供給する電圧を小さくするように電源6を制御する電圧制御信号VIを生成する。
なお、クロック信号CLKの周波数のレンジに対応した電源6の供給電圧を例えば図6に示すように規定する。
ビットストリームED内の符号化データは、各マクロブロックについて例えば図8に示す情報を有し、これらが可変調復号部13の復号によって図2に示す可変調復号後データ蓄積部14およびサイクル数推定用パラメータ蓄積部15に蓄積される。
図8に示すように、1マクロブロックについて、マクロブロック種類mb_type、量子化スケールQ_scale、サブマクロブロック種類sub_mb_type、参照ピクチャインデックスrefpic_index、動きベクトルMV、符号化ブロックパターンcoded_block_pattern、DCTブロックの変換係数を有している。
ステップST31:
可変調復号部13は、ビットストリームED内の図8に示すマクロブロック種類mb_typeおよびサブマクロブロック種類sub_mb_typeを可変調復号処理する。
ステップST32:
可変調復号部13は、量子化スケールQ_scaleを可変調復号処理する。
ステップST33:
VLD後クロック制御部35は、可変調復号部13の復号結果を基に、処理対象のスライスデータ内に含まれるマクロブロックMBの数を示すMbnum、スライスデータ内に含まれるイントラマクロブロックMBの数を示すintraMBnum、スライスデータ内に含まれるインターマクロブロックMBの数を示すinterMBnumを生成する。
ステップST34;
VLD後クロック制御部35は、処理対象のスライスデータ内の量子化スケールQ_scaleの平均値avgQscaleを算出する。
ステップST35:
VLD後クロック制御部35は、ビットストリームED内の図8に示す参照ピクチャインデックスrefpic_indexと動きベクトルMVとを可変調復号処理する。
VLD後クロック制御部35は、4x4,8x16等のブロックサイズblock sizeと補間画素位置による演算量タイプの組み合わせ毎のblock数を示すn[block size][calculation type] を生成する。なお、4x8と8x4等は同じblock size=4x8として扱う。
ステップST37:
VLD後クロック制御部35は、処理対象のスライスデータ内の動き予測・補償(MC)の処理単位となるブロック数を示すMCblockNumを生成する。
ステップST38:
可変調復号部13は、ビットストリームED内の符号化ブロックパターンcoded_block_patternの可変調復号処理を行う。
VLD後クロック制御部35は、符号化ブロックパターンcoded_block_patternを解析し、直流(DC)係数以外の変換係数が存在するDCTブロック数を示すIDCTblockNumを生成する。
ステップST40:
可変調復号部13は、図8に示すDCTブロックの変換係数の可変調復号処理を行う。
ステップST41:
VLD後クロック制御部35は、各DCTブロックの変換係数を解析し、変換係数がある行列あるいは列を示すIDCTrowNumを生成する。
VLD後クロック制御部35は、下記式(19)に基づいて、可変調復号後予測サイクル数データISD3を生成し、それに基づいてクロック及び電圧を変更する。
ISD3= vIDCTc + vIQc + vDEBc + vMCc + OTHERc
…(19)
[式(19)のvMCc]
先ず、図2に示す動き予測・補償部21による動き予測・補償処理について説明する。
AVCの動き予測・補償処理は、1/4画素精度で行われる。
ここで、整数画素位置に対して1/4精度画素位置は16箇所あるが、これらは補間の為の演算量に応じて、整数画素位置に対して図11に示す「1」から「5」の関係にある6種類に分類できる。
そして、動きベクトルMVが上記6種類の1/4精度画素位置の何れを指し示すかによって動き予測・補償部21の処理に要する演算量が異なる。
動き予測・補償部21は、図11に示す「1」の横方向の処理を下記式(20)で計算する。
[数20]
AD1= Clip(a-5b+20c+20d-5e+f+16>>5)
…(20)
AD2 = AD1+c+1>>1
…(21)
[数22]
AD3= Clip(hh-5gg+20AD1+20jj-5kk+mm+16>>5)
…(22)
AD4= (AD1(縦)+AD1(横)+1)>>1
…(23)
AD5=(AD1+AD3+1)>>1
…(24)
vMCc = MCblockNum * MCaddressCost
+ (n[4x4][整数]+n[4x8][整数]*2+n[8x8][整数]*4+n[8x16][整数]*8+n[16x16][整数]*16)*MCnoFilterCost
+ (n[4x4][1]+n[4x8][1]*2+n[8x8][1]*4+n[8x16][1]*8+n[16x16][1]*16)*MCfilterCost1
+ (n[4x4][2]+n[4x8][2]*2+n[8x8][2]*4+n[8x16][2]*8+n[16x16][2]*16)*MCfilterCost2
+ (n[4x4][3]+n[4x8][3]*2+n[8x8][3]*4+n[8x16][3]*8+n[16x16][3]*16)*MCfilterCost3
+ (n[4x4][4]+n[4x8][4]*2+n[8x8][4]*4+n[8x16][4]*8+n[16x16][4]*16)*MCfilterCost4
+ (n[4x4][5]+n[4x8][5]*2+n[8x8][5]*4+n[8x16][5]*8+n[16x16][5]*16)*MCfilterCost5
…(25)
また、MCfilterCost1-5 は、 MCフィルタ処理のcycle/secを演算量タイプ毎に示している。
また、vMCcは、IピクチャはMCなしなので0となる。Bピクチャは両方向予測なのでPピクチャの2倍となる。
また、vMCcは、動きベクトルMVの精度によって異なる。
また、vMCcは、AVCの場合は整数精度なら1/4画素精度に比べて1/15倍となる。
また、vMCcは、MPEG1,2の場合は、1/2画素精度に比べて整数画素精度なら1/3等フォーマットによって異なる。
また、vMCc は、MC block size、並びに補間画素位置(動きベクトルの小数部)によって異なる。
また、動き予測・補償処理の処理量は、図1に示すプログラムPRG、CPU8およびバス9の特性によっても異なる。
VLD後クロック制御部35は、下記式(26)あるいは(27)により、図2に示す逆DCT・逆量子化部22の逆DCT(IDCT)処理の予測サイクル数であるvIDCTcを計算する。
vIDCTc = IDCTblockNum * blockIDCTcost
…(26)
vIDCTc = IDCTrowNum * rowIDCTcost
…(27)
また、上記式(27)において、IDCTrowNumはスライス中でDCT係数が存在する4x4blockのrow/column数を示し、rowIDCTcostは1rowのIDCTに必要なcycle/secを示している。
IDCT処理は、通常1次元IDCTを縦と横とで行うことで実現する。図1に示すCPU8は、これを実現するときに、変換係数がなければ行/列毎に演算は省かれる。そのため、IDCTの演算量は、IDCTrowNumに応じて決まる。
但し、CPU8が、SIMD(Sigle Instruction Multi Datastream)型などの並列プロセッサである場合は、行/列毎の分岐を行うことはせず、ブロック単位でのみ演算を省略を行う。この場合には、IDCTの演算量は、IDCTblockNumで決まる。
VLD後クロック制御部35は、下記式(28)あるいは(29)により、図2に示す逆DCT・逆量子化部22の逆量子化処理の予測サイクル数であるvIQc を計算する。
vIQc = IDCTblockNum * blockIQcost
…(28)
vIQc = IDCTrowNum * rowIQcost
…(29)
また、上記式(29)において、IDCTrowNumはスライス中でDCT係数が存在する4x4blockのrow/column数を示し、rowIQcostは1rowのIQに必要なcycle/secを示している。
逆量子化処理は、IDCT処理と同様、処理単位をblockにするかrowにするかで使用する式が変わる。また逆量子化処理の場合は最小単位としては1係数ごとに演算することも考えられるが、その場合は可変調復号時に非0係数をカウント(IDCTcoefNum)する必要がある。また、AVCの場合逆量子化処理はIDCTと同時に処理されることもある。その場合はblockIDCTcostやrowIDCTcostを逆量子化処理を含んだものに変更する。
VLD後クロック制御部35は、下記式(30)により、図2に示すデブロックフィルタ23のデブロックフィルタ処理の予測サイクル数であるvDEBcを計算する。
vDEBc = DebFLAGcycle + DebFILTERcycle
…(30)
DebFLAGcycle = IntraMBnum * flagIntraCost + InterMBnum * flagInterCost * flagIDCTcoef
…(31)
flagIDCTcoef = IDCTblockNum * flagIDCTeffect
…(32)
DebFILTERcycle = (IntraMBnum * filterIntraCost + InterMBnum * max(filterIDCTcoef, filterMCblockCoef)) * filterQscaleCoef
…(33)
filterIDCTcoef = IDCTblockNum * filterIDCTeffect
…(34)
filterMCblockCoef = MCblockNum / MBnum * filterBlockNumEffect
…(35)
filterQscaleCoef = avgQscale * filterQscaleEffect
…(36)
デブロックフィルタ23は、デブロックフィルタ処理に先立ち画像のブロック境界の郷土を示すBS値を生成し、そのBS値を基にブロックのフィルタ処理を行う。
本実施形態では、デブロックフィルタ23は、フィルタ演算を全エッジに対して行う場合(SIMD使用時等)は、filterQscaleCoefを使用しない。
デブロックフィルタ処理ではIDCT境界を挟んだ画素を定義したとき、これらの差分値からフィルタをかけるかどうかやその強度を各境界毎に決める仕組みになっている。
また、復号装置1によれば、プログラムPRGの記述に基づいてCPU8が復号処理を行うことから、処理内容を柔軟に変更できる。
Claims (12)
- ヘッダデータと符号化データとを含む復号対象データを復号する復号装置が行う復号方法であって、
前記ヘッダデータに含まれる前記符号化データの属性データに基づいて、前記符号化データの復号処理の予測負荷を示す予測負荷データを生成する第1の工程と、
前記第1の工程で生成した前記予測負荷データに基づいて、動作周波数を決定する第2の工程と、
前記第2の工程で決定した前記動作周波数で動作して前記符号化データを復号する第3の工程と
を有する復号方法。 - 前記第2の工程は、前記予測負荷データが示す前記予測負荷が小さくなるに従って前記決定する動作周波数を低くする
請求項1に記載の復号方法。 - 前記第1の工程は、クロック信号に基づいて動作する前記復号装置が前記復号処理に要する予測クロックサイクル数を示す前記予測負荷データを生成し、
前記第2の工程は、前記予測負荷データを基に、前記クロック信号の周波数を決定する
請求項2に記載の復号方法。 - 前記復号処理は、前記符号化データのエントロピー復号処理、動き予測・補償処理、逆直交変換処理、逆量子化処理を順に行う
請求項1に記載の復号方法。 - 前記ヘッダデータは、前記符号化データを単位時間当たりに復号する予測情報量を示すシーケンスヘッダデータを前記属性データとして含み、
前記第1の工程は、前記シーケンスヘッダデータを基に、前記予測負荷データを生成する
請求項1に記載の復号方法。 - 前記符号化データは、予測方法が同じ複数のブロックデータで構成され、前記予測方向が異なる複数のスライスデータを含み、
前記ヘッダデータは、前記複数のスライスデータに対応し、当該スライスデータの前記予測方向を示すスライスヘッダデータを前記属性データとしてさらに含み、
前記第1の工程は、前記シーケンスヘッダデータと前記スライスヘッダデータとを基に、前記スライスデータ毎に前記予測負荷データを生成し、
前記第2の工程は、前記スライスデータ毎に、当該スライスデータに対応して前記第1の工程で生成した前記予測負荷データを基に前記動作周波数を決定する
請求項5に記載の復号方法。 - 過去に同じ予測方向の前記スライスデータについて前記予測負荷データを生成している場合に、当該スライスデータについて前記第1の工程を行わずに、前記第2の工程において、前記過去に生成した前記同じ予測方向のスライスデータの前記予測負荷データを基に、前記動作周波数を決定する
請求項6に記載の復号方法。 - 前記符号化データが、被符号化データに対して直交変換処理、量子化処理、並びにエントロピー符号化処理を順に施して生成されたものである場合に、
前記符号化データに前記エントロピー符号化処理に対応したエントロピー復号処理を行って得られたデータを基に、前記量子化処理に対応した逆量子化処理と前記直交変換処理に対応した逆直交変換処理との予測処理量を示す前記予測負荷データを生成する
請求項1に記載の復号方法。 - ヘッダデータと符号化データとを含む復号対象データを復号する復号装置が行う復号装置であって、
前記ヘッダデータに含まれる前記符号化データの属性データに基づいて、前記符号化データの復号処理の予測負荷を示す予測負荷データを生成する負荷予測手段と、
前記負荷予測手段が生成した前記予測負荷データに基づいて、動作周波数を決定する決定手段と、
前記決定手段で決定した前記動作周波数で動作して前記符号化データを復号する復号手段と
を有する復号装置。 - ヘッダデータと符号化データとを含む復号対象データを復号する復号装置が行う復号装置であって、
前記ヘッダデータに含まれる前記符号化データの属性データに基づいて、前記符号化データの復号処理の予測負荷を示す予測負荷データを生成する負荷予測手段と、
前記負荷予測手段が生成した前記予測負荷データに基づいて、動作周波数を決定する決定手段と、
クロック信号に基づいて動作し、前記符号化データを復号する復号手段と、
前記決定手段が決定した動作周波数の前記クロック信号を前記復号手段に出力するクロック制御手段と
を有する復号装置。 - 前記復号手段に電圧を供給する電源
をさらに有し、
前記決定手段は、前記予測負荷データに基づいて、前記電源が前記復号手段に供給する電圧を制御する
請求項10に記載の復号装置。 - ヘッダデータと符号化データとを含む復号対象データを復号する復号装置が実行するプログラムであって、
前記ヘッダデータに含まれる前記符号化データの属性データに基づいて、前記符号化データの復号処理の予測負荷を示す予測負荷データを生成する第1の手順と、
前記第1の手順で生成した前記予測負荷データに基づいて、動作周波数を決定する第2の手順と、
前記第2の手順で決定した前記動作周波数で動作して前記符号化データを復号する第3の手順と
を前記復号装置に実行させるプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005033209A JP2006222648A (ja) | 2005-02-09 | 2005-02-09 | 復号方法、復号装置およびそのプログラム |
US11/349,968 US7307550B2 (en) | 2005-02-09 | 2006-02-09 | Decoding method, decoding device, and program for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005033209A JP2006222648A (ja) | 2005-02-09 | 2005-02-09 | 復号方法、復号装置およびそのプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006222648A true JP2006222648A (ja) | 2006-08-24 |
Family
ID=36984675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005033209A Pending JP2006222648A (ja) | 2005-02-09 | 2005-02-09 | 復号方法、復号装置およびそのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7307550B2 (ja) |
JP (1) | JP2006222648A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008104153A (ja) * | 2006-08-29 | 2008-05-01 | Nvidia Corp | ビデオ復号時に動的周波数調整する方法及び装置 |
JP2009302597A (ja) * | 2008-06-10 | 2009-12-24 | Fujitsu Ltd | 画像復号装置 |
EP2581805A3 (en) * | 2006-08-31 | 2015-10-21 | ATI Technologies ULC | Video decoder and/or battery-powered device with reduced power consumption and methods thereof |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010141821A (ja) * | 2008-12-15 | 2010-06-24 | Toshiba Corp | ストリーミングプロセッサおよびプロセッサシステム |
US11272191B2 (en) * | 2014-11-07 | 2022-03-08 | Ati Technologies Ulc | Controlling power consumption in video encoding based on information regarding static amount of an image frame |
TWI833248B (zh) * | 2017-04-06 | 2024-02-21 | 美商松下電器(美國)知識產權公司 | 解碼方法及編碼方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5880786A (en) * | 1994-06-15 | 1999-03-09 | Hitachi, Ltd. | Apparatus for picture decoding having frame memories commonly connected to one data bus and one address bus |
JP2002516528A (ja) * | 1998-05-20 | 2002-06-04 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ブロック編成されたデータの符号化 |
US6425086B1 (en) * | 1999-04-30 | 2002-07-23 | Intel Corporation | Method and apparatus for dynamic power control of a low power processor |
WO2002088913A1 (fr) * | 2001-04-27 | 2002-11-07 | International Business Machines Corporation | Procede et appareil pour reguler la vitesse d'execution d'un processeur |
US6956600B1 (en) * | 2001-09-19 | 2005-10-18 | Bellsouth Intellectual Property Corporation | Minimal decoding method for spatially multiplexing digital video pictures |
JP2003209845A (ja) * | 2002-01-11 | 2003-07-25 | Mitsubishi Electric Corp | 画像符号化集積回路 |
US7313711B2 (en) * | 2004-12-03 | 2007-12-25 | Agere Systems Inc. | Adaptive power management in portable entertainment device |
-
2005
- 2005-02-09 JP JP2005033209A patent/JP2006222648A/ja active Pending
-
2006
- 2006-02-09 US US11/349,968 patent/US7307550B2/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008104153A (ja) * | 2006-08-29 | 2008-05-01 | Nvidia Corp | ビデオ復号時に動的周波数調整する方法及び装置 |
JP2012075145A (ja) * | 2006-08-29 | 2012-04-12 | Nvidia Corp | ビデオ復号時に動的周波数調整する方法及び装置 |
TWI413418B (zh) * | 2006-08-29 | 2013-10-21 | Nvidia Corp | 於視訊解碼時動態頻率調整之方法、系統、與時鐘頻率控制器 |
TWI448161B (zh) * | 2006-08-29 | 2014-08-01 | Nvidia Corp | 於視訊解碼時動態頻率調整之方法、系統、與時鐘頻率控制器 |
EP2581805A3 (en) * | 2006-08-31 | 2015-10-21 | ATI Technologies ULC | Video decoder and/or battery-powered device with reduced power consumption and methods thereof |
JP2009302597A (ja) * | 2008-06-10 | 2009-12-24 | Fujitsu Ltd | 画像復号装置 |
Also Published As
Publication number | Publication date |
---|---|
US7307550B2 (en) | 2007-12-11 |
US20070085712A1 (en) | 2007-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4142652B2 (ja) | 映像符号化装置 | |
JP4534935B2 (ja) | トランスコーダ、記録装置及びトランスコード方法 | |
JP2006222648A (ja) | 復号方法、復号装置およびそのプログラム | |
US20090060045A1 (en) | Moving picture encoding apparatus and moving picture encoding method | |
JP2007318726A (ja) | 画像符号化装置、画像符号化方法、プログラム及び記憶媒体 | |
JP2007208476A (ja) | 動画像復号装置および動画像復号方法 | |
TWI397268B (zh) | 解碼用的熵處理器 | |
WO2010106670A1 (ja) | 画像符号化装置、画像符号化制御方法および画像符号化プログラム | |
JP2008072647A (ja) | 情報処理装置、デコーダおよび再生装置の動作制御方法 | |
TW201204055A (en) | Power efficient motion estimation techniques for video encoding | |
JP2013123201A (ja) | 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム | |
JP2006254231A (ja) | 情報処理装置および同装置で用いられるプログラム | |
JP2006340183A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2009260421A (ja) | 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム | |
JP2007318615A (ja) | 動画再生装置、動画再生方法およびプログラム | |
JP2010206486A (ja) | 動画像ストリーム復号装置及びその制御方法並びにプログラム、記録媒体 | |
JP2014078891A (ja) | 画像処理装置、画像処理方法 | |
JP4786623B2 (ja) | 動画像符号化装置および動画像復号装置 | |
JP5174062B2 (ja) | イントラ予測装置、符号化器、復号器、及びプログラム | |
KR20070068274A (ko) | 복호 장치 | |
JP2006101406A (ja) | 情報処理装置および同装置で用いられるプログラム | |
JP2006101321A (ja) | 情報処理装置および同装置で用いられるプログラム | |
JP5206070B2 (ja) | 復号装置および復号方法 | |
JP5096883B2 (ja) | 画像処理装置および画像録画再生装置 | |
JP2008042701A (ja) | 画像データ処理方法および処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070731 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090622 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100302 |