JP2014520490A - ビデオコーディングにおける量子化パラメータ予測 - Google Patents

ビデオコーディングにおける量子化パラメータ予測 Download PDF

Info

Publication number
JP2014520490A
JP2014520490A JP2014517216A JP2014517216A JP2014520490A JP 2014520490 A JP2014520490 A JP 2014520490A JP 2014517216 A JP2014517216 A JP 2014517216A JP 2014517216 A JP2014517216 A JP 2014517216A JP 2014520490 A JP2014520490 A JP 2014520490A
Authority
JP
Japan
Prior art keywords
block
delta
video
blocks
actual
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
JP2014517216A
Other languages
English (en)
Other versions
JP5844460B2 (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 JP2014520490A publication Critical patent/JP2014520490A/ja
Application granted granted Critical
Publication of JP5844460B2 publication Critical patent/JP5844460B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • H04N19/428Recompression, e.g. by spatial or temporal decimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

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

Abstract

一例では、本開示の態様は、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することを含む、ビデオデータをコーディングする方法に関する。本方法はまた、複数のQPに基づいて複数の参照ブロックのための参照QPを生成することを含む。本方法はまた、参照QPを記憶することと、記憶された参照QPに基づいてビデオデータのブロックをコーディングすることとを含む。

Description

優先権の主張
本出願は、各々の内容全体が参照により全文が本明細書に組み込まれる、2011年6月22日に出願された米国仮特許出願第61/500,103号、2011年7月2日に出願された米国仮特許出願第61/504,182号2011年9月29日に出願された米国仮特許出願第61/540,886号、および2011年10月28日に出願された米国仮特許出願第61/552,895号の優先権を主張する。
本開示は、ビデオコーディング技法に関し、より詳細には、ビデオコーディングにおける量子化に関する。
[0003]デジタルビデオ機能は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラー電話または衛星無線電話、ビデオ遠隔会議デバイスなどを含む、広範囲にわたるデバイスに組み込まれ得る。
[0004]デジタルビデオデバイスは、デジタルビデオ情報をより効率的に送信および受信するために、MPEG−2、MPEG−4、ITU−T H.263、ITU−T H.264/MPEG−4、Part10、Advanced Video Coding(AVC)によって定義された規格、およびそのような規格の拡張に記載されているビデオ圧縮技法など、ビデオ圧縮技法を実装し得る。MPEGとITU−Tとのコラボレーションである「Joint Collaborative Team−Video Coding」(JCT−VC)によって開発されているHigh Efficiency Video Coding(HEVC)規格など、新しいビデオコーディング規格が開発されている。新生のHEVC規格は、H.265と呼ばれることもあるが、そのような名称は公式になされたものでない。
[0005]本開示の技法は、概して、ビデオコーディングと、ビデオコーディングにおける量子化とに関する。たとえば、本開示の技法は、概して、ビデオコーディング中に量子化のために記憶されるデータの量を低減することに関する。すなわち、量子化は、量子化パラメータ(QP:quantization parameter)を使用してビデオコーディング中に実行され得る。いくつかの事例では、QPは、参照QPと呼ばれることがある、別の記憶されたQPから予測され得る。本開示の技法は、概して、QPを予測するために記憶されるデータの量を低減することに関する。たとえば、本開示の技法は、記憶される参照QPデータの量を制限することに関する。本開示の態様によれば、各参照ピクチャ(たとえば、他のピクチャを予測するために使用されるピクチャ)のブロックごとに参照QPを記憶するのではなく、そのような参照QPデータの一部分のみが記憶され得る。
[0006]他の態様によれば、本開示は、参照QPを予測し、予測された参照QPに対して参照QPを記憶することによって記憶される参照QPデータの量を制限するための技法を含む。たとえば、QPが、所与のエリアにわたって大きい変動を示さないことがある。そのような例では、参照QPは、あるエリアについて予測され得、予測された参照QPと実際の参照QPとの間の差分のみが記憶され得る。デルタ参照QPと呼ばれることがある、差分値を記憶することによって、記憶される参照QPデータの量が低減され得る。
[0007]他の態様によれば、本開示は、(たとえば、2つ以上の参照ブロックからの)2つ以上の参照QPを使用して現在ブロックをコーディングするためのQPを予測するための技法を含む。すなわち、本開示の技法は、たとえば、2つ以上の参照ピクチャからの、2つ以上の参照QPに基づく予測QPを使用して、現在ブロックについてデルタQPを生成することを含む。本開示のいくつかの態様によれば、複数の参照QPを使用して重み付けQP予測値が生成され得る。
[0008]一例では、本開示の態様は、ビデオデータをコーディングする方法であって、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、複数のQPに基づいて複数の参照ブロックのための参照QPを生成することと、参照QPを記憶することと、記憶された参照QPに基づいてビデオデータのブロックをコーディングすることとを備える方法に関する。
[0009]別の例では、本開示の態様は、1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置い関連し、1つまたは複数のプロセッサは、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、複数のQPに基づいて複数の参照ブロックのための参照QPを生成することと、参照QPを記憶することと、記憶された参照QPに基づいてビデオデータのブロックをコーディングすることとを行うように構成される。
[0010]別の例では、本開示の態様は、ビデオデータをコーディングするための装置に関連し、該装置は、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別するための手段と、複数のQPに基づいて複数の参照ブロックのための参照QPを生成するための手段と、参照QPを記憶するための手段と、記憶された参照QPに基づいてビデオデータのブロックをコーディングするための手段とを備える。
[0011]別の例では、本開示の態様は、命令を記憶した非一時的コンピュータ可読記憶媒体に関連し、該命令は、実行されたとき、1つまたは複数のプロセッサに、ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、複数のQPに基づいて複数の参照ブロックのための参照QPを生成することと、参照QPを記憶することと、記憶された参照QPに基づいてビデオデータのブロックをコーディングすることとを行わせる。
[0012]別の例では、本開示の態様は、ビデオデータをコーディングする方法に関連し、該方法は、ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定することと、1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定することと、実際のQPと予測参照QPとの間の差分に基づいて、1つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照QPを生成することと、各参照ブロックのためのデルタ参照QPを記憶することとを備える。
[0013]別の例では、本開示の態様は、1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置に関連し、1つまたは複数のプロセッサは、ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定することと、1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定することと、実際のQPと予測参照QPとの間の差分に基づいて、1つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照QPを生成することと、各参照ブロックのためのデルタ参照QPを記憶することとを行うように構成される。
[0014]別の例では、本開示の態様は、ビデオデータをコーディングする方法に関連し、本方法は、第1の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第1の参照QPを識別することと、第2の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第2の参照QPを識別することと、第2の時間インスタンスは第1の時間インスタンスとは異なり、第3の時間インスタンスを有するビデオデータのブロックのためのQP予測子(predictor)を生成することと、第3の時間インスタンスは第1の時間インスタンスおよび第2の時間インスタンスとは異なり、QP予測子は第1の参照QPと第2の参照QPとに基づく。
[0015]別の例では、本開示の態様は、1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置に関連し、1つまたは複数のプロセッサは、第1の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第1の参照QPを識別することと、第1の時間インスタンスとは異なる第2の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第2の参照QPを識別することと、第1の時間インスタンスおよび第2の時間インスタンスとは異なる第3の時間インスタンスを有するビデオデータのブロックのためのQP予測子を生成することと、を行うように構成され、QP予測子は第1の参照QPと第2の参照QPとに基づく。
[0016]本開示の1つまたは複数の態様の詳細を添付の図面および以下の説明に記載する。本開示で説明する技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
本開示の技法を利用し得る例示的なビデオ符号化および復号システムを示すブロック図。 本開示の技法のいずれかまたはすべてを実装し得るビデオエンコーダの一例を示すブロック図。 符号化ビデオシーケンスを復号するビデオデコーダの一例を示すブロック図。 例示的な4分木(quadtree)を示す概念図。 対応する最大コーディングユニット(LCU:largest coding unit)を示す概念図。 ビデオコーディングデバイスによって記憶される参照QPデータの量を低減することを示す概念図。 ピクチャグループ(GOP:group of pictures)の一部分を示す概念図。 ビデオコーディングデバイスによって記憶される参照QPデータの量を低減するための例示的な技法を示す流れ図。 ビデオコーディングデバイスによって記憶される参照QPデータの量を低減するための別の例示的な技法を示す流れ図。 2つ以上の参照QPから予測QPを決定するための例示的な技法を示す流れ図。
[0026]本開示の技法は、概して、量子化中に記憶されるデータの量を低減することに関する。より詳細には、本開示の技法は、QP予測を実行するときに記憶される参照量子化パラメータ(QP)データの量を低減することに関する。
[0027]概して、符号化ビデオデータは予測データと残差データとを含み得る。たとえば、ビデオエンコーダは、イントラ予測モードまたはインター予測モード中に予測データを生成し得る。イントラ予測は、概して、あるピクチャのブロック中のピクセル値を、同じピクチャの隣接する、前にコーディングされたブロック中の参照サンプルに対して予測することを伴う。インター予測は、概して、あるピクチャのブロック中のピクセル値を、前にコーディングされたピクチャのデータに対して予測することを伴う。
[0028]イントラ予測またはインター予測の後に、ビデオエンコーダはブロックの残差ピクセル値を計算し得る。残差値は、概して、ブロックの予測ピクセル値データと、ブロックの真のピクセル値データとの間の差分に対応する。たとえば、残差値は、コード化ピクセルと予測ピクセルとの間の差分を示すピクセル差分値を含み得る。コード化ピクセルは、コーディングされるべきピクセルのブロックに関連し得、予測ピクセルは、コード化ブロックを予測するために使用されるピクセルの1つまたは複数のブロックに関連し得る。
[0029]ブロックの残差値をさらに圧縮するために、ビデオエンコーダは、(「エネルギー」とも呼ばれる)できるだけ多くのデータをできるだけ少数の係数に構成する変換係数のセットに、残差値を変換し得る。この変換は、空間領域からのピクセルの残差値を変換領域中の変換係数に変換する。変換係数は、元のブロックと通常同じサイズである係数の2次元行列に対応する。言い換えれば、元のブロック中のピクセルと通常同数の変換係数がある。ただし、変換により、変換係数の多くは、0に等しい値を有し得る。
[0030]ビデオエンコーダは、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。ビデオエンコーダは、あらかじめ定義されたアルゴリズムに従って量子化パラメータ(QP)を適用することによって変換係数を量子化し得る。ビデオエンコーダは、QPを調整することによって、変換係数値に適用される量子化の程度を変更し得る。いくつかの例では、ビデオエンコーダは、−26〜+25の範囲内のQPを選択し得る。
[0031]いくつかの例では、ビデオエンコーダは、スライス(またはピクチャ)内のあるブロックから別のブロックまでQPを変化させ得る。たとえば、適応量子化と呼ばれることがある、ブロック間でQPを変化させることは、視覚的品質改善をターゲットにする。すなわち、人間の眼は、概して、視覚的に「ビジー」なエリア内の劣化よりも、視覚的に「フラット」なエリア(たとえば、輝度または色の変化があまり多くないスライスまたはピクチャのエリア)内の劣化に敏感である。したがって、適応量子化は、フラットなエリア上でより細かい量子化を実行し、ビジーなエリア上でより粗い量子化を実行することによって、これらの視覚的制限を活用することを試みる。
[0032]ビデオエンコーダがビットストリーム中でシグナリングしなければならないデータの量を低減するために、ビデオエンコーダは、所与のブロックのQPを予測し得る。たとえば、QP自体を含めるのではなく、ビデオエンコーダは、現在ブロックのための実際のQPと、何らかの参照QP(たとえば、異なるブロックに関連するQP)との間の変化(すなわち、デルタ)を識別し得る。ビデオエンコーダは、次いで、ビットストリーム中で現在ブロックのデルタQPをシグナリングし得る。
[0033]デルタQPを生成するとき、ビデオエンコーダは、現在ブロックに空間的に隣接するブロック(たとえば、同じスライスまたはピクチャ中の隣接ブロック)に関連する参照QPを識別し得る。たとえば、H.264対応エンコーダは、現在マクロブロックの参照QPとして隣接マクロブロックのQPを使用して、マクロブロックレベルでデルタQPをシグナリングし得る。本質的に一貫したマクロブロックサイズおよびラスタ走査順序は、当然、隣接マクロブロックのQP間に存在する空間相関を維持する。
[0034]しかしながら、以下でより詳細に説明するように、提案されたHEVC規格は、サイズが変化し得るコーディングユニット(CU:coding unit)の概念を導入する。CUの変化するサイズおよび走査順序は、H.264において一般的な空間相関を破壊し得る。そのような事例では、現在QPとは異なる時間インスタンスの参照QPが、空間的に隣接するQPよりも正確な予測子を与え得る。したがって、いくつかの例では、ビデオエンコーダは、現在ブロックのデルタQPを生成するとき、現在ブロックとは異なる時間インスタンスからのブロックに関連する参照QPを識別し得る。すなわち、ビデオエンコーダは、現在ピクチャの現在ブロックのQPのための参照QPとして、前に符号化されたピクチャの、前に符号化されたブロックに関連するQPを識別し得る。現在ブロックがインター予測される例では、参照QPは、動きベクトル情報によって識別される参照ブロックに関連し得る。ビデオエンコーダは、次いで、参照QPを使用して現在ブロックのデルタQPを生成し得る。
[0035]異なる時間インスタンス中の参照QPを使用して現在ブロックのQPを効率的に予測するために、ビデオエンコーダはいくつかのQPを記憶しなければならない。たとえば、ビデオエンコーダは、現在ブロックによって参照され得る各参照ピクチャの各ブロックのQPを記憶しなければならない。同様に、ビデオデコーダはまた、逆量子化を実行するために参照QPデータを記憶しなければならない。そのようなQPを記憶するためにかなりの記憶域が必要とされ得る。たとえば、提案されたHEVC規格は、最高16個の参照ピクチャが使用されることを可能にし、QPは、各ピクチャ内の8×8ブロックごとに生成され、記憶され得る。その上、QPは0〜51の間で変化し得る。参照ピクチャのすべてのQPが参照QPとして使用するために記憶された場合、かなりの量の記憶域が消費され得る。
[0036]本開示の技法は、概して、QPを予測するために記憶されるデータの量を低減することに関する。たとえば、本開示の技法は、記憶される参照QPデータの量を制限することに関する。いくつかの例では、参照ピクチャ(またはスライス)のために参照QPデータの一部分のみが記憶され得る。他の例では、予測された参照QPが生成され得、予測された参照QPと実際の参照QPとの間の差分が記憶され得る。
[0037]たとえば、上述のように、ビデオコーダは、何らかの他のQPに対してブロックの変換係数を量子化するために使用されるQPを示すビデオデータのブロックのためのデルタQPを決定し得る。いくつかの事例では、他の時間インスタンスの参照ブロックに関連する参照QPを使用してデルタQPを生成するために、ビデオコーダは、8×8参照ブロック(たとえば、予測のために使用される参照ピクチャのブロック)ごとに参照QPを記憶し得る。一例では、本開示の態様によれば、ビデオコーダは、複数の参照ブロックのための平均参照QPを生成し得る。すなわち、ビデオコーダは、参照ピクチャのあらかじめ定義されたエリア内の参照QPを平均化し得る。いくつかの例では、ビデオコーダは、16×16エリア、32×32エリア、64×64エリアなどの中にあるブロックに関連する参照QPを平均化し得る。参照QP平均化エリアは、概して、平均化エリアが(たとえば、ブロックを2つの別個の平均化エリアの間で分割することなしに)1つまたは複数のフルブロックを包含するように、ブロック境界と整合し得る。平均化されるQPの数は、最小ブロックサイズ、記憶域節約の所望量などに従って選択され得る。
[0038]別の例では、記憶される参照QPデータの量を低減するために、ビデオコーダは、特定のエリアから参照QPをサブサンプリングし得る。たとえば、ビデオコーダは、いくつかの関連するQP(たとえば、コーディング中に参照QPとして使用され得るQP)を有するいくつかのブロックを含むエリアを識別し得る。上記で説明したように、エリアにわたってQPを平均化する代わりに、ビデオコーダは、エリアの代表的な参照QPとして参照QPのうちの1つを選択し得る。いくつかの例では、平均化の例に関して上記で説明したように、ビデオコーダは、ブロック境界に概して一致する、16×16エリア、32×32エリア、64×64エリア、または他のエリアを選択し得る。
[0039]本開示の他の態様によれば、ビデオコーダは、参照QPを予測し、予測された参照QPに対して参照QP値を記憶することによって記憶される参照QPデータの量を制限し得る。たとえば、QPが、所与のエリアにわたって大きい変動を示さないことがある。そのような例では、参照QPは、あるエリアについて予測され得、予測された参照QPと実際の参照QPとの間の差分のみが記憶され得る。デルタ参照QPと呼ばれることがある、差分値を記憶することによって、記憶される参照QPデータの量が低減され得る。
[0040]一例では、ビデオコーダは、デルタ参照QPを決定するための予測QPとしてスライスQP(またはデルタQP)を使用し得る。たとえば、提案されたHEVC規格など、いくつかのビデオコーディング規格に従って、QP(またはデルタQP)がスライスレベルで識別され得る。本開示の態様によれば、ビデオコーダは、ブロックの実際のQPとスライスQP(予測QP)との間の差分を計算することによってスライスのブロックごとにデルタ参照QPを生成し得る。デルタ参照QP値は、次いで、記憶され、コーディング中にデルタQPを決定するために使用され得る。他の例では、ビデオコーダは、異なる予測参照QP(たとえば、スライスまたはピクチャ内のブロックの平均、中央、最小、または最大QP)を選択または生成し得る。さらに、いくつかの例では、ビデオコーダは、デルタ参照QPを記憶するより前に、デルタ参照QPに関連するビット数を打ち切り得る(truncate)(たとえば、丸めるかまたはクリッピングし得る)。
[0041]他の態様によれば、本開示は、(たとえば、2つ以上の参照ブロックからの)2つ以上の参照QPを使用して現在ブロックをコーディングするためのQPを予測するための技法を含む。すなわち、本開示の技法は、たとえば、2つ以上の参照ピクチャからの、2つ以上の参照QPに基づく予測QPを使用して、現在ブロックのデルタQPを生成することを含む。本開示のいくつかの態様によれば、複数の参照QPを使用して重み付けQP予測値が生成され得る。
[0042]したがって、本開示のいくつかの例は、QP(もしくは実際のQP)、参照QP、デルタQP、および/またはデルタ参照QPに言及することがある。概して、QP(または実際のQP)は、1つまたは複数の変換係数を量子化または逆量子化するためのQPを指す。デルタQPは、実際のQPと、参照QPと呼ばれることがある何らかの他のQPとの間の差分に基づき得る。たとえば、ビデオエンコーダは、実際のQPと参照QPとの間のデルタを決定し、符号化ビットストリーム中でこのデルタQPを示し得る。ビデオデコーダは、符号化ビットストリーム中でデルタQPを受信し、デルタQPと、ビデオエンコーダによって使用された同じ参照QPとを使用して実際のQPを決定し得る。
[0043]いくつかの事例では、ビデオエンコーダまたはビデオデコーダは、(ビデオエンコーダにおいて、たとえば、実際のQPと参照QPとの間の差分に基づいて)デルタQPを生成するために、または(ビデオデコーダにおいて、たとえば、デルタQPと参照QPとの組合せに基づいて)実際のQPを生成するために参照QPが利用可能であるように、参照QPを記憶し得る。そのような例では、以下で説明するように本開示の態様によれば、参照QPデータを記憶するための記憶域要件を低減するためにデルタ参照QPが生成され得る。したがって、概して、デルタ参照QPは、参照QPと何らかの他のQPとの間の差分、すなわち、デルタを指し得る。
[0044]図1は、変換係数の(逆量子化を含む)量子化を実行するために本開示の技法を実行し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化ビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、コンピュータ可読媒体16を介してビデオデータを宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲にわたるデバイスのいずれかを備え得る。場合によっては、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備され得る。
[0045]宛先デバイス14は、コンピュータ可読媒体16を介して復号されるべき符号化ビデオデータを受信し得る。コンピュータ可読媒体16は、符号化ビデオデータをソースデバイス12から宛先デバイス14に移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12が、符号化ビデオデータを宛先デバイス14にリアルタイムで直接送信することを可能にするための通信媒体を備え得る。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信され得る。通信媒体は、無線周波数(RF)スペクトルあるいは1つまたは複数の物理伝送線路など、任意のワイヤレスまたはワイヤード通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなど、パケットベースネットワークの一部を形成し得る。通信媒体は、ソースデバイス12から宛先デバイス14への通信を可能にするために有用であり得るルータ、スイッチ、基地局、または任意の他の機器を含み得る。
[0046]いくつかの例では、符号化データは、出力インターフェース22からストレージデバイスに出力され得る。同様に、符号化データは、入力インターフェースによってストレージデバイスからアクセスされ得る。ストレージデバイスは、ハードドライブ、ブルーレイ(登録商標)ディスク、DVD、CD−ROM、フラッシュメモリ、揮発性または不揮発性メモリ、あるいは符号化ビデオデータを記憶するための任意の他の好適なデジタル記憶媒体など、様々な分散されたまたはローカルにアクセスされるデータ記憶媒体のいずれかを含み得る。さらなる一例では、ストレージデバイスは、ソースデバイス12によって生成された符号化ビデオを記憶し得るファイルサーバまたは別の中間ストレージデバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介してストレージデバイスから、記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化ビデオデータを記憶し、その符号化ビデオデータを宛先デバイス14に送信することが可能な任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む、任意の標準のデータ接続を介して符号化ビデオデータにアクセスし得る。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに好適であるワイヤレスチャネル(たとえば、Wi−Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含み得る。ストレージデバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
[0047]本開示では、概して、ビデオエンコーダ20が、ある情報をビデオデコーダ30などの別のデバイスに「シグナリング」することに言及することがある。ただし、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化部分に関連付けることによって情報をシグナリングし得ることを理解されたい。すなわち、ビデオエンコーダ20は、いくつかのシンタックス要素をビデオデータの様々な符号化部分のヘッダに記憶することによってデータを「シグナリング」し得る。場合によっては、そのようなシンタックス要素は、ビデオデコーダ30によって受信され、復号されるより前に、符号化され、記憶され得る(たとえば、記憶媒体34またはファイルサーバ36に記憶され得る)。したがって、「シグナリング」という用語は、通信がリアルタイムまたはほぼリアルタイムで行われるか、あるいは、符号化時にシンタックス要素を媒体に記憶し、次いで、この媒体に記憶された後の任意の時間にそのシンタックス要素が復号デバイスによって取り出され得るときなどに行われ得る、ある時間期間にわたって行われるかにかかわらず、概して、圧縮ビデオデータを復号するためのシンタックスまたは他のデータの通信を指し得る。
[0048]概してデータをエントロピーコーディングすることに関係する本開示の技法は、必ずしもワイヤレス適用例または設定に限定されるとは限らない。本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、動的適応ストリーミングオーバーHTTP(DASH:dynamic adaptive streaming over HTTP)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されたデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の適用例など、様々なマルチメディア適用例のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオブロードキャスティング、および/またはビデオテレフォニーなどの適用例をサポートするために、一方向または双方向のビデオ送信をサポートするように構成され得る。
[0049]図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、ディスプレイデバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、動きベクトルをコーディングし、HEVCと、マルチビューまたは3DV拡張など、HEVCの拡張とにおいて双予測を実行するために本技法を適用するように構成され得る。他の例では、ソースデバイスおよび宛先デバイスは他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなど、外部ビデオソース18からビデオデータを受信し得る。同様に、宛先デバイス14は、内蔵ディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースし得る。
[0050]図1の図示のシステム10は一例にすぎない。ビデオデータをエントロピーコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。概して、本開示の技法はビデオ符号化デバイスによって実行されるが、本技法は、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによっても実行され得る。さらに、本開示の技法は、ビデオプリプロセッサによっても実行され得る。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14に送信するためのコード化ビデオデータを生成するような、コーディングデバイスの例にすぎない。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化構成要素とビデオ復号構成要素とを含むように、実質的に対称的に動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオブロードキャスト、またはビデオテレフォニーのための、ビデオデバイス12とビデオデバイス14との間の一方向または双方向のビデオ送信をサポートし得る。
[0051]ソースデバイス12のビデオソース18は、ビデオカメラなどのビデオキャプチャデバイス、以前にキャプチャされたビデオを含んでいるビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブビデオとコンピュータ生成ビデオとの組合せを生成し得る。場合によっては、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラフォンまたはビデオフォンを形成し得る。ただし、上述のように、本開示で説明する技法は、概してビデオコーディングに適用可能であり得、ワイヤレスおよび/またはワイヤード適用例に適用され得る。各場合において、キャプチャされたビデオ、以前にキャプチャされたビデオ、またはコンピュータ生成ビデオは、ビデオエンコーダ20によって符号化され得る。符号化されたビデオ情報は、次いで、出力インターフェース22によってコンピュータ可読媒体16上に出力され得る。
[0052]コンピュータ可読媒体16は、ワイヤレスブロードキャストまたはワイヤードネットワーク送信などの一時媒体、あるいはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、ブルーレイディスク、または他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化ビデオデータを受信し、たとえば、ネットワーク送信を介して、その符号化ビデオデータを宛先デバイス14に与え得る。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化ビデオデータを受信し、その符号化ビデオデータを含んでいるディスクを生成し得る。したがって、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むことが理解されよう。
[0053]宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、またビデオデコーダ30によって使用される、ブロックおよび他のコード化ユニット、たとえば、GOPの特性および/または処理を記述するシンタックス要素を含む、シンタックス情報を含み得る。特に、本開示は、スライス、ピクチャ、波面のセット、またはタイルなど、複数のブロックを含むデータのユニットとして「コード化ユニット」に言及する。したがって、「コード化ユニット」という用語は、複数のブロック、たとえば、複数の最大コーディングユニット(LCU)を含むものと理解されるべきである。その上、「コード化ユニット」という用語は、HEVCにおいて使用されている「コーディングユニット」またはCUという用語と混同されるべきでない。ディスプレイデバイス32は、復号されたビデオデータをユーザに対して表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスのいずれかを備え得る。
[0054]ビデオエンコーダ20およびビデオデコーダ30は、現在開発中のHigh Efficiency Video Coding(HEVC)規格などのビデオコーディング規格に従って動作し得、HEVCテストモデル(HM)に準拠し得る。代替的に、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG−4、Part 10、Advanced Video Coding(AVC)と呼ばれるITU−T H.264規格など、他のプロプライエタリ規格または業界規格、あるいはそのような規格の拡張に従って動作し得る。ただし、本開示の技法は、いかなる特定のコーディング規格にも限定されない。ビデオコーディング規格の他の例には、MPEG−2およびITU−T H.263がある。図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0055]ITU−T H.264/MPEG−4(AVC)規格は、Joint Video Team(JVT)として知られる共同パートナーシップの成果として、ISO/IEC Moving Picture Experts Group(MPEG)とともにITU−T Video Coding Experts Group(VCEG)によって策定された。いくつかの態様では、本開示で説明する技法は、H.264規格に概して準拠するデバイスに適用され得る。H.264規格は、ITU−T Study Groupによる2005年3月付けのITU−T勧告H.264「Advanced Video Coding for generic audiovisual services」に記載されており、本明細書ではH.264規格またはH.264仕様、あるいはH.264/AVC規格または仕様と呼ぶことがある。Joint Video Team(JVT)はH.264/MPEG−4 AVCへの拡張に取り組み続けている。
[0056]JCT−VCは、HEVC規格の開発に取り組んでいる。HEVC規格化の取り組みは、HEVCテストモデル(HM)と呼ばれるビデオコーディングデバイスの発展的モデルに基づく。HMは、たとえば、ITU−T H.264/AVCに従う既存のデバイスに対してビデオコーディングデバイスのいくつかの追加の能力を仮定する。たとえば、H.264は9つのイントラ予測符号化モードを提供するが、HMは33個ものイントラ予測符号化モードを提供し得る。
[0057]概して、HMの作業モデルは、ビデオピクチャ(または、「ピクチャ」と互換的に使用され得る「フレーム」)が、ルーマサンプルとクロマサンプルの両方を含むツリーブロックまたは最大コーディングユニット(LCU)のシーケンスに分割され得ることを記述する。ビットストリーム内のシンタックスデータが、ピクセルの数に関して最大コーディングユニットであるLCUのサイズを定義し得る。スライスは、コーディング順序でいくつかの連続するツリーブロックを含む。ビデオピクチャは、1つまたは複数のスライスに区分され得る。各ツリーブロックは、4分木に従ってコーディングユニット(CU)に分割され得る。概して、4分木データ構造はCUごとに1つのノードを含み、ルートノードがツリーブロックに対応する。CUが4つのサブCUに分割された場合、CUに対応するノードは4つのリーフノードを含み、リーフノードの各々はサブCUのうちの1つに対応する。
[0058]4分木データ構造の各ノードは、対応するCUのシンタックスデータを与え得る。たとえば、4分木のノードは、そのノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含み得る。CUのシンタックス要素は、再帰的に定義され得、CUがサブCUに分割されるかどうかに依存し得る。CUがさらに分割されない場合、そのCUはリーフCUと呼ばれる。本開示では、元のリーフCUの明示的分割が存在しない場合でも、リーフCUの4つのサブCUをリーフCUとも呼ぶ。たとえば、16×16サイズのCUがさらに分割されない場合、この16×16CUが決して分割されなくても、4つの8×8サブCUをリーフCUとも呼ぶ。
[0059]CUは、CUがサイズ差異を有さないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割され得、各子ノードは、今度は親ノードとなり、別の4つの子ノードに分割され得る。4分木のリーフノードと呼ばれる、最終的な分割されていない子ノードは、コーディングノードを備え、リーフCUとも呼ばれる。コード化ビットストリームに関連するシンタックスデータは、最大CU深度と呼ばれる、ツリーブロックが分割され得る最大回数を定義し得、また、コーディングノードの最小サイズを定義し得る。それに応じて、ビットストリームは最小コーディングユニット(SCU:smallest coding unit)をも定義し得る。本開示では、HEVCのコンテキストにおけるCU、PU、またはTU、あるいは他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれのサブブロック)のいずれかを指すために「ブロック」という用語を使用する。
[0060]CUは、コーディングノードと、コーディングノードに関連する予測ユニット(PU:prediction unit)および変換ユニット(TU:transform unit)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状が方形でなければならない。CUのサイズは、8×8ピクセルから最大64×64以上のピクセルをもつツリーブロックのサイズまでに及び得る。各CUは、1つまたは複数のPUと、1つまたは複数のTUとを含み得る。CUに関連するシンタックスデータは、たとえば、CUを1つまたは複数のPUに区分することを記述し得る。区分モードは、CUが、スキップモード符号化またはダイレクトモード符号化されるか、イントラ予測モード符号化されるか、あるいはインター予測モード符号化されるかの間で異なり得る。PUは、形状が非方形になるように区分され得る。CUに関連するシンタックスデータは、たとえば、4分木に従って、CUを1つまたは複数のTUに区分することも記述し得る。TUは、形状が方形または非方形(たとえば、矩形)であり得る。
[0061]HEVC規格は、CUごとに異なり得るTUに従う変換を可能にする。TUは、一般に、区分されたLCUについて定義された所与のCU内のPUのサイズに基づいてサイズ決定されるが、常にそうであるとは限らない。TUは、一般にPUと同じサイズであるかまたはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは、「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用してより小さいユニットに再分割され得る。RQTのリーフノードは変換ユニット(TU)と呼ばれることがある。TUに関連するピクセル差分値は、変換されて変換係数が生成され得、その変換係数は量子化され得る。
[0062]リーフCUは、1つまたは複数の予測ユニット(PU)を含み得る。概して、PUは、対応するCUの全部または一部分に対応する空間的エリアを表し、そのPUの参照サンプルを取り出すためのデータを含み得る。その上、PUは、予測に関係するデータを含む。たとえば、PUがイントラモード符号化されるとき、PUのデータは、PUに対応するTUのイントラ予測モードを記述するデータを含み得る残差4分木(RQT)中に含まれ得る。別の例として、PUがインターモード符号化されるとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含み得る。PUの動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、1/4ピクセル精度もしくは1/8ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルの参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述し得る。
[0063]1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換ユニット(TU)を含み得る。変換ユニットは、上記で説明したように、(TU4分木構造とも呼ばれる)RQTを使用して指定され得る。たとえば、分割フラグは、リーフCUが4つの変換ユニットに分割されるかどうかを示し得る。次いで、各変換ユニットは、さらに、さらなるサブTUに分割され得る。TUがさらに分割されないとき、そのTUはリーフTUと呼ばれることがある。概して、イントラコーディングの場合、リーフCUに属するすべてのリーフTUは同じイントラ予測モードを共有する。すなわち、概して、リーフCUのすべてのTUの予測値を計算するために同じイントラ予測モードが適用される。イントラコーディングの場合、ビデオエンコーダ20は、イントラ予測モードを使用して各リーフTUの残差値をTUに対応するCUの一部と元のブロックとの間の差分として計算し得る。TUは、必ずしもPUのサイズに制限されるとは限らない。したがって、TUはPUよりも大きくまたは小さくなり得る。イントラコーディングの場合、PUは、同じCUについて対応するリーフTUとコロケートされ得る。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
[0064]その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれる、それぞれの4分木データ構造に関連付けられ得る。すなわち、リーフCUは、リーフCUがどのようにTUに区分されるかを示す4分木を含み得る。TU4分木のルートノードは概してリーフCUに対応し、CU4分木のルートノードは概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUはリーフTUと呼ばれる。概して、本開示では、特に明記しない限り、リーフCUおよびリーフTUに言及するためにそれぞれCUおよびTUという用語を使用する。
[0065]ビデオシーケンスは、一般に一連のビデオピクチャを含む。ピクチャグループ(GOP)は、一般に、一連の1つまたは複数のビデオフレームを備える。GOPは、GOP内に含まれるいくつかのピクチャを記述するシンタックスデータを、GOPのヘッダ中、1つまたは複数のピクチャのヘッダ中、または他の場所に含み得る。ピクチャの各スライスは、それぞれのスライスの符号化モードを記述するスライスシンタックスデータを含み得る。ビデオエンコーダ20は、一般に、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックはCU内のコーディングノードに対応し得る。ビデオブロックは、固定サイズまたは可変サイズを有し得、指定のコーディング規格に応じてサイズが異なり得る。
[0066]一例として、HMは、様々なPUサイズでの予測をサポートする。特定のCUのサイズが2N×2Nであると仮定すると、HMは、2N×2NまたはN×NのPUサイズでのイントラ予測をサポートし、2N×2N、2N×N、N×2N、またはN×Nの対称的なPUサイズでのインター予測をサポートする。HMはまた、2N×nU、2N×nD、nL×2N、およびnR×2NのPUサイズでのインター予測のための非対称区分をサポートする。非対称区分では、CUの一方向は区分されないが、他の方向は25%と75%とに区分される。25%の区分に対応するCUの部分は、「n」とその後ろに付く「Up」、「Down」、「Left」、または「Right」という表示によって示される。したがって、たとえば、「2N×nU」は、上部の2N×0.5N PUと下部の2N×1.5N PUとで水平方向に区分された2N×2N CUを指す。
[0067]本開示では、「N×N(NxN)」および「N×N(N by N)」は、垂直寸法および水平寸法に関するビデオブロックのピクセル寸法、たとえば、16×16(16x16)ピクセルまたは16×16(16 by 16)ピクセルを指すために互換的に使用され得る。概して、16×16ブロックは、垂直方向に16ピクセルを有し(y=16)、水平方向に16ピクセルを有する(x=16)。同様に、N×Nブロックは、概して、垂直方向にNピクセルを有し、水平方向にNピクセルを有し、ただし、Nは非負整数値を表す。ブロック中のピクセルは行と列に構成され得る。その上、ブロックは、必ずしも、水平方向において垂直方向と同じ数のピクセルを有する必要があるとは限らない。たとえば、ブロックはN×Mピクセルを備え得、ただし、Mは必ずしもNに等しいとは限らない。
[0068]CUのPUを使用したイントラ予測コーディングまたはインター予測コーディングの後に、ビデオエンコーダ20は、CUのTUのための残差データを計算し得る。PUは、(ピクセル領域とも呼ばれる)空間領域において予測ピクセルデータを生成する方法またはモードを記述するシンタックスデータを備え得、TUは、たとえば、残差ビデオデータへの離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換などの変換の適用後に、変換領域において係数を備え得る。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差分に対応し得る。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、TUを変換して、CUの変換係数を生成し得る。
[0069]ビデオエンコーダ20は、次いで、ビデオデータをさらに圧縮するために変換係数を量子化し得る。量子化は、概して、さらなる圧縮を提供する、係数を表すために使用されるデータの量をできるだけ低減するために変換係数を量子化するプロセスを指す。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。たとえば、量子化中にnビット値がmビット値に切り捨てられ得、ただし、nはmよりも大きい。
[0070]量子化は、量子化中に変換係数に適用される量子化器ステップサイズにインデックス付けされ得る量子化パラメータ(QP)に従って適用され得る。ビデオエンコーダ20は、QPを調整することによって量子化の程度(たとえば、量子化器ステップサイズ)を変更し得る。たとえば、H.264および新生のHEVC規格など、いくつかのビデオコーディング規格に従って、ビデオエンコーダ20は、全整数増分において0〜51の範囲内のQPを選択し得る(ただし、−26〜+25、または別の範囲など、他の範囲が可能である)。ビデオエンコーダ20は、選択されたQPに関連する量子化器ステップサイズを適用し得る。
[0071]ビデオエンコーダ20がビットストリーム中でシグナリングするデータの量をさらに低減するために、ビデオエンコーダ20は、所与のブロックのQPを予測し得る。たとえば、QP自体を含めるのではなく、ビデオエンコーダ20は、現在ブロックのための実際のQPと、何らかの参照QP(たとえば、異なるブロックに関連するQP)との間の変化(すなわち、デルタ)を識別し得る。ビデオエンコーダ20は、次いで、ビットストリーム中で現在ブロックのデルタQPをシグナリングし得る。いくつかの例では、参照QPは、現在符号化されているブロックに空間的に隣接するブロックに関連し得る。他の例では、参照QPは、現在符号化されているブロックとは異なる時間インスタンス中のブロックに関連し得る。いずれの場合も、ビデオエンコーダ20は、(たとえば、デルタQPを生成するために)現在ブロックによって参照され得る各ブロックの参照QPを記憶しなければならない。
[0072]本開示のいくつかの技法は、概して、参照QPのために記憶されるデータの量を低減することに関する。たとえば、本開示の態様によれば、各参照ピクチャ(たとえば、他のピクチャを予測するために使用されるピクチャ)のブロックごとに参照QPを記憶するのではなく、ビデオエンコーダ20は、そのような参照QPデータの一部分のみを記憶し得る。すなわち、(予測ピクセルデータを生成するために)各参照ピクチャのブロックごとに参照QPを記憶するのではなく、ビデオエンコーダ20は、以下でより詳細に説明するように、QPを平均化するか、QPをサブサンプリングするか、またはさもなければそのような参照QPデータの量を低減し得る。(たとえば、符号化ビットストリーム中に含めるべき)デルタQPを生成するとき、ビデオエンコーダ20は、記憶された参照QPデータと実際のQPとの間の差分に基づいてデルタQPを決定し得る。
[0073]他の態様によれば、本開示は、参照QPを予測し、予測された参照QPに対して参照QPを記憶することによって記憶される参照QPデータの量を制限するための技法を含む。たとえば、ビデオエンコーダ20は、ピクチャのエリアのための参照QPを予測し得、ビデオエンコーダ20は、予測された参照QPと実際の参照QPとの間の差分のみを記憶し得る。デルタ参照QPと呼ばれることがある、差分値を記憶することによって、ビデオエンコーダ20は、記憶される参照QPデータの量を低減し得る。(たとえば、符号化ビットストリーム中に含めるべき)デルタQPを生成するとき、ビデオエンコーダ20は、デルタ参照QPに基づいて参照QPを決定し得る。すなわち、ビデオエンコーダ20は、デルタ参照QPと予測された参照QPとの組合せに基づいて参照QPを再構成し得る。ビデオエンコーダ20は、次いで、参照QPと実際のQPとの間の差分に基づいてデルタQPを決定し得る。
[0074]他の態様によれば、本開示は、(たとえば、2つ以上の参照ブロックからの)2つ以上の参照QPを使用して現在ブロックをコーディングするためのQPを予測するための技法を含む。すなわち、ビデオエンコーダ20は、たとえば、2つ以上の参照ピクチャからの、2つ以上の参照QPに基づく予測QPを使用して、現在ブロックのデルタQPを決定し得る。本開示のいくつかの態様によれば、ビデオエンコーダ20は、複数の参照QPを使用して重み付けQP予測値を決定し得る。
[0075]量子化の後に、ビデオエンコーダは、変換係数を走査して、量子化変換係数を含む2次元行列から1次元ベクトルを生成し得る。走査は、より高いエネルギー(したがってより低い周波数)の係数をアレイの前方に配置し、より低いエネルギー(したがってより高い周波数)の係数をアレイの後方に配置するように設計され得る。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化され得るシリアル化ベクトルを生成するために、量子化変換係数を走査するためにあらかじめ定義された走査順序を利用し得る。他の例では、ビデオエンコーダ20は適応型走査を実行し得る。
[0076]量子化変換係数を走査して1次元ベクトルを形成した後に、ビデオエンコーダ20は、たとえば、コンテキスト適応型可変長コーディング(CAVLC:context-adaptive variable length coding)、コンテキスト適応型バイナリ算術コーディング(CABAC:context-adaptive binary arithmetic coding)、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率間隔区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って1次元ベクトルをエントロピー符号化し得る。ビデオエンコーダ20はまた、ビデオデータを復号する際にビデオデコーダ30が使用するための符号化ビデオデータに関連するシンタックス要素をエントロピー符号化し得る。
[0077]CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルを符号化するために、あるコンテキストに適用すべきコンテキストモデルを選択し得る。コンテキストは、たとえば、隣接値が非0であるか否かに関係し得る。ビデオエンコーダ20はまた、適応型走査を実行するときに生成される有効係数フラグおよび最後係数フラグなど、シンタックス要素をエントロピー符号化し得る。本開示の技法によれば、ビデオエンコーダ20は、コンテキストモデル選択のために使用されるファクタの中でも、たとえば、イントラ予測方向、シンタックス要素に対応する係数の走査位置、ブロックタイプ、および/または変換タイプに基づいて、これらのシンタックス要素を符号化するために使用されるコンテキストモデルを選択し得る。
[0078]概して、ビデオデコーダ30によって実行されるビデオ復号プロセスは、ビデオエンコーダ20によって実行される符号化技法とは逆の技法を含み得る。概して逆であるが、ビデオデコーダ30は、場合によっては、ビデオエンコーダ20によって実行される技法と同様の技法を実行することがある。ビデオデコーダ30はまた、ビデオエンコーダ20に関して説明したデータを含む受信ビットストリーム中に含まれているシンタックス要素または他のデータに依拠し得る。
[0079]特に、本開示の態様によれば、ビデオデコーダ30は、ビデオデータを復号するとき、QPを決定するために、ビデオエンコーダ20に関して上記で説明した技法と同様のまたは同じ技法を実行し得る。すなわち、ビデオデコーダ30は、参照QPのために記憶されるデータの量を低減するために本開示の技法を実装し得る。たとえば、各参照ピクチャ(たとえば、他のピクチャを予測するために使用されるピクチャ)のブロックごとに参照QPを記憶するのではなく、ビデオデコーダ30は、そのような参照QPデータの一部分のみを記憶し得る。すなわち、(予測ピクセルデータを生成するために)各参照ピクチャのブロックごとに参照QPを記憶するのではなく、ビデオデコーダ30は、以下でより詳細に説明するように、QPを平均化するか、QPをサブサンプリングするか、またはさもなければそのような参照QPデータの量を低減し得る。ビデオデコーダは、受信されたデルタQPと記憶された参照QPデータとの組合せに基づいて(たとえば、ビデオデータのブロックを逆量子化するための)実際のQPを生成し得る。
[0080]他の態様によれば、ビデオデコーダ30は、参照QPを予測し、予測された参照QPに対して参照QPを記憶することによって記憶される参照QPデータの量を制限し得る。たとえば、ビデオデコーダ30は、ピクチャのエリアのための参照QPを予測し得、ビデオデコーダ30は、デルタ参照QPと呼ばれることがある、予測された参照QPと実際の参照QPとの間の差分のみを記憶し得る。ビデオデータのブロックを逆量子化するための実際のQPを生成するとき、ビデオデコーダ30は、初めに、記憶されたデルタ参照QPに基づいて参照QPを決定し得る。すなわち、ビデオデコーダ30は、デルタ参照QPと予測された参照QPとの組合せに基づいて参照QPを再構成し得る。ビデオデコーダ30は、次いで、(符号化ビットストリーム中で受信された)受信デルタQPと参照QPとの組合せに基づいて、ブロックを逆量子化するための実際のQPを決定し得る。
[0081]他の態様によれば、ビデオデコーダ30は、(たとえば、2つ以上の参照ブロックからの)2つ以上の参照QPを使用して現在ブロックをコーディングするためのQPを予測し得る。すなわち、ビデオデコーダ30は、たとえば、2つ以上の参照ピクチャからの、2つ以上の参照QPに基づく予測QPを使用して、現在ブロックのデルタQPを決定し得る。本開示のいくつかの態様によれば、ビデオデコーダ30は、複数の参照QPを使用して重み付けQP予測値を決定し得る。
[0082]いくつかの例では、ビデオエンコーダ20は、ビデオデータを復号するときに使用され得るいくつかのパラメータセットを生成し得、ビデオデコーダ30が受信し得る。たとえば、H.264/AVC(Advanced Video Coding)規格では、コード化ビデオセグメントが、ビデオテレフォニー、ストレージ、ブロードキャスト、またはストリーミングなどの適用例に対処する「ネットワークフレンドリーな」ビデオ表現を与えるNALユニットに編成される。NALユニットは、ビデオコーディングレイヤ(VCL)NALユニットと非VCL NALユニットとにカテゴリー分類され得る。VCLユニットは、コア圧縮エンジンを含んでいることがあり、ブロック、マクロブロック、および/またはスライスレベルのデータを含み得る。他のNALユニットは非VCL NALユニットであり得る。いくつかの例では、通常は1次コード化ピクチャとして提示される、1つの時間インスタンス中のコード化ピクチャは、1つまたは複数のNALユニットを含み得るアクセスユニット中に含まれ得る。
[0083]非VCL NALユニットは、特に、パラメータセットNALユニットおよびSEI NALユニットを含み得る。パラメータセットは、(シーケンスパラメータセット(SPS:sequence parameter set)中の)シーケンスレベルヘッダ情報と、(ピクチャパラメータセット(PPS:picture parameter set)中の)まれに変化するピクチャレベルヘッダ情報とを含んでいることがある。パラメータセット(たとえば、PPSおよびSPS)がある場合、まれに変化する情報がシーケンスごとまたはピクチャごとに繰り返される必要はなく、したがって、コーディング効率が改善され得る。さらに、パラメータセットの使用は重要なヘッダ情報の帯域外送信を可能にし、誤り耐性のための冗長送信の必要を回避し得る。帯域外送信の例では、SEI NALユニットなど、他のNALユニットとは異なるチャネル上でパラメータセットNALユニットが送信され得る。
[0084]補足エンハンスメント情報(SEI:Supplemental Enhancement Information)は、VCL NALユニットからのコード化ピクチャサンプルを復号するためには必要でないが、復号、表示、誤り耐性、および他の目的に関係するプロセスを支援し得る情報を含んでいることがある。SEIメッセージは、非VCL NALユニット中に含まれていることがある。SEIメッセージは、一部の標準規格の規範的部分であり、したがって、常に標準対応デコーダ実装のために必須であるとは限らない。SEIメッセージは、シーケンスレベルのSEIメッセージまたはピクチャレベルのSEIメッセージであり得る。
[0085]図1には示されていないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、それぞれオーディオエンコーダおよびオーディオデコーダと統合され得、適切なMUX−DEMUXユニット、または他のハードウェアおよびソフトウェアを含んで、共通のデータストリームまたは別個のデータストリーム中のオーディオとビデオの両方の符号化を処理し得る。適用可能な場合、いくつかの例では、MUX−DEMUXユニットは、ITU H.223マルチプレクサプロトコル、またはユーザデータグラムプロトコル(UDP)などの他のプロトコルに準拠し得る。
[0086]ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェアなど、様々な好適なエンコーダ回路のいずれか、あるいはそれらの任意の組合せとして実装され得る。本技法が部分的にソフトウェアで実装されるとき、デバイスは、好適な非一時的コンピュータ可読媒体にソフトウェアの命令を記憶し、1つまたは複数のプロセッサを使用してその命令をハードウェアで実行して、本開示の技法を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は1つまたは複数のエンコーダまたはデコーダ中に含まれ得、そのいずれも、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合され得る。
[0087]図2は、ビデオコーディング中に1つまたは複数の変換係数に適用される量子化の量を制御するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。図2のいくつかの構成要素は、概念的な目的のために単一の構成要素に関して図示および説明されることがあるが、1つまたは複数の機能ユニットを含み得ることを理解されたい。さらに、図2のいくつかの構成要素は、単一の構成要素に関して図示および説明されることがあるが、そのような構成要素は、物理的に1つまたは2つ以上の個別および/または一体型ユニットから構成され得る。
[0088]図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在ビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、動き推定ユニット42と、動き補償ユニット44と、イントラ予測ユニット46と、参照フレームメモリ64と、加算器50と、変換処理ユニット52と、参照QPメモリ55を有する量子化ユニット54と、エントロピー符号化ユニット56とを含む。ビデオブロック再構成のために、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。
[0089]ビデオエンコーダ20は、概して、符号化されるべきビデオスライス内のビデオブロックを符号化する構成要素を示す。スライスは、複数のビデオブロックに(および、場合によっては、タイルと呼ばれるビデオブロックのセットに)分割され得る。モード選択ユニット40は、誤り結果(たとえば、コーディングレートおよびひずみレベル)に基づいて、現在ビデオブロックのために、以下で説明するように、複数のイントラコーディングモードのうちの1つ、または複数のインターコーディングモードのうちの1つなど、複数の可能なコーディングモードのうちの1つを選択し得る。モード選択ユニット40は、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に与え、参照ピクチャとして使用するための符号化ブロックを再構成するために加算器62に与え得る。
[0090]動き推定ユニット42および動き補償ユニット44は、1つまたは複数の参照ピクチャ中の1つまたは複数のブロックに対して受信ビデオブロックのインター予測コーディングを実行する。動き推定ユニット42と動き補償ユニット44とは、高度に統合され得るが、概念的な目的のために別々に示してある。
[0091]概して、動き推定ユニット42によって実行される動き推定は、ビデオブロックの動きを推定する動きベクトルを生成するプロセスである。動きベクトルは、たとえば、現在ピクチャ(または、他のコード化ユニット)内でコーディングされている現在ブロックに対する予測参照ピクチャ(または、他のコード化ユニット)内の予測ブロックの変位を示し得る。予測ブロックは、絶対値差分和(SAD:sum of absolute difference)、2乗差分和(SSD:sum of square difference)、または他の差分メトリックによって決定され得るピクセル差分に関して、コーディングされるべきブロックにぴったり一致することがわかるブロックである。予測ブロックはインター予測中に参照されるので、予測ブロックは「参照ブロック」と呼ばれることもある。
[0092]したがって、動き推定ユニット42は、現在コーディングされているブロックを参照ピクチャメモリ64中の参照ピクチャの参照ブロックと比較することによって、インターコード化ピクチャのビデオブロックの動きベクトルを計算し得る。ITU−T H.264規格では、参照ピクチャの「リスト」、たとえば、リスト0およびリスト1に言及する。リスト0は、現在ピクチャよりも前の表示順序を有する参照ピクチャを含むが、リスト1は、現在ピクチャよりも後の表示順序を有する参照ピクチャを含む。他のコーディング方式では、単一のリストが維持され得る。動き推定ユニット42は、計算された動きベクトルをエントロピー符号化ユニット56と動き補償ユニット44とに送る。
[0093]動き補償ユニット44によって実行される動き補償は、動き推定によって決定された動きベクトルに基づいて予測ブロックをフェッチまたは生成すること、場合によってはサブピクセル精度への補間を実行することを伴い得る。現在ビデオブロックの動きベクトルを受信すると、動き補償ユニット44は、動きベクトルが参照ピクチャリストのうちの1つにおいて指す予測ブロックの位置を特定し得る。ビデオエンコーダ20は、コーディングされている現在ビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって残差ビデオブロックを形成する。ピクセル差分値は、ブロックの残差データを形成し、ルーマ差分成分とクロマ差分成分の両方を含み得る。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。動き補償ユニット44はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30が使用するための、ビデオブロックとビデオスライスとに関連するシンタックス要素を生成し得る。
[0094]イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42と動き補償ユニット44とによって実行されるインター予測の代替として、現在ブロックをイントラ予測し得る。特に、イントラ予測ユニット46は、現在ブロックを符号化するために使用すべきイントラ予測モードを決定し得る。いくつかの例では、イントラ予測ユニット46は、たとえば、別個の符号化パス中に、様々なイントラ予測モードを使用して現在ブロックを符号化し得、イントラ予測ユニット46(または、いくつかの例では、モード選択ユニット40)は、テストされたモードから使用するのに適切なイントラ予測モードを選択し得る。
[0095]たとえば、イントラ予測ユニット46は、様々なテストされたイントラ予測モードのためのレートひずみ分析を使用してレートひずみ値を計算し、テストされたモードの中で最良のレートひずみ特性を有するイントラ予測モードを選択し得る。レートひずみ分析は、概して、符号化ブロックと、符号化ブロックを生成するために符号化された元の符号化されていないブロックとの間のひずみ(または誤差)の量、ならびに符号化ブロックを生成するために使用されるビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックについて最良のレートひずみ値を呈するかを決定するために、様々な符号化ブロックのひずみおよびレートから比を計算し得る。
[0096]いずれの場合も、ブロックのイントラ予測モードを選択した後に、イントラ予測ユニット46は、ブロックについての選択されたイントラ予測モードを示す情報をエントロピー符号化ユニット56に提供し得る。エントロピー符号化ユニット56は、本開示の技法に従って選択されたイントラ予測モードを示す情報を符号化し得る。ビデオエンコーダ20は、送信ビットストリーム中に、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)と、様々なブロックの符号化コンテキストの定義と、コンテキストの各々について使用すべき、最確イントラ予測モード、イントラ予測モードインデックステーブル、および変更されたイントラ予測モードインデックステーブルの指示とを含み得る構成データを含み得る。
[0097]変換処理ユニット52は、離散コサイン変換(DCT)、整数変換、または概念的に同様の変換などの変換を残差ブロックに適用し、残差変換係数値を備えるビデオブロックを生成する。変換処理ユニット52は、概念的にDCTと同様である、H.264規格によって定義される変換など、他の変換を実行し得る。ウェーブレット変換、整数変換、サブバンド変換または他のタイプの変換も使用され得る。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用し、残差変換係数のブロックを生成する。変換処理ユニット52は、残差情報をピクセル値領域から周波数領域などの変換領域に変換し得る。
[0098]量子化ユニット54は、ビットレートをさらに低減するために残差変換係数を量子化する。量子化プロセスは、係数の一部または全部に関連するビット深度を低減し得る。量子化の程度は、量子化パラメータを調整することによって変更され得る。たとえば、量子化は、概して、相対的に大きい範囲内の値を相対的に小さい範囲中の値にマッピングし、それによって、量子化変換係数を表すために必要とされるデータの量を低減することを伴う。ビデオエンコーダは、あらかじめ定義されたアルゴリズムに従って量子化パラメータ(QP)を適用することによって変換係数を量子化し得る。ビデオエンコーダは、QPを調整することによって、変換係数値に適用される量子化の程度を変更し得る。いくつかの例では、ビデオエンコーダは、0〜51の範囲内のQPを選択し得るが、他のQP範囲(たとえば、−26〜26、または他の範囲)が使用され得る。
[0099]一例では、量子化ユニット54は、以下に示す式(1)に従って量子化を行い得る。
ただし、Yijは(上記で説明した)変換係数のレベル(すなわち、値)であり、Qstepは量子化器ステップサイズであり、Zijは量子化係数のレベルである。いくつかの例では、合計52個のQstep値が量子化パラメータ(QP)に従ってサポートされ、インデックス付けされ得る。
[0100]量子化ユニット54は、スライス(またはピクチャ)内のあるブロックから別のブロックまでQPを変化させ得る。適応量子化と呼ばれることがある、ブロックまたはスライス間でQPを変化させることは、視覚的品質改善をターゲットにする。すなわち、人間の眼は、概して、視覚的に「ビジー」なエリア内の劣化よりも、視覚的に「フラット」なエリア(たとえば、輝度または色の変化があまり多くないスライスまたはピクチャのエリア)内の劣化に敏感である。したがって、適応量子化は、フラットなエリア上でより細かい量子化を実行し、ビジーなエリア上でより粗い量子化を実行することによって、これらの視覚的制限を活用することを試みる。
[0101]ビットストリーム中でシグナリングされるデータの量を低減するために、量子化ユニット54は、所与のブロックのQPを予測し得る。たとえば、QP自体を含めるのではなく、量子化ユニット54は、現在ブロックのための実際のQPと、何らかの参照QP(たとえば、異なるブロックに関連するQP)との間の変化(すなわち、デルタ)を識別し得る。量子化ユニット54は、次いで、すなわち、デコーダ30による使用のために、ビットストリーム中で現在ブロックのデルタQPをシグナリングし得る。いくつかの例では、参照QPデータは参照QPメモリ55に記憶され得るが、QPデータは、参照ピクチャメモリ64、またはビデオエンコーダ20に関連する別のメモリなど、別のロケーションにも記憶され得る。
[0102]デルタQPを生成するとき、量子化ユニット54は、現在ブロックに空間的に隣接するブロック(たとえば、同じスライスまたはピクチャ中の隣接ブロック)に関連する参照QPを識別し得る。たとえば、H.264対応エンコーダは、現在マクロブロックの参照QPとして隣接マクロブロックのQPを使用して、マクロブロックレベルでデルタQPをシグナリングし得る。本質的に一貫したマクロブロックサイズおよびラスタ走査順序は、当然、隣接マクロブロックのQP間に存在する空間相関を維持し得る。
[0103]しかしながら、上述のように、提案されたHEVC規格は、サイズが変化し得るCUの概念を導入する。CUの変化するサイズおよび走査順序は、H.264において一般的な空間相関を破壊し得る。そのような事例では、現在QPとは異なる時間インスタンスの参照QPが、空間的に隣接するQPよりも正確な予測子を与え得る。したがって、いくつかの例では、量子化ユニット54は、デルタQPを決定するとき、現在ブロックとは異なる時間インスタンスからのブロックに関連する参照QPを識別し得る。すなわち、量子化ユニット54は、現在ピクチャの現在ブロックのQPのための参照QPとして、前に符号化されたピクチャの、前に符号化されたブロックに関連するQPを識別し得る。現在ブロックがインター予測される例では、参照QPは、動きベクトル情報によって識別される参照ブロックに関連し得る。量子化ユニット54は、次いで、参照QPを使用して現在ブロックのデルタQPを生成し得る。
[0104]ただし、異なる時間インスタンス中の参照QPを使用して現在ブロックのQPを効率的に予測するために、量子化ユニット54は、たとえば、参照QPメモリ55に、いくつかの参照QPを記憶しなければならない。たとえば、量子化ユニット54は、現在ブロックを符号化するときに識別され得る(たとえば、インターコーディング中に動き推定ユニット42によって識別され得る)各参照ピクチャのブロックごとに参照QPを記憶し得る。そのようなQPを記憶するには、参照QPメモリ55中のかなりの記憶スペースが必要とされ得る。たとえば、提案されたHEVC規格は、最高16個の参照ピクチャが使用されることを可能にし、QPは、各参照ピクチャ内の8×8ブロックごとに生成され、記憶され得る。一例として、(たとえば、1080pビデオ用の)1920×1080ピクセル参照ピクチャは32,400個ものブロック(8×8ブロック)を含み得、それらのブロックの各々は関連する参照QPを有し得る。その上、HEVC規格に従って、QPは0〜51の間で変化し得る(たとえば、QPごとに8ビット)。したがって、参照ピクチャごとに参照QPデータを記憶すると、かなりの量の記憶域が消費され得る。
[0105]量子化ユニット54は、たとえば、デルタQPを生成するためのQPを予測するときに記憶されるデータの量を低減するために本開示のいくつかの技法を適用し得る。すなわち、本開示の態様によれば、各参照ピクチャ(たとえば、他のピクチャを予測するために使用されるピクチャ)のブロックごとに参照QPを記憶するのではなく、量子化ユニット54は、そのような参照QPデータの一部分のみを記憶し得る。たとえば、上記で説明した例では、各参照ピクチャの8×8ブロックごとに参照QPを記憶するのではなく、量子化ユニット54は、そのような参照QPデータの一部分のみを記憶し得る。いくつかの例では、量子化ユニット54は、参照QPデータを記憶するより前に、QPを平均化するか、QPをサブサンプリングするか、またはさもなければ参照QPデータの量を低減し得る。
[0106]説明のための一例では、量子化ユニット54は、2つ以上のブロックのQPを使用して平均参照QPを生成し得る。たとえば、量子化ユニット54は、あらかじめ定義されたエリア内で参照QPを平均化し得る。すなわち、量子化ユニット54は、16×16エリア、32×32エリア、64×64エリアなどの中にあるブロックに関連する参照QPを平均化し得る。平均化エリアは、概してブロック境界と整合し得る。すなわち、平均化エリアは、概して、1つまたは複数のフルサイズのブロック(またはCU)を包含し得る。いくつかの例によれば、量子化ユニット54によって平均化されるQPの数は、コーディングのために使用される最小CUサイズに従って決定され得る(たとえば、CUサイズが小さいほど、平均化エリアは相対的に小さくなり得る)。他の例では、量子化ユニット54によって平均化されるQPの数は、記憶域節約の所望量に従って決定され得る(たとえば、平均化エリアが相対的に大きくなるほど、達成される記憶域節約が大きくなる)。
[0107]量子化ユニット54は、平均参照QPを生成するために、平均化エリア中のQPに様々な平均化アルゴリズムを適用し得る。一例では、量子化ユニット54は、以下の式(2)を使用して平均参照QPを生成し得る。
ただし、Nは、平均化されるQPの数に等しく、QPkは、平均化されるQPの各々を表す。
[0108]別の例では、記憶される参照QPデータの量を低減するために、量子化ユニット54は、特定のエリアから参照QPをサブサンプリングし得る。たとえば、量子化ユニット54は、(コーディング中に参照QPとして使用され得る)いくつかの関連するQPを有するいくつかのブロックを含むエリアを識別し得る。上記の例において説明したように、エリアにわたって平均化する代わりに、量子化ユニット54は、エリアの代表的なQPとして参照QPのうちの1つを選択し得る。いくつかの例では、平均化の例に関して上記で説明したように、量子化ユニット54は、CU境界に概して一致する、16×16エリア、32×32エリア、64×64エリア、または他のエリアを選択し得る。
[0109]ビデオエンコーダ20は、たとえば、ビデオデコーダ30など、ビデオデコーダが使用するために符号化ビットストリーム中で、平均化エリアおよび/またはサブサンプリング選択基準をシグナリングし得る。たとえば、ビデオエンコーダ20は、符号化ビットストリームのヘッダ情報(たとえば、スライスヘッダ)あるいはパラメータセット(たとえば、ピクチャパラメータセット(PPS)またはシーケンスパラメータセット(SPS))中に平均化エリアの指示を含み得る。別の例では、ビデオエンコーダ20は、ヘッダ、パラメータセットなどの中の参照QPを決定するとき、どのブロックをサブサンプリングすべきであるかの指示を含み得る。
[0110]他の態様によれば、量子化ユニット54は、1つまたは複数の参照ブロックのための参照QPの代わりに、差分(たとえば、デルタ)参照QPを決定し、デルタ参照QPを記憶することによって記憶される参照QPデータの量を制限し得る。たとえば、量子化ユニット54は、実際の参照QPと何らかの他のQPとの間の差分を計算することによってデルタ参照QP値を生成し得る。いくつかの例では、他のQPが、予測された参照QPであり得る。たとえば、量子化ユニット54は、ピクチャのエリアのための参照QPを予測し得、量子化ユニット54は、実際の参照QPと、予測された参照QPとの間の差分のみを記憶し得る。
[0111]説明のための一例では、量子化ユニット54は、(たとえば、参照QPとして記憶されている)参照ブロックのQPと、参照ブロックが属するスライスのQP(「スライスQP」)との間の差分を計算することによって参照ブロックのデルタ参照QPを決定し得る。たとえば、提案されたHEVC規格に従って、量子化ユニット54は、ビデオデータのスライスごとにQP値(またはデルタQP値)を決定し得る。そのような一例では、量子化ユニット54は、参照ブロックのQPとスライスQP(またはデルタQP)との間の差分値を計算することによってスライス中の参照ブロックごとにデルタ参照QPを生成し得る。他の例では、量子化ユニット54は、デルタ参照QPを決定するためのQPを予測し得る。たとえば、量子化ユニット54は、所定のエリア(たとえば、スライス、スライス全体、ピクチャ全体の所定のエリア)についての平均QP、中央QP、最小QP、最大QPなどを生成することによってデルタ参照QPを決定するためのQPを予測し得る。量子化ユニット54は、デルタ参照QPを決定し、記憶するために予測QPを使用し得る。
[0112]いくつかの例では、記憶される参照QPデータの量をさらに低減するために、量子化ユニット54は、デルタ参照QPを記憶するより前に、決定されたデルタ参照QPに関連するビット数を打ち切り得る(たとえば、丸めるかまたはクリッピングし得る)。たとえば、量子化ユニット54は、デルタ参照QPを記憶するより前に、デルタ参照QPをより小さいビット深度に低減し得る。
[0113]他の態様によれば、量子化ユニット54は、(たとえば、2つ以上の参照ブロックからの)2つ以上の参照QPを使用して現在ブロックをコーディングするためのQPを予測し得る。すなわち、量子化ユニット54は、たとえば、2つ以上の参照ピクチャからの、2つ以上の参照QPに基づく予測QPを使用して、現在ブロックのデルタQPを決定し得る。一例では、双方向予測ピクチャ(たとえば、Bフレーム)について、量子化ユニット54は、前のピクチャ(たとえば、前の時間インスタンス)中の参照QPと、将来のピクチャ(たとえば、現在ピクチャよりも時間的に後に生じる時間インスタンス)中の参照QPとを識別し得る。量子化ユニット54は、次いで、これらの2つの参照QPを平均化することによってQP予測子を生成し得る。量子化ユニット54は、現在ブロックのデルタQPを生成するとき、上述のように、QP予測子を使用し得る。すなわち、量子化ユニット54は、実際の現在QPと、(2つの参照QPを使用して生成された)QP予測子との間の差分を計算することによって現在ブロックのデルタQPを生成し得る。
[0114]量子化の後に、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテンツ適応型可変長コーディング(CAVLC)、コンテキスト適応型バイナリ算術コーディング(CABAC)、または別のエントロピーコーディング技法を実行し得る。エントロピー符号化ユニット56によるエントロピーコーディングの後に、符号化ビデオは、別のデバイスに送信されるか、あるいは後で送信するかまたは取り出すためにアーカイブされ得る。コンテキスト適応型バイナリ算術コーディング(CABAC)の場合、コンテキストは隣接マクロブロックに基づき得る。
[0115]場合によっては、エントロピー符号化ユニット56またはビデオエンコーダ20の別のユニットは、エントロピーコーディングに加えて他のコーディング機能を実行するように構成され得る。たとえば、エントロピー符号化ユニット56は、マクロブロックおよびパーティションのCBP値を決定するように構成され得る。また、場合によっては、エントロピー符号化ユニット56は、マクロブロックまたはそれのパーティション中の係数のランレングスコーディングを実行し得る。特に、エントロピー符号化ユニット56は、マクロブロックまたはパーティション中の変換係数を走査するためにジグザグ走査または他の走査パターンを適用し、さらなる圧縮のためにゼロのランを符号化し得る。エントロピー符号化ユニット56はまた、符号化ビデオビットストリーム中での送信のために適切なシンタックス要素を用いてヘッダ情報を構成し得る。
[0116]逆量子化ユニット58および逆変換処理ユニット60は、それぞれ逆量子化および逆変換を適用して、たとえば、参照ブロックとして後で使用するために、ピクセル領域中で残差ブロックを再構成する。動き補償ユニット44は、残差ブロックを参照ピクチャメモリ64のピクチャのうちの1つの予測ブロックに加算することによって参照ブロックを計算し得る。動き補償ユニット44はまた、再構成された残差ブロックに1つまたは複数の補間フィルタを適用して、動き推定において使用するサブ整数ピクセル値を計算し得る。加算器62は、再構成された残差ブロックを、動き補償ユニット44によって生成された動き補償予測ブロックに加算して、参照ピクチャメモリ64に記憶するための再構成されたビデオブロックを生成する。再構成されたビデオブロックは、後続のビデオピクチャ中のブロックをインターコーディングするために動き推定ユニット42および動き補償ユニット44によって参照ブロックとして使用され得る。
[0117]図3は、符号化ビデオシーケンスを復号するビデオデコーダ30の一例を示すブロック図である。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット130と、動き補償ユニット132およびイントラ予測ユニット134を有する予測ユニット131と、参照QPメモリ137を有する逆量子化ユニット136と、逆変換ユニット138と、参照ピクチャメモリ142と、加算器140とを含む。
[0118]復号プロセス中に、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと、関連するシンタックス要素とを表す符号化ビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット130は、量子化係数、動きベクトル、および他のシンタックス要素を生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット130は、予測ユニット131に動きベクトルと他のシンタックス要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルでシンタックス要素を受信し得る。
[0119]ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、予測ユニット131のイントラ予測ユニット134は、シグナリングされたイントラ予測モードと、現在フレームまたはピクチャの、前に復号されたブロックからのデータとに基づいて、現在ビデオスライスのビデオブロックのための予測データを生成し得る。ビデオフレームがインターコード化(すなわちB、P、またはGPB)スライスとしてコーディングされたとき、予測ユニット131の動き補償ユニット132は、エントロピー復号ユニット130から受信された動きベクトルおよび他のシンタックス要素に基づいて現在ビデオフレームのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成され得る。ビデオデコーダ30は、参照ピクチャメモリ142に記憶された参照ピクチャに基づいて、デフォルトの構成技法を使用して、参照フレームリスト、すなわち、リスト0およびリスト1を構成し得る。
[0120]動き補償ユニット132は、動きベクトルと他のシンタックス要素とをパースすることによって現在ビデオスライスのビデオブロックのための予測情報を決定し、その予測情報を使用して、復号されている現在ビデオブロックのための予測ブロックを生成する。たとえば、動き補償ユニット132は、ビデオスライスのビデオブロックをコーディングするために使用される予測モード(たとえば、イントラまたはインター予測)、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)、スライスの参照ピクチャリストのうちの1つまたは複数についての構成情報、スライスの各インター符号化ビデオブロックについての動きベクトル、スライスの各インターコード化ビデオブロックについてのインター予測ステータス、および現在ビデオスライス中のビデオブロックを復号するための他の情報を決定するために、受信されたシンタックス要素のいくつかを使用する。
[0121]動き補償ユニット132はまた、補間フィルタに基づいて補間を実行し得る。動き補償ユニット132は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。この場合、動き補償ユニット132は、受信されたシンタックス要素からビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。イントラ予測ユニット134は、ビットストリーム中で受信されたイントラ予測モードを使用して、空間的に隣接するブロックから予測ブロックを形成し得る。
[0122]逆量子化ユニット136は、ビットストリーム中で与えられ、エントロピー復号ユニット130によって復号された量子化ブロック係数を逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)する。本開示のいくつかの態様によれば、逆量子化ユニット136は、図2の例に示すビデオエンコーダ20に関して上記で説明した量子化ユニット54の方法とは概して逆の方法で動作するように構成され得る。たとえば、逆量子化ユニット136は、ビデオエンコーダ20などのビデオエンコーダによってシグナリングされたデルタQPを受信し得る。デルタQPは、逆量子化するための実際のQPと、参照QPメモリ137に記憶された1つまたは複数の参照QPとの間の差分であり得る。したがって、逆量子化ユニット136は、1つまたは複数の参照QPを識別し、デルタQPと1つまたは複数の参照QPとに基づいて実際のQPを生成し得る。すなわち、図2に関して説明した量子化ユニット54が、実際のQPと1つまたは複数の参照QPとの間の差分に基づいてデルタQPを生成した場合、逆量子化ユニット136は、受信デルタQPと1つまたは複数の参照QPとの組合せに基づいてブロックを逆量子化するための実際のQPを生成し得る。参照QPメモリ137に記憶されるものとして説明したが、いくつかの例では、参照QPは、他の参照データとともに参照ピクチャメモリ142中に、またはビデオデコーダ30に関連する他のメモリ中に記憶され得ることを理解されたい。
[0123]逆量子化ユニット136は、たとえば、デルタQPを生成するためのQPを予測するときに記憶されるデータの量を低減するために本開示のいくつかの技法を適用し得る。すなわち、本開示の態様によれば、各参照ピクチャ(たとえば、他のピクチャを予測するために使用されるピクチャ)のブロックごとに参照QPを記憶するのではなく、逆量子化ユニット136は、そのような参照QPデータの一部分のみを記憶し得る。たとえば、上記で説明した例では、各参照ピクチャの8×8ブロックごとに参照QPを記憶するのではなく、逆量子化ユニット136は、そのような参照QPデータの一部分のみを記憶し得る。いくつかの例では、逆量子化ユニット136は、参照QPデータを記憶する前に、QPを平均化するか、QPをサブサンプリングするか、またはさもなければ参照QPデータの量を低減し得る。
[0124]たとえば、ビデオエンコーダ20に関して上記で説明したように、逆量子化ユニット136は、(たとえば、あらかじめ定義されたエリア内の)2つ以上のブロックのQPを使用して平均参照QPを生成し得る。別の例では、記憶される参照QPデータの量を低減するために、逆量子化ユニット136は、特定のエリアから参照QPをサブサンプリングし得る。たとえば、所定のエリア中のQPを平均化するのではなく、逆量子化ユニット136は、エリアの代表的なQPとして参照QPのうちの1つを選択し得る。
[0125]ビデオデコーダ30は、たとえば、符号化ビットストリーム中で受信された1つまたは複数のシンタックス要素に従って、平均化エリアおよび/またはサブサンプリング選択基準を決定し得る。たとえば、ビデオデコーダ30は、符号化ビットストリームからのヘッダ情報(たとえば、スライスヘッダ)あるいはパラメータセット(たとえば、ピクチャパラメータセット(PPS)またはシーケンスパラメータセット(SPS))中の平均化エリアの指示を復号し得る。別の例では、ビデオデコーダ30は、ヘッダ、パラメータセットなどの中の参照QPを決定するとき、どのブロックをサブサンプリングすべきであるかの指示を復号し得る。他の例では、ビデオデコーダ30は、参照QPデータを記憶するためにビデオエンコーダ20と同じプロセスを実行するように構成され得る。したがって、いくつかの例では、平均化エリアおよび/またはサブサンプリング選択基準はシグナリングされないことがある。
[0126]他の態様によれば、逆量子化ユニット136は、1つまたは複数の参照ブロックのための参照QPの代わりに、差分(たとえば、デルタ)参照QPを決定し、デルタ参照QPを記憶することによって記憶される参照QPデータの量を制限し得る。たとえば、逆量子化ユニット136は、実際の参照QPと何らかの他のQPとの間の差分を計算することによってデルタ参照QP値を生成し得る。いくつかの例では、他のQPが、予測された参照QPであり得る。たとえば、逆量子化ユニット136は、ピクチャのエリアのための参照QPを予測し得、逆量子化ユニット136は、実際の参照QPと、予測された参照QPとの間の差分のみを記憶し得る。
[0127]一例では、逆量子化ユニット136は、(たとえば、参照QPとして記憶されている)参照ブロックのQPと、参照ブロックが属するスライスのQP(「スライスQP」)との間の差分を計算することによって参照ブロックのデルタ参照QPを決定し得る。他の例では、逆量子化ユニット136は、デルタ参照QPを決定するためのQPを予測し得る。たとえば、逆量子化ユニット136は、所定のエリア(たとえば、スライス、スライス全体、ピクチャ全体の所定のエリア)についての平均QP、中央QP、最小QP、最大QPなどを生成することによってデルタ参照QPを決定するためのQPを予測し得る。逆量子化ユニット136は、デルタ参照QPを決定し、記憶するために予測QPを使用し得る。いくつかの例では、記憶される参照QPデータの量をさらに低減するために、逆量子化ユニット136は、デルタ参照QPを記憶する前に、決定されたデルタ参照QPに関連するビット数を打ち切り得る(たとえば、丸めるかまたはクリッピングし得る)。
[0128]他の態様によれば、逆量子化ユニット136は、(たとえば、2つ以上の参照ブロックからの)2つ以上の参照QPを使用して現在ブロックをコーディングするためのQPを予測し得る。すなわち、逆量子化ユニット136は、たとえば、2つ以上の参照ピクチャからの、2つ以上の参照QPに基づく予測QPを使用して、現在ブロックのデルタQPを決定し得る。一例では、双方向予測ピクチャ(たとえば、Bフレーム)について、逆量子化ユニット136は、前のピクチャ中の参照QPと、将来のピクチャ中の参照QPとを識別し得る。逆量子化ユニット136は、次いで、これらの2つの参照QPを平均化するかまたはさもなければ組み合わせる(combine)ことによってQP予測子を生成し得る。逆量子化ユニット136は、現在ブロックのデルタQPを生成するとき、上述のように、QP予測子を使用し得る。すなわち、逆量子化ユニット136は、実際の現在QPと、(2つの参照QPを使用して生成された)QP予測子との間の差分を計算することによって現在ブロックのデルタQPを生成し得る。
[0129]逆変換ユニット138は、ピクセル領域において残差ブロックを生成するために、逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを変換係数に適用する。動き補償ユニット132は、動き補償ブロックを生成し、場合によっては、補間フィルタに基づいて補間を実行する。サブピクセル精度をもつ動き推定に使用されるべき補間フィルタの識別子がシンタックス要素中に含まれ得る。動き補償ユニット132は、ビデオブロックの符号化中にビデオエンコーダ20によって使用された補間フィルタを使用して、参照ブロックのサブ整数ピクセルの補間値を計算し得る。動き補償ユニット132は、受信されたシンタックス情報に従って、ビデオエンコーダ20によって使用された補間フィルタを決定し、その補間フィルタを使用して予測ブロックを生成し得る。
[0130]動き補償ユニット132は、シンタックス情報のいくつかを使用して、符号化ビデオシーケンスの(1つまたは複数の)ピクチャを符号化するために使用されるマクロブロックのサイズと、符号化ビデオシーケンスのピクチャの各マクロブロックがどのように区分されるのかを記述するパーティション情報と、各パーティションがどのように符号化されるのかを示すモードと、各インター符号化マクロブロックまたはパーティションのための1つまたは複数の参照ピクチャ(またはリスト)と、符号化ビデオシーケンスを復号するための他の情報と、を決定する。
[0131]加算器140は、残差ブロックを、動き補償ユニット132またはイントラ予測ユニットによって生成される対応する予測ブロックと加算して、復号ブロックを形成する。所望される場合、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するためにデブロッキングフィルタも適用され得る。復号ビデオブロックは、次いで、参照ピクチャメモリ142に記憶され、参照ピクチャメモリ142は、参照ブロックを後続の動き補償に与え、また、(図1のディスプレイデバイス32などの)ディスプレイデバイス上での提示のために復号ビデオを生成する。
[0132]図4Aおよび図4Bは、例示的な4分木150と、対応する最大コーディングユニット172とを示す概念図である。図4Aは、階層式に構成されたノードを含む、例示的な4分木150を示している。4分木150は、たとえば、提案されたHEVC規格に従ってツリーブロックに関連付けられ得る。4分木150など、4分木中の各ノードは、子をもたないリーフノードであるか、または4つの子ノードを有し得る。図4Aの例では、4分木150はルートノード152を含む。ルートノード152は、リーフノード156A〜156C(リーフノード156)とノード154とを含む、4つの子ノードを有する。ノード154はリーフノードでないので、ノード154は、この例ではリーフノード158A〜158D(リーフノード158)である、4つの子ノードを含む。
[0133]4分木150は、この例ではLCU172など、対応する最大コーディングユニット(LCU)の特性を記述するデータを含み得る。たとえば、4分木150は、それの構造により、サブCUへのLCUの分割を記述し得る。LCU172が2N×2Nのサイズを有すると仮定する。LCU172は、この例では、4つのサブCU176A〜176C(サブCU176)および174を有し、各々はN×Nサイズである。サブCU174はさらに4つのサブCU178A〜178D(サブCU178)に分割され、各々はサイズN/2×N/2である。この例では、4分木150の構造はLCU172の分割に対応する。すなわち、ルートノード152はLCU172に対応し、リーフノード156はサブCU176に対応し、ノード154はサブCU174に対応し、リーフノード158はサブCU178に対応する。
[0134]4分木150のノードのデータは、ノードに対応するCUが分割されるかどうかを記述し得る。CUが分割される場合、4分木150中に4つの追加のノードが存在し得る。いくつかの例では、4分木のノードは以下の擬似コードと同様に実装され得る。
split_flag値は、現在のノードに対応するCUが分割されるかどうかを表す1ビット値であり得る。CUが分割されない場合、split_flag値は「0」であり得るが、CUが分割される場合、split_flag値は「1」であり得る。4分木150の例に関して、分割フラグ値のアレイは101000000であり得る。
[0135]いくつかの例では、サブCU176およびサブCU178の各々は、同じイントラ予測モードを使用してイントラ予測符号化され得る。したがって、ビデオエンコーダ20は、ルートノード152においてイントラ予測モードの指示を与え得る。
[0136]図4AではCU4分木の一例を示したが、同様の4分木がリーフノードCUのTUに適用され得ることを理解されたい。すなわち、リーフノードCUは、CUのためのTUの区分を記述するTU4分木を含み得る。TU4分木は、TU4分木がCUのTUのイントラ予測モードを個々にシグナリングし得ることを除いて、概してCU4分木に似ていることがある。
[0137]いずれの場合も、図4Aおよび図4Bに示す例の場合のように、所与のツリーブロックのCUおよびTUはサイズが異なり得るので、他のコーディング規格(たとえば、H.264など)において一般化した空間相関が失われ得る。したがって、空間ネイバーは、現在コーディングされているブロックに最良の参照QPを提供しないことがある。そのような場合、ビデオコーダは、現在コーディングされているブロックのQPとは異なる時間インスタンス中の参照QP(予測QP)を識別し得る。ビデオコーダは、QPを予測するときに記憶されるデータの量を低減するために本開示の技法を実装し得る。たとえば、ビデオコーダは、1つまたは複数の参照ピクチャからの参照QPデータを効率的に記憶するために、図2および図3に関して上記で説明した技法を実装し得る。
[0138]図5〜図9の技法について、概してビデオコーダによって実行されるものとして説明するが、いくつかの例では、図5〜図9の技法は、上記で説明したビデオエンコーダ20(図1および図2)またはビデオデコーダ30(図1および図3)によって行われ得ることを理解されたい。他の例では、図5〜図9の技法は、様々な他のプロセッサ、処理ユニット、エンコーダ/デコーダ(コーデック)などのハードウェアベースのコーディングユニットなどによって実行され得る。
[0139]図5は、ビデオコーディングデバイス(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)によって記憶される参照QPデータの量を低減することを示す概念図である。図5に示す例は、ビデオデータ200の複数のブロックを含んでいるビデオデータのピクチャまたはスライスの一部分を含む。説明のための一例では、ブロック200は、サイズが32×32ピクセルである4つのLCUを含み得る。すなわち、ブロック200は、左から右および上から下に、第1の未分割LCU202(32×32ピクセル)と、サブCU204A、204B、および204C(総称してサブCU204、各16×16ピクセル)およびサブCU206A、206B、206C、および206D(総称してサブCU206、各8×8ピクセル)を有する第2のLCUと、サブCU208A、208B、208C、および208D(総称してサブCU208、各32×32ピクセル、各16×16ピクセル)を有する第3のLCUと、第4の未分割LCU210(32×32ピクセル)とを含み得る。ブロック200の構成およびサイズは例として与えたものにすぎず、以下で説明する技法は他の構成および/またはサイズのブロックに適用され得ることを理解されたい。
[0140]ブロック200は、1つまたは複数の他のブロックのインター予測のために使用される参照ピクチャ中に含まれ得る。したがって、ブロック200の各々は、別のブロックのQPを予測するために使用され得る参照QPを含むと仮定する。本開示の態様によれば、ブロック200のすべてのためのQPを記憶するのではなく、(ビデオエンコーダ20および/またはビデオデコーダ30などの)ビデオコーダは、QPデータの一部分のみを記憶することによって記憶されるQPデータの量を制限し得る。
[0141]たとえば、いくつかの態様によれば、ビデオコーダは、所定の数のブロック200を表すために、所定の数のブロック200の組み合わされた参照QPを生成し得る。一例では、ビデオコーダは、ブロックの参照QPを生成するために、ピクチャのあらかじめ定義されたエリア内でブロック200の参照QPを平均化し得る。平均化エリアは、16×16エリア、32×32エリア、64×64エリアなどの中にあるブロックを含み得る。
[0142]図5に示す例では、ビデオコーダは、各エリア中の参照ブロックからのQPを組み合わせること(combining)によって、4つの32×32エリアの各々のための代表的な参照QPを生成する。たとえば、ビデオコーダは、第1の平均化エリア212A、第2の平均化エリア212B、第3の平均化エリア212C、および第4の平均化エリア212D(総称して平均化エリア212)の各々のための平均参照QPを生成し得る。図5に示す例では、第1の平均化エリア212Aは第1の未分割LCU202を含み、第4の平均化エリア212Dは第4の未分割LCU210を含む。したがって、それらの平均化エリアの各々は単一の参照QPを含む(すなわち、平均化は不要である)。すなわち、エリア212Aは第1の参照QPを有し、エリア212Dは、エリアのための実際のQPに応じて第1の参照QPと同じであることも異なることもあり得る、第2の参照QPを有する。しかしながら、ビデオコーダは、サブCU204とサブC206とに関連する参照QPを平均化することによって第2の平均化エリア212Bのための代表的な参照QPを生成し得る。さらに、ビデオコーダは、サブCU208に関連する参照QPを平均化することによって第3の平均化エリア212Cのための代表的な参照QPを生成し得る。平均化エリア212の各々のための代表的な参照QPを生成することによって、ビデオコーダは、(たとえば、ブロック200の各々のための参照QPを記憶することに対して)記憶される参照QPデータの量を低減し得る。
[0143]ビデオコーダは、平均化エリア212のための代表的な参照QPを決定するために様々な平均化アルゴリズムを実装し得る。一例では、ビデオコーダは、上記で説明した式(2)を使用して平均化エリア212の各々のための平均参照QPを決定し得る。さらに、概して「平均化」について言及を行ったが、ビデオコーダは、他の方法で平均化エリア212内の参照QPを組み合わせ(combine)得ることを理解されたい。すなわち、他の例では、ビデオコーダは、中央値、範囲、モードなどを決定することによって、平均化エリア212の各々のための代表的な参照QPを決定し得る。いずれの場合も、平均化エリア212の各々のための組み合わされた代表的な参照QPを決定した後に、ビデオコーダは、代表的な参照QPを記憶し得る。
[0144]ビデオコーダが(ビデオエンコーダ20などの)ビデオエンコーダである場合、ビデオエンコーダは、デルタQPを生成するとき、記憶された代表的な参照QPを使用し得る。たとえば、ブロック200のいずれかからインター予測されるビデオデータの現在ブロックを符号化するとき、ビデオエンコーダは、現在ブロックをコーディングするためのデルタQPを決定するために適切な代表的な参照QPを使用し得る。すなわち、現在ブロックがサブCU206Aから予測される場合、デルタQPを生成するためにサブCU206Aに関連するQPを使用するのではなく、ビデオエンコーダは、実際のQPと、エリア212Bのための平均参照QPとの間の差分に基づいてデルタQPを生成する。すなわち、ブロックのための実際のQPと、エリアのための参照QPとの間の差分を表すデルタQPを決定した後に、ビデオエンコーダは、符号化ビットストリーム中にデルタQPを含め得る。
[0145]ビデオコーダが(ビデオデコーダ30などの)ビデオデコーダである例では、ビデオデコーダは、現在ブロックを逆量子化するための実際のQPを決定するとき、記憶された代表的な参照QPを使用し得る。たとえば、ブロック200のいずれかからインター予測されるビデオデータの現在ブロックを復号するとき、ビデオデコーダは、受信デルタQPから実際のQPを決定するために適切な代表的な参照QPを使用し得る。すなわち、現在ブロックがサブCU206Aから予測される場合、実際のQPを生成するためにサブCU206Aに関連するQPを使用するのではなく、ビデオデコーダは、受信デルタQPと、エリア212Bのための平均参照QPとの組合せに基づいて実際のQPを生成する。実際のQPを決定した後に、ビデオデコーダは現在ブロックを逆量子化し得る。
[0146]平均化エリア212は、各平均化エリアがブロック200の1つまたは複数のフルブロックを包含するように、概してブロック境界と整合し得る。いくつかの例では、平均化エリア212のサイズは最小ブロックサイズに従って選択され得る。すなわち、相対的に小さいCUを有するピクチャの部分について、ビデオコーダは、相対的により小さい平均化エリアを使用し得る。他の例では、平均化エリア212のサイズは、記憶域節約の所望量に基づいて選択され得る(たとえば、記憶域節約が相対的に大きくなるほど、エリアは大きくなる)。
[0147]他の態様によれば、ビデオコーダは、平均化エリア212の各々からの参照QPをサブサンプリングすることによって記憶される参照QPデータの量を低減し得る。たとえば、ビデオコーダは、平均化エリア212の各々をサブサンプリングすることによって、平均化エリアの各々のための代表的な参照QPを決定し得る。すなわち、上記で説明したように、平均化エリアの参照QPのすべてを組み合わせるのではなく、ビデオコーダは、参照QPのうちの1つを代表的な参照QPとして選択することによって、平均化エリア212の各々のための参照QPを決定し得る。
[0148]一例では、ビデオコーダは、平均化エリア212Bの左上隅にあるブロックに関連する参照QPを選択することによって平均化エリア212Bの参照QPを決定し得る。この例では、ビデオコーダは、平均化エリア212のブロックのすべてのための参照QPとして、サブCU204Aに関連する参照QPを使用し得る。他の例では、ビデオコーダは、サブサンプリングするときに異なるブロックを選択し得る。
[0149]いずれの場合も、上述のように、ビデオコーダは、平均化エリア212の各々のためのサブサンプリングされた代表QPを記憶し得る。したがって、ブロック200のいずれかからインター予測されるビデオデータの現在ブロックをコーディングするとき、ビデオコーダは、現在ブロックをコーディングするためのデルタQPを決定するために適切な代表QPを使用し得る。すなわち、上記で使用した例では、現在ブロックがサブCU206Aから予測される場合、デルタQPを生成するためにサブCU206Aに関連する参照QPを使用するのではなく、ビデオコーダは、(たとえば、サブCU204Aに関連する参照QPなど)エリア212Bのためのサブサンプリングされた参照QPを使用し得る。デルタQPを決定した後に、ビデオコーダは、実際のQPを決定し、実際のQPを使用してブロックをコーディングし得る。
[0150]他の態様によれば、ビデオコーダは、ブロック200の各々のための差分(たとえば、デルタ)参照QPを決定し、記憶することによって記憶される参照QPデータの量を低減し得る。たとえば、ビデオコーダは、初めに、ブロック200のうちの1つまたは複数を含む所定のエリアのための参照QPを予測し得る。予測QPは、参照QPのための参照QPとして働き得る。すなわち、ビデオコーダは、ブロック200の各々のための実際のQPと、予測値との間の差分を決定することによって、ブロック200の各々のためのデルタ参照QPを決定し得る。ビデオコーダは、ブロック200のデルタ参照QPを記憶し得る。したがって、ブロック200のデルタ参照QPは、ブロック200をコーディングするときに利用可能であり得る。
[0151]ビデオコーダが(ビデオエンコーダ20などの)ビデオエンコーダである場合、ビデオエンコーダは、デルタQPを生成するとき、記憶されたデルタ参照QPを使用し得る。たとえば、現在符号化されているブロックがサブCU206Aから予測される場合、デルタQPを生成するためにサブCU206Aに関連するQPを使用するのではなく、ビデオエンコーダは、初めに、サブCU206Aに関連する記憶されたデルタ参照QPを使用してサブCU206AからQPを再構成し得る。すなわち、ビデオエンコーダは、サブCU206Aに関連するデルタ参照QPを、サブCU206Aを含むブロックの予測QPと組み合わせ得る。ビデオエンコーダは、次いで、ブロックを量子化するための実際のQPと、サブCU206Aに関連する再構成されたQPとの間の差分に基づいてデルタQPを生成し得る。デルタQPを決定した後に、ビデオエンコーダは、符号化ビットストリーム中にデルタQPを含め得る。
[0152]ビデオコーダが(ビデオデコーダ30などの)ビデオデコーダである例では、ビデオデコーダは、現在ブロックを逆量子化するための実際のQPを決定するとき、記憶されたデルタ参照QPを使用し得る。たとえば、現在復号されているブロックがサブCU206Aから予測される場合、実際のQPを生成するためにサブCU206Aに関連するQPを使用するのではなく、ビデオデコーダは、初めに、サブCU206Aに関連する記憶されたデルタ参照QPを使用してサブCU206AからQPを再構成し得る。すなわち、上記で説明したビデオエンコーダのように、ビデオデコーダは、サブCU206Aに関連するデルタ参照QPを、サブCU206Aを含むブロックの予測QPと組み合わせ得る。ビデオデコーダは、次いで、受信デルタQPと、サブCU206Aから再構成されたQPとの組合せに基づいて実際のQPを生成し得る。実際のQPを決定した後に、ビデオデコーダは現在ブロックを逆量子化し得る。いくつかの例では、ビデオコーダは、予測QPとしてスライスQP(たとえば、ブロック200が属するスライスのスライスQP)を使用し得る。すなわち、ビデオコーダは、ブロック200のデルタ参照QPとして、スライスQPと、ブロック200の各々のための実際のQPとの間の差分を決定し、記憶し得る。他の例では、ビデオコーダは、ブロック200の平均QP、ブロック200の中央QP、ブロックの最小QP、ブロック200の最大QPなどを決定することによってブロック200のQPを予測し得る。ビデオコーダは、次いで、ブロック200の予測QPを使用してブロック200のデルタ参照QPを決定し、記憶し得る。
[0153]いくつかの例では、記憶される参照QPデータの量をさらに低減するために、ビデオコーダは、デルタ参照QPを記憶するより前に、決定されたデルタ参照QPに関連するビット数を打ち切り得る(たとえば、丸めるかまたはクリッピングし得る)。たとえば、ビデオコーダは、デルタ参照QPを記憶する前に、デルタ参照QPをより小さいビット深度に低減し得る。
[0154]本開示のいくつかの態様によれば、ビデオコーダは、デルタ参照QPを生成し、デルタ参照QPを打ち切り、その後、打ち切られたデルタ参照QPを記憶し得る。一例では、ビデオコーダは、ブロック200のためのクリッピングされたデルタ参照QPを生成するときに以下のステップを実行し得る。
1.参照ピクチャの1つまたは複数のブロック200(たとえば、1つまたは複数のCU、PU、LCU、LCUのセット)のための予測値を決定する。予測値は、1つまたは複数のブロック200が属するスライスまたはピクチャに関連するQP、あるいは別のQP(たとえば、平均QP、中央QP、最小QP、最大QPなど)であり得る。
2.1つまたは複数のブロックのQPと予測QPとの間の差分を決定する(デルタ参照QP=実際のQP−予測QP)。
3.デルタ参照QPをあらかじめ定義されたビット範囲に打ち切る(truncate)こと(たとえば、丸め、クリッピング、量子化など)によって、デルタ参照QPを記憶するために必要とされる空間を低減する。デルタ参照QPをクリッピングするための例示的なアルゴリズムは以下を含み得る。
−クリッピングされたデルタ参照QP=Clip3(−2(N-2),2(N-2)-1,デルタQP)
−クリッピングされたデルタ参照QP=Clip3(0,2(N-1)-1,デルタQP)
−クリッピングされたデルタ参照QP=Clip3(−2(N-2),2(N-2)-1,Quant(デルタQP))
−クリッピングされたデルタ参照QP=Clip3(0,2(N-1)-1,Quant(デルタQP))
ただし、クリッピングされたデルタ参照QPはClip3(min,max,a)の範囲内にあり、Nは所望のビット範囲である。いくつかの例によれば、Quant(a)は任意の量子化方式であり得る。量子化の一例はQuant(A)=A/Mであり得る。
4.打ち切られたデルタ参照QPを記憶する。
[0155]デルタ参照QPがブロック200の各々について決定される例では、ビデオコーダは、ブロック200ごとに上記で説明したプロセスを繰り返し得る。デルタ参照QPが2つ以上のブロックについて決定される例では、ビデオコーダは、ブロック200の所定のグループごとに上記で説明したプロセスを繰り返し得る。すなわち、いくつかの例では、上記で説明したように、ビデオコーダは、ブロック200のうちの2つ以上のための(たとえば、平均化エリア212の各々のための)代表QPを決定し得る。そのような例では、ビデオコーダは、代表QPごとにデルタ参照QPを生成するために上記で説明したプロセスを繰り返し得る。
[0156]図6は、部分的ピクチャグループ(GOP)200を示す概念図である。図5に示すGOP220の部分は、6つの双方向予測ピクチャと、1つのイントラ予測ピクチャとを含む、222〜228からのピクチャ順序カウント(POC:picture order count)をもつピクチャを含む。たとえば、小文字「b」(すなわち、ピクチャ222、224、226および228)で標示されたピクチャは、矢印によって示されるように、2つの他のピクチャから双方向にインター予測されるピクチャである。矢印の終点のピクチャは、インター予測コーディングプロセスにおける予測子として矢印の始点のピクチャを使用する。小文字「b」をもつピクチャは、他のピクチャを予測するために使用されない。大文字「B」(すなわち、ピクチャ223および225)で標示されたピクチャも、2つの他のピクチャから双方向にインター予測されるピクチャである。
[0157]「b」ピクチャとは対照的に、大文字「B」で標示されたピクチャは、矢印によって示されるように、他のピクチャのための予測子として使用される。ピクチャI227はイントラ予測ピクチャである。すなわち、ピクチャI227は、他のピクチャを参照して符号化されるのではなく、内部空間的予測を使用してそのピクチャをコーディングする。ただし、ピクチャI207は、他のピクチャ(たとえば、図5の例に示すピクチャb226およびb228)を予測するために使用され得る。
[0158]他のピクチャのための予測子として使用されるピクチャは、参照ピクチャとして参照され得、(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30などの)ビデオコーダの参照ピクチャメモリに記憶され得る。すなわち、図6に示す例では、BフレームB223およびB225と、IフレームI227とが、ビデオコーダ(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)によって参照ピクチャメモリに記憶され、それにより、ピクチャがインター予測のためにアクセスされることが可能になり得る。さらに、図2および図3に関して上述したように、いくつかの例では、ビデオコーダは、参照QPなど、参照ピクチャに関連する様々な他のデータを記憶し得る。たとえば、参照ピクチャの各ブロックは、関連する参照QP、すなわち、ブロックを量子化(または逆量子化)するために使用されるQPを有し得る。
[0159]参照QPを記憶することにより、ビデオコーダは、デルタQPを決定するとき、現在ブロックとは異なる時間インスタンスからのブロックに関連する参照QPを識別することが可能になり得る。すなわち、図6に示す例において、ビデオコーダは、ピクチャb226のブロックを現在コーディングしていることがある。この例では、現在ブロックのデルタQPを決定するとき、ビデオコーダは、ピクチャB225またはI227のいずれかからのブロックに関連する参照QPを識別し得る。たとえば、ビデオコーダは、現在ブロックに関連する動きベクトル情報によって識別されるいずれかの参照ブロックに関連する参照QPを使用し得る。ビデオコーダは、次いで、参照QPを使用して現在ブロックのデルタQPを生成し得る。
[0160]本開示の態様によれば、ビデオコーダは、現在コーディングされているブロックのためのデルタQPを生成するときに2つ以上の参照QPを識別し得る。いくつかの例では、参照QPは2つ以上の参照ピクチャに由来し得る。参照QPは組み合わせられて単一の参照QPが形成され得、この単一の参照QPは、現在ブロックのQPのためのQP予測子として参照され得る。ビデオコーダは、次いで、現在ブロックのための実際のQPとQP予測子との間の差分を決定することによって現在ブロックのデルタQPを生成し得る。
[0161]上記で説明した例では、ピクチャb226のブロックのためのQP予測子を決定するとき、ビデオコーダは、ピクチャB225からのブロックに関連する参照QP、ならびにピクチャI227からのブロックに関連する参照QPを識別し得る。ビデオコーダは、次いで、これらの2つの参照QPを組み合わせることによってQP予測子を生成し得る。いくつかの例では、ビデオコーダは、これらの2つの参照QPを平均化することによってこれらの2つの参照QPを組み合わせ得る。他の例では、ビデオコーダは、別の方法でこれらの2つの参照QPを組み合わせ得る。たとえば、ビデオコーダは重み付けQP予測子を決定し得る。すなわち、ビデオコーダは、QP予測子を生成するために使用される各参照QPに重みを加え得る。一例では、ビデオコーダは、以下の式(3)に従って重み付けQP予測子を生成し得る。
ただし、QPpredはQP予測子値であり、QP0、QP1は、リスト0予測ブロックおよびリスト1予測ブロックからのオフセット補正されたQPである。重みw0およびw1は、動き補償において使用される重み付け予測ツールの正規化された重みに基づき得る。いくつかの例では、QPオフセット補正は、参照スライスと、コーディングされている現在スライスとの間のスライスレベルQP差分に基づき得る。
[0162]図7は、ビデオコーディングデバイス(ビデオコーダ)によって記憶される参照QPデータの量を低減するための技法を示す流れ図である。図7の例では、ビデオコーダは、ビデオデータの複数の参照ブロックに関連する複数のQPを識別する(240)。たとえば、複数のQPは、参照ピクチャメモリ64(図2)または参照ピクチャメモリ142(図3)など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶されたビデオデータの参照ブロックに関連し得る。いくつかの例では、複数のQPは、参照QPメモリ55(図2)または参照QPメモリ137(図3)など、参照QPメモリに記憶され得る。
[0163]ビデオコーダは、次いで複数のQPを表す複数のブロックのための参照QPを決定する(242)。たとえば、図5に関して上記で説明したように、ビデオコーダは、平均参照QPなど、複数のブロックのための組み合わされた参照QPを生成し得る。他の例では、ビデオコーダは、複数のブロックのための最小QP、最大QP、中央QP、モードQP、重み付き平均QPなどを決定し得る。さらに他の例では、ビデオコーダは、ブロックを表す参照QPを決定するために複数のブロックからQPをサブサンプリングし得る。
[0164]ビデオコーダは、次いで、参照QPを記憶する(244)。たとえば、ビデオコーダは、参照QPメモリ55(図2)または参照QPメモリ137(図3)など、QP参照メモリに参照QPを記憶し得る。いくつかの例では、ビデオコーダは、複数の参照ブロックに関連するQPを代表QPと置き換え得る。このようにして、ビデオコーダは、記憶される参照QPデータの量を低減し得る。
[0165]いくつかの態様によれば、ビデオコーダは、次いで、記憶された参照QPデータを使用してビデオデータをコーディングする(246)。たとえば、(ビデオエンコーダ20などの)ビデオエンコーダに関して、ビデオエンコーダは、ブロックに関連する変換係数を受信し得る。ビデオエンコーダは、次いで、変換係数を量子化するためのQPを決定し、決定されたQPを使用して変換係数を量子化し得る。変換係数を量子化するために使用される実際のQPをシグナリングするのではなく、ビデオエンコーダは、実際のQPと記憶された参照QPとの間のデルタQPを決定し得る。ビデオエンコーダは、次いで、参照QPと、変換係数を量子化するために使用される実際のQPとの間の差分に基づいてブロックのデルタQP値を決定し、シグナリングし得る。
[0166](ビデオデコーダ30などの)ビデオデコーダに関して、ビデオデコーダは、ビデオデータのブロックに関連する量子化変換係数を受信し、エントロピー復号し得る。ビデオデコーダはまた、ブロックのデルタQPを受信し得る。ビデオデコーダは、受信されたデルタQPと記憶された参照QPとの組合せに基づいてブロックを逆量子化するための実際のQPを決定し得る。ビデオデコーダは、次いで、決定された実際のQPを使用して量子化変換係数を逆量子化し得る。
[0167]図7に示す例のステップは必ずしも図7に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
[0168]図8は、ビデオコーダ(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)によって記憶される参照QPデータの量を低減するための技法を示す流れ図である。図8に示す例では、ビデオコーダは、ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定する(260)。たとえば、ビデオデータの参照ブロックは、参照ピクチャメモリ64(図2)または参照ピクチャメモリ142(図3)など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶され得る。いくつかの例では、上記の図5に関して説明したように、ビデオコーダは、参照ブロックが属するスライスのスライスQPに基づいて参照ブロックの参照QPを予測し得る。他の例では、ビデオコーダは、参照ブロックのための平均QP、重み付き平均QP、最小QP、最大QP、中央QP、モードQPなどを使用して参照QPを予測し得る。
[0169]ビデオコーダはまた、1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定する(262)。すなわち、ビデオコーダは、参照ブロックの変換係数を量子化(または逆量子化)するために使用されるQPを決定し得る。ビデオコーダは、次いで、実際のQPと予測参照QPとの間の差分に基づいて各参照ブロックのデルタ参照QPを生成する(264)。たとえば、ビデオコーダは、各ブロックのデルタ参照QPを生成するために、各参照ブロックのための実際のQPから予測参照QPを減算し得る。いくつかの例では、ビデオコーダはまた、デルタ参照QPを生成した後にデルタ参照QPのビット深度を低減し得る。たとえば、ビデオコーダは、デルタ参照QPを丸めるか、クリッピングするか、または量子化し得る。
[0170]ビデオコーダは、次いで、各参照ブロックのデルタ参照QPを記憶する(266)。たとえば、ビデオコーダは、参照QPメモリ55(図2)または参照QPメモリ137(図3)など、QP参照メモリにデルタ参照QPを記憶し得る。いくつかの例では、ビデオコーダは、複数の参照ブロックに関連するQPをデルタ参照QPと置き換え得る。デルタ参照QPは、記憶するために、参照ブロックの実際のQPよりも少ないビットを必要とし得る。説明のための簡単な例では、3つの参照ブロックが3、4、および5のQPを有し、それらの3つの参照ブロックの予測QPが4であると仮定する。本開示のいくつかの態様によれば、デルタ参照QPは−1、0、および1であり得る。この例では、デルタ参照QPは、記憶するために、実際のQPよりも少ないビットを必要とする。このようにして、ビデオコーダは、記憶される参照QPデータの量を低減し得る。
[0171]いくつかの態様によれば、ビデオコーダは、次いで、記憶された参照QPデータを使用してビデオデータをコーディングする(268)。たとえば、(ビデオエンコーダ20などの)ビデオエンコーダに関して、ビデオエンコーダは、ビデオデータのブロックに関連する変換係数を受信し得る。ビデオエンコーダは、次いで、変換係数を量子化するためのQPを決定し、決定されたQPを使用して変換係数を量子化し得る。変換係数を量子化するために使用される実際のQPをシグナリングするのではなく、ビデオエンコーダは、実際のQPと、記憶されたデルタ参照QPを使用して決定され得る参照QPとの間のデルタQPを決定し得る。たとえば、ビデオエンコーダは、参照QPを生成するために、記憶されたデルタ参照QPを予測QPに加算し得る。ビデオエンコーダは、次いで、参照QPと、変換係数を量子化するために使用される実際のQPとの間の差分に基づいてデルタQP値を決定し、シグナリングし得る。
[0172](ビデオデコーダ30などの)ビデオデコーダに関して、ビデオデコーダは、ブロックに関連する量子化変換係数を受信し、エントロピー復号し得る。ビデオデコーダはまた、(符号化ビットストリーム中でシグナリングされた)ブロックのデルタQPを受信し得る。ビデオデコーダは、受信されたデルタQPと、記憶されたデルタ参照QPのうちの少なくとも1つとの組合せに基づいてブロックを逆量子化するための実際のQPを決定し得る。たとえば、ビデオデコーダは、参照QPを生成するために、記憶されたデルタ参照QPを予測QPに加算し得る。ビデオデコーダは、参照QPを受信デルタQPに加算することによってブロックを逆量子化するための実際のQPを決定し得る。ビデオデコーダは、次いで、決定された実際のQPを使用して量子化変換係数を逆量子化し得る。
[0173]図8に示す例のステップは必ずしも図8に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。たとえば、本開示のいくつかの態様によれば、図8に関して説明する技法は、図7に関して説明した技法と併せて使用され得る。たとえば、図8のステップ264に関して、ビデオコーダは、参照QPと、参照ブロックのための代表QPとの間の差分に基づいてデルタ参照QPを決定し得る。
[0174]図9は、2つ以上の参照QPに基づいてQP予測子を生成するための技法を示す流れ図である。図9に示す例では、ビデオコーダは、第1の時間インスタンスを有する1つまたは複数の参照ブロックからの第1の参照QPを識別する(280)。たとえば、ビデオコーダは、参照ピクチャメモリ64(図2)または参照ピクチャメモリ142(図3)など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶されたビデオデータの1つまたは複数の参照ブロックに関連する参照QPを識別し得る。いくつかの例では、第1の参照QPは、参照QPメモリ55(図2)または参照QPメモリ137(図3)など、参照QPメモリに記憶され得る。
[0175]ビデオコーダはまた、第1の時間インスタンスとは異なる第2の時間インスタンスを有する1つまたは複数の参照ブロックに関連する第2の参照QPを識別する(282)。たとえば、ビデオコーダは、参照ピクチャメモリ64(図2)または参照ピクチャメモリ142(図3)など、ビデオデータをインター予測するために使用される参照ピクチャメモリに記憶された1つまたは複数の他の参照ブロックに関連する第2の参照QPを識別し得る。いくつかの例では、第2の参照QPも、参照QPメモリ55(図2)または参照QPメモリ137(図3)など、参照QPメモリに記憶され得る。
[0176]いくつかの例では、上記の図6に関して説明したように、第1の参照QPは双予測現在ブロックの第1の参照ブロックに関連し得、第2の参照QPは双予測ブロックの第2の参照ブロックに関連し得る。そのような例では、第1の参照QPは、現在コーディングされているブロックよりも時間的に早く生じ得、第2の参照QPは、現在コーディングされているブロックよりも時間的に後に生じ得る。
[0177]ビデオコーダは、次いで、第1の参照QPと第2の参照QPとに基づいて現在コーディングされているブロックのQP予測子を生成する(284)。本開示のいくつかの態様によれば、ビデオコーダは、第1の参照QPと第2の参照QPとの平均に基づいてQP予測子を生成し得る。いくつかの例では、ビデオコーダは、動き補償において使用される重み付け予測ツールの正規化された重みを使用して重み付き平均を生成し得る。他の例では、ビデオコーダは、任意の他の方法で第1の参照QPと第2の参照QPとを組み合わせることによってQP予測子を生成し得る。
[0178]ビデオコーダは、QP予測子を使用して現在ブロックをコーディングする(286)。たとえば、(ビデオエンコーダ20などの)ビデオエンコーダに関して、ビデオエンコーダは、ブロックに関連する変換係数を受信し得る。ビデオエンコーダは、次いで、変換係数を量子化するためのQPを決定し、決定されたQPを使用して変換係数を量子化し得る。変換係数を量子化するために使用される実際のQPをシグナリングするのではなく、ビデオエンコーダは、実際のQPと予測参照QPとの間のデルタQPを決定し得る。ビデオエンコーダは、次いで、QP予測子と、変換係数を量子化するために使用される実際のQPとの間の差分に基づいてデルタQP値を決定し、シグナリングし得る。
[0179](ビデオデコーダ30などの)ビデオデコーダに関して、ビデオデコーダは、ブロックに関連する量子化変換係数を受信し、エントロピー復号し得る。ビデオデコーダはまた、ブロックのデルタQPを受信し得る。ビデオデコーダは、受信されたデルタQPとQP予測子との間の差分に基づいてブロックを逆量子化するための実際のQPを決定し得る。たとえば、ビデオデコーダは、ブロックを逆量子化するための実際のQPを決定するために、デルタQPをQP予測子に加算し得る。ビデオデコーダは、次いで、決定された実際のQPを使用して量子化変換係数を逆量子化し得る。
[0180]図9に示す例のステップは必ずしも図9に示す順序で実行される必要があるとは限らず、より少数の、追加の、または代替のステップが実行され得る。
[0181]例に応じて、本明細書で説明した方法のうちのいずれかのいくつかの行為またはイベントは、異なるシーケンスで実行され得、互いに付加、マージ、または完全に除外され得る(たとえば、すべての説明した行為またはイベントが、本方法の実施のために必要であるとは限らない)ことを理解されたい。さらに、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通して、同時に実行され得る。さらに、本開示のいくつかの態様は、明快のために単一のモジュールまたはユニット(たとえば、量子化ユニット54(図2)または逆量子化ユニット136(図3)など)によって実行されるものとして説明したが、本開示の技法は、ビデオコーダに関連するユニットまたはモジュールの組合せによって実行され得ることを理解されたい。
[0182]1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含むデータ記憶媒体または通信媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含み得る。
[0183]このようにして、コンピュータ可読媒体は、概して、(1)非一時的である有形コンピュータ可読記憶媒体、あるいは(2)信号または搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示で説明した技法の実装のための命令、コードおよび/またはデータ構造を取り出すために1つまたは複数のコンピュータあるいは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
[0184]限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を備えることができる。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
[0185]ただし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー(登録商標)ディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
[0186]命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、あるいは他の等価な集積回路またはディスクリート論理回路など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用する「プロセッサ」という用語は、前述の構造、または本明細書で説明した技法の実装に好適な他の構造のいずれかを指すことがある。さらに、いくつかの態様では、本明細書で説明した機能は、符号化および復号のために構成された専用ハードウェアおよび/またはソフトウェアモジュール内に与えられるか、あるいは複合コーデックに組み込まれ得る。また、本技法は、1つまたは複数の回路または論理要素中に十分に実装され得る。
[0187]本開示の技法は、ワイヤレスハンドセット、集積回路(IC)またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示する技法を実行するように構成されたデバイスの機能的態様を強調するために様々な構成要素、モジュール、またはユニットについて説明したが、それらの構成要素、モジュール、またはユニットを、必ずしも異なるハードウェアユニットによって実現する必要があるとは限らない。むしろ、上記で説明したように、様々なユニットが、好適なソフトウェアおよび/またはファームウェアとともに、上記で説明した1つまたは複数のプロセッサを含めて、コーデックハードウェアユニットにおいて組み合わせられるか、または相互動作ハードウェアユニットの集合によって与えられ得る。
[0188]本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
[0188]本開示の様々な態様について説明した。これらおよび他の態様は以下の特許請求の範囲内に入る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1] ビデオデータをコーディングする方法であって、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、
前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成することと、
前記参照QPを記憶することと、
前記記憶された参照QPに基づいてビデオデータのブロックをコーディングすることと
を備える方法。
[2] 前記参照QPを生成することは、平均QPを生成することを備える、[1]に記載の方法。
[3] 前記平均QPを生成することは、前記複数の参照ブロックに関連する前記複数のQPの平均を計算することを備える、[2]に記載の方法。
[4] 前記平均QPを生成することは、式
に基づいて前記平均QPを生成することを備え、
Nは、平均化されるQPの数を備え、QP k は、平均化される前記数のQPの各々を備える、[3]に記載の方法。
[5] 前記参照QPを生成することは、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択することを備える、[1]に記載の方法。
[6] 前記複数の参照ブロックに関連する前記複数のQPを識別することは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別することを備える、[1]に記載の方法。
[7] 前記あらかじめ定義されたエリアは、16×16エリアと、32×32エリアと、64×64エリアとのうちの1つを備える、[6]に記載の方法。
[8] 前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
前記ブロックの変換係数を量子化するための実際のQPを決定することと、
前記実際のQPと前記参照QPとの間の差分に基づいてデルタQPを決定することと、
前記デルタQPの指示を含むようにビットストリームを生成することと
をさらに備える、[1]に記載の方法。
[9] 前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
前記ブロックの受信デルタQPと前記参照QPとの組合せに基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
前記決定された実際のQPを使用して前記変換係数を逆量子化することと
をさらに備える、[1]に記載の方法。
[10] 1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記1つまたは複数のプロセッサは、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、
前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成することと、
前記参照QPを記憶することと、
前記記憶された参照QPに基づいてビデオデータのブロックをコーディングすることと
を行うように構成された、装置。
[11] 前記1つまたは複数のプロセッサは、平均QPを生成することによって前記参照QPを生成するように構成された、[10]に記載の装置。
[12] 前記1つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のQPの平均を計算することによって前記平均QPを生成するように構成された、[11]に記載の装置。
[13] 前記1つまたは複数のプロセッサは、式
に基づいて前記平均QPを生成することによって前記平均QPを生成するように構成され、
Nは、平均化されるQPの数を備え、QP kは 、平均化される前記数のQPの各々を備える、[12]に記載の装置。
[14] 前記1つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択することによって前記参照QPを生成するように構成された、[10]に記載の装置。
[15] 前記1つまたは複数のプロセッサは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別することによって、前記複数の参照ブロックに関連する前記複数のQPを識別するように構成された、[10]に記載の装置。
[16] 前記装置はビデオエンコーダを備え、前記1つまたは複数のプロセッサは、
前記ブロックの変換係数を量子化するための実際のQPを決定することと、
前記実際のQPと前記参照QPとの間の差分に基づいてデルタQPを決定することと、
前記デルタQPの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、[10]に記載の装置。
[17] 前記装置はビデオデコーダを備え、前記1つまたは複数のプロセッサは、
前記ブロックの受信デルタQPと前記参照QPとの組合せに基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
前記決定された実際のQPを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、[10]に記載の装置。
[18] ビデオデータをコーディングするための装置であって、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別する手段と、
前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成する手段と、
前記参照QPを記憶する手段と、
前記記憶された参照QPに基づいてビデオデータのブロックをコーディングする手段と
を備える装置。
[19] 前記参照QPを生成する前記手段は、平均QPを生成する手段を備える、[18]に記載の装置。
[20] 前記平均QPを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のQPの平均を計算する手段を備える、[19]に記載の装置。
[21] 前記参照QPを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択する手段を備える、[18]に記載の装置。
[22] 前記複数の参照ブロックに関連する前記複数のQPを識別する前記手段は、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別する手段を備える、[18]に記載の装置。
[23] 命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、1つまたは複数のプロセッサに、
ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、
前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成することと、
前記参照QPを記憶することと、
前記記憶された参照QPに基づいてビデオデータのブロックをコーディングすることと
を行わせる、非一時的コンピュータ可読記憶媒体。
[24] 前記参照QPを生成するために、前記命令は、前記1つまたは複数のプロセッサに、平均QPを生成することを行わせる、[23]に記載のコンピュータ可読記憶媒体。
[25] 前記平均QPを生成するために、前記命令は、前記1つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のQPの平均を計算することを行わせる、[24]に記載のコンピュータ可読記憶媒体。
[26] 前記参照QPを生成するために、前記命令は、前記1つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択することを行わせる、[23]に記載のコンピュータ可読記憶媒体。
[27] 前記複数の参照ブロックに関連する前記複数のQPを識別するために、前記命令は、前記1つまたは複数のプロセッサに、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別することを行わせる、[23]に記載のコンピュータ可読記憶媒体。
[28] ビデオデータをコーディングする方法であって、
ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定することと、
前記1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定することと、
前記実際のQPと前記予測参照QPとの間の差分に基づいて、前記1つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照QPを生成することと、
各参照ブロックのための前記デルタ参照QPを記憶することと
を備える方法。
[29] 前記デルタ参照QPを記憶する前に、前記デルタ参照QPに関連するビット深度を低減することをさらに備える、[28]に記載の方法。
[30] 前記ビット深度を低減することは、前記デルタ参照QPを量子化することを備える、[29]に記載の方法。
[31] 前記予測QPを決定することは、前記1つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスQPを決定することを備える、[28]に記載の方法。
[32] 前記記憶されたデルタ参照QPのうちの少なくとも1つに基づいてブロックをコーディングすることをさらに備える、[28]に記載の方法。
[33] 前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
前記ブロックの変換係数を量子化するための実際のQPを決定することと、
前記実際のQPと前記少なくとも1つの記憶されたデルタ参照QPとの間の差分に基づいてデルタQPを決定することと、
前記デルタQPの指示を含むようにビットストリームを生成することと
を備える、[32]に記載の方法。
[34] 前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
前記ブロックの受信デルタQPと前記少なくとも1つの記憶された参照QPとの組合せに基づいて、前記ブロックの変換係数を逆量子化するための前記実際のQPを決定することと、
前記決定された実際のQPを使用して前記変換係数を逆量子化することと
を備える、[32]に記載の方法。
[35] 1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記1つまたは複数のプロセッサは、
ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定することと、
前記1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定することと、
前記実際のQPと前記予測参照QPとの間の差分に基づいて、前記1つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照QPを生成することと、
各参照ブロックのための前記デルタ参照QPを記憶することと
を行うように構成された、装置。
[36] 前記1つまたは複数のプロセッサは、前記デルタ参照QPを記憶する前に、前記デルタ参照QPに関連するビット深度を低減するようにさらに構成された、[35]に記載の装置。
[37] 前記1つまたは複数のプロセッサは、前記デルタ参照QPを量子化することによって前記ビット深度を低減するように構成された、[36]に記載の装置。
[38] 前記1つまたは複数のプロセッサは、前記1つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスQPを決定することによって前記予測QPを決定するように構成された、[35]に記載の装置。
[39] 前記1つまたは複数のプロセッサは、前記記憶されたデルタ参照QPのうちの少なくとも1つに基づいてブロックをコーディングするようにさらに構成された、[35]に記載の装置。
[40] 前記装置はビデオエンコーダを備え、前記1つまたは複数のプロセッサは、
前記ブロックの変換係数を量子化するための実際のQPを決定することと、
前記実際のQPと前記少なくとも1つの記憶されたデルタ参照QPとの間の差分に基づいてデルタQPを決定することと、
前記デルタQPの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、[39]に記載の装置。
[41] 前記装置はビデオデコーダを備え、1つまたは複数のプロセッサは、
前記ブロックの受信デルタQPと前記少なくとも1つの記憶された参照QPとの組合せに基づいて、前記ブロックの変換係数を逆量子化するための前記実際のQPを決定することと、
前記決定された実際のQPを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、[39]に記載の装置。
[42] ビデオデータをコーディングする方法であって、前記方法は、
第1の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第1の参照QPを識別することと、
第2の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第2の参照QPを識別することと、前記第2の時間インスタンスは前記第1の時間インスタンスとは異なり、
第3の時間インスタンスを有するビデオデータのブロックのためのQP予測子を生成することと、前記第3の時間インスタンスは前記第1の時間インスタンスおよび前記第2の時間インスタンスとは異なり、前記QP予測子は前記第1の参照QPと前記第2の参照QPとに基づく、
を備える、方法。
[43] 前記QP予測子は、前記第1の参照QPと前記第2の参照QPとの平均を備える、[42]に記載の方法。
[44] 前記第1の参照QPと前記第2の参照QPとを重み付けすることをさらに備え、前記QP予測子値は、前記重み付けされた第1の参照QPと、前記重み付けされた第2の参照QPとに基づく、[42]に記載の方法。
[45] 前記第1の参照QPと前記第2の参照QPとを重み付けすることは、動き補償中に適用される重み付け予測ツールを適用することを備える、[44]に記載の方法。
[46] 前記第1の時間インスタンスは前記第3の時間インスタンスよりも時間的に早く生じ、前記第2の時間インスタンスは前記第3の時間インスタンスよりも時間的に後で生じる、[42]に記載の方法。
[47] 前記QP予測子を使用してビデオデータの前記ブロックをコーディングすることをさらに備える、[42]に記載の方法。
[48] 前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
量子化変換係数を生成するために実際のQPを使用して前記ブロックの変換係数を量子化することと、
前記QP予測子と前記実際のQPとの間の差分を備えるデルタQPを決定することと、
前記デルタQPの指示を含むようにビットストリームを生成することと
をさらに備える、[47]に記載の方法。
[49] 前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
前記ブロックの受信デルタQPと前記QP予測子との間の差分に基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
前記決定された実際のQPを使用して前記変換係数を逆量子化することと
をさらに備える、[47]に記載の方法。
[50] 1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記1つまたは複数のプロセッサは、
第1の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第1の参照QPを識別することと、
第2の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第2の参照QPを識別することと、前記第2の時間インスタンスは前記第1の時間インスタンスとは異なり、
第3の時間インスタンスを有するビデオデータのブロックのためのQP予測子を生成することと、前記第3の時間インスタンスは前記第1の時間インスタンスおよび前記第2の時間インスタンスとは異なり、前記QP予測子は前記第1の参照QPと前記第2の参照QPとに基づく、
を行うように構成された、装置。
[51] 前記QP予測子は、前記第1の参照QPと前記第2の参照QPとの平均を備える、[50]に記載の装置。
[52] 前記1つまたは複数のプロセッサは、前記第1の参照QPと前記第2の参照QPとを重み付けするようにさらに構成され、前記QP予測子値は、前記重み付けされた第1の参照QPと、前記重み付けされた第2の参照QPとに基づく、[50]に記載の装置。
[53] 前記1つまたは複数のプロセッサは、動き補償中に適用される重み付け予測ツールを適用することによって前記第1の参照QPと前記第2の参照QPとを重み付けするように構成された、[52]に記載の装置。
[54] 前記第1の時間インスタンスは記第3の時間インスタンスよりも時間的に早く生じ、前記第2の時間インスタンスは前記第3の時間インスタンスよりも時間的に後で生じる、[50]に記載の装置。
[55] 前記QP予測子を使用してビデオデータの前記ブロックをコーディングすることをさらに備える、[50]に記載の装置。
[56] 前記装置はビデオエンコーダを備え、前記1つまたは複数のプロセッサは、
量子化変換係数を生成するために実際のQPを使用して前記ブロックの変換係数を量子化することと、
前記QP予測子と前記実際のQPとの間の差分を備えるデルタQPを決定することと、
前記デルタQPの指示を含むようにビットストリームを生成することと
を行うようにさらに構成された、[55]に記載の装置。
[57] 前記装置はビデオデコーダを備え、前記1つまたは複数のプロセッサは、
前記ブロックの受信デルタQPと前記QP予測子との間の差分に基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
前記決定された実際のQPを使用して前記変換係数を逆量子化することと
を行うようにさらに構成された、[55]に記載の装置。

