JP2004320437A - Data processor, encoder and their methods - Google Patents

Data processor, encoder and their methods Download PDF

Info

Publication number
JP2004320437A
JP2004320437A JP2003111436A JP2003111436A JP2004320437A JP 2004320437 A JP2004320437 A JP 2004320437A JP 2003111436 A JP2003111436 A JP 2003111436A JP 2003111436 A JP2003111436 A JP 2003111436A JP 2004320437 A JP2004320437 A JP 2004320437A
Authority
JP
Japan
Prior art keywords
block
size
pixel data
image
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003111436A
Other languages
Japanese (ja)
Inventor
Kazufumi Sato
数史 佐藤
Yoichi Yagasaki
陽一 矢ケ崎
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2003111436A priority Critical patent/JP2004320437A/en
Publication of JP2004320437A publication Critical patent/JP2004320437A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data processor generating a motion vector in a short time through a small scale arrangement as compared with a conventional one. <P>SOLUTION: A candidate of the size of a movement prediction block is determined by an intra-prediction circuit 41 and a block size determination circuit 42 based on correlation between image data in the macro block MB of a processing object and image data around the macro block MB. A movement prediction/compensation circuit 43 performs movement prediction/compensation in units of the block of a candidate movement prediction block size determined by the block size determination circuit 42. More specifically, the movement prediction/compensation circuit 43 does not perform movement prediction/compensation in units of the block of movement prediction block size not specified as a candidate. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、画像データの動きベクトルを生成するデータ処理装置、符号化装置およびそれらの方法に関する。
【0002】
【従来の技術】
近年、画像データデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【0003】
MPEG方式に続いてJVT(Joint Video Team)と呼ばれる符号化方式が提案されている。
JVT方式では、動き予測・補償処理の動き予測ブロックサイズとして、16x16,16x8,8x16,8x8画素のサイズが規定され、8x8画素のサイズには8x8,8x4,4x8,4x4画素が規定されている。
従来のJVT方式の符号化装置では、各マクロブロックMBの動き予測・補償処理を、上記全ての種類の動き予測ブロックサイズを基に予測画像を生成し、原画像との差分が最小となる予測画像を得た動き予測ブロックサイズを最終的に採用して行っている。これにより、高い符号化効率が得られる。
【0004】
【発明が解決しようとする課題】
しかしながら、上述した従来の画像処理装置では、上述したように、各マクロブロックMBの動き予測・補償処理において、全ての動き予測ブロックサイズを基に上記差分を検出するため、演算量が膨大であり、回路が大規模化したり、処理時間が長くなるなどの問題がある。
【0005】
本発明はかかる事情に鑑みてなされたものであり、従来に比べて小規模な構成で、動きベクトルを短時間で生成できるデータ処理装置を提供することを目的とする。
また、本発明は、従来に比べて動きベクトルを短時間で生成できるデータ処理方法を提供することを目的とする。
また、本発明は、従来に比べて小規模な構成で、画像データの符号化を短時間で行うことができる符号化装置を提供することを目的とする。
また、本発明は、従来に比べて画像データの符号化を短時間で行うことができる符号化方法を提供することを目的とする。
【0006】
【課題を解決するための手段】
上記の目的を達成するため、第1の発明のデータ処理装置は、動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理装置であって、前記複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、前記2次元領域における当該第1のブロックの周囲の画素データとの相関を基に、第2のブロックのサイズを決定するブロックサイズ決定手段と、前記ブロックサイズ決定手段が決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定する動きベクトル決定手段とを有する。
【0007】
第1の発明のデータ処理装置の作用は以下のようになる。
ブロックサイズ決定手段が、動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、前記2次元領域における当該第1のブロックの周囲の画素データとの相関を基に、第2のブロックのサイズを決定する。
次に、動きベクトル決定手段が、前記ブロックサイズ決定手段が決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定する。
【0008】
第1の発明のデータ処理装置は、好ましくは、前記ブロックサイズ決定手段は、前記相関を基に、前記第2のブロックのサイズの単数または複数の候補を決定し、前記動きベクトル決定手段は、前記ブロックサイズ決定手段が前記候補として決定した各々の前記サイズの前記第2のブロックを単位として、前記動きベクトルおよび当該動きベクトルに応じた予測画像を生成し、当該予測画像と原画像との間の差分を基に、前記動きベクトルを決定する。
第1の発明のデータ処理装置は、好ましくは、前記ブロックサイズ決定手段は、前記第1のブロックに属する第1の画素データと当該第1のブロックの周囲に位置する前記第2の画素データとの相関と、前記2次元領域における前記第1の画素データと前記第2の画素データとの位置関係とを基に、前記第2のブロックのサイズを決定する。
【0009】
第2の発明の符号化装置は、動画像を構成する画像を符号化する符号化装置であって、前記画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、当該第1のブロックの周囲に位置する画素データとの相関を基に、第2のブロックのサイズを決定するブロックサイズ決定手段と、前記ブロックサイズ決定手段が決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する動き予測手段と、前記原画像と、前記動き予測手段が生成した前記予測画像と原画像の差分を符号化する符号化手段とを有する。
【0010】
第2の発明の符号化装置の作用は以下のようになる。
ブロックサイズ決定手段が、前記画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、当該第1のブロックの周囲に位置する画素データとの相関を基に、第2のブロックのサイズを決定する。
次に、動き予測手段が、前記ブロックサイズ決定手段が決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する。
次に、符号化手段が、前記動き予測手段が生成した前記予測画像と原画像の差分を符号化する。
【0011】
第3の発明のデータ処理方法は、動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理方法であって、前記複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、前記2次元領域における当該第1のブロックの周囲の画素データとの相関を基に、第2のブロックのサイズを決定する第1の工程と、前記第1の工程で決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定する第2の工程とを有する。
【0012】
第4の発明の符号化方法は、動画像を構成する画像を符号化する符号化方法であって、前記画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、当該第1のブロックの周囲に位置する画素データとの相関を基に、第2のブロックのサイズを決定する第1の工程と、前記第1の工程で決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する第2の工程と、前記第2の工程で生成した前記予測画像と原画像の差分を符号化する第3の工程とを有する。
【0013】
第5の発明のデータ処理装置は、動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理装置であって、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定するブロックサイズ決定手段と、前記ブロックサイズ決定手段が決定したサイズの前記第3のブロックを単位として、前記第1のブロックの動きベクトルを決定する動きベクトル決定手段とを有する。
【0014】
第5の発明のデータ処理装置の作用は以下のようになる。
ブロックサイズ決定手段が、第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定する。
次に、動きベクトル決定手段が、前記ブロックサイズ決定手段が決定したサイズの前記第3のブロックを単位として、前記第1のブロックの動きベクトルを決定する。
【0015】
第6の発明の符号化装置は、動画像を構成する画像を符号化する符号化装置であって、前記画像が当該画像の2次元領域に対応して規定される複数の第1のブロックで構成される場合に、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定するブロックサイズ決定手段と、前記ブロックサイズ決定手段が決定したサイズの前記第3のブロックを単位として前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する動き予測手段と、前記動き予測手段が生成した前記予測画像と原画像の差分を符号化する符号化手段とを有する。
【0016】
第6の発明の符号化装置の作用は以下のようになる。
ブロックサイズ決定手段が、前記画像が当該画像の2次元領域に対応して規定される複数の第1のブロックで構成される場合に、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定する。
次に、動き予測手段が、前記ブロックサイズ決定手段が決定したサイズの前記第3のブロックを単位として前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する。
次に、符号化手段が、前記動き予測手段が生成した前記予測画像と原画像の差分を符号化する。
【0017】
第7の発明のデータ処理方法は、動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理方法であって、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定する第1の工程と、前記第1の工程で決定したサイズの前記第3のブロックを単位として、前記第1のブロックの動きベクトルを決定する第2の工程とを有する。
【0018】
第8の発明の符号化方法は、動画像を構成する画像を符号化する符号化方法であって、前記画像が当該画像の2次元領域に対応して規定される複数の第1のブロックで構成される場合に、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定する第1の工程と、前記第1の工程で決定したサイズの前記第3のブロックを単位として前記第1のブロックの動きベクトルを決定する第2の工程と、前記第2の工程で決定した前記動きベクトルを基に予測画像を生成する第3の工程と、前記第3の工程で生成した前記予測画像と原画像の差分を符号化する第4の工程とを有する。
【0019】
【発明の実施の形態】
以下、本発明の実施形態に係わるJVT(Joint Video Team)方式の符号化装置について説明する。
第1実施形態
当該実施形態は、第1〜第4の発明に対応している。
図1は、本実施形態の通信システム1の概念図である。
図1に示すように、通信システム1は、送信側に設けられた符号化装置2と、受信側に設けられた復号装置3とを有する。
通信システム1では、送信側の符号化装置2において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ(ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルTV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
なお、本実施形態では、符号化装置2において動き予測・補償処理を行う場合に、予め規定された複数の動き予測ブロックサイズの全てを用いてマクロブロックMBの動きベクトルおよび予測画像の生成を行うのではなく、マクロブロックMBの画素データと当該マクロブロックMBの周囲の画素データとの相関を基に、予め決められた一部の動き予測ブロックサイズのみを用いて動きベクトルおよび予測画像の生成を行う。
図1に示す復号装置3は符号化装置2の符号化に対応した復号を行い、従来と同じ構成を有している。
【0020】
以下、図1に示す符号化装置2について説明する。
図2は、図1に示す符号化装置2の全体構成図である。
図2に示すように、符号化装置2は、例えば、A/D変換回路22、画面並べ替え回路23、演算回路24、直交変換回路25、量子化回路26、可逆符号化回路27、バッファ28、逆量子化回路29、逆直交変換回路30、フレームメモリ31、レート制御回路32、フレームメモリ45、デブロックフィルタ37、イントラ予測回路41、ブロックサイズ決定回路42、動き予測・補償回路43および選択回路44を有する。
ここで、ブロックサイズ決定回路42が第1および第2の発明のブロックサイズ決定手段に対応し、動き予測・補償回路43が第1および第2の発明の動きベクトル生成手段に対応している。
【0021】
以下、符号化装置2の構成要素について説明する。
A/D変換回路22は、入力されたアナログの輝度信号Y、色差信号Pb,Prから構成される原画像信号をデジタルの画像信号に変換し、これを画面並べ替え回路23に出力する。
画面並べ替え回路23は、A/D変換回路22から入力した原画像信号内のフレーム画像信号を、そのピクチャタイプI,P,BからなるGOP(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えた原画像データ(フレーム画像データ)S23を演算回路24および動き予測・補償回路35に出力する。
【0022】
演算回路24は、原画像データS23と、選択回路44から入力した予測画像データS44との差分を示す画像データS24を生成し、これを直交変換回路25に出力する。
直交変換回路25は、画像データS24に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ(例えばDCT係数信号)S25を生成し、これを量子化回路26に出力する。
量子化回路26は、レート制御回路32から入力した量子化スケールで、画像データS25を量子化して画像データS26を生成し、これを可逆符号化回路27および逆量子化回路29に出力する。
【0023】
可逆符号化回路27は、画像データS26を可変長符号化あるいは算術符号化した画像データをバッファ28に格納する。
このとき、可逆符号化回路27は、動き予測・補償回路43から入力した動きベクトルMVあるいはその差分を符号化してヘッダデータに格納する。
また、可逆符号化回路27は、イントラ予測回路41から入力したイントラ予測モードIPMをヘッダデータなどに格納する。
【0024】
バッファ28に格納された画像データは、変調等された後に送信される。
逆量子化回路29は、画像データS26を逆量子化した信号を生成し、これをデブロックフィルタ37に出力する。
デブロックフィルタ37は、画像データS26のブロック歪みを除去した画像データを、逆直交変換回路30に出力すると共に、フレームメモリ45に書き込む。
逆直交変換回路30は、デブロックフィルタ37から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成した画像データをフレームメモリ31に書き込む。
【0025】
レート制御回路32は、バッファ23から読み出した画像データを基に量子化スケールを生成し、これを量子化回路26に出力する。
【0026】
イントラ予測回路41は、予め規定された複数の16x16イントラ予測モードのそれぞれを基に、フレームメモリ45から読み出した画像データを構成する各マクロブロックMB(第1〜第4の発明の第1のブロック)にイントラ予測符号を施して予測画像を生成し、当該予測画像データと原画像データS23との差分を検出する。
そして、イントラ予測回路41は、上記複数のイントラ予測モードについてそれぞれ生成した上記差分(例えば、絶対値誤差和SAD:Sum of Absolute Difference))のうち最小の差分に対応するイントラ予測モードを特定し、当該特定したイントラ予測モードIPMをブロックサイズ決定回路42に出力する。
なお、PスライスあるいはBスライスに属するマクロブロックMBであっても、イントラ予測回路41によるイントラ予測符号化が行われる場合がある。
本実施形態では、イントラ予測モードとして16x16画素データのマクロブロックMBを単位として輝度信号についてイントラ予測符号化を行う16x16イントラ予測モードを採用した場合を説明する。
16x16イントラ予測モードには、モード「0」,「1」,「2」,「3」の4つのモードがある。
【0027】
以下、各モードについて説明する。
ここで、処理対象のマクロブロックMBに属する画像データ(以下、画素値とも記す)をP(x,y)とする。ここで、x,yはマクロブロックMBを構成するマトリクス状の画素データの行方向および列方向の位置を示し、0〜15の整数である。
当該処理対象のマクロブロックMBに隣接するマクロブロックMB内の画素データのうち、当該処理対象のマクロブロックMBに隣接する画素データを、P(x,−1),P(−1,y)と記す。
また、画素データP(x,−1),P(−1,y)は、上記処理対象のマクロブロックMBと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable) 」であると判断される。
モード0:
モード0は、vertical(垂直)予測であり、P(x,−1)が上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(1)のように生成する。
【0028】
【数1】

