JPWO2009047917A1 - 映像符号化方法及び映像復号方法 - Google Patents

映像符号化方法及び映像復号方法 Download PDF

Info

Publication number
JPWO2009047917A1
JPWO2009047917A1 JP2009536934A JP2009536934A JPWO2009047917A1 JP WO2009047917 A1 JPWO2009047917 A1 JP WO2009047917A1 JP 2009536934 A JP2009536934 A JP 2009536934A JP 2009536934 A JP2009536934 A JP 2009536934A JP WO2009047917 A1 JPWO2009047917 A1 JP WO2009047917A1
Authority
JP
Japan
Prior art keywords
filter
interpolation filter
adaptive interpolation
decimal
coefficients
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.)
Pending
Application number
JP2009536934A
Other languages
English (en)
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2009047917A1 publication Critical patent/JPWO2009047917A1/ja
Pending legal-status Critical Current

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/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/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/136Incoming video signal characteristics or properties
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion 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
    • 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/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

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)

Abstract

予測効率と符号化効率とを最適化することができる映像符号化方法及び映像符号化装置を提供する。映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化装置(100)であって、適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを入力画像に適用することで、小数画素精度の動き補償を行う動き補償予測部(160)と、動き補償により生成された予測画像と、入力画像とを減算することで予測誤差を生成する減算器(110)と、予測誤差を符号化するエントロピー符号化部(190)とを備える。

Description

