JP4360093B2 - Image processing apparatus and encoding apparatus and methods thereof - Google Patents
Image processing apparatus and encoding apparatus and methods thereof Download PDFInfo
- Publication number
- JP4360093B2 JP4360093B2 JP2003027895A JP2003027895A JP4360093B2 JP 4360093 B2 JP4360093 B2 JP 4360093B2 JP 2003027895 A JP2003027895 A JP 2003027895A JP 2003027895 A JP2003027895 A JP 2003027895A JP 4360093 B2 JP4360093 B2 JP 4360093B2
- Authority
- JP
- Japan
- Prior art keywords
- difference
- image data
- circuit
- orthogonal transformation
- motion vector
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、画像データの量子化制御に特徴を有する画像処理装置および符号化装置と、それらの方法に関する。
【0002】
【従来の技術】
近年、画像データとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMEPG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【0003】
特に、MPEG2(ISO/IEC13818−2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。
MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4〜8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【0004】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまり、より高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC14496−2としてその規格が国際標準に承認された。
【0005】
さらに、近年、当初テレビ会議用の画像符号化を目的として、H. 26L(ITU−T Q6/16 VCEG)という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26L規格ではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced−Compression Video Codingとして行われている。
【0006】
ところで、MPEGおよびH.26L規格の符号化装置では、高い圧縮効率を得るために、動き予測・補償が重要や役割を果たす。
MPEGおよびH.26Lを発展させたJVT(Joint Video Team)方式では、以下の3つの方式を導入して、高い圧縮効率を達成している。
第1の方式はマルチプル参照フレーム(Mlutiple Reference Frame)であり、第2の方式は可変動き予測・補償ブロックサイズであり、第3の方式はFIRフィルタを用いた1/4画素精度あるいは1/8画素精度の少数画素精度の動き補償である。
このようなJVT方式では、例えば、少数精度の動きベクトル探索において、処理対象となる現フレームの動き補償ブロック内の画素データと参照フレームの動き補償ブロック内の画素データとの差分(残差成分)の自乗和を示すSAD(Sum of Absolute Differenec)ではなく、上記差分に対して、垂直方向および水平方向のアダマール変換を施した値の絶対値和であるSATDを生成し、当該SATDを用いて規定される値Jを最小にする動きベクトルを探索する。
【0007】
【発明が解決しようとする課題】
しかしながら、上述したように動き探索において、上記差分に対して、垂直方向および水平方向のアダマール変換を施してSATDを生成するのでは、演算量が多くなり、処理負担が大きいという問題がある。
なお、動き補償における動き補償(MC)ブロックの予測方向の決定処理についても、同様な問題がある。
【0008】
本発明はかかる事情に鑑みてなされたものであり、動き補償に伴う演算量を削減できる画像処理装置、符号化装置およびそれらの方法を提供することを目的とする。
また、本発明は、予測符号化における予測方向の決定に伴う演算量を削減できる画像処理装置、符号化装置およびそれらの方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記の目的を達成するため、第1の発明の画像処理装置は、所定の動き補償ブロック内の第1の画像データ内の複数の第1の画素データと、前記第1の画像データと相関を有する第2の画像データ内における、前記複数の第1の画素データに対応する位置から候補となる動きベクトルによって指し示される位置に対応する複数の第2の画素データとの差分をそれぞれ生成する差分生成部と、前記差分生成部が生成した前記差分に直交変換を施す直交変換部と、前記直交変換部で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する動きベクトル特定部とを有し、前記直交変換部は、前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す。
【0010】
第1の発明の画像処理装置の作用は以下のようになる。
差分生成部が、所定の動き補償ブロック内の第1の画像データ内の複数の第1の画素データと、前記第1の画像データと相関を有する第2の画像データ内における、前記複数の第1の画素データに対応する位置から候補となる動きベクトルによって指し示される位置に対応する複数の第2の画素データとの差分をそれぞれ生成する。
次に、直交変換部が、前記差分生成部が生成した前記差分に直交変換を施す。
次に、動きベクトル特定部が、前記直交変換部で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する。
【0011】
第2の発明の符号化装置は、所定の動き補償ブロック内の第1の画像データ内の複数の第1の画素データと、前記第1の画像データと相関を有する第2の画像データ内における、前記複数の第1の画素データに対応する位置から候補となる動きベクトルによって指し示される位置に対応する複数の第2の画素データとの差分をそれぞれ生成する差分生成部と、前記差分生成部が生成した前記差分に直交変換を施す直交変換部と、前記直交変換部で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する動きベクトル特定部と、前記第2の画像データと前記第1の画像データとの差分、並びに前記動きベクトル特定部が特定した前記動きベクトルを符号化する符号化部とを有し、前記直交変換部は、前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す。
【0012】
第2の発明の符号化装置の作用は以下のようになる。
差分生成部が、所定の動き補償ブロック内の第1の画像データ内の複数の第1の画素データと、前記第1の画像データと相関を有する第2の画像データ内における、前記複数の第1の画素データに対応する位置から候補となる動きベクトルによって指し示される位置に対応する複数の第2の画素データとの差分をそれぞれ生成する。
次に、直交変換部が、前記差分生成部が生成した前記差分に直交変換を施す。
次に、動きベクトル特定部が、前記直交変換部で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する。
次に、符号化部が、前記第2の画像データと前記第1の画像データとの差分、並びに前記動きベクトル特定部が特定した前記動きベクトルを符号化する。
【0022】
第3の発明の画像処理方法は、所定の動き補償ブロック内の第1の画像データ内の複数の第1の画素データと、前記第1の画像データと相関を有する第2の画像データ内における、前記複数の第1の画素データに対応する位置から候補となる動きベクトルによって指し示される位置に対応する複数の第2の画素データとの差分をそれぞれ生成する第1の工程と、前記第1の工程で生成した前記差分に直交変換を施す第2の工程と、前記第2の工程で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する第3の工程とを有し、前記第2の工程においては、前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す。
【0023】
第4の発明の符号化方法は、所定の動き補償ブロック内の第1の画像データ内の複数の第1の画素データと、前記第1の画像データと相関を有する第2の画像データ内における、前記複数の第1の画素データに対応する位置から候補となる動きベクトルによって指し示される位置に対応する複数の第2の画素データとの差分をそれぞれ生成する第1の工程と、前記第1の工程で生成した前記差分に直交変換を施す第2の工程と、前記第2の工程で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する第3の工程と、前記第2の画像データと前記第1の画像データとの差分、並びに前記第3の工程で特定した前記動きベクトルを符号化する第4の工程とを有し、前記第2の工程においては、前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す。
【0026】
【発明の実施の形態】
〔本発明の関連技術〕
図1は、本発明の関連技術に係わる符号化装置500の機能ブロック図である。
図1に示す符号化装置500において、入力となる画像信号は、まず、A/D変換回路501においてデジタル信号に変換される。次に、出力となる画像圧縮情報のGOP(Group of Pictures)構造に応じ、画面並べ替え回路502においてフレーム画像データの並べ替えが行われる。
そして、イントラ符号化が行われる画像に関しては、フレーム画像データの全体が直交変換回路504に入力され、直交変換回路504において離散コサイン変換やカルーネン・レーベ変換等の直交変換が施される。
直交変換回路504の出力となる変換係数は、量子化回路505において量子化処理される。
量子化回路505の出力となる、量子化された変換係数は、可逆符号化回路506に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、バッファ507に蓄積され、圧縮された画像データとして出力される。
【0027】
量子化回路505における量子化レートは、レート制御回路512によって制御される。
同時に、量子化回路505の出力となる、量子化された変換係数は、逆量子化回路508において逆量子化され、続いて逆直交変換回路509において逆直交変換処理が施され、デブロックフィルタ513においてブロック歪みが除去されて復号された参照フレーム画像データが得られる。当該参照フレーム画像データは、フレームメモリ510に蓄積される。
【0028】
一方、インター符号化が行われる画像に関しては、画面並べ替え回路502から出力されたフレーム画像データが、動き予測・補償回路511に入力される。同時に参照フレーム画像データがフレームメモリ510より読み出され、動き予測・補償回路511によって動きベクトルが生成され、当該動きベクトルおよび参照フレーム画像データを用いて予測フレーム画像データが生成される。予測フレーム画像データが演算回路503に出力され、演算回路503において、画面並べ替え回路502からのフレーム画像データと、動き予測・補償回路511からの予測フレーム画像データとの差分を示す画像データが生成され、当該画像データが直交変換回路504に出力される。
また、動き補償・予測回路511は、動きベクトルを可逆符号化回路506に出力し、可逆符号化回路506において、動きベクトルが可変長符号化あるいは算術符号化といった可逆符号化処理され、画像信号のヘッダ部に挿入される。その他の処理はイントラ符号化を施される画像信号と同様である。
【0029】
図2は、図1に示す符号化装置500に対応する復号回路499の機能ブロック図である。
図2に示す復号回路499では、入力となる画像データがバッファ613に格納された後、可逆復号回路614に出力される。そして、可逆復号回路614において、フレーム画像データのフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレーム画像データがインター符号化されたものである場合には、可逆復号回路614において、フレーム画像データのヘッダ部に格納された動きベクトルMVも復号され、その動きベクトルMVが動き予測・補償装置620に出力される。
【0030】
可逆復号回路614の出力となる、量子化された変換係数は、逆量子化回路615に入力され、ここで逆量子化される。当該逆量子化された変換係数には、逆直交変換回路616において、定められたフレーム画像データのフォーマットに基づき、逆離散コサイン変換や逆カルーネン・レーベ変換等の逆直交変換が施される。当該フレーム画像データがイントラ符号化されたものである場合には、逆直交変換処理が施されたフレーム画像データは、デブロックフィルタ621でブロック歪みが除去された後に画面並べ替えバッファ618に格納され、D/A変換回路619によるD/A変換処理を経て出力される。
【0031】
一方、当該フレームがインター符号化されたものである場合には、動き予測・補償回路620において、動きベクトルMV及びフレームメモリ650に格納された参照フレーム画像データを基に予測フレーム画像データが生成され、この予測フレーム画像データと、逆直交変換回路616から出力されたフレーム画像データとが加算器617において加算される。その他の処理はイントラ符号化されたフレーム画像データと同様である。
【0032】
ところで、図1に示す符号化装置500では、JVT方式により、例えば、少数精度の動きベクトル探索において、処理対象となる現フレームの動き補償ブロック内の画素データと参照フレームの動き補償ブロック内の画素データとの差分d(残差成分)の自乗和を示すSAD(Sum of Absolute Differenec)ではなく、上記差分dに対して、下記式(1)に示すように、垂直方向および水平方向のアダマール変換を施した値の絶対値和であるSATDを生成し、当該SATDを用いて規定される値Jを最小にする動きベクトルを探索する。
【0033】
【数1】
【0034】
しかしながら、上述したように動き探索において、上記差分dに対して、下記式(1)に示す垂直方向および水平方向のアダマール変換を施してSATDを生成するのでは、演算量が多くなり、処理負担が大きいという問題がある。
なお、動き補償における動き補償(MC)ブロックの予測方向の決定処理、並びにマクロブロックモードの決定処理についても、同様な問題がある。
【0035】
以下、上述した問題を解決するための本実施形態の画像処理装置およびその方法と符号化装置について説明する。
第1実施形態
図3は、本実施形態の通信システム1の概念図である。
図3に示すように、通信システム1は、送信側に設けられた符号化装置2と、受信側に設けられた復号装置499とを有する。
符号化装置2が発明の符号化装置に対応している。
符号化装置2および復号装置499は、上述したJVT符号化方式に基づいて符号化および復号を行なう。
復号回路499は、図2を用いて前述したものと同じである。
【0036】
通信システム1では、送信側の符号化装置2において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ(ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルTV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
【0037】
〔符号化装置2〕
図4は、図3に示す符号化装置2の全体構成図である。
図4に示すように、符号化装置2は、例えば、A/D変換回路22、画面並べ替えバッファ23、演算回路24、直交変換回路25、量子化回路26、可逆符号化回路27、バッファ28、逆量子化回路29、逆直交変換回路30、フレームメモリ31、レート制御回路32、動き予測・補償回路36、デブロックフィルタ37、モード判別回路40、簡易SATD算出回路41および簡易SATD算出回路42を有する。
ここで、簡易SATD算出回路42が第1の発明の差分生成手段おび直交変換手段に対応し、動き予測・補償回路36が第1の発明の動きベクトル特定手段に対応している。
また、可逆符号化回路27が本発明の符号化手段に対応している。
さらに、モード判別回路40が本発明の予測方向特定手段に対応し、動き予測・補償回路36が本発明の動きベクトル特定手段に対応している。
【0038】
符号化装置2では、例えば、少数精度の動きベクトル探索において、処理対象となる現フレームの動き補償ブロック内の画素データと参照フレームの動き補償ブロック内の画素データとの差分(残差成分)に対して、前述したアダマール変換に比べて演算量の少ない簡易的な直交変換(本発明の直交変換)を施した値の絶対値和である簡易SATDを簡易SATD算出回路41および簡易SATD算出回路42で生成することに特徴を有している。
モード判別回路40および動き予測・補償回路36は、このように同様に生成された簡易SATDを基に、それぞれモード判別および動きベクトルの探索を行う。
【0039】
以下、符号化装置2の構成要素について説明する。
〔A/D変換回路22〕
A/D変換回路22は、入力されたアナログの輝度信号Y、色差信号Pb,Prから構成される画像信号をデジタルの画像信号に変換し、これを画面並べ替えバッファ23に出力する。
【0040】
〔画面並べ替えバッファ23〕
画面並べ替えバッファ23は、A/D変換回路22から入力した画像信号内のフレーム画像信号を、そのピクチャタイプI,P,BからなるGOP(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えたフレーム画像データS23をモード判別回路40に出力する。
【0041】
〔モード判別回路40〕
モード判別回路40は、動き予測・補償回路36における動き予測・補償において用いられる動き補償ブロックの予測方向(インター予測における順方向および逆方向)を決定する予測方向決定処理、並びにマクロブロックをイントラ/インターのどちらのモードで符号化するかを決定するモード決定処理を行う。
モード判別回路40は、例えば、Bフレームの動き補償ブロックの予測方向として、下記式(2)で定義される値J(本発明の累積値)を最小にする方向を選択する。
【0042】
【数2】
【0043】
上記式(2)において、PDIRは、動き補償ブロックの予測方向を示し、sは符号化対象の画像データ(現フレームデータ)を示し、cは参照画像データ(参照フレームデータ)を示し、mは動きベクトルを示し、pは予測動きベクトルを示し、REFは参照画像データの識別番号を示し、Rは当該予測方向を選択した場合の動きベクトルの発生符号量を示し、lMOTIONは所定の係数を示している。
また、上記式(2)におけるSATDは、その引数に示される符号化対象の画像データのブロック内の画素データと、参照画像データのブロック内の画素データとの差分(残差成分)dに、所定の直交変換C(本発明の直交変換)を施した値の累積値(絶対値和)を示している。
【0044】
ここで、簡易SATD算出回路41がSATDの算出を行い、モード判別回路40は、簡易SATD算出回路41から入力したSATDを用いて、上記式(2)の値Jを算出する。
本実施形態では、上記差分dを下記式(3)のように定義する。
【0045】
【数3】
【0046】
なお、モード判別回路40は、上記簡易SATDを基に、マクロブロックモードの決定を行ってもよい。
【0047】
〔簡易SATD算出回路41〕
図5は、簡易SATD算出回路41の機能ブロック図である。
図5に示すように、簡易SATD算出回路41は、例えば、差分算出回路61および直交変換回路62を有する。
ここで、差分算出回路61が本発明の差分生成手段に対応し、直交変換回路62が本発明の直交変換手段に対応している。
【0048】
差分算出回路61は、現フレームの所定のブロック内の画素データS90と参照フレームの所定のブロック内の画素データS91との差分(残差成分)dを生成する。
また、直交変換回路62は、以下に示す式(4)〜(11)の何れかを、直交変換Cとして上記差分dに施し、それによって得られた値の絶対値和を簡易SATDとする。
【0049】
すなわち、直交変換回路62は、上記式(3)に示す差分dに対して、下記式(4)に示すように、アダマール変換の水平方向のみの変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。
【0050】
【数4】
【0051】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(5)に示すように、アダマール変換の垂直方向のみの変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。
【0052】
【数5】
【0053】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(6)に示すように、アダマール変換により水平方向の低域成分および垂直方向の低域成分のみの残す変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。
なお、本実施形態において、水平方向の低域成分とは差分dの最も低域の周波数成分から所定の範囲にある周波数成分(例えば、式(3)の左2行あるいは1行分の係数)を示し、水平方向の高域成分とは差分dの最も高域の成分から所定の範囲にある周波数成分(例えば、式(3)の右2行あるいは1行分の係数)を示し、水平方向の中域成分とは上記低域成分と上記高域成分との間の周波数成分を示す。
また、本実施形態において、垂直方向の低域成分とは差分dの最も低域の周波数成分から所定の範囲にある周波数成分(例えば、式(3)の上2行あるいは1行分の係数)を示し、垂直方向の高域成分とは差分dの最も高域の成分から所定の範囲にある周波数成分(例えば、式(3)の下2行あるいは1行分の係数)を示し、垂直方向の中域成分とは上記低域成分と上記高域成分との間の周波数成分を示す。
【0054】
【数6】
【0055】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(7)に示すように、アダマール変換により水平方向の低域成分および垂直方向の全域成分を残す変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。この場合には、直交変換回路62は、垂直方向の変換に先立って水平方向の変換を行うことで、上記式(1)に示す演算に比べて演算量を削減できる。
【0056】
【数7】
【0057】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(8)に示すように、アダマール変換により水平方向の全域成分および垂直方向の低域成分のみを残す変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。この場合には、直交変換回路62は、水平方向の変換に先立って垂直方向の変換を行うことで、上記式(1)に示す演算に比べて演算量を削減できる。
【0058】
【数8】
【0059】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(9)に示すように、アダマール変換により水平方向の低域成分、並びに垂直方向の高域および低域成分のみを残す変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。
【0060】
【数9】
【0061】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(10)に示すように、アダマール変換により水平方向の低域および高域成分、並びに垂直方向の低域成分のみを残す変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。
【0062】
【数10】
【0063】
直交変換回路62は、上記式(3)に示す差分dに対して、下記式(11)に示すように、アダマール変換により水平方向の低域および高域成分、並びに垂直方向の低域および高域成分のみを残す変換を直交変換Cとして施し、それによって得られた値の絶対値和を上記簡易SATDとする。
【0064】
【数11】
【0065】
直交変換回路62は、動き補償ブロックの種類に応じて、上述した式(4)〜(11)の何れかを、直交変換Cとして差分dに施し、それによって得られた値の絶対値和を上記簡易SATDとしてもよい。
例えば、直交変換回路62は、動き補償ブロックの種類が図7に示す16×8あるいは8×4である場合には、上記式(4),(8)あるいは(10)を直交変換Cとして用いる。
また、直交変換回路62は、動き補償ブロックの種類が図7に示す8×16あるいは4×8である場合には、上記式(5),(7)あるいは(9)を直交変換Cとして用いる。
また、直交変換回路62は、動き補償ブロックの種類が正方形状である場合には、下記式(1)、上記式(6)あるいは(11)を用いてもよい。また、この場合には、アダマール変換を行わず、SADを用いてもよい。
【0066】
〔演算回路24〕
演算回路24は、フレーム画像データS23がインター(Inter) 符号化される場合には、フレーム画像データS23と、動き予測・補償回路36から入力した予測フレーム画像データS36aとの差分を示す画像データS24を生成し、これを直交変換回路25に出力する。
また、演算回路24は、フレーム画像データS23がイントラ(Intra) 符号化される場合には、フレーム画像データS23を画像データS24として直交変換回路25に出力する。
【0067】
〔直交変換回路25〕
直交変換回路25は、画像データS24に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ(例えばDCT係数信号)S25を生成し、これを量子化回路26に出力する。
直交変換回路25は、例えば、4×4のブロックを単位として直交変換を行う。
【0068】
〔量子化回路26〕
量子化回路26は、レート制御回路32から入力した量子化スケールで、画像データS25を量子化して画像データS26を生成し、これを可逆符号化回路27および逆量子化回路29に出力する。
【0069】
〔可逆符号化回路27〕
可逆符号化回路27は、画像データS26を可変長符号化あるいは算術符号化し、符号化された画像データをバッファ28に格納する。
また、可逆符号化回路27は、動き予測・補償回路36から入力した動きベクトルMVあるいはその差分を符号化してヘッダデータに格納する。
バッファ28に格納された画像データは、変調等された後に送信される。
【0070】
〔逆量子化回路29および逆直交変換回路30〕
逆量子化回路29は、画像データS26を逆量子化したデータを生成し、これをデブロックフィルタ37に出力する。
逆直交変換回路30は、量子化され、デブロックフィルタ37でブロック歪みが除去された画像データに上記直交変換の逆変換を施して生成したフレーム画像データをフレームメモリ31に格納する。
【0071】
〔レート制御回路32〕
レート制御回路32は、バッファ28から読み出した画像データ、量子化パラメータQPを基に、量子化回路26における量子化の量子化スケールを生成し、これを量子化回路26に出力する。
【0072】
〔動き予測・補償回路36〕
動き予測・補償回路36は、フレームメモリ31からの画像データS31と、画面並べ替えバッファ23からの画像データとを基に動き予測・補償処理を行って、動きベクトルMVおよび参照画像データS36aを生成する。
動き予測・補償回路36は、動きベクトルMVを可逆符号化回路27に出力し、参照画像データS36aを演算回路24に出力する。
動き予測・補償回路36は、JVT方式により、図6に示すようにマルチプル参照フレームを用いると共に、図7に示すように複数の種類の動き補償ブロックを選択的に用いる。さらには、FIRフィルタを用いた1/4画素精度あるいは1/8画素精度の少数画素精度の動き補償を行う。
【0073】
図8は、動き予測・補償回路36の機能ブロック図である。
図8に示すように、動き予測・補償回路36は、例えば、整数精度MV探索回路51、SAD算出回路52、補間回路53、少数画素精度MV探索回路54および参照画像決定回路55を有する。
整数精度MV探索回路51は、モード判別回路40から入力した処理対象の画像データ(現フレームデータ)S23内の画素データと、フレームメモリ31から入力した参照画像データS31(参照フレームデータ)内の画素データと、候補となる動きベクトルMVをSAD算出回路52に出力する。
整数精度MV探索回路51は、SAD算出回路52から入力した後述するSADを基に、候補となる複数の動きベクトルのうち、下記式(12)で示される値Jを最小にする動きベクトルMV1を整数画素精度で探索(特定)する。
【0074】
【数12】
【0075】
上記式(12)に示すλMODEとしては、IおよびPフレームに対しては下記式(13)で示されるλMODE,P(I) が用いられ、Bフレームに対しては下記式(14)で示されるλMODE,Bが用いられる。また、SADは、SAD算出回路52から入力したものを用いる。
【0076】
【数13】
【0077】
【数14】
【0078】
SAD算出回路52は、画像データ(現フレームデータ)S23の動き補償ブロックB内の画素データs(x,y)と、フレームメモリ31から入力した参照画像データS31(参照フレームデータ)の動き補償ブロックBに対応するブロック内の画素データc(x−mx ,y−my )とを用いて、下記式(15)によりSADを算出する。
【0079】
【数15】
【0080】
補間回路53は、フレームメモリ31から入力した整数画素精度の参照画像データ(参照フレームデータ)S31をFIRフィルタ等を用いて補間処理して1/4画素あるいは1/8画素精度の少数画素精度の参照画像データを生成し、これを少数画素精度MV探索回路54に出力する。
【0081】
少数画素精度MV探索回路54は、例えば、フレームメモリ31からの整数画素精度の参照画像データS31と、補間回路53で得られた少数画素精度の参照画像データとを用いて、整数精度MV探索回路51で生成された動きベクトルMV1によって規定される検索範囲内で、少数画素精度で動きベクトルの探索を行う。
このとき、少数画素精度MV探索回路54は、簡易SATD算出回路42から入力した簡易SATDを用いて、下記式(16)に示される値Jを算出し、複数の候補動きベクトルのなかから、当該値Jを最小にする動きベクトルMVを探索する。
【0082】
【数16】
【0083】
参照画像決定回路55は、少数画素精度MV探索回路54から入力した動きベクトルMVを基に参照画像データS36aを生成する。
【0084】
〔簡易SATD算出回路42〕
図9は、図4および図8に示す簡易SATD算出回路42の機能ブロック図である。
図9に示すように、簡易SATD算出回路42は、例えば、差分算出回路71および直交変換回路72を有している。
但し、簡易SATD算出回路42は、図8に示す画像データ23(現フレームデータ)の少数画素および整数画素の画素データS23aと、参照画像データS31(参照フレームデータ)内の少数画素および整数画素の画素データS31aとを用いて簡易SATDを算出する。
ここで、差分算出回路71が本発明の差分生成手段に対応し、直交変換回路72が本発明の直交変換手段に対応している。
【0085】
差分算出回路71は、各動き補償ブロック内の画素データS23aと、当該画素データS23aに対応する画素位置から候補動きベクトルによって指し示される画素位置に対応する参照画像データS31a内の画素データS31aとの差分(残差成分)dをそれぞれ算出する。
また、直交変換回路72は、前述した式(4)〜(11)の何れかを、直交変換Cとして、差分算出回路71が算出した上記差分dに施し、それによって得られた値の絶対値和を簡易SATDとする。
【0086】
直交変換回路72は、動き補償ブロックの種類に応じて、上述した式(4)〜(11)の何れかを、直交変換Cとして差分dに施し、それによって得られた値の絶対値和を上記簡易SATDとしてもよい。
例えば、直交変換回路72は、動き補償ブロックの種類が図7に示す16×8あるいは8×4である場合には、上記式(4),(8)あるいは(10)を直交変換Cとして用いる。
また、直交変換回路72は、動き補償ブロックの種類が図7に示す8×16あるいは4×8である場合には、上記式(5),(7)あるいは(9)を直交変換Cとして用いる。
また、直交変換回路72は、動き補償ブロックの種類が正方形状である場合には、下記式(1)、上記式(6)あるいは(11)を用いてもよい。また、この場合には、アダマール変換を行わず、SADを用いてもよい。
【0087】
次に、図4に示す符号化装置2の全体動作を説明する。
入力となる画像信号は、まず、A/D変換回路22においてデジタル信号に変換される。次に、出力となる画像圧縮情報のGOP構造に応じ、画面並べ替えバッファ23においてフレーム画像データの並べ替えが行われる。
そして、モード判別回路40において、簡易SATD算出回路41において簡易的に算出された簡易SATDを基に、動き予測・補償において用いられる動き補償ブロックの予測方向を決定する予測方向決定処理、並びにマクロブロックをイントラ/インターのどちらのモードで符号化するかを決定するモード決定処理が行われる。
【0088】
イントラ符号化が行われる画像データS23(フレームデータ)に関しては、フレームデータ全体の画像情報が直交変換回路25に入力され、直交変換回路25において離散コサイン変換やカルーネン・レーベ変換等の直交変換が施される。
直交変換回路25の出力となる変換係数は、量子化回路26において量子化処理される。
量子化回路26は、レート制御回路32からの制御に基づいて、量子化を行う。
【0089】
量子化回路26の出力となる、量子化された変換係数は、可逆変換回路27に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、バッファ28に蓄積され、圧縮された画像データとして出力される。
同時に、量子化回路26の出力となる、量子化された変換係数は、逆量子化回路29に入力され、さらに逆直交変換回路30において逆直交変換処理が施されて、復号された画像データ(フレームデータ)となり、その画像データがフレームメモリ31に蓄積される。
【0090】
一方、インター符号化が行われる画像に関しては、先ず、その画像データS23が動き予測・補償回路36に入力される。また、参照画像データS31がフレームメモリ31より読み出され、動き予測・補償回路36に出力される。
そして、動き予測・補償回路36において、参照画像の画像データS31を用いて、動きベクトルMVおよび予測画像データS36aが生成される。
【0091】
そして、演算回路24において、モード判別回路40からの画像データS23と、動き予測・補償回路36からの予測画像データS36aとの差分信号である画像データS24が生成され、当該画像データS24が直交変換回路25に出力される。
このとき、動き予測・補償回路36は、JVT方式により、マルチプル参照フレームを用いると共に、複数の種類の動き補償ブロックを選択的に用いる。さらには、FIRフィルタを用いた1/4画素精度あるいは1/8画素精度の少数画素精度の動き補償を行う。
当該動き補償において、動き予測・補償回路36は、前述したように、簡易SATD算出回路42から入力した簡易SATDを用いて、上記式(16)に示される値Jを算出し、複数の候補動きベクトルのなかから、当該値Jを最小にする動きベクトルMVを探索する。
【0092】
そして、可逆符号化回路27において、動きベクトルMVが可変長符号化あるいは算術符号化といった可逆符号化処理され、画像データのヘッダ部に挿入される。その他の処理はイントラ符号化を施される画像データと同様である。
【0093】
以上説明したように、符号化装置2によれば、簡易SATD算出回路41において、アダマール変換を簡易的にした上記式(4)〜(11)に示される直交変換Cを行って簡易SATDを算出し、当該簡易SATDを基に動き補償ブロックの予測方向を決定する。
そのため、アダマール変換を用いる場合に比べて動き予測・補償回路36の演算量を削減できると共に、直交変換を行わない場合に比べて適切な動きベクトルMVを得ることができ、演算回路24で生成される画像信号S24の情報量を削減できる(符号化効率を高められる)。
【0094】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態によれば、簡易SATD算出回路41および簡易SATD算出回路42において直交変換としてアダマール変換を用いる場合を例示したが、DCT(Discrete Cosine transform) などのその他の直交変換を用いてもよい。
なお、本実施形態において、JVT方式では、簡易SATD算出回路41および簡易SATD算出回路42における直交変換Cを4×4画素のブロックに対して行うが、本発明は、例えば、8×8画素などの4×4画素以外のブロックについて直交変換Cを施してもよい。
【0095】
【発明の効果】
以上説明したように、本発明によれば、動き補償に伴う演算量を削減できる画像処理装置、符号化装置およびそれらの方法を提供できる。
また、本発明によれば、予測符号化における予測方向の決定に伴う演算量を削減できる画像処理装置、符号化装置およびそれらの方法を提供できる。
【図面の簡単な説明】
【図1】図1は、本発明の関連技術に係わる符号化装置の機能ブロック図である。
【図2】図2は、本発明の関連技術に係わる復号装置の機能ブロック図である。
【図3】図3は、本発明の第1実施形態に係わる符号化装置を説明するための図である。
【図4】図4は、図3に示す符号化装置の機能ブロック図である。
【図5】図5は、図3に示すモード判別回路に対応する簡易SATD算出回路の機能ブロック図である。
【図6】図6は、図3に示す動き予測・補償回路によるマルチプル参照フレームを説明するための図である。
【図7】図7は、図3に示す動き予測・補償回路によって選択される複数の種類の動き補償ブロックを説明するための図である。
【図8】図8は、図3に示す動き予測・補償回路の機能ブロック図である。
【図9】図9は、図3に示す動き予測・補償回路に対応した簡易SATD算出回路の機能ブロック図である。
【符号の説明】
1…通信システム、2…符号化装置、22…A/D変換回路、23…画面並べ替えバッファ、24…演算回路、25…直交変換回路、26…量子化回路、27…可逆符号化回路、28…バッファ、29…逆量子化回路、30…逆直交変換回路、31…フレームメモリ、32…レート制御回路、36…動き予測・補償回路、41…簡易SATD算出回路、42…簡易SATD算出回路、61,71…差分算出回路、62,72…直交変換回路、51…整数精度MV探索回路、52…SAD算出回路、53…補間回路、54…少数画素精度MV探索回路、55…参照画像決定回路[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image processing apparatus and an encoding apparatus characterized by quantization control of image data, and methods thereof.
[0002]
[Prior art]
In recent years, MPEG (Moving Picture) has been handled as image data, and is compressed by orthogonal transform such as discrete cosine transform and motion compensation using the redundancy unique to image information for the purpose of efficient transmission and storage of information. Devices conforming to a scheme such as Experts Group) are becoming widespread in both information distribution such as broadcasting stations and information reception in general households.
[0003]
In particular, MPEG2 (ISO / IEC13818-2) is defined as a general-purpose image coding system, and is a standard covering both interlaced scanning images and progressive scanning images, as well as standard resolution images and high-definition images. Currently widely used in a wide range of consumer applications.
By using the MPEG2 compression method, for example, a standard resolution interlaced scanning image having 720 × 480 pixels is 4 to 8 Mbps, and a high resolution interlaced scanning image having 1920 × 1088 pixels is 18 to 22 Mbps. (Bit rate) can be assigned to achieve a high compression rate and good image quality.
[0004]
MPEG2 was mainly intended for high-quality encoding suitable for broadcasting, but did not support encoding methods with a lower code amount (bit rate) than MPEG1, that is, a higher compression rate. With the widespread use of mobile terminals, the need for such an encoding system is expected to increase in the future, and the MPEG4 encoding system has been standardized in response to this need. Regarding the image coding system, the standard was approved as an international standard as ISO / IEC14496-2 in December 1998.
[0005]
Furthermore, in recent years, the standardization of a standard called H.26L (ITU-T Q6 / 16 VCEG) has been advanced for the purpose of image coding for an initial video conference. H. 26L is known to achieve higher encoding efficiency than the conventional encoding schemes such as MPEG2 and MPEG4, although a large amount of calculation is required for encoding and decoding. In addition, as part of MPEG4 activities, this H.264 Based on H.26L Standardization that incorporates functions not supported by the 26L standard and achieves higher coding efficiency is performed as Joint Model of Enhanced-Compression Video Coding.
[0006]
By the way, MPEG and H.264. In the encoding apparatus of the 26L standard, motion prediction / compensation plays an important role in order to obtain high compression efficiency.
MPEG and H.264 In the JVT (Joint Video Team) system, which is an extension of 26L, the following three systems are introduced to achieve high compression efficiency.
The first method is a multiple reference frame, the second method is a variable motion prediction / compensation block size, and the third method is 1/4 pixel accuracy using an FIR filter or 1/8. This is motion compensation with pixel accuracy and minority pixel accuracy.
In such a JVT method, for example, in a motion vector search with a small number of precision, a difference (residual component) between pixel data in a motion compensation block of a current frame to be processed and pixel data in a motion compensation block of a reference frame. Instead of SAD (Sum of Absolute Differenec) indicating the sum of squares of the above, a SATD that is the sum of absolute values of values obtained by performing vertical and horizontal Hadamard transforms on the difference is generated and specified using the SATD Search for a motion vector that minimizes the value J to be performed.
[0007]
[Problems to be solved by the invention]
However, as described above, if a SATD is generated by performing vertical and horizontal Hadamard transforms on the difference in motion search as described above, there is a problem that the amount of calculation increases and the processing load is large.
Note that there is a similar problem in the process of determining the prediction direction of the motion compensation (MC) block in motion compensation.
[0008]
The present invention has been made in view of such circumstances, and an object of the present invention is to provide an image processing apparatus, an encoding apparatus, and a method thereof that can reduce the amount of calculation associated with motion compensation.
It is another object of the present invention to provide an image processing apparatus, an encoding apparatus, and a method thereof that can reduce the amount of calculation associated with determination of a prediction direction in predictive encoding.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, an image processing apparatus according to a first invention provides:Within a given motion compensation blockCandidates are selected from positions corresponding to the plurality of first pixel data in the plurality of first pixel data in the first image data and in the second image data correlated with the first image data. Difference generation for generating a difference with each of a plurality of second pixel data corresponding to the position indicated by the motion vectorPartAnd the difference generationPartThe difference generated byDirectlyOrthogonal transformation with cross transformationPartAnd the orthogonal transformPartBased on the accumulated value of the difference subjected to the orthogonal transformation in, DynamicMotion vector identificationPartAnd have,in frontThe orthogonal transform unitWhen the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction In this case, the difference is subjected to orthogonal transformation defined in the vertical direction.
[0010]
The operation of the image processing apparatus of the first invention is as follows.
Difference generationPartBut,Within a given motion compensation blockCandidates are selected from positions corresponding to the plurality of first pixel data in the plurality of first pixel data in the first image data and in the second image data correlated with the first image data. Differences from the plurality of second pixel data corresponding to the position indicated by the motion vector are respectively generated.
Next, orthogonal transformationPartIs the difference generationPartThe difference generated byDirectlyPerform cross conversion.
Next, specify the motion vectorPartIs the orthogonal transformPartBased on the accumulated value of the difference subjected to the orthogonal transformation in, DynamicSpecify the vector.
[0011]
The encoding device of the second invention isWithin a given motion compensation blockCandidates are selected from positions corresponding to the plurality of first pixel data in the plurality of first pixel data in the first image data and in the second image data correlated with the first image data. Difference generation for generating a difference with each of a plurality of second pixel data corresponding to the position indicated by the motion vectorPartAnd the difference generationPartThe difference generated byDirectlyOrthogonal transformation with cross transformationPartAnd the orthogonal transformPartBased on the accumulated value of the difference subjected to the orthogonal transformation in, DynamicMotion vector identificationPartThe difference between the second image data and the first image data, and the motion vector specificationPartEncoding the motion vector specified byPartAnd haveWhen the motion compensation block has a shape with a long side in the horizontal direction, the orthogonal transform unit performs the orthogonal transform defined for the horizontal direction on the difference, and the motion compensation block has a vertical direction. In the case of a shape having a long side, an orthogonal transformation defined for the vertical direction is applied to the difference.
[0012]
The operation of the encoding device of the second invention is as follows.
Difference generationPartBut,Within a given motion compensation blockCandidates are selected from positions corresponding to the plurality of first pixel data in the plurality of first pixel data in the first image data and in the second image data correlated with the first image data. Differences from the plurality of second pixel data corresponding to the position indicated by the motion vector are respectively generated.
Next, orthogonal transformationPartIs the difference generationPartThe difference generated byDirectlyPerform cross conversion.
Next, specify the motion vectorPartIs the orthogonal transformPartBased on the accumulated value of the difference subjected to the orthogonal transformation in, DynamicSpecify the vector.
Then the encodingPartIs the difference between the second image data and the first image data, and the motion vector specificationPartThe motion vector specified by is encoded.
[0022]
The image processing method of the third invention isWithin a given motion compensation blockCandidates are selected from positions corresponding to the plurality of first pixel data in the plurality of first pixel data in the first image data and in the second image data correlated with the first image data. A first step of generating a difference between each of the plurality of second pixel data corresponding to the position indicated by the motion vector, and a second step of performing orthogonal transformation on the difference generated in the first step; And a third step of specifying a motion vector based on the accumulated value of the difference subjected to the orthogonal transform in the second step.,in frontIn the second step,When the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction Applies the orthogonal transform defined for the vertical direction to the difference.
[0023]
The encoding method of the fourth invention isWithin a given motion compensation blockCandidates are selected from positions corresponding to the plurality of first pixel data in the plurality of first pixel data in the first image data and in the second image data correlated with the first image data. A first step of generating a difference between each of the plurality of second pixel data corresponding to the position indicated by the motion vector, and a second step of performing orthogonal transformation on the difference generated in the first step; A third step of specifying a motion vector based on the accumulated value of the difference subjected to the orthogonal transform in the second step, and a difference between the second image data and the first image data And a fourth step of encoding the motion vector specified in the third step, and in the second step,When the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction Applies the orthogonal transform defined for the vertical direction to the difference.
[0026]
DETAILED DESCRIPTION OF THE INVENTION
[Related art of the present invention]
FIG. 1 is a functional block diagram of an
In the
With respect to an image on which intra coding is performed, the entire frame image data is input to the
The transform coefficient that is the output of the
The quantized transform coefficient, which is the output of the
[0027]
The quantization rate in the
At the same time, the quantized transform coefficient that is the output of the
[0028]
On the other hand, for an image to be inter-coded, frame image data output from the
Further, the motion compensation / prediction circuit 511 outputs the motion vector to the
[0029]
FIG. 2 is a functional block diagram of a
In the
[0030]
The quantized transform coefficient that is the output of the
[0031]
On the other hand, when the frame is inter-coded, predicted frame image data is generated in the motion prediction /
[0032]
By the way, in the
[0033]
[Expression 1]
[0034]
However, as described above, in the motion search, if the difference d is subjected to vertical and horizontal Hadamard transformations shown in the following formula (1) to generate the SATD, the amount of calculation increases and the processing burden increases. There is a problem that is large.
Note that the same problem occurs in the determination process of the prediction direction of the motion compensation (MC) block and the determination process of the macroblock mode in the motion compensation.
[0035]
Hereinafter, an image processing apparatus, a method thereof, and an encoding apparatus according to this embodiment for solving the above-described problem will be described.
First embodiment
FIG. 3 is a conceptual diagram of the
As illustrated in FIG. 3, the
The
The
The
[0036]
In the
On the receiving side, after demodulating the received image signal, frame image data expanded by inverse transformation of orthogonal transformation and motion compensation at the time of modulation is generated and used.
The transmission medium may be a recording medium such as an optical disk, a magnetic disk, and a semiconductor memory.
[0037]
[Encoding device 2]
FIG. 4 is an overall configuration diagram of the
As illustrated in FIG. 4, the
Here, the simplified
The
Further, the
[0038]
In the
The
[0039]
Hereinafter, components of the
[A / D conversion circuit 22]
The A /
[0040]
[Screen rearrangement buffer 23]
The
[0041]
[Mode discrimination circuit 40]
The
For example, the
[0042]
[Expression 2]
[0043]
In the above equation (2), PDIR indicates the prediction direction of the motion compensation block, s indicates image data to be encoded (current frame data), c indicates reference image data (reference frame data), and m indicates Indicates a motion vector, p indicates a prediction motion vector, REF indicates an identification number of reference image data, R indicates a generated code amount of a motion vector when the prediction direction is selected, and lMOTIONIndicates a predetermined coefficient.
Also, SATD in the above equation (2) is a difference (residual component) d between the pixel data in the block of the image data to be encoded and the pixel data in the block of the reference image data indicated by the argument. A cumulative value (absolute value sum) of values subjected to predetermined orthogonal transformation C (orthogonal transformation of the present invention) is shown.
[0044]
Here, the simple
In the present embodiment, the difference d is defined as the following formula (3).
[0045]
[Equation 3]
[0046]
Note that the
[0047]
[Simple SATD calculation circuit 41]
FIG. 5 is a functional block diagram of the simple
As illustrated in FIG. 5, the simple
Here, the
[0048]
The
Further, the
[0049]
That is, the
[0050]
[Expression 4]
[0051]
The
[0052]
[Equation 5]
[0053]
For the difference d shown in the above equation (3), the
In the present embodiment, the horizontal low-frequency component is a frequency component within a predetermined range from the lowest frequency component of the difference d (for example, the coefficient for the left two rows or one row in Equation (3)). IndicateHorizontalThe high frequency component in the direction indicates a frequency component within a predetermined range from the highest frequency component of the difference d (for example, the coefficient for the right two rows or one row in the equation (3)),HorizontalThe middle frequency component in the direction indicates a frequency component between the low frequency component and the high frequency component.
In the present embodiment, the low frequency component in the vertical direction is a frequency component within a predetermined range from the lowest frequency component of the difference d (for example, the coefficient for the upper two rows or one row of the equation (3)). The high-frequency component in the vertical direction is a frequency component within the predetermined range from the highest-frequency component of the difference d (for example, the coefficient for the last two rows or one row in Equation (3)), and the vertical direction The middle frequency component indicates a frequency component between the low frequency component and the high frequency component.
[0054]
[Formula 6]
[0055]
The
[0056]
[Expression 7]
[0057]
The
[0058]
[Equation 8]
[0059]
For the difference d shown in the above equation (3), the
[0060]
[Equation 9]
[0061]
For the difference d shown in the above equation (3), the
[0062]
[Expression 10]
[0063]
For the difference d shown in the above equation (3), the
[0064]
## EQU11 ##
[0065]
The
For example, when the type of motion compensation block is 16 × 8 or 8 × 4 shown in FIG.8Or (10) Is used as the orthogonal transform C.
Further, when the type of motion compensation block is 8 × 16 or 4 × 8 shown in FIG. 7, the
In addition, the
[0066]
[Arithmetic circuit 24]
When the frame image data S23 is inter-coded, the
In addition, when the frame image data S23 is intra-coded, the
[0067]
[Orthogonal transformation circuit 25]
The
For example, the
[0068]
[Quantization circuit 26]
The
[0069]
[Reversible encoding circuit 27]
The
Further, the
The image data stored in the
[0070]
[
The
The inverse
[0071]
[Rate control circuit 32]
The
[0072]
[Motion prediction / compensation circuit 36]
The motion prediction /
The motion prediction /
The motion prediction /
[0073]
FIG. 8 is a functional block diagram of the motion prediction /
As shown in FIG. 8, the motion prediction /
The integer precision
The integer precision
[0074]
[Expression 12]
[0075]
Λ shown in the above equation (12)MODEAs for I and P frames, λ shown in the following equation (13)MODE, P (I) And for the B frame, λ shown by the following equation (14):MODE, BIs used. The SAD is input from the
[0076]
[Formula 13]
[0077]
[Expression 14]
[0078]
The
[0079]
[Expression 15]
[0080]
The interpolating
[0081]
The minority pixel accuracy
At this time, the minority pixel accuracy
[0082]
[Expression 16]
[0083]
The reference
[0084]
[Simple SATD calculation circuit 42]
FIG. 9 is a functional block diagram of the simplified
As illustrated in FIG. 9, the simple
However, the simplified
Here, the difference calculation circuit 71 corresponds to the difference generation means of the present invention, and the orthogonal transformation circuit 72 corresponds to the orthogonal transformation means of the present invention.
[0085]
The difference calculation circuit 71 includes the pixel data S23a in each motion compensation block and the pixel data S31a in the reference image data S31a corresponding to the pixel position indicated by the candidate motion vector from the pixel position corresponding to the pixel data S23a. The difference (residual component) d is calculated respectively.
Further, the orthogonal transform circuit 72 applies any one of the above-described formulas (4) to (11) as the orthogonal transform C to the difference d calculated by the difference calculation circuit 71, and the absolute value of the value obtained thereby. Let the sum be a simple SATD.
[0086]
The orthogonal transform circuit 72 applies any one of the above-described equations (4) to (11) to the difference d as the orthogonal transform C according to the type of the motion compensation block, and calculates the absolute value sum of the values obtained thereby. The simple SATD may be used.
For example, when the type of motion compensation block is 16 × 8 or 8 × 4 shown in FIG.8Or (10) Is used as the orthogonal transform C.
Further, when the type of motion compensation block is 8 × 16 or 4 × 8 shown in FIG. 7, the orthogonal transform circuit 72 uses the above equations (5), (7) or (9) Is used as the orthogonal transform C.
Further, the orthogonal transformation circuit 72, when the type of motion compensation block is square,1), The above formula (6) or (11) may be used. In this case, SAD may be used without performing Hadamard transform.
[0087]
Next, the overall operation of the
The input image signal is first converted into a digital signal by the A /
Then, in the
[0088]
For image data S23 (frame data) to be subjected to intra coding, image information of the entire frame data is input to the
The transform coefficient that is the output of the
The
[0089]
The quantized transform coefficient, which is the output of the
At the same time, the quantized transform coefficient, which is the output of the
[0090]
On the other hand, for an image to be inter-coded, first, the image data S23 is input to the motion prediction /
Then, in the motion prediction /
[0091]
Then, the
At this time, the motion prediction /
In the motion compensation, as described above, the motion prediction /
[0092]
Then, in the
[0093]
As described above, according to the
Therefore, the calculation amount of the motion prediction /
[0094]
The present invention is not limited to the embodiment described above.
For example, according to the above-described embodiment, the simple
In the present embodiment, in the JVT method, the orthogonal transformation C in the simple
[0095]
【The invention's effect】
As described above, according to the present invention, it is possible to provide an image processing apparatus, an encoding apparatus, and a method thereof that can reduce the amount of calculation associated with motion compensation.
Furthermore, according to the present invention, it is possible to provide an image processing apparatus, an encoding apparatus, and methods thereof that can reduce the amount of calculation associated with determination of a prediction direction in predictive encoding.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of an encoding apparatus according to a related technique of the present invention.
FIG. 2 is a functional block diagram of a decoding device according to a related technique of the present invention.
FIG. 3 is a diagram for explaining an encoding apparatus according to the first embodiment of the present invention.
4 is a functional block diagram of the encoding apparatus shown in FIG. 3. FIG.
FIG. 5 is a functional block diagram of a simple SATD calculation circuit corresponding to the mode determination circuit shown in FIG. 3;
6 is a diagram for explaining multiple reference frames by the motion prediction / compensation circuit shown in FIG. 3. FIG.
FIG. 7 is a diagram for explaining a plurality of types of motion compensation blocks selected by the motion prediction / compensation circuit shown in FIG. 3;
FIG. 8 is a functional block diagram of the motion prediction / compensation circuit shown in FIG. 3;
FIG. 9 is a functional block diagram of a simple SATD calculation circuit corresponding to the motion prediction / compensation circuit shown in FIG. 3;
[Explanation of symbols]
DESCRIPTION OF
Claims (5)
前記差分生成部が生成した前記差分に直交変換を施す直交変換部と、
前記直交変換部で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する動きベクトル特定部とを有し、
前記直交変換部は、
前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す
画像処理装置。The plurality of first pixel data in the plurality of first pixel data in the first image data in the predetermined motion compensation block and the second image data correlated with the first image data. A difference generation unit that generates a difference from each of a plurality of second pixel data corresponding to a position indicated by a candidate motion vector from a corresponding position;
An orthogonal transformation unit that performs orthogonal transformation on the difference generated by the difference generation unit;
A motion vector specifying unit that specifies a motion vector based on a cumulative value of the difference subjected to the orthogonal transform by the orthogonal transform unit ;
Before Symbol orthogonal transform unit,
When the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction An image processing apparatus that applies orthogonal transformation defined in the vertical direction to the difference .
請求項1に記載の画像処理装置。The image processing apparatus according to claim 1 , wherein the orthogonal transform unit performs a two-dimensional orthogonal transform defined for the horizontal direction and the vertical direction on the difference when the motion compensation block has a square shape.
前記差分生成部が生成した前記差分に直交変換を施す直交変換部と、
前記直交変換部で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する動きベクトル特定部と、
前記第2の画像データと前記第1の画像データとの差分、並びに前記動きベクトル特定部が特定した前記動きベクトルを符号化する符号化部と
を有し、
前記直交変換部は、
前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す
符号化装置。The plurality of first pixel data in the plurality of first pixel data in the first image data in the predetermined motion compensation block and the second image data correlated with the first image data. A difference generation unit that generates a difference from each of a plurality of second pixel data corresponding to a position indicated by a candidate motion vector from a corresponding position;
An orthogonal transformation unit that performs orthogonal transformation on the difference generated by the difference generation unit;
A motion vector specifying unit for specifying a motion vector based on a cumulative value of the difference subjected to the orthogonal transform in the orthogonal transform unit;
A difference between the second image data and the first image data, and an encoding unit that encodes the motion vector specified by the motion vector specifying unit ;
Before Symbol orthogonal transform unit,
When the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction The encoding apparatus performs orthogonal transformation defined for the vertical direction on the difference .
前記第1の工程で生成した前記差分に直交変換を施す第2の工程と、
前記第2の工程で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する第3の工程と
を有し、
前記第2の工程においては、
前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す
画像処理方法。The plurality of first pixel data in the plurality of first pixel data in the first image data in the predetermined motion compensation block and the second image data correlated with the first image data. A first step of generating a difference from each of a plurality of second pixel data corresponding to a position indicated by a candidate motion vector from a corresponding position;
A second step of performing orthogonal transformation on the difference generated in the first step;
A third step of specifying a motion vector based on the accumulated value of the difference subjected to the orthogonal transformation in the second step ,
In the prior SL second step,
When the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction The image processing method of performing orthogonal transformation prescribed | regulated about the said vertical direction to the said difference .
前記第1の工程で生成した前記差分に直交変換を施す第2の工程と、
前記第2の工程で前記直交変換が施された前記差分の累積値を基に、動きベクトルを特定する第3の工程と、
前記第2の画像データと前記第1の画像データとの差分、並びに前記第3の工程で特定した前記動きベクトルを符号化する第4の工程と
を有し、
前記第2の工程においては、
前記動き補償ブロックが水平方向を長辺とする形状である場合には、前記水平方向について規定された直交変換を前記差分に施し、前記動き補償ブロックが垂直方向を長辺とする形状である場合には、前記垂直方向について規定された直交変換を前記差分に施す
符号化方法。The plurality of first pixel data in the plurality of first pixel data in the first image data in the predetermined motion compensation block and the second image data correlated with the first image data. A first step of generating a difference from each of a plurality of second pixel data corresponding to a position indicated by a candidate motion vector from a corresponding position;
A second step of performing orthogonal transformation on the difference generated in the first step;
A third step of specifying a motion vector based on the accumulated value of the difference subjected to the orthogonal transformation in the second step;
A difference between the second image data and the first image data, and a fourth step of encoding the motion vector specified in the third step ,
In the prior SL second step,
When the motion compensation block has a shape with a long side in the horizontal direction, an orthogonal transformation defined for the horizontal direction is applied to the difference, and the motion compensation block has a shape with a long side in the vertical direction The encoding method of performing orthogonal transformation defined in the vertical direction on the difference .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003027895A JP4360093B2 (en) | 2003-02-05 | 2003-02-05 | Image processing apparatus and encoding apparatus and methods thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003027895A JP4360093B2 (en) | 2003-02-05 | 2003-02-05 | Image processing apparatus and encoding apparatus and methods thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004241957A JP2004241957A (en) | 2004-08-26 |
JP2004241957A5 JP2004241957A5 (en) | 2006-03-23 |
JP4360093B2 true JP4360093B2 (en) | 2009-11-11 |
Family
ID=32955496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003027895A Expired - Fee Related JP4360093B2 (en) | 2003-02-05 | 2003-02-05 | Image processing apparatus and encoding apparatus and methods thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4360093B2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020156545A1 (en) * | 2019-02-02 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Prediction using intra-buffer samples for intra block copy in video coding |
US11228775B2 (en) | 2019-02-02 | 2022-01-18 | Beijing Bytedance Network Technology Co., Ltd. | Data storage in buffers for intra block copy in video coding |
US11523107B2 (en) | 2019-07-11 | 2022-12-06 | Beijing Bytedance Network Technology Co., Ltd. | Bitstream conformance constraints for intra block copy in video coding |
US11528476B2 (en) | 2019-07-10 | 2022-12-13 | Beijing Bytedance Network Technology Co., Ltd. | Sample identification for intra block copy in video coding |
US11546581B2 (en) | 2019-03-04 | 2023-01-03 | Beijing Bytedance Network Technology Co., Ltd. | Implementation aspects in intra block copy in video coding |
US11575888B2 (en) | 2019-07-06 | 2023-02-07 | Beijing Bytedance Network Technology Co., Ltd. | Virtual prediction buffer for intra block copy in video coding |
US11882287B2 (en) | 2019-03-01 | 2024-01-23 | Beijing Bytedance Network Technology Co., Ltd | Direction-based prediction for intra block copy in video coding |
US12069282B2 (en) | 2019-03-01 | 2024-08-20 | Beijing Bytedance Network Technology Co., Ltd | Order-based updating for intra block copy in video coding |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006100871A (en) * | 2004-09-28 | 2006-04-13 | Sony Corp | Coder, coding method, program of coding method, and recording medium with the program recorded thereon |
US20070171978A1 (en) * | 2004-12-28 | 2007-07-26 | Keiichi Chono | Image encoding apparatus, image encoding method and program thereof |
TWI271106B (en) | 2005-10-25 | 2007-01-11 | Novatek Microelectronics Corp | Apparatus and method for motion estimation supporting multiple video compression standards |
US8494052B2 (en) * | 2006-04-07 | 2013-07-23 | Microsoft Corporation | Dynamic selection of motion estimation search ranges and extended motion vector ranges |
JP2010028221A (en) | 2008-07-15 | 2010-02-04 | Sony Corp | Motion vector detecting device, motion vector detecting method, image encoding device, and program |
JP2010028220A (en) | 2008-07-15 | 2010-02-04 | Sony Corp | Motion vector detecting device, motion vector detecting method, image encoding device, and program |
JP5328629B2 (en) | 2009-12-17 | 2013-10-30 | 株式会社メガチップス | Encoder and image conversion apparatus |
CN106488236B (en) * | 2015-09-01 | 2019-07-12 | 北京君正集成电路股份有限公司 | The calculation method and device of absolute transformed error sum in a kind of Video coding |
CN112584234B (en) * | 2020-12-09 | 2023-06-16 | 广州虎牙科技有限公司 | Frame supplementing method and related device for video image |
-
2003
- 2003-02-05 JP JP2003027895A patent/JP4360093B2/en not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020156545A1 (en) * | 2019-02-02 | 2020-08-06 | Beijing Bytedance Network Technology Co., Ltd. | Prediction using intra-buffer samples for intra block copy in video coding |
US11228775B2 (en) | 2019-02-02 | 2022-01-18 | Beijing Bytedance Network Technology Co., Ltd. | Data storage in buffers for intra block copy in video coding |
US11375217B2 (en) | 2019-02-02 | 2022-06-28 | Beijing Bytedance Network Technology Co., Ltd. | Buffer management for intra block copy in video coding |
US11438613B2 (en) | 2019-02-02 | 2022-09-06 | Beijing Bytedance Network Technology Co., Ltd. | Buffer initialization for intra block copy in video coding |
US12238314B2 (en) | 2019-02-02 | 2025-02-25 | Beijing Bytedance Network Technology Co., Ltd. | Prediction using extra-buffer samples for intra block copy in video coding |
US12101494B2 (en) | 2019-02-02 | 2024-09-24 | Beijing Bytedance Network Technology Co., Ltd | Prediction using intra-buffer samples for intra block copy in video coding |
US12088834B2 (en) | 2019-02-02 | 2024-09-10 | Beijing Bytedance Network Technology Co., Ltd | Selective use of virtual pipeline data units for intra block copy video coding |
US12003745B2 (en) | 2019-02-02 | 2024-06-04 | Beijing Bytedance Network Technology Co., Ltd | Buffer updating for intra block copy in video coding |
US11882287B2 (en) | 2019-03-01 | 2024-01-23 | Beijing Bytedance Network Technology Co., Ltd | Direction-based prediction for intra block copy in video coding |
US11956438B2 (en) | 2019-03-01 | 2024-04-09 | Beijing Bytedance Network Technology Co., Ltd. | Direction-based prediction for intra block copy in video coding |
US12069282B2 (en) | 2019-03-01 | 2024-08-20 | Beijing Bytedance Network Technology Co., Ltd | Order-based updating for intra block copy in video coding |
US11985308B2 (en) | 2019-03-04 | 2024-05-14 | Beijing Bytedance Network Technology Co., Ltd | Implementation aspects in intra block copy in video coding |
US11546581B2 (en) | 2019-03-04 | 2023-01-03 | Beijing Bytedance Network Technology Co., Ltd. | Implementation aspects in intra block copy in video coding |
US11575888B2 (en) | 2019-07-06 | 2023-02-07 | Beijing Bytedance Network Technology Co., Ltd. | Virtual prediction buffer for intra block copy in video coding |
US12132888B2 (en) | 2019-07-06 | 2024-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Virtual prediction buffer for intra block copy in video coding |
US11936852B2 (en) | 2019-07-10 | 2024-03-19 | Beijing Bytedance Network Technology Co., Ltd. | Sample identification for intra block copy in video coding |
US11528476B2 (en) | 2019-07-10 | 2022-12-13 | Beijing Bytedance Network Technology Co., Ltd. | Sample identification for intra block copy in video coding |
US11523107B2 (en) | 2019-07-11 | 2022-12-06 | Beijing Bytedance Network Technology Co., Ltd. | Bitstream conformance constraints for intra block copy in video coding |
Also Published As
Publication number | Publication date |
---|---|
JP2004241957A (en) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11107251B2 (en) | Image processing device and method | |
US7426308B2 (en) | Intraframe and interframe interlace coding and decoding | |
US20110176614A1 (en) | Image processing device and method, and program | |
WO2010137323A1 (en) | Video encoder, video decoder, video encoding method, and video decoding method | |
JP4360093B2 (en) | Image processing apparatus and encoding apparatus and methods thereof | |
US20110103486A1 (en) | Image processing apparatus and image processing method | |
JP5018085B2 (en) | Motion prediction compensation method and motion prediction compensation device | |
CN102077595A (en) | Image processing device and method | |
JP2011045128A (en) | Video encoding/decoding motion compensation apparatus and method thereof | |
JP2005510150A (en) | Video decoding with reduced complexity using larger pixel grid motion compensation | |
US20090092189A1 (en) | Movement prediction method and movement prediction apparatus | |
US20120147960A1 (en) | Image Processing Apparatus and Method | |
WO2011155332A1 (en) | Image decoder apparatus, image encoder apparatus and methods and programs thereof | |
JP2002125236A (en) | Motion vector conversion method and converter | |
JP2001145113A (en) | Device and method for image information conversion | |
WO2010035732A1 (en) | Image processing apparatus and image processing method | |
US20110229049A1 (en) | Image processing apparatus, image processing method, and program | |
JP4650173B2 (en) | Encoding apparatus, encoding method, encoding method program, and recording medium recording the encoding method program | |
US20110255602A1 (en) | Image processing apparatus, image processing method, and program | |
JP2005110083A (en) | Data processing apparatus and method, and coding apparatus | |
JP4214771B2 (en) | Image processing apparatus and method and encoding apparatus | |
KR20070057212A (en) | A recording medium on which a coding apparatus, an encoding method, a program of an encoding method, and a program of an encoding method are recorded | |
JP4349109B2 (en) | Image data processing apparatus, method thereof, and encoding apparatus | |
JP2006025033A (en) | Device and method for image processing | |
JP2003348595A (en) | Image processor and image processing method, recording medium and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060206 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080219 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080421 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090414 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090612 |
|
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: 20090721 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090803 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120821 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |