JP2011004205A - Image processing apparatus and image processing method - Google Patents
Image processing apparatus and image processing method Download PDFInfo
- Publication number
- JP2011004205A JP2011004205A JP2009146009A JP2009146009A JP2011004205A JP 2011004205 A JP2011004205 A JP 2011004205A JP 2009146009 A JP2009146009 A JP 2009146009A JP 2009146009 A JP2009146009 A JP 2009146009A JP 2011004205 A JP2011004205 A JP 2011004205A
- Authority
- JP
- Japan
- Prior art keywords
- decoding
- calculation amount
- macroblock
- frequency
- unit
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
本発明は、画像処理装置及び画像処理方法に関し、例えば復号処理を行うバッテリ駆動用のシステム又は画像データ表示システムに適用して有効な技術に関する。 The present invention relates to an image processing apparatus and an image processing method, and more particularly to a technique effective when applied to a battery-driven system or an image data display system that performs a decoding process.
近年、放送や通信などの伝送路を通じて動画データの送受信を行うことや、記憶メディアに保存した動画を携帯端末などで視聴する機会が増加している。一般に動画は情報量が大きいため、伝送路の帯域や記憶メディアの容量などの制約から、動画を圧縮符号化した状態で伝送や保存し、視聴時に復号処理する。動画の符号化方式としては、ISO/IECで規格化されているMPEG(Moving Picture Expert Group)やH.26Xがある。これらの技術では、動画を構成する複数のフレーム間にある時間的、空間的な相関関係を用いた情報量の圧縮を行う。 In recent years, opportunities to transmit and receive moving image data through transmission paths such as broadcasting and communication and to view moving images stored in a storage medium on a mobile terminal or the like are increasing. In general, since a moving image has a large amount of information, the moving image is transmitted and stored in a compression-coded state due to restrictions such as the bandwidth of the transmission path and the capacity of the storage medium, and is decoded when viewed. There are MPEG (Moving Picture Expert Group) and H.26X, which are standardized by ISO / IEC, as encoding methods of moving images. In these techniques, the amount of information is compressed using temporal and spatial correlation between a plurality of frames constituting a moving image.
しかしながら、これらの技術で圧縮した動画の復号処理には比較的大きな演算が必要であり、演算量の増加に伴い消費電力も増大するため、低消費電力での復号処理の実現が課題となっている。従来の低消費電力化の方法として、例えば下記の特許文献1にて開示されている。
However, decoding processing of moving images compressed by these techniques requires relatively large computations, and power consumption increases as the amount of computation increases. Therefore, realizing decoding processing with low power consumption becomes an issue. Yes. As a conventional method of reducing power consumption, for example, it is disclosed in
特許文献1は、動的に動作周波数および電源電圧を変更可能な動画復号装置において、動画を構成する単位であるフレーム単位での復号処理が必要とする演算量を予測し、予測した演算量をもとにフレームの復号処理をするために使用する動作周波数と電源電圧を決定する。各フレームの復号処理開始のタイミングで、決定した動作周波数と電源電圧を設定することにより、適切な動作周波数と電圧での動作させることで、低消費電力を図るものである。
しかしながら、特許文献1に記載の方法では、フレーム復号処理開始時に動作周波数および電源電圧を決定し、当該フレームの復号処理中に動作周波数および電源電圧は固定となる。このため、当該フレーム処理開始時の予測よりも実際の演算量が多かった場合には、当該フレーム処理時間内に復号処理が完了せず、動画像復号処理が破綻してしまうという問題があった。
However, in the method described in
本発明の目的は、動画像の復号処理が途中で破綻することなく、低消費電力を図ることができる画像処理装置を提供することにある。 An object of the present invention is to provide an image processing apparatus that can achieve low power consumption without causing a video decoding process to fail in the middle.
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。 The following is a brief description of an outline of typical inventions disclosed in the present application.
すなわち、画像処理装置は、符号化された動画像データをマクロブロック単位で復号するとき、1フレームに対する復号に割当てられた時間に対して復号処理の進行に従って減少する残り処理時間と前記復号処理を同期させるクロック信号の現在の周波数との関係から余裕時間を把握し、その余裕時間の範囲内で処理速度を低下させるように前記周波数を低くする制御を行う。 That is, when the encoded video data is decoded in units of macroblocks, the image processing apparatus calculates the remaining processing time that decreases as the decoding process proceeds with respect to the time allocated for decoding for one frame and the decoding process. The margin time is grasped from the relationship with the current frequency of the clock signal to be synchronized, and control is performed to lower the frequency so as to reduce the processing speed within the margin time range.
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。 The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.
すなわち、本画像処理装置によれば、動画像復号処理を破綻させることはなく低消費電力を図ることができる。 That is, according to the present image processing apparatus, it is possible to achieve low power consumption without causing the video decoding process to fail.
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
1. First, an outline of a typical embodiment of the invention disclosed in the present application will be described. Reference numerals in the drawings referred to in parentheses in the outline description of the representative embodiments merely exemplify what are included in the concept of the components to which the reference numerals are attached.
〔1〕本発明の代表的な実施の形態に係る画像処理装置(10、70)は符号化された動画像データをフレームのピクチャタイプとマクロブロックタイプに従ってマクロブロック単位で復号する復号部(107)と、少なくとも前記復号部に供給する同期クロック信号の周波数を制御する制御部(105)と、前記動画像データのフレーム単位でピクチャタイプとマクロブロック数を判別する判別部(102)と、前記判別部による判別結果と前記復号部による復号処理の進行状態に従って前記制御部に与える制御データ(111)を算出する演算部(110、710)と、を備える。前記演算部は、1フレームに対する復号に割当てられた所定時間に対して復号処理の進行に従って減少する残り処理時間と前記復号部の同期クロック信号の現在の周波数との関係から得られる余裕時間の範囲内で制御データを変更する。これによれば、実際の復号処理によって生ずる余裕時間を把握し、その範囲で周波数を低くしながら逐次復号処理を進めていくから、途中で復号処理が間に合わなくなる事態を生ずる虞なく、且つ実際の処理状況に応じて電力消費を低減することができる。 [1] An image processing apparatus (10, 70) according to a typical embodiment of the present invention decodes encoded moving image data in units of macroblocks according to a picture type and a macroblock type of a frame (107 ), At least a control unit (105) for controlling the frequency of the synchronous clock signal supplied to the decoding unit, a determination unit (102) for determining the picture type and the number of macroblocks in units of frames of the moving image data, Arithmetic units (110, 710) that calculate control data (111) to be given to the control unit according to the determination result by the determination unit and the progress of the decoding process by the decoding unit. The arithmetic unit is a margin time range obtained from a relationship between a remaining processing time that decreases as a decoding process proceeds and a current frequency of a synchronous clock signal of the decoding unit with respect to a predetermined time assigned to decoding for one frame. Change the control data in According to this, since the margin time generated by the actual decoding process is grasped and the decoding process is sequentially performed while lowering the frequency within that range, there is no possibility that the decoding process may not be in time, and the actual decoding process is not performed. Power consumption can be reduced according to the processing status.
〔2〕項1の画像処理装置において、前記演算部は、ピクチャタイプから決まる、最大演算量となるマクロブロックの演算量と、処理すべきマクロブロックの総数と、前記残り処理時間と、から前記同期クロック信号の周波数を決定する制御データを生成する。これにより前記最大演算量を考慮して前記周波数を決定するので、途中で処理が破綻することなく復号処理を行うことができる。 [2] In the image processing device according to [1], the calculation unit calculates the calculation amount of a macroblock that is a maximum calculation amount determined from a picture type, the total number of macroblocks to be processed, and the remaining processing time. Control data for determining the frequency of the synchronous clock signal is generated. As a result, the frequency is determined in consideration of the maximum calculation amount, so that the decoding process can be performed without the process being broken.
〔3〕項2の画像処理装置において、前記処理すべきマクロブロックの総数は、当該フレームのマクロブロックの総数から復号処理済マクロブロック数を減算して得られる値である。
[3] In the image processing apparatus according to
〔4〕項1乃至3の何れかの画像処理装置において、前記制御データは、前記同期クロック信号の周波数を制御するデータ、または前記復号部に供給する電源電圧と前記周波数を制御するデータである。 [4] In the image processing device according to any one of [1] to [3], the control data is data for controlling a frequency of the synchronous clock signal, or data for controlling a power supply voltage supplied to the decoding unit and the frequency. .
〔5〕項1乃至4の何れかの画像処理装置において、前記所定時間は、前記動画像データにおけるフレームレートに基づいて決まる時間である。
[5] In the image processing apparatus according to any one of
〔6〕項1乃至5の何れかの画像処理装置において、前記残り処理時間とは前記所定時間から当該フレームの復号処理の開始からの経過時間を減算して得られる時間である。
[6] In the image processing device according to any one of
〔7〕項1の画像処理装置において、前記演算部は、ピクチャタイプから決まる、最大演算量となるマクロブロックの演算量と、処理すべきマクロブロックの総数と、前記残り処理時間と、から前記同期クロック信号の周波数を決定する制御データを生成し、当該生成した制御データを初期値として前記制御部に与え、その後からは、最大演算量となるマクロブロックの演算量に代えて過去の処理済マクロブロックの演算量の平均値から算出する代表演算量と、前記処理すべきマクロブロックの総数と、前記残り処理時間と、から前記同期クロック信号の周波数を決定するデータを生成する。これにより最大演算量に代えて代表演算量を用いて前記周波数を決定するから、項1乃至5の画像処理装置よりも前記周波数を低下させることが可能となる。
[7] In the image processing apparatus according to [1], the calculation unit calculates the calculation amount of a macroblock that is a maximum calculation amount determined from a picture type, the total number of macroblocks to be processed, and the remaining processing time. Generates control data for determining the frequency of the synchronous clock signal, gives the generated control data to the control unit as an initial value, and after that, the past processing has been performed instead of the calculation amount of the macroblock that is the maximum calculation amount Data for determining the frequency of the synchronous clock signal is generated from the representative calculation amount calculated from the average value of the calculation amount of the macroblock, the total number of macroblocks to be processed, and the remaining processing time. Thus, since the frequency is determined using the representative calculation amount instead of the maximum calculation amount, the frequency can be reduced as compared with the image processing apparatuses according to
〔8〕項7の画像処理装置において、前記代表演算量は、過去の処理済マクロブロックの演算量の平均値と次の復号対象となるマクロブロックの演算量の差分がある閾値を超えない場合は、前記平均値を代表演算量とし、前記差分がある閾値を超える場合は、前記次の復号対象となるマクロブロックの演算量を代表演算量とする。
[8] In the image processing apparatus according to
〔9〕本発明の代表的な実施の形態に係る画像処理方法は、符号化された動画像データをマクロブロック単位で復号する画像処理方法であって、前記動画像データのフレーム単位でピクチャタイプとマクロブロック数を判別する第1処理と、フレームのピクチャタイプとマクロブロックタイプに従ってマクロブロック単位で復号する第2処理と、前記第1処理による判別結果と前記第2処理の進行状態に従って復号部に与える制御データを算出する第3処理と前記第3処理で算出した制御データで少なくとも復号部に供給する同期クロック信号の周波数を制御する第4処理と、を含む。前記第3処理は、1フレームに対する復号に割当てられた所定時間に対して第2処理の進行に従って減少する残り処理時間と前記同期クロック信号の現在の周波数との関係から得られる余裕時間の範囲内で制御データを変更する処理である。これにより上記同様、電力消費を低減することができる。 [9] An image processing method according to a typical embodiment of the present invention is an image processing method for decoding encoded moving image data in units of macroblocks, and includes a picture type in units of frames of the moving image data. A first process for determining the number of macroblocks, a second process for decoding in units of macroblocks according to the picture type and macroblock type of the frame, a determination result according to the first process and the progress of the second process And a fourth process for controlling at least the frequency of the synchronous clock signal supplied to the decoding unit using the control data calculated in the third process. The third processing is within a margin time range obtained from the relationship between the remaining processing time that decreases with the progress of the second processing and the current frequency of the synchronous clock signal with respect to a predetermined time allocated for decoding for one frame. In this process, the control data is changed. As a result, the power consumption can be reduced as described above.
〔10〕項9の画像処理方法において、前記第3処理は、ピクチャタイプから決まる、最大演算量となるマクロブロックの演算量と、処理すべきマクロブロックの総数と、前記第2処理の進行に従って減少する残り処理時間と、から前記同期クロック信号の周波数を決定する制御データを生成する。これにより上記同様、途中で処理が破綻することなく復号処理を行うことができる。
[10] In the image processing method according to
〔11〕項9の画像処理方法において、前記第3処理は、ピクチャタイプから決まる、最大演算量となるマクロブロックの演算量と、処理すべきマクロブロックの総数と、前記第2処理の進行に従って減少する残り処理時間と、から前記同期クロック信号の周波数を決定する制御データを生成し、当該生成した制御データを初期値とし、その後からは、最大演算量となるマクロブロックの演算量に代えて過去の処理済マクロブロックの演算量の平均値から算出する代表演算量と、前記処理すべきマクロブロックの総数と、前記残り処理時間と、から前記同期クロック信号の周波数を決定するデータを生成する。これにより上記同様、項9乃至10の画像処理方法よりも前記周波数を低下させることが可能となる。
[11] In the image processing method according to
2.実施の形態の詳細
実施の形態について更に詳述する。
2. Details of Embodiments Embodiments will be further described in detail.
《実施の形態1》
図1は、本発明に係る画像処理装置の一実施の形態として、バッテリ駆動の携帯端末における動画像の復号処理を行う画像処理装置を示す。同図に示される画像処理装置10は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。また、画像処理装置10は、1つの前記集積回路で構成されたものではなく、マルチチップで形成されたものでもよい。
FIG. 1 shows an image processing apparatus that performs a moving image decoding process in a battery-powered portable terminal as an embodiment of an image processing apparatus according to the present invention. The
画像処理装置10は、動画像復号モジュール100、入力バッファ101、判別部102、周波数算出部103、メモリ部104、制御部105、タイマ106、復号部107、復号バッファ108、出力バッファ109及び演算部110を備える。
The
入力バッファ101には復号対象となるフレームのデータが格納される。入力バッファ101はDRAMなど揮発性メモリにより構成され、図1に未記載の制御プロセッサなどにより入力バッファ101へのデータ格納処理が行われる。格納されるデータは、例えば、不揮発性メモリカードやHDDなどの記録媒体に保存されているデータや放送・通信により配信されるものを受信して、データバス経由でコピーされているデータ、である。
The
判別部102は入力バッファ101に格納されているデータから対象フレームの画像サイズのデータを取得し、画像サイズのデータから処理すべきマクロブロックの総数を算出する。さらに、判別部102は復号対象のフレームのピクチャタイプを判別する。図2は、ピクチャタイプごとに、構成要素となるマクロブロックの種類を示したものである。MPEGでは動画を構成するフレームごとに、ピクチャタイプ(Iピクチャ、Pピクチャ、Bピクチャ)が存在する。Iピクチャは復号のために前後のフレームとの相関関係を使用することはなく、フレーム内のデータだけで復号できるフレームであり、Pピクチャは復号のために前フレームとの相関関係を利用するフレームであり、Bピクチャは復号のために前後のフレームとの相関関係を利用するフレームである。このような特徴があるため、ピクチャタイプごとに、フレームを構成するマクロブロックタイプも定義される。マクロブロックは図2に示すように「MBQUANT」、「順方向予測」、「逆方向予測」、「MBパターン」、「MBイントラ」の5項目の組み合わせによりマクロブロックタイプが決定され、このマクロブロックタイプから演算を処理するためのクロックサイクル数がわかり、前記クロックサイクル数が、マクロブロックの復号処理の演算量となる。したがって、図2のようなフレームのピクチャタイプから最大演算量がわかる第1のテーブル104Aをメモリ部104に格納しておくことで、判別部102が判別したピクチャタイプから、第1のテーブル104Aに基づいて最大演算量を決定することができる。なお、第1のテーブル104Aにおける演算量を復号部107の内部構成に応じて変更してもよい。また、一つの動画を構成する連続するフレームの画像サイズが変化することはない場合は、判別部102が動画像復号処理開始時に画像サイズを取得し、2フレーム目以降の処理では1フレーム目で取得した画像サイズならびにフレームあたりのマクロブロック数を継続して使用してもよい。また、判別部102は、動画のフレームレート(1秒間のフレーム数)も取得し、当該フレームレートに基づいて1フレームに対する復号に割当てる所定時間を算出する。判別部102は、これらの復号対象のフレームに関する情報をフレームデータの先頭に配置されるヘッダ情報を解析して取得する。周波数算出部103が解析の結果を参照するため、解析した結果は、メモリ部104に格納される。さらに、対象フレームの復号処理の開始時には、メモリ部104にある復号対象フレームの処理履歴の内容は初期化される。
The
復号部107は、マクロブロック単位での復号処理を行う。処理対象のマクロブロックが他のマクロブロックとの時間・空間的な相関関係を用いた復号処理を必要とする場合には、復号部107は必要データを復号バッファ108に読み込んだ上で処理を行う。復号結果は出力バッファ109に格納される。出力バッファ109としては、例えば、DRAMなど揮発メモリが使用される。また、復号部107は復号処理のステータス情報の一つとして復号処理済みマクロブロック数を出力し、メモリ部104が記憶領域に格納する。復号処理のステータス情報のメモリ部104への格納方法としては、復号部107がマクロブロックの処理完了毎に信号を出力し、メモリ部104がフレームの復号処理の開始からマクロブロック処理の回数を計算して、その結果を記憶領域に格納する方法でもよい。
The
演算部110はタイマ106、周波数算出部103、メモリ部104から構成される。
The
タイマ106は、復号対象のフレームの処理開始からの経過時間をカウントし、その経過時間は動作周波数算出のために使用される。なお、タイマ106は動画像復号モジュール100の内部に含めてもよいし、外部に設置してもよい。
The
周波数算出部103はメモリ部104に格納した対象フレームのピクチャタイプから、復号対象フレームが含むマクロブロックのうち演算量が最大となるマクロブロックの演算量(P_MAX)を取得し、復号対象フレームの処理すべきマクロブロックの総数(MB_all)と処理履歴にある復号処理済マクロブロック数(n)から処理すべき残りのマクロブロックの総数を算出する。さらに、周波数算出部103はタイマ106がカウントしている復号対象フレームの処理経過時間(T(n−1))と1フレームに対する復号に割当てる所定時間(T_F)から処理すべき残りのマクロブロックの復号処理に割り当てが可能な残り処理時間を算出し、これらの情報を使用して、現在復号の対象となっているマクロブロックを処理するための動作周波数(f)を算出する。具体的には、式1によりn番目のマクロブロックを処理するための動作周波数(f)が算出される。
The
f=(MB_all−n)×P_MAX/(T_F−T(n-1))・・・式1
f = (MB_all−n) × P_MAX / (T_F−T (n−1))
式1を用いることにより、処理すべき全ての残りマクロブロックが最大演算量(P_MAX)を持つとした場合の合計演算量と当該フレームに割り当てが可能な残り処理時間から動作周波数(f)が算出されるので、残りマクロブロックの全てが、最大演算量(P_MAX)を持つ場合においても、マクロブロック単位での復号処理の合計時間が、1フレームに対する復号に割当てる所定時間(T_F)を超過することはない。したがって、復号処理を途中で破綻させない動作周波数(f)の変更が可能となる。
By using
次に、周波数算出部103は、算出した動作周波数(f)に基づいて、制御部105に与える制御データ111を生成する。制御データ111は、動作周波数を制御するデータと電源電圧を制御するデータを含む。まず、動作周波数を制御するデータは、例えば、次の方法で決定される。実施の形態1における画像処理装置10は、動作周波数をM段階(M≧2)に設定可能であり、動作周波数が小さい順にF(1)、F(2)、…F(m)とすると、周波数算出部103が、式1により算出した動作周波数(f)に基づき、F(k)<f≦F(k+1)となるF(k+1)を選択し、このF(k+1)が、少なくとも復号部107の同期クロック信号の周波数を制御するデータとして決定される。一方、電源電圧を制御するデータは、次の方法で決定される。一般に動作周波数が大きければ電源電圧として高電圧が必要となり、動作周波数が低ければ電源電圧を低く抑えることができ、低消費電力化を図ることができる。図3は、実施の形態1における画像処理装置10の動画像復号モジュール100に供給する動作周波数と電源電圧の対応関係を表す第2のテーブル104Bである。実施の形態1における画像処理装置10は、構成モジュールの動作周波数に合わせて電源電圧をM段階(M≧2)に設定可能であり、例えば、メモリ部104に前記第2のテーブル104Bを格納しておき、前記第2のテーブル104Bを参照して上記周波数で使用する電源電圧を選択することで、電源電圧を制御するデータを決定する。
Next, the
以上の方法により、動作周波数を制御するデータと電源電圧を制御するデータを含む制御データ111が生成されると、演算部110は制御データ111を制御部105に送る。
When the
メモリ部104には、判別部102が算出した処理すべきマクロブロックの総数、復号部107から出力された復号処理済みのマクロブロック数及び復号対象フレームのピクチャタイプ、図2のようなピクチャタイプから最大演算量を判別する第1のテーブル104A及び図3に示すような動作周波数と電源電圧の対応関係を表す第2のテーブル104Bが記憶される。
The
制御部105は、演算部110から送られた制御データ111に基づいて、復号部107に対して供給する同期クロック信号の周波数と電源電圧を変更する。前記制御部105は、例えば、発振回路の出力信号を分周した周波数の中から制御データ111に指定された一つの周波数を選択し、クロック信号として出力するクロックジェネレータと、複数の電圧の中から制御データ111に指定された一つの電圧を選択し、電源電圧として出力する電源回路とからなる。なお、制御データ111に基づいてクロック信号の周波数と電源電圧を変更するブロックは、復号部107だけでもよいし、タイマ106を除いた、クロック信号を必要とする他のブロックでもよい。
The
図4は実施の形態1における画像処理装置10の対象フレームの復号処理の流れである。まず、復号対象となるフレームのデータが入力バッファ101に格納される(S501)。次に判別部102が入力バッファ101に格納された復号対象フレームのデータを解析してフレームについての情報を取得する(S502)。ステップS502で解析したマクロブロックの情報を基に、演算部110が、復号対象フレームの先頭にあるマクロブロックの処理を行うための動作周波数および電源電圧を算出し、制御部105に制御データ111を与える(S503)。ステップS503では、まず、先頭のマクロブロック処理における動作周波数(f)が算出される。先頭のマクロブロック処理における動作周波数(f)は、演算部110は復号処理済マクロブロック数(n)を0、復号対象フレームの処理経過時間(T(n−1))を0とし、マクロブロックの最大演算量をステップS502で判別部102が取得したピクチャタイプに基づいた演算量を用いて、式1により算出される。あるいは、先頭のマクロブロックの処理に関しては、上記の方法で動作周波数(f)を算出せずに、動画像復号モジュール100が対応する最大の動作周波数を設定してもよい。次に、ステップ503では周波数算出部103は、算出した動作周波数(f)に基づき制御データ111を生成し、制御部105に与える。制御データ111を与えられた制御部105は動画像復号モジュール100に供給する動作周波数と電源電圧(112)を変更する。
FIG. 4 is a flow of the decoding process of the target frame of the
ステップS503の後、復号部107は、供給された同期クロック信号の周波数と電源電圧の下で、入力バッファ101から復号対象となる1マクロブロックのデータを読み出し、マクロブロックの復号処理を行う(S504)。その後、復号部107は復号処理のステータスを表す、復号処理済みマクロブロック数をメモリ部104に出力し、メモリ部104は残りマクロブロック数を更新する(S505)。ステップS505では、メモリ部104がこれまでに記憶している、復号処理が完了したマクロブロック数を1つ増加させて、メモリ部に記憶している残りマクロブロック数を減少させる。次に演算部110は、処理すべき残りのマクロブロックの総数が0かどうかを確認する(S506)。前記総数が0となった場合には、対象フレームの復号処理が完了しているため、終了処理を行うためにステップS508へ移行し、前記総数が0にならなかった場合には、ステップS507へと進む。前記総数が0となった場合には、すでにフレームの復号処理が終わっているため、終了処理を行う(S508)。ステップ508では、演算部110が、復号処理が不要な場合に設定可能な、最も小さい動作周波数及び電源電圧となる制御データ111を制御部105に与える。前記総数が0とならなかった場合には、処理開始からの経過時間を更新する(S507)。ステップS507では、周波数算出部103がタイマ106からフレーム処理開始からの経過時間を取得し、メモリ部104に記憶している処理すべき残りのマクロブロックの復号処理に割り当てが可能な残り時間を更新する。次に、周波数算出部103は、式1に基づき動作周波数(f)を算出し(S509)、次のマクロブロック復号処理で使用する制御データ111を生成し、周波数算出部103から制御部105に制御データ111を与える。制御データ111を与えられた制御部105は動画像復号モジュール100に供給するクロック信号の周波数と電源電圧(112)を変更する(S510)。その後、ステップS504へと移行して次のマクロブロックの復号処理を継続する。
After step S503, the
以上説明した動作フローに従い復号処理を行うことにより、マクロブロックごとに同期クロック信号の周波数と電源電圧を変更して復号処理を行うことが可能となり、動画の復号処理における消費電力低減を実現することができる。 By performing the decoding process according to the operation flow described above, it is possible to perform the decoding process by changing the frequency of the synchronous clock signal and the power supply voltage for each macroblock, and to realize a reduction in power consumption in the moving picture decoding process. Can do.
図5は、実施の形態1の動作周波数の変更方法を用いた場合における、対象フレームの復号処理中の動画像復号モジュール100の動作周波数の変化を表すグラフの一例である。本図では、n番目のマクロブロック処理時に設定した動作周波数をF_MB(n)とする。また、n番目のマクロブロックの復号処理時間をT_MB(n)、演算量をP_MB(n)とすると、n番目のマクロブロック復号処理の時間は式2で表される。
FIG. 5 is an example of a graph showing a change in the operating frequency of the moving
T_MB(n)=P_MB(n)/F_MB(n)・・・式2 T_MB (n) = P_MB (n) / F_MB (n) (2)
実施の形態1では、マクロブロックの復号処理が完了するごとに、次のマクロブロック処理のために動作周波数が算出される。また、このマクロブロックの演算量については残りのマクロブロックの全てが最大演算量(P_MAX)を必要とするマクロブロックであった場合を考慮しており、実際の対象マクロブロックの演算量はこれよりも小さいことが多くなる。このため、n番目のマクロブロックを処理した際には{P_MAX/F_MB(n)−P_MB(n)/F_MB(n)}だけ時間の余裕を得ることができる。実施の形態1では、この時間的余裕をもとにして、n+1番目のマクロブロックを処理するために使用する動作周波数を低下させることを可能としている。つまり、n番目のマクロブロック処理で得た時間的余裕を残りのマクロブロック処理に配分することで、n+1番目のマクロブロックでは処理時間T_MB(n+1)を長くすることができ、また、n+1番目のマクロブロックの演算量であるP_MB(n+1)は固定値であるため、式2によると、n+1番目のマクロブロックを処理するための動作周波数F_MB(n+1)を小さくすることができる。このような周波数設定の繰り返しにより、動作周波数を段階的に低下させることができる。また、動作周波数が低下することにより、マクロブロック1つあたりにかかる処理時間が長くなっているが、直前までのマクロブロック処理で生まれた時間的余裕を元に動作周波数を低下させることにより、全体の復号にかかる時間ΣT_MB(n)がフレーム全体の処理時間T_Fを超えることはなく、動画の再生が破綻することは起こりえない。なお、例えばn番目のマクロブロックの演算量がP_MAXであった場合には、時間的余裕が発生しないため、n+1番目のマクロブロック処理のために動作周波数が変更されることはなく、n番目のマクロブロックと同じ動作周波数で復号処理が行われる。
In the first embodiment, every time a macroblock decoding process is completed, an operating frequency is calculated for the next macroblock process. In addition, regarding the calculation amount of this macro block, the case where all the remaining macro blocks are macro blocks that require the maximum calculation amount (P_MAX) is considered, and the calculation amount of the actual target macro block is Are often small. For this reason, when the nth macroblock is processed, a time margin can be obtained by {P_MAX / F_MB (n) −P_MB (n) / F_MB (n)}. In the first embodiment, the operating frequency used for processing the (n + 1) th macroblock can be reduced based on this time margin. That is, by allocating the time margin obtained by the nth macroblock processing to the remaining macroblock processing, the processing time T_MB (n + 1) can be increased in the (n + 1) th macroblock, and the (n + 1) th macroblock processing can be increased. Since P_MB (n + 1), which is the calculation amount of the macroblock, is a fixed value, according to
図6は、動画1フレームの処理におけるマクロブロック処理の時間経過を示すものである。1フレームに対する復号に割当てる所定時間(T_F)は、動画のフレームレート(1秒間に表示するフレーム枚数)に基づき決定される。例えば、1秒間にL枚のフレームを表示する動画の場合にはT_F=1/L として算出できるが、この時間1/Lよりも短い時間を1フレームに対する復号に割当てる所定時間(T_F)としてもよい。実施の形態1による動作周波数の変更方式を用いることで、図6に示すようにT_F>ΣT_MB(n)となる場合もある。この場合には、最後のマクロブロックの処理が完了した後の残り時間である{T_F−ΣT_MB(n)}の期間を、動画像復号モジュール100に設定可能な動作周波数のうち最も低い動作周波数を用いることにより、処理はしていないがクロックを供給することで、動画像復号モジュール100において消費される不要な電力を低減することが可能となる。
FIG. 6 shows the passage of time of macroblock processing in processing of one frame of moving image. The predetermined time (T_F) assigned to decoding for one frame is determined based on the frame rate of the moving image (the number of frames displayed per second). For example, in the case of a moving image displaying L frames per second, it can be calculated as T_F = 1 / L. However, a time shorter than this
以上説明した実施の形態1により、実際のマクロブロック単位での復号処理によって生ずる余裕時間を把握し、その範囲内で、少なくとも復号部107に供給する同期クロック周波数と電源電圧を変更させて逐次復号処理を進めていくから、動画像復号処理の低消費電力化が実現できる。また、マクロブロックの最大演算量を考慮して動作周波数を算出するので、途中で処理が破綻することなく復号処理を行うことができる。
According to the first embodiment described above, the margin time generated by the actual decoding process in units of macroblocks is grasped, and within that range, at least the synchronous clock frequency and the power supply voltage supplied to the
《実施の形態2》
図7は、本発明に係る画像処理装置の別の実施の形態として、バッテリ駆動の携帯端末における動画像の復号処理を行う画像処理装置を示す。同図に示される画像処理装置70は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成されている。また、画像処理装置70は、1つの前記集積回路で構成されたものではなく、マルチチップで形成されたものでもよい。
<<
FIG. 7 shows an image processing apparatus that performs a moving image decoding process in a battery-driven portable terminal as another embodiment of the image processing apparatus according to the present invention. The
実施の形態1では、動作周波数の算出の際に用いる演算量をピクチャタイプに応ずる最大演算量(P_MAX)とした。画像処理装置70は、復号処理したマクロブロックの演算量の履歴に基づいて決まる代表演算量(P_TYP)を用いて動作周波数をダイナミックに変化可能にするものである。画像処理装置70は、実施の形態1における画像処理装置10と比較して、動作周波数をより低下させることが可能となる。
In the first embodiment, the calculation amount used when calculating the operating frequency is the maximum calculation amount (P_MAX) corresponding to the picture type. The
画像処理装置70は、動画像復号モジュール700、入力バッファ101、判別部102、制御部105、復号部107、復号バッファ108、出力バッファ109及び演算部710を備える。
The
入力バッファ101、判別部102、制御部105、復号部107、復号バッファ108及び出力バッファ109は実施の形態1と同様であるため、同一の符号を付して、その詳細な説明を省略する。
Since the
演算部710はタイマ106、MB解析部703、周波数算出部704、メモリ部705から構成される。
The
タイマ106は実施の形態1と同様であるため、同一の符号を付して、その詳細な説明を省略する。
Since the
MB解析部703は、復号の対象とするマクロブロックのマクロブロックヘッダを解析し、マクロブロックタイプを取得し、その結果をメモリ部705の処理履歴に記憶する。さらに、MB解析部703は、その情報を周波数算出部704に送る。
The
周波数算出部704は、まず、復号対象フレームの先頭のマクロブロック処理のための制御データ111の初期値を生成する。前記初期値の生成は、実施の形態1と同様に、判別部102が判別したピクチャタイプから決まる最大演算量(P_MAX)を用いて、動作周波数(f)を算出し、算出した動作周波数(f)から制御データ111を生成する。前記制御データ111は制御部105に初期値として与えられる。その後のマクロブロック復号処理からは、最大演算量(P_MAX)に代えて、代表演算量(P_TYP)を使用して動作周波数(f)の算出を行う。
First, the
代表演算量(P_TYP)は、以下の方法のより決定される。まず、周波数算出部704は、復号処理が完了したマクロブロックのマクロブロックタイプから当該マクロブロックの演算量を取得する。例えば、図2のようなマクロブロックタイプから演算量がわかる第1のテーブル104Aをメモリ部705に格納しておくことで、MB解析部703が解析したマクロブロックタイプから、第1のテーブル104Aに基づいて、当該マクロブロックの演算量がわかる。過去j個のマクロブロックの復号処理に要した演算量は、メモリ部705の処理履歴として記憶しておく。次に、取得したマクロブロックの演算量をもとに、復号処理が完了した過去j個のマクロブロックで費やした演算量の平均値を算出する。前記平均値として使用する値は、算術平均値や加重平均値でもよいし、ヒストグラムから最も頻出のマクロブロックの演算量でもよい。その後、前記平均値と次の復号対象となるマクロブロックの演算量の差分を算出する。算出された差分が、ある閾値を超えない場合には前記平均値が代表演算量(P_TYP)として設定され、差分が、ある閾値を超える場合には処理対象マクロブロックの演算量が新たな代表演算量(P_TYP)として設定される。この際、代表演算量(P_TYP)が著しく増加する場合には、復号処理の破綻の虞があるため、マクロブロックの最大演算量(P_MAX)を代表演算量(P_TYP)としてもよい。例えば、代表演算量(P_TYP)を最大演算量(P_MAX)に設定する方法として、最大演算量に設定するための別の閾値を定めておいて、前記差分がその閾値を超えた場合に代表演算量(P_TYP)を最大演算量(P_MAX)に設定するようにする。以上の方法により決定した代表演算量(P_TYP)はメモリ705に記憶される。最後に、周波数算出部704は、上記代表演算量(P_TYP)を用いて、対象マクロブロックの復号処理に使用する動作周波数(f)を式3にて決定する。
The representative calculation amount (P_TYP) is determined by the following method. First, the
f=(MB_all−n)×P_TYP/(T_F−T(n-1))・・・式3
f = (MB_all−n) × P_TYP / (T_F−T (n−1))
式3における代表演算量(P_TYP)以外のパラメータは、式1と同様である。
Parameters other than the representative calculation amount (P_TYP) in
式3を用いることにより、処理すべき全ての残りマクロブロックが、最大演算量(P_MAX)ではなく、過去の実際の処理履歴から算出した代表演算量(P_TYP)を持つとした場合の合計演算量と当該フレームに割り当てが可能な残り処理時間から動作周波数(f)が算出されるので、より動作周波数を低下させることが可能となる。また、前記差分の判別結果により代表演算量(P_TYP)を著しく増加させる場合には、最大演算量(P_MAX)を代表演算量(P_TYP)とすることで、残りマクロブロックの全てが、最大演算量(P_MAX)を持つ場合においてもマクロブロック単位での復号処理の合計時間が、1フレームに対する復号に割当てる所定時間(T_F)を超過することはない。したがって、復号処理を途中で破綻させない動作周波数(f)の変更が可能となる。
By using
動作周波数(f)が決定した後は、実施の形態1と同様の方法で制御データ111が生成され、演算部710は制御データ111を制御部105に送る。
After the operating frequency (f) is determined, the
メモリ部705は、実施の形態1における図1のメモリ部104の記憶内容に加え、MBタイプから演算量を判別する第1のテーブル104A、MB解析部703が取得した過去j個のマクロブロックタイプ、過去j個のマクロブロックの復号処理に要した演算量及び代表演算量(P_TYP)を記憶する。
The
制御部105は、実施の形態1における制御部105と同様であり、演算部710から送られた制御データ111に基づいて、復号部107に対して供給する同期クロック信号の周波数と電源電圧を変更する。なお、制御データ111に基づいてクロック信号の周波数と電源電圧を変更するブロックは、復号部107だけでもよいし、タイマ106を除いた、クロック信号を必要とする他のブロックでもよい。
The
以上説明した実施の形態2により、実際のマクロブロック単位での復号処理によって生ずる余裕時間を把握し、その範囲内で、少なくとも復号部107に供給する同期クロック周波数と電源電圧を変更させて逐次復号処理を進めていくから、動画像復号処理の低消費電力化が実現できる。さらに、実施の形態1において演算に用いたマクロブロックの最大演算量(P_MAX)に代えて代表演算量(P_TYP)を用いることで、各マクロブロックを処理するための動作周波数を実施の形態1と比較して、より低下させることが可能となり、動画像復号処理の低消費電力化が実現できる。
According to the second embodiment described above, the margin time generated by the actual decoding process in units of macroblocks is grasped, and within that range, at least the synchronous clock frequency and the power supply voltage supplied to the
《実施の形態3》
実施の形態3は、実施の形態1又は実施の形態2における制御部105の代わりに、演算部(110、710)から受け取った制御データ111をもとに動作周波数を制御して、固定の電源電圧を出力する制御部を備える、画像処理装置である。制御部以外のブロックは、実施の形態1又は実施の形態2と同様の構成である。実施の形態3における制御部は、クロック信号の周波数として選択可能な一番高い周波数を供給する上で必要な一番高い電圧を電源電圧として、あらかじめ出力しておき、そのうえで演算部(110、710)から受け取った制御データ111をもとに、クロック信号の周波数を制御する。なお、制御データ111に基づいてクロック信号の周波数と電源電圧を変更するブロックは、復号部107だけでもよいし、タイマ106を除いた、クロック信号を必要とする他のブロックでもよい。前記制御部は、例えば、制御データ111に基づいて、発振回路の出力信号を分周した周波数の中からどれかを選択し、クロック信号として出力するクロックジェネレータと、選択可能な一番高い周波数を供給する上で必要な一番高い電圧を電源電圧として出力する電源回路とからなる。
<<
In the third embodiment, instead of the
以上の実施の形態3により、電源電圧は固定であるが、マクロブロック単位での動作周波数を変更することが可能となり、動画像復号処理における消費電力の低減を実現することができる。 According to the third embodiment described above, the power supply voltage is fixed, but it is possible to change the operating frequency in units of macroblocks, thereby realizing reduction in power consumption in moving picture decoding processing.
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。例えば、本発明はMPEGやH.26X規格に準拠した動画像復号技術だけに適用可能なものではなく、その他の手法による画像処理技術にも広く適用することができる。 Although the invention made by the present inventor has been specifically described based on the embodiments, it is needless to say that the present invention is not limited thereto and can be variously modified without departing from the gist thereof. For example, the present invention is not only applicable to a moving picture decoding technique based on the MPEG or H.26X standard, but can be widely applied to an image processing technique based on other methods.
10 画像処理装置
70 画像処理装置
100 動画像復号モジュール
101 入力バッファ
102 判別部
103 周波数算出部
104 メモリ部
104A 第1のテーブル
104B 第2のテーブル
105 制御部
106 タイマ
107 復号部
108 復号バッファ
109 出力バッファ
110 演算部
111 制御データ
112 CLK・VDD
700 動画像復号モジュール
703 MB解析部
704 周波数算出部
705 メモリ部
710 演算部
DESCRIPTION OF
700 moving
Claims (11)
少なくとも前記復号部に供給する同期クロック信号の周波数を制御する制御部と、
前記動画像データのフレーム単位でピクチャタイプとマクロブロック数を判別する判別部と、
前記判別部による判別結果と前記復号部による復号処理の進行状態に従って前記制御部に与える制御データを算出する演算部と、を備え、
前記演算部は、1フレームに対する復号に割当てられた所定時間に対して復号処理の進行に従って減少する残り処理時間と前記復号部の同期クロック信号の現在の周波数との関係から得られる余裕時間の範囲内で制御データを変更する、画像処理装置。 A decoding unit that decodes the encoded moving image data in units of macroblocks according to the picture type and macroblock type of the frame;
A control unit for controlling the frequency of the synchronous clock signal supplied to at least the decoding unit;
A discriminator for discriminating the picture type and the number of macroblocks in units of frames of the moving image data;
A calculation unit for calculating control data to be given to the control unit according to a determination result by the determination unit and a progress state of a decoding process by the decoding unit;
The arithmetic unit is a margin time range obtained from a relationship between a remaining processing time that decreases as a decoding process proceeds and a current frequency of a synchronous clock signal of the decoding unit with respect to a predetermined time assigned to decoding for one frame. An image processing apparatus for changing control data within the apparatus.
フレームのピクチャタイプとマクロブロックタイプに従ってマクロブロック単位で復号する第2処理と、
前記第1処理による判別結果と前記第2処理の進行状態に従って復号部に与える制御データを算出する第3処理と
前記第3処理で算出した制御データで少なくとも復号部に供給する同期クロック信号の周波数を制御する第4処理と、を含み、
前記第3処理は、1フレームに対する復号に割当てられた所定時間に対して第2処理の進行に従って減少する残り処理時間と前記同期クロック信号の現在の周波数との関係から得られる余裕時間の範囲内で制御データを変更する処理を含む、画像処理方法。 An image processing method for decoding encoded moving image data in units of macroblocks, the first processing for determining the picture type and the number of macroblocks in units of frames of the moving image data,
A second process for decoding in macroblock units according to the picture type and macroblock type of the frame;
A third process for calculating control data to be supplied to the decoding unit according to a determination result by the first process and a progress state of the second process; And a fourth process for controlling
The third processing is within a margin time range obtained from the relationship between the remaining processing time that decreases with the progress of the second processing and the current frequency of the synchronous clock signal with respect to a predetermined time allocated for decoding for one frame. An image processing method including a process of changing control data in step (b).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009146009A JP2011004205A (en) | 2009-06-19 | 2009-06-19 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009146009A JP2011004205A (en) | 2009-06-19 | 2009-06-19 | Image processing apparatus and image processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011004205A true JP2011004205A (en) | 2011-01-06 |
Family
ID=43561774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009146009A Withdrawn JP2011004205A (en) | 2009-06-19 | 2009-06-19 | Image processing apparatus and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011004205A (en) |
-
2009
- 2009-06-19 JP JP2009146009A patent/JP2011004205A/en not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8179976B2 (en) | Control of video decoder for reverse playback operation | |
US7639743B2 (en) | Image decoder and image decoding method and program | |
KR101097636B1 (en) | Optimal power usage in encoding data streams | |
JP4851911B2 (en) | Encoding apparatus, encoding program, and encoding method | |
JP2008282150A (en) | Signal processor and signal processing system | |
US20090310678A1 (en) | Image encoding apparatus, method of controlling the same and computer program | |
US11070827B2 (en) | Transmission apparatus, transmission method, and program | |
US7149904B2 (en) | System and method for providing a power control device for a computing unit | |
US20100104010A1 (en) | Real-time rate-control method for video encoder chip | |
US20110069900A1 (en) | Random access image encoding system and method | |
JPWO2004093458A1 (en) | Moving image encoding or decoding processing system and moving image encoding or decoding processing method | |
JP5149427B2 (en) | Encoding device, decoding device, codec decoding system, encoding method, and decoding method | |
JP2006318420A (en) | Data processor for mobile information device | |
JP2006148409A (en) | Frame rate conversion method | |
US7586426B2 (en) | Image coding apparatus and method thereof | |
TWI445409B (en) | Image data compression apparatu and method | |
JP2011004205A (en) | Image processing apparatus and image processing method | |
CN115460458B (en) | Video frame loss method and device | |
JP6258348B2 (en) | Display control device | |
US20120307881A1 (en) | Image coding device, image coding/decoding system, image coding method, and image display method | |
US8649617B2 (en) | Image decoding apparatus and non-transitory computer readable medium | |
JP4591549B2 (en) | Reproduction processing apparatus, reproduction processing method, and program | |
US20170324967A1 (en) | Method for controlling bitstream decoding and associated bitstream decoding circuit | |
US20230079090A1 (en) | Systems and Methods for Multi-Pipe Scheduling During Image Decoding | |
JP2001298734A (en) | Video signal coding method and its device, and computer- readable recording medium for recording video signal coding program |
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: 20120904 |