(57)【要約】      （修正有）【課題】イントラリフレッシュ符号化において、ＯＢＭＣを正常に動作させることが可能な動画像符号化プログラム及び動画像符号化装置を提供する。【解決手段】イントラスライスラインを複数のピクチャで巡回させるイントラリフレッシュ符号化において、第１の処理ブロックに対する参照ブロックの探索範囲を、符号化順で前にあるピクチャにおけるリフレッシュ境界よりも第２の処理ブロックのサイズ分、第１の処理ブロックに近い範囲に設定し、その探索範囲にて検出された動きベクトルと、処理ブロックの周辺ブロックで検出された動きベクトルとを加重平均して得た動きベクトルを用いて生成された予測データと、イントラスライスライン内の他のブロックを利用して生成された予測データとを用いて符号化する。【選択図】図５
2020113923.tif 000002
【特許請求の範囲】
【請求項１】
インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、イントラ予測符号化が行われるイントラスライスラインを、複数のピクチャで巡回させる符号化方式を用いて動画像を符号化する動画像符号化装置のコンピュータに実行させる動画像符号化プログラムであって、
第１の処理ブロックに対する参照ブロックの探索範囲を、前記第１の処理ブロックから、前記第１の処理ブロックが存在する第１のピクチャよりも符号化順で前にある第２のピクチャにおいて前記イントラスライスラインが通過したリフレッシュ済領域と前記イントラスライスラインが通過していない未リフレッシュ領域との境界であるリフレッシュ境界よりも第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定し、
前記探索範囲において前記第１の処理ブロックに対する第１の動きベクトルを検出し、さらに、前記第１の処理ブロックの周辺にある前記第２の処理ブロックで検出された第２の動きベクトルと前記第１の動きベクトルとを加重平均して前記第１の動きベクトルとし、
前記第１の動きベクトルと前記第２のピクチャとを用いて第１の予測データを生成し、前記第１のピクチャの前記イントラスライスライン内の他のブロックを利用して該イントラスライスライン内のブロックのおける第２の予測データを生成し、前記第１及び第２の予測データを用いて前記第１のピクチャを符号化する
処理を前記コンピュータに実行させる動画像符号化プログラム。
【請求項２】
前記イントラスライスラインを画像上垂直方向に巡回させるとき、前記参照ブロックの探索範囲を、前記第１の処理ブロックの下端から、前記リフレッシュ境界よりも前記第２の処理ブロックサイズ分、前記第１の処理ブロックに近い側までの範囲に設定することを特徴とする請求項１記載の動画像符号化プログラム。
【請求項３】
前記イントラスライスラインを画像上水平方向に巡回させるとき、前記参照ブロックの探索範囲を、前記第１の処理ブロックの右端から、前記リフレッシュ境界よりも前記第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定することを特徴とする請求項１記載の動画像符号化プログラム。
【請求項４】
前記参照ブロックの探索範囲を、前記第１の処理ブロックから、前記リフレッシュ境界よりも前記第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定することに代え、
前記第１の処理ブロックに対する前記第１の動きベクトルを検出する際に、前記参照ブロックが探索範囲を超えたとき、前記第２の動きベクトルとの加重平均を計算することなく、検出した前記第１の動きベクトルを用いて前記第１の予測データを生成し、
前記参照ブロックが探索範囲を超えないとき、前記第１の動きベクトルと前記第２の動きベクトルとを加重平均して前記第１の動きベクトルとして、該第１の動きベクトルを用いて前記第１の予測データを生成する、
ことを特徴とする請求項１記載の動画像符号化プログラム。
【請求項５】
インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、イントラ予測符号化が行われるイントラスライスラインを、複数のピクチャで巡回させる符号化方式を用いて動画像を符号化する動画像符号化装置において、
第１の処理ブロックに対する参照ブロックの探索範囲を、前記第１の処理ブロックから、前記第１の処理ブロックが存在する第１のピクチャよりも符号化順で前にある第２のピクチャにおいて前記イントラスライスラインが通過したリフレッシュ済領域と前記イントラスライスラインが通過していない未リフレッシュ領域との境界であるリフレッシュ境界よりも第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定する探索範囲制限部と、
前記探索範囲において前記第１の処理ブロックに対する第１の動きベクトルを検出し、さらに、前記第１の処理ブロックの周辺にある前記第２の処理ブロックで検出された第２の動きベクトルと前記第１の動きベクトルとを加重平均して前記第１の動きベクトルとする動きベクトル検出部と、
前記第１の動きベクトルと前記第２のピクチャとを用いて第１の予測データを生成し、前記第１のピクチャの前記イントラスライスライン内の他のブロックを利用して該イントラスライスライン内のブロックのおける第２の予測データを生成し、前記第１及び第２の予測データを用いて前記第１のピクチャを符号化する符号化部と
を備えることを特徴とする動画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像符号化プログラム、及び動画像符号化装置に関する。
【背景技術】
【０００２】
動画像の圧縮符号化技術については、例えば、ＩＳＯ／ＩＥＣ（International Organization for Standardization/International Electrotechnical Commission）による標準規格として、ＩＳＯ／ＩＥＣ  ２３００８−２（又はＩＴＵ−Ｔ（International Telecommunication Union Telecommunication Standardization Sector）  Ｈ．２６５  “Ｈｉｇｈ  ｅｆｆｉｃｉｅｎｃｙ  ｖｉｄｅｏ  ｃｏｄｉｎｇ”）（以下、「ＨＥＶＣ」と称する場合がある。）がある。ＨＥＶＣでは、４Ｋ（＝３８４０ライン×２１６０画素）画像や、８Ｋ（＝７６８０ライン×４３２０画素）画像に対する符号化方式などを規定している。
【０００３】
ＨＥＶＣによる符号化方式では、１画面（又はピクチャ）内で、イントラ予測モードとインター予測モードの２種類の予測モードをブロック単位に切り替えることができる。イントラ予測モードは、例えば、現在の符号化対象ピクチャ内から画像を空間方向に予測するモードである。また、インター予測モードは、例えば、現在の符号化対象ピクチャとは別のピクチャを用いて画像を時間方向に予測するモードである。例えば、符号化装置では、イントラ予測モードとインター予測モードの各コストを計算し、コストの少ない方の予測モードを選択することが可能である。
【０００４】
動画像符号化装置においては、イントラリフレッシュ（又はイントラスライス）方式による符号化方式（以下では、「イントラリフレッシュ方式」と称する場合がある。）が利用される場合がある。イントラリフレッシュ方式は、例えば、インター予測モードで符号化されるピクチャの一部をイントラ予測モードで符号化する符号化方式である。そして、イントラリフレッシュ方式では、イントラ予測モードで符号化される領域（又はイントラスライス）を、所定周期で複数のピクチャを用いて、巡回させるようにしている。
【０００５】
図１４（Ａ）と図１４（Ｂ）はイントラリフレッシュ方式の例を表す図である。このうち、図１４（Ａ）は、水平イントラリフレッシュ方式の例を表し、図１４（Ｂ）は垂直イントラリフレッシュ方式の例を表す。なお、図１４（Ａ）と図１４（Ｂ）において、横軸は時間ｔ方向を表す。
【０００６】
図１４（Ａ）に示す例では、イントラスライス２００が画面上、水平方向にあって、時間の経過とともに垂直方向（又は下方向）へ移動する例を表す。動画像符号化装置では、一定のリフレッシュ周期でピクチャ全体にイントラスライス２００を巡回させる。イントラスライス２００の下端であるリフレッシュ境界２１０は、時間ｔの経過とともに、除々に下方へ移動する。そのため、リフレッシュ済領域２２０は、時間ｔの経過とともに、除々に拡張される。リフレッシュ済領域２２０の処理ブロックでは、現在のピクチャのリフレッシュ済領域、又は過去のピクチャのリフレッシュ済領域を参照して符号化が行われる。イントラスライス２００が一巡すると、ピクチャ全体がリフレッシュされる。例えば、ピクチャＰ０より時間的に前のピクチャから編集が行われた場合、復号側では、一巡後のピクチャＰ５から、復号を再開することが可能である。
【０００７】
図１４（Ｂ）に示す例では、イントラスライスが画面上、垂直方向にあって、時間ｔの経過とともに水平方向（又は右方向）へ移動する例を表す。この場合も、時間ｔの経過に伴って、リフレッシュ境界２１０が除々に右へ移動し、リフレッシュ済領域２２０も除々に拡張される。イントラスライス２００が一巡すると、全ピクチャがリフレッシュされる。
【０００８】
このように、イントラリフレッシュ方式では、インター予測モードで符号化されるピクチャ内にイントラ予測モードで符号化される領域が含まれるため、ピクチャ全体の符号量を各ピクチャ間で均一にすることができる。そのため、符号化ビットストリームをネットワークへ送信する際に利用される伝送バッファの容量も一定以下とすることが可能となり、定期的にＩ（Intra）ピクチャを含む符号化ビットストリームと比較して、バッファ遅延を抑制することが可能となる。また、イントラリフレッシュ方式では、イントラスライス２００が含まれ、リフレッシュ周期経過後に、画面全体がリフレッシュされるので、動画像データ全体の画質低下も抑制することが可能となる。
【０００９】
図１５はリフレッシュ符号化方式における入力順と符号化順の関係を表す図である。図１５において、「Ｐ」はＰ（Predictive）ピクチャを表し、添え字は、入力順を表す。図１５に示すように、リフレッシュ符号化方式は、ピクチャの入力の順番で、符号化が行われる。イントラリフレッシュ方式では、入力順に符号化が行われるため、他の符号化方式（例えば、時間階層符号化方式）と比較して、複雑な参照関係をなくすことが可能となる。
【００１０】
なお、イントラリフレッシュ方式を、例えば、低遅延符号化方式と称する場合がある。
【００１１】
一方、ＩＳＯ／ＩＥＣとＩＴＵ−Ｔとにおいて合同ワーキンググループとしてＪＶＥＴ（Joint Video Exploration Team）が結成され、次世代の動画像圧縮技術について検討している。ＪＶＥＴにおいては、動き補償技術として、ＯＢＭＣ（Overlapped Block Motion Compensation：オーバーラップ動き補償）を用いることが検討されている。ＯＢＭＣは、例えば、周辺のブロックの動きベクトルと現処理ブロックの動きベクトルとを加重平均して、現処理ブロックの動きベクトルを算出する技術である。
【００１２】
図１６（Ａ）と図１６（Ｂ）は、ＯＢＭＣの例を表す図である。ＪＶＥＴによるＯＢＭＣでは、例えば、４ライン×４画素、又は８ライン×８画素をサブブロックとし、サブブロック単位で処理が行われる。例えば、１つのＰＵ（Prediction Unit）内に１又は複数のサブブロックが含まれる。ＪＶＥＴによるＯＢＭＣでは、ＰＵ境界についてＯＢＭＣを実施するモード（例えば図１６（Ａ））と、現ＣＵ（Ｃｕｒｒｅｎｔ  ＣＵ（Coding Unit））の全サブブロックについてＯＢＭＣを実施するモード（例えば図１６（Ｂ））の２つのモードがある。
【００１３】
前者のモードの場合、図１６（Ａ）に示すように、斜線で示すサブブロックの動きベクトルを生成する場合、ＰＵ境界のうち、水平方向における各サブブロック２３０では、各サブブロック２３０の上側に隣接するサブブロックの動きベクトルを用いて動きベクトルを算出する。また、ＰＵ境界のうち、垂直方向における各サブブロック２４０では、各サブブロック２４０の左側に隣接するサブブロックの動きベクトルを用いて動きベクトルを算出する。
【００１４】
後者のモードの場合、図１６（Ｂ）に示すように、処理対象のサブブロック（例えば白抜きのサブブロック）に対して、上下左右に隣接する４つのサブブロック（例えば横線で示すサブブロック）の動きベクトルを用いて、処理対象のサブブロックの動きベクトルを算出する。
【００１５】
このように、ＯＢＭＣでは、周辺のブロックの動きベクトルを用いて、処理対象ブロックの動きベクトルを算出するため、例えば、動き予測の一様性を出すことが可能であり、Ｂピクチャと同様の符号化効率を得ることが可能である。
【００１６】
なお、ＯＢＭＣ自体は、Ｈ．２６３においても検討されている。Ｈ．２６３において適用されるＯＢＭＣは、例えば、マクロブロックが１６ライン×１６画素が、８ライン×８画素の４つの輝度予測ブロックに分割されている場合で、無制限動きベクトルモードで、かつ、Ｐピクチャの場合に適用される。
【００１７】
図１７（Ａ）から図１７（Ｄ）は、Ｈ．２６３において適用されるＯＢＭＣの例を表す図である。斜線で示された現輝度ブロック（処理対象ブロック）の動きベクトルと、現輝度ブロックに隣接する２つのブロックの動きベクトルとを重み付け加算により、現輝度ブロックの動きベクトルが算出される。
【００１８】
処理対象ブロックに対するサブブロックは、例えば、処理対象ブロックに隣接する上下左右のブロックの全部又は一部のブロックとなっている。
【００１９】
このような圧縮符号化技術に関して、例えば、以下の技術がある。すなわち、隣接画素を用いたフィルタ処理により、隣接画素に対応する対応画素を生成し、強制イントラブロックの境界ラインから隣接画素数に対応する対応画素を含有しないように探索範囲を設定し、探索範囲で動きベクトルを検出する画像処理装置がある。
【００２０】
この技術によれば、エラー復帰に要する時間を短縮することができる、とされる。
【００２１】
また、イントラスライスにおける発生情報量が各ピクチャで均等となるように、イントラスライスの巡回方向における、各ピクチャのイントラスライスの幅を設定し、各ピクチャについてイントラリフレッシュ方式により符号化を行う動画像符号化装置がある。
【００２２】
この技術によれば、リフレッシュ周期を一定に保ちつつ、ピクチャ間でのイントラスライスの発生情報量の変動を抑制することができる、とされる。
【先行技術文献】
【非特許文献】
【００２３】
【非特許文献１】Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Document: JVET-G1001-v1, 7th Meeting: Torino, IT, 13-21 July 2017
【特許文献】
【００２４】
【特許文献１】特開２０１１−３５４４４号公報
【特許文献２】特開２０１７−６９８６６号公報
【発明の概要】
【発明が解決しようとする課題】
【００２５】
イントラリフレッシュ方式において、ＯＢＭＣによる動き補償が適用される場合、ＯＢＭＣが正常に動作しない場合がある。
【００２６】
すなわち、ＯＢＭＣでは、処理対象ブロックに対して、周辺ブロックの動きベクトルが用いられる。そのため、周辺ブロックが、現ピクチャより符号化順で前にある前ピクチャのリフレッシュ境界を超える場合がある。この場合、前ピクチャのリフレッシュ境界を越えた未リフレッシュ済領域を指す、現ピクチャの動きベクトルが生成される場合がある。このような動きベクトルが生成されると、復号側では、前ピクチャの未リフレッシュ領域の画像データを用いて、現ピクチャの復号画像が生成される。そのため、仮に未リフレッシュ領域にエラーが含まれていると、復号側では、エラーを含む復号画像を生成することになる。このような場合、ＯＢＭＣが正常に動作している、とは言えず、復号画像が劣化する場合がある。
【００２７】
上述した、強制イントラブロックの境界ラインから隣接画素数に対応する対応画素を含有しないように探索範囲を設定する技術は、ＯＢＭＣについて何ら議論されていない。そのため、上述した技術では、イントラリフレッシュ方式においてＯＢＭＣによる動き補償が適用される場合において、前ピクチャのリフレッシュ境界を越えた動きベクトルが生成され、ＯＢＭＣが正常に動作しない、という問題に対する解決策は何ら示唆されていない。
【００２８】
また、上述した、イントラスライスにおける発生情報量が各ピクチャで均等となるように、イントラスライスの巡回方向における、各ピクチャのイントラスライスの幅を設定する技術についても、ＯＢＭＣについて何ら議論されていない。従って、かかる技術についても、イントラリフレッシュ方式において、ＯＢＭＣが適用される場合において、ＯＢＭＣが正常に動作しない、という問題に対する解決策は何ら示唆されていない。
【００２９】
そこで、１つの側面では、イントラリフレッシュ符号化において、ＯＢＭＣを正常に動作させることが可能な動画像符号化プログラム及び動画像符号化装置を提供することにある。
【課題を解決するための手段】
【００３０】
１つの態様では、インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、イントラ予測符号化が行われるイントラスライスラインを、複数のピクチャで巡回させる符号化方式を用いて動画像を符号化する動画像符号化装置のコンピュータに実行させる動画像符号化プログラムであって、第１の処理ブロックに対する参照ブロックの探索範囲を、前記第１の処理ブロックから、前記第１の処理ブロックが存在する第１のピクチャよりも符号化順で前にある第２のピクチャにおいて前記イントラスライスラインが通過したリフレッシュ済領域と前記イントラスライスラインが通過していない未リフレッシュ領域との境界であるリフレッシュ境界よりも第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定し、前記探索範囲において前記第１の処理ブロックに対する第１の動きベクトルを検出し、さらに、前記第１の処理ブロックの周辺にある前記第２の処理ブロックで検出された第２の動きベクトルと前記第１の動きベクトルとを加重平均して前記第１の動きベクトルとし、  前記第１の動きベクトルと前記第２のピクチャとを用いて第１の予測データを生成し、前記第１のピクチャの前記イントラスライスライン内の他のブロックを利用して該イントラスライスライン内のブロックのおける第２の予測データを生成し、前記第１及び第２の予測データを用いて前記第１のピクチャを符号化する処理を前記コンピュータに実行させる。
【発明の効果】
【００３１】
１つの側面では、イントラリフレッシュ符号化において、ＯＢＭＣを正常に動作させることができる。
【図面の簡単な説明】
【００３２】
【図１】図１は動画像符号化装置の構成例を表す図である。
【図２】図２は動作例を表すフローチャートである。
【図３】図３は動作例を表すフローチャートである。
【図４】図４（Ａ）と図４（Ｂ）は探索範囲の例を表す図である。
【図５】図５（Ａ）と図５（Ｂ）は探索範囲の例を表す図である。
【図６】図６は探索範囲の例を表す図である。
【図７】図７（Ａ）は探索範囲、図７（Ｂ）は動きベクトルの例を夫々表す図である。
【図８】図８（Ａ）と図８（Ｂ）は探索範囲の例を表す図である。
【図９】図９（Ａ）と図９（Ｂ）は探索範囲の例を表す図である。
【図１０】図１０（Ａ）は探索範囲の例、図１０（Ｂ）は動きベクトルの例を夫々表す図である。
【図１１】図１１（Ａ）と図１１（Ｂ）は探索範囲の例を表す図である。
【図１２】図１２は動作例を表すフローチャートである。
【図１３】図１３は動画像符号化装置のハードウェア構成例を表す図である。
【図１４】図１４（Ａ）と図１４（Ｂ）はイントラリフレッシュ方式の例を表す図である。
【図１５】図１５はイントラリフレッシュ方式におけるピクチャの入力順を表す図である。
【図１６】図１６（Ａ）と図１６（Ｂ）はＯＢＭＣの例を表す図である。
【図１７】図１７（Ａ）から図１７（Ｄ）はＯＢＭＣの例を表す図である。
【発明を実施するための形態】
【００３３】
以下、本実施の形態について図面を参照して詳細に説明する。本明細書における課題及び実施例は一例であり、本願の権利範囲を限定するものではない。そして、各実施の形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、本明細書で使用している用語や記載した技術的内容は、ＩＳＯ／ＩＥＣなど、画像圧縮符号化に関する規格として規格書に記載された用語や技術的内容が適宜用いられてもよい。
【００３４】
［第１の実施の形態］
＜動画像符号化装置の構成例＞
図１は、本第１の実施の形態における動画像符号化装置１００の構成例を表す図である。
【００３５】
動画像符号化装置１００は、イントラリフレッシュ方式による圧縮符号化処理を行う。イントラリフレッシュ方式は、例えば、インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、イントラ予測符号化が行われるイントラスライスラインを、複数のピクチャを用いて巡回させる符号化方式である。イントラリフレッシュ方式により、例えば、バッファ遅延を抑制し、動画像データ全体の画質低下も抑制することが可能となる。イントラリフレッシュ方式による符号化方式を、例えば、低遅延符号化と称する場合がある。
【００３６】
また、動画像符号化装置１００は、ＯＢＭＣによる動き補償を行うことが可能である。ＯＢＭＣは、例えば、処理対象ブロックの動きベクトルと、処理対象ブロック周辺の周辺ブロックの動きベクトルとを加重平均して、処理対象ブロックの動きベクトルとする方式である。ＯＢＭＣにより、例えば、Ｂピクチャと同等の符号化効率を得ることが可能となる。
【００３７】
動画像符号化装置１００は、コントロール部１１０と、減算部１１１、直交変換及び量子化部１１２、可変長符号化部１１３、逆量子化及び逆直交変換部１１４、加算部１１５、フレームメモリ１１６を備える。また、動画像符号化装置１００は、イントラリフレッシュ判定部１２０と、探索範囲制限部１２１、動きベクトル検出部１２２、インター予測部１２３、イントラ予測部１２４、イントラ及びインター判定部１２５、及び予測画生成部１２６を備える。
【００３８】
コントロール部１１０は、入力画像の画像データを入力し、例えば、ＣＵ単位で入力画像の画像データを出力する。コントロール部１１０は、入力画像の画像データを、減算部１１１、イントラリフレッシュ判定部１２０、及び探索範囲制限部１２１へ出力する。
【００３９】
また、コントロール部１１０は、ＯＢＭＣを適用するか否かを判定し、適用する場合は、ＯＢＭＣモードである旨をイントラリフレッシュ判定部１２０と探索範囲制限部１２１へ出力する。ＯＢＭＣを適用するか否かは、例えば、ユーザからのＯＢＭＣを適用する旨の入力情報をコントロール部１１０が受けたか否かで判定してもよい。
【００４０】
なお、以下では、「画像」と「動画像」とを区別しないで用いる場合がある。また、「画像」と「画像データ」とを区別しないで用いる場合がある。
【００４１】
減算部１１１は、入力画像の画像データに対して、予測画生成部１２６から出力された予測画像の画像データを減算し、差分画像の画像データを生成する。予測画像としては、イントラリフレッシュ方式が適用されるため、１枚のピクチャにおいて、インター予測モードで予測された予測画像データと、そのピクチャの一部（又はイントラスライス）にイントラ予測モードで予測された予測データとを含む。減算部１１１は、差分画像の画像データを直交変換及び量子化部１１２へ出力する。
【００４２】
直交変換及び量子化部１１２は、差分画像の画像データに対して、例えば、ＴＵ（Transform Unit）単位で整数変換を行い、周波数領域への画像データへ変換（又は直交変換）する。そして、直交変換及び量子化部１１２は、整数変換後の差分画像の画像データに対して、例えば、ＴＵ単位で、量子化ステップで除算した量子化値を算出する。直交変換及び量子化部１１２は、算出した量子化値を可変長符号化部１１３と逆量子化及び逆直交変換部１１４へ出力する。
【００４３】
可変長符号化部１１３は、例えば、ハフマン符号化をベースにしたＵＶＬＣ（Universal Variable Length Coding）による符号化方式を利用して、量子化値を符号化する。可変長符号化部１１３は、符号化後の画像データを出力する。符号化方式については、例えば、算出符号化方式を用いて符号化が行われてもよい。
【００４４】
逆量子化及び逆直交変換部１１４は、量子化値に対して、直交変換及び量子化部１１２で用いた量子化ステップを乗算等することで、量子化値となる前の整数変換後の画像データを算出する。そして、逆量子化及び逆直交変換部１１４は、整数変換後の画像データに対して、逆整数変換処理を行うことで、整数変換前の差分画像の画像データを生成する。逆量子化及び逆直交変換部１１４は、差分画像の画像データを出力する。
【００４５】
加算部１１５は、逆量子化及び逆直交変換部１１４から出力された差分画像の画像データと、予測画生成部１２６から出力された予測画像の画像データとを加算し、復号画像を生成する。加算部１１５は、復号画像の画像データをフレームメモリ１１６へ出力する。
【００４６】
フレームメモリ１１６は、復号画像の画像データを記憶するメモリである。加算部１１５により、復号画像の画像データがフレームメモリ１１６に記憶され、動きベクトル検出部１２２により、記憶された復号画像の画像データが読み出される。
【００４７】
イントラリフレッシュ判定部１２０は、処理対象ブロックがインター予測モードにより処理されるブロックか、イントラ予測モードにより処理されるブロックかを示す情報を、探索範囲制限部１２１、イントラ予測部１２４、及び、イントラ及びインター判定部１２５へ出力する。また、イントラリフレッシュ判定部１２０は、入力画像の画像データをイントラ予測部１２４へ出力する。
【００４８】
探索範囲制限部１２１は、例えば、ＯＢＭＣモードのときであって、処理対象ブロックが現ピクチャのリフレッシュ済領域に存在するとき、処理対象のブロックに対する参照ブロックの探索範囲を一定範囲に制限する。一定範囲は、例えば、処理対象のブロックから、処理対象ブロックが存在する現ピクチャよりも符号化順で前にある前ピクチャにおけるリフレッシュ境界よりも、ＯＢＭＣブロックサイズ（又はＯＢＭＣの１サブブロックサイズ）分、処理対象ブロックに近い側までの範囲である。詳細は後述する。
【００４９】
なお、探索範囲制限部１２１は、ＯＢＭＣモードではないときであって、処理対象ブロックが現ピクチャのリフレッシュ済領域の範囲内のとき、例えば、参照ブロックの探索範囲を、処理対象ブロックから前ピクチャのリフレッシュ境界までの範囲に制限する。
【００５０】
また、探索範囲制限部１２１は、ＯＢＭＣモードのときで処理対象ブロックが未リフレッシュ済領域に存在するとき、又は、ＯＢＭＣモードではないときで処理対象ブロックが未リフレッシュ済領域に存在するとき、探索範囲の制限を行うことはしない。
【００５１】
なお、探索範囲制限部１２１は、イントラリフレッシュ判定部１２０からイントラ予測モードである情報を受け取ったときは、とくに処理を行うことはなく、インター予測モードである情報を受け取ったときに、上記した処理を行う。
【００５２】
探索範囲制限部１２１は、探索範囲に関する情報とＯＢＭＣモードの有無に関する情報などを動きベクトル検出部１２２へ出力する。また、探索範囲制限部１２１は、コントロール部１１０から出力された画像データを、動きベクトル検出部１２２へ出力する。
【００５３】
なお、探索範囲制限部１２１における処理対象ブロックは、例えば、ＰＵである。ただし、ＰＵには、ＯＢＭＣブロックが含まれるため、例えば、探索範囲制限部１２１がＰＵに対する参照ブロックの探索範囲を制限することは、ＯＢＭＣブロックに対する参照ブロックの探索範囲を制限することと同じである。
【００５４】
動きベクトル検出部１２２は、例えば、フレームメモリ１１６から前ピクチャの復号画像の画像データを読み出し、探索範囲内において、現ピクチャの処理対象ブロックの参照ブロックを、前ピクチャの復号画像から探索する。具体的には、動きベクトル検出部１２２は、現ピクチャの処理対象ブロックと、探索範囲内における復号画像の参照ブロックとの間で、ブロックマッチングを行い、処理対象ブロックに最も一致する参照ブロックを探索する。動きベクトル検出部１２２は、このような参照ブロックを探索することで、処理対象ブロックの動きベクトルを検出する。なお、動きベクトル検出部１２２は、イントラスライスに含まれる処理対象ブロックに対しては、動きベクトルを検出することはしない。
【００５５】
例えば、動きベクトル検出部１２２は、ＯＢＭＣモードのとき、処理対象ブロックに含まれるＯＢＭＣブロック（又はサブブロック。以下では、「ＯＢＭＣブロック」と称する場合がある。）単位で、探索範囲内において、動きベクトルを検出する。
【００５６】
例えば、ＯＢＭＣモードが、ＰＵ境界のサブブロックに適用するモードの場合（例えば図１６（Ａ））、動きベクトル検出部１２２は、ＰＵ境界において、ＰＵをＯＢＭＣブロックに分割し、ＯＢＭＣブロック単位で、動きベクトルを検出する。この場合、動きベクトル検出部１２２は、ＯＢＭＣブロック単位に、ブロックマッチングを行い、参照ブロックを探索する。
【００５７】
なお、動きベクトル検出部１２２は、ＰＵ内のＯＢＭＣブロック以外の領域について、その領域をブロック単位として、そのブロック単位で動きベクトルを検出する。
【００５８】
一方、例えば、ＯＢＭＣモードが、ＰＵ内の全ＯＢＭＣブロックに適用するモードの場合（例えば図１６（Ｂ））、動きベクトル検出部１２２は、ＰＵ内をＯＢＭＣブロックに分割し、ＰＵ内の全ＯＢＭＣブロックに対して、ＯＢＭＣブロック単位で動きベクトルを検出する。
【００５９】
そして、動きベクトル検出部１２２は、処理対象ブロックの動きベクトルと、処理対象ブロック周辺にある１又は複数の周辺ブロックの動きベクトルとを利用して、処理対象ブロックの動きベクトルを算出する。
【００６０】
具体的には、動きベクトル検出部１２２は、例えば、処理対象ブロックの動きベクトルと、周辺ブロックの動きベクトルとを加重平均して、処理対象ブロックの動きベクトルとする。加重平均を算出する際に用いられる加重の重みは、例えば、周辺ブロックの動きベクトルに対して、｛１／４，１／８，１／１６，１／３２｝の全部又は一部、処理対象ブロックの動きベクトルに対して、｛３／４，７／８，１５／１６，３１／３２｝の全部又は一部が用いられてよい。
【００６１】
ただし、これらの重みは、一例であって、ＪＶＥＴで検討されている、他の重みが用いられてもよい。例えば、処理対象ブロックの動きベクトルに対する重みが、周辺ブロックの動きベクトルに対する重みよりも大きい値であってもよい。
【００６２】
動きベクトル検出部１２２は、検出した動きベクトルに関する情報と前ピクチャの復号画像の画像データなどをインター予測部１２３へ出力する。
【００６３】
インター予測部１２３は、前ピクチャの復号画像の画像データと動きベクトルとを利用して、予測データを生成する。具体的には、インター予測部１２３は、例えば、前ピクチャの復号画像に対して動きベクトル分ずらした予測画像の予測データを生成する。インター予測部１２３は、予測データをイントラ及びインター判定部１２５へ出力する。
【００６４】
なお、インター予測部１２３は、例えば、ＰＵ単位やＯＢＭＣブロック単位で生成した予測データを、内部メモリなどの記憶し、ＣＵ単位でまとめて予測データを読み出して、イントラ及びインター判定部１２５へ出力してもよい。
【００６５】
イントラ予測部１２４は、例えば、コントロール部１１０から出力された現ピクチャのイントラスライス内の処理ブロックの画像データに対して、処理ブロック近傍のイントラスライス内の他のブロックからの画像データを補間することで、予測画像の予測データを生成する。
【００６６】
イントラ予測部１２４は、イントラリフレッシュ判定部１２０から現在の処理対象ブロックがイントラ予測モードであることを表す情報を受け取るため、この情報を利用して、コントロール部１１０から受け取った処理対象ブロックに対して予測画像の予測データを生成すればよい。
【００６７】
なお、イントラ予測部１２４は、現在の処理対象ブロックがインター予測モードであることを示す情報を受け取ったときは、コントロール部１１０から受け取った処理対象ブロックに対しては、とくに処理を行わなくてもよい。
【００６８】
イントラ予測部１２４は、生成した予測画像の予測データをイントラ及びインター判定部１２５へ出力する。なお、イントラ予測部１２４で処理される処理ブロックの単位は、例えば、ＣＵやＣＴＵ（Coding Tree Unit）であってよい。
【００６９】
イントラ及びインター判定部１２５は、イントラリフレッシュ判定部１２０から出力された、インター予測モードかイントラ予測モードかの情報に応じて、インター予測部１２３又はイントラ予測部１２４から出力された予測データを予測画生成部１２６へ出力する。具体的には、イントラ及びインター判定部１２５は、インター予測モードのとき、インター予測部１２３から出力された予測データを予測画生成部１２６へ出力し、イントラ予測モードのとき、イントラ予測部１２４から出力された予測データを予測画生成部１２６へ出力する。
【００７０】
予測画生成部１２６は、イントラ及びインター判定部１２５から受け取った予測データを予測画像の画像データとして、減算部１１１と加算部１１５へ出力する。
【００７１】
なお、動画像符号化装置１００は、符号化部１３０を含む。符号化部１３０は、符号化部１３０は、減算部１１１、直交変換及び量子化部１１２、可変長符号化部１１３、逆量子化及び逆直交変換部１１４、加算部１１５、フレームメモリ１１６を含む。また、符号化部１３０は、インター予測部１２３、イントラ予測部１２４、イントラ及びインター判定部１２５、及び予測画生成部１２６を含む。
【００７２】
＜動作例＞
図２は動画像符号化装置１００における動作例を表すフローチャートである。図２に示すフローチャートは、インター予測モードの際の動作例を表している。
【００７３】
動画像符号化装置１００は、処理を開始すると（Ｓ１０）、ＯＢＭＣモードか否かを判定する（Ｓ１１）。例えば、コントロール部１１０は、ユーザからＯＢＭＣモードである旨の情報を受け付けたか否かにより判定してもよい。
【００７４】
動画像符号化装置１００は、現ＣＵ（Ｃｕｒｒｅｎｔ  ＣＵ）がリフレッシュ済領域か否かを判定する（Ｓ１２）。例えば、コントロール部１１０は、ＣＵ単位で入力画像の画像データを減算部１１１や探索範囲制限部１２１へ出力するが、処理対象ブロックである現ＣＵがリフレッシュ済領域内に存在するか否かを判定する。
【００７５】
図４（Ａ）は、あるピクチャＰ１における、水平イントラリフレッシュ方式の場合のリフレッシュ済領域と未リフレッシュ済領域の例を表す図である。図４（Ａ）において、斜線で示す領域は、イントラスライスを表している。イントラスライスの下端がリフレッシュ済領域と未リフレッシュ済領域との境界となり、この境界が、リフレッシュ境界となる。
【００７６】
例えば、コントロール部１１０は、内部メモリに、各ピクチャに対するリフレッシュ境界の情報を保持している。そのため、コントロール部１１０は、現ＣＵが含まれるピクチャと、現ＣＵのピクチャ内での位置とに基づいて、現ＣＵがリフレッシュ境界より上の領域か、下の領域かにより、現ＣＵがリフレッシュ済領域内に存在するか否かを判定してもよい。垂直イントラリフレッシュ方式の場合、コントロール部１１０は、現在の処理ブロックが、リフレッシュ境界より左の領域（又はリフレッシュ済領域）か、右の領域（又は未リフレッシュ済領域）かにより判定してもよい。
【００７７】
なお、動き補償は、例えば、ＰＵ単位で行われる場合がある。この場合、ＣＵには１又は複数のＰＵが含まれるため、現ＣＵがリフレッシュ済領域か否かを判定することは、現ＰＵがリフレッシュ済領域であるか否かを判定していることになり得る。
【００７８】
図２に戻り、動画像符号化装置１００は、現ＣＵがリフレッシュ済領域のとき（Ｓ１２でＹｅｓ）、ＰＵサイズがＯＢＭＣの処理ブロック単位であるＮＯＢサイズ以上か否かを判定する（Ｓ１３）。例えば、コントロール部１１０は、ＰＵサイズがＯＢＭＣのブロックサイズＮＯＢ以上か否かを確認している。なお、コントロール部１１０は、例えば、内部メモリに、ＰＵサイズとＯＢＭＣのブロックサイズＮＯＢとを記憶しており、本処理の際に内部メモリから読み出して処理を行えばよい。ＯＢＭＣのブロックサイズＮＯＢは、例えば、シーケンス毎に異なってもよい。
【００７９】
動画像符号化装置１００は、ＰＵサイズがＯＢＭＣのブロックサイズＮＯＢ以上のとき（Ｓ１３でＹｅｓ）、水平イントラリフレッシュか否かを判定する（Ｓ１４）。例えば、コントロール部１１０は、イントラリフレッシュ方式を適用する際に、水平イントラリフレッシュで処理を行うのか、垂直イントラリフレッシュで処理を行うのかを決定しており、決定結果に従って、水平リフレッシュか否かを判定してもよい。
【００８０】
動画像符号化装置１００は、水平イントラリフレッシュのとき（Ｓ１４でＹｅｓ）、垂直方向における参照ブロックの探索範囲を、以下の式（１）で示す範囲に制限する。
【００８１】
ｍａｘ（０，ＲｍａｘＭＶ−ＮＯＢ）  ・・・（１）
以下、式（１）に示す探索範囲の詳細について説明する。
【００８２】
＜垂直方向における探索範囲＞
式（１）において、ＲｍａｘＭＶは、例えば、処理対象ブロックから、処理対象ブロックがある現ピクチャよりも符号化順で前にある前ピクチャのリフレッシュ境界までの距離を表す。
【００８３】
図４（Ａ）と図４（Ｂ）は、ＲｍａｘＭＶの例を表す図である。図４（Ａ）と図４（Ｂ）において、横軸は時間ｔを表し、斜線で示す領域はイントラスライスを表し、現在の処理対象のブロックは「現ＰＵ」であるとする。
【００８４】
図４（Ｂ）に示すように、太い点線は前ピクチャＰ１のリフレッシュ境界を表す。図４（Ｂ）に示すように、例えば、現ピクチャＰ２において、「現ＰＵ」の下端から前ピクチャＰ１のリフレッシュ境界までの距離がＲｍａｘＭＶとなる。
【００８５】
また、式（１）において、ＮＯＢは、上述したように、例えば、ＯＢＭＣの単位ブロックのサイズを表す。従って、ＲｍａｘＭＶ−ＮＯＢは、例えば、現ＰＵ（の下端）から、前ピクチャＰ１のリフレッシュ境界よりも、１ＯＢＭＣブロックサイズＮＯＢ分、現ＰＵに近い側までの範囲を表す。
【００８６】
図５（Ａ）は、現ＰＵがピクチャＰＮに存在するときの例を表し、図５（Ｂ）は、現ＰＵに対する参照ブロックの探索範囲の例を表す。図５（Ａ）と図５（Ｂ）に示すように、探索範囲制限部１２１によって、参照ブロックの探索範囲を、（ＲｍａｘＭＶ−ＮＯＢ）の範囲に制限することで、現ＰＵに対する動きベクトルを、前ピクチャのリフレッシュ境界を超えない範囲に制限させることが可能となる。仮に、図５（Ｂ）に示すように、現ＰＵが処理対象ブロックで、現ＰＵに対する参照ブロック（一点鎖線で示すブロック）が探索範囲の下限にあったとき、その場合の動きベクトルは、前ピクチャのリフレッシュ境界を超えない範囲となる。
【００８７】
図６は、探索範囲の例を表す図である。図６に示すように、ピクチャＰＮに存在する現ＰＵの動きベクトルを検出するための参照ブロックの探索範囲は、実際には、前ピクチャＰＮ−１における（ＲｍａｘＭＶ−ＮＯＢ）の範囲となる。
【００８８】
図４（Ｂ）から図６までの例は、現ＰＵから前ピクチャのリフレッシュ境界までの距離ＲｍａｘＭＶが、１ＯＢＭＣブロックサイズＮＯＢよりも大きい場合（ＲｍａｘＭＶ＞ＮＯＢ）の例について説明した。
【００８９】
図７（Ａ）は、現ＰＵから前ピクチャのリフレッシュ境界までの距離ＲｍａｘＭＶと、１ＯＢＭＣブロックサイズＮＯＢとが同じ場合（ＲｍａｘＭＶ＝ＮＯＢ）の例を表す図である。
【００９０】
図７（Ａ）では、現ＰＵとして、現ＰＵに含まれるＯＢＭＣ処理ブロックが処理対象ブロックとなっている例を表している。図７（Ａ）に示すように、処理対象ブロックが探索範囲の下限に位置する場合も、探索範囲は式（１）を満たす範囲となる。
【００９１】
従って、ＯＢＭＣの際に、図７（Ａ）に示すように、処理対象ブロックの下に、処理対象ブロックに対する周辺ＯＢＭＣブロックが存在する場合でも、周辺ＯＢＭＣブロックが探索範囲を超えていると、その周辺ＯＢＭＣブロックは考慮されない。従って、動きベクトル検出部１２２は、ＯＢＭＣの際に、探索範囲外に存在する周辺ＯＢＭＣブロックの動きベクトルを用いることなく、探索範囲内に存在する周辺ＯＢＭＣブロックの動きベクトルを用いて、ＯＢＭＣを適用する。
【００９２】
図７（Ｂ）に示すように、探索範囲の下限に存在する処理対象ブロック（ＯＢＭＣブロック）では、探索範囲外の周辺ＯＢＭＣブロックを用いないため、仮にその周辺ＯＢＭＣブロックがリフレッシュ境界を超える動きベクトルを持っていても、その動きベクトルは用いられない。従って、動きベクトル検出部１２２は、処理対象ブロックに対して、前ピクチャのリフレッシュ境界を超える動きベクトルを検出することはない。この場合、動きベクトル検出部１２２は、探索範囲内の周辺ＯＢＭＣを用いて、処理対象のＯＢＭＣブロックの動きベクトルを検出する。
【００９３】
なお、図７（Ｂ）に示すように、処理対象ブロック（ＯＢＭＣブロック）が、探索範囲を超えて、前ピクチャのリフレッシュ境界のすぐ上に存在する場合（点線のブロック）がある。この場合、探索範囲制限部１２１は、処理対象ブロックに対する参照ブロックの探索範囲を、前ピクチャのリフレッシュ境界を超えない範囲に制限する。これにより、処理対象ブロックにおける動きベクトルは、前ピクチャのリフレッシュ境界を超えないようにすることが可能となる。
【００９４】
以上、水平イントラリフレッシュのときの垂直方向における参照ブロックの探索範囲の例について説明した。
【００９５】
図２に戻り、一方、動画像符号化装置１００は、水平イントラリフレッシュでないとき（Ｓ１４でＮｏ）、すなわち、垂直イントラリフレッシュのとき、水平方向における参照ブロックの探索範囲を、式（１）のように制限する（Ｓ１８）。なお、式（１）において、かっこの中は、単に数値を表しており、（ｘ，ｙ）座標に対応するものではない。
【００９６】
以下、垂直イントラリフレッシュのときの水平方向における参照ブロックの探索範囲の例について詳細に説明する。
【００９７】
＜水平方向における探索範囲＞
図８（Ａ）と図８（Ｂ）は、ＲｍａｘＭＶの例を表す図である。
【００９８】
水平方向における探索範囲も、垂直方向における探索範囲と基本的には考え方は同じである。図８（Ｂ）に示すように、現ＰＵが処理対象ブロックであって、現ＰＵの右端から、前ピクチャＰ１のリフレッシュ境界までの距離がＲｍａｘＭＶである。探索範囲である（ＲｍａｘＭＶ−ＮＯＢ）は、例えば、現ＰＵ（の右端）から、前ピクチャＰ１のリフレッシュ境界よりも、１ＯＢＭＣブロックサイズＮＯＢ分、現ＰＵに近い側までの範囲を表す。
【００９９】
図９（Ａ）は、現ＰＵがピクチャＰＮに存在するときの例を表し、図９（Ｂ）は、現ＰＵに対する参照ブロックの探索範囲の例を表す。図９（Ａ）と図９（Ｂ）に示すように、探索範囲制限部１２１によって、参照ブロックの探索範囲を、（ＲｍａｘＭＶ−ＮＯＢ）の範囲に制限することで、現ＰＵに対する動きベクトルを、前ピクチャのリフレッシュ境界を超えないように制限させることが可能となる。仮に、図９（Ｂ）に示すように、現ＰＵに対する参照ブロック（一点鎖線で示すブロック）が探索範囲の右端にあったとき、探索範囲制限部１２１は、探索範囲を超えたブロックを参照しないように探索範囲を設定する。これにより、動きベクトル検出部１２２では、探索範囲を超えたブロックを参照しないため、動きベクトルを、前ピクチャのリフレッシュ境界を超えない範囲に設定できる。
【０１００】
なお、実際の探索範囲は、垂直方向における探索範囲を同様に、現ＰＵの存在するピクチャより前の前ピクチャの探索範囲内となる（例えば、図６）。
【０１０１】
図１０（Ａ）は、現ＰＵから前ピクチャのリフレッシュ境界までの距離ＲｍａｘＭＶと、１ＯＢＭＣブロックサイズＮＯＢとが同じ場合（ＲｍａｘＭＶ＝ＮＯＢ）の例を表す図である。
【０１０２】
図１０（Ａ）では、現ＰＵとして、現ＰＵに含まれるＯＢＭＣ処理ブロックが処理対象ブロックとする例を表している。図１０（Ａ）に示すように、処理対象ブロックが探索範囲の右端に位置する場合も、探索範囲は式（１）を満たす範囲となる。
【０１０３】
従って、図１０（Ａ）に示すように、処理対象ブロックの右側に、処理対象ブロックに対する周辺ＯＢＭＣブロックが存在する場合、周辺ＯＢＭＣブロックが探索範囲外となるときは、その周辺ブロックは考慮されない。従って、動きベクトル検出部１２２は、ＯＢＭＣの際に、探索範囲外に存在する周辺ＯＢＭＣブロックの動きベクトルを用いることなく、探索範囲内に存在する周辺ＯＢＭＣブロックの動きベクトルを用いて、ＯＢＭＣを適用する。
【０１０４】
図１０（Ｂ）に示すように、探索範囲の右端に存在する処理対象ブロックは、探索範囲外の周辺ＯＢＭＣブロックを用いないため、仮にその周辺ＯＢＭＣブロックの動きベクトルが前ピクチャのリフレッシュ境界を越えている場合でも、その動きベクトルは用いられない。従って、動きベクトル検出部１２２は、処理対象ブロックに対して、前ピクチャのリフレッシュ境界を超える動きベクトルを検出することはない。この場合、動きベクトル検出部１２２は、探索範囲内において周辺ＯＢＭＣブロックがあれば、この周辺ＯＢＭＣブロックを用いて、処理対象のＯＢＭＣブロックの動きベクトルを検出する。
【０１０５】
なお、図１０（Ｂ）に示すように、処理対象ブロック（ＯＢＭＣブロック）が、探索範囲を超えて、前ピクチャのリフレッシュ境界のすぐ左側に存在する場合（点線で示すブロック）がある。この場合、探索範囲制限部１２１は、参照ブロックの探索範囲を、前ピクチャのリフレッシュ境界を超えない範囲に制限する。
【０１０６】
以上、垂直イントラリフレッシュのときの水平方向における参照ブロックの探索範囲の例について説明した。
【０１０７】
上述した例は、ＪＶＥＴで議論されているＯＢＭＣの例について説明した。
【０１０８】
図１１（Ａ）と図１１（Ｂ）は、Ｈ．２６３で適用されるＯＢＭＣの場合の例を表す図である。Ｈ．２６３で適用されるＯＢＭＣの処理対象ブロックと周辺ブロックとの関係は、例えば、図１１（Ａ）や図１１（Ｂ）で示すように、処理対象ブロック（斜線）に対して、隣接して右側と下側に周辺ブロックが存在する場合がある。
【０１０９】
Ｈ．２６３のＯＢＭＣが適用される場合でも、水平イントラリフレッシュの場合、探索範囲は、式（１）で示す範囲となる。例えば、図１１（Ａ）で示すように、その探索範囲の下端に処理対象ブロック（ＯＢＭＣブロック）が存在するときは、下側にある周辺ＯＢＭＣブロックは探索範囲外となる。動きベクトル検出部１２２では、その周辺ＯＢＭＣの動きベクトルを用いることなく、探索範囲内にある、右側の周辺ＯＢＭＣブロックの動きベクトルを用いて、処理対象のＯＢＭＣブロックの動きベクトルを算出する。
【０１１０】
垂直イントラリフレッシュの場合も探索範囲は、式（１）で示す範囲となる。例えば、図１１（Ｂ）で示すように、その探索範囲の右端に処理対象ブロック（ＯＢＭＣブロック）が存在するときでも、右側にある周辺ＯＢＭＣブロックは探索範囲外となる。動きベクトル検出部１２２は、その周辺ＯＢＭＣの動きベクトルを用いることなく、探索範囲内にある、下側の周辺ＯＢＭＣブロックの動きベクトルを用いて、処理対象のＯＢＭＣブロックの動きベクトルを算出する。
【０１１１】
なお、Ｈ．２６３によるＯＢＭＣの場合においても、処理対象ブロックが、探索範囲を超えて、リフレッシュ境界のすぐ上側（水平イントラリフレッシュの場合）やすく左側（垂直イントラリフレッシュの場合）に存在する場合がある。この場合も、探索範囲制限部１２１は、図７（Ｂ）や図１０（Ｂ）と同様に、探索範囲を、前ピクチャのリフレッシュ境界を超えない範囲に制限すればよい。
【０１１２】
以上、垂直方向の制限範囲と水平方向の制限範囲について説明した。
【０１１３】
図２に戻り、動画像符号化装置１００は、水平イントラリフレッシュで垂直方向における探索範囲を制限し（Ｓ１５）、垂直イントラリフレッシュで水平方向における探索範囲を制限した（Ｓ１８）後、ＰＵ処理を行う（Ｓ１６）。
【０１１４】
ＰＵ処理は、例えば、制限された探索範囲内において動きベクトルを検出する処理と、インター予測により予測画像の予測データを生成する処理などが含まれる。例えば、以下の処理がある。すなわち、動きベクトル検出部１２２は、探索範囲内において、処理対象ブロックに対する参照ブロックを探索して、動きベクトルを検出する。インター予測部１２３は、動きベクトルと、前ピクチャの復号画像とを用いて、予測画像の予測データを生成する。イントラ及びインター判定部１２５は、インター予測による予測データを選択し、予測画生成部１２６は、選択された予測データを、予測画像の画像データとして出力する。
【０１１５】
動画像符号化装置１００は、ＰＵ処理を終了すると、一連の処理を終了する（Ｓ１７）。
【０１１６】
一方、動画像符号化装置１００は、ＯＢＭＣモードではないとき（Ｓ１１でＮｏ）、例えば、ＣＵ内に含まれるＰＵの個数分、図３に示すＳ２１からＳ２２の処理を繰り返す（Ｓ２０からＳ２３までのループ）。すなわち、動画像符号化装置１００は、ＣＵに含まれるＰＵの１つ１つにインデックスを割り当て、インデックスの若い方から順番に、ＰＵ毎に、イントラリフレッシュによる探索範囲を制限する処理を行う（Ｓ２１）。
【０１１７】
例えば、探索範囲制限部１２１は、処理対象ブロックが現ピクチャのリフレッシュ済領域の範囲内にあるとき、参照ブロックの探索範囲を、前ピクチャのリフレッシュ境界までの範囲に制限する。ただし、探索範囲制限部１２１は、処理対象ブロックが現ピクチャの未リフレッシュ済領域の範囲内の場合は、とくに探索範囲を制限しなくてもよい。
【０１１８】
次に、動画像符号化装置１００は、ＰＵ処理を行う（Ｓ２２）。例えば、動きベクトル検出部１２２は、制限された探索範囲内又は制限されない状態で、参照ブロックを探索して、動きベクトルを検出する。以降、インター予測部１２３における処理などは、図２のＳ１６と同様である。
【０１１９】
図３に戻り、以降、動画像符号化装置１００は、ＣＵ内に含まれる全ＰＵに対して、Ｓ２１とＳ２２の処理を行う。全ＰＵに対してＰＵ処理を終えると、動画像符号化装置１００は、一連の処理を終了する（図２のＳ１７）。
【０１２０】
一方、動画像符号化装置１００は、現ＣＵが現ピクチャのリフレッシュ済領域にないとき（Ｓ１２でＮｏ）、図３のＳ２０からＳ２３までの処理を行う。この場合は、例えば、現ＣＵが、図４（Ｂ）に示すピクチャＰ２に存在するとき、現ＣＵが現ピクチャＰ２のリフレッシュ境界より下側に存在する場合である。この場合、動きベクトル検出部１２２は、インター予測により、前ピクチャの未リフレッシュ領域を参照して、動きベクトルを検出することになる。
【０１２１】
図２に戻り、一方、ＰＵサイズがＯＢＭＣブロックサイズＮＯＢよりも小さいとき（Ｓ１３でＮｏ）、図３のＳ２０からＳ２３までの処理を行う。この場合は、１つのＯＢＭＣブロックサイズが、ＰＵサイズよりも大きいため、例外的な取り扱いとして、図３に示すＳ２０からＳ２３までの処理を行うようにしている。
【０１２２】
以上説明したように、本第１の実施の形態では、イントラリフレッシュ方式でＯＢＭＣを適用する際に、処理対象ブロックに対する参照ブロックの探索範囲を、ｍａｘ（０，ＲｍａｘＭＶ−ＮＯＢ）に制限するようにしている。これにより、例えば、動きベクトル検出部１２２では、前ピクチャのリフレッシュ境界を超える動きベクトルを検出することがなくなる。そのため、復号側では、前ピクチャの未リフレッシュ領域のブロックを用いて復号画像を生成することがない。従って、復号画像に劣化が生じることがない。よって、動画像符号化装置１００において、イントラリフレッシュ方式による符号化の際に、ＯＢＭＣを適用しても、ＯＢＭＣを正常に動作させることが可能となる。
【０１２３】
[第２の実施の形態]
第１の実施の形態では、動画像符号化装置１００が、ＯＢＭＣを適用する際に、参照ブロックの探索範囲を、ｍａｘ（０，ＲｍａｘＭＶ−ＮＯＢ）に制限する例について説明した。本第２の実施の形態では、動きベクトルの探索結果が、所定範囲を超えるとき、動画像符号化装置１００が、ＯＢＭＣをオフにする例である。
【０１２４】
図１２は、第２の実施の形態における動作例を表すフローチャートである。
【０１２５】
Ｓ１０からＳ１４までは、第１の実施の形態と同様である。
【０１２６】
動画像符号化装置１００は、水平イントラリフレッシュのとき（Ｓ１４でＹｅｓ）、処理対象ブロックに対する参照ブロックの動きベクトルの垂直成分が、所定範囲（ＲｍａｘＭＶ−ＮＯＢ）を超えたか否かを判定する（Ｓ３０）。例えば、動画像符号化装置１００は、以下の処理を行う。
【０１２７】
すなわち、探索範囲制限部１２１では、とくに探索範囲を制限する処理を行わない。そのため、動きベクトル検出部１２２では、参照ブロックの探索範囲を制限しない。そして、動きベクトル検出部１２２は、動きベクトル探索における参照ブロックの垂直位置が、所定範囲（ＲｍａｘＭＶ−ＮＯＢ）を超えたか否かを判定する。すなわち、動きベクトル検出部１２２は、処理ブロックの動きベクトルの垂直成分が、所定範囲（ＲｍａｘＭＶ−ＮＯＢ）を超えたか否かを判定する。
【０１２８】
動画像符号化装置１００は、動きベクトル（又は参照ブロック）の探索結果が、所定範囲を超えたとき（Ｓ３０でＹｅｓ）、ＯＢＭＣをオフにする（Ｓ３１）。例えば、動きベクトル検出部１２２は、処理ブロックの動きベクトルが、所定範囲（ＲｍａｘＭＶ−ＮＯＢ）を超えたとき、ＯＢＭＣによる動きベクトルの検出処理を行わない。この場合、動きベクトル検出部１２２は、そのまま動きベクトルを用いて、ＰＵ処理を行う（Ｓ１６）。
【０１２９】
ＯＢＭＣでは、処理対象ブロックの動きベクトルだけではなく、周辺の動きベクトルを用いて処理対象の動きベクトルを用いている。そのため、例えば、処理対象ブロックの動きベクトルが所定範囲を超えると、周辺ブロックの動きベクトルも所定範囲を超える可能性がある。このような場合に、ＯＢＭＣの処理を行うと、更に、前ピクチャのリフレッシュ境界を越えた周辺ブロックの動きベクトルを用いて、処理対象の動きベクトルを算出する場合がある。そこで、本第２の実施の形態では、このような場合、ＯＢＭＣをオフにして、その可能性をできるだけ低くするようにしている。
【０１３０】
一方、動画像符号化装置１００は、動きベクトルの探索結果が、所定範囲を超えないとき（Ｓ３０でＮｏ）、ＯＢＭＣモードを継続して、ＰＵ処理を行う（Ｓ１６）。ＰＵ処理においては、例えば、動きベクトル検出部１２２が、ＯＢＭＣを用いて、周辺ブロックの動きベクトルを利用して、処理対象ブロックの動きベクトルを算出する。
【０１３１】
一方、動画像符号化装置１００は、水平イントラリフレッシュではなく、垂直イントラリフレッシュのとき（Ｓ１４でＮｏ）、動きベクトルの水平成分が、所定範囲を超えたか否かを判定し（Ｓ３２）、超えているときは（Ｓ３２でＹｅｓ）、ＯＢＭＣをオフにする（Ｓ３３）。
【０１３２】
一方、動画像符号化装置１００は、動きベクトルの水平探索結果が、所定範囲を超えないとき（Ｓ３２でＮｏ）、ＯＢＭＣモードを継続して、ＰＵ処理を行う（Ｓ１６）。
【０１３３】
本第２の実施の形態においても、動画像符号化装置１００は、処理対象ブロックの動きベクトルが探索範囲を超えるとき、ＯＢＭＣをオフすることで、例えば、前ピクチャの未リフレッシュ済領域のブロックを参照する可能性を低くすることが可能となる。従って、復号側の際に、未リフレッシュ済領域に含まれるエラーなどを参照する可能性も低くすることができる。よって、動画像符号化装置１００において、イントラリフレッシュ方式による符号化の際に、ＯＢＭＣを適用しても、ＯＢＭＣを正常に動作させることが可能となる。また、復号側でも、未リフレッシュ済領域を参照することによる復号画像の劣化を生じさせないようにすることが可能となる。
【０１３４】
なお、上述した第２の実施の形態において、所定範囲を、（ＲｍａｘＭＶ−ＮＯＢ）とする例について説明した。例えば、所定範囲を、前ピクチャのリフレッシュ境界としてもよい。
【０１３５】
［その他の実施の形態］
図１３は、動画像符号化装置１００のハードウェア構成例を表す図である。
【０１３６】
動画像符号化装置１００は、ＣＰＵ（Central Processing Unit）１５０、メモリ１５１、ＤＳＰ（Digital Signal Processor）１５２、ＲＯＭ（Read Only Memory）１５３、ＲＡＭ（Random Access Memory）１５４、及びＩＦ（Interface）１５５を備える。
【０１３７】
ＣＰＵ１５０は、ＲＯＭ１５３に記憶されたプログラムを読み出して、ＲＡＭ１５４にロードし、ロードしたプログラムを実行する。この実行により、ＣＰＵ１５０は、例えば、コントロール部１１０、イントラリフレッシュ判定部１２０、探索範囲制限部１２１の機能を実現する。ＣＰＵ１５０は、例えば、第１の実施の形態におけるコントロール部１１０、イントラリフレッシュ判定部１２０、探索範囲制限部１２１に対応する。
【０１３８】
また、ＤＳＰ１５２は、例えば、ＣＰＵ１５０の指示により、動きベクトル検出部１２２と符号化部１３０の機能を実現する。ＤＳＰ１５２は、例えば、第１の実施の形態における動きベクトル検出部１２２と符号化部１３０に対応する。
【０１３９】
メモリ１５１は、例えば、第１の実施の形態のフレームメモリ１１６に対応する。
【０１４０】
ＩＦ１５５は、例えば、可変長符号化部１１３から出力される符号化データをまとめてビットストリームとして、復号側へ出力する。
【０１４１】
以上まとめると付記のようになる。
【０１４２】
（付記１）
インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、イントラ予測符号化が行われるイントラスライスラインを、複数のピクチャで巡回させる符号化方式を用いて動画像を符号化する動画像符号化装置のコンピュータに実行させる動画像符号化プログラムであって、
第１の処理ブロックに対する参照ブロックの探索範囲を、前記第１の処理ブロックから、前記第１の処理ブロックが存在する第１のピクチャよりも符号化順で前にある第２のピクチャにおいて前記イントラスライスラインが通過したリフレッシュ済領域と前記イントラスライスラインが通過していない未リフレッシュ領域との境界であるリフレッシュ境界よりも第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定し、
前記探索範囲において前記第１の処理ブロックに対する第１の動きベクトルを検出し、さらに、前記第１の処理ブロックの周辺にある前記第２の処理ブロックで検出された第２の動きベクトルと前記第１の動きベクトルとを加重平均して前記第１の動きベクトルとし、
前記第１の動きベクトルと前記第２のピクチャとを用いて第１の予測データを生成し、前記第１のピクチャの前記イントラスライスライン内の他のブロックを利用して該イントラスライスライン内のブロックのおける第２の予測データを生成し、前記第１及び第２の予測データを用いて前記第１のピクチャを符号化する
処理を前記コンピュータに実行させる動画像符号化プログラム。
【０１４３】
（付記２）
前記イントラスライスラインを画像上垂直方向に巡回させるとき、前記参照ブロックの探索範囲を、前記第１の処理ブロックの下端から、前記リフレッシュ境界よりも前記第２の処理ブロックサイズ分、前記第１の処理ブロックに近い側までの範囲に設定することを特徴とする付記１記載の動画像符号化プログラム。
【０１４４】
（付記３）
前記イントラスライスラインを画像上水平方向に巡回させるとき、前記参照ブロックの探索範囲を、前記第１の処理ブロックの右端から、前記リフレッシュ境界よりも前記第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定することを特徴とする付記１記載の動画像符号化プログラム。
【０１４５】
（付記４）
前記第１の処理ブロックから前記リフレッシュ境界までの距離をＲｍａｘＭＶとし、前記第２の処理ブロックのサイズをＮＯＢとすると、前記参照ブロックの探索範囲を、以下に示す式（２）を満たす範囲に設定することを特徴とする付記１記載の動画像符号化プログラム。
ｍａｘ（０，ＲｍａｘＭＶ−ＮＯＢ）  ・・・（２）
【０１４６】
（付記５）
前記参照ブロックの探索範囲を、前記第１の処理ブロックから、前記リフレッシュ境界よりも前記第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定することに代え、
前記第１の処理ブロックに対する前記第１の動きベクトルを検出する際に、前記参照ブロックが探索範囲を超えたとき、前記第２の動きベクトルとの加重平均を計算することなく、検出した前記第１の動きベクトルを用いて前記第１の予測データを生成し、
前記参照ブロックが探索範囲を超えないとき、前記第１の動きベクトルと前記第２の動きベクトルとを加重平均して前記第１の動きベクトルとして、該第１の動きベクトルを用いて前記第１の予測データを生成する、
ことを特徴とする付記１記載の動画像符号化プログラム。
【０１４７】
（付記６）
第３の処理ブロックに対する参照ブロックの探索範囲を、前記第１の処理ブロックから前記リフレッシュ境界よりも前記第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定し、
前記第３の処理ブロックには、前記第１の処理ブロックが含まれることを特徴とする付記１記載の動画像符号化プログラム。
【０１４８】
（付記７）
前記第３の処理ブロックはＰＵ（Prediction Unit）であり、前記第１の処理ブロックはＯＢＭＣ（Overlapped Block Motion Compensation）のサブブロックであることを特徴とする付記６記載の動画像符号化プログラム。
【０１４９】
（付記８）
前記第２の処理ブロックは、前記第１の処理ブロックに隣接する上下左右のブロックの全部又は一部であることを特徴とする付記１記載の動画像符号化プログラム。
【０１５０】
（付記９）
インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、前記イントラスライスラインを、複数のピクチャで巡回させる符号化方式は、イントラリフレッシュ符号化方式であり、
前記第１の処理ブロックの周辺にある前記第２の処理ブロックで検出された前記第２の動きベクトルと前記第１の動きベクトルとを加重平均して前記第１の動きベクトルを算出する方式は、ＯＢＭＣ（Overlapped Block Motion Compensation）である
ことを特徴とする付記１記載の動画像符号化プログラム。
【０１５１】
（付記１０）
インター予測符号化で符号化されるピクチャの一部をイントラ予測符号化で符号化し、イントラ予測符号化が行われるイントラスライスラインを、複数のピクチャで巡回させる符号化方式を用いて動画像を符号化する動画像符号化装置において、
第１の処理ブロックに対する参照ブロックの探索範囲を、前記第１の処理ブロックから、前記第１の処理ブロックが存在する第１のピクチャよりも符号化順で前にある第２のピクチャにおいて前記イントラスライスラインが通過したリフレッシュ済領域と前記イントラスライスラインが通過していない未リフレッシュ領域との境界であるリフレッシュ境界よりも第２の処理ブロックのサイズ分、前記第１の処理ブロックに近い側までの範囲に設定する探索範囲制限部と、
前記探索範囲において前記第１の処理ブロックに対する第１の動きベクトルを検出し、さらに、前記第１の処理ブロックの周辺にある前記第２の処理ブロックで検出された第２の動きベクトルと前記第１の動きベクトルとを加重平均して前記第１の動きベクトルとする動きベクトル検出部と、
前記第１の動きベクトルと前記第２のピクチャとを用いて第１の予測データを生成し、前記第１のピクチャの前記イントラスライスライン内の他のブロックを利用して該イントラスライスライン内のブロックのおける第２の予測データを生成し、前記第１及び第２の予測データを用いて前記第１のピクチャを符号化する符号化部と
を備えることを特徴とする動画像符号化装置。
【符号の説明】
【０１５２】
１００：動画像符号化装置            １１０：コントロール部
１１１：減算部                      １１２：直交変換及び量子化部
１１３：可変長符号化部              １１４：逆量子化及び逆直交変換部
１１５：加算部                      １１６：フレームメモリ
１２０：イントラリフレッシュ判定部  １２１：探索範囲制限部
１２２：動きベクトル検出部          １２３：インター予測部
１２４：イントラ予測部              １２５：イントラ及びインター判定部
１２６：予測画生成部                １５０：ＣＰＵ
１５２：ＤＳＰ
【図１】
2020113923.tif 000003
【図２】
2020113923.tif 000004
【図３】
2020113923.tif 000005
【図４】
2020113923.tif 000006
【図５】
2020113923.tif 000007
【図６】
2020113923.tif 000008
【図７】
2020113923.tif 000009
【図８】
2020113923.tif 000010
【図９】
2020113923.tif 000011
【図１０】
2020113923.tif 000012
【図１１】
2020113923.tif 000013
【図１２】
2020113923.tif 000014
【図１３】
2020113923.tif 000015
【図１４】
2020113923.tif 000016
【図１５】
2020113923.tif 000017
【図１６】
2020113923.tif 000018
【図１７】
2020113923.tif 000019