(57)【要約】  動画像復号装置は、符号化された動画像データから、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域と非クリーン領域との領域境界位置情報を抽出する領域境界位置情報抽出部と、領域境界位置情報に基づいて各ピクチャ内でクリーン領域と非クリーン領域とを特定する領域分類部と、符号化された動画像データに含まれる復号対象ブロックがクリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、復号対象ブロックが非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、参照可能ブロックのみを参照して復号対象ブロックを復号する復号部とを有する。
2012008054.tif 000002
【特許請求の範囲】
【請求項１】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置であって、
前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出する領域境界位置情報抽出部と、
前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、
前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、
前記参照可否判定部の判定に基づいて、参照可能なブロックのみを参照して前記復号対象ブロックを復号する復号部と、
を有する動画像復号装置。
【請求項２】
前記領域境界位置情報は、領域境界の移動方向情報及びピクチャ間の領域境界の変移を含む、請求項１に記載の動画像復号装置。
【請求項３】
前記符号化された動画像データに含まれる第１のピクチャについての前記領域境界位置情報は、前記符号化された動画像データにおいて、当該第１のピクチャに含まれる各ブロックの符号化データよりも前に配置される、請求項２に記載の動画像復号装置。
【請求項４】
前記復号部は、
前記復号対象ブロックと前記参照ピクチャ間の動きを表す動きベクトルを用いて、前記参照領域に含まれる参照ブロックを動き補償することにより第１の予測画像を生成する動き補償部を有し、
前記動き補償部は、前記参照ブロックの一部の画素が前記参照不能ブロックに含まれる場合、前記参照ブロック内の前記参照可能ブロック内の画素の値を、前記符号化された動画像データに含まれる補正値を用いて補正することで当該画素の値を求めることにより前記第１の予測画像を生成し、
前記復号部は、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第１の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを再生する、請求項１〜３の何れか一項に記載の動画像復号装置。
【請求項５】
前記符号化された動画像データは、前記復号対象ブロックの動きベクトルの予測方法を表す指標及び動きベクトルの予測誤差を含み、
前記参照可否判定部は、前記復号対象ブロックの前記動きベクトルの予測値を決定するために参照される可能性のある複数のブロックを含む第２の参照領域のうち、前記復号対象ブロックが参照できる参照可能ブロックを決定し、
前記動き補償部は、前記参照可能ブロックと前記指標とに基づいて前記動きベクトルの予測値を決定し、かつ、前記動きベクトルの予測値に前記動きベクトルの予測誤差を加算することにより前記動きベクトルを再生する、請求項４に記載の動画像復号装置。
【請求項６】
前記復号部は、
前記復号対象ブロックと隣接するブロック内の画素値を用いて第２の予測画像を生成するイントラ予測部を有し、
前記イントラ予測部は、前記隣接ブロックが前記参照可能ブロックである場合に前記第２の予測画像を生成し、一方、前記隣接ブロックが前記参照不能ブロックである場合、前記第２の予測画像を生成せず、
前記復号部は、前記第２の予測画像が生成された場合に限り、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第２の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを再生する、請求項１〜３の何れか一項に記載の動画像復号装置。
【請求項７】
前記復号部は、
再生された前記復号対象ブロックに対して所定のフィルタを適用するフィルタ処理を行うポストフィルタ部を有し、
前記ポストフィルタ部は、前記所定のフィルタが参照する領域内に前記参照不能ブロック内の画素が含まれている場合、当該参照不能ブロック内の画素の値を前記フィルタが参照する領域内の前記参照可能ブロック内の画素の何れかの値で置換した後にフィルタ処理を実行することにより、他のブロックの復号に利用される第１の復号データを求める、請求項１〜３の何れか一項に記載の動画像復号装置。
【請求項８】
前記ポストフィルタ部は、前記所定のフィルタが参照する領域内に前記参照不能ブロック内の画素が含まれている場合も、前記フィルタが参照する領域内の全ての画素値を用いてフィルタ処理を実行することにより、表示用の第２の復号データを求める、請求項７に記載の動画像復号装置。
【請求項９】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法であって、
前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出し、
前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定し、
前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、
前記参照可能ブロックのみを参照して前記復号対象ブロックを復号する、
ことを含む動画像復号方法。
【請求項１０】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化装置であって、
ピクチャ内のクリーン領域と非クリーン領域とを決定する領域分類部と、
符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、
前記参照可否判定部の判定に基いて、参照可能なブロックのみを参照して前記符号化対象ブロックを符号化し、クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める符号化部と、
を有する動画像符号化装置。
【請求項１１】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化方法であって、
ピクチャ内のクリーン領域と非クリーン領域とを決定し、
符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、
前記参照可能ブロックのみを参照して前記符号化対象ブロックを符号化し、
クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める、
ことを含む動画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ピクチャ内のブロックが他のブロックの情報を用いて符号化された動画像を復号する動画像復号装置、動画像復号方法、及びピクチャ内のブロックを他のブロックの情報を用いて符号化する動画像符号化装置若しくは動画像符号化方法に関する。
【背景技術】
【０００２】
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。代表的な動画像の符号化標準として、International Standardization Organization/International Electrotechnical Commission(ISO/IEC)で策定されたMoving Picture Experts Group phase 2（MPEG-2）、MPEG-4、あるいはH.264 MPEG-4 Advanced Video Coding（MPEG-4 AVC/H.264）が広く利用されている。
このような符号化標準では、符号化対象のピクチャと、その前後のピクチャの情報を用いて、符号化対象のピクチャを符号化するインター符号化方法及び符号化対象ピクチャが持つ情報のみを用いて符号化するイントラ符号化方法が採用されている。【０００３】
インター符号化方法は、符号化対象ピクチャと参照ピクチャ間で相関度が高い部分を検索する。そしてインター符号化方法は、符号化対象ピクチャと参照ピクチャ間の位置の差を表す動きベクトルと、その二つのピクチャの対応画素間の画素値の差（予測誤差と呼ばれる）とを符号化する。一般に動画像ではピクチャ間の相関度が高いため、予測誤差が元の画素値よりも小さくなる。その結果、インター符号化方法は、高い圧縮効率を実現できる。
しかし、インター符号化方法では、あるピクチャを符号化する際に生じた誤差が、そのピクチャよりも後に符号化されるピクチャを符号化する際に伝播する。そのため、インター符号化方法を用いて連続する複数のピクチャが符号化されると、後で符号化されるピクチャほど画質が劣化する。また、動画像復号装置は、符号化された動画像データをその途中から取得した場合のように、基準となるピクチャを取得できないと、その基準となるピクチャに基づいてインター符号化されたインターピクチャを正常に復号できない。【０００４】
一方、イントラ符号化方法で符号化されたイントラピクチャは、他のピクチャの復号結果を参照せずに画素値を正常に復号できる。そのため、イントラ符号化方法は、動画像データの先頭ピクチャ、及び所定周期で途中のピクチャを符号化するために用いられる。途中のピクチャがイントラピクチャとなることで、動画像復号装置は符号化動画像データの途中から復号処理を開始する場合にも、そのイントラピクチャ以降の各ピクチャを正常に再生することができる。なお、あるピクチャから復号動作が開始された場合に、そのピクチャまたは所定時間後のピクチャにて画素値が正常に復号できる場合、その復号動作が開始されたピクチャはリフレッシュピクチャと呼ばれる。
しかし、イントラ符号化方法の圧縮効率は、一般的にインター符号化方法の圧縮効率よりも低い。そのため、復号後におけるイントラピクチャの画質とインターピクチャの画質をほぼ同等に保つためには、一般的に、イントラピクチャの情報量は、インターピクチャの情報量よりも多くなる。【０００５】
符号化された動画像データが扱われる場合には、その動画像データを符号化し、かつ復号することにより符号化遅延が生じる。符号化遅延は、ピクチャが動画像符号化装置に入力されてから、そのピクチャが動画像復号装置から出力されるまでの時間である。遠隔テレビ会議システムといった双方向通信アプリケーションなど、リアルタイムで動画像データを伝送し、再生することが求められるアプリケーションでは、符号化遅延を小さくすることが非常に重要である。ユーザが不便を感じることなくそのようなアプリケーションを使用するには、符号化遅延は約100m秒以下であることが好ましい。【０００６】
符号化遅延を約100m秒以下にするには、ピクチャの符号化順序をピクチャの時間順序と一致させるとともに、符号化動画像データの伝送及び受信における遅延の主要素の一つであるバッファリング遅延を最小化することが好ましい。バッファリング遅延は、ピクチャ毎に情報量が変動する符号化動画像を、符号化動画像の単位時間での平均情報量と同程度の伝送スピードを持つネットワークで伝送するために設定される。バッファリング遅延は、符号化動画像ストリーム内で最大の情報量を持つピクチャを伝送するために必要な時間となり、例えば、数〜20フレーム時間程度になる。
したがって、バッファリング遅延を最小化するためには、各ピクチャの情報量をほぼ一定にする必要がある。上記のように、復号後における各ピクチャの画質を同等にするためには、イントラピクチャの情報量はインターピクチャの情報量よりも多くなる。そのため、各ピクチャの情報量を一定にするために、単にイントラピクチャの情報量をインターピクチャの情報量と同程度にすると、イントラピクチャの画質が大幅に落ちることになる。そのため、イントラピクチャを参照ピクチャとするインターピクチャの画質も大幅に落ち、結果として動画像データ全体の画質が大きく低下する。【０００７】
画質を大きく損なわずに、各ピクチャの情報量をほぼ一定にするための方法として、イントラスライス方式が提案されている（例えば、特許文献１〜５を参照）。イントラスライス方式では、符号化対象の動画像データの先頭ピクチャ以外はイントラピクチャとせず、イントラ符号化されるマクロブロック群が、所定周期でピクチャ内を巡回するように、各ピクチャに挿入される。このイントラ符号化されるマクロブロック群はイントラスライスと呼ばれる。またこの手法はピクチャ内を順番に正常復号させるため、段階的リフレッシュとも呼ばれる。
例えば巡回方向がピクチャ内で上から下へ向かう方向である場合、イントラスライスが最上にあるピクチャがリフレッシュピクチャとなり、ピクチャの上端から順に正常な画素値再生が行われていく。イントラスライスが最下に来るピクチャにて、ピクチャ全体の画素値が正常に再生される。リフレッシュピクチャの間隔、すなわち、リフレッシュ周期は、イントラスライスの巡回周期と同じになる。
なお、実際にはイントラスライス内の各マクロブロックは、必ずしもイントラ符号化されなくてもよい。リフレッシュピクチャから復号を開始した場合に、それ以降のピクチャの画素値が正常に再生されることが保証されるように、イントラスライス内の各マクロブロックは符号化されればよい。例えば、イントラスライス内のマクロブロックは、ピクチャ内で画素値が正常に再生されることが保証された領域（以下、このような領域をクリーン領域と呼ぶ）内の領域を参照する動きベクトルを用いて、インター符号化されてもよい。【０００８】
しかしながら、イントラスライス方式を用いて動画像データが符号化される場合、イントラスライスによってリフレッシュされるピクチャよりも前のピクチャにおいて、画素値が正常に再生されることが保証されない領域が存在する。なお、画素値が正常に再生されることが保証されない領域を、以下では非クリーン領域と呼ぶ。イントラスライス方式を用いて動画像データが符号化される場合、クリーン領域内の画素値が正常に再生されることを保証するために、クリーン領域内のマクロブロックは非クリーン領域内の画素の情報を参照できないという制約がある。
例えば、クリーン領域内の符号化対象マクロブロックがインター符号化される場合、その符号化対象マクロブロックが参照する、参照ピクチャ上のブロック全体もクリーン領域に含まれなければならない。【０００９】
また、MPEG-4 AVC/H.264では、動きベクトルを符号化するために、符号化対象マクロブロックの上または左に隣接するマクロブロックの動きベクトルの平均値（またはメディアン）が動きベクトルの予測値PMVMEDとして算出される。そして、その予測値PMVMEDと符号化対象マクロブロックの動きベクトル間の誤差がエントロピー符号化される。
さらに、符号化対象マクロブロックと参照ピクチャ上で同一位置にあるマクロブロックの動きベクトルをもう一つの予測値PMVCOLとし、PMVMEDとPMVCOLの内、誤差が小さくなる方を予測値とする技術が提案されている（例えば、非特許文献１を参照）。この場合、PMVMEDとPMVCOLのどちらを選択したかを示すフラグが、符号化動画像データに含められる。【００１０】
この技術では、動画像復号装置がリフレッシュピクチャから復号動作を開始した場合、このリフレッシュピクチャの参照ピクチャは復号側には存在しないのでPMVCOLを取得できず、結果としてリフレッシュピクチャの非クリーン領域の動きベクトルを正常復号できない。なおリフレッシュピクチャのクリーン領域はイントラ符号化されているので動きベクトルの異常再生は発生しない。
リフレッシュピクチャ以降のピクチャも、参照ピクチャ（リフレッシュピクチャを含む）の動きベクトルを参照するため、動きベクトルの異常再生の影響が伝搬する。このためクリーン領域内のマクロブロックがPMVMEDとPMVCOLを動きベクトルの予測値として参照する場合、PMVMEDとPMVCOLの正常復号が保証されていないので、動きベクトルが正常復号できず、結果として正常な画素値が再生されない。したがって、イントラスライス方式では、PMVMEDとPMVCOLのうちの一方を動きベクトルの予測値として使用する符号化方法は使用できない。【００１１】
また、MPEG-4 AVC/H.264では、符号化対象マクロブロックを、隣接する既に符号化された参照マクロブロックの情報を用いて予測符号化するイントラ予測符号方式が採用されている。クリーン領域に含まれる符号化対象マクロブロックがイントラ予測符号化される場合も、その参照マクロブロックもクリーン領域に含まれなければならない。
さらに、MPEG-4 AVC/H.264では、隣接するブロックとの境界にて低域通過型のフィルタを適用することにより、ブロック境界に発生するブロック歪を除去するデブロッキングフィルタ処理が採用されている。したがって、イントラスライス方式では、クリーン領域内の画素に適用されるデブロッキングフィルタが参照する画素の全ても、クリーン領域に含まれている必要がある。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００３−１７９９３８号公報
【特許文献２】特開平６−１１３２８６号公報
【特許文献３】特開２００５−２６０９３６号公報
【特許文献４】国際公開第０９／０３７７２６号
【特許文献５】特公平６−１０１８４１号公報
【非特許文献】
【００１３】
【非特許文献１】J.Jung and G.Laroche, "Competition-Based Scheme for Motion Vector Selection and Coding", VCEG-AC06, ITU-T SG16/Q.6 29th Meeting, 2006年7月
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上記のように、イントラスライス方式では、クリーン領域内の符号化対象マクロブロックにより参照される全ての画素もまた、クリーン領域に含まれなければならい。このような制約により、従来の符号化方式にイントラスライス方式を適用すると符号化効率が低下する。
その理由の一つは、クリーン領域と非クリーン領域との境界（以降、クリーン領域境界と呼ぶ）を示すための情報を符号化動画像データストリームに含めることによる情報量の増加である。例えば、MPEG-4 AVC/H.264では、クリーン領域境界に位置するマクロブロック間に、その境界を示すスライスヘッダが挿入される。このようなスライスヘッダが挿入されることにより、符号化動画像ストリームに含まれる情報量が増加するので、符号化効率が低下する。
また、各マクロブロックの量子化係数及び動きベクトルを可変長符号化するためのエントロピー符号化方式として、コンテクスト適応型算術符号(Context Adaptive Binary Arithmetic Coding、CABAC)が用いられることがある。このような場合、スライスヘッダが挿入された位置でコンテクストが初期化されるので、エントロピー符号化の効率が低下する。
さらに、動きベクトルの符号化において、隣接ブロックの動きベクトルを予測値として、動きベクトルと予測値間の誤差が符号化される。しかし、スライスヘッダによって別のスライスに属すると判断されたブロックの動きベクトルは、予測値として用いることはできない。この結果、動きベクトルの予測効率が低下し、符号化効率が更に低下する。【００１５】
また、バッファリング遅延を小さくするために、イントラスライスが垂直方向にピクチャを横断するように挿入され、かつイントラスライスが左から右、または右から左へ巡回するように設定されることがある。このようにイントラスライスを設定することにより、イントラ符号化されるマクロブロックが、各マクロブロックラインに分散するため、各マクロブロックラインの情報量が略均一になる。そのため、動画像復号装置が有するバッファの容量を一つのマクロブロックライン分に抑制することが可能になる。
しかし、MPEG-4 AVC/H.264において一般的に広く採用されるMain Profile及びHigh Profileといったツールキットが使用される場合、ピクチャの上から下へマクロブロックが符号化される。そのため、イントラスライスが垂直方向にピクチャを横断するように挿入される場合には、マクロブロックラインごとにスライスヘッダは挿入されなければならず、必要なスライスヘッダの数が増える。その結果、符号化効率はより低下する。【００１６】
また、上記の制約を遵守するために、動画像符号化装置は、符号化対象マクロブロックの動きベクトルを、参照ピクチャの他のマクロブロックの動きベクトルから求めた予測値を用いて符号化する方法をピクチャ全体に対して適用しない。あるいは、動画像符号化装置は、適用不能なマクロブロック群を他のマクロブロックと区別するためのスライスヘッダを符号化動画像ストリームに挿入する。いずれにせよ、動きベクトルの符号化情報量が増加するか、あるいは挿入されるスライスヘッダの情報量が増えるため、符号化効率は低下する。【００１７】
さらに、クリーン領域に含まれる符号化対象ピクチャがインター符号化される場合、上記の制約により、動画像符号化装置は、符号化対象ピクチャと最も類似する、最適な参照ブロックを設定できないことがある。例えば、イントラスライスの巡回方向とピクチャ上の像の移動方向が異なる場合、クリーン領域に含まれる符号化対象ピクチャと最も類似する参照ピクチャ上の領域の一部または全部が非クリーン領域に含まれることがある。このような場合、符号化対象ピクチャと参照ブロック間の画素値の差が必ずしも小さくならないので、符号化効率が低下する。【００１８】
このような問題を解決するための技術が特許文献４に開示されている。この技術では、動画像を復号する際、動きベクトルによって参照される参照ピクチャ内の領域の一部が参照ピクチャの非クリーン領域に含まれる場合には、動画像復号装置は、参照ピクチャの非クリーン領域内の画素値を参照しない。そして動画像復号装置は、参照ピクチャの非クリーン領域内の画素値の代わりに、イントラスライスの一端の画素値に基づいて外挿演算することにより算出した参照値を使用する。
しかしながら、動きベクトルによって参照される参照ピクチャ内の領域の殆どが非クリーン領域に含まれる場合には、外挿により算出された参照値と、対応する符号化対象ピクチャの画素値との差が大きくなるため、動き予測による符号化効率が向上しない。【００１９】
そこで、本明細書は、イントラスライス方式による動画像符号化効率を向上可能な動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００２０】
一つの実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置が提供される。この動画像復号装置は、符号化された動画像データからクリーン領域境界位置情報を抽出する領域境界位置情報抽出部と、クリーン領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、復号対象ブロックがクリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、復号対象ブロックが非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、参照可能なブロックのみを参照して復号対象ブロックを復号する復号部と、を有する。【００２１】
また、他の実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法が提供される。この動画像復号方法は、符号化された動画像データからクリーン領域境界位置情報を抽出し、クリーン領域境界位置情報に基づいて、クリーン領域と非クリーン領域とを特定し、復号対象ブロックがクリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、復号対象ブロックが非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、参照可能なブロックのみを参照して復号対象ブロックを復号する、ことを含む。【００２２】
さらに他の実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化装置が提供される。この動画像符号化装置は、ピクチャ内のクリーン領域と非クリーン領域とを決定する領域分類部と、符号化対象ブロックがクリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、参照可能なブロックのみを参照して符号化対象ブロックを符号化し、クリーン領域境界位置情報を符号化された動画像データに含める符号化部、とを有する。【００２３】
さらに他の実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化方法が提供される。この動画像符号化方法は、クリーン領域と非クリーン領域とを決定し、符号化対象ブロックがクリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、参照可能なブロックのみを参照して符号化対象ブロックを符号化し、クリーン領域境界位置情報を符号化された動画像データに含める、ことを含む。【００２４】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
【発明の効果】
【００２５】
ここに開示される動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法は、イントラスライス方式による動画像符号化効率を向上できる。
【図面の簡単な説明】
【００２６】
【図１】図１は、一つの実施形態による動画像復号装置により再生される、符号化された動画像データについて、各ピクチャにおけるクリーン領域の位置及び巡回方向の一例を示す図である。
【図２】図２は、一つの実施形態による動画像復号装置の概略構成図である。
【図３】図３は、符号化された動画像データの構造を示す図である。
【図４】図４（Ａ）及び図４（Ｂ）は、それぞれ、RefreshDirectionが'000'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。
【図５】図５（Ａ）及び図５（Ｂ）は、それぞれ、RefreshDirectionが'001'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。
【図６】図６（Ａ）及び図６（Ｂ）は、それぞれ、RefreshDirectionが'010'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。
【図７】図７（Ａ）及び図７（Ｂ）は、それぞれ、RefreshDirectionが'011'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。
【図８】図８（Ａ）及び図８（Ｂ）は、それぞれ、RefreshDirectionが'100'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。
【図９】図９は、動き補償するための参照領域と参照ピクチャにおけるクリーン領域及び非クリーン領域との位置関係の一例を示す図である。
【図１０】図１０（Ａ）及び図１０（Ｂ）は、それぞれ、復号対象ブロックと、その復号対象ブロックに対する予測動きベクトルを生成するために参照されるブロックの位置関係の一例を示す図である。
【図１１】図１１は、イントラ予測モードと、予測方向との関係を示す図である。
【図１２】図１２は、デブロッキングフィルタが参照する画素とクリーン領域及び非クリーン領域との関係の一例を示す図である。
【図１３】図１３は、一つの実施形態による動画像復号処理の動作フローチャートである。
【図１４】図１４は、一つの実施形態による動画像復号処理の動作フローチャートである。
【図１５】図１５は、他の実施形態による、符号化された動画像データの構造を示す図である。
【図１６】図１６（Ａ）、図１６（Ｂ）及び図１６（Ｃ）は、それぞれ、フィルタが参照する参照領域の一部が参照不能となる代表的なケースを表す図である。図１６（Ｄ）は、フィルタ処理の対象となる画素が非クリーン領域に属しているケースを表す図である。
【図１７】図１７は、他の実施形態による動画像符号化装置の概略構成図である。
【図１８】図１８は、動画像符号化処理の動作フローチャートである。
【図１９】図１９は、動画像符号化処理の動作フローチャートである。
【発明を実施するための形態】
【００２７】
以下、図を参照しつつ、一つの実施形態による、動画像復号装置について説明する。この動画像復号装置は、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを再生する。この動画像復号装置は、従来のスライスヘッダを挿入する方式とは異なり、符号化された動画像データに含まれるクリーン領域境界位置情報を参照することで、各ピクチャでの非クリーン領域とクリーン領域との境界を決定し、クリーン領域内のブロックの復号に非クリーン領域内のブロックを参照しないように復号する。エントロピー復号においては、この動画像復号装置は、クリーン領域境界にて、CABACのコンテクストの初期化を行わない。これらにより、この動画像復号装置は、クリーン領域での正常な画素値復号を保証しつつ、符号化効率の向上を図る。
【００２８】
なお、ピクチャは、フレームまたはフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
また、符号化された動画像は、カラー動画像であってもよく、あるいは、モノクロ動画像であってもよい。
【００２９】
図１は、一つの実施形態による動画像復号装置により再生される、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データについて、各ピクチャにおけるクリーン領域境界位置及び領域境界位置の遷移の一例を示す図である。
図１において示されたピクチャ１０１〜１０５のうち、最も左側に位置するピクチャ１０１が最も古いピクチャであり、右側に位置するピクチャほど、時刻が後のピクチャである。各ピクチャは、自身よりも前の時刻のピクチャを参照して符号化されている。すなわち、各ピクチャは時刻順に再生される。
さらに、各ピクチャは、水平方向にピクチャを横断する拡張クリーン領域１１０、クリーン領域１１１及び非クリーン領域１１２を含む。拡張クリーン領域１１０は、クリーン領域に含まれ、自身よりも前の時刻のピクチャでのクリーン領域１１１から拡張した領域である。拡張クリーン領域１１０内のマクロブロックはイントラ符号化もしくはインター符号化で符号化される。クリーン領域１１１以外の領域、この例ではクリーン領域１１１より下方の領域が非クリーン領域１１２となる。
クリーン領域１１１に含まれる複数のマクロブロックは、そのクリーン領域１１１を含むピクチャ内の情報または直前のピクチャのクリーン領域内の情報を用いて、正常画素値が復号されることが保証されるように符号化されている。そしてこの例では、ピクチャ１０１においてクリーン領域１１１は、ピクチャの上端に位置する。このピクチャでは拡張クリーン領域１１０とクリーン領域１１１は同一である。即ち、ピクチャ１０１自身よりも前の時刻のピクチャの領域は全て非クリーン領域であるとみなす。クリーン領域１１１と非クリーン領域１１２との境界が時刻の経過に応じて上から下へ移動する。そしてピクチャ１０５において、クリーン領域１１１はピクチャ全体を占める。即ち、ピクチャ全体の画素が正常に復号されたことになる。なお、ピクチャ１０５の次のピクチャ（図示せず）では、ピクチャ１０１と同様にクリーン領域は再度ピクチャの上端に位置することになる。このように、この例ではリフレッシュ周期は5である。またリフレッシュピクチャは、例えば、クリーン領域１１１及び同一領域を示す拡張クリーン領域１１０がピクチャ上の何れかの端部に設定され、次のピクチャでクリーン領域１１１と非クリーン領域１１２との境界がピクチャの中央へ向かって移動するピクチャとなる。この例では、クリーン領域１１１及び同一領域を示す拡張クリーン領域１１０がピクチャの上端に位置するピクチャ１０１がリフレッシュピクチャとなる。
【００３０】
図２は、一つの実施形態による動画像復号装置の概略構成図である。動画像復号装置１は、エントロピー復号部１０と、領域分類部１１と、参照可否判定部１２と、復号部２０とを有する。また復号部２０は、逆量子化・直交変換部１３と、加算器１４と、セレクタ１５と、動き補償部１６と、イントラ予測部１７と、ポストフィルタ部１８と、画像メモリ１９とを有する。
動画像復号装置１が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像復号装置１が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像復号装置１に実装されてもよい。さらに、動画像復号装置１が有するこれらの各部は、動画像復号装置１が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【００３１】
動画像復号装置１は、符号化された動画像データを含むデータストリームを、例えば、通信ネットワーク及び動画像復号装置１を通信ネットワークに接続するためのインターフェース回路（図示せず）を介して取得する。そして動画像復号装置１は、そのデータストリームから取り出した符号化動画像データを、図示しないバッファメモリに記憶させる。動画像復号装置１は、符号化された動画像データを、所定の単位、例えば、マクロブロックラインごと、あるいはピクチャごとにバッファメモリから読み出し、その読み出したデータをエントロピー復号部１０へ入力する。
【００３２】
エントロピー復号部１０は、符号化された動画像データのうち、所定のエントロピー符号化方式に従って符号化されているマクロブロックデータなどのデータを復号する。なお、所定のエントロピー符号化方式は、例えば、ハフマン符号化方式あるいは算術符号化方式とすることができる。
またエントロピー復号部１０は、符号化された動画像データから、動画像データを復号するために用いられる各種パラメータを取り出す。
【００３３】
図３は、符号化された動画像データの構造を示す図である。符号化された動画像データ３００は、シーケンスパラメータ３０１と、ピクチャパラメータ３０２と、リカバリポイント３０３と、マクロブロックデータ３０４とを含む。なお、符号化された動画像データ３００に関して特に説明していないパラメータは、例えば、MPEG-4 AVC/H.264標準で規定されているパラメータと同様のパラメータとすることができる。
シーケンスパラメータ(Sequence Parameter Set、SPS)３００は、動画像の画面サイズ及びフレームレートといった、複数のピクチャで共通するパラメータを含む。SPS３００は、符号化動画像データ中の各リフレッシュピクチャ等に付加される。本実施形態では、SPS３００は、リフレッシュピクチャに付加される。
【００３４】
さらにSPS３００は、巡回方向情報（Refresh Direction、RD)３１１を含む。RD３１１は、クリーン領域境界位置情報に含まれる情報の一例であり、ピクチャ内のクリーン領域境界の巡回方向を表す。本実施形態では、RD３１１は、３ビットの信号RefreshDirectionを持つ。RefreshDirectionの意味は以下のように定義される。
‘000’：クリーン領域境界は、ピクチャの上側から下側へ移動する。すなわち、拡張クリーン領域は、ピクチャを水平に横切るように設定され、クリーン領域境界は、時間の経過とともに上から下へ移動する。クリーン領域境界がピクチャの下側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの上側端に設定される。
‘001’：クリーン領域境界は、ピクチャの下側から上側へ移動する。すなわち、拡張クリーン領域は、ピクチャを水平に横切るように設定され、クリーン領域境界は、時間の経過とともに下から上へ移動する。クリーン領域境界がピクチャの上側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの下側端に設定される。
‘010’：クリーン領域境界は、ピクチャの左側から右側へ移動する。すなわち、拡張クリーン領域は、ピクチャを垂直に横切るように設定され、クリーン領域境界は、時間の経過とともに左から右へ移動する。クリーン領域境界がピクチャの右側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの左側端に設定される。
‘011’：クリーン領域境界は、ピクチャの右側から左側へ移動する。すなわち、拡張クリーン領域は、ピクチャを垂直に横切るように設定され、クリーン領域境界は、時間の経過とともに右から左へ移動する。クリーン領域境界がピクチャの左側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの右側端に設定される。
‘100’：クリーン領域境界は、ピクチャの先頭位置からラスタスキャン順に沿って移動する。すなわち、拡張クリーン領域は、一つまたは複数の水平に並んだマクロブロックとして設定され、クリーン領域境界は、時間の経過とともにラスタスキャン順に沿って移動する。クリーン領域境界がピクチャの右下端に到着した場合、次のピクチャで拡張クリーン領域はピクチャの左上端に設定される。
【００３５】
ピクチャパラメータ(Picture Parameter Set、PPS)３０２は、エントロピー符号化の方式を表すエントロピー符号化モード等、ピクチャ毎に設定される符号化パラメータを含む。PPS３０２は、ピクチャごとに付加される。
またPPS３０２は、境界移動量情報(Boundary Distance、BD)３２１を含む。BD３２１は、クリーン領域境界位置情報に含まれる情報の一例であり、復号されるピクチャの一つ前のピクチャにおけるクリーン領域境界の位置から、復号対象ピクチャ内のクリーン領域境界の位置までの移動量を表す。例えば、BD３２１は、マクロブロック単位または画素単位でクリーン領域境界の移動量を表す。
【００３６】
リカバリポイント(Recovery Point、RP)３０３は、ピクチャに含まれる全ての画素の値を正常に再生可能となった直後のピクチャまでのピクチャ数を含み、リフレッシュピクチャに付加される。本実施形態では、RP３０３は、各リフレッシュピクチャに付加され、その値は、リフレッシュ周期に相当するピクチャ数となる。
【００３７】
マクロブロックデータ(Macroblock、MB)３０４は、ピクチャごとに生成され、一つのピクチャ内の全マクロブロックの符号化データを含む。MB３０４は、マクロブロックごとのデータmb３３１を、ピクチャに含まれるマクロブロックの数だけ含む。そしてMB３０４は、所定のエントロピー符号化方式に従って符号化されている。なお、マクロブロックは、例えば、16×16画素のサイズを持ち、またインター予測もしくはイントラ予測の単位となる複数のブロックに分割される。ブロックのサイズは例えば4x4画素、8x8画素、もしくは16x16画素のサイズを持つ。
mb３３１は、マクロブロック全体に共通する復号パラメータ（例えば、マクロブロックの符号化モード、量子化パラメータ等）を含む。さらにmb３３１は、マクロブロックがインター符号化されている場合、そのマクロブロック内の各ブロックの動きパラメータを含む。動きパラメータは、参照するピクチャを表す参照ピクチャ識別子及び動きベクトルを含む。さらに、動きベクトルそのものも予測符号化されている場合には、動きパラメータは、動きベクトルの予測方法を表す指標pmvIdxと、動きベクトルと予測動きベクトル間の誤差とを含む。
またmb３３１は、マクロブロックがイントラ予測符号化されている場合、そのマクロブロック内の各ブロックに対するイントラ予測モードを、隣接するブロックのイントラ予測モードに基づいて決定するためのイントラ予測フラグprevIntraPredModeFlagを含む。
さらにmb３３１は、マクロブロックの各画素の予測誤差を直交変換及び量子化した量子化係数を含む。
【００３８】
さらにmb３３１は、下記の(a)〜(c)の条件全てが満たされる場合に、動きパラメータの一つとして動き補償パラメータalpha３３２を含んでもよい。
(a)mb３３１に対応するマクロブロックがインター符号化されている。
(b)mb３３１に対応するマクロブロック内の少なくとも一つのブロックについて、そのブロックがピクチャのクリーン領域内にある。
(c)(a)及び(b)の条件を満たすブロックの動きパラメータによって参照される参照ピクチャ内の参照領域の少なくとも一部が、参照ピクチャの非クリーン領域に含まれる。
alpha３３２は、上記の(a)〜(c)の条件に該当する各ブロックについて、対応する参照領域内に水平方向のクリーン領域境界及び垂直方向のクリーン領域境界の何れか一方のみにある場合には一つ規定される。またalpha３３２は、対応する参照領域内に水平方向のクリーン領域境界及び垂直方向のクリーン領域境界の両方がある場合には二つ規定される。
この動き補償パラメータalpha３３２は、後述するように、クリーン領域境界近傍での画素値の変動傾向を表す。例えば、クリーン領域から非クリーン領域へ向けて画素値が急激に大きくなるほど、alpha３３２は正の値でかつその絶対値も大きな値となる。一方、クリーン領域から非クリーン領域へ向けて画素値が急激に小さくなるほど、alpha３３２は負の値でかつその絶対値は大きな値となる。
【００３９】
エントロピー復号部１０は、領域境界位置情報抽出部の一例であり、シーケンスパラメータに含まれるクリーン領域境界の巡回方向情報、及びピクチャパラメータに含まれる境界移動量情報を符号化された動画像データから抽出する。そしてエントロピー復号部１０は、その巡回方向情報及び境界移動量情報を領域分類部１１へ出力する。
またエントロピー復号部１０は、所定のエントロピー符号化方式にしたがって復号されたマクロブロックデータのうち、各マクロブロックの量子化係数を逆量子化・直交変換部１３へ出力する。さらにエントロピー復号部１０は、各マクロブロックのうち、インター符号化されたマクロブロックの動きパラメータを動き補償部１６へ出力する。またエントロピー復号部１０は、各マクロブロックのうち、イントラ予測符号化されたマクロブロックのイントラ予測フラグをイントラ予測部１７へ出力する。さらにエントロピー復号部１０は、復号対象マクロブロックの符号化モードをセレクタ１５へ出力する。
【００４０】
領域分類部１１は、復号対象ピクチャについてエントロピー復号部１０から受け取った巡回方向情報及び境界移動量情報と、一つ前のピクチャのクリーン領域境界の位置とに基づいて、復号対象ピクチャのクリーン領域と非クリーン領域を特定する。
【００４１】
本実施形態では、境界移動量情報は、８ビットの信号BoundaryDistanceを持つ。そして領域分類部１１は、クリーン領域境界位置を、巡回方向情報に含まれるRefreshDirectionの値とBoundaryDistanceの値と一つ前のピクチャのクリーン領域境界の位置に基づいて以下のように決定する。ただし、BlockSizeは、直交変換の適用単位であるブロックの高さ及び幅である。MPEG-2の場合、BlockSizeは8である。
【００４２】
RefreshDirectionが'000'である場合：領域分類部１１は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、（BoundaryDistance * BlockSize）画素ライン下のラインとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでのクリーン領域境界位置はピクチャ上端とする。
【００４３】
図４（Ａ）及び図４（Ｂ）は、それぞれ、RefreshDirectionが'000'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図４（Ａ）及び図４（Ｂ）において、領域４０１はクリーン領域を表す。また領域４０２は、非クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界４０３がピクチャの上端からN番目のラインに位置する場合、ピクチャTにおけるクリーン領域境界４０３は、ピクチャの上端から(N + BoundaryDistance * BlockSize)番目のラインとなる。
【００４４】
RefreshDirectionが'001'である場合：領域分類部１１は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、（BoundaryDistance * BlockSize）画素ライン上のラインとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでの境界位置はピクチャ下端とする。
【００４５】
図５（Ａ）及び図５（Ｂ）は、それぞれ、RefreshDirectionが'001'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図５（Ａ）及び図５（Ｂ）において、領域５０１は非クリーン領域を表す。また領域５０２は、クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界５０３がピクチャの上端からN番目のラインに位置する場合、ピクチャTにおけるクリーン領域境界５０３は、ピクチャの上端から(N - BoundaryDistance * BlockSize)番目のラインとなる。
【００４６】
RefreshDirectionが'010'である場合：領域分類部１１は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、（BoundaryDistance * BlockSize）画素カラム右のカラムとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでの境界位置はピクチャ左端とする。
【００４７】
図６（Ａ）及び図６（Ｂ）は、それぞれ、RefreshDirectionが'010'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図６（Ａ）及び図６（Ｂ）において、領域６０１はクリーン領域を表す。また領域６０２は、非クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界６０３がピクチャの左端からN番目のカラムに位置する場合、ピクチャTにおけるクリーン領域境界６０３は、ピクチャの左端から(N + BoundaryDistance * BlockSize)番目のカラムとなる。
【００４８】
RefreshDirectionが'011'である場合：領域分類部１１は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、（BoundaryDistance * BlockSize）画素カラム左のカラムとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでの境界位置はピクチャ右端とする。
【００４９】
図７（Ａ）及び図７（Ｂ）は、それぞれ、RefreshDirectionが'011'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図７（Ａ）及び図７（Ｂ）において、領域７０１は非クリーン領域を表す。また領域７０２は、クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界７０３がピクチャの左端からN番目のカラムに位置する場合、ピクチャTにおけるクリーン領域境界７０３は、ピクチャの左端から(N - BoundaryDistance * BlockSize)番目のカラムとなる。
【００５０】
RefreshDirectionが'100'である場合：領域分類部１１は、復号対象ピクチャにおけるクリーン領域境界位置を、ピクチャの左上端のマクロブロックからラスタスキャン順でM'= (M + BoundaryDistance)番目までのマクロブロック群と、それ以外のマクロブロック群との境界とする。ただしMは、直前に復号されたピクチャでのクリーン領域の最後に含まれるマクロブロックの番号、すなわち、直前に復号されたピクチャにおけるM'の値である。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでのMは0とする。
【００５１】
図８（Ａ）及び図８（Ｂ）は、それぞれ、RefreshDirectionが'100'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図８（Ａ）及び図８（Ｂ）において、領域８０１はクリーン領域を表す。また領域８０２は、非クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界８０３がラスタスキャン順でピクチャの左上端のマクロブロックMB0からM番目のマクロブロックMBMにより規定される。この場合、ピクチャTにおけるクリーン領域境界８０３は、マクロブロックMB0からM'(=M + BoundaryDistance)番目のマクロブロックMBM'により規定される。
【００５２】
領域分類部１１は、復号対象ピクチャのクリーン領域の範囲と非クリーン領域の範囲を表す情報を、復号対象ピクチャの識別子とともに、画像メモリ１９に格納する。また領域分類部１１は、復号対象ピクチャのクリーン領域の範囲と非クリーン領域の範囲を表す情報を、復号対象ピクチャの識別子とともに参照可否判定部１２へ出力する。なおクリーン領域の範囲と非クリーン領域の範囲を表す情報は、例えば、RefreshDirectionの値と、クリーン領域境界に位置する画素ラインまたはカラム若しくはクリーン領域境界の直前に位置するマクロブロックのラスタスキャン順の番号を含む。
【００５３】
参照可否判定部１２は、復号対象マクロブロック内の復号対象ブロック及び復号対象ブロックが参照する参照領域が、それぞれクリーン領域に含まれるか非クリーン領域に含まれるかを判定する。そして参照可否判定部１２は、参照領域が復号対象ブロックによって参照可能か否かを判定する。
参照可否判定部１２は、動き補償部１６、イントラ予測部１７またはポストフィルタ部１８から、復号対象ブロックの位置と、復号対象ブロックが参照する参照領域の位置及び範囲と、参照領域が含まれる参照ピクチャの識別子とを含む情報を受け取る。なお、参照領域は、例えば、復号対象マクロブロックがインター符号化されている場合、動きベクトルによって特定され、復号対象ブロックの予測画像として用いられる領域である。また、復号対象マクロブロックがイントラ予測符号化されている場合、参照領域は、その復号対象ブロックに隣接する、既に復号されたブロックである。この既復号ブロックは、復号対象マクロブロック内、もしくは復号対象マクロブロックの隣接マクロブロック内に位置する。さらに、復号対象ブロックがデブロッキングフィルタ処理される場合、参照領域は、そのデブロッキングフィルタを用いて演算される領域である。
また参照可否判定部１２は、復号対象ピクチャについてのクリーン領域の範囲と非クリーン領域の範囲を表す情報を領域分類部１１から受け取る。そして参照可否判定部１２は、例えば、内蔵するメモリ回路に復号対象ピクチャがそれ以降のピクチャについての参照ピクチャとなる可能性がある間、その情報を保持する。あるいは、参照可否判定部１２は、参照ピクチャについてのクリーン領域の範囲と非クリーン領域の範囲を表す情報を画像メモリ１９から読み込んでもよい。
【００５４】
参照可否判定部１２は、復号対象ブロックがクリーン領域に含まれるか非クリーン領域に含まれるかを判定するために、復号対象ブロックの位置と復号対象ピクチャのクリーン領域と非クリーン領域との境界の位置とを比較する。
復号対象ブロックが非クリーン領域に含まれる場合、参照可否判定部１２は、復号対象ブロックを復号するために、参照領域内の画素全てが参照可能であると判定する。そして参照可否判定部１２は、その判定結果を、動き補償部１６、イントラ予測部１７またはポストフィルタ部１８へ通知する。
【００５５】
一方、復号対象ブロック全体がクリーン領域に含まれる場合、その復号対象ブロックは、クリーン領域に含まれる情報のみを用いて復号される。そこで参照可否判定部１２は、その復号対象ブロックについての参照領域とクリーン領域境界とを比較することにより、参照領域内で、その参照ピクチャのクリーン領域に含まれる画素を特定する。
参照領域に含まれる全ての画素が参照ピクチャのクリーン領域に含まれている場合、参照可否判定部１２は、参照領域に含まれる全ての画素が参照可能であるとの判定結果を動き補償部１６、イントラ予測部１７またはポストフィルタ部１８へ通知する。
一方、参照領域内の少なくとも一部の画素が参照ピクチャの非クリーン領域内にある場合、参照可否判定部１２は、参照領域内で参照可能な画素、及び参照不能な画素を表す情報を動き補償部１６、イントラ予測部１７またはポストフィルタ部１８へ通知する。
【００５６】
さらに、復号対象マクロブロックがインター符号化されており、かつ、その動きベクトルと予測動きベクトル間の予測誤差ベクトルが符号化された動画像データに含まれていることがある。動画像データを符号化する動画像符号化装置は、この予測ベクトルとして、符号化対象ピクチャ内のベクトルのみならず、過去に符号化済みの参照ピクチャのベクトル由来のベクトルも用いる場合がある。たとえば、H.264で規定されているB-DirectモードのTemporalモード等が一例である。この場合、参照可否判定部１２は、予測動きベクトルを決定するために参照されるブロックも、上記の参照領域の一つとして、そのブロックが復号対象ピクチャ及び参照ピクチャのクリーン領域に含まれるか非クリーン領域に含まれるか判定する。
そのために、参照可否判定部１２は、動き補償部１６から、復号対象ブロックの位置と、予測動きベクトルを決定するために参照される可能性のあるブロックの全てを含む領域を参照領域として、その参照領域の位置及び範囲を受け取る。そして参照可否判定部１２は、復号対象ブロックがクリーン領域内にある場合には、参照領域内の各ブロックについて、そのブロックがクリーン領域に含まれる場合、そのブロックは参照可能であると判定し、それ以外のブロックは参照不能と判定する。また復号対象ブロックが非クリーン領域にある場合には、参照可否判定部１２は参照領域内の全ブロックを参照可能と判定する。参照可否判定部１２は、参照領域内の各ブロックについて、参照可能か否かの判定結果を動き補償部１６へ通知する。
【００５７】
復号部２０は、エントロピー復号部１０から受け取った情報に基づいて、動画像データを再生する。その際、復号部２０は、復号対象ブロックが参照可能な画素に基づいて、その復号対象ブロックを再生する。そのために、復号部２０が有する各部は、以下に説明するように動作する。
【００５８】
逆量子化・直交変換部１３は、エントロピー復号部１０から受け取った復号対象マクロブロック内の各ブロックの量子化係数に対して量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより逆量子化する。この逆量子化により、復号対象マクロブロック内の各ブロックの直交変換係数の組が復元される。そして逆量子化・直交変換部１３は、直交変換係数の組に対して逆直交変換処理を行って、復号対象マクロブロックに含まれる各画素の予測誤差を復元する。なお、逆直交変換処理は、動画像データを符号化する際にマクロブロックに含まれる各ブロックについて行われた直交変換処理の逆変換であり、例えば、逆離散コサイン変換（Discrete Cosine Transform、DCT）である。
逆量子化・直交変換部１３は、復号対象マクロブロックに含まれる各画素の予測誤差を加算器１４へ出力する。
【００５９】
加算器１４は、逆量子化・直交変換部１３から受け取った復号対象マクロブロックの各画素の予測誤差に、セレクタ１５から受け取った予測画像の対応する画素の値を加算することで、ポストフィルタ適用前の復号対象マクロブロックの各画素の値を再生する。そして加算器１４は、再生された復号対象マクロブロックの各画素値を画像メモリ１９に格納する。
【００６０】
セレクタ１５は、復号対象マクロブロックの符号化モードにしたがって、予測画像を動き補償部１６またはイントラ予測部１７から受け取る。例えば、符号化モードが、復号対象マクロブロックがインター符号化されていることを示している場合、セレクタ１５は、動き補償された予測画像を動き補償部１６から受け取り、その予測画像を加算器１４へ出力する。
一方、符号化モードが、復号対象マクロブロックがイントラ予測符号化されていることを示している場合、セレクタ１５は、イントラ予測画像をイントラ予測部１７から受け取り、その予測画像を加算器１４へ出力する。
【００６１】
動き補償部１６は、復号対象マクロブロックについての動き補償された予測画像を生成する。そのために、動き補償部１６は、復号対象マクロブロックの位置及びエントロピー復号部１０から受け取った動きパラメータに基づいて、復号対象マクロブロック内の復号対象ブロックが参照する参照領域の位置及び参照領域が含まれる参照ピクチャを特定する。
例えば、動き補償部１６は、参照ピクチャ識別子に基づいて参照ピクチャを特定する。また動き補償部１６は、復号対象ブロックの位置に動きベクトルを加算することで参照領域を特定する。例えば、参照領域は、以下のように決定される。
復号対象ブロックの左上の位置、ブロックサイズ、動きベクトルの整数部分を、それぞれ(x, y)、(BlockSize, BlockSize)、(vx, vy)とする。この場合、参照領域は、４点(x + vx, y + vy)、(x + vx + BlockSize + ExtSizeH - 1, y + vy), (x + vx, y + vy + BlockSize + ExtSizeV - 1), (x + vx + BlockSize + ExtSizeH - 1, y + vy + BlockSize + ExtSizeV - 1)に囲まれた領域となる。即ち、参照領域は、左上の角の位置が(x + vx, y + vy)であり、水平方向及び垂直方向のサイズが(BlockSize + ExtSizeH - 1, BlockSize + ExtSizeV - 1)である矩形領域である。なお、ExtSizeH及びExtSizeVは、それぞれ、動きベクトルの水平成分、垂直成分が小数成分を含む場合に、非整数位置の画素値を計算するときに適用される補間フィルタのタップ数である。MPEG-4 AVC/H.264では、ExtSizeH及びExtSizeVは、それぞれ6である。
動き補償部１６は、復号対象ブロックの位置と、参照領域の位置及び範囲と、参照ピクチャの識別子とを含む情報を参照可否判定部１２へ通知する。
【００６２】
また動き補償部１６は、参照可否判定部１２から、参照領域に含まれる各画素について参照可能か否かの判定結果を受け取る。そして動き補償部１６は、参照領域に含まれる画素全てが参照可能である場合、その参照領域に基づいて、例えば、MPEG-4 AVC/H.264標準に規定された方法に従って予測画像を生成する。
【００６３】
一方、参照領域に含まれる画素の一部が参照できない場合、動き補償部１６は、その参照できない画素の値を用いずに予測画像を生成する。そのために、動き補償部１６は、参照不能な画素の値を、例えば、参照可能な画素に基づいて算出された値で置換する。
図９は、参照領域と参照ピクチャにおけるクリーン領域及び非クリーン領域との位置関係の一例を示す図である。図９において、領域９００は参照領域であり、水平方向の幅bH及び垂直方向の高さbVを持つ。また領域９１０はクリーン領域である。そして参照領域９００内の領域９２０（すなわち、右端の２列及び下端の３行）が非クリーン領域内に位置している。復号対象ブロックはクリーン領域内に位置するとする。
本実施形態では、参照領域９００内でクリーン領域９１０に含まれない領域９２０は、クリーン領域９１０と垂直方向に隣接している領域p1、クリーン領域９１０と水平方向に隣接している領域p2及びその他の領域p3に分割される。
動き補償部１６は、領域p1〜p3ごとに、例えば、次式に従って外挿演算を行うことにより、その領域p1〜p3に含まれる、水平方向座標x、垂直方向座標yの予測画素の値を求める。
【数１】
2012008054.tif 000003
ただし、座標(x,y)は、参照領域９００の左上端の画素の座標を(0,0)としたときの座標値である。またdH、dVは、それぞれ、参照領域９００のうち、クリーン領域９１０と重なっている領域の水平方向及び垂直方向の画素数である。さらに、係数alphaX及びalphaYは、それぞれ、マクロブロックデータにふくまれる動き補償パラメータである。係数alphaXは、水平方向における、参照領域９００内でクリーン領域から非クリーン領域への画素値の変動度合いを表す。係数alphaYは、垂直方向における、参照領域９００内でクリーン領域から非クリーン領域への画素値の変動度合いを表す。すなわち、（１）式は、領域p1及び領域p2内の画素の値を、その領域に隣接する参照可能画素の値に、水平方向または垂直方向の画素値の変動度合いalphaX、alphaYとその参照可能画素からの距離との比である補正係数を乗じた値とするものである。
動画像符号化装置は、符号化前の参照領域内の各画素の正確な値を知っているので、最適な動き補償パラメータを算出できる。そのため、参照領域において画素値がグラディエーション状に変化している場合でも、動き補償部１６は、この動き補償パラメータを用いて外挿演算することにより、領域p1〜p3内の予測画素の値を実際の画素値に近い値とすることができる。
なお、動き補償部１６は、領域p1内の画素の値を、その領域p1に隣接するクリーン領域内の画素値で置換してもよい。同様に、動き補償部１６は、領域p2内の画素の値を、その領域p2に隣接するクリーン領域内の画素値で置換してもよい。
【００６４】
なお、bV≦dVである場合、すなわち、参照領域の上端から下端までの各ラインについて、少なくとも１画素がクリーン領域に含まれる場合、動き補償部１６は、クリーン領域に含まれない各予測画素の値を全てp2領域に対する式に従って算出する。
また、bH≦dHである場合、すなわち、参照領域の左端から右端までの各カラムについて、少なくとも１画素がクリーン領域に含まれる場合、動き補償部１６は、クリーン領域に含まれない各予測画素の値を全てp1領域に対する式に従って算出する。
また、クリーン領域が右から左へ移動する場合、領域p2はクリーン領域の左側に隣接することになる。そこでこのような場合、動き補償部１６は、（１）式における(dH-1)を(bH-dH)に置換し、かつ(x-dH+1)を(bH-dH-x)に置換した式を用いて領域p2に含まれる予測画素の値を求める。
同様に、クリーン領域が下から上へ移動する場合、領域p1はクリーン領域の上側に隣接することになる。そこでこのような場合、動き補償部１６は、（１）式における(dV-1)を(bV-dV)に置換し、かつ(y-dV+1)を(bV-dV-y)に置換した式を用いて領域p1に含まれる予測画素の値を求める。
なお、参照可否判定部にて参照領域の画素が全て参照不可と判定された場合は、動き補償部１６は、規定値を全画素の画素値としてもよい。また、動き補償部１６は、その規定値を動き補償パラメータalphaで補正した値を全画素の画素値としてもよい。
【００６５】
さらに、動きベクトルが、その動きベクトルと予測動きベクトル間の予測誤差により符号化されていることがある。この場合、動き補償部１６は、予測動きベクトルを決定するために参照される可能性の有るブロック全てを含む参照領域の位置及び範囲を表す情報を、復号対象ブロックの位置とともに参照可否判定部１２へ通知する。
そして動き補償部１６は、参照可否判定部１２から、参照可能なブロックを表す判定結果を受け取る。動き補償部１６は、その判定結果及び指標pmvIdxに基づいて、予測動きベクトルを決定する。
【００６６】
図１０（Ａ）及び図１０（Ｂ）は、復号対象ブロックと、その復号対象ブロックに対する予測動きベクトルを生成するための参照ブロックの位置関係の一例を示す図である。図１０（Ａ）及び図１０（Ｂ）において、時刻Tにおける復号対象ピクチャ１０００に含まれるブロック１０１０が復号対象ブロックである。そして復号対象ブロック１０００の左上、上、右上及び左側に隣接するブロックbD、bB、bC及びbAが、それぞれ、参照ブロックである。各参照ブロックbD、bB、bC及びbAの動きベクトルを、それぞれ、VbD、VbB、VbC及びVbAで表す。
さらに、時刻(T-1)におけるピクチャ１００１において、復号対象ブロック１０００と同一の位置にあるブロックcol及びその周囲の各ブロックt0〜t7もまた、参照ブロックとなる。各参照ブロックcol及びti(i=0,1,...,7)の動きベクトルを、それぞれ、Vcol及びVtiで表す。
【００６７】
全ての参照ブロックが参照可能である場合、指標pmvIdxは、例えば、4ビットで表される値'0'〜'9'を持つ。そして指標pmvIdxの値に応じて、予測動きベクトルPMVは以下のように定義される。
pmvIdx=0：PMV=VbA
pmvIdx=1：PMV=VbB
pmvIdx=2：PMV=VbC
pmvIdx=3：PMV=VbD
pmvIdx=4：PMV=median(VbA, VbB, VbC)
pmvIdx=5：PMV=VspaEXT
pmvIdx=6：PMV=Vcol
pmvIdx=7：PMV=median(Vcol, Vt0, Vt1, Vt2, Vt3)
pmvIdx=8：PMV=median(Vcol, Vt0, Vt1, Vt2, Vt3, Vt4, Vt5, Vt6, Vt7)
pmvIdx=9：PMV=median(Vcol, Vcol, VbA, VbB, VbC)
関数median(Vj) (Vj∈｛VbA,VbB,VbC,Vcol,Vti｝)は、その関数の引数である動きベクトルVjの水平方向成分の中央値及び垂直方向成分の中央値をそれぞれ独立して出力する関数である。例えば、VbA = (2, 4), VbB = (4, 2), VbC = (6, 10)の場合、median(VbA, VbB, VbC) = (4, 4)となる。また関数median(Vj)の引数の何れかが未定義である場合、関数median(Vj)の出力値も定義されない。
【００６８】
また、VspaEXTは、以下のように定義される。
VspaEXT = median(VbA, VbB, VbC)    （bA、bB及びbCが全て有効である場合）
= VbA    （bAが有効で、bBまたはbCの少なくとも一方が有効でない場合）
= VbB    （bBが有効で、bAが有効でない場合）
= VbC    （上記の何れの条件も満たされない場合）
なお、参照ブロックが参照可能であり、かつ、参照ピクチャ内に位置し、さらにインター符号化されている場合、その参照ブロックは有効である。それ以外の場合、その参照ブロックは有効でない。
【００６９】
参照ブロックjが有効でない場合、その参照ブロックjの動きベクトルVjは、以下のように定義される。
有効でない参照ブロックがbA：VbA = (0,0)
有効でない参照ブロックがbB：VbB = VbA
有効でない参照ブロックがbC：VbC = VbA
有効でない参照ブロックがbD：VbD = VbA
有効でない参照ブロックがcol：Vcolは未定義
有効でない参照ブロックがti(i=0,1,...,7)：Vti = Vcol
未定義である動きベクトルに対応する指標pmvIdxの値も未定義となる。さらに、予測動きベクトルが同一となる複数の指標pmvIdxの値が存在する場合、そのうちの最小値以外は取り除かれるように、指標pmvIdxの値は再割り当てされてもよい。この場合、マクロブロックデータ中において指標pmvIdxに割り当てられるビット数は、有効な指標pmvIdxの値の範囲を表現可能な最小値に設定される。例えば、指標pmvIdxが、'0'〜'5'の値を取る場合（すなわち、Vcolが「未定義」の場合に該当する）、指標pmvIdxは、3ビットでエントロピー符号化される。また、全ての参照ブロックが参照可能であり、その結果pmvIdxが'0'〜'9'の値を取る場合には、指標pmvIdxは、4ビットでエントロピー符号化される。
【００７０】
例えば、図１０（Ａ）において、ピクチャ１０００における領域１０２０及びピクチャ１００１における領域１０２１が非クリーン領域であるとする。この場合、ブロックbB、bD、col、t0、t1、t4及びt7は参照できない。そのため、動きベクトルVcolが未定義となるので、動きベクトルVcolを参照する指標pmvIdxも未定義となり、指標pmvIdxは'6'〜'9'の値をとらない。さらに、動きベクトルVbB及びVbDは、それぞれ、VbAと等しくなるので、指標pmvIdxが'1'、'3'及び'4'の値となるときの予測動きベクトルは、指標pmvIdxが'0'である場合の予測動きベクトルVbAと同一となる。そのため、指標pmvIdxは、予測動きベクトルがVbAとなる値'0'と予測動きベクトルがVbCとなる値'2'の何れかの値となる。そして指標pmvIdxの値は、その２通りの予測動きベクトルを指定できるように再割り当てされる。その結果、指標pmvIdxと予測動きベクトルPMV間の関係は以下のようになる。
pmvIdx=0：PMV=VbA
pmvIdx=1：PMV=VbC
【００７１】
また、図１０（Ｂ）において、ピクチャ１０００における領域１０３０及びピクチャ１００１における領域１０３１が非クリーン領域であるとする。この場合、ブロックbC、t0、t1、t4及びt7は参照できない。ブロックbCが有効でないので、median(VbA, VbB, VbC)の出力値及びVSpaEXTの出力値はともにVbAとなる。そのため、指標pmvIdxが'4'または'5'のときの予測動きベクトルは、指標pmvIdxが'0'のときの予測動きベクトルと重複する。そのため、指標pmvIdxについて'4'及び'5'は除かれ、指標pmvIdxの値は以下のように再割り当てされる。
pmvIdx=0：PMV=VbA
pmvIdx=1：PMV=VbB
pmvIdx=2：PMV=VbD
pmvIdx=3：PMV=Vcol
pmvIdx=4：PMV=median(Vcol, Vcol, Vcol, Vt2, Vt3)
pmvIdx=5：PMV=median(Vcol, Vcol, Vcol, Vt2, Vt3, Vcol, Vt5, Vt6, Vtcol)
pmvIdx=6：PMV=median(Vcol, Vcol, VbA, VbB)
この結果、指標pmvIdxのエントロピー符号化ビット幅は3となる。
【００７２】
動き補償部１６は、上記の規則に従って、指標pmvIdxの値に対応する予測動きベクトルを決定する。そして動き補償部１６は、予測動きベクトルに動きベクトルの予測誤差を加算することにより、動きベクトルを算出する。
動き補償部１６は、算出された動きベクトルを用いて、上記のように予測画像を生成する。
【００７３】
なお、一つのマクロブロック内に複数のブロックが含まれており、ブロックごとに動きベクトルが求められている場合、動き補償部１６は、その各ブロックについて、上記と同様の処理を行って、予測画像を生成してもよい。
動き補償部１６は、動き補償された予測画像をセレクタ１５へ出力する。
【００７４】
イントラ予測部１７は、復号対象マクロブロックがイントラ予測符号化されている場合、各ブロックデータに付加されるイントラ予測符号化モードintraPredModeに従って予測画像を生成する。
【００７５】
そこでイントラ予測部１７は、復号対象ブロックの上側及び左側に隣接する、既に復号されたブロックを含む領域を参照領域として、その参照領域の位置及び範囲を復号対象ブロックの位置とともに参照可否判定部１２へ通知する。そしてイントラ予測部１７は、参照可否判定部１２から参照領域内の各画素を参照可能か否かの判定結果を受け取る。
【００７６】
図１１は、ブロックサイズが4x4画素の場合のイントラ予測モードと、予測方向との関係を示す図である。図１１において、画素a〜pを含むブロック１１００が復号対象ピクチャであり、画素Ａ〜Ｌは、参照領域に含まれる。また矢印は予測方向を表し、矢印と関連付けられた数値0,1,3-8は、それぞれ、予測方向に応じたイントラ予測モードを表す。さらに予測モードが'2'である場合、予測画像はDCモードで作成される。この例では、DCモードで作成された予測画像の各画素値は、画素Ａ〜Ｌの画素値の平均値である。
【００７７】
イントラ予測部１７は、復号対象ブロックのイントラ予測符号化モードintraPredModeを復号する。本実施形態では、図１１に示されるように、イントラ予測符号化モードintraPredModeは、0〜8の何れかの値を持つ。そのために、イントラ予測部１７は、復号対象ブロックの左側に隣接するブロックのイントラ予測符号化モードintraPredModeAを、イントラ予測部１７が内蔵するメモリから読み出す。またイントラ予測部１７は、復号対象ブロックの上側に隣接するブロックのイントラ予測モードintraPredModeBを、イントラ予測部１７が内蔵するメモリから読み出す。
もし左隣接ブロックが、参照可否判定部で参照不可と判定されたか、ピクチャ外に位置するか、まだ復号されていないか、もしくはインター符号化されていれば、intraPredModeAは、DCモードを表す値（例えば、'2'）に設定される。同様に、上隣接ブロックが、参照可否判定部で参照不可と判定されたか、ピクチャ外に位置するか、まだ復号されていないか、もしくはインター符号化されていれば、intraPredModeBは、DCモードを表す値に設定される。
【００７８】
また、イントラ予測部１７は、ブロックデータ中の1ビットのフラグprevIntraPredModeFlagを参照する。そしてprevIntraPredModeFlagの値が'1'の場合には、イントラ予測部１７は、値predIntraPredMode( = min(intraPredModeA, intraPredModeB))を復号対象ブロックのイントラ予測符号化モードintraPredModeとして設定する。なお、関数min(x,y)は、変数x,yのうちの小さい方の値を出力する関数である。
一方、prevIntraPredModeFlagの値が'0'の場合には、イントラ予測部１７は、ブロックデータ中に含まれる、イントラ予測モードの予測値に対する誤差を表す3ビットのデータremIntraPredModeを参照する。そしてイントラ予測部１７は、以下のように復号対象ブロックのイントラ予測符号化モードintraPredModeを決定する。
remIntraPredModeの値がpredIntraPredModeの値よりも小さい場合、イントラ予測部１７は、イントラ予測符号化モードintraPredModeを、remIntraPredModeの値で表されたモードとする。一方、remIntraPredModeの値がpredIntraPredModeの値以上である場合、イントラ予測部１７は、イントラ予測符号化モードintraPredModeを、(remIntraPredMode+1)の値で表されたモードとする。
【００７９】
イントラ予測部１７は、復号したイントラ予測符号化モードintraPredMode及び参照領域内の各画素を参照可能か否かの判定結果に基づいて、予測画像の生成に利用される画素が参照可能か否か判定する。
イントラ予測部１７は、予測画像の生成に利用される画素が参照可能であれば、予測画像を生成する。その際、例えば、イントラ予測部１７は、MPEG-4 AVC/H.264標準で規定された方法に従って予測画像を生成する。
一方、イントラ予測部１７は、予測画像の生成に利用される画素の少なくとも何れかが、参照不能であるか、ピクチャ外に位置していれば、復号に失敗したと判定する。この場合、イントラ予測部１７は、予測画像を生成しない。
【００８０】
具体的には、イントラ予測部１７は、イントラ予測符号化モードについて、復号に失敗したか否かを以下のように判定する。なお、「無効」なブロックは、参照可否判定部で参照不可能と判定されたブロックであるか、ピクチャ外に位置するブロックか、もしくはまだ復号されていないブロックかの何れかのブロックである。
intraPredMode = 0：復号対象ブロックの上側の隣接ブロックが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 1：復号対象ブロックの左側の隣接ブロックが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 2：イントラ予測部１７は、常に復号に成功したと判定する。ただし、復号対象ブロックの上側または左側に隣接するブロックが「無効」の場合、予測画像内の各画素の値は'128'に設定される。
intraPredMode = 3：復号対象ブロックの上側の隣接ブロックが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 4：復号対象ブロックの上側及び左側の隣接ブロックのうちの少なくとも一つが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 5：復号対象ブロックの上側及び左側の隣接ブロックのうちの少なくとも一つが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 6：復号対象ブロックの上側及び左側の隣接ブロックのうちの少なくとも一つが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 7：復号対象ブロックの上側の隣接ブロックが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
intraPredMode = 8：復号対象ブロックの左側の隣接ブロックが「無効」の場合、イントラ予測部１７は、復号に失敗したと判定とする。
なお、intraPredModeが3もしくは7のときのように、イントラ予測部１７がイントラ予測において右上のブロックの画素を参照する場合には、復号対象ブロックの上右側の隣接ブロックの画素値、具体的には図１１における画素E、F、G、Hの画素値を参照する。もし復号対象ブロックの上側の隣接ブロックが「無効」でなく、かつ復号対象ブロックの上右側の隣接ブロックが「無効」の場合には、画素E、F、G、Hの値を画素Dと同じ画素値として、イントラ予測画像を生成してもよい。
イントラ予測部１７は、復号対象ブロックに対する予測画像を生成した場合、その予測画像をセレクタ１５へ出力する。またイントラ予測部１７は、復号対象ブロックのイントラ予測符号化モードを、以降に復号されるブロックで参照可能なように、その復号対象ブロックを識別する識別子とともにイントラ予測部１７が内蔵するメモリに格納する。
【００８１】
ポストフィルタ部１８は、加算器１４から出力されたポストフィルタ処理を行う前のブロックの各画素に対し、ポストフィルタ処理として、デブロッキングフィルタを用いたフィルタリング処理を実行する。そしてポストフィルタ部１８は、隣接するブロック間の境界に発生するブロック歪を除去する。なお、ブロック歪は、隣接するブロック間で直流成分が不連続になることにより、ブロック形状がユーザによって認知される歪である。
ポストフィルタ部１８は、対象ブロック内の着目する画素に対してデブロッキングフィルタが参照する領域を参照領域として、対象ブロックの位置及び参照領域の位置及び範囲を参照可否判定部１２へ通知する。
【００８２】
ポストフィルタ部１８は、参照領域内の全ての画素が参照可能であるとの判定結果を参照可否判定部１２から受け取ると、参照領域に含まれる全ての画素値を利用して、デブロッキングフィルタ処理を実行する。例えば、対象ブロックが非クリーン領域に含まれる場合、あるいは対象ブロック及びデブロッキングフィルタで参照される領域がともにクリーン領域に含まれる場合、参照領域内の全ての画素が参照可能となる。なお、このデブロッキングフィルタは、例えば、MPEG-4 AVC/H.264標準にて規定されているデブロッキングフィルタとすることができる。
【００８３】
一方、ポストフィルタ部１８は、参照領域内に含まれる画素のうち、対象ブロックに隣接する周辺ブロックに含まれる画素が参照不能との判定結果を受け取った場合には、着目画素に対して表示用フィルタ処理と復号用フィルタ処理を実行する。
表示用フィルタ処理は、例えば、MPEG-4 AVC/H.264標準にて規定されているデブロッキングフィルタを用いたフィルタ処理である。この表示用フィルタ処理では、ポストフィルタ部１８は、その参照不能と判定された画素の値も用いてデブロッキングフィルタ処理を行う。そして表示用フィルタ処理が適用された対象ブロックのデータは、表示用に利用される。これにより、動画像復号装置１は、クリーン領域境界近傍に位置するブロックについてもデブロッキングフィルタを理想的に適用してブロック歪をより良好に除去した復号ピクチャを表示できる。
【００８４】
一方、復号用フィルタ処理では、ポストフィルタ部１８は、デブロッキングフィルタが参照する画素のうち、参照不能と判定された画素の値を参照せずにフィルタ処理を実行する。例えば、ポストフィルタ部１８は、参照不能と判定された画素の値を、対象ブロック内の画素値で置換する。そしてポストフィルタ部１８は、置換後の画素値を用いてデブロッキングフィルタ処理を行う。そして復号用フィルタ処理が適用された対象ブロックのデータは、復号順番で現在の復号ピクチャ以降のピクチャに含まれる他のブロックを復号するために利用される。
【００８５】
図１２は、デブロッキングフィルタが参照する画素と非クリーン領域及びクリーン領域との関係の一例を示す図である。図１２において、境界１２００よりも上方の領域１２０１はクリーン領域であり、境界１２００よりも下方の領域１２０２は、非クリーン領域である。また画素p0〜p3及びq0〜q3は、それぞれ、デブロッキングフィルタによって参照される画素である。画素p0〜p3にとって、画素q0〜q1は参照不能であり、画素q0〜q3にとって、画素p0〜p1は参照可能である。
この場合、ポストフィルタ部１８は、着目画素p0〜p2に対する表示用フィルタ処理として、例えば、MPEG-4 AVC/H.264標準で規定されている最も強いフィルタと同様に、次式に従ってフィルタ処理を実行する。
【数２】
2012008054.tif 000004
なお、（２）式において、p0〜p3及びq0、q1は、それぞれ、図１２に示された画素p0〜p3及びq0、q1の値を表す。またp'0〜p'2は、それぞれ、表示用フィルタ処理適用後における画素p0〜p2の値である。また演算子'>>'はビットシフト演算子であり、式(x >> y)に関して、変数xを右方向にyビットシフトさせる。なお、画素p0〜p3及びq0、q1が全て参照可能である場合も、ポストフィルタ部１８は、（２）式に従ってデブロッキングフィルタ処理を実行してもよい。
【００８６】
また、ポストフィルタ部１８は、着目画素p0〜p2に対する復号用フィルタ処理として、例えば、次式に従ってフィルタ処理を実行する。
【数３】
2012008054.tif 000005
なお、（３）式において、p0〜p3及びq0、q1は、それぞれ、図１１に示された画素p0〜p3及びq0、q1の値を表す。またp"0〜p"2は、それぞれ、復号用フィルタ処理適用後における画素p0〜p2の値である。（３）式に示されるように、復号用フィルタ処理では、非クリーン領域に含まれる画素q0、q1の値が、それぞれ、非クリーン領域に隣接する画素p0の値で置換されている。なお、ポストフィルタ部１８は、非クリーン領域に含まれる画素q0、q1の値を、それぞれクリーン領域に含まれる画素p0、p1の値で置換してもよい。一方、着目画素q0〜q2に対する復号用フィルタ処理としては、ポストフィルタ部１８は、（２）式でpとqとを入れ替えた式に従ってフィルタ処理を行う。着目画素p0〜p2の場合と異なり、ポストフィルタ部１８は、p0, p1の画素値を置換しなくてよい。
ポストフィルタ部１８は、表示用フィルタ処理が適用された対象マクロブロックの各画素値と、復号用フィルタ処理が適用された対象マクロブロックの各画素値とを、それぞれ画像メモリ１９に格納する。
【００８７】
画像メモリ１９は、例えば、半導体メモリであり、ポストフィルタ処理が行われる前の復号されたマクロブロックのデータを記憶する。また画像メモリ１９は、ポストフィルタ処理が行われた後のマクロブロックのデータを記憶する。特に、クリーン領域内にあり、かつデブロッキングフィルタの参照領域内に非クリーン領域内の画素が含まれるマクロブロックについては、画像メモリ１９は、表示用フィルタ処理が行われたマクロブロックのデータと復号用フィルタ処理が行われたマクロブロックのデータを記憶する。
そして画像メモリ１９は、動き補償部１６及びイントラ予測部１７にそのマクロブロックのデータを予測画像を生成するために供給する。また画像メモリ１９は、各マクロブロックのデータをへ出力する。なお、画像メモリ１９は、予め定められた所定枚数分のピクチャに相当するデータを記憶し、記憶されているデータ量がその所定枚数に相当する量を超えると、符号化順序が古いピクチャのデータから順に破棄する。
【００８８】
動画像復号装置１は、ピクチャごとに、再生されたマクロブロックをその符号化順序に従って結合することにより、ピクチャを再生する。そして結合部は、ピクチャを時間順に配置して、動画像データを再生する。動画像復号装置１は、再生した動画像データを出力する。出力された動画像データは、例えば、図示しない記憶装置に記憶される。また、ポストフィルタ部１８により生成された表示用マクロブロックデータを用いて作成されたピクチャを含む動画像データは、動画像復号装置１と接続された、図示しない表示装置に表示される。
【００８９】
図１３及び図１４は、一つの実施形態による動画像復号処理の動作フローチャートである。なお、動画像復号装置１は、この動画像復号処理をピクチャごとに実行する。
エントロピー復号部１０は、符号化された動画像データから巡回方向情報および境界移動量情報を抽出する（ステップＳ１０１）。そしてエントロピー復号部１０は、巡回方向情報及び境界移動量情報を領域分類部１１へ出力する。
領域分類部１１は、一つ前のピクチャのクリーン領域境界、巡回方向情報および境界移動量情報に基づいて、復号対象ピクチャのクリーン領域及び非クリーン領域を特定する（ステップＳ１０２）。そして領域分類部１１は復号対象ピクチャのクリーン領域及び非クリーン領域を表す情報を参照可否判定部１２へ出力する。
【００９０】
また、エントロピー復号部１０は、所定のエントロピー符号化方式にしたがって復号対象マクロブロックのマクロブロックデータを復号する（ステップＳ１０３）。そしてエントロピー復号部１０は、復号対象マクロブロックはイントラ予測符号化されているか否か判定する（ステップＳ１０４）。エントロピー復号部１０は、復号対象マクロブロックのマクロブロックデータに含まれる符号化モードがイントラ予測符号化されることを示している場合、復号対象マクロブロックはイントラ予測符号化されていると判定する。
復号対象マクロブロックがイントラ予測符号化されている場合（ステップＳ１０４−Ｙｅｓ）、エントロピー復号部１０は、セレクタ１５へ、復号対象マクロブロックはイントラ予測符号化されていることを通知する。またエントロピー復号部１０は、復号対象マクロブロック内の各復号対象ブロックについてのイントラ予測モードフラグprevIntraPredModeFlagをイントラ予測部１７へ出力する。
【００９１】
イントラ予測部１７は、復号対象ブロックの上側及び左側に隣接する参照ブロックを参照領域として、復号対象ブロックの位置及びその参照領域の位置及び範囲を参照可否判定部１２へ通知する。参照可否判定部１２は、復号対象ブロックの上側及び左側に隣接する参照ブロックのうち参照可能なブロックを判定する（ステップＳ１０５）。そして参照可否判定部１２は、その判定結果をイントラ予測部１７へ通知する。
イントラ予測部１７は、イントラ予測モードフラグprevIntraPredModeFlagに基づいてイントラ予測モードを求める。そしてイントラ予測部１７は、イントラ予測モード及び参照可能な参照ブロックに基づいてイントラ予測画像を生成する（ステップＳ１０６）。なお、イントラ予測モードによって規定された参照ブロックが参照不能である場合、イントラ予測部１７は、イントラ予測画像を生成せず、復号対象ブロックの復号に失敗したと判定する。イントラ予測部１７は、イントラ予測画像をセレクタ１５へ出力する。
【００９２】
一方、復号対象マクロブロックがイントラ予測符号化されていない場合（ステップＳ１０４−Ｎｏ）、エントロピー復号部１０は、復号対象マクロブロックはインター符号化されているか否か判定する（ステップＳ１０７）。エントロピー復号部１０は、復号対象マクロブロックのマクロブロックデータに含まれる符号化モードがインター符号化されることを示している場合、復号対象マクロブロックはインター符号化されていると判定する。
【００９３】
復号対象マクロブロックがインター符号化されている場合（ステップＳ１０７−Ｙｅｓ）、エントロピー復号部１０は、セレクタ１５へ、復号対象マクロブロックはインター符号化されていることを通知する。またエントロピー復号部１０は、動きパラメータを動き補償部１６へ出力する。そして動き補償部１６は、復号対象マクロブロック内の復号対象ブロックについての予測動きベクトルを決定するために参照され得るブロックを含む領域を参照領域として、その参照領域の位置及び範囲を復号対象ブロックの位置とともに参照可否判定部１２へ渡す。参照可否判定部１２は、参照領域中の参照可能なブロックを決定する。そして参照可否判定部１２は、参照可能なブロックを動き補償部１６へ通知する。
動き補償部１６は、参照可能なブロックと指標pmvIdxに基づいて予測動きベクトルを決定する（ステップＳ１０８）。そして動き補償部１６は、予測動きベクトルに動きベクトルと予測動きベクトル間の予測誤差を加算して動きベクトルを再生する（ステップＳ１０９）。
【００９４】
動き補償部１６は、動きベクトルで特定された領域を参照領域とする。そして動き補償部１６は、その参照領域の位置及び範囲を復号対象ブロックの位置とともに参照可否判定部１２へ渡す。参照可否判定部１２は、動きベクトルで特定された参照領域のうち参照可能な画素範囲を判定する（ステップＳ１１０）。そして参照可否判定部１２は、その判定結果を動き補償部１６へ通知する。
動き補償部１６は、参照領域の全ての画素が参照可能か否か判定する（ステップＳ１１１）。参照領域内の一部の画素が参照不能である場合（ステップＳ１１１−Ｎｏ）、動き補償部１６は、参照可能な範囲内の画素値に基づいて求めた値で参照不能な画素の値を置換する（ステップＳ１１２）。
ステップＳ１１２の後、あるいはステップＳ１１１にて参照領域の全ての画素が参照可能である場合（ステップＳ１１１−Ｙｅｓ）、動き補償部１６は、参照領域及び動きベクトルに基づいて、動き補償された予測画像を生成する（ステップＳ１１３）。そして動き補償部１６は、動き補償された予測画像をセレクタ１５へ出力する。
【００９５】
図１４に示されるように、逆量子化・直交変換部１３は、量子化係数を逆量子化して直交変換係数の組を復元し、その直交変換係数の組を逆直交変換して各画素の予測誤差を再生する（ステップＳ１１４）。
加算器１４は、各画素の予測誤差にセレクタ１５から受け取った予測画像の対応画素の値を加えることにより、復号対象マクロブロックを再生する（ステップＳ１１５）。
動画像復号装置１は、復号対象ピクチャ内の全てのマクロブロックが復号されたか否か判定する（ステップＳ１１６）。一部のマクロブロックが復号されていない場合（ステップＳ１１６−Ｎｏ）、動画像復号装置１は、ステップＳ１０３以降の処理を繰り返す。
【００９６】
一方、復号対象ピクチャ内の全てのマクロブロックが復号されている場合（ステップＳ１１６−Ｙｅｓ）、ポストフィルタ部１８は、復号対象ピクチャ中に対象ブロックを順次設定する。そしてポストフィルタ部１８は、対象ブロックについて設定されるデブロッキングフィルタの参照範囲を参照領域とする。そしてポストフィルタ部１８は、その参照領域の位置及び範囲を対象ブロックの位置とともに参照可否判定部１２へ通知する。参照可否判定部１２は、対象ブロックについて設定されるデブロッキングフィルタの参照範囲のうち参照可能な画素を判定する（ステップＳ１１７）。そして参照可否判定部１２は、その判定結果をポストフィルタ部１８へ通知する。
ポストフィルタ部１８は、参照範囲内の全ての画素は参照可能か否か判定する（ステップＳ１１８）。
【００９７】
参照範囲内の全ての画素は参照可能である場合（ステップＳ１１８−Ｙｅｓ）、ポストフィルタ部１８は、デブロッキングフィルタ処理を実行する（ステップＳ１１９）。
一方、参照範囲内の一部の画素が参照不能である場合（ステップＳ１１８−Ｎｏ）、ポストフィルタ部１８は、デブロッキングフィルタ処理を実行して、表示用ブロックデータを生成する（ステップＳ１２０）。
またポストフィルタ部１８は、参照不能な画素の値を対象ブロック内の画素値で置換する（ステップＳ１２１）。
そしてポストフィルタ部１８は、一部の画素値が置換された参照範囲内の画素値を用いてデブロッキングフィルタ処理を実行して、復号用ブロックデータを生成する（ステップＳ１２２）。
ステップＳ１１９またはＳ１２２の後、動画像復号装置１は、再生されたマクロブロックをマクロブロックの符号化順序に従って順次結合することにより、復号対象ピクチャを再生する（ステップＳ１２３）。そして動画像復号装置１は、１枚のピクチャに対する動画像復号処理を終了する。
なお、動画像復号装置１は、ステップＳ１０４〜Ｓ１０６の処理よりも、ステップＳ１０７〜Ｓ１１３の処理を先に行ってもよい。
【００９８】
以上に説明してきたように、一つの実施形態による動画像復号装置は、符号化された動画像データに含まれる、クリーン領域境界の巡回方向及びクリーン領域境界の移動量を表す情報に従って、各ピクチャにおけるクリーン領域境界の位置を特定する。そのため、この動画像復号装置が復号対象とする符号化された動画像データは、ピクチャごとにクリーン領域境界の位置を示すスライスヘッダを有さなくてもよい。さらに、クリーン領域境界の巡回方向を表す情報は、リフレッシュ周期ごとに１回、符号化された動画像データに挿入されればよい。また、クリーン領域境界の移動量を表す情報も、各ピクチャのデータの先頭に配置される。そのため、ピクチャの符号化データの途中にスライスヘッダが含まれないので、エントロピー符号化方式としてCABACが用いられる場合でも、コンテクストの初期化が発生する回数を減らせる。そのため、この動画像復号装置は、エントロピー符号化の効率が低下することを抑制できる。さらに、復号対象ブロックが属するスライスと別のスライスに属するブロックの動きベクトルは参照できないが、ピクチャの符号化データの途中にスライスヘッダが含まれないため、この制約が緩和され、動きベクトルの予測効率が向上する。
さらに、この動画像復号装置は、クリーン領域境界の巡回方向を表す情報及びクリーン領域境界の移動量を表す情報を設定するだけで、自由にクリーン領域境界の巡回方向を規定できる。そのため、例えば、シーンごとにピクチャに写っている像の移動方向と略一致するようにクリーン領域境界の巡回方向が設定されることで、クリーン領域内のマクロブロックについても、最適な動きベクトルを用いることが出来る確率が向上する。
【００９９】
なお、本発明は上記の実施形態に限定されない。例えば、動画像復号装置は、ポストフィルタ部を有さなくてもよい。この場合、図１４におけるステップＳ１１７以降の処理は省略される。
また他の実施形態によれば、クリーン領域境界は、符号化された動画像データにおいて、クリーン領域境界の方向と連続する二つのピクチャ間でのクリーン領域境界の移動量とによって規定されてもよい。
【０１００】
図１５は、他の実施形態による、符号化された動画像データの構造を示す図である。符号化された動画像データ１５００は、SPS１５０１と、PPS１５０２と、RP１５０３と、MB１５０４とを含む。この符号化された動画像データ１５００は、SPS１５０１が巡回方向情報の代わりに境界方向情報を含むこと、及びPPS１５０２が境界移動量情報の代わりに境界情報を含む点で、図３に示された符号化された動画像データ３００と異なる。符号化された動画像データ１５００が含むその他のパラメータは、符号化された動画像データ３００の対応するパラメータと同一であるため、以下では、境界方向情報及び境界情報について説明する。
【０１０１】
境界方向情報（Boundary Direction、BD)１５１１は、ピクチャ内のクリーン領域境界の方向を表す。なお、クリーン領域境界の方向は、クリーン領域境界の巡回方向と直交するので、BD１５１１もクリーン領域境界の巡回方向を表す情報の一例である。本実施形態では、BD１５１１は、２ビットの信号BoundaryDirectionを持つ。BoundaryDirectionの意味は以下のように定義される。
‘00’：クリーン領域境界は、ピクチャの位置(0,Δ)と(width-1,Δ)とを結ぶ水平線上にある。なお、位置(x,y)は、ピクチャの左上端の画素を原点とする水平座標x、垂直座標yの位置を表す。またwidthは、ピクチャの水平方向の画素数（すなわち、ピクチャの幅）である。Δはクリーン領域境界位置であり、境界情報によって規定される。ただし、この水平線自体は、クリーン領域に含まれる。
‘01’：クリーン領域境界は、ピクチャの位置(Δ,0)と(Δ,height-1)とを結ぶ垂直線上にある。なお、heightは、ピクチャの垂直方向の画素数（すなわち、ピクチャの高さ）である。ただし、この垂直線自体は、クリーン領域に含まれる。
‘10’：クリーン領域境界は、ピクチャの先頭位置（例えば、左上端）からラスタスキャン順に沿ってΔ番目のマクロブロックまでが含まれる領域とその他のマクロブロックとを分離する線上にある。ただし、この線自体は、クリーン領域に含まれる。
【０１０２】
境界情報(Boundary Information、BI)１５１２は、連続する二つのピクチャ間でのクリーン領域境界の移動量を表すパラメータboundaryDistanceと、クリーン領域を特定するためのパラメータoffsetPositionとを含む。
boundaryDistanceは、正または負の整数であり、復号対象ピクチャのクリーン領域境界位置Δは、次式に従って求められる。
Δ = Δ' + (boundaryDistance * blockSize)    (BoundaryDirectionが'00'または'01'である場合)
Δ = Δ' + boundaryDistance    (BoundaryDirectionが'10'である場合)
なお、Δ'は、復号対象ピクチャの一つ前のピクチャにおけるクリーン領域境界位置である。ただし、復号対象ピクチャがリフレッシュピクチャであり、かつboundaryDistanceが正である場合、Δ'は0に設定される。また復号対象ピクチャがリフレッシュピクチャであり、かつboundaryDistanceが負である場合、Δ'は、(width-1)（BoundaryDirectionが'00'の場合）または(height-1) （BoundaryDirectionが'01'の場合）に設定される。blockSizeは、直交変換処理の単位となるブロックの高さまたは幅である。例えば、MPEG-2では、blockSizeは8となる。
【０１０３】
offsetPositionは、2ビットの信号であり、クリーン領域境界で分離される二つの領域のうち、offsetPositionで指定された位置を含む領域がクリーン領域となる。
なお、offsetPositionの値と指定される位置の関係は、以下のように定義される。
offsetPosition = '00'：指定位置＝ピクチャの左上端
offsetPosition = '01'：指定位置＝ピクチャの右上端
offsetPosition = '10'：指定位置＝ピクチャの左下端
offsetPosition = '11'：指定位置＝ピクチャの右下端
【０１０４】
変形例によれば、BI１５１２は、さらにクリーン領域識別子regionIdを含んでもよい。regionIdは、例えば、0以上N未満の整数である。ここでNは、予め規定された値である。regionIdは、ビットストリーム先頭では'0'となり、リフレッシュピクチャが出現するたびに1ずつ増加する。そしてregionIdは、Nに達したとき'0'にリセットされる。クリーン領域に含まれる各ブロックには、識別子としてregionIdと同一の値が割り当てられ、非クリーン領域に含まれる各ブロックには、識別子として(regionId-1)の値が割り当てられる。
復号対象ブロックの識別子をidx1、参照領域に含まれるブロックである参照ブロックの識別子をidx2とした場合、参照可否判定部１２は、下記の条件を満たす参照ブロックを参照不可と判定する。
(idx1 > idx2) または (idx2-idx1 ≧ N/2)
【０１０５】
さらに他の実施形態によれば、クリーン領域境界の方向は、ピクチャの対角線と略平行となるように設定されてもよい。例えば、クリーン領域境界の方向がピクチャの右上端と左下端とを結ぶ対角線と略平行となる場合、クリーン領域境界はピクチャの左上端から右下端へ向けて移動する。
この場合、クリーン領域境界の位置は、変数Mで規定される。ピクチャの左上端のマクロブロックをBlock(0,0)とし、ピクチャの左端から水平方向に右へa番目で、かつピクチャの上端から垂直方向に下方へb番目のマクロブロックをBlock(a,b)で表す。この場合、クリーン領域境界は、
Block(a,b) | (a+b) ≦ M
の条件を満たすマクロブロックとその他のマクロブロックとの境界となる。そして変数Mは、例えば、境界情報に含まれるboundaryDistanceの値を、一つ前のピクチャに対する変数M'に加算した値として求められる。
【０１０６】
さらに他の実施形態によれば、ポストフィルタ部は、ポストフィルタ処理が行われる前のピクチャの各画素に対して、低域通過型の２次元空間フィルタを適用して、量子化歪を除去してもよい。この場合、２次元空間フィルタのフィルタ係数は、例えば、符号化された動画像データのピクチャパラメータの領域内に、エントロピー符号化された値として格納される。そしてエントロピー復号部が、そのフィルタ係数を復号し、復号したフィルタ係数をポストフィルタ部へ出力する。
例えば、ポストフィルタ部は、２次元空間フィルタによって参照される全ての画素が参照可能である場合、次式に従って２次元空間フィルタ処理を実行する。すなわち、２次元空間フィルタ処理の対象となる画素が非クリーン領域に属している場合、あるいは、２次元空間フィルタが参照する全ての画素がクリーン領域に属している場合、次式が適用される。
【数４】
2012008054.tif 000006
ここで、p(x,y)は、フィルタ処理が適用される前のピクチャにおける水平座標x、垂直座標yの画素の値であり、p'(x,y)は、フィルタ処理が適用された後のピクチャにおける水平座標x、垂直座標yの画素の値である。またw(i,j)は、フィルタ係数であり、例えば、２次元のガウスフィルタに相当する係数値となる。Dは正規化ファクタである。この場合、２次元空間フィルタは、5x5のタップ数を持つ。なお、ポストフィルタ部は、5x5のタップ数を持つフィルタに限らず、例えば、3x3または7x7のタップ数を持つフィルタを用いてもよく、あるいは、垂直方向のタップ数と水平方向のタップ数が異なるフィルタを用いてもよい。
【０１０７】
一方、２次元空間フィルタによって参照される画素の一部が参照不能である場合、ポストフィルタ部は、次式に従って２次元空間フィルタ処理を実行する。すなわち、フィルタ処理の対象となる画素p(x,y)が属するブロックがクリーン領域に属し、その隣接ブロックが非クリーン領域に属し、かつ、２次元空間フィルタによって参照される領域がそれら二つのブロックに跨る場合に次式が適用される。
【数５】
2012008054.tif 000007
ここで、q(x,y)は、フィルタ処理が適用される前のピクチャに対して、参照不能な画素の値を参照可能な画素の値で置換したピクチャにおける水平座標x、垂直座標yの画素の値である。このように、ポストフィルタ部は、参照不能な画素の値を参照可能な画素の値で置換した上で空間フィルタ処理を実行することにより、参照不能な画素を参照しない空間フィルタ処理を実現できる。
【０１０８】
図１６（Ａ）〜図１６（Ｃ）は、それぞれ、フィルタが参照する参照領域の一部が参照不能となる代表的なケースを表す。また図１６（Ｄ）は、フィルタ処理の対象となる画素が非クリーン領域に属しているケースを表す。図１６（Ａ）〜図１６（Ｄ）において、ブロック１６００は、フィルタにより参照される参照領域全体を表す。そしてブロック１６００の中心に位置する画素１６０１は、フィルタ処理が行われる着目画素であり、その位置は、左上端画素を原点として水平方向座標x、垂直方向座標yで表される。そして領域１６０２は、非クリーン領域を表す。図１６（Ａ）〜図１６（Ｃ）では、この非クリーン領域が参照不能領域となる。なお、参照領域１６００から参照不能領域を除いた残りの領域が参照可能領域である。着目画素１６０１から参照不能領域までの垂直方向の画素数はNで表され、一方、着目画素１６０１から参照不能領域までの水平方向の画素数はMで表される。また図１６（Ａ）〜図１６（Ｄ）において、着目画素１６０１から放射状に伸びる線と重なった画素が、フィルタリング演算に使用される画素である。
【０１０９】
図１６（Ａ）では、参照不能領域１６０２は、参照領域内の下側にある。また図１６（Ｂ）では、参照不能領域１６０２は、参照領域内の右側にある。また図１６（Ｃ）では、参照不能領域１６０２は、参照領域内の右側及び下側にある。
ポストフィルタ部は、例えば、参照不能領域内の画素値を参照可能領域内の何れかの画素の値で置換して、q(x,y)を求める。
例えば、図１６（Ａ）〜図１６（Ｃ）のそれぞれのケースについて、ポストフィルタ部は、左上を原点とし、水平座標X、垂直座標Yの画素値q(X,Y)を以下のように算出する。
ケース１（図１６（Ａ））：参照領域内の下方に参照不能領域がある場合
q(X,Y) = p(X,Y) | (Y < y+N)    （図１６（Ａ）では、N=1）
q(X,Y) = p(X, y+N-1) | (Y ≧ y+N)
なお、参照領域内の上方に参照不能領域がある場合も同様に、参照不能領域内の画素値を、その参照不能領域に隣接する参照可能領域の画素値で置換することでq(X,Y)は算出される。
ケース２（図１６（Ｂ））：参照領域内の右側に参照不能領域がある場合
q(X,Y) = p(X,Y) | (X < x+M)    （図１６（Ｂ）では、M=2）
q(X,Y) = p(x+M-1, Y) | (X ≧ x+M)
なお、参照領域内の左側に参照不能領域がある場合も同様に、参照不能領域内の画素値を、その参照不能領域に隣接する参照可能領域の画素値で置換することでq(X,Y)は算出される。
ケース３（図１６（Ｃ））：参照領域内の下側及び右側に参照不能領域がある場合
q(X,Y) = p(X,Y) | (X < x+M)かつ(Y < y+N)    （図１６（Ｃ）では、M=2、N=1）
q(X,Y) = p(x+M-1, y+N-1) | (X ≧ x+M または Y ≧ y+N)
なお、参照領域内の左側及び上側に参照不能領域がある場合、参照可能領域の左上端の画素値で参照不能領域内の画素値を置換することでq(X,Y)は算出される。
また、ポストフィルタ部は、図１６（Ｄ）に示されるケースでは、フィルタによって参照される画素がクリーン領域または非クリーン領域の何れに属している場合でも、（４）式に従って２次元空間フィルタ処理を実行する。
【０１１０】
なお、ポストフィルタ部は、空間フィルタによって参照される一部の画素が参照不能である場合、その参照不能な画素の値を予め定めた値（例えば、128）で置換した上で、空間フィルタ処理を実行してもよい。
【０１１１】
さらに他の変形例によれば、動き補償部は、動き補償された予測画像を生成するために参照される領域内の一部の画素が参照不能である場合、クリーン領域境界近傍で、かつその参照される領域内で参照可能な部分に写っている像のエッジ方向を求める。なおエッジ方向は、例えば、sobelフィルタを用いて様々な方向に対するエッジ検出処理を行ってエッジ強度が最も強い方向を特定することにより求められる。そして動き補償部は、エッジ方向に沿って画素値がほぼ等しくなるように、参照不能な領域内の画素値を外挿してもよい。
【０１１２】
ポストフィルタ部は、デブロッキングフィルタ演算の対象画素がクリーン領域にあり、デブロッキングフィルタが参照する隣接ブロック内の画素が非クリーン領域内にある場合には、その隣接ブロック内の画素をデブロッキングフィルタ演算に使用しない。一方、デブロッキングフィルタ演算の対象画素が非クリーン領域にあり、デブロッキングフィルタが参照する隣接ブロックがクリーン領域に属する場合、ポストフィルタ部は、隣接ブロック内の画素をデブロッキングフィルタ演算に使用する。また、デブロッキングフィルタ演算の対象画素及びデブロッキングフィルタが参照する隣接ブロック内の画素が共に非クリーン領域にある場合には、ポストフィルタ部は、MPEG-4 AVC/H.264標準で規定されたデブロッキングフィルタ演算を実行すればよい。さらに、デブロッキングフィルタ演算の対象画素及びデブロッキングフィルタが参照する隣接ブロック内の画素が共にクリーン領域にある場合も、ポストフィルタ部は、MPEG-4 AVC/H.264標準で規定されたデブロッキングフィルタ演算を実行すればよい。
【０１１３】
さらに他の実施形態では、動き補償部は、復号対象ブロックの予測動きベクトルPMVを以下のように復号してもよい。例えば、図１０（Ａ）及び図１０（Ｂ）に示されるように、時刻Tにおけるピクチャの復号対象ブロックの左、上、右上に隣接するブロックをそれぞれbA、bB、bCとする。
動き補償部は、予測動きベクトルPMVを、標準で規定された予測動きベクトルの導出方法に従って算出する。ただし、動き補償部は、ブロックbA、bB及びbCが有効か否かを判断する際、それぞれのブロックが復号対象ブロックと別スライスにあるか否かを判断する代わりに、それぞれのブロックが参照可否判定部による参照可能か否かの判定結果を用いる。
【０１１４】
さらに他の実施形態では、動き補償部は、予測動きベクトルPMVを以下のように復号してもよい。例えば、図１０（Ａ）及び図１０（Ｂ）に示されるように、時刻Tにおけるピクチャの復号対象ブロックの左、上、右上に隣接するブロックをそれぞれbA、bB、bCとする。また時刻(T-1)におけるピクチャ内で、復号対象ブロックと同一位置にあるブロックをcolとする。
【０１１５】
ブロックcolが有効である場合には、符号化された動画像データに含まれるマクロブロックごとのデータmbのインター予測ブロック毎に、1ビットのデータmvcompSelが付加される。mvcompSelの値に基づいて、動き補償部は、予測動きベクトルPMVを以下のように算出する。
mvcompSel=0：動き予測ベクトルPMVは、MPEG-4 AVC/H.264標準で規定された予測動きベクトルの導出方法に従って求められる。
mvcompSel=1：PMV=Vcol
【０１１６】
ブロックcolが有効でない場合には、マクロブロックごとのデータmbのインター予測ブロックにおいて、パラメータmvcompSelは規定されない。この場合、動き補償部は、予測動きベクトルPMVを、MPEG-4 AVC/H.264標準で規定された予測動きベクトルの導出方法に従って求める。
【０１１７】
次に、他の実施形態による動画像符号化装置について説明する。
この実施形態による動画像符号化装置は、イントラスライス方式で動画像データを符号化する。そして、この動画像符号化装置は、符号化動画像データに、クリーン領域の境界位置を表すスライスヘッダをピクチャごとに挿入する代わりに、クリーン領域境界の巡回方向情報及び一つ前のピクチャからのクリーン領域境界の移動量情報を含める。これにより、この動画像符号化装置は、クリーン領域境界を表す情報の量を減らし、またスライスヘッダ挿入による符号化効率の低下を防ぎ、またクリーン領域境界の巡回方向を柔軟に変更可能とすることで符号化効率の向上を図る。
【０１１８】
図１７は、他の実施形態による動画像符号化装置の概略構成図である。動画像符号化装置２は、クリーン領域境界位置決定部２１と、参照可否判定部２２と、符号化部３３とを有する。符号化部３３は、予測モード判定部２３と、イントラ予測部２４と、動き補償部２５と、セレクタ２６と、予測誤差信号生成部２７と、直交変換・量子化部２８と、エントロピー符号化部２９と、逆量子化・直交変換部３０と、加算器３１と、画像メモリ３２とを有する。
動画像符号化装置２が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像符号化装置２が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像符号化装置２に実装されてもよい。さらに、動画像符号化装置２が有するこれらの各部は、動画像符号化装置２が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
【０１１９】
クリーン領域境界位置決定部２１は、領域分類部の一例であり、各ピクチャに対して所定の周期でクリーン領域がピクチャ全体を占めるように、各ピクチャのクリーン領域境界の位置を決定する。クリーン領域境界位置決定部２１は、例えば、クリーン領域境界の巡回方向を表す情報を、図示しない制御部から受け取る。あるいは、クリーン領域境界位置決定部２１は、リフレッシュ周期の整数倍の周期で、巡回方向を切り替えてもよい。例えば、クリーン領域境界位置決定部２１は、リフレッシュピクチャの直前の所定枚数のピクチャについて求められた複数の動きベクトルの最頻値または中央値を求めて、その最頻値または中央値が表す方向を求める。そしてクリーン領域境界位置決定部２１は、設定可能な複数のクリーン領域境界の巡回方向のうち、その最頻値または中央値が表す方向と最も近い方向をクリーン領域境界の巡回方向としてもよい。
【０１２０】
またクリーン領域境界位置決定部２１は、一つ前のピクチャにおけるクリーン領域境界の位置と、連続する二つのピクチャ間でのクリーン領域境界の移動量と、クリーン領域境界の巡回方向とに応じて、符号化対象ピクチャのクリーン領域境界の位置を決定する。なお、クリーン領域境界位置決定部２１は、例えば、図示しない制御部から、クリーン領域境界の移動量を表す情報を受け取る。クリーン領域境界位置決定部２１は、動画像復号装置１の領域分類部１１による演算と同様の演算を行うことにより、クリーン領域境界の位置を求めることができる。
クリーン領域境界位置決定部２１は、クリーン領域境界に基づいて決定される符号化対象ピクチャのクリーン領域の範囲と非クリーン領域の範囲を表す情報を、符号化対象ピクチャの識別子とともに参照可否判定部２２へ出力する。またクリーン領域境界位置決定部２１は、符号化対象ピクチャのクリーン領域境界の位置及びクリーン領域の範囲を予測モード判定部２３へ通知する。さらに、クリーン領域境界位置決定部２１は、符号化対象ピクチャ以降のピクチャにおけるクリーン領域境界の位置を決定するために、符号化対象ピクチャのクリーン領域境界の位置を、例えば、内蔵するメモリに格納する。さらに、クリーン領域境界位置決定部２１は、クリーン領域境界の巡回方向を表す情報と、連続する二つのピクチャ間でのクリーン領域境界の移動量を表す情報とを、エントロピー符号化部２９へ通知する。
【０１２１】
参照可否判定部２２は、符号化対象マクロブロック内の各ブロック（すなわち、符号化対象ブロック）の位置と、参照領域の位置及びサイズを、予測モード判定部２３、イントラ予測部２４または動き補償部２５から受け取る。そして参照可否判定部２２は、符号化対象ブロックが符号化対象ピクチャのクリーン領域に含まれるか否かを判定する。また参照可否判定部２２は、参照領域内の画素が参照ピクチャのクリーン領域に含まれるか否かを判定する。そして参照可否判定部２２は、動画像復号装置１の参照可否判定部１２と同様に、それらの判定結果に応じて、その参照領域内の画素を参照可能か否か判定する。そして参照可否判定部２２は、その参照領域内で参照可能な画素を表す情報を予測モード判定部２３、イントラ予測部２４または動き補償部２５へ出力する。
【０１２２】
符号化部３３は、図示しない、符号化する動画像データを記憶するバッファメモリから、符号化する動画像データのピクチャのデータをマクロブロック単位で順次読み込む。そして符号化部３３は、符号化対象ブロックが参照可能な画素に基づいて、その符号化対象ブロックを符号化する。そのために、符号化部３３が有する各部は、以下に説明するように動作する。
【０１２３】
予測モード判定部２３は、符号化対象ブロックに対する予測画像の生成方法を規定する予測モードを決定する。予測モード判定部２３は、例えば、符号化対象マクロブロックがクリーン領域に属していれば、符号化対象マクロブロックの予測モードを、イントラ符号化モードまたはイントラ予測符号化モードとする。特に、リフレッシュピクチャでは、クリーン領域のマクロブロックはインター符号化を選択できないので、予測モード判定部２３は、符号化対象ピクチャ内のマクロブロックの情報のみを参照するイントラ符号化モードを選択する。
また予測モード判定部２３は、符号化対象マクロブロックがクリーン領域に属する場合には、インター符号化する場合またはイントラ予測符号化する場合に参照される可能性のある領域をそれぞれ参照領域として特定する。そして予測モード判定部２３は、符号化対象マクロブロックの位置と、そのマクロブロックがインター符号化される場合及びイントラ予測符号化される場合のそれぞれの参照領域の位置及び範囲を参照可否判定部２２へ通知する。
また予測モード判定部２３は、符号化対象マクロブロックが非クリーン領域に属する場合には、符号化対象マクロブロックの予測モードを、イントラ符号化モードまたはイントラ予測符号化モードとする。
予測モード判定部２３は、参照可否判定部２２から参照領域内の各画素について参照可能か否かの判定結果を受け取る。そして予測モード判定部２３は、各符号化モードについてのマクロブロックの符号化されたデータ量の評価値であるコストをそれぞれ算出する。そして予測モード判定部２３は、コストが最小となる符号化モードを、符号化対象マクロブロックに対して適用される符号化モードとする。
各符号化モードに対するコストは、例えば、次のように計算される。
【数６】
2012008054.tif 000008
ここで、costf及びcostiは、それぞれ、インター符号化モード及びイントラ予測符号化モードに対応するコストである。orgi,jは、符号化対象マクロブロックに含まれる水平方向座標i、垂直方向座標jの画素の値を表す。またrefi,jは、予測画像に含まれる水平方向座標i、垂直方向座標jの画素の値を表す。なお、予測モード判定部２３は、イントラ予測部２４及び動き補償部２５と同様の方法によって参照ピクチャから予測画像を生成する。またmv1は、符号化対象マクロブロックに対する動きベクトルを表し、premv1は、直前に符号化されたマクロブロックの動きベクトルを表す。ただし、premv1は、符号化対象ブロックについて参照可能な範囲内から選択される。さらに、Table[a-b]は、ベクトルaとベクトルbの差分ベクトルに対応する推定符号量を出力する。例えば、Table[a-b]は、様々な差分ベクトルに対する推定符号量を示した参照テーブルであってもよい。またλは重み定数であり、例えば、1に設定される。AveMBは、符号化対象マクロブロックに含まれる画素値の平均値である。また、AveMBの代わりに、符号化対象マクロブロックに隣接するマクロブロックに含まれる画素値から生成されるイントラ予測画像の画素値が用いられてもよい。この場合も、符号化対象マクロブロックに隣接するマクロブロックのうち、参照可能なマクロブロックから生成可能なイントラ予測画像のみが用いられる。この場合、予測モード判定部２３は、各イントラ予測モードについても別個にコストを算出する。ただし、イントラ予測画像が生成できないイントラ予測モードに対するコストは、他の符号化モードによるコストよりも大きくなるような非常に大きな値に設定される。
【０１２４】
予測モード判定部２３は、（６）式に従って、選択対象となる符号化モードのそれぞれについてコストを算出する。そして予測モード判定部２３は、コストが最小となる符号化モードを、符号化対象マクロブロックに対して適用される符号化モードとして選択する。
予測モード判定部２３は、選択した符号化モードをセレクタ２６及びエントロピー符号化部２９へ通知する。また予測モード判定部２３は、選択した符号化モードがイントラ予測符号化モードであれば、イントラ予測部２４へ予測画像を生成するよう通知する。一方、選択した符号化モードがインター符号化モードであれば、予測モード判定部２３は、動き補償部２５へ動き補償された予測画像を生成するよう通知する。
【０１２５】
イントラ予測部２４は、予測モード判定部２３によって選択されたイントラ予測モードに従って予測画像を生成する。その際、イントラ予測部２４は、例えば、MPEG-4 AVC/H.264に規定されている水平モード、ＤＣモード、または垂直モードなどに従って予測画像を生成する。
イントラ予測部２４は、生成された予測画像をセレクタ２６へ渡す。
【０１２６】
動き補償部２５は、符号化対象マクロブロックがインター符号化される場合、符号化対象マクロブロック内の符号化対象ブロックと参照ピクチャとを用いて動きベクトルを算出する。動きベクトルは、符号化対象ブロックと、そのブロックに最も類似する参照ピクチャとの空間的な移動量を表す。
動き補償部２５は、符号化対象ブロックの位置と、動きベクトルを求めるために参照される可能性のある参照ピクチャ上の参照領域の位置及び範囲とを参照可否判定部２２へ通知する。そして動き補償部２５は、参照可否判定部２２から、参照領域内で参照可能な画素を表す情報を受け取る。
動き補償部２５は、符号化対象ブロックと、参照ピクチャとのブロックマッチングを実行することにより、符号化対象ブロックと最も一致する参照ピクチャ及びその参照ピクチャが含まれるピクチャ上での位置を決定する。なお、参照領域内の一部の画素が参照不能な場合、動き補償部２５は、符号化対象ブロックとのブロックマッチングを行う参照ピクチャ上の範囲を、参照可否判定部２２により示された参照可能な画素を少なくとも一部に含む範囲に限定する。
【０１２７】
動き補償部２５は、符号化対象ブロックのピクチャ上の位置と、そのブロックに最も一致する参照ピクチャ上の領域との水平方向及び垂直方向の移動量を動きベクトルとする。
動き補償部２５は、画像メモリ３２から得た参照ピクチャ中の符号化対象ブロックと最も一致するブロックを動きベクトルに基づいて動き補償することにより予測画像を生成する。なお、動き補償は、動きベクトルで表された、ブロックとそれに対して最も類似する参照ピクチャ上のブロックの位置ずれ量を相殺するように、その最も類似する参照ピクチャ上のブロックの位置を移動する処理である。
【０１２８】
さらに、動き補償部２５は、符号化対象ブロックと最も一致する参照ピクチャ上のブロック（以下では、単に参照ブロックと呼ぶ）に参照不能な画素が含まれる場合、動き補償パラメータを算出してもよい。例えば、動き補償部２５は、参照ブロック中の下側または上側に参照不能な画素がある場合、参照ブロックの上端または下端に位置する参照不能な画素の値の平均値PIを算出する。そして動き補償部２５は、その平均値PIから参照ブロックの中心近傍の画素の平均値PCを減算した値(PI-PC)を平均値PCで除した値を、垂直方向についての動き補償パラメータalphaYとする。同様に、動き補償部２５は、参照ブロック中の右側または左側に参照不能な画素がある場合、参照ブロックの右端または左端に位置する参照不能な画素の値の平均値PIを算出する。そして動き補償部２５は、その平均値PIから参照ブロックの中心近傍の画素の平均値PCを減算した値(PI-PC)を平均値PCで除した値を、水平方向についての動き補償パラメータalphaXとする。
そして動き補償部２５は、動画像復号装置２の動き補償部１６と同様に、例えば（１）式に従って算出された値で、参照ブロック中の参照不能な画素の値を置換する。
そして動き補償部２５は、その置換された画素値を含む参照ブロックに基づいて予測画像を生成する。
動き補償部２５は、動きベクトル、動き補償パラメータとともに参照ピクチャの識別子をエントロピー符号化部２９へ渡す。また動き補償部２５は、予測画像をセレクタ２６へ渡す。
【０１２９】
セレクタ２６は、予測モード判定部２３から通知された符号化モードに応じて、イントラ予測部２４及び動き補償部２５の何れかから受け取った予測画像を符号化部２７及び加算器３１へ出力する。
【０１３０】
予測誤差信号生成部２７は、符号化対象マクロブロックと、セレクタ２６から受け取った予測画像との差分演算を実行することにより、符号化対象マクロブロック内の各画素の予測誤差を算出する。予測誤差信号生成部１１は、各画素の予測誤差を直交変換・量子化部２８へ渡す。
【０１３１】
直交変換・量子化部２８は、符号化対象マクロブロック内の符号化対象ブロックの各画素の予測誤差を直交変換することにより、予測誤差の水平方向の周波数成分及び垂直方向の周波数成分を表す周波数信号を求める。例えば、直交変換・量子化部２８は、直交変換処理として、離散コサイン変換（Discrete Cosine Transform、DCT）を予測誤差に対して実行することにより、周波数信号として、ブロックごとのDCT係数の組を得る。
【０１３２】
次に、直交変換・量子化部２８は、周波数信号を量子化する。この量子化処理は、一定区間に含まれる信号値を一つの信号値で表す処理である。そしてその一定区間は、量子化幅と呼ばれる。例えば、直交変換・量子化部２８は、周波数信号から、量子化幅に相当する所定数の下位ビットを切り捨てることにより、その周波数信号を量子化する。量子化幅は、量子化パラメータによって決定される。例えば、直交変換・量子化部２８は、量子化パラメータの値に対する量子化幅の値を表す関数にしたがって、使用される量子化幅を決定する。またその関数は、量子化パラメータの値に対する単調増加関数とすることができ、予め設定される。
あるいは、水平方向及び垂直方向の周波数成分のそれぞれに対応する量子化幅を規定する量子化マトリクスが、予め複数準備され、直交変換・量子化部２８が有するメモリに記憶される。そして直交変換・量子化部２８は、量子化パラメータにしたがって、それら量子化マトリクスのうちの特定の量子化マトリクスを選択する。そして直交変換・量子化部２８は、選択された量子化マトリクスを参照して、周波数信号の各周波数成分に対する量子化幅を決定してもよい。
【０１３３】
また直交変換・量子化部２８は、MPEG-2、MPEG-4、MPEG-4 AVC/H.264などの動画像符号化標準に対応した様々な量子化パラメータ決定方法の何れかに従って量子化パラメータを決定すればよい。直交変換・量子化部２８は、例えば、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法を用いることができる。なお、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法に関しては、例えば、http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.htmlで特定されるURLを参照されたい。
直交変換・量子化部２８は、量子化処理を実行することにより、量子化係数を求め、その量子化係数をエントロピー符号化部２９及び逆量子化・直交変換部３０へ出力する。
【０１３４】
エントロピー符号化部２９は、直交変換・量子化部２８から受け取った量子化係数及び動き補償部２５から受け取った動きベクトルなどを、所定のエントロピー符号化方式に従って符号化することにより、データ量が圧縮された符号化信号を生成する。そのために、エントロピー符号化部２９は、例えば、所定のエントロピー符号化方式として、ハフマン符号化方式あるいは算術符号化方式を用いることができる。
【０１３５】
さらに、エントロピー符号化部２９は、符号化信号と、マクロブロックごとの予測モード、巡回方向情報、境界移動量情報などを含むように、図３または図１５に示された構造を持つ符号化された動画像データを生成する。そして動画像符号化装置２は、符号化された動画像データを磁気記録媒体、光記録媒体あるいは半導体メモリなどを有する記憶部（図示せず）に記憶するか、あるいはその符号化された動画像データを他の機器へ出力する。
【０１３６】
逆量子化・直交変換部３０は、直交変換・量子化部２８から受け取った量子化係数に、量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより逆量子化する。この逆量子化により、入力されたマクロブロックの周波数信号、例えば、DCT係数の組が復元される。その後、逆量子化・直交変換部３０は、周波数信号を逆直交変換処理する。例えば、直交変換・量子化部２８においてDCT処理が行われる場合、逆量子化・直交変換部３０は、逆量子化信号に対して逆DCT処理を実行する。逆量子化処理及び逆直交変換処理を量子化信号に対して実行することにより、符号化前の予測誤差と同程度の情報を有する、符号化対象マクロブロックの各画素の予測誤差が再生される。
そして逆量子化・直交変換部３０は、再生された各画素の予測誤差を加算器３１へ出力する。
【０１３７】
加算器３１は、セレクタ２６から受け取った予測画像の各画素の値に、逆量子化・直交変換部３０から受け取った、対応する画素の予測誤差を加算することにより、符号化対象マクロブロックを再生する。加算器３１は、再生された各マクロブロックを符号化順序に従って結合することにより、その後に符号化されるマクロブロックに対する予測画像を生成するために利用される参照ピクチャを生成する。
加算器３１は、得られた参照ピクチャを画像メモリ３２に記憶させる。
【０１３８】
画像メモリ３２は、例えば、半導体メモリを有する。そして画像メモリ３２は、加算器３１から受け取った参照ピクチャを一時的に記憶する。そして画像メモリ３２は、イントラ予測部２４、動き補償部２５及び予測モード判定部２３にその参照ピクチャを供給する。なお、画像メモリ３２は、予め定められた所定枚数分の参照ピクチャを記憶し、参照ピクチャの枚数がその所定枚数を超えると、符号化順序が古い参照ピクチャから順に破棄する。
【０１３９】
なお、動画像符号化装置２は、図２に示された動画像復号装置１が有するポストフィルタ部と同様のポストフィルタ部を有してもよい。ただし、この場合、ポストフィルタ部は、フィルタによって参照される領域内の一部の画素が参照不能である場合も、復号用マクロブロックデータのみを生成し、表示用マクロブロックデータを生成しない。
【０１４０】
図１８及び図１９は、動画像符号化装置２により実行される動画像符号化処理の動作フローチャートである。動画像符号化装置２は、動画像データに含まれるピクチャごとに、この動画像符号化処理を実行する。
クリーン領域境界位置決定部２１は、一つ前のピクチャのクリーン領域境界、巡回方向情報および移動量情報に基づいて、符号化対象ピクチャのクリーン領域境界を決定する（ステップＳ２０１）。そしてクリーン領域境界位置決定部２１は、クリーン領域境界に基づいて決定されるクリーン領域の範囲及び非クリーン領域の範囲を表す情報を参照可否判定部２２へ出力する。
【０１４１】
動画像符号化装置２は、符号化対象マクロブロックを設定する（ステップＳ２０２）。そして符号化対象マクロブロックのデータは、符号化部３３の予測モード判定部２３、動き補償部２５及び予測誤差信号生成部２７に入力される。
予測モード判定部２３は、符号化対象マクロブロックを符号化するために参照される可能性のある符号化対象ピクチャ及び参照ピクチャ上の領域を参照領域として、その参照領域の位置及び範囲と符号化対象マクロブロックの位置とを参照可否判定部２２へ通知する。参照可否判定部２２は、参照領域内で参照可能な画素を判定する（ステップＳ２０３）。参照可否判定部２２はその判定結果を予測モード判定部２３へ通知する。
予測モード判定部２３は、参照可能な画素に基づいて各符号化モードのコストを最小化する符号化モードを符号化対象マクロブロックの符号化モードとして決定する（ステップＳ２０４）。
【０１４２】
予測モード判定部２３は符号化対象マクロブロックがイントラ予測符号化されると決定したか否か判定する（ステップＳ２０５）。符号化対象マクロブロックがイントラ予測符号化される場合（ステップＳ２０５−Ｙｅｓ）、予測モード判定部２３は、その判定結果をイントラ予測部２４、セレクタ２６及びエントロピー符号化部２９へ通知する。
イントラ予測部２４は、参照可能な参照ブロックに基づいてイントラ予測画像を生成する（ステップＳ２０６）。そしてイントラ予測部２４は、イントラ予測画像をセレクタ２６へ出力する。
【０１４３】
一方、符号化対象マクロブロックがイントラ予測符号化されない場合（ステップＳ２０５−Ｎｏ）、予測モード判定部２３は、符号化対象マクロブロックはインター符号化されると決定したか否か判定する（ステップＳ２０７）。符号化対象マクロブロックがインター符号化される場合（ステップＳ２０７−Ｙｅｓ）、予測モード判定部２３は、その判定結果を動き補償部２５、セレクタ２６及びエントロピー符号化部２９へ通知する。
【０１４４】
動き補償部２５は、例えば、参照領域内で参照可能な画素を含む範囲内でブロックマッチング処理を行うことにより、動きベクトルを算出する（ステップＳ２０８）。
動きベクトルで特定された領域内の全ての画素が参照可能か否か判定する（ステップＳ２０９）。特定された領域内の一部の画素が参照不能である場合（ステップＳ２０９−Ｎｏ）、動き補償部２５は、動き補償パラメータを算出する（ステップＳ２１０）。そして動き補償部２５は、その動き補償パラメータ及び参照可能な範囲内の画素値に基づいて求めた値で参照不能な画素の値を置換する（ステップＳ２１１）。
ステップＳ２０９にて特定された領域内の全ての画素が参照可能である場合（ステップＳ２０９−Ｙｅｓ）、あるいはステップＳ２１１の後、動き補償部２５は、動き補償された予測画像を生成する（ステップＳ２１２）。また動き補償部２５は、参照可能なブロックに基づいて、予測動きベクトル及び指標pmVIdxを決定する（ステップＳ２１３）。そして動き補償部２５は、動きベクトルと予測動きベクトル間の予測誤差を算出する。
動き補償部２５は、動き補償された予測画像をセレクタ２６へ出力する。また動き補償部２５は、動き補償パラメータ、動きベクトルと予測動きベクトル間の予測誤差及び指標pmVIdxをエントロピー符号化部２９へ出力する。
【０１４５】
図１９に示されるように、予測誤差信号生成部２７は、符号化対象マクロブロックの各画素の値から、セレクタ２６から受け取った予測画像の対応画素の値を減算して各画素の予測誤差を算出する（ステップＳ２１４）。そして予測誤差信号生成部２７は、各画素の予測誤差を直交変換・量子化部２８へ出力する。直交変換・量子化部２８は各画素の予測誤差を直交変換及び量子化して量子化係数の組を算出する（ステップＳ２１５）。直交変換・量子化部２８は、量子化係数の組をエントロピー符号化部２９及び逆量子化・直交変換部３０へ出力する。
【０１４６】
逆量子化・直交変換部３０は、量子化係数を逆量子化及び逆直交変換して各画素の予測誤差を再生する（ステップＳ２１６）。そして逆量子化・直交変換部３０は、再生した予測誤差を加算器３１へ出力する。
加算器３１は、各画素の予測誤差を予測画像の対応画素の値に加えることにより、符号化対象マクロブロックを参照用のデータとして再生する（ステップＳ２１７）。そして加算器３１は、再生したマクロブロックを画像メモリ３２に格納する。
一方、エントロピー符号化部２９は、所定のエントロピー符号化方式にしたがって符号化対象マクロブロックの量子化係数、動きベクトルなどのマクロブロックデータを符号化する（ステップＳ２１８）。
【０１４７】
動画像符号化装置２は、符号化対象ピクチャ内の全てのマクロブロックを符号化したか否か判定する（ステップＳ２１９）。何れかのマクロブロックが符号化されていなければ（ステップＳ２１９−Ｎｏ）、動画像符号化装置２は、ステップＳ２０２以降の処理を繰り返す。
一方、符号化対象ピクチャ内の全てのマクロブロックが符号化されていれば（ステップＳ２１９−Ｙｅｓ）、エントロピー符号化部２９は、クリーン領域境界についての巡回方向情報及び移動量情報を含むように、符号化された動画像データを生成する（ステップＳ２２０）。そして動画像符号化装置２は、動画像符号化処理を終了する。
なお、動画像符号化装置２は、ステップＳ２１６〜Ｓ２１７の処理と、ステップＳ２１８の処理とを平行して実行してもよい。
【０１４８】
以上に説明してきたように、この実施形態による動画像符号化装置は、クリーン領域境界の巡回方向及びクリーン領域境界の移動量を表す情報によって、符号化された動画像データの各ピクチャにおけるクリーン領域境界の位置を規定する。そしてこの動画像符号化装置は、符号化された動画像データにおいて、クリーン領域境界の巡回方向及びクリーン領域境界の移動量を符号化された各ピクチャのマクロブロックデータとは別の位置に挿入する。そのため、この動画像符号化装置により符号化された動画像データは、ピクチャごとにクリーン領域境界の位置を示すスライスヘッダを有さなくてもよい。さらに、クリーン領域境界の巡回方向を表す情報は、リフレッシュ周期ごとに１回、符号化された動画像データに挿入されればよい。また、クリーン領域境界の移動量を表す情報も、各ピクチャのデータの先頭に配置される。そのため、ピクチャの符号化データの途中にスライスヘッダが含まれないので、エントロピー符号化方式としてCABACが用いられる場合でも、コンテクストの初期化が発生する回数を減らせる。そのため、この動画像符号化装置は、エントロピー符号化の効率が低下することを抑制できる。さらに、符号化対象ブロックが属するスライスと別のスライスに属するブロックの動きベクトルは参照できないが、ピクチャの符号化データの途中にスライスヘッダが含まれないため、この制約が緩和され、動きベクトルの予測効率が向上する。
さらに、この動画像符号化装置は、クリーン領域境界の巡回方向を表す情報及びクリーン領域境界の移動量を表す情報を設定するだけで、自由にクリーン領域境界の巡回方向を規定できる。そのため、例えば、シーンごとにピクチャに写っている像の移動方向と略一致するようにクリーン領域境界の巡回方向が設定されることで、クリーン領域内のマクロブロックについても、最適な動きベクトルを用いることが出来る確率が向上する。
なお、クリーン領域境界の符号化方法は上記に限定するものではなく、例えば、クリーン領域に属するマクロブロックの識別情報(ID)あるいはマクロブロックアドレスをすべてヘッダで符号化することによって、クリーン領域境界は符号化されてもよい。あるいは、クリーン領域境界の符号化方法として、ITU-T H.264／MPEG-4 AVCのフレキシブルマクロブロックオーダ(FMO)のSlice Groupの規定で定義されるような領域の分類方法など、画像の領域を指定する他の一般的な方法も、一般性を失うことなく用いることが可能である。
【０１４９】
コンピュータ上で実行されることにより、上述した実施形態またはその変形例による動画像復号装置及び動画像符号化装置の各部の機能を実現するコンピュータプログラムは、半導体メモリまたは光記録媒体などの記録媒体に記録されて配布されてもよい。
【０１５０】
上述した実施形態またはその変形例による動画像復号装置は、様々な用途に利用される。例えば、この動画像復号装置は、ビデオカメラ、映像受信装置、テレビ電話システム、コンピュータあるいは携帯電話機に組み込まれる。例えば、この動画像復号装置が映像受信装置に組み込まれる場合、符号化動画像データは、まず映像送信装置にて生成される。そしてその符号化動画像データは、音声信号等、動画像データと同時に取得される他の信号とともに、所定の通信規格に従ったデータストリームに変換される。そのデータストリームは、映像送信装置の出力部に接続されたアンテナを介して、あるいは通信回線を介して、遠隔地に設置された映像受信装置に伝送される。そして動画像復号装置を組み込んだ映像受信装置は、そのデータストリームから符号化動画像データを取り出し、動画像符号化装置に出力する。動画像符号化装置は動画像を復号し、出力する。
【０１５１】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【符号の説明】
【０１５２】
１    動画像復号装置
１０    エントロピー復号部
１１    領域分類部
１２    参照可否判定部
１３    逆量子化・直交変換部
１４    加算器
１５    セレクタ
１６    動き補償部
１７    イントラ予測部
１８    ポストフィルタ部
１９    画像メモリ
２０    復号部
２    動画像符号化装置
２１    クリーン領域境界位置決定部
２２    参照可否判定部
２３    予測モード判定部
２４    イントラ予測部
２５    動き補償部
２６    セレクタ
２７    予測誤差信号生成部
２８    直交変換・量子化部
２９    エントロピー符号化部
３０    逆量子化・直交変換部
３１    加算器
３２    画像メモリ
３３    符号化部
【図１】
2012008054.tif 000009
【図２】
2012008054.tif 000010
【図３】
2012008054.tif 000011
【図４】
2012008054.tif 000012
【図５】
2012008054.tif 000013
【図６】
2012008054.tif 000014
【図７】
2012008054.tif 000015
【図８】
2012008054.tif 000016
【図９】
2012008054.tif 000017
【図１０】
2012008054.tif 000018
【図１１】
2012008054.tif 000019
【図１２】
2012008054.tif 000020
【図１３】
2012008054.tif 000021
【図１４】
2012008054.tif 000022
【図１５】
2012008054.tif 000023
【図１６】
2012008054.tif 000024
【図１７】
2012008054.tif 000025
【図１８】
2012008054.tif 000026
【図１９】
2012008054.tif 000027
【手続補正書】
【提出日】平成25年1月15日(2013.1.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置であって、
前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出する領域境界位置情報抽出部と、
前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、
前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、
前記参照可否判定部の判定に基づいて、参照可能なブロックのみを参照して前記復号対象ブロックを復号する復号部と、
を有する動画像復号装置。
【請求項２】
前記領域境界位置情報は、領域境界の移動方向情報及びピクチャ間の領域境界の変移を含む、請求項１に記載の動画像復号装置。
【請求項３】
前記復号部は、
前記復号対象ブロックと前記参照ピクチャ間の動きを表す動きベクトルを用いて、前記参照領域に含まれる参照ブロックを動き補償することにより第１の予測画像を生成する動き補償部を有し、
前記動き補償部は、前記参照ブロックの一部の画素が前記参照不能ブロックに含まれる場合、前記参照ブロック内の前記参照可能ブロック内の画素の値を、前記符号化された動画像データに含まれる補正値を用いて補正することで当該画素の値を求めることにより前記第１の予測画像を生成し、
前記復号部は、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第１の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを再生する、請求項１または２に記載の動画像復号装置。
【請求項４】
前記符号化された動画像データは、前記復号対象ブロックの動きベクトルの予測方法を表す指標及び動きベクトルの予測誤差を含み、
前記参照可否判定部は、前記復号対象ブロックの前記動きベクトルの予測値を決定するために参照される可能性のある複数のブロックを含む第２の参照領域のうち、前記復号対象ブロックが参照できる参照可能ブロックを決定し、
前記動き補償部は、前記参照可能ブロックと前記指標とに基づいて前記動きベクトルの予測値を決定し、かつ、前記動きベクトルの予測値に前記動きベクトルの予測誤差を加算することにより前記動きベクトルを再生する、請求項３に記載の動画像復号装置。
【請求項５】
前記復号部は、
前記復号対象ブロックと隣接するブロック内の画素値を用いて第２の予測画像を生成するイントラ予測部を有し、
前記イントラ予測部は、前記隣接ブロックが前記参照可能ブロックである場合に前記第２の予測画像を生成し、一方、前記隣接ブロックが前記参照不能ブロックである場合、前記第２の予測画像を生成せず、
前記復号部は、前記第２の予測画像が生成された場合に限り、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第２の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを再生する、請求項１または２に記載の動画像復号装置。
【請求項６】
前記復号部は、
再生された前記復号対象ブロックに対して所定のフィルタを適用するフィルタ処理を行うポストフィルタ部を有し、
前記ポストフィルタ部は、前記所定のフィルタが参照する領域内に前記参照不能ブロック内の画素が含まれている場合、当該参照不能ブロック内の画素の値を前記フィルタが参照する領域内の前記参照可能ブロック内の画素の何れかの値で置換した後にフィルタ処理を実行することにより、他のブロックの復号に利用される第１の復号データを求める、請求項１または２に記載の動画像復号装置。
【請求項７】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法であって、
前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出し、
前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定し、
前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、
前記参照可能ブロックのみを参照して前記復号対象ブロックを復号する、
ことを含む動画像復号方法。
【請求項８】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化装置であって、
ピクチャ内のクリーン領域と非クリーン領域とを決定する領域分類部と、
符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、
前記参照可否判定部の判定に基いて、参照可能なブロックのみを参照して前記符号化対象ブロックを符号化し、クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める符号化部と、
を有する動画像符号化装置。
【請求項９】
正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化方法であって、
ピクチャ内のクリーン領域と非クリーン領域とを決定し、
符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、
前記参照可能ブロックのみを参照して前記符号化対象ブロックを符号化し、
クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める、
ことを含む動画像符号化方法。
【国際調査報告】
2012008054.tif 000028
2012008054.tif 000029
2012008054.tif 000030
2012008054.tif 000031
2012008054.tif 000032