JP5672302B2 - 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法 - Google Patents

動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法 Download PDF

Info

Publication number
JP5672302B2
JP5672302B2 JP2012524394A JP2012524394A JP5672302B2 JP 5672302 B2 JP5672302 B2 JP 5672302B2 JP 2012524394 A JP2012524394 A JP 2012524394A JP 2012524394 A JP2012524394 A JP 2012524394A JP 5672302 B2 JP5672302 B2 JP 5672302B2
Authority
JP
Japan
Prior art keywords
block
picture
clean
decoding
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012524394A
Other languages
English (en)
Other versions
JPWO2012008054A1 (ja
Inventor
数井 君彦
君彦 数井
純平 小山
純平 小山
三好 秀誠
秀誠 三好
智史 島田
智史 島田
中川 章
章 中川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012524394A priority Critical patent/JP5672302B2/ja
Publication of JPWO2012008054A1 publication Critical patent/JPWO2012008054A1/ja
Application granted granted Critical
Publication of JP5672302B2 publication Critical patent/JP5672302B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、例えば、ピクチャ内のブロックが他のブロックの情報を用いて符号化された動画像を復号する動画像復号装置、動画像復号方法、及びピクチャ内のブロックを他のブロックの情報を用いて符号化する動画像符号化装置若しくは動画像符号化方法に関する。
動画像データは、一般に非常に大きなデータ量を有する。そのため、動画像データを扱う装置は、動画像データを他の装置へ送信しようとする場合、あるいは、動画像データを記憶装置に記憶しようとする場合、動画像データを符号化することにより圧縮する。代表的な動画像の符号化標準として、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フレーム時間程度になる。
したがって、バッファリング遅延を最小化するためには、各ピクチャの情報量をほぼ一定にする必要がある。上記のように、復号後における各ピクチャの画質を同等にするためには、イントラピクチャの情報量はインターピクチャの情報量よりも多くなる。そのため、各ピクチャの情報量を一定にするために、単にイントラピクチャの情報量をインターピクチャの情報量と同程度にすると、イントラピクチャの画質が大幅に落ちることになる。そのため、イントラピクチャを参照ピクチャとするインターピクチャの画質も大幅に落ち、結果として動画像データ全体の画質が大きく低下する。
画質を大きく損なわずに、各ピクチャの情報量をほぼ一定にするための方法として、イントラスライス方式が提案されている(例えば、特許文献1〜5を参照)。イントラスライス方式では、符号化対象の動画像データの先頭ピクチャ以外はイントラピクチャとせず、イントラ符号化されるマクロブロック群が、所定周期でピクチャ内を巡回するように、各ピクチャに挿入される。このイントラ符号化されるマクロブロック群はイントラスライスと呼ばれる。またこの手法はピクチャ内を順番に正常復号させるため、段階的リフレッシュとも呼ばれる。
例えば巡回方向がピクチャ内で上から下へ向かう方向である場合、イントラスライスが最上にあるピクチャがリフレッシュピクチャとなり、ピクチャの上端から順に正常な画素値再生が行われていく。イントラスライスが最下に来るピクチャにて、ピクチャ全体の画素値が正常に再生される。リフレッシュピクチャの間隔、すなわち、リフレッシュ周期は、イントラスライスの巡回周期と同じになる。
なお、実際にはイントラスライス内の各マクロブロックは、必ずしもイントラ符号化されなくてもよい。リフレッシュピクチャから復号を開始した場合に、それ以降のピクチャの画素値が正常に再生されることが保証されるように、イントラスライス内の各マクロブロックは符号化されればよい。例えば、イントラスライス内のマクロブロックは、ピクチャ内で画素値が正常に再生されることが保証された領域(以下、このような領域をクリーン領域と呼ぶ)内の領域を参照する動きベクトルを用いて、インター符号化されてもよい。
しかしながら、イントラスライス方式を用いて動画像データが符号化される場合、イントラスライスによってリフレッシュされるピクチャよりも前のピクチャにおいて、画素値が正常に再生されることが保証されない領域が存在する。なお、画素値が正常に再生されることが保証されない領域を、以下では非クリーン領域と呼ぶ。イントラスライス方式を用いて動画像データが符号化される場合、クリーン領域内の画素値が正常に再生されることを保証するために、クリーン領域内のマクロブロックは非クリーン領域内の画素の情報を参照できないという制約がある。
例えば、クリーン領域内の符号化対象マクロブロックがインター符号化される場合、その符号化対象マクロブロックが参照する、参照ピクチャ上のブロック全体もクリーン領域に含まれなければならない。
また、MPEG-4 AVC/H.264では、動きベクトルを符号化するために、符号化対象マクロブロックの上または左に隣接するマクロブロックの動きベクトルの平均値(またはメディアン)が動きベクトルの予測値PMVMEDとして算出される。そして、その予測値PMVMEDと符号化対象マクロブロックの動きベクトル間の誤差がエントロピー符号化される。
さらに、符号化対象マクロブロックと参照ピクチャ上で同一位置にあるマクロブロックの動きベクトルをもう一つの予測値PMVCOLとし、PMVMEDとPMVCOLの内、誤差が小さくなる方を予測値とする技術が提案されている(例えば、非特許文献1を参照)。この場合、PMVMEDとPMVCOLのどちらを選択したかを示すフラグが、符号化動画像データに含められる。
この技術では、動画像復号装置がリフレッシュピクチャから復号動作を開始した場合、このリフレッシュピクチャの参照ピクチャは復号側には存在しないのでPMVCOLを取得できず、結果としてリフレッシュピクチャの非クリーン領域の動きベクトルを正常復号できない。なおリフレッシュピクチャのクリーン領域はイントラ符号化されているので動きベクトルの異常再生は発生しない。
リフレッシュピクチャ以降のピクチャも、参照ピクチャ(リフレッシュピクチャを含む)の動きベクトルを参照するため、動きベクトルの異常再生の影響が伝搬する。このためクリーン領域内のマクロブロックがPMVMEDとPMVCOLを動きベクトルの予測値として参照する場合、PMVMEDとPMVCOLの正常復号が保証されていないので、動きベクトルが正常復号できず、結果として正常な画素値が再生されない。したがって、イントラスライス方式では、PMVMEDとPMVCOLのうちの一方を動きベクトルの予測値として使用する符号化方法は使用できない。
また、MPEG-4 AVC/H.264では、符号化対象マクロブロックを、隣接する既に符号化された参照マクロブロックの情報を用いて予測符号化するイントラ予測符号方式が採用されている。クリーン領域に含まれる符号化対象マクロブロックがイントラ予測符号化される場合も、その参照マクロブロックもクリーン領域に含まれなければならない。
さらに、MPEG-4 AVC/H.264では、隣接するブロックとの境界にて低域通過型のフィルタを適用することにより、ブロック境界に発生するブロック歪を除去するデブロッキングフィルタ処理が採用されている。したがって、イントラスライス方式では、クリーン領域内の画素に適用されるデブロッキングフィルタが参照する画素の全ても、クリーン領域に含まれている必要がある。
特開2003−179938号公報 特開平6−113286号公報 特開2005−260936号公報 国際公開第09/037726号 特公平6−101841号公報
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といったツールキットが使用される場合、ピクチャの上から下へマクロブロックが符号化される。そのため、イントラスライスが垂直方向にピクチャを横断するように挿入される場合には、マクロブロックラインごとにスライスヘッダは挿入されなければならず、必要なスライスヘッダの数が増える。その結果、符号化効率はより低下する。
また、上記の制約を遵守するために、動画像符号化装置は、符号化対象マクロブロックの動きベクトルを、参照ピクチャの他のマクロブロックの動きベクトルから求めた予測値を用いて符号化する方法をピクチャ全体に対して適用しない。あるいは、動画像符号化装置は、適用不能なマクロブロック群を他のマクロブロックと区別するためのスライスヘッダを符号化動画像ストリームに挿入する。いずれにせよ、動きベクトルの符号化情報量が増加するか、あるいは挿入されるスライスヘッダの情報量が増えるため、符号化効率は低下する。
さらに、クリーン領域に含まれる符号化対象ピクチャがインター符号化される場合、上記の制約により、動画像符号化装置は、符号化対象ピクチャと最も類似する、最適な参照ブロックを設定できないことがある。例えば、イントラスライスの巡回方向とピクチャ上の像の移動方向が異なる場合、クリーン領域に含まれる符号化対象ピクチャと最も類似する参照ピクチャ上の領域の一部または全部が非クリーン領域に含まれることがある。このような場合、符号化対象ピクチャと参照ブロック間の画素値の差が必ずしも小さくならないので、符号化効率が低下する。
このような問題を解決するための技術が特許文献4に開示されている。この技術では、動画像を復号する際、動きベクトルによって参照される参照ピクチャ内の領域の一部が参照ピクチャの非クリーン領域に含まれる場合には、動画像復号装置は、参照ピクチャの非クリーン領域内の画素値を参照しない。そして動画像復号装置は、参照ピクチャの非クリーン領域内の画素値の代わりに、イントラスライスの一端の画素値に基づいて外挿演算することにより算出した参照値を使用する。
しかしながら、動きベクトルによって参照される参照ピクチャ内の領域の殆どが非クリーン領域に含まれる場合には、外挿により算出された参照値と、対応する符号化対象ピクチャの画素値との差が大きくなるため、動き予測による符号化効率が向上しない。
そこで、本明細書は、イントラスライス方式による動画像符号化効率を向上可能な動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法を提供することを目的とする。
一つの実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置が提供される。この動画像復号装置は、符号化された動画像データからクリーン領域境界位置情報を抽出する領域境界位置情報抽出部と、クリーン領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、復号対象ブロックがクリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、復号対象ブロックが非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、参照可能なブロックのみを参照して復号対象ブロックを復号する復号部と、を有する。
また、他の実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法が提供される。この動画像復号方法は、符号化された動画像データからクリーン領域境界位置情報を抽出し、クリーン領域境界位置情報に基づいて、クリーン領域と非クリーン領域とを特定し、復号対象ブロックがクリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、復号対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、復号対象ブロックが非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、参照可能なブロックのみを参照して復号対象ブロックを復号する、ことを含む。
さらに他の実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化装置が提供される。この動画像符号化装置は、ピクチャ内のクリーン領域と非クリーン領域とを決定する領域分類部と、符号化対象ブロックがクリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定する参照可否判定部と、参照可能なブロックのみを参照して符号化対象ブロックを符号化し、クリーン領域境界位置情報を符号化された動画像データに含める符号化部、とを有する。
さらに他の実施形態によれば、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化方法が提供される。この動画像符号化方法は、クリーン領域と非クリーン領域とを決定し、符号化対象ブロックがクリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の非クリーン領域内のブロックを参照不能、符号化対象ピクチャ及び参照ピクチャ内のクリーン領域内のブロックを参照可能と判断し、符号化対象ブロックが非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを参照可能と判定し、参照可能なブロックのみを参照して符号化対象ブロックを符号化し、クリーン領域境界位置情報を符号化された動画像データに含める、ことを含む。
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を制限するものではないことを理解されたい。
ここに開示される動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法は、イントラスライス方式による動画像符号化効率を向上できる。
図1は、一つの実施形態による動画像復号装置により再生される、符号化された動画像データについて、各ピクチャにおけるクリーン領域の位置及び巡回方向の一例を示す図である。 図2は、一つの実施形態による動画像復号装置の概略構成図である。 図3は、符号化された動画像データの構造を示す図である。 図4(A)及び図4(B)は、それぞれ、RefreshDirectionが'000'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。 図5(A)及び図5(B)は、それぞれ、RefreshDirectionが'001'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。 図6(A)及び図6(B)は、それぞれ、RefreshDirectionが'010'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。 図7(A)及び図7(B)は、それぞれ、RefreshDirectionが'011'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。 図8(A)及び図8(B)は、それぞれ、RefreshDirectionが'100'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。 図9は、動き補償するための参照領域と参照ピクチャにおけるクリーン領域及び非クリーン領域との位置関係の一例を示す図である。 図10(A)及び図10(B)は、それぞれ、復号対象ブロックと、その復号対象ブロックに対する予測動きベクトルを生成するために参照されるブロックの位置関係の一例を示す図である。 図11は、イントラ予測モードと、予測方向との関係を示す図である。 図12は、デブロッキングフィルタが参照する画素とクリーン領域及び非クリーン領域との関係の一例を示す図である。 図13は、一つの実施形態による動画像復号処理の動作フローチャートである。 図14は、一つの実施形態による動画像復号処理の動作フローチャートである。 図15は、他の実施形態による、符号化された動画像データの構造を示す図である。 図16(A)、図16(B)及び図16(C)は、それぞれ、フィルタが参照する参照領域の一部が参照不能となる代表的なケースを表す図である。図16(D)は、フィルタ処理の対象となる画素が非クリーン領域に属しているケースを表す図である。 図17は、他の実施形態による動画像符号化装置の概略構成図である。 図18は、動画像符号化処理の動作フローチャートである。 図19は、動画像符号化処理の動作フローチャートである。
以下、図を参照しつつ、一つの実施形態による、動画像復号装置について説明する。この動画像復号装置は、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを再生する。この動画像復号装置は、従来のスライスヘッダを挿入する方式とは異なり、符号化された動画像データに含まれるクリーン領域境界位置情報を参照することで、各ピクチャでの非クリーン領域とクリーン領域との境界を決定し、クリーン領域内のブロックの復号に非クリーン領域内のブロックを参照しないように復号する。エントロピー復号においては、この動画像復号装置は、クリーン領域境界にて、CABACのコンテクストの初期化を行わない。これらにより、この動画像復号装置は、クリーン領域での正常な画素値復号を保証しつつ、符号化効率の向上を図る。
なお、ピクチャは、フレームまたはフィールドの何れであってもよい。フレームは、動画像データ中の一つの静止画像であり、一方、フィールドは、フレームから奇数行のデータあるいは偶数行のデータのみを取り出すことにより得られる静止画像である。
また、符号化された動画像は、カラー動画像であってもよく、あるいは、モノクロ動画像であってもよい。
図1は、一つの実施形態による動画像復号装置により再生される、正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データについて、各ピクチャにおけるクリーン領域境界位置及び領域境界位置の遷移の一例を示す図である。
図1において示されたピクチャ101〜105のうち、最も左側に位置するピクチャ101が最も古いピクチャであり、右側に位置するピクチャほど、時刻が後のピクチャである。各ピクチャは、自身よりも前の時刻のピクチャを参照して符号化されている。すなわち、各ピクチャは時刻順に再生される。
さらに、各ピクチャは、水平方向にピクチャを横断する拡張クリーン領域110、クリーン領域111及び非クリーン領域112を含む。拡張クリーン領域110は、クリーン領域に含まれ、自身よりも前の時刻のピクチャでのクリーン領域111から拡張した領域である。拡張クリーン領域110内のマクロブロックはイントラ符号化もしくはインター符号化で符号化される。クリーン領域111以外の領域、この例ではクリーン領域111より下方の領域が非クリーン領域112となる。
クリーン領域111に含まれる複数のマクロブロックは、そのクリーン領域111を含むピクチャ内の情報または直前のピクチャのクリーン領域内の情報を用いて、正常画素値が復号されることが保証されるように符号化されている。そしてこの例では、ピクチャ101においてクリーン領域111は、ピクチャの上端に位置する。このピクチャでは拡張クリーン領域110とクリーン領域111は同一である。即ち、ピクチャ101自身よりも前の時刻のピクチャの領域は全て非クリーン領域であるとみなす。クリーン領域111と非クリーン領域112との境界が時刻の経過に応じて上から下へ移動する。そしてピクチャ105において、クリーン領域111はピクチャ全体を占める。即ち、ピクチャ全体の画素が正常に復号されたことになる。なお、ピクチャ105の次のピクチャ(図示せず)では、ピクチャ101と同様にクリーン領域は再度ピクチャの上端に位置することになる。このように、この例ではリフレッシュ周期は5である。またリフレッシュピクチャは、例えば、クリーン領域111及び同一領域を示す拡張クリーン領域110がピクチャ上の何れかの端部に設定され、次のピクチャでクリーン領域111と非クリーン領域112との境界がピクチャの中央へ向かって移動するピクチャとなる。この例では、クリーン領域111及び同一領域を示す拡張クリーン領域110がピクチャの上端に位置するピクチャ101がリフレッシュピクチャとなる。
図2は、一つの実施形態による動画像復号装置の概略構成図である。動画像復号装置1は、エントロピー復号部10と、領域分類部11と、参照可否判定部12と、復号部20とを有する。また復号部20は、逆量子化・直交変換部13と、加算器14と、セレクタ15と、動き補償部16と、イントラ予測部17と、ポストフィルタ部18と、画像メモリ19とを有する。
動画像復号装置1が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像復号装置1が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像復号装置1に実装されてもよい。さらに、動画像復号装置1が有するこれらの各部は、動画像復号装置1が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
動画像復号装置1は、符号化された動画像データを含むデータストリームを、例えば、通信ネットワーク及び動画像復号装置1を通信ネットワークに接続するためのインターフェース回路(図示せず)を介して取得する。そして動画像復号装置1は、そのデータストリームから取り出した符号化動画像データを、図示しないバッファメモリに記憶させる。動画像復号装置1は、符号化された動画像データを、所定の単位、例えば、マクロブロックラインごと、あるいはピクチャごとにバッファメモリから読み出し、その読み出したデータをエントロピー復号部10へ入力する。
エントロピー復号部10は、符号化された動画像データのうち、所定のエントロピー符号化方式に従って符号化されているマクロブロックデータなどのデータを復号する。なお、所定のエントロピー符号化方式は、例えば、ハフマン符号化方式あるいは算術符号化方式とすることができる。
またエントロピー復号部10は、符号化された動画像データから、動画像データを復号するために用いられる各種パラメータを取り出す。
図3は、符号化された動画像データの構造を示す図である。符号化された動画像データ300は、シーケンスパラメータ301と、ピクチャパラメータ302と、リカバリポイント303と、マクロブロックデータ304とを含む。なお、符号化された動画像データ300に関して特に説明していないパラメータは、例えば、MPEG-4 AVC/H.264標準で規定されているパラメータと同様のパラメータとすることができる。
シーケンスパラメータ(Sequence Parameter Set、SPS)300は、動画像の画面サイズ及びフレームレートといった、複数のピクチャで共通するパラメータを含む。SPS300は、符号化動画像データ中の各リフレッシュピクチャ等に付加される。本実施形態では、SPS300は、リフレッシュピクチャに付加される。
さらにSPS300は、巡回方向情報(Refresh Direction、RD)311を含む。RD311は、クリーン領域境界位置情報に含まれる情報の一例であり、ピクチャ内のクリーン領域境界の巡回方向を表す。本実施形態では、RD311は、3ビットの信号RefreshDirectionを持つ。RefreshDirectionの意味は以下のように定義される。
‘000’:クリーン領域境界は、ピクチャの上側から下側へ移動する。すなわち、拡張クリーン領域は、ピクチャを水平に横切るように設定され、クリーン領域境界は、時間の経過とともに上から下へ移動する。クリーン領域境界がピクチャの下側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの上側端に設定される。
‘001’:クリーン領域境界は、ピクチャの下側から上側へ移動する。すなわち、拡張クリーン領域は、ピクチャを水平に横切るように設定され、クリーン領域境界は、時間の経過とともに下から上へ移動する。クリーン領域境界がピクチャの上側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの下側端に設定される。
‘010’:クリーン領域境界は、ピクチャの左側から右側へ移動する。すなわち、拡張クリーン領域は、ピクチャを垂直に横切るように設定され、クリーン領域境界は、時間の経過とともに左から右へ移動する。クリーン領域境界がピクチャの右側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの左側端に設定される。
‘011’:クリーン領域境界は、ピクチャの右側から左側へ移動する。すなわち、拡張クリーン領域は、ピクチャを垂直に横切るように設定され、クリーン領域境界は、時間の経過とともに右から左へ移動する。クリーン領域境界がピクチャの左側端に到達した場合、次のピクチャで拡張クリーン領域はピクチャの右側端に設定される。
‘100’:クリーン領域境界は、ピクチャの先頭位置からラスタスキャン順に沿って移動する。すなわち、拡張クリーン領域は、一つまたは複数の水平に並んだマクロブロックとして設定され、クリーン領域境界は、時間の経過とともにラスタスキャン順に沿って移動する。クリーン領域境界がピクチャの右下端に到着した場合、次のピクチャで拡張クリーン領域はピクチャの左上端に設定される。
ピクチャパラメータ(Picture Parameter Set、PPS)302は、エントロピー符号化の方式を表すエントロピー符号化モード等、ピクチャ毎に設定される符号化パラメータを含む。PPS302は、ピクチャごとに付加される。
またPPS302は、境界移動量情報(Boundary Distance、BD)321を含む。BD321は、クリーン領域境界位置情報に含まれる情報の一例であり、復号されるピクチャの一つ前のピクチャにおけるクリーン領域境界の位置から、復号対象ピクチャ内のクリーン領域境界の位置までの移動量を表す。例えば、BD321は、マクロブロック単位または画素単位でクリーン領域境界の移動量を表す。
リカバリポイント(Recovery Point、RP)303は、ピクチャに含まれる全ての画素の値を正常に再生可能となった直後のピクチャまでのピクチャ数を含み、リフレッシュピクチャに付加される。本実施形態では、RP303は、各リフレッシュピクチャに付加され、その値は、リフレッシュ周期に相当するピクチャ数となる。
マクロブロックデータ(Macroblock、MB)304は、ピクチャごとに生成され、一つのピクチャ内の全マクロブロックの符号化データを含む。MB304は、マクロブロックごとのデータmb331を、ピクチャに含まれるマクロブロックの数だけ含む。そしてMB304は、所定のエントロピー符号化方式に従って符号化されている。なお、マクロブロックは、例えば、16×16画素のサイズを持ち、またインター予測もしくはイントラ予測の単位となる複数のブロックに分割される。ブロックのサイズは例えば4x4画素、8x8画素、もしくは16x16画素のサイズを持つ。
mb331は、マクロブロック全体に共通する復号パラメータ(例えば、マクロブロックの符号化モード、量子化パラメータ等)を含む。さらにmb331は、マクロブロックがインター符号化されている場合、そのマクロブロック内の各ブロックの動きパラメータを含む。動きパラメータは、参照するピクチャを表す参照ピクチャ識別子及び動きベクトルを含む。さらに、動きベクトルそのものも予測符号化されている場合には、動きパラメータは、動きベクトルの予測方法を表す指標pmvIdxと、動きベクトルと予測動きベクトル間の誤差とを含む。
またmb331は、マクロブロックがイントラ予測符号化されている場合、そのマクロブロック内の各ブロックに対するイントラ予測モードを、隣接するブロックのイントラ予測モードに基づいて決定するためのイントラ予測フラグprevIntraPredModeFlagを含む。
さらにmb331は、マクロブロックの各画素の予測誤差を直交変換及び量子化した量子化係数を含む。
さらにmb331は、下記の(a)〜(c)の条件全てが満たされる場合に、動きパラメータの一つとして動き補償パラメータalpha332を含んでもよい。
(a)mb331に対応するマクロブロックがインター符号化されている。
(b)mb331に対応するマクロブロック内の少なくとも一つのブロックについて、そのブロックがピクチャのクリーン領域内にある。
(c)(a)及び(b)の条件を満たすブロックの動きパラメータによって参照される参照ピクチャ内の参照領域の少なくとも一部が、参照ピクチャの非クリーン領域に含まれる。
alpha332は、上記の(a)〜(c)の条件に該当する各ブロックについて、対応する参照領域内に水平方向のクリーン領域境界及び垂直方向のクリーン領域境界の何れか一方のみにある場合には一つ規定される。またalpha332は、対応する参照領域内に水平方向のクリーン領域境界及び垂直方向のクリーン領域境界の両方がある場合には二つ規定される。
この動き補償パラメータalpha332は、後述するように、クリーン領域境界近傍での画素値の変動傾向を表す。例えば、クリーン領域から非クリーン領域へ向けて画素値が急激に大きくなるほど、alpha332は正の値でかつその絶対値も大きな値となる。一方、クリーン領域から非クリーン領域へ向けて画素値が急激に小さくなるほど、alpha332は負の値でかつその絶対値は大きな値となる。
エントロピー復号部10は、領域境界位置情報抽出部の一例であり、シーケンスパラメータに含まれるクリーン領域境界の巡回方向情報、及びピクチャパラメータに含まれる境界移動量情報を符号化された動画像データから抽出する。そしてエントロピー復号部10は、その巡回方向情報及び境界移動量情報を領域分類部11へ出力する。
またエントロピー復号部10は、所定のエントロピー符号化方式にしたがって復号されたマクロブロックデータのうち、各マクロブロックの量子化係数を逆量子化・直交変換部13へ出力する。さらにエントロピー復号部10は、各マクロブロックのうち、インター符号化されたマクロブロックの動きパラメータを動き補償部16へ出力する。またエントロピー復号部10は、各マクロブロックのうち、イントラ予測符号化されたマクロブロックのイントラ予測フラグをイントラ予測部17へ出力する。さらにエントロピー復号部10は、復号対象マクロブロックの符号化モードをセレクタ15へ出力する。
領域分類部11は、復号対象ピクチャについてエントロピー復号部10から受け取った巡回方向情報及び境界移動量情報と、一つ前のピクチャのクリーン領域境界の位置とに基づいて、復号対象ピクチャのクリーン領域と非クリーン領域を特定する。
本実施形態では、境界移動量情報は、8ビットの信号BoundaryDistanceを持つ。そして領域分類部11は、クリーン領域境界位置を、巡回方向情報に含まれるRefreshDirectionの値とBoundaryDistanceの値と一つ前のピクチャのクリーン領域境界の位置に基づいて以下のように決定する。ただし、BlockSizeは、直交変換の適用単位であるブロックの高さ及び幅である。MPEG-2の場合、BlockSizeは8である。
RefreshDirectionが'000'である場合:領域分類部11は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、(BoundaryDistance * BlockSize)画素ライン下のラインとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでのクリーン領域境界位置はピクチャ上端とする。
図4(A)及び図4(B)は、それぞれ、RefreshDirectionが'000'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図4(A)及び図4(B)において、領域401はクリーン領域を表す。また領域402は、非クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界403がピクチャの上端からN番目のラインに位置する場合、ピクチャTにおけるクリーン領域境界403は、ピクチャの上端から(N + BoundaryDistance * BlockSize)番目のラインとなる。
RefreshDirectionが'001'である場合:領域分類部11は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、(BoundaryDistance * BlockSize)画素ライン上のラインとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでの境界位置はピクチャ下端とする。
図5(A)及び図5(B)は、それぞれ、RefreshDirectionが'001'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図5(A)及び図5(B)において、領域501は非クリーン領域を表す。また領域502は、クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界503がピクチャの上端からN番目のラインに位置する場合、ピクチャTにおけるクリーン領域境界503は、ピクチャの上端から(N - BoundaryDistance * BlockSize)番目のラインとなる。
RefreshDirectionが'010'である場合:領域分類部11は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、(BoundaryDistance * BlockSize)画素カラム右のカラムとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでの境界位置はピクチャ左端とする。
図6(A)及び図6(B)は、それぞれ、RefreshDirectionが'010'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図6(A)及び図6(B)において、領域601はクリーン領域を表す。また領域602は、非クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界603がピクチャの左端からN番目のカラムに位置する場合、ピクチャTにおけるクリーン領域境界603は、ピクチャの左端から(N + BoundaryDistance * BlockSize)番目のカラムとなる。
RefreshDirectionが'011'である場合:領域分類部11は、復号対象ピクチャにおけるクリーン領域境界位置を、直前に復号されたピクチャでのクリーン領域境界位置から、(BoundaryDistance * BlockSize)画素カラム左のカラムとする。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでの境界位置はピクチャ右端とする。
図7(A)及び図7(B)は、それぞれ、RefreshDirectionが'011'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図7(A)及び図7(B)において、領域701は非クリーン領域を表す。また領域702は、クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界703がピクチャの左端からN番目のカラムに位置する場合、ピクチャTにおけるクリーン領域境界703は、ピクチャの左端から(N - BoundaryDistance * BlockSize)番目のカラムとなる。
RefreshDirectionが'100'である場合:領域分類部11は、復号対象ピクチャにおけるクリーン領域境界位置を、ピクチャの左上端のマクロブロックからラスタスキャン順でM'= (M + BoundaryDistance)番目までのマクロブロック群と、それ以外のマクロブロック群との境界とする。ただしMは、直前に復号されたピクチャでのクリーン領域の最後に含まれるマクロブロックの番号、すなわち、直前に復号されたピクチャにおけるM'の値である。復号対象ピクチャがリフレッシュピクチャである場合、直前に復号されたピクチャでのMは0とする。
図8(A)及び図8(B)は、それぞれ、RefreshDirectionが'100'である場合のピクチャ(T-1)及びピクチャTにおけるクリーン領域境界の一例を示す図である。なおT及び(T-1)は、それぞれ、ピクチャの復号順序を表す。
図8(A)及び図8(B)において、領域801はクリーン領域を表す。また領域802は、非クリーン領域を表す。ピクチャ(T-1)においてクリーン領域境界803がラスタスキャン順でピクチャの左上端のマクロブロックMB0からM番目のマクロブロックMBMにより規定される。この場合、ピクチャTにおけるクリーン領域境界803は、マクロブロックMB0からM'(=M + BoundaryDistance)番目のマクロブロックMBM'により規定される。
領域分類部11は、復号対象ピクチャのクリーン領域の範囲と非クリーン領域の範囲を表す情報を、復号対象ピクチャの識別子とともに、画像メモリ19に格納する。また領域分類部11は、復号対象ピクチャのクリーン領域の範囲と非クリーン領域の範囲を表す情報を、復号対象ピクチャの識別子とともに参照可否判定部12へ出力する。なおクリーン領域の範囲と非クリーン領域の範囲を表す情報は、例えば、RefreshDirectionの値と、クリーン領域境界に位置する画素ラインまたはカラム若しくはクリーン領域境界の直前に位置するマクロブロックのラスタスキャン順の番号を含む。
参照可否判定部12は、復号対象マクロブロック内の復号対象ブロック及び復号対象ブロックが参照する参照領域が、それぞれクリーン領域に含まれるか非クリーン領域に含まれるかを判定する。そして参照可否判定部12は、参照領域が復号対象ブロックによって参照可能か否かを判定する。
参照可否判定部12は、動き補償部16、イントラ予測部17またはポストフィルタ部18から、復号対象ブロックの位置と、復号対象ブロックが参照する参照領域の位置及び範囲と、参照領域が含まれる参照ピクチャの識別子とを含む情報を受け取る。なお、参照領域は、例えば、復号対象マクロブロックがインター符号化されている場合、動きベクトルによって特定され、復号対象ブロックの予測画像として用いられる領域である。また、復号対象マクロブロックがイントラ予測符号化されている場合、参照領域は、その復号対象ブロックに隣接する、既に復号されたブロックである。この既復号ブロックは、復号対象マクロブロック内、もしくは復号対象マクロブロックの隣接マクロブロック内に位置する。さらに、復号対象ブロックがデブロッキングフィルタ処理される場合、参照領域は、そのデブロッキングフィルタを用いて演算される領域である。
また参照可否判定部12は、復号対象ピクチャについてのクリーン領域の範囲と非クリーン領域の範囲を表す情報を領域分類部11から受け取る。そして参照可否判定部12は、例えば、内蔵するメモリ回路に復号対象ピクチャがそれ以降のピクチャについての参照ピクチャとなる可能性がある間、その情報を保持する。あるいは、参照可否判定部12は、参照ピクチャについてのクリーン領域の範囲と非クリーン領域の範囲を表す情報を画像メモリ19から読み込んでもよい。
参照可否判定部12は、復号対象ブロックがクリーン領域に含まれるか非クリーン領域に含まれるかを判定するために、復号対象ブロックの位置と復号対象ピクチャのクリーン領域と非クリーン領域との境界の位置とを比較する。
復号対象ブロックが非クリーン領域に含まれる場合、参照可否判定部12は、復号対象ブロックを復号するために、参照領域内の画素全てが参照可能であると判定する。そして参照可否判定部12は、その判定結果を、動き補償部16、イントラ予測部17またはポストフィルタ部18へ通知する。
一方、復号対象ブロック全体がクリーン領域に含まれる場合、その復号対象ブロックは、クリーン領域に含まれる情報のみを用いて復号される。そこで参照可否判定部12は、その復号対象ブロックについての参照領域とクリーン領域境界とを比較することにより、参照領域内で、その参照ピクチャのクリーン領域に含まれる画素を特定する。
参照領域に含まれる全ての画素が参照ピクチャのクリーン領域に含まれている場合、参照可否判定部12は、参照領域に含まれる全ての画素が参照可能であるとの判定結果を動き補償部16、イントラ予測部17またはポストフィルタ部18へ通知する。
一方、参照領域内の少なくとも一部の画素が参照ピクチャの非クリーン領域内にある場合、参照可否判定部12は、参照領域内で参照可能な画素、及び参照不能な画素を表す情報を動き補償部16、イントラ予測部17またはポストフィルタ部18へ通知する。
さらに、復号対象マクロブロックがインター符号化されており、かつ、その動きベクトルと予測動きベクトル間の予測誤差ベクトルが符号化された動画像データに含まれていることがある。動画像データを符号化する動画像符号化装置は、この予測ベクトルとして、符号化対象ピクチャ内のベクトルのみならず、過去に符号化済みの参照ピクチャのベクトル由来のベクトルも用いる場合がある。たとえば、H.264で規定されているB-DirectモードのTemporalモード等が一例である。この場合、参照可否判定部12は、予測動きベクトルを決定するために参照されるブロックも、上記の参照領域の一つとして、そのブロックが復号対象ピクチャ及び参照ピクチャのクリーン領域に含まれるか非クリーン領域に含まれるか判定する。
そのために、参照可否判定部12は、動き補償部16から、復号対象ブロックの位置と、予測動きベクトルを決定するために参照される可能性のあるブロックの全てを含む領域を参照領域として、その参照領域の位置及び範囲を受け取る。そして参照可否判定部12は、復号対象ブロックがクリーン領域内にある場合には、参照領域内の各ブロックについて、そのブロックがクリーン領域に含まれる場合、そのブロックは参照可能であると判定し、それ以外のブロックは参照不能と判定する。また復号対象ブロックが非クリーン領域にある場合には、参照可否判定部12は参照領域内の全ブロックを参照可能と判定する。参照可否判定部12は、参照領域内の各ブロックについて、参照可能か否かの判定結果を動き補償部16へ通知する。
復号部20は、エントロピー復号部10から受け取った情報に基づいて、動画像データを再生する。その際、復号部20は、復号対象ブロックが参照可能な画素に基づいて、その復号対象ブロックを再生する。そのために、復号部20が有する各部は、以下に説明するように動作する。
逆量子化・直交変換部13は、エントロピー復号部10から受け取った復号対象マクロブロック内の各ブロックの量子化係数に対して量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより逆量子化する。この逆量子化により、復号対象マクロブロック内の各ブロックの直交変換係数の組が復元される。そして逆量子化・直交変換部13は、直交変換係数の組に対して逆直交変換処理を行って、復号対象マクロブロックに含まれる各画素の予測誤差を復元する。なお、逆直交変換処理は、動画像データを符号化する際にマクロブロックに含まれる各ブロックについて行われた直交変換処理の逆変換であり、例えば、逆離散コサイン変換(Discrete Cosine Transform、DCT)である。
逆量子化・直交変換部13は、復号対象マクロブロックに含まれる各画素の予測誤差を加算器14へ出力する。
加算器14は、逆量子化・直交変換部13から受け取った復号対象マクロブロックの各画素の予測誤差に、セレクタ15から受け取った予測画像の対応する画素の値を加算することで、ポストフィルタ適用前の復号対象マクロブロックの各画素の値を再生する。そして加算器14は、再生された復号対象マクロブロックの各画素値を画像メモリ19に格納する。
セレクタ15は、復号対象マクロブロックの符号化モードにしたがって、予測画像を動き補償部16またはイントラ予測部17から受け取る。例えば、符号化モードが、復号対象マクロブロックがインター符号化されていることを示している場合、セレクタ15は、動き補償された予測画像を動き補償部16から受け取り、その予測画像を加算器14へ出力する。
一方、符号化モードが、復号対象マクロブロックがイントラ予測符号化されていることを示している場合、セレクタ15は、イントラ予測画像をイントラ予測部17から受け取り、その予測画像を加算器14へ出力する。
動き補償部16は、復号対象マクロブロックについての動き補償された予測画像を生成する。そのために、動き補償部16は、復号対象マクロブロックの位置及びエントロピー復号部10から受け取った動きパラメータに基づいて、復号対象マクロブロック内の復号対象ブロックが参照する参照領域の位置及び参照領域が含まれる参照ピクチャを特定する。
例えば、動き補償部16は、参照ピクチャ識別子に基づいて参照ピクチャを特定する。また動き補償部16は、復号対象ブロックの位置に動きベクトルを加算することで参照領域を特定する。例えば、参照領域は、以下のように決定される。
復号対象ブロックの左上の位置、ブロックサイズ、動きベクトルの整数部分を、それぞれ(x, y)、(BlockSize, BlockSize)、(vx, vy)とする。この場合、参照領域は、4点(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である。
動き補償部16は、復号対象ブロックの位置と、参照領域の位置及び範囲と、参照ピクチャの識別子とを含む情報を参照可否判定部12へ通知する。
また動き補償部16は、参照可否判定部12から、参照領域に含まれる各画素について参照可能か否かの判定結果を受け取る。そして動き補償部16は、参照領域に含まれる画素全てが参照可能である場合、その参照領域に基づいて、例えば、MPEG-4 AVC/H.264標準に規定された方法に従って予測画像を生成する。
一方、参照領域に含まれる画素の一部が参照できない場合、動き補償部16は、その参照できない画素の値を用いずに予測画像を生成する。そのために、動き補償部16は、参照不能な画素の値を、例えば、参照可能な画素に基づいて算出された値で置換する。
図9は、参照領域と参照ピクチャにおけるクリーン領域及び非クリーン領域との位置関係の一例を示す図である。図9において、領域900は参照領域であり、水平方向の幅bH及び垂直方向の高さbVを持つ。また領域910はクリーン領域である。そして参照領域900内の領域920(すなわち、右端の2列及び下端の3行)が非クリーン領域内に位置している。復号対象ブロックはクリーン領域内に位置するとする。
本実施形態では、参照領域900内でクリーン領域910に含まれない領域920は、クリーン領域910と垂直方向に隣接している領域p1、クリーン領域910と水平方向に隣接している領域p2及びその他の領域p3に分割される。
動き補償部16は、領域p1〜p3ごとに、例えば、次式に従って外挿演算を行うことにより、その領域p1〜p3に含まれる、水平方向座標x、垂直方向座標yの予測画素の値を求める。
Figure 0005672302
ただし、座標(x,y)は、参照領域900の左上端の画素の座標を(0,0)としたときの座標値である。またdH、dVは、それぞれ、参照領域900のうち、クリーン領域910と重なっている領域の水平方向及び垂直方向の画素数である。さらに、係数alphaX及びalphaYは、それぞれ、マクロブロックデータにふくまれる動き補償パラメータである。係数alphaXは、水平方向における、参照領域900内でクリーン領域から非クリーン領域への画素値の変動度合いを表す。係数alphaYは、垂直方向における、参照領域900内でクリーン領域から非クリーン領域への画素値の変動度合いを表す。すなわち、(1)式は、領域p1及び領域p2内の画素の値を、その領域に隣接する参照可能画素の値に、水平方向または垂直方向の画素値の変動度合いalphaX、alphaYとその参照可能画素からの距離との比である補正係数を乗じた値とするものである。
動画像符号化装置は、符号化前の参照領域内の各画素の正確な値を知っているので、最適な動き補償パラメータを算出できる。そのため、参照領域において画素値がグラディエーション状に変化している場合でも、動き補償部16は、この動き補償パラメータを用いて外挿演算することにより、領域p1〜p3内の予測画素の値を実際の画素値に近い値とすることができる。
なお、動き補償部16は、領域p1内の画素の値を、その領域p1に隣接するクリーン領域内の画素値で置換してもよい。同様に、動き補償部16は、領域p2内の画素の値を、その領域p2に隣接するクリーン領域内の画素値で置換してもよい。
なお、bV≦dVである場合、すなわち、参照領域の上端から下端までの各ラインについて、少なくとも1画素がクリーン領域に含まれる場合、動き補償部16は、クリーン領域に含まれない各予測画素の値を全てp2領域に対する式に従って算出する。
また、bH≦dHである場合、すなわち、参照領域の左端から右端までの各カラムについて、少なくとも1画素がクリーン領域に含まれる場合、動き補償部16は、クリーン領域に含まれない各予測画素の値を全てp1領域に対する式に従って算出する。
また、クリーン領域が右から左へ移動する場合、領域p2はクリーン領域の左側に隣接することになる。そこでこのような場合、動き補償部16は、(1)式における(dH-1)を(bH-dH)に置換し、かつ(x-dH+1)を(bH-dH-x)に置換した式を用いて領域p2に含まれる予測画素の値を求める。
同様に、クリーン領域が下から上へ移動する場合、領域p1はクリーン領域の上側に隣接することになる。そこでこのような場合、動き補償部16は、(1)式における(dV-1)を(bV-dV)に置換し、かつ(y-dV+1)を(bV-dV-y)に置換した式を用いて領域p1に含まれる予測画素の値を求める。
なお、参照可否判定部にて参照領域の画素が全て参照不可と判定された場合は、動き補償部16は、規定値を全画素の画素値としてもよい。また、動き補償部16は、その規定値を動き補償パラメータalphaで補正した値を全画素の画素値としてもよい。
さらに、動きベクトルが、その動きベクトルと予測動きベクトル間の予測誤差により符号化されていることがある。この場合、動き補償部16は、予測動きベクトルを決定するために参照される可能性の有るブロック全てを含む参照領域の位置及び範囲を表す情報を、復号対象ブロックの位置とともに参照可否判定部12へ通知する。
そして動き補償部16は、参照可否判定部12から、参照可能なブロックを表す判定結果を受け取る。動き補償部16は、その判定結果及び指標pmvIdxに基づいて、予測動きベクトルを決定する。
図10(A)及び図10(B)は、復号対象ブロックと、その復号対象ブロックに対する予測動きベクトルを生成するための参照ブロックの位置関係の一例を示す図である。図10(A)及び図10(B)において、時刻Tにおける復号対象ピクチャ1000に含まれるブロック1010が復号対象ブロックである。そして復号対象ブロック1000の左上、上、右上及び左側に隣接するブロックbD、bB、bC及びbAが、それぞれ、参照ブロックである。各参照ブロックbD、bB、bC及びbAの動きベクトルを、それぞれ、VbD、VbB、VbC及びVbAで表す。
さらに、時刻(T-1)におけるピクチャ1001において、復号対象ブロック1000と同一の位置にあるブロック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ビットでエントロピー符号化される。
例えば、図10(A)において、ピクチャ1000における領域1020及びピクチャ1001における領域1021が非クリーン領域であるとする。この場合、ブロック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の値は、その2通りの予測動きベクトルを指定できるように再割り当てされる。その結果、指標pmvIdxと予測動きベクトルPMV間の関係は以下のようになる。
pmvIdx=0:PMV=VbA
pmvIdx=1:PMV=VbC
また、図10(B)において、ピクチャ1000における領域1030及びピクチャ1001における領域1031が非クリーン領域であるとする。この場合、ブロック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となる。
動き補償部16は、上記の規則に従って、指標pmvIdxの値に対応する予測動きベクトルを決定する。そして動き補償部16は、予測動きベクトルに動きベクトルの予測誤差を加算することにより、動きベクトルを算出する。
動き補償部16は、算出された動きベクトルを用いて、上記のように予測画像を生成する。
なお、一つのマクロブロック内に複数のブロックが含まれており、ブロックごとに動きベクトルが求められている場合、動き補償部16は、その各ブロックについて、上記と同様の処理を行って、予測画像を生成してもよい。
動き補償部16は、動き補償された予測画像をセレクタ15へ出力する。
イントラ予測部17は、復号対象マクロブロックがイントラ予測符号化されている場合、各ブロックデータに付加されるイントラ予測符号化モードintraPredModeに従って予測画像を生成する。
そこでイントラ予測部17は、復号対象ブロックの上側及び左側に隣接する、既に復号されたブロックを含む領域を参照領域として、その参照領域の位置及び範囲を復号対象ブロックの位置とともに参照可否判定部12へ通知する。そしてイントラ予測部17は、参照可否判定部12から参照領域内の各画素を参照可能か否かの判定結果を受け取る。
図11は、ブロックサイズが4x4画素の場合のイントラ予測モードと、予測方向との関係を示す図である。図11において、画素a〜pを含むブロック1100が復号対象ピクチャであり、画素A〜Lは、参照領域に含まれる。また矢印は予測方向を表し、矢印と関連付けられた数値0,1,3-8は、それぞれ、予測方向に応じたイントラ予測モードを表す。さらに予測モードが'2'である場合、予測画像はDCモードで作成される。この例では、DCモードで作成された予測画像の各画素値は、画素A〜Lの画素値の平均値である。
イントラ予測部17は、復号対象ブロックのイントラ予測符号化モードintraPredModeを復号する。本実施形態では、図11に示されるように、イントラ予測符号化モードintraPredModeは、0〜8の何れかの値を持つ。そのために、イントラ予測部17は、復号対象ブロックの左側に隣接するブロックのイントラ予測符号化モードintraPredModeAを、イントラ予測部17が内蔵するメモリから読み出す。またイントラ予測部17は、復号対象ブロックの上側に隣接するブロックのイントラ予測モードintraPredModeBを、イントラ予測部17が内蔵するメモリから読み出す。
もし左隣接ブロックが、参照可否判定部で参照不可と判定されたか、ピクチャ外に位置するか、まだ復号されていないか、もしくはインター符号化されていれば、intraPredModeAは、DCモードを表す値(例えば、'2')に設定される。同様に、上隣接ブロックが、参照可否判定部で参照不可と判定されたか、ピクチャ外に位置するか、まだ復号されていないか、もしくはインター符号化されていれば、intraPredModeBは、DCモードを表す値に設定される。
また、イントラ予測部17は、ブロックデータ中の1ビットのフラグprevIntraPredModeFlagを参照する。そしてprevIntraPredModeFlagの値が'1'の場合には、イントラ予測部17は、値predIntraPredMode( = min(intraPredModeA, intraPredModeB))を復号対象ブロックのイントラ予測符号化モードintraPredModeとして設定する。なお、関数min(x,y)は、変数x,yのうちの小さい方の値を出力する関数である。
一方、prevIntraPredModeFlagの値が'0'の場合には、イントラ予測部17は、ブロックデータ中に含まれる、イントラ予測モードの予測値に対する誤差を表す3ビットのデータremIntraPredModeを参照する。そしてイントラ予測部17は、以下のように復号対象ブロックのイントラ予測符号化モードintraPredModeを決定する。
remIntraPredModeの値がpredIntraPredModeの値よりも小さい場合、イントラ予測部17は、イントラ予測符号化モードintraPredModeを、remIntraPredModeの値で表されたモードとする。一方、remIntraPredModeの値がpredIntraPredModeの値以上である場合、イントラ予測部17は、イントラ予測符号化モードintraPredModeを、(remIntraPredMode+1)の値で表されたモードとする。
イントラ予測部17は、復号したイントラ予測符号化モードintraPredMode及び参照領域内の各画素を参照可能か否かの判定結果に基づいて、予測画像の生成に利用される画素が参照可能か否か判定する。
イントラ予測部17は、予測画像の生成に利用される画素が参照可能であれば、予測画像を生成する。その際、例えば、イントラ予測部17は、MPEG-4 AVC/H.264標準で規定された方法に従って予測画像を生成する。
一方、イントラ予測部17は、予測画像の生成に利用される画素の少なくとも何れかが、参照不能であるか、ピクチャ外に位置していれば、復号に失敗したと判定する。この場合、イントラ予測部17は、予測画像を生成しない。
具体的には、イントラ予測部17は、イントラ予測符号化モードについて、復号に失敗したか否かを以下のように判定する。なお、「無効」なブロックは、参照可否判定部で参照不可能と判定されたブロックであるか、ピクチャ外に位置するブロックか、もしくはまだ復号されていないブロックかの何れかのブロックである。
intraPredMode = 0:復号対象ブロックの上側の隣接ブロックが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 1:復号対象ブロックの左側の隣接ブロックが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 2:イントラ予測部17は、常に復号に成功したと判定する。ただし、復号対象ブロックの上側または左側に隣接するブロックが「無効」の場合、予測画像内の各画素の値は'128'に設定される。
intraPredMode = 3:復号対象ブロックの上側の隣接ブロックが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 4:復号対象ブロックの上側及び左側の隣接ブロックのうちの少なくとも一つが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 5:復号対象ブロックの上側及び左側の隣接ブロックのうちの少なくとも一つが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 6:復号対象ブロックの上側及び左側の隣接ブロックのうちの少なくとも一つが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 7:復号対象ブロックの上側の隣接ブロックが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
intraPredMode = 8:復号対象ブロックの左側の隣接ブロックが「無効」の場合、イントラ予測部17は、復号に失敗したと判定とする。
なお、intraPredModeが3もしくは7のときのように、イントラ予測部17がイントラ予測において右上のブロックの画素を参照する場合には、復号対象ブロックの上右側の隣接ブロックの画素値、具体的には図11における画素E、F、G、Hの画素値を参照する。もし復号対象ブロックの上側の隣接ブロックが「無効」でなく、かつ復号対象ブロックの上右側の隣接ブロックが「無効」の場合には、画素E、F、G、Hの値を画素Dと同じ画素値として、イントラ予測画像を生成してもよい。
イントラ予測部17は、復号対象ブロックに対する予測画像を生成した場合、その予測画像をセレクタ15へ出力する。またイントラ予測部17は、復号対象ブロックのイントラ予測符号化モードを、以降に復号されるブロックで参照可能なように、その復号対象ブロックを識別する識別子とともにイントラ予測部17が内蔵するメモリに格納する。
ポストフィルタ部18は、加算器14から出力されたポストフィルタ処理を行う前のブロックの各画素に対し、ポストフィルタ処理として、デブロッキングフィルタを用いたフィルタリング処理を実行する。そしてポストフィルタ部18は、隣接するブロック間の境界に発生するブロック歪を除去する。なお、ブロック歪は、隣接するブロック間で直流成分が不連続になることにより、ブロック形状がユーザによって認知される歪である。
ポストフィルタ部18は、対象ブロック内の着目する画素に対してデブロッキングフィルタが参照する領域を参照領域として、対象ブロックの位置及び参照領域の位置及び範囲を参照可否判定部12へ通知する。
ポストフィルタ部18は、参照領域内の全ての画素が参照可能であるとの判定結果を参照可否判定部12から受け取ると、参照領域に含まれる全ての画素値を利用して、デブロッキングフィルタ処理を実行する。例えば、対象ブロックが非クリーン領域に含まれる場合、あるいは対象ブロック及びデブロッキングフィルタで参照される領域がともにクリーン領域に含まれる場合、参照領域内の全ての画素が参照可能となる。なお、このデブロッキングフィルタは、例えば、MPEG-4 AVC/H.264標準にて規定されているデブロッキングフィルタとすることができる。
一方、ポストフィルタ部18は、参照領域内に含まれる画素のうち、対象ブロックに隣接する周辺ブロックに含まれる画素が参照不能との判定結果を受け取った場合には、着目画素に対して表示用フィルタ処理と復号用フィルタ処理を実行する。
表示用フィルタ処理は、例えば、MPEG-4 AVC/H.264標準にて規定されているデブロッキングフィルタを用いたフィルタ処理である。この表示用フィルタ処理では、ポストフィルタ部18は、その参照不能と判定された画素の値も用いてデブロッキングフィルタ処理を行う。そして表示用フィルタ処理が適用された対象ブロックのデータは、表示用に利用される。これにより、動画像復号装置1は、クリーン領域境界近傍に位置するブロックについてもデブロッキングフィルタを理想的に適用してブロック歪をより良好に除去した復号ピクチャを表示できる。
一方、復号用フィルタ処理では、ポストフィルタ部18は、デブロッキングフィルタが参照する画素のうち、参照不能と判定された画素の値を参照せずにフィルタ処理を実行する。例えば、ポストフィルタ部18は、参照不能と判定された画素の値を、対象ブロック内の画素値で置換する。そしてポストフィルタ部18は、置換後の画素値を用いてデブロッキングフィルタ処理を行う。そして復号用フィルタ処理が適用された対象ブロックのデータは、復号順番で現在の復号ピクチャ以降のピクチャに含まれる他のブロックを復号するために利用される。
図12は、デブロッキングフィルタが参照する画素と非クリーン領域及びクリーン領域との関係の一例を示す図である。図12において、境界1200よりも上方の領域1201はクリーン領域であり、境界1200よりも下方の領域1202は、非クリーン領域である。また画素p0〜p3及びq0〜q3は、それぞれ、デブロッキングフィルタによって参照される画素である。画素p0〜p3にとって、画素q0〜q1は参照不能であり、画素q0〜q3にとって、画素p0〜p1は参照可能である。
この場合、ポストフィルタ部18は、着目画素p0〜p2に対する表示用フィルタ処理として、例えば、MPEG-4 AVC/H.264標準で規定されている最も強いフィルタと同様に、次式に従ってフィルタ処理を実行する。
Figure 0005672302
なお、(2)式において、p0〜p3及びq0、q1は、それぞれ、図12に示された画素p0〜p3及びq0、q1の値を表す。またp'0〜p'2は、それぞれ、表示用フィルタ処理適用後における画素p0〜p2の値である。また演算子'>>'はビットシフト演算子であり、式(x >> y)に関して、変数xを右方向にyビットシフトさせる。なお、画素p0〜p3及びq0、q1が全て参照可能である場合も、ポストフィルタ部18は、(2)式に従ってデブロッキングフィルタ処理を実行してもよい。
また、ポストフィルタ部18は、着目画素p0〜p2に対する復号用フィルタ処理として、例えば、次式に従ってフィルタ処理を実行する。
Figure 0005672302
なお、(3)式において、p0〜p3及びq0、q1は、それぞれ、図11に示された画素p0〜p3及びq0、q1の値を表す。またp"0〜p"2は、それぞれ、復号用フィルタ処理適用後における画素p0〜p2の値である。(3)式に示されるように、復号用フィルタ処理では、非クリーン領域に含まれる画素q0、q1の値が、それぞれ、非クリーン領域に隣接する画素p0の値で置換されている。なお、ポストフィルタ部18は、非クリーン領域に含まれる画素q0、q1の値を、それぞれクリーン領域に含まれる画素p0、p1の値で置換してもよい。一方、着目画素q0〜q2に対する復号用フィルタ処理としては、ポストフィルタ部18は、(2)式でpとqとを入れ替えた式に従ってフィルタ処理を行う。着目画素p0〜p2の場合と異なり、ポストフィルタ部18は、p0, p1の画素値を置換しなくてよい。
ポストフィルタ部18は、表示用フィルタ処理が適用された対象マクロブロックの各画素値と、復号用フィルタ処理が適用された対象マクロブロックの各画素値とを、それぞれ画像メモリ19に格納する。
画像メモリ19は、例えば、半導体メモリであり、ポストフィルタ処理が行われる前の復号されたマクロブロックのデータを記憶する。また画像メモリ19は、ポストフィルタ処理が行われた後のマクロブロックのデータを記憶する。特に、クリーン領域内にあり、かつデブロッキングフィルタの参照領域内に非クリーン領域内の画素が含まれるマクロブロックについては、画像メモリ19は、表示用フィルタ処理が行われたマクロブロックのデータと復号用フィルタ処理が行われたマクロブロックのデータを記憶する。
そして画像メモリ19は、動き補償部16及びイントラ予測部17にそのマクロブロックのデータを予測画像を生成するために供給する。また画像メモリ19は、各マクロブロックのデータをへ出力する。なお、画像メモリ19は、予め定められた所定枚数分のピクチャに相当するデータを記憶し、記憶されているデータ量がその所定枚数に相当する量を超えると、符号化順序が古いピクチャのデータから順に破棄する。
動画像復号装置1は、ピクチャごとに、再生されたマクロブロックをその符号化順序に従って結合することにより、ピクチャを再生する。そして結合部は、ピクチャを時間順に配置して、動画像データを再生する。動画像復号装置1は、再生した動画像データを出力する。出力された動画像データは、例えば、図示しない記憶装置に記憶される。また、ポストフィルタ部18により生成された表示用マクロブロックデータを用いて作成されたピクチャを含む動画像データは、動画像復号装置1と接続された、図示しない表示装置に表示される。
図13及び図14は、一つの実施形態による動画像復号処理の動作フローチャートである。なお、動画像復号装置1は、この動画像復号処理をピクチャごとに実行する。
エントロピー復号部10は、符号化された動画像データから巡回方向情報および境界移動量情報を抽出する(ステップS101)。そしてエントロピー復号部10は、巡回方向情報及び境界移動量情報を領域分類部11へ出力する。
領域分類部11は、一つ前のピクチャのクリーン領域境界、巡回方向情報および境界移動量情報に基づいて、復号対象ピクチャのクリーン領域及び非クリーン領域を特定する(ステップS102)。そして領域分類部11は復号対象ピクチャのクリーン領域及び非クリーン領域を表す情報を参照可否判定部12へ出力する。
また、エントロピー復号部10は、所定のエントロピー符号化方式にしたがって復号対象マクロブロックのマクロブロックデータを復号する(ステップS103)。そしてエントロピー復号部10は、復号対象マクロブロックはイントラ予測符号化されているか否か判定する(ステップS104)。エントロピー復号部10は、復号対象マクロブロックのマクロブロックデータに含まれる符号化モードがイントラ予測符号化されることを示している場合、復号対象マクロブロックはイントラ予測符号化されていると判定する。
復号対象マクロブロックがイントラ予測符号化されている場合(ステップS104−Yes)、エントロピー復号部10は、セレクタ15へ、復号対象マクロブロックはイントラ予測符号化されていることを通知する。またエントロピー復号部10は、復号対象マクロブロック内の各復号対象ブロックについてのイントラ予測モードフラグprevIntraPredModeFlagをイントラ予測部17へ出力する。
イントラ予測部17は、復号対象ブロックの上側及び左側に隣接する参照ブロックを参照領域として、復号対象ブロックの位置及びその参照領域の位置及び範囲を参照可否判定部12へ通知する。参照可否判定部12は、復号対象ブロックの上側及び左側に隣接する参照ブロックのうち参照可能なブロックを判定する(ステップS105)。そして参照可否判定部12は、その判定結果をイントラ予測部17へ通知する。
イントラ予測部17は、イントラ予測モードフラグprevIntraPredModeFlagに基づいてイントラ予測モードを求める。そしてイントラ予測部17は、イントラ予測モード及び参照可能な参照ブロックに基づいてイントラ予測画像を生成する(ステップS106)。なお、イントラ予測モードによって規定された参照ブロックが参照不能である場合、イントラ予測部17は、イントラ予測画像を生成せず、復号対象ブロックの復号に失敗したと判定する。イントラ予測部17は、イントラ予測画像をセレクタ15へ出力する。
一方、復号対象マクロブロックがイントラ予測符号化されていない場合(ステップS104−No)、エントロピー復号部10は、復号対象マクロブロックはインター符号化されているか否か判定する(ステップS107)。エントロピー復号部10は、復号対象マクロブロックのマクロブロックデータに含まれる符号化モードがインター符号化されることを示している場合、復号対象マクロブロックはインター符号化されていると判定する。
復号対象マクロブロックがインター符号化されている場合(ステップS107−Yes)、エントロピー復号部10は、セレクタ15へ、復号対象マクロブロックはインター符号化されていることを通知する。またエントロピー復号部10は、動きパラメータを動き補償部16へ出力する。そして動き補償部16は、復号対象マクロブロック内の復号対象ブロックについての予測動きベクトルを決定するために参照され得るブロックを含む領域を参照領域として、その参照領域の位置及び範囲を復号対象ブロックの位置とともに参照可否判定部12へ渡す。参照可否判定部12は、参照領域中の参照可能なブロックを決定する。そして参照可否判定部12は、参照可能なブロックを動き補償部16へ通知する。
動き補償部16は、参照可能なブロックと指標pmvIdxに基づいて予測動きベクトルを決定する(ステップS108)。そして動き補償部16は、予測動きベクトルに動きベクトルと予測動きベクトル間の予測誤差を加算して動きベクトルを再生する(ステップS109)。
動き補償部16は、動きベクトルで特定された領域を参照領域とする。そして動き補償部16は、その参照領域の位置及び範囲を復号対象ブロックの位置とともに参照可否判定部12へ渡す。参照可否判定部12は、動きベクトルで特定された参照領域のうち参照可能な画素範囲を判定する(ステップS110)。そして参照可否判定部12は、その判定結果を動き補償部16へ通知する。
動き補償部16は、参照領域の全ての画素が参照可能か否か判定する(ステップS111)。参照領域内の一部の画素が参照不能である場合(ステップS111−No)、動き補償部16は、参照可能な範囲内の画素値に基づいて求めた値で参照不能な画素の値を置換する(ステップS112)。
ステップS112の後、あるいはステップS111にて参照領域の全ての画素が参照可能である場合(ステップS111−Yes)、動き補償部16は、参照領域及び動きベクトルに基づいて、動き補償された予測画像を生成する(ステップS113)。そして動き補償部16は、動き補償された予測画像をセレクタ15へ出力する。
図14に示されるように、逆量子化・直交変換部13は、量子化係数を逆量子化して直交変換係数の組を復元し、その直交変換係数の組を逆直交変換して各画素の予測誤差を再生する(ステップS114)。
加算器14は、各画素の予測誤差にセレクタ15から受け取った予測画像の対応画素の値を加えることにより、復号対象マクロブロックを再生する(ステップS115)。
動画像復号装置1は、復号対象ピクチャ内の全てのマクロブロックが復号されたか否か判定する(ステップS116)。一部のマクロブロックが復号されていない場合(ステップS116−No)、動画像復号装置1は、ステップS103以降の処理を繰り返す。
一方、復号対象ピクチャ内の全てのマクロブロックが復号されている場合(ステップS116−Yes)、ポストフィルタ部18は、復号対象ピクチャ中に対象ブロックを順次設定する。そしてポストフィルタ部18は、対象ブロックについて設定されるデブロッキングフィルタの参照範囲を参照領域とする。そしてポストフィルタ部18は、その参照領域の位置及び範囲を対象ブロックの位置とともに参照可否判定部12へ通知する。参照可否判定部12は、対象ブロックについて設定されるデブロッキングフィルタの参照範囲のうち参照可能な画素を判定する(ステップS117)。そして参照可否判定部12は、その判定結果をポストフィルタ部18へ通知する。
ポストフィルタ部18は、参照範囲内の全ての画素は参照可能か否か判定する(ステップS118)。
参照範囲内の全ての画素は参照可能である場合(ステップS118−Yes)、ポストフィルタ部18は、デブロッキングフィルタ処理を実行する(ステップS119)。
一方、参照範囲内の一部の画素が参照不能である場合(ステップS118−No)、ポストフィルタ部18は、デブロッキングフィルタ処理を実行して、表示用ブロックデータを生成する(ステップS120)。
またポストフィルタ部18は、参照不能な画素の値を対象ブロック内の画素値で置換する(ステップS121)。
そしてポストフィルタ部18は、一部の画素値が置換された参照範囲内の画素値を用いてデブロッキングフィルタ処理を実行して、復号用ブロックデータを生成する(ステップS122)。
ステップS119またはS122の後、動画像復号装置1は、再生されたマクロブロックをマクロブロックの符号化順序に従って順次結合することにより、復号対象ピクチャを再生する(ステップS123)。そして動画像復号装置1は、1枚のピクチャに対する動画像復号処理を終了する。
なお、動画像復号装置1は、ステップS104〜S106の処理よりも、ステップS107〜S113の処理を先に行ってもよい。
以上に説明してきたように、一つの実施形態による動画像復号装置は、符号化された動画像データに含まれる、クリーン領域境界の巡回方向及びクリーン領域境界の移動量を表す情報に従って、各ピクチャにおけるクリーン領域境界の位置を特定する。そのため、この動画像復号装置が復号対象とする符号化された動画像データは、ピクチャごとにクリーン領域境界の位置を示すスライスヘッダを有さなくてもよい。さらに、クリーン領域境界の巡回方向を表す情報は、リフレッシュ周期ごとに1回、符号化された動画像データに挿入されればよい。また、クリーン領域境界の移動量を表す情報も、各ピクチャのデータの先頭に配置される。そのため、ピクチャの符号化データの途中にスライスヘッダが含まれないので、エントロピー符号化方式としてCABACが用いられる場合でも、コンテクストの初期化が発生する回数を減らせる。そのため、この動画像復号装置は、エントロピー符号化の効率が低下することを抑制できる。さらに、復号対象ブロックが属するスライスと別のスライスに属するブロックの動きベクトルは参照できないが、ピクチャの符号化データの途中にスライスヘッダが含まれないため、この制約が緩和され、動きベクトルの予測効率が向上する。
さらに、この動画像復号装置は、クリーン領域境界の巡回方向を表す情報及びクリーン領域境界の移動量を表す情報を設定するだけで、自由にクリーン領域境界の巡回方向を規定できる。そのため、例えば、シーンごとにピクチャに写っている像の移動方向と略一致するようにクリーン領域境界の巡回方向が設定されることで、クリーン領域内のマクロブロックについても、最適な動きベクトルを用いることが出来る確率が向上する。
なお、本発明は上記の実施形態に限定されない。例えば、動画像復号装置は、ポストフィルタ部を有さなくてもよい。この場合、図14におけるステップS117以降の処理は省略される。
また他の実施形態によれば、クリーン領域境界は、符号化された動画像データにおいて、クリーン領域境界の方向と連続する二つのピクチャ間でのクリーン領域境界の移動量とによって規定されてもよい。
図15は、他の実施形態による、符号化された動画像データの構造を示す図である。符号化された動画像データ1500は、SPS1501と、PPS1502と、RP1503と、MB1504とを含む。この符号化された動画像データ1500は、SPS1501が巡回方向情報の代わりに境界方向情報を含むこと、及びPPS1502が境界移動量情報の代わりに境界情報を含む点で、図3に示された符号化された動画像データ300と異なる。符号化された動画像データ1500が含むその他のパラメータは、符号化された動画像データ300の対応するパラメータと同一であるため、以下では、境界方向情報及び境界情報について説明する。
境界方向情報(Boundary Direction、BD)1511は、ピクチャ内のクリーン領域境界の方向を表す。なお、クリーン領域境界の方向は、クリーン領域境界の巡回方向と直交するので、BD1511もクリーン領域境界の巡回方向を表す情報の一例である。本実施形態では、BD1511は、2ビットの信号BoundaryDirectionを持つ。BoundaryDirectionの意味は以下のように定義される。
‘00’:クリーン領域境界は、ピクチャの位置(0,Δ)と(width-1,Δ)とを結ぶ水平線上にある。なお、位置(x,y)は、ピクチャの左上端の画素を原点とする水平座標x、垂直座標yの位置を表す。またwidthは、ピクチャの水平方向の画素数(すなわち、ピクチャの幅)である。Δはクリーン領域境界位置であり、境界情報によって規定される。ただし、この水平線自体は、クリーン領域に含まれる。
‘01’:クリーン領域境界は、ピクチャの位置(Δ,0)と(Δ,height-1)とを結ぶ垂直線上にある。なお、heightは、ピクチャの垂直方向の画素数(すなわち、ピクチャの高さ)である。ただし、この垂直線自体は、クリーン領域に含まれる。
‘10’:クリーン領域境界は、ピクチャの先頭位置(例えば、左上端)からラスタスキャン順に沿ってΔ番目のマクロブロックまでが含まれる領域とその他のマクロブロックとを分離する線上にある。ただし、この線自体は、クリーン領域に含まれる。
境界情報(Boundary Information、BI)1512は、連続する二つのピクチャ間でのクリーン領域境界の移動量を表すパラメータ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':指定位置=ピクチャの右下端
変形例によれば、BI1512は、さらにクリーン領域識別子regionIdを含んでもよい。regionIdは、例えば、0以上N未満の整数である。ここでNは、予め規定された値である。regionIdは、ビットストリーム先頭では'0'となり、リフレッシュピクチャが出現するたびに1ずつ増加する。そしてregionIdは、Nに達したとき'0'にリセットされる。クリーン領域に含まれる各ブロックには、識別子としてregionIdと同一の値が割り当てられ、非クリーン領域に含まれる各ブロックには、識別子として(regionId-1)の値が割り当てられる。
復号対象ブロックの識別子をidx1、参照領域に含まれるブロックである参照ブロックの識別子をidx2とした場合、参照可否判定部12は、下記の条件を満たす参照ブロックを参照不可と判定する。
(idx1 > idx2) または (idx2-idx1 ≧ N/2)
さらに他の実施形態によれば、クリーン領域境界の方向は、ピクチャの対角線と略平行となるように設定されてもよい。例えば、クリーン領域境界の方向がピクチャの右上端と左下端とを結ぶ対角線と略平行となる場合、クリーン領域境界はピクチャの左上端から右下端へ向けて移動する。
この場合、クリーン領域境界の位置は、変数Mで規定される。ピクチャの左上端のマクロブロックをBlock(0,0)とし、ピクチャの左端から水平方向に右へa番目で、かつピクチャの上端から垂直方向に下方へb番目のマクロブロックをBlock(a,b)で表す。この場合、クリーン領域境界は、
Block(a,b) | (a+b) ≦ M
の条件を満たすマクロブロックとその他のマクロブロックとの境界となる。そして変数Mは、例えば、境界情報に含まれるboundaryDistanceの値を、一つ前のピクチャに対する変数M'に加算した値として求められる。
さらに他の実施形態によれば、ポストフィルタ部は、ポストフィルタ処理が行われる前のピクチャの各画素に対して、低域通過型の2次元空間フィルタを適用して、量子化歪を除去してもよい。この場合、2次元空間フィルタのフィルタ係数は、例えば、符号化された動画像データのピクチャパラメータの領域内に、エントロピー符号化された値として格納される。そしてエントロピー復号部が、そのフィルタ係数を復号し、復号したフィルタ係数をポストフィルタ部へ出力する。
例えば、ポストフィルタ部は、2次元空間フィルタによって参照される全ての画素が参照可能である場合、次式に従って2次元空間フィルタ処理を実行する。すなわち、2次元空間フィルタ処理の対象となる画素が非クリーン領域に属している場合、あるいは、2次元空間フィルタが参照する全ての画素がクリーン領域に属している場合、次式が適用される。
Figure 0005672302
ここで、p(x,y)は、フィルタ処理が適用される前のピクチャにおける水平座標x、垂直座標yの画素の値であり、p'(x,y)は、フィルタ処理が適用された後のピクチャにおける水平座標x、垂直座標yの画素の値である。またw(i,j)は、フィルタ係数であり、例えば、2次元のガウスフィルタに相当する係数値となる。Dは正規化ファクタである。この場合、2次元空間フィルタは、5x5のタップ数を持つ。なお、ポストフィルタ部は、5x5のタップ数を持つフィルタに限らず、例えば、3x3または7x7のタップ数を持つフィルタを用いてもよく、あるいは、垂直方向のタップ数と水平方向のタップ数が異なるフィルタを用いてもよい。
一方、2次元空間フィルタによって参照される画素の一部が参照不能である場合、ポストフィルタ部は、次式に従って2次元空間フィルタ処理を実行する。すなわち、フィルタ処理の対象となる画素p(x,y)が属するブロックがクリーン領域に属し、その隣接ブロックが非クリーン領域に属し、かつ、2次元空間フィルタによって参照される領域がそれら二つのブロックに跨る場合に次式が適用される。
Figure 0005672302
ここで、q(x,y)は、フィルタ処理が適用される前のピクチャに対して、参照不能な画素の値を参照可能な画素の値で置換したピクチャにおける水平座標x、垂直座標yの画素の値である。このように、ポストフィルタ部は、参照不能な画素の値を参照可能な画素の値で置換した上で空間フィルタ処理を実行することにより、参照不能な画素を参照しない空間フィルタ処理を実現できる。
図16(A)〜図16(C)は、それぞれ、フィルタが参照する参照領域の一部が参照不能となる代表的なケースを表す。また図16(D)は、フィルタ処理の対象となる画素が非クリーン領域に属しているケースを表す。図16(A)〜図16(D)において、ブロック1600は、フィルタにより参照される参照領域全体を表す。そしてブロック1600の中心に位置する画素1601は、フィルタ処理が行われる着目画素であり、その位置は、左上端画素を原点として水平方向座標x、垂直方向座標yで表される。そして領域1602は、非クリーン領域を表す。図16(A)〜図16(C)では、この非クリーン領域が参照不能領域となる。なお、参照領域1600から参照不能領域を除いた残りの領域が参照可能領域である。着目画素1601から参照不能領域までの垂直方向の画素数はNで表され、一方、着目画素1601から参照不能領域までの水平方向の画素数はMで表される。また図16(A)〜図16(D)において、着目画素1601から放射状に伸びる線と重なった画素が、フィルタリング演算に使用される画素である。
図16(A)では、参照不能領域1602は、参照領域内の下側にある。また図16(B)では、参照不能領域1602は、参照領域内の右側にある。また図16(C)では、参照不能領域1602は、参照領域内の右側及び下側にある。
ポストフィルタ部は、例えば、参照不能領域内の画素値を参照可能領域内の何れかの画素の値で置換して、q(x,y)を求める。
例えば、図16(A)〜図16(C)のそれぞれのケースについて、ポストフィルタ部は、左上を原点とし、水平座標X、垂直座標Yの画素値q(X,Y)を以下のように算出する。
ケース1(図16(A)):参照領域内の下方に参照不能領域がある場合
q(X,Y) = p(X,Y) | (Y < y+N) (図16(A)では、N=1)
q(X,Y) = p(X, y+N-1) | (Y ≧ y+N)
なお、参照領域内の上方に参照不能領域がある場合も同様に、参照不能領域内の画素値を、その参照不能領域に隣接する参照可能領域の画素値で置換することでq(X,Y)は算出される。
ケース2(図16(B)):参照領域内の右側に参照不能領域がある場合
q(X,Y) = p(X,Y) | (X < x+M) (図16(B)では、M=2)
q(X,Y) = p(x+M-1, Y) | (X ≧ x+M)
なお、参照領域内の左側に参照不能領域がある場合も同様に、参照不能領域内の画素値を、その参照不能領域に隣接する参照可能領域の画素値で置換することでq(X,Y)は算出される。
ケース3(図16(C)):参照領域内の下側及び右側に参照不能領域がある場合
q(X,Y) = p(X,Y) | (X < x+M)かつ(Y < y+N) (図16(C)では、M=2、N=1)
q(X,Y) = p(x+M-1, y+N-1) | (X ≧ x+M または Y ≧ y+N)
なお、参照領域内の左側及び上側に参照不能領域がある場合、参照可能領域の左上端の画素値で参照不能領域内の画素値を置換することでq(X,Y)は算出される。
また、ポストフィルタ部は、図16(D)に示されるケースでは、フィルタによって参照される画素がクリーン領域または非クリーン領域の何れに属している場合でも、(4)式に従って2次元空間フィルタ処理を実行する。
なお、ポストフィルタ部は、空間フィルタによって参照される一部の画素が参照不能である場合、その参照不能な画素の値を予め定めた値(例えば、128)で置換した上で、空間フィルタ処理を実行してもよい。
さらに他の変形例によれば、動き補償部は、動き補償された予測画像を生成するために参照される領域内の一部の画素が参照不能である場合、クリーン領域境界近傍で、かつその参照される領域内で参照可能な部分に写っている像のエッジ方向を求める。なおエッジ方向は、例えば、sobelフィルタを用いて様々な方向に対するエッジ検出処理を行ってエッジ強度が最も強い方向を特定することにより求められる。そして動き補償部は、エッジ方向に沿って画素値がほぼ等しくなるように、参照不能な領域内の画素値を外挿してもよい。
ポストフィルタ部は、デブロッキングフィルタ演算の対象画素がクリーン領域にあり、デブロッキングフィルタが参照する隣接ブロック内の画素が非クリーン領域内にある場合には、その隣接ブロック内の画素をデブロッキングフィルタ演算に使用しない。一方、デブロッキングフィルタ演算の対象画素が非クリーン領域にあり、デブロッキングフィルタが参照する隣接ブロックがクリーン領域に属する場合、ポストフィルタ部は、隣接ブロック内の画素をデブロッキングフィルタ演算に使用する。また、デブロッキングフィルタ演算の対象画素及びデブロッキングフィルタが参照する隣接ブロック内の画素が共に非クリーン領域にある場合には、ポストフィルタ部は、MPEG-4 AVC/H.264標準で規定されたデブロッキングフィルタ演算を実行すればよい。さらに、デブロッキングフィルタ演算の対象画素及びデブロッキングフィルタが参照する隣接ブロック内の画素が共にクリーン領域にある場合も、ポストフィルタ部は、MPEG-4 AVC/H.264標準で規定されたデブロッキングフィルタ演算を実行すればよい。
さらに他の実施形態では、動き補償部は、復号対象ブロックの予測動きベクトルPMVを以下のように復号してもよい。例えば、図10(A)及び図10(B)に示されるように、時刻Tにおけるピクチャの復号対象ブロックの左、上、右上に隣接するブロックをそれぞれbA、bB、bCとする。
動き補償部は、予測動きベクトルPMVを、標準で規定された予測動きベクトルの導出方法に従って算出する。ただし、動き補償部は、ブロックbA、bB及びbCが有効か否かを判断する際、それぞれのブロックが復号対象ブロックと別スライスにあるか否かを判断する代わりに、それぞれのブロックが参照可否判定部による参照可能か否かの判定結果を用いる。
さらに他の実施形態では、動き補償部は、予測動きベクトルPMVを以下のように復号してもよい。例えば、図10(A)及び図10(B)に示されるように、時刻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標準で規定された予測動きベクトルの導出方法に従って求める。
次に、他の実施形態による動画像符号化装置について説明する。
この実施形態による動画像符号化装置は、イントラスライス方式で動画像データを符号化する。そして、この動画像符号化装置は、符号化動画像データに、クリーン領域の境界位置を表すスライスヘッダをピクチャごとに挿入する代わりに、クリーン領域境界の巡回方向情報及び一つ前のピクチャからのクリーン領域境界の移動量情報を含める。これにより、この動画像符号化装置は、クリーン領域境界を表す情報の量を減らし、またスライスヘッダ挿入による符号化効率の低下を防ぎ、またクリーン領域境界の巡回方向を柔軟に変更可能とすることで符号化効率の向上を図る。
図17は、他の実施形態による動画像符号化装置の概略構成図である。動画像符号化装置2は、クリーン領域境界位置決定部21と、参照可否判定部22と、符号化部33とを有する。符号化部33は、予測モード判定部23と、イントラ予測部24と、動き補償部25と、セレクタ26と、予測誤差信号生成部27と、直交変換・量子化部28と、エントロピー符号化部29と、逆量子化・直交変換部30と、加算器31と、画像メモリ32とを有する。
動画像符号化装置2が有するこれらの各部は、それぞれ別個の回路として形成される。あるいは動画像符号化装置2が有するこれらの各部は、その各部に対応する回路が集積された一つの集積回路として動画像符号化装置2に実装されてもよい。さらに、動画像符号化装置2が有するこれらの各部は、動画像符号化装置2が有するプロセッサ上で実行されるコンピュータプログラムにより実現される、機能モジュールであってもよい。
クリーン領域境界位置決定部21は、領域分類部の一例であり、各ピクチャに対して所定の周期でクリーン領域がピクチャ全体を占めるように、各ピクチャのクリーン領域境界の位置を決定する。クリーン領域境界位置決定部21は、例えば、クリーン領域境界の巡回方向を表す情報を、図示しない制御部から受け取る。あるいは、クリーン領域境界位置決定部21は、リフレッシュ周期の整数倍の周期で、巡回方向を切り替えてもよい。例えば、クリーン領域境界位置決定部21は、リフレッシュピクチャの直前の所定枚数のピクチャについて求められた複数の動きベクトルの最頻値または中央値を求めて、その最頻値または中央値が表す方向を求める。そしてクリーン領域境界位置決定部21は、設定可能な複数のクリーン領域境界の巡回方向のうち、その最頻値または中央値が表す方向と最も近い方向をクリーン領域境界の巡回方向としてもよい。
またクリーン領域境界位置決定部21は、一つ前のピクチャにおけるクリーン領域境界の位置と、連続する二つのピクチャ間でのクリーン領域境界の移動量と、クリーン領域境界の巡回方向とに応じて、符号化対象ピクチャのクリーン領域境界の位置を決定する。なお、クリーン領域境界位置決定部21は、例えば、図示しない制御部から、クリーン領域境界の移動量を表す情報を受け取る。クリーン領域境界位置決定部21は、動画像復号装置1の領域分類部11による演算と同様の演算を行うことにより、クリーン領域境界の位置を求めることができる。
クリーン領域境界位置決定部21は、クリーン領域境界に基づいて決定される符号化対象ピクチャのクリーン領域の範囲と非クリーン領域の範囲を表す情報を、符号化対象ピクチャの識別子とともに参照可否判定部22へ出力する。またクリーン領域境界位置決定部21は、符号化対象ピクチャのクリーン領域境界の位置及びクリーン領域の範囲を予測モード判定部23へ通知する。さらに、クリーン領域境界位置決定部21は、符号化対象ピクチャ以降のピクチャにおけるクリーン領域境界の位置を決定するために、符号化対象ピクチャのクリーン領域境界の位置を、例えば、内蔵するメモリに格納する。さらに、クリーン領域境界位置決定部21は、クリーン領域境界の巡回方向を表す情報と、連続する二つのピクチャ間でのクリーン領域境界の移動量を表す情報とを、エントロピー符号化部29へ通知する。
参照可否判定部22は、符号化対象マクロブロック内の各ブロック(すなわち、符号化対象ブロック)の位置と、参照領域の位置及びサイズを、予測モード判定部23、イントラ予測部24または動き補償部25から受け取る。そして参照可否判定部22は、符号化対象ブロックが符号化対象ピクチャのクリーン領域に含まれるか否かを判定する。また参照可否判定部22は、参照領域内の画素が参照ピクチャのクリーン領域に含まれるか否かを判定する。そして参照可否判定部22は、動画像復号装置1の参照可否判定部12と同様に、それらの判定結果に応じて、その参照領域内の画素を参照可能か否か判定する。そして参照可否判定部22は、その参照領域内で参照可能な画素を表す情報を予測モード判定部23、イントラ予測部24または動き補償部25へ出力する。
符号化部33は、図示しない、符号化する動画像データを記憶するバッファメモリから、符号化する動画像データのピクチャのデータをマクロブロック単位で順次読み込む。そして符号化部33は、符号化対象ブロックが参照可能な画素に基づいて、その符号化対象ブロックを符号化する。そのために、符号化部33が有する各部は、以下に説明するように動作する。
予測モード判定部23は、符号化対象ブロックに対する予測画像の生成方法を規定する予測モードを決定する。予測モード判定部23は、例えば、符号化対象マクロブロックがクリーン領域に属していれば、符号化対象マクロブロックの予測モードを、イントラ符号化モードまたはイントラ予測符号化モードとする。特に、リフレッシュピクチャでは、クリーン領域のマクロブロックはインター符号化を選択できないので、予測モード判定部23は、符号化対象ピクチャ内のマクロブロックの情報のみを参照するイントラ符号化モードを選択する。
また予測モード判定部23は、符号化対象マクロブロックがクリーン領域に属する場合には、インター符号化する場合またはイントラ予測符号化する場合に参照される可能性のある領域をそれぞれ参照領域として特定する。そして予測モード判定部23は、符号化対象マクロブロックの位置と、そのマクロブロックがインター符号化される場合及びイントラ予測符号化される場合のそれぞれの参照領域の位置及び範囲を参照可否判定部22へ通知する。
また予測モード判定部23は、符号化対象マクロブロックが非クリーン領域に属する場合には、符号化対象マクロブロックの予測モードを、イントラ符号化モードまたはイントラ予測符号化モードとする。
予測モード判定部23は、参照可否判定部22から参照領域内の各画素について参照可能か否かの判定結果を受け取る。そして予測モード判定部23は、各符号化モードについてのマクロブロックの符号化されたデータ量の評価値であるコストをそれぞれ算出する。そして予測モード判定部23は、コストが最小となる符号化モードを、符号化対象マクロブロックに対して適用される符号化モードとする。
各符号化モードに対するコストは、例えば、次のように計算される。
Figure 0005672302
ここで、costf及びcostiは、それぞれ、インター符号化モード及びイントラ予測符号化モードに対応するコストである。orgi,jは、符号化対象マクロブロックに含まれる水平方向座標i、垂直方向座標jの画素の値を表す。またrefi,jは、予測画像に含まれる水平方向座標i、垂直方向座標jの画素の値を表す。なお、予測モード判定部23は、イントラ予測部24及び動き補償部25と同様の方法によって参照ピクチャから予測画像を生成する。またmv1は、符号化対象マクロブロックに対する動きベクトルを表し、premv1は、直前に符号化されたマクロブロックの動きベクトルを表す。ただし、premv1は、符号化対象ブロックについて参照可能な範囲内から選択される。さらに、Table[a-b]は、ベクトルaとベクトルbの差分ベクトルに対応する推定符号量を出力する。例えば、Table[a-b]は、様々な差分ベクトルに対する推定符号量を示した参照テーブルであってもよい。またλは重み定数であり、例えば、1に設定される。AveMBは、符号化対象マクロブロックに含まれる画素値の平均値である。また、AveMBの代わりに、符号化対象マクロブロックに隣接するマクロブロックに含まれる画素値から生成されるイントラ予測画像の画素値が用いられてもよい。この場合も、符号化対象マクロブロックに隣接するマクロブロックのうち、参照可能なマクロブロックから生成可能なイントラ予測画像のみが用いられる。この場合、予測モード判定部23は、各イントラ予測モードについても別個にコストを算出する。ただし、イントラ予測画像が生成できないイントラ予測モードに対するコストは、他の符号化モードによるコストよりも大きくなるような非常に大きな値に設定される。
予測モード判定部23は、(6)式に従って、選択対象となる符号化モードのそれぞれについてコストを算出する。そして予測モード判定部23は、コストが最小となる符号化モードを、符号化対象マクロブロックに対して適用される符号化モードとして選択する。
予測モード判定部23は、選択した符号化モードをセレクタ26及びエントロピー符号化部29へ通知する。また予測モード判定部23は、選択した符号化モードがイントラ予測符号化モードであれば、イントラ予測部24へ予測画像を生成するよう通知する。一方、選択した符号化モードがインター符号化モードであれば、予測モード判定部23は、動き補償部25へ動き補償された予測画像を生成するよう通知する。
イントラ予測部24は、予測モード判定部23によって選択されたイントラ予測モードに従って予測画像を生成する。その際、イントラ予測部24は、例えば、MPEG-4 AVC/H.264に規定されている水平モード、DCモード、または垂直モードなどに従って予測画像を生成する。
イントラ予測部24は、生成された予測画像をセレクタ26へ渡す。
動き補償部25は、符号化対象マクロブロックがインター符号化される場合、符号化対象マクロブロック内の符号化対象ブロックと参照ピクチャとを用いて動きベクトルを算出する。動きベクトルは、符号化対象ブロックと、そのブロックに最も類似する参照ピクチャとの空間的な移動量を表す。
動き補償部25は、符号化対象ブロックの位置と、動きベクトルを求めるために参照される可能性のある参照ピクチャ上の参照領域の位置及び範囲とを参照可否判定部22へ通知する。そして動き補償部25は、参照可否判定部22から、参照領域内で参照可能な画素を表す情報を受け取る。
動き補償部25は、符号化対象ブロックと、参照ピクチャとのブロックマッチングを実行することにより、符号化対象ブロックと最も一致する参照ピクチャ及びその参照ピクチャが含まれるピクチャ上での位置を決定する。なお、参照領域内の一部の画素が参照不能な場合、動き補償部25は、符号化対象ブロックとのブロックマッチングを行う参照ピクチャ上の範囲を、参照可否判定部22により示された参照可能な画素を少なくとも一部に含む範囲に限定する。
動き補償部25は、符号化対象ブロックのピクチャ上の位置と、そのブロックに最も一致する参照ピクチャ上の領域との水平方向及び垂直方向の移動量を動きベクトルとする。
動き補償部25は、画像メモリ32から得た参照ピクチャ中の符号化対象ブロックと最も一致するブロックを動きベクトルに基づいて動き補償することにより予測画像を生成する。なお、動き補償は、動きベクトルで表された、ブロックとそれに対して最も類似する参照ピクチャ上のブロックの位置ずれ量を相殺するように、その最も類似する参照ピクチャ上のブロックの位置を移動する処理である。
さらに、動き補償部25は、符号化対象ブロックと最も一致する参照ピクチャ上のブロック(以下では、単に参照ブロックと呼ぶ)に参照不能な画素が含まれる場合、動き補償パラメータを算出してもよい。例えば、動き補償部25は、参照ブロック中の下側または上側に参照不能な画素がある場合、参照ブロックの上端または下端に位置する参照不能な画素の値の平均値PIを算出する。そして動き補償部25は、その平均値PIから参照ブロックの中心近傍の画素の平均値PCを減算した値(PI-PC)を平均値PCで除した値を、垂直方向についての動き補償パラメータalphaYとする。同様に、動き補償部25は、参照ブロック中の右側または左側に参照不能な画素がある場合、参照ブロックの右端または左端に位置する参照不能な画素の値の平均値PIを算出する。そして動き補償部25は、その平均値PIから参照ブロックの中心近傍の画素の平均値PCを減算した値(PI-PC)を平均値PCで除した値を、水平方向についての動き補償パラメータalphaXとする。
そして動き補償部25は、動画像復号装置2の動き補償部16と同様に、例えば(1)式に従って算出された値で、参照ブロック中の参照不能な画素の値を置換する。
そして動き補償部25は、その置換された画素値を含む参照ブロックに基づいて予測画像を生成する。
動き補償部25は、動きベクトル、動き補償パラメータとともに参照ピクチャの識別子をエントロピー符号化部29へ渡す。また動き補償部25は、予測画像をセレクタ26へ渡す。
セレクタ26は、予測モード判定部23から通知された符号化モードに応じて、イントラ予測部24及び動き補償部25の何れかから受け取った予測画像を符号化部27及び加算器31へ出力する。
予測誤差信号生成部27は、符号化対象マクロブロックと、セレクタ26から受け取った予測画像との差分演算を実行することにより、符号化対象マクロブロック内の各画素の予測誤差を算出する。予測誤差信号生成部11は、各画素の予測誤差を直交変換・量子化部28へ渡す。
直交変換・量子化部28は、符号化対象マクロブロック内の符号化対象ブロックの各画素の予測誤差を直交変換することにより、予測誤差の水平方向の周波数成分及び垂直方向の周波数成分を表す周波数信号を求める。例えば、直交変換・量子化部28は、直交変換処理として、離散コサイン変換(Discrete Cosine Transform、DCT)を予測誤差に対して実行することにより、周波数信号として、ブロックごとのDCT係数の組を得る。
次に、直交変換・量子化部28は、周波数信号を量子化する。この量子化処理は、一定区間に含まれる信号値を一つの信号値で表す処理である。そしてその一定区間は、量子化幅と呼ばれる。例えば、直交変換・量子化部28は、周波数信号から、量子化幅に相当する所定数の下位ビットを切り捨てることにより、その周波数信号を量子化する。量子化幅は、量子化パラメータによって決定される。例えば、直交変換・量子化部28は、量子化パラメータの値に対する量子化幅の値を表す関数にしたがって、使用される量子化幅を決定する。またその関数は、量子化パラメータの値に対する単調増加関数とすることができ、予め設定される。
あるいは、水平方向及び垂直方向の周波数成分のそれぞれに対応する量子化幅を規定する量子化マトリクスが、予め複数準備され、直交変換・量子化部28が有するメモリに記憶される。そして直交変換・量子化部28は、量子化パラメータにしたがって、それら量子化マトリクスのうちの特定の量子化マトリクスを選択する。そして直交変換・量子化部28は、選択された量子化マトリクスを参照して、周波数信号の各周波数成分に対する量子化幅を決定してもよい。
また直交変換・量子化部28は、MPEG-2、MPEG-4、MPEG-4 AVC/H.264などの動画像符号化標準に対応した様々な量子化パラメータ決定方法の何れかに従って量子化パラメータを決定すればよい。直交変換・量子化部28は、例えば、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法を用いることができる。なお、MPEG-2の標準テストモデル5に関する量子化パラメータの算出方法に関しては、例えば、http://www.mpeg.org/MPEG/MSSG/tm5/Ch10/Ch10.htmlで特定されるURLを参照されたい。
直交変換・量子化部28は、量子化処理を実行することにより、量子化係数を求め、その量子化係数をエントロピー符号化部29及び逆量子化・直交変換部30へ出力する。
エントロピー符号化部29は、直交変換・量子化部28から受け取った量子化係数及び動き補償部25から受け取った動きベクトルなどを、所定のエントロピー符号化方式に従って符号化することにより、データ量が圧縮された符号化信号を生成する。そのために、エントロピー符号化部29は、例えば、所定のエントロピー符号化方式として、ハフマン符号化方式あるいは算術符号化方式を用いることができる。
さらに、エントロピー符号化部29は、符号化信号と、マクロブロックごとの予測モード、巡回方向情報、境界移動量情報などを含むように、図3または図15に示された構造を持つ符号化された動画像データを生成する。そして動画像符号化装置2は、符号化された動画像データを磁気記録媒体、光記録媒体あるいは半導体メモリなどを有する記憶部(図示せず)に記憶するか、あるいはその符号化された動画像データを他の機器へ出力する。
逆量子化・直交変換部30は、直交変換・量子化部28から受け取った量子化係数に、量子化パラメータにより決定された量子化幅に相当する所定数を乗算することにより逆量子化する。この逆量子化により、入力されたマクロブロックの周波数信号、例えば、DCT係数の組が復元される。その後、逆量子化・直交変換部30は、周波数信号を逆直交変換処理する。例えば、直交変換・量子化部28においてDCT処理が行われる場合、逆量子化・直交変換部30は、逆量子化信号に対して逆DCT処理を実行する。逆量子化処理及び逆直交変換処理を量子化信号に対して実行することにより、符号化前の予測誤差と同程度の情報を有する、符号化対象マクロブロックの各画素の予測誤差が再生される。
そして逆量子化・直交変換部30は、再生された各画素の予測誤差を加算器31へ出力する。
加算器31は、セレクタ26から受け取った予測画像の各画素の値に、逆量子化・直交変換部30から受け取った、対応する画素の予測誤差を加算することにより、符号化対象マクロブロックを再生する。加算器31は、再生された各マクロブロックを符号化順序に従って結合することにより、その後に符号化されるマクロブロックに対する予測画像を生成するために利用される参照ピクチャを生成する。
加算器31は、得られた参照ピクチャを画像メモリ32に記憶させる。
画像メモリ32は、例えば、半導体メモリを有する。そして画像メモリ32は、加算器31から受け取った参照ピクチャを一時的に記憶する。そして画像メモリ32は、イントラ予測部24、動き補償部25及び予測モード判定部23にその参照ピクチャを供給する。なお、画像メモリ32は、予め定められた所定枚数分の参照ピクチャを記憶し、参照ピクチャの枚数がその所定枚数を超えると、符号化順序が古い参照ピクチャから順に破棄する。
なお、動画像符号化装置2は、図2に示された動画像復号装置1が有するポストフィルタ部と同様のポストフィルタ部を有してもよい。ただし、この場合、ポストフィルタ部は、フィルタによって参照される領域内の一部の画素が参照不能である場合も、復号用マクロブロックデータのみを生成し、表示用マクロブロックデータを生成しない。
図18及び図19は、動画像符号化装置2により実行される動画像符号化処理の動作フローチャートである。動画像符号化装置2は、動画像データに含まれるピクチャごとに、この動画像符号化処理を実行する。
クリーン領域境界位置決定部21は、一つ前のピクチャのクリーン領域境界、巡回方向情報および移動量情報に基づいて、符号化対象ピクチャのクリーン領域境界を決定する(ステップS201)。そしてクリーン領域境界位置決定部21は、クリーン領域境界に基づいて決定されるクリーン領域の範囲及び非クリーン領域の範囲を表す情報を参照可否判定部22へ出力する。
動画像符号化装置2は、符号化対象マクロブロックを設定する(ステップS202)。そして符号化対象マクロブロックのデータは、符号化部33の予測モード判定部23、動き補償部25及び予測誤差信号生成部27に入力される。
予測モード判定部23は、符号化対象マクロブロックを符号化するために参照される可能性のある符号化対象ピクチャ及び参照ピクチャ上の領域を参照領域として、その参照領域の位置及び範囲と符号化対象マクロブロックの位置とを参照可否判定部22へ通知する。参照可否判定部22は、参照領域内で参照可能な画素を判定する(ステップS203)。参照可否判定部22はその判定結果を予測モード判定部23へ通知する。
予測モード判定部23は、参照可能な画素に基づいて各符号化モードのコストを最小化する符号化モードを符号化対象マクロブロックの符号化モードとして決定する(ステップS204)。
予測モード判定部23は符号化対象マクロブロックがイントラ予測符号化されると決定したか否か判定する(ステップS205)。符号化対象マクロブロックがイントラ予測符号化される場合(ステップS205−Yes)、予測モード判定部23は、その判定結果をイントラ予測部24、セレクタ26及びエントロピー符号化部29へ通知する。
イントラ予測部24は、参照可能な参照ブロックに基づいてイントラ予測画像を生成する(ステップS206)。そしてイントラ予測部24は、イントラ予測画像をセレクタ26へ出力する。
一方、符号化対象マクロブロックがイントラ予測符号化されない場合(ステップS205−No)、予測モード判定部23は、符号化対象マクロブロックはインター符号化されると決定したか否か判定する(ステップS207)。符号化対象マクロブロックがインター符号化される場合(ステップS207−Yes)、予測モード判定部23は、その判定結果を動き補償部25、セレクタ26及びエントロピー符号化部29へ通知する。
動き補償部25は、例えば、参照領域内で参照可能な画素を含む範囲内でブロックマッチング処理を行うことにより、動きベクトルを算出する(ステップS208)。
動きベクトルで特定された領域内の全ての画素が参照可能か否か判定する(ステップS209)。特定された領域内の一部の画素が参照不能である場合(ステップS209−No)、動き補償部25は、動き補償パラメータを算出する(ステップS210)。そして動き補償部25は、その動き補償パラメータ及び参照可能な範囲内の画素値に基づいて求めた値で参照不能な画素の値を置換する(ステップS211)。
ステップS209にて特定された領域内の全ての画素が参照可能である場合(ステップS209−Yes)、あるいはステップS211の後、動き補償部25は、動き補償された予測画像を生成する(ステップS212)。また動き補償部25は、参照可能なブロックに基づいて、予測動きベクトル及び指標pmVIdxを決定する(ステップS213)。そして動き補償部25は、動きベクトルと予測動きベクトル間の予測誤差を算出する。
動き補償部25は、動き補償された予測画像をセレクタ26へ出力する。また動き補償部25は、動き補償パラメータ、動きベクトルと予測動きベクトル間の予測誤差及び指標pmVIdxをエントロピー符号化部29へ出力する。
図19に示されるように、予測誤差信号生成部27は、符号化対象マクロブロックの各画素の値から、セレクタ26から受け取った予測画像の対応画素の値を減算して各画素の予測誤差を算出する(ステップS214)。そして予測誤差信号生成部27は、各画素の予測誤差を直交変換・量子化部28へ出力する。直交変換・量子化部28は各画素の予測誤差を直交変換及び量子化して量子化係数の組を算出する(ステップS215)。直交変換・量子化部28は、量子化係数の組をエントロピー符号化部29及び逆量子化・直交変換部30へ出力する。
逆量子化・直交変換部30は、量子化係数を逆量子化及び逆直交変換して各画素の予測誤差を再生する(ステップS216)。そして逆量子化・直交変換部30は、再生した予測誤差を加算器31へ出力する。
加算器31は、各画素の予測誤差を予測画像の対応画素の値に加えることにより、符号化対象マクロブロックを参照用のデータとして再生する(ステップS217)。そして加算器31は、再生したマクロブロックを画像メモリ32に格納する。
一方、エントロピー符号化部29は、所定のエントロピー符号化方式にしたがって符号化対象マクロブロックの量子化係数、動きベクトルなどのマクロブロックデータを符号化する(ステップS218)。
動画像符号化装置2は、符号化対象ピクチャ内の全てのマクロブロックを符号化したか否か判定する(ステップS219)。何れかのマクロブロックが符号化されていなければ(ステップS219−No)、動画像符号化装置2は、ステップS202以降の処理を繰り返す。
一方、符号化対象ピクチャ内の全てのマクロブロックが符号化されていれば(ステップS219−Yes)、エントロピー符号化部29は、クリーン領域境界についての巡回方向情報及び移動量情報を含むように、符号化された動画像データを生成する(ステップS220)。そして動画像符号化装置2は、動画像符号化処理を終了する。
なお、動画像符号化装置2は、ステップS216〜S217の処理と、ステップS218の処理とを平行して実行してもよい。
以上に説明してきたように、この実施形態による動画像符号化装置は、クリーン領域境界の巡回方向及びクリーン領域境界の移動量を表す情報によって、符号化された動画像データの各ピクチャにおけるクリーン領域境界の位置を規定する。そしてこの動画像符号化装置は、符号化された動画像データにおいて、クリーン領域境界の巡回方向及びクリーン領域境界の移動量を符号化された各ピクチャのマクロブロックデータとは別の位置に挿入する。そのため、この動画像符号化装置により符号化された動画像データは、ピクチャごとにクリーン領域境界の位置を示すスライスヘッダを有さなくてもよい。さらに、クリーン領域境界の巡回方向を表す情報は、リフレッシュ周期ごとに1回、符号化された動画像データに挿入されればよい。また、クリーン領域境界の移動量を表す情報も、各ピクチャのデータの先頭に配置される。そのため、ピクチャの符号化データの途中にスライスヘッダが含まれないので、エントロピー符号化方式としてCABACが用いられる場合でも、コンテクストの初期化が発生する回数を減らせる。そのため、この動画像符号化装置は、エントロピー符号化の効率が低下することを抑制できる。さらに、符号化対象ブロックが属するスライスと別のスライスに属するブロックの動きベクトルは参照できないが、ピクチャの符号化データの途中にスライスヘッダが含まれないため、この制約が緩和され、動きベクトルの予測効率が向上する。
さらに、この動画像符号化装置は、クリーン領域境界の巡回方向を表す情報及びクリーン領域境界の移動量を表す情報を設定するだけで、自由にクリーン領域境界の巡回方向を規定できる。そのため、例えば、シーンごとにピクチャに写っている像の移動方向と略一致するようにクリーン領域境界の巡回方向が設定されることで、クリーン領域内のマクロブロックについても、最適な動きベクトルを用いることが出来る確率が向上する。
なお、クリーン領域境界の符号化方法は上記に限定するものではなく、例えば、クリーン領域に属するマクロブロックの識別情報(ID)あるいはマクロブロックアドレスをすべてヘッダで符号化することによって、クリーン領域境界は符号化されてもよい。あるいは、クリーン領域境界の符号化方法として、ITU-T H.264/MPEG-4 AVCのフレキシブルマクロブロックオーダ(FMO)のSlice Groupの規定で定義されるような領域の分類方法など、画像の領域を指定する他の一般的な方法も、一般性を失うことなく用いることが可能である。
コンピュータ上で実行されることにより、上述した実施形態またはその変形例による動画像復号装置及び動画像符号化装置の各部の機能を実現するコンピュータプログラムは、半導体メモリまたは光記録媒体などの記録媒体に記録されて配布されてもよい。
上述した実施形態またはその変形例による動画像復号装置は、様々な用途に利用される。例えば、この動画像復号装置は、ビデオカメラ、映像受信装置、テレビ電話システム、コンピュータあるいは携帯電話機に組み込まれる。例えば、この動画像復号装置が映像受信装置に組み込まれる場合、符号化動画像データは、まず映像送信装置にて生成される。そしてその符号化動画像データは、音声信号等、動画像データと同時に取得される他の信号とともに、所定の通信規格に従ったデータストリームに変換される。そのデータストリームは、映像送信装置の出力部に接続されたアンテナを介して、あるいは通信回線を介して、遠隔地に設置された映像受信装置に伝送される。そして動画像復号装置を組み込んだ映像受信装置は、そのデータストリームから符号化動画像データを取り出し、動画像符号化装置に出力する。動画像符号化装置は動画像を復号し、出力する。
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
1 動画像復号装置
10 エントロピー復号部
11 領域分類部
12 参照可否判定部
13 逆量子化・直交変換部
14 加算器
15 セレクタ
16 動き補償部
17 イントラ予測部
18 ポストフィルタ部
19 画像メモリ
20 復号部
2 動画像符号化装置
21 クリーン領域境界位置決定部
22 参照可否判定部
23 予測モード判定部
24 イントラ予測部
25 動き補償部
26 セレクタ
27 予測誤差信号生成部
28 直交変換・量子化部
29 エントロピー符号化部
30 逆量子化・直交変換部
31 加算器
32 画像メモリ
33 符号化部

Claims (11)

  1. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置であって、
    前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出する領域境界位置情報抽出部と、
    前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、
    前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定する参照可否判定部と、
    前記復号対象ブロックと前記参照ピクチャ間の動きを表す動きベクトルを用いて、前記参照ピクチャに含まれる参照ブロックを動き補償することにより第1の予測画像を生成する動き補償部を有し、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第1の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを復号する復号部と、を有し、
    前記符号化された動画像データは、前記復号対象ブロックの動きベクトルの予測方法を表す指標及び動きベクトルの予測誤差を含み、
    前記参照可否判定部は、前記復号対象ブロックの前記動きベクトルの予測値を決定するために参照される可能性のある複数のブロックを含む参照領域のうちで前記復号対象ブロックが参照できる前記参照可能ブロックを決定し、
    前記動き補償部は、前記参照可能ブロックと前記指標とに基づいて前記動きベクトルの予測値を決定し、かつ、前記動きベクトルの予測値に前記動きベクトルの予測誤差を加算することにより前記動きベクトルを再生する、
    動画像復号装置。
  2. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置であって、
    前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出する領域境界位置情報抽出部と、
    前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、
    前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定する参照可否判定部と、
    前記参照可否判定部の判定に基づいて、前記参照可能ブロックのみを参照して前記復号対象ブロックを復号する復号部と、を有し、
    前記復号部は、
    前記復号対象ブロックと隣接する隣接ブロックが前記参照可能ブロックである場合に前記隣接ブロック内の画素値を用いて第2の予測画像を生成し、一方、前記隣接ブロックが前記参照不能ブロックである場合、前記第2の予測画像を生成しないイントラ予測部を有し、
    前記復号部は、前記第2の予測画像が生成された場合に限り、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第2の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを復号する、動画像復号装置。
  3. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号装置であって、
    前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出する領域境界位置情報抽出部と、
    前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定する領域分類部と、
    前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定する参照可否判定部と、
    前記参照可否判定部の判定に基づいて、前記参照可能ブロックのみを参照して前記復号対象ブロックを復号する復号部と、を有し、
    前記復号部は、
    再生された前記復号対象ブロックに対して所定のフィルタを適用するフィルタ処理を行うポストフィルタ部を有し、
    前記ポストフィルタ部は、前記所定のフィルタが参照する領域内に前記参照不能ブロック内の画素が含まれている場合、当該参照不能ブロック内の画素の値を前記フィルタが参照する領域内の前記参照可能ブロック内の画素の何れかの値で置換した後にフィルタ処理を実行することにより、他のブロックの復号に利用される第1の復号データを求める、動画像復号装置。
  4. 前記領域境界位置情報は、領域境界の移動方向情報及びピクチャ間の領域境界の変移を含む、請求項1〜3の何れか一項に記載の動画像復号装置。
  5. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法であって、
    前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出し、
    前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定し、
    前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定し、
    前記復号対象ブロックと前記参照ピクチャ間の動きを表す動きベクトルを用いて、前記参照ピクチャに含まれる参照ブロックを動き補償することにより第1の予測画像を生成し、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第1の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを復号する
    ことを含み、
    前記符号化された動画像データは、前記復号対象ブロックの動きベクトルの予測方法を表す指標及び動きベクトルの予測誤差を含み、
    前記参照不能ブロック及び前記参照可能ブロックを判定することは、前記復号対象ブロックの前記動きベクトルの予測値を決定するために参照される可能性のある複数のブロックを含む参照領域のうちで前記復号対象ブロックが参照できる前記参照可能ブロックを決定することを含み、
    前記第1の予測画像を生成することは、前記参照可能ブロックと前記指標とに基づいて前記動きベクトルの予測値を決定し、かつ、前記動きベクトルの予測値に前記動きベクトルの予測誤差を加算することにより前記動きベクトルを再生することを含む、
    動画像復号方法。
  6. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法であって、
    前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出し、
    前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定し、
    前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定し、
    前記復号対象ブロックと隣接する隣接ブロックが前記参照可能ブロックである場合に前記隣接ブロック内の画素値を用いて第2の予測画像を生成し、一方、前記隣接ブロックが前記参照不能ブロックである場合、前記第2の予測画像を生成せず、
    前記第2の予測画像が生成された場合に限り、前記符号化された動画像データから再生した前記復号対象ブロック内の各画素の予測誤差に前記第2の予測画像の対応する画素の値を加算することにより、前記復号対象ブロックを復号する、
    ことを含む動画像復号方法。
  7. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように符号化された動画像データを復号する動画像復号方法であって、
    前記符号化された動画像データからクリーン領域と非クリーン領域との領域境界位置情報を抽出し、
    前記領域境界位置情報に基づいて、ピクチャ内のクリーン領域と非クリーン領域とを特定し、
    前記符号化された動画像データに含まれる復号対象ピクチャ内の復号対象ブロックが前記クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、復号対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、復号対象ブロックが前記非クリーン領域に属する場合には復号対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定し、
    前記参照可能ブロックのみを参照して前記復号対象ブロックを復号し、
    復号された前記復号対象ブロックに対して適用される所定のフィルタが参照する領域内に前記参照不能ブロック内の画素が含まれている場合、当該参照不能ブロック内の画素の値を前記所定のフィルタが参照する領域内の前記参照可能ブロック内の画素の何れかの値で置換した後に復号された前記復号対象ブロックに対して前記所定のフィルタを適用することにより、他のブロックの復号に利用される第1の復号データを求める、
    ことを含む動画像復号方法。
  8. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化装置であって、
    ピクチャ内のクリーン領域と非クリーン領域とを決定する領域分類部と、
    符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定する参照可否判定部と、
    前記参照可否判定部の判定に基いて、前記参照可能ブロックのみを参照して前記符号化対象ブロックを符号化し、クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める符号化部と、
    を有し、
    前記符号化部は、
    前記符号化対象ブロックと前記参照ピクチャ間の動きを表す動きベクトルを用いて、前記参照ピクチャに含まれる参照ブロックを動き補償することにより第1の予測画像を生成する動き補償部を有し、前記符号化対象ブロックと前記第1の予測画像間の対応する各画素の差である予測誤差を符号化し、
    前記参照可否判定部は、前記符号化対象ブロックの前記動きベクトルの予測値を決定するために参照される可能性のある複数のブロックを含む参照領域のうち、前記符号化対象ブロックが参照できる前記参照可能ブロックを決定し、
    前記動き補償部は、前記符号化対象ブロックの動きベクトルの予測方法の中から前記参照可能ブロックの動きベクトルを参照する予測方法を表す指標を求め、前記参照可能ブロック及び前記指標に基づいて前記動きベクトルの予測値を決定し、かつ、前記動きベクトルと前記動きベクトルの予測値間の予測誤差を求め、
    前記符号化部は前記動きベクトルと前記動きベクトルの予測値間の予測誤差及び前記指標を前記符号化された動画像データに含める、
    動画像符号化装置。
  9. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化装置であって、
    ピクチャ内のクリーン領域と非クリーン領域とを決定する領域分類部と、
    符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定する参照可否判定部と、
    前記参照可否判定部の判定に基いて、前記参照可能ブロックのみを参照して前記符号化対象ブロックを符号化し、クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める符号化部と、
    を有し、
    前記符号化部は、
    前記符号化対象ブロックと隣接する隣接ブロックのうち、前記参照可能ブロックである隣接ブロック内の画素値を用いて第2の予測画像を生成し、前記符号化対象ブロックと前記第2の予測画像間の対応する各画素の差である予測誤差を符号化する、
    動画像符号化装置。
  10. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化方法であって、
    ピクチャ内のクリーン領域と非クリーン領域とを決定し、
    符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定し、
    前記参照可能ブロックのみを参照して前記符号化対象ブロックを符号化し、
    クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める、
    ことを含み、
    前記符号化対象ブロックを符号化することは、
    前記符号化対象ブロックと前記参照ピクチャ間の動きを表す動きベクトルを用いて、前記参照ピクチャに含まれる参照ブロックを動き補償することにより第1の予測画像を生成し、前記符号化対象ブロックと前記第1の予測画像間の対応する各画素の差である予測誤差を符号化することを含み、
    前記参照不能ブロック及び前記参照可能ブロックを判定することは、前記符号化対象ブロックの前記動きベクトルの予測値を決定するために参照される可能性のある複数のブロックを含む参照領域のうち、前記符号化対象ブロックが参照できる前記参照可能ブロックを決定することを含み、
    前記第1の予測画像を生成することは、前記符号化対象ブロックの動きベクトルの予測方法の中から前記参照可能ブロックの動きベクトルを参照する予測方法を表す指標を求め、前記参照可能ブロック及び前記指標に基づいて前記動きベクトルの予測値を決定し、かつ、前記動きベクトルと前記動きベクトルの予測値間の予測誤差を求めることを含み、
    前記符号化対象ブロックを符号化することは、前記動きベクトルと前記動きベクトルの予測値間の予測誤差及び前記指標を前記符号化された動画像データに含めることを含む、
    動画像符号化方法。
  11. 正常に画素値が復号されることが保証されるように符号化される少なくとも一つのブロックを含むクリーン領域が、所定の周期でピクチャ全体を占めるように動画像データを符号化する動画像符号化方法であって、
    ピクチャ内のクリーン領域と非クリーン領域とを決定し、
    符号化対象ピクチャ内の符号化対象ブロックが前記クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャ内の前記非クリーン領域内のブロックを参照不能である参照不能ブロック、符号化対象ピクチャ及び参照ピクチャ内の前記クリーン領域内のブロックを参照可能である参照可能ブロックと判定し、符号化対象ブロックが前記非クリーン領域に属する場合には符号化対象ピクチャ及び参照ピクチャの全ブロックを前記参照可能ブロックと判定し、
    前記参照可能ブロックのみを参照して前記符号化対象ブロックを符号化し、
    クリーン領域と非クリーン領域との領域境界位置情報を符号化された動画像データに含める、
    ことを含み、
    前記符号化対象ブロックを符号化することは、
    前記符号化対象ブロックと隣接する隣接ブロックのうち、前記参照可能ブロックである隣接ブロック内の画素値を用いて第2の予測画像を生成し、前記符号化対象ブロックと前記第2の予測画像間の対応する各画素の差である予測誤差を符号化することを含む、
    動画像符号化方法。
JP2012524394A 2010-07-15 2010-07-21 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法 Expired - Fee Related JP5672302B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012524394A JP5672302B2 (ja) 2010-07-15 2010-07-21 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JPPCT/JP2010/061996 2010-07-15
PCT/JP2010/061996 WO2012008037A1 (ja) 2010-07-15 2010-07-15 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
PCT/JP2010/062266 WO2012008054A1 (ja) 2010-07-15 2010-07-21 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
JP2012524394A JP5672302B2 (ja) 2010-07-15 2010-07-21 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法

Publications (2)

Publication Number Publication Date
JPWO2012008054A1 JPWO2012008054A1 (ja) 2013-09-05
JP5672302B2 true JP5672302B2 (ja) 2015-02-18

Family

ID=45469061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012524394A Expired - Fee Related JP5672302B2 (ja) 2010-07-15 2010-07-21 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法

Country Status (3)

Country Link
US (1) US9591305B2 (ja)
JP (1) JP5672302B2 (ja)
WO (2) WO2012008037A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012151576A (ja) 2011-01-18 2012-08-09 Hitachi Ltd 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置
JP5717886B2 (ja) * 2011-03-09 2015-05-13 シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft デジタル画像のシーケンスを符号化する方法
US10511862B2 (en) * 2012-06-25 2019-12-17 Nec Corporation Video encoding/decoding device, method, and program
GB2519289B (en) * 2013-10-11 2016-10-12 Canon Kk Method and apparatus for displacement vector component transformation in video coding and decoding
JP2015106747A (ja) * 2013-11-28 2015-06-08 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP6268989B2 (ja) * 2013-11-29 2018-01-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
FR3066873A1 (fr) * 2017-05-29 2018-11-30 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image
US12003775B2 (en) 2018-08-06 2024-06-04 Sharp Kabushiki Kaisha Video decoding apparatus and video coding apparatus
WO2020054784A1 (ja) * 2018-09-11 2020-03-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
WO2020054781A1 (ja) * 2018-09-11 2020-03-19 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
JP2020108077A (ja) * 2018-12-28 2020-07-09 富士通株式会社 映像符号化装置、映像符号化方法、映像符号化プログラム、映像復号装置、映像復号方法、及び映像復号プログラム
CN110083728B (zh) * 2019-04-03 2021-08-20 上海铼锶信息技术有限公司 一种优化自动化图片数据清洗质量的方法、装置和***
US11432015B2 (en) * 2019-07-11 2022-08-30 Qualcomm Incorporated Adaptive loop filtering across raster-scan slices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009021908A (ja) * 2007-07-13 2009-01-29 Fujitsu Ltd 動画像符号化装置及びプログラム
WO2009037726A1 (ja) * 2007-09-18 2009-03-26 Fujitsu Limited 動画像符号化装置および動画像復号装置
JP2009095064A (ja) * 2009-01-19 2009-04-30 Mitsubishi Electric Corp 復号化方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06101841B2 (ja) 1984-01-11 1994-12-12 日本電気株式会社 動画像信号の符号化方法およびその装置
JPH06113286A (ja) 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 高能率符号化装置
JP4186242B2 (ja) * 1997-12-26 2008-11-26 ソニー株式会社 画像信号処理装置及び画像信号処理方法
US7391812B2 (en) * 2002-07-14 2008-06-24 Apple Inc. Adaptively post filtering encoded video
JP4276420B2 (ja) 2002-11-05 2009-06-10 三菱電機株式会社 動き補償方法
US20050201470A1 (en) 2004-03-12 2005-09-15 John Sievers Intra block walk around refresh for H.264
JP4680608B2 (ja) * 2005-01-17 2011-05-11 パナソニック株式会社 画像復号装置及び方法
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
CN100459717C (zh) * 2005-04-20 2009-02-04 华为技术有限公司 基于h.264的压缩视频传输误码消除方法
KR20080061379A (ko) * 2005-09-26 2008-07-02 코닌클리케 필립스 일렉트로닉스 엔.브이. 비디오 에러 은폐를 개선하기 위한 코딩/디코딩 방법 및장치
JP4724061B2 (ja) * 2006-07-06 2011-07-13 株式会社東芝 動画像符号化装置
US8520730B2 (en) * 2007-11-28 2013-08-27 Panasonic Corporation Picture coding method and picture coding apparatus
US8289444B2 (en) * 2009-05-06 2012-10-16 Samsung Electronics Co., Ltd. System and method for reducing visible halo in digital video with covering and uncovering detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009021908A (ja) * 2007-07-13 2009-01-29 Fujitsu Ltd 動画像符号化装置及びプログラム
WO2009037726A1 (ja) * 2007-09-18 2009-03-26 Fujitsu Limited 動画像符号化装置および動画像復号装置
JP2009095064A (ja) * 2009-01-19 2009-04-30 Mitsubishi Electric Corp 復号化方法

Also Published As

Publication number Publication date
WO2012008054A1 (ja) 2012-01-19
US20130128981A1 (en) 2013-05-23
US9591305B2 (en) 2017-03-07
JPWO2012008054A1 (ja) 2013-09-05
WO2012008037A1 (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
JP5672302B2 (ja) 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
JP6835448B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法及び符号化ビットストリームを記録した記録媒体
US9451279B2 (en) Method for decoding a moving picture
US9609354B2 (en) Apparatus for decoding a moving picture
JP6082073B2 (ja) 画像復号装置、画像復号方法、画像符号化装置、画像符号化方法及びビットストリーム
JP6025726B2 (ja) 動画復号化装置
CN105959706B (zh) 图像编码装置和方法、以及图像译码装置和方法
KR20130101070A (ko) 동화상 부호화 장치, 동화상 복호 장치, 동화상 부호화 방법 및 동화상 복호 방법
US9473789B2 (en) Apparatus for decoding a moving picture
WO2014049981A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
WO2014049982A1 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
JP2015080002A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
KR100728032B1 (ko) 워핑 기반의 인트라 예측 방법
JP4561701B2 (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141125

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141208

R150 Certificate of patent or registration of utility model

Ref document number: 5672302

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees