(57)【要約】【課題】アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持するのに十分な容量のメモリを確保することができない場合でも、一部の時間ダイレクトブロックでは、時間ダイレクトモードで動き補償を行うことができるようにする。【解決手段】複数のアンカーブロックＢＡに対して共通に定められている代表ベクトルＲＶを入力して、その代表ベクトルＲＶに対するアンカーブロックＢＡの動きベクトルＭＶの差分情報ＤＩを算出し、その差分情報ＤＩを動きベクトルＭＶのビット幅より小さいビット幅で表現し、その差分情報ＤＩと代表ベクトルＲＶから時間ダイレクトベクトル情報ＴＤＶＩを算出する。【選択図】図１
2010200147.tif 000002
【特許請求の範囲】
【請求項１】
Ｂピクチャ内の時間ダイレクトブロックに対応するアンカーピクチャ内のアンカーブロックのうち、符号化対象の複数のアンカーブロックに対して共通に定められているベクトルである代表ベクトルを入力して、上記代表ベクトルに対する上記アンカーブロックの動きベクトルの差分情報を算出し、上記差分情報を上記動きベクトルのビット幅より小さいビット幅で表現して出力する差分情報算出手段と、上記差分情報算出手段から出力された差分情報を符号化対象のアンカーブロック毎に格納する差分情報格納手段と、上記差分情報格納手段によりアンカーブロック毎に格納されている差分情報と上記代表ベクトルから、上記時間ダイレクトブロックの動きベクトルの情報を示す時間ダイレクトベクトル情報を算出する時間ダイレクトベクトル情報算出手段とを備えた動き補償予測装置。
【請求項２】
代表ベクトルを格納する代表ベクトル格納手段を設けたことを特徴とする請求項１記載の動き補償予測装置。
【請求項３】
代表ベクトル格納手段は、一定ブロックおき、あるいは、一定時間おきに、符号化対象のアンカーブロックの動きベクトルを新規の代表ベクトルとして格納することを特徴とする請求項２記載の動き補償予測装置。
【請求項４】
代表ベクトルを算出する代表ベクトル算出手段を設けたことを特徴とする請求項１から請求項３のうちのいずれか１項記載の動き補償予測装置。
【請求項５】
代表ベクトル算出手段は、アンカーピクチャの全体の動きベクトルを代表ベクトルとして算出することを特徴とする請求項４記載の動き補償予測装置。
【請求項６】
代表ベクトル算出手段は、エッジによって区切られているアンカーピクチャ内の領域毎に、代表ベクトルを算出することを特徴とする請求項４記載の動き補償予測装置。
【請求項７】
代表ベクトル算出手段は、代表ベクトル格納手段により格納されている代表ベクトルに、既に符号化されているアンカーブロックの差分情報を累積加算することで、符号化対象のアンカーブロックの代表ベクトルを算出することを特徴とする請求項４記載の動き補償予測装置。
【請求項８】
差分情報算出手段は、差分情報格納手段により格納される差分情報に割り当てられるビット数が２Ｎビットである場合、アンカーブロックの動きベクトルと代表ベクトルの差分ベクトルを算出し、上記差分ベクトルの水平方向成分及び垂直方向成分の双方がＮビットで表現することが可能であれば、上記動きベクトルから上記代表ベクトルを引いた差分を差分情報として上記差分情報格納手段に出力し、上記差分ベクトルの水平方向成分又は垂直方向成分の少なくとも一方がＮビットで表現することができなければ、ビット溢れを示す情報を差分情報として上記差分情報格納手段に出力することを特徴とする請求項１から請求項７のうちのいずれか１項記載の動き補償予測装置。
【請求項９】
代表ベクトル格納手段は、差分ベクトルの水平方向成分又は垂直方向成分の少なくとも一方がＮビットで表現することができなければ、符号化対象のアンカーブロックの動きベクトルを新規の代表ベクトルとして格納することを特徴とする請求項８記載の動き補償予測装置。
【請求項１０】
時間ダイレクトベクトル情報算出手段は、符号化対象のＢピクチャの表示時刻、上記Ｂピクチャが参照する符号化画像の表示時刻、上記Ｂピクチャに対するアンカーピクチャの表示時刻及び上記アンカーピクチャが参照する符号化画像の表示時刻を考慮して、時間ダイレクトベクトル情報を算出することを特徴とする請求項１から請求項９のうちのいずれか１項記載の動き補償予測装置。
【請求項１１】
時間ダイレクトベクトル情報算出手段は、代表ベクトル、符号化対象のＢピクチャの表示時刻、上記Ｂピクチャが参照する符号化画像の表示時刻、上記Ｂピクチャに対するアンカーピクチャの表示時刻及び上記アンカーピクチャが参照する符号化画像の表示時刻から、複数の時間ダイレクトブロックの時間ダイレクトベクトル情報を算出する際に共通に用いられるベクトルである代表時間ダイレクトベクトルを算出し、上記代表時間ダイレクトベクトルと差分情報格納手段によりアンカーブロック毎に格納されている差分情報から、時間ダイレクトベクトル情報を算出することを特徴とする請求項１０記載の動き補償予測装置。
【請求項１２】
時間ダイレクトベクトル情報算出手段は、差分情報格納手段によりアンカーブロック毎に格納されている差分情報、符号化対象のＢピクチャの表示時刻、上記Ｂピクチャが参照する符号化画像の表示時刻、上記Ｂピクチャに対するアンカーピクチャの表示時刻及び上記アンカーピクチャが参照する符号化画像の表示時刻から差分時間ダイレクトベクトル情報を算出し、上記差分時間ダイレクトベクトル情報と代表時間ダイレクトベクトルから時間ダイレクトベクトル情報を算出することを特徴とする請求項１１記載の動き補償予測装置。
【請求項１３】
時間ダイレクトベクトル情報算出手段は、差分情報格納手段によりアンカーブロック毎に格納されている差分情報がビット溢れを示す情報でない場合、差分時間ダイレクトベクトル情報と代表時間ダイレクトベクトルの和を時間ダイレクトベクトル情報として出力し、上記差分情報がビット溢れを示す情報である場合、時間ダイレクトモード禁止を示す情報を時間ダイレクトベクトル情報として出力することを特徴とする請求項１２記載の動き補償予測装置。
【請求項１４】
時間ダイレクトベクトル情報算出手段は、代表時間ダイレクトベクトルを格納するメモリを備えていることを特徴とする請求項１１から請求項１３のうちのいずれか１項記載の動き補償予測装置。
【請求項１５】
差分情報算出手段が差分情報格納手段に出力する差分情報をコンパクト符号化する符号化器を備え、時間ダイレクトベクトル情報算出手段がコンパクト符号化されている差分情報を復号する復号器を備えていることを特徴とする請求項１から請求項１４のうちのいずれか１項記載の動き補償予測装置。
【請求項１６】
Ｂピクチャ内の時間ダイレクトブロックに対応するアンカーピクチャ内のアンカーブロックの動きベクトルを線形補正して、上記時間ダイレクトブロックの動きベクトルの情報を示す時間ダイレクトベクトル情報を算出する動き補償予測装置と、上記動き補償予測装置により算出された時間ダイレクトベクトル情報が示す動きベクトルの情報を用いて、上記Ｂピクチャの動き補償を実施することで、上記Ｂピクチャを符号化する画像符号化手段とを備えた画像符号化装置において、上記動き補償予測装置が、符号化対象の複数のアンカーブロックに対して共通に定められているベクトルである代表ベクトルを入力して、上記代表ベクトルに対する上記アンカーブロックの動きベクトルの差分情報を算出し、上記差分情報を上記動きベクトルのビット幅より小さいビット幅で表現して出力する差分情報算出手段と、上記差分情報算出手段から出力された差分情報を符号化対象のアンカーブロック毎に格納する差分情報格納手段と、上記差分情報格納手段によりアンカーブロック毎に格納されている差分情報と上記代表ベクトルから、上記時間ダイレクトブロックの動きベクトルの情報を示す時間ダイレクトベクトル情報を算出する時間ダイレクトベクトル情報算出手段とを備えていることを特徴とする画像符号化装置。
【請求項１７】
アンカーピクチャ内のアンカーブロックを符号化する際には、代表ベクトルに近いベクトルを動きベクトルとして差分情報算出手段に与え、Ｂピクチャ内の時間ダイレクトブロックを符号化する際には、複数の時間ダイレクトブロックの時間ダイレクトベクトル情報を算出する際に共通に用いられるベクトルである代表時間ダイレクトベクトルに近いベクトルを動きベクトルとして差分情報算出手段に与える動きベクトル探索手段を備えていることを特徴とする請求項１６記載の画像符号化装置。
【請求項１８】
画像符号化手段は、代表ベクトル、あるいは、複数の時間ダイレクトブロックの時間ダイレクトベクトル情報を算出する際に共通に用いられるベクトルである代表時間ダイレクトベクトルが共通している複数の符号化ブロックが参照するブロックの画像データを一度に読み出すことを特徴とする請求項１６または請求項１７記載の画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、Ｂピクチャ内の時間ダイレクトブロックの動きベクトルの情報を示す時間ダイレクトベクトル情報を算出する動き補償予測装置と、その動き補償予測装置を実装している画像符号化装置とに関するものである。
【背景技術】
【０００２】
ＩＴＵ（国際電気通信連合）によって勧告されている動画データの圧縮符号化方式の一つであるＨ．２６４／ＡＶＣには、Ｂピクチャの符号化に用いることができる予測モードの一つとして、「時間ダイレクトモード」が規格されている（例えば、非特許文献１を参照）。
時間ダイレクトモードは、Ｂピクチャの参照ピクチャの中の一枚であるアンカーピクチャ（通常、後方向予測に用いる参照ピクチャのうち、表示時刻が符号化対象のＢピクチャに最も近いピクチャ）において、Ｂピクチャにおける符号化対象のブロック（以下、「時間ダイレクトブロック」と称する）と同位置のブロック（以下、「アンカーブロック」と称する）の動きベクトルを線形補正し、線形補正後の動きベクトル（以下、「時間ダイレクトベクトル」と称する）を用いて、Ｂピクチャにおける時間ダイレクトブロックの動き補償を行うモードである。
なお、時間ダイレクトモードで動き補償を行う場合、符号化データに動きベクトルの情報が不要になる利点がある。
【０００３】
ただし、時間ダイレクトモードで動き補償を行う場合、予測残差を求める際に参照するブロックを指定する動きベクトルである時間ダイレクトベクトルとして、Ｂピクチャ内の時間ダイレクトブロックに対応するアンカーピクチャ内のアンカーブロックの動きベクトルを線形補正することで算出する必要がある。
そのため、時間ダイレクトモードにおける予測残差を正確に求めるには、アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持しておく必要がある。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ITU-T Recommendation H.264 (2005),“Advanced video coding for generic audiovisual Services”, March 2005, pp. 144-146
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の動き補償予測装置は以上のように構成されているので、アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持しておけば、時間ダイレクトモードで動き補償を行うことができる。しかし、アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持するには、多くのメモリ領域を必要とする。このため、アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持するのに十分な容量のメモリを確保することができない場合、時間ダイレクトモードで動き補償を行うことができなくなるなどの課題があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持するのに十分な容量のメモリを確保することができない場合でも、一部の時間ダイレクトブロックでは、時間ダイレクトモードで動き補償を行うことができる動き補償予測装置及び画像符号化装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る動き補償予測装置は、符号化対象の複数のアンカーブロックに対して共通に定められている代表ベクトルを入力して、その代表ベクトルに対するアンカーブロックの動きベクトルの差分情報を算出し、その差分情報を動きベクトルのビット幅より小さいビット幅で表現して出力する差分情報算出手段と、その差分情報算出手段から出力された差分情報を符号化対象のアンカーブロック毎に格納する差分情報格納手段とを設け、時間ダイレクトベクトル情報算出手段が差分情報格納手段によりアンカーブロック毎に格納されている差分情報と代表ベクトルから、時間ダイレクトブロックの動きベクトルの情報を示す時間ダイレクトベクトル情報を算出するようにしたものである。
【発明の効果】
【０００８】
この発明によれば、符号化対象の複数のアンカーブロックに対して共通に定められている代表ベクトルを入力して、その代表ベクトルに対するアンカーブロックの動きベクトルの差分情報を算出し、その差分情報を動きベクトルのビット幅より小さいビット幅で表現して出力する差分情報算出手段と、その差分情報算出手段から出力された差分情報を符号化対象のアンカーブロック毎に格納する差分情報格納手段とを設け、時間ダイレクトベクトル情報算出手段が差分情報格納手段によりアンカーブロック毎に格納されている差分情報と代表ベクトルから、時間ダイレクトブロックの動きベクトルの情報を示す時間ダイレクトベクトル情報を算出するように構成したので、アンカーピクチャ内の全てのアンカーブロックの動きベクトルを保持するのに十分な容量のメモリを確保することができない場合でも、一部の時間ダイレクトブロックでは、時間ダイレクトモードで動き補償を行うことができる効果がある。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１による動き補償予測装置を示す構成図である。
【図２】ＢピクチャＰＢ内の時間ダイレクトブロックＢＢとアンカーピクチャＰＡ内のアンカーブロックＢＡとの関係を示す説明図である。
【図３】この発明の実施の形態１による動き補償予測装置の時間ダイレクトベクトル情報算出部５を示す構成図である。
【図４】代表ベクトル算出部１の処理内容を示すフローチャートである。
【図５】差分情報算出部３の処理内容を示すフローチャートである。
【図６】時間ダイレクトベクトル情報算出部５の代表時間ダイレクトベクトル算出部１１及び差分時間ダイレクトベクトル情報算出部１３の処理内容を示すフローチャートである。
【図７】時間ダイレクトベクトル情報算出部５の加算器１４及び切換スイッチ１５の処理内容を示すフローチャートである。
【図８】この発明の実施の形態２による動き補償予測装置を実装している画像符号化装置を示す構成図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１はこの発明の実施の形態１による動き補償予測装置を示す構成図であり、図２はＢピクチャＰＢ内の時間ダイレクトブロックＢＢとアンカーピクチャＰＡ内のアンカーブロックＢＡとの関係を示す説明図である。
図１，２において、アンカーピクチャＰＡはＢピクチャＰＢの参照ピクチャの中の一枚であり、ＢピクチャＰＢ内の時間ダイレクトブロックＢＢとアンカーピクチャＰＡ内のアンカーブロックＢＡとは同じ位置のブロックである。
なお、アンカーピクチャＰＡの符号化は、ＢピクチャＰＢの符号化に先立って行われる。
【００１１】
ＭＶはアンカーブロックＢＡの動きベクトル、ＲＶは符号化対象の複数のアンカーブロックＢＡに対して共通に定められている代表ベクトルである。
ＤＩは代表ベクトルＲＶに対する動きベクトルＭＶの差分情報である。
ＴＤＶＩは時間ダイレクトブロックＢＢの動きベクトルの情報を示す時間ダイレクトベクトル情報である。
ＲＴＤＶは複数の時間ダイレクトブロックＢＢの時間ダイレクトベクトル情報ＴＤＶＩを算出する際に共通に用いられる代表時間ダイレクトベクトルである。
ＤＴＤＶＩは代表時間ダイレクトベクトルＲＴＤＶに対する時間ダイレクトベクトル情報ＴＤＶＩの差分を示す差分時間ダイレクトベクトル情報であり、後述するように、差分情報ＤＩが線形補正されることで算出される。
【００１２】
代表ベクトル算出部１は符号化対象の複数のアンカーブロックＢＡに対して共通に定められる代表ベクトルＲＶを算出する処理を実施する。なお、代表ベクトル算出部１は代表ベクトル算出手段を構成している。
代表ベクトル格納部２は代表ベクトル算出部１により算出された代表ベクトルＲＶを格納するメモリである。なお、代表ベクトル格納部２は代表ベクトル格納手段を構成している。
【００１３】
差分情報算出部３は代表ベクトル格納部２により格納されている代表ベクトルＲＶに対する符号化対象のアンカーブロックＢＡの動きベクトルＭＶの差分情報ＤＩを算出し、その差分情報ＤＩを動きベクトルＭＶのビット幅より小さいビット幅で表現して差分情報格納部４に出力する処理を実施する。なお、差分情報算出部３は差分情報算出手段を構成している。
差分情報格納部４は差分情報算出部３から出力された差分情報ＤＩを符号化対象のアンカーブロックＢＡ毎に格納するメモリである。なお、差分情報格納部４は差分情報格納手段を構成している。
【００１４】
時間ダイレクトベクトル情報算出部５は差分情報格納部４によりアンカーブロックＢＡ毎に格納されている差分情報ＤＩと代表ベクトル格納部２により格納されている代表ベクトルＲＶから、時間ダイレクトブロックＢＢの動きベクトルの情報を示す時間ダイレクトベクトル情報ＴＤＶＩを算出する処理を実施する。なお、時間ダイレクトベクトル情報算出部５は時間ダイレクトベクトル情報算出手段を構成している。
【００１５】
図３はこの発明の実施の形態１による動き補償予測装置の時間ダイレクトベクトル情報算出部５を示す構成図である。
図３において、代表時間ダイレクトベクトル算出部１１は代表ベクトル格納部２により格納されている代表ベクトルＲＶ、符号化対象のＢピクチャＰＢの表示時刻ｔｃ、ＢピクチャＰＢが参照する符号化画像の表示時刻ｔｒ、ＢピクチャＰＢに対するアンカーピクチャＰＡの表示時刻ｔ１及びアンカーピクチャＰＡが参照する符号化画像の表示時刻ｔ０から、代表時間ダイレクトベクトルＲＴＤＶを算出する処理を実施する。
【００１６】
代表時間ダイレクトベクトル格納部１２は代表時間ダイレクトベクトル算出部１１により算出された代表時間ダイレクトベクトルＲＴＤＶを格納するメモリである。
差分時間ダイレクトベクトル情報算出部１３は差分情報格納部４によりアンカーブロックＢＡ毎に格納されている差分情報ＤＩを線形補正することで差分時間ダイレクトベクトル情報ＤＴＤＶＩを算出する処理を実施する。即ち、差分情報格納部４によりアンカーブロックＢＡ毎に格納されている差分情報ＤＩ、符号化対象のＢピクチャＰＢの表示時刻ｔｃ、ＢピクチャＰＢが参照する符号化画像の表示時刻ｔｒ、ＢピクチャＰＢに対するアンカーピクチャＰＡの表示時刻ｔ１及びアンカーピクチャＰＡが参照する符号化画像の表示時刻ｔ０から、差分時間ダイレクトベクトル情報ＤＴＤＶＩを算出する処理を実施する。
ただし、差分時間ダイレクトベクトル情報算出部１３は差分情報ＤＩが、後述する「ビット溢れ」を示す情報である場合、「時間ダイレクトモード禁止」を示す情報を差分時間ダイレクトベクトル情報ＤＴＤＶＩとして出力する。
【００１７】
加算器１４は代表時間ダイレクトベクトル格納部１２により格納されている代表時間ダイレクトベクトルＲＴＤＶと差分時間ダイレクトベクトル情報算出部１３により算出された差分時間ダイレクトベクトル情報ＤＴＤＶＩの和を時間ダイレクトベクトル情報ＴＤＶＩとして算出する処理を実施する。
切換スイッチ１５は差分時間ダイレクトベクトル情報算出部１３から出力された差分時間ダイレクトベクトル情報ＤＴＤＶＩが「時間ダイレクトモード禁止」を示す情報でない場合、加算器１４により算出された時間ダイレクトベクトル情報ＴＤＶＩを選択して出力し、その差分時間ダイレクトベクトル情報ＤＴＤＶＩが「時間ダイレクトモード禁止」を示す情報である場合、「時間ダイレクトモード禁止」を示す差分時間ダイレクトベクトル情報ＤＴＤＶＩを時間ダイレクトベクトル情報ＴＤＶＩとして出力する処理を実施する。
【００１８】
次に動作について説明する。
以下、図４から図７のフローチャートを参照しながら各処理部の動作を説明する。
まず、代表ベクトル算出部１は、符号化対象の複数のアンカーブロックＢＡに対して共通に定められている代表ベクトルＲＶが代表ベクトル格納部２に格納されているか否かを判定する（図４のステップＳＴ１）。
代表ベクトル算出部１は、複数のアンカーブロックＢＡに対して共通に定められている代表ベクトルＲＶが代表ベクトル格納部２に格納されていない場合、差分情報算出部３が差分情報ＤＩの算出に用いる代表ベクトルＲＶを算出する（ステップＳＴ２）。
代表ベクトル算出部１は、代表ベクトルＲＶを算出すると、その代表ベクトルＲＶを代表ベクトル格納部２に格納する（ステップＳＴ３）。
【００１９】
以下、代表ベクトルＲＶの算出例を具体的に説明する。
（１）代表ベクトル例１
代表ベクトル算出部１は、アンカーピクチャＰＡ（または、アンカーピクチャＰＡのサブピクチャの画像データ及びアンカーピクチャＰＡの符号化の際に参照される符号化画像（または、符号化画像の原画）の画像データに基づいて、アンカーピクチャＰＡの大域動きベクトル（アンカーピクチャＰＡの全体の動きベクトル）を代表ベクトルＲＶとして算出する。
例えば、アンカーピクチャＰＡや符号化画像における各ブロックの動きベクトルの平均をアンカーピクチャＰＡの大域動きベクトルとして算出する。
【００２０】
（２）代表ベクトル例２
代表ベクトル算出部１は、アンカーピクチャＰＡ内に存在しているエッジの検出処理を実施することで、そのエッジによって区切られているアンカーピクチャＰＡ内の各領域を認識し、アンカーピクチャＰＡ内の領域毎に、代表ベクトルを算出する。
アンカーピクチャＰＡ内の領域に、代表ベクトルを算出する方法は特に問わないが、例えば、上記の代表ベクトル例１と同様の方法を用いる場合には、アンカーピクチャＰＡ内の各領域の大域動きベクトルをそれぞれ代表ベクトルとして算出する。
【００２１】
（３）代表ベクトル例３
代表ベクトル算出部１は、一定ブロックおきに、符号化対象のアンカーブロックＢＡの動きベクトルＭＶを新規の代表ベクトルＲＶとして代表ベクトル格納部２に格納する。
例えば、符号化対象のアンカーブロックＢＡが所定のライン数（例えば、１０ライン）だけ移動すると、移動後のアンカーブロックＢＡの動きベクトルを新規の代表ベクトルＲＶとして代表ベクトル格納部２に格納する。
【００２２】
（４）代表ベクトル例４
代表ベクトル算出部１は、一定時間おきに、符号化対象のアンカーブロックＢＡの動きベクトルＭＶを新規の代表ベクトルＲＶとして代表ベクトル格納部２に格納する。
例えば、一定時間経過する毎に、そのときの符号化対象のアンカーブロックＢＡの動きベクトルＭＶを新規の代表ベクトルＲＶとして代表ベクトル格納部２に格納する。
【００２３】
（５）代表ベクトル例５
常に零ベクトルを代表ベクトルＲＶとして使用する。
この場合、代表ベクトル算出部１や代表ベクトル格納部２は不要になる。
【００２４】
（６）代表ベクトル例６
代表ベクトル算出部１は、詳細は後述するが、差分情報算出部３により算出される差分ベクトルの水平方向成分又は垂直方向成分の少なくとも一方がＮビットで表現することができない場合、符号化対象のアンカーブロックＢＡの動きベクトルＭＶを新規の代表ベクトルＲＶとして代表ベクトル格納部２に格納する。
【００２５】
（７）代表ベクトル例７
代表ベクトル算出部１は、符号化対象のアンカーブロックＢＡの近隣ブロックの動きベクトルＭＶを代表ベクトルＲＶとして代表ベクトル格納部２に格納する。
即ち、代表ベクトル算出部１は、代表ベクトル格納部２により格納されている代表ベクトルＲＶに、既に符号化されているアンカーブロックＢＡのうち、差分情報算出時に代表ベクトル格納部２により格納されている代表ベクトルＲＶを代表ベクトルとして用いたブロックから上記の近隣ブロックまでの差分情報ＤＩを累積加算することで、符号化対象のアンカーブロックＢＡの代表ベクトルＲＶを算出する。
【００２６】
差分情報算出部３は、符号化対象のアンカーブロックＢＡの動きベクトルＭＶを入力すると、代表ベクトル格納部２から代表ベクトルＲＶを取得する（図５のステップＳＴ１１）。
差分情報算出部３は、代表ベクトル格納部２から代表ベクトルＲＶを取得すると、その代表ベクトルＲＶに対する動きベクトルＭＶの差分ベクトルを算出する（ステップＳＴ１２）。
【００２７】
差分情報算出部３は、差分ベクトルを算出すると、例えば、差分情報格納部４により格納される差分情報ＤＩに割り当てられるビット数が２Ｎビットであるとするとき、その差分ベクトルの水平方向成分及び垂直方向成分の双方がＮビットで表現することが可能であるか否かを判定する（ステップＳＴ１３）。
即ち、差分情報算出部３は、その差分ベクトルの水平方向成分及び垂直方向成分の双方が、Ｘ以上で、Ｙ以下であるか否かを判定する。
Ｘ＝−２（Ｎ−１）＋１
Ｙ＝  ２（Ｎ−１）−１
【００２８】
差分情報算出部３は、差分ベクトルの水平方向成分及び垂直方向成分の双方がＮビットで表現することが可能であれば（Ｘ≦水平方向成分≦Ｙ、かつ、Ｘ≦垂直方向成分≦Ｙ）、その動きベクトルＭＶから代表ベクトルＲＶを引いた差分を差分情報ＤＩとして差分情報格納部４に出力する（ステップＳＴ１４）。
即ち、差分情報算出部３は、差分ベクトルの水平方向成分と垂直方向成分をそれぞれＮビットで表現し、Ｎビット表現の水平方向成分と垂直方向成分を差分情報格納部４に出力する。
【００２９】
差分情報算出部３は、差分ベクトルの水平方向成分又は垂直方向成分の少なくとも一方がＮビットで表現することができなければ（水平方向成分＜Ｘ、または、水平方向成分＞Ｙ、あるいは、垂直方向成分＜Ｘ、または、垂直方向成分＞Ｙ）、「ビット溢れ」を示す情報を差分情報ＤＩとして差分情報格納部４に出力する（ステップＳＴ１５）。
差分情報格納部４は、差分情報算出部３から出力された差分情報ＤＩを符号化対象のアンカーブロックＢＡ毎に格納する。
【００３０】
時間ダイレクトベクトル情報算出部５は、差分情報格納部４によりアンカーブロックＢＡ毎に格納されている差分情報ＤＩと代表ベクトル格納部２により格納されている代表ベクトルＲＶから、時間ダイレクトブロックＢＢの動きベクトルの情報を示す時間ダイレクトベクトル情報ＴＤＶＩを算出する。
以下、時間ダイレクトベクトル情報算出部５の処理内容を具体的に説明する。
【００３１】
まず、時間ダイレクトベクトル情報算出部５の代表時間ダイレクトベクトル算出部１１は、符号化対象の時間ダイレクトブロックＢＢに対応する代表時間ダイレクトベクトルＲＴＤＶが代表時間ダイレクトベクトル格納部１２に格納されているか否かを判定する（図６のステップＳＴ２１）。
【００３２】
代表時間ダイレクトベクトル算出部１１は、符号化対象の時間ダイレクトブロックＢＢに対応する代表時間ダイレクトベクトルＲＴＤＶが格納されていない場合、代表ベクトル格納部２により格納されている代表ベクトルＲＶなどを下記の式（１）に代入することで、複数の時間ダイレクトブロックＢＢの時間ダイレクトベクトル情報ＴＤＶＩを算出する際に共通に用いられる代表時間ダイレクトベクトルＲＴＤＶを算出する（ステップＳＴ２２）。
ＲＴＤＶ＝ＲＶ×（ｔｒ−ｔｃ）／（ｔ１−ｔ０）              （１）
ただし、ｔｃ：符号化対象のＢピクチャＰＢの表示時刻
ｔｒ：ＢピクチャＰＢが参照する符号化画像の表示時刻
ｔ１：ＢピクチャＰＢに対するアンカーピクチャＰＡの表示時刻
ｔ０：アンカーピクチャＰＡが参照する符号化画像の表示時刻
【００３３】
代表時間ダイレクトベクトル算出部１１は、代表時間ダイレクトベクトルＲＴＤＶを算出すると、その代表時間ダイレクトベクトルＲＴＤＶを代表時間ダイレクトベクトル格納部１２に格納する（ステップＳＴ２３）。
【００３４】
時間ダイレクトベクトル情報算出部５の差分時間ダイレクトベクトル情報算出部１３は、差分情報格納部４によりアンカーブロックＢＡ毎に格納されている差分情報ＤＩが「ビット溢れ」を示す情報であるか否かを判定する（ステップＳＴ２４）。
差分時間ダイレクトベクトル情報算出部１３は、その差分情報ＤＩが「ビット溢れ」を示す情報でなければ、その差分情報ＤＩを線形補正することで、差分時間ダイレクトベクトル情報ＤＴＤＶＩを算出する（ステップＳＴ２５）。
即ち、差分時間ダイレクトベクトル情報算出部１３は、その差分情報ＤＩなどを下記の式（２）に代入することで、差分時間ダイレクトベクトル情報ＤＴＤＶＩを算出する。
ＤＴＤＶＩ＝ＤＩ×（ｔｒ−ｔｃ）／（ｔ１−ｔ０）            （２）
【００３５】
ただし、差分時間ダイレクトベクトル情報算出部１３は、その差分情報ＤＩが「ビット溢れ」を示す情報である場合、「時間ダイレクトモード禁止」を示す情報を差分時間ダイレクトベクトル情報ＤＴＤＶＩとして出力する（ステップＳＴ２５）。
【００３６】
時間ダイレクトベクトル情報算出部５の加算器１４は、差分時間ダイレクトベクトル情報算出部１３から出力された差分時間ダイレクトベクトル情報ＤＴＤＶＩが「時間ダイレクトモード禁止」を示す情報でなければ（図７のステップＳＴ３１）、その差分時間ダイレクトベクトル情報ＤＴＤＶＩと代表時間ダイレクトベクトル格納部１２により格納されている代表時間ダイレクトベクトルＲＴＤＶを加算し、その加算結果を時間ダイレクトベクトル情報ＴＤＶＩとして切換スイッチ１５に出力する（ステップＳＴ３２）。
【００３７】
時間ダイレクトベクトル情報算出部５の切換スイッチ１５は、差分時間ダイレクトベクトル情報算出部１３から出力された差分時間ダイレクトベクトル情報ＤＴＤＶＩが「時間ダイレクトモード禁止」を示す情報でなければ、加算器１４から出力された時間ダイレクトベクトル情報ＴＤＶＩを選択して出力する（ステップＳＴ３３）。
切換スイッチ１５は、差分時間ダイレクトベクトル情報算出部１３から出力された差分時間ダイレクトベクトル情報ＤＴＤＶＩが「時間ダイレクトモード禁止」を示す情報である場合、その差分時間ダイレクトベクトル情報ＤＴＤＶＩを時間ダイレクトベクトル情報ＴＤＶＩとして出力する（ステップＳＴ３４）。
【００３８】
以上で明らかなように、この実施の形態１によれば、符号化対象の複数のアンカーブロックＢＡに対して共通に定められている代表ベクトルＲＶを入力して、その代表ベクトルＲＶに対するアンカーブロックＢＡの動きベクトルＭＶの差分情報ＤＩを算出し、その差分情報ＤＩを動きベクトルＭＶのビット幅より小さいビット幅で表現して出力する差分情報算出部３と、その差分情報算出部３から出力された差分情報ＤＩを符号化対象のアンカーブロックＢＡ毎に格納する差分情報格納部４とを設け、時間ダイレクトベクトル情報算出部５が差分情報格納部４によりアンカーブロックＢＡ毎に格納されている差分情報ＤＩと代表ベクトルＲＶから、時間ダイレクトブロックＢＢの動きベクトルの情報を示す時間ダイレクトベクトル情報ＴＤＶＩを算出するように構成したので、アンカーピクチャＰＡ内の全てのアンカーブロックＢＡの動きベクトルＭＶを保持するのに十分な容量のメモリを確保することができない場合でも、一部の時間ダイレクトブロックＢＢでは、時間ダイレクトモードで動き補償を行うことができる効果を奏する。
【００３９】
即ち、この実施の形態１によれば、差分情報算出部３が代表ベクトルＲＶに対するアンカーブロックＢＡの動きベクトルＭＶの差分情報ＤＩを算出し、その差分情報ＤＩを動きベクトルＭＶのビット幅より小さいビット幅で表現して差分情報格納部４に格納するようにしているので、省メモリ化を図ることができる効果を奏する。
例えば、動きベクトルＭＶがＭビットで表現される場合、アンカーピクチャＰＡにおける動きベクトルＭＶの情報を保持するのに要する総メモリ量を約Ｎ／Ｍとすることができる。
【００４０】
また、後述する画像符号化装置（図１の動き補償予測装置を実装している画像符号化装置）では、保有しているメモリ量に応じて、差分情報ＤＩに割り当てるビット量を調節することが可能であるため、画像符号化装置の保有メモリ量が、アンカーピクチャＰＡ内の全てのアンカーブロックＢＡの動きベクトルＭＶを保持するのに十分でない場合でも、時間ダイレクトモードを部分的に使用することが可能となる。
さらに、代表時間ダイレクトベクトルＲＴＤＶは、複数の時間ダイレクトブロックＢＢに対して共通に用いることができる。このため、各時間ダイレクトブロックＢＢにおける時間ダイレクトベクトル情報ＴＤＶＩの算出においては、差分時間ダイレクトベクトル情報ＤＴＤＶＩを算出するためのＮビットの演算を行えばよいので、低演算量での時間ダイレクトモードの実装が可能である。
【００４１】
なお、この実施の形態１では、差分情報算出部３が差分情報ＤＩを動きベクトルＭＶのビット幅より小さいビット幅で表現して差分情報格納部４に格納するものについて示したが、差分情報格納部４のメモリ容量を更に小さくすることができるようにするために、差分情報算出部３が差分情報ＤＩに関する統計情報（各差分情報ＤＩが出現する確率）を算出し、その統計情報に基づいて差分情報ＤＩをコンパクト符号化する符号化器を備えるようにしてもよい。
この場合、時間ダイレクトベクトル情報算出部５には、コンパクト符号化されている差分情報ＤＩを復号する復号器（上記符号化器に対応する復号器）を備えている必要がある。
【００４２】
また、この実施の形態１では、代表ベクトル算出部１が代表ベクトルＲＶを算出するものについて示したが、例えば、固定の代表ベクトルＲＶを用いる場合には、代表ベクトル算出部１を省略することができる。
【００４３】
代表ベクトル算出部１により算出される代表ベクトルＲＶは、ピクチャ単位であってもよいが、ピクチャ単位に限定されるものではない。
したがって、例えば、ピクチャが複数に分割されているサブピクチャ単位に代表ベクトルＲＶを定めてもよい。また、複数のピクチャを単位にして、代表ベクトルＲＶを定めてもよい。
また、代表ベクトルを定める単位に対して、代表ベクトルの個数は一つでも複数でもよい。ただし、代表ベクトルの候補が複数ある場合には、差分情報ＤＩとして、代表ベクトルＲＶとして用いたベクトルを表すラベルが必要である。
【００４４】
実施の形態２．
図８はこの発明の実施の形態２による動き補償予測装置を実装している画像符号化装置を示す構成図であり、図において、図１と同一符号は同一又は相当部分を示すので説明を省略する。
動き補償予測装置２０は図１の動き補償予測装置と同じ装置であり、ＢピクチャＰＢ内の時間ダイレクトブロックＢＢに対応するアンカーピクチャＰＡ内のアンカーブロックＢＡの動きベクトルＭＢを線形補正して、その時間ダイレクトブロックＢＢの動きベクトルの情報を示す時間ダイレクトベクトル情報ＴＤＶＩを算出する処理を実施する。
【００４５】
ピクチャメモリ３１は入力画像を格納するメモリである。
動き探索部３２はアンカーピクチャＰＡ内のアンカーブロックＢＡを符号化する際には、代表ベクトル格納部２により格納されている代表ベクトルに近いベクトルを探索して、そのベクトルを動きベクトルＭＶとして差分情報算出部３に与え、ＢピクチャＰＢ内の時間ダイレクトブロックＢＢを符号化する際には、時間ダイレクトベクトル情報算出部５の代表時間ダイレクトベクトル格納部１２により格納されている代表時間ダイレクトベクトルＲＴＤＶに近いベクトルを探索して、そのベクトルを動きベクトルＭＶとして差分情報算出部３に与える処理を実施する。なお、動き探索部３２は動きベクトル探索手段を構成している。
【００４６】
切換スイッチ３３は、ＢピクチャＰＢ内の時間ダイレクトブロックＢＢを符号化する際には、動き補償予測装置２０の時間ダイレクトベクトル情報算出部５から出力された時間ダイレクトベクトル情報ＴＤＶＩをモード選択部３４に出力し、Ｐピクチャ内のブロックを符号化する際には、「時間ダイレクトモード禁止」を示す情報をモード選択部３４に出力する処理を実施する。
モード選択部３４は、切換スイッチ３３から出力された時間ダイレクトベクトル情報ＴＤＶＩが「時間ダイレクトモード禁止」を示す情報でなければ、動き探索部３２から出力された動きベクトルを使用する方が、切換スイッチ３３から出力された時間ダイレクトベクトル情報ＴＤＶＩが示す時間ダイレクトベクトルを使用するより、コスト（例えば、符号化対象の画像である入力画像と参照画像の差分）が小さくなる場合、動き探索部３２から出力された動きベクトルを選択して符号化部３７及び動き補償部４０に出力し、その時間ダイレクトベクトル情報ＴＤＶＩが示す時間ダイレクトベクトルを使用する方が、動き探索部３２から出力された動きベクトルを使用するより、コスト（例えば、符号化対象の画像と参照画像の差分）が小さくなる場合、その時間ダイレクトベクトル情報ＴＤＶＩが示す時間ダイレクトベクトルを選択して符号化部３７及び動き補償部４０に出力する処理を実施する。切換スイッチ３３から出力された時間ダイレクトベクトル情報ＴＤＶＩが「時間ダイレクトモード禁止」を示す情報であれば、モード選択部３４は常に動き探索部３２から出力された動きベクトルを符号化部３７及び動き補償部４０に出力する。
【００４７】
減算器３５はピクチャメモリ３１により格納された入力画像と切換スイッチ４１から出力された予測画像の差分を求め、その差分画像をＤＣＴ量子化部３６に出力する処理を実施する。
ＤＣＴ量子化部３６は減算器３５から出力された差分画像に対するＤＣＴ（離散コサイン変換）処理と量子化処理を実施する。
符号化部３７はモード選択部３４から出力されたベクトル、及びＤＣＴ量子化部３６の出力データから符号化データを生成し、その符号化データを出力する処理を実施する。
【００４８】
イントラ予測部３８は入力画像からイントラ予測モードで予測画像を生成する処理を実施する。
逆量子化逆ＤＣＴ部３９はＤＣＴ量子化部３６の出力データに対する逆量子化処理と逆ＤＣＴ処理を実施して、上記差分画像を動き補償部４０に出力する処理を実施する。
動き補償部４０はモード選択部３４から出力されたベクトル、及び逆量子化逆ＤＣＴ部３９から出力されて動き補償部４０の内部にある参照画像蓄積メモリによって格納されている参照画像を用いて動き補償処理を実施して、予測画像を生成する処理を実施する。
ただし、動き補償部４０は、代表ベクトルＲＶ又は代表時間ダイレクトベクトルＲＴＤＶが共通している複数の符号化ブロックの動き補償を実施する際、複数の符号化ブロックが参照するブロックの画像データを参照画像蓄積メモリから一度に読み出すようにする。
【００４９】
切換スイッチ４１はイントラ予測部３８から出力された予測画像又は動き補償部４０から出力された予測画像を選択して減算器３５に出力する処理を実施する。
なお、モード選択部３４、減算器３５、ＤＣＴ量子化部３６、符号化部３７、逆量子化逆ＤＣＴ部３９及び動き補償部４０から画像符号化手段が構成されている。
【００５０】
次に動作について説明する。
減算器３５、ＤＣＴ量子化部３６、符号化部３７、イントラ予測部３８、逆量子化逆ＤＣＴ部３９及び切換スイッチ４１の処理内容は、一般的な画像符号化装置に実装されているものと同様であるため詳細な説明を省略する。
【００５１】
動き探索部３２は、動き補償部４０が動き補償処理を実施するに際して、近隣ブロック同士で動きベクトルの相関が高まるようにするために、次のようにして、動きベクトルを選択する。
即ち、動き探索部３２は、アンカーピクチャＰＡ内のアンカーブロックＢＡを符号化する際には、代表ベクトル格納部２により格納されている代表ベクトルに近いベクトルによって指定されるブロックの中から参照画像とするブロックを探索して、参照画像とするブロックを指定するベクトルを動きベクトルＭＶとして差分情報算出部３に与える。
また、ＢピクチャＰＢ内の時間ダイレクトブロックＢＢを符号化する際には、時間ダイレクトベクトル情報算出部５の代表時間ダイレクトベクトル格納部１２により格納されている代表時間ダイレクトベクトルＲＴＤＶに近いベクトルによって指定されるブロックの中から参照画像とするブロックを探索して、参照画像とするブロックを指定するベクトルを動きベクトルＭＶとして差分情報算出部３に与える。
【００５２】
近隣ブロック同士で動きベクトルの相関が高まることで、周囲ブロックからの予測によって算出されたベクトルと、選択された動きベクトルが近いものとなる。その結果、時間ダイレクトモードなどの特殊なモードを使用しないブロックに対しても、動きベクトルに要する情報量を削減することができるようになる。
また、近隣ブロックが参照するブロックが隣接又は重複している可能性が高くなる。その場合、動き探索部３２が複数ブロックの参照画像を一度にリードすることができるようになり、メモリ転送の効率化を図ることができる。
【００５３】
切換スイッチ３３は、上記実施の形態１と同様にして、ＢピクチャＰＢ内の時間ダイレクトブロックＢＢを符号化する際には、動き補償予測装置２０の時間ダイレクトベクトル情報算出部５から出力された時間ダイレクトベクトル情報ＴＤＶＩをモード選択部３４に出力し、Ｐピクチャ内のブロックを符号化する際には、「時間ダイレクトモード禁止」を示す情報をモード選択部３４に出力する。
【００５４】
モード選択部３４は、切換スイッチ３３から出力された時間ダイレクトベクトル情報ＴＤＶＩが「時間ダイレクトモード禁止」を示す情報でなければ、動き探索部３２から出力された動きベクトルを使用する方が、切換スイッチ３３から出力された時間ダイレクトベクトル情報ＴＤＶＩが示す時間ダイレクトベクトルを使用するより、コスト（例えば、符号化対象の画像である入力画像と参照画像の差分）が小さくなる場合、動き探索部３２から出力された動きベクトルを選択して符号化部３７及び動き補償部４０に出力する。
一方、その時間ダイレクトベクトル情報ＴＤＶＩが示す時間ダイレクトベクトルを使用する方が、動き探索部３２から出力された動きベクトルを使用するより、コスト（例えば、入力画像と参照画像の差分）が小さくなる場合、その時間ダイレクトベクトル情報ＴＤＶＩが示す時間ダイレクトベクトルを選択して符号化部３７及び動き補償部４０に出力する。
切換スイッチ３３から出力された時間ダイレクトベクトル情報ＴＤＶＩが「時間ダイレクトモード禁止」を示す情報であれば、モード選択部３４は常に動き探索部３２から出力された動きベクトルを符号化部３７及び動き補償部４０に出力する。
【００５５】
動き補償部４０は、モード選択部３４から出力されたベクトル、及び逆量子化逆ＤＣＴ部３９から出力されて動き補償部４０の内部にある参照画像蓄積メモリによって格納されている参照画像を用いて動き補償処理を実施して、予測画像を生成する処理を実施する。
ただし、動き補償部４０は、代表ベクトルＲＶ又は代表時間ダイレクトベクトルＲＴＤＶが共通している複数の符号化ブロックの動き補償を実施する際、上述したように、近隣ブロック同士で動きベクトルの相関が高まっているので、複数の符号化ブロックが参照するブロックの画像データを参照画像蓄積メモリから一度に読み出すようにする。
【符号の説明】
【００５６】
１  代表ベクトル算出部（代表ベクトル算出手段）、２  代表ベクトル格納部（代表ベクトル格納手段）、３  差分情報算出部（差分情報算出手段）、４  差分情報格納部（差分情報格納手段）、５  時間ダイレクトベクトル情報算出部（時間ダイレクトベクトル情報算出手段）、１１  代表時間ダイレクトベクトル算出部、１２  代表時間ダイレクトベクトル格納部、１３  差分時間ダイレクトベクトル情報算出部、１４  加算器、１５  切換スイッチ、２０  動き補償予測装置、３１  ピクチャメモリ、３２  動き探索部（動きベクトル探索手段）、３３  切換スイッチ、３４  モード選択部（画像符号化手段）、３５  減算器（画像符号化手段）、３６  ＤＣＴ量子化部（画像符号化手段）、３７  符号化部（画像符号化手段）、３８  イントラ予測部、３９  逆量子化逆ＤＣＴ部（画像符号化手段）、４０  動き補償部（画像符号化手段）、４１  切換スイッチ。
【図１】
2010200147.tif 000003
【図２】
2010200147.tif 000004
【図３】
2010200147.tif 000005
【図４】
2010200147.tif 000006
【図５】
2010200147.tif 000007
【図６】
2010200147.tif 000008
【図７】
2010200147.tif 000009
【図８】
2010200147.tif 000010