(57)【特許請求の範囲】
【請求項１】
動画像信号の各フレームを所定の方法で分割した領域単位で動き補償予測を行い生成した予測画像と上記動画像信号との間の差分信号を圧縮符号化した符号化ビットストリームを生成する動画像符号化装置であって、
予測画像の生成に用いる参照画像を格納するフレームメモリ群と、
符号化対象フレームと、前記フレームメモリ群に格納される参照画像との間で動きベクトルを検出して動き補償予測画像を生成する動き補償部と、
前記符号化対象フレームと前記動き補償部が生成する予測画像の差分信号を直交変換・量子化して可変長符号化するとともに、前記動きベクトルを含む符号化パラメータと、前記差分信号の可変長符号化データとをビットストリームに多重化する符号化部とを備え、
前記動き補償部は、検出する動きベクトルが記述可能な仮想画素精度と仮想画素精度を含む予測画像の生成時に用いる内挿フィルタリング方法とを、動き補償予測の単位となる領域の形状にしたがって切り換える機構を備え、
前記フレームを分割した領域の単位で、前記フレームメモリ群上の複数の参照画像を参照して、前記機構に基づく仮想画素精度と内挿フィルタリング方法に従い動きベクトルの検出を行い、各参照画像に対応する複数の予測画像を生成し、
前記符号化部は、前記機構に基づく前記仮想画素精度と内挿フィルタリング方法を指示する情報であって、動き補償予測の単位となる領域の形状を示す形状情報をビットストリームに多重化し、
前記機構に基づく前記仮想画素精度と内挿フィルタリング方法に従い検出した動きベクトルの符号化を行うとともに、いずれの参照画像を用いて予測画像を生成するかを示す複数の情報の中からマクロブロックを最も効率よく符号化できる前記情報を符号化してビットストリームに多重化することを特徴とする動画像符号化装置。
【請求項２】
動画像信号の各フレームを所定の方法で分割した領域単位で動き補償予測が行われ圧縮符号化された符号化ビットストリームに基づいて動画像信号を復元する動画像復号装置であって、
予測画像の生成に用いる複数の参照画像を格納するフレームメモリ群と、
前記符号化ビットストリームに基づいて差分信号と、動きベクトルと、動きベクトルが予測画像生成時に参照する参照画像を示す情報とを、前記フレームを分割した領域の単位で復号し、仮想画素精度と仮想画素を含む予測画像の生成時に用いる内挿フィルタリング方法を表す指示情報であって、動き補償予測の単位となる領域の形状を示す形状情報をフレーム単位で復号する復号部と、
前記復号部によって復号された動きベクトルと、前記動きベクトルが予測画像生成時に参照する参照画像を示す情報とに基づいて、前記フレームメモリ群に格納された参照画像を参照して前記予測画像を生成する動き補償部とを備え、
前記復号部は、仮想画素精度と前記仮想画素を含む予測画像の生成時に用いる内挿フィルタリング方法をあらわす指示情報であって、動き補償予測の単位となる領域の形状を示す前記形状情報に基づいて、前記予測画像の構成要素となる前記仮想画素の精度を切り換え、切り換れられた精度に基づいて動きベクトルの復号を行い、
前記動き補償部は、前記仮想画素精度が切り換えられた場合に前記形状情報に基づいて、複数の前記内挿フィルタリング方法から選択された内挿フィルタを用いて予測画像を生成し、
前記復号部にて復号された差分信号と、前記動き補償部にて生成された予測画像とを加算して動画像信号を復元する動画像復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の高能率符号化あるいは復号化において、既存の画像から符号化すべき画像もしくは復号すべき画像の予測を行い、予測誤差を符号化もしくは予測誤差との加算により復号を行う画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、およびこれらの画像符号化装置と画像復号装置とのうち少なくとも一方を備えた通信装置に関するものである。
【背景技術】
【０００２】
従来、MPEGやITU-T H.26xなどの標準映像符号化方式は、マクロブロックとよばれる、輝度信号16×16画素(＋対応する色差信号8×8画素)から構成される正方ブロックにフレーム画面の分割を行い、その単位で動き補償予測によって参照フレームからの動きを推定し、推定誤差分の信号(予測残差信号)と動きベクトル情報とを符号化している。また、MPEG-2ではマクロブロックを2つのフィールド領域に分割してフィールド別に動き予測を行ったり、H.263やMPEG-4ではマクロブロックをさらに8×8画素ブロックのサイズに4分割し、各サブブロック単位で動き予測を行う技術が導入されている。特に、MPEG-4における動き予測ブロックサイズの適応化は、動きベクトルの符号量が増える一方で、より激しい・細かい動きへの追随性が向上し、適切なモード選択を行うことによって性能向上が見込めることが知られている。
【０００３】
また、動き補償予測の別の技術的側面として、動きベクトルの精度がある。本来、デジタル画像データゆえ、サンプリングによって生成された離散的な画素情報(以降、整数画素と呼ぶ)しか存在しないが、整数画素の間に内挿演算によって仮想的なサンプルを作り出し、それを予測画像として用いる技術が広く利用されている。この技術には、予測の候補点が増えることによる予測精度の向上と、内挿演算に伴うフィルタ効果によって予測画像の特異点が削減され予測効率が向上するという2つの効果があることが知られている。一方で、仮想サンプルの精度が向上すると、動き量を表現する動きベクトルの精度も上げる必要があるため、その符号量も増加することに注意する必要がある。
【０００４】
MPEG-1、MPEG-2ではこの仮想サンプルの精度を1/2画素精度まで許容する半画素予測が採用されている。図１７に1/2画素精度のサンプルの生成の様子を示す。同図において、A,B,C,Dは整数画素、e,f,g,h,iはA〜Dから生成される半画素精度の仮想サンプルを示す。
【０００５】
e = (A+B)//2
f = (C+D)//2
g = (A+C)//2
h = (B+D)//2
i = (A+B+C+D)//2
(ただし、//は丸めつき除算を示す。)
この半画素精度の仮想サンプル生成手順を、所定のブロックに対して適用する場合は、ブロックの端点から周辺１整数画素分余分なデータを要する。これはブロックの端点(整数画素)から半画素分外側の仮想サンプルを算出する必要があるためである。
【０００６】
また、MPEG-4では、1/4画素精度までの仮想サンプルを用いる1/4画素精度予測が採用されている。1/4画素精度予測では、半画素サンプルを生成した後、それらを用いて1/4画素精度のサンプルを生成する。半画素サンプル生成時の過度の平滑化を抑える目的で、タップ数の多いフィルタを用いてもとの信号の周波数成分を極力保持するよう設計される。例えばMPEG-4の1/4画素精度予測では、1/4画素精度の仮想サンプル生成のために作られる半画素精度の仮想サンプルaは、その周辺8画素分を使用して、以下のように生成される。なお、下式は、水平処理の場合のみを示しており、1/4画素精度の仮想サンプル生成のために作られる半画素精度の仮想サンプルaと、下式の整数画素のX成分X-4〜X4との関係は、図１８に示す位置関係にある。
【０００７】
a = (COE1*X1+COE2*X2+COE3*X3+COE4*X4+COE-1*X-1+COE-2*X-2+COE-3*X-3+COE-4*X-4)//256
（ただし、COEk: フィルタ係数(係数総和が256)。//は丸めつき除算を示す。）
この1/4画素精度の仮想サンプル生成手順を、所定のブロックに対して適用する場合は、ブロックの端点から周辺4整数画素分余分なデータを要する。これはブロックの端点(整数画素)から1/4画素分外側の仮想サンプルを算出する必要があるためである。
【０００８】
【非特許文献１】FDAM for ISO/IEC 14496-2
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、予測対象ブロックの端点において、フィルタタップ数に応じた数の予測対象ブロックの周辺画素がフィルタ演算に必要になるため、タップ数次第では予測画像生成のために必要なメモリバンド幅が大きくなるという問題がある。
【００１０】
特に、MPEG-4の1/4画素精度予測では、この問題を避けるため、予測対象ブロックの端点画素を折り返すことで予測画像生成のために必要な新規読み出し画素数を抑える工夫がなされているが、これにより、予測対象ブロックの境界での自然なフィルタリングが阻まれ、符号化効率上好ましいとはいえないという問題がある。
【００１１】
そこで、本発明は、マクロブロックなど映像フレームを小領域単位に分割して個々に動き補償予測を行う場合でも、メモリバンド幅を抑えつつ、符号化効率を向上させることを可能とする画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、およびこれらの画像符号化装置と画像復号装置とのうち少なくとも一方を備えた通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明は、
動画像信号の各フレームを所定の方法で分割した領域単位で動き補償予測を行い生成した予測画像と上記動画像信号との間の差分信号を圧縮符号化した符号化ビットストリームを生成する動画像符号化装置であって、
予測画像の生成に用いる参照画像を格納するフレームメモリ群と、
符号化対象フレームと、前記フレームメモリ群に格納される参照画像との間で動きベクトルを検出して動き補償予測画像を生成する動き補償部と、
前記符号化対象フレームと前記動き補償部が生成する予測画像の差分信号を直交変換・量子化して可変長符号化するとともに、前記動きベクトルを含む符号化パラメータと、前記差分信号の可変長符号化データとをビットストリームに多重化する符号化部とを備え、
前記動き補償部は、検出する動きベクトルが記述可能な仮想画素精度と仮想画素精度を含む予測画像の生成時に用いる内挿フィルタリング方法とを、動き補償予測の単位となる領域の形状にしたがって切り換える機構を備え、
前記フレームを分割した領域の単位で、前記フレームメモリ群上の複数の参照画像を参照して、前記機構に基づく仮想画素精度と内挿フィルタリング方法に従い動きベクトルの検出を行い、各参照画像に対応する複数の予測画像を生成し、
前記符号化部は、前記機構に基づく前記仮想画素精度と内挿フィルタリング方法を指示する情報であって、動き補償予測の単位となる領域の形状を示す形状情報をビットストリームに多重化し、
前記機構に基づく前記仮想画素精度と内挿フィルタリング方法に従い検出した動きベクトルの符号化を行うとともに、いずれの参照画像を用いて予測画像を生成するかを示す複数の情報の中からマクロブロックを最も効率よく符号化できる前記情報を符号化してビットストリームに多重化することを特徴とする動画像符号化装置である。
【００１３】
また、本発明は、
動画像信号の各フレームを所定の方法で分割した領域単位で動き補償予測が行われ圧縮符号化された符号化ビットストリームに基づいて動画像信号を復元する動画像復号装置であって、
予測画像の生成に用いる複数の参照画像を格納するフレームメモリ群と、
前記符号化ビットストリームに基づいて差分信号と、動きベクトルと、動きベクトルが予測画像生成時に参照する参照画像を示す情報とを、前記フレームを分割した領域の単位で復号し、仮想画素精度と仮想画素を含む予測画像の生成時に用いる内挿フィルタリング方法を表す指示情報であって、動き補償予測の単位となる領域の形状を示す形状情報をフレーム単位で復号する復号部と、
前記復号部によって復号された動きベクトルと、前記動きベクトルが予測画像生成時に参照する参照画像を示す情報とに基づいて、前記フレームメモリ群に格納された参照画像を参照して前記予測画像を生成する動き補償部とを備え、
前記復号部は、仮想画素精度と前記仮想画素を含む予測画像の生成時に用いる内挿フィルタリング方法をあらわす指示情報であって、動き補償予測の単位となる領域の形状を示す前記形状情報に基づいて、前記予測画像の構成要素となる前記仮想画素の精度を切り換え、切り換れられた精度に基づいて動きベクトルの復号を行い、
前記動き補償部は、前記仮想画素精度が切り換えられた場合に前記形状情報に基づいて、複数の前記内挿フィルタリング方法から選択された内挿フィルタを用いて予測画像を生成し、
前記復号部にて復号された差分信号と、前記動き補償部にて生成された予測画像とを加算して動画像信号を復元する動画像復号装置である。
【００１４】
【００１５】
【００１６】
【００１７】
【００１８】
【００１９】
【００２０】
【００２１】
【００２２】
【００２３】
【００２４】
【００２５】
【００２６】
【００２７】
【００２８】
【００２９】
【００３０】
【００３１】
【００３２】
【００３３】
【００３４】
【発明の効果】
【００３５】
以上説明したように、本発明に係る画像符号化装置および方法によれば、動き補償予測の単位となる領域の形状に応じて、予測画像の構成要素となる仮想画素の精度を切り換えて予測画像の候補を生成し、該複数の予測画像候補のうち予測効率が大きい予測画像を与える動きベクトルを生成すると共に、生成した動きベクトルに基づき、動き補償予測の単位となる領域の形状に応じて予測画像の構成要素となる仮想画素の精度を切り換えて予測画像をするようにしたので、動き補償予測単位となる領域の形状に応じて動き補償予測の精度を切り換えることにより、メモリバンド幅を抑えながら符号化効率を向上させた圧縮符号化を行うことが可能となる。
【００３６】
また、動き補償予測単位となる領域の形状に応じて動き補償予測の精度を切り換えると共に、動き補償予測の単位となる領域の形状に応じて動きベクトルの予測符号化方法も切り換えて適応的に切り変えて符号化を行うことにより、例えば、メモリバンド幅を抑えながら符号化効率を向上させた分だけ動きベクトルに多く符号量を割り当てることが可能となり、メモリバンド幅を抑えながら画質も保つこと等もできることになる。
【００３７】
また、本発明に係る画像復号装置によれば、符号化ビットストリームを入力して上記差分信号と、動きベクトルと、上記動き補償予測の単位となる領域の形状を示す形状情報とを復号し、その動き補償予測の単位となる領域の形状を示す形状情報に基づいて予測画像の構成要素となる仮想画素の精度を切り換え、切り換えられた精度にしたがい上記復号された動きベクトルを用い上記参照画像を参照して予測画像を生成し、上記復号された上記差分信号と、上記動き補償によって生成された予測画像とを加算して動画像信号を復元するようにしたので、メモリバンド幅を抑えながら符号化効率を向上させて圧縮符号化が行われた符号化ビットストリームを復号することが可能となる。
【００３８】
特に、メモリバンド幅削減は、特に映像再生を主とするプレーヤを、携帯電話、携帯情報端末などの映像符号化装置、映像復号装置のハードウエア実装する際に、映像復号処理実装の簡略化、消費電力化に著しい効果を発揮するので、これら符号化装置、復号装置の実装コストを抑えながら伝送・記録効率の高い映像符号化装置、映像復号装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００３９】
実施の形態１．
本実施の形態１では、映像の各フレーム画像をマクロブロックの単位に分割し、さらに、マクロブロック内を複数の形状のサブブロックに分割して個々に動き補償予測を可能とする動き補償予測手段を有する映像符号化・復号装置について説明する。本実施の形態１の映像符号化・復号装置の特徴は、動き補償予測の単位となる領域（ブロック）の形状やその大きさに応じて、従来例にて述べた仮想サンプルの精度を切り替えることと、それに伴い動きベクトルの符号化・復号方法も切り替えることの2点にある。本実施の形態１における映像符号化装置および復号装置の構成を図１および図２に示す。
【００４０】
図１は、本実施の形態１における映像符号化装置の構成を示している。この映像符号化装置は、図３に示すように、減算器１０、符号化モード判定部１２、量子化部１６、逆量子化部１８、逆直交変換部１９、切替器５２、加算器５３、フレームメモリ３、動き検出部２、動き補償部７、可変長符号化器６、送信バッファ２４、符号化制御部２２を有している。
【００４１】
次に図３に示す映像符号化装置の動作を説明する。
[1]符号化装置の動作概要
図１の符号化装置において、入力映像信号１は、個々の映像フレームがマクロブロックに分割された単位で入力されるものとし、まず、動き検出部２において、フレームメモリ３に格納される参照画像４を用いてマクロブロック単位に動きベクトル５が検出される。動きベクトル５に基づいて動き補償部７において予測画像８が得られ、減算器１０にて予測画像８と入力信号１との差分をとることによって予測残差信号９が得られる。
【００４２】
符号化モード判定部１２では、予測残差信号９を符号化する動き予測モード、フレーム内を符号化するイントラモードなど、マクロブロックの符号化方法を指定する複数のモードの中から、当該マクロブロックをもっとも効率よく符号化することができるモードを選択する。この符号化モード情報１３は符号化対象情報として可変長符号化部６へ出力される。ここで、符号化モード判定部１２にて符号化モード情報１３として動き予測モードが選択される場合は、動きベクトル５が符号化対象情報として可変長符号化部６に受け渡される。
【００４３】
また、符号化モード判定部１２において選択された符号化対象信号は、直交変換部１５、量子化部１６を経て、直交変換係数データ１７として可変長符号化部６へ受け渡される一方、その直交変換係数データ１７は、逆量子化部１８、逆直交変換部１９を経たのち、切替器５２へ出力される。
【００４４】
切替器５２では、符号化モード情報１３に従って、その符号化モード情報１３が動き予測モードを示している場合には、逆量子化および逆直交変換された直交変換係数データ１７と、動き補償部７からの予測画像８と加算して局所復号画像２１としてフレームメモリ３へ出力するか、あるいはその符号化モード情報１３がイントラモードを示している場合には、逆量子化および逆直交変換された直交変換係数データ１７をそのまま局所復号画像２１として出力する。局所復号画像２１は以降のフレームの動き予測に用いられるため、参照画像データとしてフレームメモリ３へ格納される。
【００４５】
量子化部１６では、符号化制御部２２において決定される量子化ステップパラメータ２３によって与えられる量子化精度で直交変換係数データの量子化を行う。この量子化ステップパラメータ２３を調整することで出力の符号化レートと品質のバランスとをとる。一般には、可変長符号化の後、伝送直前の送信バッファ２４に蓄積される符号化データの占有量を一定時間ごとに確認し、そのバッファ残量２５に応じてパラメータ調整が行われる。具体的には、例えば、バッファ残量２５が少ない場合は、レートを抑え気味にする一方、バッファ残量２５に余裕がある場合は、レートを高めにして品質を向上させるようにする。なお、この、符号化制御部２２において決定される量子化ステップパラメータ２３は、可変長符号化部６へも出力される。
【００４６】
可変長符号化部６では、動きベクトル５、量子化ステップパラメータ２３、符号化モード情報１３、直交変換係数データ１７などの符号化対象データのエントロピー符号化を行い、送信バッファ２４経由で、映像圧縮データ２６として伝送する。
【００４７】
図２は、本実施の形態１における映像復号装置の構成を示している。この映像復号装置は、図２に示すように、可変長復号部２７、逆量子化部１８、逆直交変換部１９、加算器５５、切替器５４、動き補償部７、フレームメモリ３を有している。
【００４８】
[2]復号装置の動作概要
次に、図２に示す実施の形態１の映像復号装置の動作を説明する。
図２に示した復号装置では、映像圧縮データ２６を受け取ると、可変長復号部２７にて後述するエントロピー復号処理が行われて、動きベクトル５、符号化モード情報１３、直交変換係数データ１７、量子化ステップパラメータ２３などが復元される。
【００４９】
直交変換係数データ１７、量子化ステップパラメータ２３は、符号化側と同じ逆量子化部１８と逆直交変換部１９によって復号される。
【００５０】
また、切替器５４は、符号化モード情報１３が動き予測モードを示している場合は、動き補償部７において復号された動きベクトル５と符号化モード情報１３とに基づいて予測画像８を復元し出力する一方、イントラモードを示している場合は、０を出力する。
【００５１】
そして、切替器５４からの出力は、加算器５５にて逆直交変換部１９の出力である復号信号と加算されることによって復号画像２１が得られる。復号画像２１は以降のフレームの予測画像生成に用いられるため、フレームメモリ３に格納される。
【００５２】
[3]動き補償予測の詳細動作
次に、符号化装置の動き検出部２、動き補償部７、フレームメモリ３を用いて行われる動き補償予測処理について、また、復号装置の動き補償部７、フレームメモリ３を用いて行われる動き補償処理について、それぞれ説明する。
【００５３】
[3]−１  符号化装置における動き補償予測処理手順
図３に、符号化装置における動き補償予測処理のフローチャートを示す。以下、ステップごとに説明する。
【００５４】
[3]−１−１  仮想サンプル精度の決定(ステップS1)
図４に、本実施の形態１における動きベクトルの検出単位領域の構成を示す。同図において、16×16 MCとはマクロブロックそのものを動きベクトル検出単位とする。16×8 MCは縦方向に2分割した領域を、8×16 MCは横方向に2分割した領域をそれぞれ動きベクトル検出単位とする。8×8 MCはマクロブロックを4つの領域に均等分割し、それぞれを動きベクトル検出単位とする。さらに、本実施の形態１の場合、8×8 MCでは、個々の分割領域に対して、さらに縦2分割(8×4 MC)、横2分割(4×8 MC)、4分割(4×4 MC)の領域分割を可能とし、それぞれを動きベクトル検出単位とすることができるようにする。
【００５５】
これは、一般に、細かい分割ではマクロブロック内部に複雑な動きが存在する場合に予測効率をあげることができる一方、多くの動きベクトル情報を伝送する必要がある。このようにマクロブロック内部で動きベクトル検出単位領域の形状を様々に適応化できるように構成すれば、局所的に最適な分割形状と動きベクトルの選択・検出を行いながら符号化を実行することができるからである。
【００５６】
さて、個々の領域の動きベクトルの検出においては、従来例に示したとおり、仮想サンプルを用いた動き補償予測を用いる。ただし、従来の標準映像符号化方式などと異なり、本実施の形態１では、例えば、図４に示すように、個々の動きベクトル検出単位の領域の形状や大きさ等に関連付けて局所的に仮想サンプルの精度および動きベクトルの予測符号化方法を決定する。
【００５７】
そして、本実施の形態１の符号化装置では、動き補償予測の単位である動きベクトル検出単位の領域の形状や大きさ等を示す形状情報を、符号化モード情報１３の中の動き予測モードの一部として可変長符号化部６にて符号化し、復号装置に伝送する。
【００５８】
したがって、本実施の形態１の復号装置では、符号化モード情報１３だけによって、動き予測モードかイントラ符号化モードかであるかの符号化モード以外に、その符号化モード情報１３の中の動き予測モードの一部として含まれる形状情報により、動き補償予測の単位である動きベクトル検出単位領域の形状や大きさ、およびその形状や大きさから一義的に決まる仮想サンプルの精度および動きベクトルの予測符号化方法を判定することができるので、仮想サンプル精度および動きベクトルの予測符号化方法の切り替えのための付加情報を一切必要としない。
【００５９】
本実施の形態１では、その決定ルールとして、8×8 MCより小さい例えば8×4や、4×8、4×4サイズ等の動きベクトル検出単位領域では半画素精度の仮想サンプルを用いることとし、それ以上のサイズの動きベクトル検出単位領域では1/4画素精度の仮想サンプルを用いる。
【００６０】
このルールを適用する理由として、動きベクトル検出単位領域の形状の選ばれ方が挙げられる。つまり、一般に、動きが均一でかつ動き速度の遅い領域では画面の空間解像度が保持され、テクスチャに対する視認度が向上する。こういった領域では大きな動きベクトル検出領域によりできるだけ動きベクトルを均一にし、動き領域の細分化に伴う領域間不連続を回避して信号の再現性を高めるとともに、仮想サンプルの精度を向上して予測効率を上げることが望ましい。逆に、動きが複雑であったり、動きの速度が視覚的に認知しにくい領域では画面の詳細なテクスチャが保存されず、視覚的には空間解像度が低く感じられる。こういった領域では、ある程度信号の再現性を犠牲にしても動きベクトルの本数を多くして予測効率を向上させることが望ましい。ただし、信号の空間解像度が低くなること、動きベクトルの情報量が多くなることから、仮想サンプルの精度は低く設定しても全体的な符号化効率の観点からは問題ないと考えられる。
【００６１】
このような仮想サンプル精度の局所的設定を可能とすることにより、図５に示すように、8×4, 4×8, 4×4 MCの各モードについて、仮想サンプル生成に必要なメモリバンド幅を削減することができ、装置の簡略化にも効果的である。同図では、中段のモード状態に対して、上段はこれらのすべてのモードに対して1/4画素精度の仮想サンプルを用いることを想定した場合を示しており、かつ仮想サンプル生成のためにKタップのフィルタを用いる場合、すなわち、動きベクトル検出単位領域の端点からそれぞれK画素（K≧２）分の整数画素データをメモリから読み出す必要があることを示している。従来例では、K画素分の半分は折り返しで作成する例を示したが、ここでは折り返しを行わず、連続するK画素すべてを使用することで自然なフィルタリングを行うことを想定している。
【００６２】
それに対し、本実施の形態１のように、これらの8×4, 4×8, 4×4 MCの各モードでは、半画素精度の仮想サンプルのみを使用することをあらかじめ決定しておくことにより、仮想サンプル生成のためにメモリから読み出す必要があるデータは、例えば従来例の半画素精度サンプル生成手順に従えば動きベクトル検出単位領域の周辺1画素分だけでよい。小さいサイズの動きベクトル検出単位領域では、個々の検出単位領域が空間的に不連続であるため、このことが極めて大きな意味をもつ。
[3]−１−２  予測誤差量の算出(ステップS2、S3)
ステップS1で決定された仮想サンプル生成ルールに従い、それぞれのモードで個々の動きベクトル検出単位領域ごとに、各動きベクトル候補に対して予測画像を生成し、予測対象の動きベクトル検出単位領域との差分をとることにより予測誤差量を算出する。ここで、仮想サンプルについては、従来例の図１７に示したような半画素精度サンプルの生成、図１８に示したような1/4画素精度サンプルの生成を行うものとする。ただし、本実施の形態１の場合、図１８の端点での画素値折り返し使用は行わないこととし、フィルタタップ数は一般性を持たせるため、以降Kタップとする。したがって、半画素精度の仮想サンプルを用いる8×8 MCより小さい例えば8×4や、4×8、4×4MC以下のモードの場合は、仮想サンプル生成に用いる画素データは、図５の下段に示すように、各8×4, 4×8, 4×4動きベクトル検出単位領域の周辺1画素分だけメモリから読み出すことになる(ステップS2)。
【００６３】
予測誤差量の算出は(ステップS3)、ブロックマッチング法に基づき、各画素単位の誤差量を加算することで算出するのが一般的であり、誤差量としては主に二乗誤差 (p  p')2もしくは差分絶対値 | p  p' |が用いられる。ただし、pは予測対象の画素値、p'は予測画像内の対応する位置の画素値である。以下では、誤差量は、後者の差分絶対値を想定し、動きベクトル検出単位領域ごとあるいはマクロブロック内の総和としてSAD(Sum of Absolute Difference)というタームを用いることとする。
【００６４】
[3]−１−３  動きベクトル符号量の算出(ステップS4)
次いで、動きベクトルの符号量を算出する(ステップS4)。動きベクトルは、通常、周辺領域との相関が高いため、周辺領域の動きベクトルを予測値として、周辺領域の動きベクトルの予測値と、求めた動きベクトルとの間の予測差分値(MVD)を可変長符号化する。予測値の設定の方法には様々な手法が存在するが、ここでは予測値は所定のルールで定められたものとして動きベクトルの予測差分値(MVD)が得られるものとし、その詳細は割愛する。
【００６５】
そして、本実施の形態１では、予測差分値(MVD)の符号量を求めるにあたり、[3]−１−１で定めた仮想サンプル精度を考慮する。
【００６６】
図６を用いてステップS4における予測差分値(MVD)の求め方を説明する。なお、この動作は動き検出部２において実行されるが、最終的にステップS9で定まる動きベクトルを可変長符号化部６で符号化する場合にも同じルールが適用される。
【００６７】
図６において、符号化対象となる動きベクトルをMV1〜MV5とし、所定の予測値設定ルールにしたがってMV1およびMV3に対して定められた予測ベクトルをPMV1、MV5に対して求められた予測ベクトルをPMV2とする。MV2はMV1を、MV4はMV3をそれぞれ予測値とするものとする。PMV1、PMV2はすでに符号化済みの値であるため適宜キャッシュしておけばよい。
【００６８】
PMV1は、16×8 MCによる動きベクトル、MV5は8×8 MCによる動きベクトルであるため、[3]−１−１で定めたルールに従えば1/4画素精度の仮想サンプルを用いて決定された動きベクトルである。一方、MV1〜MV4およびPMV2は4×4 MCによる動きベクトルであるため、[3]−１−１で定めたルールに従えば半画素精度の仮想サンプルを用いて決定された動きベクトルである。つまり、PMV1,MV5と、MV1〜MV4と、PMV2との間には仮想サンプルの精度の違いが存在する。一方、動きベクトル符号化時にはあらかじめ予測ベクトルの値およびその仮想サンプル精度は既知である。このことを利用して、本実施の形態１では、予測差分値(MVD)を得るために適応的に動きベクトルの精度のあわせこみを行う。すなわち、以下の条件により、予測差分値(MVD)を求める。
【００６９】
（１）条件１：自身(MV)が1/2画素精度の仮想サンプルを用いた予測により得られた動きベクトルである場合は、PMVの精度により、以下のように２つに分かれる。
条件１−１：PMVが同じ精度の仮想サンプルを用いた動きベクトルである場合
MVD = MV − PMV
【００７０】
条件１−２：PMVが1/4画素精度の仮想サンプルを用いた動きベクトルである場合
MVD = MV − (PMV >> 1)
【００７１】
（２）条件２：自身(MV)が1/4画素精度の仮想サンプルを用いた予測により得られた動きベクトルである場合は、PMVの精度により、以下のように２つに分かれる。
条件２−１：PMVが同じ精度の仮想サンプルを用いた動きベクトルである場合
MVD = MV − PMV
【００７２】
条件２−２：PMVが1/2画素精度の仮想サンプルを用いた動きベクトルである場合
MVD = MV − (PMV << 1)
【００７３】
ただし、x << yは、xに対する左方向へのyビットシフト演算、x >> yはxに対する右方向へのyビットシフト演算を示している。
【００７４】
PMV1とMV1、MV3との間のルールとしては、上記条件１−２が適用され、MV1,MV3とMV2,MV4との間のルールとしては、上記条件１−１が適用され、PMV2とMV5との間のルールとしては条件２−２が適用される。
【００７５】
この手順により、半画素精度の動きベクトルに対しては半画素精度でMVDを算出することが可能であり、常時1/4画素精度のMVDを用いるのに比べ符号量を削減することが可能である。
【００７６】
[3]−１−４  コストの算出・最小コストの更新(ステップS5、S6、S7)
上記の結果得られる予測差分値(MVD)を符号化することにより、符号量RMVDが得られる。これとステップS2におけるSADとを用いて、各動きベクトル候補について下記の式により、コストCを求める(ステップS5)。
【００７７】
C = SADMV + λRMVD
(λは正の定数)
【００７８】
動き補償部７は、上記のようにしてコストを算出するごとに、算出したコストが最小であるか否かを判断し(ステップS6）、それ以前に算出されたモードのコストよりも小さい値が現れれば(ステップS6"Y"）、最小コストの更新を行うとともに、該当する予測モード、動きベクトルデータを保持しておく(ステップS7）。
【００７９】
なお、ステップS1〜S7は、16×16 MC〜8×8 MCおよびそれ以下の分割モードすべてについて実行され、ステップS2〜S5は、各動きベクトル検出単位領域に対し、あらかじめ符号化装置において設定された所定の動きベクトル探索範囲内、すなわち水平・垂直方向の平行移動量の上限を規定する窓内のすべての動きベクトル候補に対して実行する。
【００８０】
[3]−１−５  最終モード・動きベクトルの決定(ステップS8、S9)
以上説明した[3]−１−４のコストの算出・最小コストの更新処理(ステップS5、S6、S7)が終了したら、続いて全予測モードでコストを算出したか否かを判断し(ステップS8）、全予測モードでコスト算出をしていなければ(ステップS8"N"）、以上説明した[3]−１−４までに示す処理(ステップS1〜S7)を行う一方、全予測モードでコスト算出をした場合には(ステップS8"Y"）、[3]−１−４で得られるマクロブロックの単位のコストのうち、最もコストの小さい予測モードを、実際に符号化する予測モードとして決定する(ステップS9）。また、予測モードの決定と同時に、当該予測モードに対応した動きベクトルが決定されることになる(ステップS9）。
【００８１】
以上説明した動き補償予測処理により決定された予測モードは、最終的にはイントラモードとの比較で最適なモードが決定され、符号化モード情報１３として可変長符号化部６を通じてマクロブロック単位に映像圧縮データ２６に多重される。また、決定された動きベクトルデータ５は、[3]−１−３の手順でMVDデータ化され、可変長符号化部６を通じてマクロブロック単位に映像圧縮データ２６に多重される。
[3]−２  復号装置における動き補償処理
図７に、復号装置側における動き補償処理のフローチャートを示す。以下、フローチャートを参照して復号装置側における動き補償処理を詳細に説明する。
【００８２】
[3]−２−１  予測モード、動きベクトルデータの復号 (ステップS10)
図２に示すように復号装置側では、可変長復号部２７が、例えば図１に示す符号化装置から出力された映像圧縮データ２６からマクロブロック単位に符号化モード情報１３を復号する。これがインター（フレーム間予測）モードを示す場合、可変長復号部２７は、続いて予測差分値(MVD)の形式で符号化されている動きベクトルデータ５を復号する(ステップS10)。
【００８３】
[3]−２−２  仮想サンプル精度の決定(ステップS11)
符号化モード情報１３がインター（フレーム間予測）モード、すなわち、本実施の形態１の場合例えば図４に示すいずれかの動き補償予測モードを表す場合は、符号化装置における動き補償予測処理手順として説明した[3]−１−１の手順（ステップS1）の場合と同様に、仮想サンプル精度の決定を行う。つまり、符号化装置側の動作で説明したように、動き補償予測の単位、すなわち動きベクトル検出単位の領域の形状や大きさ等を示す形状情報は、符号化モード情報１３の中の動き予測モードの一部として可変長符号化部６で符号化されているので、復号装置側では、復号した符号化モード情報１３の中に動き予測モードの一部として含まれる形状情報により、動き補償予測の単位である動きベクトル検出単位領域の形状や大きさ、およびその形状や大きさから一義的に決まる仮想サンプルの精度を判定することができる
【００８４】
[3]−２−３  動きベクトルの復号(ステップS12)
次いで、予測差分値(MVD)の形式で復号された動きベクトルを、実際に各動きベクトル適用単位領域、すなわち符号化装置の説明における各動きベクトル検出単位領域に対して使用された動きベクトルデータ(MV)へ復号する(ステップS12)。この手順は、本実施の形態１では、可変長復号部２７等において行われ、符号化装置における動き補償予測処理手順として説明した[3]−１−３の逆の手順をとればよい。つまり、本実施の形態１の場合、仮想サンプルの精度の判定の場合と同様に、符号化モード情報１３の中に動き予測モードの一部として含まれる形状情報から動きベクトルの予測復元方法が一義的に決まるので、その形状情報に基づいて動きベクトルの予測復元方法を切り換えて動きベクトルを復号する。図６を用いて[3]−１−３の手順と対比させて説明する。
【００８５】
[3]−１−３と同様、ここでは符号化装置・復号装置の間であらかじめ取り決められた共通の予測値設定方法を用いる。まず、MV1、MV3に対しては、PMV1を用いて、
【００８６】
MV1 = MVD1 + (PMV1 >> 1)
MV3 = MVD3 + (PMV1 >> 1)
【００８７】
として復号される。ここで、MVD1はMV1に対応する予測差分値(MVD)、MVD3はMV3に対応する予測差分値(MVD)である。
【００８８】
また、MV2,MV4に対しては、
MV2 = MVD2 + MV1
MV4 = MVD4 + MV3
【００８９】
MV5に対しては、
MV5 = MVD5 + (PMV2 << 1)
として復号を行う。
【００９０】
すなわち、以下の条件式に従う。
（１）条件１：自身(MV)が1/2画素精度の仮想サンプルを用いた予測により得られた動きベクトルである場合は、PMVの精度により、以下のように２つに分かれる。
条件１−１：PMVが同じ精度の仮想サンプルを用いた動きベクトルである場合
MV = MVD + PMV
【００９１】
条件１−２：PMVが1/4画素精度の仮想サンプルを用いた動きベクトルである場合
MV = MVD + (PMV >> 1)
【００９２】
（２）条件２：自身(MV)が1/4画素精度の仮想サンプルを用いた予測により得られた動きベクトルである場合は、PMVの精度により、以下のように２つに分かれる。
条件２−１：PMVが同じ精度の仮想サンプルを用いた動きベクトルである場合
MV = MVD + PMV
【００９３】
条件２−２：PMVが1/2画素精度の仮想サンプルを用いた動きベクトルである場合
MV = MVD + (PMV << 1)
なるルールを用いることで動きベクトルの復号を行う。
【００９４】
[3]−２−４  予測画像生成(ステップS13、S14)
[3]−２−２で決定された仮想サンプル生成ルールに従い、[3]−２−３で復号された動きベクトルデータを用いて、個々の動きベクトル適用単位領域ごとに予測画像を生成する。仮想サンプルについては、従来例の図１７に示したような半画素精度サンプルの生成、図１８に示したような1/4画素精度サンプルの生成を行うものとする。ただし、図１８の端点での画素値折り返し使用は行わないこととし、フィルタタップ数は一般性を持たせるため、以降Kタップとする。したがって、半画素精度の仮想サンプルを用いる8×8 MCより小さい例えば8×4や、4×8、4×4 MC以下のモードの場合は、符号化装置における動き補償予測処理のステップS2の場合と同様に、仮想サンプル生成に用いる画素データは図５の下段に示すようにメモリから読み出して、予測画像を生成することになる。
【００９５】
従って、以上の構成をもつ本実施の形態１の映像符号化装置または復号装置を用いることにより、動きの局所的な状況に適応して、動き補償予測単位となるブロックの大きさに応じて動き補償予測を行う際の仮想サンプルの精度を切り替えると共に、動きベクトルの算出方法も切り替えるようにしたので、メモリバンド幅を抑えながら画質を保った圧縮符号化を行うことが可能となる。特に、メモリバンド幅削減は、特に映像再生を主とするプレーヤを、携帯電話、携帯情報端末などにハードウエア実装する際に、映像復号処理実装の簡略化、消費電力化に著しい効果を発揮する。
【００９６】
なお、上記実施の形態１の説明では、動き補償予測単位となるブロックの大きさに応じて動き補償予測を行う際の仮想サンプルの精度を切り替えると共に、動きベクトルの算出方法も切り替えるようにしたが、本発明では、これに限らず、動き補償予測単位となるブロックの大きさに応じて動き補償予測を行う際の仮想サンプルの精度を切り替えるのみで、動きベクトルの算出方法は切り替えないようにしても勿論よい。ただし、この場合には、メモリバンド幅を抑えながら符号化効率を向上させることができるが、動き補償予測の精度を低くした分だけ画質が落ちることになる。このことは、以下のすべての実施の形態においても適用される。
【００９７】
また、本実施の形態１では、符号化装置における[3]−１−１、復号装置における[3]−２−２において仮想サンプル精度を決定した後、使用する仮想サンプル精度に合わせて仮想サンプル生成のためのフィルタ処理を変更するように構成した。1/4画素精度の場合はまず半画素精度仮想サンプルを、図１８のように整数画素データを用いてK(=8)タップフィルタによって生成し、それによって生成された半画素精度仮想サンプルをさらに線形補間することによって1/4画素精度サンプルを生成した。半画素精度の場合は、整数画素データの線形補間によって半画素精度サンプルを生成する。この場合は動き補償予測対象ブロックサイズ＋周辺1画素分だけメモリから読み出せば済む。このフィルタ処理の違いにより、小さいブロックサイズでの動き補償予測ではメモリから読み出すデータ量を低減することをポイントとしたが、このフィルタ処理そのものは仮想サンプル精度に依存せずに一意に定めるように構成してもよい。つまり、半画素精度サンプルのみを使用する小さいブロックサイズの場合であっても、Kタップフィルタで半画素精度サンプルを構成するようにしても良い。このフィルタ処理の固定化により、メモリから読み出すデータ量に関してはメモリバンド幅削減にはならないが、一方で、Kタップフィルタで生成された半画素サンプルから1/4画素精度のサンプルを作り出す処理は必要なく、かつ[3]−１−３、[3]−２−３のように動きベクトルの表現精度は依然として制限することができ、動きベクトルの符号化を効率化することが可能となる。
【００９８】
さらに、本実施の形態１では、常に映像入力の単位をフレームとして記述したが、奇数フィールドと偶数フィールド等のインタレース映像入力を想定する場合には、厳密にはフレームは2枚のフィールド画像データの組合わせで定義される。この場合、本実施の形態１の映像符号化装置および映像復号装置は、各フィールドごとにマクロブロックを構成して符号化・復号する場合にも適用可能であることは明らかである。このことは、以下のすべての実施の形態においても適用される。
【００９９】
また、本実施の形態１では、8×8より小さいサイズとして8×4や、4×8、4×4サイズの動きベクトル検出単位領域では半画素精度の仮想サンプルを用いることとし説明したが、本発明ではこれに限らず、8×8より小さいサイズとして4×2や、2×4等の8×4や4×8、4×4サイズ以外であっても良いし、8×8を基準としてではなく、8×16や16×8等他のサイズを基準にして大小により仮想サンプルの精度を変えても良い。またさらに、8×8等の所定サイズより小さいサイズの動きベクトル検出単位領域において半画素精度の仮想サンプルを用いるのでなく、所定サイズより小さいサイズの動きベクトル検出単位領域においては整数画素精度として動き補償予測を行うようにしても勿論よい。このようにすれば、画質は多少落ちるものの、メモリバンド幅は大幅に削減することが可能となる。要は、符号化単位であるマクロブロックをさらに分割して動き補償予測を行う動きベクトル検出単位領域において、メモリバンド幅が問題となる所定のブロックサイズを基準に動きベクトルの探索精度を下げて、メモリバンド幅を削減すれば良いのである。このことは、以下のすべての実施の形態においても適用される。
【０１００】
実施の形態２．(Ｂフレームおよび複数参照フレーム予測の例)
本実施の形態２では、実施の形態１に述べた映像符号化装置および映像復号装置に加えて、複数のフレームメモリからなるフレームメモリ群を用意して、マクロブロックまたはマクロブロックを分割した動き補償予測ブロックの単位で、複数のフレームメモリを使用して動き補償予測を行うことを可能とする装置について説明する。
【０１０１】
図８に、本実施の形態２における映像符号化装置の構成を示す。同図において、図１に示す実施の形態１の符号化装置との違いは、フレームメモリ３がフレームメモリ群２８に置き換わっており、動き検出部２、動き補償部７がフレームメモリ群２８を利用して複数のフレームメモリから最適な予測画像と動きベクトルを得るように構成されている点である。動き検出部２、動き補償部７は、図１の符号化装置と比べて動作の詳細が異なるが、以下ではその前提で同一図番にて説明を行うものとする。
【０１０２】
[1]符号化装置の動作概要
入力映像信号１は、個々の映像フレームがマクロブロックに分割された単位で入力されるものとし、まず、動き検出部２において、フレームメモリ群２８に格納される複数の参照画像４を用いてマクロブロック単位に動きベクトル５が検出される。
【０１０３】
複数の参照画像を用いた動きベクトル検出の方法としては、例えばISO/IEC13818-2(MPEG-2ビデオ規格)で開示される両方向予測がある。
【０１０４】
図９に、ISO/IEC13818-2(MPEG-2ビデオ規格)で開示される両方向予測の実行の方法を示す。同図において、F(t)が現在符号化対象の入力映像フレームであり、フレームメモリ中に格納される参照画像にはF'()として区別をした。B(x,y,t)がF(t)内のある動き補償予測単位のブロックであるとする。両方向予測では、B(x,y,t)の位置から動きベクトルMVf(B(x,y,t))だけ移動させた過去の参照画像F'(t-1)中のブロック画像を前方向予測画像Pf(B(x,y,t))とし、B(x,y,t)の位置から動きベクトルMVb(B(x,y,t))だけ移動させた未来の参照画像F'(t+1)中のブロック画像を後方向予測画像Pb(B(x,y,t))とし、Pf(B(x,y,t))とPb(B(x,y,t))との加算平均でB(x,y,t)の予測画像Pi(B(x,y,t))を生成する。MVf(B(x,y,t))やMVb(B(x,y,t))は、動き検出部２において、それぞれ対応する参照画像上の与えられた探索範囲内でB(x,y,t)との絵柄の類似度が高い、もしくは画素差分が最も小さくなるブロック画像を探し出し、その偏移分を検出した値に該当する。
【０１０５】
図１０に、複数の参照画像を用いて動きベクトルを検出する片方向予測の一例を示す。図１０に示す別の例は、例えば、特開平4-127689号公報に開示された過去の複数の参照画像をフレームメモリ群２８に格納できるように構成された符号化装置であって、動き補償予測単位のブロックB(x,y,t)に類似するブロック画像が直前の参照画像F(t-1)にはなく、さらにその前の参照画像F(t-2)に見つかるような場合でも、動きベクトルMVt-2(B(x,y,t))を用いて動き補償予測が行えるため、映像の局所的な性質に適応した動き補償予測が行えるようにしたものである。
【０１０６】
本実施の形態２では、複数のフレームメモリからなるフレームメモリ群２８を有しているので、その複数のフレームメモリそれぞれに格納された複数の参照画像を用いて動きベクトルを検出する図９または図１０のいずれの構成の符号化装置にも適用可能である。
【０１０７】
さて、本実施の形態２では、上記の図９または図１０の事例のように検出された動きベクトル５には、その動きベクトル５がフレームメモリ群２８のうちでどのフレームメモリを参照したかを指示する情報が組になって明示されている。
【０１０８】
このため、本実施の形態２の動き補償部７では、それらの情報に従ってフレームメモリ群２８の中の適切なフレームメモリを参照することで予測画像８が得られる。さらに入力信号１との差分をとることによって予測残差信号９が得られる。なお、動きベクトル５がフレームメモリ群２８の中のどのフレームメモリを参照したかを指示する情報は、動きベクトル５そのものでなく、別情報としてデコーダに通知するための符号化データの形で表現されてもよい。
【０１０９】
また、本実施の形態２の符号化モード判定部１２では、予測残差信号９を符号化する動き予測モード、フレーム内符号化を行うイントラモードなど、マクロブロックの符号化方法を指定する複数のモードの中から、当該マクロブロックをもっとも効率よく符号化することができるモードを選択して符号化モード情報１３として出力する。動き予測モードとは、実施の形態１に説明した図４に示すようなマクロブロック内分割の形状や、図９においてPf(B(x,y,t))だけを用いて予測を行うか、Pb(B(x,y,t))だけを用いて予測を行うか、それらの加算平均をとるかなどを識別する情報などに該当する。この符号化モード情報１３は、符号化対象情報として可変長符号化部６に受け渡される。符号化モード情報１３として動き予測モードが選択される場合は、動きベクトル５が符号化対象情報として可変長符号化部６に受け渡され、可変長符号化される。
【０１１０】
なお、符号化モード判定部１２において選択された符号化対象信号１１の符号化である直交変換部以降の処理は、実施の形態１に同じであるため、説明を省略する。
【０１１１】
次に、本実施の形態２における映像復号装置について説明する。
図１１に、本実施の形態２における映像復号装置の構成を示す。同図において、図２に示す実施の形態１の復号装置との違いは、フレームメモリ３がフレームメモリ群２８に置き換わっており、動き補償部７が可変長復号部２７で復号される動きベクトル５と符号化モード情報１３とにしたがって、フレームメモリ群２８のうち指定されたフレームメモリから予測画像を得るように構成される。動き補償部７は図２の復号装置と比べて動作の詳細が異なるが、以下ではその前提で同一図番にて説明を行う。
【０１１２】
[2]復号装置の動作概要
復号装置では映像圧縮データ２６を受け取ると、まず可変長復号部２７にて後述するエントロピー復号処理が行われて、動きベクトル５、符号化モード情報１３、直交変換係数データ１７、量子化ステップパラメータ２３などが復元される。なお、直交変換係数データ１７、量子化ステップパラメータ２３による予測残差信号の復元処理は、実施の形態１の復号装置と同一であるため、説明を省略する。
【０１１３】
そして、実施の形態１の復号装置の場合と同様に、動き補償部７は、可変長復号部２７にて復号された動きベクトル５と符号化モード情報１３とに基づき、フレームメモリ群２８の中の所定のフレームメモリに格納される参照画像を用いて予測画像８を復元する。
【０１１４】
切替器５４は、符号化モード情報１３に基づいて、動き予測モードであれば動き補償部７からの予測画像８を加算器５５へ出力する一方、イントラモードであれば０を加算器５５へ出力する。加算器５５では、これら切替器５４からの出力を、逆直交変換部１９の出力である復号信号と加算することによって復号画像２１を得る。復号画像２１は以降のフレームの予測画像生成に用いられるため、フレームメモリ群２８に格納される。
【０１１５】
[3]動き補償予測の動作
符号化装置における動き検出部２、動き補償部７およびフレームメモリ群２８を用いて行われる動き補償予測処理や、復号装置における動き補償部７およびフレームメモリ群２８を用いて行われる動き補償処理については、図９や図１０から明らかなように、フレームメモリごとの処理単位に分離して考えることができる。符号化装置側にて個々の参照画像(F'(t-1)など)が格納されるフレームメモリを用いて動きベクトル５と予測画像８を得る処理を実施の形態１にて説明した[3]−１−１〜[3]−１−５からなる[3]−１の符号化装置における動き補償予測処理処理、また復号装置側にて個々の参照画像(F'(t-1)など)が格納されるフレームメモリを用いて予測画像８を得る処理を実施の形態１の[3]−２−１〜[3]−２−４からなる[3]−２の復号装置における動き補償処理とみなすことができ、実施の形態１に記載した手順をそのまま適用可能である。
【０１１６】
従って、以上の構成をもつ本実施の形態２の映像符号化装置または復号装置によれば、上記実施の形態１の映像符号化装置または復号装置の場合と同様に、動きの局所的な状況に適応して動き補償予測単位となるブロックの大きさに応じて、従来例にて述べた仮想サンプルの精度を切り替えると共に、動きベクトルの符号化・復号方法も切り替えているので、メモリバンド幅を抑えながら画質を保った圧縮符号化を行うことが可能となる。
【０１１７】
特に、図９に示すように前方向も後方向も含めた両方向の複数のフレームメモリから予測画像を生成する必要がある場合や、図１０に示す片方向でも複数のフレームメモリから予測画像を生成する必要がある場合には、それだけフレームメモリからの読み出し画素数が増大することは明らかであるが、本実施の形態２によれば、動きが複雑等で精緻な動き補償予測の効果が薄れる場合には、仮想サンプル精度を半画素、あるいは整数画素までに限定して動きベクトルの表現精度も低くすることで、符号化効率を保ちながらフレームメモリアクセス時のメモリバンド幅を低減することができる。その結果、本実施の形態２によれば、特に複数のフレームメモリに格納された複数の参照画像を参照して動き補償予測を行う両方向予測等の場合には、符号化装置における動きベクトル検出処理ならびに復号装置の予測画像生成処理に関して著しい演算量削減効果が期待される。
【０１１８】
また、本実施の形態２では、複数のフレームメモリを有しているので、図９に示す通常の両方向予測や、図１０に示す過去の複数の参照画像からの片方向予測だけでなく、例えば、通常はその複数のフレームメモリの内容を復号画像をもって逐次更新を行う一方、複数のフレームメモリのうち一のフレームメモリの内容のみ更新しないことが指示等された場合には、その複数のフレームメモリのうち一のフレームメモリの内容のみ更新しないようにして、複数のフレームメモリを逐次更新を行うショートタームフレームメモリと、次のイベントが発生するまで参照画像が更新されないロングタームフレームメモリとして使用して、ショートタームフレームメモリとロングタームフレームメモリの参照画像を用いて動き補償予測を行うようにしても勿論かまわない。このようにすれば、動画像信号の時間的な局所的特性に応じて複数のフレームメモリを弾力的に使用することが可能となり、フレームメモリを効率的に使用しつつも、符号化シーケンスに影響されずに高い予測効率を維持しながら符号化を行うことができることになる。
特に、動きの局所的な状況に適応して、動き補償予測単位となるブロックの大きさに応じて動き補償予測を行う際の仮想サンプルの精度を切り替えたり、動きベクトルの算出方法も切り替えるだけでなく、その動き補償予測を行う領域単位で適応的に図９に示す両方向予測や図１０に示す片方向予測等を切り替えたり、あるいはその領域単位で通常はその複数のフレームメモリの内容を復号画像をもって逐次更新を行うのと、複数のフレームメモリのうち一のフレームメモリの内容のみ更新しないことが指示等された場合におけるその複数のフレームメモリのうち一のフレームメモリの内容のみ更新しないようにすることを適応的に切り替えるようにすれば、空間的だけでなく時間的な局所的な動きなどの各種の特徴が現れる場合でも、メモリバンド幅を増大させることなく、符号化効率を向上させると共に、画質も向上させることが可能となる。
【０１１９】
実施の形態３．(仮想画素算出手段の切り換えフラグ)
本実施の形態３では、実施の形態１や実施の形態２に述べた映像符号化装置および映像復号装置に対し、さらに、仮想サンプル算出方法の適応切り換えの自由度を向上させる仮想サンプル算出方法切り換えフラグを導入した映像符号化装置および映像復号装置について説明する。
【０１２０】
実施の形態１および２に示した映像符号化装置および映像復号装置では、図４の、8×8 MCより小さい例えば8×4や、4×8、4×4サイズでの動き補償予測を半画素精度の仮想サンプルに限定して予測を行うように構成したが、映像によっては、8×8 MCより小さいよりも小さい単位での動き補償予測であっても予測効率向上のために1/4画素精度の動き補償予測を必要とする場合がありうる。例えば、動き補償予測対象の画像が十分にテクスチャを保存していながら、入力信号に載った微妙な雑音成分が動きベクトルのばらつきを生じさせてしまうような場合がありうる。このような場合では、単純に動きの複雑さのみを仮定して仮想サンプル精度を固定化させてしまうのでなく、映像の局所的な信号状況に適応化させて、最適な仮想サンプル精度を選択させることで、真に微細な仮想サンプル精度を必要とする場合にのみ必要最小限の演算量を追加させるように装置構成を行うことができ、さらなる映像符号化品質の向上を図ることが可能である。
【０１２１】
図１２に、本実施の形態３における映像符号化装置の構成を示す。
図１３に、本実施の形態３における映像復号装置の構成を示す。図１２および１３において、上記に述べた動き補償予測精度の適応化のための役割を果たすのが、動き補償予測の精度切り替え信号である仮想サンプル精度切り換えフラグ２９であり、それ以外の点は、図１または図２に示す実施の形態１の映像符号化装置または映像復号装置と同様である。
【０１２２】
次に動作を説明する。
図１２に示す本実施の形態３の符号化装置側では、仮想サンプル精度切り換えフラグ２９は、符号化装置内部における入力映像データの事前解析もしくは符号化装置を含むシステムにおける外的要因、例えば送信バッファ24のバッファ残量や符号化ビットレート等の送信環境などに基づいて、所定の映像データ単位でフラグの値の決定が行われ、動き検出部２および動き補償部７に入力される。動き検出部２および動き補償部７では、入力する仮想サンプル精度切り換えフラグ２９に基づいて、以下に示すように、切り換え単位を適応的に変化させながら、動き補償予測の際の仮想サンプル精度や、動きベクトルの算出方法を変えて、動きベクトルおよび予測画像を生成する。
【０１２３】
仮想サンプル精度切り換えフラグ２９の値については、例えば以下のような意味付けを考えることができる。具体的には、仮想サンプル精度切り換えフラグ２９がONまたは１であるとは、切り換え単位となる映像データ単位内において、すべての8×8MC未満のブロックサイズでの動き補償予測を1/4画素精度の動き補償予測によって行う、ということを指示する。つまり、この場合は従来例の図１８に示したような多タップフィルタを用いることを前提に多くの画素データをフレームメモリから読み出すことを許容しても予測効率を優先する。この際は、すべての動きベクトルが同一精度であるため、[3]−１−３に述べた動きベクトルの精度変換を伴う動きベクトル予測と符号量算出は実施しない。
【０１２４】
これに対し、仮想サンプル精度切り換えフラグ２９がOFFまたは０であるとは、すべての8×8MC未満である図４の場合であれば8×4や、4×8、4×4サイズでのブロックサイズでの動き補償予測を半画素精度の動き補償予測を実施せよ、ということを指示する。この指定は、従来例の図１７に示したような半画素精度の仮想サンプルでも必要十分な予測効率が得られるケースで用いられる。この際は、8×8MC未満のブロックサイズでは、動きベクトルの精度が異なるため、適宜、[3]−１−３に述べた動きベクトルの精度変換を伴う動きベクトル予測と符号量算出を実施することになる。なお、ON/OFFと、1/0の関係は、これに固定化されるものではなく、もちろん逆の関連付けを行ってもよい(ON=0、OFF=1)。
【０１２５】
仮想サンプル精度切り換えフラグ２９の切り換え単位となる映像データ単位は、例えばマクロブロック、スライス(複数のマクロブロックから構成される映像フレームの単位領域)、フレームやフィールド(インタレース信号の場合)、シーケンス(複数の映像フレームから構成される時系列単位)などがありうる。
【０１２６】
このように符号化側で設定された仮想サンプル精度切り換えフラグ２９は、所定の映像データ単位で可変長符号化部６においてビットストリームに多重化される。
【０１２７】
復号装置では、図１３に示すように、可変長復号部２７が仮想サンプル精度切り換えフラグ２９の値を復号し、同フラグ２９が付与された映像データ単位ごとに上記規範に基づいて、可変長復号部２７は、必要に応じて[3]−２−３に述べた精度適応の動きベクトル５の復号処理を行い、動き補償部７は、仮想サンプル精度切り換えフラグ２９が指定する精度の仮想サンプル生成処理と動きベクトル５に基づいて、予測画像８の生成を行うように構成する。
【０１２８】
従って、以上の構成を有する本実施の形態３の映像符号化装置および映像復号装置によれば、予測効率と演算負荷とのトレードオフを自在に制御することが可能となり、自由度の高い映像符号化を行うことができるようになる。
【０１２９】
なお、本実施の形態３は、実施の形態１の事例をもとに説明したが、仮想サンプル精度切り換えフラグ２９が実施の形態２における映像符号化装置および映像復号装置にも適用可能であることはいうまでもない。
【０１３０】
実施の形態４．(空間予測部あり)
上記実施の形態１〜３の画像符号化装置および画像復号装置側では、イントラモードの場合、空間予測を行わない通常のフレーム内符号化により説明したが、この実施の形態４では、イントラモードとしてフレーム内で空間予測を用いて動画像信号と予測信号との差分信号を符号化するイントラ予測モードにより符号化を行う空間予測部１０ａを設けた例について説明する。
【０１３１】
図１４に、図１に示す実施の形態１の符号化装置に対し空間予測部１０ａを追加した本実施の形態４の符号化装置の構成を示す。図１４に示すように、本実施の形態４の符号化装置では、空間予測部１０ａを追加したので、空間予測部１０ａから可変長符号化部１４へイントラ予測モード１４を出力すると共に、切替器５２には実施の形態１〜３の場合のイントラモードの０入力の代わりに空間予測部１０ａから空間予測画像２０が出力されることになる。その他は、実施の形態１と同様である。
【０１３２】
図１５に、図２に示す実施の形態１の復号装置から空間予測部１０ａを追加した本実施の形態４の復号装置の構成を示す。図１５に示すように、本実施の形態４の復号装置では空間予測部１０ａを追加したので、すなわち図１４に示すように符号化装置側にて空間予測部１０ａを追加したので、可変長復号部２７から空間予測部１０ａへイントラ予測モード１４が出力されると共に、切替器５４には実施の形態１〜３の場合のイントラモードの０入力の代わりに空間予測部１０ａから空間予測画像２０が出力されることになる。その他は、実施の形態１と同様である。
【０１３３】
簡単に動作を説明すると、図１４に示す本実施の形態４の符号化装置では、空間予測部１０ａによるイントラ予測モード符号化が行われる場合には、空間予測部１０ａから可変長符号化部１４へイントラ予測モード１４が出力され、可変長符号化部６では、動きベクトル５、量子化ステップパラメータ２３、符号化モード情報１３、直交変換係数データ１７と共にイントラ予測モード１４もエントロピー符号化を行い、送信バッファ２４経由で、映像圧縮データ２６として伝送する。そして、本実施の形態４の切替器５２では、符号化モード情報１３に従って、その符号化モード情報１３が時間方向の予測である動き予測モードを示している場合には、逆量子化および逆直交変換された直交変換係数データ１７と、動き補償部７からの予測画像８と加算して局所復号画像２１としてフレームメモリ３へ出力するか、あるいはその符号化モード情報１３が空間方向の予測であるイントラ予測モードを示している場合には、逆量子化および逆直交変換された直交変換係数データ１７と、空間予測画像２０とが加算されて局所復号画像２１として出力され、降のフレームの動き予測に用いられるため、参照画像データとしてフレームメモリ３へ格納される。
【０１３４】
その一方、図１５に示す本実施の形態４の復号装置では、可変長復号部２７がイントラ予測モード１４を復号され、空間予測部１０ａへ出力され、空間予測画像２０が復元される。そして、本実施の形態４の切替器５４では、可変長復号部２７からの符号化モード情報１３に基づいて、時間方向の予測である動き予測モードであれば動き補償部７からの予測画像８を加算器５５へ出力する一方、空間方向の予測であるイントラ予測モードを示している場合には空間予測画像２０を加算器５５へ出力する。加算器５５では、これら切替器５４からの出力を、逆直交変換部１９の出力である復号信号と加算することによって復号画像２１を得て、以降のフレームの予測画像生成に用いられるため、フレームメモリ３に格納される。
【０１３５】
従って、本実施の形態４の画像符号化装置および画像復号装置側によれば、上記実施の形態１の画像符号化装置および画像復号装置におけるイントラモードの代わりに、フレーム内で空間予測を用いて動画像信号と予測信号との差分信号を符号化するイントラ予測モードを採用するようにしたので、上記実施の形態１と同様の効果が得られると共に、上記実施の形態１にて行う通常のイントラモードよりも、圧縮効率を向上させることができる。
【０１３６】
なお、この実施の形態４では、図１に示す実施の形態１の符号化装置、および図２に示す実施の形態１の復号装置に対し空間予測部１０ａを追加したものを実施の形態として図示して説明したが、本発明では、これに限らず、図８および図１１に示す実施の形態２の符号化装置および復号装置に対し空間予測部１０ａを追加することも、さらには図１２および図１３に示す実施の形態３の符号化装置および復号装置に対し空間予測部１０ａを追加することも可能であり、これらの場合も、上記と同様に説明することができる。
【０１３７】
実施の形態５．(応用製品)
上記実施の形態１〜４では、画像符号化装置または画像復号装置等の要素製品として説明したが、この実施の形態５では、実施の形態１〜４の画像符号化装置または画像復号装置等の要素製品が実装される最終製品について簡単に説明する。
【０１３８】
図１６は、実施の形態１〜４の画像符号化装置および画像復号装置等の要素製品が実装された実施の形態６の携帯電話の構成を示している。この携帯電話は、図１６に示すように、送受信部７１、ベースバンド処理部７２、制御部７３、音声コーデック７４、ビデオコーデック７５、インタフェース７６、カメラ７７、ディスプレイ７８、マイク・スピーカ７９、アンテナ８０等を備えて構成されており、このビデオコーデック７５が上記実施の形態１〜４のいずれかの画像符号化装置および画像復号装置が搭載されることになる。
【０１３９】
従って、本実施の形態６の携帯電話によれば、実施の形態１〜４の画像符号化装置および画像復号装置等の要素製品を実装することにより、動きの局所的な状況に適応して、メモリバンド幅を抑えながら画質を保った圧縮符号化を行うことが可能となり、メモリバンド幅削減により映像復号処理実装の簡略化、消費電力化に著しい効果を発揮する。
【０１４０】
なお、本実施の形態５では、実施の形態１〜４の画像符号化装置または画像復号装置等の要素製品が実装される最終製品として、画像符号化装置および画像復号装置の双方をビデオコーデック７５に搭載した携帯端末を一例に説明したが、本発明では、これに限らずに、図示まではしないが、実施の形態１〜４の画像符号化装置のみを搭載した放送装置や、実施の形態１〜４の画像復号装置のみを搭載したＤＶＤプレーヤ等にも適用できることは勿論である。これら映像再生を主とするプレーヤや、携帯電話、携帯情報端末などにハードウエア実装する際に、メモリバンド幅削減により映像復号処理実装の簡略化、消費電力化に著しい効果を発揮する。
【図面の簡単な説明】
【０１４１】
【図１】実施の形態１における映像符号化装置の構成を示す図。
【図２】実施の形態１における映像復号装置の構成を示す図。
【図３】符号化装置における動き補償予測処理を示すフローチャート。
【図４】実施の形態１における動きベクトルの検出単位領域の構成を示す。
【図５】実施の形態１による仮想サンプル精度の局所的設定により、8×4, 4×8,4×4 MCの各モードについて、仮想サンプル生成に必要なメモリバンド幅を削減することができることを説明するための図。
【図６】ステップS4における予測差分値(MVD)の求め方を説明するための図。
【図７】復号装置側における動き補償処理を示すフローチャート。
【図８】実施の形態２における映像符号化装置の構成を示す図。
【図９】両方向予測の実行の方法を示す図。
【図１０】複数の参照画像を用いて動きベクトルを検出する両方向予測とは別の例を示す図。
【図１１】実施の形態２における映像符号化装置の構成を示す図。
【図１２】実施の形態３における映像符号化装置の構成を示す図。
【図１３】実施の形態３における映像復号装置の構成を示す図。
【図１４】実施の形態４における映像符号化装置の構成を示す図。
【図１５】実施の形態４における映像復号装置の構成を示す図。
【図１６】実施の形態１〜４の画像符号化装置および画像復号装置等の要素製品が実装された実施の形態５の携帯電話の構成を示す図。
【図１７】1/2画素精度のサンプルの生成の様子を示す図。
【図１８】水平処理の場合のみの1/4画素精度の仮想サンプル生成のために作られる半画素精度の仮想サンプルaと、下式の整数画素のX成分X-4〜X4との位置関係を示す図。
【符号の説明】
【０１４２】
２  動き検出部、３  フレームメモリ、６  可変長符号化器、７  動き補償部、１０  減算器、１０ａ  空間予測部１２  符号化モード判定部、１６  量子化部、１８  逆量子化部、１９  逆直交変換部、２２  符号化制御部、２４  送信バッファ、２７  可変長復号部、２８  フレームメモリ群、５２  切替器、５３  加算器、５４  切替器、５５  加算器。
【図１】
0004793424.tif 000002
【図２】
0004793424.tif 000003
【図３】
0004793424.tif 000004
【図４】
0004793424.tif 000005
【図５】
0004793424.tif 000006
【図６】
0004793424.tif 000007
【図７】
0004793424.tif 000008
【図８】
0004793424.tif 000009
【図９】
0004793424.tif 000010
【図１０】
0004793424.tif 000011
【図１１】
0004793424.tif 000012
【図１２】
0004793424.tif 000013
【図１３】
0004793424.tif 000014
【図１４】
0004793424.tif 000015
【図１５】
0004793424.tif 000016
【図１６】
0004793424.tif 000017
【図１７】
0004793424.tif 000018
【図１８】
0004793424.tif 000019