Figure 2004320437
【0029】
モード1:
モード1は、horizontal(水平)予測であり、P(−1,y)が上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(2)のように生成する。
【0030】
【数2】
Figure 2004320437
【0031】
モード2:
モード2は、DC予測であり、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(3)のように生成する。
先ず、P(x,−1)およびP(−1,y)の全てが上記「利用可能」である場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(3)のように生成する。
【0032】
【数3】
Figure 2004320437
【0033】
また、P(x,−1)が上記「利用可能」でない場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(4)のように生成する。
【数4】
Figure 2004320437
【0034】
また、P(−1,y)が上記「利用可能」でない場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(5)のように生成する。
【数5】
Figure 2004320437
また、P(x,−1)およびP(−1,y)の全てが上記「利用可能」でない場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)として「128」を用いる。
【0035】
モード3:
モード3は、plane予測であり、P(x,−1)およびP(−1,y)の全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、予測画像の画素データPred(x,y)を下記式(6)のように生成する。
【0036】
【数6】
Figure 2004320437
【0037】
以下、イントラ予測回路41の処理について説明する。
図3は、図2に示すイントラ予測回路41の処理を説明するためのフローチャートである。
以下、図3に示す各ステップについて説明する。
ステップST1:
イントラ予測回路41は、処理対象となるマクロブロックMBについて、上述したモード0,1,2,3の各々のイントラ予測モードで予測画像データを生成する。
ステップST2:
イントラ予測回路41は、ステップST1で生成した予測画像データと、原画像データS23との差分を生成(検出)する。
【0038】
ステップST3:
イントラ予測回路41は、ステップST2で生成した差分が最小となるイントラ予測モードを特定する。
ステップST4:
イントラ予測回路41は、ステップST3で特定したイントラ予測モードIPMをブロックサイズ決定回路42に出力する。
ステップST5:
イントラ予測回路41は、ステップST3で特定したイントラ予測モードで生成した差分DIFと予測画像PIとを選択回路44に出力する。
【0039】
ブロックサイズ決定回路42は、イントラ予測回路41から入力したイントラ予測モードIPMを基に、動き予測・補償回路43における動き予測・補償処理に用いる動き予測ブロックサイズの単数または複数の候補BSCを決定し、これを動き予測・補償回路43に出力する。
図4は、動き予測・補償回路43において採用可能な動き予測ブロックのサイズの種類を説明するための図である。
図4に示すように、動き予測ブロックのサイズには、16x16、16x8、8x17、8x8、8x16,8x8がある。また、8x8には、8x8と、8x4、4x8および4x4がある。
【0040】
図5は、動き予測・補償回路43における動き予測ブロックサイズの候補の決定方法を説明するための図である。
ブロックサイズ決定回路42は、イントラ予測モードIPMがモード1(horizontal)を示す場合に、動き予測ブロックサイズの候補として、図4に示すサイズ16x8および8x4を特定し、これを示すブロックサイズ候補データBSCを動き予測・補償回路43に出力する。
なお、この場合に、ブロックサイズ決定回路42は、ブロックサイズ候補データBSCとして、16x16,16x8,8x8,8x4,4x4のサイズを特定してもよい。
【0041】
ブロックサイズ決定回路42は、イントラ予測モードIPMがモード0(vertical)を示す場合に、動き予測ブロックサイズの候補として、図4に示すサイズ8x16および4x8を特定し、これを示すブロックサイズ候補データBSCを動き予測・補償回路43に出力する。
なお、この場合に、ブロックサイズ決定回路42は、ブロックサイズ候補データBSCとして、16x16,8x16,8x8,4x8,4x4のサイズを特定してもよい。
ブロックサイズ決定回路42は、イントラ予測モードIPMがモード2またはモード3を示す場合に、動き予測ブロックサイズの候補として、図4に示すサイズ16x16、8x8および4x4を特定し、これを示すブロックサイズ候補データBSCを動き予測・補償回路43に出力する。
なお、この場合に、ブロックサイズ決定回路42は、ブロックサイズ候補データBSCとして、16x16,16x8,8x16,8x8,8x4,4x8,4x4の全てのサイズを特定してもよい。
【0042】
動き予測・補償回路43は、ブロックサイズ決定回路42から入力したブロックサイズ候補データBSCが候補として示す動き予測ブロックサイズを基に、動きベクトルを決定すると共に、予測画像データを生成する。
図6は、動き予測・補償回路43の処理を説明するためのフローチャートである。
ステップST21:
動き予測・補償回路43は、ブロックサイズ候補データBSCが候補として示す動き予測ブロックサイズの全てについて、当該動き予測ブロックサイズを単位として、動きベクトルの決定、並びに予測画像データの生成を行う。
ステップST22:
動き予測・補償回路43は、ステップST21で生成した予測画像と、原画像データS23との差分をそれぞれ生成する。
ステップST23:
動き予測・補償回路43は、ステップST22で生成した差分のうち最小の差分に対応する動きベクトルおよび予測画像データを特定する。
ステップST24:
動き予測・補償回路43は、ステップST23で特定した差分と予測画像データを選択回路44に出力する。
ステップST25:
動き予測・補償回路43は、選択回路44においてステップST24で出力した予測画像データが選択された場合に、それに対応する動きベクトルMVを可逆符号化回路27に出力する。
【0043】
選択回路44は、イントラ予測回路41から入力した差分DIFと、動き予測・補償回路43から入力した差分DIFとを比較する。
選択回路44は、上記比較によりイントラ予測回路41から入力した差分DIFの方が小さいと判断すると、イントラ予測回路41から入力した予測画像PIFを選択して演算回路24に出力する。
選択回路44は、上記比較により動き予測・補償回路43から入力した差分DIFの方が小さいと判断すると、動き予測・補償回路43から入力した予測画像PIFを選択して演算回路24に出力する。
また、選択回路44は、上記選択の結果をイントラ予測回路41および動き予測・補償回路43に通知する。
【0044】
以下、図2に示す符号化装置2の全体動作を説明する。
入力となる画像信号は、まず、A/D変換回路22においてデジタル信号に変換される。
次に、出力となる画像圧縮情報のGOP構造に応じ、画面並べ替え回路23においてフレーム画像データの並べ替えが行われ、それによって得られた原画像データS23が演算回路24、イントラ予測回路41および動き予測・補償回路43に出力される。
次に、演算回路24が、画面並べ替え回路23からの原画像データS23と選択回路44からの予測画像データPIとの差分を検出し、その差分を示す画像データS24を直交変換回路25に出力する。
【0045】
次に、直交変換回路25が、画像データS24に離散コサイン変換やカルーネン・レーベ変換等の直交変換を施して画像データS25を生成し、これを量子化回路26に出力する。
次に、量子化回路26が、画像データS25を量子化し、量子化された変換係数S26を可逆符号化回路27および逆量子化回路29に出力する。
次に、可逆変換回路27が、変換係数S26に可変長符号化あるいは算術符号化等の可逆符号化を施して画像データS28を生成し、これをバッファ28に蓄積する。
また、レート制御回路32が、バッファ28から読み出した画像データS28を基に、量子化回路26における量子化レートを制御する。
【0046】
また、逆量子化回路29が、量子化回路26から入力した変換係数S26を逆量子化し、逆量子化した変換係数をデブロックフィルタ37に出力する。
デブロックフィルタ37は、逆量子化回路29から入力した変換係数のブロック歪みを除去した画像データを、逆直交変換回路30に出力すると共に、フレームメモリ45に書き込む。
逆直交変換回路30は、デブロックフィルタ37から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成した画像データをフレームメモリ31に書き込む。
【0047】
そして、イントラ予測回路41において、前述したように、予め規定された複数の16x16イントラ予測モードのそれぞれを基に、フレームメモリ45から読み出した画像データにイントラ予測符号を施して予測画像を生成し、当該予測画像データと原画像データS23との差分を検出する。
そして、イントラ予測回路41は、上記複数のイントラ予測モードについてそれぞれ生成した上記差分のうち最小の差分に対応するイントラ予測モードを特定し、当該特定したイントラ予測モードIPMをブロックサイズ決定回路42に出力する。
また、上記特定したイントラ予測モードで生成した差分DIFと予測画像PIとを選択回路44に出力する。
【0048】
次に、ブロックサイズ決定回路42は、イントラ予測回路41から入力したイントラ予測モードIPMを基に、動き予測・補償回路43における動き予測・補償処理に用いる動き予測ブロックサイズの単数または複数の候補BSCを決定し、これを動き予測・補償回路43に出力する。
そして、動き予測・補償回路43は、ブロックサイズ決定回路42からのブロックサイズ候補データBSCが候補として示す動き予測ブロックサイズの全てについて、当該動き予測ブロックサイズを単位として、動きベクトルの決定、並びに予測画像データの生成を行う。
そして、動き予測・補償回路43は、上記決定した動きベクトルMVを可逆符号化回路27に出力すると共に、上記生成した予測画像データ、並びに当該予測画像データの原画像データとの差分DIFとを選択回路44に出力する。
【0049】
そして、選択回路44は、イントラ予測回路41から入力した差分DIFと、動き予測・補償回路43から入力した差分DIFとを比較する。
そして、選択回路44は、上記比較によりイントラ予測回路41から入力した差分DIFの方が小さいと判断すると、イントラ予測回路41から入力した予測画像PIFを選択して演算回路24に出力する。
また、選択回路44は、上記比較により動き予測・補償回路43から入力した差分DIFの方が小さいと判断すると、動き予測・補償回路43から入力した予測画像PIFを選択して演算回路24に出力する。
【0050】
以上説明したように、符号化装置2では、イントラ予測回路41およびブロックサイズ決定回路42によって、処理対象のマクロブロックMB内の画像データと当該マクロブロックMBの周囲の画像データとの相関を基に、動き予測ブロックのサイズの候補を決定する。具体的には、ブロックサイズ決定回路42が、イントラ予測回路41が決定した16x16イントラ予測モードを基に、動き予測ブロックのサイズの候補を決定する。
そして、動き予測・補償回路43は、ブロックサイズ決定回路42で決定された候補の動き予測ブロックサイズのブロックを単位として、動き予測・補償を行う。すなわち、動き予測・補償回路43は、候補として指定されなかったサイズの動き予測ブロックサイズのブロックを単位とした動き予測・補償は行わない。
このように、動き予測・補償回路43は、全ての動き予測ブロックサイズのブロックを単位とした動き予測・補償を行わないため、その演算量を大幅に削減できる。これにより、符号化装置2の小規模化、並びに高速処理化を実現できる。
また、イントラ予測回路41およびブロックサイズ決定回路42によって、処理対象のマクロブロックMB内の画像データと当該マクロブロックMBの周囲の画像データとの相関を基に、動き予測ブロックのサイズの候補を決定するため、原画像との差分が最小となる動き予測ブロックサイズを候補として適切に指定することができ、符号化効率を低下させない。
【0051】
第2実施形態
上述した第1実施形態では、イントラ予測回路41において16x16イントラ予測モードを採用した場合を例示したが、本実施形態のイントラ予測回路41aでは、4x4イントラ予測モードを採用する。
本実施形態の符号化装置は、イントラ予測回路41aおよびブロックサイズ決定回路42aの処理が第1実施形態とは異なり、それ以外の処理は第1実施形態と同じである。
以下、本実施形態のイントラ予測回路41aおよびブロックサイズ決定回路42aの処理を説明する。
【0052】
〔イントラ予測回路41a〕
イントラ予測回路41aは、予め規定された複数の4x4イントラ予測モードのそれぞれを基に、フレームメモリ45から入力した画像データにマクロブロックMB(第5〜第8の発明の第1のブロック)に対して4x4のブロックBLOCK(第5〜第8の発明の第2のブロック)を単位としてイントラ予測符号を施して予測画像を生成し、当該予測画像データと原画像データS23との差分を検出する。
そして、イントラ予測回路41aは、上記複数のイントラ予測モードについてそれぞれ生成した上記差分のうち最小の差分に対応するイントラ予測モードを特定し、当該特定したイントラ予測モードIPMをブロックサイズ決定回路42aに出力する。
本実施形態では、イントラ予測モードとして4x4画素データのブロックBLOCKを単位として輝度信号についてイントラ予測符号化を行う4x4イントラ予測モードを採用した場合を説明する。
イントラ予測回路41aは、図7に示すように、4x4のマトリクス状に配設された画素データ「0」〜「15」からなるブロックBLOCKを単位として予測画像の生成を行う。
4x4イントラ予測モードには、図8に示すように予測方向が異なる9つのモード「0」〜「8」がある。
【0053】
以下、図8に示す各モードについて説明する。
図9は、イントラ予測の処理対象となる4x4のブロックBLOCKに属する画素データa〜pと、当該ブロックBLOCKの周囲に位置するブロックの画素データA〜Mとの位置関係を説明するための図である。
なお、画素データA〜Mは、上記処理対象のブロックBLOCKと異なるピクチャあるいは異なるスライスに属する場合などに、「利用可能でない(unavailable) 」であると判断される。
モード0:
モード0は、vertical(垂直)予測であり、図9に示す画素データA,B,C,Dの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,Dを用いて下記(7)のように生成する。
【0054】
【数7】
Figure 2004320437
【0055】
モード1:
モード1は、horizontal(水平)予測であり、図9に示す画素データI,J,K,Lの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データI,J,K,Lを用いて下記(8)のように生成する。
【0056】
【数8】
Figure 2004320437
【0057】
モード2:
モード1は、DC予測であり、図9に示す画素データA,B,C,D,I,J,K,Lの全てが上記「利用可能」である場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,Lを用いて下記(9)のように生成する。
【0058】
【数9】
Figure 2004320437
【0059】
また、図9に示す画素データA,B,C,Dの全てが上記「利用可能」でない場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,Dを用いて下記(10)のように生成する。
【0060】
【数10】
Figure 2004320437
【0061】
また、図9に示す画素データI,J,K,Lの全てが上記「利用可能」でない場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データI,J,K,Lを用いて下記(11)のように生成する。
【0062】
【数11】
Figure 2004320437
【0063】
また、図9に示す画素データA,B,C,D,I,J,K,Lの全てが上記「利用可能」でない場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値「128」を用いる。
【0064】
モード3:
モード3は、Diagonal_Down_Left予測であり、図9に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて下記(12)のように生成する。
【0065】
【数12】
Figure 2004320437
【0066】
モード4:
モード4は、Diagonal_Right予測であり、図9に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて下記(13)のように生成する。
【0067】
【数13】
Figure 2004320437
【0068】
モード5:
モード5は、Diagonal_Vertical_Right予測であり、図9に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて下記(14)のように生成する。
【0069】
【数14】
Figure 2004320437
【0070】
モード6:
モード6は、Horizontal_Down予測であり、図9に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて下記(15)のように生成する。
【0071】
【数15】
Figure 2004320437
【0072】
モード7:
モード7は、Vertical_Left予測であり、図9に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて下記(16)のように生成する。
【0073】
【数16】
Figure 2004320437
【0074】
モード8:
モード8は、Horizontal_Up予測であり、図9に示す画素データA,B,C,D,I,J,K,L,Mの全てが上記「利用可能」である場合に適用される。
この場合に、イントラ予測回路41は、ブロックBLOCKの画素データa〜pの予測値を、画素データA,B,C,D,I,J,K,L,Mを用いて下記(17)のように生成する。
【0075】
【数17】
Figure 2004320437
【0076】
以下、イントラ予測回路41aの処理について説明する。
図10は、本実施形態のイントラ予測回路41aの処理を説明するためのフローチャートである。
以下、図10に示す各ステップについて説明する。
ステップST31:
イントラ予測回路41aは、処理対象となるマクロブロックMBを構成する4x4のブロックBLOCKの全てについて、上述したモード0〜8の各々の4x4イントラ予測モードで予測画像データを生成する。
ステップST32:
イントラ予測回路41aは、ステップST21で生成した予測画像データと、原画像データS23との差分を生成(検出)する。
【0077】
ステップST33:
イントラ予測回路41aは、全ての4x4のブロックBLOCKについて、ステップST32で生成した差分が最小となるイントラ予測モードを特定する。
ステップST34:
イントラ予測回路41aは、全ての4x4のブロックBLOCKについてステップST33で特定したイントラ予測モードIPMをブロックサイズ決定回路42に出力する。
ステップST35:
イントラ予測回路41aは、ステップST33で特定したイントラ予測モードで生成した差分の合計であるDIFと予測画像PIとを選択回路44に出力する。
【0078】
〔ブロックサイズ決定回路42a〕
ブロックサイズ決定回路42aは、イントラ予測回路41aから入力したイントラ予測モードIPMを基に、動き予測・補償回路43における動き予測・補償処理に用いる動き予測ブロックサイズの単数または複数の候補BSCを決定し、これを動き予測・補償回路43に出力する。
動き予測・補償回路43において採用可能な動き予測ブロックのサイズの種類は、図4を用いて前述したサイズである。
【0079】
ブロックサイズ決定回路42aは、処理対象のマクロブロックMBを構成する全てのブロックBLOCKに関するイントラ予測回路41aから入力したイントラ予測モードIPMのそれぞれに対応する相関方向を特定し、特定した相関方向の数を基に、動き予測ブロックサイズの候補を決定する。
図11は、4x4イントラ予測モードIPMと、相関方向との対応関係を説明するための図である。
図11に示すように、イントラ予測回路41aにおいて4x4イントラ予測モードIPMとして前述したモード1,6,8が決定された4x4のブロックBLOCKは水平方向に相関がある。
また、イントラ予測回路41aにおいて4x4イントラ予測モードIPMとして前述したモード0,5,7が決定された4x4のブロックBLOCKは垂直方向に相関がある。
また、イントラ予測回路41aにおいて4x4イントラ予測モードIPMとして前述したモード2,3,4が決定された4x4のブロックBLOCKは水平および垂直方向のいずれにも相関がない。
【0080】
図12は、本実施形態のブロックサイズ決定回路42aの処理を説明するための図である。
ステップST41:
ブロックサイズ決定回路42aは、処理対象のマクロブロックMB内の全ての4x4のブロックBLOCKについて、イントラ予測回路41aイントラ予測モードIPMを入力する。
ステップST42:
ブロックサイズ決定回路42aは、ステップST41で入力したイントラ予測モードIPMのそれぞれについて、図11を用いて前述した手法で水平方向に高い相関を持つイントラ予測モードIPMの数Nhorizontalを特定する。
ステップST43:
ブロックサイズ決定回路42aは、ステップST41で入力したイントラ予測モードIPMのそれぞれについて、図11を用いて前述した手法で垂直方向に高い相関を持つイントラ予測モードIPMの数Nverticalを特定する。
【0081】
ステップST44:
ブロックサイズ決定回路42aは、ステップST42で特定した数Nhorizontalが、ステップST43で特定した数Nverticalより大きいか否かを比較し、大きいと判断するとステップST45の処理に進み、そうでない場合にステップST46の処理に進む。
ステップST45:
ブロックサイズ決定回路42aは、動き予測ブロックサイズの候補として、図4に示すサイズ16x8および8x4を特定する。
なお、この場合に、ブロックサイズ決定回路42aは、ブロックサイズ候補データBSCとして、16x16,16x8,8x8,8x4,4x4のサイズを特定してもよい。
ステップST46:
ブロックサイズ決定回路42aは、動き予測ブロックサイズの候補として、図4に示すサイズ8x16および4x8を特定する。
なお、この場合に、ブロックサイズ決定回路42aは、ブロックサイズ候補データBSCとして、16x16,8x16,8x8,4x8,4x4のサイズを特定してもよい。
ステップST47:
ブロックサイズ決定回路42aは、ステップST45,ST46で特定したブロックサイズ候補データBSCを動き予測・補償回路43に出力する。
【0082】
本実施形態の符号化装置の動作例は、第1実施形態で説明した符号化装置2の動作例において、イントラ予測回路41およびブロックサイズ決定回路42の動作例を、上述したイントラ予測回路41aおよびブロックサイズ決定回路42aの動作例に置き換えたものになる。
【0083】
以上説明したように、本実施形態の符号化装置によっても、前述した第1実施形態の符号化装置2と同様の効果が得られる。
【0084】
第2実施形態の変形例
図12に示すブロックサイズ決定回路42aの動作は、例えば、図13に示すものもよい。
図13において、ステップST41〜ST43は、図12のステップST41〜ST43と同じである。
ステップST51:
本変形例のブロックサイズ決定回路42bは、ステップST42で特定した数NhorizontalからステップST43で特定した数Nverticalを差し引いた値が予め規定したしきい値Thより大きいか否かを判断し、大きいと判断するとステップST52に進み、そうでない場合にはステップST53に進む。
ステップST52:
ブロックサイズ決定回路42bは、動き予測ブロックサイズの候補として、図4に示すサイズ16x8および8x4を特定する。
【0085】
ステップST53:
ブロックサイズ決定回路42bは、ステップST43で特定した数NverticalからステップST42で特定した数Nhorizontalを差し引いた値が予め規定したしきい値Thより大きいか否かを判断し、大きいと判断するとステップST54に進み、そうでない場合にはステップST55に進む。
ステップST54:
ブロックサイズ決定回路42bは、動き予測ブロックサイズの候補として、図4に示すサイズ8x16および4x8を特定する。
ステップST55:
ブロックサイズ決定回路42bは、動き予測ブロックサイズの候補として、図4に示すサイズ16x16,8x16,8x8,4x8および4x4を特定する。
ステップST56:
ブロックサイズ決定回路42aは、ステップST52,ST54,ST44で特定したブロックサイズ候補データBSCを動き予測・補償回路43に出力する。
本実施形態によっても第2実施形態と同様な効果が得られる。
【0086】
本発明は上述した実施形態には限定されない。
例えば、上述した実施形態では、本発明の第1のブロックとして16×16画素のマクロブロックMBを例示したが、第1のブロックのサイズは任意である。
また、上述した実施形態では、第1の発明の第2のブロックおよび第5〜第8の発明の第3のブロックのサイズとして、図4に示す8種類の動き予測ブロックサイズを例示したが、その他のサイズを用いてもよい。
また、上述した実施形態では、イントラ予測モードとして、JVTで規定された16x16画素の輝度信号についてのイントラ予測モード、並びに4x4画素の輝度信号についてのイントラ予測モードを例示したが、それ以外のイントラ予測モードについても本発明は適用可能である。
【0087】
【発明の効果】
以上説明したように、本発明によれば、従来に比べて小規模な構成で、動きベクトルを短時間で生成できるデータ処理装置を提供することができる。
また、本発明によれば、従来に比べて動きベクトルを短時間で生成できるデータ処理方法を提供することができる。
また、本発明によれば、従来に比べて小規模な構成で、画像データの符号化を短時間で行うことができる符号化装置を提供することができる。
また、本発明によれば、従来に比べて画像データの符号化を短時間で行うことができる符号化方法を提供することができる。
【図面の簡単な説明】
【図1】図1は、本発明は、本発明の実施形態の通信システムの構成図である。
【図2】図2は、図1に示す符号化装置の機能ブロック図である。
【図3】図3は、図2に示すイントラ予測回路の動作例を説明するための図である。
【図4】図4は、本実施形態の動き予測ブロックサイズを説明するための図である。
【図5】図5は、図2に示すブロックサイズ決定回路の処理を説明するための図である。
【図6】図6は、図2に示す動き予測・補償回路の動作例を説明するための図である。
【図7】図7は、本発明の第2実施形態に係わる符号化装置で用いられる4x4ブロックを説明するための図である。
【図8】図8は、本発明の第2実施形態に係わるイントラ予測回路のイントラ予測モードを説明するための図である。
【図9】図9は、本発明の第2実施形態に係わるイントラ予測回路のイントラ予測モードを説明するための図である。
【図10】図10は、本発明の第2実施形態に係わるイントラ予測回路の動作例を説明するためのフローチャートである。
【図11】図11は、本発明の第2実施形態に係わるブロックサイズ決定回路の処理を説明するための図である。
【図12】図12は、本発明の第2実施形態に係わるブロックサイズ決定回路の動作例を説明するためのフローチャートである。
【図13】図13は、本発明の第2実施形態に係わるブロックサイズ決定回路のその他の動作例を説明するためのフローチャートである。
【符号の説明】
1…通信システム、2…符号化装置、3…復号装置、22…A/D変換回路、23…画面並べ替え回路、24…演算回路、25…直交変換回路、26…量子化回路、27…可逆符号化回路、28…バッファ、29…逆量子化回路、30…逆直交変換回路、31…フレームメモリ、32…レート制御回路、41,41a…イントラ予測回路、42,42a…ブロックサイズ決定回路、43…動き予測・補償回路、44…選択回路[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data processing device, an encoding device, and a method for generating a motion vector of image data.
[0002]
[Prior art]
2. Description of the Related Art In recent years, MPEG (Moving), which is treated as image data digital and compresses by orthogonal transform such as discrete cosine transform and motion compensation, using the redundancy unique to image information, for the purpose of transmitting and storing information with high efficiency. 2. Description of the Related Art Devices based on a system such as Picture Experts Group) are becoming widespread in both information distribution at broadcast stations and information reception in ordinary households.
[0003]
Following the MPEG system, an encoding system called JVT (Joint Video Team) has been proposed.
In the JVT method, 16 × 16, 16 × 8, 8 × 16, and 8 × 8 pixels are defined as the motion prediction block size in the motion prediction / compensation processing, and 8 × 8, 8 × 4, 4 × 8, and 4 × 4 pixels are defined as the 8 × 8 pixel size.
In the conventional JVT coding apparatus, a motion prediction / compensation process for each macroblock MB generates a prediction image based on all types of motion prediction block sizes described above, and a prediction that minimizes the difference from the original image. The motion prediction block size from which the image was obtained is finally adopted. Thereby, high coding efficiency can be obtained.
[0004]
[Problems to be solved by the invention]
However, in the above-described conventional image processing apparatus, as described above, in the motion prediction / compensation processing of each macroblock MB, since the difference is detected based on all motion prediction block sizes, the amount of calculation is enormous. However, there are problems such as an increase in the size of a circuit and an increase in processing time.
[0005]
The present invention has been made in view of such circumstances, and an object of the present invention is to provide a data processing device that can generate a motion vector in a short time with a smaller configuration than in the related art.
Another object of the present invention is to provide a data processing method capable of generating a motion vector in a shorter time than in the past.
Another object of the present invention is to provide an encoding device that can encode image data in a short time with a smaller configuration than in the related art.
It is another object of the present invention to provide an encoding method capable of encoding image data in a shorter time than in the past.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, a data processing device according to a first aspect of the present invention determines a motion vector of a plurality of first blocks defined corresponding to a two-dimensional area of an image constituting a moving image and constituting the image. A data processing device for performing, on each of the plurality of first blocks, a correlation between pixel data belonging to the first block and pixel data around the first block in the two-dimensional area. A block size determining means for determining a size of a second block; and a motion vector determining means for determining a motion vector of the first block in units of the second block having the size determined by the block size determining means. Means.
[0007]
The operation of the data processing device of the first invention is as follows.
The block size determining means determines, for each of a plurality of first blocks defined corresponding to a two-dimensional area of an image forming a moving image and belonging to the image, pixel data belonging to the first block, The size of the second block is determined based on the correlation with the pixel data around the first block in the dimensional area.
Next, a motion vector determining unit determines a motion vector of the first block in units of the second block having the size determined by the block size determining unit.
[0008]
In the data processing device of the first invention, preferably, the block size determining means determines one or more candidates for the size of the second block based on the correlation, and the motion vector determining means includes: The motion vector and a predicted image corresponding to the motion vector are generated in units of the second block of each of the sizes determined as the candidates by the block size determining unit, and a difference between the predicted image and the original image is generated. The motion vector is determined based on the difference of
In the data processing apparatus according to the first invention, preferably, the block size determining means is configured to store first pixel data belonging to the first block and the second pixel data located around the first block. And the size of the second block is determined based on the correlation between the first pixel data and the second pixel data in the two-dimensional area.
[0009]
An encoding device according to a second aspect of the present invention is an encoding device that encodes an image forming a moving image, and includes a plurality of first blocks defined corresponding to a two-dimensional area of the image and forming the image. Block size determining means for determining a size of a second block based on a correlation between pixel data belonging to the first block and pixel data located around the first block; A motion prediction unit that determines a motion vector of the first block in units of the second block having the size determined by the block size determination unit and generates a prediction image based on the motion vector; Encoding means for encoding the difference between the predicted image generated by the motion prediction means and the original image.
[0010]
The operation of the encoding device according to the second invention is as follows.
The block size determining means determines, for each of a plurality of first blocks defined corresponding to a two-dimensional area of the image and constituting the image, pixel data belonging to the first block and pixel data of the first block. The size of the second block is determined based on the correlation with surrounding pixel data.
Next, the motion prediction unit determines a motion vector of the first block in units of the second block having the size determined by the block size determination unit, and generates a prediction image based on the motion vector. .
Next, encoding means encodes the difference between the predicted image generated by the motion prediction means and the original image.
[0011]
A data processing method according to a third aspect of the present invention is a data processing method which is defined corresponding to a two-dimensional area of an image forming a moving image and determines a motion vector of a plurality of first blocks forming the image. For each of the plurality of first blocks, the size of the second block is determined based on the correlation between the pixel data belonging to the first block and the pixel data around the first block in the two-dimensional area. And a second step of determining a motion vector of the first block in units of the second block having the size determined in the first step.
[0012]
An encoding method according to a fourth aspect of the present invention is an encoding method for encoding an image that forms a moving image, and includes a plurality of first blocks that are defined corresponding to a two-dimensional area of the image and that form the image. A first step of determining a size of a second block based on a correlation between pixel data belonging to the first block and pixel data located around the first block; A second step of determining a motion vector of the first block in units of the second block having the size determined in the first step, and generating a predicted image based on the motion vector; A third step of encoding the difference between the predicted image generated in the step and the original image.
[0013]
A data processing device according to a fifth aspect of the present invention is a data processing device that is defined corresponding to a two-dimensional area of an image forming a moving image and determines motion vectors of a plurality of first blocks forming the image. Based on the correlation between the pixel data belonging to the second block detected for each of the plurality of second blocks constituting the first block and the pixel data around the second block in the two-dimensional area. A block size determining unit that determines a size of a third block corresponding to the first block; and a unit of the third block having the size determined by the block size determining unit. Motion vector determining means for determining a motion vector.
[0014]
The operation of the data processing device according to the fifth invention is as follows.
The block size determining means detects pixel data belonging to the second block detected for each of the plurality of second blocks constituting the first block and pixel data surrounding the second block in the two-dimensional area The size of the third block corresponding to the first block is determined based on the correlation with
Next, the motion vector determination means determines a motion vector of the first block in units of the third block having the size determined by the block size determination means.
[0015]
An encoding device according to a sixth aspect of the present invention is an encoding device that encodes an image forming a moving image, wherein the image includes a plurality of first blocks defined corresponding to a two-dimensional area of the image. When configured, the pixel data belonging to the second block detected for each of the plurality of second blocks forming the first block and the pixels around the second block in the two-dimensional area A block size determining unit that determines a size of a third block corresponding to the first block based on a correlation with data; and a unit having the third block of the size determined by the block size determining unit as a unit. A motion prediction unit that determines a motion vector of the first block and generates a predicted image based on the motion vector; and a difference between the predicted image generated by the motion prediction unit and an original image. And a coding means for coding.
[0016]
The operation of the encoding device according to the sixth invention is as follows.
When the image is composed of a plurality of first blocks defined corresponding to a two-dimensional area of the image, the block size determining means may determine a plurality of second blocks constituting the first block. On the basis of the correlation between the pixel data belonging to the second block and the pixel data around the second block in the two-dimensional area, the third block corresponding to the first block is detected. Determine the size.
Next, the motion prediction unit determines a motion vector of the first block in units of the third block having the size determined by the block size determination unit, and generates a predicted image based on the motion vector.
Next, encoding means encodes the difference between the predicted image generated by the motion prediction means and the original image.
[0017]
A data processing method according to a seventh aspect of the present invention is a data processing method for determining a motion vector of a plurality of first blocks defined corresponding to a two-dimensional area of an image forming a moving image and configuring the image, Based on the correlation between the pixel data belonging to the second block detected for each of the plurality of second blocks constituting the first block and the pixel data around the second block in the two-dimensional area. A first step of determining a size of a third block corresponding to the first block; and a step of determining the size of the first block in units of the third block having the size determined in the first step. And determining a motion vector.
[0018]
An encoding method according to an eighth aspect of the present invention is an encoding method for encoding an image forming a moving image, wherein the image includes a plurality of first blocks defined corresponding to a two-dimensional area of the image. When configured, the pixel data belonging to the second block detected for each of the plurality of second blocks forming the first block and the pixels around the second block in the two-dimensional area A first step of determining a size of a third block corresponding to the first block based on a correlation with data, and the third block having the size determined in the first step as a unit. A second step of determining a motion vector of the first block, a third step of generating a predicted image based on the motion vector determined in the second step, and a step of generating the predicted image in the third step. Predicted image and original And a fourth step for encoding the difference image.
[0019]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, a coding apparatus of a JVT (Joint Video Team) system according to an embodiment of the present invention will be described.
First embodiment
This embodiment corresponds to the first to fourth inventions.
FIG. 1 is a conceptual diagram of a communication system 1 according to the present embodiment.
As shown in FIG. 1, the communication system 1 includes an encoding device 2 provided on a transmission side and a decoding device 3 provided on a reception side.
In the communication system 1, the encoding device 2 on the transmission side generates frame image data (bit stream) compressed by orthogonal transform such as discrete cosine transform or Karhunen-Loeve transform and motion compensation, and modulates the frame image data. Later, it is transmitted via a transmission medium such as a satellite broadcast wave, a cable TV network, a telephone line network, or a mobile telephone line network.
On the receiving side, after demodulating the received image signal, frame image data expanded by inverse transformation of the orthogonal transformation and the motion compensation at the time of the modulation is generated and used.
Note that the transmission medium may be a recording medium such as an optical disk, a magnetic disk, and a semiconductor memory.
In the present embodiment, when performing the motion prediction / compensation processing in the encoding device 2, the motion vector and the predicted image of the macroblock MB are generated using all of the plurality of motion prediction block sizes defined in advance. Instead, based on the correlation between the pixel data of the macroblock MB and the pixel data around the macroblock MB, the generation of the motion vector and the predicted image is performed using only a predetermined part of the motion prediction block size. Do.
The decoding device 3 shown in FIG. 1 performs decoding corresponding to the encoding of the encoding device 2 and has the same configuration as the conventional one.
[0020]
Hereinafter, the encoding device 2 shown in FIG. 1 will be described.
FIG. 2 is an overall configuration diagram of the encoding device 2 shown in FIG.
As shown in FIG. 2, the encoding device 2 includes, for example, an A / D conversion circuit 22, a screen rearrangement circuit 23, an arithmetic circuit 24, an orthogonal transformation circuit 25, a quantization circuit 26, a lossless encoding circuit 27, and a buffer 28. , Inverse quantization circuit 29, inverse orthogonal transform circuit 30, frame memory 31, rate control circuit 32, frame memory 45, deblock filter 37, intra prediction circuit 41, block size determination circuit 42, motion prediction / compensation circuit 43, and selection It has a circuit 44.
Here, the block size determination circuit 42 corresponds to the block size determination means of the first and second inventions, and the motion prediction / compensation circuit 43 corresponds to the motion vector generation means of the first and second inventions.
[0021]
Hereinafter, components of the encoding device 2 will be described.
The A / D conversion circuit 22 converts an original image signal composed of the input analog luminance signal Y and color difference signals Pb and Pr into a digital image signal, and outputs this to a screen rearrangement circuit 23.
The screen rearrangement circuit 23 encodes the frame image signal in the original image signal input from the A / D conversion circuit 22 according to a GOP (Group Of Pictures) structure including the picture types I, P, and B. The original image data (frame image data) S23 rearranged in order is output to the arithmetic circuit 24 and the motion prediction / compensation circuit 35.
[0022]
The arithmetic circuit 24 generates image data S24 indicating the difference between the original image data S23 and the predicted image data S44 input from the selection circuit 44, and outputs this to the orthogonal transformation circuit 25.
The orthogonal transform circuit 25 performs orthogonal transform such as discrete cosine transform or Karhunen-Loeve transform on the image data S24 to generate image data (for example, a DCT coefficient signal) S25, and outputs this to the quantization circuit 26.
The quantization circuit 26 quantizes the image data S25 using the quantization scale input from the rate control circuit 32 to generate image data S26, and outputs this to the lossless encoding circuit 27 and the inverse quantization circuit 29.
[0023]
The lossless encoding circuit 27 stores the image data obtained by performing variable length encoding or arithmetic encoding on the image data S26 in the buffer 28.
At this time, the lossless encoding circuit 27 encodes the motion vector MV input from the motion prediction / compensation circuit 43 or a difference thereof and stores the encoded motion vector MV in the header data.
Further, the lossless encoding circuit 27 stores the intra prediction mode IPM input from the intra prediction circuit 41 in header data or the like.
[0024]
The image data stored in the buffer 28 is transmitted after being modulated.
The inverse quantization circuit 29 generates a signal obtained by inversely quantizing the image data S26, and outputs the signal to the deblocking filter 37.
The deblocking filter 37 outputs the image data obtained by removing the block distortion of the image data S26 to the inverse orthogonal transform circuit 30 and writes the image data in the frame memory 45.
The inverse orthogonal transform circuit 30 writes the image data generated by performing the inverse transform of the orthogonal transform in the orthogonal transform circuit 25 on the image data input from the deblocking filter 37 into the frame memory 31.
[0025]
The rate control circuit 32 generates a quantization scale based on the image data read from the buffer 23 and outputs this to the quantization circuit 26.
[0026]
Based on each of a plurality of 16 × 16 intra-prediction modes defined in advance, the intra-prediction circuit 41 includes macro blocks MB (the first block of the first to fourth inventions) that constitute the image data read from the frame memory 45. ) Is subjected to an intra prediction code to generate a predicted image, and a difference between the predicted image data and the original image data S23 is detected.
Then, the intra prediction circuit 41 specifies an intra prediction mode corresponding to the smallest difference among the differences (for example, Sum of Absolute Differences) generated for each of the plurality of intra prediction modes, for example. The specified intra prediction mode IPM is output to the block size determination circuit 42.
It should be noted that intra prediction encoding may be performed by the intra prediction circuit 41 even for a macroblock MB belonging to a P slice or a B slice.
In the present embodiment, a case will be described in which a 16 × 16 intra prediction mode in which a luminance signal is subjected to intra prediction encoding in units of a macroblock MB of 16 × 16 pixel data is used as the intra prediction mode.
The 16 × 16 intra prediction mode has four modes “0”, “1”, “2”, and “3”.
[0027]
Hereinafter, each mode will be described.
Here, the image data (hereinafter, also referred to as a pixel value) belonging to the macroblock MB to be processed is defined as P (x, y). Here, x and y indicate the positions in the row direction and the column direction of the pixel data in the form of a matrix constituting the macroblock MB, and are integers from 0 to 15.
Of the pixel data in the macroblock MB adjacent to the processing target macroblock MB, the pixel data adjacent to the processing target macroblock MB are denoted by P (x, −1), P (−1, y). Write.
The pixel data P (x, −1), P (−1, y) are “unavailable” when belonging to a different picture or a different slice from the macroblock MB to be processed. Is determined.
Mode 0:
Mode 0 is vertical (vertical) prediction, and is applied when P (x, -1) is the above “available”.
In this case, the intra prediction circuit 41 generates pixel data Pred (x, y) of the predicted image as in the following equation (1).
[0028]
(Equation 1)
Figure 2004320437
[0029]
Mode 1:
Mode 1 is horizontal (horizontal) prediction, and is applied when P (−1, y) is the above “available”.
In this case, the intra prediction circuit 41 generates pixel data Pred (x, y) of the predicted image as in the following equation (2).
[0030]
(Equation 2)
Figure 2004320437
[0031]
Mode 2:
Mode 2 is DC prediction, and the intra prediction circuit 41 generates pixel data Pred (x, y) of a predicted image as in the following equation (3).
First, when all of P (x, −1) and P (−1, y) are “available”, the intra prediction circuit 41 converts the pixel data Pred (x, y) of the predicted image into the following equation. Generated as in (3).
[0032]
(Equation 3)
Figure 2004320437
[0033]
When P (x, -1) is not "available", the intra prediction circuit 41 generates pixel data Pred (x, y) of the predicted image as in the following equation (4).
(Equation 4)
Figure 2004320437
[0034]
When P (−1, y) is not “usable”, the intra prediction circuit 41 generates pixel data Pred (x, y) of the predicted image as shown in the following equation (5).
(Equation 5)
Figure 2004320437
When all of P (x, −1) and P (−1, y) are not “available”, the intra prediction circuit 41 sets “128” as the pixel data Pred (x, y) of the predicted image. Is used.
[0035]
Mode 3:
Mode 3 is plane prediction, and is applied when all of P (x, -1) and P (-1, y) are "available".
In this case, the intra prediction circuit 41 generates pixel data Pred (x, y) of the predicted image as in the following equation (6).
[0036]
(Equation 6)
Figure 2004320437
[0037]
Hereinafter, the processing of the intra prediction circuit 41 will be described.
FIG. 3 is a flowchart for explaining the processing of the intra prediction circuit 41 shown in FIG.
Hereinafter, each step shown in FIG. 3 will be described.
Step ST1:
The intra prediction circuit 41 generates predicted image data in each of the modes 0, 1, 2, and 3 intra prediction modes for the macroblock MB to be processed.
Step ST2:
The intra prediction circuit 41 generates (detects) a difference between the predicted image data generated in step ST1 and the original image data S23.
[0038]
Step ST3:
The intra prediction circuit 41 specifies an intra prediction mode in which the difference generated in step ST2 is minimum.
Step ST4:
The intra prediction circuit 41 outputs the intra prediction mode IPM specified in step ST3 to the block size determination circuit 42.
Step ST5:
The intra prediction circuit 41 outputs the difference DIF and the predicted image PI generated in the intra prediction mode specified in step ST3 to the selection circuit 44.
[0039]
The block size determination circuit 42 determines one or more candidate BSCs of the motion prediction block size used for the motion prediction / compensation processing in the motion prediction / compensation circuit 43 based on the intra prediction mode IPM input from the intra prediction circuit 41. Are output to the motion prediction / compensation circuit 43.
FIG. 4 is a diagram for explaining types of sizes of motion prediction blocks that can be adopted in the motion prediction / compensation circuit 43.
As shown in FIG. 4, the size of the motion prediction block includes 16 × 16, 16 × 8, 8 × 17, 8 × 8, 8 × 16, and 8 × 8. 8x8 includes 8x8, 8x4, 4x8, and 4x4.
[0040]
FIG. 5 is a diagram for explaining a method of determining a motion prediction block size candidate in the motion prediction / compensation circuit 43.
When the intra prediction mode IPM indicates mode 1 (horizontal), the block size determination circuit 42 specifies the sizes 16 × 8 and 8 × 4 shown in FIG. 4 as candidates for the motion prediction block size, and indicates the block size candidate data BSC indicating this. Is output to the motion prediction / compensation circuit 43.
In this case, the block size determination circuit 42 may specify the sizes of 16 × 16, 16 × 8, 8 × 8, 8 × 4, and 4 × 4 as the block size candidate data BSC.
[0041]
When the intra prediction mode IPM indicates mode 0 (vertical), the block size determination circuit 42 specifies the sizes 8 × 16 and 4 × 8 shown in FIG. 4 as candidates for the motion prediction block size, and indicates the block size candidate data BSC indicating this. Is output to the motion prediction / compensation circuit 43.
In this case, the block size determination circuit 42 may specify the sizes of 16 × 16, 8 × 16, 8 × 8, 4 × 8, and 4 × 4 as the block size candidate data BSC.
When the intra prediction mode IPM indicates mode 2 or mode 3, the block size determination circuit 42 specifies the sizes 16 × 16, 8 × 8, and 4 × 4 shown in FIG. The data BSC is output to the motion prediction / compensation circuit 43.
In this case, the block size determination circuit 42 may specify all the sizes of 16 × 16, 16 × 8, 8 × 16, 8 × 8, 8 × 4, 4 × 8, and 4 × 4 as the block size candidate data BSC.
[0042]
The motion prediction / compensation circuit 43 determines a motion vector based on the motion prediction block size indicated as a candidate by the block size candidate data BSC input from the block size determination circuit 42, and generates predicted image data.
FIG. 6 is a flowchart for explaining the processing of the motion prediction / compensation circuit 43.
Step ST21:
The motion prediction / compensation circuit 43 determines a motion vector and generates predicted image data for each of the motion prediction block sizes indicated by the block size candidate data BSC as candidates, using the motion prediction block size as a unit.
Step ST22:
The motion prediction / compensation circuit 43 generates a difference between the predicted image generated in step ST21 and the original image data S23.
Step ST23:
The motion prediction / compensation circuit 43 specifies a motion vector and predicted image data corresponding to the smallest difference among the differences generated in step ST22.
Step ST24:
The motion prediction / compensation circuit 43 outputs the difference and the predicted image data specified in step ST23 to the selection circuit 44.
Step ST25:
When the prediction image data output in step ST24 is selected by the selection circuit 44, the motion prediction / compensation circuit 43 outputs the corresponding motion vector MV to the lossless encoding circuit 27.
[0043]
The selection circuit 44 compares the difference DIF input from the intra prediction circuit 41 with the difference DIF input from the motion prediction / compensation circuit 43.
When the selection circuit 44 determines from the comparison that the difference DIF input from the intra prediction circuit 41 is smaller, the selection circuit 44 selects the predicted image PIF input from the intra prediction circuit 41 and outputs it to the arithmetic circuit 24.
When the selection circuit 44 determines from the comparison that the difference DIF input from the motion prediction / compensation circuit 43 is smaller, the selection circuit 44 selects the predicted image PIF input from the motion prediction / compensation circuit 43 and outputs it to the arithmetic circuit 24.
Further, the selection circuit 44 notifies the result of the selection to the intra prediction circuit 41 and the motion prediction / compensation circuit 43.
[0044]
Hereinafter, the overall operation of the encoding device 2 shown in FIG. 2 will be described.
The input image signal is first converted into a digital signal by the A / D conversion circuit 22.
Next, according to the GOP structure of the image compression information to be output, the frame image data is rearranged in the screen rearrangement circuit 23, and the obtained original image data S23 is processed by the arithmetic circuit 24, the intra prediction circuit 41, It is output to the motion prediction / compensation circuit 43.
Next, the arithmetic circuit 24 detects a difference between the original image data S23 from the screen rearranging circuit 23 and the predicted image data PI from the selecting circuit 44, and outputs the image data S24 indicating the difference to the orthogonal transform circuit 25. I do.
[0045]
Next, the orthogonal transform circuit 25 performs orthogonal transform such as discrete cosine transform or Karhunen-Loeve transform on the image data S24 to generate image data S25, and outputs this to the quantization circuit 26.
Next, the quantization circuit 26 quantizes the image data S25 and outputs the quantized transform coefficient S26 to the lossless encoding circuit 27 and the inverse quantization circuit 29.
Next, the reversible transform circuit 27 performs reversible encoding such as variable-length encoding or arithmetic encoding on the transform coefficient S26 to generate image data S28, and stores the image data S28 in the buffer 28.
Further, the rate control circuit 32 controls the quantization rate in the quantization circuit 26 based on the image data S28 read from the buffer 28.
[0046]
In addition, the inverse quantization circuit 29 inversely quantizes the transform coefficient S26 input from the quantization circuit 26, and outputs the inversely quantized transform coefficient to the deblock filter 37.
The deblocking filter 37 outputs the image data obtained by removing the block distortion of the transform coefficient input from the inverse quantization circuit 29 to the inverse orthogonal transform circuit 30 and writes the image data to the frame memory 45.
The inverse orthogonal transform circuit 30 writes the image data generated by performing the inverse transform of the orthogonal transform in the orthogonal transform circuit 25 on the image data input from the deblocking filter 37 into the frame memory 31.
[0047]
Then, in the intra prediction circuit 41, as described above, based on each of the plurality of 16 × 16 intra prediction modes defined in advance, an intra prediction code is applied to the image data read from the frame memory 45 to generate a predicted image, The difference between the predicted image data and the original image data S23 is detected.
Then, the intra prediction circuit 41 specifies the intra prediction mode corresponding to the smallest difference among the differences generated for the plurality of intra prediction modes, and outputs the specified intra prediction mode IPM to the block size determination circuit 42. I do.
The difference DIF and the predicted image PI generated in the specified intra prediction mode are output to the selection circuit 44.
[0048]
Next, based on the intra prediction mode IPM input from the intra prediction circuit 41, the block size determination circuit 42 selects one or more candidate BSCs of the motion prediction block size used for the motion prediction / compensation processing in the motion prediction / compensation circuit 43. And outputs this to the motion prediction / compensation circuit 43.
Then, the motion prediction / compensation circuit 43 determines a motion vector for all of the motion prediction block sizes indicated as candidates by the block size candidate data BSC from the block size determination circuit 42, using the motion prediction block size as a unit. Generate image data.
Then, the motion prediction / compensation circuit 43 outputs the determined motion vector MV to the lossless encoding circuit 27, and selects the generated predicted image data and the difference DIF between the predicted image data and the original image data. Output to the circuit 44.
[0049]
Then, the selection circuit 44 compares the difference DIF input from the intra prediction circuit 41 with the difference DIF input from the motion prediction / compensation circuit 43.
When the selection circuit 44 determines that the difference DIF input from the intra prediction circuit 41 is smaller than the above, the selection circuit 44 selects the prediction image PIF input from the intra prediction circuit 41 and outputs the selected prediction image PIF to the arithmetic circuit 24.
When the selection circuit 44 determines from the comparison that the difference DIF input from the motion prediction / compensation circuit 43 is smaller, the selection circuit 44 selects the predicted image PIF input from the motion prediction / compensation circuit 43 and outputs it to the arithmetic circuit 24. I do.
[0050]
As described above, in the encoding device 2, the intra prediction circuit 41 and the block size determination circuit 42 use the correlation between the image data in the macroblock MB to be processed and the image data around the macroblock MB. , A candidate for the size of the motion prediction block is determined. Specifically, the block size determination circuit 42 determines a motion prediction block size candidate based on the 16 × 16 intra prediction mode determined by the intra prediction circuit 41.
Then, the motion prediction / compensation circuit 43 performs motion prediction / compensation in units of the block of the candidate motion prediction block size determined by the block size determination circuit 42. That is, the motion prediction / compensation circuit 43 does not perform the motion prediction / compensation in units of a block of the motion prediction block size of the size not specified as a candidate.
As described above, since the motion prediction / compensation circuit 43 does not perform the motion prediction / compensation in units of all blocks of the motion prediction block size, the amount of calculation can be significantly reduced. This makes it possible to reduce the size of the encoding device 2 and increase the processing speed.
In addition, the intra prediction circuit 41 and the block size determination circuit 42 determine a motion prediction block size candidate based on the correlation between the image data in the processing target macroblock MB and the image data around the macroblock MB. Therefore, the motion prediction block size that minimizes the difference from the original image can be appropriately designated as a candidate, and the coding efficiency does not decrease.
[0051]
Second embodiment
In the first embodiment described above, the case where the 16 × 16 intra prediction mode is adopted in the intra prediction circuit 41 is exemplified. However, the 4 × 4 intra prediction mode is adopted in the intra prediction circuit 41 a of the present embodiment.
The encoding device of the present embodiment is different from the first embodiment in the processing of the intra prediction circuit 41a and the block size determination circuit 42a, and the other processing is the same as that of the first embodiment.
Hereinafter, processing of the intra prediction circuit 41a and the block size determination circuit 42a of the present embodiment will be described.
[0052]
[Intra prediction circuit 41a]
The intra prediction circuit 41a converts the image data input from the frame memory 45 into the macroblock MB (the first block of the fifth to eighth inventions) based on each of a plurality of 4x4 intra prediction modes defined in advance. Then, an intra prediction code is applied to each 4 × 4 block BLOCK (the second block of the fifth to eighth aspects) to generate a predicted image, and a difference between the predicted image data and the original image data S23 is detected.
Then, the intra prediction circuit 41a specifies an intra prediction mode corresponding to the smallest difference among the differences generated for the plurality of intra prediction modes, and outputs the specified intra prediction mode IPM to the block size determination circuit 42a. I do.
In the present embodiment, a case will be described in which a 4 × 4 intra prediction mode in which a luminance signal is subjected to intra prediction encoding in units of a block BLOCK of 4 × 4 pixel data as the intra prediction mode.
As illustrated in FIG. 7, the intra prediction circuit 41a generates a prediction image in units of a block BLOCK including pixel data “0” to “15” arranged in a 4 × 4 matrix.
In the 4 × 4 intra prediction mode, there are nine modes “0” to “8” having different prediction directions as shown in FIG.
[0053]
Hereinafter, each mode shown in FIG. 8 will be described.
FIG. 9 is a diagram for explaining a positional relationship between pixel data a to p belonging to a 4 × 4 block BLOCK to be processed for intra prediction and pixel data A to M of blocks located around the block BLOCK. is there.
The pixel data A to M are determined to be “unavailable” when they belong to a different picture or a different slice from the block BLOCK to be processed.
Mode 0:
Mode 0 is vertical (vertical) prediction, and is applied when all of the pixel data A, B, C, and D shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 generates predicted values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, and D as shown in (7) below.
[0054]
(Equation 7)
Figure 2004320437
[0055]
Mode 1:
Mode 1 is horizontal (horizontal) prediction, and is applied when all of the pixel data I, J, K, and L shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 generates prediction values of the pixel data a to p of the block BLOCK using the pixel data I, J, K, and L as shown in (8) below.
[0056]
(Equation 8)
Figure 2004320437
[0057]
Mode 2:
Mode 1 is DC prediction, and when all of the pixel data A, B, C, D, I, J, K, and L shown in FIG. 9 are “available”, the intra prediction circuit 41 The predicted values of the BLOCK pixel data a to p are generated as shown in the following (9) using the pixel data A, B, C, D, I, J, K, and L.
[0058]
(Equation 9)
Figure 2004320437
[0059]
When all of the pixel data A, B, C, and D shown in FIG. 9 are not “available”, the intra prediction circuit 41 determines the prediction values of the pixel data a to p of the block BLOCK by using the pixel data A, It is generated as shown in the following (10) using B, C, and D.
[0060]
(Equation 10)
Figure 2004320437
[0061]
Further, when all of the pixel data I, J, K, and L shown in FIG. 9 are not “available”, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK by using the pixel data I, It is generated as shown in the following (11) using J, K, and L.
[0062]
(Equation 11)
Figure 2004320437
[0063]
In addition, when all of the pixel data A, B, C, D, I, J, K, and L shown in FIG. 9 are not “available”, the intra prediction circuit 41 outputs the pixel data a to p of the block BLOCK. The predicted value “128” is used.
[0064]
Mode 3:
Mode 3 is a Digital_Down_Left prediction, and is applied when all of the pixel data A, B, C, D, I, J, K, L, and M shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, D, I, J, K, L, and M in the following (12). Generated.
[0065]
(Equation 12)
Figure 2004320437
[0066]
Mode 4:
Mode 4 is Digital_Right prediction, and is applied when all of the pixel data A, B, C, D, I, J, K, L, and M shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, D, I, J, K, L, and M in the following (13). Generated.
[0067]
(Equation 13)
Figure 2004320437
[0068]
Mode 5:
Mode 5 is Digital_Vertical_Right prediction, and is applied when all of the pixel data A, B, C, D, I, J, K, L, and M shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, D, I, J, K, L, and M in the following (14). Generated.
[0069]
[Equation 14]
Figure 2004320437
[0070]
Mode 6:
Mode 6 is Horizontal_Down prediction, and is applied when all of the pixel data A, B, C, D, I, J, K, L, and M shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, D, I, J, K, L, and M in the following (15). Generated.
[0071]
(Equation 15)
Figure 2004320437
[0072]
Mode 7:
Mode 7 is Vertical_Left prediction, and is applied when all of the pixel data A, B, C, D, I, J, K, L, and M shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, D, I, J, K, L, and M in the following (16). Generated.
[0073]
(Equation 16)
Figure 2004320437
[0074]
Mode 8:
Mode 8 is Horizontal_Up prediction, and is applied when all of the pixel data A, B, C, D, I, J, K, L, and M shown in FIG. 9 are “available”.
In this case, the intra prediction circuit 41 calculates the prediction values of the pixel data a to p of the block BLOCK using the pixel data A, B, C, D, I, J, K, L, and M in the following (17). Generated.
[0075]
[Equation 17]
Figure 2004320437
[0076]
Hereinafter, the processing of the intra prediction circuit 41a will be described.
FIG. 10 is a flowchart for explaining the processing of the intra prediction circuit 41a of the present embodiment.
Hereinafter, each step shown in FIG. 10 will be described.
Step ST31:
The intra prediction circuit 41a generates predicted image data in the 4x4 intra prediction modes of modes 0 to 8 described above for all 4x4 blocks BLOCK constituting the macroblock MB to be processed.
Step ST32:
The intra prediction circuit 41a generates (detects) a difference between the predicted image data generated in step ST21 and the original image data S23.
[0077]
Step ST33:
The intra prediction circuit 41a specifies the intra prediction mode that minimizes the difference generated in step ST32 for all 4 × 4 blocks BLOCK.
Step ST34:
The intra prediction circuit 41a outputs the intra prediction mode IPM specified in step ST33 for all the 4 × 4 blocks BLOCK to the block size determination circuit 42.
Step ST35:
The intra prediction circuit 41a outputs to the selection circuit 44 the DIF that is the sum of the differences generated in the intra prediction mode specified in step ST33 and the prediction image PI.
[0078]
[Block size determination circuit 42a]
The block size determination circuit 42a determines one or more candidate BSCs of the motion prediction block size used for the motion prediction / compensation processing in the motion prediction / compensation circuit 43 based on the intra prediction mode IPM input from the intra prediction circuit 41a. Are output to the motion prediction / compensation circuit 43.
The types of sizes of the motion prediction block that can be adopted in the motion prediction / compensation circuit 43 are the sizes described above with reference to FIG.
[0079]
The block size determination circuit 42a specifies a correlation direction corresponding to each of the intra prediction modes IPM input from the intra prediction circuit 41a for all blocks BLOCK constituting the macroblock MB to be processed, and determines the number of the specified correlation directions. Based on this, a motion prediction block size candidate is determined.
FIG. 11 is a diagram for explaining the correspondence between the 4 × 4 intra prediction mode IPM and the correlation direction.
As shown in FIG. 11, the 4 × 4 block BLOCK in which the modes 1, 6, and 8 described above are determined as the 4 × 4 intra prediction mode IPM in the intra prediction circuit 41a has a correlation in the horizontal direction.
The 4 × 4 block BLOCK in which the modes 0, 5, and 7 described above are determined as the 4 × 4 intra prediction mode IPM in the intra prediction circuit 41a has a vertical correlation.
The 4 × 4 block BLOCK in which the modes 2, 3, and 4 described above are determined as the 4 × 4 intra prediction mode IPM in the intra prediction circuit 41a has no correlation in any of the horizontal and vertical directions.
[0080]
FIG. 12 is a diagram for explaining the processing of the block size determination circuit 42a of the present embodiment.
Step ST41:
The block size determination circuit 42a inputs the intra prediction circuit 41a intra prediction mode IPM for all 4 × 4 blocks BLOCK in the macroblock MB to be processed.
Step ST42:
The block size determination circuit 42a calculates, for each of the intra prediction modes IPM input in step ST41, the number N of intra prediction modes IPM having a high horizontal correlation by the method described above with reference to FIG.horizontalTo identify.
Step ST43:
The block size determination circuit 42a calculates, for each of the intra prediction modes IPM input in step ST41, the number N of intra prediction modes IPM having a high correlation in the vertical direction by the method described above with reference to FIG.verticalTo identify.
[0081]
Step ST44:
The block size determination circuit 42a calculates the number N specified in step ST42.horizontalIs the number N specified in step ST43.verticalIt is determined whether the value is greater than the value. If it is determined that the value is greater, the process proceeds to step ST45.
Step ST45:
The block size determination circuit 42a specifies the sizes 16 × 8 and 8 × 4 shown in FIG. 4 as candidates for the motion prediction block size.
In this case, the block size determination circuit 42a may specify the sizes of 16x16, 16x8, 8x8, 8x4, and 4x4 as the block size candidate data BSC.
Step ST46:
The block size determination circuit 42a specifies the sizes 8 × 16 and 4 × 8 shown in FIG. 4 as candidates for the motion prediction block size.
In this case, the block size determination circuit 42a may specify the sizes of 16x16, 8x16, 8x8, 4x8, and 4x4 as the block size candidate data BSC.
Step ST47:
The block size determination circuit 42a outputs the block size candidate data BSC specified in steps ST45 and ST46 to the motion prediction / compensation circuit 43.
[0082]
The operation example of the encoding device of the present embodiment is the same as the operation example of the encoding device 2 described in the first embodiment except that the operation examples of the intra prediction circuit 41 and the block size determination circuit 42 are the same as those of the above-described intra prediction circuit 41a. This is replaced with an operation example of the block size determination circuit 42a.
[0083]
As described above, the same effects as those of the encoding device 2 according to the above-described first embodiment can also be obtained by the encoding device according to the present embodiment.
[0084]
Modification of the second embodiment
The operation of the block size determination circuit 42a shown in FIG. 12 may be, for example, the one shown in FIG.
13, steps ST41 to ST43 are the same as steps ST41 to ST43 in FIG.
Step ST51:
The block size determination circuit 42b according to the present modification uses the number N specified in step ST42.horizontalTo the number N specified in step ST43verticalIs determined to be greater than or equal to a predetermined threshold Th, and if it is determined to be greater, the process proceeds to step ST52; otherwise, the process proceeds to step ST53.
Step ST52:
The block size determination circuit 42b specifies the sizes 16 × 8 and 8 × 4 shown in FIG. 4 as candidates for the motion prediction block size.
[0085]
Step ST53:
The block size determination circuit 42b calculates the number N specified in step ST43.verticalTo the number N specified in step ST42horizontalIt is determined whether or not the value obtained by subtracting is larger than a predetermined threshold value Th. If it is determined that the value is larger, the process proceeds to step ST54. If not, the process proceeds to step ST55.
Step ST54:
The block size determination circuit 42b specifies the sizes 8 × 16 and 4 × 8 shown in FIG. 4 as candidates for the motion prediction block size.
Step ST55:
The block size determination circuit 42b specifies the sizes 16 × 16, 8 × 16, 8 × 8, 4 × 8, and 4 × 4 shown in FIG. 4 as candidates for the motion prediction block size.
Step ST56:
The block size determination circuit 42a outputs the block size candidate data BSC specified in steps ST52, ST54, and ST44 to the motion prediction / compensation circuit 43.
According to this embodiment, the same effect as that of the second embodiment can be obtained.
[0086]
The present invention is not limited to the embodiments described above.
For example, in the above-described embodiment, a macroblock MB of 16 × 16 pixels is illustrated as the first block of the present invention, but the size of the first block is arbitrary.
In the above-described embodiment, eight types of motion prediction block sizes shown in FIG. 4 are illustrated as the sizes of the second block of the first invention and the third blocks of the fifth to eighth inventions. Other sizes may be used.
Further, in the above-described embodiment, the intra prediction mode for the luminance signal of 16 × 16 pixels and the intra prediction mode for the luminance signal of 4 × 4 pixels specified by the JVT are illustrated as the intra prediction modes. The present invention is also applicable to modes.
[0087]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a data processing device that can generate a motion vector in a short time with a smaller configuration than in the related art.
Further, according to the present invention, it is possible to provide a data processing method capable of generating a motion vector in a shorter time than before.
Further, according to the present invention, it is possible to provide an encoding device that can encode image data in a short time with a smaller configuration than in the related art.
Further, according to the present invention, it is possible to provide an encoding method capable of encoding image data in a shorter time than before.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a communication system according to an embodiment of the present invention.
FIG. 2 is a functional block diagram of the encoding device shown in FIG. 1;
FIG. 3 is a diagram for explaining an operation example of the intra prediction circuit shown in FIG. 2;
FIG. 4 is a diagram for explaining a motion prediction block size according to the embodiment;
FIG. 5 is a diagram for explaining the processing of the block size determination circuit shown in FIG. 2;
FIG. 6 is a diagram for explaining an operation example of the motion prediction / compensation circuit shown in FIG. 2;
FIG. 7 is a diagram for explaining a 4 × 4 block used in the encoding device according to the second embodiment of the present invention.
FIG. 8 is a diagram for explaining an intra prediction mode of the intra prediction circuit according to the second embodiment of the present invention.
FIG. 9 is a diagram for explaining an intra prediction mode of the intra prediction circuit according to the second embodiment of the present invention.
FIG. 10 is a flowchart for explaining an operation example of the intra prediction circuit according to the second embodiment of the present invention.
FIG. 11 is a diagram for explaining processing of a block size determination circuit according to the second embodiment of the present invention;
FIG. 12 is a flowchart for explaining an operation example of a block size determination circuit according to the second embodiment of the present invention.
FIG. 13 is a flowchart for explaining another operation example of the block size determination circuit according to the second embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Communication system, 2 ... Encoding device, 3 ... Decoding device, 22 ... A / D conversion circuit, 23 ... Screen rearrangement circuit, 24 ... Operation circuit, 25 ... Orthogonal conversion circuit, 26 ... Quantization circuit, 27 ... Lossless encoding circuit, 28 buffer, 29 inverse quantization circuit, 30 inverse orthogonal transformation circuit, 31 frame memory, 32 rate control circuit, 41, 41a intra prediction circuit, 42, 42a block size determination circuit , 43: motion prediction / compensation circuit, 44: selection circuit

