JP2005176259A - データ処理装置およびその方法と符号化装置 - Google Patents
データ処理装置およびその方法と符号化装置 Download PDFInfo
- Publication number
- JP2005176259A JP2005176259A JP2003417097A JP2003417097A JP2005176259A JP 2005176259 A JP2005176259 A JP 2005176259A JP 2003417097 A JP2003417097 A JP 2003417097A JP 2003417097 A JP2003417097 A JP 2003417097A JP 2005176259 A JP2005176259 A JP 2005176259A
- Authority
- JP
- Japan
- Prior art keywords
- motion compensation
- block
- data
- circuit
- processing
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】 動き補償デ−タを効率的に記憶でき、メモリを小規模化できるデータ処理装置を提供する。
【解決手段】 MB_P選択回路61が、処理対象となるマクロブロックペアpを選択する。MB_P選択回路61が選択したマクロブロックペアpに対して、隣接するマクロブロックペアa,b,c,dの動き補償データMCDをメモリ62から読み出す。制御回路63は、マクロブロックペアb,c,dより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データMCDが記憶されているメモリ62のアドレスに、マクロブロックペアpの動き補償データMCDを書き込む。
【選択図】 図8
【解決手段】 MB_P選択回路61が、処理対象となるマクロブロックペアpを選択する。MB_P選択回路61が選択したマクロブロックペアpに対して、隣接するマクロブロックペアa,b,c,dの動き補償データMCDをメモリ62から読み出す。制御回路63は、マクロブロックペアb,c,dより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データMCDが記憶されているメモリ62のアドレスに、マクロブロックペアpの動き補償データMCDを書き込む。
【選択図】 図8
Description
本発明は、動画像データの動き補償を行うデータ処理装置およびその方法と符号化装置に関する。
近年、画像データをデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
MPEG方式に続いて、さらなる高圧縮率を実現するJVT(Joint Video Team)と呼ばれる符号化方式が提案されている。
JVT方式の符号化装置は、MPEGの符号化装置と同様に、動き補償処理に行って、各マクロブロックMB毎に、動き補償データMCDを生成する。
当該動き補償データMCDは、例えば、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを示す予測モード情報、インター予測モードを選択した場合に参照した参照画像データREFの識別情報、動きベクトルMVなどを示している。
ところで、上記符号化装置では、各マクロブロックMBの動き補償処理を行う際に、当該マクロブロックMBに隣接する他のマクロブロックMBの動き補償データMCDを利用する。
そのため、上記符号化装置は、例えば、1ピクチャを構成する全てのマクロブロックMBの動き補償データMCDをメモリ内の異なるアドレスに記憶する。
JVT方式の符号化装置は、MPEGの符号化装置と同様に、動き補償処理に行って、各マクロブロックMB毎に、動き補償データMCDを生成する。
当該動き補償データMCDは、例えば、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを示す予測モード情報、インター予測モードを選択した場合に参照した参照画像データREFの識別情報、動きベクトルMVなどを示している。
ところで、上記符号化装置では、各マクロブロックMBの動き補償処理を行う際に、当該マクロブロックMBに隣接する他のマクロブロックMBの動き補償データMCDを利用する。
そのため、上記符号化装置は、例えば、1ピクチャを構成する全てのマクロブロックMBの動き補償データMCDをメモリ内の異なるアドレスに記憶する。
しかしながら、上述した従来の符号化装置は、各ピクチャを構成する全てのマクロブロックMBの動き補償データMCDをメモリ内の異なるアドレスに記憶するため、大容量のメモリが必要になるという問題がある。
本発明は上述した従来技術に鑑みてなされ、動き補償デ−タを効率的に記憶でき、メモリを小規模化できるデータ処理装置、その方法およびその符号化装置を提供することを目的とする。
上述した従来技術の問題点を解決するために、第1の発明のデータ処理装置は、被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理装置であって、前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する選択回路と、前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、前記選択回路が選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って動き補償デ−タを生成し、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路とを有する。
第1の発明のデータ処理装置の作用は以下のようになる。
選択回路が、複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する。
次に、動き補償回路が、前記選択回路が選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを記憶回路から読み出す。
そして、動き補償回路が、当該読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って動き補償デ−タを生成する。
そして、動き補償回路が、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む。
選択回路が、複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する。
次に、動き補償回路が、前記選択回路が選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを記憶回路から読み出す。
そして、動き補償回路が、当該読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って動き補償デ−タを生成する。
そして、動き補償回路が、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む。
第2の発明の符号化装置は、被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成するデータ処理回路と、前記被符号化画像データと、前記データ処理回路が生成した前記予測画像データとの差分を符号化する符号化回路とを有する符号化装置であって、前記データ処理回路は、前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する選択回路と、前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、前記選択回路が選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って前記動きベクトルおよび前記予測画像データ並びに動き補償デ−タを生成し、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路とを有する。
第2の発明の符号化装置の作用は以下のようになる。
先ず、データ処理回路が、被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成する。
そして、符号化回路が、前記被符号化画像データと、前記動き補償回路が生成した前記予測画像データとの差分を符号化する。
ここで、データ処理回路は、第1の発明のデータ処理装置と同様の作用を有する。
先ず、データ処理回路が、被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成する。
そして、符号化回路が、前記被符号化画像データと、前記動き補償回路が生成した前記予測画像データとの差分を符号化する。
ここで、データ処理回路は、第1の発明のデータ処理装置と同様の作用を有する。
第3の発明のデータ処理方法は、被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理方法であって、前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する第1の工程と、前記第1の工程で選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを記憶回路から読み出す第2の工程と、前記第2の工程で読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って動き補償デ−タを生成する第3の工程と、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記第3の工程で生成した動き補償デ−タを書き込む第4の工程とを有する。
本発明によれば、動き補償デ−タを効率的に記憶でき、記憶回路を小規模化できるデータ処理装置、その方法およびその符号化装置を提供することができる。
以下、本発明の実施形態に係わるJVT方式の符号化装置について説明する。
以下、図1〜図15を参照して本発明の実施形態を説明する。
先ず、本実施形態の構成要素と本発明の構成要素との対応関係を説明する。
図2および図8に示す動き予測・補償回路39が、第1の発明のデータ処理装置、並びに第2の発明のデータ処理回路に対応している。
また、図2に示す符号化装置2が、第2の発明の符号化装置に対応している。
また、図8に示すMB_P選択回路61が第1および第2の発明の選択回路に対応し、メモリ62が第1および第2の発明の記憶回路に対応している。
また、制御回路63およびMC処理回路64が、第1および第2の発明の動き補償回路に対応している。
また、図2等に示すフレームデータS23が、本発明の被符号化画像データに対応している。
また、本実施形態のマクロブロックペアが、本発明のブロックに対応している。
ここで、図4等に示すマクロブロックペアpが本発明の第1のブロックに対応し、マクロブロックペアbが本発明の第2のブロックに対応し、マクロブロックペアaが本発明の第3のブロックに対応し、マクロブロックペアc,dが本発明の第4のブロックに対応している。
また、本実施形態の動き補償データMCDが本発明の動き補償データに対応している。
以下、図1〜図15を参照して本発明の実施形態を説明する。
先ず、本実施形態の構成要素と本発明の構成要素との対応関係を説明する。
図2および図8に示す動き予測・補償回路39が、第1の発明のデータ処理装置、並びに第2の発明のデータ処理回路に対応している。
また、図2に示す符号化装置2が、第2の発明の符号化装置に対応している。
また、図8に示すMB_P選択回路61が第1および第2の発明の選択回路に対応し、メモリ62が第1および第2の発明の記憶回路に対応している。
また、制御回路63およびMC処理回路64が、第1および第2の発明の動き補償回路に対応している。
また、図2等に示すフレームデータS23が、本発明の被符号化画像データに対応している。
また、本実施形態のマクロブロックペアが、本発明のブロックに対応している。
ここで、図4等に示すマクロブロックペアpが本発明の第1のブロックに対応し、マクロブロックペアbが本発明の第2のブロックに対応し、マクロブロックペアaが本発明の第3のブロックに対応し、マクロブロックペアc,dが本発明の第4のブロックに対応している。
また、本実施形態の動き補償データMCDが本発明の動き補償データに対応している。
次に、本発明の特徴に対応した図8に示す動き予測・補償回路39の概要を説明する。
図8に示すMB_P選択回路61が、図3に示す複数のブロックペアMB_Pの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置のマクロブロックペアMB_Pを処理対象のマクロブロックペアpとして選択する。
制御回路63は、MB_P選択回路61が選択したマクロブロックペアpに対して、図4に示すように隣接するマクロブロックペアa,b,c,dの動き補償データMCDをメモリ62から読み出す。
MC処理回路64は、制御回路63が読み出した動き補償データMCDを用いて、マクロブロックペアpの動き補償処理を行って、マクロブロックペアpの動き補償データMCDを生成する。
制御回路63は、マクロブロックペアb,c,dより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データMCDが記憶されているメモリ62のアドレスに、上記生成したマクロブロックペアpの動き補償データMCDを書き込む。すなわち、制御回路63は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
図8に示すMB_P選択回路61が、図3に示す複数のブロックペアMB_Pの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置のマクロブロックペアMB_Pを処理対象のマクロブロックペアpとして選択する。
制御回路63は、MB_P選択回路61が選択したマクロブロックペアpに対して、図4に示すように隣接するマクロブロックペアa,b,c,dの動き補償データMCDをメモリ62から読み出す。
MC処理回路64は、制御回路63が読み出した動き補償データMCDを用いて、マクロブロックペアpの動き補償処理を行って、マクロブロックペアpの動き補償データMCDを生成する。
制御回路63は、マクロブロックペアb,c,dより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データMCDが記憶されているメモリ62のアドレスに、上記生成したマクロブロックペアpの動き補償データMCDを書き込む。すなわち、制御回路63は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
以下、第1実施形態の通信システム1について詳細に説明する。
図1は、本実施形態の通信システム1の概念図である。
図1に示すように、通信システム1は、送信側に設けられた符号化装置2と、受信側に設けられた復号装置3とを有する。
通信システム1では、送信側の符号化装置2において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ(ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルTV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
図1に示す復号装置3は符号化装置2の符号化に対応した復号を行う。
図1は、本実施形態の通信システム1の概念図である。
図1に示すように、通信システム1は、送信側に設けられた符号化装置2と、受信側に設けられた復号装置3とを有する。
通信システム1では、送信側の符号化装置2において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ(ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルTV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
図1に示す復号装置3は符号化装置2の符号化に対応した復号を行う。
以下、図1に示す符号化装置2について説明する。
図2は、図1に示す符号化装置2の全体構成図である。
図2に示すように、符号化装置2は、例えば、A/D変換回路22、画面並べ替え回路23、演算回路24、直交変換回路25、量子化回路26、可逆符号化回路27、バッファ28、逆量子化回路29、逆直交変換回路30、レート制御回路32、フレームメモリ34、デブロックフィルタ38および動き予測・補償回路39を有する。
図2は、図1に示す符号化装置2の全体構成図である。
図2に示すように、符号化装置2は、例えば、A/D変換回路22、画面並べ替え回路23、演算回路24、直交変換回路25、量子化回路26、可逆符号化回路27、バッファ28、逆量子化回路29、逆直交変換回路30、レート制御回路32、フレームメモリ34、デブロックフィルタ38および動き予測・補償回路39を有する。
以下、符号化装置2の構成要素について説明する。
A/D変換回路22は、入力されたアナログの輝度信号Y、色差信号Cb,Crから構成される原画像信号S10をデジタルのフレームデータS22に変換し、これを画面並べ替え回路23に出力する。
画面並べ替え回路23は、A/D変換回路22から入力したフレームデータS22を、そのピクチャタイプI,P,BからなるGOP(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えたフレームデータS23を演算回路24、レート制御回路32および動き予測・補償回路39に出力する。
A/D変換回路22は、入力されたアナログの輝度信号Y、色差信号Cb,Crから構成される原画像信号S10をデジタルのフレームデータS22に変換し、これを画面並べ替え回路23に出力する。
画面並べ替え回路23は、A/D変換回路22から入力したフレームデータS22を、そのピクチャタイプI,P,BからなるGOP(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えたフレームデータS23を演算回路24、レート制御回路32および動き予測・補償回路39に出力する。
演算回路24は、フレームデータS23内の処理対照の動き補償ブロックMCBと、それに対応して動き予測・補償回路39から入力した予測画像データPIの動き補償ブロックMCBとの差分を示す画像データS24を生成し、これを直交変換回路25に出力する。
直交変換回路25は、画像データS24に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ(例えばDCT係数)S25を生成し、これを量子化回路26に出力する。
量子化回路26は、レート制御回路32から入力した量子化スケールで、画像データS25を量子化して画像データS26を生成し、これを可逆符号化回路27および逆量子化回路29に出力する。
直交変換回路25は、画像データS24に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ(例えばDCT係数)S25を生成し、これを量子化回路26に出力する。
量子化回路26は、レート制御回路32から入力した量子化スケールで、画像データS25を量子化して画像データS26を生成し、これを可逆符号化回路27および逆量子化回路29に出力する。
可逆符号化回路27は、画像データS26を可変長符号化あるいは算術符号化した画像データをバッファ28に格納する。
このとき、可逆符号化回路27は、インター予測符号化が行われた場合には、動き予測・補償回路39から入力した動きベクトルMVを符号化してヘッダデータに格納する。
このとき、可逆符号化回路27は、インター予測符号化が行われた場合には、動き予測・補償回路39から入力した動きベクトルMVを符号化してヘッダデータに格納する。
バッファ28に格納された画像データは、変調等された後に送信される。
逆量子化回路29は、他の動き補償ブロックMCBから参照される参照画像データの動き補償ブロックMCBの画像データS26を逆量子化した信号を生成し、これをデブロックフィルタ38に出力する。
デブロックフィルタ38は、画像データS26のブロック歪みを除去した画像データを、逆直交変換回路30に出力する。
逆直交変換回路30は、デブロックフィルタ38から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成した画像データS30をフレームメモリ34に書き込む。
レート制御回路32は、例えば、画面並べ替え回路23から入力したフレームデータS23を基に、画像中の複雑度が高い部分は細かく量子化し、画像中の複雑度が低い部分は粗く量子化するように量子化パラメータQPを生成する。
そして、レート制御回路32は、上記生成した量子化パラメータQP、並びに画面並べ替え回路23から読み出した画像データを基に量子化スケールを生成し、これを量子化回路26に出力する。
逆量子化回路29は、他の動き補償ブロックMCBから参照される参照画像データの動き補償ブロックMCBの画像データS26を逆量子化した信号を生成し、これをデブロックフィルタ38に出力する。
デブロックフィルタ38は、画像データS26のブロック歪みを除去した画像データを、逆直交変換回路30に出力する。
逆直交変換回路30は、デブロックフィルタ38から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成した画像データS30をフレームメモリ34に書き込む。
レート制御回路32は、例えば、画面並べ替え回路23から入力したフレームデータS23を基に、画像中の複雑度が高い部分は細かく量子化し、画像中の複雑度が低い部分は粗く量子化するように量子化パラメータQPを生成する。
そして、レート制御回路32は、上記生成した量子化パラメータQP、並びに画面並べ替え回路23から読み出した画像データを基に量子化スケールを生成し、これを量子化回路26に出力する。
動き予測・補償回路39は、フレームデータS23と参照画像データREFとを基に、マクロブロックMBを単位として動き補償処理を行う。
具体的には、動き予測・補償回路39は、図3に示すように、フレームデータS23による2次元画像であるピクチャPICを構成しマトリクス状に位置する複数のブロック画像をそれぞれ規定する複数のマクロブロックペアMB_Pのうち、複数のブロックペアMB_Pの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置のマクロブロックペアMB_Pを処理対象のマクロブロックペアpとして選択する。
すなわち、動き予測・補償回路39は、ラスタスキャンにより、マクロブロックペアpを選択する。
また、動き予測・補償回路39は、処理対象のマクロブロックpを構成しマトリクス状に位置する複数の動き補償ブロックMCBを図3に示す選択パターンで選択して動き補償処理を行う。
本実施形態では、動き予測・補償回路39が、個々のマクロブロックMBを単位として、マクロブロックMBを構成する動き補償ブロックMCBのサイズおよび数を決定する。
以下の実施形態では、マクロブロックMBが、16個の動き補償ブロックMCBによって構成される場合を例示するが、本発明は、16個以外の動き補償ブロックMCBによってマクロブロックMBが構成されてもよい。
具体的には、動き予測・補償回路39は、図3に示すように、フレームデータS23による2次元画像であるピクチャPICを構成しマトリクス状に位置する複数のブロック画像をそれぞれ規定する複数のマクロブロックペアMB_Pのうち、複数のブロックペアMB_Pの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置のマクロブロックペアMB_Pを処理対象のマクロブロックペアpとして選択する。
すなわち、動き予測・補償回路39は、ラスタスキャンにより、マクロブロックペアpを選択する。
また、動き予測・補償回路39は、処理対象のマクロブロックpを構成しマトリクス状に位置する複数の動き補償ブロックMCBを図3に示す選択パターンで選択して動き補償処理を行う。
本実施形態では、動き予測・補償回路39が、個々のマクロブロックMBを単位として、マクロブロックMBを構成する動き補償ブロックMCBのサイズおよび数を決定する。
以下の実施形態では、マクロブロックMBが、16個の動き補償ブロックMCBによって構成される場合を例示するが、本発明は、16個以外の動き補償ブロックMCBによってマクロブロックMBが構成されてもよい。
動き予測・補償回路39は、図4に示すように、マクロブロックペアに属する動き補償ブロックMCBの動き補償処理において、マクロブロックペアpに隣接したマクロブロックペアa,b,c,dの一部の動き補償ブロックMCBの動き補償データMCDを用いる。
ここで、マクロブロックペアaは、マクロブロックペアpに対して列方向で隣接している。
また、マクロブロックペアbは、マクロブロックペアpに対して行方向で隣接している。マクロブロックペアc,dは、マクロブロックペアbに対して列方向で隣接している。
動き予測・補償回路39は、図5に示すように、マクロブロックペアaを構成するマクロブロックA,A’内のマクロブロックペアpに隣接する8個の動き補償ブロックMCBの動き補償データMCDを用いて(参照して)、マクロブロックペアpに属する動き補償ブロックMCBの動き補償処理を行う。
本実施形態の動き補償データMCDは、当該動き補償ブロックMCBをイントラ予測モードおよびインター予測モードの何れを選択して符号化するかを示す予測モード情報、インター予測モードを選択した場合に参照した参照画像データREFの識別情報、動きベクトルMVなどを示している。
なお、動き予測・補償回路39は、マクロブロックタイプや量子化パラメータなどにつては、マクロブロックMBを単位として一つ決定する。
ここで、マクロブロックペアaは、マクロブロックペアpに対して列方向で隣接している。
また、マクロブロックペアbは、マクロブロックペアpに対して行方向で隣接している。マクロブロックペアc,dは、マクロブロックペアbに対して列方向で隣接している。
動き予測・補償回路39は、図5に示すように、マクロブロックペアaを構成するマクロブロックA,A’内のマクロブロックペアpに隣接する8個の動き補償ブロックMCBの動き補償データMCDを用いて(参照して)、マクロブロックペアpに属する動き補償ブロックMCBの動き補償処理を行う。
本実施形態の動き補償データMCDは、当該動き補償ブロックMCBをイントラ予測モードおよびインター予測モードの何れを選択して符号化するかを示す予測モード情報、インター予測モードを選択した場合に参照した参照画像データREFの識別情報、動きベクトルMVなどを示している。
なお、動き予測・補償回路39は、マクロブロックタイプや量子化パラメータなどにつては、マクロブロックMBを単位として一つ決定する。
また、動き予測・補償回路39は、図5に示すように、マクロブロックペアb,c,dを構成するマクロブロックB,B’,C,C’,D,D’内の動き補償処理順が後の行に属するマクロブロックMBに隣接する動き補償ブロックMCBの動き補償データMCDをさらに用いて、マクロブロックペアpに属する動き補償ブロックMCBの動き補償処理を行う。
このように、本実施形態では、各マクロブロックMBを構成する16個の動き補償ブロックMCBのうち、図6(A)に示す4個の動き補償ブロックMCB、並びに図6(B)に示す4個の動き補償ブロックMCBの動き補償データMCDが、他のマクロブロックMBの動き補償デ−タを生成するために用いられる。
このとき、マクロブロックMB内の4列4行目の動き補償ブロックMCBの動き補償データMCDを、メモリ62の記憶領域STA,STBの何れか一方のみに記憶させ、各マクロブロックMBについて合計7個の動き補償ブロックMCBの動き補償データMCDをメモリ62に記憶する。
このように、本実施形態では、各マクロブロックMBを構成する16個の動き補償ブロックMCBのうち、図6(A)に示す4個の動き補償ブロックMCB、並びに図6(B)に示す4個の動き補償ブロックMCBの動き補償データMCDが、他のマクロブロックMBの動き補償デ−タを生成するために用いられる。
このとき、マクロブロックMB内の4列4行目の動き補償ブロックMCBの動き補償データMCDを、メモリ62の記憶領域STA,STBの何れか一方のみに記憶させ、各マクロブロックMBについて合計7個の動き補償ブロックMCBの動き補償データMCDをメモリ62に記憶する。
動き予測・補償回路39は、処理対象のマクロブロックペアpを構成する32(=16×2)の動き補償ブロックMCBの動き補償データMCDを算出し、そのうち14(=7×2)個の動き補償ブロックMCBの動き補償データMCDを保存する。
動き予測・補償回路39は、図7に示すように、フレームデータS23内の処理対象のマクロブロックMBの各動き補償ブロックMCBについて、当該動き補償ブロックMCBとの差異が最も小さい動き補償ブロックMCBの位置を参照画像データREFの探索範囲SR内で特定し、これらの位置関係に対応した動きベクトルMVを算出する。
また、動き予測・補償回路39は、上記生成した動きベクトルMVを基に、予測画像データPIを生成する。
動き予測・補償回路39は、上記選択した動きベクトルMVを可逆符号化回路27に出力し、上記生成した予測画像データPIを演算回路24に出力する。
また、動き予測・補償回路39は、上記生成した動きベクトルMVを基に、予測画像データPIを生成する。
動き予測・補償回路39は、上記選択した動きベクトルMVを可逆符号化回路27に出力し、上記生成した予測画像データPIを演算回路24に出力する。
図8は、図2に示す動き予測・補償回路39の構成を説明するための図である。
図8に示すように、動き予測・補償回路39は、例えば、MB_P選択回路61、メモリ62、制御回路63、MC処理回路64およびPI生成回路65を有する。
図8に示すように、動き予測・補償回路39は、例えば、MB_P選択回路61、メモリ62、制御回路63、MC処理回路64およびPI生成回路65を有する。
MB_P選択回路61は、図3に示すマクロブロックペアMB_Pのうち同じ行に属する複数のマクロブロックペアMB_Pを列方向に順に選択し、上記行を行方向に順に選択することで、複数のマクロブロックペアMB_Pのなかから処理対象となるマクロブロックペアpを選択する。
MB_P選択回路61は、上記選択したマクロブロックペアpを示す選択データSDを制御回路63およびMC処理回路64に出力する。
MB_P選択回路61は、上記選択したマクロブロックペアpを示す選択データSDを制御回路63およびMC処理回路64に出力する。
メモリ62は、動き補償データMCDを記憶し、その読み書きが制御回路63によって制御される。
メモリ62は、図9(A)に示すように、前述した図3に示すピクチャPICの列方向のマクロブロックMBの数Nに2を加算した加算値(N+2)に4(列)を乗じた乗算値である((N+2)×4)個分のマクロブロックMBに属する図6(A)に示す4個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STAを有する。
記憶領域STAは、列方向のアドレスA_Xと、行方向のアドレスA_Yとによって、各マクロブロックMBの動き補償データMCDを記憶するアドレス(A_X,A_Y)が規定されている。
ここで、A_Xは「(−1)〜(N+1)」を示し、アドレスA_Yは「0〜3」を示す。
記憶領域STAの各アドレス(A_X,A_Y)には、マクロブロックMBの図6(A)に示す4個の動き補償ブロックMCBの動き補償データMCDが格納される。
メモリ62は、図9(A)に示すように、前述した図3に示すピクチャPICの列方向のマクロブロックMBの数Nに2を加算した加算値(N+2)に4(列)を乗じた乗算値である((N+2)×4)個分のマクロブロックMBに属する図6(A)に示す4個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STAを有する。
記憶領域STAは、列方向のアドレスA_Xと、行方向のアドレスA_Yとによって、各マクロブロックMBの動き補償データMCDを記憶するアドレス(A_X,A_Y)が規定されている。
ここで、A_Xは「(−1)〜(N+1)」を示し、アドレスA_Yは「0〜3」を示す。
記憶領域STAの各アドレス(A_X,A_Y)には、マクロブロックMBの図6(A)に示す4個の動き補償ブロックMCBの動き補償データMCDが格納される。
また、メモリ62は、図9(B)に示すように、2(列)×2(行)の4個分のマクロブロックMBに属する図6(B)に示す4個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STBを有する。
記憶領域STBは、列方向のアドレスB_Xと、行方向のアドレスB_Yとによって、各マクロブロックMBの動き補償データMCDを記憶するアドレス(B_X,B_Y)が規定されている。
ここで、B_Xは0または1を示し、B_Yを0または1を示す。
記憶領域STBの各アドレス(B_X,B_Y)には、マクロブロックMBの図6(B)に示す4個の動き補償ブロックMCBの動き補償データMCDが格納される。
記憶領域STBは、列方向のアドレスB_Xと、行方向のアドレスB_Yとによって、各マクロブロックMBの動き補償データMCDを記憶するアドレス(B_X,B_Y)が規定されている。
ここで、B_Xは0または1を示し、B_Yを0または1を示す。
記憶領域STBの各アドレス(B_X,B_Y)には、マクロブロックMBの図6(B)に示す4個の動き補償ブロックMCBの動き補償データMCDが格納される。
このように、動き予測・補償回路39のメモリ62は、((N+2)×4)個分のマクロブロックMBの記憶領域STAと、2(列)×2(行)の4個分のマクロブロックMBの動き補償データMCDを記憶する記憶領域STBとを備え、従来に比べて小さいな記憶容量のメモリを使用できる。
制御回路63は、MB_P選択回路61からの選択データSDを基に、MB_P選択回路61が選択したマクロブロックペアpより選択順が前で当該マクロブロックペアpに対して図4および図5に示す位置関係にあるマクロブロックペアa,b,c,dの動き補償データMCDをメモリ62から読み出してMC処理回路64に出力する。
制御回路63は、MC処理回路64が生成したマクロブロックペアpの動き補償データMCDをメモリ62に書き込む。
制御回路63の動作例については後に詳細に説明する。
制御回路63は、MC処理回路64が生成したマクロブロックペアpの動き補償データMCDをメモリ62に書き込む。
制御回路63の動作例については後に詳細に説明する。
MC処理回路64は、制御回路63から入力した動き補償データMCDを用いて動き補償処理を行い、マクロブロックペアpの動き補償データMCDを生成し、これを制御回路63に出力する。
MC処理回路64は、制御回路63から上記入力した動き補償データMCDを用いて、マクロブロックペアp内の各動き補償ブロックMCBについて、動き補償処理を行って動き補償データMCDを生成する。
具体的には、MC処理回路64は、処理対象の動き補償ブロックMCBについて、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを決定し、当該決定した符号化を示す予測モード情報を生成する。
また、MC処理回路64は、インター予測モードを選択した場合に、フレームデータS23内の処理対象の動き補償ブロックMCBとの画素データ間の差分の総和を最小にする動き補償ブロックMCBを参照画像データREF内の所定の探索範囲内で探索し、当該探索した動き補償ブロックMCBの位置を基に動きベクトルMVを生成する。
また、MC処理回路64は、上記探索に用いた参照画像データREFの識別情報を生成する。
そして、MC処理回路64は、上記生成した符号化情報、動きベクトルMV、並びに参照画像データREFの識別情報を示す動き補償データMCDを制御回路63に出力する。
MC処理回路64は、上記生成した動きベクトルMVをPI生成回路65に出力する。
PI生成回路65は、上記動きベクトルMVと参照画像データREFとを基に予測画像データPIを生成し、これを演算回路24に出力する。
また、PI生成回路65は、MC処理回路64から入力した動きベクトルMVを図2に示す可逆符号化回路27に出力する。
MC処理回路64は、制御回路63から上記入力した動き補償データMCDを用いて、マクロブロックペアp内の各動き補償ブロックMCBについて、動き補償処理を行って動き補償データMCDを生成する。
具体的には、MC処理回路64は、処理対象の動き補償ブロックMCBについて、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを決定し、当該決定した符号化を示す予測モード情報を生成する。
また、MC処理回路64は、インター予測モードを選択した場合に、フレームデータS23内の処理対象の動き補償ブロックMCBとの画素データ間の差分の総和を最小にする動き補償ブロックMCBを参照画像データREF内の所定の探索範囲内で探索し、当該探索した動き補償ブロックMCBの位置を基に動きベクトルMVを生成する。
また、MC処理回路64は、上記探索に用いた参照画像データREFの識別情報を生成する。
そして、MC処理回路64は、上記生成した符号化情報、動きベクトルMV、並びに参照画像データREFの識別情報を示す動き補償データMCDを制御回路63に出力する。
MC処理回路64は、上記生成した動きベクトルMVをPI生成回路65に出力する。
PI生成回路65は、上記動きベクトルMVと参照画像データREFとを基に予測画像データPIを生成し、これを演算回路24に出力する。
また、PI生成回路65は、MC処理回路64から入力した動きベクトルMVを図2に示す可逆符号化回路27に出力する。
以下、制御回路63の動作例について詳細に説明する。
ここで、MB_P選択回路61によって選択された図4に示すマクロブロックペアpのマクロブロックP’がピクチャPIC内のX列、Y行に対応する位置にある場合に、それをP’(X,Y)と表現する。
このとき、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X,(Y−1+4)&3)および(X,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックB,B’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。なお、本実施形態では、「&」はバイナリによる論理積を意味する。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X−1,(Y−1+4)&3)および(X−1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックD,D’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X+1,(Y−1+4)&3)および(X+1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックC,C’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STB内のアドレス((X−1+2)&1,Y&1)および((X−1+2)&1,(Y+1)&1)から、図4および図5に示すそれぞれマクロブロックA,A’の図6(B)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
ここで、MB_P選択回路61によって選択された図4に示すマクロブロックペアpのマクロブロックP’がピクチャPIC内のX列、Y行に対応する位置にある場合に、それをP’(X,Y)と表現する。
このとき、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X,(Y−1+4)&3)および(X,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックB,B’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。なお、本実施形態では、「&」はバイナリによる論理積を意味する。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X−1,(Y−1+4)&3)および(X−1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックD,D’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X+1,(Y−1+4)&3)および(X+1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックC,C’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STB内のアドレス((X−1+2)&1,Y&1)および((X−1+2)&1,(Y+1)&1)から、図4および図5に示すそれぞれマクロブロックA,A’の図6(B)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、マクロブロックP’(X,Y)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(X,Y&3)に書き込む。
また、制御回路63は、マクロブロックMB(X,Y)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(X&1,Y&1)に書き込む。
また、制御回路63は、マクロブロックMB(X,Y)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(X&1,Y&1)に書き込む。
このように、制御回路63は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
そのため、メモリ62は、図9に示すように、((N+2)×4)個分のマクロブロックMBの記憶領域STAと、2(列)×2(行)の4個分のマクロブロックMBの動き補償データMCDを記憶する記憶領域STBとを備えていればよく、メモリ62として従来に比べて小さいな記憶容量のメモリを使用できる。
そのため、メモリ62は、図9に示すように、((N+2)×4)個分のマクロブロックMBの記憶領域STAと、2(列)×2(行)の4個分のマクロブロックMBの動き補償データMCDを記憶する記憶領域STBとを備えていればよく、メモリ62として従来に比べて小さいな記憶容量のメモリを使用できる。
図9は、選択されたマクロブロックペアpのマクロブロックP’(2,0)についての制御回路63の動作例を説明するための図である。
例えば、P’(2,0)の場合は、制御回路63は、図9(A)に示すように、記憶領域STAのアドレス(2,3),(2,2),(3,3),(3,2),(1,3),(1,2)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図9(B)に示すように、記憶領域STBのアドレス(1,0),(1,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
例えば、P’(2,0)の場合は、制御回路63は、図9(A)に示すように、記憶領域STAのアドレス(2,3),(2,2),(3,3),(3,2),(1,3),(1,2)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図9(B)に示すように、記憶領域STBのアドレス(1,0),(1,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、マクロブロックP’(2,0)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,0)に書き込む。また、マクロブロックP’(2,0)とペアのマクロブロックP(2,1)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,1)に書き込む。
また、制御回路63は、マクロブロックP’(2,0)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,0)に書き込む。また、マクロブロックP(2,1)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,1)に書き込む。
また、制御回路63は、マクロブロックP’(2,0)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,0)に書き込む。また、マクロブロックP(2,1)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,1)に書き込む。
図10は、選択されたマクロブロックペアpのマクロブロックP’(2,1)についての制御回路63の動作例を説明するための図である。
例えば、P’(2,1)の場合は、制御回路63は、図10(A)に示すように、記憶領域STAのアドレス(2,0),(2,3),(3,0),(3,3),(1,0),(1,3)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図9(B)に示すように、記憶領域STBのアドレス(0,0),(0,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
例えば、P’(2,1)の場合は、制御回路63は、図10(A)に示すように、記憶領域STAのアドレス(2,0),(2,3),(3,0),(3,3),(1,0),(1,3)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図9(B)に示すように、記憶領域STBのアドレス(0,0),(0,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、マクロブロックP’(2,1)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,1)に書き込む。また、マクロブロックP’(2,1)とペアのマクロブロックP(2,2)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,2)に書き込む。
また、制御回路63は、マクロブロックP’(2,1)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,0)に書き込む。また、マクロブロックP(2,2)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,1)に書き込む。
また、制御回路63は、マクロブロックP’(2,1)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,0)に書き込む。また、マクロブロックP(2,2)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,1)に書き込む。
図11は、選択されたマクロブロックペアpのマクロブロックP’(2,2)についての制御回路63の動作例を説明するための図である。
例えば、P’(2,2)の場合は、制御回路63は、図11(A)に示すように、記憶領域STAのアドレス(2,1),(2,0),(3,1),(3,0),(1,1),(1,0)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図11(B)に示すように、記憶領域STBのアドレス(1,0),(1,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
例えば、P’(2,2)の場合は、制御回路63は、図11(A)に示すように、記憶領域STAのアドレス(2,1),(2,0),(3,1),(3,0),(1,1),(1,0)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図11(B)に示すように、記憶領域STBのアドレス(1,0),(1,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、マクロブロックP’(2,2)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,2)に書き込む。また、マクロブロックP’(2,2)とペアのマクロブロックP(2,3)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,3)に書き込む。
また、制御回路63は、マクロブロックP’(2,2)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,0)に書き込む。また、マクロブロックP(2,3)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,1)に書き込む。
また、制御回路63は、マクロブロックP’(2,2)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,0)に書き込む。また、マクロブロックP(2,3)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(0,1)に書き込む。
図12は、選択されたマクロブロックペアpのマクロブロックP’(2,3)についての制御回路63の動作例を説明するための図である。
例えば、P’(2,3)の場合は、制御回路63は、図12(A)に示すように、記憶領域STAのアドレス(2,2),(2,1),(3,2),(3,1),(1,2),(1,1)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図9(B)に示すように、記憶領域STBのアドレス(0,0),(0,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
例えば、P’(2,3)の場合は、制御回路63は、図12(A)に示すように、記憶領域STAのアドレス(2,2),(2,1),(3,2),(3,1),(1,2),(1,1)から、マクロブロックペアb,c,dのマクロブロックB,B’,C,C’,D,D’の図6(A)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、図9(B)に示すように、記憶領域STBのアドレス(0,0),(0,1)から、マクロブロックペアaのマクロブロックA,A’の図6(B)に示す動き補償ブロックMCBの動き補償データMCDをそれぞれ読み出す。
また、制御回路63は、マクロブロックP’(2,3)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,3)に書き込む。また、マクロブロックP’(2,3)とペアのマクロブロックP(2,0)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(2,3)に書き込む。
また、制御回路63は、マクロブロックP’(2,3)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,0)に書き込む。また、マクロブロックP(2,3)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,1)に書き込む。
また、制御回路63は、マクロブロックP’(2,3)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,0)に書き込む。また、マクロブロックP(2,3)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(1,1)に書き込む。
以下、図8に示す動き予測・補償回路39の動作例を説明する。
図13は、図8に示す動き予測・補償回路39の動作例を説明するためのフローチャートである。
ステップST1:
図8に示すMB_P選択回路61は、図3に示すマクロブロックペアMB_Pのうち同じ行に属する複数のマクロブロックペアMB_Pを列方向に順に選択し、上記行を行方向に順に選択することで、複数のマクロブロックペアMB_Pのなかから処理対象となるマクロブロックペアpを選択する。
MB_P選択回路61は、上記選択したマクロブロックペアpを示す選択データSDを制御回路63およびMC処理回路64に出力する。
図13は、図8に示す動き予測・補償回路39の動作例を説明するためのフローチャートである。
ステップST1:
図8に示すMB_P選択回路61は、図3に示すマクロブロックペアMB_Pのうち同じ行に属する複数のマクロブロックペアMB_Pを列方向に順に選択し、上記行を行方向に順に選択することで、複数のマクロブロックペアMB_Pのなかから処理対象となるマクロブロックペアpを選択する。
MB_P選択回路61は、上記選択したマクロブロックペアpを示す選択データSDを制御回路63およびMC処理回路64に出力する。
ステップST2:
制御回路63は、メモリ62内の記憶領域STA内のアドレス(X,(Y−1+4)&3)および(X,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックB,B’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X−1,(Y−1+4)&3)および(X−1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックD,D’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X+1,(Y−1+4)&3)および(X+1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックC,C’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STB内のアドレス((X−1+2)&1,Y&1)および((X−1+2)&1,(Y+1)&1)から、図4および図5に示すそれぞれマクロブロックA,A’の図6(B)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
制御回路63は、メモリ62内の記憶領域STA内のアドレス(X,(Y−1+4)&3)および(X,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックB,B’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X−1,(Y−1+4)&3)および(X−1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックD,D’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STA内のアドレス(X+1,(Y−1+4)&3)および(X+1,(Y−2+4)&3)から、図4および図5に示すそれぞれマクロブロックC,C’の図6(A)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
また、制御回路63は、メモリ62内の記憶領域STB内のアドレス((X−1+2)&1,Y&1)および((X−1+2)&1,(Y+1)&1)から、図4および図5に示すそれぞれマクロブロックA,A’の図6(B)に示す4つの動き補償ブロックMCBの動き補償データMCDを読み出す。
ステップST3:
MC処理回路64は、制御回路63から上記入力した動き補償データMCDを用いて、マクロブロックペアp内の各動き補償ブロックMCBについて、動き補償処理を行って動き補償データMCDを生成する。
具体的には、MC処理回路64は、処理対象の動き補償ブロックMCBについて、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを決定し、当該決定した符号化を示す予測モード情報を生成する。
MC処理回路64は、制御回路63から上記入力した動き補償データMCDを用いて、マクロブロックペアp内の各動き補償ブロックMCBについて、動き補償処理を行って動き補償データMCDを生成する。
具体的には、MC処理回路64は、処理対象の動き補償ブロックMCBについて、イントラ予測モードおよびインター予測モードの何れを選択して符号化するかを決定し、当該決定した符号化を示す予測モード情報を生成する。
ステップST4:
MC処理回路64は、インター予測モードを選択した場合に、フレームデータS23内の処理対象の動き補償ブロックMCBとの画素データ間の差分の総和を最小にする動き補償ブロックMCBを参照画像データREF内の所定の探索範囲内で探索し、当該探索した動き補償ブロックMCBの位置を基に動きベクトルMVを生成する。
また、MC処理回路64は、上記探索に用いた参照画像データREFの識別情報を生成する。
そして、MC処理回路64は、上記生成した符号化情報、動きベクトルMV、並びに参照画像データREFの識別情報を示す動き補償データMCDを制御回路63に出力する。
MC処理回路64は、上記生成した動きベクトルMVをPI生成回路65に出力する。
MC処理回路64は、インター予測モードを選択した場合に、フレームデータS23内の処理対象の動き補償ブロックMCBとの画素データ間の差分の総和を最小にする動き補償ブロックMCBを参照画像データREF内の所定の探索範囲内で探索し、当該探索した動き補償ブロックMCBの位置を基に動きベクトルMVを生成する。
また、MC処理回路64は、上記探索に用いた参照画像データREFの識別情報を生成する。
そして、MC処理回路64は、上記生成した符号化情報、動きベクトルMV、並びに参照画像データREFの識別情報を示す動き補償データMCDを制御回路63に出力する。
MC処理回路64は、上記生成した動きベクトルMVをPI生成回路65に出力する。
ステップST5:
MC処理回路64は、マクロブロックペアpについての予測モード情報、参照画像データREFの識別情報、並びに動きベクトルMVなどを示す動き補償データMCDを制御回路63に出力する。
制御回路63は、マクロブロックP’(X,Y)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(X,Y&3)に書き込む。
また、制御回路63は、マクロブロックMB(X,Y)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(X&1,Y&1)に書き込む。
MC処理回路64は、マクロブロックペアpについての予測モード情報、参照画像データREFの識別情報、並びに動きベクトルMVなどを示す動き補償データMCDを制御回路63に出力する。
制御回路63は、マクロブロックP’(X,Y)内の図6(A)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STA内のアドレス(X,Y&3)に書き込む。
また、制御回路63は、マクロブロックMB(X,Y)内の図6(B)に示す動き補償ブロックMCBについてMC処理回路64が動き補償処理を行って生成した動き補償データMCDを、メモリ62内の記憶領域STB内のアドレス(X&1,Y&1)に書き込む。
ステップST6:
PI生成回路65は、上記動きベクトルMVと参照画像データREFとを基に予測画像データPIを生成し、これを演算回路24に出力する。
また、PI生成回路65は、MC処理回路64から入力した動きベクトルMVを図2に示す可逆符号化回路27に出力する。
ステップST7:
動き予測・補償回路39は、フレームデータS23内の全てのマクロブロックペアについて処理を終了したか否かを判断し、終了していない場合にはステップST3に戻る。
PI生成回路65は、上記動きベクトルMVと参照画像データREFとを基に予測画像データPIを生成し、これを演算回路24に出力する。
また、PI生成回路65は、MC処理回路64から入力した動きベクトルMVを図2に示す可逆符号化回路27に出力する。
ステップST7:
動き予測・補償回路39は、フレームデータS23内の全てのマクロブロックペアについて処理を終了したか否かを判断し、終了していない場合にはステップST3に戻る。
以下、図2に示す符号化装置2の全体動作を説明する。
原画像信号S10が入力されると、原画像信号S10がA/D変換回路22においてデジタルのフレームデータS22に変換される。
次に、出力となる画像圧縮情報のGOP構造に応じ、画面並べ替え回路23においてフレームデータS22内のピクチャの並べ替えが行われ、それによって得られたフレームデータS23が演算回路24、レート制御回路32および動き予測・補償回路39に出力される。
次に、演算回路24が、画面並べ替え回路23からのフレームデータS23と動き予測・補償回路39からの予測画像データPIとの差分を検出し、その差分を示す画像データS24を直交変換回路25に出力する。
原画像信号S10が入力されると、原画像信号S10がA/D変換回路22においてデジタルのフレームデータS22に変換される。
次に、出力となる画像圧縮情報のGOP構造に応じ、画面並べ替え回路23においてフレームデータS22内のピクチャの並べ替えが行われ、それによって得られたフレームデータS23が演算回路24、レート制御回路32および動き予測・補償回路39に出力される。
次に、演算回路24が、画面並べ替え回路23からのフレームデータS23と動き予測・補償回路39からの予測画像データPIとの差分を検出し、その差分を示す画像データS24を直交変換回路25に出力する。
次に、直交変換回路25が、画像データS24に離散コサイン変換やカルーネン・レーベ変換等の直交変換を施して画像データS25を生成し、これを量子化回路26に出力する。 次に、量子化回路26が、画像データS25を量子化し、量子化された画像データS26を可逆符号化回路27および逆量子化回路29に出力する。
次に、可逆符号化回路27が、画像データS26に可変長符号化あるいは算術符号化等の可逆符号化を施して画像データを生成し、これをバッファ28に蓄積する。
また、レート制御回路32が、フレームデータS23およびバッファ28からの画像データを基に、量子化回路26における量子化レートを制御する。
次に、可逆符号化回路27が、画像データS26に可変長符号化あるいは算術符号化等の可逆符号化を施して画像データを生成し、これをバッファ28に蓄積する。
また、レート制御回路32が、フレームデータS23およびバッファ28からの画像データを基に、量子化回路26における量子化レートを制御する。
また、逆量子化回路29が、量子化回路26から入力した画像データS26を逆量子化し、逆量子化した変換係数をデブロックフィルタ38に出力する。
デブロックフィルタ38は、逆量子化回路29から入力した変換係数のブロック歪みを除去した画像データを、逆直交変換回路30に出力する。
逆直交変換回路30は、デブロックフィルタ38から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成したデータS30をフレームメモリ34に書き込む。
そして、動き予測・補償回路39が、フレームデータS23および参照画像データREFを基に、図3〜図13を用いて説明した動き補償処理を行い、動きベクトルMVおよび予測画像データPIを生成する。
動き予測・補償回路39は、動きベクトルMVを可逆符号化回路27に出力し、予測画像データPIを演算回路24に出力する。
デブロックフィルタ38は、逆量子化回路29から入力した変換係数のブロック歪みを除去した画像データを、逆直交変換回路30に出力する。
逆直交変換回路30は、デブロックフィルタ38から入力した画像データに、直交変換回路25における直交変換の逆変換を施して生成したデータS30をフレームメモリ34に書き込む。
そして、動き予測・補償回路39が、フレームデータS23および参照画像データREFを基に、図3〜図13を用いて説明した動き補償処理を行い、動きベクトルMVおよび予測画像データPIを生成する。
動き予測・補償回路39は、動きベクトルMVを可逆符号化回路27に出力し、予測画像データPIを演算回路24に出力する。
以上説明したように、符号化装置2では、図8に示す動き予測・補償回路39の制御回路63が、マクロブロックペアb,c,dより選択順が前で、これらに行方向で隣接するマクロブロックペアの動き補償データMCDが記憶されているメモリ62のアドレスに、上記生成したマクロブロックペアpの動き補償データMCDを書き込む。すなわち、制御回路63は、他のマクロブロックペアの動き補償処理で参照されなくなった動き補償データに、新たに生成した動き補償データを上書きする。
そのため、メモリ62は、上記図9等に示すメモリ62は、図9(A)に示すように、((N+2)×4)個分のマクロブロックMBの記憶領域STAと、2(列)×2(行)の4個分のマクロブロックMBの動き補償データMCDを記憶する記憶領域STBとを備えていればよく、メモリ62として従来に比べて小さいな記憶容量のメモリを使用できる。
また、動き予測・補償回路39によれば、各マクロブロックMBの動き補償データMCDとして、図6(A),(B)に示す合計7個の動き補償ブロックMCBの動き補償データMCDをメモリ62に記憶し、それ以外の動き補償ブロックMCBの動き補償データMCDはメモリ62に記憶しない。
そのため、マクロブロックMB内の全ての動き補償ブロックMCBの動き補償データMCDをメモリ62に記憶する場合に比べて、メモリ62の記憶容量を小さくできる。
そのため、メモリ62は、上記図9等に示すメモリ62は、図9(A)に示すように、((N+2)×4)個分のマクロブロックMBの記憶領域STAと、2(列)×2(行)の4個分のマクロブロックMBの動き補償データMCDを記憶する記憶領域STBとを備えていればよく、メモリ62として従来に比べて小さいな記憶容量のメモリを使用できる。
また、動き予測・補償回路39によれば、各マクロブロックMBの動き補償データMCDとして、図6(A),(B)に示す合計7個の動き補償ブロックMCBの動き補償データMCDをメモリ62に記憶し、それ以外の動き補償ブロックMCBの動き補償データMCDはメモリ62に記憶しない。
そのため、マクロブロックMB内の全ての動き補償ブロックMCBの動き補償データMCDをメモリ62に記憶する場合に比べて、メモリ62の記憶容量を小さくできる。
本発明は上述した実施形態には限定されない。
上述した実施形態では、本発明のブロックとしてマクロブロックペアを例示したが、図図14および図15に示すように、マクロブロックペアではなくマクロブロックMB(P,A,B,C,D)を単位として動き予測・補償処理を行ってもよい。
この場合には、メモリ62は、((N+2)×2)個分のマクロブロックMBに属する図6(A)に示す4個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STAと、2(列)×1(行)の2個分のマクロブロックMBに属する図6(B)に示す2個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STBとを有する。
また、制御回路63およびMC処理回路64の処理は、マクロブロックペアがマクロブロックMBになることを除いて上述した実施形態と同じである。
上述した実施形態では、本発明のブロックとしてマクロブロックペアを例示したが、図図14および図15に示すように、マクロブロックペアではなくマクロブロックMB(P,A,B,C,D)を単位として動き予測・補償処理を行ってもよい。
この場合には、メモリ62は、((N+2)×2)個分のマクロブロックMBに属する図6(A)に示す4個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STAと、2(列)×1(行)の2個分のマクロブロックMBに属する図6(B)に示す2個の動き補償ブロックMCBの動き補償データMCDを記憶する記憶領域STBとを有する。
また、制御回路63およびMC処理回路64の処理は、マクロブロックペアがマクロブロックMBになることを除いて上述した実施形態と同じである。
本発明は、画像データを符号化する符号化システムに適用可能である。
1…通信システム、2…符号化装置、3…復号装置、22…A/D変換回路、23…画面並べ替え回路、24…演算回路、25…直交変換回路、26…量子化回路、27…可逆符号化回路、28…バッファ、29…逆量子化回路、30…逆直交変換回路、34…フレームメモリ、32…レート制御回路、34…フレームメモリ、39…動き予測・補償回路、61…MB_P選択回路、62…メモリ、63…制御回路、64…MC処理回路、65…PI生成回路
Claims (12)
- 被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理装置であって、
前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する選択回路と、
前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、
前記選択回路が選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って動き補償デ−タを生成し、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路と
を有するデータ処理装置。 - 前記動き補償回路は、前記第1のブロックに隣接して当該第1のブロックと同じ行に属し前記選択回路による選択順が当該第1のブロックより前の第3のブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タをさらに用いて前記第1のブロックの動き補償処理を行って前記動き補償デ−タを生成し、前記第3のブロックより選択順が前で当該第3のブロックに列行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路内のアドレスに、前記生成した動き補償デ−タを書き込む
請求項1に記載のデータ処理装置。 - 前記動き補償回路は、前記第2のブロックに前記列方向で隣接する第4のブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タをさらに用いて前記第1のブロックの動き補償処理を行う
請求項1に記載のデータ処理装置。 - 前記記憶回路は、前記マトリクス状に位置する複数のブロックうち2行分の前記ブロックの前記動き補償データを同時に記憶する記憶容量を有する
請求項1に記載のデータ処理装置。 - 前記記憶回路は、前記マトリクス状に位置する複数のブロックうち2行分の前記ブロックの前記動き補償データと、2個の前記ブロックとを同時に記憶する記憶容量を有する
請求項2に記載のデータ処理装置。 - 前記動き補償回路は、前記ブロックを構成する複数の動き補償ブロックの各々を単位として前記動き補償デ−タを生成し、前記動き補償処理において前記第2のブロックを構成する一部の前記動き補償ブロックの前記動き補償デ−タのみを用いる場合に、当該一部の動き補償ブロックの前記動き補償デ−タのみを前記記憶回路に書き込む
請求項1に記載のデータ処理装置。 - 前記動き補償回路は、前記複数の動き補償ブロックのうち、前記第1のブロックに隣接し当該第1のブロックより選択順が後のブロックに隣接した前記動き補償ブロックの前記動き補償デ−タのみを前記記憶回路に書き込む
請求項5に記載のデータ処理装置。 - 前記動き補償回路は、前記選択順が後で前記第1のブロックと同じ列に属する前記ブロックに隣接した第1の前記動き補償ブロックと、前記選択順が後で前記第1のブロックと同じ行に属する第2の前記動き補償ブロックとを前記記憶回路に書き込む
請求項7に記載のデータ処理装置。 - 前記動き補償回路は、前記ブロックの各々について、前記動き補償ブロックのサイズおよび個数を決定する
請求項6に記載のデータ処理装置。 - 前記動き補償回路は、イントラ予測モードおよびインター予測モードの何れを選択したかを示す予測モード情報、インター予測モードを選択した場合に参照した画像データの識別情報、動きベクトル情報を前記動き補償デ−タとして生成する
請求項1に記載のデータ処理装置。 - 被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行い、前記ブロックの動きベクトルおよび予測画像データを生成するデータ処理回路と、
前記被符号化画像データと、前記データ処理回路が生成した前記予測画像データとの差分を符号化する符号化回路と
を有する符号化装置であって、
前記データ処理回路は、
前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する選択回路と、
前記動き補償処理の結果である動き補償デ−タを記憶する記憶回路と、
前記選択回路が選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを前記記憶回路から読み出し、当該読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って前記動きベクトルおよび前記予測画像データ並びに動き補償デ−タを生成し、前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記生成した動き補償デ−タを書き込む動き補償回路と
を有する符号化装置。 - 被符号化画像データによる2次元画像を構成するマトリクス状に位置する複数のブロックの各々を単位として動き補償処理を行うデータ処理方法であって、
前記複数のブロックの位置を規定するマトリクスの行を行方向に順に選択し、当該選択した行について列方向に列を順に選択し、前記選択した行および列に対応する位置の第1の前記ブロックを処理対象として選択する第1の工程と、
前記第1の工程で選択した前記第1のブロックより選択順が前で当該第1のブロックに行方向で隣接する第2の前記ブロックの前記動き補償デ−タを記憶回路から読み出す第2の工程と、
前記第2の工程で読み出した動き補償デ−タを用いて前記第1のブロックの動き補償処理を行って動き補償デ−タを生成する第3の工程と、
前記第2のブロックより選択順が前で当該第2のブロックに行方向で隣接する前記ブロックの前記動き補償デ−タが記憶されている前記記憶回路のアドレスに、前記第3の工程で生成した動き補償デ−タを書き込む第4の工程と
を有するデータ処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003417097A JP2005176259A (ja) | 2003-12-15 | 2003-12-15 | データ処理装置およびその方法と符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003417097A JP2005176259A (ja) | 2003-12-15 | 2003-12-15 | データ処理装置およびその方法と符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005176259A true JP2005176259A (ja) | 2005-06-30 |
Family
ID=34736109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003417097A Pending JP2005176259A (ja) | 2003-12-15 | 2003-12-15 | データ処理装置およびその方法と符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005176259A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100763914B1 (ko) | 2006-05-10 | 2007-10-05 | 삼성전자주식회사 | 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치 |
-
2003
- 2003-12-15 JP JP2003417097A patent/JP2005176259A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100763914B1 (ko) | 2006-05-10 | 2007-10-05 | 삼성전자주식회사 | 고속의 메모리 액세스를 위한 화상 데이터 저장방법 및장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE45152E1 (en) | Data processing apparatus, image processing apparatus, and methods and programs for processing image data | |
US9414059B2 (en) | Image processing device, image coding method, and image processing method | |
US8059717B2 (en) | Image coding apparatus, method and program for intra prediction using specified H.264 prediction modes in specified scan order | |
JP2006005438A (ja) | 画像処理装置およびその方法 | |
US8249182B2 (en) | Decoding circuit, decoding method, encoding circuit, and encoding method | |
TW201313031A (zh) | 用於大色度區塊的可變長度寫碼係數寫碼 | |
JP2005184233A (ja) | データ処理装置およびその方法と符号化装置 | |
JP4289126B2 (ja) | データ処理装置およびその方法と符号化装置 | |
JP2005110083A (ja) | データ処理装置およびその方法と符号化装置 | |
US5991445A (en) | Image processing apparatus | |
JP2008252346A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2007019995A (ja) | 画像処理装置、画像処理方法およびそのプログラム | |
JP2005223631A (ja) | データ処理装置およびその方法と符号化装置および復号装置 | |
US6097843A (en) | Compression encoding apparatus, encoding method, decoding apparatus, and decoding method | |
JP2010141926A (ja) | 復号方法、復号装置およびそのプログラム並びに記録媒体 | |
JP4349109B2 (ja) | 画像データ処理装置、その方法、および、符号化装置 | |
US8811474B2 (en) | Encoder and encoding method using coded block pattern estimation | |
JP7359653B2 (ja) | 動画像符号化装置 | |
JP2006025033A (ja) | 画像処理装置および画像処理方法 | |
JP4655791B2 (ja) | 符号化装置、符号化方法およびそのプログラム | |
JP2005176259A (ja) | データ処理装置およびその方法と符号化装置 | |
JP4277793B2 (ja) | 画像処理装置、符号化装置およびそれらの方法 | |
JP2005244666A (ja) | データ処理装置、符号化装置およびデータ処理方法 | |
US11425423B1 (en) | Memory storage for motion estimation and visual artifact redcution | |
JP4517963B2 (ja) | 符号化装置、符号化方法、プログラムおよび記録媒体 |