(57)【要約】【課題】  精度の高い動き補償により符号化効率の高い画像符号化方法を提供する。【解決手段】  本発明の動き検出および動き補償方法を用いた画像符号化装置１００は、あるピクチャの参照領域か２つ以上の参照画像位置を検出し、複数の参照ピクチャの複数の参照画像候補から最も符号化効率の高い動き補償モードを決定する。つまり、符号化済みの１つ以上の画像から得られた画像(参照画像)を用いて未だ符号化されていないピクチャを符号化する際に、参照画像の数とその参照画像の属するピクチャを決定する所定の方法Aが、参照画像の数が２以上である場合に、それらが属するピクチャが同一であるか否かを考慮しない。【選択図】  図１
2005086290.tif 000002
【特許請求の範囲】
【請求項１】
符号化済みの１つ以上の画像から得られた画像(参照画像)を用いて未だ符号化されていないピクチャを符号化する画像符号化方法であって、参照画像の数とその参照画像の属するピクチャを決定する所定の方法Aが、参照画像の数が２以上である場合に、それらが属するピクチャが同一であるか否かを考慮しないことを特徴とする、画像符号化方法。
【請求項２】
請求項１に記載の画像符号化方法であって、上記所定の方法Aは複数の参照画像候補のうち動き補償ブロックタイプの異なる参照画像を複数参照する組み合わせは選択しないことを特徴とする、画像符号化方法。
【請求項３】
請求項１記載の画像符号化方法であって、上記所定の方法Aは、参照画像の数が２以上である場合に、それらが属するピクチャが同一であるか否かを考慮するか否かを、所定の方法Bを用いて変更できることを特徴とする、画像符号化方法。
【請求項４】
請求項１記載の画像符号化方法であって、所定の方法Aは、複数の参照画像候補に評価値を与え、その値の大小によって決定することを特徴とする、画像符号化方法。
【請求項５】
請求項３記載の画像符号化方法であって、上記所定の方法Bは、参照画像の数が２以上の場合にそれが同一ピクチャであることを許可するフラグを用いて決定することを特徴とする、画像符号化方法。
【請求項６】
画像信号を符号化するためのプログラムであって、請求項１記載の方法を用いた動き補償を行って予測画像を生成し、上記画像信号と上記予測画像との差を符号化する画像符号化方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化方法に関し、特に符号化対象ピクチャと時間的に異なるピクチャのうち１つ以上の画像を用いて符号化対象ピクチャを符号化する動き補償画面間予測符号化処理に関するものである。
【背景技術】
【０００２】
近年、マルチメディアアプリケーションの発展に伴い、画像・音声・テキストなど、あらゆるメディアの情報を統一的に扱うことが一般的になってきた。この時、全てのメディアをディジタル化することにより、統一的にメディアを扱うことが可能になる。しかしながら、ディジタル化された画像は膨大なデータ量を持つため、蓄積・伝送のためには、画像の情報圧縮技術が不可欠である。一方で、圧縮した画像データを相互運用するためには、圧縮技術の標準化も重要である。画像圧縮技術の標準規格としては、ＩＴＵ‐Ｔ（国際電気通信連合  電気通信標準化部門）のH.２６１、H.２６３、ＩＳＯ／ＩＥＣ（国際標準化機構  国際電気標準会議）のＭＰＥＧ（Moving Picture Experts Group）-１、MPEG-２、MPEG-４など、またＩＴＵ−ＴとＭＰＥＧの合同であるＪＶＴ(JointVideoTeam)により現在標準化中のＨ.２６４(ＭＰＥＧ−４ＡＶＣ)がある。
【０００３】
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは１枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、１つのフレームが時刻の異なる２つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、１つのフレームをフレームのまま処理したり、２つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
【０００４】
参照画像を持たず画面内予測符号化を行うものをＩピクチャと呼ぶ。また、１枚の参照画像のみを参照し画面間予測符号化を行うものをＰピクチャと呼ぶ。また、同時に２枚の参照画像を参照して画面間予測符号化を行うことのできるものをＢピクチャと呼ぶ。Ｂピクチャは表示時間が前方もしくは後方から任意の組み合わせとして２枚のピクチャを参照することが可能である。参照画像（参照ピクチャ）は符号化の基本単位であるマクロブロックごとに指定することができるが、符号化を行ったビットストリーム中に先に記述される方の参照ピクチャを第１参照ピクチャ、後に記述される方を第２参照ピクチャとして区別する。ただし、これらのピクチャを符号化する場合の条件として、参照するピクチャが既に符号化されている必要がある。
【０００５】
Ｐピクチャ又はＢピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照フレームの画素値から予測するのではなく、ピクチャ内の各部の動き量（以下、これを動きベクトルと呼ぶ）を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけシフトした予測値と符号化対象ピクチャとの予測残差を符号化することによりデータ量を減している。この方式の場合には、復号化の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される。
【０００６】
動きベクトルはマクロブロック単位で検出されており、具体的には、符号化対象ピクチャ側のマクロブロックを固定しておき、参照ピクチャ側のマクロブロックを探索範囲内で移動させ、基準ブロックと最も似通った参照ブロックの位置を見つけることにより、動きベクトルが検出される。
【０００７】
図１３は、従来の画像符号化装置１０００の構成を示すブロック図である。画像符号化装置１０００は、差分器１００１、画像符号化部１００２、可変長符号化部１００３、画像復号化部１００４、加算器１００５、画像メモリ１００６、ピクチャメモリ１００７、動き補償符号化部１００８、動きベクトル検出部１００９、予測方向決定部１０１０および動きベクトル記憶部１０１１を備えている。なお、符号化の処理は１６x１６画素のマクロブロックと呼ばれる単位で行われ、動き補償のブロックのサイズとしては、現在策定中の規格案であるＨ．２６４では、４×４、４×８、８×４、８×８、８×１６、１６×８、１６×１６、の７通りの動き補償のブロックサイズからマクロブロック単位で適切なものを選択して符号化に使用する。
【０００８】
ピクチャメモリ１００７は、表示時間順にピクチャ単位で入力された、動画像を表す画像データImgを格納する。差分器１００１は、ピクチャメモリ１００７より読み出された画像データImgと、動き補償符号化部１００８より入力された予測画像データPredとの差分を演算し、予測差分画像データResを生成する。画像符号化部１００２は、入力された予測差分画像データResに対して周波数変換や量子化等の符号化処理を行い、差分画像符号化データCodedResを生成する。画面内符号化の場合には、画面間の動き補償を行わないので、予測画像データPredの値は"０"と考える。
【０００９】
動きベクトル検出部１００９は、画像メモリ１００６に記憶された符号化済みの復号化画像データである参照画像データRefを参照ピクチャとして用いて、そのピクチャ内の探索領域において最適と予測される位置を示す動きベクトルMotionVectorと参照ピクチャ番号RefIdxを検出し、出力する。このとき検出する動きベクトルMotionVectorは１つの参照画像データRefに対し１つである。
【００１０】
図１４は上記動きベクトル検出部１００９の処理をさらに詳しく説明するための図である。ここでは、例として符号化対象マクロブロック(１６x１６画素)内の動き補償ブロックを１６x１６画素のサイズとしたＢピクチャ時の動きベクトルを検出する場合で説明する。
【００１１】
動きベクトル検出部１００９は、符号化対象のピクチャが格納されているピクチャメモリ１００７から符号化対象のマクロブロックＭＢ０の画素と、参照ピクチャの格納されている画像メモリ１００６から参照ピクチャRefIdx１、RefIdx２内の探索領域の画素Ｐ３、Ｐ５を取得する。参照ピクチャRefIdx１、RefIdx２内の符号化対象マクロブロックの位置をＭＢ０ａとする。まず、符号化対象マクロブロックＭＢ０の画素と最も類似した位置を探索領域Ｐ３内で検出する(ＭＢ１と検出されたとする)。このとき、検出された類似位置を符号化対象マクロブロックの位置ＭＢ０ａからの移動距離を動きベクトルＭＶ１であらわす。同様に探索領域Ｐ５でも同様に類似位置を検出し(ＭＢ２の位置が検出されたとする)、その位置を動きベクトルＭＶ２とあらわす。
【００１２】
動きベクトル検出部で検出された動きベクトルＭＶ１、ＭＶ２および、参照しているピクチャ番号RefIdx(RefIdx１やRefIdx２など)は予測方向決定部１０１０に出力する。
【００１３】
予測方向決定部１０１０は、符号化対象ブロックの予測方向Dir(前方片方向（Fwd）、後方片方向(Bwd)、双方向（Bid）など)を決定し、決定された方向Dirと参照ピクチャ番号RefIdxと、動きベクトルMoitonVectorを動き補償符号化部１００８に入力する。動き補償符号化部１００８はこの入力に基づいて予測画像データPredを生成する。ここで決定された予測方向Dirで使用した参照ピクチャ番号RefIdxと動きベクトルMotionVectorは動きベクトル記憶部１０１１に保存される。
【００１４】
なお、動き補償符号化部１００８では、動きベクトルが１／２画素、１／４画素などの小数以下の画素位置を指す場合には、低域通過フィルタなどを用いて１／２画素、１／４画素などの小数画素位置の画素値を補間生成する。可変長符号化部１００３は、入力された差分画像符号化データCodedResおよび動きベクトル検出部１００９で求められた動きパラメータMotionParamに対して可変長符号化等を行い、さらに動き補償符号化部１００８から出力された予測方向Dirと参照するブロックが属する参照ピクチャ番号RefIdxを付加することにより符号化データBitstreamを生成する。ここで動きパラメータMotionParamとは動きベクトルMotionVectorと既に符号化した符号化対象ピクチャの動きベクトル(動きベクトル記憶部１０１１を参照)から予測した動きベクトルから求めた動きベクトル差分である。
【００１５】
画像復号化部１００４は、入力された符号化データ差分画像符号化データCodedResに対して逆量子化や逆周波数変換等の復号化処理を行い、復号差分画像データReconResを生成する。加算器１００５は、画像復号化部１００４より出力された復号差分画像データと、動き補償符号化部１００８より入力された予測画像データPredとを加算し、復号化画像データReconを生成する。画像メモリ１００６は、生成された復号化画像データReconを格納する。
【００１６】
被写体の動きによっては、整数画素単位より小さい単位の動きで予測を行うと予測効果が高い場合がある。一般に、整数画素単位より小さい単位の動きを伴う予測画像の画素値の計算には画素補間を使用する。この画素補間は、参照画像の画素値に対して線形フィルタ（低域通過フィルタ）によるフィルタリングを行うことにより実行される。この線形フィルタのタップ数を増やせば良好な周波数特性を持つフィルタを実現でき、予測効果が高くなるが処理量は大きくなる。一方、フィルタのタップ数が少ないとフィルタの周波数特性は悪くなり、予測効果は低くなるが処理量は小さくなる。
【００１７】
現在策定中の規格案であるＨ．２６４では１／４画素までの単位で動き補償を行うことが許可されており(MPEG-４ Simple Profileでは１／２画素まで)、線形フィルタ画素補間の方法としては、６タップフィルタが採用されている。この６タップフィルタによる画素補間の方法について、図１５を用いて説明する。
【００１８】
図１４はＨ．２６４における輝度成分の画素補間方法を説明するための図である。Ｆ１〜Ｆ３６は整数画素位置の画素値、Ｈ１〜Ｈ７は１/２画素位置の画素値をQ１、Q２は１/４画素位置の画素値を表している。例えば、１/２画素位置Ｈ１の画素値を求める場合、式Ａに示すように周囲６画素の整数画素値(Ｆ１〜Ｆ６)を用いた演算により画素値を予測生成する（H２〜H６も同様に求めることができる）。また、Ｈ７の画素値を求める場合、式Ｂに示すように周囲６画素の１/２画素位置の画素値(Ｈ１〜Ｈ６)を用いた演算により画素値を予測生成する。また、１/４画素位置Q１やQ２の画素値を求める場合式C、式Dのように、近傍の１/２画素値を用いた演算により画素値を生成する。このとき式Ａ、式Ｂにおける定数αは丸め係数による値である。(非特許文献１参照)
【非特許文献１】"Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification", Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG , JVT-G０５０r１ ,  ２７ May ２００３
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしなら、被写体の動きによっては、１／４画素位置までの動き補償では予測誤差を少なく、すなわち効率良く符号化することができず符号化したストリームを復号化した際画質が劣化するという課題がある。
【００２０】
本発明は、このような問題を解決するためになされたものであり、精度の高い動き補償により符号化効率の良い画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００２１】
このような課題を解決するため、本発明は、符号化済みの１つ以上の画像から得られた画像(参照画像)を用いて未だ符号化されていないピクチャを符号化する画像符号化方法であって、参照画像の数とその参照画像の属するピクチャを決定する所定の方法Aが、参照画像の数が２以上である場合に、それらが属するピクチャが同一であるか否かを考慮しないことを特徴とする画像符号化方法および画像符号化装置を提供する。
【００２２】
また、上記所定の方法Aは複数の参照画像候補のうち動き補償ブロックタイプの異なる参照画像を複数参照する組み合わせは選択しないことを特徴とするものである。
【００２３】
また、上記所定の方法Aは、参照画像の数が２以上である場合に、それらが属するピクチャが同一であるか否かを考慮するか否かを、所定の方法Bを用いて変更できることを特徴とするものである。
【００２４】
また、上記所定の方法Aは、複数の参照画像候補に評価値を与え、その値の大小によって決定することを特徴とするものである。
また、上記所定の方法Bは、参照画像の数が２以上の場合にそれが同一ピクチャであることを許可するフラグを用いて決定することを特徴とするものである。
【発明の効果】
【００２５】
本発明にかかる動き補償画面間予測符号化方法および符号化装置によって符号化すると、時間的に動きの細かい画像の符号化において、従来方法より精度の高い動き補償を行うことができ、すなわち予測誤差が少なく符号化効率のよい符号化を行うことが可能となる。つまり、同一ビットレートでより高画質な符号化を行うことができる。
【００２６】
また、本発明にかかる画像符号化方法をプログラムまたはハードウエア等で実現する場合、小数画素を生成する動き補間時に、１/２画素の値を一時的にプログラムまたはハードウエア内のメモリに保持することによって、複数回の１/２画素値演算を省略することができ、演算量の増加を抑え、消費電力を少なく抑えることもできる。
【００２７】
さらに、本発明にかかる画像符号化方法および装置によれば、動き補償処理にかかる演算量およびメモリ量は従来のBピクチャの双予測から増加することなく実現することが可能である。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の実施の形態を図面を参照しながら説明する。
【００２９】
(実施の形態１)
以下、本発明の第１の実施形態について図面を用いて詳細に説明する。
図１は、本発明に係る画像符号化方法を用いた画像符号化装置１００の構成を示すブロック図である。画像符号化装置１００は、差分器１００１、画像符号化部１００２、可変長符号化部１００３、画像復号化部１００４、加算器１００５、画像メモリ１００６、ピクチャメモリ１００７、動き補償符号化部１００８、モード決定部１０２、動きベクトル候補検出部１０１および動きベクトル記憶部１０１１を備えている。符号化の処理は従来例と同様１６x１６画素のマクロブロックと呼ばれる単位で行われる。この画像符号化装置１００に備わる動きベクトル候補検出部１０１とモード決定部１０２以外の処理部は、背景技術で図１３を用いて説明した処理部と同様である。したがって、ここでは動きベクトル候補検出部１０１とモード決定部１０２の処理についてのみ詳細に述べ、その他の処理部については省略する。
【００３０】
図２は動きベクトル候補検出部１０１における、動き補償ブロックサイズを４x４とした場合の動きベクトルの検出方法を説明するための図である。背景技術は図１４を用いて説明したように、探索領域内で最も類似した位置(整数精度でも小数精度でもよい)を検出するのは同様であるが、従来例が類似位置を１点決定するのにたいし、本発明では、２つ以上の類似位置を検出することが特徴である。
【００３１】
まず、図２(ａ)に示すように整数画素精度での動き検出を行い、図１４で示した参照領域Ｐ３から符号化対象ブロックＭＢ０と最も画素値の差分の絶対値和ＳＡＤが小さい位置(類似した位置)を決定する(ＭＢ１に決定したとしＭＢ１に含まれる整数精度画素をＦ１〜Ｆ１６とする)。
【００３２】
次に図２(b)に示すように整数画素精度で最も類似した位置ＭＢ１を中心に周辺の小数画素(１/２、１/４画素)精度での画素値の差分の絶対値和ＳＡＤが最も小さい位置２点(最もＳＡＤが小さい画素位置Ｂｅｓｔ１、２番目にＳＡＤが小さい画素位置Ｂｅｓｔ２)を決定し、動きベクトルを求める(例えば図２(ｂ)の×で示す１/２画素位置がＢｅｓｔ１、＋で示す１/４画素位置がＢｅｓｔ２になったとする)。なお、小数精度の画素値生成は背景技術で図１５を用いて説明した方法と同様でも、また異なっていてもよい。また、ここで最も類似した位置の決定方法を符号化対象ブロックの画素値と参照領域の画素値の差分の絶対値和ＳＡＤとしたが、これ以外の決定方法を用いてもよい。
【００３３】
図２で示したような動き補償ブロックサイズ４x４以外や、参照領域P３(図１４の参照ピクチャRefIdx１)以外の参照領域(例えば図１３のＰ５など)でも同様に動き検出を行い、Ｂｅｓｔ１、Ｂｅｓｔ２の動きベクトルを決定し、参照ピクチャ番号RefIdxとともにモード決定部１０２に出力する。このとき、出力される情報は図３のようにマクロブロック(１６x１６画素)毎にまとめたかたちで渡されるとする。例えば、動き補償ブロックが８x１６の場合、図３(ｂ)のようにマクロブロック内に動き補償ブロックは２つありそれぞれのブロックに参照ピクチャ番号RefIdxと動きベクトル(Best１のベクトルをMV１、Best２のベクトルをMV２とあらわす)の全ての候補が格納される。図３(a)は動き補償ブロックの単位が１６x１６の場合であり、図３(c)は動き補償ブロックの単位が８x８の場合を示している。
【００３４】
なお、図２を用いて説明した最も類似した位置Best１、Best２の決定方法はまず整数画素精度で最も類似した位置を決定し、その後その位置を中心に周囲の小数精度で類似位置を検出して最も類似した位置２点を決定したが、この最も類似した位置２点の決定方法はこれ以外でもよい。例えば、探索領域内の整数画素、小数画素(１/２、１/４など)すべての中で最も類似した２点を求めるとしてもよい。また、整数画素精度で最も類似した位置を決定し、その後その位置を中心に周囲の１/２画素精度で最も類似した位置を決定し、さらにその周囲１/４画素精度で最も類似した位置２つを検出するとしてもよい。
≪候補の中から最も符号化効率のよいPartition、方向を決定する≫
次にモード決定部１０２の処理について詳細に説明する。モード決定部１０２には、上記動きベクトル候補検出部１０１より動き補償ブロックサイズ毎マクロブロック単位で動きベクトルMotionVectorとそれに対応した参照ピクチャ番号RefIdxの全ての組み合わせが入力される。
【００３５】
まずモード決定部１０２は上記入力情報から、最も効率よく符号化できるモードを決定する。ここでいうモードとは、動き補償ブロックサイズとその場合の各ブロックの予測タイプ(前方片方向、後方片方向、双方向など)および、参照ピクチャと動きベクトルの組み合わせをいう。Bピクチャの場合このモードは、１つのブロックについて１つまたは２つの異なる参照ピクチャ番号の動きベクトルを用いてもよく、Ｈ．２６４等の場合はさらに同一の参照ピクチャの動きベクトルを用いてもよい。そこで以下で説明するような方法等を用いてモードを決定する。
【００３６】
図４はモード決定方法を具体的に説明するための図である。説明を簡単にするため、候補となる組み合わせ(動き検出部１０１から与えられる参照ピクチャ番号RefIdxと動きベクトルの組み合わせ)を動き補償ブロックタイプは１６x１６と８x１６の２種、それぞれの参照ピクチャ番号はRefIdx１、RefIdx２の２つとする。参照ピクチャ毎に２つの動きベクトルMV１、MV２がある。ここでMV１、MV２で示される動きベクトルはそれぞれ上記動きベクトル候補検出部１０１で決定したBest１、Best２の位置を表す動きベクトルであり、参照ピクチャ番号と動きベクトルの組み合わせを明確にするため、図４(a)中にはMV１#Ref１(参照ピクチャ番号１のMV１)等のかたちであらわしている。
【００３７】
まず、図４(a)に示すような動き補償ブロック毎の各モード候補１〜５の評価値を導出する。(動き補償ブロックタイプ８x１６の場合、マクロブロックは左右２つに分割されるので、８x１６#Left、８x１６#Rightとあらわす)  図４(b)に各ブロックのあるモード候補の評価値の導出例をしめす。評価値を求めようとするモード候補は片方向１ベクトルの候補であるか否かの判定を行い(S３０１)、もし片方向１ベクトルの候補である場合、参照する１つの参照ピクチャ画素と符号化対象ブロックの画素との画素値の差の絶対値和にある値αを加えた値を評価値とする(S３０２)。もしS３０１で片方向１ベクトルでない(片方向２ベクトル、または両方向各１ベクトル)であった場合はS３０３に進み、参照する２つのピクチャの平均画素を求め、これを予測画素とする。次にS３０３で算出した予測画素と符号化対象ブロックとの画素値の差の絶対値和に値βを加えた値を評価値とする(S３０４)。ここで用いた値α、βとは動きベクトルをあらわすビットを考慮するために与える値である。また上記予測画素を求める方法は参照する２つのピクチャの平均画素に限定するものではなく、他の方法でも良い。
【００３８】
以上の方法で動き補償ブロックタイプ毎に各ブロックの候補に評価値を与え、そのブロックの候補内で最も評価値の小さいモード１つを選択する。
【００３９】
次に、マクロブロック単位で評価値を算出し、マクロブロック内の動き補償ブロックタイプをいずれにするか決定する。図５は図４(a)の各ブロックの各モード候補に図４(b)の方法で評価値が与えられた例を示すものである。この例の場合、動き補償ブロック１６x１６では評価値４８０のモード候補１(片方向１ベクトル、MV１#Ref１)、動き補償ブロックタイプ８x１６#Left(マクロブロックを分割した場合の左のブロック)では評価値２３２のモード候補５(両方向各１ベクトル、MV１#Ref１,MV１#Ref１)、動き補償ブロックタイプ８x１６#Rightでは評価値２１０のモード候補３(片方向２ベクトル,MV１#Ref１,MV２#Ref１)がそれぞれ選ばれる。処理単位であるマクロブロックをどの動き補償単位で符号化すれば最も符号化効率がよいかは、ここで得られた評価値をマクロブロック単位で比較することにより決定する。図５で決定された最小の評価値をマクロブロック単位で比較すると、この場合動き補償単位１６x１６の評価値は４８０、動き補償単位８x１６の場合は４５２(２３２＋２１０ =４５２)であり、評価値の小さい動き補償単位８x１６に決定する。以上の手順により、符号化モードは動き補償ブロックタイプ８x１６で各ブロックの符号化は８x１６#Leftブロックが両方向各１ベクトル(MV１#Ref１,MV１#Ref２)を用いた双予測、８x１６#Rightブロックが片方向２ベクトル(MV１#Ref１,MV２#Ref１)を用いた双予測で符号化すると決定する。
【００４０】
このように、他の複数の動き補償ブロックタイプについても評価値を与え、符号化対象マクロブロックの符号化モードを決定する。
【００４１】
なお、ここでは評価値として、符号化対象ブロックと参照ブロック(または算出した予測画素)との画素値の差の絶対値和を評価値の一部として用いているが、評価値はこれに限ったものではなく、符号化効率の最もよいモードを決定するための値であればよい。
【００４２】
モード決定部１０２で決定された符号化モードに従い、片方向予測か否かを示すフラグFlagおよび参照ピクチャ番号と動きベクトルを補償符号化部１００８に入力し、以降従来符号化と同様に処理する。
【００４３】
以上の実施の形態１に示した動きベクトル候補検出部１０１およびモード決定部１０２を含む画像符号化装置で符号化を行うと、Bピクチャの双予測符号化時、マクロブロックが参照する２つの参照ブロックが同一の参照ピクチャになる可能性が考慮され、２つの参照ブロックが同一ピクチャか否かにかかわらず、最も符号化効率の高い予測を選択することが可能となる。すなわち、同一の参照ピクチャ内の１/４画素精度で隣り合う２つの位置の画像を参照した場合、実質的に１/８位置の画素を生成したものと同じ意味合いをもち、より細かな動きの画像について符号化効率の向上が期待できる。
【００４４】
さらに、本実施の形態１の画像符号化方法および装置は従来の双方向予測(異なる参照ピクチャから各１ベクトル、すなわち両方向各１ベクトル)の動き補償符号化を実現するプログラムまたはハードウエアへの入力を変更するのみで、特別なメモリ増加は必要なく実現できる。
【００４５】
また、上記に説明した実施の形態１について、符号化対象マクロブロックが２枚を参照する双予測符号化ブロックである場合、その２枚の参照画像が同一ピクチャであることを許可するか否かの切り替えは簡単なフラグを用いることで実現できる。
【００４６】
図６は双予測を行う符号化において、参照する２枚の参照画像が同一ピクチャであることを許可するか否かを簡単なフラグを用いることで切り替える場合の画像符号化処理を説明するための図である。図６は図１のブロック図における動きベクトル候補検出部１０１の処理および入力が異なるのみである。図６において，動きベクトル候補検出部１０３には、外部から双予測において２つの参照画像が同一ピクチャであることを許可するか否かを示す１ビットのフラグBIPflagを入力する。参照画像が同一ピクチャであることを許可する場合BIPflagは１、許可しない場合BIPflagは０とする。動きベクトル候補検出部１０３ではBIPflagが１の場合、上記において図２を用いて説明したように各参照ピクチャの参照領域から符号化対象と最も類似した２点(Best１,Best２)を決定する。もしBIPflagが０の場合は、参照領域からは最も類似した１点(Best１)のみを決定する。上記と同様各参照ピクチャで決定された１点について、それぞれ参照ピクチャ番号RefIdxと動きベクトルMV１をモード決定部１０２に出力する。モード決定部１０２では、図４，５を用いて説明したように、入力されたモード候補について符号化効率が最もよいモードを決定する。BIPflagが０の場合、モード決定部１０２には各参照ピクチャについて１点の位置しか入力されないため、双予測(２ベクトル)のモード候補として、同一参照ピクチャ内の２点を参照する候補は発生しない。これにより同一ピクチャを参照する双予測符号化を禁止することができる。
【００４７】
このように同一ピクチャの参照を許可するか否かを簡単なフラグによって切り替えることで、例えば２つの参照画像を用いて符号化する場合、その２つが同一ピクチャであることを許可されていないMPEG-２などの符号化標準規格と、同一ピクチャであることが許可されているH.２６４などの符号化標準規格の双方の符号化方式を実現する画像符号化装置簡単に実現することが可能となる。
【００４８】
以上に説明した画像符号化方法および装置によって符号化した画像のビットストリームは、Bピクチャ内のマクロブロックが同一参照ピクチャの２つの位置を参照することがある、という特徴をもつ。
【００４９】
(実施の形態２)
以下に本発明の実施形態２を説明する。本発明の実施の形態２は上記実施の形態１で示した画像符号化方法および画像符号化装置において、図１で示した動き補償符号化部１００８およびモード決定部１０２の処理に関するものであり、図１のその他の処理については同様である。
【００５０】
以降図１の動き補償符号化部１００８、およびモード決定部１０２で行う画素補間処理の実施の形態を説明する。従来例で図１５を用いて説明したように動き補償符号化部１００８では小数画素精度の動き補償を行うために画素補間を行う。またモード決定部１０２では評価値を求めるために、予測画素(参照ピクチャ)の画素が必要でありこのとき画素補間を行う必要がある。
【００５１】
ここで上記実施の形態１で示した、モード決定部１０２におけるモード候補、動き補償符号化部１００８に入力された予測モード(最適モード) (１ベクトル予測や２ベクトル予測)について、参照画像の数を２値のフラグであらわす。予測画像の数が１すなわち１ベクトル予測を０、予測画像の数が２すなわち２ベクトル予測を１とあらわすことにする。
【００５２】
図７に動き補償符号化部１００８およびモード決定部１０２で行う画素補間の処理フローを示す。まず入力された予測モードをチェックし(S５０１)フラグが１(２ベクトル)の場合、その２つの動きベクトル(２つの動きベクトルをMV１、MV２とし、それぞれの水平・垂直成分をmv１#x、mv１#y、mv２#x、mv２#yとする)と参照ピクチャ番号(MV１#RefIdx、MV２#RefIdx)を参照する(S５０２)。２つの参照ピクチャ番号が同じ(MV１#RefIdx==MV２#RefIdx)かつ、水平成分、垂直成分の差の絶対値がそれぞれ一定値α、βより小さい、すなわち２つの参照画像が同一ピクチャでかつ重なっているような場合(S５０２がYESの場合)、１つ目の参照画像(MV１)の画素補間演算時、１/２画素値をメモリ内に一時的に保存する(S５０３)。そうでない場合は保存しない(S５０４)。このときS５０２での値α、βは画素補間時の参照画素数(タップ数)によって決める０以上の値であるとする。
【００５３】
２つの画像を参照(双予測)し、２つの画像が同じ参照ピクチャ内の重複した画素を参照している場合、１つ目の参照画素の画素補間時に演算生成する１/２画素値をメモリに一時的に保存し、２つ目の参照画素の動き補間時にこのメモリを参照することで、２つ目の画素補間にかかる演算を省略することができる。これは動き補償符号化部１００８およびモード決定部１０２をハードウエアで実現する場合に消費電力の削減に効果がある。
【００５４】
(実施の形態３)
さらに、上記各実施の形態で示した画像符号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【００５５】
図８は、上記実施の形態１および実施の形態２の画像符号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
図８（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図８（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
【００５６】
また、図８（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての画像符号化方法または画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【００５７】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【００５８】
さらにここで、上記実施の形態で示した動き補償方法、画像符号化方法応用例とそれを用いたシステムを説明する。
【００５９】
図９は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０７〜ex１１０が設置されている。
【００６０】
このコンテンツ供給システムex１００は、例えば、インターネットex１０１にインターネットサービスプロバイダex１０２および電話網ex１０４、および基地局ｅｘ１０７〜ｅｘ１１０を介して、コンピュータex１１１、ＰＤＡ（personal digital assistant）ex１１２、カメラex１１３、携帯電話ex１１４、カメラ付きの携帯電話ｅｘ１１５などの各機器が接続される。
【００６１】
しかし、コンテンツ供給システムex１００は図９のような組み合わせに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex１０７〜ex１１０を介さずに、各機器が電話網ex１０４に直接接続されてもよい。
【００６２】
カメラex１１３はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、ＰＤＣ（Personal Digital Communications）方式、ＣＤＭＡ（Code Division Multiple Access）方式、Ｗ−ＣＤＭＡ（Wideband-Code Division Multiple Access）方式、若しくはＧＳＭ（Global System for Mobile Communications）方式の携帯電話機、またはＰＨＳ（Personal Handyphone System）等であり、いずれでも構わない。
【００６３】
また、ストリーミングサーバex１０３は、カメラex１１３から基地局ex１０９、電話網ex１０４を通じて接続されており、カメラex１１３を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex１１３で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ１１６で撮影した動画データはコンピュータex１１１を介してストリーミングサーバex１０３に送信されてもよい。カメラex１１６はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex１１６で行ってもコンピュータex１１１で行ってもどちらでもよい。また、符号化処理はコンピュータex１１１やカメラex１１６が有するＬＳＩex１１７において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex１１１等で読み取り可能な記録媒体である何らかの蓄積メディア（ＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスクなど）に組み込んでもよい。さらに、カメラ付きの携帯電話ex１１５で動画データを送信してもよい。このときの動画データは携帯電話ex１１５が有するＬＳＩで符号化処理されたデータである。
【００６４】
このコンテンツ供給システムex１００では、ユーザがカメラex１１３、カメラex１１６等で撮影しているコンテンツ（例えば、音楽ライブを撮影した映像等）を上記実施の形態同様に符号化処理してストリーミングサーバex１０３に送信する一方で、ストリーミングサーバex１０３は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex１１１、ＰＤＡex１１２、カメラex１１３、携帯電話ex１１４等がある。このようにすることでコンテンツ供給システムex１００は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
【００６５】
このシステムを構成する各機器の符号化には上記各実施の形態で示した画像符号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図１０は、上記実施の形態で説明した動き補償方法、画像符号化方法および画像復号化方法を用いた携帯電話ex１１５を示す図である。携帯電話ex１１５は、基地局ex１１０との間で電波を送受信するためのアンテナex２０１、ＣＣＤカメラ等の映像、静止画を撮ることが可能なカメラ部ex２０３、カメラ部ex２０３で撮影した映像、アンテナex２０１で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex２０２、操作キーｅｘ２０４群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex２０８、音声入力をするためのマイク等の音声入力部ex２０５、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex２０７、携帯電話ex１１５に記録メディアex２０７を装着可能とするためのスロット部ex２０６を有している。記録メディアex２０７はＳＤカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）の一種であるフラッシュメモリ素子を格納したものである。
【００６６】
さらに、携帯電話ex１１５について図１１を用いて説明する。携帯電話ex１１５は表示部ex２０２及び操作キーｅｘ２０４を備えた本体部の各部を統括的に制御するようになされた主制御部ex３１１に対して、電源回路部ex３１０、操作入力制御部ex３０４、画像符号化部ex３１２、カメラインターフェース部ex３０３、ＬＣＤ（Liquid Crystal Display）制御部ex３０２、画像復号化部ex３０９、多重分離部ex３０８、記録再生部ex３０７、変復調回路部ex３０６及び音声処理部ex３０５が同期バスex３１３を介して互いに接続されている。
【００６７】
電源回路部ex３１０は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付ディジタル携帯電話ex１１５を動作可能な状態に起動する。
【００６８】
携帯電話ex１１５は、ＣＰＵ、ＲＯＭ及びＲＡＭ等でなる主制御部ex３１１の制御に基づいて、音声通話モード時に音声入力部ex２０５で集音した音声信号を音声処理部ex３０５によってディジタル音声データに変換し、これを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。また携帯電話機ex１１５は、音声通話モード時にアンテナex２０１で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex３０６でスペクトラム逆拡散処理し、音声処理部ex３０５によってアナログ音声信号に変換した後、これを音声出力部ｅｘ２０８を介して出力する。
【００６９】
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーｅｘ２０４の操作によって入力された電子メールのテキストデータは操作入力制御部ex３０４を介して主制御部ex３１１に送出される。主制御部ex３１１は、テキストデータを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して基地局ex１１０へ送信する。
【００７０】
データ通信モード時に画像データを送信する場合、カメラ部ex２０３で撮像された画像データをカメラインターフェース部ex３０３を介して画像符号化部ex３１２に供給する。また、画像データを送信しない場合には、カメラ部ex２０３で撮像した画像データをカメラインターフェース部ex３０３及びＬＣＤ制御部ex３０２を介して表示部ex２０２に直接表示することも可能である。
【００７１】
画像符号化部ex３１２は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex２０３から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex３０８に送出する。また、このとき同時に携帯電話機ex１１５は、カメラ部ex２０３で撮像中に音声入力部ex２０５で集音した音声を音声処理部ex３０５を介してディジタルの音声データとして多重分離部ex３０８に送出する。
【００７２】
多重分離部ex３０８は、画像符号化部ex３１２から供給された符号化画像データと音声処理部ex３０５から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex３０６でスペクトラム拡散処理し、送受信回路部ex３０１でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex２０１を介して送信する。
【００７３】
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex２０１を介して基地局ex１１０から受信した受信信号を変復調回路部ex３０６でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex３０８に送出する。
【００７４】
また、アンテナex２０１を介して受信された多重化データを復号化するには、多重分離部ex３０８は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex３１３を介して当該符号化画像データを画像復号化部ex３０９に供給すると共に当該音声データを音声処理部ex３０５に供給する。
【００７５】
次に、画像復号化部ex３０９は、画像データの符号化ビットストリームを復号することにより再生動画像データを生成し、これをＬＣＤ制御部ex３０２を介して表示部ex２０２に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex３０５は、音声データをアナログ音声信号に変換した後、これを音声出力部ex２０８に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
【００７６】
なお、上記システムの例に限られず、最近は衛星、地上波によるディジタル放送が話題となっており、図１２に示すようにディジタル放送用システムにも上記実施の形態の画像符号化装置を組み込むことができる。具体的には、放送局ex４０９では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex４１０に伝送される。これを受けた放送衛星ex４１０は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex４０６で受信し、テレビ（受信機）ex４０１またはセットトップボックス（ＳＴＢ）ex４０７などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex４０２に記録した符号化ビットストリームを読み取り、再生装置ex４０３で復号化する。
【００７７】
この場合、再生された映像信号はモニタex４０４に表示される。また、ケーブルテレビ用のケーブルex４０５または衛星／地上波放送のアンテナex４０６に接続されたセットトップボックスex４０７内に画像復号化装置を実装し、これをテレビのモニタex４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex４１１を有する車ex４１２で衛星ex４１０からまたは基地局ex１０７等から信号を受信し、車ex４１２が有するカーナビゲーションex４１３等の表示装置に動画を再生することも可能である。
【００７８】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクｅｘ４２１に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅx４２０がある。更にSDカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクｅｘ４２１やSDカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【００７９】
なお、カーナビゲーションex４１３の構成は例えば図１１に示す構成のうち、カメラ部ex２０３とカメラインターフェース部ex３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータex１１１やテレビ（受信機）ex４０１等でも考えられる。
【００８０】
また、上記携帯電話ex１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【００８１】
このように、上記実施の形態で示した動き補償方法、画像符号化方法上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【産業上の利用可能性】
【００８２】
本発明にかかる画像符号化方法およびこれを画像符号化装置は、符号化効率の高い画像の符号化を行うことができ、これは動画像を扱う分野、たとえばコンテンツ配信や携帯電話、ディジタル放送などの用途にも適用できる。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態１にかかる画像符号化装置を示すブロック図である。
【図２】図１の動きベクトル候補検出部の処理を説明する画素のイメージ図である。
【図３】図１の動きベクトル候補検出部から出力される動き補償ブロックタイプと情報を説明するための図である。
【図４】図１のモード決定部の処理を説明するための表およびフロー図である。
【図５】図１モード決定部の処理を説明するための表およびフロー図である。
【図６】本発明の実施の形態１にかかる画像符号化装置を示すブロック図である。
【図７】本発明の実施の形態２にかかる動き補償符号化部の処理を説明するフロー図である。
【図８】上記実施の形態１から実施の形態２の画像符号化方法または画像復号化方法を格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【図９】コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成を示すブロック図である。
【図１０】動き補償方法、画像符号化方法および画像復号化方法を用いた携帯電話を示す図である。
【図１１】携帯電話の構成を示すブロック図である。
【図１２】ディジタル放送用システムの全体構成を示すブロック図である。
【図１３】従来の画像符号化装置の構成を示すブロック図である。
【図１４】従来の画像符号化における動きベクトル検出部の処理を説明するための図である。
【図１５】従来の画像符号化における動き補償時の小数精度画素の画素補間方法を説明するための図である。
【符号の説明】
【００８４】
１００    画像符号化装置
１０１    動きベクトル候補検出部
１０２    モード決定部
１０３    動きベクトル候補検出部
１０００  画像符号化装置
１００１  差分器
１００２  画像符号化部
１００３  可変長符号化部
１００４  画像復号化部
１００５  加算器
１００６  画像メモリ
１００７  ピクチャメモリ
１００８  動き補償符号化部
１００９  動きベクトル検出部
１０１０  予測方向決定部
１０１１  動きベクトル記憶部
Img             画像データ
Res             差分画像データ
CodedRes        差分画像符号化データ
Bitstream      符号化データ
Recon           復号化画像データ
Ref             参照画像データ
MotionParam     動きパラメータ
Mod             符号化モード
MotionVector    動きベクトル
RefIdx          参照ピクチャ番号
Dir            予測モード
【図１】
2005086290.tif 000003
【図２】
2005086290.tif 000004
【図３】
2005086290.tif 000005
【図４】
2005086290.tif 000006
【図５】
2005086290.tif 000007
【図６】
2005086290.tif 000008
【図７】
2005086290.tif 000009
【図８】
2005086290.tif 000010
【図９】
2005086290.tif 000011
【図１０】
2005086290.tif 000012
【図１１】
2005086290.tif 000013
【図１２】
2005086290.tif 000014
【図１３】
2005086290.tif 000015
【図１４】
2005086290.tif 000016
【図１５】
2005086290.tif 000017