(57)【要約】【課題】動きベクトルの予測処理時における動きベクトルの算出処理を迅速に行う。【解決手段】動きベクトル補正部１３０は、フレーム構造に対応するように参照動きベクトルを補正する。アドレス変換部１４０は、マクロブロックペアの構造に応じて、参照動きベクトルの動きベクトルバッファ２００のアドレスを決定し、その参照動きベクトルを保持させる。動きベクトル予測値算出部１６０は、対象マクロブロックペアの構造に応じて、動きベクトルバッファ２００から参照動きベクトルを読み出し、その動きベクトル予測値を算出する。動きベクトル予測値補正部１７０は、対象マクロブロックペアがフィールド構造である場合には、フィールド構造に対応するように動きベクトル予測値を補正する。加算器１２０は、その動きベクトル予測値と、算術復号化処理部１１０からの差分値とを加算して動きベクトルを算出する。【選択図】図１
2011061273.tif 000002
【特許請求の範囲】
【請求項１】
フレーム符号化およびフィールド符号化の何れかに切り替えられてマクロブロックペア単位で符号化されてフレーム構造およびフィールド構造の何れかの構造を有する前記マクロブロックペアについて、第１のマクロブロックペアについて算出された動きベクトルのうち第２のマクロブロックペアの動きベクトル算出処理に用いられる参照動きベクトルが前記何れかの構造のうちの一の構造である特定構造に対応するように前記参照動きベクトルを補正する動きベクトル補正部と、
前記第１のマクロブロックペアの構造に応じて決定されたアドレスに前記特定構造に対応する前記参照動きベクトルを保持する動きベクトル保持部と、
前記第２のマクロブロックペアの構造に応じて前記動きベクトル保持部から前記参照動きベクトルを読み出して当該読み出された前記参照動きベクトルに基づいて前記第２のマクロブロックペアの動きベクトルを算出する動きベクトル算出部と
を具備する動きベクトル算出装置。
【請求項２】
前記動きベクトル補正部は、前記特定構造を前記フレーム構造とし、前記参照動きベクトルが前記フレーム構造に対応するように前記参照動きベクトルを補正する請求項１記載の動きベクトル算出装置。
【請求項３】
前記動きベクトル補正部は、前記第１のマクロブロックペアがフィールド構造である場合には前記参照動きベクトルの垂直方向の成分を２倍にする補正を行い、前記第１のマクロブロックペアがフレーム構造である場合には前記参照動きベクトルの補正を行わない請求項２記載の動きベクトル算出装置。
【請求項４】
前記動きベクトル算出部は、
前記読み出された前記参照動きベクトルに基づいて前記第２のマクロブロックペアの動きベクトル予測値を算出する動きベクトル予測値算出部と、
前記第２のマクロブロックペアがフィールド構造である場合には前記動きベクトル予測値が前記フィールド構造に対応するように前記動きベクトル予測値を補正する動きベクトル予測値補正部とを備える
請求項２記載の動きベクトル算出装置。
【請求項５】
前記動きベクトル予測値補正部は、前記第２のマクロブロックペアがフィールド構造である場合には前記動きベクトル予測値の垂直方向の成分を１／２倍にする補正を行い、前記第２のマクロブロックペアがフレーム構造である場合には前記動きベクトル予測値の補正を行わない請求項４記載の動きベクトル算出装置。
【請求項６】
前記動きベクトル保持部に保持された前記参照動きベクトルと、前記第２のマクロブロックペアについて算出されて前記特定構造に対応するように補正された動きベクトルとに基づいて前記第２のマクロブロックペアに関するデブロッキングモード処理に用いられるパラメータを決定する決定部をさらに具備する請求項１記載の動きベクトル算出装置。
【請求項７】
フレーム符号化およびフィールド符号化の何れかに切り替えられてマクロブロックペア単位で符号化されてフレーム構造およびフィールド構造の何れかの構造を有する前記マクロブロックペアについて、第１のマクロブロックペアについて算出された動きベクトルのうち第２のマクロブロックペアの動きベクトル算出処理に用いられる参照動きベクトルが前記何れかの構造のうちの一の構造である特定構造に対応するように前記参照動きベクトルを補正する動きベクトル補正手順と、
前記第１のマクロブロックペアの構造に応じて決定されたアドレスに前記特定構造に対応する前記参照動きベクトルを動きベクトル保持部に保持させる保持手順と、
前記第２のマクロブロックペアの構造に応じて前記動きベクトル保持部から前記参照動きベクトルを読み出して当該読み出された前記参照動きベクトルに基づいて前記第２のマクロブロックペアの動きベクトルを算出する動きベクトル算出手順と
を具備する動きベクトル算出方法。
【請求項８】
フレーム符号化およびフィールド符号化の何れかに切り替えられてマクロブロックペア単位で符号化されてフレーム構造およびフィールド構造の何れかの構造を有する前記マクロブロックペアについて、第１のマクロブロックペアについて算出された動きベクトルのうち第２のマクロブロックペアの動きベクトル算出処理に用いられる参照動きベクトルが前記何れかの構造のうちの一の構造である特定構造に対応するように前記参照動きベクトルを補正する動きベクトル補正手順と、
前記第１のマクロブロックペアの構造に応じて決定されたアドレスに前記特定構造に対応する前記参照動きベクトルを動きベクトル保持部に保持させる保持手順と、
前記第２のマクロブロックペアの構造に応じて前記動きベクトル保持部から前記参照動きベクトルを読み出して当該読み出された前記参照動きベクトルに基づいて前記第２のマクロブロックペアの動きベクトルを算出する動きベクトル算出手順と
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動きベクトル算出装置に関し、特に、フレームを構成するマクロブロックを単位として動きベクトルを算出する動きベクトル算出装置および動きベクトル算出方法ならびに当該方法をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、動画データの圧縮符号化方式として、ＭＰＥＧ（Moving Picture Expert Group）やＨ．２６４が知られている。これらの圧縮符号化方式では、動画データを構成する各フレームを複数のブロック（マクロブロック）に分割し、このマクロブロックを単位として符号化処理および復号化処理が行われている。この復号化処理として、例えば、フレームを構成するマクロブロック単位で動きベクトルの予測処理を行うことにより動きベクトルを算出し、この算出された動きベクトルに基づいて動画データを復号する復号化処理が知られている。
【０００３】
例えば、参照先の動きベクトルが格納されているメモリのアドレスを算出し、この算出されたアドレスに基づいて参照先の動きベクトルを読み出して動きベクトル予測値を算出するフレーム間予測処理装置が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−４８２８９号公報（図１）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術によれば、参照先の動きベクトルが格納されているメモリのアドレスを算出し、この算出されたアドレスに基づいて参照先の動きベクトルを読み出すことができるため、動きベクトル予測値の算出処理を迅速に行うことができる。
【０００６】
ここで、例えば、Ｈ．２６４では、フレーム単位で符号化するモードとフィールド単位で符号化するモードとを適応的に選択することが可能である。また、Ｈ．２６４には、垂直方向に隣接する２つのマクロブロック（マクロブロックペア）単位でフィールド予測とフレーム予測との切替が可能なＭＢＡＦＦ（Macro block Adaptive Frame/Field coding）モードが存在する。このフィールド予測では、上側のマクロブロックはトップフィールド（Top Field）のみで構成され、下側のマクロブロックはボトムフィールド（Bottom Field）のみで構成される。
【０００７】
例えば、マクロブロックについて動きベクトルを算出する場合には、周辺マクロブロック（参照マクロブロック）の動きベクトルを参照する必要がある。この処理では、予測処理の対象となるマクロブロック（対象マクロブロック）の画素と、フレーム構造で隣接するマクロブロックの動きベクトルとが必要になる。このため、例えば、ＭＢＡＦＦモードでは、処理対象のマクロブロックと、周辺マクロブロックのフィールドモード／フレームモードの組み合わせに応じて、参照すべきアドレスが変化する。
【０００８】
また、ＭＢＡＦＦモードにおいて、対象マクロブロックの構造と、参照マクロブロックの構造とが異なる場合には、参照マクロブロックのＹ軸方向の動きベクトル値を対象マクロブロックの構造に合わせる補正をして動きベクトルの予測処理を行う必要がある。ここで、例えば、あるマクロブロックの動きベクトルは、最大で４回参照される可能性があるため、参照される毎に動きベクトルの補正を行うと、動きベクトルの予測処理の効率が低下するおそれがある。
【０００９】
このように、ＭＢＡＦＦモードにおいて動きベクトルの予測処理を行う場合には、その組合せに応じて処理が複雑となることがあるため、これらの組合せに対しても動きベクトルの予測処理における速度を向上させることが重要である。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、動きベクトルの予測処理時における動きベクトルの算出処理を迅速に行うことを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、フレーム符号化およびフィールド符号化の何れかに切り替えられてマクロブロックペア単位で符号化されてフレーム構造およびフィールド構造の何れかの構造を有する上記マクロブロックペアについて、第１のマクロブロックペアについて算出された動きベクトルのうち第２のマクロブロックペアの動きベクトル算出処理に用いられる参照動きベクトルが上記何れかの構造のうちの一の構造である特定構造に対応するように上記参照動きベクトルを補正する動きベクトル補正部と、上記第１のマクロブロックペアの構造に応じて決定されたアドレスに上記特定構造に対応する上記参照動きベクトルを保持する動きベクトル保持部と、上記第２のマクロブロックペアの構造に応じて上記動きベクトル保持部から上記参照動きベクトルを読み出して当該読み出された上記参照動きベクトルに基づいて上記第２のマクロブロックペアの動きベクトルを算出する動きベクトル算出部とを具備する動きベクトル算出装置および動きベクトル算出方法ならびに当該方法をコンピュータに実行させるプログラムである。これにより、特定構造に対応するように参照動きベクトルを補正し、第１のマクロブロックペアの構造に応じて決定されたアドレスに、特定構造に対応する参照動きベクトルを保持し、第２のマクロブロックペアの構造に応じて、動きベクトル保持部から参照動きベクトルを読み出し、この読み出された参照動きベクトルに基づいて、第２のマクロブロックペアの動きベクトルを算出するという作用をもたらす。
【００１２】
また、この第１の側面において、上記動きベクトル補正部は、上記特定構造を上記フレーム構造とし、上記参照動きベクトルが上記フレーム構造に対応するように上記参照動きベクトルを補正するようにしてもよい。これにより、フレーム構造に対応するように参照動きベクトルを補正するという作用をもたらす。
【００１３】
また、この第１の側面において、上記動きベクトル補正部は、上記第１のマクロブロックペアがフィールド構造である場合には上記参照動きベクトルの垂直方向の成分を２倍にする補正を行い、上記第１のマクロブロックペアがフレーム構造である場合には上記参照動きベクトルの補正を行わないようにしてもよい。これにより、第１のマクロブロックペアがフィールド構造である場合には、参照動きベクトルの垂直方向の成分を２倍にする補正を行い、第１のマクロブロックペアがフレーム構造である場合には、参照動きベクトルの補正を行わないという作用をもたらす。
【００１４】
また、この第１の側面において、上記動きベクトル算出部は、上記読み出された上記参照動きベクトルに基づいて上記第２のマクロブロックペアの動きベクトル予測値を算出する動きベクトル予測値算出部と、上記第２のマクロブロックペアがフィールド構造である場合には上記動きベクトル予測値が上記フィールド構造に対応するように上記動きベクトル予測値を補正する動きベクトル予測値補正部とを備えるようにしてもよい。これにより、読み出された参照動きベクトルに基づいて、第２のマクロブロックペアの動きベクトル予測値を算出し、第２のマクロブロックペアがフィールド構造である場合には、フィールド構造に対応するように動きベクトル予測値を補正するという作用をもたらす。
【００１５】
また、この第１の側面において、上記動きベクトル予測値補正部は、上記第２のマクロブロックペアがフィールド構造である場合には上記動きベクトル予測値の垂直方向の成分を１／２倍にする補正を行い、上記第２のマクロブロックペアがフレーム構造である場合には上記動きベクトル予測値の補正を行わないようにしてもよい。これにより、第２のマクロブロックペアがフィールド構造である場合には、動きベクトル予測値の垂直方向の成分を１／２倍にする補正を行い、第２のマクロブロックペアがフレーム構造である場合には、動きベクトル予測値の補正を行わないという作用をもたらす。
【００１６】
また、この第１の側面において、上記動きベクトル保持部に保持された上記参照動きベクトルと、上記第２のマクロブロックペアについて算出されて上記特定構造に対応するように補正された動きベクトルとに基づいて上記第２のマクロブロックペアに関するデブロッキングモード処理に用いられるパラメータを決定する決定部をさらに具備するようにしてもよい。これにより、動きベクトル保持部に保持された参照動きベクトルと、第２のマクロブロックペアについて算出されて特定構造に対応するように補正された動きベクトルとに基づいて、第２のマクロブロックペアに関するデブロッキングモード処理に用いられるパラメータを決定するという作用をもたらす。
【発明の効果】
【００１７】
本発明によれば、動きベクトルの予測処理時における動きベクトルの算出処理を迅速に行うことができるという優れた効果を奏し得る。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施の形態における動きベクトル算出装置１００の機能構成例を示すブロック図である。
【図２】本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル（Ｍｖ）の保持内容を模式的に示す図である。
【図３】本発明の第１の実施の形態における動きベクトル補正部１３０により動きベクトルのＹ軸成分の補正処理を行う場合における処理の流れを模式的に示す図である。
【図４】本発明の第１の実施の形態における動きベクトル予測値算出部１６０により動きベクトル予測を算出する場合における処理の流れを模式的に示す図である。
【図５】本発明の第１の実施の形態における動きベクトル算出装置１００の動きベクトル予測処理時のデータの流れを模式的に示す図である。
【図６】本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル保持領域２１０に保持される動きベクトル（Ｍｖ）の更新の流れを模式的に示す図である。
【図７】本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル保持領域２１０に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。
【図８】本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル保持領域２１０に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。
【図９】本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル保持領域２１０に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。
【図１０】本発明の第１の実施の形態における動きベクトルバッファ２００に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。
【図１１】本発明の第１の実施の形態における動きベクトルバッファ２００に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。
【図１２】本発明の第１の実施の形態における動きベクトルバッファ２００に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。
【図１３】本発明の第１の実施の形態における動きベクトル算出装置１００の動きベクトル予測処理時のデータの流れを模式的に示す図である。
【図１４】本発明の第１の実施の形態におけるデブロッキングモード処理におけるデータの流れを模式的に示す図である。
【図１５】本発明の第１の実施の形態における動きベクトル算出装置１００による動画復号処理の処理手順を示すフローチャートである。
【図１６】本発明の第１の実施の形態における動きベクトル算出装置１００による動画復号処理の処理手順のうちの動きベクトル算出処理を示すフローチャートである。
【図１７】本発明の第１の実施の形態における動きベクトル算出装置１００による動画復号処理の処理手順のうちのデータストア処理を示すフローチャートである。
【図１８】本発明の第２の実施の形態におけるダイレクトモード処理時における参照フレームの動きベクトルの補正方法を模式的に示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（動きベクトル算出制御：ＭＢＡＦＦモードにおいて動きベクトルを算出する例）
２．第２の実施の形態（ダイレクトモード処理時における動きベクトル算出制御：ダイレクトモードにおいて動きベクトルを算出する例）
【００２０】
＜１．第１の実施の形態＞
［動きベクトル算出装置の構成例］
図１は、本発明の第１の実施の形態における動きベクトル算出装置１００の機能構成例を示すブロック図である。動きベクトル算出装置１００は、算術復号化処理部１１０と、加算器１２０と、動きベクトル補正部１３０と、アドレス変換部１４０と、動きベクトルバッファ２００とを備える。また、動きベクトル算出装置１００は、動きベクトル予測値算出部１６０と、動きベクトル予測値補正部１７０と、デブロッキングモードパラメータ決定部１８１と、デブロッキングモードパラメータ決定部１８２とを備える。動きベクトル算出装置１００は、フレーム符号化とフィールド符号化の何れかに切り替えられてマクロブロックペア単位で符号化されてフレーム構造およびフィールド構造の何れかの構造を有するマクロブロックペアについて動きベクトルを算出するものである。
【００２１】
算術復号化処理部１１０は、信号線１９１を介して入力されたストリームについて算術復号化処理（ＣＡＢＡＣ（Context-based Adapttive Binary Arithmetic Coding））を行うものである。そして、算術復号化処理部１１０は、動きベクトル予測値との差分値（Ｍｖｄ）を求め、この動きベクトル予測値との差分値（Ｍｖｄ）を加算器１２０に出力する。
【００２２】
加算器１２０は、算術復号化処理部１１０から出力された動きベクトル予測値との差分値（Ｍｖｄ）と、動きベクトル予測値補正部１７０から出力された動きベクトル予測値（Ｍｖｐ）とを加算する加算器である。そして、加算器１２０は、加算結果（動きベクトル（Ｍｖ））を信号線１９２を介してデブロッキングモード処理部（図示せず）に出力する。すなわち、処理対象となるマクロブロック（対象マクロブロック）の動きベクトル（Ｍｖ）は、次の式を用いて算出される。
Ｍｖ＝Ｍｖｐ＋Ｍｖｄ
【００２３】
動きベクトル補正部１３０は、加算器１２０から出力された動きベクトル（Ｍｖ）について、その動きベクトル（Ｍｖ）が特定構造（例えば、フレーム構造）に対応するように補正処理を行う演算器である。すなわち、動きベクトル補正部１３０は、フィールド構造のマクロブロックについて算出された動きベクトル（Ｍｖ）については、その垂直方向の成分（Ｙ軸成分）の値を２倍にすることにより、そのＹ軸成分がフレーム構造になるように補正を行う。一方、動きベクトル補正部１３０は、フレーム構造のマクロブロックについて算出された動きベクトル（Ｍｖ）については、その動きベクトル（Ｍｖ）の補正を行わない。そして、動きベクトル補正部１３０は、Ｙ軸成分がフレーム構造になった動きベクトル（Ｍｖ）を、アドレス変換部１４０、デブロッキングモードパラメータ決定部１８１およびデブロッキングモードパラメータ決定部１８２に出力する。このように、補正処理は、動きベクトル（Ｍｖ）のＹ軸成分の値を２倍するのみであるため、動きベクトル補正部１３０として、１ビットの右シフト演算器を用いることができる。
【００２４】
アドレス変換部１４０は、動きベクトル補正部１３０から出力された動きベクトル（Ｍｖ）を保持させる動きベクトルバッファ２００におけるアドレスを決定するものである。そして、アドレス変換部１４０は、決定されたアドレスに基づいて、動きベクトル補正部１３０から出力された動きベクトル（Ｍｖ）を動きベクトルバッファ２００に保持させる。具体的には、アドレス変換部１４０は、動きベクトル（Ｍｖ）が算出されたマクロブロックがフレーム構造であるか、フィールド構造であるかに応じて、動きベクトルバッファ２００におけるアドレスを決定する。なお、このアドレスの決定方法については、図６乃至図１３を参照して詳細に説明する。
【００２５】
動きベクトルバッファ２００は、アドレス変換部１４０により決定されたアドレスに基づいて、動きベクトル補正部１３０から出力された動きベクトル（Ｍｖ）を保持するものである。また、動きベクトルバッファ２００は、保持されている動きベクトル（Ｍｖ）を動きベクトル予測値算出部１６０、デブロッキングモードパラメータ決定部１８１およびデブロッキングモードパラメータ決定部１８２に供給する。具体的には、動きベクトルバッファ２００は、保持されている動きベクトル（Ｍｖ）のうち、左上参照の動きベクトル（ＭｖＣ）を動きベクトル予測値算出部１６０に供給する。また、動きベクトルバッファ２００は、保持されている動きベクトル（Ｍｖ）のうち、左側参照の動きベクトル（ＭｖＡ）を動きベクトル予測値算出部１６０およびデブロッキングモードパラメータ決定部１８１に供給する。また、動きベクトルバッファ２００は、保持されている動きベクトル（Ｍｖ）のうち、上側参照の動きベクトル（ＭｖＢ）を動きベクトル予測値算出部１６０およびデブロッキングモードパラメータ決定部１８２に供給する。なお、動きベクトルバッファ２００における保持内容については、図２、図６乃至図１３を参照して詳細に説明する。また、動きベクトルバッファ２００は、特許請求の範囲に記載の動きベクトル保持部の一例である。
【００２６】
動きベクトル予測値算出部１６０は、動きベクトルバッファ２００に保持されている動きベクトル（Ｍｖ）を用いて、対象マクロブロックの動きベクトル予測値（Ｍｖｐ）を算出するものである。この算出には、動きベクトルバッファ２００に保持されている動きベクトル（Ｍｖ）のうち、左上参照の動きベクトル（ＭｖＣ）と、左側参照の動きベクトル（ＭｖＡ）と、上側参照の動きベクトル（ＭｖＢ）とが用いられる。また、動きベクトル予測値算出部１６０は、対象マクロブロックの構造（フレーム構造またはフィールド構造）に応じてロードすべき動きベクトルを変更する。そして、動きベクトル予測値算出部１６０は、これらの３つの動きベクトルから、Ｘ軸およびＹ軸のそれぞれの中央値を選択し、この選択された中央値を動きベクトル予測値（Ｍｖｐ）として、動きベクトル予測値補正部１７０に出力する。なお、動きベクトル予測値の算出方法については、図４等を参照して詳細に説明する。
【００２７】
動きベクトル予測値補正部１７０は、動きベクトル予測値算出部１６０から出力された動きベクトル予測値（Ｍｖｐ）について、対象マクロブロックに応じた補正処理を行う演算器である。すなわち、動きベクトルバッファ２００に保持されている動きベクトル（Ｍｖ）は、フレーム構造に対応するものであるため、対象マクロブロックに応じた補正処理が必要となる。具体的には、動きベクトル予測値補正部１７０は、対象マクロブロックがフィールド構造である場合には、動きベクトル予測値算出部１６０から出力された動きベクトル予測値（Ｍｖｐ）のＹ軸成分の値を２倍する。これにより、そのＹ軸成分がフレーム構造になるように補正される。一方、動きベクトル予測値補正部１７０は、対象マクロブロックがフレーム構造である場合には、動きベクトル予測値算出部１６０から出力された動きベクトル予測値（Ｍｖｐ）についての補正を行わない。そして、動きベクトル予測値補正部１７０は、対象マクロブロックに応じた補正処理が施された動きベクトル予測値（Ｍｖｐ）を加算器１２０に出力する。なお、算術復号化処理部１１０、加算器１２０、動きベクトル予測値算出部１６０および動きベクトル予測値補正部１７０は、特許請求の範囲に記載の動きベクトル算出部の一例である。すなわち、これらにより、対象マクロブロックペアの構造に応じて、動きベクトルバッファ２００から参照動きベクトルが読み出され、この読み出された参照動きベクトルに基づいて対象マクロブロックペアの動きベクトルが算出される。
【００２８】
デブロッキングモードパラメータ決定部１８１は、対象マクロブロックの垂直方向のデブロック強度パラメータ（ＢｓＶ）を決定するものである。具体的には、動きベクトル補正部１３０から出力された動きベクトル（Ｍｖ）と、動きベクトルバッファ２００に保持されている左側参照の動きベクトル（ＭｖＡ）とを用いて、そのデブロック強度パラメータ（ＢｓＶ）が決定される。そして、デブロッキングモードパラメータ決定部１８１は、決定されたデブロック強度パラメータ（ＢｓＶ）を信号線１９３を介してデブロッキングモード処理部（図示せず）に出力する。
【００２９】
デブロッキングモードパラメータ決定部１８２は、対象マクロブロックの水平方向のデブロック強度パラメータ（ＢｓＨ）を決定するものである。具体的には、動きベクトル補正部１３０から出力された動きベクトル（Ｍｖ）と、動きベクトルバッファ２００に保持されている上側参照の動きベクトル（ＭｖＢ）とを用いて、そのデブロック強度パラメータ（ＢｓＨ）が決定される。そして、デブロッキングモードパラメータ決定部１８２は、決定されたデブロック強度パラメータ（ＢｓＨ）を信号線１９４を介してデブロッキングモード処理部（図示せず）に出力する。
【００３０】
ここで、デブロック強度パラメータの決定方法について説明する。対象マクロブロックがインターマクロブロックであり、かつ、Ｌｕｍａの直行変換係数を持たないブロック間のデブロックパラメータは、それぞれのブロックの動きベクトルのｘ成分およびｙ成分の差分絶対値により決定される。
【００３１】
すなわち、｜ＭｖＡｘ−Ｍｖｘ｜＜ｔｈｘ、かつ、｜ＭｖＡｙ−Ｍｖｙ｜＜ｔｈｙを満たす場合には、ＢｓＶ＝０が決定される。一方、｜ＭｖＡｘ−Ｍｖｘ｜＜ｔｈｘ、かつ、｜ＭｖＡｙ−Ｍｖｙ｜＜ｔｈｙを満たさない場合には、ＢｓＶ＝１が決定される。
【００３２】
なお、ＭｖＡｘは、左側参照の動きベクトル（ＭｖＡ）のＸ軸成分を示し、Ｍｖｘは、動きベクトル（Ｍｖ）のＸ軸成分を示す。また、ＭｖＡｙは、左側参照の動きベクトル（ＭｖＡ）のＹ軸成分を示し、Ｍｖｙは、動きベクトル（Ｍｖ）のＹ軸成分を示す。
【００３３】
また、｜ＭｖＢｘ−Ｍｖｘ｜＜ｔｈｘ、かつ、｜ＭｖＢｙ−Ｍｖｙ｜＜ｔｈｙを満たす場合には、ＢｓＨ＝０が決定される。一方、｜ＭｖＢｘ−Ｍｖｘ｜＜ｔｈｘ、かつ、｜ＭｖＢｙ−Ｍｖｙ｜＜ｔｈｙを満たさない場合には、ＢｓＨ＝１が決定される。
【００３４】
なお、ＭｖＢｘは、上側参照の動きベクトル（ＭｖＢ）のＸ軸成分を示し、ＭｖＢｙは、上側参照の動きベクトル（ＭｖＢ）のＹ軸成分を示す。
【００３５】
また、ｔｈｘおよびｔｈｙは、閾値であり、対象マクロブロックの構造に応じて変更される。具体的には、対象マクロブロックがフレーム構造である場合には、閾値ｔｈｘ＝４、ｔｈｙ＝４である。一方、対象マクロブロックがフィールド構造である場合には、閾値ｔｈｘ＝４、ｔｈｙ＝２である。
【００３６】
ここで、上述したように、本発明の第１の実施の形態では、動きベクトル補正部１３０から出力された動きベクトル（Ｍｖ）と、動きベクトルバッファ２００に保持されている左側参照の動きベクトル（ＭｖＡ）とをフレーム構造としている。このため、対象マクロブロックの構造に応じて、閾値ｔｈｘおよびｔｈｙを変更する必要がない。すなわち、対象マクロブロックがフレーム構造およびフィールド構造の何れの場合でも、閾値ｔｈｘ＝４、ｔｈｙ＝４を用いて、デブロック強度パラメータを決定することができるため、デブロッキングモード処理を迅速に行うことができる。なお、デブロッキングモードパラメータ決定部１８１および１８２は、特許請求の範囲に記載の決定部の一例である。
【００３７】
［動きベクトルバッファの保持内容例］
図２は、本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル（Ｍｖ）の保持内容を模式的に示す図である。動きベクトルバッファ２００には、各フレームにおける水平方向の動きベクトル（Ｍｖ）を保持する動きベクトル保持領域２１０と、垂直方向の動きベクトル（Ｍｖ）を保持する動きベクトル保持領域２２０とが設けられている。図２（ａ）には動きベクトル保持領域２１０を示し、図２（ｂ）には動きベクトル保持領域２２０を示す。
【００３８】
動きベクトル保持領域２１０は、対象マクロブロックの上側参照の動きベクトル（ＭｖＢ）と、左上参照ベクトル（ＭｖＣ）とを保持する保持領域（Ｈｂｕｆ）である。具体的には、動きベクトル保持領域２１０において、マクロブロックペアに関する動きベクトル（Ｍｖ）を保持する領域を１ユニットとし、このユニットが、ストリームを構成する１フレームに含まれるマクロブロックの水平方向の数＋１だけ連続して構成される。なお、マクロブロックペアは、垂直方向（上下方向）において隣接する２つのマクロブロックにより構成される単位である。図２（ａ）に示す例では、動きベクトル保持領域２１０において、１マクロブロックペアについて、１ユニットに８つの動きベクトル（Ｍｖ）を保持する例を示す。また、図２（ａ）では、動きベクトル保持領域２１０において、各ユニットを太線の枠で囲んで示す。
【００３９】
ここで、各ユニットにおける上側の４つの保持領域（白塗りの矩形で示す）は、トップフィールドの動きベクトル（Ｍｖ）の保持領域として使用される。また、各ユニットにおける下側の４つの保持領域（内部に斜線を付した矩形で示す）は、ボトムフィールドの動きベクトル（Ｍｖ）の保持領域として使用される。
【００４０】
また、ストリームを構成する１フレームに含まれるマクロブロックの水平方向の数をＮ（Ｎは整数）とする場合に、１フレームにおけるマクロブロックの水平方向の位置をｎ（１≦ｎ≦Ｎ）とする。例えば、１フレームにおける水平方向のマクロブロックの１ラインにおいて、一の端部（例えば、左側の端部）の位置を１とし、他の端部（例えば、右側の端部）の位置をＮとする。そして、一の端部（例えば、左側の端部）の位置から順次、１乃至Ｎを示すユニットとして説明する。例えば、１フレームにおける水平方向のマクロブロックの１ラインにおいて、位置がｎであるマクロブロックに対応する動きベクトル保持領域２１０のユニットについては、Ｈｂｕｆ［ｎ］を付して説明する。
【００４１】
また、本発明の第１の実施の形態では、１フレームに含まれるマクロブロックの水平方向の数＋１だけ連続してユニットを構成するため、残りのユニット（図２（ａ）に示す左端）については、Ｈｂｕｆ［−１］を付して説明する。Ｈｂｕｆ［−１］については、図６、図７等を参照して詳細に説明する。
【００４２】
動きベクトル保持領域２２０は、対象マクロブロックについて、左側参照の動きベクトル（ＭｖＡ）として所定数の動きベクトルを保持する保持領域（Ｖｂｕｆ）である。図２（ｂ）に示す例では、動きベクトル保持領域２２０において、マクロブロックペアについて、８つの動きベクトルを保持する例を示す。ここで、動きベクトル保持領域２２０における上側の４つの保持領域（白塗りの矩形で示す）は、トップマクロブロックの動きベクトルの保持領域として使用される。また、動きベクトル保持領域２２０における下側の４つの保持領域（内部に斜線を付した矩形で示す）は、ボトムマクロブロックの動きベクトルの保持領域として使用される。また、図２（ｂ）では、動きベクトル保持領域２２０において、各保持領域を太線の枠で囲んで示す。
【００４３】
ここで、上述したように、動きベクトル補正部１３０により動きベクトル（Ｍｖ）のＹ軸成分がフレーム構造になるように補正処理がされている。このため、動きベクトルバッファ２００における各動きベクトルは、フレーム構造の状態で保持されている。次に、動きベクトルのＹ軸成分をフレーム構造に固定化することの効果について説明する。
【００４４】
［動きベクトルのＹ軸成分の補正例］
図３は、本発明の第１の実施の形態における動きベクトル補正部１３０により動きベクトルのＹ軸成分の補正処理を行う場合における処理の流れを模式的に示す図である。図３では、処理対象となるマクロブロックペア（対象マクロブロックペア）について算出された動きベクトルが、動きベクトル補正部１３０により補正処理がされ、動きベクトルバッファ２００に保持されるまでの流れを簡略化して示す。また、図３（ａ）には、対象マクロブロックがフィールド構造である場合における補正例を示し、図３（ｂ）には、対象マクロブロックがフレーム構造である場合における補正例を示す。
【００４５】
ここで、動きベクトル予測処理を行う場合には、予測対象となる対象マクロブロックの周辺のマクロブロックにおいて算出された３つの動きベクトルを用いて動きベクトル予測値（Ｍｖｐ）が算出される。具体的には、動きベクトル予測値算出部１６０が、対象マクロブロックの周辺のマクロブロックにおいて算出された３つの動きベクトルについて、それぞれのＸ軸成分およびＹ軸成分の中央値を選択する。そして、動きベクトル予測値算出部１６０が、その選択された中央値を用いて動きベクトル予測値（Ｍｖｐ）を算出する。
【００４６】
ここで、対象マクロブロックの周辺のマクロブロックにおいて算出された３つの動きベクトルについて、フレーム構造およびフィールド構造が混在している場合を想定する。この場合には、そのままの状態で、それぞれのＸ軸成分およびＹ軸成分の中央値を選択しても、正確な中央値を選択することができない。このため、３つの動きベクトルについて、フレーム構造およびフィールド構造が混在している場合には、一般に、動きベクトルの構造が同一となるように補正し、この補正後の動きベクトルを用いて、中央値が選択される。このように、３つの動きベクトルについて、フレーム構造およびフィールド構造が混在している場合には、動きベクトル予測処理を行う度に、動きベクトルの構造が同一となるように補正する必要がある。例えば、１つの動きベクトルについては、複数の対象マクロブロックにより参照される可能性がある。このように複数の対象マクロブロックにより参照される動きベクトルについて、参照される毎に補正処理を行うと、予測処理に係る効率が低下するおそれがある。
【００４７】
そこで、本発明の第１の実施の形態では、上述したように、動きベクトルバッファ２００に保持される動きベクトルについては、そのＹ軸成分の値を全てフレーム構造とする。
【００４８】
例えば、図３（ａ）に示すように、対象マクロブロック５０１がフレーム構造である場合には、対象マクロブロック５０１を構成するマクロブロックについて算出された動きベクトルについては、Ｘ軸成分およびＹ軸成分の何れについても補正しない。すなわち、動きベクトル補正部１３０が、マクロブロックについて算出された動きベクトルについて、Ｘ軸成分およびＹ軸成分の何れについても補正しない。そして、その動きベクトルが動きベクトルバッファ２００に保持される。
【００４９】
また、例えば、図３（ｂ）に示すように、対象マクロブロック５０２がフィールド構造である場合には、対象マクロブロック５０２を構成するマクロブロックについて算出された動きベクトルについては、Ｙ軸成分の値が補正される。すなわち、動きベクトル補正部１３０が、マクロブロックについて算出された動きベクトルについて、Ｙ軸成分の値を２倍にする補正を行い、Ｘ軸成分については補正しない。そして、補正後の動きベクトルが動きベクトルバッファ２００に保持される。
【００５０】
［動きベクトル予測値の算出例］
図４は、本発明の第１の実施の形態における動きベクトル予測値算出部１６０により動きベクトル予測を算出する場合における処理の流れを模式的に示す図である。図４では、動きベクトル予測値の算出対象となるマクロブロックについて、動きベクトルバッファ２００に保持されている動きベクトル（参照動きベクトル）を用いて動きベクトル予測値を算出する場合における流れを簡略化して示す。また、図４（ａ）には、対象マクロブロックがフレーム構造である場合における動きベクトル予測の算出例を示し、図４（ｂ）には、対象マクロブロックがフィールド構造である場合における動きベクトル予測の算出例を示す。
【００５１】
図３に示すように、動きベクトルバッファ２００に保持されている動きベクトル（参照動きベクトル）については、それぞれがフレーム構造に固定化されている。このため、対象マクロブロックがフレーム構造である場合において、その動きベクトル予測値を算出する場合には、図４（ａ）に示すように、動きベクトルバッファ２００に保持されている参照動きベクトル（ＭｖＡ乃至ＭｖＣ）の中央値を選択するのみでよい。すなわち、図４（ａ）に示すように、動きベクトル予測値算出部１６０が、動きベクトルバッファ２００に保持されている参照動きベクトル（ＭｖＡ乃至ＭｖＣ）の中央値を選択する選択処理により動きベクトル予測値が算出される。
【００５２】
また、対象マクロブロックがフィールド構造である場合において、その動きベクトル予測値を算出する場合には、図４（ｂ）に示すように、動きベクトルバッファ２００に保持されている参照動きベクトル（ＭｖＡ乃至ＭｖＣ）の中央値を選択する。そして、動きベクトル予測値補正部１７０が、選択された中央値のうち、Ｙ軸成分の値の補正処理を行い、補正後の値に基づいて動きベクトル予測値が算出される。
【００５３】
［動きベクトル予測処理におけるデータロード例］
図５は、本発明の第１の実施の形態における動きベクトル算出装置１００の動きベクトル予測処理時のデータの流れを模式的に示す図である。図５に示す例では、動きベクトルバッファ２００における動きベクトル保持領域２１０および動きベクトル保持領域２２０に保持されている動きベクトルを参照動きベクトルとして用いる例を示す。また、図５（ａ）には、対象マクロブロックペア５１１がフィールド構造である場合におけるデータロード例を示し、図５（ｂ）には、対象マクロブロックペア５１２がフレーム構造である場合におけるデータロード例を示す。なお、図５（ａ）では、動きベクトル保持領域２１０に保持されている参照動きベクトルのうち、ロードの対象となる領域を破線の矩形５１３で囲んで示す。また、図５（ｂ）では、動きベクトル保持領域２１０に保持されている参照動きベクトルのうち、ロードの対象となる領域を破線の矩形５１４で囲んで示す。
【００５４】
図５（ａ）および（ｂ）に示すように、対象マクロブロックペアがフィールド構造である場合と、フレーム構造である場合とにおいては、動きベクトル予測処理時におけるデータの流れが異なる。しかしながら、上述したように、動きベクトルバッファ２００に保持されている参照動きベクトルのＹ軸成分の値をフレーム構造に固定化するとともに、所定のアドレスに各参照動きベクトルを保持させている。このため、対象マクロブロックペアの構造に応じて、ロードすべきアドレスを固定化することができる。
【００５５】
なお、図５に示す例は、次の処理対象マクロブロックの構造が判別されている場合のデータの流れを示す。次の処理対象マクロブロックの構造が未知の場合のデータの流れについては、図１３を参照して詳細に説明する。
【００５６】
［動きベクトルバッファにおけるデータ更新例］
図６は、本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル保持領域２１０に保持される動きベクトル（Ｍｖ）の更新の流れを模式的に示す図である。図６（ａ）では、１フレームを構成するマクロブロックペアのうち、水平方向におけるｎ番目（左側からｎ番目）のマクロブロックペアを対象マクロブロックペアとする例を示す。また、図６（ｂ）乃至（ｄ）では、ｎ番目のマクロブロックペアの動きベクトル予測処理が終了してから、ｎ＋１番目のマクロブロックペアを対象マクロブロックとするまでの動きベクトル保持領域２１０のデータ更新の流れを示す。
【００５７】
例えば、ｎ番目のマクロブロックペアを対象マクロブロックとする場合には、動きベクトルバッファ２００における動きベクトル保持領域２１０のユニットＨｂｕｆ［ｎ−１］乃至［ｎ＋１］が、動きベクトル予測時における参照領域となる。具体的には、動きベクトル保持領域２１０のユニットＨｂｕｆ［ｎ］と、ユニットＨｂｕｆ［ｎ−１］および［ｎ＋１］の一部とが動きベクトル予測時における参照領域となる。すなわち、図６（ａ）に示す参照領域５２１（破線の矩形で囲まれた領域）に含まれる動きベクトル（Ｍｖ）が、図５に示すように、動きベクトル予測処理時に参照動きベクトルとして用いられる。
【００５８】
続いて、ｎ番目のマクロブロックペアの動きベクトル予測処理が終了した場合には、図６（ｂ）に示すように、動きベクトル保持領域２１０のユニットＨｂｕｆ［−１］に保持されている動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ−１］に移動される。すなわち、図６（ｂ）に示すように、ユニットＨｂｕｆ［−１］の右端（矩形５２２で囲まれた領域）に保持されている２つの動きベクトル（Ｍｖ）を、アドレス変換部１４０がユニットＨｂｕｆ［ｎ−１］の右端（破線の矩形５２３で囲まれた領域）に保持させる。
【００５９】
続いて、図６（ｃ）に示すように、ｎ番目のマクロブロックペアについて算出された動きベクトル（Ｍｖ）を、アドレス変換部１４０が、動きベクトル保持領域２１０のユニットＨｂｕｆ［ｎ］およびＨｂｕｆ［−１］に保持させる。具体的には、ｎ番目のマクロブロックペアについて算出された動きベクトル（Ｍｖ）が、破線の矩形５２４および５２５で囲まれた領域に保持される。この保持領域および動きベクトルの関係については、図７乃至図９を参照して詳細に説明する。
【００６０】
続いて、ｎ＋１番目のマクロブロックペアを対象マクロブロックペアとして動きベクトル予測処理が行われる。このように、ｎ＋１番目のマクロブロックペアを対象マクロブロックペアとする場合には、動きベクトルバッファ２００における動きベクトル保持領域２１０のユニットＨｂｕｆ［ｎ］乃至［ｎ＋２］が、動きベクトル予測時における参照領域となる。すなわち、図６（ｄ）に示す参照領域５２６（破線の矩形で囲まれた領域）に含まれる保持領域の動きベクトル（Ｍｖ）が、図５に示すように、動きベクトル予測時に参照動きベクトルとして用いられる。ｎ＋２番目以降のマクロブロックペアについても同様にして動きベクトル予測処理およびデータ更新処理が行われる。
【００６１】
［水平方向の動きベクトル保持領域のデータストア例］
図７乃至図９は、本発明の第１の実施の形態における動きベクトルバッファ２００の動きベクトル保持領域２１０に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。ここで、本発明の第１の実施の形態では、対象マクロブロックペアについて算出された動きベクトルのうち、この処理以降に参照対象となる動きベクトルを動きベクトル保持領域２１０および２２０に保持させる。この場合に、対象マクロブロックペアの構造（フレーム構造またはフィールド構造）に関わらず、フィールド構造となるように、動きベクトルを動きベクトル保持領域２１０および２２０に保持させる。
【００６２】
図７に示す例では、動きベクトルバッファ２００における動きベクトル保持領域２１０のＨｂｕｆ［ｎ−１］に、動きベクトル（Ｍｖ）を保持させる場合の流れを示す。なお、図７に示すＨｂｕｆ［ｎ−１］へのデータストア例は、対象マクロブロックペアの構造（フレーム構造またはフィールド構造）にかかわらず、同一処理となる。
【００６３】
図６（ｃ）に示すように、対象マクロブロックの直前に行われた動きベクトル算出処理により算出された動きベクトル（Ｍｖ）の一部（下端の右端の２つの動きベクトル）については、ユニットＨｂｕｆ［−１］に保持されている。このため、ユニットＨｂｕｆ［−１］のデータ更新を行う前に、図７に示すように、ユニットＨｂｕｆ［−１］に保持されている動きベクトル（Ｍｖ）をユニットＨｂｕｆ［ｎ−１］に移動させる。具体的には、ユニットＨｂｕｆ［−１］における保持領域３４１に保持されている動きベクトルが、ユニットＨｂｕｆ［ｎ−１］における保持領域３４３に移動され、保持領域３４２に保持されている動きベクトルが、保持領域３４４に移動される。
【００６４】
図８に示す例では、動きベクトルバッファ２００における動きベクトル保持領域２１０のユニットＨｂｕｆ［ｎ］に、動きベクトル（Ｍｖ）を保持させる場合の流れを示す。また、図８（ａ）には、対象マクロブロックペアがフィールド構造である場合におけるデータストア例を示し、図８（ｂ）には、対象マクロブロックペアがフレーム構造である場合におけるデータストア例を示す。
【００６５】
図８（ａ）に示すように、対象マクロブロックペア３００がフィールド構造である場合には、対象マクロブロックペア３００を構成するトップフィールドおよびボトムフィールドのそれぞれの動きベクトル（Ｍｖ）が動きベクトル保持領域２１０に保持される。図８（ａ）では、対象マクロブロックペア３００を構成するトップフィールドについては白塗りの矩形で示し、対象マクロブロックペア３００を構成するボトムフィールドについては内部に斜線を付した矩形で示す。
【００６６】
具体的には、対象マクロブロックペア３００がフィールド構造である場合には、トップフィールドおよびボトムフィールドのそれぞれの下端に位置するマクロブロック３０１乃至３０８について算出された動きベクトル（Ｍｖ）が保持対象となる。すなわち、動きベクトル補正部１３０が、マクロブロック３０１乃至３０８について算出された動きベクトル（Ｍｖ）のそれぞれについて、そのＹ軸成分の値を２倍に補正する。続いて、アドレス変換部１４０が、マクロブロック３０１乃至３０３、３０５乃至３０７のアドレスに基づいて、Ｙ軸成分の値が補正された動きベクトル（Ｍｖ）を、動きベクトル保持領域２１０におけるユニットＨｂｕｆ［ｎ］に保持させる。この場合に、マクロブロック３０１について算出され補正された動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ］における保持領域３１１に保持される。また、マクロブロック３０２について算出され補正された動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ］における保持領域３１２に保持される。同様に、マクロブロック３０３、３０５乃至３０７について算出され補正された動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ］における保持領域３１３、３１５乃至３１７に順次保持される。
【００６７】
ここで、ユニットＨｂｕｆ［ｎ］に保持された動きベクトル（Ｍｖ）のうち、右端に位置する保持領域３１４および３１８に保持された動きベクトル（Ｍｖ）については、次のマクロブロック処理において、左上参照として用いられる可能性がある。このため、マクロブロック３０１乃至３０８のうち、右端に位置するマクロブロック３０４および３０８について算出された２つの動きベクトル（Ｍｖ）については、ユニットＨｂｕｆ［ｎ］に保持させない。このマクロブロック３０４および３０８について算出された２つの動きベクトル（Ｍｖ）についての保持位置については、図９を参照して詳細に説明する。
【００６８】
また、図８（ｂ）に示すように、対象マクロブロックペアがフレーム構造である場合には、対象マクロブロックペア３２０において下端に位置するマクロブロックについて算出された動きベクトル（Ｍｖ）を動きベクトル保持領域２１０に保持させる。図８（ｂ）では、対象マクロブロックペア３２０を構成する各マクロブロックを白塗りの矩形で示す。
【００６９】
具体的には、対象マクロブロックペア３２０がフレーム構造である場合には、対象マクロブロックペア３２０において下端に位置するマクロブロック３２１乃至３２４について算出された動きベクトル（Ｍｖ）が保持対象となる。ただし、マクロブロック３２１乃至３２４について算出された動きベクトル（Ｍｖ）は、フレーム構造であるため、動きベクトル（Ｍｖ）の補正は行わない。すなわち、動きベクトル補正部１３０が、マクロブロック３２１乃至３２４について算出された動きベクトル（Ｍｖ）の補正を行わず、アドレス変換部１４０に出力する。続いて、アドレス変換部１４０が、マクロブロック３２１乃至３２３のアドレスに基づいて、各動きベクトル（Ｍｖ）を動きベクトル保持領域２１０におけるユニットＨｂｕｆ［ｎ］に保持させる。この場合に、マクロブロック３２１について算出され補正された動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ］における保持領域３３１および３３５に保持される。また、マクロブロック３２２について算出され補正された動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ］における保持領域３３２および３３６に保持される。また、マクロブロック３２３について算出され補正された動きベクトル（Ｍｖ）がユニットＨｂｕｆ［ｎ］における保持領域３３３および３３７に保持される。このように、対象マクロブロックペアがフレーム構造である場合には、ボトムフレームの動きベクトルのみが保持される。この場合、ボトムフレームの動きベクトルが、対象マクロブロックのトップおよびボトム両フィールドの参照動きベクトルとなり、トップフレームの動きベクトルは使用されない。
【００７０】
また、上述したように、ユニットＨｂｕｆ［ｎ］に保持された動きベクトル（Ｍｖ）のうち、右端に位置する保持領域３３４および３３８に保持された動きベクトル（Ｍｖ）については、次のマクロブロック処理において、左上参照として用いられる可能性がある。このため、マクロブロック３２１乃至３２４のうち、右端に位置するマクロブロック３２４について算出された動きベクトル（Ｍｖ）については、ユニットＨｂｕｆ［ｎ］に保持させない。このマクロブロック３２４について算出された動きベクトル（Ｍｖ）についての保持位置については、図９を参照して詳細に説明する。
【００７１】
図９に示す例では、動きベクトルバッファ２００における動きベクトル保持領域２１０のユニットＨｂｕｆ［−１］に、動きベクトル（Ｍｖ）を保持させる場合の流れを示す。また、図９（ａ）には、対象マクロブロックペア３００がフィールド構造である場合におけるデータストア例を示し、図９（ｂ）には、対象マクロブロックペア３２０がフレーム構造である場合におけるデータストア例を示す。なお、図９（ａ）に示す対象マクロブロックペア３００および図９（ｂ）に示す対象マクロブロックペア３２０については、図８に示すものと同一であるため、同一の符号を付して説明する。
【００７２】
上述したように、ユニットＨｂｕｆ［ｎ］に保持される動きベクトル（Ｍｖ）のうち、右端に位置する２つの保持領域に保持された動きベクトル（Ｍｖ）については、次のマクロブロック処理において、左上参照として用いられる可能性がある。
【００７３】
このため、図９（ａ）に示すように、マクロブロック３０１乃至３０８のうち、右端に位置するマクロブロック３０４および３０８について算出された２つの動きベクトル（Ｍｖ）については、ユニットＨｂｕｆ［−１］に保持させる。具体的には、マクロブロック３０４および３０８について算出された２つの動きベクトル（Ｍｖ）については、図７に示すデータ移動処理が行われた後に、ユニットＨｂｕｆ［−１］の保持領域３４１および３４２に保持される。
【００７４】
同様に、図９（ｂ）に示すように、マクロブロック３２１乃至３２４のうち、右端に位置するマクロブロック３２４について算出された動きベクトル（Ｍｖ）については、ユニットＨｂｕｆ［−１］に保持させる。具体的には、マクロブロック３２４について算出された動きベクトル（Ｍｖ）については、図７に示すデータ移動処理が行われた後に、ユニットＨｂｕｆ［−１］の保持領域３４１および３４２に保持される。
【００７５】
［垂直方向の動きベクトル保持領域のデータストア例］
図１０および図１１は、本発明の第１の実施の形態における動きベクトルバッファ２００に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。図１０および図１１に示す例は、次の処理対象となるマクロブロックの構造（フレーム構造またはフィールド構造）が判別されている場合に適用する例である。この例では、現在の処理対象となっているマクロブロックと、次の処理対象となるマクロブロックとの構造の組み合わせに応じて、図１０および図１１に示すように、４通りのデータストア処理のうち何れかが実行される。
【００７６】
図１０に示す例では、対象マクロブロックペア４００がフィールド構造である場合において、動きベクトルバッファ２００における動きベクトル保持領域２２０に、動きベクトル（Ｍｖ）を保持させる場合の流れを示す。また、図１０（ａ）には、次の対象マクロブロックがフィールド構造である場合におけるデータストア例を示し、図１０（ｂ）には、次の対象マクロブロックがフレーム構造である場合におけるデータストア例を示す。
【００７７】
次の処理対象となるマクロブロックがフィールド構造である場合には、図１０（ａ）に示すように、動きベクトル補正部１３０が、Ｙ軸成分の値を補正する。そして、この補正後にそれぞれの動きベクトルが動きベクトル保持領域２２０に保持される。具体的には、対象マクロブロックペア４００を構成するマクロブロック４０１乃至４０８について算出された動きベクトルのＹ軸成分の値が補正され、動きベクトル保持領域２２０の保持領域２２１乃至２２８に保持される。この場合には、マクロブロック４０１について算出され補正された動きベクトルが、動きベクトル保持領域２２０の保持領域２２１に保持される。また、マクロブロック４０２について算出され補正された動きベクトルが、動きベクトル保持領域２２０の保持領域２２２に保持される。以降も同様に、マクロブロック４０１乃至４０８の垂直方向の並び順に従って、マクロブロック４０３乃至４０８について算出され補正された各動きベクトルが、動きベクトル保持領域２２０の保持領域２２３乃至２２８に保持される。
【００７８】
また、次の処理対象となるマクロブロックがフレーム構造である場合には、図１０（ｂ）に示すように、動きベクトル補正部１３０が、Ｙ軸成分の値を補正する。そして、この補正後にそれぞれの動きベクトルが動きベクトル保持領域２２０に保持される。具体的には、対象マクロブロックペア４００を構成するマクロブロック４０１乃至４０４について算出された動きベクトルのＹ軸成分の値が補正され、動きベクトル保持領域２２０の保持領域２２１乃至２２８に保持される。この場合には、マクロブロック４０１について算出され補正された動きベクトルが、動きベクトル保持領域２２０の保持領域２２１および２２２に保持される。また、マクロブロック４０２について算出され補正された動きベクトルが、動きベクトル保持領域２２０の保持領域２２３および２２４に保持される。以降も同様に、マクロブロック４０１乃至４０４の垂直方向の並び順に従って、マクロブロック４０３および４０４について算出され補正された各動きベクトルが、動きベクトル保持領域２２０の保持領域２２５乃至２２８に保持される。このように、次の処理対象となるマクロブロックがフレーム構造である場合には、トップフィールドの動きベクトルが対照マクロブロックのトップおよびボトム両フレームの参照動きベクトルとなり、ボトムフィールドの動きベクトルは使用されない。
【００７９】
図１１に示す例では、対象マクロブロックペア４２０がフレーム構造である場合において、動きベクトルバッファ２００における動きベクトル保持領域２２０に、動きベクトル（Ｍｖ）を保持させる場合の流れを示す。また、図１１（ａ）には、次の対象マクロブロックがフレーム構造である場合におけるデータストア例を示し、図１１（ｂ）には、次の対象マクロブロックがフィールド構造である場合におけるデータストア例を示す。
【００８０】
次の処理対象となるマクロブロックがフレーム構造である場合には、図１１（ａ）に示すように、動きベクトル補正部１３０によりＹ軸成分の値が補正されず、それぞれの動きベクトルが動きベクトル保持領域２２０に保持される。具体的には、対象マクロブロックペア４２０を構成するマクロブロック４２１乃至４２８について算出された動きベクトルが、動きベクトル保持領域２２０の保持領域２２１乃至２２８に保持される。すなわち、図１０（ａ）と同様に、マクロブロック４２１乃至４２８の垂直方向の並び順に従って、マクロブロック４２１乃至４２８について算出された各動きベクトルが、動きベクトル保持領域２２０の保持領域２２３乃至２２８に保持される。
【００８１】
次の処理対象となるマクロブロックがフィールド構造である場合には、図１１（ｂ）に示すように、動きベクトル補正部１３０によりＹ軸成分の値が補正されず、それぞれの動きベクトルが動きベクトル保持領域２２０に保持される。具体的には、対象マクロブロックペア４２０を構成するマクロブロック４２１、４２３、４２５、４２７について算出された動きベクトルが、動きベクトル保持領域２２０の保持領域２２１乃至２２８に保持される。この場合には、マクロブロック４２１について算出された動きベクトルが、動きベクトル保持領域２２０の保持領域２２１および２２５に保持される。また、マクロブロック４２３について算出された動きベクトルが、動きベクトル保持領域２２０の保持領域２２２および２２６に保持される。また、マクロブロック４２５について算出された動きベクトルが、動きベクトル保持領域２２０の保持領域２２３および２２７に保持される。また、マクロブロック４２７について算出された動きベクトルが、動きベクトル保持領域２２０の保持領域２２４および２２８に保持される。このように、次の処理対象となるマクロブロックがフィールド構造である場合には、使用されない動きベクトルもある。
【００８２】
図１２は、本発明の第１の実施の形態における動きベクトルバッファ２００に動きベクトル（Ｍｖ）を保持させる場合の流れを模式的に示す図である。図１２に示す例は、次の処理対象となるマクロブロックの構造（フレーム構造またはフィールド構造）が判別されていない場合（未知の場合）に適用する例である。このように、次の処理対象となるマクロブロックの構造が未知の場合には、次に処理対象となるマクロブロックが現在の処理対象となっているマクロブロックと同一のフレーム・フィールド構造であると仮定して処理を進める。このため、現在の処理対象となっているマクロブロックに応じて、図１２に示すように、２通りのデータストア処理のうち何れかが実行される。
【００８３】
図１２（ａ）には、現在の対象マクロブロックペア４００がフィールド構造である場合におけるデータストア例を示し、図１２（ｂ）には、現在の対象マクロブロックペア４２０がフレーム構造である場合におけるデータストア例を示す。なお、図１２（ａ）に示す例は、図１０（ａ）に示す例と同一であり、図１２（ｂ）に示す例は、図１１（ａ）に示す例と同一である。このため、ここでの詳細な説明を省略する。
【００８４】
［次の処理対象マクロブロックの構造が未知の場合の動きベクトル予測処理におけるデータロード例］
図１３は、本発明の第１の実施の形態における動きベクトル算出装置１００の動きベクトル予測処理時のデータの流れを模式的に示す図である。図１３に示す例は、図５に示す例の変形例であり、動きベクトルバッファ２００における動きベクトル保持領域２２０に保持されている動きベクトルの流れのみを示す。また、図１３（ａ）には、直前のマクロブロックの構造がフレーム構造であり、次の処理対象マクロブロックペア４５１がフィールド構造である場合におけるデータロード例を示す。また、図１３（ｂ）には、直前のマクロブロックの構造がフィールド構造であり、次の処理対象マクロブロックペア４５２がフレーム構造である場合におけるデータロード例を示す。
【００８５】
次の処理対象マクロブロックの構造が未知であり、図１２に示すデータストア処理が行われた場合に、次の処理対象マクロブロックの予測処理が進み、マクロブロックの構造（フレーム構造またはフィールド構造）が判別された場合を想定する。この場合には、予測対象のマクロブロックと、左参照マクロブロックとの構造（フレーム構造またはフィールド構造）が異なる場合にのみ、図１３に示すように、垂直方向の参照動きベクトルのロード方法を変化させる。
【００８６】
このように、垂直方向の参照動きベクトルについて、予測対象のマクロブロックと、参照マクロブロックとの構造が異なる場合にのみロード方法を変更することにより、同一構造のマクロブロックが連続する場合に処理速度を速めることができる。例えば、フレーム構造またはフィールド構造は、一定の領域内では同一であることが想定されるため、動きベクトルの予測処理時における動きベクトルの算出処理をさらに迅速に行うことができる。
【００８７】
［デブロッキングモード処理におけるデータロード例］
図１４は、本発明の第１の実施の形態におけるデブロッキングモード処理におけるデータの流れを模式的に示す図である。動きベクトルバッファ２００に保持されている動きベクトル（Ｍｖ）については、デブロッキングモード処理においても用いることができる。図１４に示す例では、動きベクトルバッファ２００における動きベクトル保持領域２１０および動きベクトル保持領域２２０に保持されている動きベクトルをデブロッキングモード処理に用いる例を示す。また、図１４（ａ）には、対象マクロブロックペア４６１がフィールド構造である場合におけるデータロード例を示し、図１４（ｂ）には、対象マクロブロックペア４７１がフレーム構造である場合におけるデータロード例を示す。なお、図１４（ａ）では、動きベクトル保持領域２１０に保持されている参照動きベクトルのうち、ロードの対象となる領域を破線の矩形４６２で囲んで示す。また、図１４（ｂ）では、動きベクトル保持領域２１０に保持されている参照動きベクトルのうち、ロードの対象となる領域を破線の矩形４７２で囲んで示す。
【００８８】
図１４（ａ）および（ｂ）に示すように、対象マクロブロックペアがフィールド構造である場合と、フレーム構造である場合とにおいては、図５に示す動きベクトル予測処理時と同様にデータの流れが異なる。しかしながら、上述したように、動きベクトルバッファ２００に保持されている参照動きベクトルのＹ軸成分の値をフレーム構造に固定化するとともに、所定のアドレスに各参照動きベクトルを保持させている。このため、図５に示す動きベクトル予測処理時と同様に、対象マクロブロックペアの構造に応じて、ロードすべきアドレスを固定化することができる。
【００８９】
このように、マクロブロック境界の動きベクトルは、動きベクトルの予測処理において使用される参照動きベクトルと略同一のものである。このため、デブロッキングモード処理時における動きベクトルへのアクセスコストを低減させることができる。また、デブロッキングモード処理時のアドレス変換を不要にすることにより、デブロッキングモード処理を高速に実行することができる。
【００９０】
また、マクロブロックの構造（フレーム構造またはフィールド構造）は、デブロッキングモード処理にも影響するが、参照動きベクトルはフレーム予測処理の値に固定されているため、マクロブロック構造の判定処理を不要とすることができる。
【００９１】
［撮像装置の動作例］
図１５は、本発明の第１の実施の形態における動きベクトル算出装置１００による動画復号処理の処理手順を示すフローチャートである。
【００９２】
最初に、ストリームが入力される（ステップＳ９０１）。続いて、動きベクトル算出処理が行われる（ステップＳ９１０）。この動きベクトル算出処理については、図１６を参照して詳細に説明する。なお、ステップＳ９１０は、特許請求の範囲に記載の動きベクトル算出手順の一例である。
【００９３】
続いて、算出された動きベクトルが出力される（ステップＳ９０２）。続いて、データストア処理が行われる（ステップＳ９３０）。このデータストア処理については、図１７を参照して詳細に説明する。
【００９４】
続いて、デブロッキングモードパラメータ決定部１８１および１８２が、対象マクロブロックのデブロック強度パラメータ（ＢｓＶ、ＢｓＨ）を決定する（ステップＳ９０３）。続いて、決定されたデブロック強度パラメータ（ＢｓＶ、ＢｓＨ）を用いてデブロッキングモード処理が行われる（ステップＳ９０４）。
【００９５】
図１６は、本発明の第１の実施の形態における動きベクトル算出装置１００による動画復号処理の処理手順のうちの動きベクトル算出処理（図１５に示すステップＳ９１０の処理手順）を示すフローチャートである。
【００９６】
最初に、算術復号化処理部１１０が、入力されたストリームについて算術復号化処理を行い、動きベクトル予測値との差分値（Ｍｖｄ）を求める（ステップＳ９１１）。続いて、対象マクロブロックがフィールド構造であるか否かが判断される（ステップＳ９１２）。
【００９７】
対象マクロブロックがフィールド構造である場合には（ステップＳ９１２）、動きベクトル予測値算出部１６０が、動きベクトルバッファ２００からフィールド構造に対応する参照動きベクトルをロードする（ステップＳ９１３）。続いて、動きベクトル予測値算出部１６０が、そのロードされた参照動きベクトルに基づいて、対象マクロブロックの動きベクトル予測値（Ｍｖｐ）を算出する（ステップＳ９１４）。
【００９８】
続いて、動きベクトル予測値補正部１７０が、算出された動きベクトル予測値（Ｍｖｐ）のＹ軸成分の値を２倍にする補正を行う（ステップＳ９１５）。続いて、加算器１２０が、算出された差分値（Ｍｖｄ）と、補正後の動きベクトル予測値（Ｍｖｐ）とを加算して、対象マクロブロックの動きベクトル（Ｍｖ）を算出する（ステップＳ９１６）。
【００９９】
また、対象マクロブロックがフレーム構造である場合には（ステップＳ９１２）、動きベクトル予測値算出部１６０が、動きベクトルバッファ２００からフレーム構造に対応する参照動きベクトルをロードする（ステップＳ９１７）。続いて、動きベクトル予測値算出部１６０が、そのロードされた参照動きベクトルに基づいて、対象マクロブロックの動きベクトル予測値（Ｍｖｐ）を算出する（ステップＳ９１８）。
【０１００】
続いて、加算器１２０が、算出された差分値（Ｍｖｄ）と、算出された動きベクトル予測値（Ｍｖｐ）とを加算して、対象マクロブロックの動きベクトル（Ｍｖ）を算出する（ステップＳ９１９）。
【０１０１】
図１７は、本発明の第１の実施の形態における動きベクトル算出装置１００による動画復号処理の処理手順のうちのデータストア処理（図１５に示すステップＳ９３０の処理手順）を示すフローチャートである。
【０１０２】
最初に、動きベクトル（Ｍｖ）が算出された対象マクロブロックがフィールド構造であるか否かが判断される（ステップＳ９３１）。対象マクロブロックがフィールド構造である場合には（ステップＳ９３１）、動きベクトル補正部１３０が、算出された動きベクトル（Ｍｖ）のＹ軸成分の値を２倍にする補正を行う（ステップＳ９３２）。なお、ステップＳ９３２は、特許請求の範囲に記載の動きベクトル補正手順の一例である。続いて、アドレス変換部１４０が、フィールド構造に対応するアドレスに基づいて、補正後の動きベクトル（Ｍｖ）を動きベクトルバッファ２００の動きベクトル保持領域２１０に保持させる（ステップＳ９３３）。
【０１０３】
続いて、次の処理対象となるマクロブロックの構造がフィールド構造であるか否かが判断される（ステップＳ９３４）。次の処理対象となるマクロブロックがフィールド構造である場合には（ステップＳ９３４）、フィールド構造からフィールド構造へのアドレス（例えば、図１０（ａ）に示す）に基づいて、補正後の動きベクトル（Ｍｖ）が保持される（ステップＳ９３５）。すなわち、アドレス変換部１４０が、フィールド構造からフィールド構造へのアドレスに基づいて、補正後の動きベクトル（Ｍｖ）を動きベクトルバッファ２００の動きベクトル保持領域２２０に保持させる（ステップＳ９３３）。
【０１０４】
一方、次の処理対象となるマクロブロックがフレーム構造である場合には（ステップＳ９３４）、フィールド構造からフレーム構造へのアドレス（例えば、図１０（ｂ）に示す）に基づいて、補正後の動きベクトル（Ｍｖ）が保持される（ステップＳ９３６）。すなわち、アドレス変換部１４０が、フィールド構造からフレーム構造へのアドレスに基づいて、補正後の動きベクトル（Ｍｖ）を動きベクトルバッファ２００の動きベクトル保持領域２２０に保持させる（ステップＳ９３６）。
【０１０５】
また、対象マクロブロックがフレーム構造である場合には（ステップＳ９３１）、フレーム構造に対応するアドレスに基づいて動きベクトル（Ｍｖ）が保持される（ステップＳ９３７）。すなわち、アドレス変換部１４０が、フレーム構造に対応するアドレスに基づいて動きベクトル（Ｍｖ）を動きベクトルバッファ２００の動きベクトル保持領域２１０に保持させる（ステップＳ９３７）。
【０１０６】
続いて、次の処理対象となるマクロブロックの構造がフィールド構造であるか否かが判断される（ステップＳ９３８）。次の処理対象となるマクロブロックがフィールド構造である場合には（ステップＳ９３８）、フレーム構造からフィールド構造へのアドレス（例えば、図１１（ｂ）に示す）に基づいて、補正後の動きベクトル（Ｍｖ）が保持される（ステップＳ９３９）。すなわち、アドレス変換部１４０が、フレーム構造からフィールド構造へのアドレスに基づいて、補正後の動きベクトル（Ｍｖ）を動きベクトルバッファ２００の動きベクトル保持領域２２０に保持させる（ステップＳ９３９）。
【０１０７】
一方、次の処理対象となるマクロブロックがフレーム構造である場合には（ステップＳ９３８）、フレーム構造からフレーム構造へのアドレス（例えば、図１１（ａ）に示す）に基づいて、補正後の動きベクトル（Ｍｖ）が保持される（ステップＳ９４０）。すなわち、アドレス変換部１４０が、フレーム構造からフレーム構造へのアドレスに基づいて、補正後の動きベクトル（Ｍｖ）を動きベクトルバッファ２００の動きベクトル保持領域２２０に保持させる（ステップＳ９４０）。なお、ステップＳ９３３、Ｓ９３５、Ｓ９３６、Ｓ９３７、Ｓ９３９、Ｓ９４０は、特許請求の範囲に記載の保持手順の一例である。
【０１０８】
＜２．第２の実施の形態＞
本発明の第１の実施の形態では、対象マクロブロックの周辺に位置するマクロブロックの動きベクトルを参照して、対象マクロブロックの動きベクトルを算出する例を示した。本発明の第２の実施の形態では、対象マクロブロックのフレームとは異なる他のフレーム（参照フレーム）を構成するマクロブロックの動きベクトルを参照して、対象マクロブロックの動きベクトルを算出する例（いわゆる、ダイレクトモード）を示す。
【０１０９】
一般に、参照フレームの動きベクトルの構造（フレーム構造またはフィールド構造）が、対象マクロブロックの構造と異なる場合には、参照フレームの動きベクトルのＹ軸成分の値の補正が必要になる。例えば、参照フレームの動きベクトルの構造がフィールド構造であり、対象マクロブロックの構造がフレーム構造である場合には、参照フレームの動きベクトルのＹ軸成分の値を２倍にする補正が必要になる。同様に、例えば、参照フレームの動きベクトルの構造がフレーム構造であり、対象となるマクロブロックの構造がフィールド構造である場合には、参照フレームの動きベクトルのＹ軸成分の値を１／２倍にする補正が必要になる。
【０１１０】
図１８は、本発明の第２の実施の形態におけるダイレクトモード処理時における参照フレームの動きベクトルの補正方法を模式的に示す図である。本発明の第２の実施の形態では、本発明の第１の実施の形態で示した動きベクトルの予測処理で用いる参照動きベクトル（フレーム構造に対応するように補正された動きベクトル）をダイレクトモード処理において用いる。これにより、補正処理を簡略化することができる。
【０１１１】
例えば、参照フレームの動きベクトル（ＭｖＣｏｌ（アンカーブロックの動きベクトル））の構造がフィールド構造であり、対象マクロブロックの構造がフレーム構造である場合を想定する。この場合には、フレーム構造に対応するように補正された動きベクトル６０１を用いることにより、図１８（ａ）に示すように、ダイレクトモード処理における補正が不要となる。すなわち、参照フレームの動きベクトル６０２を用いることができる。
【０１１２】
なお、参照フレームの動きベクトルの構造がフレーム構造であり、対象マクロブロックの構造がフィールド構造である場合には、図１８（ｂ）に示すように、参照フレームの動きベクトルのＹ軸成分の値を１／２倍にする補正が必要になる。すなわち、補正後の動きベクトル６１２を用いる。
【０１１３】
ここで、動きベクトルは、１マクロブロックあたり最大で３２本使用される（すなわち、４×４ブロック毎に適用可能であり、２面予測である場合には３２本となる）。このため、ダイレクトモード処理時に参照に使用されるフレームでは、１フレーム分の動きベクトルを全て保持する場合には、非常に大きなメモリ容量が必要となる。そこで、本発明の第２の実施の形態では、周辺マクロブロックとして参照される動きベクトルとして、本発明の第１の実施の形態で示したように、参照に必要な動きベクトルのみを動きベクトルバッファ２００に保持する。これにより、メモリの使用効率を向上させることができ、キャッシュのような高速メモリの使用が可能となる。
【０１１４】
以上で示したように、本発明の実施の形態によれば、Ｈ．２６４の動きベクトルの予測処理、および、デブロックモード処理において、参照動きベクトルのロード時のアドレス変換を不要にすることにより、動きベクトルを高速に算出することができる。
【０１１５】
また、例えば、フレーム構造からフィールド構造への補正については、正負対称に切捨てを行う必要があり、右シフト演算ではないため、演算コストが高くなる。これに対して、動きベクトルバッファ２００に保持される参照動きベクトルのＹ軸成分の値は、フレーム構造に固定するため、フィールド構造からフレーム構造への補正処理を行う。この補正処理は左シフト演算とすることができるため、演算コストを大幅に低減させることができる。
【０１１６】
また、動きベクトルバッファ２００に保持される参照動きベクトルのＹ軸成分の値をフレーム構造に固定することにより、参照動きベクトルの補正回数を削減することができる。また、補正処理（例えば、条件分岐処理、正負対称切捨て処理）に対して、フレーム予測処理の値を固定化するための処理コストは非常に小さい。このため、補正処理を迅速に行うことができる。
【０１１７】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、本発明の実施の形態において明示したように、本発明の実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本発明の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【０１１８】
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disk）、メモリカード、ブルーレイディスク（Blu-ray Disc（登録商標））等を用いることができる。
【符号の説明】
【０１１９】
１００  動きベクトル算出装置
１１０  算術復号化処理部
１２０  加算器
１３０  動きベクトル補正部
１４０  アドレス変換部
１６０  動きベクトル予測値算出部
１７０  動きベクトル予測値補正部
１８１、１８２  デブロッキングモードパラメータ決定部
１９１〜１９４  信号線
２００  動きベクトルバッファ
【図１】
2011061273.tif 000003
【図２】
2011061273.tif 000004
【図３】
2011061273.tif 000005
【図４】
2011061273.tif 000006
【図５】
2011061273.tif 000007
【図６】
2011061273.tif 000008
【図７】
2011061273.tif 000009
【図８】
2011061273.tif 000010
【図９】
2011061273.tif 000011
【図１０】
2011061273.tif 000012
【図１１】
2011061273.tif 000013
【図１２】
2011061273.tif 000014
【図１３】
2011061273.tif 000015
【図１４】
2011061273.tif 000016
【図１５】
2011061273.tif 000017
【図１６】
2011061273.tif 000018
【図１７】
2011061273.tif 000019
【図１８】
2011061273.tif 000020