Claims (18)

動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理装置であって、
前記複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、前記2次元領域における当該第1のブロックの周囲の画素データとの相関を基に、第2のブロックのサイズを決定するブロックサイズ決定手段と、
前記ブロックサイズ決定手段が決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定する動きベクトル決定手段と
を有するデータ処理装置。
A data processing device that is defined corresponding to a two-dimensional area of an image forming a moving image and determines motion vectors of a plurality of first blocks forming the image,
For each of the plurality of first blocks, the size of the second block is determined based on the correlation between the pixel data belonging to the first block and the pixel data around the first block in the two-dimensional area. Block size determining means for determining
A data processing apparatus comprising: a motion vector determining unit that determines a motion vector of the first block in units of the second block having the size determined by the block size determining unit.
前記ブロックサイズ決定手段は、前記相関を基に、前記第2のブロックのサイズの単数または複数の候補を決定し、
前記動きベクトル決定手段は、前記ブロックサイズ決定手段が前記候補として決定した各々の前記サイズの前記第2のブロックを単位として、前記動きベクトルおよび当該動きベクトルに応じた予測画像を生成し、当該予測画像と原画像との間の差分を基に、前記動きベクトルを決定する
請求項1に記載のデータ処理装置。
The block size determining means determines one or more candidates for the size of the second block based on the correlation,
The motion vector determining means generates the motion vector and a predicted image corresponding to the motion vector in units of the second block of each size determined as the candidate by the block size determining means, and The data processing device according to claim 1, wherein the motion vector is determined based on a difference between an image and an original image.
前記ブロックサイズ決定手段は、前記第1のブロックに属する第1の画素データと当該第1のブロックの周囲に位置する前記第2の画素データとの相関と、前記2次元領域における前記第1の画素データと前記第2の画素データとの位置関係とを基に、前記第2のブロックのサイズを決定する
請求項1に記載のデータ処理装置。
The block size determining unit may determine a correlation between first pixel data belonging to the first block and the second pixel data located around the first block, and the first pixel data in the two-dimensional area. The data processing device according to claim 1, wherein the size of the second block is determined based on a positional relationship between the pixel data and the second pixel data.
前記ブロックサイズ決定手段は、
前記第1の画素データが、当該第1の画素データに対して前記2次元領域における第1の方向に位置する前記第2の画素データに比べて、当該第1の画素データに対して前記2次元領域において前記第1の方向と直交する第2の方向に位置する前記第2の画素データとの間の相関が高い場合に、前記第2の方向が長手方向となるように規定されたサイズを前記第2のブロックのサイズとして決定する
請求項2に記載のデータ処理装置。
The block size determining means includes:
The first pixel data is compared with the second pixel data located in a first direction in the two-dimensional region with respect to the first pixel data, and the second pixel data is compared with the second pixel data with respect to the first pixel data. A size defined such that when the correlation between the second pixel data and the second pixel data located in a second direction orthogonal to the first direction in the dimensional area is high, the second direction is a longitudinal direction. 3. The data processing device according to claim 2, wherein the size of the second block is determined.
前記ブロックサイズ決定手段は、処理対象の前記第1のブロックに属する第1の画素データと当該第1のブロックに隣接する前記第2の画素データとの相関を基に、前記第2のブロックのサイズを決定する
請求項4に記載のデータ処理装置。
The block size determination unit is configured to determine a value of the second block based on a correlation between first pixel data belonging to the first block to be processed and the second pixel data adjacent to the first block. The data processing device according to claim 4, wherein the size is determined.
前記第1のブロックに対して行うイントラ符号化のモードを前記相関を基に決定し、当該決定したモードで前記第1のブロックをイントラ符号化した場合の予測画像を生成するイントラ予測手段
をさらに有し、
前記ブロックサイズ決定手段は、前記イントラ予測手段が決定した前記モードを基に、前記第2のブロックのサイズを決定する
請求項1に記載のデータ処理装置。
An intra prediction unit that determines a mode of intra coding performed on the first block based on the correlation, and generates a predicted image when the first block is intra coded in the determined mode. Have
The data processing device according to claim 1, wherein the block size determining unit determines the size of the second block based on the mode determined by the intra prediction unit.
前記イントラ予測手段は、処理対象の前記第1のブロックの予測画像を、当該処理対象の第1のブロックの周囲の画素データのうち前記モードで規定された画素データを用いて生成し、複数のモードのそれぞれについて生成された前記予測画像と原画像との差分を生成し、当該差分を基に前記モードを決定する
請求項6に記載のデータ処理装置。
The intra prediction unit generates a predicted image of the first block to be processed by using pixel data defined in the mode among pixel data around the first block to be processed, and The data processing apparatus according to claim 6, wherein a difference between the predicted image generated for each of the modes and the original image is generated, and the mode is determined based on the difference.
動画像を構成する画像を符号化する符号化装置であって、
前記画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、当該第1のブロックの周囲に位置する画素データとの相関を基に、第2のブロックのサイズを決定するブロックサイズ決定手段と、
前記ブロックサイズ決定手段が決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する動き予測手段と、
前記動き予測手段が生成した前記予測画像と原画像の差分を符号化する符号化手段と
を有する符号化装置。
An encoding device that encodes an image constituting a moving image,
For each of a plurality of first blocks defined corresponding to a two-dimensional area of the image and constituting the image, pixel data belonging to the first block and pixel data located around the first block Block size determining means for determining the size of the second block based on the correlation with
A motion prediction unit that determines a motion vector of the first block in units of the second block having the size determined by the block size determination unit and generates a prediction image based on the motion vector;
A coding unit for coding a difference between the predicted image generated by the motion prediction unit and the original image;
前記第1のブロックに対して行うイントラ符号化のモードを前記相関を基に決定し、当該決定したモードで前記第1のブロックをイントラ符号化した場合の予測画像を生成するイントラ符号化手段と、
前記動き予測手段が生成した前記予測画像と、前記イントラ符号化手段が生成した前記予測画像とのうち、原画像との差分が小さい予測画像を選択して前記符号化手段に供給する選択手段と
をさらに有し、
前記ブロックサイズ決定手段は、前記イントラ符号化手段が決定した前記モードを基に、第2のブロックのサイズを決定する
請求項8に記載の符号化装置。
An intra-encoding unit that determines a mode of intra-encoding performed on the first block based on the correlation, and generates a predicted image when the first block is intra-encoded in the determined mode; ,
A selecting unit that selects a predicted image having a small difference from an original image and supplies the predicted image to the encoding unit, among the predicted image generated by the motion prediction unit and the predicted image generated by the intra-encoding unit; Further having
The encoding device according to claim 8, wherein the block size determination unit determines a size of the second block based on the mode determined by the intra-encoding unit.
動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理方法であって、
前記複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、前記2次元領域における当該第1のブロックの周囲の画素データとの相関を基に、第2のブロックのサイズを決定する第1の工程と、
前記第1の工程で決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定する第2の工程と
を有するデータ処理方法。
A data processing method which is defined corresponding to a two-dimensional region of an image forming a moving image and determines motion vectors of a plurality of first blocks forming the image,
For each of the plurality of first blocks, the size of the second block is determined based on the correlation between the pixel data belonging to the first block and the pixel data around the first block in the two-dimensional area. A first step of determining
A second step of determining a motion vector of the first block in units of the second block having the size determined in the first step.
動画像を構成する画像を符号化する符号化方法であって、
前記画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの各々について、当該第1のブロックに属する画素データと、当該第1のブロックの周囲に位置する画素データとの相関を基に、第2のブロックのサイズを決定する第1の工程と、
前記第1の工程で決定したサイズの前記第2のブロックを単位として、前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する第2の工程と、
前記第2の工程で生成した前記予測画像と原画像の差分を符号化する第3の工程と
を有する符号化方法。
An encoding method for encoding an image constituting a moving image,
For each of a plurality of first blocks defined corresponding to a two-dimensional area of the image and constituting the image, pixel data belonging to the first block and pixel data located around the first block A first step of determining the size of the second block based on the correlation with
A second step of determining a motion vector of the first block in units of the second block having the size determined in the first step, and generating a predicted image based on the motion vector;
A third step of encoding a difference between the predicted image generated in the second step and the original image.
動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理装置であって、
前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定するブロックサイズ決定手段と、
前記ブロックサイズ決定手段が決定したサイズの前記第3のブロックを単位として、前記第1のブロックの動きベクトルを決定する動きベクトル決定手段と
を有するデータ処理装置。
A data processing device that is defined corresponding to a two-dimensional area of an image forming a moving image and determines motion vectors of a plurality of first blocks forming the image,
Based on the correlation between the pixel data belonging to the second block detected for each of the plurality of second blocks constituting the first block and the pixel data around the second block in the two-dimensional area. A block size determining means for determining a size of a third block corresponding to the first block;
A data processing apparatus comprising: a motion vector determining unit that determines a motion vector of the first block in units of the third block having the size determined by the block size determining unit.
前記ブロックサイズ決定手段は、前記第2のブロックに属する第1の画素データと当該第2のブロックの周囲の第2の画素データとの位置関係と前記相関とを基に、前記第2のブロックの相関方向を決定し、前記複数の第2のブロックについて決定した前記相関方向のうち最も多い相関方向を決定し、当該決定した相関方向を基に前記第3のブロックのサイズを決定する
請求項12に記載のデータ処理装置。
The block size determining means is configured to determine the position of the second block based on the positional relationship between the first pixel data belonging to the second block and the second pixel data surrounding the second block and the correlation. And determining the largest correlation direction among the correlation directions determined for the plurality of second blocks, and determining the size of the third block based on the determined correlation direction. 13. The data processing device according to claim 12.
前記ブロックサイズ決定手段は、
前記相関方向を長手方向として規定されたサイズを前記第3のブロックのサイズとして決定する
請求項13に記載のデータ処理装置。
The block size determining means includes:
14. The data processing device according to claim 13, wherein a size defined by defining the correlation direction as a longitudinal direction is determined as a size of the third block.
前記ブロックサイズ決定手段は、前記第2のブロックに属する第1の画素データと当該第2のブロックの周囲の第2の画素データとの位置関係と前記相関とを基に、前記第2のブロックの相関方向を決定し、前記複数の第2のブロックについて決定した第1の前記相関方向の数と前記第2の相関方向の数との差分を基に前記第3のブロックのサイズを決定する
請求項12に記載のデータ処理装置。
The block size determining means is configured to determine the position of the second block based on the positional relationship between the first pixel data belonging to the second block and the second pixel data surrounding the second block and the correlation. And the size of the third block is determined based on the difference between the number of the first correlation directions and the number of the second correlation directions determined for the plurality of second blocks. The data processing device according to claim 12.
動画像を構成する画像を符号化する符号化装置であって、
前記画像が当該画像の2次元領域に対応して規定される複数の第1のブロックで構成される場合に、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定するブロックサイズ決定手段と、
前記ブロックサイズ決定手段が決定したサイズの前記第3のブロックを単位として前記第1のブロックの動きベクトルを決定し、当該動きベクトルを基に予測画像を生成する動き予測手段と、
前記動き予測手段が生成した前記予測画像と原画像の差分を符号化する符号化手段と
を有する符号化装置。
An encoding device that encodes an image constituting a moving image,
When the image is composed of a plurality of first blocks defined corresponding to a two-dimensional region of the image, the plurality of first blocks are detected for each of a plurality of second blocks constituting the first block. A block size for determining a size of a third block corresponding to the first block based on a correlation between pixel data belonging to a second block and pixel data around the second block in the two-dimensional area. Determining means;
Motion prediction means for determining a motion vector of the first block in units of the third block having the size determined by the block size determination means, and generating a predicted image based on the motion vector;
A coding unit for coding a difference between the predicted image generated by the motion prediction unit and the original image;
動画像を構成する画像の2次元領域に対応して規定され当該画像を構成する複数の第1のブロックの動きベクトルを決定するデータ処理方法であって、
前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定する第1の工程と、
前記第1の工程で決定したサイズの前記第3のブロックを単位として、前記第1のブロックの動きベクトルを決定する第2の工程と
を有するデータ処理方法。
A data processing method which is defined corresponding to a two-dimensional region of an image forming a moving image and determines motion vectors of a plurality of first blocks forming the image,
Based on the correlation between the pixel data belonging to the second block detected for each of the plurality of second blocks constituting the first block and the pixel data around the second block in the two-dimensional area. A first step of determining a size of a third block corresponding to the first block;
A second step of determining a motion vector of the first block in units of the third block having the size determined in the first step.
動画像を構成する画像を符号化する符号化方法であって、
前記画像が当該画像の2次元領域に対応して規定される複数の第1のブロックで構成される場合に、前記第1のブロックを構成する複数の第2のブロックのそれぞれについて検出された前記第2のブロックに属する画素データと前記2次元領域における当該第2のブロックの周囲の画素データとの相関を基に、前記第1のブロックに対応する第3のブロックのサイズを決定する第1の工程と、
前記第1の工程で決定したサイズの前記第3のブロックを単位として前記第1のブロックの動きベクトルを決定する第2の工程と、
前記第2の工程で決定した前記動きベクトルを基に予測画像を生成する第3の工程と、
前記第3の工程で生成した前記予測画像と原画像の差分を符号化する第4の工程と
を有する符号化方法。
An encoding method for encoding an image constituting a moving image,
When the image is composed of a plurality of first blocks defined corresponding to a two-dimensional region of the image, the plurality of first blocks are detected for each of a plurality of second blocks constituting the first block. A first block for determining a size of a third block corresponding to the first block based on a correlation between pixel data belonging to a second block and pixel data around the second block in the two-dimensional area; Process and
A second step of determining a motion vector of the first block in units of the third block having the size determined in the first step;
A third step of generating a predicted image based on the motion vector determined in the second step;
A fourth step of encoding a difference between the predicted image generated in the third step and the original image.
JP2003111436A 2003-04-16 2003-04-16 Data processor, encoder and their methods Pending JP2004320437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003111436A JP2004320437A (en) 2003-04-16 2003-04-16 Data processor, encoder and their methods

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003111436A JP2004320437A (en) 2003-04-16 2003-04-16 Data processor, encoder and their methods

