(57)【要約】【課題】ブロックが複数の動きベクトルを用いて符号化されている場合に、動きベクトルの符号化効率を向上させる。【解決手段】動きベクトル符号化方法において、符号化対象ブロックの動きベクトルに付与された識別子と同一の識別子を有する複数の周辺ブロックの動きベクトルの中から、符号化対象ブロックの動きベクトルと同じ参照ピクチャを参照する動きベクトルを選択し、選択した動きベクトルが一つのみ存在する場合は、選択した一つの動きベクトルを符号化対象ブロックの動きベクトルの予測値として導出する。【選択図】図７
2010081648.tif 000002
【特許請求の範囲】
【請求項１】
動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化方法であって、
符号化対象ブロックの周辺にあって既に符号化済みである周辺ブロックを特定する周辺ブロック特定ステップと、
前記周辺ブロックごとに動きベクトルに識別子を付与するとともに、前記符号化対象ブロックの動きベクトルに識別子を付与する識別子付与ステップと、
前記符号化対象ブロックが、表示時間軸上で同一方向の参照ピクチャを参照する２つの動きベクトルを有する場合に、特定された前記周辺ブロックの動きベクトルのうち、前記符号化対象ブロックの動きベクトルと同一の識別子を有する動きベクトルを用いて、前記符号化対象ブロックの動きベクトルの予測値を導出する予測動きベクトル導出ステップと、
前記動きベクトルの予測値を用いて、前記符号化対象ブロックの動きベクトルを符号化する動きベクトル符号化ステップを包含し、
前記予測動きベクトル導出ステップでは、
前記符号化対象ブロックの動きベクトルに付与された識別子と同一の識別子を有する複数の前記周辺ブロックの動きベクトルの中から、前記符号化対象ブロックの動きベクトルと同じ参照ピクチャを参照する動きベクトルを選択し、選択した動きベクトルが一つのみ存在する場合は、前記選択した一つの動きベクトルを前記符号化対象ブロックの動きベクトルの予測値として導出するものである
ことを特徴とする動きベクトル符号化方法。
【請求項２】
前記周辺ブロックの各動きベクトルに付与される識別子は、符号列での記述順に基づいて付与されていることを特徴とする請求項１に記載の動きベクトル符号化方法。
【請求項３】
前記周辺ブロックの各動きベクトルに付与される識別子は、符号化順に基づいて付与されることを特徴とする請求項１に記載の動きベクトル符号化方法。
【請求項４】
動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化装置であって、
符号化対象ブロックの周辺にあって既に符号化済みである周辺ブロックを特定する周辺ブロック特定手段と、
前記周辺ブロックごとに動きベクトルに識別子を付与するとともに、前記符号化対象ブロックの動きベクトルに識別子を付与する識別子付与手段と、
前記符号化対象ブロックが表示時間軸上で同一方向の参照ピクチャを参照する２つの動きベクトルを有する場合に、特定された前記周辺ブロックの動きベクトルのうち、前記符号化対象ブロックの動きベクトルと同一の識別子を有する動きベクトルを用いて、前記符号化対象ブロックの動きベクトルの予測値を導出する予測動きベクトル導出手段と、
前記動きベクトルの予測値を用いて、前記符号化対象ブロックの動きベクトルを符号化する動きベクトル符号化手段を有し、
前記予測動きベクトル導出手段は、
前記符号化対象ブロックの動きベクトルに付与された識別子と同一の識別子を有する複数の前記周辺ブロックの動きベクトルの中から前記符号化対象ブロックの動きベクトルと同じ参照ピクチャを参照する動きベクトルを選択し、選択した動きベクトルが一つのみ存在する場合は、前記選択した一つの動きベクトルを前記符号化対象ブロックの動きベクトルの予測値として導出するものである
ことを特徴とする動きベクトル符号化装置。
【請求項５】
動画像のピクチャを構成するブロックの動きベクトルを符号化する動きベクトル符号化処理を行なうプログラムを格納したデータ記憶媒体であって、
前記プログラムは、コンピュータに、請求項１〜３のいずれか一項に記載の動きベクトル符号化方法により前記符号化処理を行なわせることを特徴とする、データ記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ピクチャ間予測符号化を用いて符号化および復号化を行う際の、動きベクトル情報の符号化および復号化を行う方法に関する。
【背景技術】
【０００２】
動画像符号化においては、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮を行う。ここで、時間方向の冗長性を利用する方法として、ピクチャ間予測符号化が用いられる。ピクチャ間予測符号化では、あるピクチャを符号化する際に、時間的に前方または後方にあるピクチャを参照ピクチャとする。そして、その参照ピクチャからの動き量を検出し、動き補償を行ったピクチャと符号化対象のピクチャとの差分値に対して空間方向の冗長度を取り除くことにより情報量の圧縮を行う。
【０００３】
非特許文献１（以下ＭＰＥＧ−４と呼ぶ。）等の従来の動画像符号化方式では、ピクチャ間予測符号化を行わない、すなわちピクチャ内符号化を行うピクチャをＩピクチャと呼ぶ。また、時間的に前方にあるピクチャを参照してピクチャ間予測符号化するピクチャをＰピクチャと呼び、時間的に前方および後方にあるＩピクチャまたはＰピクチャの両方を参照してピクチャ間予測符号化するピクチャをＢピクチャと呼ぶ。図１５に上記の動画像符号化方式における、各ピクチャの予測関係を示す。図１５において、縦線は１枚のピクチャを示しており、各ピクチャの右下にピクチャタイプ（Ｉ、Ｐ、Ｂ）を示している。また図１５中の矢印は、矢印の終端にあるピクチャが、矢印の始端にあるピクチャを参照ピクチャとして用いてピクチャ間予測符号化することを示している。例えば、先頭から２枚目のＢピクチャは、先頭のＩピクチャと先頭から４枚目のＰピクチャを参照画像として用いることにより符号化する。
【０００４】
また、上記の非特許文献１では、動きベクトルの符号化の際に、周辺ブロックの動きベクトルから求めた予測値と符号化対象ブロックの動きベクトルとの差分値を符号化する。多くの場合には、近傍のブロックの動きベクトルは、空間座標上で同じような方向および大きさを有するので、周辺ブロックの動きベクトルとの差分値を取ることにより、動きベクトルの符号量の削減を図ることができる。ＭＰＥＧ−４における動きベクトルの符号化方法について、図１６を用いて説明する。図１６において、太枠で示したブロックは１６×１６画素のマクロブロックを示しており、その中に８×８画素のブロックが４つ存在する。図１６（ａ）〜図１６（ｄ）において、各ブロックの動きベクトル（ＭＶ）は、３つの周辺ブロックの動きベクトル（ＭＶ１、ＭＶ２、ＭＶ３）から求めた予測値との差分値により符号化される。ここで予測値は、３つの動きベクトルＭＶ１、ＭＶ２、ＭＶ３の水平成分、垂直成分毎に求めた中央値（メディアン）を用いる。ただし、周辺ブロックが動きベクトルを有さない場合もある。例えば、イントラブロックとして処理されている場合や、Ｂピクチャにおいてダイレクトモードとして処理されている場合である。周辺ブロックに、このようなブロックが１つ存在する場合には、そのブロックの動きベクトルを０として処理を行う。また、２つ存在する場合には、残りの１つのブロックの動きベクトルを予測値として用いる。さらに、３つすべてが動きベクトルを有さないブロックである場合には、予測値は０として動きベクトル符号化の処理を行う。
【０００５】
一方、現在標準規格化作業中であるＨ．２６Ｌ方式では、Ｂピクチャに対して新たな符号化が提案されている。従来Ｂピクチャでは、参照ピクチャとして既に符号化済み前方１枚と後方１枚のピクチャを用いているが、新たに提案されたＢピクチャでは、既に符号化済の、前方２枚のピクチャ、または後方２枚のピクチャ、または前方１枚と後方１枚のピクチャを用いることにより、符号化を行う。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】ＭＰＥＧ−４規格書(１９９９年、ISO/IEC 14496-2:1999 Information technology - Coding of audio-visual objects -- Part2: Visual)  pp.146-148
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記従来の動きベクトルの符号化方法では、Ｂピクチャにおいて周辺ブロックが２つの動きベクトルを有することができ、かつそれらが共に前方参照ピクチャを参照している、または共に後方参照ピクチャを参照している場合に、どちらの動きベクトルを予測値として用いれば良いかを統一的に決定する方法、またその際に効率的に符号化する方法がない。
【０００８】
本発明は上記問題点を解決するものであり、Ｂピクチャにおいて、動きベクトルの符号化における予測値決定方法の統一性を持たせることができ、かつ予測能力を向上させることができる、動きベクトル符号化方法および動きベクトル復号化方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の動きベクトル符号化方法は、符号化対象ブロックの動きベクトルとその予測値とを生成し、動きベクトルと予測値との差分を符号化し、動画像を表す符号列に記述する動きベクトル符号化方法であって、当該符号化対象ブロックの周辺にある複数の符号化済の各ブロックのうち少なくとも１以上のブロックが、表示時間軸上で同一方向の参照ピクチャを参照する２つの動きベクトルを有する場合に、当該符号化済のブロック毎に動きベクトルに識別子を付与する付与ステップと、前記複数の符号化済みブロックの動きベクトルのうち、同一の識別子を有する動きベクトルに基づいて、前記符号化対象ブロックの動きベクトルの予測値を生成する生成ステップとを有する。
【００１０】
ここで、前記付与ステップにおいて、さらに、前記符号化対象ブロックの動きベクトルに識別子を付与し、生成ステップにおいて、前記複数の符号化済みブロックの動きベクトルのうち、前記符号化対象ブロックに付与された識別子と同一の識別子を有する動きベクトルに基づいて、前記符号化対象ブロックの動きベクトルの予測値を生成するようにしてもよい。
【００１１】
また、前記付与ステップにおいて、当該符号化済ブロック毎に２つの動きベクトルについて、前記符号列での記述順に基づいて識別子を付与するようにしてもよい。
【００１２】
ここで、前記付与ステップにおいて、当該符号化済ブロック毎に２つの動きベクトルに対して、当該動きベクトルが参照する参照ピクチャの遠い順と近い順との何れかに基づいて識別子を付与するようにしてもよい。
【００１３】
ここで、前記生成ステップにおいて、前記同一の識別子を有する動きベクトルから、符号化対象ブロックの動きベクトルと同じ参照ピクチャを参照する動きベクトルを選択し、選択した動きベクトルに基づいて予測値を生成するようにしてもよい。
【００１４】
ここで、前記生成ステップにおいて、選択された動きベクトルの中央値を予測値として生成するようにしてもよい。
【００１５】
また、本発明の動画像符号化方法、動きベクトル復号化方法、動画像復号化方法、動きベクトル符号化装置、動きベクトル復号化装置、及びそれらのプログラムについても上記と同様に構成されている。
【発明の効果】
【００１６】
本発明の動きベクトル符号化方法は、各ブロックの動きベクトルを符号化する際に、既に符号化済みの周辺ブロックの動きベクトルを予測値として用い、その予測値と現在のブロックの動きベクトルとの差分値を用いて動きベクトルの符号化を行う。この予測値の生成の際には、同一方向（前方向または後方向）に複数の動きベクトルを有する場合に、同一ピクチャを参照する動きベクトルを参照する、予め定めた順序で並べた動きベクトル順に従って参照する動きベクトルを決定する、２番目以降の動きベクトルはそれ以前の動きベクトルを参照値とする、異なるピクチャを参照する動きベクトルを参照する場合には、差ピクチャ間距離に応じたスケーリングを行う、等の処理を行い、予測値を生成する。
【００１７】
これにより、動きベクトルの符号化において、同一方向（前方向または後方向）に複数の動きベクトルを有する場合であっても、統一的に動きベクトルの符号化を行う方法を定義することができ、かつ動きベクトルの符号化効率を向上させることができる。
【００１８】
また、本発明の動きベクトル復号化方法は、各ブロックの動きベクトルを復号化する際に、既に復号化済みの周辺ブロックの動きベクトルを予測値として用い、その予測値と現在のブロックの符号化された動きベクトルと加算することにより、動きベクトルの復号化を行う。この予測値の生成の際には、同一方向（前方向または後方向）に複数の動きベクトルを有する場合に、同一ピクチャを参照する動きベクトルを参照する、予め定めた順序で並べた動きベクトル順に従って参照する動きベクトルを決定する、２番目以降の動きベクトルはそれ以前の動きベクトルを参照値とする、異なるピクチャを参照する動きベクトルを参照する場合には、差ピクチャ間距離に応じたスケーリングを行う、等の処理を行い、予測値を生成する。
【００１９】
これにより、本発明の動きベクトル符号化方法により符号化が行われた動きベクトルを正しく復号化することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態１における画像符号化装置の構成を示すブロック図である。
【図２】（ａ）フレームメモリに入力されるピクチャの順序を示す図である。（ｂ）ピクチャの符号化の順序を示す図である。
【図３】（ａ）符号化対象ブロック（マクロブロック左上）と符号化済の周辺ブロックとを示す図である。（ｂ）符号化対象ブロック（マクロブロック右上）と符号化済の周辺ブロックとを示す図である。（ｃ）符号化対象ブロック（マクロブロック左下）と符号化済の周辺ブロックとを示す図である。（ｄ）符号化対象ブロック（マクロブロック右下）と符号化済の周辺ブロックとを示す図である。
【図４】（ａ）符号化対象ブロックと符号化済み周辺ブロックの動きベクトルが参照する参照ピクチャを示す図である。（ｂ）符号化対象ブロックと符号化済み周辺ブロックの動きベクトルが参照する参照ピクチャを示す図である。（ｃ）符号化対象ブロックと符号化済の周辺ブロックの動きベクトルが参照する参照ピクチャを示す図である。
【図５】参照ピクチャが２枚とも前方にある場合の動き補償を説明するための図である。
【図６】動きベクトルをスケーリングする場合の説明図である。
【図７】第１の予測値の生成方法と第２の予測値の生成方法とを混合した場合の予測値生成方法を示すフローチャートである。
【図８】符号列に記述された動きベクトルの順序を示す図である。
【図９】本発明の実施の形態２における画像復号化装置の構成を示すブロック図である。
【図１０】（ａ）フレキシブルディスクの物理フォーマットを示す図である。（ｂ）フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスク本体を示す図である。（ｃ）フレキシブルディスクにプログラムの書き込み及び読み出しを行う装置の外観を示す図である。
【図１１】コンテンツ供給システムの全体構成を示すブロック図である。
【図１２】動画像符号化方法と動画像復号化方法を用いた携帯電話を示す図である。
【図１３】携帯電話の構成を示すブロック図である。
【図１４】ディジタル放送用システムを示す図である。
【図１５】従来技術におけるピクチャ参照関係を示す図である。
【図１６】予測値の生成に用いる周辺ブロックを示す図である。
【発明を実施するための形態】
【００２１】
（第１の実施の形態）
本発明の第１の実施の形態について、図面を参照して説明する。図１は、フレームメモリ１０１、差分演算部１０２、予測誤差符号化部１０３、符号列生成部１０４、予測誤差復号化部１０５、加算演算部１０６、フレームメモリ１０７、動きベクトル検出部１０８、モード選択部１０９、符号化制御部１１０、スイッチ１１１〜１１５、動きベクトル記憶部１１６、動きベクトル符号化部１１７から構成される画像符号化装置のブロック図であり、画像符号化の一部として動きベクトル符号化を行う。
【００２２】
入力画像は時間順にピクチャ単位でフレームメモリ１０１に入力される。フレームメモリ１０１に入力されるピクチャの順序を図２（ａ）に示す。図２（ａ）において、縦線はピクチャを示し、各ピクチャの右下に示す記号は、１文字目のアルファベットがピクチャタイプ（ＰはＰピクチャ、ＢはＢピクチャ）を示し、２文字目以降の数字が表示時間順のピクチャ番号を示している。フレームメモリ１０１に入力された各ピクチャは、符号化順に並び替えられる。符号化順への並び替えは、ピクチャ間予測符号化における参照関係に基づいて行われ、参照ピクチャとして用いられるピクチャが、参照ピクチャとして用いるピクチャよりも先に符号化されるように並び替える。例えば、ピクチャＢ８、Ｂ９の各ピクチャの参照関係は、図２（ａ）に示す矢印の通りとなる。図２（ａ）において、矢印の始点は参照されるピクチャを示し、矢印の終点は参照するピクチャを示している。この場合、図２（ａ）のピクチャを並び替えた結果は図２（ｂ）のようになる。
【００２３】
フレームメモリ１０１で並び替えが行われた各ピクチャは、マクロブロックの単位で読み出されるとする。ここでは、マクロブロックは水平１６×垂直１６画素の大きさであるとする。また、動き補償はブロック単位（ここでは８×８画素の大きさとする）単位で行うものとする。以下では、ピクチャＢ８の符号化処理について順に説明する。
【００２４】
ピクチャＢ８はＢピクチャであり、前方参照ピクチャとしてピクチャＰ１、Ｐ４、Ｐ７、後方参照ピクチャとしてピクチャＰ１０、Ｐ１３を参照ピクチャとし、マクロブロック単位やブロック単位で、５つの参照ピクチャのうち、最大２つの参照ピクチャを用いて符号化するものとする。これらの参照ピクチャは、既に符号化が終了しており、ローカルな復号化画像がフレームメモリ１０７に蓄積されている。
【００２５】
Ｂピクチャの符号化においては、符号化制御部１１０は、スイッチ１１３をオンにする。また、Ｂピクチャが他のピクチャの参照ピクチャとして用いられる場合には、スイッチ１１４、１１５がオンになるように各スイッチを制御する。他のピクチャの参照ピクチャとして用いられない場合には、スイッチ１１４、１１５はオフになるように各スイッチを制御する。したがって、フレームメモリ１０１から読み出されたピクチャＢ８のマクロブロックは、まず動きベクトル検出部１０８、モード選択部１０９、差分演算部１０２に入力される。
【００２６】
動きベクトル検出部１０８では、フレームメモリ１０７に蓄積されたピクチャＰ１、Ｐ４、Ｐ７の復号化画像データを前方参照ピクチャとして、ピクチャＰ１０、Ｐ１３の復号化画像データを後方参照ピクチャとして用いることにより、マクロブロックに含まれる各ブロックの前方動きベクトルと後方動きベクトルの検出を行う。
【００２７】
モード選択部１０９では、動きベクトル検出部１０８で検出した動きベクトルを用いて、マクロブロックの符号化モードを決定する。ここで、Ｂピクチャにおける各ブロックの符号化モードは、例えば、ピクチャ内符号化、前方１枚参照によるピクチャ間予測符号化、前方２枚参照によるピクチャ間予測符号化、後方１枚参照によるピクチャ間予測符号化、後方２枚参照によるピクチャ間予測符号化、双方向動きベクトルを用いたピクチャ間予測符号化から選択することができるとする。ここで、前方２枚参照によるピクチャ間予測符号化、後方２枚参照によるピクチャ間予測符号化、双方向動きベクトル（前方、後方１枚ずつの参照）を用いたピクチャ間予測符号化の場合には、得られた２つの参照画像を平均して得られる画像を動き補償画像として用いる。その一例を図５を用いて説明する。今、ピクチャＢ８にあるブロックＸを前方参照ピクチャであるピクチャＰ７のブロックＹと、ピクチャＰ４のブロックＺとを用いて動き補償する場合、ブロックＹとブロックＺの平均値画像をブロックＸの動き補償画像とする。
【００２８】
モード選択部１０９で決定された符号化モードは符号列生成部１０４に対して出力される。また、モード選択部１０９で決定された符号化モードに基づいた参照画像が差分演算部１０２と加算演算部１０６に出力される。ただし、ピクチャ内符号化が選択された場合には、参照画像は出力されない。また、モード選択部１０９でピクチャ内符号化が選択された場合には、スイッチ１１１はａに、スイッチ１１２はｃに接続するように制御し、ピクチャ間予測符号化が選択された場合には、スイッチ１１１はｂに、スイッチ１１２はｄに接続するように制御する。以下では、モード選択部１０９でピクチャ間予測符号化が選択された場合について説明する。
【００２９】
差分演算部１０２には、モード選択部１０９から参照画像が入力される。差分演算部１０２では、ピクチャＢ８のマクロブロックと参照画像との差分を演算し、予測誤差画像を生成し出力する。
【００３０】
予測誤差画像は予測誤差符号化部１０３に入力される。予測誤差符号化部１０３では、入力された予測誤差画像に対して周波数変換や量子化等の符号化処理を施すことにより、符号化データを生成して出力する。予測誤差符号化部１０３から出力された符号化データは、符号列生成部１０４に入力される。
【００３１】
また、モード選択部１０９で選択した符号化モードで用いる動きベクトルが、動きベクトル記憶部１１６と動きベクトル符号化部１１７とに出力される。
【００３２】
動きベクトル記憶部１１６では、モード選択部１０９から入力された動きベクトルを記憶する。すなわち、動きベクトル記憶部１１６では、既に符号化済みのブロックで用いた動きベクトルを記憶する。
【００３３】
動きベクトル符号化部１１７では、モード選択部１０９から入力された動きベクトルの符号化を行う。この動作を図３を用いて説明する。図３において、太枠で示したブロックは１６×１６画素のマクロブロックを示しており、その中に８×８画素のブロックが４つ存在する。図３（ａ）〜図３（ｄ）において、ブロックＡが符号化中のブロックを示しており、ブロックＡの動きベクトルは、既に符号化済みである３つの周辺ブロックＢ、Ｃ、Ｄの動きベクトルから求めた予測値との差分値により符号化される。周辺ブロックの動きベクトルは、動きベクトル記憶部１１６から得る。
【００３４】
予測値の求め方を図４を用いて説明する。図４では、ブロックＡ〜Ｄが有する動きベクトルを示している。第１の動きベクトルをＭＶ１、第２の動きベクトルをＭＶ２として示している。ここで、動きベクトルが「前方」である場合は、前方参照動きベクトルであることを示す。また、その際の括弧内の記号および数字は、参照ピクチャを示している。
【００３５】
第１の予測値の求め方では、参照ピクチャが同じであるもののみを選択して、予測値を生成する。図４（ａ）の場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ２の中央値となる。また、図４（ｂ）の場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＣのＭＶ２の値そのものとなる。
【００３６】
また、図４（ｃ）の場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢのＭＶ１、ＭＶ２、ブロックＣのＭＶ１、ブロックＤのＭＶ１、ＭＶ２の中央値となり、ブロックＡのＭＶ２に対する予測値は、ＣのＭＶ２の値そのものとなる。この場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢのＭＶ１、ＭＶ２の平均値、ブロックＣのＭＶ１、ブロックＤのＭＶ１、ＭＶ２の平均値の３つの値の中央値としても良い。このとき、ブロックＢのＭＶ１、ＭＶ２の平均値を求める場合には、平均値を動きベクトルの精度（例えば１／２画素精度、１／４画素精度、１／８画素精度、など）に丸める。この動きベクトルの精度は、ブロック単位、ピクチャ単位、シーケンス単位で決定されているものとする。以上の場合において、周辺ブロック中に同じ参照ピクチャを参照している動きベクトルが存在しない場合には、予測値は０とすれば良い。ここで中央値は、水平成分、垂直成分毎に求めるとする。
【００３７】
第２の予測値の求め方では、参照ピクチャに関係なく、ＭＶ１、ＭＶ２で独立して予測値を作成する。この場合、各ブロックでのＭＶ１、ＭＶ２の並び方は、所定の方法により決定しておけばよい。例えば、参照ピクチャの近いものから順に並べる、参照ピクチャの遠いものから順に並べる、前方、後方の順に並べる、符号化順（符号列への記述順）に並べる等の並び方がある。例えば、参照ピクチャの近いものまたは遠いものから順に並べることにより、符号化対象ブロックの動きベクトルが参照する参照ピクチャと、予測値として選択した動きベクトルの参照ピクチャとが、時間的に近い参照ピクチャとなる確率が高くなり、動きベクトルの符号化効率の向上を図ることができる。
【００３８】
また、前方、後方の順に並べることにより、符号化対象ブロックの前方動きベクトルは、周辺ブロックの前方動きベクトルから生成した予測値を用いて符号化し、符号化対象ブロックの後方動きベクトルは、周辺ブロックの後方動きベクトルから生成した予測値を用いて符号化する確率が高くなるため、動きベクトルの符号化効率の向上を図ることができる。また、符号化順に並べることにより、予測値生成の際の周辺ブロックの管理方法を簡易化することができる。図４（ａ）の場合、ブロックＡのＭＶ１に対する予測値は、予測ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ２の中央値となる。また、図４（ｂ）、図４（ｃ）の場合も、ブロックＡのＭＶ１に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ２の中央値となる。なおこの際に、ブロックＡの動きベクトルが参照するピクチャと、ブロックＡの予測値として用いるブロックＢ、Ｃ、Ｄの動きベクトルが参照するピクチャが異なる場合には、ブロックＢ、Ｃ、Ｄの動きベクトルに対してスケーリングを施しても良い。このスケーリングは、ピクチャ間の時間的距離で決まる値によって行っても良いし、予め定められた値によって行っても良い。
【００３９】
第３の予測値の求め方では、ＭＶ１では周辺ブロックから予測値を生成し、値として用いる。ＭＶ２の予測値としてＭＶ１を用いる場合、ＭＶ１の値をそのまま予測値として用いても良いし、ＭＶ１をスケーリングしたものを予測値としても良い。スケーリングして用いる場合には、ピクチャＢ８からＭＶ１の参照ピクチャまでの時間的距離と、ピクチャＢ８からＭＶ２の参照ピクチャまでの時間的距離とを一致させる方法が考えられる。その例を図６を用いて説明する。図６において、ピクチャＢ８のブロックＡが動きベクトルＭＶ１、ＭＶ２を有しているとし、それぞれの参照ピクチャはそれぞれピクチャＰ７、Ｐ４であるとする。この場合、動きベクトルＭＶ２は、ＭＶ１をピクチャＰ４までスケーリングして得られるＭＶ１'（この場合には、ＭＶ１の水平成分、垂直成分をそれぞれ４倍したものとなる）をＭＶ２の予測値とする。また他のスケーリングの方法として、予め定められた値を用いてスケーリングを行っても良い。また、各ブロックでのＭＶ１、ＭＶ２の並び方は、所定の方法により決定しておけばよい。例えば、参照ピクチャの近いものから順に並べる、参照ピクチャの遠いものから順に並べる、前方、後方の順に並べる、符号化順に並べる等の並び方がある。
【００４０】
以上の例においては、ブロックＢ〜Ｄがすべて動きベクトルを有する場合について説明したが、これらのブロックがイントラブロックやダイレクトモードとして処理されている場合には、例外的な処理を行っても良い。例えば、ブロックＢ〜Ｄ中にそのようなブロックが１つ存在する場合には、そのブロックの動きベクトルを０として処理を行う。また、２つ存在する場合には、残りのブロックの動きベクトルを予測値として用いる。さらに、３つすべてが動きベクトルを有さないブロックである場合には、予測値は０として動きベクトル符号化の処理を行う、というような方法がある。
【００４１】
符号列生成部１０４では、入力された符号化データに対して、可変長符号化等を施し、さらに動きベクトル符号化部１１７から入力された動きベクトル、モード選択部１０９から入力された符号化モード、ヘッダ情報、等の情報を付加することにより符号列を生成し出力する。
【００４２】
同様の処理により、ピクチャＢ８の残りのマクロブロックに対して、符号化処理が行われる。
【００４３】
以上のように、本発明の動きベクトル符号化方法は、各ブロックの動きベクトルを符号化する際に、既に符号化済みの周辺ブロックの動きベクトルを予測値として用い、その予測値と現在のブロックの動きベクトルとの差分値を用いて動きベクトルの符号化を行う。この予測値の生成の際には、同一方向（前方向または後方向）に複数の動きベクトルを有する場合に、同一ピクチャを参照する動きベクトルを参照する、予め定めた順序で並べた動きベクトル順に従って参照する動きベクトルを決定する、２番目以降の動きベクトルはそれ以前の動きベクトルを参照値とする、異なるピクチャを参照する動きベクトルを参照する場合には、ピクチャ間距離に応じたスケーリングを行う、等の処理を行い、予測値を生成する。
【００４４】
さらに具体的に、本発明の動きベクトル符号化方法は、符号化対象ブロックの動きベクトルとその予測値とを生成し、動きベクトルと予測値との差分を符号化する動きベクトル符号化方法であって、当該符号化対象ブロックの周辺にある複数の符号化済の各ブロックのうち少なくとも１以上のブロックが、表示時間軸上で同一方向の参照ピクチャを参照する２つの動きベクトルを有する場合に、当該符号化済のブロック毎に動きベクトルに識別子を付与する付与ステップと、前記複数の符号化済みブロックの動きベクトルのうち、同一の識別子を有する動きベクトルに基づいて、前記符号化対象ブロックの動きベクトルの予測値を生成する生成ステップとを有する。ここで、上記の付与ステップ、生成ステップは次の（ａ）又は（ｂ）とすることができる。
【００４５】
（ａ）前記付与ステップにおいて、さらに、前記符号化対象ブロックの動きベクトルに識別子を付与し、前記生成ステップにおいて、前記複数の符号化済みブロックの動きベクトルのうち、前記符号化対象ブロックに付与された識別子と同一の識別子を有する動きベクトルに基づいて、前記符号化対象ブロックの動きベクトルの予測値を生成する。
【００４６】
（ｂ）前記付与ステップにおいて、さらに、前記符号化対象ブロックの動きベクトルに識別子を付与し、前記生成ステップは、前記複数の符号化済みブロックの動きベクトルのうち、前記符号化対象ブロックに付与された識別子と同一の識別子を有する動きベクトルに基づいて識別子毎に予測値候補を生成する生成サブステップと、前記符号化対象ブロックの動きベクトルの識別子毎に前記予測値候補を対応付ける対応付けサブステップとを有する。
【００４７】
これにより、動きベクトルの符号化において、同一方向（前方向または後方向）に複数の動きベクトルを有する場合であっても、統一的に動きベクトルの符号化を行う方法を定義することができ、かつ動きベクトルの符号化効率を向上させることができる。
【００４８】
なお、本実施の形態においては、マクロブロックは水平１６×垂直１６画素の単位で、動き補償は８×８画素のブロック単位で、ブロック予測誤差画像の符号化は水平８×垂直８画素の単位で処理する場合について説明したが、これらの単位は別の画素数でも良い。
【００４９】
また、本実施の形態においては、３つの符号化済みの周辺ブロックの動きベクトルを用いて、その中央値を予測値として用いる場合について説明したが、この周辺ブロック数、予測値の決定方法は、他の値や他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法、等がある。
【００５０】
また、本実施の形態においては、図３を用いて、動きベクトルの符号化における予測ブロックの位置を説明したが、これは他の位置であっても良い。
【００５１】
たとえば、本実施の形態ではブロックの大きさが８×８画素であるものとしたが、これ以外の大きさのブロックも混在する場合には、符号化対象ブロックＡに対して、以下のブロックを符号化済の周辺ブロックＢ、Ｃ、Ｄとして用いてもよい。この場合、ブロックＢはブロックＡにおける左上端の画素の左に隣接する画素を含むブロックとし、ブロックＣはブロックＡにおける左上端の画素の上に隣接する画素を含むブロックとし、ブロックＤはブロックＡにおける右上端の画素の斜め右上に隣接する画素を含むブロックと決定すればよい。
【００５２】
また、本実施の形態においては、符号化対象ブロックの動きベクトルと、周辺ブロックの動きベクトルから得られた予測値との差分を取ることにより動きベクトルの符号化を行う場合について説明したが、これは差分以外の方法により動きベクトルの符号化を行っても良い。
【００５３】
また、本実施の形態においては、動きベクトル符号化の予測値の生成方法として、第１〜第３の予測値の生成方法について説明したが、これらの方法を混合して用いても良い。
【００５４】
その一例を図７に示す。同図は、第１の予測値の生成方法と第２の予測値の生成方法とを混合した例であり、図３（ａ）〜図３(ｄ)に示したブロックＡを符号化対象ブロックとし、周辺のブロックＢ〜Ｄの各ブロックの２つの動きベクトルが共に同一方向（前方向または後方向）の参照ブロックを指している場合の予測値を生成する処理を示すフローチャートである。同図においてステップＳ１１５〜Ｓ１１８は既に説明した第１の予測値の生成方法である。またステップＳ１１１〜Ｓ１１４は既に説明した第２の予測値の生成方法における周辺の各ブロックの並び方を決定する部分である。
【００５５】
Ｓ１１２における所定の順は、参照ピクチャの近い順や、遠い順や、符号化の順等でよい。ここで符号化の順は、図８に示すように符号列での記述順である。同図では符号列のうち１枚のピクチャに相当するピクチャデータを表している。ピクチャデータはヘッダに続き各ブロックの符号化データを含む。動きベクトルはブロックの符号化データ内に記述される。同図の例では、ブロックＢ、Ｃの動きベクトルについて、符号化の早い順としている。
【００５６】
Ｓ１１３では、所定順に並べた動きベクトルについて、同一順位のものをＭＶ１、ＭＶ２と分類している。このように周辺ブロックの動きベクトルを分類することにより、処理を簡易にしている。つまり、分類しなければ最大で６つ（２つの動きベクトル×３つの周辺ブロック）の動きベクトルの中央値を求めることになる。
【００５７】
より具体的には、ループ１の処理において、まず、周辺ブロックＢの２つの動きベクトルが上記の所定順に並べられ（Ｓ１１２）、この順に識別子（例えば０、１や、１、２や、ＭＶ１、ＭＶ２等でよい）が付与される（Ｓ１１３）。同様にして周辺ブロックＣ、Ｄについても、それぞれの動きベクトルに識別子（例えば０、１や、１、２や、ＭＶ１、ＭＶ２等でよい）が付与される。このとき、符号化対象のブロックＡの２つの動きベクトルに対しても、同様に識別子が付与される。
【００５８】
さらに、ループ２の処理において、まず、周辺ブロックＢ〜Ｄの動きベクトルのうち、同一の識別子（例えば０又は１）を有する動きベクトルが選択され（Ｓ１１６）、選択された動きベクトルの中央値を、符号化対象ブロックＡの動きベクトルの予測値とする（Ｓ１１７）。同様にして、もう１つの動きベクトルの予測値も求められる。
【００５９】
なお、ループ２において、ブロックＡの動きベクトルの識別子とは無関係に、２つの上記中央値を予測値の候補として算出しておき、ブロックＡの動きベクトルの識別子毎に、候補の何れかを選択する（あるいは対応させる）ようにしてもよい。また、ループ１における識別子の付与は、ブロックＡの予測値の生成時でなくてもよく、周辺ブロックＢ、Ｃ、Ｄの動きベクトル検出時に行ってもよい。また、付与された識別子は、動きベクトルと共に動きベクトル記憶部１１６に記憶される。
【００６０】
また、第２の予測値の生成方法と、第３の予測値の生成方法とを混合する場合は、図７のＳ１１５〜Ｓ１１８の代わりに第３の予測値の生成方法を実行するようにすればよい。
【００６１】
また、本実施の形態においては、動きベクトル符号化の予測値の生成方法とて、前方参照動きベクトルのみを有する場合を例として上げたが、後方参照ピクチャが含まれていても同様に考えれば良い。
【００６２】
また、本実施の形態においては、動きベクトル符号化の予測値を生成する場合に、周辺ブロックがすべて２つの動きベクトルを有している場合について説明したが、周辺ブロックが１つしか動きベクトルを有していない場合には、その動きベクトルを第１または第２の動きベクトルとして扱えば良い。
【００６３】
また、本実施の形態においては、最大参照ピクチャ数が２である場合について説明したが、これは３以上の値であっても良い。
【００６４】
また、本実施の形態における動きベクトル記憶部１１６での動きベクトルの記憶管理方法としては、１．周辺ブロックの動きベクトルとその順序（第１の動きベクトルであるか、第２の動きベクトルであるかを示す識別子）とを保存することにより、周辺ブロックの動きベクトルを動きベクトル記憶部１１６から取得する際に、識別子を用いて第１または第２の動きベクトルを取得する方法、２．周辺ブロックの第１の動きベクトルと第２の動きベクトルを記憶する位置を予め決定しておき、周辺ブロックの動きベクトルを動きベクトル記憶部１１６から取得する際に、そのメモリ位置にアクセスすることにより、第１または第２の動きベクトルを取得する方法、等の管理方法がある。
【００６５】
（第２の実施の形態）
本発明の第２の実施の形態について、図９を用いて説明する。図９は、符号列解析部７０１、予測誤差復号化部７０２、モード復号部７０３、動き補償復号部７０５、動きベクトル記憶部７０６、フレームメモリ７０７、加算演算部７０８、スイッチ７０９、７１０、動きベクトル復号化部７１１から構成される画像復号化装置のブロック図であり、画像復号化の一部として動きベクトル復号化を行う。
【００６６】
入力される符号列中のピクチャの順序は、図２（ｂ）の通りであるとする。以下では、ピクチャＢ８の復号化処理について順に説明する。
【００６７】
ピクチャＢ８の符号列は符号列解析部７０１に入力される。符号列解析部７０１では、入力された符号列から、各種データの抽出を行う。ここで各種データとは、モード選択の情報や動きベクトル情報等である。抽出されたモード選択の情報は、モード復号部７０３に対して出力される。また、抽出された動きベクトル情報は、動きベクトル復号化部７１１に対して出力される。さらに、予測誤差符号化データは予測誤差復号化部７０２に対して出力される。
【００６８】
モード復号部７０３では、符号列から抽出されたモード選択の情報を参照し、スイッチ７０９と７１０の制御を行う。モード選択がピクチャ内符号化である場合には、スイッチ７０９はａに、スイッチ７１０はｃに接続するように制御する。また、モード選択がピクチャ間予測符号化である場合には、スイッチ７０９はｂに、スイッチ７１０はｄに接続するように制御する。
【００６９】
またモード復号部７０３では、モード選択の情報を動き補償復号部７０５、動きベクトル復号化部７１１に対しても出力する。以下では、モード選択がピクチャ間予測符号化である場合について説明する。
【００７０】
予測誤差復号化部７０２では、入力された予測誤差符号化データの復号化を行い、予測誤差画像を生成する。生成された予測誤差画像はスイッチ７０９に対して出力される。ここでは、スイッチ７０９はｂに接続されているので、予測誤差画像は加算演算部７０８に対して出力される。
【００７１】
動きベクトル復号化部７１１は、符号列解析部７０１から入力された、符号化された動きベクトルに対して、復号化処理を行う。動きベクトルの復号化は、復号化済みの周辺ブロックの動きベクトルを用いて行う。この動作について、図３を用いて説明する。復号化中のブロックＡの動きベクトル（ＭＶ）は、既に復号化済みである３つの周辺ブロックＢ、Ｃ、Ｄの動きベクトルから求めた予測値と、符号化された動きベクトルとの加算値として求める。周辺ブロックの動きベクトルは、動きベクトル記憶部７０６から得る。
【００７２】
予測値の求め方を図４を用いて説明する。図４では、ブロックＡ〜Ｄが有する動きベクトルを示している。第１の動きベクトルをＭＶ１、第２の動きベクトルをＭＶ２として示している。ここで、動きベクトルが「前方」である場合は、前方参照動きベクトルであることを示す。また、その際の括弧内の記号および数字は、参照ピクチャを示している。
【００７３】
第１の予測値の求め方では、参照ピクチャが同じであるもののみを選択して、予測値を生成する。図４（ａ）の場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ２の中央値となる。また、図４（ｂ）の場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＣのＭＶ２の値そのものとなる。
【００７４】
また、図４（ｃ）の場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢのＭＶ１、ＭＶ２、ブロックＣのＭＶ１、ブロックＤのＭＶ１、ＭＶ２の中央値となり、ブロックＡのＭＶ２に対する予測値は、ＣのＭＶ２の値そのものとなる。この場合、ブロックＡのＭＶ１に対する予測値は、ブロックＢのＭＶ１、ＭＶ２の平均値、ブロックＣのＭＶ１、ブロックＤのＭＶ１、ＭＶ２の平均値の３つの値の中央値としても良い。このとき、ブロックＢのＭＶ１、ＭＶ２の平均値を求める場合には、平均値を動きベクトルの精度（例えば１／２画素精度、１／４画素精度、１／８画素精度、など）に丸める。この動きベクトルの精度は、ブロック単位、ピクチャ単位、シーケンス単位で決定されているものとする。以上の場合において、周辺ブロック中に同じ参照ピクチャを参照している動きベクトルが存在しない場合には、予測値は０とすれば良い。ここで中央値は、水平成分、垂直成分毎に求めるとする。
【００７５】
第２の予測値の求め方では、参照ピクチャに関係なく、ＭＶ１、ＭＶ２で独立して予測値を作成する。この場合、各ブロックでのＭＶ１、ＭＶ２の並び方は、所定の方法により決定しておけばよい。例えば、参照ピクチャの近いものから順に並べる、参照ピクチャの遠いものから順に並べる、前方、後方の順に並べる、復号化順（符号列での記述順）に並べる等の並び方がある。図４（ａ）の場合、ブロックＡのＭＶ１に対する予測値は、予測ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ２の中央値となる。
【００７６】
また、図４（ｂ）、図４（ｃ）の場合も、ブロックＡのＭＶ１に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ１の中央値となり、ブロックＡのＭＶ２に対する予測値は、ブロックＢ、Ｃ、ＤのＭＶ２の中央値となる。なおこの際に、ブロックＡの動きベクトルが参照するピクチャと、ブロックＡの予測値として用いるブロックＢ、Ｃ、Ｄの動きベクトルが参照するピクチャが異なる場合には、ブロックＢ、Ｃ、Ｄの動きベクトルに対してスケーリングを施しても良い。このスケーリングは、ピクチャ間の時間的距離で決まる値によって行っても良いし、予め定められた値によって行っても良い。
【００７７】
第３の予測値の求め方では、ＭＶ１では周辺ブロックから予測値を生成し、値として用いる。ＭＶ２の予測値としてＭＶ１を用いる場合、ＭＶ１の値をそのまま予測値として用いても良いし、ＭＶ１をスケーリングしたものを予測値としても良い。スケーリングして用いる場合には、ピクチャＢ８からＭＶ１の参照ピクチャまでの時間的距離と、ピクチャＢ８からＭＶ２の参照ピクチャまでの時間的距離とを一致させる方法が考えられる。その例を図６を用いて説明する。
【００７８】
図６において、ピクチャＢ８のブロックＡが動きベクトルＭＶ１、ＭＶ２を有しているとし、それぞれの参照ピクチャはそれぞれピクチャＰ７、Ｐ４であるとする。この場合、動きベクトルＭＶ２は、ＭＶ１をピクチャＰ４までスケーリングして得られるＭＶ１'（この場合には、ＭＶ１の水平成分、垂直成分をそれぞれ４倍したものとなる）をＭＶ２の予測値とする。また他のスケーリングの方法として、予め定められた値を用いてスケーリングを行っても良い。また、各ブロックでのＭＶ１、ＭＶ２の並び方は、所定の方法により決定しておけばよい。例えば、参照ピクチャの近いものから順に並べる、参照ピクチャの遠いものから順に並べる、前方、後方の順に並べる、復号化順に並べる等の並び方がある。
【００７９】
以上の例においては、ブロックＢ〜Ｄがすべて動きベクトルを有する場合について説明したが、これらのブロックがイントラブロックやダイレクトモードとして処理されている場合には、例外的な処理を行っても良い。例えば、ブロックＢ〜Ｄ中にそのようなブロックが１つ存在する場合には、そのブロックの動きベクトルを０として処理を行う。また、２つ存在する場合には、残りのブロックの動きベクトルを予測値として用いる。さらに、３つすべてが動きベクトルを有さないブロックである場合には、予測値は０として動きベクトル復号化の処理を行う、というような方法がある。
【００８０】
そして、復号化された動きベクトルは動き補償復号部７０５と動きベクトル記憶部７０６に出力される。
【００８１】
動き補償復号部７０５では、入力された動きベクトルに基づいて、フレームメモリ７０７から動き補償画像を取得する。このようにして生成された動き補償画像は加算演算部７０８に対して出力される。
【００８２】
動きベクトル記憶部７０６では、入力された動きベクトルを記憶する。すなわち、動きベクトル記憶部７０６では、復号化済みのブロックの動きベクトルを記憶する。
【００８３】
加算演算部７０８では、入力された予測誤差画像と動き補償画像とを加算し、復号化画像を生成する。生成された復号化画像はスイッチ７１０を介してフレームメモリ７０７に対して出力される。
【００８４】
以上のようにして、ピクチャＢ８のマクロブロックが順に復号化される。
以上のように、本発明の動きベクトル復号化方法は、各ブロックの動きベクトルを復号化する際に、既に復号化済みの周辺ブロックの動きベクトルを予測値として用い、その予測値と現在のブロックの符号化された動きベクトルと加算することにより、動きベクトルの復号化を行う。この予測値の生成の際には、同一方向（前方向または後方向）に複数の動きベクトルを有する場合に、同一ピクチャを参照する動きベクトルを参照する、予め定めた順序で並べた動きベクトル順に従って参照する動きベクトルを決定する、２番目以降の動きベクトルはそれ以前の動きベクトルを参照値とする、異なるピクチャを参照する動きベクトルを参照する場合には、差ピクチャ間距離に応じたスケーリングを行う、等の処理を行い、予測値を生成する。
【００８５】
さらに具体的に、本発明の動きベクトル復号化方法は、復号化対象ブロックの予測値を生成し、予測値を用いて符号化された動きベクトルを復号化する動きベクトル復号化方法であって、当該復号化対象ブロックの周辺にある複数の復号化済の各ブロックのうち少なくとも１以上が表示時間軸上で同一方向の参照ピクチャを参照する動きベクトルを有する場合に、当該復号化済ブロック毎に動きベクトルに識別子を付与する付与ステップと、前記複数の復号化済みブロックの動きベクトルのうち同一の識別子を有する動きベクトルに基づいて、前記復号化対象ブロックの動きベクトルの予測値を生成する生成ステップとを有している。ここで前記生成ステップは次の（ａ）又は（ｂ）とすることができる。
【００８６】
（ａ）前記生成ステップにおいて生成される予測値は、前記復号化対象ブロックの動きベクトルと同一の識別子を有する前記複数の復号化済みブロックの動きベクトルに基づいて生成される。
【００８７】
（ｂ）前記生成ステップにおいて生成される予測値は、前記復号化済みブロックの動きベクトルのうち同一に識別された動きベクトル毎に生成された予測値候補と、前記復号化対象ブロックの動きベクトルとを対応させて生成される。
【００８８】
前記復号化済ブロックが有する動きベクトルの識別は、当該動きベクトルが参照する参照ピクチャの遠い順と近い順との何れかに基づいて識別する。
【００８９】
これにより、第一の実施の形態のような方法で符号化が行われた動きベクトルを正しく復号化することができる。
【００９０】
なお、本実施の形態においては、３つの復号化済みである周辺ブロックの動きベクトルを用いて、その中央値を予測値として用いる場合について説明したが、この周辺ブロック数、予測値の決定方法は、他の値や他の方法であっても良い。例えば、左隣のブロックの動きベクトルを予測値として用いる方法、等がある。
【００９１】
たとえば、本実施の形態ではブロックの大きさが８×８画素であるものとしたが、これ以外の大きさのブロックも混在する場合には、符号化対象ブロックＡに対して、以下のブロックを復号化済の周辺ブロックＢ、Ｃ、Ｄとして用いてもよい。すなわち、ブロックＢはブロックＡにおける左上端の画素の左に隣接する画素を含むブロックとし、ブロックＣはブロックＡにおける左上端の画素の上に隣接する画素を含むブロックとし、ブロックＤはブロックＡにおける右上端の画素の斜め右上に隣接する画素を含むブロックと決定すればよい。
【００９２】
また、本実施の形態においては、図３を用いて、動きベクトルの復号化における予測ブロックの位置を説明したが、これは他の位置であっても良い。
【００９３】
また、本実施の形態においては、復号化対象ブロックの動きベクトルと、周辺ブロックの動きベクトルから得られた予測値との加算を行うことにより動きベクトルの復号化を行う場合について説明したが、これは加算以外の方法により動きベクトルの復号化を行っても良い。
【００９４】
また、本実施の形態においては、動きベクトル復号化の予測値の生成方法として、第１〜第３の予測値の生成方法について説明したが、これらの方法を混合して用いても良い。
【００９５】
たとえば、第１の予測値の生成方法と第２の予測値の生成方法とを混合する場合は、図７に示したフローにより予測値を生成すればよい。また、第２の予測値の生成方法と、第３の予測値の生成方法とを混合する場合は、図７のＳ１１５〜Ｓ１１８の代わりに第３の予測値の生成方法を実行するようにすればよい。
【００９６】
また、本実施の形態においては、動きベクトル符号化の予測値の生成方法とて、前方参照動きベクトルのみを有する場合を例として上げたが、後方参照ピクチャが含まれていても同様に考えれば良い。
【００９７】
また、本実施の形態においては、最大参照ピクチャ数が２である場合について説明したが、これは３以上の値であっても良い。
【００９８】
また、本実施の形態における動きベクトル記憶部７０６での動きベクトルの記憶管理方法としては、１．周辺ブロックの動きベクトルとその順序（第１の動きベクトルであるか、第２の動きベクトルであるかを示す識別子）とを保存することにより、周辺ブロックの動きベクトルを動きベクトル記憶部７０６から取得する際に、識別子を用いて第１または第２の動きベクトルを取得する方法、２．周辺ブロックの第１の動きベクトルと第２の動きベクトルを記憶する位置を予め決定しておき、周辺ブロックの動きベクトルを動きベクトル記憶部７０６から取得する際に、そのメモリ位置にアクセスすることにより、第１または第２の動きベクトルを取得する方法、等の管理方法がある。
【００９９】
さらに、上記実施の形態で示した動きベクトル符号化方法、それを含む画像符号化方法、動きベクトル復号化方法又はそれを含む画像復号化方法の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記実施の形態１で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【０１００】
図１０は、上記プログラムを格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。
【０１０１】
図１０（ｂ）は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図１０（ａ）は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムとしての画像符号化方法が記録されている。
【０１０２】
また、図１０（ｃ）は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムとしての画像符号化方法または画像復号化方法をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記画像符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１０３】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【０１０４】
図１１から図１４は、上記実施の形態１で示した符号化処理または復号化処理を行う機器、およびこの機器を用いたシステムを説明する図である。
【０１０５】
図１１は、コンテンツ配信サービスを実現するコンテンツ供給システムex１００の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex１０７〜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２０６を有している。記録メディア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４０１またはセットトップボックス（ＳＴＢ）ex４０７などの装置によりビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex４０２に記録したビットストリームを読み取り、復号化する再生装置ex４０３にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex４０４に表示される。
【０１２４】
また、ケーブルテレビ用のケーブルex４０５または衛星／地上波放送のアンテナex４０６に接続されたセットトップボックスex４０７内に画像復号化装置を実装し、これをテレビのモニタex４０８で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex４１１を有する車ex４１２で放送衛星ex４１０からまたは基地局ex１０７等から信号を受信し、車ex４１２が有するカーナビゲーションex４１３等の表示装置に動画を再生することも可能である。
【０１２５】
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクに画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダｅｘ４２０がある。更にSDカードｅｘ４２２に記録することもできる。レコーダｅｘ４２０が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクｅｘ４２１やSDカードｅｘ４２２に記録した画像信号を再生し、モニタｅｘ４０８で表示することができる。
【０１２６】
なお、カーナビゲーションex４１３の構成は例えば図１３に示す構成のうち、カメラ部ex２０３とカメラインターフェース部ex３０３、画像符号化部ｅｘ３１２を除いた構成が考えられ、同様なことがコンピュータex１１１やテレビ（受信機）ex４０１等でも考えられる。
【０１２７】
また、上記携帯電話ex１１４等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の３通りの実装形式が考えられる。
【０１２８】
このように、上記実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
【０１２９】
また、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
【産業上の利用可能性】
【０１３０】
本発明は、ピクチャ間予測符号化を用いて符号化および復号化を行う際の、動きベクトル情報の符号化および復号化を行う方法、装置に適している。
【符号の説明】
【０１３１】
１０１、１０７  フレームメモリ
１０２  差分演算部
１０３  予測誤差符号化部
１０４  符号列生成部
１０５  予測誤差復号化部
１０６  加算演算部
１０８  動きベクトル検出部
１０９  モード選択部
１１６  動きベクトル記憶部
１１７  動きベクトル符号化部
【図１】
2010081648.tif 000003
【図２】
2010081648.tif 000004
【図３】
2010081648.tif 000005
【図４】
2010081648.tif 000006
【図５】
2010081648.tif 000007
【図６】
2010081648.tif 000008
【図７】
2010081648.tif 000009
【図８】
2010081648.tif 000010
【図９】
2010081648.tif 000011
【図１０】
2010081648.tif 000012
【図１１】
2010081648.tif 000013
【図１２】
2010081648.tif 000014
【図１３】
2010081648.tif 000015
【図１４】
2010081648.tif 000016
【図１５】
2010081648.tif 000017
【図１６】
2010081648.tif 000018