JP2004194283A - 動き補償方法、画像符号化方法および画像復号化方法 - Google Patents

動き補償方法、画像符号化方法および画像復号化方法 Download PDF

Info

Publication number
JP2004194283A
JP2004194283A JP2003301479A JP2003301479A JP2004194283A JP 2004194283 A JP2004194283 A JP 2004194283A JP 2003301479 A JP2003301479 A JP 2003301479A JP 2003301479 A JP2003301479 A JP 2003301479A JP 2004194283 A JP2004194283 A JP 2004194283A
Authority
JP
Japan
Prior art keywords
block
motion
image
motion vector
motion compensation
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.)
Granted
Application number
JP2003301479A
Other languages
English (en)
Other versions
JP4406239B2 (ja
Inventor
Shinya Sumino
眞也 角野
Toshiyuki Kondo
敏志 近藤
Seishi Abe
清史 安倍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003301479A priority Critical patent/JP4406239B2/ja
Publication of JP2004194283A publication Critical patent/JP2004194283A/ja
Application granted granted Critical
Publication of JP4406239B2 publication Critical patent/JP4406239B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】 参照メモリへのアクセスを低減する動き補償方法を提供する。
【解決手段】 画像符号化装置300は、復号化対象マクロブロックに対応する復号化済みのマクロブロックを構成するブロック群のうちで、前記復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、動き補償対象ブロックに対する動きベクトルの検出方法を選択し、選択された方法により動きベクトルを検出する動きベクトル検出部302と、検出された動きベクトルに基づいて動き補償対象ブロックの予測画像を生成する動き補償符号化部303とを備える。
【選択図】 図1

Description

本発明は、動きベクトルを用いた動き補償方法、その動き補償を用いた画像符号化方法および画像復号化方法に関する。
近年、マルチメディアアプリケーションの発展に伴い、画像・音声・テキストなど、あらゆるメディアの情報を統一的に扱うことが一般的になってきた。この時、全てのメディアをディジタル化することにより、統一的にメディアを扱うことが可能になる。しかしながら、ディジタル化された画像は膨大なデータ量を持つため、蓄積・伝送のためには、画像の情報圧縮技術が不可欠である。一方で、圧縮した画像データを相互運用するためには、圧縮技術の標準化も重要である。画像圧縮技術の標準規格としては、ITU‐T(国際電気通信連合 電気通信標準化部門)のH.261、H.263、ISO/IEC(国際標準化機構 国際電気標準会議)のMPEG(Moving Picture Experts Group)−1、MPEG−2、MPEG−4などがある。
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは1枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、1つのフレームが時刻の異なる2つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、1つのフレームをフレームのまま処理したり、2つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
参照画像を持たず画面内予測符号化を行うものをIピクチャと呼ぶ。また、1枚のピクチャのみを参照し画面間予測符号化を行うものをPピクチャと呼ぶ。また、同時に2枚のピクチャを参照して画面間予測符号化を行うことのできるものをBピクチャと呼ぶ。Bピクチャは表示時間が前方もしくは後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。参照画像(参照ピクチャ)は符号化および復号化の基本単位であるブロックごとに適切なものを選択することができ、符号化を行ったビットストリーム中に先に記述される方の参照ピクチャを第1参照ピクチャ、後に記述される方を第2参照ピクチャとして区別する。ただし、これらのピクチャを符号化および復号化する場合の条件として、参照するピクチャが既に符号化および復号化されている必要がある。
Pピクチャ又はBピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照フレームの同じ座標位置の画素値から予測するのではなく、ピクチャ内の各部の動き量(以下、これを「動きベクトル」と呼ぶ)を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけシフトした予測値と符号化対象ピクチャとの画素ごとの画素値の差分である予測残差を符号化することによりデータ量を低減している。この方式の場合には、復号化の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される。
動きベクトルは所定のサイズのブロック単位で検出されており、具体的には、符号化対象ピクチャ側の各ブロックに対して、参照ピクチャ側でブロックを探索範囲内で移動させ、符号化対象ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。
図15は、従来の画像符号化装置100の構成を示すブロック図である。画像符号化装置100は、差分器101、画像符号化部102、可変長符号化部103、画像復号化部104、加算器105、画像メモリ106、ピクチャメモリ107、動き補償部108、動きベクトル検出部109および動きベクトル記憶部110を備えている。なお、動き補償のブロックのサイズとしては、現在策定中の規格案であるITU−T H.26L TML8では、4画素×4画素、4画素×8画素、8画素×4画素、8画素×8画素、8画素×16画素、16画素×8画素、16画素×16画素の7通りの動き補償のブロックサイズからマクロブロック単位で適切なものを選択して符号化・復号化に使用する(例えば、非特許文献1参照。)。
ピクチャメモリ107は、表示時間順にピクチャ単位で入力された、動画像を表す画像データImgを格納する。差分器101は、ピクチャメモリ107より読み出された画像データImgと、動き補償部108より入力された予測画像データPredとの差分を演算し、予測残差画像データResを生成する。画像符号化部102は、入力された予測残差画像データResに対して周波数変換や量子化等の符号化処理を行い、残差画像符号化データCodedResを生成する。画面内符号化の場合には、画面間の動き補償を行わないので、予測画像データPredの値は「0」と考える。
動きベクトル検出部109は、画像メモリ106に記憶された符号化済みの復号化画像データである参照画像データRefを参照ピクチャとして用いて、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルを検出し、検出された動きベクトルを表す動きパラメータMotionParamを出力する。なお、その際に動きベクトル検出部109は、符号化対象ピクチャがPピクチャであるかBピクチャであるかのいずれかに応じて、参照ピクチャを切り替える。符号化モードModは、ブロックをどのような方法(例えば、双予測、片方向予測、ダイレクトモードのいずれか)で動き補償するかを示すものである。例えば、ダイレクトモードでは、動きベクトル検出部109は、他のブロックで導出された動きベクトルを用いて、当該動き補償対象ブロックの双予測動きベクトルを算出する。ここで、ダイレクトモードの動きベクトルを導出するために参照するピクチャを基準ピクチャと呼び、対象ブロックと同じ座標位置の基準ピクチャのブロックを基準ブロックと呼ぶことにする。この場合、ダイレクトモードの動きベクトルの値は、実際に動き補償の単位となるブロックサイズにかかわらず、16画素×16画素のマクロブロックを単位として算出され、算出された動きベクトルは符号化されない。そして、算出した動きベクトルを使用するか、もしくは動きベクトル(0,0)を使用するかを4画素×4画素単位で切り替える。動き補償部108は、符号化対象ブロックの符号化モードModと、動きベクトル検出部109で検出された動きベクトルとに基づいて予測画像データPredを生成する。
さらに、動き補償部108では、動きベクトルが1/2画素、1/4画素などの小数以下の画素位置を指す場合には、低域通過フィルタなどを用いて1/2画素、1/4画素などの小数画素位置の画素値を補間生成する。動きベクトル記憶部110は、動きベクトル検出部109から出力された動きパラメータMotionParamを記憶する。可変長符号化部103は、入力された残差画像符号化データCodedResおよび動きベクトル検出部109から出力された動きパラメータMotionParamに対して可変長符号化等を行い、さらに符号化モードModを付加することにより符号化データBitstreamを生成する。
画像復号化部104は、入力された残差画像符号化データCodedResに対して逆量子化や逆周波数変換等の復号化処理を行い、復号残差画像データReconResを生成する。加算器105は、画像復号化部104より出力された復号残差画像データReconResと、動き補償部108より入力された予測画像データPredとを加算し、復号化画像データReconを生成する。画像メモリ106は、生成された復号化画像データReconを格納する。
被写体の移動量が整数画素単位より小さい場合は、整数画素単位より小さい動きで予測を行うと予測効果が高い場合がある。一般に、整数画素単位より小さい単位の動きを伴う予測画像の画素値の計算には画素補間を使用する。この画素補間は、参照画像の画素値に対して線形フィルタ(低域通過フィルタ)によるフィルタリングを行うことにより実行される。この線形フィルタのタップ数を増やせば良好な周波数特性を持つフィルタを実現しやすくなり、予測効果が高くなるが処理量は大きくなる。一方、フィルタのタップ数が少ないとフィルタの周波数特性は悪くなり、予測効果は低くなるがフィルタの演算量は小さくなる。
図16は、画素補間を行う従来の画像復号化装置200の構成を示すブロック図である。画像復号化装置200は、可変長復号化部201、画像復号化部202、加算器203、画像メモリ204、動きベクトル記憶部205および動き補償部206を備えている。
可変長復号化部201は、入力された符号化データBitstreamから、残差画像符号化データCodedRes、動きパラメータMotionParamおよび符号化時に用いられた符号化モードModの情報等の各種データの抽出を行う。画像復号化部202は、入力された残差画像符号化データCodedResの復号化を行い、残差画像データResを生成する。動きベクトル記憶部205は、可変長復号化部201により抽出された動きパラメータMotionParamを格納する。動き補償部206は、線形フィルタなどを用いて1/2画素、1/4画素などの小数画素位置の画素値を補間生成する図示しない画素補間部を内部に備え、符号化時の符号化モードModおよび動きパラメータMotionParam等に基づいて、画像メモリ204内の復号化画像データReconから動き補償画像データである予測画像データPredを生成する。この際に、動き補償部206は、ダイレクトモードの場合に、動きベクトル記憶部205から読み出した基準ピクチャの基準ブロックの動き補償のブロックサイズと同じブロックサイズで動き補償対象ブロックの予測画像データPredを生成する。加算器203は、画像復号化部202から出力された残差画像データResと、動き補償部206から出力された動き補償画像データである予測画像データPredとを加算し、復号化画像データReconを生成する。画像メモリ204は、生成された復号化画像データReconを格納する。
MPEG−4ビジュアル規格書(1999年、ISO/IEC14496‐2:1999 Information technology -- Coding of audio-visual objects -- Part2: Visual)
しかしながら、小数精度の動き補償を行うためには、動き補償対象ブロックのみならず、その周辺、数画素分の画素値が必要である。つまり、補間処理によって小数画素精度の画素値を生成するために、実際の予測ブロックより大きな領域の画素値が必要となる。補間処理で画素値を生成するためには、低域通過フィルタを用いるのが一般的であり、低域フィルタを適用するためには対象画素の近傍数画素(低域フィルタの係数分の画素)をアクセスする(読み出す)必要がある。図17は、画素補間を行う場合において予測画像を生成するために画素値を読み出すことが必要な動き補償対象ブロックとその周辺画素との一例を示す図である。図17(a)は、動き補償対象ブロックが小さい場合の動き補償対象ブロックとその周辺画素とを示す図である。図17(b)は、動き補償対象ブロックが大きい場合の動き補償対象ブロックとその周辺画素とを示す図である。図17(a)および図17(b)において、中央の矩形部分は1つの動き補償対象ブロックを示し、その周囲の斜線部は画素補間を行うために参照メモリから画素値が読み出される周辺画素を示している。ここでは、例えば、低域通過フィルタとして9タップ(画素値が9画素分必要)のフィルタを用いるとすると、ブロック境界部の画素に低域通過フィルタ処理を行うためには少なくともブロック外の4画素の画素値が必要であり、中央の動き補償対象ブロックに対して、その周囲4画素分の画素値を含むメモリをアクセスしなければならない。例えば、4画素×4画素のブロックでは1ブロックで(4+4+4)×(4+4+4)=144画素の画素値を読み出す必要がある。8画素×8画素のブロックでは(4+8+4)×(4+8+4)=256画素の画素値を読み出す必要がある。16画素x16画素のマクロブロックを8画素×8画素の4ブロックで動き補償する場合には256画素×4=1024画素の画素値を読み出すだけでよいが、4画素×4画素のブロックを単位として16画素×16画素を動き補償する場合には、144画素×16=2304画素の画素値を読み出さなければならない。従って、8x8画素単位の動き補償の方が4画素×4画素単位の動き補償4回分に対して約半分のメモリアクセス量になる。
以上の例から明らかなように、1つの動き補償対象ブロックに対して、その周囲の画素値を同画素数分だけ余分に読み出すとした場合、動き補償対象ブロックの大きさが小さいほど、参照メモリから読み出される画素数に関して、動き補償対象ブロックの画素数に対する周辺ブロックの画素数の割合が大きくなる。この結果、参照メモリから動き補償対象ブロックの画素値を読み出す際に、動き補償の対象でない周辺画素を参照することによるメモリ・読み出しアクセスの負荷が大きくなってしまうという問題がある。特に、同時に2つのピクチャを参照して符号化または復号化対象ピクチャの動き補償画素値を計算するBピクチャの双予測動き補償の場合には、片方向予測動き補償と比べて参照メモリへのアクセスが約2倍と多くなるため、動き補償対象ブロックのサイズが小さい場合には、前記オーバヘッドの問題がより顕著になってしまう。
本発明の目的は、参照メモリへのアクセスを低減する動き補償方法を提供することである。
また、本発明は、前記動き補償方法を用いた画像符号化方法および画像復号化方法を提供することを第2の目的としている。
この課題を解決するために、本発明の動き補償方法は、画像信号を符号化または復号化するための動き補償方法であって、符号化対象または復号化対象マクロブロックに対応する符号化済みまたは復号化済みのマクロブロックを構成するブロック群のうちで、前記符号化済みまたは復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記符号化対象または復号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、選択された方法により生成された動きベクトルに基づいて前記符号化対象または復号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップとを含むことを特徴とする。これにより、1つの動き補償対象ブロックに対して、複数のブロックからなる符号化済みまたは復号化済みのブロック群が対応する場合であっても、当該ブロック群を含むマクロブロックの隅に位置するブロック1つの動きを判定することにより、動き補償対象ブロックの動き補償に用いられる動きベクトルの生成方法を選択することができる。
また、本発明の動き補償方法を用いた画像符号化装置および画像復号化装置によれば、より大きいサイズの動き補償対象ブロックを単位として動き補償を行うので、例えばBピクチャの双予測動き補償を用いた符号化および復号化における画像メモリへのアクセスによるオーバヘッドを低減することができる。
なお、本発明は、このような動き補償方法、画像符号化方法および画像復号化方法として実現することができるだけでなく、これらの方法に含まれる特徴的なステップを手段とする画像符号化装置や画像復号化装置として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信させることができるのは言うまでもない。
本発明の動き補償方法を用いた画像符号化装置300および画像復号化装置400によれば、より大きいサイズの動き補償対象ブロックを単位として動き補償を行うので、例えばBピクチャの双予測動き補償を用いた符号化および復号化における画像メモリへのアクセスによるオーバヘッドを低減することができる。
また、動き補償対象ブロックの動きベクトルを(0、0)としない場合には、すでに検出されている周辺ブロックの動きベクトルを用いて動きベクトルを決定することにより、Bピクチャの符号化および復号化における動きベクトル決定のための計算量を低減して、例えばBピクチャの符号化における画像符号化装置300の処理負荷を軽減することができる。
以下、本発明の実施の形態について、図1から図14を用いて説明する。
(実施の形態1)
以下、本発明の第1の実施形態について図面を用いて詳細に説明する。
図1は、本発明に係る画像符号化方法を用いた画像符号化装置300の一実施の形態の構成を示すブロック図である。画像符号化装置300は、2つのピクチャを参照して符号化が行われるBピクチャの動き補償を行う際に、Pピクチャの動き補償のブロックサイズよりも大きいブロックサイズで動き補償を行う画像符号化装置であって、差分器101、画像符号化部102、可変長符号化部103、画像復号化部104、加算器105、画像メモリ106、ピクチャメモリ107、動きベクトル記憶部110、動き情報変換部301、動きベクトル検出部302および動き補償部303を備えている。
ピクチャメモリ107は、表示時間順に入力された、動画像を表す画像データImgをピクチャ単位で格納する。差分器101は、ピクチャメモリ107より読み出された画像データImgと、動き補償部303より入力された予測画像データPredとの差分を演算し、予測残差画像データResを生成する。これにおいて、画面内符号化の場合には、画面間の動き補償を行わないので、予測画像データPredの値は「0」と考える。画像符号化部102は、入力された予測残差画像データResに対して周波数変換や量子化等の符号化処理を行い、残差画像符号化データCodedResを生成する。動き情報変換部301は、符号化対象ピクチャがBピクチャの場合には、所定のブロックサイズで動き補償が行われるように動きベクトルを導出し、動きベクトル検出部302および動き補償部303に通知する。すなわち、Bピクチャの場合には片方向予測、双予測とダイレクトモードを可能にして双予測およびダイレクトモード動き補償を大きなブロックサイズで行うようにし(例えば8画素×8画素未満のブロックサイズで動きベクトルを検出することを禁止)、Pピクチャの場合には片方向予測を小さなブロックサイズでも可能にする。これにより、特にメモリへのアクセスが多い双予測モードにおいて、小さいブロックサイズで参照ピクチャを参照する動きベクトルを選択できないようにする。また、動き情報変換部301は、動きベクトル記憶部110に記憶されている参照ピクチャの動きパラメータを、所定のブロックサイズ(例えば8画素×8画素)の動きパラメータ(動きベクトル等)に変換するか、またはこの変換に相当する動きパラメータの読み替えを動きベクトル検出部302および動き補償部303に指示する。
動きベクトル検出部302は、画像メモリ106に記憶された符号化済みピクチャの復号化画像データである参照画像データRefを参照ピクチャとして用いて、参照ピクチャ内の探索領域において最適と予測されるブロックの位置を示す動きベクトルを検出し、検出された動きベクトルを含む動きパラメータMotionParamを出力する。動きベクトル記憶部110は、動きベクトル検出部302から出力された動きパラメータMotionParamを記憶する。
また、動きベクトル検出部302は、符号化対象ピクチャがPピクチャかBピクチャのいずれであるかに対応して、符号化モードModで動き補償した場合の誤差を評価し、片方向予測および双予測で参照ピクチャ内の探索を行った場合とダイレクトモードで導出した動きベクトルの動き補償誤差を比較する。すなわち、ダイレクトモードでは、動き情報変換部301によって変換された、動き補償対象ブロックの後方同位置にある動き補償済みブロックの動きベクトル(例えば8画素×8画素以上のブロックサイズの動きに変換)に応じて、動き補償対象ブロックの動きベクトルを複数の動きベクトルのうちから選択する。なお、ダイレクトモードとは、動き補償対象ブロックの動きベクトルを他のブロックで導出された動きベクトルを用いて算出し、当該動き補償対象ブロックの動きベクトルを符号化しない双予測モードをいう。導出した動きベクトルを使用するか、動きベクトル(0,0)を使うかは、後方同位置にあるブロックの動きベクトルの大きさによって決定する(どちらを選択したかの識別情報は符号化しない)。また、後方同位置にあるブロックとは、表示順で符号化対象ピクチャの直近後方にあるピクチャ内(基準ピクチャ)で符号化対象ピクチャ内のブロックと同位置にあるブロック(基準ブロック)をいう。
動き補償部303は、この符号化モードModと、動きベクトル検出部302で検出された動きベクトルとに基づいて予測画像データPredを生成する。Bピクチャのダイレクトモードにおいては、動き補償部303は、8画素×8画素の動き補償対象ブロックごとに、動きベクトル検出部302によって算出された動きベクトルを用いて、予測画像を生成する。なお、動き補償部303では、動きベクトルが1/2画素、1/4画素などの小数以下の画素位置を指す場合には、線形フィルタ(低域通過フィルタ)などを用いて1/2画素、1/4画素などの小数画素位置の画素値を補間生成する。この場合、動きベクトル検出部302では双予測モードにおいて小さなブロックサイズの動きベクトルが選択されないため、動き補償部303は、双予測モードではメモリアクセスがあまり多くない比較的大きなブロックサイズで動き補償を行うことができる。また、片方向予測モードでは小さなブロックサイズでの動き補償も可能な動き補償を行う。可変長符号化部103は、入力された残差画像符号化データCodedResおよび動きベクトル検出部302から出力された動きパラメータMotionParamに対して可変長符号化等を行い、さらに符号化モードModを付加することにより符号化データBitstreamを生成する。
画像復号化部104は、入力された残差画像符号化データCodedResに対して逆量子化や逆周波数変換等の復号化処理を行い、復号残差画像データReconResを生成する。加算器105は、画像復号化部104より出力された復号残差画像データReconResと、動き補償部303より入力された予測画像データPredとを加算し、復号化画像データReconを生成する。画像メモリ106は、生成された復号化画像データReconを格納する。
図2は、本発明に係る画像復号化方法を用いた画像復号化装置400の一実施の形態の構成を示すブロック図である。画像復号化装置400は、可変長復号化部201、画像復号化部202、加算器203、画像メモリ204、動きベクトル記憶部205、動き情報変換部401および動き補償部402を備えている。
可変長復号化部201は、入力された符号化データBitstreamから、残差画像符号化データCodedRes、動きパラメータMotionParamおよび符号化時に用いられた符号化モードModの情報等の各種データの抽出を行う。画像復号化部202は、入力された残差画像符号化データCodedResの復号化を行い、残差画像データResを生成する。動き情報変換部401は、動きベクトル記憶部205から読み出した参照ピクチャの動きパラメータを、所定のブロックサイズ(例えば8画素×8画素)の動きパラメータ(動きベクトル等)に変換するか、またはこの変換に相当する動きパラメータの読み替えを動き補償部402に対して指示する。動き補償部402は、内部に、線形フィルタなどを用いて1/2画素、1/4画素などの小数画素位置の画素値を補間生成する図示しない画素補間部を備え、符号化時の符号化モードModおよび動きパラメータMotionParam等に基づいて、画像メモリ204内の復号化画像データReconから動き補償画像データである予測画像データPredを生成する。この際に、復号化対象マクロブロックがダイレクトモードで符号化されている場合、予測画像データPredを生成するための動きベクトルは符号化されていない。このため、動き補償部402は、動き情報変換部401で変換された動きベクトル(例えば8画素×8画素以上のブロックサイズの動きに変換)および復号化対象マクロブロックの周辺ブロックで導出されている動きベクトルを用いて、動き補償対象ブロックの動きベクトルを算出し、Pピクチャの最小ブロックサイズより大きいサイズの動き補償対象ブロック(例えば、8画素×8画素)の単位で予測画像データPredを生成する。動きベクトル記憶部205は、可変長復号化部201により抽出された動きパラメータMotionParamを格納する。加算器203は、画像復号化部202から出力された残差画像データResと、動き補償部402から出力された動き補償画像データである予測画像データPredとを加算し、復号化画像データReconを生成する。画像メモリ204は、生成された復号化画像データReconを格納する。
以下では、上記のように構成された画像符号化装置300および画像復号化装置400の動作について説明する。
本実施の形態では、Bピクチャのダイレクトモードにおいて、画像符号化装置300においては動きベクトル検出部302、画像復号化装置400においては動き補償部402は、動き補償対象ブロックの後方同位置にある動き補償済みブロックの動きベクトルに応じて、複数の動きベクトルのうちから動き補償対象ブロックの動き補償に用いる動きベクトルを選択する。例えば、動きベクトル検出部302または動き補償部402は、符号化または復号化対象ピクチャ内ですでに符号化または復号化されている周辺ブロックの動きベクトルを用いて算出される符号化または復号化対象マクロブロックの動きベクトル、または動きベクトル(0、0)のいずれかを選択し、動き補償対象ブロックの動きベクトルとする。周辺ブロックとは、符号化対象ピクチャの同一画面内において、すでに符号化または復号化されているブロックであって、符号化または復号化対象マクロブロックの近傍のブロックをいう。以下では、すでに決定された周辺ブロックの動きベクトルと、後方の参照ピクチャの動きパラメータとを用いて動き補償対象ブロックの動きベクトルを決定する方法による、ダイレクトモードの動き補償方法について、まず、画像符号化装置300における処理を説明する。
図3(a)は、周辺ブロックが符号化または復号化対象マクロブロックと同じ16画素×16画素のブロックサイズで動き補償されている場合に、周辺ブロックの動きベクトルを用いて符号化または復号化対象マクロブロックの動きベクトルMVを決定する方法を示す図である。図3(b)は、符号化または復号化対象マクロブロックと後方同位置マクロブロックとが同じブロックサイズで動き補償されている場合において、動き補償対象ブロックとその後方同位置にあるブロックとの対応を示す図である。図4は、周辺ブロックが符号化または復号化対象マクロブロックより小さいブロックサイズで動き補償されている場合に、周辺ブロックの動きベクトルを用いて符号化または復号化対象マクロブロックの動きベクトルMVを決定する方法を示す図である。図5は、符号化または復号化対象マクロブロックと後方同位置マクロブロックとが同じブロックサイズで動き補償されている場合において、動き補償対象ブロックの後方同位置にあるブロックの動きに応じて、異なる方法で動き補償対象ブロックを動き補償するための処理手順を示すフローチャートである。
まず、符号化対象ピクチャB1内の動き補償対象ブロックと、後方のPピクチャP2内で当該動き補償対象ブロックと同位置にあるブロックとが同じ大きさであり、一対一に対応している場合について説明する。動き情報変換部301は、動き補償対象ブロックの後方同位置にあるブロックの動き補償のサイズが動き補償対象ブロックのサイズと同じか否かを判断し、同じである場合、図5のフローチャートに示される手順で、動き補償対象ブロックの動きベクトルを算出するよう動きベクトル検出部302に指示する。図5のフローチャートに示すように、動きベクトル検出部302は、まず、図3(b)に示す符号化対象ピクチャB1の後方のPピクチャ(基準ピクチャ)、すなわち、対象ピクチャB1よりも時間的に後に表示されるPピクチャであって、符号化対象ピクチャB1に近いピクチャP2内で、動き補償対象ブロックと同位置にあるブロック(基準ブロック)の「動きが小さい」か否かを調べ(S401)、「動きが小さい」場合、動き補償対象ブロックの動きベクトルを(0、0)とする(S402)。すなわち、この動き補償対象ブロックについては、動きベクトルを(0,0)として画面間予測を用いた動き補償を行う。ここで、「動きが小さい」とは、そのブロックが画像として最も近いピクチャを参照して符号化されており、その動きベクトルの大きさ(絶対値)が「1」以内であることをいう。但し、単に動きベクトルの大きさが所定値以下である場合に「動きが小さい」としてもよく、また、特定のピクチャを参照ピクチャとした場合に「動きが小さい」としてもよい。
一方、後方のPピクチャ内で動き補償対象ブロックと同位置にあるブロックの「動きが小さく」ない場合、すなわち、基準ブロックが最も近いピクチャを参照して符号化されていないか、または動きベクトルの大きさが「1」を超える場合、動きベクトル検出部302は、符号化対象マクロブロックの周辺ブロックの動きベクトルから算出される符号化対象マクロブロックの動きベクトルMVを、当該動き補償対象ブロックの動きベクトルとする(S404)。なお、以下の説明では、説明を簡単にするためピクチャP0、ピクチャP2はそれぞれピクチャB1に最も近いピクチャとする。
符号化対象マクロブロックの動きベクトルMVを算出するために、動きベクトル検出部302は、まず、符号化対象マクロブロック近傍の符号化済みのブロック(周辺ブロック)を3つ選択する。選択の基準および方法は、ここでは重要ではないので説明を省略する。図3(a)は、符号化対象マクロブロックに対して選択された3つの周辺ブロックを示している。同図のように、符号化対象マクロブロックの上に位置するマクロブロックでは、動きベクトルMV2がすでに決定されており、右上に位置するマクロブロックでは、動きベクトルMV3が決定されている。また、符号化対象マクロブロックの左に位置するマクロブロックについては、動きベクトルMV1が決定されている。動きベクトル検出部302は、これらの動きベクトルMV1、動きベクトルMV2および動きベクトルMV3を用いて、当該符号化対象マクロブロックの動きベクトルMVを決定する。例えば、動きベクトルMV1、動きベクトルMV2および動きベクトルMV3の中で時間的に直近のピクチャを参照したものを当該符号化対象マクロブロックの動きベクトルMVの候補とする。ここで、「符号化対象ピクチャから時間的に直近のピクチャ」とは、符号化対象マクロブロックにおいて前方のピクチャを参照した動きベクトルを予測する場合には、符号化対象ピクチャから前方かつ直近のピクチャをいい、後方のピクチャを参照した動きベクトルを予測する場合には、後方かつ直近のピクチャをいう。これにおいて、動きベクトル検出部302は、
(1)符号化対象ピクチャから時間的に直近のピクチャを参照したものがない場合、当該符号化対象マクロブロックの動きベクトルMVを(0、0)とする。
(2)直近のピクチャを参照しているものが1つの場合、その候補を、当該符号化対象マクロブロックの動きベクトルMVとする。また、
(3)直近のピクチャを参照しているものが2つ以上の場合、直近のピクチャを参照していない周辺ブロックの動きベクトルを(0、0)として、周辺ブロックの3つの動きベクトルの中央値を符号化対象マクロブロックの動きベクトルMVとする。
以上では、図3(a)を用いて符号化対象マクロブロックの周辺ブロックが、符号化対象マクロブロックと同じサイズで動き補償されている場合について説明したが、図4に示すように、周辺ブロックが符号化対象マクロブロックとは異なる、より小さいブロックサイズで動き補償されている場合でも、同様にして符号化対象マクロブロックの動きベクトルMVを算出することができる。図4は、16画素×16画素の符号化対象マクロブロックに対して、周辺ブロックでは4画素×4画素のブロックを単位として動きベクトルが検出されている場合を示している。このような場合、符号化対象マクロブロックの動きベクトルMVを算出するために、動きベクトル検出部302は、まず周辺ブロックを3つ(ブロックA、ブロックBおよびブロックC)選択する。
ブロックAは、例えば、符号化対象マクロブロックの左に位置するマクロブロックに属し、符号化対象マクロブロックの左上の角に接するブロックである。また、ブロックBは、例えば、符号化対象マクロブロックの上に位置するマクロブロックに属し、符号化対象マクロブロックの左上の角に接するブロックである。さらに、ブロックCは、例えば、符号化対象マクロブロックの右上に位置するマクロブロックに属し、符号化対象マクロブロックの右上の角に接するブロックである。
ブロックAに対しては動きベクトルMV1がすでに決定されており、ブロックBに対しては動きベクトルMV2が、ブロックCに対しては動きベクトルMV3が、すでに決定されている。動きベクトル検出部302は、これらの動きベクトルMV1、動きベクトルMV2および動きベクトルMV3に、上記(1)(2)および(3)を適用し、符号化対象マクロブロックと周辺ブロックとが同じサイズで動き補償されている場合と同様にして、符号化対象マクロブロックの動きベクトルMVを決定することができる。符号化対象マクロブロック内の各動き補償対象ブロックについては、すでに説明したように、後方同位置にあるブロックの「動きが小さい」か否かに応じて、動きベクトル(0、0)を用いて動き補償するか、動きベクトルMVを用いて動き補償するかのいずれかを選択する。
上記のようにして動き補償対象ブロックの動きベクトルが決定されると、動き補償部303は、決定された動きベクトルを用いて画像メモリ106内の参照画像データRefから予測画像データPredを生成する(S403)。
以上では、動き補償対象ブロックの後方同位置にあるブロックが、動き補償対象ブロックと同じブロックサイズで動き補償されている場合について説明したが、以下では、後方同位置にあるブロックが、動き補償対象ブロックとは異なるブロックサイズで動き補償されている場合について説明する。画像符号化装置300において、動き補償部303および動きベクトル検出部302は、Bピクチャの双予測動き補償を行う際には、PピクチャやBピクチャの片方向予測動き補償対象ブロックとなりうる最小(4画素×4画素)のブロックよりも大きい、一定サイズ(例えば、8画素×8画素)のブロックを対象として動き補償を行う。このため、双予測で動き補償されるピクチャの後方の参照ピクチャが片方向予測で動き補償されている場合、動き補償対象ブロックの後方同位置にあるブロックが動き補償対象ブロックより小さいブロックサイズで動き補償されている場合が生じる。
図6は、符号化または復号化対象マクロブロックとその後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックとその後方同位置にある複数のブロックとの対応を示す図である。同図の左側には、符号化対象Bピクチャ内の符号化対象マクロブロックが示されている。同図の右側には、符号化対象Bピクチャの直近後方のピクチャ(PピクチャまたはBピクチャ)における符号化対象マクロブロックの後方同位置マクロブロックが示されている。前記マクロブロックのサイズは、いずれも、例えば16画素×16画素である。右側に示される後方同位置マクロブロックは符号化対象ピクチャよりも先に符号化されており、例えば、それぞれ4画素×4画素のブロック(図中の最小区画)を単位として、すでに動き補償が行われているものとする。
図7は、符号化または復号化対象マクロブロックと後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックの後方同位置にあるブロックの動きに応じて、異なる動きベクトルで動き補償対象ブロックを動き補償するための処理手順を示すフローチャートである。動き情報変換部301は、まず、動き補償対象ブロックの後方同位置にあるブロックが動き補償対象ブロックと同じブロックサイズで動き補償されているか否かを判断し、同じブロックサイズで動き補償されていない場合、図7のフローチャートに示される手順で動き補償対象ブロックの動きベクトルを算出するよう、動きベクトル検出部302に指示する。ここでは、動き補償対象ブロックのサイズが8画素×8画素であり、後方同位置にあるブロックは4画素×4画素で動き補償されているので、動きベクトル検出部302は図7に示すフローチャートに従って動き補償対象ブロックの動きベクトルを算出する。
図7のフローチャートではステップS501の処理が、図5のフローチャートに示したステップS401の処理と異なる。図6に示したように、本発明の動き補償方法では、1つの符号化対象マクロブロックは4つの動き補償対象ブロックごとに動き補償が行われる。それらを例えば、動き補償対象ブロックa、動き補償対象ブロックb、動き補償対象ブロックcおよび動き補償対象ブロックdとする。これらの動き補償対象ブロックに対し、後方同位置マクロブロック内では、ブロックa'、ブロックb'、ブロックc'およびブロックd'がそれぞれ対応する。これらのブロックa'、ブロックb'、ブロックc'およびブロックd'は、それぞれがさらに、4画素×4画素の4つの動き補償ブロックから構成されている。動きベクトル検出部302は、まず、後方同位置マクロブロック内で、符号化対象マクロブロック内の動き補償対象ブロックaに対応するブロックa'を調べ、ブロックa'を構成している4つの動き補償ブロックのうち、2つ以上の動き補償ブロックの「動きが小さい」か否かを調べる(S501)。
動き補償ブロックの「動きが小さい」か否かを判定する基準は、図5に示したフローチャートのステップS401における判定基準と同様である。2つ以上の動き補償ブロックの「動きが小さい」場合、動きベクトル検出部302は、符号化対象マクロブロック内の動き補償対象ブロックaの動きベクトルを(0、0)とし(S502)、動き補償部303は、決定された動きベクトル(0、0)を用いて動き補償する(S503)。2つ以上の動き補償ブロックの「動きが小さく」ない場合、すなわち、「動きが小さい」動き補償ブロックの数が2つ未満である場合、動きベクトル検出部302は、符号化対象マクロブロックの周辺ブロックの動きベクトルから符号化対象マクロブロックの動きベクトルMVを決定する(S504)。周辺ブロックの動きベクトルから符号化対象マクロブロックの動きベクトルMVを決定する処理は、図5のステップS404における処理と同様である。動き補償部303は、このように決定された動きベクトルMVを用いて動き補償対象ブロックaの動き補償予測画素値を生成する(S503)。
動き補償部303、動きベクトル検出部302および動き情報変換部301は、上記ステップS501〜ステップS504の処理を、残りの動き補償対象ブロックb、動き補償対象ブロックc、動き補償対象ブロックdについて繰り返し、動き補償対象ブロックa、動き補償対象ブロックb、動き補償対象ブロックcおよび動き補償対象ブロックdのすべての動き補償を行うと、当該符号化対象マクロブロックの動き補償を完了する。
一方、画像復号化装置400では、画像符号化装置300によって符号化された符号化データBitstreamを復号化する。ダイレクトモードにおいて、画像復号化装置400では、動き情報変換部401が画像符号化装置300の動き情報変換部301に対応する処理を行い、動き補償部402が画像符号化装置300の動きベクトル検出部302および動き補償部303に対応する処理を行うことによって、画像符号化装置300と同様にして、各動き補償対象ブロックの動き補償を行うことができる。
可変長復号化部201によって符号化データBitstreamから抽出された符号化モードModに、復号化対象マクロブロックがダイレクトモードで符号化されていることが示されている場合、動き情報変換部401は、動き補償対象ブロックの後方同位置にある動き補償済みブロックの動き補償のサイズが動き補償対象ブロックのサイズと同じか否かを判断し、同じである場合、図5のフローチャートに示される手順で、動き補償対象ブロックの動きベクトルを算出するよう動き補償部402に指示する。
この指示に従って、動き補償部402は、まず、図3(b)に示す復号化対象ピクチャB1の後方のPピクチャ(後方の参照ピクチャ)P2内で、動き補償対象ブロックと同位置にある動き補償済みブロックの「動きが小さい」か否かを調べ(S401)、「動きが小さい」場合、動き補償対象ブロックの動きベクトルを(0、0)とする(S402)。すなわち、この動き補償対象ブロックについては、画面間予測を用いた動き補償を行わない。一方、後方のPピクチャ内で動き補償対象ブロックと同位置にある動き補償済みブロックの「動きが小さく」ない場合、動き補償部402は、復号化対象マクロブロックの周辺ブロックの動きベクトルから算出される復号化対象マクロブロックの動きベクトルMVを、当該動き補償対象ブロックの動きベクトルとする(S404)。復号化済みの周辺ブロックの動きベクトルを用いて復号化対象マクロブロックの動きベクトルを算出する方法は、画像符号化装置300の場合に説明した方法と同じである。
ステップS402またはステップS404において動き補償対象ブロックの動きベクトルが決定されると、動き補償部402は、画像メモリ204内の参照画像データRefのうち、決定された動きベクトルで示される位置のブロックを読み出し、予測画像データPredを生成する(S403)。このようにして、動き補償部402は、動き補償対象ブロックとその後方同位置にある動き補償済みブロックとが同じブロックサイズで動き補償されている場合においても、後方同位置の動き補償済みブロックの「動きが小さい」か否かに応じて、動き補償対象ブロックごとの動きベクトルを決定し、動き補償を行うことができる。
また、抽出された符号化モードModに、復号化対象マクロブロックがダイレクトモードで符号化されていることが示されている場合で、動き補償対象ブロックとその後方同位置にある動き補償済みブロックとが同じブロックサイズで動き補償されていない場合、動き情報変換部401は、図7のフローチャートに示される手順で動き補償対象ブロックの動きベクトルを算出するよう動き補償部402に指示する。動き補償部402は、(復号化対象ピクチャ内)復号化対象マクロブロックの(直近後方のPピクチャ内)後方同位置マクロブロックにおいて、8画素×8画素の動き補償対象ブロックに対応する8画素×8画素のブロックに含まれる、4つの4画素×4画素の動き補償済みブロックの動きを調べ、4つのうち、2つ以上の動き補償済みブロックの「動きが小さい」場合には、動き補償対象ブロックの動きベクトルを(0、0)とする(S502)。そうでない場合には、復号化対象マクロブロックの周辺ブロックの動きベクトルを用いて算出された、復号化対象マクロブロックの動きベクトルMVを動き補償対象ブロックの動きベクトルとする(S504)。ステップS502またはステップS504において動き補償対象ブロックの動きベクトルが決定されると、動き補償部402は、画像メモリ204内の参照画像データRefのうち、決定された動きベクトルで示される位置のブロックを読み出し、予測画像データPredを生成する(S503)。これにより、動き補償部402は、動き補償対象ブロックとその後方同位置にある動き補償済みブロックとが同じブロックサイズで動き補償されていない場合においても、後方同位置の動き補償済みブロックの「動きが小さい」か否かを判定することができる。従って、動き補償部402は、この判定結果に応じて、動き補償対象ブロックごとの動きベクトルを決定し、動き補償対象ブロックの動き補償を行うことができる。
以上のように本発明の動き補償方法を用いた画像符号化装置300および画像復号化装置400によれば、Bピクチャの動き補償符号化において、従来の動き補償対象ブロックより大きいサイズの動き補償対象ブロックを単位として動き補償を行うので、Bピクチャの符号化および復号化における画像メモリへのアクセスによる負荷を低減することができる。
なお、上記実施の形態1では、Bピクチャの動き補償対象ブロックのサイズを8画素×8画素、Pピクチャの動き補償済みブロックのサイズを4画素×4画素として説明したが、本発明はこれに限定されず、これとは異なるブロックサイズに定めてもよい。また、直近後方ピクチャにおいて動き補償対象ブロックに対応するブロックのうちの2つ以上の動き補償済みブロックの「動きが小さい」場合、動き補償対象ブロックの動きベクトルを(0、0)としたが、必ずしも「2つ以上」である必要はなく、「1つ以上」、「3つ以上」または「全部」としてもよい。また、BピクチャとPピクチャとの動き補償対象ブロックおよび動き補償対象ブロックのサイズを上記以外に定めた場合には、それらのブロックサイズの比に応じて適当に定めればよい。以下の実施の形態においても同様である。
さらに、上記実施の形態1において、図5または図7に示したフローチャートでは、周辺ブロックの動きベクトルに基づいて決定される動きベクトルは、1つの符号化または復号化対象マクロブロックについて1つであるので、同一符号化または復号化対象マクロブロック内の動き補償対象ブロックにつき、ステップS404またはステップS504の処理が実行される場合には、毎回、同じ計算処理をする結果となっている。しかし、本発明はこれに限定されず、例えば、符号化または復号化対象マクロブロックごとにあらかじめ周辺ブロックの動きベクトルに基づいて動きベクトルを決定しておき、すなわち、ステップS401またはステップS501の判断の前にステップS404またはステップS504の処理を行っておき、ステップS404またはステップS504では、単に、「周辺ブロックの動きベクトルに基づいてあらかじめ決定された動きベクトルの値を、当該動き補償対象ブロックの動きベクトルとして用いる」としてもよい。このようにすれば、動き補償対象ブロックの後方同位置にあるブロックの「動きが小さく」ない場合に、周辺ブロックの動きベクトルに基づく動きベクトルの計算回数を、より少なくし、動きベクトル検出部302および動き補償部402の処理負荷を低減することができるという効果がある。以下の実施の形態においても同様である。
また、ステップS401またはステップS501の判断の前にステップS404またはステップS504の処理を行っておく代わりに、ステップS404またはステップS504の処理があった場合には、算出された符号化または復号化対象マクロブロックの動きベクトルMVをメモリなどに保持するとしてもよい。動きベクトルMVを保持しておく期間は、同一符号化または復号化対象マクロブロック内の動き補償対象ブロックを処理している期間である。具体的には、動きベクトル検出部303または動き補償部402は、符号化または復号化対象マクロブロックにおいて、動き補償対象ブロックの後方同位置にあるブロックの「動きが小さく」ない場合に初めて符号化または復号化対象マクロブロックの動きベクトルMVを算出し、同じ符号化または復号化対象マクロブロック内の動き補償対象ブロックの処理が行われている間、符号化または復号化対象マクロブロックの動きベクトルMVを保持しているとしてもよい。このようにすれば、動きベクトル検出部302および動き補償部402の動きベクトル算出回数をさらに低減することができ、動きベクトル検出部302および動き補償部402の処理負荷をさらに低減することができるという効果がある。
また、上記実施の形態1において、図5または図7のフローチャートのステップS404またはステップS504では、周辺ブロックの動きベクトルを用いて符号化または復号化対象マクロブロックの動きベクトルMVを決定するとしたが、必ずしもこの方法で符号化または復号化対象マクロブロックの動きベクトルMVを決定する必要はない。例えば、動きベクトルがあらかじめ決定されている他のピクチャにおいて、符号化または復号化対象マクロブロックと同位置にあるブロックの動きベクトルを用いて符号化または復号化対象マクロブロックの動きベクトルを決定するとしてもよい。以下の実施の形態においても同様である。
なお、上記実施の形態では、動き情報変換部301は、参照ピクチャの動きパラメータが動きベクトル記憶部110に格納された後、所定のブロックサイズの動きパラメータに変換すると説明しているが、参照ピクチャの動きパラメータが動きベクトル記憶部110に格納される前に変換するとしてもよい。以下の実施の形態においても同様である。例えば、動き情報変換部301は、参照ピクチャの動きパラメータが、4画素×4画素のブロックを動き補償の単位として検出されている場合、それぞれ16画素×16画素のマクロブロックを4分割した8画素×8画素のブロックごとに、そのブロック(8画素×8画素)に含まれる4つの4画素×4画素のブロックで検出された動きベクトルの値を、すべて、その8画素×8画素のブロック内でマクロブロック(16画素×16画素)の4隅にあたる4画素×4画素の動き補償対象ブロックで検出された動きベクトルの値に書き換える。これにより、マクロブロックを4分割して得られる8画素×8画素のブロックをさらに4分割して得られる4画素×4画素のブロックは、いずれも、8画素×8画素のブロック内でマクロブロックの隅にあるブロック(4画素×4画素)に対して検出された同じ動きベクトルを持つことになる。このように変換された動きパラメータを動きベクトル記憶部110に格納しておくことにより、動きベクトル検出部302は、後方同位置にあるブロックに含まれるいずれか1つの4画素×4画素のブロックの動きベクトルを読み出せば、それを用いて容易に後方同位置にあるブロックの動きを判定することができる。
また、動き情報変換部301は、例えば、参照ピクチャの動きパラメータが、4画素×4画素のブロックを動き補償の単位として検出されている場合、動きベクトル記憶部110内において、16画素×16画素のマクロブロックを4分割した8画素×8画素の各ブロックに対応付けて、1つの動きベクトルだけを格納しておくとしてもよい。以下の実施の形態においても同様である。この動きベクトルは、8画素×8画素のブロック内でマクロブロックの隅にあるブロック(4画素×4画素)に対して検出された動きベクトルなどである。これにより、動きベクトル検出部302は、参照ピクチャの動きパラメータが、4画素×4画素のブロックを動き補償の単位として検出されている場合であっても、図3(b)および図5に示した処理と同様にして、後方同位置にあるブロックの「動きが小さい」か否かを判定することができる。
さらに、動き情報変換部301は、例えば、参照ピクチャの動きパラメータが、4画素×4画素のブロックを動き補償の単位として検出されている場合、8画素×8画素のブロック内でマクロブロックの隅にあるブロック(4画素×4画素)に対して検出された動きベクトルから、そのブロック(4画素×4画素)の「動きが小さい」か否かを判定し、その判定結果を示すフラグを、符号化対象マクロブロック内の8画素×8画素の各ブロックに対応付けて動きベクトル記憶部110に格納しておくとしてもよい。以下の実施の形態においても同様である。これにより、動きベクトル検出部302は、Bピクチャの動き補償の際に、後方同位置にあるブロックの「動きが小さい」か否かを判定する必要がなくなり、Bピクチャの動き補償における処理負荷を低減することができるという効果がある。
(実施の形態2)
次に説明する本実施の形態2は、符号化または復号化対象マクロブロックと後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックの動きベクトルを(0、0)とするか、周辺ブロックの動きベクトルから決定するかのいずれかを選択する際の判定方法が実施の形態1と異なる。符号化または復号化対象マクロブロックと後方同位置マクロブロックとが同じブロックサイズで動き補償されている場合には、実施の形態1の図3(a)から図5で説明した方法により、動き補償対象ブロックの動き補償が行われる。従って、構成の点では、本実施の形態2の画像符号化装置および画像復号化装置が、実施の形態1に示した画像符号化装置300および画像復号化装置400と異なる主たる部分は、画像符号化装置の動き情報変換部および動きベクトル検出部と、画像復号化装置の動き情報変換部および動き補償部である。よって、以下では、重複する構成要素の説明を省略する。
図8は、本実施の形態2において、符号化または復号化対象マクロブロックとその後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合の動き補償対象ブロックとその後方同位置にある複数のブロックとの対応を示す図である。同図の左側には、図6と同様に、符号化または復号化対象Bピクチャ内の符号化または復号化対象マクロブロックが示されている。同図の右側には、図6と同様に、符号化または復号化対象マクロブロックの後方同位置マクロブロックが示されている。右側に示される後方同位置マクロブロックはPピクチャまたはBピクチャであり、例えば、それぞれ4画素×4画素のブロック(図中の最小区画)を単位として、すでに動きベクトルの検出および動き補償が行われている。左側に示される符号化または復号化対象マクロブロックでは、図6と同様に、8画素×8画素のブロック(図中の最小区画)を単位として動きベクトルの決定および動き補償が行われる。
図8に示すように、1つの符号化または復号化対象マクロブロックは4つの動き補償対象ブロックから構成される。それらを例えば、動き補償対象ブロックa、動き補償対象ブロックb、動き補償対象ブロックcおよび動き補償対象ブロックdとすると、その後方同位置マクロブロック内では、それぞれ4画素×4画素の4つの動き補償済みブロックから構成される4つの8×8画素のブロックが、それぞれの動き補償対象ブロックに対応する。
図9は、実施の形態2において、符号化または復号化対象マクロブロックと後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックの後方同位置にあるブロックの動きに応じて、異なる動きベクトルで動き補償対象ブロックを動き補償するための処理手順を示すフローチャートである。すでに説明したように、本実施の形態2の動き補償方法では、動き補償対象ブロックの動きベクトルを選択する際の判定方法が異なるだけであるので、フローチャートでは、図9のステップS701の処理と、図7のステップS501の処理とが異なるだけである。
まず、動き情報変換部は、動き補償対象ブロックの後方同位置にあるブロックの動き補償のサイズが動き補償対象ブロックのサイズと同じか否かを判断し、同じである場合、図5のフローチャートに示される手順で、動き補償対象ブロックの動きベクトルを算出するよう動きベクトル検出部または動き補償部に指示する。逆に、同じブロックサイズで動き補償されていない場合、図9のフローチャートに示される手順で動き補償対象ブロックの動きベクトルを算出するよう、動きベクトル検出部または動き補償部に指示する。
動きベクトル検出部または動き補償部は、符号化または復号化対象マクロブロック内の動き補償対象ブロックaにつき、後方同位置マクロブロック内の対応するブロックを構成している4つの動き補償済みブロックのうち、後方同位置マクロブロックの隅に位置する動き補償済みブロックa'の「動きが小さい」か否かを調べる(S701)。
動き補償済みブロックa'の「動きが小さい」か否かを判定する基準は、図5に示したステップS401における判定基準と同様である。動き補償済みブロックa'の「動きが小さい」場合、動きベクトル検出部または動き補償部は、符号化または復号化対象マクロブロック内の動き補償対象ブロックaの動きベクトルを(0、0)とする(S702)。動き補償部は、決定された動きベクトル(0、0)を用いて動き補償対象ブロックaを動き補償する(S703)。
動き補償対象ブロックa'の「動きが小さく」ない場合、動きベクトル検出部または動き補償部は、符号化または復号化対象マクロブロックの周辺ブロックの動きベクトルから当該符号化または復号化対象マクロブロックの動きベクトルMVを決定する(S704)。周辺ブロックの動きベクトルから符号化または復号化対象マクロブロックの動きベクトルMVを決定する処理は、図5のステップS404における処理と同様である。動き補償部は、このように決定された符号化または復号化対象マクロブロックの動きベクトルMVを用いて動き補償対象ブロックaの動き補償予測画素値を生成する(S703)。以上の処理により、1つの動き補償対象ブロックaの動き補償が完了する。
実施の形態2の画像符号化装置において、動きベクトル検出部、動き補償部および動き情報変換部と、画像復号化装置において動き補償部および動き情報変換部とは、続いて、上記ステップS701〜ステップS704の処理を、残りの動き補償対象ブロックb、動き補償対象ブロックc、および動き補償対象ブロックdについて繰り返すことにより、1つの符号化または復号化対象マクロブロックの動き補償を完了する。
すなわち、動き補償対象ブロックbについては、動き補償対象ブロックbの後方同位置にあるブロックにおいて、符号化または復号化対象マクロブロックの後方同位置マクロブロックの隅に位置する動き補償済みブロックb'の「動きが小さい」か否かを調べ、動き補償済みブロックb'の「動きが小さい」場合には動きベクトル(0、0)を選択する。動き補償済みブロックb'の「動きが小さく」ない場合には、周辺ブロックの動きベクトルを用いて算出される符号化または復号化対象マクロブロックの動きベクトルMVを選択する。動き補償部は、選択された動きベクトルを用いて、動き補償対象ブロックbの動き補償を行う。
また、動き補償対象ブロックcおよび動き補償対象ブロックdについても同様に、動き補償済みブロックc'および動き補償済みブロックd'の動きに応じて動きベクトルを選択し、選択された動きベクトルで動き補償対象ブロックcおよび動き補償対象ブロックdを動き補償する。このようにして、符号化または復号化対象マクロブロック内のすべての動き補償対象ブロックの動き補償を行うと、当該符号化または復号化対象マクロブロックの動き補償を完了する。
以上のように本実施の形態2の動き補償方法によれば、後方同位置マクロブロックの隅に位置する1つの動き補償済みブロックの動きを調べるだけで、動き補償対象ブロックの動き補償に用いる動きベクトルを選択することができるので、実施の形態1の動き補償方法よりも動きベクトル検出部または動き補償部の処理負荷を低減することができるという効果がある。
(実施の形態3)
さらに、上記各実施の形態で示した画像符号化方法および画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図10は、上記実施の形態1から実施の形態2の画像符号化方法および画像復号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図である。
図10(b)は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図10(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての画像符号化方法および画像復号化方法が記録されている。
また、図10(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての画像符号化方法および画像復号化方法を、フレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法および画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、CD−ROM、メモリカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態4)
さらにここで、上記実施の形態で示した画像符号化方法や画像復号化方法の応用例とそれを用いたシステムを説明する。
図11は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図11のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラex116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図12は、上記実施の形態で説明した画像符号化方法と画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図13を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってディジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信データを増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声データに変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してディジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信データを変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声データに変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図14に示すようにディジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報のビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録したビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図13に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
本発明に係る画像符号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送の放送局および携帯電話機などに備えられる画像符号化装置として有用である。
また、本発明に係る画像復号化装置は、通信機能を備えるパーソナルコンピュータ、PDA、ディジタル放送を受信するSTBおよび携帯電話機などに備えられる画像復号化装置として有用である。
本発明に係る画像符号化方法を用いた画像符号化装置の一実施の形態の構成を示すブロック図である。 本発明に係る画像復号化方法を用いた画像復号化装置の一実施の形態の構成を示すブロック図である。 (a)周辺ブロックが符号化または復号化対象マクロブロックと同じブロックサイズで動き補償されている場合に、周辺ブロックの動きベクトルを用いて符号化または復号化対象マクロブロックの動きベクトルMVを決定する方法を示す図である。(b)符号化または復号化対象マクロブロックと後方同位置マクロブロックとが同じブロックサイズで動き補償されている場合において、動き補償対象ブロックとその後方同位置にある基準ブロックとの対応を示す図である。 周辺ブロックが符号化または復号化対象マクロブロックより小さいブロックサイズで動き補償されている場合に、周辺ブロックの動きベクトルを用いて符号化対象マクロブロックの動きベクトルMVを決定する方法を示す図である。 符号化対象マクロブロックと後方同位置マクロブロックとが同じブロックサイズで動き補償されている場合において、動き補償対象ブロックの後方同位置にある基準ブロックの動きに応じて、異なる動きベクトルで動き補償対象ブロックを動き補償するための処理手順を示すフローチャートである。 符号化対象マクロブロックとその後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックとその後方同位置にある複数のブロックとの対応を示す図である。 符号化または復号化対象マクロブロックと後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックの後方同位置にあるブロックの動きに応じて、異なる動きベクトルで動き補償対象ブロックを動き補償するための処理手順を示すフローチャートである。 実施の形態2において、符号化または復号化対象マクロブロックとその後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合の動き補償対象ブロックとその後方同位置にある複数のブロックとの対応を示す図である。 実施の形態2において、符号化または復号化対象マクロブロックと後方同位置マクロブロックとが異なるブロックサイズで動き補償されている場合において、動き補償対象ブロックの後方同位置にあるブロックの動きに応じて異なる動きベクトルで動き補償対象ブロックを動き補償するための処理手順を示すフローチャートである。 (a)記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。(b)フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示す。(c)フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。 コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。 上記実施の形態で説明した動画像符号化方法と動画像復号化方法を用いた携帯電話ex115を示す図である。 携帯電話の構成を示すブロック図である。 ディジタル放送用システムの一例を示す図である。 従来の画像符号化装置の構成を示すブロック図である。 画素補間を行う従来の画像復号化装置の構成を示すブロック図である。 画素補間を行う場合において予測画像を生成するために必要な動き補償対象ブロックとその周辺画素との一例を示す図である。
符号の説明
300 画像符号化装置
101 差分器
102 画像符号化部
103 可変長符号化部
104 画像復号化部
105 加算器
106 画像メモリ
107 ピクチャメモリ
110 動きベクトル記憶部
301 動き情報変換部
302 動きベクトル検出部
303 動き補償部
400 画像復号化装置
201 可変長復号化部
202 画像復号化部
203 加算器
204 画像メモリ
205 動きベクトル記憶部
401 動き情報変換部
402 動き補償部
Img 画像データ
Res 差分画像データ
CodedRes 差分画像符号化データ
Bitstream 符号化データ
Pred 予測画像データ
Recon 復号化画像データ
Ref 参照画像データ
MotionParam 動きパラメータ
Mod 符号化モード

Claims (17)

  1. 画像信号を符号化または復号化するための動き補償方法であって、
    符号化対象または復号化対象マクロブロックに対応する符号化済みまたは復号化済みのマクロブロックを構成するブロック群のうちで、前記符号化済みまたは復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記符号化対象または復号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、
    選択された方法により生成された動きベクトルに基づいて前記符号化対象または復号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップと
    を含むことを特徴とする動き補償方法。
  2. 前記ブロック群の各ブロックの大きさは(Nx)画素×(Ny)画素(ただし、Nx、Nyは自然数)であり、前記符号化対象または復号化対象マクロブロック内のブロックの大きさは(KxNx)画素×(KyNy)画素(ただし、Kx、Kyは自然数)である
    ことを特徴とする請求項1記載の動き補償方法。
  3. 前記動き補償方法において、NxおよびNyのいずれか一方は他方の倍数であり、KxNx≧8かつKyNy≧8である
    ことを特徴とする請求項2記載の動き補償方法。
  4. 前記動きベクトルの生成方法の1つは、動きベクトルを「0」とする方法である
    ことを特徴とする請求項1〜3のいずれか1項に記載の動き補償方法。
  5. 前記動きベクトルの生成方法の1つは、前記符号化対象または復号化対象マクロブロックが属するピクチャにおいて前記符号化対象または復号化対象マクロブロックの周辺に位置する符号化済みまたは復号化済みブロックの動きベクトルを参照して動きベクトルを生成する方法である
    ことを特徴とする請求項1〜4のいずれか1項に記載の動き補償方法。
  6. 前記動き補償方法では、複数の符号化済みまたは復号化済みピクチャを参照して前記各符号化対象または復号化対象マクロブロック内のブロックの予測画像を生成する
    ことを特徴とする請求項1〜5のいずれか1項に記載の動き補償方法。
  7. 画像信号を符号化する画像符号化方法であって、
    符号化対象マクロブロックに対応する符号化済みのマクロブロックを構成するブロック群のうちで、前記符号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記符号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、
    選択された方法により生成された動きベクトルに基づいて前記符号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップと
    前記画像信号と前記予測画像との差分を符号化する符号化ステップ
    とを含むことを特徴とする画像符号化方法。
  8. 前記ブロック群の各ブロックの大きさは(Nx)画素×(Ny)画素(ただし、Nx、Nyは自然数)であり、前記符号化対象または復号化対象マクロブロック内のブロックの大きさは(KxNx)画素×(KyNy)画素(ただし、Kx、Kyは自然数)である
    ことを特徴とする請求項7記載の画像符号化方法。
  9. 前記動き補償方法において、NxおよびNyのいずれか一方は他方の倍数であり、KxNx≧8かつKyNy≧8である
    ことを特徴とする請求項8記載の動き補償方法。
  10. ストリームを復号化し復号化画像を得るための画像復号化方法であって、
    復号化対象マクロブロックに対応する復号化済みのマクロブロックを構成するブロック群のうちで、前記復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記復号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、
    選択された方法により生成された動きベクトルに基づいて前記復号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップと、
    前記ストリームを復号化した差分画像と前記予測画像とを加算して復号化画像とする復号化ステップと
    を含むことを特徴とする画像復号化方法。
  11. 前記ブロック群の各ブロックの大きさは(Nx)画素×(Ny)画素(ただし、Nx、Nyは自然数)であり、前記符号化対象または復号化対象マクロブロック内のブロックの大きさは(KxNx)画素×(KyNy)画素(ただし、Kx、Kyは自然数)である
    ことを特徴とする請求項10記載の画像復号化方法。
  12. 前記動き補償方法において、NxおよびNyのいずれか一方は他方の倍数であり、KxNx≧8かつKyNy≧8である
    ことを特徴とする請求項11記載の動き補償方法。
  13. 画像信号を動き補償するためのプログラムであって、
    符号化対象または復号化対象マクロブロックに対応する符号化済みまたは復号化済みのマクロブロックを構成するブロック群のうちで、前記符号化済みまたは復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記符号化対象または復号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、
    選択された方法により生成された動きベクトルに基づいて前記符号化対象または復号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップと
    をコンピュータに実行させるプログラム。
  14. 画像信号を符号化するためのプログラムであって、
    符号化対象マクロブロックに対応する符号化済みのマクロブロックを構成するブロック群のうちで、前記符号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記符号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、
    選択された方法により生成された動きベクトルに基づいて前記符号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップと、
    前記画像信号と前記予測画像との差分を符号化する符号化ステップ
    をコンピュータに実行させるプログラム。
  15. ストリームを復号化し復号化画像を得るためのプログラムであって、
    復号化対象マクロブロックに対応する復号化済みのマクロブロックを構成するブロック群のうちで、前記復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記復号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択ステップと、
    選択された方法により生成された動きベクトルに基づいて前記復号化対象マクロブロック内のブロックの予測画像を生成する動き補償ステップと、
    前記ストリームを復号化した差分画像と前記予測画像とを加算して復号化画像とする復号化ステップと
    をコンピュータに実行させるプログラム。
  16. 画像信号を符号化する画像符号化装置であって、
    符号化対象マクロブロックに対応する符号化済みのマクロブロックを構成するブロック群のうちで、前記符号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記符号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択手段と、
    選択された方法により生成された動きベクトルに基づいて前記符号化対象マクロブロック内のブロックの予測画像を生成する動き補償手段と、
    前記画像信号と前記予測画像との差分を符号化する符号化手段と
    を備えることを特徴とする画像符号化装置。
  17. ストリームを復号化し復号化画像を得るための画像復号化装置であって、
    復号化対象マクロブロックに対応する復号化済みのマクロブロックを構成するブロック群のうちで、前記復号化済みのマクロブロックの隅に位置するブロックの動きベクトルに応じて、前記復号化対象マクロブロック内のブロックに対する動きベクトルの生成方法を選択する選択手段と、
    選択された方法により生成された動きベクトルに基づいて前記復号化対象マクロブロック内のブロックの予測画像を生成する動き補償手段と、
    前記ストリームを復号化した差分画像と前記予測画像とを加算して復号化画像とする復号化手段と
    を備えることを特徴とする画像復号化装置。
JP2003301479A 2002-11-25 2003-08-26 動き補償方法および動き補償装置 Expired - Lifetime JP4406239B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003301479A JP4406239B2 (ja) 2002-11-25 2003-08-26 動き補償方法および動き補償装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002340390 2002-11-25
JP2003301479A JP4406239B2 (ja) 2002-11-25 2003-08-26 動き補償方法および動き補償装置

Publications (2)

Publication Number Publication Date
JP2004194283A true JP2004194283A (ja) 2004-07-08
JP4406239B2 JP4406239B2 (ja) 2010-01-27

Family

ID=32774724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003301479A Expired - Lifetime JP4406239B2 (ja) 2002-11-25 2003-08-26 動き補償方法および動き補償装置

Country Status (1)

Country Link
JP (1) JP4406239B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152315A1 (ja) * 2010-06-04 2011-12-08 ソニー株式会社 画像処理装置および方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011152315A1 (ja) * 2010-06-04 2011-12-08 ソニー株式会社 画像処理装置および方法

Also Published As

Publication number Publication date
JP4406239B2 (ja) 2010-01-27

Similar Documents

Publication Publication Date Title
KR100985236B1 (ko) 움직임 보상 방법, 화상 부호화 방법 및 화상 복호화 방법
JP4718578B2 (ja) 画像復号化方法および画像復号化装置
KR100967237B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
JP3878591B2 (ja) 動画像符号化方法および動画像復号化方法
JP4406239B2 (ja) 動き補償方法および動き補償装置
JP3824268B2 (ja) 動きベクトル導出方法、および動きベクトル導出装置
JP2004215215A (ja) 動きベクトル検出方法
JP2005142986A (ja) 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
JP3884472B2 (ja) 動画像符号化方法および動画像復号化方法
JP2004040512A (ja) 画像符号化方法および画像復号方法
JP2005341545A (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラムおよび動画像復号プログラム
JP4503959B2 (ja) 画像符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080604

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090914

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091013

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091106

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4406239

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121113

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131113

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313135

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term