Claims (57)

  1. ビデオデータをコーディングする方法であって、
    ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、
    前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成することと、
    前記参照QPを記憶することと、
    前記記憶された参照QPに基づいてビデオデータのブロックをコーディングすることと
    を備える方法。
  2. 前記参照QPを生成することは、平均QPを生成することを備える、請求項1に記載の方法。
  3. 前記平均QPを生成することは、前記複数の参照ブロックに関連する前記複数のQPの平均を計算することを備える、請求項2に記載の方法。
  4. 前記平均QPを生成することは、式
    に基づいて前記平均QPを生成することを備え、
    Nは、平均化されるQPの数を備え、QPkは、平均化される前記数のQPの各々を備える、請求項3に記載の方法。
  5. 前記参照QPを生成することは、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択することを備える、請求項1に記載の方法。
  6. 前記複数の参照ブロックに関連する前記複数のQPを識別することは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別することを備える、請求項1に記載の方法。
  7. 前記あらかじめ定義されたエリアは、16×16エリアと、32×32エリアと、64×64エリアとのうちの1つを備える、請求項6に記載の方法。
  8. 前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
    前記ブロックの変換係数を量子化するための実際のQPを決定することと、
    前記実際のQPと前記参照QPとの間の差分に基づいてデルタQPを決定することと、
    前記デルタQPの指示を含むようにビットストリームを生成することと
    をさらに備える、請求項1に記載の方法。
  9. 前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
    前記ブロックの受信デルタQPと前記参照QPとの組合せに基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
    前記決定された実際のQPを使用して前記変換係数を逆量子化することと
    をさらに備える、請求項1に記載の方法。
  10. 1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記1つまたは複数のプロセッサは、
    ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、
    前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成することと、
    前記参照QPを記憶することと、
    前記記憶された参照QPに基づいてビデオデータのブロックをコーディングすることと
    を行うように構成された、装置。
  11. 前記1つまたは複数のプロセッサは、平均QPを生成することによって前記参照QPを生成するように構成された、請求項10に記載の装置。
  12. 前記1つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のQPの平均を計算することによって前記平均QPを生成するように構成された、請求項11に記載の装置。
  13. 前記1つまたは複数のプロセッサは、式
    に基づいて前記平均QPを生成することによって前記平均QPを生成するように構成され、
    Nは、平均化されるQPの数を備え、QPkは、平均化される前記数のQPの各々を備える、請求項12に記載の装置。
  14. 前記1つまたは複数のプロセッサは、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択することによって前記参照QPを生成するように構成された、請求項10に記載の装置。
  15. 前記1つまたは複数のプロセッサは、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別することによって、前記複数の参照ブロックに関連する前記複数のQPを識別するように構成された、請求項10に記載の装置。
  16. 前記装置はビデオエンコーダを備え、前記1つまたは複数のプロセッサは、
    前記ブロックの変換係数を量子化するための実際のQPを決定することと、
    前記実際のQPと前記参照QPとの間の差分に基づいてデルタQPを決定することと、
    前記デルタQPの指示を含むようにビットストリームを生成することと
    を行うようにさらに構成された、請求項10に記載の装置。
  17. 前記装置はビデオデコーダを備え、前記1つまたは複数のプロセッサは、
    前記ブロックの受信デルタQPと前記参照QPとの組合せに基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
    前記決定された実際のQPを使用して前記変換係数を逆量子化することと
    を行うようにさらに構成された、請求項10に記載の装置。
  18. ビデオデータをコーディングするための装置であって、
    ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別する手段と、
    前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成する手段と、
    前記参照QPを記憶する手段と、
    前記記憶された参照QPに基づいてビデオデータのブロックをコーディングする手段と
    を備える装置。
  19. 前記参照QPを生成する前記手段は、平均QPを生成する手段を備える、請求項18に記載の装置。
  20. 前記平均QPを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のQPの平均を計算する手段を備える、請求項19に記載の装置。
  21. 前記参照QPを生成する前記手段は、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択する手段を備える、請求項18に記載の装置。
  22. 前記複数の参照ブロックに関連する前記複数のQPを識別する前記手段は、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別する手段を備える、請求項18に記載の装置。
  23. 命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記命令は、実行されたとき、1つまたは複数のプロセッサに、
    ビデオデータの複数の参照ブロックに関連する複数の量子化パラメータ(QP)値を識別することと、
    前記複数のQPに基づいて前記複数の参照ブロックのための参照QPを生成することと、
    前記参照QPを記憶することと、
    前記記憶された参照QPに基づいてビデオデータのブロックをコーディングすることと
    を行わせる、非一時的コンピュータ可読記憶媒体。
  24. 前記参照QPを生成するために、前記命令は、前記1つまたは複数のプロセッサに、平均QPを生成することを行わせる、請求項23に記載のコンピュータ可読記憶媒体。
  25. 前記平均QPを生成するために、前記命令は、前記1つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のQPの平均を計算することを行わせる、請求項24に記載のコンピュータ可読記憶媒体。
  26. 前記参照QPを生成するために、前記命令は、前記1つまたは複数のプロセッサに、前記複数の参照ブロックに関連する前記複数のQPから代表QPを選択することを行わせる、請求項23に記載のコンピュータ可読記憶媒体。
  27. 前記複数の参照ブロックに関連する前記複数のQPを識別するために、前記命令は、前記1つまたは複数のプロセッサに、前記複数の参照ブロックを含むあらかじめ定義されたエリアを識別し、前記あらかじめ定義されたエリア中で前記参照ブロックのための前記QPを識別することを行わせる、請求項23に記載のコンピュータ可読記憶媒体。
  28. ビデオデータをコーディングする方法であって、
    ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定することと、
    前記1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定することと、
    前記実際のQPと前記予測参照QPとの間の差分に基づいて、前記1つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照QPを生成することと、
    各参照ブロックのための前記デルタ参照QPを記憶することと
    を備える方法。
  29. 前記デルタ参照QPを記憶する前に、前記デルタ参照QPに関連するビット深度を低減することをさらに備える、請求項28に記載の方法。
  30. 前記ビット深度を低減することは、前記デルタ参照QPを量子化することを備える、請求項29に記載の方法。
  31. 前記予測QPを決定することは、前記1つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスQPを決定することを備える、請求項28に記載の方法。
  32. 前記記憶されたデルタ参照QPのうちの少なくとも1つに基づいてブロックをコーディングすることをさらに備える、請求項28に記載の方法。
  33. 前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
    前記ブロックの変換係数を量子化するための実際のQPを決定することと、
    前記実際のQPと前記少なくとも1つの記憶されたデルタ参照QPとの間の差分に基づいてデルタQPを決定することと、
    前記デルタQPの指示を含むようにビットストリームを生成することと
    を備える、請求項32に記載の方法。
  34. 前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
    前記ブロックの受信デルタQPと前記少なくとも1つの記憶された参照QPとの組合せに基づいて、前記ブロックの変換係数を逆量子化するための前記実際のQPを決定することと、
    前記決定された実際のQPを使用して前記変換係数を逆量子化することと
    を備える、請求項32に記載の方法。
  35. 1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記1つまたは複数のプロセッサは、
    ビデオデータの1つまたは複数の参照ブロックのための予測参照QPを決定することと、
    前記1つまたは複数の参照ブロックのうちの各参照ブロックのための実際のQPを決定することと、
    前記実際のQPと前記予測参照QPとの間の差分に基づいて、前記1つまたは複数の参照ブロックのうちの各参照ブロックのためのデルタ参照QPを生成することと、
    各参照ブロックのための前記デルタ参照QPを記憶することと
    を行うように構成された、装置。
  36. 前記1つまたは複数のプロセッサは、前記デルタ参照QPを記憶する前に、前記デルタ参照QPに関連するビット深度を低減するようにさらに構成された、請求項35に記載の装置。
  37. 前記1つまたは複数のプロセッサは、前記デルタ参照QPを量子化することによって前記ビット深度を低減するように構成された、請求項36に記載の装置。
  38. 前記1つまたは複数のプロセッサは、前記1つまたは複数の参照ブロックが属するビデオデータのスライスに関連するスライスQPを決定することによって前記予測QPを決定するように構成された、請求項35に記載の装置。
  39. 前記1つまたは複数のプロセッサは、前記記憶されたデルタ参照QPのうちの少なくとも1つに基づいてブロックをコーディングするようにさらに構成された、請求項35に記載の装置。
  40. 前記装置はビデオエンコーダを備え、前記1つまたは複数のプロセッサは、
    前記ブロックの変換係数を量子化するための実際のQPを決定することと、
    前記実際のQPと前記少なくとも1つの記憶されたデルタ参照QPとの間の差分に基づいてデルタQPを決定することと、
    前記デルタQPの指示を含むようにビットストリームを生成することと
    を行うようにさらに構成された、請求項39に記載の装置。
  41. 前記装置はビデオデコーダを備え、1つまたは複数のプロセッサは、
    前記ブロックの受信デルタQPと前記少なくとも1つの記憶された参照QPとの組合せに基づいて、前記ブロックの変換係数を逆量子化するための前記実際のQPを決定することと、
    前記決定された実際のQPを使用して前記変換係数を逆量子化することと
    を行うようにさらに構成された、請求項39に記載の装置。
  42. ビデオデータをコーディングする方法であって、前記方法は、
    第1の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第1の参照QPを識別することと、
    第2の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第2の参照QPを識別することと、前記第2の時間インスタンスは前記第1の時間インスタンスとは異なり、
    第3の時間インスタンスを有するビデオデータのブロックのためのQP予測子を生成することと、前記第3の時間インスタンスは前記第1の時間インスタンスおよび前記第2の時間インスタンスとは異なり、前記QP予測子は前記第1の参照QPと前記第2の参照QPとに基づく、
    を備える、方法。
  43. 前記QP予測子は、前記第1の参照QPと前記第2の参照QPとの平均を備える、請求項42に記載の方法。
  44. 前記第1の参照QPと前記第2の参照QPとを重み付けすることをさらに備え、前記QP予測子値は、前記重み付けされた第1の参照QPと、前記重み付けされた第2の参照QPとに基づく、請求項42に記載の方法。
  45. 前記第1の参照QPと前記第2の参照QPとを重み付けすることは、動き補償中に適用される重み付け予測ツールを適用することを備える、請求項44に記載の方法。
  46. 前記第1の時間インスタンスは前記第3の時間インスタンスよりも時間的に早く生じ、前記第2の時間インスタンスは前記第3の時間インスタンスよりも時間的に後で生じる、請求項42に記載の方法。
  47. 前記QP予測子を使用してビデオデータの前記ブロックをコーディングすることをさらに備える、請求項42に記載の方法。
  48. 前記ブロックをコーディングすることは、前記ブロックを符号化することを備え、前記ブロックを符号化することは、
    量子化変換係数を生成するために実際のQPを使用して前記ブロックの変換係数を量子化することと、
    前記QP予測子と前記実際のQPとの間の差分を備えるデルタQPを決定することと、
    前記デルタQPの指示を含むようにビットストリームを生成することと
    をさらに備える、請求項47に記載の方法。
  49. 前記ブロックをコーディングすることは、前記ブロックを復号することを備え、前記ブロックを復号することは、
    前記ブロックの受信デルタQPと前記QP予測子との間の差分に基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
    前記決定された実際のQPを使用して前記変換係数を逆量子化することと
    をさらに備える、請求項47に記載の方法。
  50. 1つまたは複数のプロセッサを備えるビデオデータをコーディングするための装置であって、前記1つまたは複数のプロセッサは、
    第1の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第1の参照QPを識別することと、
    第2の時間インスタンスを有するビデオデータの1つまたは複数のブロックに関連する第2の参照QPを識別することと、前記第2の時間インスタンスは前記第1の時間インスタンスとは異なり、
    第3の時間インスタンスを有するビデオデータのブロックのためのQP予測子を生成することと、前記第3の時間インスタンスは前記第1の時間インスタンスおよび前記第2の時間インスタンスとは異なり、前記QP予測子は前記第1の参照QPと前記第2の参照QPとに基づく、
    を行うように構成された、装置。
  51. 前記QP予測子は、前記第1の参照QPと前記第2の参照QPとの平均を備える、請求項50に記載の装置。
  52. 前記1つまたは複数のプロセッサは、前記第1の参照QPと前記第2の参照QPとを重み付けするようにさらに構成され、前記QP予測子値は、前記重み付けされた第1の参照QPと、前記重み付けされた第2の参照QPとに基づく、請求項50に記載の装置。
  53. 前記1つまたは複数のプロセッサは、動き補償中に適用される重み付け予測ツールを適用することによって前記第1の参照QPと前記第2の参照QPとを重み付けするように構成された、請求項52に記載の装置。
  54. 前記第1の時間インスタンスは記第3の時間インスタンスよりも時間的に早く生じ、前記第2の時間インスタンスは前記第3の時間インスタンスよりも時間的に後で生じる、請求項50に記載の装置。
  55. 前記QP予測子を使用してビデオデータの前記ブロックをコーディングすることをさらに備える、請求項50に記載の装置。
  56. 前記装置はビデオエンコーダを備え、前記1つまたは複数のプロセッサは、
    量子化変換係数を生成するために実際のQPを使用して前記ブロックの変換係数を量子化することと、
    前記QP予測子と前記実際のQPとの間の差分を備えるデルタQPを決定することと、
    前記デルタQPの指示を含むようにビットストリームを生成することと
    を行うようにさらに構成された、請求項55に記載の装置。
  57. 前記装置はビデオデコーダを備え、前記1つまたは複数のプロセッサは、
    前記ブロックの受信デルタQPと前記QP予測子との間の差分に基づいて前記ブロックの変換係数を逆量子化するための実際のQPを決定することと、
    前記決定された実際のQPを使用して前記変換係数を逆量子化することと
    を行うようにさらに構成された、請求項55に記載の装置。
