Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6607862B2 - ユニバーサル色空間逆変換コーディング - Google Patents
[go: Go Back, main page]

JP6607862B2 - ユニバーサル色空間逆変換コーディング - Google Patents

ユニバーサル色空間逆変換コーディング Download PDF

Info

Publication number
JP6607862B2
JP6607862B2 JP2016556860A JP2016556860A JP6607862B2 JP 6607862 B2 JP6607862 B2 JP 6607862B2 JP 2016556860 A JP2016556860 A JP 2016556860A JP 2016556860 A JP2016556860 A JP 2016556860A JP 6607862 B2 JP6607862 B2 JP 6607862B2
Authority
JP
Japan
Prior art keywords
color space
coding
encoded
block
mode
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
JP2016556860A
Other languages
English (en)
Other versions
JP2017513315A5 (ja
JP2017513315A (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 JP2017513315A publication Critical patent/JP2017513315A/ja
Publication of JP2017513315A5 publication Critical patent/JP2017513315A5/ja
Application granted granted Critical
Publication of JP6607862B2 publication Critical patent/JP6607862B2/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
    • 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/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/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の色空間変換プロセスを使用して符号化された、ビデオデータの第1の符号化ブロックを受信するステップを含む。方法はまた、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された、ビデオデータの第2の符号化ブロックを受信するステップを含む。方法は、色空間逆変換プロセスをビデオデータの第1の符号化ブロックに適用するステップと、同じ色空間逆変換プロセスをビデオデータの第2の符号化ブロックに適用するステップとをさらに含む。
別の例では、デバイスは、ビデオデータを記憶するように構成されたメモリと、非可逆コーディングモードおよび第1の色空間変換プロセスを使用して符号化された、ビデオデータの第1の符号化ブロックを受信するように構成された1つまたは複数のプロセッサとを含む。加えて、1つまたは複数のプロセッサはまた、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された、ビデオデータの第2の符号化ブロックを受信するように構成される。1つまたは複数のプロセッサは、色空間逆変換プロセスをビデオデータの第1の符号化ブロックに適用することと、同じ色空間逆変換プロセスをビデオデータの第2の符号化ブロックに適用することとを行うようにさらに構成される。
別の例では、デバイスは、非可逆コーディングモードおよび第1の色空間変換プロセスを使用して符号化された、ビデオデータの第1の符号化ブロックを受信するための手段と、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された、ビデオデータの第2の符号化ブロックを受信するための手段とを含む。デバイスは、色空間逆変換プロセスをビデオデータの第1の符号化ブロックに適用するための手段と、色空間逆変換プロセスをビデオデータの第2の符号化ブロックに適用するための手段とをさらに含む。
別の例では、コンピュータ可読記憶媒体は命令を含み、その命令は、実行されるとき、1つまたは複数のプロセッサに、非可逆コーディングモードおよび第1の色空間変換プロセスを使用して符号化された、ビデオデータの第1の符号化ブロックを受信することと、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された、ビデオデータの第2の符号化ブロックを受信することとを行わせる。命令はまた、実行されるとき、プロセッサに、色空間逆変換プロセスをビデオデータの第1の符号化ブロックに適用することと、色空間逆変換プロセスをビデオデータの第2の符号化ブロックに適用することとを行わせる。
別の例では、ビデオデータを符号化する方法について説明する。方法は、ビデオデータを符号化するために使用される、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であるコーディングモードを決定するステップと、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスを決定するステップとを含む。方法は、色空間変換プロセスをビデオデータに適用するステップをさらに含む。方法はまた、符号化プロセスの復号ループにおいて、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかに無関係である色空間逆変換プロセスを適用するステップを含む。
別の例では、デバイスは、ビデオデータを記憶するように構成されたメモリと、1つまたは複数のプロセッサとを含み、1つまたは複数のプロセッサは、ビデオデータを符号化するために使用される、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であるコーディングモードを決定することと、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスを決定することとを行うように構成される。1つまたは複数のプロセッサは、色空間変換プロセスをビデオデータに適用するようにさらに構成される。1つまたは複数のプロセッサはまた、符号化プロセスの復号ループにおいて、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかに無関係である色空間逆変換プロセスを適用するように構成される。
別の例では、デバイスは、ビデオデータを符号化するために使用される、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であるコーディングモードを決定するための手段と、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスを決定するための手段とを含む。デバイスは、色空間変換プロセスをビデオデータに適用するための手段をさらに含む。デバイスはまた、符号化プロセスの復号ループにおいて、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかに無関係である色空間逆変換プロセスを適用するための手段を含む。
別の例では、コンピュータ可読記憶媒体は命令を含み、その命令は、実行されるとき、1つまたは複数のプロセッサに、ビデオデータを符号化するために使用される、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であるコーディングモードを決定することと、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスを決定することとを行わせる。命令は、さらに、1つまたは複数のプロセッサに、色空間変換プロセスをビデオデータに適用させる。命令はまた、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 0006607862
いくつかの例では、得られた値は
Figure 0006607862
倍まで拡大されるので、その値はHEVC仕様の範囲内にクリップされる。逆演算では、色空間変換行列は、次のように3つの成分P'、Q'およびR'に適用される。
Figure 0006607862
図7に関して以下で説明するように、変換行列は、参照サンプル値から導出されてよい。イントラの場合およびインターの場合に対して、異なる参照サンプルが利用され得る。イントラコード化ブロックの場合に対して、ターゲットブロックおよび参照サンプルを図7に示す。この例では、ターゲットブロックは、8×8のクロスハッチのサンプルからなり、参照サンプルは、ストライプとドットのサンプルである。
インターコード化ブロックの場合に対して、行列導出に対する参照サンプルは、動き補償に対する参照サンプルと同じである。シフト演算を実現するために、AMPブロック内の参照サンプルは、サンプルの数が2のべき乗になるようにサブサンプリングされる。たとえば、12×16ブロック内の参照サンプルの数は、2/3に低減される。
本開示の技法によれば、色空間変換プロセスは、各CUに適用されてよい。そのために、変換プロセスが起動されるか否かをシグナリングする必要はない。加えて、エンコーダ側とデコーダ側の両方が、変換行列をシグナリングするためのオーバーヘッドを回避するために同じ方法を用いて変換行列を導出する。
本開示の技法によれば、色空間変換行列などの色空間変換プロセスが使用される。そのような行列の1つはYCbCr変換行列であり、それは、
順方向:
Figure 0006607862
逆方向:
Figure 0006607862
である。
別のそのような行列はYCoCg変換行列であり、それは、
順方向:
Figure 0006607862
逆方向:
Figure 0006607862
である。
別のそのような行列は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は、スクリーンコンテンツコーディングのための技法を利用し得る例示的なビデオ符号化および復号システム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などのビデオコーダは、ビデオデータを符号化するために使用されるコーディングモードを決定し得る。コーディングモードは、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であり得る。ビデオコーダは、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスを決定し得る。ビデオコーダは、ビデオデータの符号化において色空間変換プロセスを適用し得る。ビデオデータの復号において、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかにかかわらず、ビデオコーダは、符号化プロセスの復号ループにおいて同じ色空間逆変換プロセスを適用し得る。
ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、図1〜図9に関して説明した技法のうちのいずれかを実行してよい。同じ色空間逆変換行列を使用することによって、ビデオデコーダは、色空間変換が使用されるとき、ビデオデータをより効率的に復号することができる。異なる例では、非可逆コーディングモードを使用することが、ビデオエンコーダに対してより効率的であることがある。他の例では、可逆コーディングモードを使用することが、ビデオデコーダに対してより効率的であることがある。より高いピクチャ品質のために、ビデオデータが非可逆コーディングモードでコーディングされるかまたは可逆コーディングモードでコーディングされるかにかかわらず、可逆コーディングモードは、復号側に実装されてよく、可逆コーディング行列は、デコーダ側で使用されてよい。したがって、ビデオデータが非可逆コーディングモードでコーディングされるかまたは可逆コーディングモードでコーディングされるかにかかわらず、同じ可逆色空間逆変換行列を実施して、ビデオデータが非可逆コーディングモードでコーディングされるかまたは可逆コーディングモードでコーディングされるかを決定するステップを除去することが、ビデオデコーダの効率を増大させることがあり、それによってシステムの総合的コーディング効率が増大してエネルギー消費が低減される。
多様な構文要素が、本開示の技法と整合して使用されることがある。これらの構文要素は、
Figure 0006607862
Figure 0006607862
Figure 0006607862
を含み得る。
構文要素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 0006607862
逆方向:temp=Y-Cg、
G=(Y+Cg+offset)>>2、
B=(temp-Co+offset)>>2、
R=(temp+Co+offset)>>2、ここでオフセットは2に等しい。
代替として、修正されたYCoCg変換は、次のように定義され得る。
順方向:
Figure 0006607862
逆方向: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 0006607862
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は、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスをさらに決定し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、色空間変換プロセスをビデオデータにさらに適用し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、符号化プロセスの復号ループ内で、色空間変換プロセスをさらに適用し得る。本開示の技法では、色空間逆変換プロセスは、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかには無関係である。
逆量子化ユニット58および逆変換ユニット60は、たとえば参照ブロックとして後に使用するためのピクセル領域における残差ブロックを再構成するために、それぞれ、逆量子化および逆変換を適用する。動き補償ユニット44は、参照ピクチャメモリ64のフレームのうちの1つの予測ブロックに残差ブロックを加算することによって、参照ブロックを計算してもよい。動き補償ユニット44はまた、動き推定において使用するためのサブ整数ピクセル値を計算するために、再構成された残差ブロックに1つまたは複数の補間フィルタを適用してもよい。加算器62は、参照ピクチャメモリ64内に記憶するための再構成されたビデオブロックを生成するために、動き補償ユニット44によって生成された動き補償された予測ブロックに再構成された残差ブロックを加算する。再構成されたビデオブロックは、後続のビデオフレーム内のブロックをインターコーディングするために、参照ブロックとして動き推定ユニット42および動き補償ユニット44によって使用されてもよい。
このようにして、ビデオエンコーダ20のエントロピー符号化ユニット56は、本開示の1つまたは複数の技法を実行し得る。たとえば、ビデオエンコーダ20のエントロピー符号化ユニット56は、本開示の1つまたは複数の技法を実行し得る。たとえば、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために使用されるコーディングモードを決定し得る。コーディングモードは、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であり得る。エントロピー符号化ユニット56は、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスをさらに決定し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、色空間変換プロセスをビデオデータにさらに適用し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、符号化プロセスの復号ループ内で、色空間変換プロセスをさらに適用し得る。本開示の技法では、色空間逆変換プロセスは、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかには無関係である。
いくつかの例では、コーディングモードは、非可逆コーディングモードであってよい。そのような例では、色空間変換プロセスは、YCoCg行列であってよい。ビデオエンコーダ20のエントロピー符号化ユニット56は、符号化プロセスの復号ループ内で色空間逆変換プロセスを適用する前に、YCoCg行列のCo成分およびCg成分をNビット左シフトによって修正してよい。いくつかの例では、Nは1に等しくてよい。
他の例では、コーディングモードは、可逆コーディングモードであってよい。そのような例では、色空間変換プロセスは、YCoCg-R行列であってよい。ビデオエンコーダ20のエントロピー符号化ユニット56は、YCoCg-R行列のCo成分およびCg成分のビット深度を1だけ増加させてよい。
上記の2例のいずれかにおいて、色空間逆変換プロセスは、可逆色空間逆変換プロセスであってよい。そのような例では、可逆色空間逆変換プロセスは、YCoCg-R行列を含んでよい。
いくつかの例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用することをさらに決定し得る。そうする際に、ビデオデコーダ20のエントロピー符号化ユニット56は、コーディングユニットに対して色空間変換を使用することの決定に応答して、色空間変換の使用を示すためにビデオデータの構文要素の値を設定してよい。いくつかの例では、構文要素は、1ビットフラグを含む。いくつかの例では、構文要素は、コーディングユニットが、イントラパルス符号変調(IPCM)モード以外のモードを使用してコーディングされるときにシグナリングされる。他の例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数がないときだけシグナリングされる。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。
いくつかの例では、構文要素はシグナリングされない。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるときはシグナリングされないことがある。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるときはシグナリングされない。
いくつかの例では、構文要素は第1の構文要素であり、ビデオデータはビデオデータの第1のセットである。そのような例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータの第2のセットの第2のコーディングユニット内の第1のピクセルに対するパレットインデックスの値を決定し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、走査順序において第1のピクセルのすぐ後に続く1つまたは複数の次のピクセルに対するパレットインデックスの値をさらに決定し得る。パレットインデックスの値を決定するステップは、ピクセルが、第1のピクセルに対するパレットインデックスの値と異なる値を有するパレットインデックスを有するまでに、パレットインデックスの値を決定するステップを含んでよい。ビデオエンコーダ20のエントロピー符号化ユニット56は、次のピクセルに対して決定されたパレットインデックス値の数をさらに決定し得る。パレットインデックス値の数に基づいて、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のモードまたは第2のモードのいずれかを使用してパレットインデックスを符号化し得る。パレットインデックス値の数が1より大きいとき、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のモードがパレットインデックスの符号化に使用されたことを示すために第2の構文要素の値を設定し、第3の構文要素の値をパレットインデックス値の数に等しく設定し得る。パレットインデックス値の数が1以下であるとき、ビデオエンコーダ20のエントロピー符号化ユニット56は、第2のモードがパレットインデックスの符号化に使用されたことを示すために第2の構文要素の値を設定し得る。いくつかの例では、第1のモードは実行モードであり、第2のモードはピクセルモードである。
いくつかの例では、構文要素を符号化するステップは、コーディングユニットが色空間変換を使用して符号化されたかどうかを示す補足エンハンスメント情報(SEI:supplemental enhancement information)メッセージのデータを符号化するビデオエンコーダ20のエントロピー符号化ユニット56を備えてよい。
図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は、ビデオデータの第1の符号化ブロックを受信し得る。ビデオデータの第1の符号化ブロックは、非可逆コーディングモードおよび第1の色空間変換プロセスを使用して符号化された。ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータの第2の符号化ブロックをさらに受信し得る。ビデオデータの第2の符号化ブロックは、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された。ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスをビデオデータの第1の符号化ブロックにさらに適用してよい。ビデオデコーダ30のエントロピー復号ユニット70は、同じ色空間逆変換プロセスをビデオデータの第2の符号化ブロックにさらに適用してよい。デコーダ側において、コーディングモードにかかわらず、色空間順変換プロセスを実行する必要はない。いくつかの例では、色空間逆変換プロセスは固定されてよい。
ビデオスライスがイントラコード化(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は、ビデオデータの第1の符号化ブロックを受信し得る。ビデオデータの第1の符号化ブロックは、非可逆コーディングモードおよび第1の色空間変換プロセスを使用して符号化された。ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータの第2の符号化ブロックをさらに受信し得る。ビデオデータの第2の符号化ブロックは、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された。ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスをビデオデータの第1の符号化ブロックにさらに適用してよい。ビデオデコーダ30のエントロピー復号ユニット70は、同じ色空間逆変換プロセスをビデオデータの第2の符号化ブロックにさらに適用してよい。デコーダ側において、コーディングモードにかかわらず、色空間順変換プロセスを実行する必要はない。いくつかの例では、色空間逆変換プロセスは固定されてよい。いくつかの例では、ビデオデータのブロックはコーディングユニットであってよい。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、Nビット右シフトまたはNビット左シフトによって、ビデオデータの第1の符号化ブロックの1つまたは複数の成分をさらに修正してよい。いくつかの例では、Nは1に等しくてよい。いくつかの例では、ビデオデータの第1の符号化ブロックの1つまたは複数の成分は、2つのクロマ成分であってよい。
いくつかの例では、第1の色空間変換プロセスは、YCoCg行列を含む。さらなる例では、第2の色空間変換プロセスは、YCoCg-R行列を含む。いずれの例においても、色空間逆変換プロセスは、可逆色空間逆変換プロセスを含んでよい。いくつかの例では、可逆色空間逆変換プロセスは、YCoCg-R行列を含む。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータのコーディングユニットの構文要素を復号してよい。構文要素は、コーディングユニットが色空間変換を使用して符号化されたかどうかを示し得る。いくつかの例では、構文要素は、1ビットフラグを含むことがある。いくつかの例では、コーディングユニットは、イントラパルス符号変調(IPCM)モード以外のモードでコーディングされ、構文要素は、IPCMモード以外のモードを使用するコーディングユニットに対してだけシグナリングされる。いくつかの例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数があるときに、コーディングユニットが色空間変換を使用して符号化されたことを示す。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、コーディングユニットが色空間変換を使用して符号化されたことを構文要素の値が示すかどうかを決定し得る。コーディングユニットが色空間変換を使用してコーディングされたことを構文要素が示すものと決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスを適用してよい。
いくつかの例では、構文要素は、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。これらの例では、構文要素は、ビデオデータを含む受信されたビットストリーム内に存在せず、構文要素を復号するステップは、構文要素の値を推測するステップを含んでよい。
いくつかの例では、構文要素は第1の構文要素であり、ビデオデータはビデオデータの第1のセットである。そのような例では、ビデオデコーダ30のエントロピー復号ユニット70は、さらに、ビデオデータの第2のセットの第2の構文要素の値を決定してよい。第2の構文要素は、パレットモードがビデオデータの第2のセットを符号化するために使用されたかどうかを示し得る。パレットモードがビデオデータを符号化するために使用されたことを第2の構文要素が示すことに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、第3の構文要素の値を決定してよい。第3の構文要素は、第1のモードまたは第2のモードがコーディングユニット内のピクセルに対するパレットインデックスを復号するために使用されるかどうかを示し得る。第2の構文要素の決定された値に基づいて、ビデオデコーダ30のエントロピー復号ユニット70は、第1のモードまたは第2のモードのいずれかを使用してパレットインデックスを復号し得る。第1のモードを使用するとき、ビデオデコーダ30のエントロピー復号ユニット70は、パレットインデックスの値を決定し、現在復号されているピクセルのすぐ後に続く走査順序におけるピクセルの数を示す第4の構文要素の値を決定し、走査順序において次のN個のピクセルに対するパレットインデックスの値を決定した結果を複製することができ、Nは第4の構文要素の値に等しい。いくつかの例では、第1のモードは実行モードである。第2のモードを使用するとき、ビデオデコーダ30のエントロピー復号ユニット70は、パレットインデックスの値を決定してピクセルに対するピクセルサンプル値を出力することができ、ピクセルサンプル値は、パレットインデックスの値に等しい。いくつかの例では、第2のモードはピクセルモードである。
いくつかの例では、構文要素を復号するステップは、コーディングユニットが色空間変換を使用して符号化されたかどうかを示す補足エンハンスメント情報(SEI)メッセージのデータを復号するように構成されたビデオデコーダ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)。コーディングモードは、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であり得る。エントロピー符号化ユニット56は、ビデオデータを符号化するために使用されるコーディングモードに応じて色空間変換プロセスをさらに決定し得る(156)。ビデオエンコーダ20のエントロピー符号化ユニット56は、色空間変換プロセスをビデオデータにさらに適用し得る(158)。次いで、ビデオエンコーダ20は、残差ブロックの係数を変換して量子化し得る.(160)。次に、ビデオエンコーダ20は、残差ブロックの量子化された変換係数を走査し得る.(162)。走査中、または走査に続いて、ビデオエンコーダ20は、係数をエントロピー符号化し得る(164)。たとえば、ビデオエンコーダ20は、CAVLCまたはCABACを使用して係数を符号化し得る。次いで、ビデオエンコーダ20は、ブロックのエントロピーコード化データを出力し得る(166)。ビデオエンコーダ20のエントロピー符号化ユニット56は、符号化プロセスの復号ループ内で、色空間逆変換プロセスをさらに適用し得る(168)。本開示の技法では、色空間逆変換プロセスは、コーディングモードが非可逆コーディングモードであるかまたは可逆コーディングモードであるかには無関係である。
いくつかの例では、コーディングモードは、非可逆コーディングモードであってよい。そのような例では、色空間変換プロセスは、YCoCg行列であってよい。ビデオエンコーダ20のエントロピー符号化ユニット56は、符号化プロセスの復号ループ内で色空間逆変換プロセスを適用する前に、YCoCg行列のCo成分およびCg成分をNビット左シフトによって修正してよい。いくつかの例では、Nは1に等しくてよい。
他の例では、コーディングモードは、可逆コーディングモードであってよい。そのような例では、色空間変換プロセスは、YCoCg-R行列であってよい。ビデオエンコーダ20のエントロピー符号化ユニット56は、YCoCg-R行列のCo成分およびCg成分のビット深度を1だけ増加させてよい。
上記の2例のいずれかにおいて、色空間逆変換プロセスは、可逆色空間逆変換プロセスであってよい。そのような例では、可逆色空間逆変換プロセスは、YCoCg-R行列を含んでよい。
いくつかの例では、ビデオデコーダ20のエントロピー符号化ユニット56は、ビデオデータを符号化するために色空間変換を使用することをさらに決定し得る。そうする際に、ビデオエンコーダ20のエントロピー符号化ユニット56は、コーディングユニットに対して色空間変換を使用することの決定に応答して、色空間変換の使用を示すためにビデオデータの構文要素の値を設定してよい。いくつかの例では、構文要素は、1ビットフラグを含む。いくつかの例では、構文要素は、コーディングユニットが、イントラパルス符号変調(IPCM)モード以外のモードを使用してコーディングされるときにシグナリングされる。他の例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数がないときだけシグナリングされる。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。
いくつかの例では、構文要素はシグナリングされない。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるときはシグナリングされない。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるときはシグナリングされない。これらの例では、構文要素は、ビデオデータを含む受信されたビットストリーム内に存在せず、構文要素を復号するステップは、構文要素の値を推測するステップを含んでよい。
いくつかの例では、構文要素は第1の構文要素であり、ビデオデータはビデオデータの第1のセットである。そのような例では、ビデオエンコーダ20のエントロピー符号化ユニット56は、ビデオデータの第2のセットの第2のコーディングユニット内の第1のピクセルに対するパレットインデックスの値を決定し得る。ビデオエンコーダ20のエントロピー符号化ユニット56は、走査順序において第1のピクセルのすぐ後に続く1つまたは複数の次のピクセルに対するパレットインデックスの値をさらに決定し得る。パレットインデックスの値を決定するステップは、ピクセルが、第1のピクセルに対するパレットインデックスの値と異なる値を有するパレットインデックスを有するまでに、パレットインデックスの値を決定するステップを含んでよい。ビデオエンコーダ20のエントロピー符号化ユニット56は、次のピクセルに対して決定されたパレットインデックス値の数をさらに決定し得る。パレットインデックス値の数に基づいて、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のモードまたは第2のモードのいずれかを使用してパレットインデックスを符号化し得る。パレットインデックス値の数が1より大きいとき、ビデオエンコーダ20のエントロピー符号化ユニット56は、第1のモードがパレットインデックスの符号化に使用されたことを示すために第2の構文要素の値を設定し、第3の構文要素の値をパレットインデックス値の数に等しく設定し得る。パレットインデックス値の数が1以下であるとき、ビデオエンコーダ20のエントロピー符号化ユニット56は、第2のモードがパレットインデックスの符号化に使用されたことを示すために第2の構文要素の値を設定し得る。いくつかの例では、第1のモードは実行モードであり、第2のモードはピクセルモードである。
いくつかの例では、構文要素を符号化するステップは、コーディングユニットが色空間変換を使用して符号化されたかどうかを示す補足エンハンスメント情報(SEI)メッセージのデータを符号化するビデオエンコーダ20のエントロピー符号化ユニット56を備えてよい。
図9は、ビデオデータの現在のブロックを復号するための例示的な方法を示すフローチャートである。現在のブロックは、現在のCUまたは現在のCUの一部を備えてよい。ビデオデコーダ30(図1および図3)に関して説明するが、他のデバイスが、図9の方法に類似する方法を実行するように構成されてもよいことを理解されたい。
ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータの第1の符号化ブロックを受信し得る(196)。ビデオデータの第1の符号化ブロックは、非可逆コーディングモードおよび第1の色空間変換プロセスを使用して符号化された。ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータの第2の符号化ブロックをさらに受信し得る(198)。ビデオデータの第2の符号化ブロックは、可逆コーディングモードおよび第2の色空間変換プロセスを使用して符号化された。
ビデオデコーダ30は、たとえば、現在のブロックに対する予測ブロックを計算するためにイントラまたはインター予測モードを使用して現在のブロックを予測し得る(200)。ビデオデコーダ30はまた、現在のブロックに対応する残差ブロックの係数に対するエントロピーコード化データなど、現在のブロックに対するエントロピーコード化データを受信し得る(202)。ビデオデコーダ30は、残差ブロックの係数を復元するために、エントロピーコード化データをエントロピー復号し得る(204)。次いで、ビデオデコーダ30は、量子化された変換係数のブロックを生成するために、復元された係数を逆走査し得る(206)。次いで、ビデオデコーダ30は、係数を逆変換および逆量子化し得る(208)。ビデオデコーダ30のエントロピー復号ユニット70は、現在のブロックに対する構文要素を復号し得る(210)。
ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスをビデオデータの第1の符号化ブロックにさらに適用し得る(212)。ビデオデコーダ30のエントロピー復号ユニット70は、同じ色空間逆変換プロセスをビデオデータの第2の符号化ブロックにさらに適用し得る(214)。ビデオデコーダ30は、最終的に、予測されたブロックと残差ブロックとを組み合わせることによって現在のブロックを復号し得る(216)。デコーダ側において、コーディングモードにかかわらず、色空間順変換プロセスを実行する必要はない。いくつかの例では、色空間逆変換プロセスは固定されてよい。いくつかの例では、ビデオデータのブロックはコーディングユニットであってよい。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、Nビット右シフトまたはNビット左シフトによって、ビデオデータの第1の符号化ブロックの1つまたは複数の成分をさらに修正してよい。いくつかの例では、Nは1に等しくてよい。いくつかの例では、ビデオデータの第1の符号化ブロックの1つまたは複数の成分は、2つのクロマ成分であってよい。
いくつかの例では、第1の色空間変換プロセスは、YCoCg行列を適用するステップを含む。さらなる例では、第2の色空間変換プロセスは、YCoCg-R行列を適用するステップを含む。いずれの例においても、色空間逆変換プロセスは、可逆色空間逆変換プロセスを含んでよい。いくつかの例では、可逆色空間逆変換プロセスは、YCoCg-R行列を適用するステップを含む。
いくつかの例では、ビデオデコーダ30のエントロピー復号ユニット70は、ビデオデータのコーディングユニットの構文要素を復号してよい。構文要素は、コーディングユニットが色空間変換を使用して符号化されたかどうかを示し得る。いくつかの例では、構文要素は、1ビットフラグを含むことがある。いくつかの例では、コーディングユニットは、イントラパルス符号変調(IPCM)モード以外のモードでコーディングされ、構文要素は、IPCMモード以外のモードを使用するコーディングユニットに対してだけシグナリングされる。いくつかの例では、構文要素は、コーディングユニットの変換単位内に非ゼロ係数があるときに、コーディングユニットが色空間変換を使用して符号化されたことを示す。いくつかの例では、構文要素に対する1の値は、コーディングユニットが色空間変換を使用して符号化されたことを示す。ビデオデコーダ30のエントロピー復号ユニット70は、さらに、コーディングユニットが色空間変換を使用して符号化されたことを構文要素の値が示すかどうかを決定し得る。コーディングユニットが色空間変換を使用して符号化されたことを構文要素が示すものと決定することに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、色空間逆変換プロセスを適用してよい。
いくつかの例では、構文要素は、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。たとえば、構文要素は、コーディングユニットがイントラコーディングされるとき、およびコーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。別の例では、構文要素は、コーディングユニットがパレットモードでコーディングされるとき、色空間変換がコーディングユニットを符号化するために使用されなかったことを示し得る。これらの例では、受信されたビットストリームは、構文要素を含まなくてよい。
いくつかの例では、構文要素は第1の構文要素であり、ビデオデータはビデオデータの第1のセットである。そのような例では、ビデオデコーダ30のエントロピー復号ユニット70は、さらに、ビデオデータの第2のセットの第2の構文要素の値を決定してよい。第2の構文要素は、パレットモードがビデオデータの第2のセットを符号化するために使用されたかどうかを示し得る。パレットモードがビデオデータを符号化するために使用されたことを第2の構文要素が示すことに応答して、ビデオデコーダ30のエントロピー復号ユニット70は、第3の構文要素の値を決定してよい。第3の構文要素は、第1のモードまたは第2のモードがコーディングユニット内のピクセルに対するパレットインデックスを復号するために使用されるかどうかを示し得る。第2の構文要素の決定された値に基づいて、ビデオデコーダ30のエントロピー復号ユニット70は、第1のモードまたは第2のモードのいずれかを使用してパレットインデックスを復号し得る。第1のモードを使用するとき、ビデオデコーダ30のエントロピー復号ユニット70は、パレットインデックスの値を決定し、現在復号されているピクセルのすぐ後に続く走査順序におけるピクセルの数を示す第4の構文要素の値を決定し、走査順序において次のN個のピクセルに対するパレットインデックスの値を決定した結果を複製することができ、Nは第4の構文要素の値に等しい。いくつかの例では、第1のモードは実行モードである。第2のモードを使用するとき、ビデオデコーダ30のエントロピー復号ユニット70は、パレットインデックスの値を決定してピクセルに対するピクセルサンプル値を出力することができ、ピクセルサンプル値は、パレットインデックスの値に等しい。いくつかの例では、第2のモードはピクセルモードである。
いくつかの例では、構文要素を復号するステップは、コーディングユニットが色空間変換を使用して符号化されたかどうかを示す補足エンハンスメント情報(SEI)メッセージのデータを復号するように構成されたビデオデコーダ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 (13)

  1. 符号化プロセスにおいてビデオデータを符号化する方法であって、
    ビデオデータの現在ブロックを符号化するために使用される、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であるコーディングモードを決定するステップと、
    前記ビデオデータを符号化するために使用される前記コーディングモードに応じて色空間変換プロセスを決定するステップと、
    前記コーディングモードが前記非可逆コーディングモードであると判定されたとき、YCoCg色空間変換プロセスを前記現在ブロックに対する残差ブロックに適用するステップと、
    前記コーディングモードが前記可逆コーディングモードであると判定されたとき、YCoCg-R色空間変換プロセスを前記残差ブロックに適用するステップと、
    前記符号化プロセスの復号ループにおいて、前記コーディングモードが前記非可逆コーディングモードであるかまたは前記可逆コーディングモードであるかに無関係であるYCoCg-R色空間逆変換プロセスを適用するステップと、
    前記コーディングモードが前記非可逆コーディングモードであると判定されたとき、前記符号化プロセスの前記復号ループ内で前記YCoCg-R色空間逆変換プロセスを適用する前に、YCoCg行列のCo成分およびCg成分を1ビット左シフトによって修正するステップと、
    を含む、方法。
  2. 前記コーディングモードが前記可逆コーディングモードであると判定されたとき、Co成分およびCg成分のビット深度を1だけ増加するステップをさらに含む、請求項1に記載の方法。
  3. 前記ビデオデータを符号化するために色空間変換プロセスを使用することを決定するステップをさらに含み、前記ビデオデータを符号化するために色空間変換プロセスを使用することを決定するステップが、
    前記ビデオデータの前記現在ブロックを含むコーディングユニットが色空間変換プロセスを用いて符号化されたことを示す構文要素の値を設定するステップであって、前記構文要素が1ビットフラグを含み、前記構文要素に対する1の値は、前記コーディングユニットを符号化するために色空間変換プロセスが使用されることを示す、ステップと、
    を含む、請求項1に記載の方法。
  4. 前記コーディングユニットがイントラパルス符号変調(IPCM)モードで符号化されず、前記構文要素が、前記コーディングユニットがイントラパルス符号変調(IPCM)モードを用いて符号化されないときに、前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを示し、かつ/または、
    前記構文要素が、前記コーディングユニットの変換単位内に非ゼロ係数があるときに、前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを示す、
    請求項3に記載の方法。
  5. 前記ビデオデータの前記現在ブロックを含むコーディングユニットが色空間変換プロセスを用いて符号化されたことを示す構文要素が、前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるときはシグナリングされず、かつ/または、
    前記ビデオデータの前記現在ブロックを含むコーディングユニットが色空間変換プロセスを用いて符号化されたことを示す構文要素が、前記コーディングユニットがパレットモードで符号化されるときはシグナリングされない、
    請求項1に記載の方法。
  6. ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
    ビデオデータの現在ブロックを符号化するために使用される、非可逆コーディングモードまたは可逆コーディングモードのうちの一方であるコーディングモードを決定することと、
    前記ビデオデータを符号化するために使用される前記コーディングモードに応じて色空間変換プロセスを決定することと、
    前記コーディングモードが前記非可逆コーディングモードであると判定されたとき、YCoCg色空間変換プロセスを前記現在ブロックに対する残差ブロックに適用することと、
    前記コーディングモードが前記可逆コーディングモードであると判定されたとき、YCoCg-R色空間変換プロセスを前記残差ブロックに適用することと、
    符号化プロセスの復号ループにおいて、前記コーディングモードが前記非可逆コーディングモードであるかまたは前記可逆コーディングモードであるかに無関係であるYCoCg-R色空間逆変換プロセスを適用することと、
    前記コーディングモードが前記非可逆コーディングモードであると判定されたとき、前記符号化プロセスの前記復号ループ内で前記YCoCg-R色空間逆変換プロセスを適用する前に、YCoCg行列のCo成分およびCg成分を1ビット左シフトによって修正することと、
    を行うように構成される、ビデオ符号化デバイス。
  7. 前記1つまたは複数のプロセッサが、前記コーディングモードが前記可逆コーディングモードであると判定されたとき、Co成分およびCg成分のビット深度を1だけ増加するようにさらに構成される、請求項6に記載のビデオ符号化デバイス。
  8. ビデオデータを復号する方法であって、
    ビデオデータの第1の符号化ブロックを受信するステップであって、前記第1の符号化ブロックは残差ブロックであり、前記ビデオデータの前記第1の符号化ブロックは非可逆コーディングモードおよびYCoCg色空間変換プロセスを使用して符号化された、ステップと、
    ビデオデータの第2の符号化ブロックを受信するステップであって、前記第2の符号化ブロックは残差ブロックであり、前記ビデオデータの前記第2の符号化ブロックは可逆コーディングモードおよびYCoCg-R色空間変換プロセスを使用して符号化された、ステップと、
    ビデオデータの前記第1の符号化ブロックの1つまたは複数の成分を1ビット左シフトによって修正するステップであって、ビデオデータの前記第1の符号化ブロックの前記1つまたは複数の成分が、2つのクロマ成分を含む、ステップと、
    YCoCg-R色空間逆変換プロセスをビデオデータの前記第1の符号化ブロックに適用するステップと、
    前記YCoCg-R色空間逆変換プロセスをビデオデータの前記第2の符号化ブロックに適用するステップとを含む、方法。
  9. ビデオデータのコーディングユニットの構文要素を復号するステップであって、前記コーディングユニットが前記第1の符号化ブロックまたは前記第2の符号化ブロックを含み、前記構文要素が、前記コーディングユニットが色空間変換プロセスを使用して符号化されたかどうかを示す、復号するステップと、
    前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを前記構文要素の値が示すかどうかを決定するステップと、
    前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを前記構文要素が示すものと決定することに応答して、前記YCoCg-R色空間逆変換プロセスを適用するステップであって、前記構文要素が1ビットフラグを含む、ステップと、
    をさらに含み、
    前記構文要素に対する1の値は、前記コーディングユニットが色空間変換プロセスを用いて符号化されたことを示す、
    請求項8に記載の方法。
  10. 前記第1の符号化ブロックまたは前記第2の符号化ブロックを含むコーディングユニットがイントラパルス符号変調(IPCM)モードで符号化されず、前記コーディングユニットが色空間変換プロセスを用いて符号化されたことを示す構文要素が、IPCMモードを用いて符号化されないコーディングユニットに対してのみシグナリングされ、かつ/または、
    構文要素が、前記コーディングユニットの変換単位内に非ゼロ係数があるときに、前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを示し、かつ/または、
    構文要素が、前記コーディングユニットがイントラコーディングされるとき、および前記コーディングユニット内の予測単位のルーマ予測モードおよびクロマ予測モードが異なるとき、前記コーディングユニットが色空間変換プロセスを使用して符号化されなかったことを示し、前記構文要素が、前記ビデオデータを含む受信されたビットストリーム内に存在せず、前記構文要素を復号するステップが、前記構文要素の前記値を推測するステップを含み、かつ/または、
    構文要素が、前記コーディングユニットがパレットモードで符号化されるときに前記コーディングユニットが色空間変換プロセスを使用して符号化されなかったことを示し、前記構文要素が、前記ビデオデータを含む受信されたビットストリーム内に存在せず、前記構文要素を復号するステップが、前記構文要素の前記値を推測するステップを含む、
    請求項9に記載の方法。
  11. ビデオデータを記憶するように構成されたメモリと、
    1つまたは複数のプロセッサとを備え、前記1つまたは複数のプロセッサが、
    非可逆コーディングモードおよびYCoCg色空間変換プロセスを使用して符号化された、ビデオデータの第1の符号化ブロックを受信することと、
    可逆コーディングモードおよびYCoCg-R色空間変換プロセスを使用して符号化された、ビデオデータの第2の符号化ブロックを受信することと、
    ビデオデータの前記第1の符号化ブロックの1つまたは複数の成分を1ビット左シフトによって修正することであって、ビデオデータの前記第1の符号化ブロックの前記1つまたは複数の成分が、2つのクロマ成分を含む、ことと、
    YCoCg-R色空間逆変換プロセスをビデオデータの前記第1の符号化ブロックに適用することと、
    YCoCg-R色空間逆変換プロセスをビデオデータの前記第2の符号化ブロックに適用することとを行うように構成される、ビデオ復号デバイス。
  12. 前記1つまたは複数のプロセッサが、
    ビデオデータのコーディングユニットの構文要素を復号することであって、前記コーディングユニットが前記第1の符号化ブロックまたは前記第2の符号化ブロックを含み、前記構文要素が、前記コーディングユニットが色空間変換プロセスを使用して符号化されたかどうかを示す、復号することと、
    前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを前記構文要素の値が示すかどうかを決定することと、
    前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを前記構文要素が示すものと決定することに応答して、前記YCoCg-R色空間逆変換プロセスを適用することであって、前記構文要素は1ビットフラグを含み、前記構文要素に対する1の値は、前記コーディングユニットが色空間変換プロセスを使用して符号化されたことを示す、適用することと
    を行うようにさらに構成される、請求項11に記載のビデオ復号デバイス。
  13. 実行されるとき、ビデオ復号デバイスの1つまたは複数のプロセッサに請求項1乃至5または8乃至10の何れか1項に記載の方法を実施させる命令を含むコンピュータ可読記憶媒体。
JP2016556860A 2014-03-14 2015-03-13 ユニバーサル色空間逆変換コーディング Active JP6607862B2 (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,532 US10271052B2 (en) 2014-03-14 2015-03-12 Universal color-space inverse transform coding
US14/656,532 2015-03-12
PCT/US2015/020529 WO2015138954A1 (en) 2014-03-14 2015-03-13 Color-space inverse transform both for lossy and lossless encoded video

Publications (3)

Publication Number Publication Date
JP2017513315A JP2017513315A (ja) 2017-05-25
JP2017513315A5 JP2017513315A5 (ja) 2018-04-05
JP6607862B2 true JP6607862B2 (ja) 2019-11-20

Family

ID=54070431

Family Applications (4)

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

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2016556993A Active JP6657110B2 (ja) 2014-03-14 2015-03-13 色空間変換コーディングにおけるビット深度の修正
JP2016557043A Active JP6612767B2 (ja) 2014-03-14 2015-03-13 色空間変換コーディングのための量子化パラメータ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016557057A Expired - Fee Related JP6591435B2 (ja) 2014-03-14 2015-03-13 ブロック適応色空間変換コーディング

Country Status (15)

Country Link
US (4) US9736481B2 (ja)
EP (4) EP3117614B1 (ja)
JP (4) JP6657110B2 (ja)
KR (4) KR102346986B1 (ja)
CN (4) CN106105205B (ja)
BR (3) BR112016021142B1 (ja)
CR (1) CR20160421A (ja)
DO (1) DOP2016000247A (ja)
ES (2) ES2702950T3 (ja)
GT (1) GT201600187A (ja)
HU (1) HUE041560T2 (ja)
MX (4) MX361825B (ja)
NI (1) NI201600136A (ja)
SV (1) SV2016005276A (ja)
WO (4) WO2015138962A1 (ja)

Families Citing this family (121)

* 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
CA2939434C (en) * 2014-03-04 2021-02-16 Microsoft Techology Licensing, Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
US10182241B2 (en) 2014-03-04 2019-01-15 Microsoft Technology Licensing, Llc Encoding strategies for adaptive switching of color spaces, color sampling rates and/or bit depths
KR101947151B1 (ko) * 2014-03-14 2019-05-10 브이아이디 스케일, 인크. Rgb 비디오 코딩 향상을 위한 시스템 및 방법
US9736481B2 (en) 2014-03-14 2017-08-15 Qualcomm Incorporated Quantization parameters for color-space conversion coding
US9924183B2 (en) * 2014-03-20 2018-03-20 Nanjing Yuyan Information Technology Ltd. Fast HEVC transcoding
JP6367359B2 (ja) 2014-03-27 2018-08-01 マイクロソフト テクノロジー ライセンシング,エルエルシー 色空間を切り替えるときの量子化/スケーリング及び逆量子化/スケーリングの調整
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
BR112017004886A2 (pt) * 2014-09-12 2017-12-05 Vid Scale Inc dispositivo de codificação de vídeo e método de codificação de vídeo
EP3205098B1 (en) 2014-10-06 2020-01-08 Telefonaktiebolaget LM Ericsson (publ) Coding and deriving quantization parameters
WO2016054765A1 (en) 2014-10-08 2016-04-14 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
US10887626B2 (en) * 2016-05-13 2021-01-05 Sharp Kabushiki Kaisha Image decoding device and image encoding device
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 西安万像电子科技有限公司 文字块的压缩方法和装置以及图像压缩方法和装置
EP3349451A1 (en) * 2017-01-11 2018-07-18 Thomson Licensing Method and apparatus for selecting a coding mode used for encoding/decoding a residual block
US11272202B2 (en) 2017-01-31 2022-03-08 Sharp Kabushiki Kaisha 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
KR20230143626A (ko) 2017-03-22 2023-10-12 한양대학교 산학협력단 영상을 구성하는 화소값 범위를 이용한 영상 부호화/복호화 방법
US10362325B2 (en) 2017-06-04 2019-07-23 Apple Inc. Techniques for compressing multiple-channel images
US10362319B2 (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
EP3941052B1 (en) * 2018-04-01 2023-09-13 LG Electronics Inc. An image coding apparatus and method thereof based on a quantization parameter derivation
EP3762895A4 (en) * 2018-04-02 2021-04-21 Huawei Technologies Co., Ltd. VIDEO ENCODING WITH CONSECUTIVE CODECS
US11750811B2 (en) * 2018-04-06 2023-09-05 Comcast Cable Communications, Llc Systems, methods, and apparatuses for processing video
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
KR102396112B1 (ko) * 2018-09-02 2022-05-10 엘지전자 주식회사 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치
JP7182098B2 (ja) * 2018-11-22 2022-12-02 北京字節跳動網絡技術有限公司 映像処理におけるパルス符号変調技術
JP7304153B2 (ja) * 2018-12-27 2023-07-06 Kddi株式会社 動画像復号装置、動画像復号方法及びプログラム
KR20250069986A (ko) 2019-01-01 2025-05-20 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020140948A1 (en) 2019-01-02 2020-07-09 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation between dividing patterns
WO2020156515A1 (en) 2019-01-31 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Refined quantization steps in video coding
AU2020214946B2 (en) 2019-02-01 2023-06-08 Beijing Bytedance Network Technology Co., Ltd. Interactions between in-loop reshaping and inter coding tools
CN113475079B (zh) 2019-02-01 2026-03-24 北京字节跳动网络技术有限公司 环路整形和帧内块复制之间的相互作用
US12356001B2 (en) 2019-02-20 2025-07-08 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of motion vector rounding, clipping and storage for inter prediction
CN118540488B (zh) 2019-02-20 2025-04-01 北京达佳互联信息技术有限公司 用于帧间预测的运动向量舍入、截取和存储的方法和装置
SG11202108938TA (en) 2019-02-24 2021-09-29 Beijing Bytedance Network Technology Co Ltd Independent coding of palette mode usage indication
KR20210130735A (ko) 2019-03-02 2021-11-01 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인-루프 필터링에 대한 제한들
WO2020182093A1 (en) 2019-03-08 2020-09-17 Beijing Bytedance Network Technology Co., Ltd. Signaling of reshaping information in video processing
SG11202109517RA (en) * 2019-03-12 2021-09-29 Tencent America LLC Method and apparatus for color transform in vvc
CN117499644A (zh) 2019-03-14 2024-02-02 北京字节跳动网络技术有限公司 环路整形信息的信令和语法
CN113906744A (zh) * 2019-03-15 2022-01-07 北京达佳互联信息技术有限公司 视频编解码中无损编解码的信令
CN113632462B (zh) 2019-03-23 2023-08-22 北京字节跳动网络技术有限公司 默认的环内整形参数
WO2020211770A1 (en) 2019-04-15 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. Temporal prediction of parameters in non-linear adaptive loop filter
WO2020211810A1 (en) 2019-04-16 2020-10-22 Beijing Bytedance Network Technology Co., Ltd. On adaptive loop filtering for video coding
KR102874861B1 (ko) * 2019-04-17 2025-10-21 후아웨이 테크놀러지 컴퍼니 리미티드 매트릭스 기반 인트라 예측 및 2차 변환 코어 선택을 조화시키는 인코더, 디코더 및 대응 방법
PH12021552544A1 (en) 2019-04-18 2022-07-04 Beijing Bytedance Network Tech Co Ltd Restriction on applicability of cross component mode
CN113711612B (zh) 2019-04-20 2023-05-26 北京字节跳动网络技术有限公司 视频编解码中的色度语法元素的信令
KR20250069688A (ko) * 2019-04-20 2025-05-19 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 Bdpcm에 기반한 영상 코딩 방법 및 그 장치
KR102860140B1 (ko) 2019-04-23 2025-09-16 두인 비전 컴퍼니 리미티드 다중 변환 행렬의 선택 및 컨텍스트 모델링
BR112021019675A2 (pt) 2019-04-23 2021-12-07 Beijing Bytedance Network Tech Co Ltd Método para processamento de mídia visual, aparelho codificador de vídeo, aparelho decodificador de vídeo, e, mídia legível por computador
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
WO2020228670A1 (en) 2019-05-10 2020-11-19 Beijing Bytedance Network Technology Co., Ltd. Luma based secondary transform matrix selection for video processing
KR102648569B1 (ko) 2019-05-13 2024-03-19 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환 스킵 모드의 블록 치수 설정들
CN113826398B (zh) * 2019-05-13 2022-11-29 北京字节跳动网络技术有限公司 变换跳过模式和其它编解码工具之间的交互
CN113875232B (zh) * 2019-05-16 2024-07-09 北京字节跳动网络技术有限公司 视频编解码中的自适应颜色格式转换
WO2020236723A1 (en) * 2019-05-19 2020-11-26 Bytedance Inc. Transform bypass coded residual blocks in digital video
CN113853787B (zh) * 2019-05-22 2023-12-22 北京字节跳动网络技术有限公司 基于子块使用变换跳过模式
CN114175641B (zh) * 2019-05-30 2025-03-18 北京达佳互联信息技术有限公司 在视频编解码中提高无损编解码效率
CN115567707B (zh) 2019-05-30 2025-05-13 抖音视界有限公司 一种处理视频数据的方法、装置、介质
US11134275B2 (en) * 2019-06-04 2021-09-28 Tencent America LLC Method and apparatus for performing primary transform based on filtering of blocks
CN117354521A (zh) 2019-06-07 2024-01-05 北京字节跳动网络技术有限公司 视频比特流中的简化二次变换的有条件信令
WO2020253642A1 (en) * 2019-06-15 2020-12-24 Beijing Bytedance Network Technology Co., Ltd. Block size dependent use of secondary transforms in coded video
CN113382256B (zh) * 2019-06-21 2022-05-20 杭州海康威视数字技术股份有限公司 一种编解码方法、装置、设备及存储介质
CN114041287B (zh) * 2019-06-21 2024-10-22 北京字节跳动网络技术有限公司 自适应环内颜色空间转换和其他视频编解码工具的选择性使用
CN114128280B (zh) 2019-07-07 2023-11-14 北京字节跳动网络技术有限公司 色度残差缩放的信令通知
JP7359936B2 (ja) * 2019-07-20 2023-10-11 北京字節跳動網絡技術有限公司 パレットモードの使用の指示の条件依存符号化
CN117221536A (zh) 2019-07-23 2023-12-12 北京字节跳动网络技术有限公司 调色板模式编解码的模式确定
PH12022550201A1 (en) 2019-07-26 2023-01-04 Beijing Bytedance Network Tech Co Ltd Determination of picture partition mode based on block size
CN114208174B (zh) 2019-07-29 2023-11-28 北京字节跳动网络技术有限公司 预测过程中的调色板模式编解码
CN114208183B (zh) 2019-08-03 2025-01-10 北京字节跳动网络技术有限公司 视频的缩减二次变换中基于位置的模式导出
WO2021032045A1 (en) 2019-08-17 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Context modeling of side information for reduced secondary transforms in video
EP3881530B1 (en) * 2019-08-23 2024-12-18 Tencent America LLC Method and apparatus for video coding
EP4014495A4 (en) 2019-09-14 2022-11-02 ByteDance Inc. CHROMINANCE QUANTIFICATION PARAMETER IN VIDEO CODING
KR20220062085A (ko) 2019-09-20 2022-05-13 알리바바 그룹 홀딩 리미티드 비디오 처리에서 양자화 파라미터 시그널링
KR102695020B1 (ko) * 2019-09-23 2024-08-12 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 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
KR20230117266A (ko) 2019-10-11 2023-08-07 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 4:4:4 크로마 포맷의 비디오 코딩 방법 및 장치
CN114556918B (zh) 2019-10-12 2025-08-12 北京字节跳动网络技术有限公司 细化视频编解码工具的使用和信令
JP7414980B2 (ja) 2019-10-13 2024-01-16 北京字節跳動網絡技術有限公司 参照ピクチャリサンプリングと映像コーディングツールとの間の相互作用
KR20220073746A (ko) * 2019-10-14 2022-06-03 바이트댄스 아이엔씨 비디오 처리에서 크로마 양자화 파라미터 사용
HUE072798T2 (hu) * 2019-10-28 2025-12-28 Lg Electronics Inc Eljárás kép kódolására/dekódolására színtér konverzió alkalmazásával, és eljárás bitfolyam átvitelére
WO2021086021A1 (ko) * 2019-10-28 2021-05-06 엘지전자 주식회사 적응적 변환을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN119544989A (zh) * 2019-10-28 2025-02-28 Lg电子株式会社 图像编码/解码设备以及传输图像的数据的设备
CN117336478A (zh) 2019-11-07 2024-01-02 抖音视界有限公司 视频编解码的自适应环内颜色空间变换的量化特性
WO2021093801A1 (en) * 2019-11-14 2021-05-20 Beijing Bytedance Network Technology Co., Ltd. Coding of low bit-depth visual media data
MX2022006190A (es) 2019-11-22 2022-09-07 Lg Electronics Inc Metodo y dispositivo de codificacion/decodificacion de imagenes usando transformacion de color sin perdidas y metodo para transmitir flujo de bits.
CN111079738B (zh) * 2019-11-23 2023-09-29 中国科学院长春光学精密机械与物理研究所 一种图像处理方法、系统及终端设备
KR20220100599A (ko) 2019-11-26 2022-07-15 주식회사 윌러스표준기술연구소 적응적 컬러 공간 변환을 이용하는 비디오 신호 처리 방법 및 장치
WO2021118977A1 (en) 2019-12-09 2021-06-17 Bytedance Inc. Using quantization groups in video coding
WO2021121419A1 (en) * 2019-12-19 2021-06-24 Beijing Bytedance Network Technology Co., Ltd. Interaction between adaptive color transform and quantization parameters
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
MX2022007503A (es) * 2019-12-27 2022-07-04 Beijing Bytedance Network Tech Co Ltd Se?alizacion de tipos de corte en encabezados de imagenes de video.
CN115066903B (zh) * 2019-12-31 2025-01-17 北京达佳互联信息技术有限公司 4:4:4色度格式视频编解码的方法和装置
CN114902657B (zh) 2019-12-31 2025-06-13 字节跳动有限公司 视频编解码中的自适应颜色变换
CN115348450A (zh) 2019-12-31 2022-11-15 上海海思技术有限公司 编码方法及编码器
CN117979013B (zh) * 2020-01-05 2025-02-28 北京达佳互联信息技术有限公司 一种视频解码的方法、装置和介质
KR102750625B1 (ko) 2020-01-05 2025-01-09 두인 비전 컴퍼니 리미티드 비디오 코딩을 위한 일반적인 제약 정보
WO2021139707A1 (en) * 2020-01-08 2021-07-15 Beijing Bytedance Network Technology Co., Ltd. Joint coding of chroma residuals and adaptive color transforms
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
WO2021150086A1 (ko) * 2020-01-25 2021-07-29 엘지전자 주식회사 Act 레지듀얼 기반 영상 또는 비디오 코딩
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 엘지전자 주식회사 색상 공간 변환 기반 영상 또는 비디오 코딩
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
KR20250020702A (ko) * 2020-06-10 2025-02-11 텐센트 아메리카 엘엘씨 비디오 코딩을 위한 방법, 장치 및 매체
KR20220037382A (ko) 2020-09-17 2022-03-24 레몬 인크. 디코더 구성 레코드에서의 픽처 치수 표시
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位彩色图像的颜色空间变换的方法
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,
US7903306B2 (en) 2005-07-22 2011-03-08 Samsung Electronics Co., Ltd. Sensor image encoding and/or decoding system, medium, and method
CN101218831B (zh) 2005-09-20 2010-07-21 三菱电机株式会社 图像解码方法以及图像解码装置
CN101356825B (zh) 2006-01-13 2013-06-12 弗劳恩霍夫应用研究促进协会 使用自适应色彩空间变换的画面编码
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转换计算的方法
US8345968B2 (en) 2007-06-28 2013-01-01 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method and image decoding 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.
WO2012120909A1 (ja) 2011-03-09 2012-09-13 パナソニック株式会社 動画像復号化装置および動画像復号化方法
US9185424B2 (en) * 2011-07-05 2015-11-10 Qualcomm Incorporated Image data compression
TWI556629B (zh) 2012-01-03 2016-11-01 杜比實驗室特許公司 規定視覺動態範圍編碼操作及參數
EP2805496B1 (en) 2012-01-19 2016-12-21 Huawei Technologies Co., Ltd. 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 京北方信息技术股份有限公司 基于颜色分类与聚类的图像压缩方法
US20150110181A1 (en) 2013-10-18 2015-04-23 Samsung Electronics Co., Ltd. Methods for palette prediction and intra block copy padding
CN111526359B (zh) 2013-10-18 2023-01-06 Ge视频压缩有限责任公司 多分量图片或视频编码概念
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
US9736481B2 (en) 2014-03-14 2017-08-15 Qualcomm Incorporated Quantization parameters for color-space conversion coding
BR112017004886A2 (pt) 2014-09-12 2017-12-05 Vid Scale Inc dispositivo de codificação de vídeo e método de codificação de vídeo

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6607862B2 (ja) ユニバーサル色空間逆変換コーディング
JP6640119B2 (ja) ブロック適応性のある色空間コンバージョンコーディング
JP2020074547A (ja) インター色成分残差予測
JP2017523677A (ja) ブロック適応色空間コンバージョンコーディング
JP2018530246A (ja) ビデオコーディングのために位置依存の予測組合せを使用する改善されたビデオイントラ予測
JP2017523672A (ja) ビデオコーディングにおける成分間予測
JP2018507625A (ja) パレットモードコード化のためのエスケープ画素をコード化すること
HK1229979B (zh) 块自适应颜色空间转换译码的方法和装置

Legal Events

Date Code Title Description
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: 20190111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191021

R150 Certificate of patent or registration of utility model

Ref document number: 6607862

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250