Publications (1)

Publication Number Publication Date
JP2004320437A true JP2004320437A (en) 2004-11-11

Family

ID=33471987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003111436A Pending JP2004320437A (en) 2003-04-16 2003-04-16 Data processor, encoder and their methods

Country Status (1)

Country Link
JP (1) JP2004320437A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112113A1 (en) * 2005-03-31 2006-10-26 Sanyo Electric Co., Ltd Image coding method and apparatus, and image decoding method
KR100739790B1 (en) * 2006-02-02 2007-07-13 삼성전자주식회사 Method and apparatus for deciding intra prediction mode
KR100842558B1 (en) 2007-01-26 2008-07-01 삼성전자주식회사 Determining method of block mode, and the apparatus therefor video encoding
JP2010233263A (en) * 2010-07-12 2010-10-14 Sony Corp Device and method of image processing, program and recording medium
US8432964B2 (en) 2006-07-14 2013-04-30 Sony Corporation Image processing device, method, and program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006112113A1 (en) * 2005-03-31 2006-10-26 Sanyo Electric Co., Ltd Image coding method and apparatus, and image decoding method
KR100739790B1 (en) * 2006-02-02 2007-07-13 삼성전자주식회사 Method and apparatus for deciding intra prediction mode
US8432964B2 (en) 2006-07-14 2013-04-30 Sony Corporation Image processing device, method, and program
US9077968B2 (en) 2006-07-14 2015-07-07 Sony Corporation Image processing apparatus and method, and program
KR100842558B1 (en) 2007-01-26 2008-07-01 삼성전자주식회사 Determining method of block mode, and the apparatus therefor video encoding
JP2010233263A (en) * 2010-07-12 2010-10-14 Sony Corp Device and method of image processing, program and recording medium