JP2014517216A 2011-06-22 2012-06-22 ビデオコーディングにおける量子化パラメータ予測 Expired - Fee Related JP5844460B2 (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161500103P 2011-06-22 2011-06-22
US61/500,103 2011-06-22
US201161504182P 2011-07-02 2011-07-02
US61/504,182 2011-07-02
US201161540886P 2011-09-29 2011-09-29
US61/540,886 2011-09-29
US201161552895P 2011-10-28 2011-10-28
US61/552,895 2011-10-28
US13/529,508 US10298939B2 (en) 2011-06-22 2012-06-21 Quantization in video coding
US13/529,508 2012-06-21
PCT/US2012/043807 WO2012178053A1 (en) 2011-06-22 2012-06-22 Quantization parameter prediction in video coding

Publications (2)

Publication Number Publication Date
JP2014520490A true JP2014520490A (ja) 2014-08-21
JP5844460B2 JP5844460B2 (ja) 2016-01-20

Family

ID=47361834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014517216A Expired - Fee Related JP5844460B2 (ja) 2011-06-22 2012-06-22 ビデオコーディングにおける量子化パラメータ予測

Country Status (6)

Country Link
US (1) US10298939B2 (ja)
EP (2) EP3035684A1 (ja)
JP (1) JP5844460B2 (ja)
KR (1) KR101642615B1 (ja)
CN (1) CN103636202B (ja)
WO (1) WO2012178053A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013001729A1 (ja) * 2011-06-28 2015-02-23 日本電気株式会社 映像符号化装置及び映像復号装置
JP2020524963A (ja) * 2017-06-21 2020-08-20 ヴィド スケール インコーポレイテッド 360度ビデオ符号化のための適応的量子化

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110068792A (ko) 2009-12-16 2011-06-22 한국전자통신연구원 적응적 영상 부호화 장치 및 방법
US9747255B2 (en) * 2011-05-13 2017-08-29 Texas Instruments Incorporated Inverse transformation using pruning for video coding
US8767824B2 (en) * 2011-07-11 2014-07-01 Sharp Kabushiki Kaisha Video decoder parallelization for tiles
EP3264766B1 (en) * 2011-07-12 2018-10-03 NEC Corporation Decoding method and decoder for quantization parameter decoding for video decoding
WO2013086724A1 (en) 2011-12-15 2013-06-20 Mediatek Singapore Pte. Ltd. Method of clippling transformed coefficients before de-quantization
BR122020010110B1 (pt) * 2012-03-28 2021-08-17 JVC Kenwood Corporation Dispositivo de codificação de imagem
SG11201406493RA (en) 2012-04-13 2014-11-27 Ge Video Compression Llc Low delay picture coding
RU2720534C2 (ru) * 2012-06-29 2020-04-30 ДжиИ Видео Компрешн, ЭлЭлСи Концепция потока видеоданных
US9854268B2 (en) * 2012-10-03 2017-12-26 Hfi Innovation Inc. Method and apparatus of motion data buffer reduction for three-dimensional video coding
US20140254659A1 (en) 2013-03-11 2014-09-11 Mediatek Inc. Video coding method using at least evaluated visual quality and related video coding apparatus
US9224187B2 (en) 2013-09-27 2015-12-29 Apple Inc. Wavefront order to scan order synchronization
US9336558B2 (en) 2013-09-27 2016-05-10 Apple Inc. Wavefront encoding with parallel bit stream encoding
US10091519B2 (en) * 2013-10-14 2018-10-02 Electronics And Telecommunications Research Institute Multilayer-based image encoding/decoding method and apparatus
JP6185375B2 (ja) * 2013-11-26 2017-08-23 株式会社シキノハイテック 画像符号化装置
US9479788B2 (en) * 2014-03-17 2016-10-25 Qualcomm Incorporated Systems and methods for low complexity encoding and background detection
US10432928B2 (en) 2014-03-21 2019-10-01 Qualcomm Incorporated Using a current picture as a reference for video coding
CN104244003B (zh) * 2014-08-18 2017-08-15 北京君正集成电路股份有限公司 一种确定运动矢量代价的方法及装置
US10136133B2 (en) * 2014-11-11 2018-11-20 Dolby Laboratories Licensing Corporation Rate control adaptation for high-dynamic range images
JP2018533284A (ja) * 2015-09-21 2018-11-08 エルジー エレクトロニクス インコーポレイティド 係数誘導予測を用いてビデオ信号を処理する方法及び装置
US10218975B2 (en) * 2015-09-29 2019-02-26 Qualcomm Incorporated Transform precision manipulation in video coding
WO2017057953A1 (ko) * 2015-09-30 2017-04-06 엘지전자 주식회사 비디오 코딩 시스템에서 레지듀얼 신호 코딩 방법 및 장치
CN108432170B (zh) * 2016-01-29 2021-08-17 麻省理工学院 用于多码分布式存储的装置和方法
CN109819253B (zh) * 2017-11-21 2022-04-22 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
EP3811624A1 (en) 2018-06-21 2021-04-28 Telefonaktiebolaget LM Ericsson (publ) Tile shuffling for 360 degree video decoding
CN112640455A (zh) 2018-06-21 2021-04-09 瑞典爱立信有限公司 视频编码中具有子图块的图块分区
US10638146B2 (en) * 2018-10-01 2020-04-28 Tencent America LLC Techniques for QP coding for 360 image and video coding
EP3707904A1 (en) * 2018-10-02 2020-09-16 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding pictures based on tile group id
CN111200734B (zh) * 2018-11-19 2022-03-11 浙江宇视科技有限公司 视频编码方法及装置
US11496745B2 (en) * 2019-06-24 2022-11-08 Qualcomm Incorporated Binarization in transform skip residual coding
US11146823B2 (en) * 2019-06-25 2021-10-12 Qualcomm Incorporated Signalling chroma quantization parameter (QP) mapping tables
US11451779B2 (en) * 2020-03-05 2022-09-20 Qualcomm Incorporated Scaling list signalling for video coding
CN114125451B (zh) * 2021-12-01 2022-12-06 锐宸微(上海)科技有限公司 视频编码方法、视频编码装置及影像处理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514056A (ja) * 2008-02-22 2011-04-28 クゥアルコム・インコーポレイテッド 早いマクロブロック・デルタqpの決定
WO2011140211A2 (en) * 2010-05-04 2011-11-10 Texas Instruments Incorporated Coding unit quantization parameters in video coding
WO2011156458A1 (en) * 2010-06-10 2011-12-15 Technicolor Usa, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
WO2012023806A2 (ko) * 2010-08-17 2012-02-23 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
JP2013005111A (ja) * 2011-06-14 2013-01-07 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134269A (en) * 1996-09-25 2000-10-17 At&T Corp Fixed or adaptive deinterleaved transform coding for image coding and intra coding of video
IL164176A0 (en) 2002-04-23 2005-12-18 Nokia Corp Method and device for indicating quantizer parameters in a video coding system
US7099389B1 (en) 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window
US7397855B2 (en) * 2004-04-14 2008-07-08 Corel Tw Corp. Rate controlling method and apparatus for use in a transcoder
JP4074868B2 (ja) * 2004-12-22 2008-04-16 株式会社東芝 画像符号化制御方法及びその装置
US8548055B2 (en) * 2005-03-10 2013-10-01 Qualcomm Incorporated Encoding of multimedia data
KR100746011B1 (ko) * 2005-08-24 2007-08-06 삼성전자주식회사 잔차 예측의 성능 개선 방법, 상기 방법을 이용한 비디오인코더 및 비디오 디코더
SG130982A1 (en) 2005-10-04 2007-04-26 St Microelectronics Asia Macro-block quantization reactivity compensation
US8107537B2 (en) 2006-02-02 2012-01-31 Sharp Laboratories Of America, Inc. Picture layer rate control for video encoding
KR100790148B1 (ko) * 2006-07-27 2008-01-02 삼성전자주식회사 실시간 영상 복잡도 측정 방법
US8331438B2 (en) * 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8265651B2 (en) 2007-07-17 2012-09-11 Honeywell International Inc. System and apparatus for integrated wireless location detection
JPWO2009041215A1 (ja) 2007-09-25 2011-01-20 シャープ株式会社 動画像符号化装置及び動画像復号装置
US8588297B2 (en) 2009-12-23 2013-11-19 Oracle America, Inc. Quantization parameter prediction
JP5484083B2 (ja) 2010-01-14 2014-05-07 株式会社メガチップス 画像処理装置
WO2011100347A2 (en) 2010-02-09 2011-08-18 Vanguard Software Solutions, Inc. Video sequence encoding system and algorithms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514056A (ja) * 2008-02-22 2011-04-28 クゥアルコム・インコーポレイテッド 早いマクロブロック・デルタqpの決定
WO2011140211A2 (en) * 2010-05-04 2011-11-10 Texas Instruments Incorporated Coding unit quantization parameters in video coding
WO2011156458A1 (en) * 2010-06-10 2011-12-15 Technicolor Usa, Inc. Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
WO2012023806A2 (ko) * 2010-08-17 2012-02-23 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
JP2013005111A (ja) * 2011-06-14 2013-01-07 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
AOKI,H.,ET AL: "Prediction-based QP derivation", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6014051784, 11 March 2011 (2011-03-11), ISSN: 0002958265 *
HIROFUMI AOKI ET AL.: "Prediction-based QP derivation", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-E215_r2, JPN6015002333, March 2011 (2011-03-01), pages 1 - 11, ISSN: 0003173942 *
KOBAYASHI,M. ET AL: "Sub-LCU level delta QP signaling[online]", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 JCTVC, JPN6014051786, 10 March 2011 (2011-03-10), ISSN: 0002958266 *
MASAAKI KOBAYASHI AND MASATO SHIMA: "Sub-LCU level delta QP signaling", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-E198, JPN6015002334, March 2011 (2011-03-01), pages 1 - 9, ISSN: 0003173941 *
MUHAMMED COBAN ET AL.: "CU-Level QP Prediction", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, vol. JCTVC-E391_r1, JPN6015002331, March 2011 (2011-03-01), pages 1 - 3, ISSN: 0003173943 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2013001729A1 (ja) * 2011-06-28 2015-02-23 日本電気株式会社 映像符号化装置及び映像復号装置
JP2020524963A (ja) * 2017-06-21 2020-08-20 ヴィド スケール インコーポレイテッド 360度ビデオ符号化のための適応的量子化
JP7406378B2 (ja) 2017-06-21 2023-12-27 ヴィド スケール インコーポレイテッド 360度ビデオ符号化のための適応的量子化

Also Published As

Publication number Publication date
EP3035684A1 (en) 2016-06-22
KR101642615B1 (ko) 2016-07-25
CN103636202B (zh) 2017-10-31
WO2012178053A1 (en) 2012-12-27
US20120328004A1 (en) 2012-12-27
EP2724535A1 (en) 2014-04-30
JP5844460B2 (ja) 2016-01-20
US10298939B2 (en) 2019-05-21
CN103636202A (zh) 2014-03-12
KR20140024958A (ko) 2014-03-03

Similar Documents

Publication Publication Date Title
JP5844460B2 (ja) ビデオコーディングにおける量子化パラメータ予測
CA3000373C (en) Video intra-prediction using position dependent prediction combination for video coding
CA2812307C (en) Intra smoothing filter for video coding
US9912944B2 (en) Simplified non-square quadtree transforms for video coding
KR102334126B1 (ko) 인트라 블록 복사를 위한 레지듀얼 예측
CA2853660C (en) Intra-mode video coding
JP5985623B2 (ja) ビデオコード化における量子化
KR102182441B1 (ko) 비디오 코딩에서 hevc 확장들을 위한 다중 계층들의 저복잡도 지원
US20130163664A1 (en) Unified partition mode table for intra-mode coding
US10212434B2 (en) Palette entries coding in video coding
EP3120547A2 (en) Systems and methods for low complexity forward transforms using zeroed-out coefficients
WO2015038928A1 (en) Partial intra block copying for video coding
EP2834976A1 (en) Quantization matrix and deblocking filter adjustments for video coding
KR20130063028A (ko) 인트라-예측을 이용한 비디오 코딩
WO2013109903A1 (en) Coefficient level coding
US20130128971A1 (en) Transforms in video coding
US20230319269A1 (en) Adaptive gop structure with future reference frame in random access configuration for video coding

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151118

R150 Certificate of patent or registration of utility model

Ref document number: 5844460

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

LAPS Cancellation because of no payment of annual fees