JP5166601B2 - サブピクセル解像度におけるオフセット - Google Patents

サブピクセル解像度におけるオフセット Download PDF

Info

Publication number
JP5166601B2
JP5166601B2 JP2011504228A JP2011504228A JP5166601B2 JP 5166601 B2 JP5166601 B2 JP 5166601B2 JP 2011504228 A JP2011504228 A JP 2011504228A JP 2011504228 A JP2011504228 A JP 2011504228A JP 5166601 B2 JP5166601 B2 JP 5166601B2
Authority
JP
Japan
Prior art keywords
offset
integer
video block
video
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011504228A
Other languages
English (en)
Other versions
JP2011517242A (ja
Inventor
カークゼウィックズ、マルタ
イエ、ヤン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2011517242A publication Critical patent/JP2011517242A/ja
Application granted granted Critical
Publication of JP5166601B2 publication Critical patent/JP5166601B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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

Landscapes

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

Description

関連出願の参照
本件特許出願は、2008年4月11日に出願された仮出願61/044,240、2008年4月10日に出願された仮出願61/044,023、および2008年4月10日に出願された仮出願61/044,020に基づいて優先権を主張するものであって、当該仮出願のすべての内容は、参照によって本件明細書に明白に組み込まれている。
本件開示は、デジタルビデオコード化に関係し、より詳細には、ビデオコード化において使用される予測データにオフセットが適用される技術に関係する。
デジタルビデオ能力は、デジタルテレビ、デジタルダイレクト放送システム、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話などを含むデバイスの広い領域に組み込まれることができる。デジタルビデオデバイスは、より効率的にデジタルビデオ情報を送信及び受信するために、MPEG-2、MPEG-4、またはITU-T H.264/MPEG-4、Part10、AVC(Advanced Video Coding)によって定義される規格において記載されている技術のようなビデオ圧縮技術を実装する。ビデオ圧縮技術は、ビデオシーケンスにおける固有の冗長性を低減または除去するために、空間的予測および/または時間的予測を実行することができる。
ブロックベースのインターコード化は、ビデオシーケンスの連続的なコード化単位のビデオブロック間の時間的な冗長性を低減または除去するために時間的予測に依拠する非常に役に立つコード化技術である。コード化単位は、ビデオフレーム、ビデオフレームのスライス、画像のグループ、またはビデオブロックの他の定義された単位を具備してもよい。インターコード化の場合、ビデオ符号化器は、2つ以上の近接コード化単位の対応するビデオブロックの動きを追跡するために動き推定および動き補償を実行する。動き推定は、動きベクトルを生成する。動きベクトルは、1つまたは複数のレファレンスフレームまたは他のコード化単位における対応する予測ビデオブロックに対するビデオブロックの変位を示す。動き補償は、レファレンスフレームまたは他のコード化単位から予測ビデオブロックを生成するために動きベクトルを使用する。動き補償の後、コード化されているオリジナルビデオブロックから予測ビデオブロックを減算することによって残りのビデオブロックが形成される。
ビデオ符号化器はまた、残りのブロックの通信と関連するビットレートをさらに低減するために変換、量子化、およびエントロピーコード化処理を適用することができる。変換技術は、離散コサイン変換(DCT)または概念的に同様の処理を具備してもよい。代替的に、ウェーブレット変換、整数変換、または他のタイプの変換が使用されてもよい。DCT処理において、例として、1セットのピクセル値が変換係数に変換される。変換係数は、周波数ドメインにおけるピクセル値のエネルギーを表わすことができる。量子化は、変換係数に適用される。一般に量子化は、任意の所与の変換係数と関連するビット数を制限する処理をともなう。エントロピーコード化は、量子化された変換係数のシーケンスを集合的に圧縮する1つまたは複数の処理を具備する。エントロピーコード化の事例は、CAVLC(content adaptive variable length coding)およびCABAC(context adaptive binary arithmetic coding)を含むが、これらに限られない。
コード化ビデオブロックは、予測ブロック、およびコード化されているブロックと予測ブロックとの間の差を示す残りのデータブロックを作成または識別するために使用されることができる予測情報によって表わされてもよい。予測情報は、予測データブロックを識別するために使用される1つまたは複数の動きベクトルを具備することができる。動きベクトルが与えられると、復号器は、残りをコード化するために使用された予測ブロックを復元することができる。したがって、1セットの残りのブロックおよび1セットの動きベクトル(および可能性としていくつかの追加のシンタックス)が与えられると、復号器は、本来の符号化されたビデオフレームを復元することができてもよい。連続するビデオフレームまたは他のタイプのコード化単位は、しばしば非常に類似しているので、動き推定および動き補償に基づくインターコード化は、非常に良い圧縮を達成することができる。符号化されたビデオシーケンスは、残りのデータブロック、動きベクトル、および可能性として他のタイプのシンタックスを具備してもよい。
内挿技術および外挿技術は、インターコード化において達成されることができる圧縮レベルを改善するために発展させられてきた。この場合において、ビデオブロックをコード化するために使用される、動き補償の間に生成される予測データは、動き推定において使用されるビデオフレームのビデオブロック、または他のコード化単位のピクセルから内挿または外挿されてもよい。内挿または外挿は、予測1/2ピクセル値(half-pel)および予測1/4ピクセル値(quarter-pel)を生成するためにしばしば実行される。そのような内挿または外挿は、ビデオコード化において使用される予測フレームまたは他のコード化単位の実際のビデオブロックよりも、コード化されているビデオブロックにずっとよく類似している予測ブロックをしばしば生成する。
一般に、本件開示は、ビデオ符号化および復号処理の間に符号化器および復号器によって適用される技術を記載する。本件技術にしたがって、符号化器は、各々のコード化単位のために複数のオフセット値を生成し、当該オフセット値は、コード化単位のビデオブロックをコード化するために使用される予測データに適用される。詳細には、コード化単位と関連する各々の整数およびサブ整数ピクセル位置のために異なるオフセット値が定義されることができる。サブ整数ピクセル位置は、整数ピクセル位置におけるデータに基づいて内挿または外挿される内挿または外挿データに対応することができる。異なるピクセル位置(1つの整数ピクセル位置および様々なサブ整数ピクセル位置)における異なるオフセットの理由を説明することによって、結果として生じるオフセット予測データは、オリジナル予測データよりも良い圧縮に備えることができる。このようにして、本件開示の技術は、ビデオコード化を改善することができる。
符号化器は、各々のコード化単位のために異なるオフセット値を符号化することができる。各々のコード化単位は、次に、符号化されたビットストリームの一部として復号器に通信されることができる。このようにして、復号器は、各々のコード化単位のために符号化器において定義される異なるオフセット値を受信することができる。したがって、復号器は、予測データを生成することができ、次に、予測データおよびオフセット値に基づいてオフセット予測データを復元することができる。コード化単位のビデオデータ(例えば、ビデオブロック)は、次に、オフセット予測データに基づいて復号されることができる。コード化単位と関連する異なる整数およびサブ整数ピクセル位置のために別々のオフセット値を提供することによって、単一のオフセット値をコード化単位に適用する技術に対比してコード化が改善されることができる。
1つの例において、本件開示は、ビデオデータを符号化する方法を提供する。前記方法は、前記ビデオデータのコード化単位のための複数のオフセット値を計算することと(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化することとを具備する。
他の事例において、本件開示は、ビデオデータを復号する方法を提供する。前記方法は、前記ビデオデータのコード化単位のための複数のオフセット値を受信することと(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号することとを具備する。
他の事例において、本件開示は、ビデオデータを符号化する装置を提供する。前記装置は、前記ビデオデータのコード化単位のための複数のオフセット値を計算し(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用し、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化するビデオ符号化器を具備する。
他の事例において、本件開示は、ビデオデータを復号する装置を提供する。前記装置は、前記ビデオデータのコード化単位のための複数のオフセット値を受信し(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用し、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号するビデオ復号器を具備する。
他の事例において、本件開示は、ビデオデータを符号化するデバイスを提供する。前記デバイスは、前記ビデオデータのコード化単位のための複数のオフセット値を計算するための手段と(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用するための手段と、前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化するための手段とを具備する。
他の事例において、本件開示は、ビデオデータを復号するデバイスを提供する。前記デバイスは、前記ビデオデータのコード化単位のための複数のオフセット値を受信するための手段と(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用するための手段と、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号するための手段とを具備する。
他の事例において、本件開示は、ビデオ符号化器およびワイヤレス送信機を具備するデバイスを提供する。前記ビデオ符号化器は、前記ビデオデータのコード化単位のための複数のオフセット値を計算し(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用し、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化する。前記ワイヤレス送信機は、前記符号化されたデータを他のデバイスに送る。
他の事例において、本件開示は、ワイヤレスデバイスおよびビデオ復号器を具備するデバイスを提供する。前記ワイヤレス受信機は、符号化されたビデオデータを他のデバイスから受信する。前記ビデオ復号器は、前記ビデオデータのコード化単位のための複数のオフセット値を受信し(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセットビデオを予測ビデオブロックに適用し、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号する。
本件開示において記載されている技術は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのものの任意の組み合わせにおいて実装されることができる。ソフトウェアにおいて実装される場合、ソフトウェアは、マイクロプロセッサー、特定用途集積回路(ASIC)、フィールドプログラム可能ゲートアレー(FPGA)、またはデジタル信号プロセッサー(DSP)のような1つまたは複数のプロセッサーにおいて実行されることができる。本件技術を実行するソフトウェアは、最初にコンピュータ可読媒体に記憶され、プロセッサーにおいてロードされおよび実行されてもよい。
したがって、本件開示はまた、実行の際にビデオデータをデバイスに符号化させる命令を具備するコンピュータ可読媒体を企図する。詳細には、前記命令は、前記ビデオデータのコード化単位のための複数のオフセット値を計算することと(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化することとを前記デバイスにさせる。
加えて、本件開示はまた、実行の際にビデオデータをデバイスに復号させる命令を具備するコンピュータ可読媒体を企図する。この場合において、前記ビデオデータのコード化単位のための複数のオフセット値を受信する際(ここにおいて、前記オフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている)、前記命令は、オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、および前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号することとを前記デバイスにさせる。
本件開示の1つまたは複数の態様の詳細は、付随の図面および以下の詳細な説明において述べられる。本件開示において記載されている技術の他の特徴、目的、および利点は、詳細な説明および図面から、また特許請求の範囲から明白になるだろう。
図1は、ビデオ符号化および復号システムを例示している例示的ブロック図である。 図2は、本件開示と一致するビデオ符号化器の一例を例示しているブロック図である。 図3は、本件開示と一致するビデオ復号器の一例を例示しているブロック図である。 図4は、予測ビデオブロックのピクセルを具備してもよい整数ピクセルおよび様々なサブ整数ピクセルを例示している概念図である。 図5は、本件開示と一致する技術を例示するフロー図である。 図6は、本件開示と一致する技術を例示するフロー図である。 図7は、本件開示と一致する技術を例示するフロー図である。
発明の詳細な説明
本件開示は、ビデオコード化の動き補償処理の間に予測ビデオブロックにオフセットを加えるために符号化器および復号器によって実行される技術を記載する。本件開示の1つの態様にしたがって、符号化器は、各々のコード化単位のために複数のオフセット値を生成し、コード化単位のビデオブロックをコード化するために使用される予測データにオフセット値を適用することができる。詳細には、符号化器は、整数ピクセル位置および異なるサブ整数ピクセル位置のために異なるオフセット値を定義することができる。前記適切なオフセット値は、対応する予測データに対して、当該予測データに関連するピクセル位置に基づいて、適用されることができる。サブ整数ピクセル位置は、内挿または外挿データに対応することができる。内挿または外挿データは、整数ピクセル位置におけるデータに基づいて内挿または外挿される。異なるピクセル位置(整数およびサブ整数ピクセル位置)における異なるオフセットの理由を説明することによって、結果として生じるオフセット予測データは、元の予測データよりも良い圧縮を提供することができる。このようにして、本件開示の技術は、ビデオ品質を改善することができる。例えば、予測データへのオフセットの追加は、ビデオシーケンスのフレーム間のイルミネーション変化の間(例えば、フラッシュ、暗くなっていく空、またはフレーム間の他のタイプのイルミネーション変化の間のような間)のコード化を改善することができる。
ITU-T H.264規格は、サブ整数ピクセルを1/4ピクセル解像度にする分数内挿をサポートする。この場合、1つ1つの整数ピクセル位置のために15個の可能なサブ整数ピクセル位置が存在する。したがって、この場合、本件開示にしたがって、コード化単位の各々の可能な整数およびサブ整数ピクセル位置のために16個の異なるオフセット値が生成されることができる。対応するオフセット値は、どの予測データに対しても、当該予測データに関連するピクセル位置に基づいて、適用されることができる。詳細には、オフセット値は、予測ビデオブロックのピクセル値を調節するために適用されることができ、そのようなピクセル値を調節するために使用されるオフセット値は、当該予測ビデオブロックと関連する位置(例えば、整数位置またはいくつかの可能なサブピクセル位置の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は、各々がビデオ符号化コンポーネントおよびビデオ復号コンポーネントを含むような実質的に対称的方法で作動することができる。したがって、システム10は、ビデオデバイス12と16との間の一方向または二方向のビデオ送信を(例えば、ビデオストリーム、ビデオ再生、ビデオ放送、またはビデオ電話通信のために)サポートすることができる。
ソースデバイス12のビデオソース20は、ビデオカメラ、以前に取得されたビデオを含むビデオアーカイブ、またはビデオコンテンツプロバイダーからのビデオ供給のようなビデオ取得デバイスを含むことができる。さらなる代替として、ビデオソース20は、ソースビデオとして、またはライブビデオ、アーカイブビデオ、およびコンピュータ生成のビデオの組み合わせとしてコンピュータグラフィックベースのデータを生成することができる。いくつかの場合において、ビデオソース20がビデオカメラである場合、ソースデバイス12および目的デバイス16は、いわゆるカメラ電話またはビデオ電話を形成することができる。各々の場合において、取得されたビデオ、事前に取得されたビデオ、またはコンピュータ生成のビデオは、ビデオ符号化器22によって符号化されることができる。符号化されたビデオ情報は、次に、通信規格(例えば、符号分割多元接続(CDMA)または他の通信規格)にしたがってモデム23によって変調されることができ、送信機24を通って目的デバイス16に送信されることができる。モデム23は、様々な混合器、フィルター、増幅器、または信号変調のために設計された他のコンポーネントを含んでもよい。送信機24は、増幅器、フィルター、および1つまたは複数のアンテナを含む、データを送信するために設計された回路を含んでもよい。
目的デバイス16の受信機26は、チャネル15上で情報を受信し、モデム27は、情報を復調する。再び、ビデオ符号化処理は、動き補償の間に予測データにオフセットを加えるために、本件明細書記載の技術のうちの1つまたは複数を実装することができる。ビデオ復号器28によって実行されるビデオ復号処理はまた、ビデオ復号器28の復号処理の動き補償段階の間にそのような技術を実行することができる。チャネル15上で通信される情報は、ビデオ符号化器22によって定義されるオフセット情報を含むことができる。オフセット情報はまた、ビデオ復号器28によって使用される。ディスプレイデバイス30は、ユーザに、復号されたビデオデータをディスプレイし、および陰極線管、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または他のタイプのディスプレイデバイスのような様々なディスプレイデバイスのいずれかを具備してもよい。
図1の例において、通信チャネル15は、無線周波数(RF)スペクトルまたは1つまたは複数の物理送信ライン、またはワイヤレス媒体および有線媒体の任意の組み合わせのような任意のワイヤレス通信媒体または有線通信媒体を具備することができる。通信チャネル15は、ローカルエリア・ネットワーク、ワイドエリア・ネットワーク、またはインターネットのようなグローバル・ネットワークのようなパケットベースのネットワークの一部を形成することができる。通信チャネル15は、一般に、ソースデバイス12から目的デバイス16にビデオデータを送信するための任意の適切な通信媒体、または異なる通信媒体の集合を表わす。通信チャネル15は、ルーター、スイッチ、基地局、またはソースデバイス12から目的デバイス16への通信を容易にするために役に立ち得る任意の他の設備を含んでもよい。
ビデオ符号化器22およびビデオ復号器28は、代替的に、MPEG 4、パート10、AVC(Advanced Video Coding)として記載されるITU-T H.264規格のようなビデオ圧縮規格にしたがって作動することができる。しかしながら、本件開示の技術は、特定のコード化規格のいずれにも限定されない。図1には図示されていないが、いくつかの態様において、ビデオ符号化器22およびビデオ復号器28は、オーディオ符号化器および復号器と各々統合されていてもよく、共通のデータストリームまたは別々のデータストリームにおけるオーディオおよびビデオの両方の符号化を扱うために適切なMUX-DEMUX装置または他のハードウェアおよびソフトウェアを含むことができる。適用可能であれば、MUX-DEMUX装置は、ITU H.223多重化プロトコル、またはユーザデータグラムプロトコル(UDP)のような他のプロトコルに従ってもよい。
ITU-T H.264/MPEG-4 (AVC)規格は、JVT(Joint Video Team)として知られている集合的連携の製品としてISO/IEC MPEG(Moving Picture Experts Group)と一緒にITU-T VCEG(Video Coding Experts Group)によって公式化された。いくつかの態様において、本件開示において記載されている技術は、H.264規格に一般に従うデバイスに適用されることができる。H.264規格は、2005年3月付の、ITU-T研究グループによるITU-T勧告H.264に記載されている。ITU-T勧告H.264は、一般的な視聴覚サービスのための進んだビデオコード化であって、本件明細書において、H.264規格、またはH.264仕様、またはH.264/AVC規格または仕様と呼ばれてもよい。JVT(Joint Video Team)は、H.264/MPEG-4 AVCの発展に引き続き取り組んでいる。
ビデオ符号化器22およびビデオ復号器28の各々は、1つまたは複数のマイクロプロセッサー、デジタル信号プロセッサー(DSP)、特定用途集積回路(ASIC)、フィールドプログラム可能ゲートアレー(FPGA)、離散論理、ソフトウェア、ハードウェア、ファームウェア、またはこれらのものの任意の組み合わせとして実装されてもよい。ビデオ符号化器22およびビデオ復号器28の各々は、1つまたは複数の符号化器または復号器に含まれてもよい。符号化器または復号器のどちらでも、それぞれのモバイルデバイス、加入者デバイス、放送デバイス、サーバー、または同様のものにおいて、結合された符号化器/復号器(CODEC)の一部として統合されることができる。
ビデオシーケンスは、典型的に、一連のビデオフレームを含む。ビデオ符号化器22は、ビデオデータを符号化するために個々のビデオフレーム内のビデオブロック上で作動する。ビデオブロックは、固定または可変のサイズを有していてもよく、および特定のコード化規格にしたがってサイズが異なってもよい。各々のビデオフレームは、一連のスライスを含む。各々のスライスは、一連のマクロブロックを含んでもよい。一連のマクロブロックは、サブブロックに整列させられることができる。例として、ITU-T H.264規格は、輝度成分について16×16、8×8、または4×4、および彩度成分について8x8のような様々なブロックサイズにおけるイントラ予測をサポートするだけでなく、輝度成分について16×16、16×8、8×16、8×8、8×4、4×8、および4×4、および彩度成分について、対応するスケールサイズのような様々なブロックサイズにおけるインター予測もサポートする。ビデオブロックは、ピクセルデータのブロック、または変換係数のブロック(例えば、離散コサイン変換または概念的に同様の変換処理のような変換処理に続くもの)を具備することができる。
より小さいビデオブロックは、より良い解像度を提供することができ、高いレベルのディテールを含むビデオフレームの位置のために使用されることができる。一般に、マクロブロックおよび様々なサブブロックがビデオブロックとみなされてもよい。加えて、スライスは、マクロブロックおよび/またはサブブロックのような一連のビデオブロックとみなされてもよい。各々のスライスは、独立に復号可能なビデオフレームの単位であってもよい。代替的に、フレーム自身が復号可能な単位であってもよく、またはフレームの他の部分が復号可能な単位として定義されることができる。「コード化単位」という用語は、フレーム全体、フレームの1スライス、または使用されるコード化技術にしたがって定義される他の独立に復号可能な単位のようなビデオフレームの任意の独立に復号可能な単位のことをいう。
インターベースの予測コード化(内挿および異なる整数およびサブ整数ピクセル位置のためにオフセット値を定義するための本件開示の技術を含む)に続いて、および任意の変換(H.264/AVCにおいて使用される4x4または8x8の整数変換または離散コサイン変換DCTのような変換)に続いて、量子化が実行されることができる。量子化は、一般に、当該係数を表わすために使用されるデータ量をできる限り低減するために係数が量子化される処理のことをいう。量子化処理は、いくつかのまたはすべての係数と関連するビット深さを低減することができる。例えば、16ビット値は、量子化の間に15ビット値に切り捨てられる。量子化に続いて、例えば、CAVLC(content adaptive variable length coding)、CABAC(context adaptive binary arithmetic coding)、または他のエントロピー符号化方法にしたがってエントロピーコード化が実行されることができる。
本件開示の技術にしたがって、ビデオ符号化器22は、フレームまたはフレームの部分(例えば、スライスのような独立に復号可能なフレームの部分)のようなビデオデータのコード化単位のために複数のオフセット値を計算することができる。異なるオフセット値は、ビデオブロックと関連する複数の異なる整数ピクセル位置およびサブ整数ピクセル位置と関連付けられている。サブ整数ピクセル位置は、内挿または外挿されたデータの位置を定義することができる。内挿または外挿されたデータの位置は、典型的に、整数ピクセル位置におけるデータに基づいて内挿または外挿される。ビデオ符号化器22は、オフセット予測ビデオブロックを生成するためにオフセット値を予測ビデオブロックに適用することができ、オフセット予測ビデオブロックに基づいてコード化単位のビデオブロックを符号化することができる。ビデオ符号化器22はまた、コード化単位のコード化ビデオブロックを含むコード化ビットストリームの一部としてオフセット値を符号化することができ、ソースデバイス12の送信機24は、目的デバイス16の受信機26にコード化ビットストリームを送信することができる。詳細には、ビデオ符号化器は、予測ビデオブロックのピクセルを調節することによってオフセット値を適用することができ、オフセット予測ビデオブロックに基づいて残りを生成することによってオフセット予測ビデオブロックに基づいてビデオブロックを符号化することができる。例えば、残りは、適切なオフセット予測ビデオブロックから、コード化されるべきブロックを減算することによって生成されることができる。予測ビデオブロックの位置に基づいてオフセット予測ビデオブロックのピクセル値にオフセットが追加されるので、特に、フラッシュまたは背景の光の変化の間にコード化効率が改善されることができる。
目的デバイス16において、ビデオ復号器28は、ビデオデータの各々のコード化単位のために複数のオフセット値を受信する。ビデオ復号器28は、オフセット予測ビデオブロックを生成するために予測ビデオブロックにオフセット値を適用し、オフセット予測ビデオブロックに基づいてコード化単位のビデオブロックを復号する。このようにして、オフセット値は、符号化処理の一部としてビデオ符号化器22において定義および適用され、符号化されたビットストリームの一部としてソースデバイス12から目的デバイス16に通信される。次に、ビデオシーケンスを復元するために復号処理の一部としてビデオ復号器28において予測データにオフセット値が適用される。この場合、ビデオ復元の間に予測データへのオフセットが作成および使用される。
図2は、本件開示と一致するオフセット技術を実行することができるビデオ符号化器50の一例を例示するブロック図である。ビデオ符号化器50は、デバイス20のビデオ符号化器22、または異なるデバイスのビデオ符号化器に対応してもよい。イントラコード化コンポーネントは、例示の容易のために図2において図示されていないが、ビデオ符号化器50は、ビデオフレーム内のブロックのイントラコード化およびインターコード化を実行することができる。イントラコード化は、所与のビデオフレーム内のビデオにおいて空間的冗長性を低減または除去するために、空間的予測に依拠する。インターコード化は、ビデオシーケンスの隣接フレーム内のビデオにおいて時間的冗長性を低減または除去するために、時間的予測に依拠する。イントラモード(I-mode(登録商標))は、空間ベースの圧縮モードのことをいい、予測(P-mode)または二方向(B-mode)のようなインターモードは、時間ベースの圧縮モードをいう。本件開示の技術は、インターコード化の間に適用される。したがって、空間的予測装置のようなイントラコード化装置は、例示の簡略化および容易のために図2において例示されていない。
図2において図示されているように、ビデオ符号化器50は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例において、ビデオ符号化器50は、動き推定装置32、動き補償装置35、レファレンスフレーム記憶装置34、加算器48、変換装置38、量子化装置40、およびエントロピーコード化装置46を含む。ビデオブロック復元の場合、ビデオ符号化器50はまた、逆量子化装置42、逆変換装置44、加算器51を含む。また、復元されたビデオからブロック化アーティファクトを除去するためにブロックの境界をフィルターするために、デブロック化フィルター(図示されていない)が含まれてもよい。必要があれば、デブロック化フィルターは、加算器51の出力を典型的にフィルターするであろう。
符号化処理の間、ビデオ符号化器50は、コード化されるべきビデオブロックを受信し、動き推定装置32および動き補償装置35は、インター予測コード化を実行する。動き推定装置32および動き補償装置35は、高度に統合されることができるが、概念的目的のために別々に例示されている。典型的に、動き推定は、ビデオブロックについての動きを推定する動きベクトルを生成する処理とみなされる。動きベクトルは、例えば、現在のフレーム内のコード化されている現在のブロック(または他のコード化単位)に対する予測フレーム内の予測ブロック(または他のコード化単位)の変位を示してもよい。典型的に、動き補償は、動き推定によって決定される動きベクトルに基づいて予測ブロックを取り出すまたは生成する処理とみなされる。再び、動き推定装置32および動き補償装置35は、機能的に統合されることができる。例証の目的のために、本件開示において記載されるオフセット技術は、動き補償装置35によって実行されるものとして記載される。
動き推定装置32は、ビデオブロックと、予測コード化単位のビデオブロック(例えば、以前のフレーム)とを比較することによって、コード化されるべきビデオブロックのための適切な動きベクトルを選択する。この時点で、動き補償装置35は、サブピクセル解像度における予測データを生成するために内挿を実行することができる。詳細には、動き推定装置32が、コード化されるべきビデオブロックのための動きベクトルをいったん選択すると、動き補償装置35は、当該動きベクトルと関連する予測ビデオブロックを生成する。動き補償装置35は、サブピクセル解像度を有する任意の予測ビデオブロックの1つまたは複数のバージョンを生成する(例えば、異なるセットの内挿データを生成するためにいくつかの異なる内挿フィルターを可能性として適用する)ことができる。例えば、動き補償装置35は、コード化されるべきビデオブロックのために複数の異なる内挿予測データを生成するために、複数の予め定義された内挿フィルターを適用することができる。動き補償装置35は、次に、最高レベルの圧縮を達成する内挿予測データ(例えば、内挿フィルターのうちの1つと関連する内挿ビデオブロック)を選択する。いくつかの場合において、予測データを生成するために使用された内挿フィルターは、1つまたは複数の内挿シンタックスエレメントとしてコード化されたデータによって示されることができ、コード化されたビットストリームにおける包含のためにエントロピーコード化装置46に通信されることができる。
本件開示にしたがって、動き補償装置35は、予測データにオフセットを加えるために、コード化単位に関して第2のコード化パスを実行することができ、それによって、達成され得る圧縮レベルを改善することができる。詳細には、予測ビデオブロックのピクセル値は、予測ビデオブロックの整数または非整数ピクセル位置と関連するオフセットにしたがって上方へまたは下方へオフセットされることができる。動き補償装置35によって実行される内挿は、異なるビデオブロックのためにいくつかの可能なサブ整数ピクセル位置において内挿データを定義することができる。所与のコード化単位のために単一のオフセット値を定義するのではなくて、動き補償装置は、各々のありうる整数およびサブ整数ピクセル位置のために異なるオフセット値を定義することができる。予測データは、次に、予測データと関連するピクセル位置に基づいて位置固有オフセットを適用することができる。
1つの例において、動き補償装置35は、各々の整数およびサブ整数ピクセル位置における予測ビデオブロックに基づいて符号化されるコード化単位のビデオブロックのための各々の整数およびサブ整数ピクセル位置とそれぞれ関連する第1のセットのメトリクス(例えば、中間値)を計算することができる。動き補償装置35はまた、予測ビデオブロック(例えば、コード化単位のビデオブロックを符号化するために実際に使用されるビデオ予測ブロック)のための各々の整数およびサブ整数ピクセル位置とそれぞれ関連する第2のセットのメトリクス(例えば、中間値)を計算することができる。すなわち、第1のセットのメトリクスは、コード化されたデータによって定義され、第2のセットのメトリクスは、予測コード化のために使用される予測データによって定義される。動き補償装置35は、次に、第1および第2のセットのメトリクスに基づいて複数のオフセット値を計算する。オフセット値は、対応するビデオブロックのすべてのピクセル値を上方へまたは下方へバイアスするために使用される絶対値または正負符号付の値を具備することができる。再び、このことは、ビデオ符号化において遭遇するシーンの変化またはフラッシュのために非常に役に立ち得る。
第1のセットのメトリクスは、各々の整数およびサブ整数ピクセル位置における予測ビデオブロックに基づいてコード化されるコード化単位のそれぞれのビデオブロックの各々の整数およびサブ整数ピクセル位置とそれぞれ関連する第1のセットの中間値を具備することができ、第2のセットのメトリクスは、コード化単位のそれぞれのビデオブロックを符号化するために使用される予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置とそれぞれ関連する第2のセットの中間値を具備することができる。この場合において、複数のオフセット値は、第1のセットの中間値と第2のセットの中間値との間の差を具備することができる。このようにして、第1のコード化パスにおいてコード化される実際のデータに基づいていくつかの異なる整数およびサブ整数ピクセル位置のためにいくつかの異なるオフセット値が定義されることができる。
言い換えると、第1のセットのメトリクスは、各々のそれぞれの整数およびサブ整数ピクセル位置に基づいてコード化される所与のコード化単位のそれぞれのビデオブロックの各々の整数およびサブ整数ピクセル位置におけるピクセル値の中間に対応する1セットの中間値を具備することができる。第2のセットのメトリクスは、現在のブロックのコード化単位においてコード化されている現在のブロックを予測するために実際に使用される予測ブロックの各々の整数およびサブ整数ピクセル位置におけるピクセル値の中間に対応する1セットの中間値を具備することができる。コード化ビデオブロックの予測とみなされるが、実際にはコード化ビデオブロックの予測のためには使用されない任意の予測ブロックのピクセル値は、第2のセットのメトリクスを定義することには含まれない。複数のオフセット値は、第1のセットの中間値と第2のセットの中間値との間の差を具備することができる。各々のマクロブロック位置は、信号ピクセル(例えば、それぞれのマクロブロックの上部の左側の角におけるそれぞれのピクセル)によって定義されることができる。しかしながら、各々のマクロブロックは、第1のセットの中間値における特定の中間値に寄与する16個のピクセル値を定義することができる。本件開示の技術はまた、他のサイズのビデオブロックに、当然に適用されることができる。一般に、任意の所与の位置のためのオフセットは、現在のフレーム(または他の符号化単位)のピクセル位置またはサブピクセル位置に対応する動きベクトル精度を有する現在のフレーム(または他のコード化単位)におけるすべてのピクセルの中間と、予測データのピクセル位置またはサブピクセル位置に対応する予測データの内挿値の中間との間の差として計算されることができ、および現在のフレームのビデオブロックの予測のために使用されることができる。したがって、各々のそれぞれのオフセットは、各々のそれぞれの整数のためのコード化単位をコード化することに使用される予測データに対するコード化単位のピクセルの平均差とみられることができる。すなわち、コード化方式において定義されるデータの内挿または外挿された位置とみられることができる。
本件開示のオフセット技術は、輝度ブロック、彩度ブロック、またはその両方に関して適用されることができる。ビデオブロックの各々のタイプ(例えば、輝度および彩度ブロック)と関連する各々の整数およびサブ整数ピクセル位置のために異なるオフセットが定義されることができる。さらに、各々の特定のサイズにおける各々のブロック、つまり、各々のブロックのパーティションまたはサブパーティションに異なるオフセットが割り当てられることができるかもしれない。
オフセット値がいったん定義されると、動き補償装置35は、予測データおよびオフセットに基づいてビデオデータをコード化するために第2のコード化パスを実行することができる。詳細には、動き補償装置35は、オフセット予測ビデオブロックを生成するために元の予測ビデオブロックにオフセット値を適用することができ、オフセット予測ビデオブロックに基づいてコード化単位のビデオブロックを符号化することができる。予測ブロックのピクセル位置(整数位置、または複数の可能なサブ整数ピクセル位置の1つ)にしたがって位置をベースとする方法で予測ブロックのピクセル値にオフセットを加えることによって、予測ブロックは、コード化されているブロックに、より類似的であることができ、コード化効率を改善することができる。さらに、オフセット値は、異なるピクセル位置のために異なるように定義されるので、本件開示の技術は、異なるタイプの内挿と関連するデータのコード化の間でのセグメント化を達成する能力を提供することができる。
動き補償装置35がオフセット予測データ(例えば、内挿データまたは整数ベースのデータであり得るオフセット予測ビデオブロック)をいったん生成すると、ビデオ符号化器50は、コード化された元のビデオブロックからオフセット予測データを減算することによって残りのビデオブロックを形成する。加算器48は、当該減算オペレーションを実行する単一のコンポーネントまたは複数のコンポーネントを表わす。変換装置38は、残りの変換ブロック係数を具備するビデオブロックを提供する離散コサイン変換(DCT)または概念的に同様の変換のような変換を残りのブロックに適用する。変換装置38は、例えば、H.264規格によって定義されるもののような他の変換を実行することができる。そのような他の変換は、概念的にDCTに類似している。ウェーブレット変換、整数変換、副帯域変換、または他のタイプの変換も使用されることができる。いずれの場合においても、変換装置38は、残りのブロックに変換を適用し、残りの変換係数のブロックを生成する。当該変換は、残りの情報をピクセルドメインから周波数ドメインに変換することができる。
量子化装置40は、ビットレートをさらに低減するために残りの変換係数を量子化する。量子化処理は、いくつかのまたはすべての係数と関連するビット深さを低減することができる。例えば、16ビット値は、量子化の間に15ビット値に切り捨てられることができる。加えて、量子化装置40はまた、それぞれの整数および異なるオフセットの分数部分に所望のビット数を割り当てるために、本件開示の技術を使用して異なるオフセットを量子化することができる。詳細には、量子化装置40は、オフセット値の各々のために、所与のオフセット値の整数部分に第1のビット数を割り当て、所与のオフセット値の分数部分に第2のビット数を割り当てることができる。ここにおいて、第1および第2のビット数は、整数部分の大きさに基づいて決定される。エントロピーコード化装置46は、第2のビット数と異なるように第1のビット数を符号化することができる。
量子化に続いて、エントロピーコード化装置46は、量子化された変換係数をエントロピーコード化する。例えば、エントロピーコード化装置46は、CAVLC(content adaptive variable length coding)、CABAC(context adaptive binary arithmetic coding)、または他のエントロピーコード化方法を実行することができる。エントロピーコード化装置46によるエントロピーコード化に続いて、符号化されたビデオは、他のデバイスに送信されることができ、または後の送信または検索のためにアーカイブされることができる。コード化ビットストリームは、エントロピーコード化された残りのブロックと、そのようなブロックのための動きベクトルと、およびコード化単位内の異なる整数およびサブ整数ピクセル位置における複数の異なるオフセットを識別するオフセット値を含む他のシンタックスとを含むことができる。
逆量子化装置42および逆変換装置44は、ピクセルドメインにおける残りのブロックを復元するために(レファレンスブロックの後の使用のために)逆量子化および逆変換をそれぞれ適用する。加算器51は、レファレンスフレーム記憶装置34における記憶のために、復元されたビデオブロックを生成するために動き補償装置35によって生成される動き補償予測ブロックに、復元された残りのブロックを追加する。復元されたビデオブロックは、後のビデオフレームにおけるブロックをインター符号化するためにレファレンスブロックとして動き推定装置32および動き補償装置35によって使用されることができる。
図3は、ビデオ復号器60の一例を例示するブロック図である。ビデオ復号器60は、本件明細書記載の方法で符号化されるビデオシーケンスを復号する。ビデオ復号器60は、復号の際に本件開示のオフセット技術を実行する動き補償装置55を含む。詳細には、動き補償装置55は、復号側で、コード化単位のために複数のオフセット値を識別する(例えば、整数ピクセル位置および1つまたは複数の非整数ピクセル位置のために異なるオフセットを定義する)エントロピー復号装置52からシンタックスエレメントを受信することができる。動き補償装置55は、エントロピー復号装置52から受信される動きベクトルに基づいて予測データを生成することができ、オフセット予測データを生成するためにそのような予測データに(予測データのピクセル位置に基づいて)適切なオフセットを加えることができる。予測データは、内挿データであってもよい。この場合、非整数位置のためのオフセット値のうちの対応する1つは、オフセット予測データを生成するために予測データに適用されることができる。このオフセット予測データに基づいて、ビデオデータ(例えば、復元された残りのビデオブロック)が復号されることができる。詳細には、復号器は、符号化されたオリジナルビデオブロックを生成するために、オフセット予測データを残りのビデオブロックと結合することができる。
エントロピー復号装置52は、量子化された係数およびシンタックス(例えば、動きベクトル、およびコード化単位のための複数のオフセット値)を生成するために、受信されたビットストリームをエントロピー復号する。シンタックスは、エントロピーコード化装置52から動き補償装置55に転送される。逆量子化装置56は、量子化されたブロック係数を逆量子化(つまり、量子化を元に戻すこと)をする。逆量子化処理は、H.264復号によって定義されるような通常の処理であってもよい。逆変換装置58は、ピクセルドメインにおける残りのブロックを生成するために逆変換(例えば、逆DCTまたは概念的に類似の逆変換処理)を変換係数に適用する。動き補償装置55は、1つまたは複数のセットの内挿フィルター係数に基づいて可能性として内挿を実行する動き補償ブロックを生成する。1つまたは複数のセットの内挿フィルター係数はまた、シンタックスに含まれてもよい。動きベクトルに基づいて動き補償装置55が予測ブロックをいったん生成すると、各々の予測ブロックのための適切なオフセットは、予測ブロックに加算されることができ、符号化器によって実行された元の符号化において使用されたオフセット予測ブロックを生成する。
加算器64は、復号ブロックを形成するために、残りのブロックと、動き補償装置55によって生成される対応するオフセット予測ブロックとを加算することによって残りのブロックを復号する。必要があれば、デブロック化フィルターはまた、ブロック状のアーティファクトを除去するために、復号ブロックをフィルターするために適用されることができる。復号ビデオブロックは、次に、レファレンスフレーム記憶装置62に記憶される。レファレンスフレーム記憶装置62は、その後の動き補償のためにレファレンスブロックを提供し、また、ドライブディスプレイデバイス(図1のデバイス28のようなデバイス)に復号ビデオを提供する。
再び、本件開示の技術は、動き補償された予測データに対するオフセットの適用に関係する。ここにおいて、内挿によって定義された整数および異なるサブ整数ピクセル位置のために異なるオフセットが使用される。符号化器は、異なるオフセット値を定義および適用するために本件開示の技術を使用し、復号器は、符号化器によって定義および使用された当該同じオフセット値を識別するために符号化器から送られるシンタックスエレメントを解釈する。適切なオフセットが予測データのピクセル値に適用され、そのような予測データのために定義されるピクセル位置(例えば、整数ピクセル位置またはいくつかの可能な非整数ピクセル位置のうちの1つ)に基づいて適切なオフセットが選択される。
図4は、予測データと関連する整数ピクセル位置および内挿予測データと関連するサブ整数ピクセル位置を例示する概念的ブロック図である。図4の概念的例示において、異なるボックスは、ピクセルを表わしている。大文字(実線によるボックス内)は、整数ピクセル位置を表わしているのに対し、小文字(点線によるボックス内)は、サブ整数内挿ピクセル位置を表わしている。ピクセル位置「aa」、「bb」、「cc」、「dd」、「ee」、「ff」、「gg」、「hh」、「ii」および「jj」は、ピクセル位置「C3」と関連する分数内挿の様々な分数位置において使用される1/2ピクセル位置である。各々のピクセルは、各々のピクセルがビデオブロックを定義するようなビデオブロックの上部右側のピクセルに対応することができる。内挿または外挿の場合、ビデオブロックのピクセルの各々は、それぞれのサブ整数ピクセルから同じ空間的距離を有する異なる整数ピクセルに関して同じ方法で内挿または外挿される。
すべての整数ピクセル位置は、関連する15個の異なる分数(サブ整数)位置を有する。図4の一例において、ピクセル”C3”と関連するこれらの15個の異なる分数位置は、サブ整数ピクセル位置「a」、「b」、「c」、「d」、「e」、「f」、「g」、「h」、「i」、「j」、「k」、「l」、「m」、「n」および「o」として例示されている。同様に、ピクセル”E5”と関連する15個の異なる分数位置は、サブ整数ピクセル位置「a’」、「b’」、「c’」、「d’」、「e’」、「f’」、「g’」、「h’」、「i’」、「j’」、「k’」、「l’」、「m’」、「n’」および「o’」として例示されている。他の分数位置(ピクセル「C3」と関連する15個の異なる分数位置のうちの1つまたは複数を生成するために使用される上で述べられたものの他)のほとんどは、簡略化のために図示されていない。
ITU H.264/AVC規格において、例えば、1/2ピクセル位置において輝度信号を得るために、係数[1, -5, 20, 20, -5, 1]を備える6タップのウィーナーフィルターが典型的に使用される。次に、1/4ピクセル位置において輝度信号を得るために、バイリニアフィルターが使用される。バイリニアフィルターはまた、彩度成分のために分数ピクセル内挿において使用されることができる。彩度成分は、H.264/AVCにおいて1/8ピクセル精度まで有することができる。
動き推定の後、所与のビデオブロックのための最も良い動きベクトルが(例えば、可能性としてコード化比率およびビデオ品質のバランスを保つためにレート/歪みモデルを使用して)識別されることができる。予測ビデオブロックは、最も良い動きベクトルを使用して動き補償の間に形成される。上で概略が述べられたように、オリジナルビデオブロックから予測ビデオブロックを減算することによって残りのビデオブロックが形成される。次に、残りのブロックに変換が適用され、変換係数は、ビットレートを更に低減するために量子化およびエントロピーコード化される。
しかしながら、本件開示の技術は、残りを生成するために予測ビデオブロックを使用するのではなくて、予測ビデオブロックにオフセットを追加する。さらに、オフセットは、異なる整数およびサブ整数ピクセル位置のために異なるオフセットが定義されるという意味において位置固有であってもよい。ピクセル「b」および「b’」は整数ピクセル「C3」および「E5」に関して同じサブ整数ピクセル位置を定義するので、ピクセル「b」および「b’」によって識別されるビデオブロックと関連するオフセットは、同じであってもよい。しかしながら、ピクセル「c」および「d’」は整数ピクセル「C3」および「E5」に関して異なるサブ整数ピクセル位置を定義するので、ピクセル「c」および「d’」と関連するオフセットは、異なってもよい。「C3」、「a」、「b」、「c」、「d」、「e」、「f」、「g」、「h」、「i」、「j」、「k」、「l」、「m」、「n」および「o」の16個の異なるピクセル位置の各々は、異なるオフセットを定義してもよい。さらに、これらの異なるオフセットはまた、「E5」、「a’」、「b’」、「c’」、「d’」、「e’」、「f’」、「g’」、「h’」、「i’」、「j’」、「k’」、「l’」、「m’」、「n’」および「o’」の16個の異なるピクセル位置の各々にそれぞれ適用されてもよい。オフセットは、オフセット予測ブロックを生成するために予測ブロックのすべてのピクセル値を上方または下方に実質的にバイアスする正負符号の値を定義することができる。このオフセットは、ある特定のサンプル位置(整数位置または特定のサブ整数位置)に基づいて予測される同一の予測値を有するコード化単位のすべてのピクセルと、各々のそれぞれのサンプル位置における予測コード化のために使用されるすべての対応する予測ピクセルの中間との差の平均値を具備している。このため、このオフセットは、DCオフセットと呼ばれることがある。
再び、図4は、上部の場合の文字を備える実線ボックスにおける整数ピクセルサンプル(フルピクセルとも呼ばれる)を図示している。任意の所与の整数ピクセルサンプルの場合、15個のサブピクセル位置がありうる。図4において、15個のサブピクセル位置は、整数ピクセルサンプル「C3」について図示され、「a」ないし「o」とラベルされている。H.264/AVCにしたがって、動き補償装置35は、最初に1次元6タップのウィーナーフィルターを使用して1/2ピクセル位置「b」、「h」および「j」を計算することができる。内挿フィルターは、最初に水平方向に適用されることができ、次に、直交方向に適用されることができる。逆もまた同じである。動き補償装置35は、次に、バイリニアフィルターおよび既に計算された1/2ピクセルサンプルを使用して残りの1/4ピクセル位置をフィルターすることができる。
内挿データを生成するために適用される実際のフィルターは、広い様々な実装を要し得る。1つの例として、動き補償装置35は、内挿された値を定義するために適応性のある内挿フィルタリングを使用することができる。他の例において、いくつかのセットの内挿フィルターが適用されることができ、最も良い予測を導き出すセットが選択されてもよい。本件開示によると、オフセットの追加は、コード化において使用される任意の内挿予測データを生成した後に生じる。
ITU-T SG16/Q.6/VCEG (Video Coding Expert Group)委員会は、H.264/AVCよりも高いコード化効率性を提供するコード化技術を探究している。そのような探究は、KTA(Key Technology Areas)フォーラムにおいてなされた取り組みを含む。KTAに採用されたコード化ツールのうちの1つは、AIF(適応性のある内挿フィルター)と呼ばれる。AIFは、特に、高い解像度(例えば、720p)を備えるビデオシーケンス上でH.264/AVCを超える大きなコード化利得を提供する。AIFにおいて、各々のサブピクセル位置のための内挿フィルターは、予測誤りエネルギーを最小限にすることによって各々のビデオフレームのために解析的に計算される。各々のフレームのために解析的に導き出された適応性のあるフィルター係数は、次に、予測され、量子化され、コード化され、およびビデオビットストリームに送られる。本件開示のオフセット技術は、AIF方式内および多くの他の内挿方式において機能することができる。
3つの異なるタイプのAIF方式がKTAに採用されている。1つ目は、NS-AIF(二次元非分離AIF)であり、2つ目は、SAIF(分離可能AIF)であり、3つ目は、DAIF(方向フィルターを備えるAIF)である。しかしながら、すべての3つのAIF方式は、フィルター係数を導き出すために同じ解析的処理を使用する。例として非分離AIFを使用するフィルター係数が以下で記載される。
6x6の2次元非分離フィルターが係数
Figure 0005166601
を有すると仮定する。なお、i,j = 0…5であり、およびSPは、図4において図示されている15個のサブピクセル位置(aないしo)のうちの1つを表わす。15個のサブピクセル位置のうちの6個(「a」、「b」、「c」、「d」、「h」および「i」)は、1次元サブピクセル位置であり、動き補償装置35は、そのようなデータを内挿するために6タップのフィルターを使用することができることに注意せよ。また、レファレンスフレームにおける整数ピクセル位置(図4におけるA1ないしF6)における予測ピクセルが、ピクセル値
Figure 0005166601
を取ると仮定する。なお、i,j = 0…5である。すなわち、A1は、値P0,0,…,を取り、A6は、値P5,0,…,を取り、F1は、値P5,0,…,を取り、およびF6は、値P5,5を取る。次に、サブピクセル位置SPにおける内挿値PSP、SP∈{a,…,0}、は、次の方程式を使用して動き補償装置35によって計算されることができる。
Figure 0005166601
SX,Yが位置(x,y)において現在のビデオフレームにおけるピクセル値であるとする。
Figure 0005166601
(mvx,mvy)は、動きベクトルであり、
Figure 0005166601
は、動きベクトルの整数コンポーネントであり、およびFOは、フィルターオフセットである。例えば、6タップのフィルターの場合において、FO = 6 / 2 ‐ 1 = 2である。各々のサブピクセル位置SPの場合、現在のフレームにおける実際のピクセル値と、内挿値との間の予測誤りエネルギー(eSP)2は、サブピクセル位置SPに対応する動きベクトル精度を有するすべてのピクセルのために動き補償装置35によって累積されることができる。予測誤りエネルギー(eSP)2は、次の方程式を使用して動き補償装置35によって計算されてもよい。
Figure 0005166601
サブピクセル位置「a」…「o」の各々について、動き補償装置35は、フィルター係数
Figure 0005166601
に関して (eSP)2の導関数を計算することによって個々のセットの方程式を構成することができる。この場合、方程式の数は、現在のサブピクセル位置SPのために使用されるフィルター係数の数と等しい。6x6タップの2次元フィルターを使用する各々の2次元サブピクセル位置「e」、「f」、「g」、「i」、「j」、「k」、「m」、「n」および「o」の場合、36個の未知数を備える36個の方程式のシステムは、動き補償装置35によって解かれることができる。1次元フィルターのみを要し得る残りのサブピクセル位置「a」、「b」、「c」、「d」、「h」および「l」について、6個の方程式のシステムは、動き補償装置35によって解かれることができる。
Figure 0005166601
要約すると、AIFフィルターを導き出すおよび適用するプロセスの一例は、以下のステップを有してもよい。以下のステップは、動き補償装置35によって実行されることができる。
1.動きベクトル(mvx,mvy)は、コード化されるべきすべてのビデオフレームについて推定されることができる。動き推定の間、固定の内挿フィルター(例えば、H.264/AVCの内挿処理)が適用されることができる。
2.これらの動きベクトルを使用して、各々のサブピクセル位置SPのための予測誤りエネルギーは、現在のビデオフレーム上で累積されることができる。次に、適応性のあるフィルター係数
Figure 0005166601
は、上の2つの予測エネルギー方程式のように予測誤りエネルギーを最小限にすることによって独立に各々のサブピクセル位置について計算されることができる。
3.次に、新しい動きベクトルが推定されることができる。この動き推定処理の間、ステップ2において計算された適応性のある内挿フィルターが適用されることができる。適応性のある内挿フィルターを使用して、エイリアシング、カメラノイズなどによって生じる動き推定誤りが低減され、より良い動き予測が達成される。
すべての3つの存在するAIF方式は、上で与えられたような処理と同じ解析的処理を使用する。これらの方式間の差は、使用される固有のフィルター係数の数、内挿フィルターが分離可能であるか否か、およびどのフィルターサポート(つまり、内挿するために使用される整数ピクセル位置)が使用されるかにほぼ依拠する。これらの方式の各々において、ビデオビットストリームにおいて送られる必要があるフィルター係数の数を低減するために、AIFフィルター上で、ある対称的な制約が課される。
H.264/AVCにしたがって、動き補償装置35は、中間丸め処理オペレーションによる内挿を実行する。この場合において、1/2ピクセル位置(b、h、およびj)は、1/2ピクセル位置が1/4ピクセル位置を得るために使用される前にフィルターされ、丸め処理される。さらに、1/4ピクセル値を得るために使用されるバイリニアフィルタリングの間、動き補償装置35によって上方への丸め処理が使用されることができる(つまり、(a+b+1)>>1は、通常のバイリニアフィルターにおいて使用されることができる)。内挿の間の動き補償装置35によるそのような頻繁なおよびバイアスされた丸め処理オペレーションは、内挿フィルターの精度を下げるかもしれない。詳細には、シミュレーションの結果、H.264/AVCにおいて使用されるバイリニアフィルターおよび6タップのウィーナーフィルターから直接導き出される比較的高精度のフィルターを用いると、特に720pシーケンスのような高精彩(HD)ビデオシーケンスの場合、H.264/AVCを上回る著しい利得が得られるということがわかった。AIF方式(NS-AIF、S-AIF、およびDAIF)によって達成される利得の著しい部分は、これらのAIF方式がH.264/AVCよりも高精度のフィルターを使用するという事実から来るかもしれない。
いくつかの場合において、動き補償装置35は、適応性のある内挿フィルタリングを使用するかわりに、比較的簡単なSIFO(オフセットによる交換内挿フィルター)方式を使用してもよい。この場合において、各々のフレームについてフィルター係数を適応的に導き出す(これは符号化側において非常にコストのかかる処理である)代わりに、動き補償装置35は、複数の固定フィルター(例えば、複数の異なる予め定義されたセットの内挿フィルター係数によってそれぞれ定義されることができる)の間で選択をすることができる。各々のコード化単位レベル(例えば、フレームレベルまたはスライスレベル)についてまたは各々のサブピクセル位置(サンプルレベル)について、内挿フィルターの選択がなされることができる。さらに、本件開示にしたがって、DCオフセットはまた、予測の後に追加されることができ、DCオフセットはまた、本件明細書において記載されるように各々の可能な整数または分数ピクセル位置について定義されることができる。
したがって、動き補償装置35は、内挿データのいくつかの可能な代替を定義するために固定フィルターの異なるセットを使用することができる。例として、動き補償装置35は、標準ITU-T H.264フィルターセットを使用することができる。標準ITU-T H.264フィルターセットは、H.264/AVCに基づくフィルターセットであるが、より高い精度(1/2ピクセル位置に関する中間丸め処理および1/4ピクセル位置に関するバイアス丸め処理をしていない)またはカスタマイズされた内挿フィルターのセットを備える。カスタマイズされた内挿フィルターのセットは、トレーニングビデオシーケンスのセットを使用することによって、予め定義されることができる。例えば、予測誤りエネルギーを最小限にする適応性のあるフィルターは、AIF方式において使用される解析的処理をトレーニングビデオセットに適用する動き補償装置35によって導き出されることができる。次に、各々のサブピクセル位置のための平均フィルターは、カスタマイズされた内挿フィルターとして計算および使用されることができる。特定のサブピクセル位置のための平均フィルターは、次に、すべてのフィルター係数が1.0まで増すように正規化されることができる。平均フィルターはまた、次に、ある固定小数点式の精度(例えば、13ビット精度)に量子化されることができる。
フィルター係数において固定小数点式の精度を有することによって、異なるプラットフォームにわたるドリフトが排除または防止されることができる。この場合において、真の固定ポイント実装は、本件明細書記載の任意の方法で得られるフィルター係数から導き出されることができる。カスタマイズされたフィルターは、異なる特性を有していてもよい。詳細には、カスタマイズされたフィルターは、分離不可能フィルター、または分離可能フィルターであってもよく、これらは、異なるフィルターサイズ(例えば、6x6、4x4、または他のサイズ)を有していてもよい。
最も良い予測(つまり、より小さい予測誤りエネルギー)を提供するフィルターセットが動き補償装置35によって選択されることができ、内挿データを生成するために適用されることができる。複数のレファレンスフレームが使用されるとき、異なるフィルターセットが異なるレファレンスフレームのために選択されることができる。1つの例において、動き補償装置35は、1/2ピクセル位置(位置b、h、およびl)のために標準フィルターを適用することができ、動き補償装置35は、他の1/4ピクセル位置のために、カスタマイズされたフィルターセットを適用することができる。
実行される内挿タイプまたは使用される内挿フィルターに関係なく、動き補償装置35によって予測データがいったん生成または内挿されると、内挿(または非内挿)データと関連するサンプル位置に基づいて予測データにDCオフセットが適用されることができる。詳細には、本件開示は、異なる整数またはサブ整数ピクセル位置のために異なるDCオフセットの使用を提供する。再び、図4において図示されているデータの例において、これは、16個の異なるピクセル位置「C3」、「a」、「b」、「c」、「d」、「e」、「f」、「g」、「h」、「i」、「j」、「k」、「l」、「m」、「n」および「o」の各々は、自身の異なるオフセットを定義することができることを意味する。したがって、16個の可能な整数およびサブ整数位置の場合、16個の異なるオフセットがあり得る。さらに、これらの異なるオフセットはまた、16個の異なるピクセル位置「E5」、「a’」、「b’」、「c’」、「d’」、「e’」、「f’」、「g’」、「h’」、「i’」、「j’」、「k’」、「l’」、「m’」、「n’」および「o’」の各々にそれぞれ適用される。
予測データのピクセルにDCオフセットを加えることは、異なるビデオフレーム間のイルミネーション変化の効果を獲得するのを助けることができる。イルミネーション変化は、ビデオシーケンスにおけるフラッシュまたは暗くなる空のようなものによってもたらされるかもしれない。H.264/AVCは、重み予測を使用する。重み予測は、予測ピクセル値にオフセットが加えられることを可能にすることができる。しかしながら、H.264/AVC重み予測によって定義されるDCオフセットは、フレームレベル上でのみ許容されることができる。これは、ビデオブロックの予測データが内挿されるか否かにかかわらず、所与のフレームのためにただ1つのオフセット値が定義されることを意味する。
本件開示にしたがって、DCオフセットは、内挿および非内挿データと関連する異なるサンプル位置について異なるように定義されることができる。したがって、図4において図示されている15個のサブピクセル位置の各々(「a」、「b」、「c」、「d」、「e」、「f」、「g」、「h」、「i」、「j」、「k」「l」、「m」、「n」および「o」)について異なるDCオフセットが定義されることができ、整数ピクセル位置について別のDCオフセットが定義されることができる。サンプルベースのDCオフセットが使用されるとき、合計16個のDCオフセットがコード化され、ビデオビットストリームに送られることができる。サンプルベースのDCオフセットを適用することによって、動き補償装置35は、シンプルだが効果的な動きセグメント化ツールを提供することができる。例えば、静止した背景として暗くなる空を含み、および前景として動いている物を含むビデオフレームを取るとする。この場合、背景および前景は、異なる程度のイルミネーション変化を有していてもよく、そして、所与のビデオブロックを識別するピクセルの位置によって定義される位置固有DCオフセット値を使用することによって、動き補償装置35は、もしかするとそのような位置固有DCオフセット値によらずに達成されたであろう、より効果的な方法で前景および背景における異なる程度のイルミネーション変化を得ることができる。
さらに、コード化単位のビデオブロックが複数の異なるレファレンスフレーム(例えば、二方向予測のための)を使用するとき、異なるDCオフセットは、異なるレファレンスフレームと関連する各々の整数およびサブ整数位置のために計算および送信されることができる。いくつかの場合において、いくつかのレファレンスフレームは、単一フレームベースのDCオフセットを具備することができるのに対し、他のレファレンスフレームは、いくつかの位置固有DCオフセットを有することができる。いくつかの方法は、コード化されている現在のフレームに時間的な距離において最も近いレファレンスフレームのみに関する位置固有DCオフセットを使用することができ、すべての他のレファレンスフレームは、単一のフレームベースのDCオフセットを使用することができる。
DCオフセットをコード化するために、単一のフレームベースのDCオフセットが使用されるかどうか、またはいくつかの位置固有DCオフセットが使用されるかどうかを示すために1つのフレームにつき1ビットが使用されることができる。DCオフセットが整数精度のみを有する場合、これらのオフセットの値は、正負符号付の指数ゴロン符号を使用してコード化されることができる。DCオフセットが分数精度を有する場合、整数オフセットの値は、正負符号付の指数ゴロン符号を使用してコード化されることができ、非整数オフセットの値は、正負符号付の指数ゴロン符号によって定義される整数オフセットに対する残りの差を使用してコード化されることができる。
例えば、オフセットのコード化は、最初に整数オフセットをコード化し、次に、各々の分数オフセットをコード化することによってなされることができる。この場合、整数オフセットおよび分数オフセットは、異なるようにコード化される。整数オフセットは、正負符号の指数ゴロン符号を使用してコード化されることができる。整数オフセットの大きさに依存して、分数オフセットは、整数オフセットと異なるように量子化されることができる。例えば、整数オフセットが大きいとき、分数オフセットに粗い量子化レベルが適用されることができる。量子化の後、分数オフセットは、固定の長さのコードを使用してコード化されることができる。例として、以下の擬似コードは、整数オフセット値に基づいて定義される異なる固定の長さのコードを使用して所与の分数オフセットがどのようにコード化されることができるかを例示することができる。
offsetIが整数オフセットであるとする。
offsetFが分数オフセットであるとする。
offsetFbitsがoffsetFを量子化するために使用されるビット数であるとする。
abs(a)がaの絶対値であるとする。
条件式1が(abs(offsetI) = 0)である場合、
offsetFbits = 5である。
条件式2が(abs(offsetI) < 3)である場合、
offsetFbits = 4である。
条件式3が(abs(offsetI) < 7)である場合、
offsetFbits = 2である。
いずれの条件にも当てはならない場合、
offsetFbits = 0である。
この場合において、ビデオ符号化器は、オフセット値の各々のために所与のオフセット値の整数部分に第1のビット数を割り当て、所与のオフセット値の分数部分に第2のビット数を割り当てる量子化装置(例えば、ビデオ符号化器50の装置40)を含むことができる。ここにおいて、第1および第2のビット数は、整数部分の大きさに基づいて決定される。この場合、オフセット値は、動き補償装置35から量子化装置40に転送され、量子化装置40は、上の擬似コードと一致する量子化を適用することができる。いずれの場合においても、ビデオ符号化器50は、第2のビット数とは異なるように第1のビット数を符号化することができる。
一般に、いくつかの位置固有DCオフセットは、以下のように計算されることができる。
1.動きベクトルは、コード化されるべきビデオフレームのすべてのビデオブロックについて推定される。
2.各々のピクセルおよびサブピクセル位置について、その位置のためのDCオフセットは、そのピクセル位置またはサブピクセル位置に対応する動きベクトル精度を有する現在のフレーム内のすべてのピクセルの中間と、そのピクセル位置またはサブピクセル位置に対応する各々のそれぞれのための現在のフレーム内のピクセルをコード化するために使用される内挿された値の中間との間の差として計算されることができる。
単一フレームベースのDCオフセットがいくつかのフレームのために使用される場合、フレームレベルのDCオフセットの計算は、類似であってもよい。この場合において、フレームレベルのDCオフセットは、インター予測される現在のフレーム内のすべてのピクセルの中間と、それらのピクセルを予測するために使用される内挿値の中間との間の差として定義されることができる。
上で注目されたように、DCオフセット値は、各々のコード化単位のためのビットストリームの一部としてコード化されることができる。したがって、復号側において、復号器は、任意の生成された予測ビデオブロックのピクセルに、適切なDCオフセット値を単純に適用する。復号器によって使用されるDCオフセット値は、各々の予測ビデオブロックと関連する特定の整数またはサブ整数ピクセル位置のためにシンタックスにおいて定義されることができる。例えば、コード化単位のヘッダーファイルのようなシンタックスエレメントは、当該コード化単位のための複数のオフセット値の各々を特定するためのフラグまたは値を含むことができる。「オフセット」および「DCオフセット」という用語は、本件開示において交換的に使用される。オフセットは、オフセット全体が各々の同じそれぞれのピクセル位置について定義される限りにおいてDCオフセットと呼ばれる(例えば、1つの整数位置のための1つのオフセットおよび各々の可能なサブピクセル位置のためのいくつかの異なるオフセット)。
図5は、符号化デバイスによって実行されることができる符号化技術を例示しているフロー図である。図5の技術は、ビデオ符号化器50(図2)およびソースデバイス12(図1)の観点から記載される。図2のビデオ符号化器50は、図1のビデオ符号化器22に対応することができる。
図5において図示されているように、ビデオ符号化器50の動き補償装置35は、整数およびサブ整数ピクセル位置のためのビデオデータのコード化単位のための複数のオフセット値を計算する(101)。動き補償装置35は、次に、オフセット予測ビデオブロックを生成するために予測ビデオブロックにオフセット値を適用し(102)、ビデオ符号化器50は、オフセット予測ビデオブロックに基づいてコード化単位のビデオブロックを符号化する(103)(例えば、コード化されているビデオブロックからオフセット予測ビデオブロックを減算するために加算器48を呼び出すことによって、およびそれによって、残りのビデオブロックを生成する)。動き補償装置35は、エントロピーコード化装置46にオフセット値を転送することができる。エントロピー符号化装置46は、オフセット値を符号化する(104)。詳細には、エントロピー符号化装置46は、コード化単位のコード化ビデオブロックを含むコード化ビットストリームの一部としてオフセット値をエントロピー符号化することができる。符号化されたビットストリームは、次に、他のデバイスに送信されることができる(105)。詳細には、ビットストリームは、モデム23(図1)によって変調され、および送信機24(105)を通って目的デバイス16に送信されることができる。
上で注目されたように、コード化単位は、ビデオフレーム、ビデオフレームのスライス、またはビデオブロックの他の独立に復号可能な単位を具備することができる。オフセット値は、整数ピクセル位置のために1つのオフセット値および異なるサブ整数ピクセル位置のためにいくつかのオフセット値を含むことができる。例えば、内挿データのための15個の異なるサブ整数位置を可能にするITU-T H.264基準と一致して、オフセット値は、15個の異なるサブ整数ピクセル位置のために15個の異なるオフセット値を同様に含むことができる。
上で記載されたように、複数のオフセット値を計算することは、各々の整数およびサブ整数ピクセル位置における予測ビデオブロックに基づいて符号化されるコード化単位のそれぞれのビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第1のセットのメトリクスを計算することと、コード化単位を符号化するために実際に使用される予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットのメトリクスを計算することと、および第1および第2のセットのメトリクスに基づいて複数のオフセット値を計算することとを含むことができる。第1のセットのメトリクスは、予測ビデオブロックに基づいてコード化されるコード化単位のビデオブロックのための各々の整数およびサブ整数ピクセル位置において動きベクトル精度を有するピクセルと関連する第1のセットの中間値を具備することができる。第2のセットのメトリクスは、予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置における符号化において使用される予測ピクセルと関連する第2のセットの中間値を具備することができる。複数のオフセット値は、第1のセットの中間値と第2のセットの中間値との間の差を具備することができる。図5において図示されている方法は、ビデオデータの各々のコード化単位について繰り返されることができる。この場合において、動き補償装置35は、ビデオデータの異なるコード化単位のために複数のオフセット値を再計算することができる。
図6は、復号デバイスによって実行されることができる復号技術を例示しているフロー図である。図6の技術は、ビデオ復号器60(図3)の観点から説明される。図3のビデオ復号器60は、図1のビデオ復号器28に対応することができる。
図6において図示されているように、動き補償装置55は、異なる整数およびサブ整数ピクセル位置のために複数のオフセット値を含むコード化単位の符号化されたビデオデータを受信する(111)。エントロピー復号装置52は、符号化されたビットストリームを受信することができ、残りのビデオブロック、動きベクトル、および複数のオフセット値を生成するためにビットストリームをエントロピー復号することができる。動き補償装置55は、オフセット予測ビデオブロックを生成するために予測ビデオブロックにオフセット値を適用する(112)。詳細には、動き補償装置55は、最初に予測ビデオブロックを生成するために動きベクトルを使用することができ、および次に、オフセット予測ビデオブロックを生成するために予測ビデオブロックにオフセット値を適用することができる(112)。ビデオ復号器60は、次に、オフセット予測ビデオブロックに基づいてコード化単位のビデオブロックを復号することができる(113)(例えば、残りのブロックをコード化するために使用されるオフセット予測ビデオブロックに残りのブロックを加えるために加算器64を呼び出す)。
再び、コード化単位は、ビデオフレーム、ビデオフレームのスライス、またはビデオブロックの他の独立の復号可能な単位であってもよい。オフセット値は、整数ピクセル位置のための1つのオフセット値および異なるサブ整数ピクセル位置のためのいくつかのオフセット値を含むことができる(例えば、整数ピクセル位置のための1つのオフセット値、および15個の異なるサブ整数ピクセル位置のための15個の異なるオフセット値)。オフセット値は、それぞれの整数およびサブ整数ピクセル解像度における予測ビデオブロックに基づいて符号化されるコード化単位のそれぞれのビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第1のセットの中間値と、符号化において実際に使用される予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットの中間値との間の差を具備することができる。図6の技術は、ビデオデータの異なるコード化単位のために繰り返されることができる。
図7は、符号化デバイスによって実行されることができる符号化技術を例示している他のフロー図である。図7の技術は、ビデオ符号化器50およびソースデバイス12(図1)の観点から記載される。図2のビデオ符号化50は、図1のビデオ符号化器22に対応することができる。図7において図示されているように、動き補償装置35は、サブ整数解像度への予測ブロックの内挿を含む第1予測コード化パスにおけるコード化単位のビデオブロックのために動きベクトルを生成する(121)。動き補償装置35は、各々の整数およびサブ整数ピクセル位置にそれぞれ基づいて予測されるコード化単位のビデオブロックのそれぞれの各々の整数およびサブ整数ピクセル位置と関連する第1のセットのメトリクスを計算し(122)、およびそのようなコード化のために使用される予測ビデオブロックの各々の整数およびサブ整数ピクセル位置と関連する第2のセットのメトリクスを計算する(123)。
動き補償装置35は、第1および第2のセットのメトリクスに基づいて複数のオフセット値を計算する(124)。第1および第2のセットのメトリクスは、中間値を具備することができ、およびオフセット値は、そのような中間値の間の差を具備することができる。いずれの場合においても、動き補償装置35は、オフセット予測ビデオブロックを生成するために予測ビデオブロックにオフセット値を適用する(125)。ビデオ符号化器60は、次に、オフセット予測ビデオブロックに基づいて第2のコード化パスにおいてコード化単位のビデオブロックを符号化する(126)(例えば、コード化されているコード化単位のビデオブロックからオフセット予測ビデオブロックを減算するために加算器48を呼び出す)。加えて、エントロピーコード化装置46は、オフセット値を符号化する(127)。詳細には、エントロピーコード化装置46は、コード化単位のコード化ビデオブロックを含むコード化ビットストリームの一部としてオフセット値をエントロピー符号化することができる。符号化されたビットストリームは、次に、他のデバイスに送信されることができる(128)。詳細には、ビットストリームは、モデム23(図1)によって変調されることができ、送信機24を通って目的デバイス16に送信されることができる(105)。
本件開示の技術は、ワイヤレスハンドセット、および集積回路(IC)または1セットのIC(つまり、チップセット)を含む広い様々なデバイスまたは装置において実装されることができる。どのコンポーネント、モジュール、または装置も、機能的態様を強調するために提供され記載されており、必ずしも異なるハードウェア装置などによる実現を必要とするものではない。
したがって、本件明細書記載の技術は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせにおいて実装されることができる。モジュールまたはコンポーネントとして記載されたいかなる特徴も、集積論理デバイスにおいて一緒に実装されるか、または分離しているが相互運用性のある論理デバイスとして別々に実装されることができる。ソフトウェアにおいて実装される場合、本件技術は、実行されるとき、上で記載された方法の1つまたは複数を実行する命令を具備するコンピュータ可読媒体の少なくとも一部によって実現されることができる。コンピュータ可読データ記憶媒体は、コンピュータプログラムプロダクトの一部を形成することができる。コンピュータプログラムプロダクトは、パッケージングマテリアルを含んでもよい。コンピュータ可読媒体は、同期動的ランダムアクセスメモリー(SDRAM)、読み出し専用メモリー(ROM)、非発揮性ランダムアクセスメモリー(NVRAM)、電子的消去可能プログラム可能読み出し専用メモリー(EEPROM)、フラッシュメモリー、磁気または光データ記憶媒体などのようなランダムアクセスメモリー(RAM)を具備することができる。当該技術は、追加的に、または代替的に、コンピュータによって接続、読み出し、および/または実行されることができる命令またはデータ構造の形式でコードを搬送または通信するコンピュータ可読通信媒体の少なくとも一部によって現実化されることができる。
前記コードは、1つまたは複数のデジタル信号プロセッサー(DSP)、一般目的マイクロプロセッサー、特定用途集積回路(ASIC)、フィールドプログラム可能論理アレー(FPGA)、または他の同等の集積回路または離散論理回路のような1つまたは複数のプロセスによって実行されることができる。したがって、本件明細書において使用されるような「プロセッサー」という用語は、前述の構造のうちのいずれかまたは本件明細書記載の技術の実装に適した任意の他の構造のことを言うことができる。加えて、いくつかの態様において、本件明細書において記載された機能は、符号化および復号のために構成された専用のソフトウェアモジュールまたはハードウェアモジュール内で提供されることができ、または結合されたビデオ符号化器・復号器(CODEC)に組み入れられることができる。また、本件技術は、1つまたは複数の回路または論理エレメントにおいて十分に実装されることができる。
以上において本件開示の様々な態様が記載された。これらの特徴および他の態様は、以下の特許請求の範囲の範囲内である。

Claims (43)

  1. ビデオデータを符号化する方法であって、前記方法は、
    前記ビデオデータのコード化単位のための複数のオフセット値を計算することと、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、ここにおいて、前記オフセット値を適用することは、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用することを具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化することと
    を具備する方法。
  2. 前記コード化単位の符号化された前記ビデオブロックを含むコード化ビットストリームの一部として前記オフセット値を符号化することをさらに具備する、請求項1に記載の方法。
  3. 前記オフセット値を符号化することは、前記オフセット値の各々について、所与のオフセット値の整数部分に第1のビット数を割り当てることと、および前記所与のオフセット値の分数部分に第2のビット数を割り当てることとを具備する、請求項2に記載の方法であって、前記第1および第2のビット数は、前記整数部分の大きさに基づいて決定される、請求項2に記載の方法。
  4. 前記第2のビット数とは異なるように前記第1のビット数を符号化することをさらに具備する、請求項3に記載の方法。
  5. ソースデバイスから目的デバイスに前記コード化ビットストリームを送信することをさらに具備する、請求項2に記載の方法。
  6. 前記コード化単位は、ビデオフレームおよびビデオフレームのスライスのうちの1つを具備する、請求項1に記載の方法。
  7. 前記オフセット値は、整数ピクセル位置のための1つのオフセット値および異なるサブ整数ピクセル位置のためのいくつかのオフセット値を含む、請求項1に記載の方法。
  8. 前記オフセット値は、15個の異なるサブ整数ピクセル位置のための異なる15個のオフセット値を含む、請求項7に記載の方法。
  9. 前記複数のオフセット値を計算することは、
    各々の整数およびサブ整数ピクセル位置における前記予測ビデオブロックに基づいて符号化される前記コード化単位のビデオブロックのためのそれぞれの各々の整数およびサブ整数ピクセル位置と関連する第1のセットのメトリクスを計算することと、
    前記予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットのメトリクスを計算することと、
    前記第1および第2のセットのメトリクスに基づいて前記複数のオフセット値を計算することと
    を含む、請求項1に記載の方法。
  10. 前記第1のセットのメトリクスは、各々の整数およびサブ整数ピクセル位置における前記予測ビデオブロックに基づいてコード化される前記コード化単位のそれぞれのビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第1のセットの中間値を具備し、
    前記第2のセットのメトリクスは、前記予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットの中間値を具備し、
    前記複数のオフセット値は、前記第1のセットの中間値と前記第2のセットの中間値との間の差を具備する、請求項9に記載の方法。
  11. 前記ビデオデータの異なるコード化単位のための前記複数のオフセット値を再計算することをさらに具備する、請求項1に記載の方法。
  12. ビデオデータを復号する方法であって、前記方法は、
    前記ビデオデータのコード化単位のための複数のオフセット値を受信することと、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、ここにおいて、前記オフセット値を適用することは、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用することを具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号することと
    を具備する方法。
  13. 前記コード化単位は、ビデオフレームおよびビデオフレームのスライスのうちの1つを具備する、請求項12に記載の方法。
  14. 前記オフセット値は、整数ピクセル位置のための1つのオフセット値および異なるサブ整数ピクセル位置のためのいくつかのオフセット値を含む、請求項12に記載の方法。
  15. 前記オフセット値は、15個の異なるサブ整数ピクセル位置のための15個の異なるオフセット値を含む、請求項14に記載の方法。
  16. 前記オフセット値は、各々の整数およびサブ整数ピクセル位置における前記予測ビデオブロックに基づいて符号化された前記コード化単位のビデオブロックのためのそれぞれの各々の整数およびサブ整数ピクセル位置と関連する第1のセットの中間値と、前記予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットの中間値との間の差を具備する、請求項12に記載の方法。
  17. 前記方法は、前記ビデオデータの異なるコード化単位について繰り返される、請求項12に記載の方法。
  18. ビデオデータを符号化する装置であって、前記装置は、
    前記ビデオデータのコード化単位のための複数のオフセット値を計算するように構成される回路、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用するように構成される回路、ここにおいて、前記オフセット値を適用することは、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用することを具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化するように構成される回路
    を含むビデオ符号化器を具備する装置。
  19. 前記ビデオ符号化器は、前記コード化単位の符号化された前記ビデオブロックを含むコード化ビットストリームの一部として前記オフセット値を符号化するエントロピーコード化装置を含む、請求項18に記載の装置。
  20. 前記ビデオ符号化器は、前記オフセット値の各々について、所与のオフセット値の整数部分に第1のビット数を割り当て、および前記所与のオフセット値の分数部分に第2のビット数を割り当てる、請求項18に記載の装置であって、前記第1および第2のビット数は、前記整数部分の大きさに基づいて決定される、請求項18に記載の装置。
  21. 前記ビデオ符号化器は、前記第2のビット数と異なるように前記第1のビット数を符号化する、請求項20に記載の装置。
  22. 前記コード化単位は、ビデオフレームおよびビデオフレームのスライスのうちの1つを具備する、請求項18に記載の装置。
  23. 前記オフセット値は、整数ピクセル位置のための1つのオフセット値および異なるサブ整数ピクセル位置のためのいくつかのオフセット値を含む、請求項18に記載の装置。
  24. 前記オフセット値は、15個の異なるサブ整数ピクセル位置のための15個の異なるオフセット値を含む、請求項23に記載の装置。
  25. 前記ビデオ符号化器は、
    各々の整数およびサブ整数ピクセル位置における前記予測ビデオブロックに基づいて符号化される前記コード化単位のそれぞれのビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第1のセットのメトリクスを計算し、
    前記予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットのメトリクスを計算し、および
    前記第1および第2のセットのメトリクスに基づいて前記複数のオフセット値を計算する、請求項18に記載の装置。
  26. 前記第1のセットのメトリクスは、各々の整数およびサブ整数ピクセル位置における前記予測ビデオブロックに基づいてコード化される前記コード化単位の前記それぞれのビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第1のセットの中間値を具備し、
    前記第2のセットのメトリクスは、前記予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットの中間値を具備し、および
    前記複数のオフセット値は、前記第1のセットの中間値と前記第2のセットの中間値との間の差を具備する、請求項25に記載の装置。
  27. 前記ビデオ符号化器は、前記ビデオデータの異なるコード化単位について前記オフセット値を再計算する、請求項18に記載の装置。
  28. 前記装置は、集積回路を具備する、請求項18に記載の装置。
  29. 前記装置は、マイクロプロセッサーを具備する、請求項18に記載の装置。
  30. コード化ビットストリームを他のデバイスに送るワイヤレス送信機をさらに具備する請求項18に記載の装置であって、前記コード化ビットストリームは、前記複数のオフセット値を含み、前記装置は、ワイヤレス通信ハンドセットを具備する、請求項18に記載の装置。
  31. ビデオデータを復号する装置であって、前記装置は、
    前記ビデオデータのコード化単位のための複数のオフセット値を受信するように構成される回路、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用するように構成される回路、ここにおいて、前記オフセット値を適用することは、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用することを具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号するように構成される回路
    を含むビデオ復号器を具備する装置。
  32. 前記コード化単位は、ビデオフレームおよびビデオフレームのスライスのうちの1つを具備する、請求項31に記載の装置。
  33. 前記オフセット値は、整数ピクセル位置のための1つのオフセット値および異なるサブ整数ピクセル位置のためのいくつかのオフセット値を含む、請求項31に記載の装置。
  34. 前記オフセット値は、15個の異なるサブ整数ピクセル位置のための15個の異なるオフセット値を含む、請求項33に記載の装置。
  35. 前記オフセット値は、
    各々の整数およびサブ整数ピクセル位置における前記予測ビデオブロックに基づいて符号化された前記コード化単位のそれぞれのビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第1のセットの中間値と、前記予測ビデオブロックのための各々の整数およびサブ整数ピクセル位置と関連する第2のセットの中間値との間の差を具備する、請求項31に記載の装置。
  36. 前記ビデオ復号器は、前記ビデオデータの異なるコード化単位について異なる複数のオフセット値を受信および適用する、請求項31に記載の装置。
  37. 前記装置は、集積回路を具備する、請求項31に記載の装置。
  38. 前記装置は、マイクロプロセッサーを具備する、請求項31に記載の装置。
  39. コード化ビットストリームを他のデバイスから受信するワイヤレス受信機をさらに具備する請求項31に記載の装置であって、前記コード化ビットストリームは、前記複数のオフセット値を含み、前記装置は、ワイヤレス通信ハンドセットを具備する、請求項31に記載の装置。
  40. 実行の際にビデオデータをデバイスに符号化させる命令を記憶するコンピュータ可読記憶媒体であって、前記命令は、
    前記ビデオデータのコード化単位のための複数のオフセット値を計算することと、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用することと、ここにおいて、前記オフセット値を適用することは、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用することを具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化することと
    を前記デバイスにさせる、コンピュータ可読記憶媒体。
  41. 実行の際にデバイスにビデオデータを復号させる命令を記憶するコンピュータ可読記憶媒体であって、前記ビデオデータのコード化単位のための複数のオフセット値を受信する際であって、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられており、前記命令は、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用すること、ここにおいて、前記オフセット値を適用することは、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用することを具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号すること
    を前記デバイスにさせる、コンピュータ可読記憶媒体。
  42. ビデオデータを符号化するデバイスであって、前記デバイスは、
    前記ビデオデータのコード化単位のために複数のオフセット値を計算するための手段と、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用するための手段と、ここにおいて、前記オフセット値を適用するための前記手段は、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用するための手段を具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを符号化するための手段と
    を具備する、デバイス。
  43. ビデオデータを復号するデバイスであって、前記デバイスは、
    前記ビデオデータのコード化単位のための複数のオフセット値を受信するための手段と、ここにおいて、前記複数のオフセット値は、複数の異なる整数およびサブ整数ピクセル位置と関連させられている、
    前記オフセット値にしたがって前記予測ビデオブロックをバイアスするため、およびその結果オフセット予測ビデオブロックを生成するために前記オフセット値を予測ビデオブロックに適用するための手段と、ここにおいて、前記オフセット値を適用するための前記手段は、前記オフセット値の各々を前記異なる整数およびサブ整数ピクセル位置のために定義される対応する予測ビデオブロックに適用するための手段を具備する、および
    前記オフセット予測ビデオブロックに基づいて前記コード化単位のビデオブロックを復号するための手段と
    を具備する、デバイス。
JP2011504228A 2008-04-10 2009-04-10 サブピクセル解像度におけるオフセット Expired - Fee Related JP5166601B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US4402308P 2008-04-10 2008-04-10
US4402008P 2008-04-10 2008-04-10
US61/044,023 2008-04-10
US61/044,020 2008-04-10
US4424008P 2008-04-11 2008-04-11
US61/044,240 2008-04-11
US12/420,280 2009-04-08
US12/420,280 US8804831B2 (en) 2008-04-10 2009-04-08 Offsets at sub-pixel resolution
PCT/US2009/040279 WO2009126937A1 (en) 2008-04-10 2009-04-10 Offsets at sub-pixel resolution

Publications (2)

Publication Number Publication Date
JP2011517242A JP2011517242A (ja) 2011-05-26
JP5166601B2 true JP5166601B2 (ja) 2013-03-21

Family

ID=40810532

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011504228A Expired - Fee Related JP5166601B2 (ja) 2008-04-10 2009-04-10 サブピクセル解像度におけるオフセット

Country Status (8)

Country Link
US (1) US8804831B2 (ja)
EP (1) EP2304959B1 (ja)
JP (1) JP5166601B2 (ja)
KR (1) KR101242853B1 (ja)
CN (1) CN101999230B (ja)
CA (1) CA2720129A1 (ja)
TW (1) TW201010442A (ja)
WO (1) WO2009126937A1 (ja)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101456279B1 (ko) 2008-01-03 2014-11-04 한국전자통신연구원 참조 블록 파형 정보에 기반하여 인트라 영상을 부호화하는 장치 및 복호화 하는 장치
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
EP2136565A1 (en) * 2008-06-19 2009-12-23 Thomson Licensing Method for determining a filter for interpolating one or more pixels of a frame, method for encoding or reconstructing a frame and method for transmitting a frame
US8306122B2 (en) * 2008-06-23 2012-11-06 Broadcom Corporation Method and apparatus for processing image data
KR101441903B1 (ko) 2008-10-16 2014-09-24 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
NO330275B1 (no) * 2008-12-19 2011-03-21 Tandberg Telecom As Fremgangsmate i en videokodings-/-dekodingsprosess
CN104639942B (zh) * 2009-06-19 2018-10-02 三菱电机株式会社 图像编码装置、图像编码方法以及图像解码装置
US20110142135A1 (en) * 2009-12-14 2011-06-16 Madhukar Budagavi Adaptive Use of Quarter-Pel Motion Compensation
US9237178B2 (en) * 2010-02-03 2016-01-12 Futurewei Technologies, Inc. Combined binary string for signaling byte range of media fragments in adaptive streaming
FR2956552B1 (fr) * 2010-02-18 2012-12-28 Canon Kk Procede de codage ou de decodage d'une sequence video, dispositifs associes
US20110200108A1 (en) * 2010-02-18 2011-08-18 Qualcomm Incorporated Chrominance high precision motion filtering for motion interpolation
FR2957744B1 (fr) * 2010-03-19 2012-05-25 Canon Kk Procede de traitement d'une sequence video et dispositif associe
US9219921B2 (en) 2010-04-12 2015-12-22 Qualcomm Incorporated Mixed tap filters
US20120008686A1 (en) * 2010-07-06 2012-01-12 Apple Inc. Motion compensation using vector quantized interpolation filters
US20120063515A1 (en) * 2010-09-09 2012-03-15 Qualcomm Incorporated Efficient Coding of Video Parameters for Weighted Motion Compensated Prediction in Video Coding
US9628821B2 (en) 2010-10-01 2017-04-18 Apple Inc. Motion compensation using decoder-defined vector quantized interpolation filters
US10045046B2 (en) 2010-12-10 2018-08-07 Qualcomm Incorporated Adaptive support for interpolating values of sub-pixels for video coding
US9172972B2 (en) 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
KR20120095611A (ko) * 2011-02-21 2012-08-29 삼성전자주식회사 다시점 비디오 부호화/복호화 방법 및 장치
JP5786478B2 (ja) 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
JPWO2013001794A1 (ja) 2011-06-27 2015-02-23 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法、及び画像符号化装置
KR101956284B1 (ko) * 2011-06-30 2019-03-08 엘지전자 주식회사 보간 방법 및 이를 이용한 예측 방법
US9641866B2 (en) * 2011-08-18 2017-05-02 Qualcomm Incorporated Applying partition-based filters
WO2013029474A1 (en) * 2011-08-31 2013-03-07 Mediatek Inc. Method and apparatus for adaptive loop filter with constrained filter coefficients
KR20130034566A (ko) * 2011-09-28 2013-04-05 한국전자통신연구원 제한된 오프셋 보상 및 루프 필터를 기반으로 하는 영상 부호화 및 복호화 방법 및 그 장치
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US20140301719A1 (en) * 2013-04-08 2014-10-09 Broadcom Corporation Processing cache for multiple bit precisions
KR20150045819A (ko) * 2013-10-21 2015-04-29 삼성전자주식회사 움직임 보상을 수행하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
KR101479525B1 (ko) 2014-03-31 2015-01-09 에스케이텔레콤 주식회사 참조 프레임 생성 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
EP3202151B1 (en) * 2014-11-05 2020-07-29 MediaTek Singapore Pte. Ltd. Method and apparatus of video coding with prediction offset
US10575007B2 (en) 2016-04-12 2020-02-25 Microsoft Technology Licensing, Llc Efficient decoding and rendering of blocks in a graphics pipeline
US10157480B2 (en) 2016-06-24 2018-12-18 Microsoft Technology Licensing, Llc Efficient decoding and rendering of inter-coded blocks in a graphics pipeline
US11197010B2 (en) 2016-10-07 2021-12-07 Microsoft Technology Licensing, Llc Browser-based video decoder using multiple CPU threads
US10249049B1 (en) * 2017-04-28 2019-04-02 Ambarella, Inc. Local maxima sub-integer position estimation in video processing
US10672164B2 (en) * 2017-10-16 2020-06-02 Adobe Inc. Predicting patch displacement maps using a neural network
BR112020008896A2 (pt) 2017-11-07 2020-10-20 Huawei Technologies Co., Ltd. filtro de interpolação para um aparelho e método de interpredição para codificação de vídeo
WO2020024966A1 (en) * 2018-07-31 2020-02-06 Mediatek Inc. Method and apparatus of merge with motion vector difference for video coding
KR20210078351A (ko) 2019-12-18 2021-06-28 김학진 스마트폰 화면보호필름 장착 보조장치

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2938412B2 (ja) 1996-09-03 1999-08-23 日本電信電話株式会社 動画像の輝度変化補償方法、動画像符号化装置、動画像復号装置、動画像符号化もしくは復号プログラムを記録した記録媒体および動画像の符号化データを記録した記録媒体
US6539058B1 (en) * 1998-04-13 2003-03-25 Hitachi America, Ltd. Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders
JP2000106675A (ja) 1998-07-29 2000-04-11 Matsushita Electric Ind Co Ltd 映像符号化方法、映像符号化装置及び動きベクトル検出装置
US6529638B1 (en) 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
DE10120395A1 (de) 2001-04-25 2002-10-31 Bosch Gmbh Robert Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder
US6950469B2 (en) 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
WO2003030556A1 (en) 2001-09-18 2003-04-10 Matsushita Electric Industrial Co., Ltd. Image encoding method and image decoding method
EP2339854A3 (en) 2001-11-30 2013-11-13 NTT DoCoMo, Inc. Moving picture encoding device, moving picture decoding device, moving picture encoding method, moving picture decoding method, program, and computer readable recording medium storing program
AU2003201069C1 (en) 2002-01-14 2008-11-06 Nokia Technologies Oy Coding dynamic filters
JP2004007379A (ja) 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
JP4015934B2 (ja) 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
US7129962B1 (en) * 2002-03-25 2006-10-31 Matrox Graphics Inc. Efficient video processing method and system
US7305034B2 (en) * 2002-04-10 2007-12-04 Microsoft Corporation Rounding control for multi-stage interpolation
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US8406301B2 (en) 2002-07-15 2013-03-26 Thomson Licensing Adaptive weighting of reference pictures in video encoding
KR20050018948A (ko) 2002-07-09 2005-02-28 노키아 코포레이션 비디오 부호화에서 보간 필터 유형을 선택하기 위한 방법및 장치
US7903742B2 (en) 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
WO2004017157A2 (en) 2002-08-15 2004-02-26 On2.Com Imprroved video compression system
DE10240404A1 (de) * 2002-09-02 2004-03-18 Austriamicrosystems Ag Hall-Sensor und Verfahren zu dessen Betrieb
US20040076333A1 (en) 2002-10-22 2004-04-22 Huipin Zhang Adaptive interpolation filter system for motion compensated predictive video coding
KR100534207B1 (ko) * 2002-12-09 2005-12-08 삼성전자주식회사 비디오 부호화기의 움직임 추정기 및 그 방법
RU2305377C2 (ru) 2003-05-20 2007-08-27 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации
EP1636998A2 (en) 2003-06-25 2006-03-22 Thomson Licensing Method and apparatus for weighted prediction estimation using a displaced frame differential
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
NO319629B1 (no) * 2003-11-28 2005-09-05 Tandberg Telecom As Fremgangsmate for korrigering av interpolerte pikselverdier
EP1578137A2 (en) * 2004-03-17 2005-09-21 Matsushita Electric Industrial Co., Ltd. Moving picture coding apparatus with multistep interpolation process
US8284835B2 (en) 2004-04-21 2012-10-09 Panasonic Corporation Motion compensating apparatus
CN1717056A (zh) 2004-07-02 2006-01-04 三菱电机株式会社 用于小波视频编码中的高通时间滤波帧的帧内预测
EP1617672A1 (en) 2004-07-13 2006-01-18 Matsushita Electric Industrial Co., Ltd. Motion estimator/compensator including a 16-bit 1/8 pel interpolation filter
US8374238B2 (en) 2004-07-13 2013-02-12 Microsoft Corporation Spatial scalability in 3D sub-band decoding of SDMCTF-encoded video
CN101023673B (zh) 2004-09-16 2011-06-08 汤姆逊许可证公司 具有利用局部亮度变化的加权预测的视频编解码器
US7653132B2 (en) * 2004-12-21 2010-01-26 Stmicroelectronics, Inc. Method and system for fast implementation of subpixel interpolation
US8218634B2 (en) 2005-01-13 2012-07-10 Ntt Docomo, Inc. Nonlinear, in-the-loop, denoising filter for quantization noise removal for hybrid video compression
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
KR100754841B1 (ko) 2005-10-28 2007-09-04 경희대학교 산학협력단 비트율 왜곡 비용에 기초하여 선택된 보간 필터를 이용하여공간 계층간 예측을 수행하는 스케일러블 h.264부호화/복호화 방법
JP2009527186A (ja) 2006-02-17 2009-07-23 トムソン ライセンシング 映像データの輝度変化を扱う局部的な重み付け予測
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
EP2127391A2 (en) * 2007-01-09 2009-12-02 Nokia Corporation Adaptive interpolation filters for video coding
MX2009010527A (es) * 2007-04-09 2009-10-26 Nokia Corp Vectores de movimiento de alta precision para codificacion de video con baja complejidad de codificacion y decodificacion.
US20090257499A1 (en) * 2008-04-10 2009-10-15 Qualcomm Incorporated Advanced interpolation techniques for motion compensation in video coding

Also Published As

Publication number Publication date
US20090257500A1 (en) 2009-10-15
US8804831B2 (en) 2014-08-12
KR20110005846A (ko) 2011-01-19
EP2304959B1 (en) 2015-05-20
CA2720129A1 (en) 2009-10-15
KR101242853B1 (ko) 2013-03-12
CN101999230B (zh) 2014-12-17
WO2009126937A1 (en) 2009-10-15
JP2011517242A (ja) 2011-05-26
TW201010442A (en) 2010-03-01
CN101999230A (zh) 2011-03-30
EP2304959A1 (en) 2011-04-06

Similar Documents

Publication Publication Date Title
JP5166601B2 (ja) サブピクセル解像度におけるオフセット
JP5619725B2 (ja) ビデオコーディングにおけるサブピクセル解像度のための補間フィルタサポート
JP5646668B2 (ja) 切替え補間フィルタにおけるオフセット計算
JP5654091B2 (ja) ビデオコード化における動き補償のための高度内挿技術
JP5654087B2 (ja) ビデオ符号化における動き補償のための高度補間技術
JP5180366B2 (ja) ビデオコーディングにおけるサブピクセル位置の補間フィルタリングに対する対称性
JP5536034B2 (ja) 固定フィルタまたは適応フィルタに基づくビデオ・コーディングのためのレートひずみ定義補間
KR101202632B1 (ko) 비디오 코딩에서의 보간을 위한 예측 기술
JP5575747B2 (ja) 動き補償プロセスにおいて予測ブロックを発生する方法、装置、およびコンピュータ可読記憶媒体
US20100086027A1 (en) Efficient prediction mode selection
US9219921B2 (en) Mixed tap filters

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121024

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: 20121120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5166601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

LAPS Cancellation because of no payment of annual fees