JP2006050561A - 画像処理装置 - Google Patents
画像処理装置 Download PDFInfo
- Publication number
- JP2006050561A JP2006050561A JP2005167354A JP2005167354A JP2006050561A JP 2006050561 A JP2006050561 A JP 2006050561A JP 2005167354 A JP2005167354 A JP 2005167354A JP 2005167354 A JP2005167354 A JP 2005167354A JP 2006050561 A JP2006050561 A JP 2006050561A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- image processing
- encoding
- processing
- reconfiguration
- 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
Abstract
【課題】 小規模なゲート数で、高速かつ柔軟な画像処理を実現すること。
【解決手段】 同時に実行する必要のない複数の工程を含む画像処理を行う画像処理装置において、同時に実行する必要のない工程に用いる処理回路を、動的再構成回路を用いて時分割的に再構成する。ゲート数を増加させることなく、複数の回路を実現することができる上、ハードウエアによる処理であるから、処理速度も高速である。
【選択図】 図1
【解決手段】 同時に実行する必要のない複数の工程を含む画像処理を行う画像処理装置において、同時に実行する必要のない工程に用いる処理回路を、動的再構成回路を用いて時分割的に再構成する。ゲート数を増加させることなく、複数の回路を実現することができる上、ハードウエアによる処理であるから、処理速度も高速である。
【選択図】 図1
Description
本発明は、画像処理装置に関し、特に同時に実行する必要のない工程を複数実行して画像処理を行う画像処理装置に関する。
静止画像或いは動画像の圧縮・伸張処理は負荷が重いため、高速に処理を行うには専用のハードウエア(ハードウエアコーデック)を用いる必要があるが、コストがかかる、実装面積が増加するなどの面で不利である。一方、近年では汎用マイクロプロセッサの能力情報を背景に、処理速度の面では劣るが、コスト面で有利なソフトウエアと汎用マイクロプロセッサとの組み合わせにより圧縮・伸張処理を行うソフトウエアコーデックが利用される機会も増加している。
そして、必要とする性能とコストを勘案して、パフォーマンス(処理速度)・低消費電力化を重視する場合(又はソフトウエアコーデックでは処理できない場合)にはハードウエアコーデックを、パフォーマンスよりもコスト・柔軟性を重視する場合や、ハードウエアコーデック程の能力を必要としない場合にはソフトウエアコーデックを用いるのが一般的である。
動画像の圧縮・伸張処理の負荷は、処理すべき画像の階調数及びサイズ(1画面又はフレームあたりの画素数)と、静止画の場合は応答時間、動画の場合はフレームレートによって決まる。例えば、画像サイズがVGA(640画素×480ライン=307200ピクセル)で、フレームレートが30フレーム/sの動画の場合、RGB各色8ビットの階調を有するとして、640×480×3×8×30=221.184Mbpsのデータ処理速度が要求される。
例えば、通常の100ns程度のアクセスタイム、16ビット幅のバスを有するメモリを使用した場合、バス帯域は16×10M=160Mbpsしかないので、バスを100%の効率で使用できたとしても、汎用マイクロプロセッサとソフトウエアの組み合わせでは処理しきれない。実際にはバスを100%の効率で使用することは困難であり、またマイクロプロセッサでの処理時間なども必要であるため、処理能力の不足分はより大きくなる。従って、このようなハードウエア構成のコンピュータ装置を用いてVGAサイズのフルカラー動画像を30フレーム/sの速度で処理するためには、ハードウエアコーデックを用いる必要がある。
なお、以上の説明は圧縮処理(符号化処理)、伸張処理(復号化処理)の両方を行うコーデックだけでなく、何れかのみを行うエンコーダ、デコーダについても当てはまる。
図8に、従来のハードウエアエンコーダの一例としてのMPEGフレーム間予測符号化回路の構成例を示す。
800は、MPEGフレーム間予測符号化回路である。801はフレームメモリ、802は動き検出回路(以下、ME(Motion Estimation)と呼ぶ)、803は動き補償回路(以下、MC(Motion Compensation)と呼ぶ)、804は離散コサイン変換回路(以下、DCT(Discrete Cosine Transform)と呼ぶ)、805は量子化回路(以下、Q(Quantization)と呼ぶ)、806は可変長符号化回路(以下、VLC(Variable Length Coding)と呼ぶ)、807は逆量子化回路(以下、Q-1(Inverse Quantization)と呼ぶ)、808は逆離散コサイン変換回路(以下、IDCT(Inverse Discrete Cosine Transform)と呼ぶ)である。
800は、MPEGフレーム間予測符号化回路である。801はフレームメモリ、802は動き検出回路(以下、ME(Motion Estimation)と呼ぶ)、803は動き補償回路(以下、MC(Motion Compensation)と呼ぶ)、804は離散コサイン変換回路(以下、DCT(Discrete Cosine Transform)と呼ぶ)、805は量子化回路(以下、Q(Quantization)と呼ぶ)、806は可変長符号化回路(以下、VLC(Variable Length Coding)と呼ぶ)、807は逆量子化回路(以下、Q-1(Inverse Quantization)と呼ぶ)、808は逆離散コサイン変換回路(以下、IDCT(Inverse Discrete Cosine Transform)と呼ぶ)である。
フレームメモリ801は、数フレーム分の画像データを格納するメモリである。ME802は、フレーム間の画像の時間的な相関を利用して、近似する参照画像ブロックに対する符号化対象画像ブロックのフレーム内の位置変化の方向と量(これを動きベクトルと呼ぶ)を検出する。MC803は、参照フレーム内の符号化対象画像ブロックの位置から動きベクトル分ずらした画像ブロックを参照画像ブロックとして用いて、フレーム間予測符号化を行う。DCT804は、画像が空間的に相関が高い(画像内の近接した領域は類似の色調や輝度である可能性が高い)ことを利用して、画素値に2次元の周波数変換を行い、DCT係数を出力する。そして、Q805においてDCT係数を量子化する際、高周波成分のDCT係数に対する量子化ステップを低周波成分に対する量子化ステップよりも大きくすることで高周波成分の情報量を削減する。Q805の出力はVLC806へ与えられる他、Q-1807とIDCT808から構成されるローカルデコーダ809へも与えられる。
VLC806は出現頻度の偏りを利用して出現頻度の高い情報源に短い符号長の符号を割り当てて総符号量の削減を図る所謂エントロピー符号化を行う。これにより、符号化データ量をさらに削減する。VLC806の出力は符号化結果として出力される。
Q-1807は、逆量子化処理を行い、DCT係数を得る。IDCT808はDCTの逆変換を行い、復号結果である画素値(予測誤差値)を得る。
Q-1807は、逆量子化処理を行い、DCT係数を得る。IDCT808はDCTの逆変換を行い、復号結果である画素値(予測誤差値)を得る。
MPEGフレーム間予測符号化においては、符号化回路内に、Q-1807、IDCT808からなる復号化回路に相当するローカルデコーダ809を内蔵している。符号化回路に復号化回路に相当する構成が必要なのは、動き補償フレーム間予測符号化方式が、次フレームの画像に対する予測誤差に基づくDCT係数と動き位置ベクトル情報のみを符号化して伝送し、符号量を削減する符号化方式であることによる。つまり、この方式では復号化回路には符号化回路で用いた入力原画像は伝達されず、復号化回路では前フレームの復元画像(復元用予測画像)に対して伝送された予測誤差を加算して次フレームの復元画像を生成せざるを得ない。そして、量子化誤差により復元画像は元の画像と同一ではない。そのため、符号化回路においても、前フレームの入力画像と次フレームの入力画像との差分ではなく、復号化回路が行うように、符号化データを復号化した前フレームの復元画像(符号化用予測画像)と次フレームの入力画像との差分を予測誤差として伝送しないと、復号画像の品質が悪化するためである。
通常、人間の視覚は輝度に比して色差に対して鈍感な為、Y(輝度)、U(赤の色差)、V(青の色差)信号としてUVの空間解像度をYの1/4に落とした4対2対0YUVフォーマットが用いられる。1画素当たりのビット数は(1+1/4+1/4)×8=12ビットとなる。そして、8画素×8ラインのブロックを基本単位として、Y信号の基本単位4ブロックと、U、V信号の基本単位各1ブロックを合わせて、マクロブロックと呼び、このマクロブロックをフレーム間予測の処理単位とする。尚、上記8画素×8ラインのブロックから成る基本単位は、DCT処理の処理単位である。
そして、このマクロブロック処理期間の前半に、ローカルデコーダ809により、量子化されたDCT係数を逆量子化してDCT係数を復元した後、DCT係数から符号化用予測誤差を復元し、当該符号化用予測誤差と前フレーム予測画像とから符号化用予測画像を作成する。マクロブロック処理期間の後半に、符号化用予測画像と入力画像から次フレームの予測誤差を作成し、当該予測誤差からDCT係数を作成し、量子化した後、VLCして符号化する。
また、符号化処理回路をハードウエアで実現する場合は、ゲート規模低減の様々な工夫がなされていた。例えば、JPEGおよびMPEGで採用されている直交変換処理の2次元DCT(離散コサイン変換)は、(式1−1)によって表される。この演算を8画素×8ラインのマクロブロックに対して実行した場合について考える。この場合N=8であり、x、yに対するΣを展開して(式1−3)のように変形すると、1組の(u,v)に対して2×8×8=128回の乗算と(8×8−1)=63回の加算が必要となる。これを64組の(u,v)に対して行う必要があるため、結果として128×64=8192回の乗算と、63×64=4032回の加算が必要となり、これを実現する為のゲート規模は大規模なものとなる。
(式1−1)に示される2次元DCT演算は、1次元DCTを表す(式2−1)及び(式2−3)を用いて、(式3−1)及び(式3−2)に示すような、1次元DCT演算の組み合わせとして表すことができる。つまり、(式1−1)の2次元DCT演算は、まず行方向に(uに関して)1次元のDCT演算処理を行い、各行に関してDCT演算処理したデータを転置した後、列方向に(vに関して)1次元DCT演算処理を行うことにより演算することができる。
この場合、まず、(式3−1)の演算を行う為に、1組の(u,y)についてxのΣの中で8回の乗算と7回の加算が必要となり、これを、u=0、…、7、y=0、…、7の各組み合わせ、計64組に対して実行するので、8×8×8=512回の乗算と、7×8×8=448回の加算が必要となる。
次に、(式3−2)の演算を行う為には、1組の(u,v)についてyのΣの中で8回の乗算と7回の加算が必要となり、これを、u=0、…、7、v=0、…、7の各組み合わせ、計64組に対して実行するので、8×8×8=512回の乗算と、7×8×8=448回の加算が必要となる。従って、(式3−1)と(式3−2)の各々行、列の1次元DCT演算を合わせると、8×8×8×2=1024回の乗算と、7×8×8×2=896回の加算で実現することができ、前述した(式1−1)をそのまま展開して演算する場合に比して、乗算で1/8、加算で約1/4に演算量を削減することができる。
また、特許文献1(特開平7―177039号公報)には、可変長符号化(VLC)の一方式であるハフマン符号化・復号化を行う装置において、復号時に用いるハフマン符号のテーブルを格納するために必要なメモリ容量を小さくする技術が開示されている。
しかし、可変長符号化処理は図8に示した符号化回路のごく一部に過ぎず、この部分でメモリ容量を削減しても、ゲート数削減の根本的な対策とは言えなかった。例えば、図8に示すMPEGフレーム間予測符号化回路の各回路ブロックの回路規模は、MEとMCを併せておよそ5〜6万ASICゲート、DCT、IDCT、Q、Q-1ハードウエアが各々およそ1.5万ASICゲート、VLCがおよそ3万ASICゲートとなり、合計14〜15万ASICゲートの回路規模を要し、ゲート規模が大きくなりチップのコストが高くなってしまうのは避けられなかった。
一方、近年、極めて短時間に内部構成を書き換え可能なダイナミック・リコンフィギュアブル・プロセッサ(動的再構成プロセッサ)が発表されている。従来、回路構成を変更可能なデバイスとしては、ルックアップテーブル等からなるプリミティブな回路を単位として様々な機能に再構成可能なFPGA(Field Programmable Gate Array)が良く知られている。但し、FPGAは回路構成の書き換えに通常1分程度の時間を要し、クロック毎に動的に再構成するようなことはできなかった。これに対して、動的再構成プロセッサは、再構成する回路単位を乗算器等ある程度まとまった演算回路とするとともに、その他高速化の工夫を行うことにより、1クロック(例えば10ns)毎に回路構成を書き換え可能にしている。
このような、動的再構成プロセッサを応用したものとしては、例えば、特許文献2(特開2000−102005号公報)には、画像の濃度値に応じて最適な演算器構成を動的再構成する技術が開示されている。
このように、静止画像或いは動画像の圧縮・伸長処理を、汎用プロセッサとソフトウエアにより実現する場合には、低コストで柔軟性があるが、処理速度が遅い。また、ハードウエアで実現する場合に比して、消費電力が大きいという課題があった。一方、ハードウエアにより実現する方法は、処理速度が速く、またソフトウエア処理で実現する場合よりも消費電力が小さいが、必要なゲートサイズが大きく、チップのコストが高い、また実装面積が大きいという課題があった。
本発明はこれらの課題を解決し、小規模なゲート数で、高速かつ柔軟な画像処理を実現することを目的とする。
上述の目的は、複数の工程から成る所定の画像処理を行う画像処理装置において、動的再構成が可能な動的再構成回路と、動的再構成回路を用いて構成する複数の回路情報を記憶する再構成情報記憶手段と、動的再構成回路により構成する回路を変更する再構成タイミングを検出する再構成タイミング検出手段と、再構成タイミングの検出に応答して、動的再構成回路により構成すべき回路に対応する回路情報を再構成情報記憶手段から読み出し、動的再構成回路を再構成する制御手段とを有し、再構成タイミング検出手段が、複数の工程のうち、処理すべき時間が独立している工程の開始タイミング又は終了タイミングを検出することを特徴とする画像処理装置によって達成される。
このような構成により、本発明によれば、小規模なゲート数で、高速かつ柔軟な画像処理を実現することができる。
以下、添付図面に従って、本発明をその好適な実施形態に基づき詳細に説明する。
まず、具体的な実施形態の説明を行う前に、本発明の原理について説明する。本発明に係る画像処理回路は、複数の工程から成る一連の処理を実行することによって、画像圧縮・伸張等の負荷の重い処理を実現する画像処理回路であって、実行する処理期間が異なる(処理すべき時間が独立している)2つ以上の異なる処理工程を実行する回路を動的再構成技術を用いて実現する。これにより、従来、各々独立に用意していた処理回路を、1つの動的再構成回路を時分割に用いて実現することにより、回路規模を削減し、高パフォーマンス(高速処理)、低消費電力、低コスト(小ゲート規模)、柔軟性を同時に実現するのである。
まず、具体的な実施形態の説明を行う前に、本発明の原理について説明する。本発明に係る画像処理回路は、複数の工程から成る一連の処理を実行することによって、画像圧縮・伸張等の負荷の重い処理を実現する画像処理回路であって、実行する処理期間が異なる(処理すべき時間が独立している)2つ以上の異なる処理工程を実行する回路を動的再構成技術を用いて実現する。これにより、従来、各々独立に用意していた処理回路を、1つの動的再構成回路を時分割に用いて実現することにより、回路規模を削減し、高パフォーマンス(高速処理)、低消費電力、低コスト(小ゲート規模)、柔軟性を同時に実現するのである。
図1は、本発明に係る画像処理装置の基本動作フローを示したものである。
図1は、例として、2つの異なる期間(各々処理期間1、処理期間2とする)に、各々の処理(処理1、処理2とする)を実行する場合の動作フローを示したものである。
S100で、処理期間1を検出すると、S101に進み、後述する制御部202の制御により、処理期間1用の再構成情報1を後述する再構成情報記憶部203より読み出して、当該再構成情報1に基づき、処理回路1を後述する動的再構成回路201に動的に再構成する。
続いて、S102で、処理期間1に、動的再構成された処理回路1が所定の処理1を実行し、S103に進む。また、S100において、処理期間1を検出しなかった場合も同様にS103に進む。S103で、処理期間2を検出すると、S104に進み、制御部202の制御により、処理期間2用の再構成情報2を再構成情報記憶部203より読み出して、当該再構成情報2に基づき、処理回路2を動的再構成回路201に動的に再構成する。続いて、S105で、処理期間2に、動的再構成された処理回路2が所定の処理2を実行し、S100に戻る。S103で、処理期間2を検出しなかった場合は、S100に戻る。
●(第1の実施形態)
次に、図1で説明した基本動作を具体的な処理に適用した実施形態として、MPEGフレーム間予測符号化回路に動的再構成手段を適用し、マクロブロック処理期間の前半と、後半に異なる処理回路を動的再構成して、回路規模削減を実現する例を説明する。
次に、図1で説明した基本動作を具体的な処理に適用した実施形態として、MPEGフレーム間予測符号化回路に動的再構成手段を適用し、マクロブロック処理期間の前半と、後半に異なる処理回路を動的再構成して、回路規模削減を実現する例を説明する。
図2は、第1の実施形態に係る画像処理回路としてのMPEGフレーム間予測符号化回路の主要構成を示す。尚、図2において、図8と共通する構成には同じ参照番号を使用し、説明を省略する。
図において、201は動的再構成回路、202は動的再構成回路の制御部、203は動的再構成する回路の情報を格納する再構成情報記憶部、204は制御部の制御プログラムを格納する制御情報記憶部、205はマクロブロック再構成タイミング検出部である。動的再構成回路201は動的再構成可能なプロセッサアレイ等から構成される。制御部202は、通常のCPU等から構成される。再構成情報記憶部203、制御情報記憶部204は、通常のフラッシュメモリ等の不揮発性メモリから構成される。また、208は動的再構成回路との間で中間情報をやり取りする為の中間情報記憶部である。
本実施形態において、マクロブロック再構成タイミング検出部205は、マクロブロック処理期間の前半(図1における処理期間1に相当)と、後半(同処理期間2に相当)の開始タイミングを検出するものとする。動的再構成回路201は、再構成可能な演算器206と、接続を切り替える1対のスイッチ(以下、SWと呼ぶ)207とから成る。801はフレームメモリ、802はME、803はMC、806はVLCであり、これらは図8の構成と同様であり、説明を省略する。
図3は、本実施形態に係る予測符号化回路のマクロブロック処理期間前半(図3(a))及び後半(図3(b))の構成を示す。本実施形態では、図2における動的再構成回路201に、マクロブロック処理期間の前半ではローカルデコーダを、マクロブロック処理期間の後半では符号化処理部をそれぞれ動的再構成する。
図4は、図3に示す構成を有する符号化回路の動作フローである。
以下、図3及び図4に従って本実施形態のMPEGフレーム予測符号化回路の動作を説明する。
S400で、マクロブロック再構成タイミング検出部205によりマクロブロック処理期間の前半の開始タイミングが検出されると、当該情報が制御部202に割り込み等で通知され、S401で、制御部202は、制御情報記憶部204に格納されたプログラムに基づいて、再構成情報記憶部203よりQ-1807、IDCT808から成るローカルデコーダ809の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路201の演算器206、SW207により、ローカルデコーダを動的再構成させる。
以下、図3及び図4に従って本実施形態のMPEGフレーム予測符号化回路の動作を説明する。
S400で、マクロブロック再構成タイミング検出部205によりマクロブロック処理期間の前半の開始タイミングが検出されると、当該情報が制御部202に割り込み等で通知され、S401で、制御部202は、制御情報記憶部204に格納されたプログラムに基づいて、再構成情報記憶部203よりQ-1807、IDCT808から成るローカルデコーダ809の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路201の演算器206、SW207により、ローカルデコーダを動的再構成させる。
そして、S402で、図8を用いて説明したように、Q-1807、IDCT808から成るローカルデコーダにより、前マクロブロック周期後半に中間情報記憶部208に格納された、量子化されたDCT係数を逆量子化してDCT係数を復元した後、DCT係数から符号化用予測誤差を復元し、当該符号化用予測誤差と前フレーム復元画像とから符号化用予測画像を作成する。その他、図4には示していないが、マクロブロック処理期間の前半には、ME802により動きベクトルが検出され、MC803により当該マクロブロックの動きベクトルに基づく動き補償が行なわれ、動き補償された符号化予測画像がフレームメモリ801に格納される。
次に、S403で、マクロブロック再構成タイミング検出部205によりマクロブロック処理期間の後半の開始タイミングが検出されると、当該情報が制御部202に割り込み等で通知され、S404で、制御部202は、制御情報記憶部204に格納されたプログラムに基づいて、再構成情報記憶部203よりDCT804、Q805から成る符号化処理部の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路201の演算器206、SW207により、符号化処理部を動的再構成させる。そして、S405で、図8を用いて説明したように、DCT804、Q805から成る符号化処理部により、フレームメモリ801に格納した符号化用予測画像と入力画像との予測誤差からDCT係数を生成し、量子化し、中間情報記憶部208に格納する。その他、図4には示していないが、マクロブロック周期の後半には、VLC806により、当該マクロブロックに対するDCT係数及び動きベクトルが、出現頻度に応じて、可変長符号化される。
以上説明したように、本実施形態においては、MPEGフレーム間予測符号化回路のマクロブロック処理期間の前半と後半に、各々ローカルデコーダと符号化処理部を動的再構成することにより、各々約3万ASICゲートの規模を要するローカルデコーダと符号化処理部をそれぞれ用意しておく従来の構成に比して、3万ASICゲート程度の回路規模削減が実現できる。尚、動的再構成回路201制御用の制御部202の処理負荷は数MIPS程度、制御情報用記憶部204、再構成情報記憶部203に要する容量は数kByte程度であり、当該MPEGフレーム間予測符号化回路200を包含する画像処理装置自体の制御部及び制御情報用記憶部、データ用記憶部に容易に実装可能であり、回路規模の増大の要因になることはない。
また、扱う画像サイズをVGA(640画素×480ライン)、フレームレートを30フレーム/sとすると、最低16×16/(640×480×30)=27.8μs以内に1マクロブロックを符号化処理する必要がある。復号化処理も同時に実行する等のオーバーヘッド等を考慮すると、更に半分以下の時間以内に処理する必要がある。近年発表された高速のリコンフィギュアプロセッサは最大100MHz動作で、1クロック(10ns)で再構成可能であるので、このような高速なプロセッサを用いれば、マクロブロック処理期間の前半と後半で上述した動的再構成を行うことは十分可能である。
なお、図2に示した回路構成は単なる一例であり、制御部、再構成情報記憶部の構成等、他のアーキテクチャーでも構わないことは言うまでもない。
また、本実施形態においては、Q-1807、IDCT808から成るローカルデコーダ809と、DCT804、Q805から成る符号化処理部の両処理回路を異なる期間に動的再構成するものとしたが、動的再構成の対象とする回路も本実施形態に限定されるものではなく、符号化・復号化処理工程のうち、異なる期間に実行される処理工程であれば、当該処理工程に対応する処理回路を動的再構成の対象として良いことは言うまでもない。例えば、MPEGフレーム間予測符号化回路においては、動き検出工程、動き補償工程、直交変換(DCT)工程、量子化(Q)工程、逆量子化(Q-1)工程、逆直交変換(IDCT)工程、可変長符号化(VLC)工程の中から異なる期間に実行される2つ以上の異なる工程に対応する処理回路を動的再構成の対象にしても良い。
また、本実施形態においては、動的再構成を切り替える処理期間はマクロブロック処理期間の前半と後半としたが、動的再構成を切り替える処理期間も本実施形態に限定されるものではなく、符号化・復号化処理工程のうち、実行する処理期間が異なる2つ以上の異なる符号化処理工程に対して、各々の処理期間に、対応する処理回路を動的再構成しても良いことは言うまでもない。
また、本実施形態においては、Q-1807、IDCT808から成るローカルデコーダ809と、DCT804、Q805から成る符号化処理部の両処理回路を異なる期間に動的再構成するものとしたが、DCT804とIDCT808は共通部分をDCT/IDCT共通回路として予め用意し、当該DCT/IDCT共通回路とIDCT808との差分回路及び当該DCT/IDCT共通回路とDCT804との差分回路を各々動的再構成するようにしても良い。
以上説明したように、本実施形態によれば、小規模なゲート数で、高速かつ柔軟な画像処理を実現することが可能である。
●(第2の実施形態)
図5に、本発明の第2の実施形態の構成を示す。尚、図5において、図2又は図8と共通する構成には同じ参照数字を用いた。
図において、201は動的再構成回路、202は動的再構成回路の制御部、203は動的再構成する回路の情報を格納する再構成情報記憶部、204は制御部の制御プログラムを格納する制御情報記憶部、205はマクロブロック再構成タイミング検出部である。本実施形態においても、マクロブロック再構成タイミング検出部205は、マクロブロック処理期間の前半と、後半の開始タイミングを検出するものとする。動的再構成回路201は、再構成可能な演算器206と、接続を切り替えるスイッチ(以下、SWと呼ぶ)207とから成る。801はフレームメモリ、803はMC、804はDCT、805はQ、807はQ-1、808はIDCTである。
図5に、本発明の第2の実施形態の構成を示す。尚、図5において、図2又は図8と共通する構成には同じ参照数字を用いた。
図において、201は動的再構成回路、202は動的再構成回路の制御部、203は動的再構成する回路の情報を格納する再構成情報記憶部、204は制御部の制御プログラムを格納する制御情報記憶部、205はマクロブロック再構成タイミング検出部である。本実施形態においても、マクロブロック再構成タイミング検出部205は、マクロブロック処理期間の前半と、後半の開始タイミングを検出するものとする。動的再構成回路201は、再構成可能な演算器206と、接続を切り替えるスイッチ(以下、SWと呼ぶ)207とから成る。801はフレームメモリ、803はMC、804はDCT、805はQ、807はQ-1、808はIDCTである。
本実施形態においては、図6に示すように、マクロブロック処理期間の前半にME802を動的再構成し、マクロブロック処理期間の後半にVLC806を動的再構成する点で第1の実施形態のMPEGフレーム予測符号化回路と異なる。
図7に本実施形態に係る符号化回路の動作フローを示す。
以下、図6及び図7に従って、本実施形態のMPEGフレーム予測符号化回路の動作を説明する。
S700で、マクロブロック再構成タイミング検出部205によりマクロブロック処理期間の前半の開始タイミングが検出されると、当該情報が制御部202に割り込み等で通知される。S701で、制御部202は、制御情報記憶部204に格納されたプログラムに基づいて、再構成情報記憶部203よりME802の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路201の演算器206、SW207により、ME802を動的再構成させる。
以下、図6及び図7に従って、本実施形態のMPEGフレーム予測符号化回路の動作を説明する。
S700で、マクロブロック再構成タイミング検出部205によりマクロブロック処理期間の前半の開始タイミングが検出されると、当該情報が制御部202に割り込み等で通知される。S701で、制御部202は、制御情報記憶部204に格納されたプログラムに基づいて、再構成情報記憶部203よりME802の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路201の演算器206、SW207により、ME802を動的再構成させる。
そして、S702で、ME802により、当該マクロブロックと、参照フレーム内で最も近似度の高いマクロブロックを探索し、動きベクトルを検出する。その他、図7には示していないが、マクロブロック周期の前半には、Q−1807、IDCT808から成るローカルデコーダにより、前マクロブロック処理周期後半で中間情報記憶部208に記憶された、量子化されたDCT係数の逆量子化によりDCT係数が復元され、DCT係数から符号化用予測誤差が復元される。そして、当該符号化用予測誤差と前フレーム復元画像とから符号化用予測画像が作成され、MC803により当該マクロブロックの当該動きベクトルに基づく動き補償が行われ、動き補償された符号化予測画像がフレームメモリ801に格納される。
次に、S703で、マクロブロック再構成タイミング検出部205によりマクロブロック処理期間の後半の開始タイミングが検出されると、当該情報が制御部202に割り込み等で通知され、S704で、制御部202は、制御情報記憶部204に格納されたプログラムに基づいて、再構成情報記憶部203よりVLC806の再構成情報を読み出して、当該再構成情報に基づき、動的再構成回路201の演算器206、SW207により、VLC806を動的再構成させる。そして、S705で、VLC806により、当該マクロブロックに対するDCT係数および動きベクトルを出現頻度に応じて可変長符号化して、符号化信号として出力する。その他、図7には示していないが、マクロブロック周期の後半には、符号化処理部により、フレームメモリ801に格納された符号化用予測画像と入力画像との予測誤差からDCT係数が生成され、量子化され、中間情報記憶部208に格納される。
このように、ME802と、VLC806の両処理回路を異なる期間に動的再構成する本実施形態においても第1の実施形態と同様の効果が実現できる。
また、第1の実施形態と第2の実施形態とを組み合わせ、マクロブロック処理期間の前半にMEとローカルデコーダを、後半に符号化処理部とVLCを動的再構成しても良い。
また、第1の実施形態と第2の実施形態とを組み合わせ、マクロブロック処理期間の前半にMEとローカルデコーダを、後半に符号化処理部とVLCを動的再構成しても良い。
また、本実施形態においても第1の実施形態と同様、動的再構成を切り替える処理期間はマクロブロック処理期間の前半と後半としたが、動的再構成を切り替える処理期間も本実施形態に限定されるものではなく、符号化・復号化処理工程のうち、実行する処理期間が異なる2つ以上の異なる符号化処理工程に対して、各々の処理期間に、対応する処理回路を動的再構成しても良いことは言うまでもない。
●(第3の実施形態)
図9に、本発明の第3の実施形態の構成を示す。尚、図9において、第2の実施形態で説明した図5と共通する構成には同じ参照数字を用いた。
図9に、本発明の第3の実施形態の構成を示す。尚、図9において、第2の実施形態で説明した図5と共通する構成には同じ参照数字を用いた。
本実施形態においては、スループット情報検出部209を設け、要求されるスループットに応じて動的再構成により生成する回路の機能及び規模を決定する。すなわち、単機能を実現する回路であれば、そのスループットは回路規模の増大と共に上昇するので、高スループットが必要な場合には回路規模を大きくする。しかしながら、ある機能を実現するための回路規模を大きくすると、他の機能を実現するための回路を構成するための資源が少なくなる。そのため、再構成の回数を増やして対処する。
具体的には、要求される処理がQVGA(320画素×240ライン)サイズの画像を15fpsで符号化する場合は低スループットで良く、求められるデータ処理速度も27Mbps程度である。従って、回路の動作スピードの条件も比較的緩く、比較的回路規模の小さい回路を選択して、複数の処理工程に対応する回路を1回で動的再構成することが可能となる。例えば、MPEG2符号化処理の動き検出(ME)及び動き補償(MC)を行う回路をマクロブロック処理期間の前半に動的再構成して実行し、後半にDCT、Q、IDCT、Q−1、VLCの各処理を行う回路を動的再構成して実行することができる。
一方、要求される処理がフルカラー(24ビット/画素)、VGA(640画素×480ライン)サイズの画像を60fpsで符号化する場合は高スループットである必要がある。この場合、求められるデータ処理速度も442Mbps程度と大幅に高くなる。そのため、回路の動作スピードの条件も比較的厳しく、動作速度を優先して比較的回路規模の大きな回路を選択して動的再構成することになる。
この結果、1回の動的再構成で実現される回路の種類が減少すれば、必要な動的再構成の回数も増大する。例えば、MPEG2符号化処理の工程で言えば、上述の低スループット時には2回の動的再構成で済む。しかし、高スループット時には、例えば(1)MEとMC、(2)DCTとIDCT、(3)QとQ−1、(4)VLCの4回の動的再構成が必要となる。
また、要求されるスループットにより、低スループットの場合はマクロブロック周期も相対的に長くて良いが、高スループットの場合はマクロブロック周期も相対的に短くすることも場合によっては必要である。
図10は、第3の実施形態のMPEGフレーム予測符号化回路における、低スループット時の構成を示す。また、図11A、図11Bは、第3の実施形態のMPEGフレーム予測符号化回路における、高スループット時の構成を示す。
これらの図において、図9と共通する構成には同じ参照数字を用いた。
これらの図において、図9と共通する構成には同じ参照数字を用いた。
図において、201は動的再構成回路、202は動的再構成回路の制御部、203は動的再構成する回路の情報を格納する再構成情報記憶部、204は制御部の制御プログラムを格納する制御情報記憶部、205はマクロブロック再構成タイミング検出部である。本実施形態においては、再構成情報記憶部203には、要求されるスループットに応じて、マクロブロック処理期間の中の各部分期間において各工程に対応した動的再構成すべき回路構成情報を格納しているものとする。すなわち、同じ機能を実現する回路について、異なる回路規模(=処理速度)の構成が複数種格納されている。
そして、209は不図示のユーザインタフェース等を介して入力される要求スループット情報を検出し、制御部202に出力するスループット検出部である。当該スループット情報検出部により検出される要求されるスループットに応じて、制御部202が再構成情報記憶部203の対応する構成情報を選択するものとする。
マクロブロック再構成タイミング検出部205は、要求されるスループット(処理性能)に応じて、再構成のタイミングを検出する。本実施形態においては、低スループット時にはマクロブロック処理期間を2分割した前半期間と後半期間の各開始タイミングを検出する。また、高スループット時には、マクロブロック処理期間を4分割した第一期間、第二期間、第三期間、第四期間の各開始タイミングを検出する。
また、スループットに応じて、マクロブロック周期自体の長さも異なるものとする。動的再構成回路201は、再構成可能な演算部206と、接続を切り替えるスイッチ(以下、SWと呼ぶ)207とから成る。801はフレームメモリである。
807及び809〜812は演算部206の再構成して実現される回路を示している。809はME&MC、810はDCT&Q&Q-1&IDCT&VLC、811はDCT&IDCT、812はQ&Q-1、807はVLCである。
図10(a)及び(b)に示すように、本実施形態においては、低スループット時は、マクロブロック処理周期の前半にME&MCを動的再構成して当該処理を実行し、後半にDCT、Q、Q-1、IDCT及びVLCを動的再構成して実行するように制御する。
一方、高スループット時は、図11A及び図11Bに示すように、マクロブロック処理期間の第一期間にME及びMCを動的再構成して当該処理を実行し(図11A(a))、第二期間にはDCT及びIDCTを動的再構成して当該処理を実行する(図11A(b))。そして、第三期間にQ及びQ-1を動的再構成して当該処理を実行し(図11B(a))、第四期間にVLCを動的再構成して実行するように制御する(図11B(b))。
これらの制御は、第2の実施形態で図7のフローチャートを参照して説明した手順と同様にして実現できる。すなわち、低スループットの場合は処理期間前半と後半で再構成する回路の種類が異なる点のみ相違する。また、高スループットの場合には、処理期間の切り替わりの検出回数が2回から4回になること、検出後に再構成する回路の種類が異なることのみが異なる。
このように、本実施形態によれば、符号化処理の要求スループットが低い場合は、所定周期内の動的再構成回数を減少させることにより、動的再構成に係る処理負荷を低減し、他の処理へ負荷を割くことができるという効果もある。例えば、動的再構成回路の制御部が、動的再構成回路に符号化を実行させながら、他のグラフィック処理を行う等が実現できる。
また、符号化処理の要求スループットが低い場合は、所定周期内の動的再構成回数を減少させることにより、再構成データのロード或いは中間記憶回路の書込み及び読み出し回数が減少し、消費電力を低減することができるという効果もある。
また、符号化処理の要求スループットが高い場合にも柔軟に対処できるため、様々な入力信号に対する処理を1つの構成で実現することができる。従って、本実施形態によれば、スループットによらず、第1、2の実施形態と同様、各工程のための回路を並列に有する構成に比べて、小規模なゲート数で、高速かつ柔軟な画像処理を実現することが可能であるという効果がある。
(他の実施形態)
なお、上述の実施形態においては、発明をわかりやすくするため、動的再構成回路の構成内容をマクロブロック処理の前半と後半とで切り替えるものとして説明した。しかし、ここでの「前半」及び「後半」とは、マクロブロック処理期間を2等分していることを意味するものとは限らない。例えば、マクロブロック処理が復号化処理と符号化処理からなる場合、これら2つの処理に要する時間は等しくないこともある。この場合、再構成を行うタイミングはマクロブロック処理期間の中間時点ではないが、便宜上そのような表現を用いている。
なお、上述の実施形態においては、発明をわかりやすくするため、動的再構成回路の構成内容をマクロブロック処理の前半と後半とで切り替えるものとして説明した。しかし、ここでの「前半」及び「後半」とは、マクロブロック処理期間を2等分していることを意味するものとは限らない。例えば、マクロブロック処理が復号化処理と符号化処理からなる場合、これら2つの処理に要する時間は等しくないこともある。この場合、再構成を行うタイミングはマクロブロック処理期間の中間時点ではないが、便宜上そのような表現を用いている。
上述の実施形態においては、所定の処理期間に動的再構成する処理回路が予め決まっていたが、処理負荷、スループット、圧縮率といった一般的に測定可能な指標や、予め定めた符号化難易度(例えば、測定可能な複数の指標の組み合わせにより定義することができる)等の所定の指標に基づいて、所定の処理期間に動的再構成する処理回路を決定しても良い。
例えば、符号化難易度は、時間方向の圧縮に関しては動きが激しい場合符号化難易度が高く、ME実施前に誤差情報が所定以上の場合は符号化難易度が高いと判断し、空間方向の圧縮に関しては高周波成分が多いと符号化難易度が高く、DCT係数が大きいと符号化難易度が高いと判断するようにすればよい。
また、処理負荷、圧縮率についても符号化難易度と同様、難易度が高い場合には処理負荷が高く、圧縮率が低くなる。
また、処理負荷、圧縮率についても符号化難易度と同様、難易度が高い場合には処理負荷が高く、圧縮率が低くなる。
このような指標に基づく動的再構成制御の例としては、時間方向の符号化難易度が低い場合(即ち、処理負荷も小さい場合)は、例えば、MEは動的再構成しないようにしたり、空間方向の符号化難易度が高い場合(即ち、処理負荷も大きい場合)は、VLCの前処理としてランレングスの有効データを詰める処理を実施する回路を複数並列に動作できるように再構成し、難易度が低い場合(即ち、処理負荷も大きい場合)は、上記回路を1つだけ再構成するようにしたりすることが考えられる。
また、同様に、例えば、当該マクロブロックの動きベクトル検出の探索に大きな演算処理負荷がかかったので、次のマクロブロックの動きベクトル検出の探索の為に、演算回路を動的再構成によりもう一つ構成し、複数の演算回路により並列処理して処理負荷を分散する等、所定の処理工程の処理結果に基づいて、どの期間にどのような工程に対応する処理回路を動的再構成するかを判断して、動的再構成するように制御しても良い。
なお、上述の実施形態では、本発明をMPEGフレーム間予測符号化回路に適用した例を説明した。画像の符号化・復号化処理は本発明を好適に適用できる分野ではあるが、本発明は基本的に異なる期間に実行される処理工程を有する処理であって、ハードウエアによる高速処理が必要な任意の処理に適用可能であることは言うまでもない。
Claims (13)
- 複数の工程から成る所定の画像処理を行う画像処理装置において、
動的再構成が可能な動的再構成回路と、
前記動的再構成回路を用いて構成する複数の回路情報を記憶する再構成情報記憶手段と、
前記動的再構成回路により構成する回路を変更する再構成タイミングを検出する再構成タイミング検出手段と、
前記再構成タイミングの検出に応答して、前記動的再構成回路により構成すべき回路に対応する回路情報を前記再構成情報記憶手段から読み出し、前記動的再構成回路を再構成する制御手段とを有し、
前記再構成タイミング検出手段が、前記複数の工程のうち、処理すべき時間が独立している工程の開始タイミング又は終了タイミングを検出することを特徴とする画像処理装置。 - 前記所定の画像処理は、マクロブロックに対する符号化処理であり、
前記再構成タイミング検出手段が、前記マクロブロックに対する符号化処理の少なくとも開始タイミングを検出することを特徴とする請求項1記載の画像処理装置。 - 前記符号化処理は、予測符号化に用いる復号画像を生成するための復号化工程と、符号化するマクロブロックと前記復号画像との予測誤差を符号化する符号化工程とを有する符号化処理であり、
前記再構成タイミング検出手段が、前記復号化工程及び前記符号化工程の開始タイミングを検出することを特徴とする請求項2記載の画像処理装置。 - 前記回路情報が、量子化器、逆量子化器、離散コサイン変換器、逆離散コサイン変換器の回路情報を含み、
前記制御手段が、前記動的再構成回路により、前記復号化工程では逆量子化器及び逆離散コサイン変換器を構成し、前記符号化工程では離散コサイン変換器及び量子化器を構成するように制御を行うことを特徴とする請求項3記載の画像処理装置。 - 前記符号化処理は、動き補償と可変長符号化を用いる予測符号化処理であり、
前記回路情報が、前記符号化するマクロブロックの動きベクトルを検出する動き検出器及び可変長符号化器の回路情報を含み、
前記制御手段が、前記動的再構成回路により、前記動き検出器と可変長符号化器とを交互に構成するように制御を行うことを特徴とする請求項2記載の画像処理装置。 - 前記制御手段は、
前記動的再構成回路により構成すべき回路を、所定の指標に基づいて決定することを特徴とする請求項1記載の画像処理装置。 - 前記指標が、処理負荷、スループット、圧縮率の何れかを含むことを特徴とする請求項6記載の画像処理装置。
- 前記制御手段が、処理負荷に応じて前記動的再構成回路に同一の回路を複数構成し、この複数の回路を並列動作させて処理負荷を低減させることを特徴とする請求項6記載の画像処理装置。
- 前記制御手段は、前記各工程の所定の処理期間の周期以内に処理回路を再構成することを特徴とする請求項1記載の画像処理装置。
- 前記制御手段は、2つ以上の異なる工程の各々差分の処理手段のみを動的に再構成することを特徴とする請求項1記載の画像処理装置。
- 前記制御手段は、前記符号化処理に要求されるスループットが低い場合は、所定処理周期内の動的再構成回数を削減し、1回当たりに動的再構成する回路の種類を増加させるように制御し、前記スループットが高い場合は所定処理周期内の動的再構成回数を増加し、1回当たりに動的再構成する回路の種類を減少させるように制御することを特徴とする請求項2記載の画像処理装置。
- 前記制御手段は、前記符号化処理に要求されるスループットが低い場合は、所定処理周期内の動的再構成回数を2回とし、1回目に動き予測回路及び動き補償回路を、2回目に離散コサイン変換回路と量子化回路と可変長符号化回路を動的再構成するように制御するとともに、前記スループットが高い場合は、所定処理周期内の動的再構成回数を4回とし、1回目に動き予測回路及び動き補償回路、2回目に離散コサイン変換回路及び逆離散コサイン変換回路、3回目に量子化回路及び逆量子化回路、4回目に可変長符号化回路をそれぞれ動的再構成するように制御することを特徴とする請求項2記載の画像処理装置。
- 前記指標が符号化或いは復号化処理スループットであり、
前記制御手段は、前記スループットが低い場合は動作速度より回路規模の小ささを優先して構成すべき回路を決定し、前記スループットが高い場合は回路規模より動作速度の速さを優先して構成すべき回路を決定することを特徴とする請求項6記載の画像処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005167354A JP2006050561A (ja) | 2004-07-06 | 2005-06-07 | 画像処理装置 |
US11/172,792 US7433528B2 (en) | 2004-07-06 | 2005-07-05 | Image processing apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004199410 | 2004-07-06 | ||
JP2005167354A JP2006050561A (ja) | 2004-07-06 | 2005-06-07 | 画像処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006050561A true JP2006050561A (ja) | 2006-02-16 |
Family
ID=36028531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005167354A Withdrawn JP2006050561A (ja) | 2004-07-06 | 2005-06-07 | 画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006050561A (ja) |
-
2005
- 2005-06-07 JP JP2005167354A patent/JP2006050561A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5774206A (en) | Process for controlling an MPEG decoder | |
US5812791A (en) | Multiple sequence MPEG decoder | |
US8213511B2 (en) | Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction | |
JPH0799659A (ja) | 非消耗的動き予測法 | |
US20080063080A1 (en) | Hierarchical Motion Estimation Using Original Frame for Sub-Sampled Reference | |
JP4746550B2 (ja) | 画像符号化装置 | |
US20150092833A1 (en) | Parallel encoding of bypass binary symbols in cabac encoder | |
US20160007046A1 (en) | Estimating rate costs in video encoding operations using entropy encoding statistics | |
KR102390162B1 (ko) | 데이터 인코딩 장치 및 데이터 인코딩 방법 | |
WO2009142003A1 (ja) | 画像符号化装置及び画像符号化方法 | |
JP2007097145A (ja) | 画像符号化装置及び画像符号化方法 | |
CN101960858A (zh) | 运动图像编码装置、摄像装置以及运动图像编码方法 | |
US20130202036A1 (en) | Intra/Inter Mode Decision for Predictive Frame Encoding | |
US20140219361A1 (en) | Image data encoding for access by raster and by macroblock | |
JP2006157925A (ja) | パイプラインデブロッキングフィルタ | |
JP2004336451A (ja) | 画像復号ユニットとそれを用いた画像符号化装置及び符号化方法並びに画像復号装置及び復号方法 | |
US11790485B2 (en) | Apparatus and method for efficient motion estimation | |
JP4868776B2 (ja) | 画像処理装置 | |
KR101392349B1 (ko) | 비디오 디코딩 방법 및 장치 | |
KR20010083718A (ko) | 영상 압축 부호화를 위한 변환 및 역변환 방법 및 장치 | |
US8111753B2 (en) | Video encoding method and video encoder for improving performance | |
WO2007055013A1 (ja) | 画像復号化装置および方法、画像符号化装置 | |
US7330595B2 (en) | System and method for video data compression | |
CN108200429B (zh) | 一种Bayer图像压缩方法及装置 | |
CN111343465A (zh) | 电子电路和电子设备 |
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: 20080902 |