本発明は、映像符号化方法及び映像復号方法に関し、特に、適応的補間フィルタを用いて小数画素精度の動き補償予測に基づいた映像符号化方法及び映像復号方法に関する。
ハイブリッド符号化技術では、予測誤差の変換符号化を伴う動き補償予測を適用している。特に小数画素精度の動きベクトルでは、エイリアシング、量子化誤差、間違った動き検出での誤差、及び、カメラノイズなどの影響は、予測効率を制限してしまう。適応的補間フィルタリングのコンセプトは、これらに対する解決策を提供しようとするものである。
実験によれば、信号特性に応じて分離型又は非分離型の適応的補間フィルタを適用することが有用であると分かった。また、一方で、フィルタ係数の伝送のオーバーヘッドのデータ量を低減するためには、対称フィルタを適用することが有用であると考えられる。一方で、予測に用いる最適な補間信号を得て最もよい符号化効率ゲインを達成するためには、非対称フィルタを適用することが必要であると考えられる。
図1は、従来の映像符号化装置の構成の一例を示すブロック図である。同図の映像符号化装置300は、入力画像(入力信号)の対象ブロックと、メモリ140に格納されている先に符号化及び復号されたブロックに基づく対象ブロックの予測信号との差分を決定する減算器110を備える。具体的には、H.264/AVC規格に従って、入力画像はマクロブロックに分割される。映像符号化装置300は、入力画像である入力映像シーケンスの対象ブロックと、先に符号化及び復号されたブロック(ローカル復号画像)とに基づく予測信号との差分だけを伝送する差分パルス符号変調(DPCM:Differential Pulse Code Modulation)手法を用いている。減算器110は、符号化の対象ブロックを受け取り、受け取った対象ブロックから予測信号を減算することで、差分(予測誤差とも記載する)を算出する。
変換/量子化部120は、結果として生じる予測誤差を空間領域から周波数領域に変換し、得られた変換係数を量子化する。
ローカル復号画像は、映像符号化装置300に組み込まれた復号部(逆量子化/逆変換部130、加算器135及びデブロッキングフィルタ137)によって提供される。この復号部は、符号化ステップの逆の順序で実行する。つまり、逆量子化/逆変換部130は、量子化係数を逆量子化し、逆変換を逆量子化係数に適用する。加算器135は、復号された差分を予測信号に加算して、ローカル復号画像を形成する。さらに、デブロッキングフィルタ137は、復号画像のブロック歪み(ブロッキングアーティファクト)を低減する。
映像符号化装置300によって使用される予測タイプは、マクロブロックが「イントラ」モード又は「インター」モードで符号化されるかどうかに依存する。「イントラ」モードでは、映像符号化規格であるH.264/AVCは、次のマクロブロックを予測するために、同じ画像の中で既に符号化されたマクロブロックに基づく、予測の仕組みを用いる。「インター」モードでは、いくつかの連続するピクチャの対応するブロック間の動き補償予測が用いられる。
イントラ符号化画像(I−タイプ画像)だけは、先に復号された画像を参照することなく、符号化される。このI−タイプ画像には、符号化映像シーケンスに対する誤り耐性(誤差の回復力)を持たしている。さらに、符号化映像シーケンスに含まれる画像の中でI−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。イントラモード(イントラフレーム予測部150による処理)とインターモード(動き補償予測部360による処理)との切換は、イントラ/インター切換スイッチ180によって制御される。
「インター」モードでは、マクロブロックは、動き補償を使用することで、先のピクチャの対応するブロックから予測される。動き検出は、対象入力信号とローカル復号画像とを受信する動き検出部170によって達成される。動き検出により、対象ブロックと先のピクチャの対応するブロックとの間の画素の位置ずれ(動き)を表す2次元の動きベクトルが生成される。検出された動きに基づいて、動き補償予測部360は予測信号を出力する。
予測精度を最適化するために、動きベクトルを小数画素精度で、例えば、1/2画素精度又は1/4画素精度で決定してもよい(特許文献1参照)。小数画素精度の動きベクトルは、画素値が利用できない先のピクチャ内の位置(すなわち、小数画素位置)を指してもよい。したがって、動き補償を行うには画素値の空間補間が必要である。H.264/AVC規格では、小数画素位置の画素値を得るために、固定フィルタ係数の6タップウィナー補間フィルタ及び双線形フィルタが適用される。補間プロセスは、次のように行われる。
1.1/2画素位置を、6タップフィルタを用いて水平及び垂直方向に算出する。
2.1/4画素位置を、既存の整数画素位置の画素値だけでなく、すでに算出した1/2画素値を利用する双線形フィルタリングを用いて算出する。
フィルタ係数は、固定であるため、映像復号装置は、フィルタ係数を識別することができる。このため、フィルタ係数を映像復号装置に伝送するためのオーバーヘッドデータは、必要ではない。
「イントラ」及び「インター」符号化モードともに、対象信号と予測信号との差分は、変換/量子化部120によって変換係数へ変換される。通常、2次元の離散コサイン変換(DCT:Discrete Cosine Transformation)又はその整数バージョンなどの直交変換が使用される。
変換係数は、符号化しなければならないデータ量を削減するために量子化される。量子化ステップは、精度と、各々の周波数係数を符号化するのに用いられるビット数とを記した量子化テーブルによって制御される。通常、画質にとって低周波成分が微細な内容より重要であり、その結果、低周波成分の符号化には高周波成分よりも多くのビットが費やされる。
量子化の後、変換係数の2次元配列は、エントロピー符号化部390に通すために、1次元の列に変換される。この変換は、予め定められたシーケンスで、配列をスキャンすることによって行われる。こうして得られた量子化変換係数の1次元シーケンスは、ランレベルと呼ばれる数の組からなる列に圧縮される。そして、ランレベルシーケンスは、可変長の2値の符号語(VLC:Variable Length Code)に符号化される。この符号は、より短い符号語が、典型的な映像において頻出するランレベルの組に割り当てられるように最適化される。その結果生じるビットストリームは、動き情報と多重化されて、記録媒体に保存されるか又は映像復号装置側に伝送される。
映像復号装置は、映像符号化装置側から伝送されたビットストリームを基にして、符号化画像を再構成する場合、符号化プロセスと逆の方法で復号を行う。
図2は、従来の映像復号装置の構成の一例を示すブロック図である。同図の映像復号装置400において、まず、エントロピー復号部491によってエントロピー符号化された動きデータと変換係数とがエントロピー復号される。また、逆変換に必要なため、このステップには、復号済み変換係数のシーケンスを2次元データブロックに変換する逆スキャンが含まれる。そして、変換係数の復号済みブロックは、逆量子化/逆変換部230に出力され、復号済み動きデータは、動き補償予測部460に送られる。動きベクトルの実際の値に応じて、動き補償を行うために画素値の補間が必要になる可能性がある。逆量子化及び逆変換の結果には予測誤差が含まれ、加算器235は、この予測誤差と、インターモードの動き補償予測部460又はイントラモードのイントラフレーム予測部250によって生成される予測信号とを加算する。その結果、再構成された画像は、デブロッキングフィルタ237に出力され、デブロッキングフィルタ237によって処理された復号済みの信号は、イントラフレーム予測部150及び動き補償予測部460に用いられるメモリ140に格納される。
以上のように、従来の映像符号化装置300では、固定的なフィルタ係数を持つ補間フィルタを用いて、より精度の高い動き補償を行い、高精度な予測に基づいて入力画像を符号化することができる。また、従来の映像復号装置400では、高精度な予測に基づいて符号化された画像を再構成することができる。
さらに、H.264/AVCに続く規格では、予測精度と圧縮効率とを改善するために、予め定められた補間フィルタ(非適応的補間フィルタ)を、処理対象の映像の統計特性に応じて適応的に変更することができる適応的補間フィルタに置き換えることが検討されている。つまり、符号化効率は、予測精度にかなり依存し、予測精度は、動き検出及び動き補償の精度に依存する。動き補償予測部360が用いた固定補間フィルタを、映像に含まれる画像の統計特性に合わせた適応的補間フィルタで置き換えることにより、動き補償の精度を向上させてもよい。
今のところ、適応的補間フィルタの主な実装方法には2つ、つまり、分離型フィルタ又は非分離型フィルタに基づいた実装方法がある。分離型フィルタは、2つの1次元の補間フィルタに分離可能である。この2つの1次元の補間フィルタを連続的に適用することで、非分離型フィルタを適用する場合と同じ効果が得られる。非分離型フィルタは、2次元の補間フィルタであり、1次元の補間フィルタには分離することができない。
どちらのフィルタを実装する場合でも、不変な画像統計値に合わせたフィルタを適用することができるため、符号化効率は改善されるという長所がある。この長所に加え、各実装方法には、計算の複雑性及び符号化効率の点でそれ自身の長所及び短所がある。それらを以下にまとめる。
分離型適応的補間フィルタの独立フィルタ係数の数は、非分離型適応的補間フィルタよりも少ないため、フィルタを利用し、かつ、符号化する際の計算の複雑性は軽減される。しかしながら、これはまた、非分離型フィルタと比べて自由度が減り、予測効率を改善する可能性が低くなることを意味している。非分離型フィルタよりも符号化効率が低いことにつながるかもしれない。
非分離型適応的補間フィルタは、分離型適応的補間フィルタに比べて、自由度が高く、予測効率及び符号化効率をより改善することができる。しかしながら、分離型適応的補間フィルタに比べて、独立フィルタ係数の数が多いために、計算の複雑度が増加する。
したがって、いずれのフィルタを適用するかをユーザが指定することで、どちらの実装方法もユーザの要求に応じて有益なものとなる。ある実装方法の計算が複雑でもよいのであれば、非分離型補間フィルタを適用することによって、最適な予測効率を得ることが可能である。逆に、ある実装方法の計算を複雑にできないのであれば、最適な予測効率をおそらくは得ることができない分離型フィルタを適用することで、計算を簡単化することができる。
米国特許出願公開第2006/0294171号明細書
しかしながら、上記従来技術では、予測効率及び符号化効率を最適化することができないという課題がある。
上記従来技術では、フィルタ係数を適応的に設定することができても、フィルタのタイプが固定的である。逆に、適応的/非適応的、又は、分離型/非分離型などのフィルタタイプを適応的に設定することができても、フィルタのタップ数及びフィルタ係数は固定的である。したがって、上記従来技術では、予測効率と符号化効率とを最適化することができない。
そこで、本発明は、予測効率と符号化効率とを最適化することができる映像符号化方法、映像復号方法及び対応する装置を提供することを目的とする。
上記課題を解決するため、本発明の映像符号化方法は、映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む。
これにより、フィルタの特性とフィルタ係数とを同時に適応的に決定することができるので、予測効率と符号化効率とを最適化することができる。
また、前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化してもよい。
これにより、フィルタ特性を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。
また、前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも1つを示す情報を符号化してもよい。
これにより、例えば、設定された補間フィルタが分離型補間フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが非分離型補間フィルタである場合は、予測の自由度は制限されるが、計算を簡単にすることができ、すなわち、符号化しなければならないデータ量を削減することができる。また、設定された補間フィルタが非対称フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが対称フィルタである場合は、符号化しなければならないデータ量を削減することができるので、符号化効率を高めることができる。
また、前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化してもよい。
これにより、フィルタ係数を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、受信したフィルタ係数とフィルタ特性とに基づいてより正確な動き補償を行うことができる。したがって、符号化ビットストリームから元の映像を正しく復元することができる。
また、前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化してもよい。
これにより、より符号化効率を高めることができる。
また、前記符号化ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。
一般的に、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
また、前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。
一般的に、小数画素の位置が平行移動の対称関係にある場合、それぞれの小数画素の補間フィルタは互いに同じである、又は、類似していることが多い。すなわち、それぞれの補間フィルタの対応するフィルタ係数は、同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数間での差分を符号化してもよい。
これにより、補間フィルタがそれ自身で対称である場合、対称関係にある2つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
また、前記符号化ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素のうち、1つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化してもよい。
上述したように、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。したがって、対称関係にある補間フィルタのうち、1つのみの補間フィルタの複数のフィルタ係数だけを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にある補間フィルタは、フィルタ係数を決定した補間フィルタとミラー関係にある補間フィルタであるとみなすことができる。
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数ごとに1つのフィルタ係数を符号化してもよい。
上述したように、補間フィルタがそれ自身で対称である場合、対称関係にある2つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数のうち1つのフィルタ係数のみを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にあるフィルタ係数は、決定したフィルタ係数と同じであるとみなすことができる。
また、前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化してもよい。
これにより、補間フィルタのサイズを示す情報を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に1つのみ設定してもよい。
また、本発明の映像復号方法は、符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む。
これにより、小数画素精度の動き補償を行うことで、より精度の高い復元画像を生成することができる。
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
これにより、符号化ストリームからフィルタ特性を復元することができるので、符号化された映像がどのようなフィルタ特性を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、より精度の高い復元画像を生成することができる。
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも1つを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。
これにより、符号化ストリームからフィルタ係数を復元することができるので、符号化される映像がどのようなフィルタ特性を有し、どういった値のフィルタ係数を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、正確に復元画像を生成することができる。
また、前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。
また、前記復号ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも2つの小数画素のいずれか1つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
また、前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも2つの小数画素のいずれか1つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数間での差分と、前記少なくとも2つのフィルタ係数のいずれか1つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定してもよい。
以上のように、符号量を削減するために対称性を利用して符号化された符号化ストリームから、正確に補間フィルタのフィルタ係数を復号及び決定することができる。
また、前記復号ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素ごとに符号化されている1つの小数画素の適応的補間フィルタのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数ごとに符号化されている1つのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定してもよい。
また、前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新してもよい。
これにより、同じフィルタ係数を複数回使用することができるので、フィルタ係数の決定に関わる処理量を削減することができる。また、重複して使用するフィルタ係数を符号化ストリームに含める必要がなくなるため、符号量を削減することができる。
また、前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に1つのみ設定してもよい。
なお、本発明は、映像符号化方法及び映像復号方法として実現できるだけではなく、当該映像符号化方法及び映像復号方法に含まれるステップを処理部とする装置として実現することもできる。
また、本発明の映像符号化方法及び映像復号方法に含まれるステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なCD−ROM(Compact Disc−Read Only Memory)などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
また、上記の各映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されていてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
本発明の映像符号化方法、映像復号方法及びそれらの装置によれば、予測効率と符号化効率とを最適化することができる。
図1は、従来の映像符号化装置の構成の一例を示すブロック図である。 図2は、従来の映像復号装置の構成の一例を示すブロック図である。 図3は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置の構成を示すブロック図である。 図4は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置の構成を示すブロック図である。 図5は、本実施の形態の映像符号化装置の処理を示すフローチャートである。 図6Aは、本実施の形態の映像復号装置の処理を示すフローチャートである。 図6Bは、映像復号装置が対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。 図7は、フィルタ係数が決定される小数画素位置を示す図である。 図8は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。 図9は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。 図10は、映像データに含まれる画像のブロックの概略図である。 図11は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。 図12は、2つの小数画素位置の補間フィルタが対称となる一例を示す図である。 図13Aは、垂直軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Bは、水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Cは、対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Dは、垂直軸及び水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Eは、垂直軸、水平軸及び対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Fは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。 図14Aは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。 図14Bは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。 図14Cは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。 図14Dは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。 図14Eは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。 図14Fは、分離型適応的補間フィルタの対称関係と平行移動の関係の一例を示す図である。 図14Gは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。 図15は、本実施の形態のシグナリングを実行するための第1のシンタックスエレメントを示す図である。 図16Aは、小数画素位置における対称性の一例を示す図である。 図16Bは、フィルタIDが割り当てられた小数画素位置の補間フィルタの一例を示す図である。 図16Cは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。 図17は、本実施の形態のシグナリングを実行するための第2のシンタックスエレメントの抜粋を示す図である。 図18は、本実施の形態のシグナリングを実行するための第3のシンタックスエレメントの抜粋を示す図である。 図19は、本実施の形態のシグナリングを実行するための第4のシンタックスエレメントの抜粋を示す図である。 図20は、本実施の形態のシグナリングを実行するための第5のシンタックスエレメントの抜粋を示す図である。
符号の説明
100、300 映像符号化装置
110 減算器
120 変換/量子化部
130、230 逆量子化/逆変換部
135、235 加算器
137、237 デブロッキングフィルタ
140、161、240、261 メモリ
150、250 イントラフレーム予測部
160、260、360、460 動き補償予測部
170 動き検出部
180、280 イントラ/インター切換スイッチ
190、390 エントロピー符号化部
200、400 映像復号装置
291、491 エントロピー復号部
501、502、503 変位ベクトル
以下では、本実施の形態の映像符号化装置及び映像復号装置について図面を用いて詳細に説明する。
図3は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置100の構成を示すブロック図である。同図の映像符号化装置100は、映像データ(入力映像シーケンス)に含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、映像データを符号化する装置である。図3のブロック図は、図1に対応する。図1に示す映像符号化装置300と同じ構成要素には同じ参照符号を付している。
図3に示す映像符号化装置100は、減算器110と、変換/量子化部120と、逆量子化/逆変換部130と、加算器135と、デブロッキングフィルタ137と、メモリ140と、イントラフレーム予測部150と、動き補償予測部160と、動き検出部170と、イントラ/インター切換スイッチ180と、エントロピー符号化部190とを備える。映像符号化装置100は、図1に示した従来の映像符号化装置300と比較して、動き補償予測部360の代わりに動き補償予測部160を備え、エントロピー符号化部390の代わりにエントロピー符号化部190を備える点が異なっている。
なお、本実施の形態の映像符号化装置100は、H.264/AVC規格、又は、当該規格に続く規格を採用する。H.264/AVC規格では、入力映像シーケンスに含まれる入力画像は、マクロブロックなどのブロックに分割される。そして、入力画像のブロックと、先に符号化されたブロックから予測された予測ブロックとの差分だけを伝送する差分パルス符号変調(DPCM)が用いられる。
減算器110は、入力信号(入力画像)と予測信号(予測画像)との差分を算出する。なお、この差分を予測誤差という。具体的には、減算器110は、入力信号に含まれる入力画像のブロック(符号化対象ブロック)から、イントラフレーム予測部150又は動き補償予測部160によって生成される予測ブロックを減算することで、予測誤差を算出する。
変換/量子化部120は、減算器110によって算出された予測誤差を、空間領域から周波数領域に変換する。例えば、予測誤差に対して、2次元の離散コサイン変換(DCT)又はその整数バージョンなどの直交変換処理を実行する。変換/量子化部120は、さらに、変換により得られた変換係数を量子化する。量子化によって得られた2次元の変換係数は、1次元に変換する必要がある。このため、予め定められたシーケンスに従って2次元配列をスキャンすることで、1次元の量子化変換係数のシーケンスをエントロピー符号化部190に供給する。このように量子化を行うことで、符号化する必要があるデータ量を削減することができる。
なお、変換/量子化部120は、量子化ステップを用いて変換係数を量子化する。この量子化ステップは、量子化テーブルによって制御される。量子化テーブルは、精度と、各周波数係数を符号化するために用いられるビット数とを特定するテーブルである。通常、低周波成分は細部よりも画質にとってより重要であるために、低周波成分の符号化には高周波成分の符号化よりも多くのビットが費やされる。
逆量子化/逆変換部130は、変換/量子化部120によって量子化された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。
加算器135は、逆量子化/逆変換部130によって復元された予測誤差と、イントラフレーム予測部150又は動き補償予測部160によって生成される予測信号(予測ブロック)とを加算することで、ローカル復号画像を生成する。
デブロッキングフィルタ137は、加算器135によって生成されたローカル復号画像にデブロッキングフィルタ処理を実行する。これにより、ローカル復号画像に含まれるブロック歪み(ブロッキングアーティファクト)を低減することができる。なお、デブロッキングフィルタ137は、復号画像に適用されなくてもよい。
メモリ140は、デブロッキングフィルタ137によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。
イントラフレーム予測部150は、メモリ140からローカル復号画像を読み出し、読み出したローカル復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。「イントラ」モードでは、予測ブロックを生成するために、同じ画像のすでに符号化されたブロックを利用した予測処理を行う。すなわち、「イントラ」モードでは、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで符号化対象ブロックの符号化を行うことができる。
このように符号化されたイントラ符号化画像(I−タイプ画像)は、符号化映像シーケンスに誤り耐性を持たしている。また、I−タイプ画像は、ランダムアクセスを可能にするために、すなわち、符号化映像シーケンスに含まれる画像の中でI−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。
動き補償予測部160は、小数精度の動き補償に必要な適応的補間フィルタのフィルタ特性を決定する。フィルタ特性は、例えば、適応的補間フィルタのフィルタタイプを示す情報、及び、適応的補間フィルタのサイズを示す情報などである。フィルタのサイズは、例えば、適応的補間フィルタのフィルタ係数の数であるタップ数などである。
具体的には、動き補償予測部160は、適応的補間フィルタとして、分離型、及び、非分離型適応的フィルタのいずれかを決定し、さらに、決定した適応的補間フィルタのタップ数、及び、各フィルタ係数の値を決定する。フィルタ係数の値は、整数画素との相対的な小数画素の位置ごとに決定される。フィルタ係数の決定処理の詳細については後述する。なお、動き補償予測部160は、フィルタ係数が固定である非適応的補間フィルタを用いてもよい。
さらに、動き補償予測部160は、決定した適応的補間フィルタが対称関係を有するか否か、すなわち、対称フィルタ、及び、非対称フィルタのいずれであるかを決定する。フィルタの対称性を利用する処理の詳細についても後述する。
なお、動き補償予測部160は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、1つの映像データに対して、1つの特性を設定してもよい。したがって、所定の処理単位中は、同じフィルタ特性を利用するため、動き補償予測部160は、フィルタ特性を一時的に保持するメモリ161を備える。このメモリ161は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。例えば、動き補償予測部160は、Iピクチャごとにフィルタ特性を決定し、スライス単位でフィルタ係数を決定する。
また、動き補償予測部160は、映像データ、映像データに含まれる画像内容、又は、映像データの画像解像度などに基づいて、適応的補間フィルタの特性を設定する。あるいは、所定の処理単位の符号化後の映像データのサイズが最小となるように適応的補間フィルタの特性を設定する。具体的には、フィルタ特性ごとに符号化を所定の処理単位ごとに行い、符号化後の映像データのサイズが最小となるフィルタ特性を選択する。
このため、動き補償予測部160には、入力信号のコピーも入力される。さらに、決定された適応的補間フィルタのフィルタ係数は、エントロピー符号化部190に伝送され、エントロピー符号化部190によって出力ビットストリームに挿入される。
さらに、動き補償予測部160は、メモリ140からローカル復号画像を読み出し、読み出したローカル復号画像に、決定した適応的補間フィルタを用いてフィルタ処理を適用することで、小数精度の参照画像を生成する。そして、生成した参照画像と、動き検出部170によって決定された動きベクトルとに基づいて小数画素精度の動き補償を行うことで、予測ブロックを生成する。
動き検出部170は、メモリ140からローカル復号画像を読み出し、読み出したローカル復号画像と入力信号に含まれる入力画像とを用いて動き検出を行うことで、動きベクトルを決定する。動きベクトルは、符号化対象ブロックと、ローカル復号画像に含まれるブロックとの画素の変位を示す2次元のベクトルである。なお、決定された動きベクトルを示す動きデータは、エントロピー符号化部190に伝送され、エントロピー符号化部190によって出力ビットストリームに挿入される。
なお、動き検出部170は、予測精度を最適化するために、小数画素精度、例えば、1/2又は1/4画素精度で動きベクトルを決定する。このため、動きベクトルが小数画素位置を示す場合に備える必要があり、動き補償予測部160は、小数画素位置の画素値を算出するために、補間フィルタをローカル復号画像に適用することで、整数画素位置の画素値から小数画素位置の画素値を算出する。
イントラ/インター切換スイッチ180は、イントラフレーム予測部150と動き補償予測部160とのいずれで生成された予測ブロックを示す予測信号を減算器110と加算器135とに供給するかを切り換える。つまり、イントラフレーム予測部150と動き補償予測部160とのいずれの処理を実行するか、すなわち、符号化対象ブロックが「イントラ」モードで符号化されるのか、「インター」モードで符号化されるのかを切り換える。
エントロピー符号化部190は、変換/量子化部120によって量子化された量子化係数と、動き補償予測部160によって決定されたフィルタ係数と、動き検出部170によって生成された動きデータとを符号化し、得られた符号化信号を出力ビットストリームとして出力する。具体的には、エントロピー符号化部190は、1次元の量子化係数のシーケンスを、ランレベルと称される一連の数のペアに圧縮する。そして、ランレベルシーケンスを、可変長の2値の符号語(VLC:Variable Length Code)に符号化する。典型的な映像に含まれる画像で最も多く頻出するランレベルのペアに、より短い符号語を割り当てることで、符号は最適化される。このようにして得られたビットストリームと、符号化した動きデータ及びフィルタ係数とを多重化し、出力ビットストリームとして他の映像復号装置などに伝送、又は、記録媒体に格納する。
なお、エントロピー符号化部190は、複数のフィルタ係数間の対称性を利用することで、複数のフィルタ係数の冗長部分を除いて、複数のフィルタ係数を符号化してもよい。例えば、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。あるいは、互いに平行移動の対称関係を有する2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。これらの差分を符号化する処理の詳細については、後述する。
以上の構成により、本実施の形態の映像符号化装置100では、従来、固定的なフィルタ係数を用いていた、又は、フィルタ係数は適応的であるが、補間フィルタそのものが固定的であったのに対して、小数画素精度の動き補償を行う際に使用する補間フィルタの特性、及び、フィルタ係数を適応的に決定する。そして、決定した補間フィルタの特性、及び、フィルタ係数を符号化し、出力ビットストリームとして他の映像復号装置に伝送する。
次に、上述したように映像符号化装置100によって符号化されて得られた出力ビットストリーム(以下、符号化ビットストリームとも記載する)を復号する本実施の形態の映像復号装置について説明する。
図4は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置200の構成を示すブロック図である。図4のブロック図は、図2に対応する。図2に示す映像復号装置400と同じ構成要素には同じ参照符号を付している。
図4に示す映像復号装置200は、エントロピー復号部291と、逆量子化/逆変換部230と、加算器235と、デブロッキングフィルタ237と、メモリ240と、イントラフレーム予測部250と、動き補償予測部260と、イントラ/インター切換スイッチ280とを備える。
エントロピー復号部291は、入力信号、例えば、映像符号化装置100から伝送される符号化ビットストリームを復号することで、動きデータと、フィルタ係数と、量子化係数のシーケンスとに分離する。そして、エントロピー復号部291は、復号された動きデータとフィルタ係数とを動き補償予測部260に供給する。さらに、エントロピー復号部291は、逆変換に必要となるため、量子化係数の1次元のシーケンスを2次元配列の量子化係数に変換する。2次元配列に変換された量子化係数は、逆量子化/逆変換部230に供給される。
逆量子化/逆変換部230は、エントロピー復号部291によって復号された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。なお、逆量子化/逆変換部230は、図3に示す逆量子化/逆変換部130と同様の処理を実行する。
加算器235は、逆量子化/逆変換部230によって復元された予測誤差と、イントラフレーム予測部250又は動き補償予測部260によって生成される予測信号(予測ブロック)とを加算することで、復号画像を生成する。なお、加算器235は、図3に示す加算器135と同様の処理を実行する。
デブロッキングフィルタ237は、加算器235によって生成された復号画像にデブロッキングフィルタ処理を実行する。これにより、復号画像に含まれるブロック歪みを低減することができる。なお、デブロッキングフィルタ237は、復号画像に適用されなくてもよい。また、デブロッキングフィルタ237は、図3に示すデブロッキングフィルタ137と同様の処理を実行する。
メモリ240は、デブロッキングフィルタ237によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。
イントラフレーム予測部250は、メモリ240から復号画像を読み出し、読み出した復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。イントラフレーム予測部250は、イントラフレーム予測部150と同様に、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで復号対象ブロックを復号することができる。
動き補償予測部260は、メモリ240から復号画像を読み出し、読み出した復号画像に、小数精度の動き補償に必要な適応的補間フィルタを適用することで参照画像を生成する。ここで、どのような適応的補間フィルタを適用するかを特定するため、動き補償予測部260は、エントロピー復号部291から、復号されたフィルタ係数を受け取る。動き補償予測部260は、生成した参照画像と、エントロピー復号部291から受け取った動きデータとを基にして、予測ブロックを生成する。なお、動き補償予測部260は、適応的補間フィルタを復号画像に適用する理由は、受け取った動きデータが示す動きベクトルの値によっては、整数画素精度ではなく、小数画素精度が要求されるためである。
なお、所定の処理単位(スライス単位など)中は、同じフィルタ特性を利用するため、動き補償予測部260は、フィルタ特性を一時的に保持するメモリ261を備える。このメモリ261は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。
例えば、映像符号化装置100からフィルタ特性がIピクチャごとに送信される場合、フィルタ係数は、当該Iピクチャごと、又は、スライスごとに送信される。メモリ261は、次のフィルタ特性、又は、フィルタ係数が送信されるまで、フィルタ特性、及び、フィルタ係数を保持する。動き補償予測部260は、新たなフィルタ特性、又は、フィルタ係数が送信されると、メモリ261のフィルタ特性、又は、フィルタ係数を更新する。
なお、フィルタ特性が送信された場合、予め定められた非適応的フィルタでない限り、フィルタ係数も同時に送られるため、フィルタ特性が送信された場合は、フィルタ係数も更新することになる。また、メモリ261は、複数のフィルタ特性と、フィルタ係数とを記憶してもよい。すなわち、最新のフィルタ特性だけでなく、過去のフィルタ特性も複数個記憶してもよい。これにより、過去のフィルタ特性と同じ補間フィルタを利用する場合に、再度、映像符号化装置100が送信しなくてもよい。
イントラ/インター切換スイッチ280は、イントラフレーム予測部250と動き補償予測部260とのいずれで生成された予測ブロックを示す予測信号を、加算器235に供するかを切り換える。
以上の構成により、本実施の形態の映像復号装置200は、入力される符号化ビットストリームから、小数画素精度の動き補償に用いる補間フィルタの特性とフィルタ係数とに関する情報を受け取り、受け取った情報に基づいて小数精度の動き補償を行う。これにより、映像符号化装置100によって、適応的に決定した補間フィルタを用いて符号化された映像データを正しく復元することができる。
次に、本実施の形態の映像符号化装置100によって実行される映像符号化方法について説明する。図5は、本実施の形態の映像符号化装置100の処理を示すフローチャートである。
まず、動き補償予測部160は、適応的補間フィルタのフィルタタイプを決定する(S101)。具体的には、動き補償予測部160は、入力される映像データに基づいて、分離型/非分離型、及び、対称/非対称などをスライス単位で決定する。
さらに、動き補償予測部160は、決定したフィルタタイプに応じて、適応的補間フィルタのタップ数を、小数画素位置ごとに決定する(S102)。具体的には、動き補償予測部160は、決定しなければならないフィルタ係数の数を決定する。例えば、決定した補間フィルタが、6×6タップの非分離型補間フィルタで、かつ、非対称である場合は、決定しなければならないフィルタ係数の数は36個である。また、決定した補間フィルタが、6×6タップの非分離型補間フィルタで、かつ、対称である場合は、決定しなければならないフィルタ係数の数は、36個のより少ない数となる。
また、対象となる小数画素の位置が、既に補間フィルタのフィルタ係数を決定した小数画素と、所定の軸に対して対称である場合は、動き補償予測部160は、決定しなければならないフィルタ係数の数を0としてもよい。すなわち、既に決定した補間フィルタをミラーリングすることで、対象となる小数画素の補間フィルタにも適用してもよい。
次に、動き補償予測部160は、小数画素位置ごとに、決定した補間フィルタのタップ数分のフィルタ係数を決定する(S103)。
そして、動き補償予測部160は、決定したフィルタ係数を有する補間フィルタを用いて、小数画素位置の画素値を算出し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う(S104)。
減算器110は、入力信号から、動き補償により生成される予測信号を減算することで予測誤差信号を生成する(S105)。変換/量子化部120は、生成された予測誤差信号を周波数変換及び量子化することで、量子化係数を生成する(S106)。
エントロピー符号化部190は、変換/量子化部120によって生成された量子化係数と、動き補償予測部160によって決定されたフィルタ特性及びフィルタ係数と、動き検出部170で検出された動きベクトルを示す動きデータとを符号化する(S107)。エントロピー符号化部190は、符号化により得られた符号化信号(符号化ビットストリーム)を他の映像復号装置などに伝送する。
以上のようにして、本実施の形態の映像符号化装置100は、適応的に補間フィルタのフィルタ特性とフィルタ係数とを決定し、決定した補間フィルタを用いて小数画素精度の動き補償を行う。これにより、補間フィルタの特性及び係数を非常に柔軟に決定することができるので、予測精度と符号化効率とを最適化することができる。
次に、本実施の形態の映像復号装置200によって実行される映像復号方法について説明する。図6Aは、本実施の形態の映像復号装置200の処理を示すフローチャートである。
まず、エントロピー復号部291は、入力される符号化ビットストリームを復号する(S201)。復号により得られた量子化係数を逆量子化/逆変換部230に供給し、動きデータ及び補間フィルタを動き補償予測部260に供給する。
次に、逆量子化/逆変換部230は、復号により得られた量子化係数を逆量子化及び逆変換することで、予測誤差を生成する(S202)。また、動き補償予測部260は、復号により得られた補間フィルタと動きデータとに基づいて、小数画素位置の画素値を参照し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う(S203)。なお、予測誤差の生成(S202)と動き補償(S203)とは、いずれが先に実行されてもよく、又は、同時に並行して実行されてもよい。
加算器235は、逆量子化/逆変換部230によって生成された予測誤差と、動き補償予測部260によって生成された予測信号とを加算することで、符号化された画像を復元する(S204)。なお、デブロッキングフィルタ237が、復元された画像にデブロッキングフィルタ処理を施してもよい。
図6Bは、対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。補間フィルタは、小数画素位置ごとに決定される。
まず、動き補償予測部260は、決定の対象となる補間フィルタ自体が対称であるか否かを判断する(S301)。補間フィルタ自体が対称である場合(S301でYes)、当該補間フィルタのフィルタ係数のうち半分だけを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する(S302)。補間フィルタ自体が対称ではない場合(S301でNo)、補間フィルタを構成するフィルタ係数を復号する(S303)。
次に、動き補償予測部260は、復号及び決定した補間フィルタの小数画素位置と対称関係にある小数画素位置の補間フィルタを決定する(S304)。すなわち、復号及び決定した補間フィルタをミラーリングすることで、対称関係にある小数画素位置の補間フィルタを決定する。なお、このとき、水平方向の補間フィルタを垂直方向の補間フィルタにも兼用する場合は、補間フィルタを回転することで、該当する小数画素位置の補間フィルタを決定する。
最後に、動き補償予測部260は、全ての小数画素位置の補間フィルタを復号及び決定したか否かを判断する(S305)。補間フィルタが決定されていない小数画素位置がある場合(S305でNo)、動き補償予測部260は、まだ決定されていない小数画素位置の補間フィルタを復号及び決定するために、上述の処理(S301〜S305)を繰り返す。全ての小数画素位置の補間フィルタが復号及び決定された場合(S305でYes)、補間フィルタの復号及び決定処理は終了し、予測誤差の生成処理(S202)を実行する。
なお、どの小数画素位置が対称であるかを示す情報は、後述するように符号化ビットストリームに含まれる。
以上のようにして、本実施の形態の映像復号装置200は、符号化ビットストリームに含まれる補間フィルタの情報を取得し、取得した情報に基づいて設定した補間フィルタのフィルタ特性及びフィルタ係数を利用して動き補償を行う。これにより、映像符号化装置側で、柔軟に設定された補間フィルタの情報を映像復号装置200は得ることができるので、符号化された画像を正しく復号することができる。
(フィルタ係数の決定方法)
以下に、動き補償予測部160による適応的補間フィルタのフィルタ係数の決定方法について述べる。
図7は、フィルタ係数が決定される小数画素位置を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。また、ここでは、一例として、1/4画素精度の場合を説明する。
整数画素の位置と小数画素の位置とは、整数単位範囲ごとに位置(p,q)で示される。整数単位範囲は、1つの整数画素を含む所定の範囲であり、図7に示す例では、小数画素精度で4×4画素の範囲である。なお、p=0,1,2,3かつq=0,1,2,3である。位置(p,q)は、整数単位範囲内の位置を示す局所的な座標(以下、局所座標と記載する)で表される。つまり、位置(p,q)は、画像上の各整数単位範囲内において共通の座標位置を示す。なお、図7に示す例では、1つの整数単位範囲には、位置(0,0)にある整数画素と、残りの15ヶ所の小数画素位置((0,1)、(0,2)、(0,3)、(1,0)、(1,1)、(1,2)、(1,3)、(2,0)、(2,1)、(2,2)、(2,3)、(3,0)、(3,1)、(3,2)、(3,3))にある小数画素とが含まれる。以上のように、小数画素位置は、整数画素位置との相対的な位置を示している。すなわち、位置(p,q)で、ある整数画素の位置を基準の位置としたときの、小数画素の位置を示している。
動き補償予測部160は、整数画素(黒丸)を基にして、小数画素(白丸)を算出するための補間フィルタを決定する。具体的には、動き補償予測部160は、補間フィルタの特性を設定し、設定した特性に基づいて、算出対象である小数画素に対する補間フィルタのフィルタ係数を決定する。フィルタ係数は、複数の整数画素の重み付け加算和を行う際の重み係数である。補間フィルタは、複数の整数画素のそれぞれに対するフィルタ係数の集合で表される。動き補償予測部160は、1つの整数単位範囲内の小数画素ごとに補間フィルタを決定し、他の整数単位範囲内の小数画素の補間フィルタにも兼用することで、全ての小数画素ごとに補間フィルタを決定する必要がなくなる。ただし、予測の精度を高めるために、全ての小数画素ごとに補間フィルタを決定してもよい。
補間フィルタの特性は、例えば、補間フィルタのフィルタタイプ、及び、フィルタサイズである。フィルタタイプは、例えば、適応的/非適応的、分離型/非分離型、及び、対称/非対称などのフィルタの種類である。フィルタサイズは、例えば、フィルタ係数の個数であるタップ数である。
動き補償予測部160は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、1つの映像データに対して、1つの特性を設定してもよい。
以下では、まず、フィルタタイプが非分離型である場合について説明する。非分離型補間フィルタの一例として、6×6タップフィルタの場合について説明する。
図8は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。ここで、位置(p,q)にある小数画素の画素値を算出するための補間フィルタf(p,q)を決定すると仮定する。
補間フィルタf(p,q)は、位置(p,q)にある小数画素をほぼ中心とする6×6の整数画素の画素値にそれぞれ重み付けられるフィルタ係数fi,j (p,q)(i=−2,−1,0,1,2,3かつj=−2,−1,0,1,2,3)の集合である。図8に示す例では、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をf0,0 (p,q)(i=0,j=0)とし、水平方向にi軸、垂直方向にj軸を設定することで、各整数画素にフィルタ係数fi,j (p,q)を決定する。具体的なフィルタ係数の式を用いた算出方法については、後述する。
動き補償予測部160は、以上のように決定した非分離型適応的補間フィルタを適用することで、位置(p,q)の小数画素(図8の白丸)を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。
次に、フィルタタイプが分離型である場合について説明する。ここでは一例として、水平方向の補間フィルタと垂直方向の補間フィルタとを有する分離型補間フィルタであり、各補間フィルタは、6つの整数画素を利用する6タップフィルタである場合について説明する。
図9は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。さらに、バツ印は、整数画素を用いて水平方向に補間することで得られた小数画素位置を示す。
動き補償予測部160は、まず、水平方向の補間フィルタg(p,q)を決定する。なお、水平方向の補間フィルタは、垂直方向の値には影響されないため、g(p,q)=g(p)である。図8と同様に、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をg0 (p)とし、水平方向にi軸を設定することで、水平方向の整数画素にフィルタ係数gi (p)を決定する。
このように決定した水平方向の補間フィルタg(p)を用いて、動き補償予測部160は、位置(p,0)の小数画素(図9のバツ印)を算出する。ここでは、垂直方向の補間フィルタも6タップフィルタであるため、位置(p,0)に位置する6個の小数画素(バツ印)を算出する。
次に、動き補償予測部160は、垂直方向の補間フィルタh(p,q)を決定する。水平方向の場合と同様に、対象となる小数画素を含む整数単位範囲内の位置(p,0)に位置する垂直方向の補間フィルタをh0 (p,q)とし、垂直方向にj軸を設定することで、水平方向の補間により得られた位置(p,0)の小数画素に重み付けるフィルタ係数hj (p,q)を決定する。
このように決定した垂直方向の補間フィルタh(p,q)を用いて、動き補償予測部160は、位置(p,q)の小数画素(図9の白丸)を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。
なお、上記の例では、水平方向の補間を行った後に、垂直方向の補間を行う例について説明したが、垂直方向の補間を行った後に、水平方向の補間を行ってもよい。
以下では、さらに具体的な、適応的補間フィルタのフィルタ係数を決定する方法について、図面と数式とを用いて説明する。まず、非分離型適応的補間フィルタの場合について説明する。
図10は、映像データに含まれる画像のブロックの概略図である。同図では、黒丸は整数画素の位置、つまり、原画像のサンプリングポイントを表している。白丸は、画素値の補間が必要な小数画素の位置を表している。以下の図には、1/4画素精度を図示しているが、本実施の形態では、例えば、1/2画素、1/4画素、若しくは、1/8画素など、いかなる小数画素精度を用いてもよい。あるいは、垂直方向と水平方向とで異なる小数画素精度であってもよい。
以下の式において、nは小数画素精度を、例えば、n=2は1/2画素精度を、n=4は1/4画素精度を表している。映像データに含まれる画像、及び、メモリ140に格納されるローカル復号画像(参照画像)上での位置は、整数画素精度又は小数画素精度で表される。(x,y)は、各画像上での座標位置を整数画素精度で示し、(nx+p,ny+q)は、各画像上での座標位置を小数画素精度で示す。つまり、小数画素精度で示される整数画素位置(nx,ny)は、整数画素精度で示される(x,y)に一致する。
さらに、Sx,yは、原画像(つまり、映像データのブロック)内の整数画素位置(x,y)での画素値を表す。対応する水平方向及び垂直方向への補間画像内の小数画素位置(nx+p,ny+q)の画素値は、S’nx+p,ny+qで示される。ここで、図10に示すように、小数画素位置は、p=0,…,n−1及びq=0,…,n−1で示される。
なお、(nx+p,ny+q)で表される位置は、画像上での特定の1点を示しているのに対して、(p,q)で表される位置は、画像の一部(すなわち、整数単位範囲)における局所座標上の1点、すなわち、整数画素との相対的な位置を示している。整数が外の相対的な位置とは、1つの整数画素を基準としたときの小数画素の位置である。具体的には、図10に示すSx,yは、整数画素精度では(5,2)で示される位置の画素値を表し、小数画素精度では(20,8)(=(4×5,4×2))で示される位置の画素値を表す。同様に、S’nx+p,ny+qは、小数画素精度では(21,11)(=(4×5+1,4×2+3))で示される位置の画素値を示す。また、S’nx+p,ny+qは、局所座標上では、(1,3)で表される位置の画素値を示している。
本実施の形態の適応的補間フィルタは、原画像を、対応する水平方向及び垂直方向への補間画像へマッピングする線形演算子、つまり、(式1)で定義される。
Figure 2009047917
ここで、fi,j (p,q)は、補間フィルタの離散フィルタ係数であり、例えば、6×6タップフィルタの場合、i=−2,−1,0,1,2,3、及び、j=−2,−1,0,1,2,3である。また、このフィルタ係数は、局所座標上の特定の小数画素位置(p,q)によっても決まる。したがって、図10に示すように、小数画素位置(p,q)ごとに、特定の補間フィルタf(p,q)が定義される。
さらに、補間フィルタは、整数画素位置(p=0かつq=0)でオリジナル値を生成する必要がある。したがって、整数画素位置(0,0)に対する補間フィルタf(0,0)のフィルタ係数fi,j (0,0)は、(式2)に示されるように表される。
Figure 2009047917
ここで、δk,lはクロネッカーのデルタであって、例えば、k=lの場合はδk,l=1、k≠lの場合はδk,l=0である。
変位ベクトル501、502及び503は、Vec=(vx,vy)で表される。その成分であるvxとvyは、小数画素位置を参照している。vx mod=0である変位ベクトル503は、x方向の整数画素位置を指し示す(つまり、x方向の整数画素の平行移動を表す)。vx mod=1,…,(n−1)である変位ベクトル501及び502は、x方向の小数画素位置を指し示す(つまり、x方向の小数画素の平行移動を表す)。同様の定義をy方向にも用いる。
任意の小数画素位置(p,q)のフィルタ係数fi,j (p,q)は、ここでは以下のように決められる。Px,yが、先に復号された参照画像を表し、Vec=(vx,vy)が、小数画素位置(p,q)を指し示す小数画素精度での変位ベクトルを表すとする。このとき、p=vx mod n及びq=vy mod nである。したがって、この変位に対する予測誤差ep,qは、(式3)のように表される。
Figure 2009047917
なお、[[…]]は、演算子の変数より小さい最大の整数値をとるフロア演算子(切り捨て演算子)を示す。変位ベクトルが有効な原画像の範囲にわたり、x及びyにわたって和をとる。この範囲は、変位ベクトルが決められたマクロブロックに対応していてもよい。また、その範囲は、同じ小数画素位置を指し示す変位ベクトル、つまりvx mod n=p及びvy mod n=qの変位ベクトルを有する(1以上の映像に含まれる画像の)いくつか又は全てのマクロブロックをまとめたもの(ただし、連結されていない)であってもよい。
フィルタ係数fi,j (p,q)を、ここでは(式3)の予測誤差を最小にするように決定する。当該技術分野において周知の最適化アルゴリズム、例えば、勾配降下法又は焼きなまし法などで最適化を行ってもよい。しかしながら、この場合、フィルタ係数fi,j (p,q)に対し、(式4)に示されるような、(式3)の偏導関数を計算して得られる連立一次方程式を解くことによって最適フィルタ係数を決定してもよい。
Figure 2009047917
以上のように、非分離型適応的補間フィルタの場合、予測誤差を最小とするように、すなわち、予測の精度が高くなるように、フィルタ係数を決定することができる。
次に、分離型適応的補間フィルタの場合について説明する。
2次元補間フィルタf(p,q)が分離型であれば、2つの別個の1次元フィルタg(p,q)とh(p,q)との合成に書き換えてもよい。
Figure 2009047917
通常、水平補間フィルタg(p,q)は垂直小数画素位置qに依存しない、つまり、g(p,q)=g(p)であり、さらに、垂直補間フィルタは整数画素行の補間結果に影響を及ぼさない、つまり、hj (p,0)=δj,0と仮定する。
この場合、2次元補間は2ステッププロセスと考えることができる。第1ステップにおいて、「整数画素行」の小数画素位置における画素値を決定するように、水平補間が行われる。第2ステップでは、第1ステップで決定された画素値に垂直補間を行うことにより小数画素列の画素値が決定される。このように仮定すると、g(p)とh(p,q)とのフィルタ係数は(式3)〜(式5)から容易に決定できる。
以上のように、適応的に補間フィルタの特性及びフィルタ係数を決定することで、予測精度を向上させることができる。これにより、映像符号化装置100は、精度の高い動き補償に基づいて予測誤差を算出するので、予測誤差を小さくすることができ、符号化効率を向上させることもできる。
しかしながら、映像復号装置が正しく復号するためには、決定したフィルタの特性及びフィルタ係数を、映像復号装置側に伝送しなければならない。適応的補間フィルタの特性及びフィルタ係数を伝送するとビットレートが増加する。このため、特に、空間解像度が小さい映像シーケンスに非分離型補間フィルタを適用する場合には、全体的な符号化効率が、オーバーヘッド情報によって低減する恐れがある。
したがって、符号化効率を向上させる、すなわち、副次的なオーバーヘッド情報を低減するために、ある画像の統計特性に対称性があると仮定してもよい。
例えば、対応する整数画素位置から対象小数画素位置までの距離が等しい場合、フィルタ係数は等しいと考えられる。しかしながら、エイリアシングなどの信号歪みのため、又は、変位検出のエラーのため、全ての映像シーケンスに対して対称性を仮定することは有効でない可能性がある。それゆえ、このことは、このような信号統計へのフィルタの限定的な適用により、符号化効率ゲインの損失につながるかもしれない。
したがって、適応的補間フィルタを適用する普遍的かつ効果的な方法と、適応的補間フィルタの要素をシグナリングする効果的な方法とが必要である。
本実施の形態によると、異なるフィルタタイプ(分離型/非分離型)、フィルタ対称性、フィルタ長、及び、小数画素位置によるフィルタ係数の差分符号化(つまり、フィルタ係数の予測符号化)の使用を含めた適応的補間フィルタを適用する普遍的な方法が提供される。
(フィルタの対称性及び限定の活用)
以下に、動き補償予測部160がフィルタ特性を決定する際に、フィルタの対称性及び/又は限定を活用する処理について説明する。まず、対称性の利用の概略について、簡単のため、1次元の水平方向の補間フィルタを一例として説明する。
動き補償予測部160は、上述のように決定されたフィルタ特性に従ってフィルタ係数を決定する際に、対称性を利用する。対称性には、補間フィルタのフィルタ係数そのものが対称である場合と、2つの小数画素位置が互いに対称な補間フィルタを有する場合とがある。
例えば、動き補償予測部160は、補間フィルタのフィルタタイプが対称である、すなわち、補間フィルタのフィルタ係数そのものが対称である場合、補間フィルタの複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数を決定する(図11参照)。あるいは、動き補償予測部160は、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素のうち、1つの小数画素の補間フィルタの複数のフィルタ係数を決定する(図12参照)。
図11は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。同図は、1/2画素位置(バツ印)の画素値を算出するための1次元の6タップフィルタのフィルタ係数と、画素位置との関係を示す。なお、同図において、黒丸は、整数画素位置を示す。
図11に示すように、1/2画素位置(p,q)=(2,0)を中心として、周囲の6個の整数画素位置に重み付けるフィルタ係数は、左右に対称となる。すなわち、各画素位置(i=−2,−1,0,1,2,3)の画素値に重み付けるフィルタ係数gi (2,0)は、g0 (2,0)=g1 (2,0)、g-1 (2,0)=g2 (2,0)、g-2 (2,0)=g3 (2,0)の関係を有する。
したがって、動き補償予測部160は、6個のフィルタ係数のうち3個のフィルタ係数(例えば、g-2 (2,0)、g-1 (2,0)、g0 (2,0)のみ)を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。
さらに、対称性を利用しない場合は、映像復号装置200に6個のフィルタ係数の値を送信しなければならなかったのに対して、対称性を利用する場合は、3個のフィルタ係数の値と、対称であることを示す情報とを送信するだけでよく、符号量を削減することができる。
図12は、2つの小数画素位置の補間フィルタが対称となる一例を示す図である。図12(a)は、1/4画素位置(バツ印)の画素値を算出するための1次元の6タップフィルタのフィルタ係数と、画素位置との関係を示す。図12(b)は、3/4画素位置(バツ印)の画素値を算出するための1次元の6タップフィルタのフィルタ係数と、画素位置との関係を示す。各図において、黒丸は、整数画素位置を示す。
図12(a)と図12(b)とに示すように、1/4画素位置(p,q)=(1,0)の画素値を算出するための補間フィルタg(1,0)と、3/4画素位置(p,q)=(3,0)の画素値を算出するための補間フィルタg(3,0)とは、互いに水平方向対称である。すなわち、g-2 (1,0)=g3 (3,0)、g-1 (1,0)=g2 (3,0)、g0 (1,0)=g1 (3,0)、g1 (1,0)=g0 (3,0)、g2 (1,0)=g-1 (3,0)、及び、g3 (1,0)=g-2 (3,0)が成立する。
したがって、対称性を利用しない場合、動き補償予測部160は、2つの小数画素位置に対して12個のフィルタ係数を決定しなければならないのに対して、対称性を利用する場合、動き補償予測部160は、6個のフィルタ係数(例えば、1/4画素位置の補間フィルタg(1,0)のフィルタ係数)を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。また、映像復号装置200に送信しなければならない符号量を削減することができる。
以上のように、動き補償予測部160は対称性を利用することで、係数の決定に関わる処理量を削減し、かつ、送信すべき符号量を削減することができる。
続いて、さらに詳細な対称性の利用の処理について図面と数式とを用いて説明する。
対称及び非対称補間フィルタを適用することにより、フィルタ係数を伝送することでビットストリームに付け加えられるオーバーヘッド情報量を制御することができる。例えば、高解像度シーケンスの場合、非対称フィルタを伝送することが、信号統計にフィルタを最適に適用するためには有益かもしれないが、低解像度シーケンスの場合、オーバーヘッド情報量を削減するために対称フィルタを適用する必要があるかもしれない。各時間対称性を活用し、異なる小数画素位置で、対応するフィルタが結合して最適化される。これは、入力信号にエイリアシングが含まれる場合、又は、間違った動き検出のために、予測効率を減少させるかもしれない。なお、シグナリングオーバーヘッドに対して、動き補償予測の精度を最適化するために、対称及び非対称フィルタの切換は小数画素位置に依存する方式で行うことができる。
図13A〜図13Fは、n=4、つまり、1/4画素精度の場合の適応的補間フィルタの対称特性の概略図である。各図では、整数画素及び小数画素の位置をそれぞれ四角及び丸で示している。また、小数画素位置を文字a,b,…,oで示す。網掛けを使用して、異なる小数画素位置における補間フィルタ間の対称性を図示する。網掛けされた小数画素位置におけるフィルタ係数は、以下のように適した対称演算を適用することによって得ることができる。
図13Aは、垂直軸(点線)に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、(式6)で示される関係を有する。
Figure 2009047917
つまり、小数画素位置(p、q)に固有の補間フィルタのフィルタ係数は、対称な小数画素位置(n−p,q)に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、垂直軸に対する反転、つまり、図12に示すように(i,j)→(1−i,j)である。
このようにして、図13Aに異なる網掛けで示すように、小数画素位置aとc、eとg、iとk、mとoがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、垂直軸を基準として小数画素位置aの補間フィルタをミラーリングしたものが、小数画素位置cの補間フィルタである。
なお、ミラー軸(図13Aの点線)上の小数画素位置(図13Aのb,f,j,n)に固有の補間フィルタのフィルタ係数は、図11に示すように、それら自身に対して対称、つまり、fi,j (n/2,q)=f1-i,j (n/2,q)である。このようにして、決定しなければならない独立係数の数を減らしている。
図13Bは、水平軸(点線)に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、(式7)で示される関係を有する。
Figure 2009047917
つまり、小数画素位置(p,q)に固有の補間フィルタのフィルタ係数は、対称な小数画素位置(p,n−q)に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、水平軸に対する反転、つまり、図12に示すように、(i,j)→(i,1−j)である。
このようにして、図13Bに異なる網掛けで示すように、小数画素位置dとl、eとm、fとn、gとoがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、水平軸を基準として小数画素位置dの補間フィルタをミラーリングしたものが、小数画素位置lの補間フィルタである。
なお、ミラー軸(図13Bの点線)上の小数画素位置(図13Bのh,i,j,k)に固有の補間フィルタのフィルタ係数は、図11に示すように、それら自身に対して対称、つまり、fi,j (p,n/2)=fi,1-j (p,n/2)である。このようにして、決定しなければならない独立係数の数を減らしている。
図13Cは、対角軸(点線)に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、(式8)で示される関係を有する。
Figure 2009047917
つまり、小数画素位置(p,q)に固有の補間フィルタのフィルタ係数は、対称な小数画素位置(q,p)に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、対角軸に対する反転、つまり、図12に示すように、(i,j)→(j,i)である。
このようにして、図13Cに異なる網掛けで示すように、小数画素位置aとd、bとh、cとl、fとi、gとm、kとnがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、対角軸を基準として小数画素位置aの補間フィルタをミラーリングしたものが、小数画素位置dの補間フィルタである。
なお、ミラー軸上(図13Cの点線)の小数画素位置(図13Cのe,j,o)に固有の補間フィルタのフィルタ係数は、それら自身に対して対称、つまり、図11に示すように、fi,j (p,p)=fj,i (p,p)である。このようにして、決定しなければならない独立係数の数を減らしている。
図13D及び図13Eは、上述したミラー対称を組み合わせたものである。図13Dは、垂直軸及び水平軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図13Dに異なる網掛けで示すように、小数画素位置aとc、dとl、eとgとmとo、fとn、iとkがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか1つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。
図13Eは、垂直軸、水平軸及び対角軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図13Eに異なる網掛けで示すように、小数画素位置aとcとdとl、bとh、eとgとmとo、fとiとkとnがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか1つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。
決定され、かつ、シグナリングされなければならない独立フィルタ係数の数を減らすために、上述した各対称性、又は、それらの組み合わせを用いてもよい。このようにして、決定プロセスのロバスト性を改善し、シグナリングオーバーヘッドを低減する。
なお、上記いずれかの対称性を、必ずしも全ての小数画素の固有の補間フィルタに適用する必要はない。むしろ、上述した各対称性は、適応的補間フィルタの小数セットのみ、例えば、p≠qである非対角位置などの特定の小数画素位置のみに適用される。さらに、小数画素の固有の補間フィルタの個々のペアのみが、上述した対称関係のいずれかに一致する対称関係にあるとみなしてもよい。図13Fに、この一例を示す。
図13Fは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。同図では、小数画素位置aとcの補間フィルタ、及び、小数画素位置kとnの補間フィルタが、対称である。
対称性とは別に、適応的補間フィルタの独立フィルタ係数の数を減らすためにその他の限定を用いてもよい。例えば、2次元の適応的補間フィルタを整数画素列(p=0)及び/又は整数画素行(q=0)の1次元の適応的補間フィルタとしてもよい。この場合、適応的補間フィルタは(式9)及び/又は(式10)となる。
Figure 2009047917
Figure 2009047917
その他よく用いられる限定には、分離性の仮定、つまり、2つの1次元の補間フィルタに分解できる2次元の補間フィルタへの限定がある。分離型適応的補間フィルタは(式11)で示される。
Figure 2009047917
ここで、gi (p,q)及びhj (p,q)は、それぞれ水平方向及び垂直方向の1次元補間フィルタのフィルタ係数である。6×6タップ適応的補間フィルタの場合、独立フィルタ係数の数は、非分離型フィルタの小数画素位置につき6×6=36個から、2つの1次元フィルタの小数画素位置につき6+6=12個まで減少する。
また、水平方向及び/又は垂直方向の1次元補間フィルタが小数画素の平行移動に対して不変であるとみなすことによって、独立フィルタ係数の数を減らしてもよい。したがって、(式12)及び/又は(式13)となる。
Figure 2009047917
Figure 2009047917
ここで、gi (p)及びhj (p)はそれぞれ、垂直方向及び水平方向の小数画素位置には関係しない、水平方向及び垂直方向の1次元補間フィルタのフィルタ係数である。
なお、上述した限定もまた、シグナリングオーバーヘッドを減少させるために、上述した対称特性だけでなく互いに組み合わせてもよい。特に好ましい上述の限定の組み合わせは、整数画素行及び列の1次元補間の分離型適応的補間フィルタと、垂直方向の平行移動に不変な水平補間フィルタとの組み合わせである。すなわち、(式14)で示される補間フィルタである。
Figure 2009047917
この形式のフィルタは、以下のようにして推定される。第1ステップで、入力映像データから水平方向の補間フィルタを決定し、決定された水平方向の補間フィルタを適用する。そして、第2ステップで水平方向の補間された映像データから垂直方向の補間フィルタを決定する。
この方法は、図14A及び図14Bに示される。図14Aは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図14Aにおいて、八角形は小数画素位置a、b、及びcを示し、各位置のフィルタは、第1ステップで計算される。
図14Bは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図14Bに示す丸は、その他の小数画素位置を示し、第2ステップで補間フィルタが決定される。
図14Cは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置a及びcにおいて、水平方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、垂直軸を基準にして小数画素位置aの補間フィルタをミラーリングしたものが、小数画素位置cの補間フィルタである。
図14Dは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置e及びmにおいて、垂直方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、水平軸を基準にして小数画素位置eの補間フィルタをミラーリングしたものが、小数画素位置mの補間フィルタである。
図14Eは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。同図では、例えば、小数画素位置dの垂直補間フィルタhj (q)(式12参照)を水平方向に平行移動させた、すなわち、小数画素位置dの垂直補間フィルタを小数画素位置e、f及びgにも適用する例を示している。小数画素位置h、i、j、kとl、m、n、oとの関係についても同様である。
図14Fは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。図14Fは、図14Cと図14Dと図14Eとの組み合わせであり、適応的補間フィルタは、4つの独立小数画素位置の固有1次元補間フィルタからのみ構成される。
図14Gは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。同図では、水平方向に対称な対称フィルタを、垂直方向に対称な対称フィルタにも兼用した場合を示す。すなわち、小数画素位置aと小数画素位置dとは回転対称の関係にある場合を示す。小数画素位置aとdとは共に、整数画素から1/4画素の位置にあるため、補間フィルタを兼用することが可能になる。同様に、小数画素位置bとhとは共に、整数画素から1/2画素の位置にあるため、補間フィルタを兼用することが可能になる。
さらに、図14Eに示したように、小数画素位置dの補間フィルタを小数画素位置e、f及びgにも適用することができる。小数画素位置h、i、j、kと、l、m、n、oとの関係についても同様である。
これにより、図14Gに示す例では、例えば、小数画素位置aとbとの2つの小数画素位置の1次元補間フィルタを決定するだけでよい。
ここで、映像復号装置200が図6Bに示すフローチャートに従って、図14Gに示す例における補間フィルタを復号及び決定する場合について説明する。例えば、まず、小数画素位置aの補間フィルタを決定する場合について説明する。
小数画素位置aの補間フィルタは、図12(a)に示すようにフィルタ係数が対称ではないので(S301でNo)、動き補償予測部260は、補間フィルタの全フィルタ係数を復号及び決定する(S303)。
小数画素位置aは、小数画素位置cと対称関係にあるので、小数画素位置aの補間フィルタをミラーリングすることで、小数画素位置cの補間フィルタを決定する。さらに、小数画素位置aは、小数画素位置dと回転対称の関係にあるので、小数画素位置aの補間フィルタを回転することで、小数画素位置dの補間フィルタを決定する。小数画素位置cと小数画素位置lとも回転対称の関係にあるので、同様にして小数画素位置lの補間フィルタも決定される。さらに、小数画素位置dと小数画素位置eとは、平行移動の関係にあるので、小数画素位置dの補間フィルタを平行移動させることで、小数画素位置eの補間フィルタを決定する。同様にして、小数画素位置f、g、m、n及びoの補間フィルタも決定する(S304)。
ここで、動き補償予測部160は、まだ小数画素位置bの補間フィルタが決定されていないので(S305でNo)、小数画素位置bの補間フィルタを決定する。小数画素位置bの補間フィルタは、図11に示すようにフィルタ係数が対称であるので(S301でYes)、補間フィルタのフィルタ係数の半分のみを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する(S302)。
小数画素位置bは、小数画素位置hと回転対称の関係にあるので、小数画素位置bの補間フィルタを回転することで、小数画素位置hの補間フィルタを決定する。さらに、小数画素位置hと小数画素位置iとは、平行移動の関係にあるので、小数画素位置hの補間フィルタを平行移動させることで、小数画素位置iの補間フィルタを決定する。同様にして、小数画素位置j及びkの補間フィルタも決定する(S304)。
以上のようにして、全部の補間フィルタの復号及び決定が完了したので(S305でYes)、この補間フィルタを用いて小数画素精度の動き補償を実行する。
なお、図6Bのフローチャートでは、1つの小数画素位置の補間フィルタを決定した場合に、当該小数画素位置と対称関係にある補間フィルタを全て決定する手順を示したが、予め定められた小数画素位置の順(例、a→b→…→o)に従って補間フィルタを決定してもよい。
この場合、対象となる小数画素位置が他の小数画素位置と対称関係にあるかが判定され、対称関係がない場合は、補間フィルタのフィルタ係数を決定する。対称関係があり、かつ、対称関係を有する他の小数画素位置の補間フィルタが既に決定されている場合は、ミラーリング、平行移動、又は、回転移動によって補間フィルタを決定する。なお、フィルタ係数を決定する際に、補間フィルタ自体が対称であるか否かが判定され、対称である場合は、補間フィルタの半分のフィルタ係数のみを決定し、決定したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する。
以上の処理を、小数画素位置の順(例、a→b→…→o)に行うことで、各小数画素位置の補間フィルタが決定される。
以上のように、動き補償予測部160は、上述の対称性及び限定、又は、それらの組み合わせのいずれかを用いることにより、補間フィルタの特性を必要に応じて設定する。これにより、例えば、独立フィルタ係数の数を減らせる可能性を利用して、できる限り予測誤差を低減した正確な補間フィルタと、独立フィルタ係数を多数符号化することにより生じるシグナリングオーバーヘッドとの間のトレードオフを最適化することができる。
通常、フィルタタイプを適応的に設定し、さらに、フィルタ係数も適応的に決定する場合、映像復号装置に伝送しなければならない符号量が非常に多くなる。これに対して、上述したように、小数画素位置の対称性と、補間フィルタ自体のフィルタ係数の対称性との2つの対称性を利用することで、決定及び符号化しなければならないフィルタの数を大幅に削減することができる。これにより、符号量が大幅に減少するので、高い予測効率を保ちつつ、符号化効率を高めることができる。
そのために、例えば、フィルタ特性を、画像内容、特に画像内に存在する動きの量に従って設定してもよい。また、フィルタ特性を、空間画像解像度に従って、又は、達成される圧縮率に応じて設定してもよい。例えば、フィルタ特性の候補のうちのどれが最適な圧縮率を提供するかに応じて、有限数のフィルタ特性の候補からフィルタ特性を選択してもよい。
また、動き補償予測部160は、フィルタ特性を、上述したように自動的に、又は、ユーザに最も適切なフィルタ特性を選択させるように手動で、設定してもよい。フィルタ特性の設定は、1つの動画につき1回だけ、又は、スライスごと又はシーケンスごとに、繰り返し行ってもよい。しかしながら、本発明の範囲内で、フィルタ特性は、様々な程度で頻繁に設定されてもよい。
(シグナリング)
以下に、エントロピー符号化部190が生成する符号化信号、すなわち、出力ビットストリームを映像復号装置(デコーダ)に伝送する(シグナリングする)処理について説明する。
本実施の形態の映像符号化装置100(エンコーダ)では、フィルタ特性(フィルタタイプ、タップ数など)とフィルタ係数とが固定的ではないので、デコーダが入力された符号化映像データを復号できるように、フィルタ係数をシグナリングしなければならない。フィルタ係数セット内にフィルタ特性を設定するため、冗長性を活用することによりフィルタ係数を符号化映像データとともに符号化すれば、符号化効率を最適化できる。
例えば、別個の小数画素位置に対する対称補間フィルタは一度だけ符号化すればよい。同様に、自分自身で対称性があるフィルタ係数を有する補間フィルタは、先に符号化されたフィルタ係数からは再構成できないフィルタ係数のみを符号化することによって効率よく符号化できる。より一般的には、独立フィルタ係数の数を減らす補間フィルタのどの限定も、当該限定に従って先に符号化された係数からは得られないそれらのフィルタ係数だけを符号化することによって活用できる。例えば、2次元補間フィルタ自身の多数の係数を符号化するよりも2つの1次元補間フィルタのフィルタ係数を符号化することによって、分離形補間フィルタを符号化することが好ましい。
いずれの場合でも、シグナリングオーバーヘッドの低減のために活用されるフィルタ特性は、デコーダにもシグナリングされる必要がある。これは、明示的又は暗示的なシグナリング方法のいずれか一方で実現されてもよい。
明示的なシグナリングとは、フィルタ特性が符号化映像データとともに明示的に符号化されることを意味する。これにより、シグナリングオーバーヘッドが増加する代償として、所望の特性を設定することに対する最も高い柔軟性が与えられる。
一方、暗示的なシグナリングとは、エンコーダがどのようにフィルタ特性を選択したのかに関する予備知識に基づいて、デコーダがフィルタ特性に関する情報を得なければならないということを意味する。例えば、エンコーダは、対称補間フィルタのペアそれぞれの1つのみの補間フィルタを伝送してもよい。また、デコーダは、伝送されなかった補間フィルタは全て、伝送されたフィルタのうち対応する1つと対称性があると判断してもよい。シグナリングの本形式ではエンコーダとデコーダとの間で実際に用いる可能性がある対称性について取り決めが必要なため、柔軟性が低いことは明らかである。しかしながら、シグナリングオーバーヘッドは最小に抑えられる。
以下に、具体的なシグナリングの例をスライスレベルの典型的なシンタックスエレメントとともに示す。これらの例は、説明のためであって、本発明の範囲を限定するものではない。
第1のシグナリング例によると、対称フィルタを適用するか否かをシグナリングするために、フィルタタイプごとに1つのフラグのみが必要とされる。フィルタタイプ(例えば、分離型又は非分離型)ごとに、エンコーダ及びデコーダによって確定かつ識別される1つの固有の対称パターンがサポートされる。1つの対称パターンしかサポートされないので、このアプローチは、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するような限定された柔軟性を提供する。
図15は、本実施の形態のシグナリングを実行するための第1のシンタックスエレメントを示す図である。同図は、一例として、1/4画素精度で、かつ、6タップフィルタ長での予測時において、非分離型及び分離型フィルタの対称性をシグナリングするための、スライスレベルの典型的なシンタックスエレメントを示し、フィルタの対称性とフィルタとを暗示的にシグナリングする場合を示している。
ここで、apply_adaptive_filterは、固定フィルタ(非適応的フィルタ)の場合は0で、適応的フィルタの場合は1である。slice_filter_type(スライスレベルの適応的フィルタ)は、非分離型フィルタの場合は0で、分離型フィルタの場合は1である。apply_symmetric_filterは、非対称フィルタの場合は0で、対称フィルタの場合は1である。use_all_subpel_positionsは、小数画素位置全てを適応的フィルタで算出しない場合は0で、小数画素位置全てを適応的フィルタで算出する場合は1である。positions_patternは、小数画素位置をシグナリングするバイナリマスクであって、MPEG−4 AVC/H.264の固定フィルタの場合は0で、適応的フィルタの場合は1で適応的フィルタが適用される。
max_sub_pel_posの値は、apply_symmetric_filterの値によって決まる。非対称フィルタ(すなわち、apply_symmetric_filter=0)の場合、max_sub_pel_posは、小数画素位置の総数に等しい(例えば、1/4画素動きベクトル解像度の場合:max_sub_pel_pos=15)。対称フィルタ(すなわち、apply_symmetric_filter=1)の場合、max_sub_pel_posは、活用する対称量に応じて、小数画素位置の総数より少なくなる。
対象フィルタの場合、すなわち、apply_symmetric_filterが1であれば、デコーダは欠落しているフィルタ係数を伝送されたフィルタ係数から復元する。
以上のように、第1のシグナリングシンタックスによれば、補間フィルタのフィルタタイプが、適応的/非適応的、分離型/非分離型、及び、対称/非対称のいずれであるかをそれぞれ示すためのフラグが用意されている。さらに、フィルタタイプが適応的であるか非適応的であるかを小数画素位置ごとに定めることができる。
第2のシグナリング例は、フィルタ特性の明示的なシグナリングを参照する。この例では、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するための高い柔軟性を提供するために、対称性の明示的なシグナリングを用いる。全種類の対称性がデコーダにシグナリングされる。この概念では、対応する対称性をシグナリングするためのオーバーヘッド・ビットレートが増加することになってもよい。
第2のシグナリング例によると、フィルタIDが各別個のフィルタに割り当てられる。これにより、全種類の対称性とシグナリングの効率的な方法とが可能になる。図16A〜図16Cでは、選択した対称パターンに対して異なるフィルタを伝送する必要がある。
図16Aは、小数画素位置における対称性の一例を示す図である。同図には、同じ形状(八角形又は丸)かつ同じ網掛けの小数画素位置の補間フィルタは、対称フィルタであることを示している。
図16Bは、フィルタIDが割り当てられた小数画素位置の補間フィルタの一例を示す図である。同図は、図16Aに示すような対称性を有する小数画素位置の補間フィルタに対して、フィルタIDを割り当てた例を示している。すなわち、図16Bに示すように、aからoまでの各小数画素位置へ、対応するフィルタIDが伝送される(図16Bでは、{1,2,1,3,4,5,6,7,8,9,10,3,4,5,6})。なお、0の値は、MPEG−4 AVC/H.264などの非適応的フィルタである。
例えば、フィルタID1は、フィルタ係数{coeff1,coeff2,coeff3,coeff4,coeff5,coeff6}で小数画素位置a及びcに割り当てられる。小数画素位置aではフィルタを直接適用する。一方で、小数画素位置cではフィルタをミラーして(={coeff6,coeff5,coeff4,coeff3,coeff2,coeff1})適用する。
フィルタをミラーする必要があるか否かを判断するために、デコーダは、スキャン中に対称フィルタIDが初めて出現するところを見つけなければならない。例えば、小数画素位置lにフィルタID3を割り当て、フィルタID3が小数画素位置dに初めて出現したとする。次の整数画素位置(又は、第1ステップで算出された小数画素位置(八角形))までの距離に応じて、位置lにおけるフィルタは位置dにおけるフィルタをミラーしたフィルタでなければならないことは明らかである。
図17は、本実施の形態のシグナリングを実行するための第2のシンタックスエレメントの抜粋を示す図である。同図には、一例として、第2のシグナリング例における、1/4画素精度で、かつ、6タップフィルタ長での予測時において、フィルタの対称性とフィルタとを明示的にシグナリングする場合の典型的なシンタックスエレメントを示す。なお、本例では、シグナリングはスライスレベルで行われるが、本シグナリングは、シーケンス又はピクチャレベルでも可能である。さらに、シーケンスレベルでフィルタIDを伝送すること(対称パターンはシーケンス全体を通して同じになる)、及び、割り当てられたフィルタをピクチャ又はスライスレベルで更新することも可能である。なお、本発明を逸脱しない範囲で、その他の組み合わせも考えられる。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。slice_filter_type(スライスレベル適応的フィルタ)は、非分離型フィルタの場合は0で、分離型フィルタの場合は1である。filter_id[sub_pel]は、対応するフィルタを各小数画素位置に割り当てる。filter_length[filter_num]は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を処理する。max_filter_numは、伝送しなければならないフィルタの最大数(図16Bでは10)をシグナリングし、フィルタIDの最大値と等しくなる。
以上のように、第2のシンタックスエレメントによれば、小数画素位置ごとに割り当てられたフィルタIDをシグナリングすることができ、さらに、伝送しなければならないフィルタの最大数をシグナリングすることができる。
第3のシグナリング例によると、上述したシグナリングに加えて、さらに、図16Cに示すように、各小数画素位置の対称又は非対称を示すビットマスク(対称マスク)を伝送することが可能である。図16Cは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。対称マスクの値が0であることは、その小数画素位置に対して、新たなフィルタが伝送されたことをシグナリングする。対称マスクの値が1であることは、その小数画素位置に対して新たなフィルタが伝送されなかったことをシグナリングする。
図16Cに示す例では、対称マスク({0,0,1,0,0,0,0,0,0,0,0,1,1,1,1})に加えて、10個のフィルタ(対称マスクが0である小数画素位置の個数のフィルタ)を伝送する必要がある。これらのフィルタは、小数画素位置aから小数画素位置oへの昇順で伝送される。
例えば、図16Cに示すように、対称マスクによって小数画素位置cにおいて値1がシグナリングされれば、デコーダは位置aに割り当てられたフィルタのミラーバージョンを使用しなければならないと識別できる。位置lの場合は、位置dのフィルタのミラーバージョンを適用しなければならない。
本概念を実現するには、ある小数画素位置(例えば、c→a,l→d,m→e,…)において対称性がシグナリングされるのであれば、エンコーダとデコーダと共に同じフィルタペアを使用しなければならない。このことにより、設計の柔軟性は定義済みの対称ペアに限定されるが、対称性の明示的なシグナリングと比較してオーバーヘッドは低減する。それであっても、第1のシグナリング例で説明した対称性の暗示的なシグナリングよりも柔軟性に優れている。
第3のシグナリング例の典型的なシンタックスを図18に示す。図18は、本実施の形態のシグナリングを実行するための第3のシンタックスエレメントの抜粋を示す図である。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。slice_filter_type(スライスレベル適応的フィルタ)は、非分離型フィルタの場合は0で、分離型フィルタの場合は1である。symmetry_maskは、対称性をシグナリングするバイナリパターンであり、そのバイナリパターンの最上位ビット(MSB:Most Significant Bit)信号が小数画素位置aを反映し、最下位ビット(LSB:Least Significant Bit)信号が小数画素位置oを反映する。filter_length[filter_num]は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を対処する。
max_filter_numの値は、伝送しなければならないフィルタ数(ここでは、10)を指定し、max_filter_numは、15からsymmetry_maskのシグナリングされた対称の数(図16Cでは、5)を引いたものと等しくなる。
以上のように、第3のシンタックスエレメントによれば、対称マスクを設定することで、どの小数画素位置の補間フィルタが対称フィルタであるかを容易に判別することができる。
第4のシグナリング例では、上述したフィルタ特性を(式6)〜(式14)とともに参照する。本シグナリング例の典型的なシンタックスの抜粋を図19に示す。
図19は、本実施の形態のシグナリングを実行するための第4のシンタックスエレメントの抜粋を示す図である。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。filter_typeは、非分離型フィルタの場合は0、分離型フィルタの場合は1(式11参照)。水平の平行移動に不変な垂直補間フィルタの分離型フィルタの場合は2(式12参照)、垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は3(式13参照)、整数画素行/列の1次元補間かつ垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は4(式14参照)である。
symmetry typeは、非対称フィルタの場合は0、水平対称フィルタの場合は1(式6参照)、垂直対称フィルタの場合は2(式7参照)、対角対称フィルタの場合は3(式8参照)、p≠qの対角対称フィルタの場合は4(p≠qの場合の式8参照)である。full_pel_row_column_interpolation_typeは、2次元補間の場合は0、整数画素列の1次元補間の場合は1(式6参照)、整数画素行の1次元補間の場合は2(式7参照)、整数画素列及び整数画素行の1次元補間の場合は3である。filter_length[filter_num]は、フィルタ長をシグナリングする。filter_coefには、量子化されたフィルタ係数が含まれる。max_filter_numは、伝送されたフィルタタイプ及び対称性から決定されるフィルタの数である。
本発明の実施の形態によると、非分離型と分離型フィルタとの切換は、小数画素位置に依存して行うことが可能である。全体的な動きの場合、1つのピクチャ内の大部分の動きベクトルは、1つの特定の小数画素位置を指す。したがって、対称性を活用せずに非分離型フィルタを適用することによって、この小数画素位置に対して最も高い予測効率を得ることが有益である。その他の小数画素位置全てに対しては(ローカルな動きの場合)、低レベルでフィルタリングする複雑性だけでなくオーバーヘッド・ビットレートも維持するためだけに分離型フィルタを適用することが効果的であると考えられる。
このような分離型及び非分離型フィルタの小数画素位置に依存したシグナリングは、シーケンスレベル(SPS)、ピクチャレベル(PPS)、スライスレベル、マクロブロックレベルに至るまで行うことが可能である。
以下の第5のシグナリング例は、ひとつの非分離型フィルタ、いくつかの分離型フィルタ、及び非分離型フィルタの位置を含むシンタックスを示している。非分離型フィルタを2以上伝送することも可能である点に留意されたい。
図20は、本実施の形態のシグナリングを実行するための第5のシンタックスエレメントの抜粋を示す図である。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。pos_of_non_sep_filterは、非分離型フィルタを適用する小数画素位置をシグナリングし、つまり、小数画素位置aの場合は0で、小数画素位置oの場合は15であり、その一方で、分離型フィルタをその他の小数画素位置全てに適用する。filter_coef_non_sepには非分離型フィルタひとつの係数が含まれる。filter_coef_sepには、1/4画素予測精度の場合、分離型フィルタ14個分の係数が含まれる。
(差分符号化)
非対称フィルタの場合、オーバーヘッドのデータ量を削減するため、小数画素位置に応じて、フィルタ係数の差分符号化を適用することができる。この考えでは、フィルタを信号統計へ最適化することを可能にするため非対称フィルタを算出するが、ある小数画素位置におけるフィルタ係数の類似性を活用し、それらの位置におけるフィルタ係数の差分符号化を適用して、オーバーヘッドのデータ量を削減する。このように、フィルタは同時に最適化されず、予測効率の損失もない。
例えば、動き補償予測部160は、内部のメモリ161に直前のスライス又はピクチャのフィルタ係数などを格納させる。そして、動き補償予測部160は、内部に備える差分算出部(図示せず)を用いて、メモリ161に保持されたフィルタ係数と、新たに決定したフィルタ係数との差分を算出し、算出した差分のみをエントロピー符号化部190に供給する。なお、差分の対象となるフィルタ係数は、同一画素位置の補間フィルタのフィルタ係数が望ましい。同一画素位置の補間フィルタの方が、相関が高いことが多いためである。
なお、メモリ161に保持させるフィルタ係数は、予め定められたデフォルトの補間フィルタのフィルタ係数でもよい。デフォルトの補間フィルタは、例えば、非適応補間フィルタとして用いられるフィルタである。
例えば、分離型フィルタの場合、シグナリングオーバーヘッド量は、垂直方向の補間フィルタのフィルタ係数hj (p,q)((式11)参照)を、(式15)に示すように水平方向に隣接する補間フィルタへの偏差のみという観点で伝送することによって、削減されると考えられる。
Figure 2009047917
または、(式16)に示すように、対応する整数画素列の補間フィルタhj (0,q)への偏差という観点で、垂直方向の補間フィルタのフィルタ係数hj (p,q)を伝送する。
Figure 2009047917
このように、垂直方向の1次元補間フィルタは、水平小数画素の平行移動に対して「ほぼ」不変である可能性が高いという事実を活用する。ゆえに、整数画素行に対応するフィルタ係数のみをそのまま伝送する必要があり、小数画素行のフィルタ係数は差分法で符号化される。
同様に、フィルタ係数の差分符号化を、上述した適応的補間フィルタの限定及び対称性のいずれかに適用する。図12に示すような2つの「ほぼ」対称な小数画素固有補間フィルタの場合、それらのうち一方だけをそのまま符号化し、他方は、第1フィルタの対応係数に対する個々のフィルタ係数の差分のみを差分符号化する。例えば、垂直軸に対して垂直な場合((式6)参照)は、フィルタ係数の差分は(式17)となる。
Figure 2009047917
また、同様に、図11に示すような自分自身で「ほぼ」対称なフィルタ係数を有する小数画素固有補間フィルタは、係数の前半部分(つまり、垂直軸に対して対称な場合にはi≦0の係数、(式6)参照)はそのまま符号化し、(式18)に示すように、係数の後半部分(つまり、i>0)は対称性からの偏差のみを伝送することによって符号化してもよい。
Figure 2009047917
差分符号化に用いられる対称性は、デコーダへシグナリングされなければならない。これは、上記のシグナリング例に沿って暗示的又は明示的に実現できる。しかしながら、差分符号化に用いられる対称性は一連のフィルタ特性と別物でなければならないこと(そうでなければ、この対称性からの偏差全てが0になる)及び別々にシグナリングされなければならないことに留意されたい。
以上のように、フィルタ係数そのものの値ではなく、フィルタ係数の差分値を符号化することで、符号化しなければならないデータ量をさらに削減することができ、符号化効率を高めることができる。
以上のように、本発明は、小数画素精度の動き補償予測を用いるハイブリッド映像符号化装置及び映像復号装置に関し、予測精度とシグナリングオーバーヘッドとの間のトレードオフを最適化する適応的補間フィルタを用いる。この目的のために、適応的補間フィルタの対称性及びその他の限定などの特性を前もって設定する。これにより、独立フィルタ係数の数を制御できることができる。
さらに、適応的補間のフィルタ係数は設定したフィルタ特性により決定される。また、映像復号装置が全く同じ補間を動き補償予測に適用できるように、フィルタ係数は映像復号装置に送信される。シグナリングオーバーヘッドは、設定されたフィルタ特性に従って係数を符号化することによっても低減される。
以上、本発明の映像符号化方法、映像復号方法及びこれらの装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
上述した手法に加えて、いくつかの他のアプローチを適用することにより、オーバーヘッド情報のビットレートを、さらに、削減することが可能である。典型的な手法を以下に3つ述べる。
いくつかのピクチャに対してシーケンスの統計量及び特性が類似している場合、「上位レベル」のフィルタを参照してフィルタを差分符号化することにより、フィルタ係数の伝送ビットレートを低減することが可能である。例えば、各小数画素位置のフィルタをシーケンスレベル(SPS)で伝送すると仮定する。この場合、前述のシーケンスレベルフィルタと対象フィルタ(ピクチャレベル、スライスレベル)との差分だけを伝送することが可能である。
このアプローチは、参照スライスレベルフィルタと予測マクロブロックレベルフィルタとなどにも適用することができる。さらに、ピクチャレベル、スライスレベル、又は、マクロブロックレベルで、シーケンスレベルで伝送された参照フィルタの使用をシグナリングするフラグ、又は、次に伝送される新たなフィルタの使用をシグナリングするフラグを伝送することも可能である。しかしながら、前述の手法にはエラーを起こしやすいという欠点がある。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。
さらに、フィルタ係数の時間予測を行うこと、つまり、あるピクチャ(スライス)から次のピクチャ(スライス)までのフィルタ係数の差分だけを符号化することができる。また、これを異なる参照ピクチャの動き検出と関連付けてもよい。つまり、動き検出中に参照ピクチャを決定するとすぐに、対応する参照ピクチャに使用されたフィルタを参照して予測に使用されたフィルタ係数を符号化する。しかしながら、この手法でもエラーは発生しやすい。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。
オーバーヘッド・ビットレートは、エンコーダ及びデコーダが識別できる参照テーブルを適用することによって最小限まで削減することが可能である。シーケンスを広範囲にわたって診断することにより、小数画素位置に依存するフィルタの固定的な設定を定義することができる。
映像符号化装置は、アプリケーション及び最適化基準(高予測効率、低複雑性)に応じて最もよいフィルタを選択し、対応するテーブルインデックスのみを伝送する。映像復号装置はフィルタ参照テーブルを識別できるので、伝送されたテーブルインデックスからフィルタを復元できる。しかしながら、このアプローチには、フィルタが信号統計に精度よく合わせることができないため、予測効率が低減するという欠点がある。また、参照テーブルのインデックスを伝送でき、さらに、参照テーブルから選ばれたフィルタと比較したフィルタ差分を伝送することができる。
また、固定フィルタと適応的フィルタとを切り替えることも可能である。固定フィルタの適用には、さらなるフィルタ情報を伝送する必要はないという利点がある。適応的フィルタの適用には、フィルタを信号統計に合わせられるという利点がある。固定フィルタと適応的フィルタの切換は、結果として生じるオーバーヘッド・ビットレートも考慮するレートひずみ基準を適用することによって行われてもよい。
このような切換は、シーケンスレベル(SPS)、ピクチャレベル(PPS)、スライスレベル、マクロブロックレベル又は小数画素位置依存で行うことが可能である。固定フィルタは、MPEG−4 AVC/H.264などの標準規格フィルタであってもよい。差分手法をフィルタ切換情報の符号化に適用してもよい。各ビットが、ある小数画素位置の固定フィルタ又は適応的フィルタをシグナリングする15ビットマスクを考慮してもよい。
なお、本発明は、上述したように、映像符号化方法、映像復号方法及びそれらの装置として実現できるだけではなく、本実施の形態の映像符号化方法及び映像復号方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
また、本発明は、映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部を、1個のシステムLSIから構成してもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAMなどを含んで構成されるコンピュータシステムである。
本発明の映像符号化方法及び映像復号方法は、予測効率及び符号化効率を最適化できるという効果を奏し、例えば、映像符号化装置、映像復号装置、ビデオカメラ、及び、カメラ付携帯電話などに適用することができる。
本発明は、映像符号化方法及び映像復号方法に関し、特に、適応的補間フィルタを用いて小数画素精度の動き補償予測に基づいた映像符号化方法及び映像復号方法に関する。
ハイブリッド符号化技術では、予測誤差の変換符号化を伴う動き補償予測を適用している。特に小数画素精度の動きベクトルでは、エイリアシング、量子化誤差、間違った動き検出での誤差、及び、カメラノイズなどの影響は、予測効率を制限してしまう。適応的補間フィルタリングのコンセプトは、これらに対する解決策を提供しようとするものである。
実験によれば、信号特性に応じて分離型又は非分離型の適応的補間フィルタを適用することが有用であると分かった。また、一方で、フィルタ係数の伝送のオーバーヘッドのデータ量を低減するためには、対称フィルタを適用することが有用であると考えられる。一方で、予測に用いる最適な補間信号を得て最もよい符号化効率ゲインを達成するためには、非対称フィルタを適用することが必要であると考えられる。
図1は、従来の映像符号化装置の構成の一例を示すブロック図である。同図の映像符号化装置300は、入力画像(入力信号)の対象ブロックと、メモリ140に格納されている先に符号化及び復号されたブロックに基づく対象ブロックの予測信号との差分を決定する減算器110を備える。具体的には、H.264/AVC規格に従って、入力画像はマクロブロックに分割される。映像符号化装置300は、入力画像である入力映像シーケンスの対象ブロックと、先に符号化及び復号されたブロック(ローカル復号画像)とに基づく予測信号との差分だけを伝送する差分パルス符号変調(DPCM:Differential Pulse Code Modulation)手法を用いている。減算器110は、符号化の対象ブロックを受け取り、受け取った対象ブロックから予測信号を減算することで、差分(予測誤差とも記載する)を算出する。
変換/量子化部120は、結果として生じる予測誤差を空間領域から周波数領域に変換し、得られた変換係数を量子化する。
ローカル復号画像は、映像符号化装置300に組み込まれた復号部(逆量子化/逆変換部130、加算器135及びデブロッキングフィルタ137)によって提供される。この復号部は、符号化ステップの逆の順序で実行する。つまり、逆量子化/逆変換部130は、量子化係数を逆量子化し、逆変換を逆量子化係数に適用する。加算器135は、復号された差分を予測信号に加算して、ローカル復号画像を形成する。さらに、デブロッキングフィルタ137は、復号画像のブロック歪み(ブロッキングアーティファクト)を低減する。
映像符号化装置300によって使用される予測タイプは、マクロブロックが「イントラ」モード又は「インター」モードで符号化されるかどうかに依存する。「イントラ」モードでは、映像符号化規格であるH.264/AVCは、次のマクロブロックを予測するために、同じ画像の中で既に符号化されたマクロブロックに基づく、予測の仕組みを用いる。「インター」モードでは、いくつかの連続するピクチャの対応するブロック間の動き補償予測が用いられる。
イントラ符号化画像(I−タイプ画像)だけは、先に復号された画像を参照することなく、符号化される。このI−タイプ画像には、符号化映像シーケンスに対する誤り耐性(誤差の回復力)を持たしている。さらに、符号化映像シーケンスに含まれる画像の中でI−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。イントラモード(イントラフレーム予測部150による処理)とインターモード(動き補償予測部360による処理)との切換は、イントラ/インター切換スイッチ180によって制御される。
「インター」モードでは、マクロブロックは、動き補償を使用することで、先のピクチャの対応するブロックから予測される。動き検出は、対象入力信号とローカル復号画像とを受信する動き検出部170によって達成される。動き検出により、対象ブロックと先のピクチャの対応するブロックとの間の画素の位置ずれ(動き)を表す2次元の動きベクトルが生成される。検出された動きに基づいて、動き補償予測部360は予測信号を出力する。
予測精度を最適化するために、動きベクトルを小数画素精度で、例えば、1/2画素精度又は1/4画素精度で決定してもよい(特許文献1参照)。小数画素精度の動きベクトルは、画素値が利用できない先のピクチャ内の位置(すなわち、小数画素位置)を指してもよい。したがって、動き補償を行うには画素値の空間補間が必要である。H.264/AVC規格では、小数画素位置の画素値を得るために、固定フィルタ係数の6タップウィナー補間フィルタ及び双線形フィルタが適用される。補間プロセスは、次のように行われる。
1.1/2画素位置を、6タップフィルタを用いて水平及び垂直方向に算出する。
2.1/4画素位置を、既存の整数画素位置の画素値だけでなく、すでに算出した1/2画素値を利用する双線形フィルタリングを用いて算出する。
フィルタ係数は、固定であるため、映像復号装置は、フィルタ係数を識別することができる。このため、フィルタ係数を映像復号装置に伝送するためのオーバーヘッドデータは、必要ではない。
「イントラ」及び「インター」符号化モードともに、対象信号と予測信号との差分は、変換/量子化部120によって変換係数へ変換される。通常、2次元の離散コサイン変換(DCT:Discrete Cosine Transformation)又はその整数バージョンなどの直交変換が使用される。
変換係数は、符号化しなければならないデータ量を削減するために量子化される。量子化ステップは、精度と、各々の周波数係数を符号化するのに用いられるビット数とを記した量子化テーブルによって制御される。通常、画質にとって低周波成分が微細な内容より重要であり、その結果、低周波成分の符号化には高周波成分よりも多くのビットが費やされる。
量子化の後、変換係数の2次元配列は、エントロピー符号化部390に通すために、1次元の列に変換される。この変換は、予め定められたシーケンスで、配列をスキャンすることによって行われる。こうして得られた量子化変換係数の1次元シーケンスは、ランレベルと呼ばれる数の組からなる列に圧縮される。そして、ランレベルシーケンスは、可変長の2値の符号語(VLC:Variable Length Code)に符号化される。この符号は、より短い符号語が、典型的な映像において頻出するランレベルの組に割り当てられるように最適化される。その結果生じるビットストリームは、動き情報と多重化されて、記録媒体に保存されるか又は映像復号装置側に伝送される。
映像復号装置は、映像符号化装置側から伝送されたビットストリームを基にして、符号化画像を再構成する場合、符号化プロセスと逆の方法で復号を行う。
図2は、従来の映像復号装置の構成の一例を示すブロック図である。同図の映像復号装置400において、まず、エントロピー復号部491によってエントロピー符号化された動きデータと変換係数とがエントロピー復号される。また、逆変換に必要なため、このステップには、復号済み変換係数のシーケンスを2次元データブロックに変換する逆スキャンが含まれる。そして、変換係数の復号済みブロックは、逆量子化/逆変換部230に出力され、復号済み動きデータは、動き補償予測部460に送られる。動きベクトルの実際の値に応じて、動き補償を行うために画素値の補間が必要になる可能性がある。逆量子化及び逆変換の結果には予測誤差が含まれ、加算器235は、この予測誤差と、インターモードの動き補償予測部460又はイントラモードのイントラフレーム予測部250によって生成される予測信号とを加算する。その結果、再構成された画像は、デブロッキングフィルタ237に出力され、デブロッキングフィルタ237によって処理された復号済みの信号は、イントラフレーム予測部150及び動き補償予測部460に用いられるメモリ140に格納される。
以上のように、従来の映像符号化装置300では、固定的なフィルタ係数を持つ補間フィルタを用いて、より精度の高い動き補償を行い、高精度な予測に基づいて入力画像を符号化することができる。また、従来の映像復号装置400では、高精度な予測に基づいて符号化された画像を再構成することができる。
さらに、H.264/AVCに続く規格では、予測精度と圧縮効率とを改善するために、予め定められた補間フィルタ(非適応的補間フィルタ)を、処理対象の映像の統計特性に応じて適応的に変更することができる適応的補間フィルタに置き換えることが検討されている。つまり、符号化効率は、予測精度にかなり依存し、予測精度は、動き検出及び動き補償の精度に依存する。動き補償予測部360が用いた固定補間フィルタを、映像に含まれる画像の統計特性に合わせた適応的補間フィルタで置き換えることにより、動き補償の精度を向上させてもよい。
今のところ、適応的補間フィルタの主な実装方法には2つ、つまり、分離型フィルタ又は非分離型フィルタに基づいた実装方法がある。分離型フィルタは、2つの1次元の補間フィルタに分離可能である。この2つの1次元の補間フィルタを連続的に適用することで、非分離型フィルタを適用する場合と同じ効果が得られる。非分離型フィルタは、2次元の補間フィルタであり、1次元の補間フィルタには分離することができない。
どちらのフィルタを実装する場合でも、不変な画像統計値に合わせたフィルタを適用することができるため、符号化効率は改善されるという長所がある。この長所に加え、各実装方法には、計算の複雑性及び符号化効率の点でそれ自身の長所及び短所がある。それらを以下にまとめる。
分離型適応的補間フィルタの独立フィルタ係数の数は、非分離型適応的補間フィルタよりも少ないため、フィルタを利用し、かつ、符号化する際の計算の複雑性は軽減される。しかしながら、これはまた、非分離型フィルタと比べて自由度が減り、予測効率を改善する可能性が低くなることを意味している。非分離型フィルタよりも符号化効率が低いことにつながるかもしれない。
非分離型適応的補間フィルタは、分離型適応的補間フィルタに比べて、自由度が高く、予測効率及び符号化効率をより改善することができる。しかしながら、分離型適応的補間フィルタに比べて、独立フィルタ係数の数が多いために、計算の複雑度が増加する。
したがって、いずれのフィルタを適用するかをユーザが指定することで、どちらの実装方法もユーザの要求に応じて有益なものとなる。ある実装方法の計算が複雑でもよいのであれば、非分離型補間フィルタを適用することによって、最適な予測効率を得ることが可能である。逆に、ある実装方法の計算を複雑にできないのであれば、最適な予測効率をおそらくは得ることができない分離型フィルタを適用することで、計算を簡単化することができる。
米国特許出願公開第2006/0294171号明細書
しかしながら、上記従来技術では、予測効率及び符号化効率を最適化することができないという課題がある。
上記従来技術では、フィルタ係数を適応的に設定することができても、フィルタのタイプが固定的である。逆に、適応的/非適応的、又は、分離型/非分離型などのフィルタタイプを適応的に設定することができても、フィルタのタップ数及びフィルタ係数は固定的である。したがって、上記従来技術では、予測効率と符号化効率とを最適化することができない。
そこで、本発明は、予測効率と符号化効率とを最適化することができる映像符号化方法、映像復号方法及び対応する装置を提供することを目的とする。
上記課題を解決するため、本発明の映像符号化方法は、映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む。
これにより、フィルタの特性とフィルタ係数とを同時に適応的に決定することができるので、予測効率と符号化効率とを最適化することができる。
また、前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化してもよい。
これにより、フィルタ特性を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。
また、前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも1つを示す情報を符号化してもよい。
これにより、例えば、設定された補間フィルタが分離型補間フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが非分離型補間フィルタである場合は、予測の自由度は制限されるが、計算を簡単にすることができ、すなわち、符号化しなければならないデータ量を削減することができる。また、設定された補間フィルタが非対称フィルタである場合は、計算は複雑になる、すなわち、符号化効率は悪くなるが、高い精度で動き補償を行うことができる。また、設定された補間フィルタが対称フィルタである場合は、符号化しなければならないデータ量を削減することができるので、符号化効率を高めることができる。
また、前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化してもよい。
これにより、フィルタ係数を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、受信したフィルタ係数とフィルタ特性とに基づいてより正確な動き補償を行うことができる。したがって、符号化ビットストリームから元の映像を正しく復元することができる。
また、前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化してもよい。
これにより、より符号化効率を高めることができる。
また、前記符号化ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。
一般的に、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
また、前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。
一般的に、小数画素の位置が平行移動の対称関係にある場合、それぞれの小数画素の補間フィルタは互いに同じである、又は、類似していることが多い。すなわち、それぞれの補間フィルタの対応するフィルタ係数は、同じ値、又は、類似した値になることが多い。このため、対応するフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数間での差分を符号化してもよい。
これにより、補間フィルタがそれ自身で対称である場合、対称関係にある2つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数間で差分を算出し、算出した差分を符号化することで、符号化しなければならないデータ量を大幅に削減することができる。
また、前記符号化ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素のうち、1つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化してもよい。
上述したように、小数画素の位置が対称関係にある場合、それぞれの小数画素の補間フィルタは互いにミラーの関係にあり、対応するフィルタ係数は同じ値、又は、類似した値になることが多い。したがって、対称関係にある補間フィルタのうち、1つのみの補間フィルタの複数のフィルタ係数だけを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にある補間フィルタは、フィルタ係数を決定した補間フィルタとミラー関係にある補間フィルタであるとみなすことができる。
また、前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数ごとに1つのフィルタ係数を符号化してもよい。
上述したように、補間フィルタがそれ自身で対称である場合、対称関係にある2つのフィルタ係数は、同じ値、又は、類似した値になるので、対称関係にあるフィルタ係数のうち1つのフィルタ係数のみを決定するだけでよいので、フィルタ係数の決定に関わる計算量を削減し、かつ、符号化しなければならないデータ量を大幅に削減することができる。対称関係にあるフィルタ係数は、決定したフィルタ係数と同じであるとみなすことができる。
また、前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化してもよい。
これにより、補間フィルタのサイズを示す情報を符号化ビットストリームに多重化することができ、当該符号化ビットストリームを受信した映像復号装置側で、符号化ビットストリームを正しく復号することができる。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に1つのみ設定してもよい。
また、本発明の映像復号方法は、符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む。
これにより、小数画素精度の動き補償を行うことで、より精度の高い復元画像を生成することができる。
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
これにより、符号化ストリームからフィルタ特性を復元することができるので、符号化された映像がどのようなフィルタ特性を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、より精度の高い復元画像を生成することができる。
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも1つを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
また、前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。
これにより、符号化ストリームからフィルタ係数を復元することができるので、符号化される映像がどのようなフィルタ特性を有し、どういった値のフィルタ係数を有する補間フィルタを用いて動き補償を実行されたかに関する情報を得ることができるので、正確に復元画像を生成することができる。
また、前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定してもよい。
また、前記復号ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも2つの小数画素のいずれか1つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
また、前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも2つの小数画素のいずれか1つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数間での差分と、前記少なくとも2つのフィルタ係数のいずれか1つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定してもよい。
以上のように、符号量を削減するために対称性を利用して符号化された符号化ストリームから、正確に補間フィルタのフィルタ係数を復号及び決定することができる。
また、前記復号ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素ごとに符号化されている1つの小数画素の適応的補間フィルタのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定してもよい。
また、前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数ごとに符号化されている1つのフィルタ係数を復号し、前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定してもよい。
また、前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新してもよい。
これにより、同じフィルタ係数を複数回使用することができるので、フィルタ係数の決定に関わる処理量を削減することができる。また、重複して使用するフィルタ係数を符号化ストリームに含める必要がなくなるため、符号量を削減することができる。
また、前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定してもよい。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定してもよい。
また、前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に1つのみ設定してもよい。
なお、本発明は、映像符号化方法及び映像復号方法として実現できるだけではなく、当該映像符号化方法及び映像復号方法に含まれるステップを処理部とする装置として実現することもできる。
また、本発明の映像符号化方法及び映像復号方法に含まれるステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なCD−ROM(Compact Disc−Read Only Memory)などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
また、上記の各映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されていてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
本発明の映像符号化方法、映像復号方法及びそれらの装置によれば、予測効率と符号化効率とを最適化することができる。
図1は、従来の映像符号化装置の構成の一例を示すブロック図である。 図2は、従来の映像復号装置の構成の一例を示すブロック図である。 図3は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置の構成を示すブロック図である。 図4は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置の構成を示すブロック図である。 図5は、本実施の形態の映像符号化装置の処理を示すフローチャートである。 図6Aは、本実施の形態の映像復号装置の処理を示すフローチャートである。 図6Bは、映像復号装置が対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。 図7は、フィルタ係数が決定される小数画素位置を示す図である。 図8は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。 図9は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。 図10は、映像データに含まれる画像のブロックの概略図である。 図11は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。 図12は、2つの小数画素位置の補間フィルタが対称となる一例を示す図である。 図13Aは、垂直軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Bは、水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Cは、対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Dは、垂直軸及び水平軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Eは、垂直軸、水平軸及び対角軸に対して対称な適応的補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。 図13Fは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。 図14Aは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。 図14Bは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。 図14Cは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。 図14Dは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。 図14Eは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。 図14Fは、分離型適応的補間フィルタの対称関係と平行移動の関係の一例を示す図である。 図14Gは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。 図15は、本実施の形態のシグナリングを実行するための第1のシンタックスエレメントを示す図である。 図16Aは、小数画素位置における対称性の一例を示す図である。 図16Bは、フィルタIDが割り当てられた小数画素位置の補間フィルタの一例を示す図である。 図16Cは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。 図17は、本実施の形態のシグナリングを実行するための第2のシンタックスエレメントの抜粋を示す図である。 図18は、本実施の形態のシグナリングを実行するための第3のシンタックスエレメントの抜粋を示す図である。 図19は、本実施の形態のシグナリングを実行するための第4のシンタックスエレメントの抜粋を示す図である。 図20は、本実施の形態のシグナリングを実行するための第5のシンタックスエレメントの抜粋を示す図である。
以下では、本実施の形態の映像符号化装置及び映像復号装置について図面を用いて詳細に説明する。
図3は、本実施の形態の適応的フィルタリングの動き補償を適用する映像符号化装置100の構成を示すブロック図である。同図の映像符号化装置100は、映像データ(入力映像シーケンス)に含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、映像データを符号化する装置である。図3のブロック図は、図1に対応する。図1に示す映像符号化装置300と同じ構成要素には同じ参照符号を付している。
図3に示す映像符号化装置100は、減算器110と、変換/量子化部120と、逆量子化/逆変換部130と、加算器135と、デブロッキングフィルタ137と、メモリ140と、イントラフレーム予測部150と、動き補償予測部160と、動き検出部170と、イントラ/インター切換スイッチ180と、エントロピー符号化部190とを備える。映像符号化装置100は、図1に示した従来の映像符号化装置300と比較して、動き補償予測部360の代わりに動き補償予測部160を備え、エントロピー符号化部390の代わりにエントロピー符号化部190を備える点が異なっている。
なお、本実施の形態の映像符号化装置100は、H.264/AVC規格、又は、当該規格に続く規格を採用する。H.264/AVC規格では、入力映像シーケンスに含まれる入力画像は、マクロブロックなどのブロックに分割される。そして、入力画像のブロックと、先に符号化されたブロックから予測された予測ブロックとの差分だけを伝送する差分パルス符号変調(DPCM)が用いられる。
減算器110は、入力信号(入力画像)と予測信号(予測画像)との差分を算出する。なお、この差分を予測誤差という。具体的には、減算器110は、入力信号に含まれる入力画像のブロック(符号化対象ブロック)から、イントラフレーム予測部150又は動き補償予測部160によって生成される予測ブロックを減算することで、予測誤差を算出する。
変換/量子化部120は、減算器110によって算出された予測誤差を、空間領域から周波数領域に変換する。例えば、予測誤差に対して、2次元の離散コサイン変換(DCT)又はその整数バージョンなどの直交変換処理を実行する。変換/量子化部120は、さらに、変換により得られた変換係数を量子化する。量子化によって得られた2次元の変換係数は、1次元に変換する必要がある。このため、予め定められたシーケンスに従って2次元配列をスキャンすることで、1次元の量子化変換係数のシーケンスをエントロピー符号化部190に供給する。このように量子化を行うことで、符号化する必要があるデータ量を削減することができる。
なお、変換/量子化部120は、量子化ステップを用いて変換係数を量子化する。この量子化ステップは、量子化テーブルによって制御される。量子化テーブルは、精度と、各周波数係数を符号化するために用いられるビット数とを特定するテーブルである。通常、低周波成分は細部よりも画質にとってより重要であるために、低周波成分の符号化には高周波成分の符号化よりも多くのビットが費やされる。
逆量子化/逆変換部130は、変換/量子化部120によって量子化された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。
加算器135は、逆量子化/逆変換部130によって復元された予測誤差と、イントラフレーム予測部150又は動き補償予測部160によって生成される予測信号(予測ブロック)とを加算することで、ローカル復号画像を生成する。
デブロッキングフィルタ137は、加算器135によって生成されたローカル復号画像にデブロッキングフィルタ処理を実行する。これにより、ローカル復号画像に含まれるブロック歪み(ブロッキングアーティファクト)を低減することができる。なお、デブロッキングフィルタ137は、復号画像に適用されなくてもよい。
メモリ140は、デブロッキングフィルタ137によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。
イントラフレーム予測部150は、メモリ140からローカル復号画像を読み出し、読み出したローカル復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。「イントラ」モードでは、予測ブロックを生成するために、同じ画像のすでに符号化されたブロックを利用した予測処理を行う。すなわち、「イントラ」モードでは、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで符号化対象ブロックの符号化を行うことができる。
このように符号化されたイントラ符号化画像(I−タイプ画像)は、符号化映像シーケンスに誤り耐性を持たしている。また、I−タイプ画像は、ランダムアクセスを可能にするために、すなわち、符号化映像シーケンスに含まれる画像の中でI−タイプ画像にアクセスするために、符号化データのビットストリームへのエントリーポイントを規定する。
動き補償予測部160は、小数精度の動き補償に必要な適応的補間フィルタのフィルタ特性を決定する。フィルタ特性は、例えば、適応的補間フィルタのフィルタタイプを示す情報、及び、適応的補間フィルタのサイズを示す情報などである。フィルタのサイズは、例えば、適応的補間フィルタのフィルタ係数の数であるタップ数などである。
具体的には、動き補償予測部160は、適応的補間フィルタとして、分離型、及び、非分離型適応的フィルタのいずれかを決定し、さらに、決定した適応的補間フィルタのタップ数、及び、各フィルタ係数の値を決定する。フィルタ係数の値は、整数画素との相対的な小数画素の位置ごとに決定される。フィルタ係数の決定処理の詳細については後述する。なお、動き補償予測部160は、フィルタ係数が固定である非適応的補間フィルタを用いてもよい。
さらに、動き補償予測部160は、決定した適応的補間フィルタが対称関係を有するか否か、すなわち、対称フィルタ、及び、非対称フィルタのいずれであるかを決定する。フィルタの対称性を利用する処理の詳細についても後述する。
なお、動き補償予測部160は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、1つの映像データに対して、1つの特性を設定してもよい。したがって、所定の処理単位中は、同じフィルタ特性を利用するため、動き補償予測部160は、フィルタ特性を一時的に保持するメモリ161を備える。このメモリ161は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。例えば、動き補償予測部160は、Iピクチャごとにフィルタ特性を決定し、スライス単位でフィルタ係数を決定する。
また、動き補償予測部160は、映像データ、映像データに含まれる画像内容、又は、映像データの画像解像度などに基づいて、適応的補間フィルタの特性を設定する。あるいは、所定の処理単位の符号化後の映像データのサイズが最小となるように適応的補間フィルタの特性を設定する。具体的には、フィルタ特性ごとに符号化を所定の処理単位ごとに行い、符号化後の映像データのサイズが最小となるフィルタ特性を選択する。
このため、動き補償予測部160には、入力信号のコピーも入力される。さらに、決定された適応的補間フィルタのフィルタ係数は、エントロピー符号化部190に伝送され、エントロピー符号化部190によって出力ビットストリームに挿入される。
さらに、動き補償予測部160は、メモリ140からローカル復号画像を読み出し、読み出したローカル復号画像に、決定した適応的補間フィルタを用いてフィルタ処理を適用することで、小数精度の参照画像を生成する。そして、生成した参照画像と、動き検出部170によって決定された動きベクトルとに基づいて小数画素精度の動き補償を行うことで、予測ブロックを生成する。
動き検出部170は、メモリ140からローカル復号画像を読み出し、読み出したローカル復号画像と入力信号に含まれる入力画像とを用いて動き検出を行うことで、動きベクトルを決定する。動きベクトルは、符号化対象ブロックと、ローカル復号画像に含まれるブロックとの画素の変位を示す2次元のベクトルである。なお、決定された動きベクトルを示す動きデータは、エントロピー符号化部190に伝送され、エントロピー符号化部190によって出力ビットストリームに挿入される。
なお、動き検出部170は、予測精度を最適化するために、小数画素精度、例えば、1/2又は1/4画素精度で動きベクトルを決定する。このため、動きベクトルが小数画素位置を示す場合に備える必要があり、動き補償予測部160は、小数画素位置の画素値を算出するために、補間フィルタをローカル復号画像に適用することで、整数画素位置の画素値から小数画素位置の画素値を算出する。
イントラ/インター切換スイッチ180は、イントラフレーム予測部150と動き補償予測部160とのいずれで生成された予測ブロックを示す予測信号を減算器110と加算器135とに供給するかを切り換える。つまり、イントラフレーム予測部150と動き補償予測部160とのいずれの処理を実行するか、すなわち、符号化対象ブロックが「イントラ」モードで符号化されるのか、「インター」モードで符号化されるのかを切り換える。
エントロピー符号化部190は、変換/量子化部120によって量子化された量子化係数と、動き補償予測部160によって決定されたフィルタ係数と、動き検出部170によって生成された動きデータとを符号化し、得られた符号化信号を出力ビットストリームとして出力する。具体的には、エントロピー符号化部190は、1次元の量子化係数のシーケンスを、ランレベルと称される一連の数のペアに圧縮する。そして、ランレベルシーケンスを、可変長の2値の符号語(VLC:Variable Length Code)に符号化する。典型的な映像に含まれる画像で最も多く頻出するランレベルのペアに、より短い符号語を割り当てることで、符号は最適化される。このようにして得られたビットストリームと、符号化した動きデータ及びフィルタ係数とを多重化し、出力ビットストリームとして他の映像復号装置などに伝送、又は、記録媒体に格納する。
なお、エントロピー符号化部190は、複数のフィルタ係数間の対称性を利用することで、複数のフィルタ係数の冗長部分を除いて、複数のフィルタ係数を符号化してもよい。例えば、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。あるいは、互いに平行移動の対称関係を有する2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化してもよい。これらの差分を符号化する処理の詳細については、後述する。
以上の構成により、本実施の形態の映像符号化装置100では、従来、固定的なフィルタ係数を用いていた、又は、フィルタ係数は適応的であるが、補間フィルタそのものが固定的であったのに対して、小数画素精度の動き補償を行う際に使用する補間フィルタの特性、及び、フィルタ係数を適応的に決定する。そして、決定した補間フィルタの特性、及び、フィルタ係数を符号化し、出力ビットストリームとして他の映像復号装置に伝送する。
次に、上述したように映像符号化装置100によって符号化されて得られた出力ビットストリーム(以下、符号化ビットストリームとも記載する)を復号する本実施の形態の映像復号装置について説明する。
図4は、本実施の形態の適応的フィルタリングの動き補償を適用する映像復号装置200の構成を示すブロック図である。図4のブロック図は、図2に対応する。図2に示す映像復号装置400と同じ構成要素には同じ参照符号を付している。
図4に示す映像復号装置200は、エントロピー復号部291と、逆量子化/逆変換部230と、加算器235と、デブロッキングフィルタ237と、メモリ240と、イントラフレーム予測部250と、動き補償予測部260と、イントラ/インター切換スイッチ280とを備える。
エントロピー復号部291は、入力信号、例えば、映像符号化装置100から伝送される符号化ビットストリームを復号することで、動きデータと、フィルタ係数と、量子化係数のシーケンスとに分離する。そして、エントロピー復号部291は、復号された動きデータとフィルタ係数とを動き補償予測部260に供給する。さらに、エントロピー復号部291は、逆変換に必要となるため、量子化係数の1次元のシーケンスを2次元配列の量子化係数に変換する。2次元配列に変換された量子化係数は、逆量子化/逆変換部230に供給される。
逆量子化/逆変換部230は、エントロピー復号部291によって復号された量子化係数を逆量子化する。さらに、逆量子化により得られる逆量子化係数を逆変換する。これにより、周波数領域に変換され、かつ、量子化されていた予測誤差を、空間領域に変換された予測誤差に復元することができる。なお、逆量子化/逆変換部230は、図3に示す逆量子化/逆変換部130と同様の処理を実行する。
加算器235は、逆量子化/逆変換部230によって復元された予測誤差と、イントラフレーム予測部250又は動き補償予測部260によって生成される予測信号(予測ブロック)とを加算することで、復号画像を生成する。なお、加算器235は、図3に示す加算器135と同様の処理を実行する。
デブロッキングフィルタ237は、加算器235によって生成された復号画像にデブロッキングフィルタ処理を実行する。これにより、復号画像に含まれるブロック歪みを低減することができる。なお、デブロッキングフィルタ237は、復号画像に適用されなくてもよい。また、デブロッキングフィルタ237は、図3に示すデブロッキングフィルタ137と同様の処理を実行する。
メモリ240は、デブロッキングフィルタ237によってデブロッキングフィルタ処理が実行されたローカル復号画像を保持するフレームメモリである。
イントラフレーム予測部250は、メモリ240から復号画像を読み出し、読み出した復号画像を基にして、「イントラ」モードで予測することで、予測ブロックを生成する。イントラフレーム予測部250は、イントラフレーム予測部150と同様に、先に復号されたピクチャを参照することなく、自ピクチャのみを参照することで復号対象ブロックを復号することができる。
動き補償予測部260は、メモリ240から復号画像を読み出し、読み出した復号画像に、小数精度の動き補償に必要な適応的補間フィルタを適用することで参照画像を生成する。ここで、どのような適応的補間フィルタを適用するかを特定するため、動き補償予測部260は、エントロピー復号部291から、復号されたフィルタ係数を受け取る。動き補償予測部260は、生成した参照画像と、エントロピー復号部291から受け取った動きデータとを基にして、予測ブロックを生成する。なお、動き補償予測部260は、適応的補間フィルタを復号画像に適用する理由は、受け取った動きデータが示す動きベクトルの値によっては、整数画素精度ではなく、小数画素精度が要求されるためである。
なお、所定の処理単位(スライス単位など)中は、同じフィルタ特性を利用するため、動き補償予測部260は、フィルタ特性を一時的に保持するメモリ261を備える。このメモリ261は、必要に応じて、フィルタ特性、及び、フィルタ係数などを保持する。
例えば、映像符号化装置100からフィルタ特性がIピクチャごとに送信される場合、フィルタ係数は、当該Iピクチャごと、又は、スライスごとに送信される。メモリ261は、次のフィルタ特性、又は、フィルタ係数が送信されるまで、フィルタ特性、及び、フィルタ係数を保持する。動き補償予測部260は、新たなフィルタ特性、又は、フィルタ係数が送信されると、メモリ261のフィルタ特性、又は、フィルタ係数を更新する。
なお、フィルタ特性が送信された場合、予め定められた非適応的フィルタでない限り、フィルタ係数も同時に送られるため、フィルタ特性が送信された場合は、フィルタ係数も更新することになる。また、メモリ261は、複数のフィルタ特性と、フィルタ係数とを記憶してもよい。すなわち、最新のフィルタ特性だけでなく、過去のフィルタ特性も複数個記憶してもよい。これにより、過去のフィルタ特性と同じ補間フィルタを利用する場合に、再度、映像符号化装置100が送信しなくてもよい。
イントラ/インター切換スイッチ280は、イントラフレーム予測部250と動き補償予測部260とのいずれで生成された予測ブロックを示す予測信号を、加算器235に供するかを切り換える。
以上の構成により、本実施の形態の映像復号装置200は、入力される符号化ビットストリームから、小数画素精度の動き補償に用いる補間フィルタの特性とフィルタ係数とに関する情報を受け取り、受け取った情報に基づいて小数精度の動き補償を行う。これにより、映像符号化装置100によって、適応的に決定した補間フィルタを用いて符号化された映像データを正しく復元することができる。
次に、本実施の形態の映像符号化装置100によって実行される映像符号化方法について説明する。図5は、本実施の形態の映像符号化装置100の処理を示すフローチャートである。
まず、動き補償予測部160は、適応的補間フィルタのフィルタタイプを決定する(S101)。具体的には、動き補償予測部160は、入力される映像データに基づいて、分離型/非分離型、及び、対称/非対称などをスライス単位で決定する。
さらに、動き補償予測部160は、決定したフィルタタイプに応じて、適応的補間フィルタのタップ数を、小数画素位置ごとに決定する(S102)。具体的には、動き補償予測部160は、決定しなければならないフィルタ係数の数を決定する。例えば、決定した補間フィルタが、6×6タップの非分離型補間フィルタで、かつ、非対称である場合は、決定しなければならないフィルタ係数の数は36個である。また、決定した補間フィルタが、6×6タップの非分離型補間フィルタで、かつ、対称である場合は、決定しなければならないフィルタ係数の数は、36個のより少ない数となる。
また、対象となる小数画素の位置が、既に補間フィルタのフィルタ係数を決定した小数画素と、所定の軸に対して対称である場合は、動き補償予測部160は、決定しなければならないフィルタ係数の数を0としてもよい。すなわち、既に決定した補間フィルタをミラーリングすることで、対象となる小数画素の補間フィルタにも適用してもよい。
次に、動き補償予測部160は、小数画素位置ごとに、決定した補間フィルタのタップ数分のフィルタ係数を決定する(S103)。
そして、動き補償予測部160は、決定したフィルタ係数を有する補間フィルタを用いて、小数画素位置の画素値を算出し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う(S104)。
減算器110は、入力信号から、動き補償により生成される予測信号を減算することで予測誤差信号を生成する(S105)。変換/量子化部120は、生成された予測誤差信号を周波数変換及び量子化することで、量子化係数を生成する(S106)。
エントロピー符号化部190は、変換/量子化部120によって生成された量子化係数と、動き補償予測部160によって決定されたフィルタ特性及びフィルタ係数と、動き検出部170で検出された動きベクトルを示す動きデータとを符号化する(S107)。エントロピー符号化部190は、符号化により得られた符号化信号(符号化ビットストリーム)を他の映像復号装置などに伝送する。
以上のようにして、本実施の形態の映像符号化装置100は、適応的に補間フィルタのフィルタ特性とフィルタ係数とを決定し、決定した補間フィルタを用いて小数画素精度の動き補償を行う。これにより、補間フィルタの特性及び係数を非常に柔軟に決定することができるので、予測精度と符号化効率とを最適化することができる。
次に、本実施の形態の映像復号装置200によって実行される映像復号方法について説明する。図6Aは、本実施の形態の映像復号装置200の処理を示すフローチャートである。
まず、エントロピー復号部291は、入力される符号化ビットストリームを復号する(S201)。復号により得られた量子化係数を逆量子化/逆変換部230に供給し、動きデータ及び補間フィルタを動き補償予測部260に供給する。
次に、逆量子化/逆変換部230は、復号により得られた量子化係数を逆量子化及び逆変換することで、予測誤差を生成する(S202)。また、動き補償予測部260は、復号により得られた補間フィルタと動きデータとに基づいて、小数画素位置の画素値を参照し、これにより得られた小数画素精度の参照画像を用いて動き補償を行う(S203)。なお、予測誤差の生成(S202)と動き補償(S203)とは、いずれが先に実行されてもよく、又は、同時に並行して実行されてもよい。
加算器235は、逆量子化/逆変換部230によって生成された予測誤差と、動き補償予測部260によって生成された予測信号とを加算することで、符号化された画像を復元する(S204)。なお、デブロッキングフィルタ237が、復元された画像にデブロッキングフィルタ処理を施してもよい。
図6Bは、対称性を利用して補間フィルタを復号し、決定する場合のフローチャートである。補間フィルタは、小数画素位置ごとに決定される。
まず、動き補償予測部260は、決定の対象となる補間フィルタ自体が対称であるか否かを判断する(S301)。補間フィルタ自体が対称である場合(S301でYes)、当該補間フィルタのフィルタ係数のうち半分だけを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する(S302)。補間フィルタ自体が対称ではない場合(S301でNo)、補間フィルタを構成するフィルタ係数を復号する(S303)。
次に、動き補償予測部260は、復号及び決定した補間フィルタの小数画素位置と対称関係にある小数画素位置の補間フィルタを決定する(S304)。すなわち、復号及び決定した補間フィルタをミラーリングすることで、対称関係にある小数画素位置の補間フィルタを決定する。なお、このとき、水平方向の補間フィルタを垂直方向の補間フィルタにも兼用する場合は、補間フィルタを回転することで、該当する小数画素位置の補間フィルタを決定する。
最後に、動き補償予測部260は、全ての小数画素位置の補間フィルタを復号及び決定したか否かを判断する(S305)。補間フィルタが決定されていない小数画素位置がある場合(S305でNo)、動き補償予測部260は、まだ決定されていない小数画素位置の補間フィルタを復号及び決定するために、上述の処理(S301〜S305)を繰り返す。全ての小数画素位置の補間フィルタが復号及び決定された場合(S305でYes)、補間フィルタの復号及び決定処理は終了し、予測誤差の生成処理(S202)を実行する。
なお、どの小数画素位置が対称であるかを示す情報は、後述するように符号化ビットストリームに含まれる。
以上のようにして、本実施の形態の映像復号装置200は、符号化ビットストリームに含まれる補間フィルタの情報を取得し、取得した情報に基づいて設定した補間フィルタのフィルタ特性及びフィルタ係数を利用して動き補償を行う。これにより、映像符号化装置側で、柔軟に設定された補間フィルタの情報を映像復号装置200は得ることができるので、符号化された画像を正しく復号することができる。
(フィルタ係数の決定方法)
以下に、動き補償予測部160による適応的補間フィルタのフィルタ係数の決定方法について述べる。
図7は、フィルタ係数が決定される小数画素位置を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。また、ここでは、一例として、1/4画素精度の場合を説明する。
整数画素の位置と小数画素の位置とは、整数単位範囲ごとに位置(p,q)で示される。整数単位範囲は、1つの整数画素を含む所定の範囲であり、図7に示す例では、小数画素精度で4×4画素の範囲である。なお、p=0,1,2,3かつq=0,1,2,3である。位置(p,q)は、整数単位範囲内の位置を示す局所的な座標(以下、局所座標と記載する)で表される。つまり、位置(p,q)は、画像上の各整数単位範囲内において共通の座標位置を示す。なお、図7に示す例では、1つの整数単位範囲には、位置(0,0)にある整数画素と、残りの15ヶ所の小数画素位置((0,1)、(0,2)、(0,3)、(1,0)、(1,1)、(1,2)、(1,3)、(2,0)、(2,1)、(2,2)、(2,3)、(3,0)、(3,1)、(3,2)、(3,3))にある小数画素とが含まれる。以上のように、小数画素位置は、整数画素位置との相対的な位置を示している。すなわち、位置(p,q)で、ある整数画素の位置を基準の位置としたときの、小数画素の位置を示している。
動き補償予測部160は、整数画素(黒丸)を基にして、小数画素(白丸)を算出するための補間フィルタを決定する。具体的には、動き補償予測部160は、補間フィルタの特性を設定し、設定した特性に基づいて、算出対象である小数画素に対する補間フィルタのフィルタ係数を決定する。フィルタ係数は、複数の整数画素の重み付け加算和を行う際の重み係数である。補間フィルタは、複数の整数画素のそれぞれに対するフィルタ係数の集合で表される。動き補償予測部160は、1つの整数単位範囲内の小数画素ごとに補間フィルタを決定し、他の整数単位範囲内の小数画素の補間フィルタにも兼用することで、全ての小数画素ごとに補間フィルタを決定する必要がなくなる。ただし、予測の精度を高めるために、全ての小数画素ごとに補間フィルタを決定してもよい。
補間フィルタの特性は、例えば、補間フィルタのフィルタタイプ、及び、フィルタサイズである。フィルタタイプは、例えば、適応的/非適応的、分離型/非分離型、及び、対称/非対称などのフィルタの種類である。フィルタサイズは、例えば、フィルタ係数の個数であるタップ数である。
動き補償予測部160は、補間フィルタの特性を所定の処理単位で設定する。例えば、小数画素単位、マクロブロック単位、スライス単位、ピクチャ単位、又は、シーケンス単位で設定する。なお、1つの映像データに対して、1つの特性を設定してもよい。
以下では、まず、フィルタタイプが非分離型である場合について説明する。非分離型補間フィルタの一例として、6×6タップフィルタの場合について説明する。
図8は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。ここで、位置(p,q)にある小数画素の画素値を算出するための補間フィルタf(p,q)を決定すると仮定する。
補間フィルタf(p,q)は、位置(p,q)にある小数画素をほぼ中心とする6×6の整数画素の画素値にそれぞれ重み付けられるフィルタ係数fi,j (p,q)(i=−2,−1,0,1,2,3かつj=−2,−1,0,1,2,3)の集合である。図8に示す例では、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をf0,0 (p,q)(i=0,j=0)とし、水平方向にi軸、垂直方向にj軸を設定することで、各整数画素にフィルタ係数fi,j (p,q)を決定する。具体的なフィルタ係数の式を用いた算出方法については、後述する。
動き補償予測部160は、以上のように決定した非分離型適応的補間フィルタを適用することで、位置(p,q)の小数画素(図8の白丸)を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。
次に、フィルタタイプが分離型である場合について説明する。ここでは一例として、水平方向の補間フィルタと垂直方向の補間フィルタとを有する分離型補間フィルタであり、各補間フィルタは、6つの整数画素を利用する6タップフィルタである場合について説明する。
図9は、小数画素位置に対して決定されるフィルタ係数の具体例を示す図である。同図において、黒丸は整数画素位置を示し、白丸は小数画素位置を示す。さらに、バツ印は、整数画素を用いて水平方向に補間することで得られた小数画素位置を示す。
動き補償予測部160は、まず、水平方向の補間フィルタg(p,q)を決定する。なお、水平方向の補間フィルタは、垂直方向の値には影響されないため、g(p,q)=g(p)である。図8と同様に、対象となる小数画素を含む整数単位範囲に含まれる整数画素の画素値に重み付けるフィルタ係数をg0 (p)とし、水平方向にi軸を設定することで、水平方向の整数画素にフィルタ係数gi (p)を決定する。
このように決定した水平方向の補間フィルタg(p)を用いて、動き補償予測部160は、位置(p,0)の小数画素(図9のバツ印)を算出する。ここでは、垂直方向の補間フィルタも6タップフィルタであるため、位置(p,0)に位置する6個の小数画素(バツ印)を算出する。
次に、動き補償予測部160は、垂直方向の補間フィルタh(p,q)を決定する。水平方向の場合と同様に、対象となる小数画素を含む整数単位範囲内の位置(p,0)に位置する垂直方向の補間フィルタをh0 (p,q)とし、垂直方向にj軸を設定することで、水平方向の補間により得られた位置(p,0)の小数画素に重み付けるフィルタ係数hj (p,q)を決定する。
このように決定した垂直方向の補間フィルタh(p,q)を用いて、動き補償予測部160は、位置(p,q)の小数画素(図9の白丸)を算出する。補間の対象となる他の小数画素についても同様にして、フィルタ係数を決定し、決定したフィルタ係数の補間フィルタを適用することで、小数画素精度の動き補償を実行する。
なお、上記の例では、水平方向の補間を行った後に、垂直方向の補間を行う例について説明したが、垂直方向の補間を行った後に、水平方向の補間を行ってもよい。
以下では、さらに具体的な、適応的補間フィルタのフィルタ係数を決定する方法について、図面と数式とを用いて説明する。まず、非分離型適応的補間フィルタの場合について説明する。
図10は、映像データに含まれる画像のブロックの概略図である。同図では、黒丸は整数画素の位置、つまり、原画像のサンプリングポイントを表している。白丸は、画素値の補間が必要な小数画素の位置を表している。以下の図には、1/4画素精度を図示しているが、本実施の形態では、例えば、1/2画素、1/4画素、若しくは、1/8画素など、いかなる小数画素精度を用いてもよい。あるいは、垂直方向と水平方向とで異なる小数画素精度であってもよい。
以下の式において、nは小数画素精度を、例えば、n=2は1/2画素精度を、n=4は1/4画素精度を表している。映像データに含まれる画像、及び、メモリ140に格納されるローカル復号画像(参照画像)上での位置は、整数画素精度又は小数画素精度で表される。(x,y)は、各画像上での座標位置を整数画素精度で示し、(nx+p,ny+q)は、各画像上での座標位置を小数画素精度で示す。つまり、小数画素精度で示される整数画素位置(nx,ny)は、整数画素精度で示される(x,y)に一致する。
さらに、Sx,yは、原画像(つまり、映像データのブロック)内の整数画素位置(x,y)での画素値を表す。対応する水平方向及び垂直方向への補間画像内の小数画素位置(nx+p,ny+q)の画素値は、S’nx+p,ny+qで示される。ここで、図10に示すように、小数画素位置は、p=0,…,n−1及びq=0,…,n−1で示される。
なお、(nx+p,ny+q)で表される位置は、画像上での特定の1点を示しているのに対して、(p,q)で表される位置は、画像の一部(すなわち、整数単位範囲)における局所座標上の1点、すなわち、整数画素との相対的な位置を示している。整数画素との相対的な位置とは、1つの整数画素を基準としたときの小数画素の位置である。具体的には、図10に示すSx,yは、整数画素精度では(5,2)で示される位置の画素値を表し、小数画素精度では(20,8)(=(4×5,4×2))で示される位置の画素値を表す。同様に、S’nx+p,ny+qは、小数画素精度では(21,11)(=(4×5+1,4×2+3))で示される位置の画素値を示す。また、S’nx+p,ny+qは、局所座標上では、(1,3)で表される位置の画素値を示している。
本実施の形態の適応的補間フィルタは、原画像を、対応する水平方向及び垂直方向への補間画像へマッピングする線形演算子、つまり、(式1)で定義される。
Figure 2009047917
ここで、fi,j (p,q)は、補間フィルタの離散フィルタ係数であり、例えば、6×6タップフィルタの場合、i=−2,−1,0,1,2,3、及び、j=−2,−1,0,1,2,3である。また、このフィルタ係数は、局所座標上の特定の小数画素位置(p,q)によっても決まる。したがって、図10に示すように、小数画素位置(p,q)ごとに、特定の補間フィルタf(p,q)が定義される。
さらに、補間フィルタは、整数画素位置(p=0かつq=0)でオリジナル値を生成する必要がある。したがって、整数画素位置(0,0)に対する補間フィルタf(0,0)のフィルタ係数fi,j (0,0)は、(式2)に示されるように表される。
Figure 2009047917
ここで、δk,lはクロネッカーのデルタであって、例えば、k=lの場合はδk,l=1、k≠lの場合はδk,l=0である。
変位ベクトル501、502及び503は、Vec=(vx,vy)で表される。その成分であるvxとvyは、小数画素位置を参照している。vx mod=0である変位ベクトル503は、x方向の整数画素位置を指し示す(つまり、x方向の整数画素の平行移動を表す)。vx mod=1,…,(n−1)である変位ベクトル501及び502は、x方向の小数画素位置を指し示す(つまり、x方向の小数画素の平行移動を表す)。同様の定義をy方向にも用いる。
任意の小数画素位置(p,q)のフィルタ係数fi,j (p,q)は、ここでは以下のように決められる。Px,yが、先に復号された参照画像を表し、Vec=(vx,vy)が、小数画素位置(p,q)を指し示す小数画素精度での変位ベクトルを表すとする。このとき、p=vx mod n及びq=vy mod nである。したがって、この変位に対する予測誤差ep,qは、(式3)のように表される。
Figure 2009047917
なお、[[…]]は、演算子の変数より小さい最大の整数値をとるフロア演算子(切り捨て演算子)を示す。変位ベクトルが有効な原画像の範囲にわたり、x及びyにわたって和をとる。この範囲は、変位ベクトルが決められたマクロブロックに対応していてもよい。また、その範囲は、同じ小数画素位置を指し示す変位ベクトル、つまりvx mod n=p及びvy mod n=qの変位ベクトルを有する(1以上の映像に含まれる画像の)いくつか又は全てのマクロブロックをまとめたもの(ただし、連結されていない)であってもよい。
フィルタ係数fi,j (p,q)を、ここでは(式3)の予測誤差を最小にするように決定する。当該技術分野において周知の最適化アルゴリズム、例えば、勾配降下法又は焼きなまし法などで最適化を行ってもよい。しかしながら、この場合、フィルタ係数fi,j (p,q)に対し、(式4)に示されるような、(式3)の偏導関数を計算して得られる連立一次方程式を解くことによって最適フィルタ係数を決定してもよい。
Figure 2009047917
以上のように、非分離型適応的補間フィルタの場合、予測誤差を最小とするように、すなわち、予測の精度が高くなるように、フィルタ係数を決定することができる。
次に、分離型適応的補間フィルタの場合について説明する。
2次元補間フィルタf(p,q)が分離型であれば、2つの別個の1次元フィルタg(p,q)とh(p,q)との合成に書き換えてもよい。
Figure 2009047917
通常、水平補間フィルタg(p,q)は垂直小数画素位置qに依存しない、つまり、g(p,q)=g(p)であり、さらに、垂直補間フィルタは整数画素行の補間結果に影響を及ぼさない、つまり、hj (p,0)=δj,0と仮定する。
この場合、2次元補間は2ステッププロセスと考えることができる。第1ステップにおいて、「整数画素行」の小数画素位置における画素値を決定するように、水平補間が行われる。第2ステップでは、第1ステップで決定された画素値に垂直補間を行うことにより小数画素列の画素値が決定される。このように仮定すると、g(p)とh(p,q)とのフィルタ係数は(式3)〜(式5)から容易に決定できる。
以上のように、適応的に補間フィルタの特性及びフィルタ係数を決定することで、予測精度を向上させることができる。これにより、映像符号化装置100は、精度の高い動き補償に基づいて予測誤差を算出するので、予測誤差を小さくすることができ、符号化効率を向上させることもできる。
しかしながら、映像復号装置が正しく復号するためには、決定したフィルタの特性及びフィルタ係数を、映像復号装置側に伝送しなければならない。適応的補間フィルタの特性及びフィルタ係数を伝送するとビットレートが増加する。このため、特に、空間解像度が小さい映像シーケンスに非分離型補間フィルタを適用する場合には、全体的な符号化効率が、オーバーヘッド情報によって低減する恐れがある。
したがって、符号化効率を向上させる、すなわち、副次的なオーバーヘッド情報を低減するために、ある画像の統計特性に対称性があると仮定してもよい。
例えば、対応する整数画素位置から対象小数画素位置までの距離が等しい場合、フィルタ係数は等しいと考えられる。しかしながら、エイリアシングなどの信号歪みのため、又は、変位検出のエラーのため、全ての映像シーケンスに対して対称性を仮定することは有効でない可能性がある。それゆえ、このことは、このような信号統計へのフィルタの限定的な適用により、符号化効率ゲインの損失につながるかもしれない。
したがって、適応的補間フィルタを適用する普遍的かつ効果的な方法と、適応的補間フィルタの要素をシグナリングする効果的な方法とが必要である。
本実施の形態によると、異なるフィルタタイプ(分離型/非分離型)、フィルタ対称性、フィルタ長、及び、小数画素位置によるフィルタ係数の差分符号化(つまり、フィルタ係数の予測符号化)の使用を含めた適応的補間フィルタを適用する普遍的な方法が提供される。
(フィルタの対称性及び限定の活用)
以下に、動き補償予測部160がフィルタ特性を決定する際に、フィルタの対称性及び/又は限定を活用する処理について説明する。まず、対称性の利用の概略について、簡単のため、1次元の水平方向の補間フィルタを一例として説明する。
動き補償予測部160は、上述のように決定されたフィルタ特性に従ってフィルタ係数を決定する際に、対称性を利用する。対称性には、補間フィルタのフィルタ係数そのものが対称である場合と、2つの小数画素位置が互いに対称な補間フィルタを有する場合とがある。
例えば、動き補償予測部160は、補間フィルタのフィルタタイプが対称である、すなわち、補間フィルタのフィルタ係数そのものが対称である場合、補間フィルタの複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数を決定する(図11参照)。あるいは、動き補償予測部160は、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素のうち、1つの小数画素の補間フィルタの複数のフィルタ係数を決定する(図12参照)。
図11は、対称なフィルタ係数を有する補間フィルタの一例を示す図である。同図は、1/2画素位置(バツ印)の画素値を算出するための1次元の6タップフィルタのフィルタ係数と、画素位置との関係を示す。なお、同図において、黒丸は、整数画素位置を示す。
図11に示すように、1/2画素位置(p,q)=(2,0)を中心として、周囲の6個の整数画素位置に重み付けるフィルタ係数は、左右に対称となる。すなわち、各画素位置(i=−2,−1,0,1,2,3)の画素値に重み付けるフィルタ係数gi (2,0)は、g0 (2,0)=g1 (2,0)、g-1 (2,0)=g2 (2,0)、g-2 (2,0)=g3 (2,0)の関係を有する。
したがって、動き補償予測部160は、6個のフィルタ係数のうち3個のフィルタ係数(例えば、g-2 (2,0)、g-1 (2,0)、g0 (2,0)のみ)を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。
さらに、対称性を利用しない場合は、映像復号装置200に6個のフィルタ係数の値を送信しなければならなかったのに対して、対称性を利用する場合は、3個のフィルタ係数の値と、対称であることを示す情報とを送信するだけでよく、符号量を削減することができる。
図12は、2つの小数画素位置の補間フィルタが対称となる一例を示す図である。図12(a)は、1/4画素位置(バツ印)の画素値を算出するための1次元の6タップフィルタのフィルタ係数と、画素位置との関係を示す。図12(b)は、3/4画素位置(バツ印)の画素値を算出するための1次元の6タップフィルタのフィルタ係数と、画素位置との関係を示す。各図において、黒丸は、整数画素位置を示す。
図12(a)と図12(b)とに示すように、1/4画素位置(p,q)=(1,0)の画素値を算出するための補間フィルタg(1,0)と、3/4画素位置(p,q)=(3,0)の画素値を算出するための補間フィルタg(3,0)とは、互いに水平方向対称である。すなわち、g-2 (1,0)=g3 (3,0)、g-1 (1,0)=g2 (3,0)、g0 (1,0)=g1 (3,0)、g1 (1,0)=g0 (3,0)、g2 (1,0)=g-1 (3,0)、及び、g3 (1,0)=g-2 (3,0)が成立する。
したがって、対称性を利用しない場合、動き補償予測部160は、2つの小数画素位置に対して12個のフィルタ係数を決定しなければならないのに対して、対称性を利用する場合、動き補償予測部160は、6個のフィルタ係数(例えば、1/4画素位置の補間フィルタg(1,0)のフィルタ係数)を決定するだけでよい。これにより、フィルタ係数の決定に関わる処理量を削減することができる。また、映像復号装置200に送信しなければならない符号量を削減することができる。
以上のように、動き補償予測部160は対称性を利用することで、係数の決定に関わる処理量を削減し、かつ、送信すべき符号量を削減することができる。
続いて、さらに詳細な対称性の利用の処理について図面と数式とを用いて説明する。
対称及び非対称補間フィルタを適用することにより、フィルタ係数を伝送することでビットストリームに付け加えられるオーバーヘッド情報量を制御することができる。例えば、高解像度シーケンスの場合、非対称フィルタを伝送することが、信号統計にフィルタを最適に適用するためには有益かもしれないが、低解像度シーケンスの場合、オーバーヘッド情報量を削減するために対称フィルタを適用する必要があるかもしれない。各時間対称性を活用し、異なる小数画素位置で、対応するフィルタが結合して最適化される。これは、入力信号にエイリアシングが含まれる場合、又は、間違った動き検出のために、予測効率を減少させるかもしれない。なお、シグナリングオーバーヘッドに対して、動き補償予測の精度を最適化するために、対称及び非対称フィルタの切換は小数画素位置に依存する方式で行うことができる。
図13A〜図13Fは、n=4、つまり、1/4画素精度の場合の適応的補間フィルタの対称特性の概略図である。各図では、整数画素及び小数画素の位置をそれぞれ四角及び丸で示している。また、小数画素位置を文字a,b,…,oで示す。網掛けを使用して、異なる小数画素位置における補間フィルタ間の対称性を図示する。網掛けされた小数画素位置におけるフィルタ係数は、以下のように適した対称演算を適用することによって得ることができる。
図13Aは、垂直軸(点線)に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、(式6)で示される関係を有する。
Figure 2009047917
つまり、小数画素位置(p、q)に固有の補間フィルタのフィルタ係数は、対称な小数画素位置(n−p,q)に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、垂直軸に対する反転、つまり、図12に示すように(i,j)→(1−i,j)である。
このようにして、図13Aに異なる網掛けで示すように、小数画素位置aとc、eとg、iとk、mとoがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、垂直軸を基準として小数画素位置aの補間フィルタをミラーリングしたものが、小数画素位置cの補間フィルタである。
なお、ミラー軸(図13Aの点線)上の小数画素位置(図13Aのb,f,j,n)に固有の補間フィルタのフィルタ係数は、図11に示すように、それら自身に対して対称、つまり、fi,j (n/2,q)=f1-i,j (n/2,q)である。このようにして、決定しなければならない独立係数の数を減らしている。
図13Bは、水平軸(点線)に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、(式7)で示される関係を有する。
Figure 2009047917
つまり、小数画素位置(p,q)に固有の補間フィルタのフィルタ係数は、対称な小数画素位置(p,n−q)に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、水平軸に対する反転、つまり、図12に示すように、(i,j)→(i,1−j)である。
このようにして、図13Bに異なる網掛けで示すように、小数画素位置dとl、eとm、fとn、gとoがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、水平軸を基準として小数画素位置dの補間フィルタをミラーリングしたものが、小数画素位置lの補間フィルタである。
なお、ミラー軸(図13Bの点線)上の小数画素位置(図13Bのh,i,j,k)に固有の補間フィルタのフィルタ係数は、図11に示すように、それら自身に対して対称、つまり、fi,j (p,n/2)=fi,1-j (p,n/2)である。このようにして、決定しなければならない独立係数の数を減らしている。
図13Cは、対角軸(点線)に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。この場合、対称な補間フィルタのフィルタ係数は、(式8)で示される関係を有する。
Figure 2009047917
つまり、小数画素位置(p,q)に固有の補間フィルタのフィルタ係数は、対称な小数画素位置(q,p)に固有の補間フィルタのフィルタ係数から、適切な対称演算を適用することで得ることができる。ここでいう対称演算は、対角軸に対する反転、つまり、図12に示すように、(i,j)→(j,i)である。
このようにして、図13Cに異なる網掛けで示すように、小数画素位置aとd、bとh、cとl、fとi、gとm、kとnがそれぞれ対称関係にあり、対称関係にある小数画素位置の一方のフィルタ係数を決定することで、他方のフィルタ係数も決定される。例えば、対角軸を基準として小数画素位置aの補間フィルタをミラーリングしたものが、小数画素位置dの補間フィルタである。
なお、ミラー軸上(図13Cの点線)の小数画素位置(図13Cのe,j,o)に固有の補間フィルタのフィルタ係数は、それら自身に対して対称、つまり、図11に示すように、fi,j (p,p)=fj,i (p,p)である。このようにして、決定しなければならない独立係数の数を減らしている。
図13D及び図13Eは、上述したミラー対称を組み合わせたものである。図13Dは、垂直軸及び水平軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図13Dに異なる網掛けで示すように、小数画素位置aとc、dとl、eとgとmとo、fとn、iとkがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか1つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。
図13Eは、垂直軸、水平軸及び対角軸に対して対称な補間フィルタを適用する場合の小数画素位置の対称関係を示す図である。図13Eに異なる網掛けで示すように、小数画素位置aとcとdとl、bとh、eとgとmとo、fとiとkとnがそれぞれ対称関係にあり、対称関係にある小数画素位置のいずれか1つのフィルタ係数を決定することで、残りのフィルタ係数も決定される。
決定され、かつ、シグナリングされなければならない独立フィルタ係数の数を減らすために、上述した各対称性、又は、それらの組み合わせを用いてもよい。このようにして、決定プロセスのロバスト性を改善し、シグナリングオーバーヘッドを低減する。
なお、上記いずれかの対称性を、必ずしも全ての小数画素の固有の補間フィルタに適用する必要はない。むしろ、上述した各対称性は、適応的補間フィルタの小数セットのみ、例えば、p≠qである非対角位置などの特定の小数画素位置のみに適用される。さらに、小数画素の固有の補間フィルタの個々のペアのみが、上述した対称関係のいずれかに一致する対称関係にあるとみなしてもよい。図13Fに、この一例を示す。
図13Fは、対称関係の一部のみを利用する場合の小数画素位置の対称関係を示す図である。同図では、小数画素位置aとcの補間フィルタ、及び、小数画素位置kとnの補間フィルタが、対称である。
対称性とは別に、適応的補間フィルタの独立フィルタ係数の数を減らすためにその他の限定を用いてもよい。例えば、2次元の適応的補間フィルタを整数画素列(p=0)及び/又は整数画素行(q=0)の1次元の適応的補間フィルタとしてもよい。この場合、適応的補間フィルタは(式9)及び/又は(式10)となる。
Figure 2009047917
Figure 2009047917
その他よく用いられる限定には、分離性の仮定、つまり、2つの1次元の補間フィルタに分解できる2次元の補間フィルタへの限定がある。分離型適応的補間フィルタは(式11)で示される。
Figure 2009047917
ここで、gi (p,q)及びhj (p,q)は、それぞれ水平方向及び垂直方向の1次元補間フィルタのフィルタ係数である。6×6タップ適応的補間フィルタの場合、独立フィルタ係数の数は、非分離型フィルタの小数画素位置につき6×6=36個から、2つの1次元フィルタの小数画素位置につき6+6=12個まで減少する。
また、水平方向及び/又は垂直方向の1次元補間フィルタが小数画素の平行移動に対して不変であるとみなすことによって、独立フィルタ係数の数を減らしてもよい。したがって、(式12)及び/又は(式13)となる。
Figure 2009047917
Figure 2009047917
ここで、gi (p)及びhj (p)はそれぞれ、垂直方向及び水平方向の小数画素位置には関係しない、水平方向及び垂直方向の1次元補間フィルタのフィルタ係数である。
なお、上述した限定もまた、シグナリングオーバーヘッドを減少させるために、上述した対称特性だけでなく互いに組み合わせてもよい。特に好ましい上述の限定の組み合わせは、整数画素行及び列の1次元補間の分離型適応的補間フィルタと、垂直方向の平行移動に不変な水平補間フィルタとの組み合わせである。すなわち、(式14)で示される補間フィルタである。
Figure 2009047917
この形式のフィルタは、以下のようにして推定される。第1ステップで、入力映像データから水平方向の補間フィルタを決定し、決定された水平方向の補間フィルタを適用する。そして、第2ステップで水平方向の補間された映像データから垂直方向の補間フィルタを決定する。
この方法は、図14A及び図14Bに示される。図14Aは、分離型適応的補間フィルタの水平方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図14Aにおいて、八角形は小数画素位置a、b、及びcを示し、各位置のフィルタは、第1ステップで計算される。
図14Bは、分離型適応的補間フィルタの垂直方向の補間フィルタを適用する場合の小数画素位置の一例を示す図である。図14Bに示す丸は、その他の小数画素位置を示し、第2ステップで補間フィルタが決定される。
図14Cは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置a及びcにおいて、水平方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、垂直軸を基準にして小数画素位置aの補間フィルタをミラーリングしたものが、小数画素位置cの補間フィルタである。
図14Dは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係の一例を示す図である。同図では、小数画素位置e及びmにおいて、垂直方向に対称な対称フィルタを含む分離型適応的補間フィルタの一例を示す。すなわち、水平軸を基準にして小数画素位置eの補間フィルタをミラーリングしたものが、小数画素位置mの補間フィルタである。
図14Eは、分離型適応的補間フィルタを適用する場合の小数画素位置の平行移動の関係の一例を示す図である。同図では、例えば、小数画素位置dの垂直補間フィルタhj (q)(式12参照)を水平方向に平行移動させた、すなわち、小数画素位置dの垂直補間フィルタを小数画素位置e、f及びgにも適用する例を示している。小数画素位置h、i、j、kとl、m、n、oとの関係についても同様である。
図14Fは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。図14Fは、図14Cと図14Dと図14Eとの組み合わせであり、適応的補間フィルタは、4つの独立小数画素位置の固有1次元補間フィルタからのみ構成される。
図14Gは、分離型適応的補間フィルタを適用する場合の小数画素位置の対称関係と平行移動の関係との一例を示す図である。同図では、水平方向に対称な対称フィルタを、垂直方向に対称な対称フィルタにも兼用した場合を示す。すなわち、小数画素位置aと小数画素位置dとは回転対称の関係にある場合を示す。小数画素位置aとdとは共に、整数画素から1/4画素の位置にあるため、補間フィルタを兼用することが可能になる。同様に、小数画素位置bとhとは共に、整数画素から1/2画素の位置にあるため、補間フィルタを兼用することが可能になる。
さらに、図14Eに示したように、小数画素位置dの補間フィルタを小数画素位置e、f及びgにも適用することができる。小数画素位置h、i、j、kと、l、m、n、oとの関係についても同様である。
これにより、図14Gに示す例では、例えば、小数画素位置aとbとの2つの小数画素位置の1次元補間フィルタを決定するだけでよい。
ここで、映像復号装置200が図6Bに示すフローチャートに従って、図14Gに示す例における補間フィルタを復号及び決定する場合について説明する。例えば、まず、小数画素位置aの補間フィルタを決定する場合について説明する。
小数画素位置aの補間フィルタは、図12(a)に示すようにフィルタ係数が対称ではないので(S301でNo)、動き補償予測部260は、補間フィルタの全フィルタ係数を復号及び決定する(S303)。
小数画素位置aは、小数画素位置cと対称関係にあるので、小数画素位置aの補間フィルタをミラーリングすることで、小数画素位置cの補間フィルタを決定する。さらに、小数画素位置aは、小数画素位置dと回転対称の関係にあるので、小数画素位置aの補間フィルタを回転することで、小数画素位置dの補間フィルタを決定する。小数画素位置cと小数画素位置lとも回転対称の関係にあるので、同様にして小数画素位置lの補間フィルタも決定される。さらに、小数画素位置dと小数画素位置eとは、平行移動の関係にあるので、小数画素位置dの補間フィルタを平行移動させることで、小数画素位置eの補間フィルタを決定する。同様にして、小数画素位置f、g、m、n及びoの補間フィルタも決定する(S304)。
ここで、動き補償予測部160は、まだ小数画素位置bの補間フィルタが決定されていないので(S305でNo)、小数画素位置bの補間フィルタを決定する。小数画素位置bの補間フィルタは、図11に示すようにフィルタ係数が対称であるので(S301でYes)、補間フィルタのフィルタ係数の半分のみを復号し、復号したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する(S302)。
小数画素位置bは、小数画素位置hと回転対称の関係にあるので、小数画素位置bの補間フィルタを回転することで、小数画素位置hの補間フィルタを決定する。さらに、小数画素位置hと小数画素位置iとは、平行移動の関係にあるので、小数画素位置hの補間フィルタを平行移動させることで、小数画素位置iの補間フィルタを決定する。同様にして、小数画素位置j及びkの補間フィルタも決定する(S304)。
以上のようにして、全部の補間フィルタの復号及び決定が完了したので(S305でYes)、この補間フィルタを用いて小数画素精度の動き補償を実行する。
なお、図6Bのフローチャートでは、1つの小数画素位置の補間フィルタを決定した場合に、当該小数画素位置と対称関係にある補間フィルタを全て決定する手順を示したが、予め定められた小数画素位置の順(例、a→b→…→o)に従って補間フィルタを決定してもよい。
この場合、対象となる小数画素位置が他の小数画素位置と対称関係にあるかが判定され、対称関係がない場合は、補間フィルタのフィルタ係数を決定する。対称関係があり、かつ、対称関係を有する他の小数画素位置の補間フィルタが既に決定されている場合は、ミラーリング、平行移動、又は、回転移動によって補間フィルタを決定する。なお、フィルタ係数を決定する際に、補間フィルタ自体が対称であるか否かが判定され、対称である場合は、補間フィルタの半分のフィルタ係数のみを決定し、決定したフィルタ係数をミラーリングすることで残りのフィルタ係数を決定する。
以上の処理を、小数画素位置の順(例、a→b→…→o)に行うことで、各小数画素位置の補間フィルタが決定される。
以上のように、動き補償予測部160は、上述の対称性及び限定、又は、それらの組み合わせのいずれかを用いることにより、補間フィルタの特性を必要に応じて設定する。これにより、例えば、独立フィルタ係数の数を減らせる可能性を利用して、できる限り予測誤差を低減した正確な補間フィルタと、独立フィルタ係数を多数符号化することにより生じるシグナリングオーバーヘッドとの間のトレードオフを最適化することができる。
通常、フィルタタイプを適応的に設定し、さらに、フィルタ係数も適応的に決定する場合、映像復号装置に伝送しなければならない符号量が非常に多くなる。これに対して、上述したように、小数画素位置の対称性と、補間フィルタ自体のフィルタ係数の対称性との2つの対称性を利用することで、決定及び符号化しなければならないフィルタの数を大幅に削減することができる。これにより、符号量が大幅に減少するので、高い予測効率を保ちつつ、符号化効率を高めることができる。
そのために、例えば、フィルタ特性を、画像内容、特に画像内に存在する動きの量に従って設定してもよい。また、フィルタ特性を、空間画像解像度に従って、又は、達成される圧縮率に応じて設定してもよい。例えば、フィルタ特性の候補のうちのどれが最適な圧縮率を提供するかに応じて、有限数のフィルタ特性の候補からフィルタ特性を選択してもよい。
また、動き補償予測部160は、フィルタ特性を、上述したように自動的に、又は、ユーザに最も適切なフィルタ特性を選択させるように手動で、設定してもよい。フィルタ特性の設定は、1つの動画につき1回だけ、又は、スライスごと又はシーケンスごとに、繰り返し行ってもよい。しかしながら、本発明の範囲内で、フィルタ特性は、様々な程度で頻繁に設定されてもよい。
(シグナリング)
以下に、エントロピー符号化部190が生成する符号化信号、すなわち、出力ビットストリームを映像復号装置(デコーダ)に伝送する(シグナリングする)処理について説明する。
本実施の形態の映像符号化装置100(エンコーダ)では、フィルタ特性(フィルタタイプ、タップ数など)とフィルタ係数とが固定的ではないので、デコーダが入力された符号化映像データを復号できるように、フィルタ係数をシグナリングしなければならない。フィルタ係数セット内にフィルタ特性を設定するため、冗長性を活用することによりフィルタ係数を符号化映像データとともに符号化すれば、符号化効率を最適化できる。
例えば、別個の小数画素位置に対する対称補間フィルタは一度だけ符号化すればよい。同様に、自分自身で対称性があるフィルタ係数を有する補間フィルタは、先に符号化されたフィルタ係数からは再構成できないフィルタ係数のみを符号化することによって効率よく符号化できる。より一般的には、独立フィルタ係数の数を減らす補間フィルタのどの限定も、当該限定に従って先に符号化された係数からは得られないそれらのフィルタ係数だけを符号化することによって活用できる。例えば、2次元補間フィルタ自身の多数の係数を符号化するよりも2つの1次元補間フィルタのフィルタ係数を符号化することによって、分離形補間フィルタを符号化することが好ましい。
いずれの場合でも、シグナリングオーバーヘッドの低減のために活用されるフィルタ特性は、デコーダにもシグナリングされる必要がある。これは、明示的又は暗示的なシグナリング方法のいずれか一方で実現されてもよい。
明示的なシグナリングとは、フィルタ特性が符号化映像データとともに明示的に符号化されることを意味する。これにより、シグナリングオーバーヘッドが増加する代償として、所望の特性を設定することに対する最も高い柔軟性が与えられる。
一方、暗示的なシグナリングとは、エンコーダがどのようにフィルタ特性を選択したのかに関する予備知識に基づいて、デコーダがフィルタ特性に関する情報を得なければならないということを意味する。例えば、エンコーダは、対称補間フィルタのペアそれぞれの1つのみの補間フィルタを伝送してもよい。また、デコーダは、伝送されなかった補間フィルタは全て、伝送されたフィルタのうち対応する1つと対称性があると判断してもよい。シグナリングの本形式ではエンコーダとデコーダとの間で実際に用いる可能性がある対称性について取り決めが必要なため、柔軟性が低いことは明らかである。しかしながら、シグナリングオーバーヘッドは最小に抑えられる。
以下に、具体的なシグナリングの例をスライスレベルの典型的なシンタックスエレメントとともに示す。これらの例は、説明のためであって、本発明の範囲を限定するものではない。
第1のシグナリング例によると、対称フィルタを適用するか否かをシグナリングするために、フィルタタイプごとに1つのフラグのみが必要とされる。フィルタタイプ(例えば、分離型又は非分離型)ごとに、エンコーダ及びデコーダによって確定かつ識別される1つの固有の対称パターンがサポートされる。1つの対称パターンしかサポートされないので、このアプローチは、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するような限定された柔軟性を提供する。
図15は、本実施の形態のシグナリングを実行するための第1のシンタックスエレメントを示す図である。同図は、一例として、1/4画素精度で、かつ、6タップフィルタ長での予測時において、非分離型及び分離型フィルタの対称性をシグナリングするための、スライスレベルの典型的なシンタックスエレメントを示し、フィルタの対称性とフィルタとを暗示的にシグナリングする場合を示している。
ここで、apply_adaptive_filterは、固定フィルタ(非適応的フィルタ)の場合は0で、適応的フィルタの場合は1である。slice_filter_type(スライスレベルの適応的フィルタ)は、非分離型フィルタの場合は0で、分離型フィルタの場合は1である。apply_symmetric_filterは、非対称フィルタの場合は0で、対称フィルタの場合は1である。use_all_subpel_positionsは、小数画素位置全てを適応的フィルタで算出しない場合は0で、小数画素位置全てを適応的フィルタで算出する場合は1である。positions_patternは、小数画素位置をシグナリングするバイナリマスクであって、MPEG−4 AVC/H.264の固定フィルタの場合は0で、適応的フィルタの場合は1で適応的フィルタが適用される。
max_sub_pel_posの値は、apply_symmetric_filterの値によって決まる。非対称フィルタ(すなわち、apply_symmetric_filter=0)の場合、max_sub_pel_posは、小数画素位置の総数に等しい(例えば、1/4画素動きベクトル解像度の場合:max_sub_pel_pos=15)。対称フィルタ(すなわち、apply_symmetric_filter=1)の場合、max_sub_pel_posは、活用する対称量に応じて、小数画素位置の総数より少なくなる。
対称フィルタの場合、すなわち、apply_symmetric_filterが1であれば、デコーダは欠落しているフィルタ係数を伝送されたフィルタ係数から復元する。
以上のように、第1のシグナリングシンタックスによれば、補間フィルタのフィルタタイプが、適応的/非適応的、分離型/非分離型、及び、対称/非対称のいずれであるかをそれぞれ示すためのフラグが用意されている。さらに、フィルタタイプが適応的であるか非適応的であるかを小数画素位置ごとに定めることができる。
第2のシグナリング例は、フィルタ特性の明示的なシグナリングを参照する。この例では、フィルタ係数のオーバーヘッド・ビットレートと、結果として生じる予測効率とのトレードオフを制御するための高い柔軟性を提供するために、対称性の明示的なシグナリングを用いる。全種類の対称性がデコーダにシグナリングされる。この概念では、対応する対称性をシグナリングするためのオーバーヘッド・ビットレートが増加することになってもよい。
第2のシグナリング例によると、フィルタIDが各別個のフィルタに割り当てられる。これにより、全種類の対称性とシグナリングの効率的な方法とが可能になる。図16A〜図16Cでは、選択した対称パターンに対して異なるフィルタを伝送する必要がある。
図16Aは、小数画素位置における対称性の一例を示す図である。同図には、同じ形状(八角形又は丸)かつ同じ網掛けの小数画素位置の補間フィルタは、対称フィルタであることを示している。
図16Bは、フィルタIDが割り当てられた小数画素位置の補間フィルタの一例を示す図である。同図は、図16Aに示すような対称性を有する小数画素位置の補間フィルタに対して、フィルタIDを割り当てた例を示している。すなわち、図16Bに示すように、aからoまでの各小数画素位置へ、対応するフィルタIDが伝送される(図16Bでは、{1,2,1,3,4,5,6,7,8,9,10,3,4,5,6})。なお、0の値は、MPEG−4 AVC/H.264などの非適応的フィルタである。
例えば、フィルタID1は、フィルタ係数{coeff1,coeff2,coeff3,coeff4,coeff5,coeff6}で小数画素位置a及びcに割り当てられる。小数画素位置aではフィルタを直接適用する。一方で、小数画素位置cではフィルタをミラーして(={coeff6,coeff5,coeff4,coeff3,coeff2,coeff1})適用する。
フィルタをミラーする必要があるか否かを判断するために、デコーダは、スキャン中に対称フィルタIDが初めて出現するところを見つけなければならない。例えば、小数画素位置lにフィルタID3を割り当て、フィルタID3が小数画素位置dに初めて出現したとする。次の整数画素位置(又は、第1ステップで算出された小数画素位置(八角形))までの距離に応じて、位置lにおけるフィルタは位置dにおけるフィルタをミラーしたフィルタでなければならないことは明らかである。
図17は、本実施の形態のシグナリングを実行するための第2のシンタックスエレメントの抜粋を示す図である。同図には、一例として、第2のシグナリング例における、1/4画素精度で、かつ、6タップフィルタ長での予測時において、フィルタの対称性とフィルタとを明示的にシグナリングする場合の典型的なシンタックスエレメントを示す。なお、本例では、シグナリングはスライスレベルで行われるが、本シグナリングは、シーケンス又はピクチャレベルでも可能である。さらに、シーケンスレベルでフィルタIDを伝送すること(対称パターンはシーケンス全体を通して同じになる)、及び、割り当てられたフィルタをピクチャ又はスライスレベルで更新することも可能である。なお、本発明を逸脱しない範囲で、その他の組み合わせも考えられる。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。slice_filter_type(スライスレベル適応的フィルタ)は、非分離型フィルタの場合は0で、分離型フィルタの場合は1である。filter_id[sub_pel]は、対応するフィルタを各小数画素位置に割り当てる。filter_length[filter_num]は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を処理する。max_filter_numは、伝送しなければならないフィルタの最大数(図16Bでは10)をシグナリングし、フィルタIDの最大値と等しくなる。
以上のように、第2のシンタックスエレメントによれば、小数画素位置ごとに割り当てられたフィルタIDをシグナリングすることができ、さらに、伝送しなければならないフィルタの最大数をシグナリングすることができる。
第3のシグナリング例によると、上述したシグナリングに加えて、さらに、図16Cに示すように、各小数画素位置の対称又は非対称を示すビットマスク(対称マスク)を伝送することが可能である。図16Cは、小数画素位置の補間フィルタごとに対称性の利用の可否を示す対称マスクの一例を示す図である。対称マスクの値が0であることは、その小数画素位置に対して、新たなフィルタが伝送されたことをシグナリングする。対称マスクの値が1であることは、その小数画素位置に対して新たなフィルタが伝送されなかったことをシグナリングする。
図16Cに示す例では、対称マスク({0,0,1,0,0,0,0,0,0,0,0,1,1,1,1})に加えて、10個のフィルタ(対称マスクが0である小数画素位置の個数のフィルタ)を伝送する必要がある。これらのフィルタは、小数画素位置aから小数画素位置oへの昇順で伝送される。
例えば、図16Cに示すように、対称マスクによって小数画素位置cにおいて値1がシグナリングされれば、デコーダは位置aに割り当てられたフィルタのミラーバージョンを使用しなければならないと識別できる。位置lの場合は、位置dのフィルタのミラーバージョンを適用しなければならない。
本概念を実現するには、ある小数画素位置(例えば、c→a,l→d,m→e,…)において対称性がシグナリングされるのであれば、エンコーダとデコーダと共に同じフィルタペアを使用しなければならない。このことにより、設計の柔軟性は定義済みの対称ペアに限定されるが、対称性の明示的なシグナリングと比較してオーバーヘッドは低減する。それであっても、第1のシグナリング例で説明した対称性の暗示的なシグナリングよりも柔軟性に優れている。
第3のシグナリング例の典型的なシンタックスを図18に示す。図18は、本実施の形態のシグナリングを実行するための第3のシンタックスエレメントの抜粋を示す図である。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。slice_filter_type(スライスレベル適応的フィルタ)は、非分離型フィルタの場合は0で、分離型フィルタの場合は1である。symmetry_maskは、対称性をシグナリングするバイナリパターンであり、そのバイナリパターンの最上位ビット(MSB:Most Significant Bit)信号が小数画素位置aを反映し、最下位ビット(LSB:Least Significant Bit)信号が小数画素位置oを反映する。filter_length[filter_num]は、フィルタ長をシグナリングし、上述したようなフィルタの対称性を対処する。
max_filter_numの値は、伝送しなければならないフィルタ数(ここでは、10)を指定し、max_filter_numは、15からsymmetry_maskのシグナリングされた対称の数(図16Cでは、5)を引いたものと等しくなる。
以上のように、第3のシンタックスエレメントによれば、対称マスクを設定することで、どの小数画素位置の補間フィルタが対称フィルタであるかを容易に判別することができる。
第4のシグナリング例では、上述したフィルタ特性を(式6)〜(式14)とともに参照する。本シグナリング例の典型的なシンタックスの抜粋を図19に示す。
図19は、本実施の形態のシグナリングを実行するための第4のシンタックスエレメントの抜粋を示す図である。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。filter_typeは、非分離型フィルタの場合は0、分離型フィルタの場合は1(式11参照)。水平の平行移動に不変な垂直補間フィルタの分離型フィルタの場合は2(式12参照)、垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は3(式13参照)、整数画素行/列の1次元補間かつ垂直の平行移動に不変な水平補間フィルタの分離型フィルタの場合は4(式14参照)である。
symmetry typeは、非対称フィルタの場合は0、水平対称フィルタの場合は1(式6参照)、垂直対称フィルタの場合は2(式7参照)、対角対称フィルタの場合は3(式8参照)、p≠qの対角対称フィルタの場合は4(p≠qの場合の式8参照)である。full_pel_row_column_interpolation_typeは、2次元補間の場合は0、整数画素列の1次元補間の場合は1(式6参照)、整数画素行の1次元補間の場合は2(式7参照)、整数画素列及び整数画素行の1次元補間の場合は3である。filter_length[filter_num]は、フィルタ長をシグナリングする。filter_coefには、量子化されたフィルタ係数が含まれる。max_filter_numは、伝送されたフィルタタイプ及び対称性から決定されるフィルタの数である。
本発明の実施の形態によると、非分離型と分離型フィルタとの切換は、小数画素位置に依存して行うことが可能である。全体的な動きの場合、1つのピクチャ内の大部分の動きベクトルは、1つの特定の小数画素位置を指す。したがって、対称性を活用せずに非分離型フィルタを適用することによって、この小数画素位置に対して最も高い予測効率を得ることが有益である。その他の小数画素位置全てに対しては(ローカルな動きの場合)、低レベルでフィルタリングする複雑性だけでなくオーバーヘッド・ビットレートも維持するためだけに分離型フィルタを適用することが効果的であると考えられる。
このような分離型及び非分離型フィルタの小数画素位置に依存したシグナリングは、シーケンスレベル(SPS)、ピクチャレベル(PPS)、スライスレベル、マクロブロックレベルに至るまで行うことが可能である。
以下の第5のシグナリング例は、ひとつの非分離型フィルタ、いくつかの分離型フィルタ、及び非分離型フィルタの位置を含むシンタックスを示している。非分離型フィルタを2以上伝送することも可能である点に留意されたい。
図20は、本実施の形態のシグナリングを実行するための第5のシンタックスエレメントの抜粋を示す図である。
ここで、apply_adaptive_filterは、固定フィルタの場合は0で、適応的フィルタの場合は1である。pos_of_non_sep_filterは、非分離型フィルタを適用する小数画素位置をシグナリングし、つまり、小数画素位置aの場合は0で、小数画素位置oの場合は15であり、その一方で、分離型フィルタをその他の小数画素位置全てに適用する。filter_coef_non_sepには非分離型フィルタひとつの係数が含まれる。filter_coef_sepには、1/4画素予測精度の場合、分離型フィルタ14個分の係数が含まれる。
(差分符号化)
非対称フィルタの場合、オーバーヘッドのデータ量を削減するため、小数画素位置に応じて、フィルタ係数の差分符号化を適用することができる。この考えでは、フィルタを信号統計へ最適化することを可能にするため非対称フィルタを算出するが、ある小数画素位置におけるフィルタ係数の類似性を活用し、それらの位置におけるフィルタ係数の差分符号化を適用して、オーバーヘッドのデータ量を削減する。このように、フィルタは同時に最適化されず、予測効率の損失もない。
例えば、動き補償予測部160は、内部のメモリ161に直前のスライス又はピクチャのフィルタ係数などを格納させる。そして、動き補償予測部160は、内部に備える差分算出部(図示せず)を用いて、メモリ161に保持されたフィルタ係数と、新たに決定したフィルタ係数との差分を算出し、算出した差分のみをエントロピー符号化部190に供給する。なお、差分の対象となるフィルタ係数は、同一画素位置の補間フィルタのフィルタ係数が望ましい。同一画素位置の補間フィルタの方が、相関が高いことが多いためである。
なお、メモリ161に保持させるフィルタ係数は、予め定められたデフォルトの補間フィルタのフィルタ係数でもよい。デフォルトの補間フィルタは、例えば、非適応補間フィルタとして用いられるフィルタである。
例えば、分離型フィルタの場合、シグナリングオーバーヘッド量は、垂直方向の補間フィルタのフィルタ係数hj (p,q)((式11)参照)を、(式15)に示すように水平方向に隣接する補間フィルタへの偏差のみという観点で伝送することによって、削減されると考えられる。
Figure 2009047917
または、(式16)に示すように、対応する整数画素列の補間フィルタhj (0,q)への偏差という観点で、垂直方向の補間フィルタのフィルタ係数hj (p,q)を伝送する。
Figure 2009047917
このように、垂直方向の1次元補間フィルタは、水平小数画素の平行移動に対して「ほぼ」不変である可能性が高いという事実を活用する。ゆえに、整数画素行に対応するフィルタ係数のみをそのまま伝送する必要があり、小数画素行のフィルタ係数は差分法で符号化される。
同様に、フィルタ係数の差分符号化を、上述した適応的補間フィルタの限定及び対称性のいずれかに適用する。図12に示すような2つの「ほぼ」対称な小数画素固有補間フィルタの場合、それらのうち一方だけをそのまま符号化し、他方は、第1フィルタの対応係数に対する個々のフィルタ係数の差分のみを差分符号化する。例えば、垂直軸に対して垂直な場合((式6)参照)は、フィルタ係数の差分は(式17)となる。
Figure 2009047917
また、同様に、図11に示すような自分自身で「ほぼ」対称なフィルタ係数を有する小数画素固有補間フィルタは、係数の前半部分(つまり、垂直軸に対して対称な場合にはi≦0の係数、(式6)参照)はそのまま符号化し、(式18)に示すように、係数の後半部分(つまり、i>0)は対称性からの偏差のみを伝送することによって符号化してもよい。
Figure 2009047917
差分符号化に用いられる対称性は、デコーダへシグナリングされなければならない。これは、上記のシグナリング例に沿って暗示的又は明示的に実現できる。しかしながら、差分符号化に用いられる対称性は一連のフィルタ特性と別物でなければならないこと(そうでなければ、この対称性からの偏差全てが0になる)及び別々にシグナリングされなければならないことに留意されたい。
以上のように、フィルタ係数そのものの値ではなく、フィルタ係数の差分値を符号化することで、符号化しなければならないデータ量をさらに削減することができ、符号化効率を高めることができる。
以上のように、本発明は、小数画素精度の動き補償予測を用いるハイブリッド映像符号化装置及び映像復号装置に関し、予測精度とシグナリングオーバーヘッドとの間のトレードオフを最適化する適応的補間フィルタを用いる。この目的のために、適応的補間フィルタの対称性及びその他の限定などの特性を前もって設定する。これにより、独立フィルタ係数の数を制御できることができる。
さらに、適応的補間のフィルタ係数は設定したフィルタ特性により決定される。また、映像復号装置が全く同じ補間を動き補償予測に適用できるように、フィルタ係数は映像復号装置に送信される。シグナリングオーバーヘッドは、設定されたフィルタ特性に従って係数を符号化することによっても低減される。
以上、本発明の映像符号化方法、映像復号方法及びこれらの装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
上述した手法に加えて、いくつかの他のアプローチを適用することにより、オーバーヘッド情報のビットレートを、さらに、削減することが可能である。典型的な手法を以下に3つ述べる。
いくつかのピクチャに対してシーケンスの統計量及び特性が類似している場合、「上位レベル」のフィルタを参照してフィルタを差分符号化することにより、フィルタ係数の伝送ビットレートを低減することが可能である。例えば、各小数画素位置のフィルタをシーケンスレベル(SPS)で伝送すると仮定する。この場合、前述のシーケンスレベルフィルタと対象フィルタ(ピクチャレベル、スライスレベル)との差分だけを伝送することが可能である。
このアプローチは、参照スライスレベルフィルタと予測マクロブロックレベルフィルタとなどにも適用することができる。さらに、ピクチャレベル、スライスレベル、又は、マクロブロックレベルで、シーケンスレベルで伝送された参照フィルタの使用をシグナリングするフラグ、又は、次に伝送される新たなフィルタの使用をシグナリングするフラグを伝送することも可能である。しかしながら、前述の手法にはエラーを起こしやすいという欠点がある。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。
さらに、フィルタ係数の時間予測を行うこと、つまり、あるピクチャ(スライス)から次のピクチャ(スライス)までのフィルタ係数の差分だけを符号化することができる。また、これを異なる参照ピクチャの動き検出と関連付けてもよい。つまり、動き検出中に参照ピクチャを決定するとすぐに、対応する参照ピクチャに使用されたフィルタを参照して予測に使用されたフィルタ係数を符号化する。しかしながら、この手法でもエラーは発生しやすい。伝送エラーのために参照フィルタが失われれば、予測フィルタを復元することはできない。
オーバーヘッド・ビットレートは、エンコーダ及びデコーダが識別できる参照テーブルを適用することによって最小限まで削減することが可能である。シーケンスを広範囲にわたって診断することにより、小数画素位置に依存するフィルタの固定的な設定を定義することができる。
映像符号化装置は、アプリケーション及び最適化基準(高予測効率、低複雑性)に応じて最もよいフィルタを選択し、対応するテーブルインデックスのみを伝送する。映像復号装置はフィルタ参照テーブルを識別できるので、伝送されたテーブルインデックスからフィルタを復元できる。しかしながら、このアプローチには、フィルタが信号統計に精度よく合わせることができないため、予測効率が低減するという欠点がある。また、参照テーブルのインデックスを伝送でき、さらに、参照テーブルから選ばれたフィルタと比較したフィルタ差分を伝送することができる。
また、固定フィルタと適応的フィルタとを切り替えることも可能である。固定フィルタの適用には、さらなるフィルタ情報を伝送する必要はないという利点がある。適応的フィルタの適用には、フィルタを信号統計に合わせられるという利点がある。固定フィルタと適応的フィルタの切換は、結果として生じるオーバーヘッド・ビットレートも考慮するレートひずみ基準を適用することによって行われてもよい。
このような切換は、シーケンスレベル(SPS)、ピクチャレベル(PPS)、スライスレベル、マクロブロックレベル又は小数画素位置依存で行うことが可能である。固定フィルタは、MPEG−4 AVC/H.264などの標準規格フィルタであってもよい。差分手法をフィルタ切換情報の符号化に適用してもよい。各ビットが、ある小数画素位置の固定フィルタ又は適応的フィルタをシグナリングする15ビットマスクを考慮してもよい。
なお、本発明は、上述したように、映像符号化方法、映像復号方法及びそれらの装置として実現できるだけではなく、本実施の形態の映像符号化方法及び映像復号方法をコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
また、本発明は、映像符号化装置及び映像復号装置を構成する構成要素の一部又は全部を、1個のシステムLSIから構成してもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAMなどを含んで構成されるコンピュータシステムである。
本発明の映像符号化方法及び映像復号方法は、予測効率及び符号化効率を最適化できるという効果を奏し、例えば、映像符号化装置、映像復号装置、ビデオカメラ、及び、カメラ付携帯電話などに適用することができる。
100、300 映像符号化装置
110 減算器
120 変換/量子化部
130、230 逆量子化/逆変換部
135、235 加算器
137、237 デブロッキングフィルタ
140、161、240、261 メモリ
150、250 イントラフレーム予測部
160、260、360、460 動き補償予測部
170 動き検出部
180、280 イントラ/インター切換スイッチ
190、390 エントロピー符号化部
200、400 映像復号装置
291、491 エントロピー復号部
501、502、503 変位ベクトル

