Nothing Special   »   [go: up one dir, main page]

JP6612767B2 - 色空間変換コーディングのための量子化パラメータ - Google Patents

色空間変換コーディングのための量子化パラメータ Download PDF

Info

Publication number
JP6612767B2
JP6612767B2 JP2016557043A JP2016557043A JP6612767B2 JP 6612767 B2 JP6612767 B2 JP 6612767B2 JP 2016557043 A JP2016557043 A JP 2016557043A JP 2016557043 A JP2016557043 A JP 2016557043A JP 6612767 B2 JP6612767 B2 JP 6612767B2
Authority
JP
Japan
Prior art keywords
color space
video data
offset
video
transform
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.)
Active
Application number
JP2016557043A
Other languages
English (en)
Other versions
JP2017513323A (ja
JP2017513323A5 (ja
Inventor
リ・ジャン
ジエンレ・チェン
マータ・カルチェヴィチ
ジョエル・ソール・ロジャルス
ウ−シク・キム
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017513323A publication Critical patent/JP2017513323A/ja
Publication of JP2017513323A5 publication Critical patent/JP2017513323A5/ja
Application granted granted Critical
Publication of JP6612767B2 publication Critical patent/JP6612767B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • 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
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Color Television Systems (AREA)

Description

本出願は、2014年3月14日に出願された米国仮出願第61/953,573号、2014年4月18日に出願された米国仮出願第61/981,645号、および2014年10月10日に出願された米国仮出願第62/062,637号の利益を主張し、これらの米国仮出願の各々の内容全体が参照によって本明細書に組み込まれる。
本開示はビデオコーディングに関し、より詳細には色空間変換を使用するビデオコーディングに関する。
デジタルビデオ機能は、デジタルテレビ、デジタル直接放送システム、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子書籍リーダ、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、セルラーまたは衛星無線電話、いわゆる「スマートフォン」ビデオ会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれることが可能である。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、パート10、アドバンストビデオコーディング(AVC:Advanced Video Coding)、現在開発中の高効率ビデオコーディング(HEVC:High Efficiency Video Coding)規格、およびそのような規格の拡張によって定義された規格に記載されるものなどのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信、受信、符号化、復号、および/または記憶することがある。
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間(ピクチャ内)予測および/または時間(ピクチャ間)予測を含む。ブロックベースのビデオコーディングのために、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部)は、ビデオブロックに区分されてもよく、ビデオブロックはまた、ツリーブロック、コーディング単位(CU:coding unit)、および/またはコーディングノードと呼ばれることがある。ピクチャのイントラコード化(I)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測を用いて符号化される。ピクチャのインターコード化(PまたはB)スライス内のビデオブロックは、同じピクチャ内の隣接ブロック内の参照サンプルに対する空間予測、または他の参照ピクチャ内の参照サンプルに対する時間予測を使用してもよい。ピクチャは、フレームと呼ばれることがあり、参照ピクチャは、参照フレームと呼ばれることがある。
空間または時間予測は、コーディングされるべきブロックのための予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差を表す。インターコード化ブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルと、コード化ブロックと予測ブロックとの間の差を示す残差データとに従って符号化される。イントラコード化ブロックは、イントラコーディングモードと残差データとに従って符号化される。さらなる圧縮のために、残差データは、ピクセル領域から変換領域に変換されてもよく、次いで量子化されてもよい残差変換係数をもたらす。最初に2次元アレイに配置される量子化変換係数は、変換係数の1次元ベクトルを生成するために、走査されてもよく、エントロピーコーディングが、さらに多くの圧縮を達成するために適用されてもよい。
米国仮出願第61/810,649号
一般に、本開示は、色空間変換プロセスを使用してビデオブロックをコーディングするための技法を説明する。ビデオエンコーダまたはビデオデコーダなどのビデオコーダは、ビデオデータを符号化するために色空間変換を使用するかどうかを決定し得る。ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオコーダは、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化し、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化し得、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。ビデオコーダは、さらに、ビデオデータが色空間変換を使用して符号化されたかどうかを決定し得る。ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、ビデオコーダは、第1のQPの第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化し、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化し得る。ビデオデータが色空間変換を使用して符号化されなかったものと決定することに応答して、ビデオコーダは、第1および第2のオフセットなしに第1のQPおよび第2のQPを使用してビデオデータを逆量子化し得る。
一例では、ビデオデータを復号する方法について説明する。方法は、ビデオデータが色空間変換を使用して符号化されたかどうかを決定するステップを含む。方法は、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化するステップと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化するステップとをさらに含み、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、デバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータが色空間変換を使用して符号化されたかどうかを決定するように構成された1つまたは複数のプロセッサとを含む。加えて、1つまたは複数のプロセッサはまた、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化することとを行うように構成され、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、デバイスは、ビデオデータが色空間変換を使用して符号化されたかどうかを決定するための手段を含む。デバイスは、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化するための手段と、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化するための手段とをさらに含み、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、コンピュータ可読記憶媒体は命令を含み、その命令は、実行されるとき、1つまたは複数のプロセッサに、ビデオデータが色空間変換を使用して符号化されたかどうかを決定することを行わせる。命令はまた、実行されるとき、プロセッサに、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化することとを行わせ、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、ビデオデータを符号化するための方法について説明する。方法は、ビデオデータを符号化するために色空間変換を使用するかどうかを決定するステップを含む。方法は、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化するステップと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化するステップとをさらに含み、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、デバイスは、ビデオデータを記憶するように構成されたメモリと、ビデオデータを符号化するために色空間変換を使用するかどうかを決定するように構成された1つまたは複数のプロセッサとを含む。1つまたは複数のプロセッサは、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化することとを行うようにさらに構成され、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、デバイスは、ビデオデータを符号化するために色空間変換を使用するかどうかを決定するための手段を含む。デバイスは、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化するための手段と、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化するための手段とをさらに含み、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
別の例では、コンピュータ可読記憶媒体は命令を含み、その命令は、実行されるとき、1つまたは複数のプロセッサに、ビデオデータを符号化するために色空間変換を使用するかどうかを決定することを行わせる。命令は、さらに、1つまたは複数のプロセッサに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化することとを行わせ、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
本開示の1つまたは複数の例の詳細を添付の図面および以下の説明に記載する。本開示の他の特徴、目的、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
本開示に記載の技法を利用してもよい例示的なビデオ符号化および復号システムを示すブロック図である。 本開示に記載の技法を実装してもよい例示的なビデオエンコーダを示すブロック図である。 本開示に記載の技法を実装してもよい例示的なビデオデコーダを示すブロック図である。 本開示の1つまたは複数の技法による35のHEVC予測モードを示す概念図である。 本開示の1つまたは複数の技法による、マージのための空間的隣接動きベクトル候補とアドバンスト動きベクトル予測(AMVP)モードとを示す概念図である。 本開示の1つまたは複数の技法による、イントラブロックコピー(BC)の例を示す概念図である。 本開示の1つまたは複数の技法による、イントラ8×8ブロックに対するターゲットブロックおよび参照サンプルの一例を示す概念図である。 本開示の1つまたは複数の技法による符号化技法を示すフロー図である。 本開示の1つまたは複数の技法による復号技法を示すフロー図である。
いくつかの例では、本開示はスクリーンコンテンツコーディングに関し、高クロマサンプリングフォーマット4:4:4が使用される。いくつかの例では、本開示はまた、場合によっては高ビット深度(8ビット超)、高クロマサンプリングフォーマット4:4:4のサポートを含む範囲拡張(RCEx)に対して適用可能である。いくつかの例では、本開示はまた、クロマサンプリングフォーマット4:2:2など、他の色フォーマットに適用可能である。より具体的には、本開示では、色空間変換に関する多くの異なる技法について説明する。
ビデオコーディング規格には、ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262またはISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual、およびスケーラブルビデオコーディング(SVC)およびマルチビュービデオコーディング(MVC)拡張を含むITU-T H.264(ISO/IEC MPEG-4 AVCとも呼ばれる)が含まれる。
新しいビデオコーディング規格、すなわち高効率ビデオコーディング(HEVC)の設計は、ITU-Tビデオコーディング専門家グループ(VCEG)およびISO/IEC動画専門家グループ(MPEG)のビデオコーディング共同研究部会(JCT-VC)によって確定された。
HEVCでは、スライスの中の最大のコーディングユニットは、コーディングツリーブロック(CTB)と呼ばれる。CTBは、そのノードがコーディングユニットである4分木を含む。CTBのサイズは、HEVCメインプロファイルにおいて16×16〜64×64に及ぶことがあるが、8×8CTBサイズがサポートされてよい。コーディングユニット(CU)は、CTBと同じサイズであってよく、8×8の大きさしかない。各CUは、1つのモードでコーディングされる。CUがインターコーディングされるとき、CUは、2つの予測単位(PU:prediction unit)にさらに区分されてよく、またはさらなる区分が適用されないときに単一のPUになる。1つのCUの中に2つのPUが存在するとき、各PUは、CUの半分のサイズの長方形であってよく、またはCUの1/4もしくは3/4のサイズに等しいサイズの2つの長方形であってよい。
CUがインターコーディングされるとき、動き情報の1セットが各PUに対して存在する。加えて、各PUは、動き情報のセットを導出するために一意のインター予測モードでコーディングされる。HEVCでは、最小のPUサイズは、8×4および4×8である。
HEVCは、予測残差をコーディングするために4×4、8×8、16×16および32×32のサイズを有する4つの変換単位(TU:transform unit)を指定する。CTBは、4つ以上のTUに再帰的に区分されてよい。TUは、離散コサイン変換(DCT)関数に類似する整数ベースの関数を使用する。加えて、イントラコード化領域に属する4×4ルーマ変換ブロックは、離散サイン変換(DST)関数から導出される整数変換を使用して変換される。クロマは、ルーマと同じTUサイズを使用する。
現在のHEVC規格では、各予測単位(PU)のルーマ成分に対して、図4に関して以下で説明するように、イントラ予測方法が、33の角度予測モード(2から34までインデックス付けられる)、平均値モード(DC mode)(1でインデックス付けられる)、および平面モード(0でインデックス付けられる)とともに利用される。
上記の35のイントラモードに加えて、「I-PCM」という名称のもう1つのモードもまた、HEVCによって利用される。I-PCMモードでは、予測、変換、量子化、およびエントロピーコーディングがバイパスされる一方で、予測サンプルが所定の数のビットだけコーディングされる。I-PCMモードの主たる目的は、信号が他のモードによって効率的にコーディングされ得ない状況を処理することである。
現在のHEVC規格では、利用可能な2つのインター予測モードがある。1つのそのようなモードは、マージモード(マージの特別な場合としてスキップが考慮されている)であり、第2のそのようなモードは、予測単位(PU)に対するアドバンスト動きベクトル予測(AMVP)モードである。
AMVPモードとマージモードの両方において、動きベクトル(MV)候補リストが、複数の動きベクトル予測子のために維持される。現在のPUの動きベクトル、ならびにマージモードにおける参照インデックスは、MV候補リストから1つの候補を取ることによって生成される。
MV候補リストは、マージモードに対して5つまでの候補を含んでよく、AMVPモードに対して2つだけの候補を含んでよい。マージ候補は、動き情報のセット、たとえば参照ピクチャリスト(リスト0およびリスト1)と参照インデックスの両方に対応する動きベクトルを含んでよい。マージ候補がマージインデックスによって識別される場合、参照ピクチャが現在のブロックの予測のために使用されるだけでなく、関連する動きベクトルが決定される。しかしながら、AMVP候補は動きベクトルだけを含むので、リスト0またはリスト1のいずれかからの潜在的予測方向の各々に対するAMVPモードのもとで、参照インデックスは、MV候補リストに対するMVPインデックスとともに明示的にシグナリングされる必要がある。AMVPモードでは、予測された動きベクトルは、さらに改善され得る。
マージ候補は動き情報の全セットに対応する一方で、AMVP候補は特定の予測方向および参照インデックスに対する1つの動きベクトルだけを含んでよい。両モードに対する候補は、同じ空間的および時間的隣接ブロックから同様に導出される。
図5に関して以下で説明するように、空間的MV候補は、特定のPU(PU0)に対して図5に示す隣接ブロックから導出される。しかしながら、ブロックから候補を生成する方法は、マージモードおよびAMVPモードに対して異なる。
マージモードでは、4つまでの空間的MV候補が、図5に番号で示される順番に導出され得る。図5(a)に示すように、順番は次の通り、すなわち左(0)、上(1)、右上(2)、左下(3)、および左上(4)である。
図5(b)に示すように、AMVPモードでは、隣接ブロックは2つのグループ、すなわちブロック0および1を含む左のグループと、ブロック2、3および4を含む上のグループとに分割される。各グループに対して、シグナリングされた参照インデックスによって示されるものと同じ参照ピクチャを参照する隣接ブロック内の潜在的候補は、グループの最終候補を形成するために選択されるための最高の優先度を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含まないことが可能である。そのために、そのような候補を見出すことができない場合、第1の利用可能な候補が、最終候補を形成するようにスケーリングされることになり、したがって時間的距離の差が補償され得る。
図6に関して以下で説明するように、イントラブロックコピー(BC)がSCCに含まれている。イントラBCの一例が図6に示されており、現在のCUは、現在のピクチャ/スライスのすでに復号されたブロックから予測される。現在のイントラBCブロックのサイズは、CUのサイズと同じ大きさであってよく、CUのサイズは8×8から64×64までに及ぶが、いくつかの適用例ではさらなる制約が適用されることがある。
いくつかの例では、残差信号に対するループ内色空間変換プロセスは、4:4:4クロマフォーマット内のシーケンスに対して使用され得る。この方法は、RGB/YUVクロマフォーマット内の予測誤差信号を準最適色空間内の予測誤差信号に変換する。この追加のステップによって、色成分間の相関がさらに低減され得る。変換行列は、特異値分解(SVD)によって各コーディングユニットに対するピクセルサンプル値から導出される。色空間変換は、イントラモードとインターモードの両方の予測誤差に適用される。
いくつかの例では、色空間変換プロセスがインターモードに適用されるとき、残差が、最初に、導出された変換行列を用いて異なる領域に変換される。色空間変換の後、DCT/DST、量子化、およびエントロピーコーディングなど、従来のコーディングステップが、順番に実行される。
いくつかの例では、色空間変換プロセスがイントラモードに適用されるとき、予測ブロックおよび現在のブロックが最初に、それぞれ、導出された変換行列を用いて異なる領域に変換される。色空間変換の後、現在のブロックとその予測子との間の残差が、さらに、DCT/DSTを用いて変換され、量子化され、かつエントロピーコーディングされる。
順方向演算では、色空間変換行列が、次のように3つの平面G、BおよびRに適用される。
Figure 0006612767
いくつかの例では、得られた値は
Figure 0006612767
倍まで拡大されるので、その値はHEVC仕様の範囲内にクリップされる。逆演算では、色空間変換行列は、次のように3つの成分P'、Q'およびR'に適用される。
Figure 0006612767
図7に関して以下で説明するように、変換行列は、参照サンプル値から導出されてよい。イントラの場合およびインターの場合に対して、異なる参照サンプルが利用され得る。イントラコード化ブロックの場合に対して、ターゲットブロックおよび参照サンプルを図7に示す。この例では、ターゲットブロックは、8×8のクロスハッチのサンプルからなり、参照サンプルは、ストライプとドットのサンプルである。
インターコード化ブロックの場合に対して、行列導出に対する参照サンプルは、動き補償に対する参照サンプルと同じである。シフト演算を実現するために、AMPブロック内の参照サンプルは、サンプルの数が2のべき乗になるようにサブサンプリングされる。たとえば、12×16ブロック内の参照サンプルの数は、2/3に低減される。
本開示の技法によれば、色空間変換プロセスは、各CUに適用されてよい。そのために、変換プロセスが起動されるか否かをシグナリングする必要はない。加えて、エンコーダ側とデコーダ側の両方が、変換行列をシグナリングするためのオーバーヘッドを回避するために同じ方法を用いて変換行列を導出する。
本開示の技法によれば、色空間変換行列などの色空間変換プロセスが使用される。そのような行列の1つはYCbCr変換行列であり、それは、
順方向:
Figure 0006612767
逆方向:
Figure 0006612767
である。
別のそのような行列はYCoCg変換行列であり、それは、
順方向:
Figure 0006612767
逆方向:
Figure 0006612767
である。
別のそのような行列はYCoCg-R行列であり、それは、CoおよびCg成分を2倍にスケーリングするYCoCg行列の修正バージョンである。リフティング技法を使用することによって、順変換および逆変換が、次式によって達成され得る。
順方向:
Co=R-B
t=B+[Co/2]
Cg=G-t
Y=t+[Cg/2]
逆方向:
t=Y-[Cg/2]
G=Cg+t
B=t-[Co/2]
R=B+Co
上記の式および行列では、順変換は、(たとえば、ビデオエンコーダによる)符号化プロセスの間に実行されてよく、逆変換は、(たとえば、ビデオデコーダによる)復号プロセスの中で実行されてよい。
伝統的ビデオコーディングでは、画像は、連続階調を有し、空間的に平滑であることが仮定されている。これらの仮定に基づいて、自然なコンテンツを有するビデオに対して良好な性能を示している様々なツールが(たとえば、ブロックベース変換、フィルタ処理、など)が開発されて来た。しかしながら、いくつかの適用例(たとえば、リモートデスクトップ、共同作業ディスプレイ、およびワイヤレスディスプレイ)では、コンピュータ生成スクリーンコンテンツが、圧縮されるべき主要コンテンツであることがある。このタイプのコンテンツは、離散階調を有し、かつ明確な線と高コントラストの対象境界を特徴づける傾向がある。連続階調および平滑性の仮定はもはや適用されず、したがって伝統的ビデオコーディング技法は効率的に働かないことがある。
パレットモードコーディングが、上記の欠陥を克服するために使用されてよい。パレットコーディング技法の例は、2013年4月10日に出願された米国仮出願第61/810,649号に記載されている。各CUに対して、現在のCUの中で最も支配的なピクセル値を含むパレットが、導出されてよい。パレットのサイズおよび要素が、最初に送信される。送信後、CU中のピクセルが、一定の走査順序に従って符号化される。各ロケーションに対して、ピクセル値が、パレット内で(「実行モード」)であるか、または(「ピクセルモード」)でないかを示すために、フラグpalette_flagなどの構文要素が最初に送信される。
「実行モード」では、パレットインデックスがシグナリングされてよく、「run」が後続する。runは、現在コーディングされているピクセルと同じパレットインデックス値を有する、走査順序において連続するピクセルの数を示す構文要素である。走査順序において直後の複数のピクセルが、同じパレットインデックス値を有する場合、palette_flagなどの構文要素によって、「実行モード」が示されてよい。現在のピクセルと同じパレットインデックス値を有する、現在のピクセルに後続するピクセル数に等しいカウンタ値が決定されてよく、runがカウンタ値に等しく設定される。「run」によってカバーされる後続の位置はすべて、同じピクセル値を有するので、それらの位置に対して、palette_flagもパレットインデックスも送信される必要はない。デコーダ側において、現在のピクセルに対する第1のパレットインデックス値だけが復号され、その結果が、「run」構文要素内に示されるピクセルの「run」内の各ピクセルに対して複製されることになる。
「ピクセルモード」では、ピクセルサンプル値が、この位置に対して送信される。palette_flagなどの構文要素が「ピクセルモード」を示す場合、パレットインデックス値は、復号される1つのピクセルに対して決定されるのみである。
従来の技法は、様々な問題を被ることがある。たとえば、シーケンス特性および局所多様性を考慮に入れない色空間変換が、起動されることがある。そのために、コーディング性能が、準最適であることがある。別の例では、変換行列の導出がデコーダにおいて必要とされることがあり、そのことが、デコーダの複雑さを著しく増大させる。さらに、変換行列は、空間的に再構成されたピクセルまたはインターコード化PUの予測子のいずれかを使用して導出されることがある。しかしながら、PUサイズが比較的小さいとき、予測があまり正確でないとき、または隣接ピクセルが利用できないときに、変換行列の効率が低減されることがある。本開示の技法は、これらの問題のうちの1つまたは複数を克服することができる。
ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、本開示で説明する技法を実行し得る。一般に、本開示は、色空間変換プロセスを使用してビデオブロックをコーディングするための技法を説明する。ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、ビデオデータを符号化するために色空間変換を使用するかどうかを決定し得る。ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオコーダは、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化し、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化し得、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。ビデオコーダは、さらに、ビデオデータが色空間変換を使用して符号化されたかどうかを決定し得る。ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、ビデオコーダは、第1のQPの第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化し、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化し得る。ビデオデータが色空間変換を使用して符号化されなかったものと決定することに応答して、ビデオコーダは、第1および第2のオフセットなしに第1のQPおよび第2のQPを使用してビデオデータを逆量子化し得る。
第1のQPおよび第2のQPは、色空間変換によらずにコーディングされたブロックと同じ導出方法に従って、第1および第2の色成分に対応して導出されたQPであり得る。たとえば、第1のQPおよび第2のQPに対するQPの値は、cu_qp_delta_absなどのシグナリングされた構文要素から導出され得る。次いで、第1のオフセットおよび第2のオフセットは、それぞれ、ビデオデータが色空間変換を使用して符号化されたとき、第1のQPおよび第2のQPを取得するために、導出されたQPに加算されてよい。たとえば、QP(たとえば、QPi)に対して、それぞれのオフセット(たとえば、offseti)は、QPに加算されてよく、得られたQPの値を、元のQPプラスそれぞれのオフセットに等しくさせる(たとえば、QPfinali=QPi+offseti)。
本開示は、ループ内色空間変換のコーディング性能を改善し、デコーダの複雑さを低減し得る技法を説明する。図1は、スクリーンコンテンツコーディングのための技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図であり、高いクロマサンプリングフォーマットが使用される。図1に示すように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを与えるソースデバイス12を含む。特に、ソースデバイス12は、ビデオデータをコンピュータ可読媒体16を介して宛先デバイス14に与える。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、いわゆる「スマート」パッド、テレビ、カメラ、表示デバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイス、などを含む、広い範囲のデバイスのうちのいずれかを含んでもよい。いくつかの場合には、ソースデバイス12および宛先デバイス14は、ワイヤレス通信のために装備されてもよい。
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化ビデオデータを受信してもよい。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化ビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備えてもよい。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムで宛先デバイス14に直接符号化ビデオデータを送信することを可能にする通信媒体を備えてもよい。符号化ビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14に送信されてもよい。通信媒体は、無線周波数(RF)スペクトルなどの任意のワイヤレスもしくはワイヤード通信媒体、または、1つもしくは複数の物理的伝送線を備えてもよい。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースのネットワークの一部を形成してもよい。通信媒体は、ルータ、スイッチ、基地局、または、ソースデバイス12から宛先デバイス14への通信を容易にするために有用であってもよい任意の他の機器を含んでもよい。
いくつかの例では、符号化データは、出力インターフェース22から記憶デバイスに出力されてもよい。同様に、符号化データは、入力インターフェースによって記憶デバイスからアクセスされてもよい。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性もしくは不揮発性メモリ、または、符号化ビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、様々な分散されたまたは局所的にアクセスされるデータ記憶媒体のうちのいずれかを含んでもよい。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化ビデオを記憶してもよいファイルサーバまたは別の中間記憶デバイスに対応してもよい。宛先デバイス14は、ストリーミングまたはダウンロードを介して記憶デバイスからの記憶されたビデオデータにアクセスしてもよい。ファイルサーバは、符号化ビデオデータを記憶し、宛先デバイス14にその符号化ビデオデータを送信することが可能な任意のタイプのサーバであってもよい。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、FTPサーバ、ネットワーク接続ストレージ(NAS:network attached storage)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して符号化ビデオデータにアクセスしてもよい。これは、ファイルサーバに記憶された符号化ビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、ワイヤード接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せを含んでもよい。記憶デバイスからの符号化ビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであってもよい。
本開示の技術は、必ずしもワイヤレス用途または設定に限定されない。技法は、オーバージエアテレビ放送、ケーブルテレビ送信、衛星テレビ送信、HTTP(DASH)を介する動的適応ストリーミングなどのインターネットストリーミングビデオ送信、データ記憶媒体上で符号化されるデジタルビデオ、データ記憶媒体に記憶されたデジタルビデオの復号、または他の用途など、様々なマルチメディア用途のうちのいずれかをサポートするビデオコーディングに適用されてもよい。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向ビデオ送信をサポートするように構成されてもよい。
図1の例では、ソースデバイス12は、ビデオソース18と、ビデオエンコーダ20と、出力インターフェース22とを含む。宛先デバイス14は、入力インターフェース28と、ビデオデコーダ30と、表示デバイス32とを含む。本開示によれば、ソースデバイス12のビデオエンコーダ20は、色空間変換プロセスを使用してビデオブロックをコーディングするための技法を適用するように構成されてよい。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または配置を含んでよい。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソース18からビデオデータを受信してもよい。同様に、宛先デバイス14は、一体化された表示デバイスを含むのではなく、外部表示デバイスとインターフェースしてもよい。
図1の例示的なシステム10は一例にすぎない。色空間変換プロセスを使用してビデオブロックをコーディングするための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行されてよい。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、一般に「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行されてもよい。その上、本開示の技法はまた、ビデオプロセッサによって実行されてもよい。ソースデバイス12および宛先デバイス14は、ソースデバイス12が宛先デバイス14への送信のためにコーディングされたビデオデータを生成するようなコーディングデバイスの単なる例である。いくつかの例では、デバイス12、14の各々がビデオ符号化および復号構成要素を含むように、デバイス12、14は、実質的に対称的に動作することができる。したがって、システム10は、たとえばビデオストリーミング、ビデオプレイバック、ビデオブロードキャスティング、またはビデオテレフォニーのために、ビデオデバイス12と14との間で一方向または双方向ビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラ、前に捕捉されたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオを受信するためのビデオフィードインターフェースなど、ビデオ捕捉デバイスを含むことがある。さらなる代替として、ビデオソース18は、ソースビデオとして、またはライブビデオ、アーカイブビデオ、およびコンピュータ生成ビデオの組合せとして、コンピュータグラフィックスベースのデータを生成することがある。いくつかの場合には、ビデオソース18がビデオカメラである場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ付き電話またはテレビ電話を形成してもよい。しかしながら、上述のように、本開示で説明する技術は、一般にビデオコーディングに適用可能であってもよく、ワイヤレス用途および/またはワイヤード用途に適用されてもよい。各場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータによって生成されたビデオは、ビデオエンコーダ20によって符号化されてもよい。次いで、符号化されたビデオ情報は、出力インターフェース22によってコンピュータ可読媒体16に出力されてもよい。
コンピュータ可読媒体16は、ワイヤレスブロードキャストもしくはワイヤードネットワーク送信などの一時的媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含むことがある。いくつかの例では、ネットワークサーバ(図示せず)は、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを宛先デバイス14に、たとえばネットワーク送信を介して与えることがある。同様に、ディスクスタンピング設備など、媒体製造設備のコンピューティングデバイスは、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを生産することがある。そのために、コンピュータ可読媒体16は、様々な例において、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解されてよい。
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって規定される構文情報を含んでよく、ビデオエンコーダ20はまた、ブロックおよび他のコード化ユニット、たとえばGOPの特性ならびに/または処理を記述する構文要素を含むビデオデコーダ30によって使用される。表示デバイス32は、復号されたビデオデータをユーザに表示し、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプの表示デバイスなどの、様々な表示デバイスのうちのいずれかを備えてもよい。
ビデオエンコーダ20およびビデオデコーダ30は、現在開発中の高効率ビデオコーディング(HEVC)規格などのビデオコーディング規格に従って動作してもよく、HEVC試験モデル(HM)に準拠してもよい。代替的には、ビデオエンコーダ20およびビデオデコーダ30は、代替的にMPEG-4、パート10、アドバンストビデオコーディング(AVC)と呼ばれるITU-T H.264規格、またはそのような規格の拡張など、他の所有権または工業規格に従って動作してもよい。本開示の技術は、しかしながら、任意の特定のコーディング規格に限定されない。ビデオコーディング規格の他の例は、MPEG-2とITU-T H.263とを含む。図1には示していないが、いくつかの態様では、ビデオエンコーダ20およびビデオデコーダ30は、各々、オーディオエンコーダおよびデコーダと一体化されてもよく、共通データストリームまたは別々のデータストリームにおけるオーディオとビデオの両方の符号化を処理するために、適切なMUX-DEMUXユニットまたは他のハードウェアおよびソフトウェアを含んでもよい。該当する場合、MUX-DEMUXユニットは、ITU H.223マルチプレクサプロトコル、または、ユーザデータグラムプロトコル(UDP:user datagram protocol)などの他のプロトコルに準拠してもよい。
ITU-T H.264/MPEG-4(AVC)規格は、共同ビデオ部会(JVT)として知られている共同パートナーシップの製品として、ITU-Tビデオコーディング専門家グループ(VCEG)とISO/IEC動画専門家グループ(MPEG)とによって策定された。いくつかの態様では、本開示で説明する技法は、一般にH.264規格に準拠するデバイスに適用されてよい。H.264規格は、2005年3月の日付でITU-T研究委員会によって、ITU-T勧告H.264、ジェネリックオーディオビジュアルサービスのためのアドバンストビデオコーディングに記載されており、H.264規格は、本明細書では、H.264規格もしくはH.264仕様、またはH.264/AVC規格もしくは仕様と呼ばれることがある。共同ビデオ部会(JVT)は、H.264/MPEG-4 AVCへの拡張の作業を継続している。
ビデオエンコーダ20およびビデオデコーダ30は、各々、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のうちのいずれかとして実装されてもよい。技術が部分的にソフトウェアにおいて実装されているとき、デバイスは、適切な非一時的コンピュータ可読媒体内にソフトウェアのための命令を記憶してもよく、本開示の技術を実行するために、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行してもよい。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダ内に含まれてもよく、そのいずれかは、それぞれのデバイス内に、組み合わされたエンコーダ/デコーダ(コーデック)の一部として組み込まれてもよい。
JCT-VCは、HEVC規格の展開について作業中である。HEVC規格化の努力は、HEVCテストモデル(HM)と呼ばれるビデオコーダの進化モデルに基づいている。HMは、たとえば、ITU-T H.264/AVCによる既存のデバイスと比較してビデオコーダのいくつかの追加の能力を想定する。たとえば、H.264は、9つのイントラ予測符号化モードを提供する一方で、HMは、33ものイントラ予測符号化モードを提供してもよい。
一般に、HMの作業中のモデルは、ビデオフレームまたはピクチャが、ルーマサンプルとクロマサンプルの両方を含む一連のツリーブロックまたは最大コーディング単位(LCU)に分割されてもよいことを記載している。ビットストリーム内の構文データは、ピクセル数に関して最大のコーディングユニットであるLCUに対するサイズを規定してよい。スライスは、コーディング順にいくつかの連続するツリーブロックを含む。ビデオフレームまたはピクチャは、1つまたは複数のスライスに区分されてもよい。各ツリーブロックは、4分木に従ってコーディング単位(CU)に分割されてもよい。一般に、4分木データ構造は、CUごとに1つのノードを含み、ルートノードはツリーブロックに対応する。CUが4つのサブCUに分割される場合、CUに対応するノードは4つのリーフノードを含み、それらの各々はサブCUのうちの1つに対応する。
4分木データ構造の各ノードは、対応するCUに対する構文データを与えることがある。たとえば、4分木内のノードは、ノードに対応するCUがサブCUに分割されるかどうかを示す分割フラグを含むことがある。CUに対する構文要素は、再帰的に規定されてよく、CUがサブCUに分割されるかどうかに応じて決められてよい。CUがそれ以上分割されない場合、それは、リーフCUと呼ばれる。本開示では、リーフCUのうちの4つのサブCUは、元のリーフCUの明示的な分割が存在しない場合でも、同様にリーフCUと呼ばれることになる。たとえば、16×16サイズにおけるCUがそれ以上分割されない場合、4つの8×8サブCUは、16×16CUが決して分割されなくても、同様にリーフCUと呼ばれることになる。
CUは、サイズの区別を持たないことを除いて、H.264規格のマクロブロックと同様の目的を有する。たとえば、ツリーブロックは、4つの子ノード(サブCUとも呼ばれる)に分割されてもよく、各子ノードは、今度は親ノードになり、別の4つの子ノードに分割されてもよい。最後の、4分木のリーフノードと呼ばれる分割されていない子ノードは、リーフCUとも呼ばれるコーディングノードを備える。コード化ビットストリームと関連付けられた構文データは、最大CU深さと呼ばれる、ツリーブロックが分割され得る最大回数を規定してもよく、また、コーディングノードの最小サイズを規定してもよい。したがって、ビットストリームはまた、最小コーディングユニット(SCU)を規定してもよい。本開示は、HEVCのコンテキストにおけるCU、PU、もしくはTU、または他の規格のコンテキストにおける同様のデータ構造(たとえば、H.264/AVCにおけるマクロブロックおよびそれらのサブブロック)のうちのいずれかを指すために、「ブロック」という用語を使用する。
CUは、コーディングノードと、コーディングノードに関連付けられた予測単位(PU)および変換単位(TU)とを含む。CUのサイズは、コーディングノードのサイズに対応し、形状において正方形でなければならない。CUのサイズは、8×8ピクセルから、最大64×64ピクセルまたはそれ以上のツリーブロックのサイズまでの範囲であってもよい。各CUは、1つまたは複数のPUと1つまたは複数のTUとを含んでもよい。CUに関連付けられた構文データは、たとえば、1つまたは複数のPUへのCUの区分を記述してもよい。分割モードは、CUがスキップもしくは直接モード符号化されているのか、イントラ予測モード符号化されているのか、またはインター予測モード符号化されているのかの間で異なってもよい。PUは、形状において非正方形であるように区分されてもよい。CUに関連付けられた構文データはまた、たとえば、4分木に従った1つまたは複数のTUへのCUの区分を記述してもよい。TUは、形状において正方形または非正方形(たとえば、長方形)であることができる。
HEVC規格は、TUに従う変換を可能にし、それは、異なるCUのために異なってもよい。TUは、典型的には、区分されたLCUのために定義された所与のCU内のPUのサイズに基づいてサイズが決められるが、これは、必ずしもそうでないことがある。TUは、典型的には、PUと同じサイズであり、またはPUよりも小さい。いくつかの例では、CUに対応する残差サンプルは「残差4分木」(RQT:residual quad tree)として知られる4分木構造を使用して、より小さい単位に細分されてもよい。RQTのリーフノードは、変換単位(TU)と呼ばれることがある。TUに関連付けられたピクセル差分値は、量子化されてもよい変換係数を生成するために変換されてもよい。
リーフCUは、1つまたは複数の予測単位(PU)を含んでよい。一般に、PUは、対応するCUの全部または一部に対応する空間エリアを表し、PUに対する参照サンプルを取り出すためのデータを含んでよい。その上、PUは、予測に関連するデータを含む。たとえば、PUがイントラモード符号化されたとき、PUに対するデータは、PUに対応するTUに対するイントラ予測モードを記述するデータを含み得る残差4分木(RQT)の中に含まれてよい。別の例として、PUがインターモード符号化されたとき、PUは、PUのための1つまたは複数の動きベクトルを定義するデータを含んでもよい。PUのための動きベクトルを定義するデータは、たとえば、動きベクトルの水平成分、動きベクトルの垂直成分、動きベクトルの解像度(たとえば、4分の1ピクセル精度もしくは8分の1ピクセル精度)、動きベクトルが指す参照ピクチャ、および/または動きベクトルのための参照ピクチャリスト(たとえば、リスト0、リスト1、もしくはリストC)を記述してもよい。
1つまたは複数のPUを有するリーフCUはまた、1つまたは複数の変換単位(TU)を含んでもよい。変換単位は、上記のように、RQT(TU4分木構造とも呼ばれる)を使用して指定されてよい。たとえば、分割フラグは、リーフCUが4つの変換単位に分割されるかどうかを示してよい。次いで、各変換単位は、さらなるサブTUにさらに分割されてよい。TUがそれ以上分割されないとき、それは、リーフTUと呼ばれることがある。一般に、イントラコーディングに対して、1つのリーフCUに属するすべてのリーフTUは、同じイントラ予測モードを共有する。すなわち、同じイントラ予測モードは、一般に、リーフCUのすべてのTUに対する予測値を計算するために適用される。イントラコーディングに対して、ビデオエンコーダは、各リーフTUに対する残差値を、TUに対応するCUの部分と元のブロックとの間の差としてイントラ予測モードを使用して計算し得る。TUは、必ずしもPUのサイズに限定されるとは限らない。したがって、TUは、PUより大きくても小さくてもよい。イントラコーディングに対して、PUは、同じCUに対して対応するリーフTUとコロケートされてよい。いくつかの例では、リーフTUの最大サイズは、対応するリーフCUのサイズに対応し得る。
その上、リーフCUのTUはまた、残差4分木(RQT)と呼ばれるそれぞれの4分木データ構造と関連付けられてよい。すなわち、リーフCUがTUに、どのように区分されているかを示す4分木を、リーフCUは含み得る。TUの4分木のルートノードは、概してリーフCUに対応する一方で、CUの4分木のルートノードは、概してツリーブロック(またはLCU)に対応する。分割されないRQTのTUは、リーフTUと呼ばれる。一般に、本開示は、別段に記載されていない限り、リーフCUを指すために用語CUを、リーフTUを指すために用語TUを使用する。
ビデオシーケンスは、典型的には、ビデオフレームまたはピクチャを含む。ピクチャのグループ(GOP:group of pictures)は、一般に、一連の1つまたは複数のビデオピクチャを備える。GOPは、GOPのヘッダ、1つまたは複数のピクチャのヘッダ、または他の場所に、GOP内に含まれるピクチャの数を記述する構文データを含んでもよい。ピクチャの各スライスは、それぞれのスライスのための符号化モードを記述するスライス構文データを含んでもよい。ビデオエンコーダ20は、典型的には、ビデオデータを符号化するために、個々のビデオスライス内のビデオブロックに対して動作する。ビデオブロックは、CU内のコーディングノードに対応してもよい。ビデオブロックは、固定されたまたは変化するサイズを有してもよく、指定されたコーディング規格に従ってサイズが異なってもよい。
一例として、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の1つの方向は、区分されず、他の方向は、25%および75%に区分される。25%区分に対応するCUの部分は、「上」、「下」、「左」、または「右」の指示が続く「n」によって示される。したがって、たとえば、「2N×nU」は、上に2N×0.5NのPUおよび下に2N×1.5NのPUで水平に区分された2N×2NのCUを指す。
本開示では、「N×N」および「N掛けるN」は、垂直方向および水平方向の寸法に関するビデオブロックのピクセルの寸法、たとえば、16×16ピクセル、または16掛ける16ピクセルを指すために、交換可能に使用されてもよい。一般に、16×16ブロックは、垂直方向に16ピクセル(y=16)と水平方向に16ピクセル(x=16)とを有することになる。同様に、N×Nブロックは、一般に、垂直方向にNピクセルと水平方向にNピクセルとを有し、ここでNは、負ではない整数値を表す。ブロック内のピクセルは、行および列に配置されてもよい。さらに、ブロックは、必ずしも水平方向で垂直方向と同じ数のピクセルを有する必要はない。たとえば、ブロックは、N×Mピクセルを備えてもよく、ここでMは、Nと必ずしも等しくない。
CUのPUを使用するイントラ予測またはインター予測コーディングに続いて、ビデオエンコーダ20は、CUのTUのための残差データを計算してもよい。PUは、空間領域(ピクセル領域とも呼ばれる)における予測ピクセルデータを生成する方法またはモードを記述する構文データを備えてもよく、TUは、変換、たとえば離散コサイン変換(DCT)、整数変換、ウェーブレット変換、または概念的に同様の変換を残差ビデオデータに適用することに続いて、変換領域における係数を備えてもよい。残差データは、符号化されていないピクチャのピクセルと、PUに対応する予測値との間のピクセル差に対応してもよい。ビデオエンコーダ20は、CUのための残差データを含むTUを形成し、次いで、CUのための変換係数を生成するためにTUを変換してもよい。
変換係数を生成するための任意の変換に続いて、ビデオエンコーダ20は、変換係数の量子化を実行してもよい。量子化は、一般に、係数を表すために使用されるデータの量をできる限り低減するために変換係数が量子化され、さらなる圧縮を提供するプロセスを指す。量子化プロセスは、係数の一部またはすべてに関連付けられたビット深度を低減してもよい。たとえば、nビット値は、量子化の間にmビット値に切り捨てられてもよく、ここでnは、mよりも大きい。
量子化に続いて、ビデオエンコーダは、変換係数を走査してよく、量子化された変換係数を含む2次元行列から1次元ベクトルを作成する。走査は、より高いエネルギー(それゆえより低い周波数)の係数をアレイの前方に置き、より低いエネルギー(それゆえより高い周波数)の係数をアレイの後方に置くように設計されてよい。いくつかの例では、ビデオエンコーダ20は、エントロピー符号化されることが可能なシリアル化ベクトルを生成するために、量子化された変換係数を走査するために事前定義された走査順を利用してもよい。他の例では、ビデオエンコーダ20は、適応走査を実行してもよい。1次元ベクトルを形成するために、量子化された変換係数を走査した後、ビデオエンコーダ20は、たとえば、コンテキスト適応可変長コーディング(CAVLC:context adaptive variable length coding)、コンテキスト適応2値算術コーディング(CABAC:context adaptive binary arithmetic coding)、構文ベースコンテキスト適応2値算術コーディング(SBAC:syntax-based context-adaptive binary arithmetic coding)、確率インターバル区分エントロピー(PIPE:Probability Interval Partitioning Entropy)コーディング、または別のエントロピー符号化方法に従って、1次元ベクトルをエントロピー符号化してもよい。ビデオエンコーダ20はまた、ビデオデータを復号する上でビデオデコーダ30によって使用するための符号化ビデオデータに関連付けられた構文要素をエントロピー符号化してもよい。
CABACを実行するために、ビデオエンコーダ20は、送信されるべきシンボルにコンテキストモデル内のコンテキストを割り当ててもよい。コンテキストは、たとえば、シンボルの隣接値が非ゼロであるかどうかに関連してもよい。CAVLCを実行するために、ビデオエンコーダ20は、送信されるべきシンボルのための可変長コードを選択してもよい。VLCにおけるコードワードは、比較的より短いコードがより可能性が高いシンボルに対応し、より長いコードがより可能性が低いシンボルに対応するように構成されてもよい。このように、VLCの使用は、たとえば、送信されるべき各シンボルに等長コードワードを使用して、ビットの節約を達成してもよい。確率決定は、シンボルに割り当てられたコンテキストに基づいてもよい。
本開示の技法によれば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、ビデオデータを符号化するために色空間変換を使用するかどうかを決定し得る。ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオコーダは、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化し、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化し得、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。ビデオコーダは、さらに、ビデオデータが色空間変換を使用して符号化されたかどうかを決定し得る。ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、ビデオコーダは、第1のQPの第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化し、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化し得る。ビデオデータが色空間変換を使用して符号化されなかったものと決定することに応答して、ビデオコーダは、第1および第2のオフセットなしに第1のQPおよび第2のQPを使用してビデオデータを逆量子化し得る。
第1のQPおよび第2のQPは、色空間変換によらずにコーディングされたブロックと同じ導出方法に従って、第1および第2の色成分に対応して導出されたQPであり得る。たとえば、第1のQPおよび第2のQPに対するQPの値は、cu_qp_delta_absなどのシグナリングされた構文要素から導出され得る。次いで、第1のオフセットおよび第2のオフセットは、それぞれ、ビデオデータが色空間変換を使用して符号化されたとき、第1のQPおよび第2のQPを取得するために、導出されたQPに加算されてよい。たとえば、QP(たとえば、QPi)に対して、それぞれのオフセット(たとえば、offseti)は、QPに加算されてよく、得られたQPの値を、元のQPプラスそれぞれのオフセットに等しくさせる(たとえば、QPfinali=QPi+offseti)。
ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、図1〜図9に関して説明した技法のうちのいずれかを実行してよい。異なる色成分を量子化および逆量子化するために異なる量子化パラメータを使用することによって、ビデオデコーダは、色空間変換が使用されるときにビデオデータをより効率的に復号することができ、それによって、システムの総合的コーディング効率を向上させ、エネルギー消費を低減させる。
多様な構文要素が、本開示の技法と整合して使用されることがある。これらの構文要素は、
Figure 0006612767
Figure 0006612767
Figure 0006612767
を含み得る。
構文要素color_transform_enabled_flagが1に等しいとき、ループ内色空間変換プロセスは、復号プロセスの中で起動されてよい。構文要素color_transform_enabled_flagが0に等しいとき、ループ内色空間変換プロセスは適用されなくてよい。構文要素が存在しないとき、構文要素color_transform_enabled_flagの値は、0に等しいものと推測されてよい。
構文要素color_transform_flag[x0][y0]が1に等しいとき、現在のコーディングユニットは、色空間変換によってコーディングされてよい。構文要素color_transform_flag[x0][y0]が0に等しいとき、現在のコーディングユニットは、色空間変換によらないでコーディングされる。構文要素が存在しないとき、構文要素color_transform_flagの値は、0に等しいものと推測されてよい。アレイインデックスx0およびy0は、ピクチャの左上のルーマサンプルに対する考慮されるコーディングブロックの左上のルーマサンプルのロケーション(x0,y0)を指定し得る。
いくつかの例では、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、コーディングユニットに対して色空間変換を使用するかどうかを決定し得る。ビデオコーダは、色空間変換の使用を示すためにコーディングユニットの構文要素の値を設定し得る。ビデオコーダは、色空間変換行列をコーディングユニットの残差ブロックに適用し得る。ビデオコーダは、コーディングユニットの構文要素を復号し得、構文要素は、コーディングユニットが色空間変換を使用して符号化されたかどうかを示す。ビデオコーダは、コーディングユニットが色空間変換を使用して符号化されたことを構文要素の値が示すかどうかを決定し得る。ビデオコーダは、コーディングユニットが色空間変換を使用してコーディングされたことを構文要素が示すものと決定することに応答して、色空間逆変換行列をコーディングユニットの残差ブロックに適用し得る。
一例では、イントラコード化CUに対して、フラグが直接シグナリングされることがある。代替として、イントラコード化CUに対して、CUがI-PCMモードでないときだけ、フラグがシグナリングされることがある。別の例では、インターコード化CUおよび/またはイントラBCコード化CUに対して、現在のCU内に非ゼロ係数が存在するとき、すなわちrqt_root_cbfが1に等しいときだけ、フラグがシグナリングされてよい。別の例では、フラグは、CUがパレットモードでコーディングされるときはシグナリングされない。すべての上記の例では、復号された色変換フラグが0に等しいか、またはフラグが1つのCUに対するビットストリーム内に存在しないとき、色空間変換プロセスはスキップされてよい。
さらに、シーケンスパラメータセット(SPS)/ピクチャパラメータセット(PPS)/スライスヘッダのいずれかにおける1つのフラグが、色空間変換の使用を制御するためにシグナリングされ得る。SPS/PPS/スライスヘッダ内のフラグが0に等しいとき、CUレベルフラグのシグナリングは、対応するシーケンス/ピクチャ/スライスそれぞれの中のすべてのCU内でスキップされてよい。代替として、色空間変換は、PUレベルまたはTUレベルで実行されてよく、PU/TUの各々は、色空間変換の使用を示すために1つのフラグを有する。
一例では、修正されたYCoCg変換は、符号化および復号プロセスにおいて適用されてよい。修正されたYCoCg変換は、次のように定義され得る。
順方向:
Figure 0006612767
逆方向:temp=Y-Cg、
G=(Y+Cg+offset)>>2、
B=(temp-Co+offset)>>2、
R=(temp+Co+offset)>>2、ここでオフセットは2に等しい。
代替として、修正されたYCoCg変換は、次のように定義され得る。
順方向:
Figure 0006612767
逆方向:temp=Y-Cg、
G=(Y+Cg+offset)>>1、
B=(temp-Co+offset)>>1、
R=(temp+Co+offset)>>1、ここでオフセットは1または0に等しい。
色変換によってコーディングされたCUまたはブロックによって使用される対応する量子化パラメータは、(dQP+2)に等しいものと推測されてよく、一方、色変換によらないCUまたはブロックによって使用される対応する量子化パラメータは、dQPに等しいものと推測されてよい。同時に、ビット深度は、量子化プロセスと変換プロセスの両方において、1だけさらに増加されてよい。
代替として、2ステップの順/逆変換は、元の不変のYCoCgに正規化処理を加えたものによって適用される。順変換に対して、元のYCoCg順変換が最初に適用される。次いで、各成分i、すなわちY、CoおよびCgに対して、成分は(i*forward_factor+offset)>>BIT_PRECISIONにリセットされ、ここでBIT_PRECISIONは符号なし整数であり、forward_factorはBIT_PRECISIONに応じて決まる。一例では、forward_factorは、1/√6*(1<<BITS_TRANS)+0.5に等しく、BIT_PRECISIONは15に等しく、offsetは、(1<<(BIT_PRECISION-1))に等しい。
逆変換に対して、元のYCoCg逆変換が最初に適用される。次いで、各成分i、すなわちY、CoおよびCgに対して、成分は(i*backward_factor+offset)>>BIT_PRECISIONにリセットされ、ここでBIT_PRECISIONは順変換において使用されるものと同じであり、backward_factorはBIT_PRECISIONに応じて決まる。一例では、backward_factorは、√6/4*(1<<BITS_TRANS)+0.5に等しく、offsetは、(1<<(BIT_PRECISION-1))に等しい。
代替として/さらに、CUレベルフラグは、3つの色成分(すなわち、cbf_luma、cbf_cbおよびcbf_cr)内のコード化ブロックフラグのうちの少なくとも1つが1に等しいときだけ、シグナリングされてよい。代替として、色空間変換によるCUまたはブロック内の残差の範囲が、色空間変換によらないCU/ブロック内の残差の範囲と同じであることを確実にするために、色空間変換の後の修正された残差は、さらに修正されてよい。一例では、クリップ動作が適用される。
色空間変換行列は、再構成されたピクセルとは無関係であってよい。代わりに、色空間変換行列は、非可逆コーディングモードまたは可逆コーディングモードに応じて決まることがある。一例では、CUが非可逆モードでコーディングされるとき、YCoCgが適用されてよく、一方、CUが可逆モードでコーディングされるとき、YCoCg-Rが適用される。その上、YCoCg-Rが適用されるとき、Co成分およびCg成分のビット深度が、1だけ増加されてよい。別の例では、変換行列は、イントラモード、インター/イントラBCモードに応じて決まることがある。この場合、各モードに対する所定の行列は、エンコーダとデコーダの両方において指定されてよく、CUレベルフラグが1であるとき、コーディングモードに従って、同じ行列がエンコーダとデコーダの両方において使用されてよい。さらに、CUレベルフラグは、3つの色成分(すなわち、cbf_luma、cbf_cbおよびcbf_cr)内のコード化ブロックフラグのうちの少なくとも1つが1に等しいときだけ、シグナリングされてよい。
本開示の技法はまた、たとえばフレーム内レベルにおける、変換行列導出およびシグナリング方法を含むことがある。一例では、各フレームに対して、変換行列は、元の画像内の色成分にわたって統計値に基づいて導出されてよい。変換行列はビットストリームにコーディングされ、デコーダに直接送信され得る。代替として、連続してコーディングされたフレームの間の変換行列予測が適用されてよい。たとえば、行列が前のフレーム内で使用された行列と同じであるかどうかを示すために、1つのフラグが送信されてよい。代替として、変換行列は、元のフレームのセットに基づいて導出され、ビットストリーム内でシグナリングされてよい。
別の例では、変換行列のセットは、PPSなどの高レベル構文内で導出され、シグナリングされる。一例では、画像は、特性に基づいて複数の領域に分類され、各領域に対して変換行列が導出される。導出された行列は、高レベル構文内でコーディングされ、シグナリングされ得る。選択された変換行列のインデックスは、CU/TU/PUレベルでさらにシグナリングされる。代替として、選択された変換行列のインデックスは、スライスヘッダ内で、または各タイル領域に対してシグナリングされる。代替として、変換行列は、スライスヘッダ内で、または各タイル領域に対して導出されてよい。
ルーマ成分およびクロマ成分のビット深度が異なるとき、すべての色成分のビット深度が、最初に、同じになるように修正され、次いで色変換が後で適用されることがある。代替として、ビットストリームは、ルーマ成分およびクロマ成分のビット深度がコード化ビットストリーム内で異なるとき、色変換は無効(すなわち、color_transform_enabled_flagが0に等しい)にされるべきであるという制約に従うことがある。
異なるQPが、色変換によってまたはよらないでコーディングされたCU/ブロックに適用されてよく、ならびに/あるいは量子化プロセスおよび変換プロセスにおいて使用されるビット深度が、そのような正規化されない色変換のせいで修正されてよい。一例では、上記の修正されたYCoCg変換が使用されるとき、以下のステップ(すなわち、フィルタ処理をデブロックする前の、スケーリング、変換およびアレイ構成プロセス)が、color_transform_flagに基づいてさらに修正される。
一例では、上記で説明した、修正されたYCoCg変換が使用されるとき、それに応じて、対応する量子化パラメータ導出プロセスおよび逆変換プロセスが修正される。このプロセスへの入力には、現在のピクチャの左上のルーマサンプルに対する現在のルーマコーディングブロックの左上のサンプルを指定するルーマロケーション(xCb,yCb)が含まれてよい。このプロセスでは、変数QpY、ルーマ量子化パラメータQp'Y、およびクロマ量子化パラメータQp'CbおよびQp'Crが導出されてよい。ルーマロケーション(xQg,yQg)は、現在のピクチャの左上のルーマサンプルに対する現在の量子化グループの左上のルーマサンプルを指定してよい。水平位置xQgおよび垂直位置yQgは、それぞれ、xCb-(xCb&((1<<Log2MinCuQpDeltaSize)-1))およびyCb-(yCb&((1<<Log2MinCuQpDeltaSize)-1))に等しく設定されてよい。量子化グループのルーマサイズ、Log2MinCuQpDeltaSizeは、同じqPY_PREDを共有するコーディングツリーブロック内部の最小エリアのルーマサイズを決定してよい。
変数QpYは、以下の
QpY=((qPY_PRED+CuQpDeltaVal+52+2*QpBdOffsetY)%(52+QpBdOffsetY))-QpBdOffsetY
のように導出され得る。
ルーマ量子化パラメータQp'Yは、以下の
Qp'Y=QpY+QpBdOffsetY
のように導出され得る。
構文要素ChromaArrayTypeが0に等しいとき、以下が適用されてよい。
変数qPiCbおよびqPiCrは、以下の
qPiCb=Clip3(-QpBdOffsetC,57,QpY+pps_cb_qp_offset+slice_cb_qp_offset+CuQpAdjValCb)
qPiCr=Clip3(-QpBdOffsetC,57,QpY+pps_cr_qp_offset+slice_cr_qp_offset+CuQpAdjValCr)
のように導出され得る。
構文要素ChromaArrayTypeが1に等しい場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいて下表に指定されるように、QpCの値に等しく設定されてよい。そうでない場合、変数qPCbおよびqPCrは、それぞれqPiCbおよびqPiCrに等しいインデックスqPiに基づいてMin(qPi、51)に等しく設定される。
Figure 0006612767
Cb成分およびCr成分に対するクロマ量子化パラメータ、Qp'Cbおよびp'Crは、以下の
Qp'Cb=qPCb+QpBdOffsetC
Qp'Cr=qPCr+QpBdOffsetC
のように導出され得る。
color_transform_flagが1に等しいとき、以下が適用されてよい。
Qp'Y=(Qp'Y+8)
ChromaArrayType≠0のとき、Qp'Cb=(Qp'cb+8)およびQp'Cr=(Qp'cr+8)
BitDepthY=(BitDepthY+2)
BitDepthC=(BitDepthC+2)
このプロセスへの入力は、現在のピクチャの左上のルーマサンプルに対する現在のルーマ変換ブロックの左上のサンプルを指定するルーマロケーション(xTbY,yTbY)と、現在の変換ブロックのサイズを指定する変数nTbSと、現在のブロックの色成分を指定する変数cIdxと、量子化パラメータを指定する変数qPとを含んでよい。このプロセスの出力は、要素d[x][y]でスケーリングされた変換係数の(nTbS)×(nTbS)アレイdを含んでよい。
変数log2TransformRange、bdShift、coeffMinおよびcoeffMaxは、次のように導出されてよい。
color_transform_flag=1のとき、以下が適用される。
CoeffCTMinY=-(1<<(extended_precision_processing_flag? Max(15,BitDepthY+6):15))
CoeffCTMinC=-(1<<(extended_precision_processing_flag? Max(15,BitDepthC+6):15))
CoeffCTMaxY=(1<<(extended_precision_processing_flag? Max(15,BitDepthY+6):15))-1
CoeffCTMaxC=(1<<(extended_precision_processing_flag? Max(15,BitDepthC+6):15))-1
cIdx=0の場合、
log2TransformRange=extended_precision_processing_flag? Max(15,BitDepthY+6):15
bdShift=BitDepthY+Log2(nTbS)+10-log2TransformRange
coeffMin=(color_transform_flag? CoeffCTMinY: CoeffMinY)
coeffMax=(color_transform_flag? CoeffCTMaxY: CoeffMaxY)
そうでない場合、
log2TransformRange=extended_precision_processing_flag? Max(15,BitDepthC+6):15
bdShift=BitDepthC+Log2(nTbS)+10-log2TransformRange
coeffMin=(color_transform_flag? CoeffCTMinC: CoeffMinC)
coeffMax=(color_transform_flag? CoeffCTMaxC: CoeffMaxC)
表levelScale[ ]は、levelScale[k]={40、45、51、57、64、72}、k=0.5として指定されてよい。
スケーリングされた変換係数d[x][y]、x=0...nTbS-1、y=0...nTbS-1の導出に対して、以下が適用されてよい。
スケーリング因子m[x][y]は、次のように導出され得る。
以下の条件のうちの1つまたは複数が真であるならば、m[x][y]は16に等しく設定される。
scaling_list_enabled_flag=0
transform_skip_flag[xTbY][yTbY]=1およびnTbS>4
そうでない場合、以下が適用される。
m[x][y]=ScalingFactor[sizeId][matrixId][x][y] (8-283)
構文要素sizeIdが、(nTbS)×(nTbS)に等しい量子化行列のサイズに対して指定され、matrixIdが、それぞれ、sizeId、CuPredMode[xTbY][yTbY]、およびcIdxに対してTable 7-4内に指定されるとき、スケーリングされた変換係数d[x][y]は、次のように導出され得る。
d[x][y]=Clip3(coeffMin,coeffMax,((TransCoeffLevel[xTbY][yTbY][cIdx][x][y]*m[x][y]*levelScale[qP%6]<<(qP/6))+(1<<(bdShift-1)))>>bdShift)
color_transform_flagが1に等しいとき、以下が適用されてよい。
BitDepthY=(BitDepthY-2)
BitDepthC=(BitDepthC-2)
一例では、色空間変換がイントラモードに適用されるとき、残差は、変換された色空間領域内で導出される。すなわち、イントラサンプル予測プロセスを起動する前に、現在のCUの隣接ピクセルが、最初に、修正された順YCoCg変換または修正された順YCoCg-R変換によって別の準最適色空間に変換されてよい。次いで、修正された隣接ピクセルは、現在のCUの予測子を導出するために使用されてよい。残差(すなわち、予測誤差)は、準最適領域内の現在のCUおよび現在のCUの隣接ピクセルから導出される。残差は、成分間残差予測、変換、量子化、およびエントロピーコーディングなど、従来のコーディングフローと同じ方法でコーディングされる。エントロピーコーディングの後、変換係数は、逆YCoCg変換または逆YCoCg-R変換によってさらに修正されてよい。次いで、修正された変換係数は、現在のCUの再構成されたピクセルを導出するために予測子に追加されてよい。再構成プロセスが起動された後、逆YCoCg変換または逆YCoCg-R変換は、修正された隣接ピクセルに適用されてよい。そのために、デコーダ側において、再構成プロセスを起動する前に、逆色空間変換が導出された変換係数に適用される1つの追加のプロセスが適用されてよい。
色空間変換がイントラモードに適用されるとき、変換された色領域内の現在のブロックから予測子を引くことによって残差を生成する代わりに、残差は、色空間変換の前のピクセルを使用して生成されてよく、色空間変換がそれに続く。この場合、ルーマおよびクロマのイントラモードは、同等のモードに設定されてよい。代替として、クロマモードのシグナリングはスキップされてよい。代替として、色変換フラグは、ルーマおよびクロマのイントラモードが同じであるときだけシグナリングされてよい。
上記で説明したように、いくつかの例では、可逆および非可逆のコーディング方法は、同じ行列、たとえばYCoCg-Rを共有してよい。追加または代替として、YCoCg-R変換が非可逆コーディングに適用されるとき、色変換によるブロックのクロマ成分のビット深度は、色変換によらないブロックと比較して1だけ増加されてよい。色変換によるブロックのルーマ成分QPは、色変換によらないブロックのルーマ成分QPマイナス4に等しくてよい。一例では、色変換によるブロックの2つのクロマ成分QPは、色変換によらないブロックのクロマ/ルーマ成分QPプラス2に等しくてよい。一例では、色変換によるブロックのCgクロマ成分QPは、色変換によらないブロックのルーマ/クロマ成分QPプラス2に等しくてよい。色変換によるブロックのCoクロマ成分QPは、色変換によらないブロックのルーマ/クロマ成分QPプラス3に等しくてよい。
そのような例では、YCoCg-Rが非可逆モードと可逆モードの両方に使用されるとき、現在のブロックが非可逆コーディングされる場合、ルーマおよびクロマのビット深度は、適応色変換を有効にすることなくコーディングされたそれらのブロックに対して同じであってよい。この場合、非可逆コーディングが適用されるとき、YCoCg-Rの順変換の後、CoおよびCgの成分は、順YCoCg-R変換によって増加されたビット深度を低減して、ビット深度精度をY成分のビット深度精度と同じにするために、Nビット右シフトによってスケーリングされてよい。加えて、逆YCoCg-R変換を実行する前に、CoおよびCgの成分は、Nビット左シフトによって修正されてよい。一例では、Nは1に等しい。
一例では、ルーマおよびクロマの成分の入力ビット深度は同じであることが仮定されてよい。非可逆コーディングモードに対して、シフト演算は、順変換の後で逆変換の前に、2つのクロマ成分(すなわち、Cg、Co)に適用されてよい。一例では、以下のプロセスが、順に適用される。
1. 順方向YCoCg-Rは不変である。
Co=R-B
t=B+[Co/2]
Cg=G-t
Y=t+[Cg/2]
2. 現在のブロックが非可逆モードでコーディングされる場合、以下がさらに適用される。
Cg=Cg>>1
Co=Co>>1
別の例では、オフセットが、右シフトプロセスにおいて考慮されてよい。たとえば、上記の強調表示された式は、
Cg=(Cg+1)>>1
Co=(Co+1)>>1
によって置き換えられてよい。
逆YCoCg-R変換を起動する前に、以下が適用されてよい。
現在のブロックが非可逆モードでコーディングされる場合、以下が適用される。
Cg=Cg<<1
Co=Co<<1
そして、逆方向YCoCg-Rは不変のままである。
t=Y-[Cg/2]
G=Cg+t
B=t-[Co/2]
R=B+Co
そのような例では、適応色変換を使用する変換ブロックに対する残差修正プロセスは、ChromaArrayTypeが3に等しいときに起動されてよい。このプロセスへの入力には、ブロックサイズを指定する変数blkSize、要素rY[x][y]を有するルーマ残差サンプルrYの(blkSize)×(blkSize)アレイ、要素rCb[x][y]を有するクロマ残差サンプルrCbの(blkSize)×(blkSize)アレイ、および要素rCr[x][y]を有するクロマ残差サンプルrCrの(blkSize)×(blkSize)アレイが含まれてよい。このプロセスへの出力には、ルーマ残差サンプルの修正された(blkSize)×(blkSize)アレイrY、クロマ残差サンプルの修正された(blkSize)×(blkSize)アレイrCb、およびクロマ残差サンプルの修正された(blkSize)×(blkSize)アレイrCrが含まれてよい。
残差サンプルrY、rCbおよびrCrの(blkSize)×(blkSize)アレイ、x=0...blkSize-1、y=0...blkSize-1は、以下のように修正されてよい。
cu_transquant_bypass_flag=0ならば、rCb[x][y]=rCb[x][y]<<1およびrCr[x][y]=rCr[x][y]<<1
tmp=rY[x][y]-(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp-(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
代替として、「cu_transquant_bypass_flagが0に等しいならば、rCb[x][y]=rCb[x][y]<<1およびrCr[x][y]=rCr[x][y]<<1」は、「rCb[x][y]=rCb[x][y]<<(1-cu_transquant_bypass_flag)およびrCr[x][y]=rCr[x][y]<<(1-cu_transquant_bypass_flag)」で置き換えられてよい。
色変換行列を共有する非可逆コーディング方法および可逆コーディング方法の別の例では、ルーマおよびクロマの成分の入力ビット深度は異なることがある。そのような例では、ルーマおよびクロマの成分の入力ビット深度が異なり、YCoCg-Rが非可逆コーディングモードと可逆コーディングモードの両方に使用されるとき、逆変換の前に、Y、Co、Cgの3つすべての成分に同じビット深度精度を持たせるために、Y、Co、Cgの値のうちの少なくとも1つは、最初にNビットシフトされてよい。加えて、もう1つのビットは、2つのクロマ成分(すなわち、CoおよびCg)にシフトされてよい。3つすべての成分の予測値のうちの少なくとも1つは、順YCoCg-R変換を起動する前に、同じビット深度精度を有するように修正されてよい。そして、順変換の後、2つのクロマ成分が、1ビット右シフトされてよい。可逆コーディングモードに対して、異なるビット深度は考慮されておらず、そのために、適応色空間変換は無効にされることがある。一例では、ビットストリームは、ルーマ成分およびクロマ成分のビット深度がコード化ビットストリーム内で異なるとき、色変換は無効(すなわち、color_transform_enabled_flagが0に等しい)にされるべきであるという制約を含むことがある。
この例では、適応色変換を使用する変換ブロックに対する残差修正プロセスは、ChromaArrayTypeが3に等しいときに起動されてよい。このプロセスへの入力には、ブロックサイズを指定する変数blkSize、要素rY[x][y]を有するルーマ残差サンプルrYの(blkSize)×(blkSize)アレイ、要素rCb[x][y]を有するクロマ残差サンプルrCbの(blkSize)×(blkSize)アレイ、および要素rCr[x][y]を有するクロマ残差サンプルrCrの(blkSize)×(blkSize)アレイが含まれてよい。このプロセスへの出力には、ルーマ残差サンプルの修正された(blkSize)×(blkSize)アレイrY、クロマ残差サンプルの修正された(blkSize)×(blkSize)アレイrCb、およびクロマ残差サンプルの修正された(blkSize)×(blkSize)アレイrCrが含まれてよい。
変数deltaBDYおよびdeltaBDCは、以下のように導出され得る。
BitDepthMax=Max(BitDepthY、BitDepthC)
deltaBDY=cu_transquant_bypass_flag?0:BitDepthMax-BitDepthY
deltaBDC=cu_transquant_bypass_flag?0:BitDepthMax-BitDepthC
OY=cu_transquant_bypass_flag||(BitDepthMax==BitDepthY)?0:1<<(deltaBDY-1)
OC=cu_transquant_bypass_flag||(BitDepthMax==BitDepthC)?0:1<<(deltaBDC-1)
残差サンプルrY、rCbおよびrCrの(blkSize)×(blkSize)アレイ、x=0...blkSize-1、y=0...blkSize-1は、以下のように修正されてよい。
残差サンプルrY[x][y]、rCb[x][y]およびrCr[x][y]は、以下のように修正されてよい。
rY[x][y]=rY[x][y]<<deltaBDY
rCb[x][y]=rCb[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
rCr[x][y]=rCr[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
tmp=rY[x][y]-(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp-(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
rY[x][y]=(rY[x][y]+OY)>>deltaBDY
rCb[x][y]=(rCb[x][y]+Oc)>>deltaBDC
rCr[x][y]=(rCr[x][y]+Oc)>>deltaBDC
上記の例では、関数Maxは、2変数間のより大きい値を導出するために使用されてよい。代替として、丸めオフセットOYおよびOcのうちの少なくとも一方が0に設定されてよい。
代替として、可逆コーディングに対してさえも、ルーマおよびクロマの成分のビット深度が異なるとき、成分は、必要に応じて同じビット深度精度にシフトされることがある。エンコーダ側において、順変換の後、シフトして元のビット深度精度に戻す必要はない。言い換えれば、3つの成分のコーディングされた残差は、それが可逆コーディングであることを確実にするために、同じビット深度であってよい。非可逆コーディングとは異なり、可逆コーディングのために逆YCoCg-R変換を起動する前に、入力は修正されない。出力が元の入力と同じビット深度であることを確実にするために、右シフトが、依然として必要であることがある。
この例では、適応色変換を使用する変換ブロックに対する残差修正プロセスは、ChromaArrayTypeが3に等しいときに起動されてよい。このプロセスへの入力には、ブロックサイズを指定する変数blkSize、要素rY[x][y]を有するルーマ残差サンプルrYの(blkSize)×(blkSize)アレイ、要素rCb[x][y]を有するクロマ残差サンプルrCbの(blkSize)×(blkSize)アレイ、および要素rCr[x][y]を有するクロマ残差サンプルrCrの(blkSize)×(blkSize)アレイが含まれてよい。このプロセスへの出力には、ルーマ残差サンプルの修正された(blkSize)×(blkSize)アレイrY、クロマ残差サンプルの修正された(blkSize)×(blkSize)アレイrCb、およびクロマ残差サンプルの修正された(blkSize)×(blkSize)アレイrCrが含まれてよい。
変数deltaBDYおよびdeltaBDCは、以下のように導出されてよい。
BitDepthMax=Max(BitDepthY、BitDepthC)
deltaBDY=BitDepthMax-BitDepthY
deltaBDC=BitDepthMax-BitDepthC
OY=(BitDepthMax==BitDepthY)?0:1<<(deltaBDY-1)
OC=(BitDepthMax==BitDepthC)?0:1<<(deltaBDC-1)
残差サンプルrY、rCbおよびrCrの(blkSize)×(blkSize)アレイ、x=0...blkSize-1、y=0...blkSize-1は、以下のように修正されてよい。
cu_transquant_bypass_flagが0に等しいとき、残差サンプルrY[x][y]、rCb[x][y]およびrCr[x][y]は、以下のように修正されてよい。
rY[x][y]=rY[x][y]<<deltaBDY
rCb[x][y]=rCb[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
rCr[x][y]=rCr[x][y]<<(deltaBDC+1-cu_transquant_bypass_flag)
tmp=rY[x][y]-(rCb[x][y]>>1)
rY[x][y]=tmp+rCb[x][y]
rCb[x][y]=tmp-(rCr[x][y]>>1)
rCr[x][y]=rCb[x][y]+rCr[x][y]
rY[x][y]=(rY[x][y]+OY)>>deltaBDY
rCb[x][y]=(rCb[x][y]+Oc)>>deltaBDC
rCr[x][y]=(rCr[x][y]+Oc)>>deltaBDC
代替として、OYおよびOcのうちの一方は、0に等しくてよい。
ビデオエンコーダ20は、さらに、ブロックベースの構文データ、フレームベースの構文データ、およびGOPベースの構文データなどの構文データを、たとえばフレームヘッダ、ブロックヘッダ、スライスヘッダ、またはGOPヘッダの中でビデオデコーダ30に送ることがある。GOP構文データは、それぞれのGOPの中のフレーム数を記述し、フレーム構文データは、対応するフレームを符号化するために使用される符号化/予測モードを示すことができる。
ビデオエンコーダ20およびビデオデコーダ30はそれぞれ、1つもしくは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック回路、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなど、適用可能な様々な適切なエンコーダもしくはデコーダの回路のうちのいずれかとして実装されてもよい。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてもよく、これらのいずれもが、結合されたビデオエンコーダ/デコーダ(コーデック)の一部として統合されてもよい。ビデオエンコーダ20および/またはビデオデコーダ30を含むデバイスは、集積回路、マイクロプロセッサ、および/またはセルラー電話などのワイヤレス通信デバイスを備えてよい。
図2は、色空間変換プロセスを使用してビデオブロックを符号化するための技法を実装し得るビデオエンコーダ20の一例を示すブロック図である。ビデオエンコーダ20は、ビデオスライス内のビデオブロクのイントラコーディングとインターコーディングとを実行してもよい。イントラコーディングは、所与のビデオフレームまたはピクチャ内のビデオにおける空間的冗長性を低減または除去するために空間的予測に依存する。インターコーディングは、ビデオシーケンスの隣接フレームまたはピクチャ内のビデオにおける時間的冗長性を低減または除去するために時間的予測に依存する。イントラモード(Iモード)は、いくつかの空間ベースのコーディングモードのうちのいずれかを指してもよい。片方向予測(Pモード)または双方向予測(Bモード)などのインターモードは、いくつかの時間ベースのコーディングモードのうちのいずれかを指してもよい。
図2に示すように、ビデオエンコーダ20は、符号化されるべきビデオフレーム内の現在のビデオブロックを受信する。図2の例では、ビデオエンコーダ20は、モード選択ユニット40と、参照ピクチャメモリ64と、加算器50と、変換処理ユニット52と、量子化ユニット54と、エントロピー符号化ユニット56とを含む。モード選択ユニット40は、動き補償ユニット44と、動き推定ユニット42と、イントラ予測ユニット46と、区分ユニット48とを含む。ビデオブロック再構成に対して、ビデオエンコーダ20はまた、逆量子化ユニット58と、逆変換ユニット60と、加算器62とを含む。デブロッキングフィルタ(図2に示さず)がまた、ブロッキネスアーティファクトを再構成されたビデオから除去するために、フィルタブロック境界に含まれてよい。所望される場合、デブロッキングフィルタは、一般に、加算器62の出力をフィルタ処理する。追加のフィルタ(ループ内またはループ後)が、デブロッキングフィルタに加えて使用されてもよい。そのようなフィルタは、簡潔のために示さないが、所望される場合、(ループ内フィルタとして)加算器50の出力をフィルタ処理してよい。
符号化プロセスの間、ビデオエンコーダ20は、コーディングされるべきビデオフレームまたはスライスを受信する。フレームまたはスライスは、複数のビデオブロックに分割されてよい。動き推定ユニット42および動き補償ユニット44は、時間予測を提供するために、1つまたは複数の参照フレーム内の1つまたは複数のブロックに対する受信されたビデオブロックのインター予測コーディングを実行する。代替として、イントラ予測ユニット46は、空間予測を提供するために、コーディングされるべきブロックと同じフレームまたはスライス内の1つまたは複数の隣接ブロックに対する受信されたビデオブロックのイントラ予測コーディングを実行してもよい。ビデオエンコーダ20は、たとえば、ビデオデータの各ブロックに対する適切なコーディングモードを選択するために、複数のコーディングパスを実行してよい。
その上、区分ユニット48は、前のコーディングパス内の前の区分方式の評価に基づいて、ビデオデータのブロックをサブブロックに区分してよい。たとえば、区分ユニット48は、最初にフレームまたはスライスをLCUに区分し、レート-歪み分析(たとえば、レート-歪み最適化)に基づいてLCUの各々をサブCUに区分してよい。モード選択ユニット40は、LCUをサブCUに区分することを示す4分木データ構造をさらに作成してもよい。4分木のリーフノードCUは、1つまたは複数のPUと1つまたは複数のTUとを含んでもよい。
モード選択ユニット40は、たとえば誤差結果に基づいてイントラコーディングモードまたはインターコーディングモードのうちの一方を選択し、得られたイントラコード化ブロックまたはインターコード化ブロックを、残差ブロックデータを生成するために加算器50に、および参照フレームとして使用するための符号化ブロックを再構成するために加算器62に供給してよい。モード選択ユニット40はまた、動きベクトル、イントラモードインジケータ、区分情報、および他のそのような構文情報などの構文要素をエントロピー符号化ユニット56に供給する。
動き推定ユニット42および動き補償ユニット44は、高度に統合されてもよいが、概念的な目的のために別々に示されている。動き推定ユニット42によって実行される動き推定は、ビデオブロックに関する動きを推定する動きベクトルを生成するプロセスである。たとえば、動きベクトルは、現在フレーム(または他のコード化ユニット)内でコーディングされる現在のブロックに対して、参照フレーム(または他のコード化ユニット)内の予測ブロックに対する現在のビデオフレームまたはピクチャ内のビデオブロックのPUの変位を示し得る。予測ブロックは、差の絶対値の合計(SAD:sum of absolute difference)、自乗差の合計(SSD:sum of square difference)、または他の差メトリックによって決定されてもよいピクセル差の観点で、コーディングされるべきブロックと密接に一致することが見出されたブロックである。いくつかの例では、ビデオエンコーダ20は、参照ピクチャメモリ64内に記憶された参照ピクチャのサブ整数ピクセル位置のための値を計算してもよい。たとえば、ビデオエンコーダ20は、参照ピクチャの4分の1ピクセル位置の値、8分の1ピクセル位置の値、または他の分数ピクセル位置の値を補間してもよい。したがって、動き推定ユニット42は、フルピクセル位置および分数ピクセル位置に対する動き探索を実行し、分数ピクセル精度で動きベクトルを出力してもよい。
動き推定ユニット42は、参照ピクチャの予測ブロックの位置とPUの位置とを比較することによって、インターコード化スライス内のビデオブロックのPUのための動きベクトルを計算する。参照ピクチャは、その各々が参照ピクチャメモリ64内に記憶された1つまたは複数の参照ピクチャを識別する第1の参照ピクチャリスト(リスト0)または第2の参照ピクチャリスト(リスト1)から選択されてもよい。動き推定ユニット42は、エントロピー符号化ユニット56および動き補償ユニット44に計算された動きベクトルを送信する。
動き補償ユニット44によって実行される動き補償は、動き推定ユニット42によって決定された動きベクトルに基づいて、予測ブロックを取得または生成することを伴ってもよい。再び、動き推定ユニット42および動き補償ユニット44は、いくつかの例では機能的に一体化されてよい。現在のビデオブロックのPUのための動きベクトルを受信すると、動き補償ユニット44は、参照ピクチャリストのうちの1つにおいて動きベクトルが指す予測ブロックの位置を特定してもよい。以下で説明するように、加算器50は、コーディングされている現在のビデオブロックのピクセル値から予測ブロックのピクセル値を減算し、ピクセル差分値を形成することによって、残差ビデオブロックを形成する。一般に、動き推定ユニット42は、ルーマ成分に対する動き推定を実行し、動き補償ユニット44は、クロマ成分とルーマ成分の両方に対してルーマ成分に基づいて計算された動きベクトルを使用する。モード選択ユニット40はまた、ビデオスライスのビデオブロックを復号する際にビデオデコーダ30によって使用するための、ビデオブロックおよびビデオスライスに関連付けられた構文要素を生成してもよい。
イントラ予測ユニット46は、上記で説明したように、動き推定ユニット42および動き補償ユニット44によって実行されるインター予測の代替として、現在のブロックをイントラ予測してもよい。具体的には、イントラ予測ユニット46は、現在のブロックを符号化するために使用するイントラ予測モードを決定してもよい。いくつかの例では、イントラ予測ユニット46は、たとえば、別々の符号化パスの間、様々なイントラ予測モードを使用して現在のブロックを符号化してもよく、イントラ予測ユニット46(または、いくつかの例ではモード選択ユニット40)は、試験されたモードから使用する適切なイントラ予測モードを選択してもよい。
たとえば、イントラ予測ユニット46は、様々な試験されたイントラ予測モードに対してレート-歪み分析を使用してレート-歪み値を計算し、試験されたモードの中から最良のレート-歪み特性を有するイントラ予測モードを選択してもよい。レート-歪み分析は、一般に、符号化ブロックと、符号化ブロックを生成するために符号化された元の非符号化ブロックとの間の歪の量(または誤差)、ならびに、符号化ブロックを生成するために使用されたビットレート(すなわち、ビット数)を決定する。イントラ予測ユニット46は、どのイントラ予測モードがブロックのための最良のレート-歪み値を示すのかを決定するために、様々な符号化ブロックに関する歪みおよびレートから比を計算してもよい。
ブロックのためのイントラ予測モードを選択した後、イントラ予測ユニット46は、エントロピー符号化ユニット56にブロックのための選択されたイントラ予測モードを示す情報を提供してもよい。エントロピー符号化ユニット56は、選択されたイントラ予測モードを示す情報を符号化してよい。ビデオエンコーダ20は、複数のイントラ予測モードインデックステーブルおよび複数の変更されたイントラ予測モードインデックステーブル(コードワードマッピングテーブルとも呼ばれる)を含んでもよい、送信されたビットストリーム構成データ内に、コンテキストの各々のために使用する、様々なブロックのための符号化コンテキストの定義と、最もあり得るイントラ予測モードの指示と、イントラ予測モードインデックステーブルと、変更されたイントラ予測モードインデックステーブルとを含んでもよい。
ビデオエンコーダ20は、モード選択ユニット40からの予測データをコーディングされる元のビデオブロックから引くことによって、残差ビデオブロックを形成する。加算器50は、この減算演算を実行する1つまたは複数の構成要素を表す。変換処理ユニット52は、離散コサイン変換(DCT)または概念的に類似の変換などの変換を残差ブロックに適用して、残差変換係数値を含むビデオブロックを作成する。変換処理ユニット52は、DCTに概念的に類似する他の変換を実行してもよい。ウェーブレット変換、整数変換、サブバンド変換、またはさもなければ他のタイプの変換が使用されてもよい。いずれの場合も、変換処理ユニット52は、変換を残差ブロックに適用して、残差変換係数のブロックを作成する。変換は、残差情報を、ピクセル値領域から周波数領域などの変換領域に変換してもよい。変換処理ユニット52は、得られた変換係数を量子化ユニット54に送信してもよい。量子化ユニット54は、ビットレートをさらに低減するために、変換係数を量子化する。量子化プロセスは、係数の一部またはすべてに関連するビット深度を低減してもよい。量子化の程度は、量子化パラメータを調整することによって変更されてもよい。いくつかの例では、量子化ユニット54は、次いで、量子化変換係数を含む行列の走査を実行してもよい。代替的には、エントロピー符号化ユニット56は、走査を実行してもよい。
量子化に続いて、エントロピー符号化ユニット56は、量子化変換係数をエントロピーコーディングする。たとえば、エントロピー符号化ユニット56は、コンテキスト適応可変長コーディング(CAVLC)、コンテキスト適応2値算術コーディング(CABAC)、構文ベースコンテキスト適応2値算術コーディング(SBAC)、確率インターバル区分エントロピー(PIPE)コーディング、または別のエントロピーコーディング技法を実行してもよい。コンテキストベースのエントロピーコーディングの場合、コンテキストは、隣接ブロックに基づくことがある。エントロピー符号化ユニット56によるエントロピーコーディングに続いて、符号化ビットストリームは、別のデバイス(たとえば、ビデオデコーダ30)に送信されてもよく、または、後の送信または検索のためにアーカイブされてもよい。
本開示の技法によれば、ビデオデコーダ20のエントロピー符号化ユニット56は、本開示の1つまたは複数の技法を実行し得る。たとえば、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用するかどうかを決定し得る。エントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化することとを行ってよく、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
逆量子化ユニット58および逆変換ユニット60は、たとえば参照ブロックとして後に使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算してもよい。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用してもよい。加算器62は、参照ピクチャメモリ64内に記憶するための再構成されたビデオブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続のビデオフレーム内のブロックをインターコーディングするために、参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用されてもよい。
このようにして、ビデオエンコーダ20のエントロピー符号化ユニット56は、本開示の1つまたは複数の技法を実行し得る。たとえば、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用するかどうかを決定し得る。エントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化することとを行ってよく、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。
第1のQPおよび第2のQPは、色空間変換によらずにコーディングされたブロックと同じ導出方法に従って、第1および第2の色成分に対応して導出されたQPであり得る。たとえば、第1のQPおよび第2のQPに対するQPの値は、cu_qp_delta_absなどのシグナリングされた構文要素から導出され得る。次いで、第1のオフセットおよび第2のオフセットは、それぞれ、ビデオデータが色空間変換を使用して符号化されたとき、第1のQPおよび第2のQPを取得するために、導出されたQPに加算されてよい。たとえば、QP(たとえば、QPi)に対して、それぞれのオフセット(たとえば、offseti)は、QPに加算されてよく、得られたQPの値を、元のQPプラスそれぞれのオフセットに等しくさせる(たとえば、QPfinali=QPi+offseti)。
いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のQPに対する第1の値と第2のQPに対する第2の値とをさらに決定し得る。ビデオデータを符号化するために色空間変換を使用しないことを決定することに応答して、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のQPの第1の値を使用して第1の色成分のデータを量子化し、第2のQPの第2の値を使用して第2の色成分のデータを量子化し得る。代替として、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のQPの第1の値に加えられた第1のオフセットを使用して第1の色成分のデータを量子化し、第2のQPの第2の値に加えられた第2のオフセットを使用して第2の色成分のデータを量子化し得、第1のオフセットは第2のオフセットと異なる。
いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を2だけ増加し得、第1のオフセットは8に等しい。他の例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を1だけ増加し得、第1のオフセットは2に等しい。
いくつかの例では、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオエンコーダ20のエントロピー符号化ユニット56は、色空間変換プロセスをコーディングユニットに適用してよい。いくつかの例では、色空間変換プロセスは、元のYCoCg-R変換行列を含む。いくつかの他の例では、色空間変換プロセスは、修正されたYCoCg変換行列を適用するステップを含む。そのような例では、修正されたYCoCg変換行列の係数は、丸めオフセットによって2ビット右シフトした後、元のYCoCg変換行列の係数に等しく設定されてよい。修正されたYCoCg変換行列は、0、1または2に等しいオフセットを有してよい。他の例では、色空間変換プロセスは、元のYCoCg行列を適用するステップを含む。そのような例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、正規化プロセスをビデオデータにさらに適用してよい。
いくつかの例では、第1の色成分は、ルーマ(Y)成分である。いくつかの例では、第1の色成分は、クロマ成分(Cb)である。さらに、いくつかの例では、第2の色成分は、クロマ(Cr)成分である。いくつかの例では、第1のオフセットおよび第2のオフセットのうちの少なくとも1つは、0に等しくない。
いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用することを決定し得る。そうする際に、ビデオデコーダ20のエントロピー符号化ユニット56は、コーディングユニットに対して色空間変換を使用することの決定に応答して、色空間変換の使用を示すためにビデオデータの構文要素の値を設定してよい。いくつかの例では、構文要素は、1ビットフラグを含む。いくつかの例では、構文要素は、コーディングユニットが、イントラパルス符号変調(IPCM)モード以外のモードを使用してコーディングされるときにシグナリングされる。他の例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数がないときだけシグナリングされる。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。
いくつかの例では、構文要素はシグナリングされない。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるときはシグナリングされないことがある。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるときはシグナリングされない。
図3は、ビデオブロックを復号するための技法を実装し得るビデオデコーダ30の一例を示すブロック図であり、ビデオブロックのいくつかは、色空間変換プロセスを使用して符号化されている。図3の例では、ビデオデコーダ30は、エントロピー復号ユニット70と、動き補償ユニット72と、イントラ予測ユニット74と、逆量子化ユニット76と、逆変換ユニット78と、参照ピクチャメモリ82と、加算器80とを含む。ビデオデコーダ30は、いくつかの例では、ビデオエンコーダ20(図2)に関連して説明した符号化パスと全体的に相互的な復号パスを実行してもよい。動き補償ユニット72は、エントロピー復号ユニット70から受信された動きベクトルに基づいて予測データを生成してよく、一方、イントラ予測ユニット74は、エントロピー復号ユニット70から受信されたイントラ予測モードインジケータに基づいて予測データを生成してよい。
復号プロセスの間、ビデオデコーダ30は、ビデオエンコーダ20から、符号化ビデオスライスのビデオブロックと関連する構文要素とを表す符号化されたビデオビットストリームを受信する。ビデオデコーダ30のエントロピー復号ユニット70は、量子化係数と、動きベクトルもしくはイントラ予測モードインジケータと、他の構文要素とを生成するためにビットストリームをエントロピー復号する。エントロピー復号ユニット70は、動き補償ユニット72に動きベクトルと他の構文要素とを転送する。ビデオデコーダ30は、ビデオスライスレベルおよび/またはビデオブロックレベルにおいて構文要素を受信してもよい。
本開示の技法によれば、ビデオデコーダ30のエントロピー復号ユニット70は、本開示の1つまたは複数の技法を実行し得る。たとえば、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたかどうかを決定し得る。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化することとを行ってよく、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。ビデオデータが色空間変換を使用して符号化されなかったものと決定することに応答して、ビデオコーダは、第1および第2のオフセットなしに、第1の色成分に対する第1のQPと第2の色成分に対する第2のQPとを使用してビデオデータを逆量子化し得る。
ビデオスライスがイントラコード化(I)スライスとしてコーディングされたとき、イントラ予測処理ユニット74は、シグナリングされたイントラ予測モードと、現在のフレームまたはピクチャの以前に復号されたブロックからのデータとに基づいて、現在のビデオスライスのビデオブロックのための予測データを生成してもよい。ビデオフレームがインターコード化(すなわち、B、P、またはGPB)スライスとしてコーディングされたとき、動き補償ユニット72は、エントロピー復号ユニット70から受信した動きベクトルと他の構文要素とに基づいて、現在のビデオスライスのビデオブロックのための予測ブロックを生成する。予測ブロックは、参照ピクチャリストのうちの1つ内の参照ピクチャのうちの1つから生成されてもよい。ビデオデコーダ30は、参照ピクチャメモリ82内に記憶された参照ピクチャに基づいて、デフォルトの構成技術を使用して、参照フレームリスト、リスト0およびリスト1を構成してもよい。動き補償ユニット72は、動きベクトルと他の構文要素とを構文解析することによって、現在のビデオスライスのビデオブロックのための予測情報を決定し、復号されている現在のビデオブロックのための予測ブロックを生成するために予測情報を使用する。たとえば、動き補償ユニット72は、ビデオスライスのビデオブロックをコーディングするために使用された予測モード(たとえば、イントラまたはインター予測)と、インター予測スライスタイプ(たとえば、Bスライス、Pスライス、またはGPBスライス)と、スライスのための参照ピクチャリストのうちの1つまたは複数のための構成情報と、スライスの各インター符号化ビデオブロックのための動きベクトルと、スライスの各インターコード化ビデオブロックのためのインター予測状態と、現在のビデオスライス内のビデオブロックを復号するための他の情報とを決定するために、受信した構文要素の一部を使用する。
動き補償ユニット72はまた、補間フィルタに基づいて補間を実行してもよい。動き補償ユニット72は、参照ブロックのサブ整数ピクセルに関する補間値を計算するために、ビデオブロックの符号化の間にビデオエンコーダ20によって使用されるように補間フィルタを使用してもよい。この場合には、動き補償ユニット72は、受信した構文要素からビデオエンコーダ20によって使用された補間フィルタを決定し、予測ブロックを生成するために補間フィルタを使用してもよい。
逆量子化ユニット76は、ビットストリーム内で提供され、エントロピー復号ユニット70によって復号された量子化変換係数を逆量子化する(inverse quantize)、すなわち逆量子化する(de-quantize)。逆量子化プロセスは、量子化の程度を決定し、同様に、適用されるべき逆量子化の程度を決定するために、ビデオスライス内の各ビデオブロックのための、ビデオエンコーダ30によって計算された量子化パラメータQPYの使用を含んでもよい。
逆変換ユニット78は、ピクセル領域における残差ブロックを生成するために、変換係数に逆変換、たとえば、逆DCT、逆整数変換、または概念的に同様の逆変換プロセスを適用する。
動き補償ユニット72が、動きベクトルと他の構文要素とに基づいて現在のビデオブロックのための予測ブロックを生成した後、ビデオデコーダ30は、逆変換ユニット78からの残差ブロックを、動き補償ユニット72によって生成された対応する予測ブロックと加算することによって、復号ビデオブロックを形成する。加算器80は、この加算演算を実行する1つまたは複数の構成要素を表す。所望される場合、デブロッキングフィルタは、ブロッキネスアーティファクトを除去するために、復号ブロックをフィルタ処理するために適用されてもよい。(コーディングループの中またはコーディングループの後のいずれかの)他のループフィルタはまた、ピクセル遷移をなめらかにするため、またはビデオ品質を他の方法で改善するために使用されてもよい。次いで、所与のフレームまたはピクチャ内の復号ビデオブロックは、後続の動き補償のために使用される参照ピクチャを記憶する参照ピクチャメモリ82内に記憶される。参照ピクチャメモリ82はまた、図1の表示デバイス32などの表示デバイス上で後に提示するための復号ビデオを記憶する。
このようにして、ビデオデコーダ30のエントロピー復号ユニット70は、本開示の1つまたは複数の技法を実行し得る。たとえば、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたかどうかを決定し得る。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化することと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化することとを行ってよく、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる。ビデオデータが色空間変換を使用して符号化されなかったものと決定することに応答して、ビデオコーダは、第1および第2のオフセットなしに第1のQPおよび第2のQPを使用してビデオデータを逆量子化し得る。
第1のQPおよび第2のQPは、色空間変換によらずにコーディングされたブロックと同じ導出方法に従って、第1および第2の色成分に対応して導出されたQPであり得る。たとえば、第1のQPおよび第2のQPに対するQPの値は、cu_qp_delta_absなどのシグナリングされた構文要素から導出され得る。次いで、第1のオフセットおよび第2のオフセットは、それぞれ、ビデオデータが色空間変換を使用して符号化されたとき、第1のQPおよび第2のQPを取得するために、導出されたくQPに加算されてよい。たとえば、QP(たとえば、QPi)に対して、それぞれのオフセット(たとえば、offseti)は、QPに加算されてよく、得られたQPの値を、元のQPプラスそれぞれのオフセットに等しくさせる(たとえば、QPfinali=QPi+offseti)。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、第1のQPに対する第1の値と第2のQPに対する第2の値とをさらに決定し得る。ビデオデータを符号化するために色空間変換を使用しないことを決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、第1のQPの第1の値を使用して第1の色成分のデータを逆量子化し、第2のQPの第2の値を使用して第2の色成分のデータを逆量子化することができる。代替として、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、第1のQPの第1の値に加えられた第1のオフセットを使用して第1の色成分のデータを逆量子化し、第2のQPの第2の値に加えられた第2のオフセットを使用して第2の色成分のデータを逆量子化することができ、第1のオフセットは第2のオフセットと異なる。
いくつかの例では、第1のQPと第2のQPとの間の差は、ビデオデータを符号化するために使用される色空間変換プロセスのノルムによって決まる。いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたとき、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を2だけ増加することができ、第1のオフセットは8に等しい。他の例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたとき、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を1だけ増加することができ、第1のオフセットは2に等しい。
いくつかの例では、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスをコーディングユニットに適用してよい。いくつかの例では、色空間逆変換プロセスは、元のYCoCg-R逆変換行列を含む。いくつかの他の例では、色空間逆変換プロセスは、修正されたYCoCg逆変換行列を適用するステップ含んでよい。そのような例では、修正されたYCoCg逆変換行列の係数は、丸めオフセットによって2ビット右シフトした後、元のYCoCg逆変換行列の係数に等しく設定されてよい。修正されたYCoCg変換行列は、0、1または2に等しいオフセットを有してよい。他の例では、色空間逆変換プロセスは、元のYCoCg行列を適用するステップ含んでよい。そのような例では、ビデオデコーダ30のエントロピー復号ユニット70は、正規化プロセスをビデオデータにさらに適用してよい。
いくつかの例では、第1の色成分は、ルーマ(Y)成分である。いくつかの例では、第1の色成分は、クロマ成分(Cb)である。さらに、いくつかの例では、第2の色成分は、クロマ(Cr)成分である。いくつかの例では、第1のオフセットおよび第2のオフセットのうちの少なくとも1つは、0に等しくない。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータのコーディングユニットの構文要素を復号してよい。構文要素は、コーディングユニットが色空間変換を使用して符号化されたかどうかを示し得る。いくつかの例では、構文要素は、1ビットフラグを含むことがある。いくつかの例では、コーディングユニットは、イントラパルス符号変調(IPCM)モード以外のモードでコーディングされ、構文要素は、IPCMモード以外のモードを使用するコーディングユニットに対してだけシグナリングされる。いくつかの例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数があるときに、コーディングユニットが色空間変換を使用して符号化されたことを示す。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、コーディングユニットが色空間変換を使用して符号化されたことを構文要素の値が示すかどうかを決定し得る。コーディングユニットが色空間変換を使用してコーディングされたことを構文要素が示すものと決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスを適用してよい。
いくつかの例では、構文要素は、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。これらの例では、構文要素は、ビデオデータを含む受信されたビットストリーム内に存在せず、構文要素を復号するステップは、構文要素の値を推測するステップを含んでよい。
図4は、本開示の1つまたは複数の技法による35のHEVC予測モードを示す概念図である。現在のHEVCでは、各予測単位(PU)のルーマ成分に対して、図4に関して説明するように、イントラ予測方法が、33の角度予測モード(2から34までインデックス付けられる)、平均値モード(1でインデックス付けられる)、および平面モード(0でインデックス付けられる)とともに利用される。
上記の35のイントラモードに加えて、「I-PCM」という名称のもう1つのモードもまた、HEVCによって利用される。I-PCMモードでは、予測、変換、量子化、およびエントロピーコーディングがバイパスされる一方で、予測サンプルが所定の数のビットだけコーディングされる。I-PCMモードの主たる目的は、信号が他のモードによって効率的にコーディングされ得ない状況を処理することである。
図5は、本開示の1つまたは複数の技法による、マージのための空間的隣接動きベクトル候補とアドバンスト動きベクトル予測(AMVP)モードとを示す概念図である。図5に関して説明するように、空間的MV候補が、特定のPU(PU0)に対して図5に示す隣接ブロックから導出されるが、ブロックから候補を生成する方法は、マージモードおよびAMVPモードに対して異なる。
図5(a)に示すように、マージモードでは、4つまでの空間的MV候補が、図5(a)に番号で示す順序で導出されてよく、順序は、以下の左(0)、上(1)、右上(2)、左下(3)、および左上(4)である。
図5(b)に示すように、AMVPモードでは、隣接ブロックは2つのグループ、すなわちブロック0および1からなる左のグループと、ブロック2、3および4からなる上のグループに分割される。各グループに対して、シグナリングされた参照インデックスによって示されるものと同じ参照ピクチャを参照する隣接ブロック内の潜在的候補は、グループの最終候補を形成するために選択されるための最高の優先度を有する。すべての隣接ブロックが、同じ参照ピクチャを指す動きベクトルを含まないことが可能である。そのために、そのような候補を見出すことができない場合、第1の利用可能な候補が、最終候補を形成するようにスケーリングされることになり、したがって時間的距離の差が補償され得る。
図6は、本開示の1つまたは複数の技法による、イントラブロックコピー(BC)の例を示す概念図である。図6に関して以下で説明するように、イントラブロックコピー(BC)が、RExt内に含まれている。イントラBCの一例が、図6におけるように示されており、現在のCUは、現在のピクチャ/スライスのすでに復号されたブロックから予測される。現在のイントラBCブロックのサイズは、CUのサイズと同じ大きさであってよく、CUのサイズは8×8から64×64までに及ぶが、いくつかの用途ではさらなる制約が追加で適用されることがある。
図7は、本開示の1つまたは複数の技法による、イントラ8×8ブロックに対するターゲットブロックおよび参照サンプルの一例を示す概念図である。図7に関して以下で説明するように、変換行列は、参照サンプル値から導出される。異なる参照サンプルは、イントラの場合およびインターの場合に利用される。イントラブロックの場合のターゲットブロックおよび参照サンプルを図7に示す。この図では、ターゲットブロックは、8×8のクロスハッチのサンプルからなり、参照は、ストライプとドットのサンプルである。
インターブロックの場合、行列導出に対する参照サンプルは、動き補償に対する参照サンプルと同じである。シフト演算を実現するために、AMPブロック内の参照サンプルは、サンプルの数が2のべき乗になるようにサブサンプリングされる。たとえば、12×16ブロック内の参照サンプルの数は、2/3に低減される。
本開示のいくつかの技法によれば、色空間変換プロセスが適用されてよい。そのような例では、変換プロセスが起動されるか否かをシグナリングする必要はない。加えて、エンコーダ側とデコーダ側の両方が、変換行列をシグナリングするためのオーバーヘッドを回避するために同じ方法を用いて変換行列を導出することがある。
図8は、現在のブロックを符号化するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部を備えてよい。ビデオエンコーダ20(図1および図2)に関して説明するが、他のデバイスが、図8の方法に類似する方法を実行するように構成されてもよいことを理解されたい。
この例では、ビデオエンコーダ20は、最初に、現在のブロックを予測する(150)。たとえば、ビデオエンコーダ20は、現在のブロックに対する1つまたは複数の予測単位(PU)を計算し得る。次いで、ビデオエンコーダ20は、たとえば変換単位(TU)を作成するために、現在のブロックに対する残差ブロックを計算し得る(152)。残差ブロックを計算するために、ビデオエンコーダ20は、元のコーディングされていないブロックと現在のブロックに対する予測ブロックとの間の差を計算し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用するかどうかを決定してよく、色空間変換が有効にされるとき、色空間変換が適用される(154)。次いで、ビデオエンコーダ20は、残差ブロックの係数を変換してよい(156)。エントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを量子化する(158)ことと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを量子化することとを行ってよく、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる(160)。次に、ビデオエンコーダ20は、残差ブロックの量子化された変換係数を走査し得る(162)。走査中、または走査に続いて、ビデオエンコーダ20は、係数をエントロピー符号化し得る(164)。たとえば、ビデオエンコーダ20は、CAVLCまたはCABACを使用して係数を符号化し得る。次いで、ビデオエンコーダ20は、ブロックのエントロピーコード化データを出力し得る(166)。
いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のQPに対する第1の値と第2のQPに対する第2の値とをさらに決定し得る。ビデオデータを符号化するために色空間変換を使用しないことを決定することに応答して、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のQPの第1の値を使用して第1の色成分のデータを量子化し、第2のQPの第2の値を使用して第2の色成分のデータを量子化することができる。代替として、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のQPの第1の値に加えられた第1のオフセットを使用して第1の色成分のデータを量子化し、第2のQPの第2の値に加えられた第2のオフセットを使用して第2の色成分のデータを量子化し得、第1のオフセットは第2のオフセットと異なる。
いくつかの例では、第1のQPと第2のQPとの間の差は、ビデオデータを符号化するために使用される色空間変換プロセスのノルムによって決まる。いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を2だけ増加することができ、第1のオフセットは8に等しい。他の例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、さらに、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を1だけ増加することができ、第1のオフセットは2に等しい。
いくつかの例では、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオエンコーダ20のエントロピー符号化ユニット56は、色空間変換プロセスをコーディングユニットに適用してよい。いくつかの例では、色空間変換プロセスは、元のYCoCg-R変換行列を含む。いくつかの他の例では、色空間変換プロセスは、修正されたYCoCg変換行列を適用するステップを含む。そのような例では、修正されたYCoCg変換行列の係数は、丸めオフセットによって2ビット右シフトした後、元のYCoCg変換行列の係数に等しく設定されてよい。修正されたYCoCg変換行列は、0、1または2に等しいオフセットを有してよい。他の例では、色空間変換プロセスは、元のYCoCg行列を適用するステップを含む。そのような例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、正規化プロセスをビデオデータにさらに適用してよい。
いくつかの例では、第1の色成分は、ルーマ(Y)成分である。いくつかの例では、第1の色成分は、クロマ成分(Cb)である。さらに、いくつかの例では、第2の色成分は、クロマ(Cr)成分である。いくつかの例では、第1のオフセットおよび第2のオフセットのうちの少なくとも1つは、0に等しくない。
いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用することを決定し得る。そうする際に、ビデオエンコーダ20のエントロピー符号化ユニット56は、コーディングユニットに対して色空間変換を使用することの決定に応答して、色空間変換の使用を示すためにビデオデータの構文要素の値を設定してよい。いくつかの例では、構文要素は、1ビットフラグを含む。いくつかの例では、構文要素は、コーディングユニットが、イントラパルス符号変調(IPCM)モード以外のモードを使用してコーディングされるときにシグナリングされる。他の例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数がないときだけシグナリングされる。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。
いくつかの例では、構文要素はシグナリングされない。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるときはシグナリングされない。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるときはシグナリングされない。これらの例では、構文要素は、ビデオデータを含む受信されたビットストリーム内に存在せず、構文要素を復号するステップは、構文要素の値を推測するステップを含んでよい。
図9は、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部を備えてよい。ビデオデコーダ30(図1および図3)に関して説明するが、他のデバイスが、図9の方法に類似する方法を実行するように構成されてもよいことを理解されたい。
ビデオデコーダ30は、たとえば、現在のブロックに対する予測ブロックを計算するためにイントラまたはインター予測モードを使用して現在のブロックを予測し得る(200)。ビデオデコーダ30はまた、現在のブロックに対応する残差ブロックの係数に対するエントロピーコード化データなど、現在のブロックに対するエントロピーコード化データを受信し得る(202)。ビデオデコーダ30は、残差ブロックの係数を復元するために、エントロピーコード化データをエントロピー復号し得る(204)。次いで、ビデオデコーダ30は、量子化された変換係数のブロックを生成するために、復元された係数を逆走査し得る(206)。ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたかどうかを決定し得る(208)。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、第1の量子化パラメータ(QP)の第1のオフセットを使用してビデオデータの第1の色成分のデータを逆量子化する(210)ことと、第2のQPの第2のオフセットを使用してビデオデータの第2の色成分のデータを逆量子化することとを行ってよく、第2の色成分は第1の色成分と異なり、第2のQPの第2のオフセットは第1のQPの第1のオフセットと異なる(212)。次いで、ビデオデコーダ30は、係数を逆変換してよく(214)、色空間変換が有効にされるとき、色空間逆変換がさらに適用されてよい。ビデオコーダ30は、最終的に、予測ブロックと残差ブロックとを組み合わせることによって現在のブロックを復号し得る(216)。ビデオデータが色空間変換を使用して符号化されなかったものと決定することに応答して、ビデオコーダは、第1および第2のオフセットなしに、第1の色成分に対する第1のQPと第2の色成分に対する第2のQPとを使用してビデオデータを逆量子化し得る。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、第1のQPに対する第1の値と第2のQPに対する第2の値とをさらに決定し得る。ビデオデータを符号化するために色空間変換を使用しないことを決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、第1のQPの第1の値を使用して第1の色成分のデータを逆量子化し、第2のQPの第2の値を使用して第2の色成分のデータを逆量子化することができる。代替として、ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、第1のQPの第1の値に加えられた第1のオフセットを使用して第1の色成分のデータを逆量子化し、第2のQPの第2の値に加えられた第2のオフセットを使用して第2の色成分のデータを逆量子化することができ、第1のオフセットは第2のオフセットと異なる。
いくつかの例では、第1のQPと第2のQPとの間の差は、ビデオデータを符号化するために使用される色空間変換プロセスのノルムによって決まる。いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたとき、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を2だけ増加することができ、第1のオフセットは8に等しい。他の例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータが色空間変換を使用して符号化されたとき、ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を1だけ増加することができ、第1のオフセットは2に等しい。
いくつかの例では、ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスをコーディングユニットに適用してよい。いくつかの例では、色空間逆変換プロセスは、元のYCoCg-R逆変換行列を含む。いくつかの他の例では、色空間逆変換プロセスは、修正されたYCoCg逆変換行列を適用するステップ含んでよい。そのような例では、修正されたYCoCg逆変換行列の係数は、丸めオフセットによって2ビット右シフトした後、元のYCoCg逆変換行列の係数に等しく設定されてよい。修正されたYCoCg変換行列は、0、1または2に等しいオフセットを有してよい。他の例では、色空間逆変換プロセスは、元のYCoCg行列を適用するステップ含んでよい。そのような例では、ビデオデコーダ30のエントロピー復号ユニット70は、正規化プロセスをビデオデータにさらに適用してよい。
いくつかの例では、第1の色成分は、ルーマ(Y)成分である。いくつかの例では、第1の色成分は、クロマ成分(Cb)である。さらに、いくつかの例では、第2の色成分は、クロマ(Cr)成分である。いくつかの例では、第1のオフセットおよび第2のオフセットのうちの少なくとも1つは、0に等しくない。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータのコーディングユニットの構文要素を復号してよい。構文要素は、コーディングユニットが色空間変換を使用して符号化されたかどうかを示し得る。いくつかの例では、構文要素は、1ビットフラグを含むことがある。いくつかの例では、コーディングユニットは、イントラパルス符号変調(IPCM)モード以外のモードでコーディングされ、構文要素は、IPCMモード以外のモードを使用するコーディングユニットに対してだけシグナリングされる。いくつかの例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数があるときに、コーディングユニットが色空間変換を使用して符号化されたことを示す。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、コーディングユニットが色空間変換を使用して符号化されたことを構文要素の値が示すかどうかを決定し得る。コーディングユニットが色空間変換を使用して符号化されたことを構文要素が示すものと決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスを適用してよい。
いくつかの例では、構文要素は、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。これらの例では、受信されたビットストリームは、構文要素を含まなくてよい。
例に応じて、本明細書で説明される技法のいずれかのいくつかの行為またはイベントは異なる順序で実行されてもよく、一緒に追加され、統合され、または省略されてもよい(たとえば、説明される行為またはイベントのすべてが技法の実施のために必要とは限らない)ことを認識されたい。さらに、いくつかの例では、行為またはイベントは、順次的にではなく、たとえばマルチスレッド処理、割り込み処理またはマルチプロセッサを通じて同時に実行され得る。
1つまたは複数の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つもしくは複数の命令またはコードとしてコンピュータ可読媒体上に記憶され、またはコンピュータ可読媒体を介して送信されてよく、かつハードウェアに基づく処理ユニットによって実行されてよい。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応するコンピュータ可読記憶媒体を含むこと、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含むことがある。このようにして、コンピュータ可読媒体は、概して、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応する場合がある。データ記憶媒体は、本開示で説明された技法を実装するための命令、コード、および/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であってよい。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形式の所望のプログラムコードを記憶するために使用され、コンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、任意の接続も厳密にはコンピュータ可読媒体と呼ばれる。たとえば、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから命令が送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的な媒体を含まず、代わりに非一時的な有形記憶媒体を指すことを理解されたい。ディスク(disk)およびディスク(disc)は、本明細書で使用される場合、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー(登録商標)ディスク、およびBlu-ray(登録商標)ディスクを含み、ディスク(disk)は通常、磁気的にデータを再生し、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブル論理アレイ(FPGA)、または他の等価の集積論理回路もしくはディスクリート論理回路のような、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実装に適した任意の他の構造のいずれかを指し得る。加えて、いくつかの態様では、本明細書で説明される機能は、符号化および復号のために構成された専用のハードウェアモジュールおよび/またはソフトウェアモジュール内に与えられてよく、あるいは複合コーデックに組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素において完全に実装され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実装され得る。本開示では、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々なコンポーネント、モジュール、またはユニットが説明されたが、それらのコンポーネント、モジュール、またはユニットは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。そうではなくて、上で説明されたように、様々なユニットは、コーデックハードウェアユニットにおいて結合されてよく、または適切なソフトウェアおよび/もしくはファームウェアとともに、前述のような1つもしくは複数のプロセッサを含む、相互動作可能なハードウェアユニットの集合によって提供されてよい。
本開示の様々な例を説明してきた。説明したシステム、動作、または機能の任意の組合せが考えられる。これらおよび他の例は以下の特許請求の範囲内に入る。
10 ビデオ符号化および復号システム
12 ソースデバイス
14 宛先デバイス
16 コンピュータ可読媒体
18 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 表示デバイス
40 モード選択ユニット
42 動き推定ユニット
44 動き補償ユニット
46 イントラ予測ユニット
48 区分ユニット
50 加算器
52 変換処理ユニット
54 量子化ユニット
56 エントロピー符号化ユニット
58 逆量子化ユニット
60 逆変換ユニット
62 加算器
64 参照ピクチャメモリ
70 エントロピー復号ユニット
72 動き補償ユニット
74 イントラ予測ユニット
76 逆量子化ユニット
78 逆変換ユニット
80 加算器
82 参照ピクチャメモリ

Claims (15)

  1. ビデオデータを復号する方法であって、
    前記ビデオデータが色空間変換を使用して符号化されたかどうかを決定するステップと、
    第1の量子化パラメータ(QP)に対する第1の値を決定するステップと、
    第2のQPに対する第2の値を決定するステップと、
    色空間変換が前記ビデオデータの符号化に使用されなかったものと決定することに応答して、
    前記第1のQPの前記第1の値を使用して第1の色成分のデータを逆量子化するステップ、および
    前記第2のQPの前記第2の値を使用して第2の色成分のデータを逆量子化するステップと、
    前記ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、
    前記第1のQPの第1のオフセットを使用して前記ビデオデータの前記第1の色成分の前記データを逆量子化するステップ、および
    前記第2のQPの第2のオフセットを使用して前記ビデオデータの第2の色成分の前記データを逆量子化するステップであって、前記第2の色成分が前記第1の色成分と異なり、前記第2のQPの前記第2のオフセットが前記第1のQPの前記第1のオフセットと異なる、ステップと、
    を含
    前記第1のオフセットが前記第1のQPに関連付けられ、前記第2のオフセットが前記第2のQPに関連付けられ、前記第1のオフセットおよび前記第2のオフセットが前記ビデオデータを符号化するために使用される色空間変換プロセスによって決まる、方法。
  2. 前記ビデオデータが色空間変換を使用して符号化されたとき、前記ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を2だけ増加するステップをさらに含み、前記第1のオフセットが8に等しいか、または、
    前記ビデオデータが色空間変換を使用して符号化されたとき、前記ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を1だけ増加するステップをさらに含み、前記第1のオフセットが2に等しく、
    前記第1の色成分がルーマ成分であり、前記第2の色成分がクロマ成分である、
    請求項1に記載の方法。
  3. 前記ビデオデータが色空間変換を使用して符号化されたかどうかを決定するステップが、
    前記ビデオデータのコーディングユニットの、前記コーディングユニットが色空間変換を使用して符号化されたかどうかを示す構文要素を復号するステップと、
    前記構文要素の値が、前記ビデオデータが色空間変換を使用して符号化されたことを示すかどうかを決定するステップと、
    前記構文要素が、前記コーディングユニットが色空間変換を使用してコーディングされたことを示すものと決定することに応答して、色空間逆変換プロセスを適用するステップとを含み、前記構文要素が1ビットフラグを含み、前記構文要素に対する1の値が、前記コーディングユニットが色空間変換を使用して符号化されたことを示す、
    請求項1に記載の方法。
  4. 前記構文要素が、前記コーディングユニットがイントラパルス符号変調(IPCM)モード以外のモードでコーディングされるときにのみ、前記コーディングユニットが色空間変換を用いてコーディングされたことを示すようにシグナリングされ、かつ/または、
    前記構文要素が、前記コーディングユニットの変換単位内に非ゼロ係数が存在するときに前記コーディングユニットが色空間変換を使用して符号化されたことを示し、かつ/または、
    前記構文要素が、前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、前記コーディングユニットが色空間変換を使用して符号化されなかったことを示し、前記構文要素が、前記ビデオデータを含む受信されたビットストリーム内に存在せず、前記構文要素を復号するステップが、前記構文要素の前記値を推測するステップを含み、かつ/または、
    前記構文要素が、前記コーディングユニットがパレットモードでコーディングされるときに前記コーディングユニットが色空間変換を使用して符号化されなかったことを示し、前記構文要素が、前記ビデオデータを含む受信されたビットストリーム内に存在せず、前記構文要素を復号するステップが、前記構文要素の前記値を推測するステップを含む、
    請求項3に記載の方法。
  5. 前記ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、色空間逆変換プロセスをコーディングユニットに適用するステップであって、前記色空間逆変換プロセスが、元のYCoCg-R逆変換行列を含むか、または、修正されたYCoCg逆変換行列を含むか、または、元のYCoCg変換行列を含む、ステップをさらに含み、
    前記色空間逆変換プロセスが修正されたYCoCg逆変換行列を含む場合、前記修正されたYCoCg逆変換行列の係数が、丸めオフセットによって2ビット右シフトした後、元のYCoCg逆変換行列の係数に等しく設定され、前記修正されたYCoCg行列が、2に等しいオフセットを有し、または、
    前記色空間逆変換プロセスが元のYCoCg変換行列を含む場合、前記方法はさらに、正規化プロセスを前記ビデオデータに適用するステップを含む、
    請求項1に記載の方法。
  6. ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
    前記ビデオデータが色空間変換を使用して符号化されたかどうかを決定することと、
    前記ビデオデータが色空間変換を使用して符号化されたものと決定することに応答して、
    第1の量子化パラメータ(QP)の第1のオフセットを使用して前記ビデオデータの第1の色成分のデータを逆量子化すること、および
    第2のQPの第2のオフセットを使用して前記ビデオデータの第2の色成分のデータを逆量子化することとを行うように構成され、前記第2の色成分が前記第1の色成分と異なり、前記第2のQPの前記第2のオフセットが、前記第1のQPの前記第1のオフセットと異なり、前記第1のオフセットおよび前記第2のオフセットが、前記ビデオデータを符号化するために使用される色空間変換プロセスによって決まる、ビデオ復号デバイス。
  7. 前記ビデオデータが色空間変換を使用して符号化されたかどうかを決定することが、前記ビデオデータのコーディングユニットの、前記コーディングユニットが色空間変換を使用して符号化されたかどうかを示す構文要素を復号することを含み、
    前記構文要素が、IPCMモード以外のモードを使用するコーディングユニットに対してだけシグナリングされる、請求項6に記載のビデオ復号デバイス。
  8. ビデオデータを符号化する方法であって、
    前記ビデオデータを符号化するために色空間変換を使用するかどうかを決定するステップと、
    前記ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、
    第1の量子化パラメータ(QP)の第1のオフセットを使用して前記ビデオデータの第1の色成分のデータを量子化するステップ、および
    第2のQPの第2のオフセットを使用して前記ビデオデータの第2の色成分のデータを量子化するステップとを含み、前記第2の色成分が前記第1の色成分と異なり、前記第2のQPの前記第2のオフセットが、前記第1のQPの前記第1のオフセットと異なり、前記第1のオフセットおよび前記第2のオフセットが、前記ビデオデータを符号化するために使用される色空間変換プロセスによって決まる、方法。
  9. 前記ビデオデータの符号化に色空間変換を使用することを決定することに応答して、
    前記ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を2だけ増加するステップであって、前記第1のオフセットが8に等しい、ステップ、または、
    前記ビデオデータに対する量子化プロセスおよび変換プロセスのために使用されるビット深度を1だけ増加するステップであって、前記第1のオフセットが2に等しい、ステップ、
    をさらに含み、
    前記第1の色成分がルーマ成分であり、前記第2の色成分がクロマ成分である、
    請求項8に記載の方法。
  10. 前記ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、前記ビデオデータが色空間変換を使用して符号化されたことを示す構文要素の値を設定するステップをさらに含み、前記構文要素が1ビットフラグを含み、前記構文要素に対する1の値が、コーディングユニットが色空間変換を用いてコーディングされたことを示す、請求項8に記載の方法。
  11. 前記構文要素が、前記コーディングユニットがイントラパルス符号変調(IPCM)モード以外のモードでコーディングされるときにのみ、前記コーディングユニットが色空間変換を用いてコーディングされたことを示すようにシグナリングされ、かつ/または、
    前記構文要素が、前記コーディングユニットの変換単位内に非ゼロ係数が存在するときに前記コーディングユニットが色空間変換を使用して符号化されたことを示し、かつ/または、
    前記構文要素が、前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、シグナリングされず、かつ/または、
    前記構文要素が、前記コーディングユニットがパレットモードでコーディングされるときにシグナリングされない、
    請求項10に記載の方法。
  12. 前記ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、前記色空間変換プロセスをコーディングユニットに適用するステップであって、前記色空間変換プロセスが、元のYCoCg-R変換行列を含むか、または、修正されたYCoCg逆変換行列を含むか、または、元のYCoCg変換行列を含む、ステップをさらに含み、
    前記色空間変換プロセスが修正されたYCoCg逆変換行列を含む場合、前記修正されたYCoCg変換行列の係数が、丸めオフセットによって2ビット右シフトした後、元のYCoCg逆変換行列の係数に等しく設定され、前記修正されたYCoCg行列が、2に等しいオフセットを有し、または、
    前記色空間変換プロセスが元のYCoCg変換行列を含む場合、前記方法はさらに、正規化プロセスを前記ビデオデータに適用するステップを含む、
    請求項8に記載の方法。
  13. ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
    前記ビデオデータを符号化するために色空間変換を使用するかどうかを決定することと、
    前記ビデオデータを符号化するために色空間変換を使用することを決定することに応答して、
    第1の量子化パラメータ(QP)の第1のオフセットを使用して前記ビデオデータの第1の色成分のデータを量子化すること、および
    第2のQPの第2のオフセットを使用して前記ビデオデータの第2の色成分のデータを量子化することとを行うように構成され、前記第2の色成分が前記第1の色成分と異なり、前記第2のQPの前記第2のオフセットが、前記第1のQPの前記第1のオフセットと異なり、前記第1のオフセットおよび前記第2のオフセットが、前記ビデオデータを符号化するために使用される色空間変換プロセスによって決まる、ビデオ符号化デバイス。
  14. 前記第1のQPと前記第2のQPとの間の差が、前記ビデオデータを符号化するために使用される色空間変換プロセスのノルムによって決まる、請求項1または8に記載の方法、または、請求項6に記載のビデオ復号デバイスまたは請求項13に記載のビデオ符号化デバイス。
  15. 命令を含むコンピュータ可読記憶媒体であって、前記命令が、実行されるとき、ビデオ復号デバイスの1つまたは複数のプロセッサに、請求項1乃至5および8乃至12の何れか1項に記載の方法を実施させる、コンピュータ可読記憶媒体。
JP2016557043A 2014-03-14 2015-03-13 色空間変換コーディングのための量子化パラメータ Active JP6612767B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201461953573P 2014-03-14 2014-03-14
US61/953,573 2014-03-14
US201461981645P 2014-04-18 2014-04-18
US61/981,645 2014-04-18
US201462062637P 2014-10-10 2014-10-10
US62/062,637 2014-10-10
US14/656,482 2015-03-12
US14/656,482 US9736481B2 (en) 2014-03-14 2015-03-12 Quantization parameters for color-space conversion coding
PCT/US2015/020543 WO2015138962A1 (en) 2014-03-14 2015-03-13 Quantization parameters for color-space conversion coding

Publications (3)

Publication Number Publication Date
JP2017513323A JP2017513323A (ja) 2017-05-25
JP2017513323A5 JP2017513323A5 (ja) 2018-04-05
JP6612767B2 true JP6612767B2 (ja) 2019-11-27

Family

ID=54070431

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2016557043A Active JP6612767B2 (ja) 2014-03-14 2015-03-13 色空間変換コーディングのための量子化パラメータ
JP2016557057A Active JP6591435B2 (ja) 2014-03-14 2015-03-13 ブロック適応色空間変換コーディング
JP2016556993A Active JP6657110B2 (ja) 2014-03-14 2015-03-13 色空間変換コーディングにおけるビット深度の修正
JP2016556860A Active JP6607862B2 (ja) 2014-03-14 2015-03-13 ユニバーサル色空間逆変換コーディング

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2016557057A Active JP6591435B2 (ja) 2014-03-14 2015-03-13 ブロック適応色空間変換コーディング
JP2016556993A Active JP6657110B2 (ja) 2014-03-14 2015-03-13 色空間変換コーディングにおけるビット深度の修正
JP2016556860A Active JP6607862B2 (ja) 2014-03-14 2015-03-13 ユニバーサル色空間逆変換コーディング

Country Status (15)

Country Link
US (4) US9948933B2 (ja)
EP (4) EP3117614B1 (ja)
JP (4) JP6612767B2 (ja)
KR (4) KR102346986B1 (ja)
CN (4) CN106105202B (ja)
BR (3) BR112016021153B1 (ja)
CR (1) CR20160421A (ja)
DO (1) DOP2016000247A (ja)
ES (2) ES2702950T3 (ja)
GT (1) GT201600187A (ja)
HU (1) HUE041560T2 (ja)
MX (4) MX363318B (ja)
NI (1) NI201600136A (ja)
SV (1) SV2016005276A (ja)
WO (4) WO2015138943A2 (ja)

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9225988B2 (en) 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
CN110049325B (zh) * 2014-03-04 2022-07-05 微软技术许可有限责任公司 色彩空间、色彩采样率和/或比特深度的自适应切换
WO2015131330A1 (en) 2014-03-04 2015-09-11 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
KR102391123B1 (ko) * 2014-03-14 2022-04-27 브이아이디 스케일, 인크. Rgb 비디오 코딩 향상을 위한 시스템 및 방법
US9948933B2 (en) 2014-03-14 2018-04-17 Qualcomm Incorporated Block adaptive color-space conversion coding
US9924183B2 (en) * 2014-03-20 2018-03-20 Nanjing Yuyan Information Technology Ltd. Fast HEVC transcoding
CN105432077B (zh) 2014-03-27 2017-12-29 微软技术许可有限责任公司 在切换色彩空间时调整量化/缩放和逆量化/缩放
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US10477204B2 (en) * 2014-06-20 2019-11-12 Sharp Kabushiki Kaisha Harmonized palette coding
KR102051193B1 (ko) * 2014-09-12 2019-12-02 브이아이디 스케일, 인크. 비디오 코딩을 위한 성분간 탈상관
EP3205098B1 (en) 2014-10-06 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) Coding and deriving quantization parameters
US10687069B2 (en) 2014-10-08 2020-06-16 Microsoft Technology Licensing, Llc Adjustments to encoding and decoding when switching color spaces
US10158836B2 (en) * 2015-01-30 2018-12-18 Qualcomm Incorporated Clipping for cross-component prediction and adaptive color transform for video coding
JP6651005B2 (ja) 2015-09-23 2020-02-19 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Qp値の決定
US10225561B2 (en) * 2015-10-08 2019-03-05 Mediatek Inc. Method and apparatus for syntax signaling in image and video compression
KR102390162B1 (ko) * 2015-10-16 2022-04-22 삼성전자주식회사 데이터 인코딩 장치 및 데이터 인코딩 방법
WO2017173593A1 (en) * 2016-04-06 2017-10-12 Mediatek Singapore Pte. Ltd. Separate coding secondary transform syntax elements for different color components
CN113411578B (zh) * 2016-05-13 2024-04-12 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
WO2018018486A1 (en) * 2016-07-28 2018-02-01 Mediatek Inc. Methods of reference quantization parameter derivation for signaling of quantization parameter in quad-tree plus binary tree structure
CN106713921B (zh) * 2016-11-29 2019-07-23 西安万像电子科技有限公司 文字块的压缩方法和装置以及图像压缩方法和装置
AU2017397390B2 (en) * 2017-01-31 2022-07-14 FG Innovation Company Limited Systems and methods for scaling transform coefficient level values
US10798420B2 (en) 2017-02-28 2020-10-06 Apple Inc. Lossless compression techniques for single-channel images
WO2018174591A1 (ko) * 2017-03-22 2018-09-27 김기백 영상을 구성하는 화소값 범위를 이용한 영상 부호화/복호화 방법
US10362319B2 (en) 2017-06-04 2019-07-23 Apple Inc. Techniques for compressing multiple-channel images
US10362325B2 (en) 2017-06-04 2019-07-23 Apple Inc. Techniques for compressing multiple-channel images
JP6986868B2 (ja) * 2017-06-19 2021-12-22 キヤノン株式会社 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、プログラム
WO2019148977A1 (en) * 2018-02-01 2019-08-08 Mediatek Inc. Methods and apparatuses of video encoding or decoding with adaptive quantization of video data
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
US11153579B2 (en) * 2018-03-23 2021-10-19 Qualcomm Incorporated Deriving dynamic range adjustment (DRA) parameters for video coding
CN111434111B (zh) * 2018-04-01 2023-04-14 Lg电子株式会社 基于量化参数推导的图像编码设备及其方法
EP3762895A4 (en) * 2018-04-02 2021-04-21 Huawei Technologies Co., Ltd. VIDEO ENCODING WITH CONSECUTIVE CODECS
EP3550837A1 (en) * 2018-04-06 2019-10-09 Comcast Cable Communications LLC Method for generating quantization matrices based on viewing conditions
US11259023B2 (en) * 2018-04-12 2022-02-22 Qualcomm Incorporated Harmonization of transform-based quantization and dynamic range adjustment scale derivation in video coding
WO2019229683A1 (en) 2018-05-31 2019-12-05 Beijing Bytedance Network Technology Co., Ltd. Concept of interweaved prediction
JP2021509789A (ja) * 2018-09-02 2021-04-01 エルジー エレクトロニクス インコーポレイティド ビデオ信号の符号化/復号方法及びそのための装置
JP7182098B2 (ja) * 2018-11-22 2022-12-02 北京字節跳動網絡技術有限公司 映像処理におけるパルス符号変調技術
KR20210098967A (ko) 2019-01-01 2021-08-11 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
CN117915081A (zh) 2019-01-02 2024-04-19 北京字节跳动网络技术有限公司 视频处理的方法
CN113366839B (zh) 2019-01-31 2024-01-12 北京字节跳动网络技术有限公司 视频编解码中的细化量化步骤
WO2020156530A1 (en) * 2019-02-01 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Configuring luma-dependent chroma residue scaling for video coding
CN117768642A (zh) 2019-02-01 2024-03-26 北京字节跳动网络技术有限公司 使用参数集信令通知环路整形信息
CN118573864A (zh) 2019-02-20 2024-08-30 北京达佳互联信息技术有限公司 用于帧间预测的运动向量舍入、截取和存储的方法和装置
SG11202108938TA (en) * 2019-02-24 2021-09-29 Beijing Bytedance Network Technology Co Ltd Independent coding of palette mode usage indication
EP3918788A4 (en) 2019-03-02 2022-04-06 Beijing Bytedance Network Technology Co., Ltd. LIMITATIONS OF IN-LOOP FILTERING
WO2020182092A1 (en) 2019-03-08 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Constraints on model-based reshaping in video processing
KR20210104891A (ko) * 2019-03-12 2021-08-25 텐센트 아메리카 엘엘씨 Vvc에서의 컬러 변환을 위한 방법 및 장치
CN113574889B (zh) 2019-03-14 2024-01-12 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN113632476B (zh) 2019-03-23 2024-03-19 北京字节跳动网络技术有限公司 默认的环内整形参数
JP7405865B2 (ja) 2019-04-15 2023-12-26 北京字節跳動網絡技術有限公司 非線形適応ループフィルタにおけるパラメータの時間的予測
EP3928516A4 (en) 2019-04-16 2022-06-15 Beijing Bytedance Network Technology Co., Ltd. ADAPTIVE LOOP FILTERING FOR VIDEO PROCESSING
JP7260665B2 (ja) 2019-04-20 2023-04-18 エルジー エレクトロニクス インコーポレイティド Bdpcmに基づく映像コーディング方法、及びその装置
CN113711591B (zh) 2019-04-20 2023-10-27 北京字节跳动网络技术有限公司 用于色度残差的联合编解码的语法元素的信令
CN113728641B (zh) * 2019-04-23 2023-09-15 北京字节跳动网络技术有限公司 在视频编解码中有条件地使用多重变换矩阵
CN113785566B (zh) * 2019-04-27 2024-09-20 数码士有限公司 基于帧内预测处理视频信号的方法和设备
WO2020224629A1 (en) 2019-05-08 2020-11-12 Beijing Bytedance Network Technology Co., Ltd. Conditions for applicability of cross-component coding
BR112021021631A2 (pt) * 2019-05-10 2021-12-21 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
CN113826405B (zh) * 2019-05-13 2023-06-23 北京字节跳动网络技术有限公司 多个颜色分量的变换量化旁路模式的使用
BR112021022307A2 (pt) 2019-05-13 2021-12-28 Beijing Bytedance Network Tech Co Ltd Método de processamento de dados de vídeo, aparelho para processamento de dados de vídeo, meios de armazenamento e de gravação não transitórios legíveis por computador
WO2020228833A1 (en) * 2019-05-16 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Adaptive resolution change in video coding
CN113841402B (zh) * 2019-05-19 2024-03-26 字节跳动有限公司 视频编解码中大块的变换设计
WO2020233664A1 (en) 2019-05-22 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Sub-block based use of transform skip mode
CN113785574B (zh) 2019-05-30 2022-10-11 北京字节跳动网络技术有限公司 色度分量的自适应环路滤波
WO2020243397A1 (en) * 2019-05-30 2020-12-03 Beijing Dajia Internet Information Technology Co., Ltd. Improving lossless coding efficiency in video coding
US11134275B2 (en) * 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
KR20220016844A (ko) 2019-06-07 2022-02-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 비트스트림들에서 감축된 2차 변환의 조건부 시그널링
CN113382251B (zh) * 2019-06-21 2022-04-08 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
WO2020253861A1 (en) * 2019-06-21 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Adaptive in-loop color-space transform for video coding
JP7460748B2 (ja) 2019-07-07 2024-04-02 北京字節跳動網絡技術有限公司 クロマ残差スケーリングのシグナリング
JP7359936B2 (ja) 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
BR112022001279A2 (pt) 2019-07-26 2022-03-22 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho em um sistema de vídeo, e, produto de programa de computador
EP3991411A4 (en) 2019-07-29 2022-08-24 Beijing Bytedance Network Technology Co., Ltd. CODING IN PALETTE MODE IN A PREDICTION PROCESS
WO2021023151A1 (en) 2019-08-03 2021-02-11 Beijing Bytedance Network Technology Co., Ltd. Position based mode derivation in reduced secondary transforms for video
CN114223208B (zh) 2019-08-17 2023-12-29 北京字节跳动网络技术有限公司 为视频中的缩减二次变换的边信息的上下文建模
JP7262881B2 (ja) * 2019-08-23 2023-04-24 テンセント・アメリカ・エルエルシー ビデオコーディングのための方法およびコンピュータプログラム
CN114402601B (zh) 2019-09-14 2024-02-27 字节跳动有限公司 色度去块滤波的量化参数偏移的方法及装置
WO2021055138A1 (en) 2019-09-20 2021-03-25 Alibaba Group Holding Limited Quantization parameter signaling in video processing
KR102453208B1 (ko) * 2019-09-23 2022-10-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치
WO2021072177A1 (en) 2019-10-09 2021-04-15 Bytedance Inc. Cross-component adaptive loop filtering in video coding
US11412235B2 (en) * 2019-10-10 2022-08-09 Tencent America LLC Color transform for video coding
KR20230118711A (ko) * 2019-10-11 2023-08-11 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치
KR20220073746A (ko) * 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 양자화 파라미터 사용
CA3159585A1 (en) * 2019-10-28 2021-05-06 Lg Electronics Inc. Image encoding/decoding method and device using adaptive color transform, and method for transmitting bitstream
MX2022005099A (es) 2019-10-28 2022-08-15 Lg Electronics Inc Metodo y dispositivo para codificar/decodificar imagen usando conversion de espacio de color, y metodo para transmitir flujo de bits.
AU2020376669B2 (en) * 2019-10-28 2024-02-15 Lg Electronics Inc. Image encoding/decoding method and apparatus using adaptive transform, and method for transmitting bitstream
CN115066897A (zh) * 2019-11-14 2022-09-16 抖音视界有限公司 低位深度视觉媒体数据的编解码
WO2021101317A1 (ko) * 2019-11-22 2021-05-27 엘지전자 주식회사 무손실 색상 변환을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN111079738B (zh) * 2019-11-23 2023-09-29 中国科学院长春光学精密机械与物理研究所 一种图像处理方法、系统及终端设备
AU2020391549C1 (en) * 2019-11-26 2024-09-05 Wilus Institute Of Standards And Technology Inc. Method and device for processing video signal by using adaptive color space transform
EP4055827A4 (en) 2019-12-09 2023-01-18 ByteDance Inc. USING QUANTIFICATION GROUPS IN VIDEO CODING
CN115004707A (zh) 2019-12-19 2022-09-02 抖音视界(北京)有限公司 自适应颜色变换和量化参数之间的相互作用
US11140298B2 (en) * 2019-12-19 2021-10-05 City University Of Hong Kong Universal color coding system, and a system and a method of manipulating colors using such color coding system
WO2021133510A1 (en) * 2019-12-24 2021-07-01 Alibaba Group Holding Limited Method and apparatus for lossless coding of video data
CN113132726B (zh) * 2019-12-31 2022-07-29 上海海思技术有限公司 编码方法及编码器
WO2021138293A1 (en) 2019-12-31 2021-07-08 Bytedance Inc. Adaptive color transform in video coding
KR20230098378A9 (ko) * 2020-01-05 2024-03-25 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 4:4:4 크로마 포맷에서의 비디오 코딩의 방법들 및 장치
WO2021136554A1 (en) 2020-01-05 2021-07-08 Beijing Bytedance Network Technology Co., Ltd. General constraints information for video coding
CN114946187A (zh) * 2020-01-08 2022-08-26 抖音视界(北京)有限公司 色度残差的联合编解码和自适应颜色变换
WO2021145691A1 (ko) * 2020-01-14 2021-07-22 현대자동차주식회사 적응적 색상 변환을 이용하는 비디오 부호화 및 복호화
WO2021143896A1 (en) 2020-01-18 2021-07-22 Beijing Bytedance Network Technology Co., Ltd. Adaptive colour transform in image/video coding
US12088832B2 (en) 2020-01-25 2024-09-10 Lg Electronics Inc. Image or video coding for residuals using color space transformation
WO2021150084A1 (ko) * 2020-01-25 2021-07-29 엘지전자 주식회사 색상 공간 변환 기반 영상 또는 비디오 코딩
US12101493B2 (en) 2020-01-25 2024-09-24 Lg Electronics Inc. Act residual-based image or video coding
US11381820B2 (en) * 2020-04-13 2022-07-05 Tencent America LLC Method and apparatus for video coding
US11323732B2 (en) * 2020-04-13 2022-05-03 Tencent America LLC Method and apparatus for video coding
CA3136479A1 (en) * 2020-06-10 2021-12-10 Tencent America LLC Adaptive colour transform related signalling for both of cu level and tu level
JP7270012B2 (ja) 2020-09-17 2023-05-09 レモン インコーポレイテッド 映像動作点レコード構文及びセマンティクス
CN116797897B (zh) * 2023-07-07 2024-03-12 中国人民解放军国防科技大学 基于时空特征融合的检测模型生成及红外小目标检测方法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1538826A3 (en) 2003-12-05 2007-03-07 Samsung Electronics Co., Ltd. Color transformation method and apparatus
US20050259730A1 (en) * 2004-05-18 2005-11-24 Sharp Laboratories Of America, Inc. Video coding with residual color conversion using reversible YCoCg
KR100723408B1 (ko) 2004-07-22 2007-05-30 삼성전자주식회사 컬러영상의 변환/역변환 및 양자화/역양자화 방법 및장치와, 이를 이용한 컬러영상의 부호화/복호화 방법 및장치
CN1301003C (zh) * 2004-11-16 2007-02-14 浙江大学 用于压缩16位彩色图像的颜色空间变换的方法
US7903306B2 (en) 2005-07-22 2011-03-08 Samsung Electronics Co., Ltd. Sensor image encoding and/or decoding system, medium, and method
US20090123066A1 (en) * 2005-07-22 2009-05-14 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
CN101707713A (zh) 2005-09-20 2010-05-12 三菱电机株式会社 图像编码装置和图像编码方法以及图像解码方法
WO2007079781A1 (en) 2006-01-13 2007-07-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Picture coding using adaptive colour space transformation
KR101330630B1 (ko) 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
CN100514366C (zh) 2006-11-30 2009-07-15 腾讯科技(深圳)有限公司 一种图像压缩方法和装置
CN101076125B (zh) * 2007-06-18 2010-07-28 山东经济学院 图像压缩中RGB与YCbCr转换计算的方法
US8145002B2 (en) 2007-06-28 2012-03-27 Mitsubishi Electric Corporation Image encoding device and image encoding method
JP5007259B2 (ja) 2008-03-27 2012-08-22 ルネサスエレクトロニクス株式会社 画像符号化装置
US9232226B2 (en) * 2008-08-19 2016-01-05 Marvell World Trade Ltd. Systems and methods for perceptually lossless video compression
JP2011091732A (ja) * 2009-10-26 2011-05-06 Renesas Electronics Corp 動画像復号処理装置およびその動作方法
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
JP5520122B2 (ja) 2010-04-14 2014-06-11 キヤノン株式会社 データ変換装置
KR101668093B1 (ko) 2010-06-17 2016-10-21 삼성전자주식회사 데이터 인코딩 및 디코딩 방법 및 장치
JP5850214B2 (ja) 2011-01-11 2016-02-03 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
MX2013008756A (es) 2011-01-28 2014-02-28 Eye Io Llc Conversion de color basada en modelo hvs.
CN103416063B (zh) 2011-03-09 2017-07-28 松下电器(美国)知识产权公司 运动图像解码装置及运动图像解码方法
US9185424B2 (en) 2011-07-05 2015-11-10 Qualcomm Incorporated Image data compression
TWI606718B (zh) 2012-01-03 2017-11-21 杜比實驗室特許公司 規定視覺動態範圍編碼操作及參數
WO2013109898A1 (en) 2012-01-19 2013-07-25 Futurewei Technologies, Inc. Reference pixel reduction for intra lm prediction
US9414054B2 (en) * 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
US9883180B2 (en) 2012-10-03 2018-01-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Bounded rate near-lossless and lossless image compression
US20140376611A1 (en) 2013-06-21 2014-12-25 Qualcomm Incorporated Adaptive color transforms for video coding
CN103458242B (zh) 2013-07-02 2016-12-28 京北方信息技术股份有限公司 基于颜色分类与聚类的图像压缩方法
KR102695490B1 (ko) 2013-10-18 2024-08-16 지이 비디오 컴프레션, 엘엘씨 다-성분 화상 또는 비디오 코딩 개념
US20150110181A1 (en) * 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
US9648332B2 (en) 2013-10-28 2017-05-09 Qualcomm Incorporated Adaptive inter-color component residual prediction
US10390034B2 (en) * 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US9948933B2 (en) 2014-03-14 2018-04-17 Qualcomm Incorporated Block adaptive color-space conversion coding
KR102051193B1 (ko) 2014-09-12 2019-12-02 브이아이디 스케일, 인크. 비디오 코딩을 위한 성분간 탈상관

Also Published As

Publication number Publication date
MX361825B (es) 2018-12-18
BR112016021142B1 (pt) 2022-09-20
BR112016021151A2 (pt) 2017-08-15
US20150264402A1 (en) 2015-09-17
JP6607862B2 (ja) 2019-11-20
CN106105203B (zh) 2019-05-31
GT201600187A (es) 2018-11-27
CN106105205A (zh) 2016-11-09
JP2017513323A (ja) 2017-05-25
MX2016011596A (es) 2016-12-12
CN106105202A (zh) 2016-11-09
ES2702950T3 (es) 2019-03-06
JP2017513322A (ja) 2017-05-25
CN106105202B (zh) 2019-06-25
BR112016021151A8 (pt) 2021-07-06
WO2015138943A3 (en) 2015-11-26
US10271052B2 (en) 2019-04-23
BR112016021144A8 (pt) 2021-07-06
JP2017513315A (ja) 2017-05-25
KR102348541B1 (ko) 2022-01-06
BR112016021153B1 (pt) 2024-02-27
WO2015138957A3 (en) 2015-11-05
MX360862B (es) 2018-11-09
US9948933B2 (en) 2018-04-17
WO2015138962A1 (en) 2015-09-17
BR112016021144A2 (pt) 2017-07-15
KR20160132867A (ko) 2016-11-21
MX2016011211A (es) 2017-02-23
JP2017513324A (ja) 2017-05-25
EP3117611A1 (en) 2017-01-18
DOP2016000247A (es) 2021-02-28
CN106105204B (zh) 2019-06-28
EP3117614A1 (en) 2017-01-18
JP6591435B2 (ja) 2019-10-16
EP3117610A2 (en) 2017-01-18
KR20160132866A (ko) 2016-11-21
KR20160132870A (ko) 2016-11-21
CR20160421A (es) 2016-12-20
US9736481B2 (en) 2017-08-15
US20150264405A1 (en) 2015-09-17
MX363318B (es) 2019-03-20
NI201600136A (es) 2016-11-18
MX369561B (es) 2019-11-12
SV2016005276A (es) 2017-04-24
EP3117614B1 (en) 2018-09-26
KR20160132869A (ko) 2016-11-21
US11070810B2 (en) 2021-07-20
ES2975180T3 (es) 2024-07-03
CN106105204A (zh) 2016-11-09
BR112016021153A2 (ja) 2017-08-15
EP3117609A2 (en) 2017-01-18
US20150264364A1 (en) 2015-09-17
EP3117610B1 (en) 2024-02-28
WO2015138957A2 (en) 2015-09-17
WO2015138954A1 (en) 2015-09-17
CN106105203A (zh) 2016-11-09
MX2016011589A (es) 2016-12-20
BR112016021142A2 (pt) 2017-08-15
BR112016021151B1 (pt) 2024-02-27
HUE041560T2 (hu) 2019-05-28
KR102346989B1 (ko) 2022-01-03
CN106105205B (zh) 2019-05-31
MX2016011210A (es) 2016-12-16
KR102356419B1 (ko) 2022-01-26
EP3117609B1 (en) 2023-09-27
JP6657110B2 (ja) 2020-03-04
BR112016021142A8 (pt) 2021-07-06
WO2015138943A2 (en) 2015-09-17
KR102346986B1 (ko) 2022-01-03
US20150264354A1 (en) 2015-09-17

Similar Documents

Publication Publication Date Title
JP6612767B2 (ja) 色空間変換コーディングのための量子化パラメータ
JP6640119B2 (ja) ブロック適応性のある色空間コンバージョンコーディング
US10397607B2 (en) Color residual prediction for video coding
JP6728039B2 (ja) ビデオコーディングのための適応色変換
JP2020074547A (ja) インター色成分残差予測
JP2017523677A (ja) ブロック適応色空間コンバージョンコーディング
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP2017523672A (ja) ビデオコーディングにおける成分間予測
JP2017513332A (ja) ビデオコーディングの参照として現在のピクチャを使用すること
JP2018507625A (ja) パレットモードコード化のためのエスケープ画素をコード化すること

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180223

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190507

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191031

R150 Certificate of patent or registration of utility model

Ref document number: 6612767

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