JP2013243720A - ビデオ符号化における動き補償のための高度補間技術 - Google Patents

ビデオ符号化における動き補償のための高度補間技術 Download PDF

Info

Publication number
JP2013243720A
JP2013243720A JP2013142041A JP2013142041A JP2013243720A JP 2013243720 A JP2013243720 A JP 2013243720A JP 2013142041 A JP2013142041 A JP 2013142041A JP 2013142041 A JP2013142041 A JP 2013142041A JP 2013243720 A JP2013243720 A JP 2013243720A
Authority
JP
Japan
Prior art keywords
pixel value
pixel
video
quarter
interpolation
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.)
Granted
Application number
JP2013142041A
Other languages
English (en)
Other versions
JP5654087B2 (ja
Inventor
Yan Ye
ヤン・イエ
Peisong Chen
ペイソン・チェン
Karczewicz Marta
マルタ・カークゼウィックズ
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2013243720A publication Critical patent/JP2013243720A/ja
Application granted granted Critical
Publication of JP5654087B2 publication Critical patent/JP5654087B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/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/192Methods 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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/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

Abstract

【課題】ビデオの動き補償符号化のための適切な予測ビデオデータの補間方法を提供する。
【解決手段】符号器は、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間する。復号器は、補間フィルタを識別するシンタックス要素を受け取り、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間する。予測ビデオデータを補間する方法は、整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸めることと、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存することと、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成することとを含む。
【選択図】図7

Description

本出願は、2008年4月10日に出願された米国仮出願第61/044,023号、2008年4月11日に出願された米国仮出願第61/044,240号、および2008年5月30日に出願された米国仮出願第61/057,373号の利益を主張し、それらの内容はすべて、参照により本明細書に組み込まれる。
本開示は、ディジタルビデオ符号化に関し、より詳細には、ビデオ符号化において使用される予測データの分数補間(fractional interpolation)に関する。
ディジタルビデオ機能は、ディジタルテレビ、ディジタルダイレクト放送システム、無線放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、ディジタルカメラ、ディジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、およびセルラまたは衛星無線電話などを含む、多種多様なデバイスに組み込むことができる。ディジタルビデオデバイスは、ディジタルビデオ情報をより効率的に送受信するために、MPEG−2、MPEG−4、またはITU−T H.264/MPEG−4パート10高度ビデオ符号化(AVC(Advanced Video Coding))などの、ビデオ圧縮技術を実施する。ビデオ圧縮技術は、ビデオシーケンスにおいて本質的な冗長性を低減または除去するために、空間的予測および/または時間的予測を実行することができる。
ブロックベースのインター符号化(inter-coding)は、ビデオシーケンスの連続する符号化単位(coded unit)のビデオブロック間の時間的冗長性を低減または除去するために時間的予測に依存する、非常に役立つ符号化技術である。符号化単位は、ビデオフレーム、ビデオフレームのスライス、グループオブピクチャ(group of pictures)、またはビデオブロックの別の定義単位を備えることができる。インター符号化の場合、ビデオ符号器は、2つ以上の隣接する符号化単位の対応するビデオブロックの動きを追跡するために、動き推定(motion estimation)および動き補償(motion compensation)を実行する。動き推定は、動きベクトル(motion vector)を生成し、動きベクトルは、1つまたは複数の参照フレームまたは他の符号化単位内の対応する予測ビデオブロックに対するビデオブロックの変位を表す。動き補償は、動きベクトルを使用して、参照フレームまたは他の符号化単位から予測ビデオブロックを生成する。動き補償の後、符号化される元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。
ビデオ符号器は、残差ブロックの伝達に関連するビットレートをさらに低減するために、変換プロセス、量子化プロセス、およびエントロピー符号化プロセスを適用することもできる。変換技術は、離散コサイン変換(DCT(discrete cosine transform))または概念的に類似のプロセスを備えることができる。代替的に、ウェーブレット変換(wavelet transform)、整数変換(integer transform)、または他のタイプの変換を使用することもできる。DCTプロセスでは、一例として、1組のピクセル値は、周波数領域におけるピクセル値のエネルギーを表すことができる変換係数に変換される。量子化は、変換係数に適用され、任意の与えられた変換係数に関連するビットの数を制限するプロセスを一般に含む。エントロピー符号化は、量子化された変換係数の系列を一括して圧縮する1つまたは複数のプロセスを備える。エントロピー符号化の例は、コンテンツ適応可変長符号化(CAVLC(content adaptive variable length coding))およびコンテキスト適応バイナリ算術符号化(CABAC(context adaptive binary arithmetic coding))を含むが、それらに限定されない。
符号化ビデオブロックは、予測ブロックを生成または識別するのに使用できる予測情報と、符号化されるブロックと予測ブロックの間の差分を表すデータの残差ブロックとによって表すことができる。予測情報は、データの予測ブロックを識別するのに使用される1つまたは複数の動きベクトルを備えることができる。動きベクトルが与えられると、復号器は、残差を符号化するのに使用された予測ブロックを再構成することができる。したがって、1組の残差ブロックおよび1組の動きベクトル(ならびにおそらくはいくつかの追加的なシンタックス)が与えられると、復号器は、最初に符号化されたビデオフレームを再構成することができる場合がある。連続するビデオフレームまたは他のタイプの符号化単位は、しばしば非常に類似しているので、動き推定および動き補償に基づいたインター符号化は、非常に良好な圧縮を達成することができる。符号化ビデオシーケンスは、残差データのブロックと、動きベクトルと、おそらくは他のタイプのシンタックスとを備えることができる。
インター符号化において達成できる圧縮のレベルを改善するために、補間技術が開発された。この場合、ビデオブロックを符号化するのに使用できる、動き補償の最中に生成される予測データを、動き推定において使用されるビデオフレームまたは他の符号化単位のビデオブロックのピクセルから補間することができる。補間はしばしば、予測2分の1ピクセル値(ハーフペル)および予測4分の1ピクセル値(クォータペル)を生成するために実行される。そのような補間はしばしば、ビデオ符号化において使用される予測フレームまたは他の符号化単位の実際のビデオブロックよりも、符号化されるビデオブロックにはるかによく類似する予測ブロックを生成する。
一般に、本開示は、ビデオ符号化の動き補償プロセスの最中に、符号器および復号器によって実行される補間技術について説明する。本開示の技術によれば、符号器は、複数の事前定義された補間フィルタを適用して、複数の異なる補間予測データを生成することができる。最高レベルの圧縮を達成する補間予測データを選択することができ、使用された補間フィルタをシンタックスとして符号化し、符号化ビデオデータの一部として復号デバイスに伝達することができる。補間フィルタは、予測単位あたり1回(例えば予測フレームあたり1回)定義することができ、またはブロックベースで定義することができる(例えば、予測単位内の異なるビデオブロックに異なるフィルタリングを適用することができる)。代替的に、補間フィルタは、サンプルベースで定義することができ、またはサブサンプルベースで定義することができる。
復号器は、符号化ビデオデータを受け取り、符号器によって使用された補間フィルタを識別するために、シンタックスを解釈することができる。このようにして、復号器は、その動き補償プロセスの最中に、符号化プロセスの最中に使用されたのと同じ補間フィルタを識別し、使用することができる。符号器において多数の異なる補間フィルタを検討することによって、固定的な補間フィルタを有する技術と比べて、圧縮を改善することができる。同時に、この技術は、符号化プロセスの一部として補間フィルタ係数を適応的に定義する従来の適応補間フィルタリングよりも、複雑さを著しく低減することができる。本開示のいくつかの態様によれば、良好な圧縮をもたらす可能性が高い補間フィルタ係数の組を事前定義するために、テストビデオシーケンスに対して適応補間フィルタリングまたは他の技術を実施することによって、異なる補間フィルタを事前定義することができる。代替的に、異なる数のフィルタ係数(異なる数のタップ)または異なるタイプのフィルタを完全に事前定義し、その後、符号化プロセスおよび復号プロセスの最中に、それを選択し、使用することもできる。
加えて、本開示は、2分の1ピクセル値の従来の丸めに起因する符号化の非効率性を認識もし、中間丸めを削減または排除することによって補間を改善できる技術を提供する。この場合、補間された2分の1ピクセル値は、2分の1ピクセル補間の目的で丸めることができる。しかし、1つまたは複数の補間された2分の1ピクセル値に基づいて生成できる4分の1ピクセル値は、2分の1ピクセル値の丸めなしバージョンに依存することができる。これによって、2分の1ピクセル値から4分の1ピクセル値への丸め誤差の伝播を排除することができる。場合によっては、16ビット記憶要素を使用して、2分の1ピクセルの任意の中間値を保存できることを保証するために、最終的な値の精度を犠牲にすることがない僅少な丸め(slight rounding)を、1つの特定の2分の1ピクセル値に適用することができる。特に、あらゆるピクセルロケーションに対して、15個の可能なサブピクセルロケーションが定義される場合、特定の2分の1ピクセル値の1つを、他の2分の1ピクセル値に基づいて生成する必要がある(すなわち、2つのレベルの2分の1ピクセル補間を必要とする)場合があり、この特定の2分の1ピクセル値は、16ビット記憶要素を使用して、すべての補間値を保存できることを保証するために、丸めを必要とする場合がある。
いずれの場合も、中間丸め作業の排除は、本明細書で説明されるように、複数の事前定義された補間フィルタの実施によって、またはよらずに、行うことができる。例えば、中間丸めの排除は、本明細書で説明されるように、複数の事前定義された補間フィルタを使用する実施との関連で実行することができる。代替的に、中間丸めの排除は、適応補間フィルタリング(AIF(adaptive interpolation filtering))など、より従来的な補間との関連で実行することができる。
一例では、本開示は、ビデオデータを符号化する方法を提供する。その方法は、予測データを生成することであって、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することを備える。方法は、予測データに基づいて、ビデオデータを符号化することも備える。
別の例では、本開示は、ビデオデータを復号する方法を提供する。復号方法は、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取ることと、予測データを生成することであって、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいて、ビデオデータを復号することとを備える。
別の例では、本開示は、ビデオ符号化のために予測ビデオデータを補間する方法を提供する。その方法は、整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸めることと、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存することと、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成することとを備える。
別の例では、本開示は、ビデオデータを符号化する装置を提供し、その装置は、予測データを生成する動き補償ユニットを含むビデオ符号器を備える。動き補償ユニットは、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間し、ビデオ符号器は、予測データに基づいて、ビデオデータを符号化する。
別の例では、本開示は、ビデオデータを復号する装置を提供し、その装置は、動き補償ユニットを含むビデオ復号器を備える。ビデオ復号器は、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取る。動き補償ユニットは、予測データを生成することであって、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することを行う。その後、ビデオ復号器は、予測データに基づいて、ビデオデータを復号する。
別の例では、本開示は、ビデオ符号化のために予測ビデオデータを補間する装置を提供し、その装置は、整数ピクセル値に基づいて、2分の1ピクセル値を生成し、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸め、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存し、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成する、動き補償ユニットを含む。
別の例では、本開示は、ビデオデータを符号化するデバイスを提供し、そのデバイスは、予測データを生成するための手段であって、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間するための手段を含む、予測データを生成するための手段と、予測データに基づいて、ビデオデータを符号化するための手段とを備える。
別の例では、本開示は、ビデオデータを復号するデバイスを提供し、そのデバイスは、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取るための手段と、予測データを生成するための手段であって、シンタックス要素よって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間するための手段を含む、予測データを生成ための手段と、予測データに基づいて、ビデオデータを復号するための手段とを備える。
別の例では、本開示は、ビデオ符号化のために予測ビデオデータを補間するデバイスを提供し、そのデバイスは、整数ピクセル値に基づいて、2分の1ピクセル値を生成するための手段と、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸めるための手段と、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存するための手段と、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成するための手段とを備える。
別の例では、本開示は、ビデオデータを符号化するデバイスを提供し、そのデバイスは、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することによって予測データを生成し、予測データに基づいてビデオデータを符号化する、動き補償ユニットを含むビデオ符号器と、ビデオデータを別のデバイスに送信する無線送信機とを備える。
別の例では、本開示は、ビデオデータを復号するデバイスを提供し、そのデバイスは、ビデオデータを受信する無線受信機と、ビデオ復号器であって、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取ることと、予測データを生成することであって、シンタックス要素よって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいてビデオデータを復号することとを行う、動き補償ユニットを含むビデオ復号器とを備える。
別の例では、本開示は、ビデオデータを符号化するデバイスを提供し、そのデバイスは、整数ピクセル値に基づいて、2分の1ピクセル値を生成し、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸め、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存し、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成する、動き補償ユニットを含むビデオ符号器と、動き補償ユニットによって符号化されたビデオデータを別のデバイスに送信する無線送信機とを備える。
別の例では、本開示は、ビデオデータを復号するデバイスを提供し、そのデバイスは、ビデオデータを受信する無線受信機と、ビデオデータを復号する動き補償ユニットを含むビデオ復号器とを備える。ビデオデータを復号する際、動き補償ユニットは、整数ピクセル値に基づいて、2分の1ピクセル値を生成し、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸め、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存し、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成する。
本開示で説明される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実施することができる。ソフトウェアで実施される場合、そのソフトウェアは、マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレー(FPGA)、またはディジタル信号プロセッサ(DSP)など、1つまたは複数のプロセッサで実行することができる。技術を実行するソフトウェアは、最初にコンピュータ可読媒体内に保存することができ、プロセッサにロードして、実行することができる。
したがって、本開示は、実行された場合にデバイスにビデオデータを符号化させる命令であって、予測データを生成することであって、複数の異なる事前定義された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいて、ビデオデータを符号化することとをデバイスに行わせる命令を備える、コンピュータ可読記憶媒体も企図している。
本開示は、実行された場合にデバイスにビデオデータを復号させる命令であって、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を受け取った際に、予測データを生成することであって、シンタックス要素よって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む、予測データを生成することと、予測データに基づいて、ビデオデータを復号することとをデバイスに行わせる命令を備える、コンピュータ可読記憶媒体も企図している。
加えて、本開示は、実行された場合にデバイスにビデオ符号化のために予測ビデオデータを補間させる命令であって、整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、2分の1ピクセル補間値を生成するために、2分の1ピクセル値を丸めることと、2分の1ピクセル値の丸めなしバージョンとして2分の1ピクセル値を保存することと、2分の1ピクセル値の丸めなしバージョンと整数ピクセル値とに基づいて、4分の1ピクセル値を生成することとをデバイスに行わせる命令を備える、コンピュータ可読記憶媒体も企図している。
本開示の1つまたは複数の態様の詳細が、添付の図面および以下の説明において示される。本開示で説明される技術の他の特徴、目的、および利点は、説明および図面から、ならびに特許請求の範囲から明らかになろう。
ビデオ符号化および復号システムを示す例示的なブロック図。 本開示に従ったビデオ符号器の一例を示すブロック図。 本開示に従ったビデオ復号器の一例を示すブロック図。 予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。 予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。 予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。 予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図。 本開示に従った技術を説明する流れ図。 本開示に従った技術を説明する流れ図。 本開示に従った技術を説明する流れ図。 本開示に従った技術を説明する流れ図。
本開示は、ビデオ符号化の動き補償プロセスの最中に符号器および復号器によって実行される様々な補間技術について説明する。本開示の一態様によれば、符号器は、複数の異なる補間予測データを生成するために、複数の事前定義された補間フィルタを適用することができる。最高レベルの圧縮を達成する補間予測データを、符号器において選択することができ、使用された補間フィルタを、シンタックスとして符号化し、符号化ビデオデータの一部として復号デバイスに伝達することができる。補間予測データは、参照データを備える。符号化データの残差ブロックを定めるために、符号化されるビデオデータ(例えばビデオブロック)を、補間予測データ(例えば補間予測参照ブロック)から減算することができ、その後、残差ブロックに変換、量子化、およびエントロピー符号化を施すことができる。
補間フィルタは、予測単位あたり1回(例えば予測フレームあたり1回)定義することができ、またはサンプルベースで定義することができる(例えば、予測単位内の異なるビデオブロックまたは異なるサンプルロケーションに異なるフィルタリングを適用することができる)。異なる補間フィルタは、例えば、異なる組のフィルタ係数、異なる数のフィルタ係数、またはおそらくは異なるフィルタタイプによって定義することができる。いずれの場合も、複数の事前定義された補間フィルタを提供することによって、改善されたデータ圧縮のための補間データを提供することができる。
復号器は、符号化ビデオデータを受け取り、符号器によって使用された補間フィルタを識別するために、シンタックスを解釈することができる。このようにして、復号器は、その動き補償プロセスの最中に、符号化プロセスの最中に使用されたのと同じ補間フィルタを識別し、使用することができる。やはり、符号器において多数の異なる補間フィルタを検討することによって、単一の定められた補間フィルタを有する技術と比べて、圧縮を改善することができる。同時に、この技術は、符号化プロセスの一部として補間フィルタを(フィルタ係数を選択することによって)適応的に定義する従来の適応補間フィルタリングよりも、複雑さを著しく低減することができる。一例として、良好な圧縮をもたらす可能性が高い補間フィルタ係数の組を事前定義するために、テストビデオシーケンスに対して適応補間フィルタリングまたは他の技術を実施することによって、補間フィルタを事前定義することができる。
本開示の別の態様では、4分の1ピクセル補間のための2分の1ピクセル値の中間丸めを排除または著しく削減する補間技術が説明される。中間丸めを排除または著しく削減する補間技術は、事前定義された補間フィルタを使用する上述の技術とともに、または別に使用することができる。言い換えると、中間丸めを排除または著しく削減する補間技術は、1つまたは複数の事前定義された補間フィルタによる補間の最中に使用することができるが、固定的な補間フィルタを使用する補間またはおそらくは適応的な改良補間技術とともに使用することもできる。
本開示は、2分の1ピクセル値の従来の丸めが原因で生じ得る符号化の非効率性を認識し、中間丸めを排除または削減することによって補間を改善する技術を提案する。この場合、補間された2分の1ピクセル値は、2分の1ピクセル補間の目的で丸めることができる。しかし、1つまたは複数の補間された2分の1ピクセル値に基づいて生成できる4分の1ピクセル値は、2分の1ピクセル値の丸めなしバージョンに依存することができる。これによって、2分の1ピクセル値から4分の1ピクセル値への丸め誤差の伝播を排除することができる。場合によっては、16ビットデータ構造を使用して、任意の中間値を保存できることを保証するために、僅少な丸めを2分の1ピクセル値のいくつかに適用することができる。場合によっては、丸めを適切に実行することによって、最終的な精度に対する僅少な丸めの影響をゼロにすることができる。いずれの場合も、中間丸めの排除または削減は、本明細書で説明されるように、複数の事前定義された補間フィルタの実施とともに、または別に行うことができる。
図1は、本開示の技術を実施できる1つの例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、符号化ビデオを通信チャネル15を介して送信先デバイス16に送信する送信元デバイス12を含む。送信元デバイス12および送信先デバイス16は、多種多様なデバイスのいずれかを備えることができる。場合によっては、送信元デバイス12および送信先デバイス16は、通信チャネル15を介してビデオ情報を伝達できる、無線ハンドセット、いわゆるセルラもしくは衛星無線電話、または任意の無線デバイスなどの、無線通信デバイスを備え、どの場合も、通信チャネル15は無線である。しかし、動き補償補間に関する本開示の技術は、必ずしも無線適用例または環境に限定されない。
図1の例では、送信元デバイス12は、ビデオソース20と、ビデオ符号器22と、変調器/復調器(モデム)23と、送信機24とを含むことができる。送信先デバイス16は、受信機26と、モデム27と、ビデオ復号器28と、表示デバイス30とを含むことができる。本開示によれば、送信元デバイス12のビデオ符号器22は、ビデオ符号化プロセスの一部として、本開示の1つまたは複数の補間技術を適用するように構成することができる。同様に、送信先デバイス16のビデオ復号器28は、ビデオ復号プロセスの一部として、本開示の1つまたは複数の補間技術を適用するように構成することができる。
図1の図示されたシステム10は、例示的なものにすぎない。本開示の補間技術は、サブピクセル解像度に対して動き補償補間をサポートする任意の符号化デバイスによって実行することができる。送信元デバイス12および送信先デバイス16は、そのような符号化デバイスの単なる例にすぎない。この場合、送信元デバイス12は、送信先デバイス16に送信するための符号化ビデオデータを生成する。デバイス12、16は、デバイス12、16の各々が、例えば組み合わせ符号器−復号器(CODEC)内にビデオ符号化コンポーネントとビデオ復号コンポーネントを含むような、実質的に対称的な方法で動作することができる。したがって、システム10は、例えば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ビデオデバイス12、16の間の単方向または双方向伝送をサポートすることができる。
送信元デバイス12のビデオソース20は、ビデオカメラ、以前キャプチャされたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダからのビデオフィードなどの、ビデオキャプチャデバイスを含むことができる。さらなる代替として、ビデオソース20は、ソースビデオとしてコンピュータグラフィックスベースのデータを生成することができ、またはライブビデオ、アーカイブビデオ、およびコンピュータ生成ビデオの組み合わせを生成することができる。場合によっては、ビデオソース20がビデオカメラである場合、送信元デバイス12および送信先デバイス16は、いわゆるカメラ電話またはビデオ電話を形成することができる。どの場合も、キャプチャ、事前キャプチャ、またはコンピュータ生成されたビデオは、ビデオ符号器22によって符号化することができる。その後、符号化ビデオ情報は、モデム23によって、例えば符号分割多元接続(CDMA)または別の通信規格などの、通信規格に従って変調することができ、送信機24を介して送信先デバイス16に送信することができる。モデム23は、様々な混合器、フィルタ、増幅器、または信号変調用に設計された他のコンポーネントを含むことができる。無線適用例の場合、送信機24は、増幅器、フィルタ、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含むことができる。
送信先デバイス16の受信機26は、チャネル15を介して情報を受信し、モデム27は、その情報を復調する。やはり、ビデオ符号化プロセスは、動き補償の最中の補間を改善するために、本明細書で説明される技術の1つまたは複数を実施することができる。ビデオ復号器28によって実行されるビデオ復号プロセスも、復号プロセスの動き補償ステージの最中に補間を実行することができる。表示デバイス30は、ユーザに復号ビデオデータを表示し、ブラウン管、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示デバイスなど、様々な表示デバイスのいずれかを備えることができる。
図1の例では、通信チャネル15は、無線周波数(RF)スペクトル、または1つもしくは複数の物理通信回線、あるいは無線媒体と有線媒体の任意の組み合わせなど、任意の無線または有線通信媒体を備えることができる。通信チャネル15は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースのネットワークの一部を形成することができる。通信チャネル15は一般に、ビデオデータを送信元デバイス12から送信先デバイス16に送信するための、任意の適切な通信媒体、または異なる通信媒体の集まりを表す。
ビデオ符号器22およびビデオ復号器28は、代替的にMPEG−4パート10高度ビデオ符号化(AVC)とも呼ばれる、ITU−T H.264規格などの、ビデオ圧縮規格に従って動作することができる。しかし、本開示の技術は、いずれか特定の符号化規格に限定されない。図1には示されていないが、いくつかの態様では、ビデオ符号器22およびビデオ復号器28は各々、オーディオ符号器およびオーディオ復号器と統合することができ、共通のデータストリームまたは別々のデータストリーム内のオーディオとビデオ両方の符号化を処理するために、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含むことができる。妥当な場合には、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠することができる。
ITU−T H.264/MPEG−4(AVC)規格は、ITU−Tのビデオ符号化エキスパートグループ(VCEG(Video Coding Experts Group))とISO/IECのムービングピクチャエキスパートグループ(MPEG(Moving Picture Experts Group))が一緒になって、ジョイントビデオチーム(JVT(Joint Video Team))として知られる共同パートナシップの成果物として策定した。いくつかの態様では、本開示で説明される技術は、一般にH.264規格に準拠するデバイスに適用することができる。H.264規格は、ITU−Tのスタディグループによる、2005年3月日付の、ITU−T勧告H.264、汎用的なオーディオビジュアルサービスのための高度ビデオ符号化において説明されており、同勧告は、本明細書では、H.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ばれることがある。ジョイントビデオチーム(JVT)は、H.264/MPEG−4 AVCを拡張する作業を続けている。
ビデオ符号器22およびビデオ復号器28は各々、1つまたは複数のマイクロプロセッサ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレー(FPGA)、個別論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組み合わせとして実施することができる。ビデオ符号器22およびビデオ復号器28の各々は、1つまたは複数の符号器または復号器内に含むことができ、そのどちらも、組み合わせCODECの一部として、個々の移動体デバイス、加入者デバイス、放送デバイス、またはサーバなどに統合することができる。
ビデオシーケンスは一般に、一連のビデオフレームを含む。ビデオ符号器22は、ビデオデータを符号化するために、個々のビデオフレーム内のビデオブロックに対して操作を施す。ビデオブロックは、固定サイズまたは可変サイズを有することができ、指定された符号化規格によってサイズが異なることができる。各ビデオフレームは、一連のスライスを含む。各スライスは、一連のマクロブロックを含むことができ、マクロブロックは、サブブロックに配列することができる。一例として、ITU−T H.264規格は、輝度(luma)成分についての16×16、8×8、または4×4、色度(chroma)成分についての8×8など、様々なブロックサイズにおけるイントラ予測(intra prediction)をサポートするばかりでなく、輝度成分についての16×16、16×8、8×16、8×8、8×4、4×8、または4×4、色度成分についての対応するスケールサイズなど、様々なブロックサイズにおけるインター予測(inter prediction)もサポートする。ビデオブロックは、ピクセルデータのブロック、または例えば、離散コサイン変換もしくは概念的に類似の変換プロセスなどの変換プロセスに従った、変換係数のブロックを備えることができる。
より小さなビデオブロックは、より良い解像度を提供することができ、高レベルの詳細を含むビデオフレームのロケーションに対して使用することができる。一般に、マクロブロック(MB)および様々なサブブロックは、ビデオブロックであると見なすことができる。加えて、スライスは、MBおよび/またはサブブロックなどの一連のビデオブロックであると見なすことができる。各スライスは、ビデオフレームの独立に復号可能な単位とすることができる。ビデオ符号器22およびビデオ復号器28は、インターベースの予測符号化を実行し、インターベースの予測符号化は、予測参照データの生成と、残差データを生成するための、予測参照データからの符号化されるビデオブロックの減算とを含み、残差データには後で、変換、量子化、およびエントロピー符号化を施すことができる。インターベースの予測符号化は、本開示による予測データの補間を含むことができる。
(本開示の補間技術を含む)インターベースの予測符号化と、(H.264/AVCにおいて使用される4×4もしくは8×8整数変換、または離散コサイン変換DCTなどの)任意の変換に続いて、量子化を実行することができる。量子化は一般に、係数を表すのに使用されるデータの量をおそらくは削減するために、係数を量子化するプロセスのことを指す。量子化プロセスは、係数の一部または全部に関連するビット深さを減少させることができる。例えば、16ビット値は、量子化の間に15ビット値に丸めることができる。量子化に続いて、例えば、コンテンツ適応可変長符号化(CAVLC)、コンテキスト適応バイナリ算術符号化(CABAC)、または別のエントロピー符号化方法による、エントロピー符号化を実行することができる。
本開示の技術によれば、ビデオ符号器22は、複数の異なる補間予測データを生成するために、複数の事前定義された補間フィルタを適用することができる。最高レベルの圧縮を達成する補間予測データを、ビデオ符号器22によって選択することができ、選択された補間予測データのために使用された補間フィルタは、シンタックスとして符号化し、符号化ビデオデータの一部として送信先デバイス16に伝達することができる。この場合、ビデオ復号器28は、符号化ビデオデータを受け取り、ビデオ符号器22によって使用された補間フィルタを識別するために、シンタックスを解釈することができる。したがって、ビデオ復号器28は、その動き補償復号プロセスの最中に、符号化プロセスの最中に使用されたのと同じ補間フィルタを識別し、使用することができる。事前定義された異なる補間フィルタは、異なる組のフィルタ係数(フィルタタップ)を有する類似のフィルタを備えることができる。代替的に、事前定義された異なる補間フィルタは、異なる数のフィルタタップ、またはおそらくは全く異なるタイプのフィルタ構成を有するフィルタを備えることもできる。
また、本開示の別の態様によれば、ビデオ符号器22およびビデオ復号器28は、4分の1ピクセル補間のための2分の1ピクセル値の中間丸めを排除または著しく削減する補間技術を適用することができる。この場合、ビデオ符号器22およびビデオ復号器28は、2分の1ピクセル補間の目的で、補間された2分の1ピクセル値を丸めることができる。しかし、4分の1ピクセル補間の場合、ビデオ符号器22およびビデオ復号器28は、2分の1ピクセル値から4分の1ピクセル値への丸め誤差の伝播を低減または排除するために、2分の1ピクセル値の丸めなしバージョンを保存し、使用することができる。場合によっては、固定サイズの記憶要素(例えば16ビットレジスタ)を使用して、任意の中間値を保存できることを保証するために、僅少な丸めを、2つのレベルの補間を必要とする1つの特定の2分の1ピクセル値に適用することができる。場合によっては、本明細書で説明されるように、丸めを適切に実行することによって、最終的な精度に対する僅少な丸めの影響をゼロにすることができる。
図2は、本開示に従った動き補償補間を実行できるビデオ符号器50の一例を示すブロック図である。ビデオ符号器50は、デバイス20のビデオ符号器22または異なるデバイスのビデオ符号器に対応することができる。ビデオ符号器50は、ビデオフレーム内のブロックのイントラ符号化およびインター符号化を実行することができるが、イントラ符号化は図示されていない。イントラ符号化は、与えられたビデオフレーム内のビデオの空間冗長性を低減または排除するために、空間的予測に依存する。インター符号化は、ビデオシーケンスの隣接フレーム内のビデオの時間冗長性を低減または排除するために、時間的予測に依存する。イントラモード(Iモード(登録商標))は、空間ベースの圧縮モードを指すことができ、予測(Pモード)または双方向(Bモード)などのインターモードは、時間ベースの圧縮モードを指すことができる。本開示の技術は一般に、インター符号化の最中に適用することができ、したがって、空間的予測ユニットなどのイントラ符号化ユニットは、説明を簡潔で分かりやすくするために、図2には図示されていない。しかし、本開示の丸め技術は、空間的予測およびイントラ符号化技術にも適用可能なことがある。
図2に示されるように、ビデオ符号器50は、符号化されるビデオフレーム内の現在のビデオブロックを受け取る。図2の例では、ビデオ符号器50は、動き推定ユニット32と、動き補償ユニット35と、参照フレームストア34と、加算器48と、変換ユニット38と、量子化ユニット40と、エントロピー符号化ユニット46とを含む。ビデオブロック再構成の場合、ビデオ符号器50は、逆量子化ユニット42と、逆変換ユニット44と、加算器51も含む。ブロック境界をフィルタリングして、再構成ビデオから濃淡むらアーチファクト(blockiness artifact)を除去するために、デブロッキングフィルタ(図示されず)を含むこともできる。望ましい場合、デブロッキングフィルタは一般に、加算器51のアウトプットをフィルタリングする。
符号化プロセスの最中、ビデオ符号器50は、符号化されるビデオブロックを受け取り、動き推定ユニット32および動き補償ユニット35は、インター予測符号化を実行する。動き推定ユニット32および動き補償ユニット35は、高度に統合することができるが、概念的な目的で別々に示されている。動き推定は一般に、ビデオブロックの動きを推定する動きベクトルを生成するプロセスと見なされる。動きベクトルは、例えば、現在のフレーム(または他の符号化単位)内の符号化される現在のブロックに対する、予測フレーム(または他の符号化単位)内の予測ブロックの変位を表すことができる。動き補償は一般に、動き推定によって決定された動きベクトルに基づいて、予測ブロックをフェッチまたは生成するプロセスと見なされる。やはり、動き推定ユニット32および動き補償ユニット35は、機能的に統合することができる。本開示で説明される補間技術は、動き補償ユニット35によって実行されるものとして説明される。しかし、補間は、最良の動きベクトルの選択を容易にするために、動き推定の最中に実行することもできる。
本開示によれば、動き推定32は、ビデオブロックを予測符号化単位(例えば以前のフレーム)のビデオブロックと比較することによって、符号化されるビデオブロックにとって適切な動きベクトルを選択する。この時点で、動き補償ユニット35は、サブピクセル解像度で予測データを生成するために、補間を実行することができる。場合によっては、動き推定の最中には、補間は、固定的な補間フィルタに基づくことができる。他の場合には、(以下で概説されるような)動き補償の最中に適用される異なる補間フィルタを、動きベクトル選択の目的で、動き推定プロセスの最中に使用することもできる。
動き推定ユニット32が、符号化されるビデオブロックのための動きベクトルを選択すると、動き補償ユニット35は、その動きベクトルに関連する予測ビデオブロックを生成する。しかし、本開示によれば、動き補償ユニット35は、サブピクセル解像度を有する任意の予測ビデオブロックのいくつかのバージョンを検討することができる。この場合、動き補償ユニット35は、符号化されるビデオブロックのための複数の異なる補間予測データを生成するために、複数の事前定義された補間フィルタを適用することができる。その後、動き補償ユニット35は、最高レベルの圧縮を達成する補間予測データ(例えば、補間フィルタの1つに関連する補間ビデオブロック)を選択する。補間データを生成するのに使用された補間フィルタは、補間シンタックスとして符号化することができ、符号化ビットストリームに含めて、エントロピー符号化ユニット46に伝達することができる。動き補償ユニット35が、最良の補間フィルタを選択し、適用すると、動き補償ユニット35は、その補間フィルタを使用して、予測データを生成し、ビデオ符号器は、残差データを生成するために、加算器48を利用して、その予測データを符号化されるビデオブロックから減算する。
また、本開示の別の態様によれば、ビデオ符号器22およびビデオ復号器28は、4分の1ピクセル補間のための2分の1ピクセル値の中間丸めを排除または著しく低減する補間技術を適用することができる。この場合、ビデオ符号器22およびビデオ復号器28は、2分の1ピクセル補間の目的で、補間された2分の1ピクセル値を丸めることができる。しかし、4分の1ピクセル補間の場合、ビデオ符号器22およびビデオ復号器28は、2分の1ピクセル値から4分の1ピクセル値への丸め誤差の伝播を低減または排除するために、2分の1ピクセル値の丸めなしバージョンを保存し、使用することができる。場合によっては、固定サイズの記憶要素(例えば16ビットレジスタ)を使用して、任意の中間値を保存できることを保証するために、僅少な丸めを、2つのレベルの補間を必要とする1つの特定の2分の1ピクセル値に適用することができる。
述べられたように、動き補償ユニット35が、予測データ(例えば補間予測ビデオブロック)を生成すると、ビデオ符号器50は、符号化される元のビデオブロックから予測データを減算することによって、残差ビデオブロックを形成する。加算器48は、この減算演算を実行する1つまたは複数のコンポーネントを表す。変換ユニット38は、離散コサイン変換(DCT)または概念的に類似の変換などの変換を残差ブロックに適用して、残差変換ブロック係数を備えるビデオブロックを生成する。変換ユニット38は、例えば、概念的にDCTに類似したH.264規格によって定義された変換など、他の変換を実行することもできる。ウェーブレット変換、整数変換、サブバンド変換(sub-band transform)、または他のタイプの変換も使用することができる。いずれの場合も、変換ユニット38は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換は、残差情報をピクセル領域から周波数領域に変換することができる。
量子化ユニット40は、ビットレートをさらに低減するために、残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深さを減少させることができる。例えば、16ビット値は、量子化の間に15ビット値に丸めることができる。量子化に続いて、エントロピー符号化ユニット46は、量子化された変換係数をエントロピー符号化する。例えば、エントロピー符号化ユニット46は、コンテンツ適応可変長符号化(CAVLC)、コンテキスト適応バイナリ算術符号化(CABAC)、または別のエントロピー符号化方法を実行することができる。エントロピー符号化ユニット46によるエントロピー符号化に続いて、符号化されたビデオは、別のデバイスに送信することができ、または後で送信もしくは取り出すためにアーカイブすることができる。符号化されたビットストリームは、エントロピー符号化残差ブロックと、そのようなブロックの動きベクトルと、動き補償ユニット35によって適用された補間フィルタを識別する補間シンタックスを含む他のシンタックスとを含むことができる。
逆量子化ユニット42および逆変換ユニット44は、例えば参照ブロックとして後で使用するための、ピクセル領域における残差ブロックを再構成するために、それぞれ逆量子化および逆変換を適用する。加算器51は、再構成残差ブロックを動き補償ユニット35によって生成された動き補償予測ブロックに加算して、参照フレームストア34内に保存される再構成ビデオブロックを生成する。再構成ビデオブロックは、後続のビデオフレーム内のブロックをインター符号化するために、動き推定ユニット32および動き補償ユニット35によって参照ブロックとして使用することができる。
図3は、本明細書で説明される方法で符号化されたビデオシーケンスを復号する、ビデオ復号器60の一例を示すブロック図である。ビデオ復号器60は、復号のために本開示の補間技術を実行する動き補償ユニット55を含む。特に復号側では、動き補償ユニット55は、複数の異なる事前定義された補間フィルタから補間フィルタを識別するシンタックス要素を、エントロピー復号ユニット52から受け取ることができる。動き補償ユニット55は、予測データを生成することができ、予測データの生成は、シンタックス要素によって識別された補間フィルタに基づいて、参照ビデオデータのピクセル値を補間することを含む。具体的には、動き補償ユニット55は、エントロピー復号ユニット52から受け取った動きベクトルと、(図3では補間シンタックスと呼ばれる)シンタックス要素によって定義された補間とに基づいて、予測データを生成することができる。この補間予測データに基づいて、ビデオデータ(例えば再構成残差ビデオブロック)を復号することができる。
エントロピー復号ユニット52は、受け取ったビットストリームをエントロピー復号して、量子化された係数ならびにシンタックス(例えば、動き補償ユニット55に送られる補間シンタックスおよび動きベクトル)を生成する。逆量子化ユニット56は、量子化されたブロック係数を逆量子化、すなわち脱量子化(de-quantize)する。逆量子化プロセスは、H.264復号によって定義されるような従来のプロセスとすることができる。逆変換ユニット58は、ピクセル領域における残差ブロックを生成するために、例えば逆DCTまたは概念的に類似の逆変換プロセスなどの逆変換を変換係数に適用する。動き補償ユニット55は、例えば、シンタックス要素(すなわち補間シンタックス)によって識別される補間フィルタ係数の組に基づいた補間を含む、本明細書で説明される方法で、動き補償ブロックを生成する。
加算器64は、残差ブロックを動き補償ユニット55によって生成された対応する予測ブロックと加算することによって、残差ブロックを復号して、復号ブロックを形成する。望ましい場合、濃淡むらアーチファクトを除去するために、デブロッキングフィルタを適用して、復号ブロックをフィルタリングすることもできる。その後、復号ビデオブロックは、参照フレームストア62内に保存され、参照フレームストアは、以降の動き補償に参照ブロックを提供し、(図1のデバイス30などの)駆動表示デバイスへの復号ビデオも生成する記憶要素である。
やはり、本開示の技術は、予測ビデオブロックのピクセル値がサブピクセル解像度にまで補間される動き補償補間に関する。符号器は、複数の事前定義された補間フィルタから望ましい補間フィルタを識別するために、本開示の技術を使用する。異なるフィルタは、異なる組のフィルタ係数、異なる数のフィルタ係数、または異なるフィルタタイプによって特徴付けることができる。復号器は、符号器によって使用されたのと同じ補間フィルタ係数の望ましい組を識別するために、符号器から送られたシンタックス要素を解釈する。
図4A〜図4Dは、予測ビデオブロックのピクセルを備えることができる整数ピクセルと補間ピクセルを示す概念図である。図4の概念的な図では、異なるボックスがピクセルを表す。(実線のボックス内の)大文字は、整数ピクセルロケーションを表し、(破線のボックス内の)小文字は、補間ピクセルロケーションを表す。本明細書では、文字ラベルは、ピクセルロケーションもしくはピクセル位置を表すために使用することができ、または様々なロケーションに関連するピクセル値を指すこともできる。ピクセルロケーション「aa」、「bb」、「cc」、「dd」、「ee」、「ff」、「gg」、「hh」、「ii」、「jj」は、ピクセルロケーション「C3」に関連する様々な分数ロケーションのうち、分数補間において使用される2分の1ピクセルロケーションである。
あらゆるピクセルロケーションは、例えば、ITU H.264/AVC規格に準拠する補間によれば、関連する15個の異なる分数ロケーションを有することができる。図4A〜図4Dの例では、ピクセル「C3」に関連するこれらの15個の異なる分数ロケーションが示されている。説明を簡潔で分かりやすくするために、(ピクセル「C3」に関連する15個の異なる分数ロケーションの1つまたは複数を生成するのに使用される上で言及されたもの以外の)他の分数ロケーションの大部分は示されていない。
ITU H.264/AVC規格では、2分の1ピクセル位置における輝度信号を獲得するために、係数[1,−5,20,20,−5,1]を有する6タップのウィーナフィルタ(Wiener filter)が一般に使用される。その後、4分の1ピクセルロケーションにおける輝度信号を獲得するために、双線形フィルタ(bilinear filter)が使用される。双線形フィルタは、H.264/AVCでは最大1/8ピクセル精度を有することができる、色度成分のための分数ピクセル補間においても使用することができる。
図4Bには、ピクセルロケーション「b」および「h」の2分の1ピクセル補間が、水平方向および垂直方向のそれぞれにおいて示されている。この場合、ピクセルロケーション「b」は、整数ピクセル「C1」、「C2」、「C3」、「C4」、「C5」、「C6」に基づいて、補間することができる。同様に、ピクセルロケーション「h」は、整数ピクセル「A3」、「B3」、「C3」、「D3」、「E3」、「F3」に基づいて、補間することができる。本明細書で説明されるように、ピクセルロケーション「b」および「h」の異なる補間値を生成するために、異なる補間フィルタ(例えば異なる組のフィルタタップ)を適用することができる。図4Bでは、補間ピクセルロケーション「b」および「h」は、網掛けで示され、整数ピクセルロケーション「C1」、「C2」、「C3」、「C4」、「C5」、「C6」、「A3」、「B3」、「C3」、「D3」、「E3」、「F3」は、平行斜線で示されている。
図4Cは、2つのレベルの補間を必要とすることがある1つの特殊な場合を示している。具体的には、ピクセルロケーション「j」は、ピクセルロケーション「j」自体が他の2分の1ピクセル値に基づいて補間される限りにおいて、他の2分の1ピクセルロケーションとは異なる。例えば、ピクセルロケーション「j」は、水平方向において、2分の1ピクセル補間値「cc」、「dd」、「h」、「ee」、「ff」、「gg」に基づいて補間することができる。代替的に、ピクセルロケーション「j」は、垂直方向において、2分の1ピクセル補間値「aa」、「bb」、「b」、「hh」、「ii」、「jj」に基づいて補間することができる。図4Cでは、補間ピクセルロケーション「j」は、網掛けで示され、垂直方向における2分の1ピクセル補間値「aa」、「bb」、「b」、「hh」、「ii」、「jj」は、右上がりの平行斜線で示され、2分の1ピクセル補間値「cc」、「dd」、「h」、「ee」、「ff」、「gg」は、右下がりの平行斜線で示されている。
図4Dは、4分の1ピクセルロケーション「a」、「c」、「d」、「e」、「f」、「g」、「i」、「k」、「l」、「m」、「n」、「o」を網掛けで示し、そのような4分の1ピクセル補間のために使用される整数ロケーションおよび2分の1ピクセルロケーション(例えば、「C3」、「b」、「C4」、「h」、「j」、「ee」、「D3」、「hh」、「D4」)を平行斜線で示している。
動き推定の後、与えられたビデオブロックにとって最良の動きベクトルを、例えばおそらくは符号化レートと品質とのバランスをとるためのレートひずみモデル(rate-distortion model)を使用して、識別することができる。その後、予測ビデオブロックが、動き補償の最中に、最良の動きベクトルを使用して形成される。上で概説されたように、元のビデオブロックから予測ビデオブロックを減算することによって、残差ビデオブロックが形成される。その後、残差ブロックに変換が適用され、ビットレートをさらに低減するために、変換係数が量子化およびエントロピー符号化される。
図4A〜図4Dを再び参照すると、これらの図は、(フルピクセルとも呼ばれる)整数ピクセルサンプルを大文字が記された実線ボックスで示している。任意の与えられた整数ピクセルサンプルに対して、全部で15個のサブピクセル位置が存在し、図4A〜図4Dでは、整数ピクセルサンプル「C3」について、「a」から「o」のラベルを有するサブピクセルが示されている。H.264/AVCでは、1次元6タップウィーナフィルタを使用して、2分の1ピクセル位置「b」、「h」、「j」を最初に計算することができる。述べられたように、2分の1ピクセル位置「j」は、6タップフィルタリングを使用する2つのレベルのこの補間を必要とすることがある。この場合、ピクセル位置「j」に対して、最初は水平方向に、次に垂直方向に補間フィルタが適用され、データが16ビット記憶要素内に保存できることを保証するために、おそらく1次元の補間の後には補間ピクセル値の中間丸めが行われる。その後、双線形フィルタと、すでに計算された2分の1ピクセルサンプルとを使用するフィルタリングを介して、残りの4分の1ピクセル位置が補間される。
ITU−T SG16/Q.6/VCEG(ビデオ符号化エキスパートグループ)委員会は、H.264/AVCよりも高い符号化効率を提供する符号化技術を探求している。そのような探求は、KTA(重要技術領域(Key Technology Areas))フォーラムにおいて行われている。KTAに採用された符号化ツールの1つは、適応補間フィルタ(AIF)と呼ばれる。AIFは、H.264/AVCにおいて、特に高解像度(例えば720p)のビデオシーケンスにおいて、大きな符号化利得を提供する。AIFでは、各サブピクセル位置のための補間フィルタは、予測誤差エネルギーを最小化することによって、各ビデオフレームについて解析的に計算される。その後、各フレームについて解析的に導出されるフィルタ係数が、予測され、量子化され、符号化され、ビデオビットストリームで送信される。
本開示の技術は、AIFによって達成されるものに匹敵する符号化改善を達成することができるが、AIFに比べて実施の複雑さを低減する。説明される技術は、各ビデオフレームのためのフィルタ係数を導出するために、解析的プロセスを必要としなくてよい。代わりに、一例では、フィルタ係数の異なる組が、リアルタイム用途のために、事前計算および事前定義される。この場合、フィルタ係数の事前定義は、テストシーケンスに適用されたAIF、または他の選択基準に基づくことができる。
3つの異なるタイプのAIF方式が、KTAに採用されている。第1のタイプは、2次元分離不能AIF(NS−AIF(non-separable AIF))であり、第2のタイプは、分離可能AIF(S−AIF(separable AIF))であり、第3のタイプは、方向性フィルタを備えるAIF(DAIF(AIF with directional filters))である。しかし、3つのAIF方式はすべて、フィルタ係数を導出するのに同じ解析的プロセスを使用し、そのプロセスは、以下では一例として、分離不能AIFを使用して説明される。
6×6の2次元分離不能フィルタが、係数
Figure 2013243720
を有し、i、j=0...5、SPは図4A〜図4Dに示される15個のサブピクセル位置(aからo)のうちの1つを表すと仮定する。15個のサブピクセル位置のうちの6個「a」、「b」、「c」、「d」、「h」、「l」は、6タップフィルタを使用して補間できる、1次元サブピクセル位置であることに留意されたい。また、参照フレームの整数ピクセル位置(図4A〜図4DにおけるA1からF6)における予測ピクセルが、ピクセル値Pi,jをとり、i、j=0...5であると仮定する。すなわち、A1は値P0,0をとり、...、A6は値P5,0をとり、...、F1は値P5,0をとり、...、F6は値P5,5をとる。その後、サブピクセル位置SP、SP∈{a,...,o}における補間値pSPを、以下の式を使用して計算することができる。
Figure 2013243720
x,yを、現在のビデオフレームの位置(x,y)におけるピクセル値であるとする。
Figure 2013243720
とし、ここで、(mvx,mvy)は動きベクトルであり、
Figure 2013243720
は動きベクトルの整数成分であり、FOはフィルタオフセットである。例えば、6タップフィルタの場合、FO=6/2−1=2である。各サブピクセル位置SPについて、現在のフレームにおける実際のピクセル値と補間値の間の予測誤差エネルギー
Figure 2013243720
は、サブピクセル位置SPに対応する動きベクトル精度を有するすべてのピクセルについて累積することができる。予測誤差エネルギー
Figure 2013243720
は、以下の式を使用して計算される。
Figure 2013243720
サブピクセル位置「a」...「o」の各々について、フィルタ係数
Figure 2013243720
に関して
Figure 2013243720
の微分を計算することによって、式の個々の組を設定することができる。この場合、式の数は、現在のサブペル位置SPのために使用されるフィルタ係数の数に等しい。6×6タップ2次元フィルタを使用する各2次元サブピクセル位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」、「o」については、36個の未知数を有する36個の式からなる連立式を解くことができる。1次元フィルタを必要とするだけの残りのサブピクセル位置「a」、「b」、「c」、「d」、「h」、「l」については、6個の式からなる連立式を解くことができる。
Figure 2013243720
要約すると、AIFフィルタを導出し、適用するプロセス例は、以下のステップを含むことができる。
1.動きベクトル(mvx,mvy)は、符号化されるあらゆるビデオフレームについて推定することができる。動き推定の最中には、固定的な補間フィルタ(例えばH.264/AVCの補間プロセス)を適用することができる。
2.これらの動きベクトルを使用して、各サブピクセル位置SPの予測誤差エネルギーを、現在のビデオフレームにわたって累積することができる。その後、上記の2つの予測エネルギー式におけるように、予測誤差エネルギーを最小化することによって、各サブピクセル位置SPについて独立に、適応フィルタ係数
Figure 2013243720
を計算することができる。
3.その後、新しい動きベクトルを推定することができる。この動き推定プロセスの最中に、ステップ2において計算された適応補間フィルタを適用することができる。適応補間フィルタを使用することで、エイリアシング(aliasing)、カメラノイズなどによって生じる動き推定誤差が低減され、より良い動き予測を達成することができる。
3つの既存のAIF方式はすべて、上で与えられたような同じ解析的プロセスを使用する。これらの方式の間の相違は、補間フィルタが分離可能かどうか、およびどのフィルタサポート(すなわち補間するために使用される整数ピクセル位置)が使用されるかに関わらず、使用される一意的なフィルタ係数の数に大部分は存する。これらの方式の各々において、ビデオビットストリームで送信される必要があるフィルタ係数の数を削減するために、ある対称性制約がAIFフィルタに課される。
上で言及されたように、H.264/AVCでは、補間は中間丸め演算を用いて実行される。従来は、2分の1ピクセル位置(「b」、「h」、「j」)は、4分の1ピクセル位置を獲得するために使用される前に、フィルタリングされ、丸められていた。さらに、4分の1ピクセル値を獲得するために使用される双線形フィルタリングの最中に、上方丸め(upward rounding)が使用されることがある(すなわち、従来の双線形フィルタにおいて、(a+b+1)>>1が使用されることがある)。そのような頻繁で偏向した丸め演算は、補間フィルタの精度を低下させることがある。特に、H.264/AVCにおいて使用される6タップウィーナフィルタおよび双線形フィルタから直接導出されるより高精度な補間フィルタが、H.264/AVCにおいて、特に720pシーケンスなどの高精細度ビデオシーケンスについて、著しい利得を提供することを、シミュレーションが示した。AIF方式(NS−AIF、S−AIF、DAIF)によって達成される利得のかなりの部分は、これらのAIF方式がH.264/AVCよりも高精度のフィルタを使用するという事実からもたらされ得る。
本開示によれば、相対的に簡単なオフセットを有する切替補間フィルタ(SIFO(switched interpolation filter with offset))を使用することができる。符号器側において非常にコストのかかるプロセスになる、各フレームのフィルタ係数の適応的な導出の代わりに、SIFO方式は、例えば、複数の異なる事前定義された組の補間フィルタ係数によってそれぞれが定義され得る、複数の固定的なフィルタの間で選択を行う。補間フィルタの選択は、フレームレベルまたはサブピクセル位置レベルにおいて行うことができ、それぞれフレームベース選択またはサンプルベース選択と呼ばれることがある。望ましい場合は、予測の後で、DCオフセットを追加することもでき、DCオフセットをフレームベースまたはサンプルベースで追加することもできる。したがって、1つまたは複数のDCオフセットを、各フレームに対して定義することができ、異なるDCオフセット(またはDCオフセットの組)を、フレームの異なるビデオブロックに対して定義することができる。異なるDCオフセットを、各ピクセルおよびサブピクセル補間位置に対して定義することができる。フレームは、符号化単位の一例であり、「フレームベース選択」という語句は、より広義には、符号化単位ベース選択のことを指す。場合によっては、例えば、フレームのスライスまたは部分を、個々の符号化単位として別々に符号化することができる。
固定的なフィルタの異なる組は、それぞれ図2および図3の動き補償ユニット35、55によって使用することができる。その例は、標準H.264フィルタセット、H.264/AVCに基づくがより高い精度をもつ(2分の1ピクセル位置のための中間丸め、および4分の1ピクセル位置のための偏向的な丸めを伴わない)フィルタセット、またはカスタマイズされた補間フィルタの1つもしくは複数の組を含む。カスタマイズされた補間フィルタの1つもしくは複数の組は、1組のトレーニングビデオシーケンスを使用することによって獲得することができる。予測誤差エネルギーを最小化する適応フィルタは、AIF方式において使用される解析的プロセスをトレーニングビデオシーケンスに適用することによって導出することができる。その後、各サブピクセル位置のための平均フィルタを計算し、本明細書で説明されたように、動き補償ユニット35、55によって適用されるカスタマイズされた補間フィルタとして使用することができる。
特定のサブピクセル位置のための平均フィルタは、すべてのフィルタ係数の合計が最大で1.0になるように正規化することもできる。平均フィルタは、ある固定小数点精度(例えば13ビット精度)に量子化することもできる。フィルタ係数における固定小数点精度の使用は、異なるプラットフォームにわたる実施がドリフトを起こさないことを保証する。さらに、真の固定小数点実施は、そのような事前定義されたフィルタ係数から導出することができる。どのカスタマイズされたフィルタも、異なる特性を有することができる。具体的には、異なるフィルタは、分離不能フィルタまたは分離可能フィルタとすることができ、異なるフィルタは、異なるフィルタサポート(例えば、6×6または4×4)を定義することができる。
いずれの場合も、任意の与えられた事例における最良の予測(例えば最小の予測誤差エネルギー)を提供するフィルタセットは、符号化プロセスの最中に、動き補償ユニット35によって選択することができる。やはり、フィルタセット選択は、フレームベースまたはサンプルベースとすることができ、すなわち、フィルタは、各フレーム(もしくは他の符号化単位)について選択することができ、または各フレームの異なるビデオブロックについて選択することができる。多数の参照フレームが使用される場合、異なる参照フレームに対して異なるフィルタセットを選択することができる。さらに、いくつかの参照フレームは、フレームベースのフィルタ選択を有することができるが、他の参照フレームは、サンプルベースのフィルタ選択を有することができる。フレームベースのフィルタ選択が使用される場合、およびカスタマイズされたフィルタセットが選択される場合、標準フィルタは、依然として2分の1ピクセル位置(例えば、位置「b」、「h」、「j」)に適用することができるが、カスタマイズされたフィルタセットは、他のサブピクセル位置に適用することができる。
補間の最中に、オフセットも加算することができる。予測値へのDCオフセットの加算は、異なるビデオフレーム間での、閃光や暗くなる空など、照度変化をキャプチャする助けとなることがある。本開示の方式では、DCオフセットは、フレームレベル(フレーム内のすべてのピクセルが同じDCオフセットを使用する)、またはサンプル位置レベル(異なるピクセルロケーションは異なるDCオフセットを有する)において適用することができる。サンプルベースのDCオフセットが使用される場合、整数ピクセルロケーションおよび15個の可能な非整数ピクセルロケーションが各々、異なるオフセットを定義できるように、16個のDCオフセットの合計をビデオビットストリームで送信する必要があることがある。サンプルベースのDCオフセットの適用は、簡単だが有効な動き区分化ツールとして役立つことがあるので、有益なことがある。例えば、静止背景として暗くなる空と、前景として運動する物体を含むビデオフレームを取り上げる。この場合、背景および前景は、異なる度合いの照度変化を有することがあり、サンプルベースのDCオフセットの使用が、前景および背景における異なる度合いの照度変化をキャプチャする助けとなることがある。
多数の参照フレームが使用される場合、異なる参照フレームのために異なるDCオフセットを計算し、送ることができる。さらに、いくつかの参照フレームは、フレームベースのDCオフセットを有することができるが、他のものは、サンプルベースのDCオフセットを有することができる。1つの特定の方式は、時間的距離が現在のフレームに最も近い参照フレームにのみサンプルベースのDCオフセットを使用し、他のすべての参照フレームにはフレームベースのDCオフセットを使用するものである。使用されたオフセットのタイプおよび異なるピクセルロケーションにおけるそのようなオフセットの大きさを復号器に通知するための情報を、ビットストリーム内に符号化することができる。
サブピクセル動きベクトルは、補間される必要がある、参照ピクチャにおけるサブピクセル位置を指す。H.264は、タップ値(1,−5,20,20,−5,1)を有する6タップフィルタを用いる水平および垂直フィルタリングによって、サブピクセルbおよびh(図4A〜図4を参照)が以下のように計算できる、サブピクセルのための1つの補間プロセスを定義する。
Figure 2013243720
ここで、「C1」、「C2」、「C3」、「C4」、「C5」、「C6」は、水平方向において「b」を取り囲む6個の最も近い整数ピクセルを表し、ピクセル「C3」、「C4」が最も近く、ピクセル「C2」、「C5」が次に最も近く、ピクセル「C1」、「C6」がその次に最も近い。
Figure 2013243720
ここで、「A3」、「B3」、「C3」、「D3」、「E3」、「F3」は、垂直方向において「h」を取り囲む6個の最も近い整数ピクセルを表し、ピクセル「C3」、「D3」が最も近く、ピクセル「B3」、「E3」が次に最も近く、ピクセル「A3」、「F3」がその次に最も近い。
この場合、「b」および「h」の値は、以下のように定義することができ、
Figure 2013243720
ここで、「>>」は右シフト演算である。本開示では、「>>」は右シフト演算を表し、「<<」は左シフト演算を表す。
サブピクセル「j」を補間するため、最初に中間値「j1」が以下のように導出され、
Figure 2013243720
ここで、「aa1」、「bb1」、「hh1」、「ii1」、「jj1」として表される中間値は、「aa」、「bb」、「hh」、「ii」、「jj」の位置におけるb1の計算と同じ方法で、水平に6タップフィルタを適用することによって導出される。最終値jは、以下のように計算することができる。
Figure 2013243720
「a」、「c」、「d」、「l」、「f」、「i」、「k」、「n」と命名された4分の1ピクセル位置におけるピクセルは、表1に従って、整数ピクセル位置および2分の1ピクセル位置における2つの最も近いピクセルを平均し、その後、上方丸めを適用することによって導出することができる。
Figure 2013243720
「e」、「g」、「m」、「o」と命名された4分の1ピクセル位置におけるピクセルは、表2に従って、対角線方向の2分の1ピクセル位置における2つの最も近いピクセルを平均し、その後、上方丸めを適用することによって計算される。
Figure 2013243720
それらの4分の1ピクセルの最終値は、最終的には区間(0,255)内の値にクリッピングすることができる。
中間ステップを通して可能な限り最高の精度を維持するため、補間プロセスのまさに最終ステップになるまで、いずれのシフト演算、丸め演算、およびクリッピング演算も回避することができる。H.264規格で定義された実施とは異なり、「a」、「c」、「d」、「l」、「f」、「i」、「k」、「n」と命名された4分の1ピクセル位置におけるピクセルは、表3に従って、整数ピクセル位置および2分の1ピクセル位置「b」、「h」、「j」、「ee」、「hh」における2つの最も近いピクセルを平均し、上方丸めを施すことによって導出される。
Figure 2013243720
この場合、「ee1」、「hh1」として表される中間値は、上で列挙された「h1」、「b1」の計算と同じ方法で、しかし「ee」、「hh」の位置において、6タップフィルタを垂直および水平に適用することによって導出される。丸めは、本明細書で説明されるように、「ee1」、「hh1」の生成のこのステージにおいては回避することができる。
「e」、「g」、「m」、「o」と命名された4分の1ピクセル位置におけるピクセルは、表4に従って、対角線方向の2分の1ピクセル位置における2つの最も近いピクセルを平均し、上方丸めを施すことによって計算することができる。
Figure 2013243720
それらの4分の1ピクセルの最終値は、区間(0,255)内の値にクリッピングすることができる。中間値の全精度を保存することによって、補間されたサブピクセルはより正確になる。特に、ロケーション「b」、「h」、「ee」、「hh」における2分の1ピクセル値は、4分の1ピクセル生成の目的で、「b1」、「h1」、「ee1」、「hh1」と表される丸めなしの値とすることができる。
残念ながら、位置jにおける補間は、2つのレベルの2分の1ピクセル補間を必要とするので、値「j」の補間は、より複雑になることがあり得る。特に、「j」を補間するため、20ビットが中間値「j1」を表すために必要とされることがある。この場合、「j」の中間バージョン「j1」は、16ビット内に収めるために丸められることがある。この場合、上で説明された演算は、すべての演算が、精度を犠牲にすることなく、16ビットデータ構造内に収まるように、僅かな修正を施して実施することができる。「b」および「h」の補間は、それらの中間バージョン「b1」および「h1」が他のサブピクセル補間のために保存され得ることを除いて、上で定義されたものと同じとすることができる。以下の表は、16ビット記憶要素における他のサブピクセルのための補間プロセスを示している。以下の表では、各列において定義される演算は、それぞれの表を通して逐次的に実行される。網掛けの行は、プロセスの最後で実行され、他のサブピクセル位置の補間のためには使用されない演算を含む。
Figure 2013243720
Figure 2013243720
以下の表7は、ピクセルロケーション「j」におけるピクセル値を導出する16ビット実施を示している。すべての1D 2分の1ピクセル「aa1」、「bb1」、「b1」、「hh1」、「ii1」、「jj1」は、シフトダウンなしに獲得される。オーバーフローを回避するためのクリッピング範囲は、(−2372,18640)である。やはり、表の網掛けの行は、補間プロセスの最後においてのみ実行される演算を示し、これらの結果は、他のサブピクセル位置の補間のためには使用されない。中間値「j1」は、「f」、「i」、「k」、「n」の補間のためにセーブされる。
Figure 2013243720
以下の表8は、中間値「j1」を補間するのに使用する位置である{f,i,k,n}を補間する16ビット実施のためにとることができるステップを示している。
Figure 2013243720
要するに、上述の説明は、実施にとって望ましい、16ビット記憶要素を超えることのない、あらゆる可能なサブピクセルロケーション「a」、「b」、「c」、「d」、「e」、「f」、「g」、「h」、「i」、「j」、「k」、「l」、「m」、「n」、「o」を補間するための完全な技術を示している。大部分の中間2分の1ピクセル値は、4分の1ピクセル補間の目的で、丸めを施さずに保たれる。しかし、ピクセルロケーション「j」は、2つのレベルの2分の1ピクセル補間を必要とするので、その2分の1ピクセル値を生成する目的で、中間結果の丸めを必要とすることがある特別の場合である。しかし、本開示によれば、ピクセルロケーション「j」における丸めは、「j」に依存する4分の1ピクセルの最終値の精度に影響しない。
図5は、本開示に従ったビデオ符号化の1つまたは複数の態様による流れ図である。図5は、図2に示されたビデオ符号器50の全体図から説明される。特に、動き補償ユニット35は、予測データを生成し(101)、予測データの生成は、複数の事前定義された補間フィルタに基づいて補間を行うことを含む。その後、動き補償ユニット35は、事前定義された補間フィルタの各々に関連する予測データに基づいて、ビデオデータを、例えばビデオブロックを符号化する(102)。例えば、動き補償ユニット35は、異なる残差ブロックを互いに比較して、最良の残差ブロックを見つけることができるように、加算器48を起動して、事前定義された補間フィルタの各々に関連する残差ブロックを生成することができる。動き補償ユニット35は、最高レベルの圧縮を達成するビデオデータを選択する(103)。特に、選択されたビデオデータは、最終アウトプットである、加算器48の「残差ブロック」アウトプットとして示されている。加算器48のこの最終アウトプットは、変換ユニット38によって変換され、量子化ユニット40によって量子化され、エントロピー符号化ユニット46によってエントロピー符号化される。
動き補償ユニット35は、最高レベルの圧縮を達成する選択された残差ビデオデータに関連する特定の補間フィルタも識別する(104)。動き補償ユニット35は、補間シンタックス要素をエントロピー符号化ユニット46に転送する。補間シンタックス要素は、使用された特定の補間フィルタを識別する。エントロピー符号化ユニット46は、アウトプットビットストリームの一部を形成するために、シンタックス要素を符号化する(105)。このようにして、送信先デバイスがビデオ再構成の最中に適切な補間フィルタリングを実行できるように、ビデオ符号器50において使用された補間フィルタ(例えば、使用されたフィルタ係数、または他のフィルタ設計もしくはパラメータ)を、送信先デバイスに伝達することができる。
補間フィルタリングは、フレーム毎ベースで定義することができ、またはビデオブロック毎ベースで定義することができる。また別の場合では、補間フィルタリングは、サンプル毎ベースで定義することができ、またはサブサンプル毎ベースで定義することができる。「ビデオ単位」という用語は、ビデオフレーム、ビデオブロック、ビデオサンプル、またはビデオサブサンプルを指すことができる。いずれの場合も、ビデオ符号器50は、ビデオデータの異なる符号化単位のための予測データを生成するのに使用される、異なる参照ビデオ単位のための異なる補間フィルタを識別するために、異なるシンタックス要素を符号化することができる。代替的に、ビデオ符号器は、参照ビデオデータの異なるビデオブロックのために使用される異なる補間フィルタを識別するために、異なるシンタックス要素を符号化することができる。いずれの場合も、補間フィルタは、テストビデオシーケンスを使用して、事前定義することができる。この場合、例えば、望ましい結果を達成する異なる補間フィルタを定義するために、適応補間フィルタ(AIF)をビデオシーケンスに適用することができ、これらの補間フィルタは、動き補償ユニット35内にプログラムすることができる。
図6は、本開示に従ったビデオ復号の1つまたは複数の態様による流れ図である。図6は、図2に示されたビデオ符号器50の全体図から説明される。特に、ビデオ符号器60は、符号化されたビデオデータを受け取り(111)、複数の補間フィルタから補間フィルタを識別するシンタックス要素を受け取る(112)。符号化されたビットストリームは、符号化された残差ビデオデータと、符号器において使用された補間フィルタを識別するシンタックス要素の両方を含むことができる。エントロピー復号ユニット52は、受け取ったビットストリームを復号して、逆量子化ユニット56および逆変換ユニット58に送られる、変換および量子化された残差ブロックを解析出力(parse out)し、ならびに動き補償ユニット55に送られる、補間シンタックス要素および動きベクトルを解析出力する。
動き補償ユニット55は、予測データを生成し(113)、予測データの生成は、シンタックス要素によって識別される補間フィルタに基づいた補間を含む。ビデオ復号器60は、予測データに基づいてビデオデータを復号する(114)。特に、動き補償ユニット55によって生成された予測データは、ピクセル領域においてビデオデータを再構成するために、加算器64を介して残差データと合成することができる。その後、復号されたビデオは、予測における後の使用のために、参照フレームストア62内に保存することができ、ユーザに提示するために、例えばディスプレイまたは他の出力装置を介してアウトプットすることもできる。
符号化と同様に、復号プロセスの最中の補間フィルタリングも、フレーム毎ベースで定義することができ、またはビデオブロック毎ベース、サンプル毎ベース、もしくはサブサンプル毎ベースで定義することができる。特に、ビデオ復号器60は、ビデオデータの異なる符号化単位のための予測データを生成するのに使用される、異なる参照ビデオ単位のための異なる補間フィルタを識別するために、異なるシンタックス要素を復号することができ、または代替的に、ビデオ復号器60は、参照ビデオデータの異なるビデオブロックのために使用される異なる補間フィルタを識別するために、異なるシンタックス要素を復号することができる。いずれの場合も、補間フィルタは、テストビデオシーケンスを使用して、事前定義することができ、シンタックスを使用して、動き補償ユニット55内で適切な補間フィルタを識別し、起動できるように、これらの補間フィルタは、動き補償ユニット55内にプログラムすることができる。
図7は、符号化プロセスの最中に動き補償ユニット35によって、または復号プロセスの最中に動き補償ユニット55によって実行され得る補間技術を示している。図7に示されるように、動き補償ユニット35または55は、整数ピクセル値に基づいて2分の1ピクセル値を生成する(121)。例えば、これらの2分の1ピクセル値は、図4A〜図4Dのロケーション「b」および「h」におけるピクセル値に対応することができる。動き補償ユニット35または55は、2分の1ピクセル補間値を生成するために、これらの2分の1ピクセル値を丸めるが(122)、2分の1ピクセル値の丸めなしバージョンを保存もする(123)。動き補償ユニット35および55は、2分の1ピクセル値の丸めなしバージョンに対応する中間値のこの一時記憶を容易にするために、記憶要素を有することができる。その後、動き補償ユニット35または55は、丸めなし2分の1ピクセル値と、整数ピクセル値とに基づいて、4分の1ピクセル値を生成することができる(124)。これらの4分の1ピクセル値は、例えば、図4A〜図4Dに示されるロケーション「a」、「c」、「d」、「l」に対応することができる。
上で説明されたように、図4A〜図4Dのロケーション「j」における2分の1ピクセル値は、ロケーション「j」が2つのレベルの2分の1ピクセル補間を必要とすることがあるので、中間値の何らかの丸めを必要とすることがある。図8は、16ビットなどの固定ビット実施内で補間値のすべて(図4A〜図4Dに示された「a」から「o」)を生成するために、符号化プロセスの最中に動き補償ユニット35によって、または復号プロセスの最中に動き補償ユニット55によって実行され得る補間技術を示している。
図7のプロセスと同様に、図8のプロセスは、動き補償ユニット35または55が、例えば、図4A〜図4Dのロケーション「b」および「h」におけるピクセル値に対応し得る整数ピクセル値に基づいて、2分の1ピクセル値を生成する(131)ことで開始する。その後、動き補償ユニット35または55は、2分の1ピクセル補間値を生成するために、これらの2分の1ピクセル値を丸めるが(132)、2分の1ピクセル値の丸めなしバージョンを保存もする(133)。
次に、動き補償ユニット35または55は、丸めなし2分の1ピクセル値に基づいて、追加的な2分の1ピクセル値(図4A〜図4Dのロケーション「j」に対応する値)を生成する。動き補償ユニット35または55は、「j」に依存する4分の1ピクセルの精度を犠牲にすることなく、追加的な2分の1ピクセル値(図4A〜図4Dのロケーション「j」に対応する値)が固定的なビット深さ内に収まることを保証するために、必要な場合は、この値を丸める(135)。その後、動き補償ユニット35または55は、丸めなしの2分の1ピクセル値と、追加的な2分の1ピクセル値と、整数ピクセル値とに基づいて、4分の1ピクセル値を生成することができる(136)。このようにして、図4Dにおいて網掛けで示された4分の1ピクセル値のすべて(例えば、ロケーション「a」、「c」、「d」、「e」、「f」、「g」、「i」、「k」、「l」、「m」、「n」、「o」)を生成することができる。上記の表および説明は、このプロセスにおいて実行され得る演算についてのより具体的な詳細を提供する。
図7および図8の技術は、多くの異なる補間事例に適用することができる。特に、これらの技術は、事前定義された補間フィルタを使用する本明細書で説明された他の技術とともに、または別に使用することができる。言い換えると、中間丸めを排除または著しく削減する図7および図8の技術は、1つまたは複数の事前定義された補間フィルタによる補間の最中に使用することができるが、固定的な補間フィルタを使用する補間またはおそらくは適応的な改良補間技術とともに使用することもできる。したがって、本明細書で説明される異なる技術は、必ずしも一緒に実行される必要はないが、多くの異なる補間環境または状況において、望ましい適用例を有することができる。
本開示の技術は、無線ハンドセットを含む多種多様なデバイスまたは装置、および集積回路(IC)またはICの組(すなわちチップセット)において具現することができる。いずれのコンポーネント、モジュール、またはユニットも、機能的態様を強調するように説明され、提供されており、必ずしも異なるハードウェアユニットなどによる実現を必要とするわけではない。
したがって、本明細書で説明される技術は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実施することができる。ハードウェアで実施される場合、モジュール、ユニット、またはコンポーネントとして説明された機能はいずれも、統合された論理デバイスにおいて一緒に、または別個だが相互運用可能な論理デバイスとして別々に実施することができる。ソフトウェアで実施される場合、技術は、プロセッサで実行された場合に上で説明された方法の1つまたは複数を実行する命令を備えるコンピュータ可読媒体によって、少なくとも部分的に実現することができる。コンピュータ可読媒体は、コンピュータ可読記憶媒体を備えることができ、パッケージング材料を含み得るコンピュータプログラム製品の一部を形成することができる。コンピュータ可読記憶媒体は、同期型ダイナミックランダムアクセスメモリ(SDRAM)などのランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、不揮発性ランダムアクセスメモリ(NVRAM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリ、および磁気または光データ記憶媒体などを備えることができる。技術は、追加的または代替的に、コンピュータによってアクセス、読み取り、および/または実行され得る、命令またはデータ構造の形態をとるコードを伝送または伝達するコンピュータ可読通信媒体によって、少なくとも部分的に実現することができる。
コードは、1つまたは複数のディジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレー(FPGA)、または他の等価な統合もしくは個別論理回路などの、1つまたは複数のプロセッサによって実行することができる。したがって、本明細書で使用される「プロセッサ」という用語は、上記の構造または本明細書で説明された技術の実施に適した他の任意の構造のいずれかを指すことができる。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のソフトウェアモジュールもしくはハードウェアモジュール内で提供することができ、または組み合わされたビデオ符号器−復号器(CODEC)内に含むことができる。また、技術は、1つまたは複数の回路または論理要素で完全に実施することができる。
本開示の様々な態様が説明された。上記および他の態様は、以下の特許請求の範囲内にある。
本開示の様々な態様が説明された。上記および他の態様は、以下の特許請求の範囲内に
ある。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]ビデオ符号化のために予測ビデオデータを補間する方法であって、
整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、
2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸めることと、
前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存することと、
前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成することと
を備える方法。
[2]複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
をさらに備える、上記[1]に記載の方法。
[3]前記値のどの1つも、16ビットデータ構造内に保存することができ、
複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸めることと、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
をさらに備える、上記[1]に記載の方法。
[4]前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを符号化すること
をさらに備える、上記[1]に記載の方法。
[5]前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを復号すること
をさらに備える、上記[1]に記載の方法。
[6]ビデオ符号化のために予測ビデオデータを補間する装置であって、
整数ピクセル値に基づいて、2分の1ピクセル値を生成し、
2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸め、
前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存し、
前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成する
動き補償ユニットを含む装置。
[7]前記動き補償ユニットが、
複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成し、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成する、
上記[6]に記載の装置。
[8]前記値のどの1つも、16ビットデータ構造内に保存することができ、前記動き補償ユニットが、
複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成し、
前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸め、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成する、
上記[6]に記載の装置。
[9]前記動き補償ユニットを含むビデオ符号器を備え、前記ビデオ符号器が、
前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを予測的に符号化する、
上記[6]に記載の装置。
[10]前記動き補償ユニットを含むビデオ復号器を備え、前記ビデオ復号器が、
前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを予測的に復号する、
上記[6]に記載の装置。
[11]集積回路を備える、上記[6]に記載の装置。
[12]マイクロプロセッサを備える、上記[6]に記載の装置。
[13]実行された場合にデバイスにビデオ符号化のために予測ビデオデータを補間させる命令であって、
整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、
2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸めることと、
前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存することと、
前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成することと
を前記デバイスに行わせる命令を備える、コンピュータ可読記憶媒体。
[14] 実行された場合に
複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
をデバイスに行わせる命令をさらに備える、上記[13]に記載のコンピュータ可読記憶媒体。
[15]前記値のどの1つも、16ビットデータ構造内に保存することができ、実行された場合に
複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸めることと、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
をデバイスに行わせる命令をさらに備える、上記[13]に記載のコンピュータ可読記憶媒体。
[16]実行された場合に
前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを符号化すること
をデバイスに行わせる命令をさらに備える、上記[13]に記載のコンピュータ可読記憶媒体。
[17]実行された場合に
前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを復号すること
をデバイスに行わせる命令をさらに備える、上記[13]に記載のコンピュータ可読記憶媒体。
[18]ビデオ符号化のために予測ビデオデータを補間するデバイスであって、
整数ピクセル値に基づいて、2分の1ピクセル値を生成するための手段と、
2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸めることと、
前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存するための手段と、
前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成するための手段と
を備えるデバイス。
[19]複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成するための手段と、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成するための手段と
をさらに備える、上記[18]に記載のデバイス。
[20]前記値のどの1つも、16ビットデータ構造内に保存することができ、
複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成するための手段と、
前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸めるための手段と、
前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成するための手段と
をさらに備える、上記[18]に記載のデバイス。
[21]前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを符号化するための手段
をさらに備える、上記[18]に記載のデバイス。
[22]前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを復号するための手段
をさらに備える、上記[18]に記載のデバイス。
[23]ビデオデータを符号化するデバイスであって、
整数ピクセル値に基づいて、2分の1ピクセル値を生成し、2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸め、前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存し、前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成する動き補償ユニットを含むビデオ符号器と、
前記動き補償ユニットによって符号化された前記ビデオデータを別のデバイスに送信する無線送信機と
を備えるデバイス。
[24]無線通信ハンドセットを備える、上記[23]に記載のデバイス。
[25]ビデオデータを復号するデバイスであって、
前記ビデオデータを受信する無線受信機と、
前記ビデオデータを復号する動き補償ユニットを含むビデオ復号器であって、前記動き補償ユニットが、
整数ピクセル値に基づいて、2分の1ピクセル値を生成し、
2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸め、
前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存し、
前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成する、
ビデオ復号器と
を備えるデバイス。
[26]無線通信ハンドセットを備える、上記[25]に記載のデバイス。

Claims (26)

  1. ビデオ符号化のために予測ビデオデータを補間する方法であって、
    整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、
    2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸めることと、
    前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存することと、
    前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成することと
    を備える方法。
  2. 複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
    をさらに備える、請求項1に記載の方法。
  3. 前記値のどの1つも、16ビットデータ構造内に保存することができ、
    複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
    前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸めることと、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
    をさらに備える、請求項1に記載の方法。
  4. 前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを符号化すること
    をさらに備える、請求項1に記載の方法。
  5. 前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを復号すること
    をさらに備える、請求項1に記載の方法。
  6. ビデオ符号化のために予測ビデオデータを補間する装置であって、
    整数ピクセル値に基づいて、2分の1ピクセル値を生成し、
    2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸め、
    前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存し、
    前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成する
    動き補償ユニットを含む装置。
  7. 前記動き補償ユニットが、
    複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成し、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成する、
    請求項6に記載の装置。
  8. 前記値のどの1つも、16ビットデータ構造内に保存することができ、前記動き補償ユニットが、
    複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成し、
    前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸め、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成する、
    請求項6に記載の装置。
  9. 前記動き補償ユニットを含むビデオ符号器を備え、前記ビデオ符号器が、
    前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを予測的に符号化する、
    請求項6に記載の装置。
  10. 前記動き補償ユニットを含むビデオ復号器を備え、前記ビデオ復号器が、
    前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを予測的に復号する、
    請求項6に記載の装置。
  11. 集積回路を備える、請求項6に記載の装置。
  12. マイクロプロセッサを備える、請求項6に記載の装置。
  13. 実行された場合にデバイスにビデオ符号化のために予測ビデオデータを補間させる命令であって、
    整数ピクセル値に基づいて、2分の1ピクセル値を生成することと、
    2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸めることと、
    前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存することと、
    前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成することと
    を前記デバイスに行わせる命令を備える、コンピュータ可読記憶媒体。
  14. 実行された場合に
    複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
    をデバイスに行わせる命令をさらに備える、請求項13に記載のコンピュータ可読記憶媒体。
  15. 前記値のどの1つも、16ビットデータ構造内に保存することができ、実行された場合に
    複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成することと、
    前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸めることと、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成することと
    をデバイスに行わせる命令をさらに備える、請求項13に記載のコンピュータ可読記憶媒体。
  16. 実行された場合に
    前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを符号化すること
    をデバイスに行わせる命令をさらに備える、請求項13に記載のコンピュータ可読記憶媒体。
  17. 実行された場合に
    前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを復号すること
    をデバイスに行わせる命令をさらに備える、請求項13に記載のコンピュータ可読記憶媒体。
  18. ビデオ符号化のために予測ビデオデータを補間するデバイスであって、
    整数ピクセル値に基づいて、2分の1ピクセル値を生成するための手段と、
    2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸めることと、
    前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存するための手段と、
    前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成するための手段と
    を備えるデバイス。
  19. 複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成するための手段と、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成するための手段と
    をさらに備える、請求項18に記載のデバイス。
  20. 前記値のどの1つも、16ビットデータ構造内に保存することができ、
    複数の前記2分の1ピクセル値の前記丸めなしバージョンに基づいて、別の2分の1ピクセル値を生成するための手段と、
    前記別の2分の1ピクセル値を前記16ビットデータ構造内に保存できるように、前記別の2分の1ピクセル値を丸めるための手段と、
    前記別の2分の1ピクセル値と前記2分の1ピクセル値の前記丸めなしバージョンとに基づいて、追加的な4分の1ピクセル値を生成するための手段と
    をさらに備える、請求項18に記載のデバイス。
  21. 前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを符号化するための手段
    をさらに備える、請求項18に記載のデバイス。
  22. 前記整数ピクセル値、前記2分の1ピクセル値、および/または前記4分の1ピクセル値に基づいて、1つまたは複数のビデオブロックを復号するための手段
    をさらに備える、請求項18に記載のデバイス。
  23. ビデオデータを符号化するデバイスであって、
    整数ピクセル値に基づいて、2分の1ピクセル値を生成し、2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸め、前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存し、前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成する動き補償ユニットを含むビデオ符号器と、
    前記動き補償ユニットによって符号化された前記ビデオデータを別のデバイスに送信する無線送信機と
    を備えるデバイス。
  24. 無線通信ハンドセットを備える、請求項23に記載のデバイス。
  25. ビデオデータを復号するデバイスであって、
    前記ビデオデータを受信する無線受信機と、
    前記ビデオデータを復号する動き補償ユニットを含むビデオ復号器であって、前記動き補償ユニットが、
    整数ピクセル値に基づいて、2分の1ピクセル値を生成し、
    2分の1ピクセル補間値を生成するために、前記2分の1ピクセル値を丸め、
    前記2分の1ピクセル値の丸めなしバージョンとして前記2分の1ピクセル値を保存し、
    前記2分の1ピクセル値の前記丸めなしバージョンと前記整数ピクセル値とに基づいて、4分の1ピクセル値を生成する、
    ビデオ復号器と
    を備えるデバイス。
  26. 無線通信ハンドセットを備える、請求項25に記載のデバイス。
JP2013142041A 2008-04-10 2013-07-05 ビデオ符号化における動き補償のための高度補間技術 Active JP5654087B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US4402308P 2008-04-10 2008-04-10
US61/044,023 2008-04-10
US4424008P 2008-04-11 2008-04-11
US61/044,240 2008-04-11
US5737308P 2008-05-30 2008-05-30
US61/057,373 2008-05-30
US12/420,256 2009-04-08
US12/420,256 US8971412B2 (en) 2008-04-10 2009-04-08 Advanced interpolation techniques for motion compensation in video coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011504216A Division JP2011517239A (ja) 2008-04-10 2009-04-10 ビデオ符号化における動き補償のための高度補間技術

Publications (2)

Publication Number Publication Date
JP2013243720A true JP2013243720A (ja) 2013-12-05
JP5654087B2 JP5654087B2 (ja) 2015-01-14

Family

ID=40765698

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2011504216A Withdrawn JP2011517239A (ja) 2008-04-10 2009-04-10 ビデオ符号化における動き補償のための高度補間技術
JP2013142041A Active JP5654087B2 (ja) 2008-04-10 2013-07-05 ビデオ符号化における動き補償のための高度補間技術

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2011504216A Withdrawn JP2011517239A (ja) 2008-04-10 2009-04-10 ビデオ符号化における動き補償のための高度補間技術

Country Status (9)

Country Link
US (1) US8971412B2 (ja)
EP (1) EP2272253A1 (ja)
JP (2) JP2011517239A (ja)
KR (1) KR101208384B1 (ja)
CN (1) CN101999229B (ja)
BR (1) BRPI0910641B1 (ja)
CA (1) CA2719540C (ja)
TW (1) TWI468017B (ja)
WO (1) WO2009126921A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590059B2 (en) * 2004-05-21 2009-09-15 Broadcom Corp. Multistandard video decoder
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
CN102025985A (zh) * 2009-09-23 2011-04-20 鸿富锦精密工业(深圳)有限公司 视频编解码装置及其插值计算方法
JP5439162B2 (ja) * 2009-12-25 2014-03-12 株式会社Kddi研究所 動画像符号化装置および動画像復号装置
WO2011086672A1 (ja) * 2010-01-13 2011-07-21 株式会社 東芝 動画像符号化装置および復号装置
JP5323211B2 (ja) * 2010-01-13 2013-10-23 株式会社東芝 動画像符号化装置および復号装置
EP2524504A1 (en) * 2010-01-14 2012-11-21 Dolby Laboratories Licensing Corporation Buffered adaptive filters
WO2011121716A1 (ja) * 2010-03-30 2011-10-06 株式会社 東芝 動画像符号化方法、復号化方法、符号化装置および復号化装置
KR101682147B1 (ko) 2010-04-05 2016-12-05 삼성전자주식회사 변환 및 역변환에 기초한 보간 방법 및 장치
DE102010023954A1 (de) * 2010-06-16 2011-12-22 Siemens Enterprise Communications Gmbh & Co. Kg Verfahren und Vorrichtung zum Mischen von Videoströmen auf der Makroblock-Ebene
CN103119935B (zh) * 2010-07-09 2016-05-04 三星电子株式会社 图像插值方法和设备
JP2012060208A (ja) * 2010-09-06 2012-03-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像符号化装置,動画像復号方法,動画像復号装置およびそれらのプログラム
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
CN103503458B (zh) 2011-01-07 2017-09-22 诺基亚技术有限公司 视频编码中的运动预测
US9049454B2 (en) 2011-01-19 2015-06-02 Google Technology Holdings Llc. High efficiency low complexity interpolation filters
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
US20120230407A1 (en) * 2011-03-11 2012-09-13 General Instrument Corporation Interpolation Filter Selection Using Prediction Index
JP5768491B2 (ja) * 2011-05-17 2015-08-26 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
EP2724534A2 (en) 2011-06-24 2014-04-30 Motorola Mobility LLC Selection of phase offsets for interpolation filters for motion compensation
EP2727358A1 (en) 2011-07-01 2014-05-07 Motorola Mobility LLC Joint sub-pixel interpolation filter for temporal prediction
US9277222B2 (en) 2012-05-14 2016-03-01 Qualcomm Incorporated Unified fractional search and motion compensation architecture across multiple video standards
WO2017002283A1 (ja) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
US9762915B2 (en) * 2015-12-03 2017-09-12 Facebook, Inc. Systems and methods for variable compression of media content based on media properties
US10009622B1 (en) 2015-12-15 2018-06-26 Google Llc Video coding with degradation of residuals
US10136155B2 (en) 2016-07-27 2018-11-20 Cisco Technology, Inc. Motion compensation using a patchwork motion field
US10455253B1 (en) 2017-02-28 2019-10-22 Google Llc Single direction long interpolation filter
US10506258B2 (en) 2017-07-13 2019-12-10 Google Llc Coding video syntax elements using a context tree
EP3688987A1 (en) * 2017-11-07 2020-08-05 Huawei Technologies Co., Ltd. Interpolation filter for an inter prediction apparatus and method for video coding
MA50209B1 (fr) * 2017-12-29 2021-06-30 Ericsson Telefon Ab L M Procedes permettant de coder et/ou de decoder une video a l'aide de valeurs de reference etdispositifs associes
JP2022548555A (ja) 2019-09-24 2022-11-21 アリババ グループ ホウルディング リミテッド 映像符号化のための動き補償方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026296A1 (en) * 2001-09-17 2003-03-27 Nokia Corporation Method for sub-pixel value interpolation
JP2003333599A (ja) * 2002-04-10 2003-11-21 Microsoft Corp 動き予測および動き補償におけるサブピクセル補間
WO2005104564A1 (ja) * 2004-04-21 2005-11-03 Matsushita Electric Industrial Co., Ltd. 動き補償装置
WO2006006609A1 (en) * 2004-07-13 2006-01-19 Matsushita Electric Industrial Co., Ltd. Motion compensation method

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684538A (en) 1994-08-18 1997-11-04 Hitachi, Ltd. System and method for performing video coding/decoding using motion compensation
US5812791A (en) * 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
JP3787650B2 (ja) 1995-09-08 2006-06-21 ソニー株式会社 デイジタル画像信号符号化装置及び方法、符号化画像信号復号装置及び方法
JP3284932B2 (ja) * 1997-08-05 2002-05-27 松下電器産業株式会社 画像処理装置
US6028583A (en) * 1998-01-16 2000-02-22 Adobe Systems, Inc. Compound layers for composited image manipulation
GB2379820A (en) 2001-09-17 2003-03-19 Nokia Corp Interpolating values for sub-pixels
KR100557911B1 (ko) 2001-09-18 2006-03-10 마쯔시다덴기산교 가부시키가이샤 화상 부호화 방법 및 화상 복호화 방법
EP1466477B1 (en) 2002-01-14 2013-02-27 Nokia Corporation Coding dynamic filters
US7305034B2 (en) 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
GB0304628D0 (en) * 2003-02-28 2003-04-02 Imec Inter Uni Micro Electr Method for hardware-software multitasking on a reconfigurable computing platform
KR20050018948A (ko) 2002-07-09 2005-02-28 노키아 코포레이션 비디오 부호화에서 보간 필터 유형을 선택하기 위한 방법및 장치
KR100472476B1 (ko) 2002-08-31 2005-03-10 삼성전자주식회사 움직임 보상을 위한 보간 방법 및 그 장치
JP4418762B2 (ja) * 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7653132B2 (en) 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation
JP2008536414A (ja) 2005-04-13 2008-09-04 ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー ビデオの拡張された符号化方法及び装置
EP1746839A1 (en) 2005-07-22 2007-01-24 Thomson Licensing Method and apparatus for encoding video data
US7778494B2 (en) 2005-10-13 2010-08-17 Texas Instruments Incorporated FIR-based interpolation in advanced video codecs on VLIW processor
KR100754841B1 (ko) 2005-10-28 2007-09-04 경희대학교 산학협력단 비트율 왜곡 비용에 기초하여 선택된 보간 필터를 이용하여공간 계층간 예측을 수행하는 스케일러블 h.264부호화/복호화 방법
US8582663B2 (en) 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003026296A1 (en) * 2001-09-17 2003-03-27 Nokia Corporation Method for sub-pixel value interpolation
JP2003333599A (ja) * 2002-04-10 2003-11-21 Microsoft Corp 動き予測および動き補償におけるサブピクセル補間
WO2005104564A1 (ja) * 2004-04-21 2005-11-03 Matsushita Electric Industrial Co., Ltd. 動き補償装置
WO2006006609A1 (en) * 2004-07-13 2006-01-19 Matsushita Electric Industrial Co., Ltd. Motion compensation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6012035711; Thomas Wedi: 'Direct Interpolation Filters in TML-6' ITU - Telecommunications Standardization Sector STUDY GROUP 16 Question 6 Video Coding Experts Group VCEG-M44, 200104, pp.1-5, Thirteenth Meeting: Austin, Texas, USA *

Also Published As

Publication number Publication date
CN101999229B (zh) 2013-04-17
BRPI0910641A2 (pt) 2016-08-23
BRPI0910641B1 (pt) 2020-11-03
US20090257503A1 (en) 2009-10-15
KR101208384B1 (ko) 2012-12-05
WO2009126921A1 (en) 2009-10-15
KR20100133005A (ko) 2010-12-20
US8971412B2 (en) 2015-03-03
CN101999229A (zh) 2011-03-30
CA2719540A1 (en) 2009-10-15
CA2719540C (en) 2014-03-25
JP2011517239A (ja) 2011-05-26
JP5654087B2 (ja) 2015-01-14
TW201010440A (en) 2010-03-01
TWI468017B (zh) 2015-01-01
EP2272253A1 (en) 2011-01-12

Similar Documents

Publication Publication Date Title
JP5654087B2 (ja) ビデオ符号化における動き補償のための高度補間技術
KR101208383B1 (ko) 비디오 코딩에서 모션 보상을 위한 어드밴스드 보간 기술
KR101202632B1 (ko) 비디오 코딩에서의 보간을 위한 예측 기술
KR101242958B1 (ko) 비디오 코딩에서의 서브-픽셀 해상도를 위한 보간 필터 서포트
KR101202633B1 (ko) 고정된 필터 또는 적응형 필터에 기초한 비디오 코딩을 위한 레이트 왜곡 정의된 보간
KR101250115B1 (ko) 비디오 코딩에서의 서브-픽셀 포지션들의 보간 필터링을 위한 대칭
JP5166601B2 (ja) サブピクセル解像度におけるオフセット
KR101214021B1 (ko) 비디오 코딩에서의 정수-픽셀 포지션들의 보간형 필터링
JP5766878B2 (ja) 低減解像度ピクセル補間
RU2481727C2 (ru) Усовершенствованные технологии интерполяции для компенсации движения при кодировании видео

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140917

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20141021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141119

R150 Certificate of patent or registration of utility model

Ref document number: 5654087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250