Claims (33)

  1. 映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法であって、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
    前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
    前記動き補償ステップで生成された予測画像と、前記入力画像との差分を算出することで予測誤差を生成する減算ステップと、
    前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む
    映像符号化方法。
  2. 前記符号化ステップでは、さらに、フィルタ決定ステップで設定されたフィルタ特性を符号化する
    請求項1記載の映像符号化方法。
  3. 前記フィルタ特性は、前記適応的補間フィルタのフィルタタイプを示す情報であり、
    前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも1つを示す情報を符号化する
    請求項2記載の映像符号化方法。
  4. 前記符号化ステップでは、さらに、フィルタ決定ステップで決定された複数のフィルタ係数を符号化する
    請求項3記載の映像符号化方法。
  5. 前記符号化ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて、前記複数のフィルタ係数を符号化する
    請求項4記載の映像符号化方法。
  6. 前記符号化ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化する
    請求項5記載の映像符号化方法。
  7. 前記符号化ステップでは、互いに平行移動の対称関係を有する少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分を符号化する
    請求項5記載の映像符号化方法。
  8. 前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数間での差分を符号化する
    請求項5記載の映像符号化方法。
  9. 前記符号化ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素のうち、1つの小数画素の適応的補間フィルタの複数のフィルタ係数を符号化する
    請求項5記載の映像符号化方法。
  10. 前記符号化ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数ごとに1つのフィルタ係数を符号化する
    請求項5記載の映像符号化方法。
  11. 前記フィルタ特性は、前記適応的補間フィルタのサイズを示す情報であり、
    前記符号化ステップでは、さらに、前記フィルタ決定ステップで設定された適応的補間フィルタのサイズを示す情報を符号化する
    請求項2記載の映像符号化方法。
  12. 前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定する
    請求項1記載の映像符号化方法。
  13. 前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記映像データ全体に1つのみ設定する
    請求項1記載の映像符号化方法。
  14. 符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法であって、
    前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
    前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
    前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む
    映像復号方法。
  15. 前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタのフィルタ特性を復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ特性に従って、複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
    請求項14記載の映像復号方法。
  16. 前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが、適応型又は非適応型、分離型又は非分離型、及び、対称又は非対称のうち少なくとも1つを示す情報を復号し、
    前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタタイプに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
    請求項15記載の映像復号方法。
  17. 前記復号ステップでは、さらに、前記符号化ストリームに含まれる前記適応的補間フィルタの複数のフィルタ係数を復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定する
    請求項16記載の映像復号方法。
  18. 前記復号ステップでは、前記複数のフィルタ係数間の対称性を利用することで、前記複数のフィルタ係数の冗長部分を除いて前記複数のフィルタ係数が符号化された前記符号化ストリームから、当該複数のフィルタ係数を復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号された複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとのフィルタ係数として決定する
    請求項17記載の映像復号方法。
  19. 前記復号ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも2つの小数画素のいずれか1つの小数画素の適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
    請求項18記載の映像復号方法。
  20. 前記復号ステップでは、互いに平行移動の対称関係を有する少なくとも2つの小数画素の適応的補間フィルタのフィルタ係数間の差分と、前記少なくとも2つの小数画素のいずれか1つの適応的補間フィルタのフィルタ係数とが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記平行移動の関係にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
    請求項18記載の映像復号方法。
  21. 前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数間での差分と、前記少なくとも2つのフィルタ係数のいずれか1つとが符号化された前記符号化ストリームから、当該差分と当該フィルタ係数とを復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号された差分とフィルタ係数とを加算することで、前記対称関係にある残りのフィルタ係数を決定する
    請求項18記載の映像復号方法。
  22. 前記復号ステップでは、少なくとも1つの所定の軸に対して対称の位置にある少なくとも2つの小数画素ごとに符号化されている1つの小数画素の適応的補間フィルタのフィルタ係数を復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、前記所定の軸に対して対称の位置にある残りの小数画素の適応的補間フィルタのフィルタ係数を決定する
    請求項18記載の映像復号方法。
  23. 前記復号ステップでは、前記適応的補間フィルタのフィルタタイプが対称である場合に、前記複数のフィルタ係数のうち、対称関係にある少なくとも2つのフィルタ係数ごとに符号化されている1つのフィルタ係数を復号し、
    前記フィルタ決定ステップでは、前記復号ステップで復号されたフィルタ係数から、対称関係にある残りのフィルタ係数を決定する
    請求項18記載の映像復号方法。
  24. 前記フィルタ決定ステップでは、さらに、決定したフィルタ特性及びフィルタ係数をメモリに保持し、前記復号ステップで新たなフィルタ特性又はフィルタ係数が復号された場合に、新たに決定したフィルタ特性及びフィルタ係数に更新する
    請求項17記載の映像復号方法。
  25. 前記復号ステップでは、前記適応的補間フィルタのサイズを示す情報を復号し、
    前記フィルタ決定ステップでは、前記適応的補間フィルタのサイズに従って、前記複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定する
    請求項15記載の映像復号方法。
  26. 前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性をスライス単位で設定する
    請求項14記載の映像復号方法。
  27. 前記フィルタ決定ステップでは、前記適応的補間フィルタのフィルタ特性を前記符号化ストリームに含まれる映像データ全体に1つのみ設定する
    請求項14記載の映像復号方法。
  28. 映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化装置であって、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償予測部と、
    前記動き補償により生成された予測画像と、前記入力画像とを減算することで予測誤差を生成する減算部と、
    前記減算部によって生成された予測誤差を符号化する符号化部とを備える
    映像符号化装置。
  29. 符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号装置であって、
    前記符号化ストリームに含まれる符号化された予測誤差を復号する復号部と、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償部と、
    前記動き補償部によって生成された予測画像と、前記復号部によって復号された予測誤差とを加算することで、前記再構成画像を生成する加算部とを備える
    映像復号装置。
  30. 映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する映像符号化方法をコンピュータに実行させるプログラムであって、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
    前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
    前記動き補償ステップで生成された予測画像を、前記入力画像から減算することで予測誤差を生成する減算ステップと、
    前記減算ステップで生成された予測誤差を符号化する符号化ステップとを含む
    プログラム。
  31. 符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する映像復号方法をコンピュータに実行させるプログラムであって、
    前記符号化ストリームに含まれる符号化された予測誤差を復号する復号ステップと、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定するフィルタ決定ステップと、
    前記フィルタ決定ステップで決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償ステップと、
    前記動き補償ステップで生成された予測画像と、前記復号ステップで復号された予測誤差とを加算することで、前記再構成画像を生成する加算ステップとを含む
    プログラム。
  32. 映像データに含まれる入力画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記映像データを符号化する集積回路であって、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを前記入力画像に適用することで、前記小数画素精度の動き補償を行う動き補償予測部と、
    前記動き補償により生成された予測画像と、前記入力画像とを減算することで予測誤差を生成する減算部と、
    前記減算部によって生成された予測誤差を符号化する符号化部とを備える
    集積回路。
  33. 符号化ストリームから再構成された再構成画像を構成する整数画素間を補間する小数画素の画素値を算出するための適応的補間フィルタを用いて、小数画素精度の動き補償を行うことで、前記符号化ストリームを復号する集積回路であって、
    前記符号化ストリームに含まれる符号化された予測誤差を復号する復号部と、
    前記適応的補間フィルタのフィルタ特性を所定の処理単位ごとに設定し、設定したフィルタ特性を有する適応的補間フィルタの複数のフィルタ係数を、整数画素との相対的な小数画素の位置ごとに決定し、決定した複数のフィルタ係数を有する適応的補間フィルタを、既に生成済みの再構成画像に適用することで、前記小数画素精度の動き補償を行う動き補償部と、
    前記動き補償部によって生成された予測画像と、前記復号部によって復号された予測誤差とを加算することで、前記再構成画像を生成する加算部とを備える
    集積回路。
JP2009536934A 2007-10-11 2008-10-10 映像符号化方法及び映像復号方法 Pending JPWO2009047917A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07019946A EP2048886A1 (en) 2007-10-11 2007-10-11 Coding of adaptive interpolation filter coefficients
EP07019946.8 2007-10-11
PCT/JP2008/002887 WO2009047917A1 (ja) 2007-10-11 2008-10-10 映像符号化方法及び映像復号方法

Publications (1)

Publication Number Publication Date
JPWO2009047917A1 true JPWO2009047917A1 (ja) 2011-02-17

Family

ID=39712714

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009536934A Pending JPWO2009047917A1 (ja) 2007-10-11 2008-10-10 映像符号化方法及び映像復号方法

Country Status (11)

Country Link
US (2) US20100220788A1 (ja)
EP (2) EP2048886A1 (ja)
JP (1) JPWO2009047917A1 (ja)
KR (1) KR20100074137A (ja)
CN (1) CN101822061A (ja)
AU (1) AU2008310494B2 (ja)
BR (1) BRPI0818603A2 (ja)
CA (1) CA2701758A1 (ja)
MX (1) MX2010003008A (ja)
RU (1) RU2010109749A (ja)
WO (1) WO2009047917A1 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1944974A1 (en) * 2007-01-09 2008-07-16 Matsushita Electric Industrial Co., Ltd. Position dependent post-filter hints
US20090257499A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding
US8831086B2 (en) 2008-04-10 2014-09-09 Qualcomm Incorporated Prediction techniques for interpolation in video coding
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US8811484B2 (en) * 2008-07-07 2014-08-19 Qualcomm Incorporated Video encoding by filter selection
US10123050B2 (en) 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
EP2182732A1 (en) * 2008-10-28 2010-05-05 Panasonic Corporation Switching between scans in image coding
KR101098739B1 (ko) * 2008-11-24 2011-12-23 한국전자통신연구원 비디오 신호의 부호화/복호화 장치 및 방법
KR101680915B1 (ko) * 2008-11-25 2016-11-29 톰슨 라이센싱 비디오 인코딩 및 디코딩을 위한 희소성-기반 아티팩트 제거 필터링 방법 및 장치
JPWO2010064675A1 (ja) * 2008-12-03 2012-05-10 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
EP2237557A1 (en) * 2009-04-03 2010-10-06 Panasonic Corporation Coding for filter coefficients
EP2262267A1 (en) * 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
KR101701342B1 (ko) 2009-08-14 2017-02-01 삼성전자주식회사 적응적인 루프 필터링을 이용한 비디오의 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
EP2296380A1 (en) 2009-09-03 2011-03-16 Panasonic Corporation Efficient syntax for AIF signalling
JP2011061503A (ja) * 2009-09-10 2011-03-24 Panasonic Corp 映像信号送信機および受信機
KR20110027238A (ko) * 2009-09-10 2011-03-16 삼성전자주식회사 휴대용 단말기의 영상 데이터 처리 장치 및 방법
JPWO2011039931A1 (ja) * 2009-09-30 2013-02-21 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
CN102075743B (zh) * 2009-11-24 2014-03-12 华为技术有限公司 视频编码方法及装置、视频解码方法及装置
KR20110071047A (ko) * 2009-12-20 2011-06-28 엘지전자 주식회사 비디오 신호 디코딩 방법 및 장치
JP2011135184A (ja) * 2009-12-22 2011-07-07 Sony Corp 画像処理装置および方法、並びにプログラム
JP5581688B2 (ja) * 2009-12-24 2014-09-03 ソニー株式会社 画像処理装置および方法、並びにプログラム
WO2011086672A1 (ja) * 2010-01-13 2011-07-21 株式会社 東芝 動画像符号化装置および復号装置
JP2013232974A (ja) * 2010-01-13 2013-11-14 Toshiba Corp 動画像符号化装置および復号装置
JP2014060744A (ja) * 2010-01-13 2014-04-03 Toshiba Corp 動画像符号化装置および復号装置
JP5323211B2 (ja) * 2010-01-13 2013-10-23 株式会社東芝 動画像符号化装置および復号装置
CN102714727B (zh) * 2010-01-14 2016-09-28 杜比实验室特许公司 缓冲的自适应滤波器
US8995530B2 (en) 2010-03-09 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Moving image decoding apparatus, moving image coding apparatus, moving image decoding circuit, and moving image decoding method
WO2011121716A1 (ja) * 2010-03-30 2011-10-06 株式会社 東芝 動画像符号化方法、復号化方法、符号化装置および復号化装置
KR101682147B1 (ko) * 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
WO2011126284A2 (en) * 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by using adaptive prediction filtering, method and apparatus for decoding video by using adaptive prediction filtering
US9154807B2 (en) 2010-06-25 2015-10-06 Qualcomm Incorporated Inclusion of switched interpolation filter coefficients in a compressed bit-stream
US9819966B2 (en) * 2010-09-01 2017-11-14 Qualcomm Incorporated Filter description signaling for multi-filter adaptive filtering
US9247265B2 (en) 2010-09-01 2016-01-26 Qualcomm Incorporated Multi-input adaptive filter based on combination of sum-modified Laplacian filter indexing and quadtree partitioning
JP2012060208A (ja) * 2010-09-06 2012-03-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像符号化装置,動画像復号方法,動画像復号装置およびそれらのプログラム
US8577159B2 (en) 2010-09-14 2013-11-05 Blackberry Limited Methods and devices for data compression with adaptive filtering in the transform domain
JP5570363B2 (ja) * 2010-09-22 2014-08-13 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
JP5485851B2 (ja) 2010-09-30 2014-05-07 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
RS56176B1 (sr) 2010-09-30 2017-11-30 Samsung Electronics Co Ltd Postupak za interpolaciju slika pomoću filtera za interpolaciju i uglačavanje
RU2544799C2 (ru) * 2010-09-30 2015-03-20 Мицубиси Электрик Корпорейшн Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
CN103229503B (zh) * 2010-11-26 2016-06-29 日本电气株式会社 图像编码设备、图像解码设备、图像编码方法、图像解码方法和程序
US8761245B2 (en) 2010-12-21 2014-06-24 Intel Corporation Content adaptive motion compensation filtering for high efficiency video coding
US8988536B2 (en) 2010-12-23 2015-03-24 Samsung Electronics Co., Ltd. Image processing circuit, method of operation thereof, and digital camera including same
US9445126B2 (en) * 2011-01-05 2016-09-13 Qualcomm Incorporated Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter
US9172972B2 (en) * 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
GB2487200A (en) 2011-01-12 2012-07-18 Canon Kk Video encoding and decoding with improved error resilience
CN108111847B (zh) 2011-01-13 2021-11-23 日本电气株式会社 视频解码设备和视频解码方法
US8964852B2 (en) 2011-02-23 2015-02-24 Qualcomm Incorporated Multi-metric filtering
US20120230393A1 (en) * 2011-03-08 2012-09-13 Sue Mon Thet Naing Methods and apparatuses for encoding and decoding video using adaptive interpolation filter length
KR20120118782A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 적응적 필터링을 이용한 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
GB2491589B (en) 2011-06-06 2015-12-16 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of image
JP5552093B2 (ja) * 2011-06-13 2014-07-16 日本電信電話株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
EP2724532A1 (en) * 2011-06-22 2014-04-30 Motorola Mobility LLC Fractional pixel interpolation filter for video compression
CA2840638C (en) * 2011-06-28 2017-10-17 Samsung Electronics Co., Ltd. Method for image interpolation using asymmetric interpolation filter and apparatus therefor
JP5762243B2 (ja) * 2011-10-18 2015-08-12 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
EP2595382B1 (en) * 2011-11-21 2019-01-09 BlackBerry Limited Methods and devices for encoding and decoding transform domain filters
US20130188709A1 (en) 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
US20130272398A1 (en) * 2012-01-25 2013-10-17 Sharp Laboratories Of America, Inc. Long term picture signaling
GB2498595B (en) * 2012-02-16 2015-03-04 Imagination Tech Ltd Methods and apparatus for decoding video images
US9979958B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Decoded picture buffer processing for random access point pictures in video sequences
US10448032B2 (en) * 2012-09-04 2019-10-15 Qualcomm Incorporated Signaling of down-sampling location information in scalable video coding
FR2996093A1 (fr) * 2012-09-27 2014-03-28 France Telecom Procede de codage et decodage d'images, dispositifs de codage et decodage et programmes d'ordinateur correspondants
JP6065613B2 (ja) * 2013-01-29 2017-01-25 富士通株式会社 動画像符号化装置
JP5890794B2 (ja) * 2013-02-28 2016-03-22 株式会社東芝 画像処理装置
KR101450645B1 (ko) * 2013-04-26 2014-10-15 주식회사 코아로직 비디오 비트율 제어 방법 및 장치
JP5612177B2 (ja) * 2013-07-17 2014-10-22 株式会社東芝 動画像符号化方法、復号化方法、符号化装置および復号化装置
KR102184884B1 (ko) * 2014-06-26 2020-12-01 엘지디스플레이 주식회사 유기발광표시장치의 데이터 처리장치
WO2016029163A1 (en) * 2014-08-22 2016-02-25 Nova Southeastern University Data adaptive compression and data encryption using kronecker products
US10291932B2 (en) 2015-03-06 2019-05-14 Qualcomm Incorporated Method and apparatus for low complexity quarter pel generation in motion search
WO2017135151A1 (ja) * 2016-02-01 2017-08-10 シャープ株式会社 予測画像生成装置、動画像復号装置、および動画像符号化装置
US11405611B2 (en) 2016-02-15 2022-08-02 Qualcomm Incorporated Predicting filter coefficients from fixed filters for video coding
CN106162108A (zh) * 2016-08-29 2016-11-23 合肥康胜达智能科技有限公司 一种视频监控系统
US10341659B2 (en) * 2016-10-05 2019-07-02 Qualcomm Incorporated Systems and methods of switching interpolation filters
US10506230B2 (en) 2017-01-04 2019-12-10 Qualcomm Incorporated Modified adaptive loop filter temporal prediction for temporal scalability support
EP4258657A1 (en) 2017-01-04 2023-10-11 Samsung Electronics Co., Ltd. Video decoding method and apparatus and video encoding method and apparatus
TWI832814B (zh) 2017-04-06 2024-02-21 美商松下電器(美國)知識產權公司 解碼裝置及編碼裝置
TW202423115A (zh) * 2017-04-06 2024-06-01 美商松下電器(美國)知識產權公司 編碼裝置、解碼裝置、電腦可讀取之非暫時性的媒體
US10778974B2 (en) 2017-07-05 2020-09-15 Qualcomm Incorporated Adaptive loop filter with enhanced classification methods
CN114125444B (zh) * 2018-03-09 2022-10-11 华为技术有限公司 面向图像滤波的编解码方法和装置
GB2572595B (en) * 2018-04-04 2023-03-22 British Broadcasting Corp Video encoding and decoding
CN111010568B (zh) * 2018-10-06 2023-09-29 华为技术有限公司 插值滤波器的训练方法、装置及视频图像编解码方法、编解码器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319398A (ja) * 2002-04-24 2003-11-07 Nec Corp 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
JP2006050471A (ja) * 2004-08-09 2006-02-16 Sony Corp 符号化装置、撮像装置、撮像素子の集積回路、復号化装置及び画像データの処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10120395A1 (de) * 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder
BR0304545A (pt) * 2002-01-14 2004-11-03 Nokia Corp Método de codificação das imagens em uma sequência de vìdeo digital para fornecer os dados de vìdeo codificados, codificador de vìdeo, método de decodificação dos dados indicativos de uma sequência de vìdeo digital, decodificador de vìdeo, e, sistema de decodificação de vìdeo
JP2005532725A (ja) * 2002-07-09 2005-10-27 ノキア コーポレイション ビデオ符号化における内挿フィルタタイプの選択方法および選択システム
KR20050035539A (ko) * 2002-09-06 2005-04-18 코닌클리케 필립스 일렉트로닉스 엔.브이. 개선된 효율 및 에러 복구를 위한 컨텐츠-적응형의 다수의설명 움직임 보상 방법
US20040076333A1 (en) * 2002-10-22 2004-04-22 Huipin Zhang Adaptive interpolation filter system for motion compensated predictive video coding
US7698355B2 (en) * 2004-08-27 2010-04-13 Stmicroelectronics Pvt. Ltd. Minimal area integrated circuit implementation of a polyphase interpolation filter using coefficients symmetry
JP2008536414A (ja) * 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
US8208564B2 (en) 2005-06-24 2012-06-26 Ntt Docomo, Inc. Method and apparatus for video encoding and decoding using adaptive interpolation
EP1746839A1 (en) * 2005-07-22 2007-01-24 Thomson Licensing Method and apparatus for encoding video data
US20080075165A1 (en) * 2006-09-26 2008-03-27 Nokia Corporation Adaptive interpolation filters for video coding
WO2008084378A2 (en) * 2007-01-09 2008-07-17 Nokia Corporation Adaptive interpolation filters for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319398A (ja) * 2002-04-24 2003-11-07 Nec Corp 動画像の符号化方法および復号化方法、これを用いた装置とプログラム
JP2006050471A (ja) * 2004-08-09 2006-02-16 Sony Corp 符号化装置、撮像装置、撮像素子の集積回路、復号化装置及び画像データの処理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6013019450; Y. Vatis et al.: 'Motion- and Aliasing-Compensated Prediction Using a Two-Dimensional Non-Separable Adaptive Wiener In' IEEE International Conference on Image Processing, 2005. ICIP 2005. Vol.2, 20050911, Pages 894-897 *
JPN6013019452; Yuri Vatis and Jorn Ostermann: 'Locally Adaptive Non-Separable Interpolation Filter for H.264/AVC' IEEE International Conference on Image Processing, 2006 , 20061008, Pages 33-36 *

Also Published As

Publication number Publication date
CA2701758A1 (en) 2009-04-16
BRPI0818603A2 (pt) 2015-09-08
US20100220788A1 (en) 2010-09-02
KR20100074137A (ko) 2010-07-01
CN101822061A (zh) 2010-09-01
WO2009047917A1 (ja) 2009-04-16
EP2187649A4 (en) 2011-07-13
MX2010003008A (es) 2010-03-31
AU2008310494A1 (en) 2009-04-16
EP2187649A1 (en) 2010-05-19
AU2008310494B2 (en) 2012-09-13
RU2010109749A (ru) 2011-11-20
EP2048886A1 (en) 2009-04-15
US20130094582A1 (en) 2013-04-18

Similar Documents

Publication Publication Date Title
JPWO2009047917A1 (ja) 映像符号化方法及び映像復号方法
JP7159354B2 (ja) 適応的動きベクトル解像度を用いるビデオ信号処理方法及び装置
KR101403343B1 (ko) 부화소 움직임 추정을 이용한 인터 예측 부호화, 복호화방법 및 장치
RU2683591C1 (ru) Способ и устройство для компенсации движения с предсказанием
KR101647376B1 (ko) 비디오 신호 처리 방법 및 장치
CN101335896B (zh) 用于前向预测的隔行扫描视频帧的场的预测运动矢量
KR20180059443A (ko) 영상 코딩 시스템에서 움직임 벡터 정제 기반 인터 예측 방법 및 장치
CN112075078A (zh) 合成式预测及限制性合并
CN117296322A (zh) 仿射模型在仿射双边匹配中的使用
AU2012241179A1 (en) Video coding method and video decoding method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130423

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130820