Similar Documents

Publication Publication Date Title
JP4625411B2 (en) Image data encoding method and computer readable medium having recorded program therefor
JP2022033108A (en) Method of encoding division block in video encoding, method of decoding division block in video decoding, and recording medium for implementing the same
AU2006338425B2 (en) Moving image encoding/decoding method and device and program
JP5269593B2 (en) Encoding device, encoding method, decoding device, decoding method, and program thereof
JP4991699B2 (en) Scalable encoding and decoding methods for video signals
KR100739714B1 (en) Method and apparatus for intra prediction mode decision
JP2004304724A (en) Image processing apparatus, its method and encoder
WO2005120077A1 (en) Image processing device, program thereof, and method thereof
KR101483750B1 (en) Method and apparatus for image encoding, and method and apparatus for image decoding
JP2006005438A (en) Image processor and method thereof
KR20110071231A (en) Encoding method, decoding method and apparatus thereof
KR20050061762A (en) Method of encoding mode determination and motion estimation, and encoding apparatus
WO2007091601A1 (en) Encoding device, encoding method, and program
JP2004140473A (en) Image information coding apparatus, decoding apparatus and method for coding image information, method for decoding
KR101137051B1 (en) Data processor and data processing method
JP4470431B2 (en) Data processing apparatus and method
JP4289126B2 (en) Data processing apparatus and method and encoding apparatus
JP4360093B2 (en) Image processing apparatus and encoding apparatus and methods thereof
WO2007020977A1 (en) Encoding apparatus, encoding method, decoding apparatus, decoding method, and program
KR100571920B1 (en) Video encoding method for providing motion compensation method based on mesh structure using motion model and video encoding apparatus therefor
JP4561508B2 (en) Image processing apparatus, image processing method and program thereof
JP2005223631A (en) Data processor and processing method, encoder and decoder
JP2004320437A (en) Data processor, encoder and their methods
JP4349109B2 (en) Image data processing apparatus, method thereof, and encoding apparatus
JP4719854B2 (en) Moving picture encoding apparatus, moving picture encoding program, moving picture decoding apparatus, and moving picture decoding program