[go: up one dir, main page]

JP4704333B2 - 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路 - Google Patents

画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路 Download PDF

Info

Publication number
JP4704333B2
JP4704333B2 JP2006514516A JP2006514516A JP4704333B2 JP 4704333 B2 JP4704333 B2 JP 4704333B2 JP 2006514516 A JP2006514516 A JP 2006514516A JP 2006514516 A JP2006514516 A JP 2006514516A JP 4704333 B2 JP4704333 B2 JP 4704333B2
Authority
JP
Japan
Prior art keywords
unit
calculation
input
arithmetic
multiplier
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.)
Expired - Fee Related
Application number
JP2006514516A
Other languages
English (en)
Other versions
JPWO2005122590A1 (ja
Inventor
英克 尾関
雅保 井口
孝啓 西
博明 樋田
裕人 冨田
昭彦 井上
隆 橋本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2006514516A priority Critical patent/JP4704333B2/ja
Publication of JPWO2005122590A1 publication Critical patent/JPWO2005122590A1/ja
Application granted granted Critical
Publication of JP4704333B2 publication Critical patent/JP4704333B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Complex Calculations (AREA)

Description

本発明は、画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路であって、時間領域と周波数領域との間の変換および逆変換に特徴を有する画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路に関する。
動画像符号化方式として、既にデジタル放送やDVDなどでMPEG−2が、インターネット・ストリーミングや移動体通信などの分野でMPEG−4が用いられている。さらに圧縮効率のよい符号化方式が、JVT(Joint Video Team)によって標準化された。この符号化方式は、「H.264/MPEG−4 AVC」や「MPEG−4 part10」として知られている(以下、H.264と示す)。
MPEG−2やMPEG−4のように、画面内相関関係によって圧縮(符号化)する方式では、まず、8×8画素のブロックが離散コサイン変換(DCT)され、時間領域から周波数領域へ変換される。次に、得られた周波数領域の各係数が、ある除数(量子化ステップ)で割り算され、余りが丸められる。これによって、符号化および圧縮が行われる。逆に、復号処理においては、8×8画素のブロックに対して量子化ステップが掛け算され、逆量子化が行われる。逆量子化の後、逆離散コサイン変換(IDCT)が行われ、周波数領域から時間領域への変換が行われる。
一方、H.264では、符号化の際、16×16画素からなるマクロブロックが4×4画素のブロックに分ける。得られた4×4ブロックは、それを一つの単位として、ビットシフトおよび加減算によって、時間領域から周波数領域へ変換される。逆に、復号化の際は、周波数領域として得られている4×4ブロックが、ビットシフトおよび加減算によって、周波数領域から時間領域へ変換される。このように、ビットシフトおよび加減算によって、時間領域を周波数領域へ変換する変換を整数変換という。また、ビットシフトおよび加減算によって、周波数領域を時間領域へ変換する変換を逆整数変換と呼ぶ(非特許文献1参照)。
さらに、H.264では、時間領域から周波数領域への変換の際、16×16画素単位のフレーム内符号化(以下、Intra16×16モードという)および色差の符号化では、整数変換を行った後、整数変換後に得られるDC成分に対してアダマール変換を行う(非特許文献1参照)。図30は、Intra16×16モードでの画素データの変換の流れを示す図である。まず、時間領域の輝度の16×16画素に対して、4×4画素単位で整数変換が行われ、周波数領域に変換される。次に、整数変換後の4×4画素単位に含まれるDC成分を抽出してできる4×4行列に対してアダマール変換による圧縮が行われる。その後、アダマール変換による圧縮が行われたDC成分が量子化されると共に、DC成分以外の整数変換されたデータが量子化される。これによって、Intra16×16モードでの符号化が実現される。
図31は、H.264における復号化の処理手順を示す図である。まず、符号化されているデータが、Intra16×16モードで符号化されているか、色差であるか、それ以外であるかが判断される(ステップS901)。Intra16×16モードで符号化されている場合、符号化されているデータは、DC成分がアダマール変換され(ステップS902)、アダマール変換されたDC成分、およびその他の成分が逆量子化される(ステップS903)。符号化されているデータが色差である場合、符号化されているデータは、DC成分がアダマール変換され(ステップS904)、アダマール変換されたDC成分、およびその他の成分が逆量子化される(ステップS905)。符号化されているデータがその他のデータである場合、逆量子化される(ステップS906)。その後、逆量子化されたデータは、逆整数変換されて、復号化される(ステップS907)。
数1は、ステップS902,904において、DC成分のみの4×4行列C(cij)(i,j=1,1,2,3)をアダマール変換するときの変換式である。数1において、4×4行列C(Cij)に、アダマール変換行列Aを左右から乗算することによって、アダマール変換後の4×4行列fが得られる(非特許文献1の131頁、式(8−254)参照)。
Figure 0004704333
数2は、ステップS907において、周波数領域の成分dij(i,j=0,1,2,3)を逆整数変換し、時間領域の成分fij(i,j=0,1,2,3)を得るための演算式を示す。数2で示す演算式を用いて、まず、周波数領域における任意のi(=0,1,2,3)に対して、成分ei0〜ei3および成分fi0〜fi3が求められる(非特許文献1の133頁、式(8−266)〜(8−273)参照)。さらに、成分fijを転置して(iとjとを入れ替えて)、転置によって得られた成分を成分dijとして、再度、成分ei0〜ei3および成分fi0〜fi3が求められる。最終的に求められた成分fijが逆整数変換によって得られた時間領域の成分となる。なお、数2において、(x>>k)は、xを右方向にkビットシフトすることを意味する(以下同様)。また、(x<<k)は、xを左方向にkビットシフトすることを意味する(以下同様)。
Figure 0004704333
さらに、16×16画素からなるマクロブロックにおいて、処理ブロックサイズを適応的に変化させて、サイズが変化されたブロックを整数変換する場合が提案されている(非特許文献2参照)。数3は、処理ブロックサイズを8×8としたときの逆整数変換のための変換式を示す(非特許文献2の142頁、式(12−10)および(12−12)参照)。数3において、8×8行列W(wij)(i,j=0,1,…,7)は、逆整数変換するための周波数領域を示す。8×8行列Tは、逆整数変換のための行列である。8×8行列Xは、逆整数変換後の時間領域を示す。数3に示す変換式によって、逆整数変換後の時間領域を得ることができる。
Figure 0004704333
数4に示すように、数3に示す行列Tの代わりとして、逆整数変換のための行列Taが提案されている(非特許文献3の165頁〜166頁、式(8−341)〜(8−356)参照)。
Figure 0004704333
数5は、数4に示す行列Taを用いて逆整数変換を行う場合の演算式を示す。数5において、in[j]は、行として任意のi(i=0,1,…7)を選んだときの、wijを示す。行として任意のiを選ぶと、数5の演算式によって、a[0]〜a[7]およびb[0]〜b[7]を計算することができる。b[0]〜b[7]を用いて、任意のiに対するout[0]〜out[7]が計算される。ここで得られるout[0]〜out[7]は、任意のiに対して、行列WTaの各成分となる。次に、out[0]〜out[7]のiとjとを転置して、転置した値をin[0]〜in[7]とする。そして、同様に、数5を用いて、演算し、out[0]〜out[7]を得る。得られたout[0]〜out[7]は、行列TaTWTaの各成分となるので、逆整数変換後の時間領域を示す。
Figure 0004704333
Draft ITU−T Recommendation andFinal Draft International Standard of Joint Video Specification(ITU−T Rec.H.264|ISO/IEC 14496−10 AVC)、Doc.JVT−G050r1、2003年5月27日、127頁〜134頁 Joint Final Committee Draft(JFCD)of Joint Video Specification(ITU−T Rec.H.264|ISO/IEC 14496−10 AVC)、Doc.JVT−D157、2002年8月10日、141頁〜143頁 Draft of Version 4 of H.264/AVC(ITU−T Recommendation H.264 and ISO/IEC 14496−10 (MPEG−4 part 10)Advanced Video Coding)、Doc.JVT−N050d1、2005年1月28日、153頁〜170頁
上記のように、H.264において、復号化する場合、アダマール変換、4×4逆整数変換、および8×8逆整数変換を組み合わせて利用する必要がある。アダマール変換、4×4逆整数変換、および8×8逆整数変換のそれぞれに対応した演算器を個別に用意したのでは、復号装置の回路規模が大きくなってしまう。同様のことが、符号化装置についても言える。
また、近年、画像符号化のための複数の規格が混在しており、さらに、新たな規格が続々と提案されている状況にある。このような状況においては、複数の規格および新たに追加される規格に容易に対応することができる画像符号化装置および画像復号化装置が必要となってくる。当然、各規格に対応した演算器を個別に用意して、復号装置および符号化装置に設ければよいが、それでは、回路規模が大きくなってしまう。
それゆえ、本発明の目的は、様々な符号化規格に対応しながらも、小型化を図ることができる画像符号化装置および画像復号化装置を提供することである。
上記課題を解決するために、本発明は、以下のような特徴を有する。本発明の第1の局面は、周波数領域から時間領域への複数の変換モードを必要に応じて切り換えて、圧縮画像データを復号化する画像復号化装置であって、入力される複数の画素データに対して、演算処理を施すための演算部と、演算部による演算結果を保存する演算データ保存部と、演算部に入力すべき画素データを、圧縮画像データから読み出すか、または演算データ保存部に保存されている画素データから読み出すか選択し、読み出した画素データを演算部に入力する入力選択部と、各変換モードでの演算手順を、演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する変換モードおよび演算部における演算回数に基づいて、入力選択部が演算部に入力すべき画素データの読み出し先を制御すると共に、演算部において演算処理の対象となる画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備える。
本発明の第1の局面によれば、演算制御部は、各変換モードにおける演算手順を演算部での1回の演算で実行可能な単位に分割して定義しているので、それぞれの変換モードにおける演算を単一の演算部で実行することができる。したがって、様々な符号化規格に対応しながらも、小型化を図ることができる画像復号化装置が提供されることとなる。
本発明の第2の局面において、演算部は、整数演算を実行可能な構成を有しており、演算制御部は、整数演算の対象となる画素データの組み合わせを制御すると共に、演算部におけるビットシフト量を乗算係数として制御する。
本発明の第2の局面によれば、演算部は、整数演算を実行可能な構成を有しているので、様々な整数変換を切り換えて実行することができる画像復号化装置が提供されることとなる。
たとえば、演算部は、第1〜第8の端子と、第2の端子への入力をビットシフトする第1のビット演算部と、第3の端子への入力をビットシフトする第2のビット演算部と、第6の端子への入力をビットシフトする第3のビット演算部と、第7の端子への入力をビットシフトする第4のビット演算部と、第1の端子への入力と第2のビット演算部の出力とを加算する第1の加算部と、第1のビット演算部の出力から第4の端子への入力を減算する第1の減算部と、第4のビット演算部の出力から第5の端子への入力を減算する第2の減算部と、第8の端子への入力と第3のビット演算部の出力とを加算する第2の加算部とを含み、演算データ保存部は、第1および第2の加算部、ならびに第1および第2の減算部の演算結果を保存し、演算制御部は、変換モードおよび演算回数に基づいて、第1〜第8の端子に入力すべき画素データを制御し、かつ、第1〜第4のビット演算部でのビットシフト量を制御する。
たとえば、複数の変換モードは、4×4逆整数変換、8×8逆整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである。
これにより、H.264における圧縮画像データの復号を小型の装置で実現することができる。
本発明の第3の局面において、演算制御部は、各変換モードでの演算手順を、演算回数毎に、基本単位となる演算処理に分割して定義しており、演算部は、基本単位となる演算処理を実行可能な構成を有しており、演算制御部は、基本単位となる演算処理を演算部に繰り返させるように、演算処理の対象となる画素データの組み合わせを制御すると共に、乗算係数を制御する。
本発明の第3の局面によれば、基本単位となる演算処理に各変換モードでの演算手順が分割されているので、より簡易な構成によって、演算部を構成することができ、様々な符号化規格に対応しながらも、小型化を図ることができる画像復号化装置が提供されることとなる。
好ましくは、基本単位となる演算処理は、2入力2出力のデータフローを構成することができる演算処理であるとよい。
これにより、各変換モードにおける演算手順は2入力2出力のデータフローに分割することができるので、2入力2出力のデータフローを基本単位とすることよって、規格間での共有化、装置の小型化が実現できる。
好ましくは、演算制御部は、新たな変換モードに関する画素データの組み合わせおよび乗算係数を、演算回数に対応させて保存することができ、新たな変換モードが使用される場合、当該保存内容に基づいて、入力選択部および演算部を制御するとよい。
これにより、新たな変換モードが導入されたとしても、復号化することができる小型の画像復号化装置が提供されることとなる。
たとえば、演算部は、第1〜第4の端子と、第1の端子への入力に対して乗算処理を施す第1の乗算部と、第3の端子への入力に対して乗算処理を施す第2の乗算部と、第2の端子への入力に対して乗算処理を施す第3の乗算部と、第4の端子への入力に対して乗算処理を施す第4の乗算部と、第1の乗算部の出力と第2の乗算部の出力とを加算する第1の加算部と、第3の乗算部の出力と第4の乗算部の出力とを加算する第2の加算部とを含み、演算データ保存部は、第1および第2の加算部の演算結果を保存し、演算制御部は、変換モードおよび演算回数に基づいて、第1〜第4の端子に入力すべき画素データを入力選択部に制御させ、かつ、第1〜第4の乗算部での乗算係数である乗数を制御する。
好ましくは、演算制御部は、変換モードに対応させて、乗数を保存する乗数保存部と、第1〜第4の乗算部での乗数を設定する乗数設定部と、変換モードを管理する変換モード設定部と、演算部での演算順序を管理する演算順序管理部とを含み、乗数設定部は、変換モード設定部が管理する現在の変換モードおよび演算順序管理部が管理する演算回数に基づいて、乗数保存部から、適切な乗数を読み出して、第1〜第4の乗算部に設定し、演算順序管理部は、現在の変換モードおよび演算回数に基づいて、第1〜第4の端子に入力すべき画素データを入力選択部に制御させるとよい。
好ましくは、演算制御部は、さらに、新たな変換モードで使用する乗数を演算回数と対応付けて設定するための乗数設定部と、乗数設定部で設定された乗数を保存する新変換モード乗数保存部とを含み、新たな変換モードが使用された場合、乗数設定部は、演算回数に対応した乗数を新変換モード乗数保存部から読み出して、第1〜第4の乗算部に設定し、演算順序管理部は、演算回数に基づいて、第1〜第4の端子に入力すべき画素データを入力選択部に制御させるとよい。
たとえば、複数の変換モードは、逆離散コサイン変換、4×4逆整数変換、8×8逆整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである。
これにより、JPEG、MPEG−2、MPEG−4、MPEG−4AVC(H.264)、および新たな変換モードに対応することができる画像復号化装置が提供されることとなる。
好ましくは、演算部が複数並列または直列に接続されており、演算制御部は、並列または直列に接続された、複数の演算部を制御するとよい。
これにより、パイプライン処理が可能となり、処理速度が向上する。
本発明の第4の局面は、時間領域から周波数領域への複数の変換モードを必要に応じて切り換えて、画像データを符号化する画像符号化装置であって、入力される複数の画素データに対して、演算処理を施すための演算部と、演算部による演算結果を保存する演算データ保存部と、演算部に入力すべき画素データを、画像データから読み出すか、または演算データ保存部に保存されている画素データから読み出すか選択し、読み出した画素データを演算部に入力する入力選択部と、各変換モードでの演算手順を、演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する変換モードおよび演算部における演算回数に基づいて、入力選択部が演算部に入力すべき画素データの読み出し先を制御すると共に、演算部において演算処理の対象となる画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備える。
本発明の第5の局面において、演算部は、整数演算を実行可能な構成を有しており、演算制御部は、整数演算の対象となる画素データの組み合わせを制御すると共に、演算部におけるビットシフト量を乗算係数として制御する。
たとえば、演算部は、第1〜第8の端子と、第2の端子への入力をビットシフトする第1のビット演算部と、第3の端子への入力をビットシフトする第2のビット演算部と、第6の端子への入力をビットシフトする第3のビット演算部と、第7の端子への入力をビットシフトする第4のビット演算部と、第1の端子への入力をビットシフトする第5のビット演算部と、第4の端子への入力をビットシフトする第6のビット演算部と、第5の端子への入力をビットシフトする第7のビット演算部と、第8の端子への入力をビットシフトする第8のビット演算部と、第5のビット演算部の出力と第2のビット演算部の出力とを加算する第1の加算部と、第1のビット演算部の出力から第6のビット演算部の出力を減算する第1の減算部と、第4のビット演算部の出力から第7のビット演算部の出力を減算する第2の減算部と、第8のビット演算部の出力と第3のビット演算部の出力とを加算する第2の加算部とを含み、演算データ保存部は、第1および第2の加算部、ならびに第1および第2の減算部の演算結果を保存し、演算制御部は、変換モードおよび演算回数に基づいて、第1〜第8の端子に入力すべき画素データを制御し、かつ、第1〜第4のビット演算部でのビットシフト量を制御する。
たとえば、複数の変換モードは、4×4逆整数変換、8×8逆整数変換、4×4整数変換、8×8整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである。上記具体的構成により、これらの変換モードに全て対応可能な変換器が提供される。
本発明の第6の局面において、演算制御部は、各変換モードでの演算手順を、演算回数毎に、基本単位となる演算処理に分割して定義しており、演算部は、基本単位となる演算処理を実行可能な構成を有しており、演算制御部は、基本単位となる演算処理を演算部に繰り返させるように、演算処理の対象となる画素データの組み合わせを制御すると共に、乗算係数を制御する。
好ましくは、基本単位となる演算処理は、2入力2出力のデータフローを構成することができる演算処理であるとよい。
好ましくは、演算制御部は、新たな変換モードに関する画素データの組み合わせおよび乗算係数を、演算回数に対応させて保存することができ、新たな変換モードが使用される場合、当該保存内容に基づいて、入力選択部および演算部を制御する。
たとえば、演算部は、第1〜第4の端子と、第1の端子への入力に対して乗算処理を施す第1の乗算部と、第3の端子への入力に対して乗算処理を施す第2の乗算部と、第2の端子への入力に対して乗算処理を施す第3の乗算部と、第4の端子への入力に対して乗算処理を施す第4の乗算部と、第1の乗算部の出力と第2の乗算部の出力とを加算する第1の加算部と、第3の乗算部の出力と第4の乗算部の出力とを加算する第2の加算部とを含み、演算データ保存部は、第1および第2の加算部の演算結果を保存し、演算制御部は、変換モードおよび演算回数に基づいて、第1〜第4の端子に入力すべき画素データを入力選択部に制御させ、かつ、第1〜第4の乗算部での乗算係数である乗数を制御する。
たとえば、演算制御部は、変換モードに対応させて、乗数を保存する乗数保存部と、第1〜第4の乗算部での乗数を設定する乗数設定部と、変換モードを管理する変換モード設定部と、演算部での演算順序を管理する演算順序管理部とを含み、乗数設定部は、変換モード設定部が管理する現在の変換モードおよび演算順序管理部が管理する演算回数に基づいて、乗数保存部から、適切な乗数を読み出して、第1〜第4の乗算部に設定し、演算順序管理部は、現在の変換モードおよび演算回数に基づいて、第1〜第4の端子に入力すべき画素データを入力選択部に制御させる。
好ましくは、演算制御部は、さらに、新たな変換モードで使用する乗数を演算回数と対応付けて設定するための乗数設定部と、乗数設定部で設定された乗数を保存する新変換モード乗数保存部とを含み、新たな変換モードが使用された場合、乗数設定部は、演算回数に対応した乗数を新変換モード乗数保存部から読み出して、第1〜第4の乗算部に設定し、演算順序管理部は、演算回数に基づいて、第1〜第4の端子に入力すべき画素データを入力選択部に制御させる。
たとえば、複数の変換モードは、逆離散コサイン変換、4×4逆整数変換、8×8逆整数変換、離散コサイン変換、4×4整数変換、8×8整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである。上記具体的構成により、これらの変換モードに全て対応可能な変換器が提供される。
好ましくは、演算部が複数並列または直列に接続されており、演算制御部は、並列または直列に接続された、複数の演算部を制御する。
画像符号化装置についても、画像復号化装置と同様の効果を得ることができる。
本発明の第7の局面は、周波数領域から時間領域への複数の変換モードを必要に応じて切り換えて、圧縮画像データを復号化する画像復号化装置で用いられる集積回路であって、入力される複数の画素データに対して、演算処理を施すための演算部と、演算部に入力すべき画素データを、圧縮画像データから読み出すか、または演算部の演算結果から読み出すか選択し、読み出した画素データを演算部に入力する入力選択部と、各変換モードでの演算手順を、演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する変換モードおよび演算部における演算回数に基づいて、入力選択部が演算部に入力すべき画素データの読み出し先を制御すると共に、演算部において演算処理の対象となる画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備える。
本発明の第8の局面は、時間領域から周波数領域への複数の変換モードを必要に応じて切り換えて、画像データを符号化する画像号化装置で用いられる集積回路であって、入力される複数の画素データに対して、演算処理を施すための演算部と、演算部に入力すべき画素データを、画像データから読み出すか、または演算部の演算結果から読み出すか選択し、読み出した画素データを演算部に入力する入力選択部と、各変換モードでの演算手順を、演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する変換モードおよび演算部における演算回数に基づいて、入力選択部が演算部に入力すべき画素データの読み出し先を制御すると共に、演算部において演算処理の対象となる画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備える。
以上、本発明の画像符号化装置および画像復号化装置によれば、様々な符号化規格に対応しながらも、小型化を図ることができる。
本発明のこれらおよび他の目的、特徴、局面、効果は、添付図面と照合して、以下の詳細な説明から一層明らかになるであろう。
以下、本発明の実施形態について、図面を参照しながら説明する。
(第1の実施形態)
第1の実施形態では、整数変換部および逆整数変換部を時分割で使用して、整数変換および逆整数変換する画像符号化装置および画像復号化装置について説明する。
図1は、本発明の第1の実施形態に係る画像符号化装置1の構成の一例を示すブロック図である。図1において、画像復号化装置1は、画面内予測部11と、整数変換部12と、量子化部13と、エントロピー符号化部14と、逆量子化部15と、逆整数変換部16と、加算部17と、デブロッキングフィルタ部18と、フレームメモリ部19と、動き補償部20と、動き検出部21と、減算部22とを備える。
画面内予測部11は、入力される動画像信号のIピクチャについて、フレーム内予測を実行し、差分値を出力する。整数変換部12は、画面内予測部11から出力された差分値を整数変換(Integer Transform)する。量子化部13は、整数変換部12から出力される周波数領域の成分を量子化する。エントロピー符号化部14は、量子化部13からの出力をエントロピー符号化して、圧縮画像データとして出力する。
逆量子化部15は、量子化部13からの出力を逆量子化して出力する。逆整数変換部16は、逆量子化部15からの出力を逆整数変換して出力する。加算部17は、画面内予測部11または動き補償部20からの出力と逆整数変換部16からの出力とを加算する。デブロッキングフィルタ部18は、加算部17からの出力のブロックノイズを除去する。フレームメモリ部19は、フレームを記憶する。動き補償部20は、動き補償を行い、重み付けを予測して、重み係数を乗算したフレームを減算部22に入力する。減算部22は、Iピクチャ以外のフレームについて、動き補償部20からのフレームを減算して、整数変換部12に入力する。動き検出部21は、動きベクトルを検出し、エントロピー符号化部14に入力する。エントロピー符号化部14は、当該動きベクトルに基づいて、エントロピー符号化を実行する。これにより、動き補償が改善された圧縮画像データが出力されることとなる。
図2は、本発明の第1の実施形態に係る画像復号化装置2の構成の一例を示すブロック図である。図2において、画像復号化装置2は、エントロピー復号化部23と、逆量子化部24と、逆整数変換部25と、デブロッキングフィルタ部26と、動き補償部27と、重み付け予測部28と、画面内予測部29と、加算部30とを備える。
エントロピー復号化部23に入力された圧縮画像データは、エントロピー復号化される。逆量子化部24は、エントロピー復号化部23からの出力を逆量子化する。逆整数変換部25は、逆量子化部24からの出力を逆整数変換して、時間領域のデータを動画像信号として出力する。
デブロッキングフィルタ部26は、逆整数変換部25からの出力のブロックノイズを除去して出力する。動き補償部27は、エントロピー復号化部23からの出力に基づいて、動き補償を行う。重み付け予測部28は、動き補償の結果、重み付けを予測して、重み係数を乗算したフレームを出力する。画面内予測部29は、エントロピー復号化部23からの出力に基づいて、フレーム間の差分を予測し、加算部30と、画面内予測部29および重み付け予測部28との間の切り換えを制御する。これにより、動き補償が改善された動画像信号が出力されることとなる。
本実施形態における画像符号化装置は、時間領域から周波数領域への複数の変換モードを有しており、必要に応じて、当該複数の変換モードを切り換えながら、画像を符号化する。また、本実施形態における画像復号化装置は、周波数領域から時間領域への複数の変換モードを有しており、必要に応じて、当該複数の変換モードを切り換えながら、画像を復号化する。
本発明は、整数変換および逆整数変換の構造に特徴を有する。したがって、以下に開示する整数変換および逆整数変換の構造は、上記図1および図2に示した構成以外の画像符号化装置および画像復号化装置に適用可能である。また、本発明の整数変換および逆整数変換の構造は、H.264以外においても、適用可能である。
図3は、本発明の第1の実施形態に係る整数変換器1000の構成を示す図である。整数変換器1000は、図1に示す整数変換部12および逆整数変換部16、ならびに図2に示す逆整数変換部25に適用される。図1および図2以外の画像復号化装置および画像符号化装置にあっても、整数変換または逆整数変換を行う部分に、図3に示す整数変換器1000が適用される。
図3において、整数変換器1000は、演算部100と、演算制御部101と、入力選択部102と、入力データ保存部111と、演算データ保存部112とを含む。なお、入力データ保存部111および/または演算データ保存部112は、整数変換器1000の外部にあってもよい。
演算部100は、入力される複数の画素データに対して、演算処理を施す。演算部100は、端子p1〜p8と、ビット演算部103、104、105、106と、加算部107、110と、減算部108、109とを有する。ビット演算部104は、端子p2への入力をビットシフトする。ビット演算部103は、端子p3への入力をビットシフトする。ビット演算部106は、端子p6への入力をビットシフトする。ビット演算部105は、端子p7への入力をビットシフトする。加算部107は、端子p1への入力とビット演算部103の出力とを加算する。減算部108は、ビット演算部104の出力から端子p4への入力を減算する。減算部109は、ビット演算部105の出力から端子p5への入力を減算する。加算部110は、端子p8への入力とビット演算部106の出力とを加算する。このように、演算部100は、整数演算を実行可能な構成を有している。演算データ保存部112は、加算部107、110、および減算部108、109の演算結果を保存する。
演算制御部101は、入力選択部102が演算を行う画素データを、入力データ保存部111から読み出すか、演算データ保存部112から行方向で読み出すか、演算データ保存部112から列方向で読み出すかの指示と、現在の演算回数とを入力選択指示信号として出力する。また、演算制御部101は、現在の演算回数および処理の対象がアダマール変換、4×4逆整数変換、8×8逆整数変換かによって、ビット演算部103、104、105、106のビットシフト量を決定し、ビット演算部103、104、105、106に対してビットシフト指示信号を出力する。
演算部100は、上記のような構成を有しているので、一回の演算で実行可能な処理内容は限られている。演算制御部101は、各変換モードでの演算手順を、演算部100における1回の演算で実行可能な単位に、演算回数に対応させて予め定義している。演算制御部101は、使用する変換モードおよび演算回数に基づいて、入力選択部102が演算部100に入力すべき画素データの読み出し先を制御すると共に、演算部100において演算処理の対象となる画素データの組み合わせおよび演算処理における乗算係数(ビットシフト量)を制御する。
入力選択部102は、演算制御部101からの入力選択指示信号に基づいて、入力データ保存部111または演算データ保存部112から、処理対象となる画素データを読み出す。また、入力選択部102は、当該入力選択指示信号が示す演算回数に基づいて、演算処理の対象となる画素データの組み合わせを認識し、読み出した画素データを、適切な端子p1からp8に出力する。
ビット演算部103、104、105、106は、演算制御部101から入力されるビットシフト指示信号に応じて、入力選択部102から入力される画素データに対して、ビットシフトなし、1ビット右シフト、2ビット右シフトのいずれかを行い、加算部107、110、減算部108、109に対してビットシフト画素データを出力する。なお、ビット演算部103、104、105、106から出力される画素データは、ビットシフトされていなくても、ビットシフト画素データということとする。
加算部107、110は、ビット演算部103、106からのビットシフト画素データと、端子p1、p8より入力された画素データとをそれぞれ加算する。
減算部108、109は、ビット演算部104、105からのビットシフト画素データから、端子p4、p5より入力された画素データを減算する。
入力データ保存部111は、メモリ等の記憶媒体であり、整数変換の対象となる画素データを保存する。
演算データ保存部112は、メモリ等の記憶媒体であり、演算部100によって変換された画素データを保存する。また、演算データ保存部112は、データの転置を行うため、行方向の書き込みと読み出し、列方向の書き込みと読み出しとを行う。
以下、4×4逆整数変換、8×8逆整数変換、アダマール変換、4×4整数変換、および8×8整数変換が、図3に示す整数変換器1000によって演算可能であることを説明する。なお、上記変換モードの内、少なくとも二つの変換モードの切り換えが可能であればよい。
まず、前提として、これらの変換では、変換前の画素データを成分として含む正方行列(たとえば、W)に対して、変換のための正方行列Tを右から乗算し、乗算された結果得られる正方行列WTに対して、左から正方行列Tの転置行列TTを乗算する。これによって得られる正方行列TTWTの各成分が、変換後の画素データとなる。以下、正方行列Wに対して、正方行列Tを右から乗算する演算を、行方向の演算という。また、正方行列WTに対して、転置行列TTを左から乗算する演算を列方向の演算という。
(4×4逆整数変換の場合の動作)
図4は、演算回数に対応した演算式、および入力選択部102によって入力端子p1〜p8に入力されて演算処理の対象となる画素データの組み合わせの関係を示す図である。図4に示すような関係が演算制御部101に定義されている。定義方法は、図4のようなテーブル形式に限るものではなく、特に限定されない。
図4では、行方向および列方向の演算が示されている。入力される画素データは、4×4の行列の各成分によって表される。図4では、入力される画素データを成分に含む4×4の行列のある1行の成分をin[0]〜in[3]とする。第1回目の演算において、端子p1およびp2にin[0]が、端子p3およびp4にin[2]が、端子p7およびp8にin[1]が、端子p5およびp6にin[3]が入力される。第1回目の演算式によって、a[0]〜a[3]が得られる。次に、図4に示すように、a[0]〜a[3]が対応する端子p1〜p8に入力される。第2回目の演算式によって、b[0]〜b[3]が得られる。上記2回の演算が、入力された4×4の画素データの全ての行に渡って行われる。これによって、行方向の演算が完了し、4×4の画素データが得られる。
その後、行方向の演算によって得られた4×4の画素データの行列に対して列方向の演算を行う。列方向の演算では、転置によって得られた行列のある1列の成分をin[0]〜in[3]とする。列方向の演算の第1回目の演算において、図4に示すように、端子p1〜p8に、in[1]〜in[3]が入力される。第1回目の演算式によって、a[0]〜a[3]が得られる。次に、図4に示すように、a[0]〜a[3]が対応する端子p1〜p8に入力される。第2回目の演算式によって、b[0]〜b[3]が得られる。上記2回の演算が、転置後の4×4の画素データの全ての列に渡って行われる。これによって、列方向の演算が完了する。結果、4×4逆整数変換された4×4の画素データが得られる。
図5は、4×4逆整数変換において、行方向の演算を実行するときの演算制御部101の動作を示すフローチャートである。以下、図5を参照しながら、4×4逆整数変換において、行方向の演算を実行するときの演算制御部101の動作について説明する。
図5において、ループL1は、入力された4×4の画素データの全ての行(4行)に渡って、ループL1内の演算が完了したときを終了条件とするループである。ループL2は、図4に示す行方向の演算回数が2回に達したときを終了条件するループである。以下、入力された4×4の画素データを入力画素行列という。
入力画素行列の行方向1回目(ループL2=1回目、ステップS100=1回目)の演算のとき、演算制御部101は、入力選択指示信号を出力し、入力選択部102に入力する。当該入力選択指示信号には、入力画素行列における第1行の成分を入力データ保存部111から読み出させるための指示と、演算回数が1回目であることの通知とが含まれる(ステップS101)。
当該入力選択指示信号に応じて、入力選択部102は、入力データ保存部111から、4画素分の入力データを読み出し、図3に示すように端子p1からp8に入力する。
次に、演算制御部101は、ビットシフト指示信号を出力する。当該ビットシフト指示信号には、ビットシフトなしとするビット演算部103,104に対する指示と、1ビット右にシフトさせるビット演算部105、106に対する指示とが含まれる(ステップS102)。
当該ビットシフト指示信号に応じて、ビット演算部105、106は、入力されたデータを右1ビットシフトしたビットシフト画素データを生成して、出力する。
加算部107は、ビット演算部103の出力と端子p1への入力とを加算する。減算部108は、ビット演算部104の出力から端子p4への入力を減算する。減算部109は、ビット演算部105の出力から端子p5への入力を減算する。加算部110は、ビット演算部106の出力と端子p8への入力とを加算する。これらの加減算によって得られた結果は、行方向1回目の演算結果となる。演算データ保存部112は、当該演算結果を1行目の行方向に保存する。
入力画素行列の行方向2回目(ループL2=2回目、ステップS100=2回目)の演算のとき、演算制御部101は、入力選択指示信号を出力し、入力選択部102に入力する。当該入力選択指示信号には、上記行方向1回目の演算結果を演算データ保存部112から読み出させるための指示と、演算回数が2回目であることの通知とが含まれる(ステップS103)。
当該入力選択指示信号に応じて、入力選択部102は、演算データ保存部112に保存された行方向1回目演算結果を行方向から1行分読み出し、4画素分の入力データを、図3に示すように、2回目の演算に対応する端子p1からp8に入力する。
次に、演算制御部101は、ビットシフト指示信号を出力する。当該ビットシフト指示信号には、ビットシフトなしとするビット演算部103、104、105、106に対する指示が含まれる(ステップS104)。
当該ビットシフト指示信号に応じて、ビット演算部103、104、105、106は、ビットシフトをしないで入力されたデータを出力する。
加算部107、110、および減算部108、109は、入力されるデータに基づいて、演算を行い、演算データ保存部112に行方向2回目の演算結果を1行目に保存する。これによって、1行目のループL2の処理が終了する。
演算制御部101は、ループL2の処理を残り3行分実行する。これによって、ループL1の終了条件が満たされる。結果、行方向の演算による4行分の画素データが得られる。演算データ保存部112は、4行分の画素データを、4×4行列行方向演算結果として、保存する。
図6は、4×4逆整数変換において、列方向の演算を実行するときの演算制御部101の動作を示すフローチャートである。以下、図6を参照しながら、4×4逆整数変換において、列方向の演算を実行するときの演算制御部101の動作について説明する。
図6において、ループL3は、行方向の演算で得られた4×4行列行方向演算結果の全ての列(4列)に渡って、ループL1内の演算が完了したときを終了条件とするループである。ループL4は、図4に示す列方向の演算回数が2回に達したときを終了条件するループである。
4×4行列行方向演算結果の列方向1回目(ループL4=1回目、ステップS200=1回目)の演算のとき、演算制御部101は、入力選択指示信号を出力し、入力選択部102に入力する。当該入力選択指示信号には、演算データ保存部112に保存された4×4行列行方向演算結果を列方向から読み出させるための指示と、演算回数が1回目であることの通知とが含まれる(ステップS201)。
当該入力選択指示信号に応じて、入力選択部102は、演算データ保存部112に保存された前記4×4行列行方向演算結果を列方向に1列分読み出し、4画素分の画素データin[0]〜in[3]として、図3に示すように端子p1からp8に入力する。
次に、演算制御部101は、ビットシフト指示信号を出力する。当該ビットシフト指示信号には、ビットシフトなしとするビット演算部103,104に対する指示と、1ビット右にシフトさせるビット演算部105、106に対する指示とが含まれる(ステップS202)。
当該ビットシフト指示信号に応じて、ビット演算部105、106は、入力されたデータを右1ビットシフトしたビットシフト画素データを生成して、出力する。
加算部107は、ビット演算部103の出力と端子p1への入力とを加算する。減算部108は、ビット演算部104の出力から端子p4への入力を減算する。減算部109は、ビット演算部105の出力から端子p5への入力を減算する。加算部110は、ビット演算部106の出力と端子p8への入力とを加算する。これらの加減算によって得られた結果は、列方向1回目の演算結果となる。演算データ保存部112は、当該演算結果を1列目の列方向に保存する。
4×4行列行方向演算結果の列方向2回目(ループL4=2回目、ステップS200=2回目)の演算のとき、演算制御部101は、入力選択指示信号を出力し、入力選択部102に入力する。当該入力選択指示信号には、上記列方向1回目の演算結果を演算データ保存部112から読み出させるための指示と、演算回数が2回目であることの通知とが含まれる(ステップS203)。
当該入力選択指示信号に応じて、入力選択部102は、演算データ保存部112に保存された列方向1回目演算結果を列方向から1行分読み出し、4画素分の入力データを、図3に示すように、2回目の演算に対応する端子p1からp8に入力する。
次に、演算制御部101は、ビットシフト指示信号を出力する。当該ビットシフト指示信号には、ビットシフトなしとするビット演算部103、104、105、106に対する指示が含まれる(ステップS204)。
当該ビットシフト指示信号に応じて、ビット演算部103、104、105、106は、ビットシフトをしないで入力されたデータを出力する。
加算部107、110、および減算部108、109は、入力されるデータに基づいて、演算を行い、演算データ保存部112に行方向2回目の演算結果を1列目に保存する。これによって、1列目のループL4の処理が終了する。
演算制御部101は、ループL4の処理を残り3列分実行する。これによって、ループL3の終了条件が満たされる。結果、列方向の演算による4列分の画素データが得られる。当該4列分の画素データは、4×4逆整数変換によって得られた最終結果である。よって、演算データ保存部112は、当該4列分の画素データを出力画素行列として、出力する。
このようにして、整数変換器1000は、4×4逆整数変換を行うことができる。
(8×8逆整数変換の場合の動作)
図7は、演算回数に対応した演算式、および入力選択部102によって入力端子p1〜p8に入力されるべき画素データの関係を示す図である。図7に示すような関係が演算制御部101に定義されている。定義方法は、図7のようなテーブル形式に限るものではなく、特に限定されない。
図7では、行方向および列方向の演算が示されている。入力される画素データは、8×8の行列の各成分によって表される。図7では、入力される画素データを成分に含む8×8の行列のある1行(1列)の成分をin[0]〜in[7]とする。第1〜8回目の演算において、端子p1〜p8に入力される画素データの組み合わせが対応付けられている。第1〜第8回目の演算によって、それぞれ、演算式で定義された演算結果が得られる。図7に示す第8回目までの演算によって、行方向(列方向)の演算が完了し、8×8の画素データが得られる。
図8は、8×8逆整数変換において、行方向の演算を実行するときの演算制御部101の動作を示すフローチャートである。以下、図8を参照しながら、8×8逆整数変換において、行方向の演算を実行するときの演算制御部101の動作について説明する。
図8において、ループL5は、入力された8×8の画素データの全ての行(8行)に渡って、ループL5内の演算が完了したときを終了条件とするループである。ループL6は、図8に示す行方向の演算回数が8回に達したときを終了条件するループである。以下、入力された8×8の画素データを入力画素行列という。
8×8逆整数変換を行う場合、(数3)で与えられた行(列)方向の一次元の変換式を図7に示すような8回の演算に分け処理を行う。
入力画素行列の行方向1回目(ループL6=1回目、ステップS300=1回目)の演算のとき、演算制御部101は、入力選択指示信号を出力し、入力選択部102に入力する。当該入力選択指示信号には、入力画素行列における第1行の成分であるin[0],in[4],in[2],in[6]を入力データ保存部111から読み出させるための指示と、演算回数が1回目であることの通知とが含まれる(ステップS301)。
当該入力選択指示信号に応じて、入力選択部102は、入力データ保存部111から、入力画素データin[0]、in[2]、in[4]、in[6]を読み出し、図7にしめすように、端子p1からp8に入力する。
次に、演算制御部101は、ビットシフト指示信号を出力する。当該ビットシフト指示信号には、ビットシフトなしとするビット演算部103、104に対する指示と、1ビット右にシフトさせるビット演算部105、106に対する指示とが含まれる(ステップS302)。
当該ビットシフト指示信号に応じて、ビット演算部105、106は、入力されたデータを右1ビットシフトしたビットシフト画素データを生成して、出力する。
加算部107は、ビット演算部103の出力と端子p1への入力とを加算する。減算部108は、ビット演算部104の出力から端子p4への入力を減算する。減算部109は、ビット演算部105の出力から端子p5への入力を減算する。加算部110は、ビット演算部106の出力と端子p8への入力とを加算する。これらの加減算によって得られた結果は、行方向1回目演算結果として、演算データ保存部112に行方向に保存される。
行方向2回目(ループL6=2回目、ステップS300=2回目)の演算では、演算制御部101は、入力選択指示信号を出力し、入力選択部102に入力する。当該入力選択指示信号には、行方向1回目演算結果を演算データ保存部112から読み出させるための指示と、演算回数が2回目であることの通知とが含まれる(ステップS303)。
当該入力選択指示信号に応じて、入力選択部102は、演算データ保存部112に保存された行方向1回目演算結果を読み出し、4画素分の入力データを、図7のように、2回目の演算に対応する端子p1からp8に入力する。
次に、演算制御部101は、ビットシフト指示信号を出力する。当該ビットシフト指示信号には、ビットシフトなしとするビット演算部103、104、105、106に対する指示が含まれる(ステップS304)。
当該ビットシフト指示信号に応じて、ビット演算部103、104、105、106は、ビットシフトをしないで入力されたデータを出力する。
加算部107、110、および減算部108、109は、入力されるデータに基づいて、演算を行い、演算データ保存部112に行方向2回目演算結果を保存する。
行方向3回目(ループL6=3回目、ステップS300=3回目)および行方向4回目(ループL6=4回目、ステップS300=4回目)の演算では、演算制御部101は、入力データ保存部111からの読み出しの指示と演算回数3回目および4回目であることの通知とを含む入力選択指示信号を出力する(ステップS301)。また、演算制御部101は、ビット演算部103、104に対してビットシフトなしを指示し、ビット演算部105、106に対して1ビット右シフトを指示するビットシフト指示信号を出力する(ステップS302)。
当該入力選択指示信号に応じて、入力選択部102は、入力データ保存部111からの入力画素データのin[1]、in[3]、in[5]、in[7]を読み出し、演算回数に合わせて、図7のように、端子p1からp8に入力する。
当該ビットシフト指示信号に応じて、ビット演算部105,106は、データを右に1ビットシフトしたビットシフト画素データを生成して出力する。
加算部107、110、および減算部108、109は、演算を行う。演算データ保存部112は、行方向3回目演算結果、および行方向4回目演算結果を行方向に保存する。
行方向5回目(ループL6=5回目、ステップS300=5回目)の演算では、演算制御部101は、行方向3回目演算結果および行方向4回目演算結果を演算データ保存部112から読み出すための指示と、演算回数5回目であることの通知とを含む入力選択指示信号を出力する(ステップS303)。また、演算制御部101は、ビット演算部103、104、105、106に対してビットシフトをしないように指示するビットシフト指示信号を出力する(ステップS304)。
当該入力選択指示信号に応じて、入力選択部102は、入力データ保存部111に保存された行方向3回目演算結果および行方向4回目演算結果を読み出し、8画素分の入力データを、図7のように、対応する端子p1からp8に入力する。
当該ビットシフト指示信号に応じて、ビット演算部103、104、105、106は、入力されたデータをビットシフトしないで出力する。
加算部107、110、および減算部108、109は、演算を行う。演算データ保存部112は、行方向5回目演算結果を行方向に保存する。
行方向6回目(ループL6=6回目、ステップS300=6回目)の演算では、演算制御部101は、行方向5回目演算結果を演算データ保存部112から読み出すための指示と、演算回数6回目であることの通知とを含む入力選択指示信号を出力する(ステップS305)。また、演算制御部101は、ビット演算部103、104、105、106に対して、2ビット右シフトするように指示するビットシフト指示信号を出力する(ステップS306)。
当該入力選択指示信号に応じて、入力選択部102は、演算データ保存部112に保存された行方向5回目演算結果を読み出し、図7のように、対応する端子p1からp8に入力する。
当該ビットシフト指示信号に応じて、ビット演算部103、104、105、106は、入力されたデータを2ビット右シフトし、ビットシフト画素データとして出力する。
加算部107、110、および減算部108、109は、演算を行う。演算データ保存部112は、行方向6回目演算結果を行方向に保存する。
行方向7回目(ループL6=7回目、ステップS300=7回目)および行方向8回目(ループL6=8回目、ステップS300=8回目)の演算では、演算制御部101は、行方向2回目演算結果と行方向6回目演算結果と演算データ保存部112から読み出すための指示と、演算回数7回目および8回目の演算であることの通知とを含む入力選択指示信号を出力する。また、演算制御部101は、ビット演算部103、104、105、106に対してビットシフトをしないように指示するビットシフト指示信号を出力する(ステップS304)。
当該入力選択指示信号に応じて、入力選択部102は、演算データ保存部112に保存された行方向2回目演算結果と行方向6回目演算結果とを読み出し、4画素分の入力データを、図7のように、対応する端子p1からp8に入力する。
当該ビットシフト指示信号に応じて、ビット演算部103、104、105、106は、入力されたデータをビットシフトしないでビットシフト画素データとして出力する。
加算部107、110、および減算部108、109は、演算を行う。演算データ保存部112は、行方向7回目演算結果および行方向8回目演算結果を行方向に保存する。行方向7回目演算結果および行方向8回目演算結果によって、行方向演算における1行分の演算結果が得られる。
ループL6の処理が、残り7行分実行される。それによって、8×8行列行方向演算結果が得られ、演算データ保存部112に保存される。
次に、整数変換器1000は、得られた8×8行列行方向演算結果に対して、列方向の演算を行う。列方向の演算において、演算制御部101は、8×8行列行方向演算結果の1列毎に、ループL6に示す8回の演算を演算部100に実行させて1列のデータを得て、全部で8列のデータを得るように、ループL6に示す8回の演算を演算部100に実行させる。この列方向の演算によって得られた8列の画素データは、8×8逆整数変換によって得られた最終結果となる。よって、演算データ保存部112は、当該8列分の画素データを出力画素行列として、出力する。
このようにして、整数変換器1000は、8×8逆整数変換を行うことができる。
上述のように、演算制御部101は、4×4逆整数変換および8×8逆整数変換での演算手順を、演算部100における1回の演算で実行可能な単位に、演算回数に対応させて分割して定義している。そして、演算制御部は、使用する変換モードおよび演算回数に応じて、入力選択部102が端子p1〜p8に入力する画素データの組み合わせを制御し、ビット演算部103〜106でのビットシフト量(乗算係数)を制御する。これによって、単一の整数変換器1000を用いて、4×4逆整数変換および8×8逆整数変換の切り換えを実現することができる。
(4×4整数変換の場合の動作)
4×4整数変換の行方向の変換式は、数6で与えられるため、図9に示すように、入力選択部102は、画素データを端子p1〜p8に入力する。演算制御部101は、ビット演算部105,106におけるビットシフト量を第2回目の演算において、左に1ビットシフトするように演算制御を行う。なお、これによって、4×4整数変換が、図3に示す回路によって実現することができる。
Figure 0004704333
なお、数6および図9において、d[i][j]がin[i]に対応し、e[i][j]がa[i]に対応し、f[i][j]がb[i]に対応する。
(8×8整数変換の場合の動作)
8×8整数変換の行方向の演算式は、数7で与えられるため、図10Aに示すように、入力選択部102は、画素データを端子p1〜p8に入力する。演算制御部101は、ビットシフト量を調整して、演算制御を行う。
Figure 0004704333
なお、数7および図10Aにおいて、f[i][j]がin[i]に対応し、g[i][j]がa[i]に対応し、k[i][j]がout[i]に対応する。なお、h,b,b1,b2の対応関係は、数7および図10Aから理解できる。
(Intra16×16のアダマール変換の場合の動作)
Intra16×16のアダマール変換の場合、4×4単位でアダマール変換が実行される。アダマール変換は、図30に示したように、16×16の時間領域を4×4単位で整数変換して得られるDC成分を抽出して、4×4の行列にして、変換する。アダマール変換のための変換式は、数8のように表される。
Figure 0004704333
ここで、Cij(i,j=0,1,…3)は、抽出されたDC成分を示す。
(1)を展開すると、数9のようになる。
Figure 0004704333
ここで、数10のように定義する。
Figure 0004704333
すると、数9は、数11のようになる。
Figure 0004704333
数11を数12のように定義する。
Figure 0004704333
数12を用いて、数8の(2)を展開すると、数13のようになる。
Figure 0004704333
ここで、数14のように定義する。
Figure 0004704333
すると、数13は、数15のようになる。
Figure 0004704333
上記のような計算結果より、Intra16×16のアダマール変換は、図3整数変換器1000で演算することができることが分かる。すなわち、整数変換器1000は、以下の演算手順で、演算を実行すればよい。
(ステップ1)演算制御部101は、DC成分の4×4行列(Cij)の1行4係数分を横方向に読み出し、対応する端子p1〜p8に入力する。なお、どの端子に入力すべきかは、上記の式から定義できる。
(ステップ2)演算制御部101は、ビットシフトしない旨のビットシフト指示信号を出力する。
(ステップ3)第1回目の演算において、加算部107,110および減算部108,109は、数10に示すA,B,C,Dを算出し、演算データ保存部112に保存する。
(ステップ4)第2回目の演算において、演算制御部101によって、演算データ保存部112からA,B,C,Dを読み出す旨の入力選択指示信号およびビットシフト指示信号が出力され、加算部107,110および減算部108,109は、数11に示す第1行目を演算する。これによって、数9に示す第1行目の演算が完了する。
(ステップ5)同様にして、数9に示す第2行目〜第4行目までの演算が行われる。結果、数12が得られる。
(ステップ6)そして、演算制御部101は、列方向の演算を実行して、数13に示す行列を得る。この列方向の演算も、ステップ5までの行方向の演算と同様であるので、演算部100によって、実行可能である。
このように、Intra16×16のアダマール変換も、演算制御部101は、演算部における1回の演算で実行可能な単位に分割して、演算回数と対応させて定義している。したがって、演算回数に応じて、演算制御部101は、演算部100に入力すべき画素データの組み合わせおよびビットシフト量を制御することによって、Intra16×16のアダマール変換を実行することができる。なお、上記では、符号化の場合のアダマール変換について説明したが、復号化の場合のアダマール変換についても、変換式が同じであるので、整数変換器1000を用いて、実行することができる。
(Chromaアダマール変換の場合の動作)
Chromaアダマール変換の場合、2×2単位でアダマール変換が実行される。Chromaアダマール変換のための変換式は、数16のように表される。
Figure 0004704333
ここで、Cij(i,j=0,1)は、抽出されたDC成分を示す。
(3)を展開すると、数17のようになる。
Figure 0004704333
ここで、数18のように定義する。
Figure 0004704333
そして、(4)を展開すると、数19のようになる。
Figure 0004704333
上記のような計算結果により、Chromaアダマール変換は、図3の整数変換器1000で演算することができることが分かる。すなわち、整数変換器1000は、以下の演算手順で、演算を実行する。
(ステップ1)演算制御部101は、2×2行列(Cij)の4係数分を入力選択部102に読み出させ、対応する端子p1〜p8に入力する。なお、どの端子に入力すべきかは、上記の式から容易に推定できるので、省略する。
(ステップ2)加算部107,110および減算部108,109によって、A,B,C,Dが算出され、演算データ保存部112に保存される。
(ステップ3)演算制御部101は、演算データ保存部112に保存されているA,B,C,Dを入力選択部102に読み出させ、数19の計算が行えるように、端子p1〜p8に入力させる。これによって、演算部100は、数19に示す結果を計算することができる。
このように、Chromaアダマール変換も、演算制御部101は、演算部における1回の演算で実行可能な単位に分割して、演算回数と対応させて定義している。したがって、演算回数に応じて、演算制御部101は、演算部100に入力すべき画素データの組み合わせおよびビットシフト量を制御することによって、Chromaアダマール変換を実行することができる。なお、上記では、符号化の場合のChromaアダマール変換について説明したが、復号化の場合のChromaアダマール変換についても、変換式が同じであるので、整数変換器1000を用いて、実行することができる。
なお、単に、アダマール変換と言った場合、Intra16×16アダマール変換、およびChromaアダマール変換のことを意味するものとする。
上述のように、演算制御部101は、4×4逆整数変換、8×8逆整数変換、4×4整数変換、8×8整数変換、およびアダマール変換での演算手順を、演算部100における1回の演算で実行可能な単位に、演算回数に対応させて分割して定義している。そして、演算制御部は、使用する変換モードおよび演算回数に応じて、入力選択部102が端子p1〜p8に入力する画素データの組み合わせを制御し、ビット演算部103〜106でのビットシフト量(乗算係数)を制御する。これによって、単一の整数変換器1000を用いて、4×4逆整数変換、8×8逆整数変換、4×4整数変換、8×8整数変換、およびアダマール変換の切り換えを実現することができる。
その理由は、以下の通りである。第1の実施形態で示した変換式の内、図7に示す8×8逆整数変換における第5回目の演算式は、4つの値(たとえば、a1[1],a1[5],a2[1],a2[5])を入力して、2つの値(たとえば、a[1],a[5])を出力する二つの演算式が一組(*1)となって、このような演算式が二組(*1および*2)存在する。それ以外の演算式は、2つの値を入力して2つの値を出力する演算式となっている。8×8逆整数変換における第5回目の演算式が実現できる回路の最低限の構成は、端子p1〜p4、ビット演算部103,104、加算部107、および減算部108である。演算部100では、当該最低限の構成をさらにもう一つ用意している(端子p5〜p8、ビット演算部105,106、減算部109、および加算部110)。当該最小限の構成を、4入力2出力回路ということにする。4入力2出力回路は、8×8逆整数変換における第5回目の演算式以外の演算式のように、二つの端子に同じ値が入力されれば、2入力2出力の回路として機能する。したがって、4×4逆整数変換、8×8逆整数変換、4×4整数変換、8×8整数変換、Intra16×16のアダマール変換(4×4のアダマール変換)、およびChromaアダマール変換(2×2のアダマール変換)を、4入力2出力回路または2入力2出力回路で演算可能な演算式によって定義することによって、データを入力する端子およびビットシフト量さえ演算制御部101によって制御すれば、共通の整数変換器を用いて、変換を実現することができる。
よって、画像符号化装置および画像復号化装置は、単一の整数変換器を必要に応じて、使用する規格を変更しながら、時分割で使用することができ、様々な符号化規格に対応しながらも、小型化を図ることができる。
(第2の実施形態)
第2の実施形態では、演算部が二つ含まれている整数変換器について説明する。第2の実施形態に係る整数変換器では、演算部が二つ存在するので、整数変換のための処理速度を向上させることができる。
図11は、本発明の第2の実施形態に係る整数変換器2000の構成を示すブロック図である。第2の実施形態に係る整数変換器2000は、図1に示す整数変換部12および逆整数変換部16、ならびに図2に示す逆整数変換部25に適用される。図1および図2以外の画像復号化装置および画像符号化装置にあっても、整数変換または逆整数変換を行う部分に、図11に示す整数変換器2000が適用される。
図11において、整数変換器2000は、第1の演算部1100と、第2の演算部2100と、入力データ保存部111と、演算データ保存部112と、演算制御部201とを含む。図11において、第1の実施形態と同様の機能を有する部分については、同一の参照符号を付し、説明を省略する。
図12は、第1の演算部1100の構成を示すブロック図である。図12において、第1の演算部1100は、入力選択部1102と、ビット演算部1103、1104、1105、1106と、加算部1107、1110と、減算部1108、1109とを有する。第1の演算部1100の内部構成は、第1の実施形態に示す演算部100と同様であるので、説明を省略する。
図13は、第2の演算部2100の構成を示すブロック図である。図13において、第1の演算部2100は、入力選択部2102と、ビット演算部2103、2104、2105、2106と、加算部2107、2110と、減算部2108、2109とを有する。第2の演算部2100の内部構成は、第1の実施形態に示す演算部100と同様であるので、説明を省略する。
演算制御部201は、第1の演算部1100の入力選択部1102が入力データ保存部111からデータを読み出すか、演算データ保存部112から行方向でデータを読み出すか、それとも演算データ保存部112から列方向でデータを読み出すかを示す指示と、現在の演算回数を示す指示とを含む第1の入力選択指示信号を出力する。また、演算制御部201は、変換モード(4×4アダマール変換、2×2アダマール変換、4×4逆整数変換、8×8逆整数変換、4×4整数変換、または8×8整数変換)と演算回数とに基づいて、ビット演算部1103、1104、1105、1106のビットシフト量を決定し、ビット演算部1103、1104、1105、1106に対して、決定したビットシフト量を第1のビットシフト指示信号として出力する。
同様に、演算制御部201は、第2の演算部2100の入力選択部2102が入力データ保存部111からデータを読み出すか、演算データ保存部112から行方向でデータを読み出すか、それとも演算データ保存部112から列方向でデータを読み出すかを示す指示と、現在の演算回数を示す指示とを含む第2の入力選択指示信号を出力する。また、演算制御部201は、変換モード(4×4アダマール変換、2×2アダマール変換、4×4逆整数変換、8×8逆整数変換、4×4整数変換、または8×8整数変換)と演算回数とに基づいて、ビット演算部2103、2104、2105、2106のビットシフト量を決定し、ビット演算部2103、2104、2105、2106に対して、決定したビットシフト量を第2のビットシフト指示信号として出力する。
4×4アダマール変換、2×2アダマール変換、4×4逆整数変換、および4×4整数変換の場合、演算制御部201は、第1の演算部1100を用いて、変換処理を行うように、第1の入力選択指示信号および第1のビットシフト指示信号を出力する。このときの整数変換器2000は、第2の演算部2100が使用されない以外は、第1の実施形態に係る整数変換器1000の動作と同様であるので、説明を省略する。
演算制御部201は、8×8逆整数変換および8×8整数変換の場合に、第1および第2の演算部1100、2100を使用して、変換処理速度を向上させる。
(8×8逆整数変換の場合の動作)
図15は、演算回数に対応した第1の演算部1100での演算式および第2の演算部2100での演算式を示す図である。図15に示すような関係が演算制御部201に定義されている。定義方法は、図15のようなテーブル形式に限るものではなく、特に限定されない。
図15に示す処理番号は、図7に示す演算回数と対応し、それぞれの演算式が同じである。例えば、図15における処理番号3は、図7における第3回目の演算回数に対応する。図15に示す演算において、第1および第2の演算部1100,2100は、処理番号に対応する演算に必要なデータを、入力データ保存部111または演算データ保存部112から読み出して、同様の演算を実行する。
図16は、8×8逆整数変換において、行方向の演算を実行するときの演算制御部201の動作を示すフローチャートである。以下、図16を参照しながら、8×8逆変換において、行方向の演算を実行するときの演算制御部201の動作について説明する。
図16において、ループL7は、入力された8×8の画素データの全ての行(8行)に渡って、ループL7内の演算が完了したときを終了条件とするループである。ループL8は、図16に示す行方向の演算回数が4回に達したときを終了条件するループである。以下、入力された8×8の画素データを入力画素行列という。
入力画素行列の行方向1回目(ループL8=1回目、ステップS400=1回目)の演算のとき、演算制御部201は、第1の入力選択指示信号を出力して第1の演算部1100に入力し(ステップS401)、第2の入力選択指示信号を出力して第2の演算部2100に入力する(ステップS402)。当該第1の入力選択指示信号には、入力データ保存部111から入力画素データin[1]、in[3]、in[5]、in[7]を読み出すための指示と、処理番号が3である旨の通知とが含まれている。当該第2の入力選択指示信号には、入力データ保存部111から入力画素データin[1]、in[3]、in[5]、in[7]の読み出すための指示と、処理番号が4である旨の通知とが含まれている。
第1および第2の入力選択指示信号に応じて、入力選択部1102、2102は、第1の実施形態における入力選択部102の第3および第4回目の演算と同様に動作する。
次に、演算制御部201は、第1のビットシフト指示信号を出力し(ステップS403)、第2のビットシフト指示信号を出力する(ステップS404)。当該第1のビットシフト指示信号には、ビット演算部1105、1106に対して1ビット右シフトさせる指示が含まれる。当該第2のビットシフト指示信号には、ビット演算部2105、2106に対して1ビット右シフトさせる指示が含まれる。
第1および第2のビットシフト指示信号に応じて、第1および第2の演算部1100、2100は、第1の実施形態における演算部100の第3および第4回目の演算と同様に動作する。
行方向2回目(ループL8=2回目、ステップS400=2回目)の演算のとき、演算制御部201は、第1の入力選択指示信号を出力して第1の演算部1100に入力し(ステップS411)、第2の入力選択指示信号を出力して第2の演算部2100に入力する(ステップS412)。当該第1の入力選択指示信号には、入力データ保存部111から入力画素データin[0]、in[2]、in[4]、in[6]を読み出すための指示と、処理番号が1である旨の通知とが含まれている。当該第2の入力選択指示信号には、演算データ保存部112に保存された行方向一回目の演算結果を読み出すための指示と、処理番号が5である旨の通知とが含まれている。
第1および第2の入力選択指示信号に応じて、入力選択部1102、2102は、第1の実施形態における入力選択部102の第1および第5回目の演算と同様に動作する。
次に、演算制御部201は、第1のビットシフト指示信号を出力し(ステップS413)、第2のビットシフト指示信号を出力する(ステップS414)。当該第1のビットシフト指示信号には、ビット演算部1105、1106に対して1ビット右シフトさせる指示が含まれる。当該第2のビットシフト指示信号には、ビット演算部2103、2104、2105、2106に対してビットシフトを行わせない指示が含まれる。
第1および第2のビットシフト指示信号に応じて、第1および第2の演算部1100、2100は、第1の実施形態における演算部100の第1および第5回目の演算と同様に動作する。
行方向3回目(ループL8=3回目、ステップS400=3回目)の演算のとき、演算制御部201は、第1の入力選択指示信号を出力して第1の演算部1100に入力し(ステップS421)、第2の入力選択指示信号を出力して第2の演算部2100に入力する(ステップS422)。当該第1の入力選択指示信号には、演算データ保存部112から行方向2回目の演算結果を読み出すための指示と、処理番号が2である旨の通知とが含まれている。当該第2の入力選択指示信号には、演算データ保存部112から行方向2回目の演算結果を読み出すための指示と、処理番号が6である旨の通知とが含まれている。
第1および第2の入力選択指示信号に応じて、入力選択部1102、2102は、第1の実施形態における入力選択部102の第2および第6回目の演算と同様に動作する。
次に、演算制御部201は、第1のビットシフト指示信号を出力し(ステップS423)、第2のビットシフト指示信号を出力する(ステップS424)。当該第1のビットシフト指示信号には、ビット演算部1103、1104、1105、1106に対してビットシフトを行わせない指示が含まれる。当該第2のビットシフト指示信号には、ビット演算部2103、2104、2105、2106に対して2ビット右シフトさせるための指示が含まれる。
第1および第2のビットシフト指示信号に応じて、第1および第2の演算部1100、2100は、第1の実施形態における演算部100の第2および第6回目の演算と同様に動作する。
行方向4回目(ループL8=4回目、ステップS400=4回目)の演算のとき、演算制御部201は、第1の入力選択指示信号を出力して第1の演算部1100に入力し(ステップS431)、第2の入力選択指示信号を出力して第2の演算部2100に入力する(ステップS432)。当該第1の入力選択指示信号には、演算データ保存部112から行方向3回目の演算結果を読み出すため指示と、処理番号が7である旨の通知とが含まれている。当該第2の入力選択指示信号には、演算データ保存部112から行方向3回目の演算結果を読み出すため指示と、処理番号が8である旨の通知とが含まれている。
第1および第2の入力選択指示信号に応じて、入力選択部1102、2102は、第1の実施形態における入力選択部102の第7および第8回目の演算と同様に動作する。
次に、演算制御部201は、第1のビットシフト指示信号を出力し(ステップS433)、第2のビットシフト指示信号を出力する(ステップS434)。当該第1のビットシフト指示信号には、ビット演算部1103、1104、1105、1106に対してビットシフトを行わせない指示が含まれる。当該第2のビットシフト指示信号には、ビット演算部2103、2104、2105、2106に対してビットシフトを行わせない指示が含まれる。
第1および第2のビットシフト指示信号に応じて、第1および第2の演算部1100、2100は、第1の実施形態における演算部100の第7および第8回目の演算と同様に動作する。
ループL8の処理が、残り7行分実行される。それによって、8×8行列行方向演算結果が得られ、演算データ保存部112に保存される。
次に、整数変換器2000は、得られた8×8行列行方向演算結果に対して、列方向の演算を行う、列方向の演算において、8×8行列行方向演算結果の1列毎に、ループL8に示す4回の演算を第1および第2の演算部1100、2100に実行させ、1列のデータを得て、全部で8列のデータを得るように、ループ8に示す4回の演算を第1および第2の演算部1100、2100に実行させる。この列方向の演算によって得られた8列の画素データは、8×8逆整数変換によって得られた最終結果となる。よって、演算データ保存部112は、当該8列分の画素データを出力画素行列として、出力する。
このようにして、整数変換器2000は、8×8逆整数変換を行うことができる。
(8×8整数変換の場合の動作)
上記の8×8逆整数変換の説明において、図7の処理手順を図15の処理順序で行ったのと同様に、図10Aの処理番号(1,2)、(4,5)、(3,6)、(7,8)をそれぞれ同時に行うことで、図11の回路を用いて、8×8整数変換が実現できる。
なお、上記実施形態では、第1および第2の整数変換器1100、2100を並列に接続して、演算を並列に行わせることとしたが、第1および第2の整数変換器1100、2100を直列に接続して、処理速度を向上させてもよい。具体的には、図3に示す演算部100を直列に接続し、演算制御部が、必要なデータを各演算部100の入力選択部102に取得させ、後段の演算部100で演算をしている間に、次の演算を前段の演算部100で実行すればよい。たとえば、4×4の逆整数変換の演算で、図4の1回目の計算を前段の演算部1100で行わせ、2回目の計算を後段の演算部2100で行わせ、前段の演算部1100へ行方向データを順次入力することで、後段の演算部2100から行方向の結果を順に得ることができ、第1の実施形態より処理速度が向上する。
なお、本発明は、整数変換器が2つである場合に限らず、3つ以上の複数であってもよい。3つ以上の複数であっても、整数変換器は、並列または直列に接続され、演算制御部によって、入力されるデータおよびビットシフト量が制御されれば、正しく、変換処理を実行することができる。たとえば、図14に示すように、演算部を構成することによって、図7の演算回数に対応した演算を図14に示す各演算部が実行することができる。これによって、8×8逆整数変換の処理速度を向上させることができる。なお、4×4逆変換などでは、1回目および2回目の演算部のみを使って、破線のパスから、入力データ保存部に出力するとよい。
なお、上記実施形態では、演算部を並列または直列に接続して、8×8逆整数変換、8×8整数変換をパイプライン処理することとしたが、4×4逆整数変換、4×4整数変換、4×4のアダマール変換、および2×2のアダマール変換についても、演算部を並列または直列に接続して、パイプライン処理を実行してもよい。具体的には、演算式毎に、異なる演算部を使用すれば、処理速度が向上する。
なお、上記実施形態では、演算式毎に、異なる演算部を使用して、8×8逆整数変換、8×8整数変換、4×4逆整数変換、4×4整数変換、4×4のアダマール変換、および2×2のアダマール変換の高速化を図ることとしたが、画素毎に、異なる演算部を使用して、処理速度を向上させてもよい。
第2の実施形態によれば、演算制御部201は、演算回数に対応させて、複数の演算部の内、いずれの演算部に、必要な画素データを入力し、必要な演算を実行させるかを予め定義しておいて、複数の演算部を並列または直列に使用する。このように、基本となる演算部を並列または直列に接続して使用することで、簡単な構成でパイプライン処理が可能となり、処理速度が向上する画像符号化装置および画像復号化装置を提供することができる。
(第3の実施形態)
第3の実施形態では、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、2×2アダマール変換、および新たに追加される未知の変換方式に対応することが可能でありながらも、小型化された画像符号化装置および画像復号化装置について説明する。
まず、画像符号化装置および画像復号化装置の概略的な構成について説明する。図17は、画像符号化装置3の概略的構成を示すブロック図である。図17では、時間領域を周波数領域に変換して圧縮するための構成のみ示し、動き補償予測等によって圧縮するための構成については、省略している。図17において、画像符号化装置3は、画像データ入力部31と、時間周波数変換部32と、量子化部33と、圧縮データ出力部34とを備える。画像データ入力部31は、時間領域の画像データを時間周波数変換部32に入力する。時間周波数変換部32は、時間領域の画像データを周波数領域の画像データに変換する。時間周波数変換部32は、DCT、4×4整数変換、8×8整数変換、4×4アダマール変換、2×2アダマール変換、または新たに追加される未知の変換方式のいずれかを用いて、時間領域から周波数領域への変換を実行する。量子化部33は、当該周波数領域の画像データを可変長符号化して、量子化することによって、元の画像データを圧縮する。圧縮データ出力部34は、圧縮された画像データを出力したり、保存したりする。
図18は、画像復号化装置4の概略的構成を示すブロック図である。図18では、周波数領域を時間領域に変換して復号化するための構成のみを示し、動き補償予測等によって復号化するための構成についは、省略している。図18において、画像復号化装置4は、圧縮データ入力部41と、逆量子化部42と、周波数時間変換部43と、画像データ出力部44とを備える。圧縮データ入力部41は、圧縮された画像データを逆量子化部42に入力する。逆量子化部42は、当該画像データを逆量子化し、可変長復号化することによって、周波数領域の画像データを得る。周波数時間変換部43は、当該周波数領域の画像データを時間領域の画像データに変換する。周波数時間変換部43は、逆DCT、4×4逆整数変換、8×8逆整数変換、4×4アダマール変換、2×2アダマール変換、または新たに追加される未知の変換方式のいずれかを用いて、周波数領域から時間領域への変換を実行する。画像データ出力部44が、周波数時間変換部43によって得られた時間領域の画像データを出力したり、保存したりする。
時間周波数変換部32および周波数時間変換部43は、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、2×2アダマール変換、および新たに追加される新規の変換方式を実行することができる。時間周波数変換部32および周波数時間変換部43は、共通の構成で実現できる。以下、時間周波数変換部32および周波数時間変換部43を、単に、変換3000と呼ぶことにする。
図19は、変換3000の構成を示すブロック図である。図19において、変換器3000は、入力データ保存部3001と、入力選択部3002と、演算部3010と、演算データ保存部3009と、乗設定部3011と、演算順序管理部3012と、変換モード設定部3013と、第1の乗数保存部3014と、第2の乗数保存部3015と、新変換モード乗数保存部3016と、新乗数設定部3017とを含む。演算部3010は、乗算部3003、3004、3005、3006と、加算部3007、3008とを有する。乗設定部3011と、演算順序管理部3012と、変換モード設定部3013と、第1の乗数保存部3014と、第2の乗数保存部3015と、新変換モード乗数保存部3016と、新乗数設定部3017とによって、演算制御部が構成される。
第3の実施形態で利用可能な変換方式は、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、2×2アダマール変換、および新たに追加される新規の変換方式である。新規の変換モードは、図示しないプロセッサによって、変換モード設定部3013に設定される。
入力データ保存部3001は、変換する対象のデータを保存するメモリである。演算データ保存部3009は、演算部3010から出力された演算後のデータを保存するメモリである。
演算順序管理部3012は、変換モード設定部3013で管理されている変換モードに応じて、変換のための演算回数を管理し、現在何回目の演算であるかを入力選択部3002に通知する。入力選択部3002は、演算順序管理部3012からの通知に応じて、入力データ保存部3001または演算データ保存部3009から、必要なデータを読み出し、端子p1〜p4の内、適切な端子に、読み出したデータを入力する。変換方式および演算回数に応じて、入力選択部3002が入力データ保存部3001からどのデータを読み出すか、入力選択部3002が演算データ保存部3009からどのデータを読み出すかは、予め決められている。
第1の乗数保存部3014は、DCTおよび逆DCT用の変換に必要な乗数(乗数係数)を保存している。なお、画像符号化装置3では、第1の乗数保存部3014は、DCT用の乗数を保存しているだけでよい。また、画像復号化装置4では、第1の乗数保存部3014は、逆DCT用の乗数を保存しているだけでよい。
第2の乗数保存部3014は、H.264における変換のための乗数、すなわち、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、および2×2アダマール変換に必要な乗数を保存している。なお、画像符号化装置3では、第1の乗数保存部3014は、4×4整数変換、8×8整数変換、4×4アダマール変換、および2×2アダマール変換用の乗数を保存しているだけでよい。また、画像復号化装置4では、第1の乗数保存部3014は、4×4逆整数変換、8×8逆整数変換、4×4アダマール変換、および2×2アダマール変換用の乗数を保存しているだけでよい。
新乗数設定部3017は、新たな変換モードを導入する必要が生じたときに、新たな変換モードで使用する乗数を演算回数と対応付けて設定することができる。新変換モード乗数保存部3016は、図示しないプロセッサ等によって新乗設定部3017から設定された新たな乗数を保存するメモリである。
乗数設定部3011は、演算回数に対応させて、乗算部3003〜3006で使用すべき乗数を、予め記憶している。乗数設定部3011は、変換モード設定部3013で管理されている現在の変換モード、および演算順序管理部3012で管理されている演算回数に応じて、必要な乗数を第1〜第3の乗数保存部3014、3015、3016のいずれかから読み出す。乗数設定部3011は、読み出した乗数を、適切な乗算部3003〜3006に入力する。
演算部3010において、乗算部3003〜3006は、端子p1〜p4に入力されたデータに、乗設定部3011からの乗数を掛け算して出力する。加算部3007は、乗算部3003、3004から出力されるデータを加算して出力する。加算部3008は、乗算部3005、3006から出力されるデータを加算して出力する。加算部3007、3008から出力されたデータは、演算データ保存部3009に保存される。演算データ保存部3009は、行方向および列方向の全ての演算が終了したら、演算結果を出力画素データとして出力する。
次に、演算部3010の構成によって、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、および2×2アダマール変換のすべてが演算可能である理由について説明する。
図20は、演算部3010における演算の流れを説明するためのデータフローである。まず、図20の見方について説明する。図20において、右側のα、βが、入力を示す。左側のγ、δが、出力を示す。線上のa、b、c、dは、乗数を示す。図20に示すデータフローによって、γ=b×α+c×β、δ=d×α+a×βが得られる。演算部3010において、端子p1の入力をαとし、端子p3の入力をβとし、乗算部3003での乗数をdとし、乗算部3004での乗数をaとすると、加算部3007から出力される値は、δ=d×α+a×βとなる。また、演算部3010において、端子p2の入力をαとし、端子p4の入力をβとし、乗算部3005での乗数をbとし、乗算部3006での乗数をcとすると、加算部3008から出力される値は、γ=b×α+c×βとなる。したがって、図20に示す基本データフローは、演算部3010による演算によって得られるデータフローを示していると言える。
このように、演算部3010は、図20に示すように、2入力2出力のデータフローを構成することができる演算処理を実行することができる。2入力2出力のデータフローを構成することができる演算処理を基本単位の演算処理という。
変換3000が扱いたい変換モードを、図20に示す基本データフローによる演算の繰り返しによって実現することができれば、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、および2×2アダマール変換のすべてを、変換3000に実行させることができる。したがって、演算制御部は、各変換モードでの演算手順を、演算回数毎に、上記基本単位となる演算処理に分割して定義し、基本単位となる演算処理を演算部3010に繰り返させることによって、各変換の実行が可能となる。
そこで、本発明者は、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、および2×2アダマール変換のそれぞれについて、演算式を操作することによって、基本単位の演算を繰り返すデータフローを得ることができた(図21から図27参照)。
図21は、逆DCT変換のデータフローを示す図である。図21において、たとえば、点線の矩形で囲った部分Aの演算の流れについて説明する。図21において、CSk=Cos(kπ/16)である。入力データX0は、端子p1およびp2に入力される。入力データX4は、端子p3およびp4に入力される。乗算部3003の乗数は、CS4であるとする。乗算部3004の乗数は、CS4であるとする。乗算部3005の乗数は、CS4であるとする。乗算部3006の乗数は、−CS4であるとする。これによって、加算部3007からは、p’i4が出力される。加算部3008からは、p’i0が出力される。図21に示すデータフローは、すべて、部分Aのように、基本単位のデータフロー(以下、基本データフローという)の組み合わせによって構成されている。ここで、基本データフローの演算を実行することを一回の演算という。よって、乗設定部3011は、変換モード設定部3013によって現在の変換モードが逆DCTであると設定されている場合、図21に示すデータフローに従って、演算回数毎に対応する乗数を乗算部3003〜3006に入力する。入力選択部3002は、必要なデータを入力データ保存部3001または演算データ保存部3009から読み出して、演算回数に対応させて、端子p1〜p4に入力する。
図21に示すデータフローに基づいて、どのように、変換器3000は、演算部3010に乗数およびデータを入力すればよいかについて、念のため説明しておく。図21に示すデータフローについて、変換器3000の設計者は、まず、一つの基本データフローを選び出す。次に、選んだ基本データフローにおいて、図20に示すαに対応するデータが、端子p1およびp2に入力されるべきであると決める。図20に示すβに対応するデータが、端子p3およびp4に入力されるべきであると決める。図20に示すaに対応する乗数は、乗算部3006に入力されるべきであると決める。図20に示すbに対応する乗数は、乗算部3003に入力されるべきであると決める。図20に示すcに対応する乗数は、乗算部3004に入力されるべきであると決める。図20に示すdに対応する乗数は、乗算部3005に入力されるべきであると決める。このような規則を、選び出した基本データフロー毎(演算回数毎)に定義しておいて、入力選択部3002、演算順序管理部3012、乗数設定部3011、第1の乗数保存部3014が設計されればよい。そして、変換器3000は、行方向および列方向について、図21に示すデータフローに基づいて、演算を実行し、変換後の画素データを出力する。
上述のような変換器3000の設計手法については、他の変換モードについても、同様に適用可能であるので、他の変換モードについては、データフローを示すのみにする。
なお、逆DCT変換のデータフローの矢印を逆に向け、乗数はそのままで、入力段を左側とし、出力段を右側と見なすことで、DCT変換は実現できる。したがって、逆DCT変換とDCT変換とは、第1の乗保存部3014において、共通の乗数として保存されていてもよい。
図22は、8×8逆整数変換のデータフローを示す図である。図22に示すように、8×8逆整数変換についても、基本データフローの組み合わせによって、行方向の演算を行うことができる。同様に、列方向の演算を行うことができる。したがって、8×8逆整数変換についても、図19に示す演算部3010の構成によって、演算可能である。8×8逆整数変換に必要な乗数は、第2の乗数保存部3015に保存されている。図21に示すデータフローと図22に示すデータフローとは、乗数が異なる以外は同様であるので、逆DCT変換と8×8逆整数変換とは、同様の手順で演算可能である。したがって、変換器3000の構成が簡易になる。
図23は、8×8整数変換のデータフローを示す図である。図23に示すように、8×8整数変換についても、基本データフローの組み合わせによって、行方向の演算を行うことができる。同様に、列方向の演算を行うことができる。したがって、8×8整数変換についても、図19に示す演算部3010の構成によって、演算可能である。8×8整数変換に必要な乗数は、第2の乗数保存部3015に保存されている。
図24は、4×4逆整数変換のデータフローを示す図である。図24に示すように、4×4逆整数変換についても、基本データフローの組み合わせによって、行方向の演算を行うことができる。同様に、列方向の演算を行うことができる。したがって、4×4逆整数変換についても、図19に示す演算部3010の構成によって、演算可能である。4×4逆整数変換に必要な乗数は、第2の乗数保存部3015に保存されている。図24と図22とを見比べると分かるように、点線枠Bで囲んだ領域の計算手順が重複している。したがって、変換3000は、4×4逆整数変換については、8×8逆整数変換における計算手順を途中でやめるように動作すればよい。
図25は、4×4整数変換のデータフローを示す図である。図25に示すように、4×4整数変換についても、基本データフローの組み合わせによって、行方向の演算を行うことができる。同様に、列方向の演算を行うことができる。したがって、4×4整数変換についても、図19に示す演算部3010の構成によって、演算可能である。4×4整数変換に必要な乗数は、第2の乗数保存部3015に保存されている。図25と図23とを見比べると分かるように、一部の乗数は異なるものの、点線枠Cで囲んだ領域の入力順序が一致している。したがって、変換器3000は、4×4整数変換については、8×8整数変換における入力順序の一部となるように動作すればよい。
図26は、4×4アダマール変換のデータフローを示す図である。図26に示すように、4×4アダマール変換についても、基本データフローの組み合わせによって、行方向の演算を行うことができる。同様に、列方向の演算を行うことができる。したがって、4×4アダマール変換についても、図19に示す演算部3010の構成によって、演算可能である。4×4アダマール変換に必要な乗数は、第2の乗数保存部3015に保存されている。
図27は、2×2アダマール変換のデータフローを示す図である。図27に示すように、2×2アダマール変換についても、基本データフローの組み合わせによって、行方向の演算を行うことができる。同様に、列方向の演算を行うことができる。したがって、2×2アダマール変換についても、図19に示す演算部3010の構成によって、演算可能である。2×2アダマール変換に必要な乗数は、第2の乗数保存部3015に保存されている。
新たな変換モードが登場した場合、設計者は、新たな変換モードに関する演算手順を、上記基本単位の演算処理に分割して、演算回数に対応させて、画素データの組み合わせおよび乗数係数を設定する。その上で、上述のように、データフローを作成して、乗数および計算手順を決定すればよい。決定された乗数は、演算回数と対応させて、新乗数設定部3017に入力される。また、演算回数と対応させて、どのデータを入力データ保存部3001および演算データ保存部3009から読み出すべきかが、新乗数設定部3017に入力される。新乗数設定部3017は、入力された乗数を、演算回数と対応させて、新変換モード乗数保存部3016に格納すると共に、どのデータを入力データ保存部3001および演算データ保存部3009から読み出すべきかを新変換モード乗数保存部3016に格納する。なお、新たな変換方式においても8×8行列による変換を行う場合、計算手順は、DCTや8×8整数変換と同一となるので、演算回数と乗数および読み出し先の対応付けは、容易に行うことができる。変換モード設定部3013で新たな演算方式が設定されたら、乗設定部3011は、新変換モード乗数保存部3016から、演算回数毎に、適切な乗数を読み出して、演算部3010に入力すると共に、どのデータを読み出すべきかを、演算順序管理部3012を介して、入力選択部3002に指示する。このように、新たな変換方式であっても、データフローを基本データフローの組み合わせにすることによって、他の変換方式と共通の変換部を用いることが可能となる。
このように、第3の実施形態によれば、各変換モードの変換を基本データフローの組み合わせに帰着させることによって、演算部を共通化することができるので、DCT、逆DCT、4×4整数変換、4×4逆整数変換、8×8整数変換、8×8逆整数変換、4×4アダマール変換、2×2アダマール変換、および新たに追加される未知の変換方式に対応することが可能でありながらも、小型化された画像符号化装置および画像復号化装置が提供されることとなる。
なお、第3の実施形態では、逆DCTおよびDCTと整数変換および逆整数変換とが切り換え可能な画像符号化装置および画像復号化装置を提案したが、整数変換および逆整数変換のみが切り換え可能であってもよい。
(第4の実施形態)
図28は、第4の実施形態に係る変換器4000の構成を示すブロック図である。図28において、変換器4000は、入力データ保存部4001と、複数の演算部4002と、演算制御部4003と、演算データ保存部4004とを備える。図28において、入力データ保存部4001は、入力データを保存する。各演算部4002は、図19に示す演算部3010と同様の構成を有する。複数の演算部4002は、並列に接続されている。演算データ保存部4004は、演算部4002による演算によって得られたデータを保存する。演算制御部4003は、変換モードおよび演算回数に応じて、データの読み出し先および乗数を演算部4002に指示する。演算制御部4003は、第3の実施形態において行われていた基本データフロー単位の演算を一度に複数の演算部4002に実行させるように、各演算部4002に対して、必要な乗数およびデータの読み出し先を指示する。演算制御部4003は、図19に示す演算順序管理部3012と、乗数設定部3011と、変換モード設定部3013と、第1〜第2の乗数保存部3014,3015と、新変換モード乗数保存部3016と、新乗数設定部3017とを含む。乗数設定部3011では、第3の実施形態と異なり、複数の演算を一度に複数の演算部4002に実行させるように、各演算部4002に対して、必要な乗数およびデータの読み出し先を指示する。
このように、第4の実施形態によれば、演算制御部4003は、演算回数に対応させて、複数の演算部の内、いずれの演算部に、必要な画素データを入力し、必要な演算を実行させるかを予め定義しておいて、複数の演算部を並列に使用する。基本データフロー単位の演算を複数の変換部に実行させることができるので、変換器の処理速度が向上する。
なお、上記では、基本データフロー単位の演算を複数の演算部4002に実行させることとしたが、演算制御部4003は、変換対象となる画素データを複数の演算部4002に変換させてもよい。
(第5の実施形態)
図29は、第5の実施形態に係る変換器5000の構成を示すブロック図である。図29において、変換器5000は、入力データ保存部5001と、複数の演算部5002と、演算制御部5003と、演算データ保存部5004とを備える。図29において、入力データ保存部5001は、入力データを保存する。各演算部5002は、図19に示す演算部3010と同様の構成を有する。複数の演算部5002は、直列に接続されている。演算データ保存部5004は、最終段の演算部5002による演算によって得られたデータを保存する。演算制御部5003は、変換モードおよび演算回数に応じて、データの読み出し先および乗数を演算部5002に指示する。複数の演算部5002は直列に接続されているので、演算制御部5003は、初段以外の演算部5002に対しては、前段の演算部5002の演算結果を利用するように指示する。一方、演算制御部5003は、初段の演算部5002に対しては、演算データ保存部5004または入力データ保存部5001からデータを読み出すように指示する。各演算部5002は、第3の実施形態において行われていた基本データフロー単位の演算を行っていく。ある演算部5002が基本データフロー単位の演算を行っている最中、他の演算部5002は、基本データフロー単位の別の演算を行う。したがって、演算が同時進行で複数行われるので、処理速度が向上する。
演算制御部5003は、図19に示す演算順序管理部3012と、乗数設定部3011と、変換モード設定部3013と、第1〜第2の乗数保存部3014,3015と、新変換モード乗数設定部3016と、新乗数設定部3017とを含む。乗数設定部3011では、第3の実施形態と異なり、複数の演算を一度に複数の演算部5002に実行させるように、各演算部5002に対して、必要な乗数およびデータの読み出し先を指示する。
このように、第5の実施形態によれば、演算制御部5003は、演算回数に対応させて、複数の演算部の内、いずれの演算部に、必要な画素データを入力し、必要な演算を実行させるかを予め定義しておいて、複数の演算部を直列に使用する。基本データフロー単位の演算を複数の変換部に実行させることができるので、変換器の処理速度が向上する。
なお、上記では、基本データフロー単位の演算を複数の演算部5002に実行させることとしたが、演算制御部5003は、変換対象となる画素データを複数の演算部5002に変換させてもよい。
なお、図3、図11、図12、図13、図14、図19、図28、図29に示した各機能ブロックは、集積回路であるLSIとして実現されてもよい。これらの機能ブロックは、1チップ化されていてもよいし、一部又は全てを含むように1チップ化されていてもよい。ここでは、LSIといったが、集積度の違いによっては、IC、システムLSI、スーパーLSI、ウルトラLSIと称呼されることもある。また、集積回路化の手法は、LSIに限られるものではなく、専用回路または汎用プロセッサで集積回路化を行ってもよい。また、LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを用いてもよい。さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックを集積化してもよい。バイオ技術の適応等が可能性としてあり得る。
なお、本発明は、ソフト的に実現されてもよい。すなわち、記憶装置を有するコンピュータ装置に、上記で説明した動作を実行することができるプログラムを格納しておき、画素データを変換する際、当該プログラムをCPUで実行しながら、適宜、必要なデータを記憶装置に格納しておき、変換後の画素データを得るようにしてもよい。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
本発明にかかる整数変換器は、H.264に特有の行列演算をひとつの回路で実施することができ、システムLSI等でハードウェアのエンジンの一部として、小型化が望まれる携帯向け商品等に有用である。また、パイプライン処理を行うことで処理速度を向上させることができ、HDTV(High Definition Television)等の用途にも適用できる。また、DCT、逆DCT、整数変換、逆整数変換、およびアダマール変換、ならびに新たな変換方式に対応することが可能でかつ小型の変換器が提供され、画像符号・復号化装置等に極めて有用である。
本発明の第1の実施形態に係る画像符号化装置1の構成の一例を示すブロック図 本発明の第1の実施形態に係る画像復号化装置2の構成の一例を示すブロック図 本発明の第1の実施形態に係る整数変換器1000の構成を示す図 演算回数に対応した演算式、および入力選択部102によって入力端子p1〜p8に入力されて演算処理の対象となる画素データの組み合わせの関係を示す図 4×4逆整数変換において、行方向の演算を実行するときの演算制御部101の動作を示すフローチャート 4×4逆整数変換において、列方向の演算を実行するときの演算制御部101の動作を示すフローチャート 算回数に対応した演算式、および入力選択部102によって入力端子p1〜p8に入力されるべき画素データの関係を示す図 8×8逆整数変換において、行方向の演算を実行するときの演算制御部101の動作を示すフローチャート 4×4整数変換において演算回数に対応した演算式、および入力選択部102によって入力端子p1〜p8に入力されるべき画素データの関係を示す図 8×8整数変換において演算回数に対応した演算式、および入力選択部102によって入力端子p1〜p8に入力されるべき画素データの関係を示す図 本発明の第2の実施形態に係る整数変換器2000の構成を示すブロック図 第1の演算部1100の構成を示すブロック図 第2の演算部2100の構成を示すブロック図 演算部を直列および/または並列に接続することによって、8×8整数変換を実現するときの演算部の構成を示すブロック図 演算回数に対応した第1の演算部1100での演算式および第2の演算部2100での演算式を示す図 8×8逆整数変換において、行方向の演算を実行するときの演算制御部201の動作を示すフローチャート 画像符号化装置3の概略的構成を示すブロック図 画像復号化装置4の概略的構成を示すブロック図 変換3000の構成を示すブロック図 演算部3010における演算の流れを説明するためのデータフロー 逆DCT変換のデータフローを示す図 8×8逆整数変換のデータフローを示す図 8×8整数変換のデータフローを示す図 4×4逆整数変換のデータフローを示す図 4×4整数変換のデータフローを示す図 4×4アダマール変換のデータフローを示す図 2×2アダマール変換のデータフローを示す図 第4の実施形態に係る変換器4000の構成を示すブロック図 第5の実施形態に係る変換器5000の構成を示すブロック図 Intra16×16モードでの画素データの変換の流れを示す図 H.264における復号化の処理手順を示す図
符号の説明
1 画像符号化装置
2 画像復号化装置
3 画像符号化装置
4 画像復号化装置
11 画面内予測部
12 整数変換部
13 量子化部
14 エントロピー符号化部
15 逆量子化部
16 逆整数変換部
17 加算部
18 デブロッキングフィルタ部
19 フレームメモリ部
20 動き補償部
21 動き検出部
22 減算部
23 エントロピー復号化部
24 逆量子化部
25 逆整数変換部
26 デブロッキングフィルタ部
27 動き補償部
28 重み付け予測部
29 画面内予測部
30 加算部
31 画像データ入力部
32 時間周波数変換部
33 量子化部
34 圧縮データ出力部
41 圧縮データ入力部
42 逆量子化部
43 周波数時間変換部
44 画像データ出力部
100 演算部
101 演算制御部
102 入力選択部
103 ビット演算部
103a ビット演算部
104 ビット演算部
104a ビット演算部
105 ビット演算部
105a ビット演算部
106 ビット演算部
106a ビット演算部
107 加算部
108 減算部
109 減算部
110 加算部
111 入力データ保存部
112 演算データ保存部
201 演算制御部
1000 整数変換器
1100 第1の演算部
1102 入力選択部
1103 ビット演算部
1105 ビット演算部
1107 加算部
1108 減算部
2000 整数変換器
2100 第2の演算部
2102 入力選択部
2103 ビット演算部
2105 ビット演算部
2107 加算部
2108 減算部
3000 変換
3001 入力データ保存部
3002 入力選択部
3003 乗算部
3004 乗算部
3005 乗算部
3006 乗算部
3007 加算部
3008 加算部
3009 演算データ保存部
3010 演算部
3011 乗設定部
3012 演算順序管理部
3013 変換モード設定部
3014 第1の乗数保存部
3015 第2の乗数保存部
3016 新変換モード乗数保存部
3017 新乗数設定部
4000 変換器
4001 入力データ保存部
4002 演算部
4003 演算制御部
4004 演算データ保存部
5000 変換器
5001 入力データ保存部
5002 演算部
5003 演算制御部
5004 演算データ保存部

Claims (24)

  1. 周波数領域から時間領域への複数の変換モードを必要に応じて切り換えて、圧縮画像データを復号化する画像復号化装置であって、
    入力される複数の画素データに対して、演算処理を施すための演算部と、
    前記演算部による演算結果を保存する演算データ保存部と、
    前記演算部に入力すべき画素データを、前記圧縮画像データから読み出すか、または前記演算データ保存部に保存されている画素データから読み出すか選択し、読み出した画素データを前記演算部に入力する入力選択部と、
    各変換モードでの演算手順を、前記演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する前記変換モードおよび前記演算部における演算回数に基づいて、前記入力選択部が前記演算部に入力すべき画素データの読み出し先を制御すると共に、前記演算部において演算処理の対象となる前記画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備え
    前記演算部は、基本単位となる演算処理を実行可能な構成を有しており、
    前記演算制御部は、各変換モードでの演算手順を、演算回数毎に、前記基本単位となる演算処理に分割して定義しており、前記基本単位となる演算処理を前記演算部に繰り返させるように、前記演算処理の対象となる画素データの組み合わせを制御すると共に、前記乗算係数を制御し、
    前記演算制御部は、
    前記演算回数と、前記乗算係数と、前記画像データの読み出し先の情報とを対応付けた設定情報を、前記変換モードごとに保存する乗数保存部と、
    前記演算部での演算順序を管理する演算順序管理部とを含む、画像復号化装置。
  2. 前記演算部は、整数演算を実行可能な構成を有しており、
    前記演算制御部は、前記整数演算の対象となる画素データの組み合わせを制御すると共に、前記演算部におけるビットシフト量を前記乗算係数として制御する、請求項1に記載の画像復号化装置。
  3. 前記演算部は、
    第1〜第8の端子と、
    前記第2の端子への入力をビットシフトする第1のビット演算部と、
    前記第3の端子への入力をビットシフトする第2のビット演算部と、
    前記第6の端子への入力をビットシフトする第3のビット演算部と、
    前記第7の端子への入力をビットシフトする第4のビット演算部と、
    前記第1の端子への入力と前記第2のビット演算部の出力とを加算する第1の加算部と、
    前記第1のビット演算部の出力から前記第4の端子への入力を減算する第1の減算部と、
    前記第4のビット演算部の出力から前記第5の端子への入力を減算する第2の減算部と、
    前記第8の端子への入力と前記第3のビット演算部の出力とを加算する第2の加算部とを含み、
    前記演算データ保存部は、前記第1および第2の加算部、ならびに前記第1および第2の減算部の演算結果を保存し、
    前記演算制御部は、前記変換モードおよび前記演算回数に基づいて、前記第1〜第8の端子に入力すべき画素データを制御し、かつ、前記第1〜第4のビット演算部でのビットシフト量を制御する、請求項2に記載の画像復号化装置。
  4. 前記複数の変換モードは、4×4逆整数変換、8×8逆整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである、請求項2に記載の画像復号化装置。
  5. 前記基本単位となる演算処理は、2入力2出力のデータフローを構成することができる演算処理である、請求項に記載の画像復号化装置。
  6. 前記演算制御部は、新たな変換モードに関する画素データの組み合わせおよび乗算係数を、演算回数に対応させて保存することができ、前記新たな変換モードが使用される場合、当該保存内容に基づいて、前記入力選択部および前記演算部を制御する、請求項に記載の画像復号化装置。
  7. 前記演算部は、
    第1〜第4の端子と、
    前記第1の端子への入力に対して乗算処理を施す第1の乗算部と、
    前記第3の端子への入力に対して乗算処理を施す第2の乗算部と、
    前記第2の端子への入力に対して乗算処理を施す第3の乗算部と、
    前記第4の端子への入力に対して乗算処理を施す第4の乗算部と、
    前記第1の乗算部の出力と前記第2の乗算部の出力とを加算する第1の加算部と、
    前記第3の乗算部の出力と前記第4の乗算部の出力とを加算する第2の加算部とを含み、
    前記演算データ保存部は、前記第1および第2の加算部の演算結果を保存し、
    前記演算制御部は、前記変換モードおよび前記演算回数に基づいて、前記第1〜第4の端子に入力すべき画素データを前記入力選択部に制御させ、かつ、前記第1〜第4の乗算部での前記乗算係数である乗数を制御する、請求項に記載の画像復号化装置。
  8. 前記演算制御部は、
    前記第1〜第4の乗算部での前記乗数を設定する乗数設定部と、
    変換モードを管理する変換モード設定部とをさらに含み
    前記乗数設定部は、前記変換モード設定部が管理する現在の変換モードおよび前記演算順序管理部が管理する前記演算回数に基づいて、前記乗数保存部から、適切な乗数を読み出して、前記第1〜第4の乗算部に設定し、
    前記演算順序管理部は、前記現在の変換モードおよび前記演算回数に基づいて、前記第1〜第4の端子に入力すべき画素データを前記入力選択部に制御させる、請求項に記載の画像復号化装置。
  9. 前記演算制御部は、さらに、
    新たな変換モードで使用する乗数を演算回数と対応付けて設定するための乗数設定部と、
    前記乗数設定部で設定された乗数を保存する新変換モード乗数保存部とを含み、
    前記新たな変換モードが使用された場合、
    前記乗数設定部は、演算回数に対応した乗数を前記新変換モード乗数保存部から読み出して、前記第1〜第4の乗算部に設定し、
    前記演算順序管理部は、演算回数に基づいて、前記第1〜第4の端子に入力すべき画素データを前記入力選択部に制御させる、請求項に記載の画像復号化装置。
  10. 前記複数の変換モードは、逆離散コサイン変換、4×4逆整数変換、8×8逆整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである、請求項に記載の画像復号化装置。
  11. 前記演算部が複数並列または直列に接続されており、
    前記演算制御部は、並列または直列に接続された、前記複数の演算部を制御する、請求項1に記載の画像復号化装置。
  12. 時間領域から周波数領域への複数の変換モードを必要に応じて切り換えて、画像データを符号化する画像符号化装置であって、
    入力される複数の画素データに対して、演算処理を施すための演算部と、
    前記演算部による演算結果を保存する演算データ保存部と、
    前記演算部に入力すべき画素データを、前記画像データから読み出すか、または前記演算データ保存部に保存されている画素データから読み出すか選択し、読み出した画素データを前記演算部に入力する入力選択部と、
    各変換モードでの演算手順を、前記演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する前記変換モードおよび前記演算部における演算回数に基づいて、前記入力選択部が前記演算部に入力すべき画素データの読み出し先を制御すると共に、前記演算部において演算処理の対象となる前記画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備え
    前記演算部は、基本単位となる演算処理を実行可能な構成を有しており、
    前記演算制御部は、各変換モードでの演算手順を、演算回数毎に、前記基本単位となる演算処理に分割して定義しており、前記基本単位となる演算処理を前記演算部に繰り返させるように、前記演算処理の対象となる画素データの組み合わせを制御すると共に、前記乗算係数を制御し、
    前記演算制御部は、
    前記演算回数と、前記乗算係数と、前記画像データの読み出し先の情報とを対応付けた設定情報を、前記変換モードごとに保存する乗数保存部と、
    前記演算部での演算順序を管理する演算順序管理部とを含む、画像符号化装置。
  13. 前記演算部は、整数演算を実行可能な構成を有しており、
    前記演算制御部は、前記整数演算の対象となる画素データの組み合わせを制御すると共に、前記演算部におけるビットシフト量を前記乗算係数として制御する、請求項12に記載の画像符号化装置。
  14. 前記演算部は、
    第1〜第8の端子と、
    前記第2の端子への入力をビットシフトする第1のビット演算部と、
    前記第3の端子への入力をビットシフトする第2のビット演算部と、
    前記第6の端子への入力をビットシフトする第3のビット演算部と、
    前記第7の端子への入力をビットシフトする第4のビット演算部と、
    前記第1の端子への入力をビットシフトする第5のビット演算部と、
    前記第4の端子への入力をビットシフトする第6のビット演算部と、
    前記第5の端子への入力をビットシフトする第7のビット演算部と、
    前記第8の端子への入力をビットシフトする第8のビット演算部と、
    前記第5のビット演算部の出力と前記第2のビット演算部の出力とを加算する第1の加算部と、
    前記第1のビット演算部の出力から前記第6のビット演算部の出力を減算する第1の減算部と、
    前記第4のビット演算部の出力から前記第7のビット演算部の出力を減算する第2の減算部と、
    前記第8のビット演算部の出力と前記第3のビット演算部の出力とを加算する第2の加算部とを含み、
    前記演算データ保存部は、前記第1および第2の加算部、ならびに前記第1および第2の減算部の演算結果を保存し、
    前記演算制御部は、前記変換モードおよび前記演算回数に基づいて、前記第1〜第8の端子に入力すべき画素データを制御し、かつ、前記第1〜第4のビット演算部でのビットシフト量を制御する、請求項13に記載の画像符号化装置。
  15. 前記複数の変換モードは、4×4逆整数変換、8×8逆整数変換、4×4整数変換、8×8整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである、請求項13に記載の画像符号化装置。
  16. 前記基本単位となる演算処理は、2入力2出力のデータフローを構成することができる演算処理である、請求項12に記載の画像符号化装置。
  17. 前記演算制御部は、新たな変換モードに関する画素データの組み合わせおよび乗算係数を、演算回数に対応させて保存することができ、前記新たな変換モード が使用される場合、当該保存内容に基づいて、前記入力選択部および前記演算部を制御する、請求項12に記載の画像符号化装置。
  18. 前記演算部は、
    第1〜第4の端子と、
    前記第1の端子への入力に対して乗算処理を施す第1の乗算部と、
    前記第3の端子への入力に対して乗算処理を施す第2の乗算部と、
    前記第2の端子への入力に対して乗算処理を施す第3の乗算部と、
    前記第4の端子への入力に対して乗算処理を施す第4の乗算部と、
    前記第1の乗算部の出力と前記第2の乗算部の出力とを加算する第1の加算部と、
    前記第3の乗算部の出力と前記第4の乗算部の出力とを加算する第2の加算部とを含み、
    前記演算データ保存部は、前記第1および第2の加算部の演算結果を保存し、
    前記演算制御部は、前記変換モードおよび前記演算回数に基づいて、前記第1〜第4の端子に入力すべき画素データを前記入力選択部に制御させ、かつ、前記第1〜第4の乗算部での前記乗算係数である乗数を制御する、請求項12に記載の画像符号化装置。
  19. 前記演算制御部は、
    前記第1〜第4の乗算部での前記乗数を設定する乗数設定部と、
    変換モードを管理する変換モード設定部とをさらに含み
    前記乗数設定部は、前記変換モード設定部が管理する現在の変換モードおよび前記演算順序管理部が管理する前記演算回数に基づいて、前記乗数保存部から、適切な乗数を読み出して、前記第1〜第4の乗算部に設定し、
    前記演算順序管理部は、前記現在の変換モードおよび前記演算回数に基づいて、前記第1〜第4の端子に入力すべき画素データを前記入力選択部に制御させる、請求項18に記載の画像符号化装置。
  20. 前記演算制御部は、さらに、
    新たな変換モードで使用する乗数を演算回数と対応付けて設定するための乗数設定部と、
    前記乗数設定部で設定された乗数を保存する新変換モード乗数保存部とを含み、
    前記新たな変換モードが使用された場合、
    前記乗数設定部は、演算回数に対応した乗数を前記新変換モード乗数保存部から読み出して、前記第1〜第4の乗算部に設定し、
    前記演算順序管理部は、演算回数に基づいて、前記第1〜第4の端子に入力すべき画素データを前記入力選択部に制御させる、請求項19に記載の画像符号化装置。
  21. 前記複数の変換モードは、逆離散コサイン変換、4×4逆整数変換、8×8逆整数変換、離散コサイン変換、4×4整数変換、8×8整数変換、およびアダマール変換の内、少なくともいずれか2つの変換モードである、請求項12に記載の画像符号化装置。
  22. 前記演算部が複数並列または直列に接続されており、
    前記演算制御部は、並列または直列に接続された、前記複数の演算部を制御する、請求項12に記載の画像符号化装置。
  23. 周波数領域から時間領域への複数の変換モードを必要に応じて切り換えて、圧縮画像データを復号化する画像復号化装置で用いられる集積回路であって、
    入力される複数の画素データに対して、演算処理を施すための演算部と、
    前記演算部に入力すべき画素データを、前記圧縮画像データから読み出すか、または前記演算部の演算結果から読み出すか選択し、読み出した画素データを前記演算部に入力する入力選択部と、
    各変換モードでの演算手順を、前記演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する前記変換モードおよび前記演算部における演算回数に基づいて、前記入力選択部が前記演算部に入力すべき画素データの読み出し先を制御すると共に、前記演算部において演算処理の対象となる前記画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備え
    前記演算部は、基本単位となる演算処理を実行可能な構成を有しており、
    前記演算制御部は、各変換モードでの演算手順を、演算回数毎に、前記基本単位となる演算処理に分割して定義しており、前記基本単位となる演算処理を前記演算部に繰り返させるように、前記演算処理の対象となる画素データの組み合わせを制御すると共に、前記乗算係数を制御し、
    前記演算制御部は、
    前記演算回数と、前記乗算係数と、前記画像データの読み出し先の情報とを対応付けた設定情報を、前記変換モードごとに保存する乗数保存部と、
    前記演算部での演算順序を管理する演算順序管理部とを含む、集積回路。
  24. 時間領域から周波数領域への複数の変換モードを必要に応じて切り換えて、画像データを符号化する画像号化装置で用いられる集積回路であって、
    入力される複数の画素データに対して、演算処理を施すための演算部と、
    前記演算部に入力すべき画素データを、前記画像データから読み出すか、または前記演算部の演算結果から読み出すか選択し、読み出した画素データを前記演算部に入力する入力選択部と、
    各変換モードでの演算手順を、前記演算部における1回の演算で実行可能な単位毎に、演算回数に対応させて予め定義しており、使用する前記変換モードおよび前記演算部における演算回数に基づいて、前記入力選択部が前記演算部に入力すべき画素データの読み出し先を制御すると共に、前記演算部において演算処理の対象となる前記画素データの組み合わせおよび演算処理における乗算係数を制御する演算制御部とを備え
    前記演算部は、基本単位となる演算処理を実行可能な構成を有しており、
    前記演算制御部は、各変換モードでの演算手順を、演算回数毎に、前記基本単位となる演算処理に分割して定義しており、前記基本単位となる演算処理を前記演算部に繰り返させるように、前記演算処理の対象となる画素データの組み合わせを制御すると共に、前記乗算係数を制御し、
    前記演算制御部は、
    前記演算回数と、前記乗算係数と、前記画像データの読み出し先の情報とを対応付けた設定情報を、前記変換モードごとに保存する乗数保存部と、
    前記演算部での演算順序を管理する演算順序管理部とを含む、集積回路。
JP2006514516A 2004-06-08 2005-06-07 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路 Expired - Fee Related JP4704333B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006514516A JP4704333B2 (ja) 2004-06-08 2005-06-07 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2004169726 2004-06-08
JP2004169726 2004-06-08
JP2006514516A JP4704333B2 (ja) 2004-06-08 2005-06-07 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路
PCT/JP2005/010419 WO2005122590A1 (ja) 2004-06-08 2005-06-07 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路

Publications (2)

Publication Number Publication Date
JPWO2005122590A1 JPWO2005122590A1 (ja) 2008-04-10
JP4704333B2 true JP4704333B2 (ja) 2011-06-15

Family

ID=35503517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006514516A Expired - Fee Related JP4704333B2 (ja) 2004-06-08 2005-06-07 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路

Country Status (5)

Country Link
US (1) US8179972B2 (ja)
EP (1) EP1771009A1 (ja)
JP (1) JP4704333B2 (ja)
CN (1) CN1981534B (ja)
WO (1) WO2005122590A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771879B1 (ko) * 2006-08-17 2007-11-01 삼성전자주식회사 내부 메모리 용량을 감소시키는 디블록킹 필터링 방법 및그 방법을 이용하는 영상 처리 장치
US20080288568A1 (en) * 2007-05-14 2008-11-20 Hou Hsieh S Low power Fast Hadamard transform
JP4536109B2 (ja) * 2007-12-26 2010-09-01 富士通株式会社 半導体装置および信号処理方法
GB2489632A (en) * 2009-12-16 2012-10-03 Ibm Video coding using pixel-streams
CN102314528B (zh) * 2010-07-07 2013-05-01 中国科学院微电子研究所 一种数字大规模集成电路的资源共享系统及方法
US9055304B2 (en) * 2011-07-01 2015-06-09 Qualcomm Incorporated Reduced resolution pixel interpolation
CN106204680A (zh) * 2016-07-18 2016-12-07 京东方科技集团股份有限公司 一种成像装置及其成像方法
CN108848388B (zh) * 2018-07-17 2022-02-22 珠海亿智电子科技有限公司 一种提高H264编码16x16预测模式DCT运算速度的硬件实现方法
WO2024247722A1 (ja) * 2023-06-01 2024-12-05 ソニーグループ株式会社 情報処理装置、ゲームシステム及び情報処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181896A (ja) * 1991-12-27 1993-07-23 Nec Corp 離散コサイン変換処理装置
JPH0646404A (ja) * 1992-03-17 1994-02-18 Sony Corp 画像データ処理装置及び画像データ処理方法
US5471412A (en) * 1993-10-27 1995-11-28 Winbond Electronic Corp. Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse
JPH0844708A (ja) * 1994-07-27 1996-02-16 Fujitsu Ltd 二次元離散コサイン変換演算回路
JP2000099495A (ja) * 1998-09-15 2000-04-07 Winbond Electron Corp 乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法
JP2001325247A (ja) * 2000-05-17 2001-11-22 Nippon Telegr & Teleph Corp <Ntt> 高速逆離散コサイン変換装置及び高速逆離散コサイン変換方法及び当該方法を記述したプログラムを記録した記録媒体
JP2004120439A (ja) * 2002-09-26 2004-04-15 Nec Electronics Corp 画像処理装置及び画像処理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
DE69312132T2 (de) * 1992-03-17 1998-01-15 Sony Corp Bildkompressionsgerät
JP3069455B2 (ja) * 1992-12-22 2000-07-24 富士写真フイルム株式会社 画像データ圧縮伸張装置における量子化・逆量子化回路
JPH0723381A (ja) 1993-06-23 1995-01-24 Nec Corp 画像の復号化方法及びその復号化装置
US6157740A (en) * 1997-11-17 2000-12-05 International Business Machines Corporation Compression/decompression engine for enhanced memory storage in MPEG decoder
WO1999039303A1 (en) * 1998-02-02 1999-08-05 The Trustees Of The University Of Pennsylvania Method and system for computing 8x8 dct/idct and a vlsi implementation
WO2000036842A1 (en) * 1998-12-14 2000-06-22 Matsushita Electric Industrial Co., Ltd. Dct arithmetic device
JP4551997B2 (ja) 1999-10-25 2010-09-29 独立行政法人情報通信研究機構 画像の符号化および復号方法と装置
JP3643777B2 (ja) * 2001-02-28 2005-04-27 三洋電機株式会社 動画像復号装置および動画像復号方法
US7123655B2 (en) 2001-08-09 2006-10-17 Sharp Laboratories Of America, Inc. Method for reduced bit-depth quantization
JP4348899B2 (ja) 2001-11-30 2009-10-21 ソニー株式会社 画像情報復号方法
US7295609B2 (en) * 2001-11-30 2007-11-13 Sony Corporation Method and apparatus for coding image information, method and apparatus for decoding image information, method and apparatus for coding and decoding image information, and system of coding and transmitting image information
JP2003223433A (ja) * 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置
JP3902990B2 (ja) * 2002-07-02 2007-04-11 キヤノン株式会社 アダマール変換処理方法及びその装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181896A (ja) * 1991-12-27 1993-07-23 Nec Corp 離散コサイン変換処理装置
JPH0646404A (ja) * 1992-03-17 1994-02-18 Sony Corp 画像データ処理装置及び画像データ処理方法
US5471412A (en) * 1993-10-27 1995-11-28 Winbond Electronic Corp. Recycling and parallel processing method and apparatus for performing discrete cosine transform and its inverse
JPH0844708A (ja) * 1994-07-27 1996-02-16 Fujitsu Ltd 二次元離散コサイン変換演算回路
JP2000099495A (ja) * 1998-09-15 2000-04-07 Winbond Electron Corp 乗法演算節減可能な二次元離散コサイン変換及びその逆変換の実行方法
JP2001325247A (ja) * 2000-05-17 2001-11-22 Nippon Telegr & Teleph Corp <Ntt> 高速逆離散コサイン変換装置及び高速逆離散コサイン変換方法及び当該方法を記述したプログラムを記録した記録媒体
JP2004120439A (ja) * 2002-09-26 2004-04-15 Nec Electronics Corp 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
CN1981534B (zh) 2011-04-13
US20080049832A1 (en) 2008-02-28
EP1771009A1 (en) 2007-04-04
CN1981534A (zh) 2007-06-13
JPWO2005122590A1 (ja) 2008-04-10
US8179972B2 (en) 2012-05-15
WO2005122590A1 (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
RU2713610C1 (ru) Усовершенствованное кодирование с внутрикадровым предсказанием с использованием планарных представлений
RU2663199C1 (ru) Устройство кодирования изображений, способ кодирования изображений, устройство декодирования изображений, способ декодирования изображений и носитель хранения данных
JP5797774B2 (ja) メディアデータコーディングのための32点変換
JP4924904B2 (ja) データフレームのシーケンスの効率的な符号化/復号
TWI471013B (zh) 轉換式數位媒體編解碼器之計算複雜度及精確性控制
JP2022521515A (ja) 交差成分フィルタリングのための方法、装置、およびプログラム
JP2013502625A (ja) メディアデータコーディングのための16点変換
JP2013502626A (ja) メディアデータコーディングのための16点変換
KR20230145063A (ko) 비디오 코딩에서의 인트라-예측을 위한 레퍼런스 픽셀들의업샘플링
JP5306469B2 (ja) オーバーラップ変換処理におけるdc利得不整合およびdc漏れの低減
JP2024178354A (ja) 画像コンポーネント予測方法、エンコーダ、デコーダ及び記憶媒体
RU2419855C2 (ru) Снижение ошибок в ходе вычисления обратного дискретного косинусного преобразования
JP4704333B2 (ja) 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路
JP2023513772A (ja) ビデオコーディングのための方法、装置およびコンピュータプログラム
WO2023011005A1 (zh) 图像处理方法及装置、电子设备和存储介质
WO2022252222A1 (zh) 编码方法和编码装置
US7756351B2 (en) Low power, high performance transform coprocessor for video compression
KR101419689B1 (ko) H.264/avc 복호기에서 역양자화 및 역변환을 수행하는 복호화 장치 및 이를 이용한 복호화 방법
KR20080009477A (ko) 동영상 데이터 복호용 연산기
CN116095310A (zh) 图像编解码方法、装置、电子设备及存储介质
JP2006227666A (ja) 行列演算装置
CN117242773A (zh) 用于频率相关系数符号编码的系统和方法
da Silva Dias High performance and scalable unified architectures for transform and quantization in H. 264/AVC codecs
Kordasiewicz Architectures and algorithms for video compression with a focus on affine motion

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110216

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110309

R150 Certificate of patent or registration of utility model

Ref document number: 4704333

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees