JP6768675B2 - 予測残差のための機能強化された複数の変換 - Google Patents

予測残差のための機能強化された複数の変換 Download PDF

Info

Publication number
JP6768675B2
JP6768675B2 JP2017538635A JP2017538635A JP6768675B2 JP 6768675 B2 JP6768675 B2 JP 6768675B2 JP 2017538635 A JP2017538635 A JP 2017538635A JP 2017538635 A JP2017538635 A JP 2017538635A JP 6768675 B2 JP6768675 B2 JP 6768675B2
Authority
JP
Japan
Prior art keywords
transformation
block
subset
conversion
video
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
JP2017538635A
Other languages
English (en)
Other versions
JP2018506905A5 (ja
JP2018506905A (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 JP2018506905A publication Critical patent/JP2018506905A/ja
Publication of JP2018506905A5 publication Critical patent/JP2018506905A5/ja
Application granted granted Critical
Publication of JP6768675B2 publication Critical patent/JP6768675B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/109Selection of coding mode or of prediction mode among a plurality of temporal 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/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display 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/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
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/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/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/167Position within a video image, e.g. region of interest [ROI]
    • 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/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/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)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本願は、各々の内容全体が参照によって本明細書に組み込まれている、2015年1月26日に出願した米国特許仮出願第62/107,996号および2015年3月23日に出願した米国特許仮出願第62/137,038号の優先権を主張するものである。
本開示は、ビデオ符号化およびビデオ復号に関する。
デジタルビデオ能力は、デジタルテレビジョン、デジタル直接放送システム(digital direct broadcast system)、ワイヤレス放送システム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲーミングデバイス、ビデオゲームコンソール、セルラー無線電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ会議デバイス、ビデオストリーミングデバイス、および類似物を含む広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、アドバンストビデオコーディング(AVC)、ITU-T H.265、高効率ビデオコーディング(HEVC)によって定義された標準規格およびそのような標準規格の拡張に記載されているものなどのビデオ圧縮技法を実施する。ビデオデバイスは、そのようなビデオ圧縮技法を実施することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶することができる。
ビデオ圧縮技法は、空間(イントラピクチャ)予測および/または時間(インターピクチャ)予測を実行して、ビデオシーケンス内に固有の冗長性を低減しまたは除去する。ブロックベースのビデオコーディングに関して、ビデオスライス(すなわち、ビデオフレームまたはビデオフレームの一部)は、ビデオブロックに区分され得る。ピクチャのイントラコーディングされた(I)スライス内のビデオブロックは、サンプルピクチャ内の隣接ブロック内の参照サンプルに関する空間予測を使用して符号化される。ピクチャのインターコーディングされた(PまたはB)スライス内のビデオブロックは、同一ピクチャ内の隣接ブロック内の参照サンプルに関する空間予測または他の参照ピクチャ内の参照サンプルに関する時間予測を使用することができる。空間予測または時間予測は、コーディングされるブロックの予測ブロックをもたらす。残差データが、コーディングされるべき元のブロックと予測ブロックとの間の画素差を表す。インターコーディングされたブロックは、予測ブロックを形成する参照サンプルのブロックを指す動きベクトルに従って符号化され、残差データは、コーディングされたブロックと予測ブロックとの間の差を示す。イントラコーディングされたブロックは、イントラコーディングモードおよび残差データに従って符号化される。さらなる圧縮のために、残差データは画素領域から変換領域に変換され得、残差係数をもたらし、この残差係数は、次いで量子化され得る。
米国特許仮出願第61/561,783号 米国特許出願第13/678,329号 米国特許仮出願第61/431,480号 米国特許仮出願第61/450,532号 米国特許出願第13/311,834号 米国特許仮出願第62/107,964号 米国特許仮出願第62/116,631号
http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip ITU-T H.265, Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services - Coding of moving video, Advanced video coding for generic audiovisual services, The International Telecommunication Union、2014年10月 http://www.itu.int/rec/T-REC-H.265-201410-I/en Jain、A.K.、A sinusoidal family of unitary transforms、IEEE Trans. on Pattern Analysis and Machine Intelligence、1、356頁、1979年 S. A. Martucci、「Symmetric convolution and the discrete sine and cosine transforms」、IEEE Trans. Sig. Processing SP-42、1038〜1051 (1994年) J. Han、A. Saxena、およびK. Rose、「Towards jointly optimal spatial prediction and adaptive transform in video/image coding」、IEEE International Conference on Acoustics、Speech and Signal Processing (ICASSP)、2010年3月、726〜729頁 http://www.hhi.fraunhofer.de/fields-of-competence/image-processing/research-groups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.html S.-C. Lim、D.-Y. Kim、S. Jeong、J. S. Choi、H. Choi、およびY.-L. Lee、「Rate-distortion optimized adaptive transform coding」、Opt. Eng.、vol. 48、no. 8、087004-1-087004-14頁、2009年8月 Y. YeおよびM. Karczewicz、「Improved H.264 intra coding based on bidirectional intra prediction, directional transform, and adaptive coefficient scanning」、in Proc. 15th IEEE Int. Conf. Image Process.、2008年10月、2116〜2119頁 X. Zhao、L. Zhang、S. W. Ma、およびW. Gao、「Video coding with rate-distortion optimized transform」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、no. 1、138〜151頁、2012年1月 A. SaxenaおよびF. Fernandes、「DCT/DST-based transform coding for intra prediction in image/video coding」、IEEE Trans. Image Processing C. Yeo、Y. H. Tan、Z. Li、およびS. Rahardja、「Mode-dependent transforms for coding directional intra prediction residuals」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、no. 4、545〜554頁、2012年 F. Zou、O. C. Au、C. Pang、J. Dai、およびF. Lu、「Rate-Distortion Optimized Transforms Based on the Lloyd-Type Algorithm for Intra Block Coding」、IEEE Journal of Selected Topics in Signal Processing、Volume:7、Issue:6、2013年11月 J. An、X. Zhao、X. Guo、およびS. Lei、「Non-CE7: Boundary-Dependent Transform for Inter-Predicted Residue」、JCTVC-G281 Video Coding for Low Bitrate Communication, document Rec. H.263, ITU-T、1995年4月
本開示は、ビデオ符号化の一部として変換ブロックから係数ブロックを生成するために使用すべき変換と、ビデオ復号の一部として係数ブロックから変換ブロックを生成するために使用すべき変換とを判定する技法について説明する。いくつかの例において、ビデオエンコーダは、複数の変換部分集合を判定することができる。同様に、ビデオデコーダは、複数の変換部分集合を判定することができる。ビデオエンコーダおよびビデオデコーダは、必ずしも追加のシグナリングを要求しない暗黙の技法を使用して複数の変換部分集合の変換部分集合を選択し、選択された変換部分集合から変換を判定することができる。この形で、ビデオエンコーダおよびビデオデコーダは、シグナリングされる必要がある情報の量の最小限の増加を伴って、変換の相対的に大きい集合から選択することができる。
一例において、本開示は、複数の変換部分集合を判定するステップであって、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する、判定するステップと、ビデオデータの現在の係数ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択するステップと、ビデオデータの現在の係数ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択するステップと、選択された第1の変換部分集合から左変換を判定するステップと、選択された第2の変換部分集合から右変換を判定するステップと、左変換、右変換、および現在の係数ブロックに基づいて現在の変換ブロックを判定するステップと、現在の変換ブロックおよび予測ブロックに基づいてビデオブロックを再構成するステップとを含む、ビデオデータを復号する方法について説明する。
一例において、本開示は、複数の変換部分集合を判定するステップであって、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する、判定するステップと、ビデオデータのビデオブロックの現在の変換ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択するステップと、ビデオデータのビデオブロックの現在の変換ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択するステップと、選択された第1の変換部分集合から左変換を判定するステップと、選択された第2の変換部分集合から右変換を判定するステップと、左変換、右変換、および現在の変換ブロックに基づいて現在の係数ブロックを判定するステップと、ビデオブロックの再構成に使用される現在の係数ブロックの係数を示す情報を含むビデオビットストリームを生成するステップとを含む、ビデオデータを符号化する方法について説明する。
一例において、本開示は、ビデオデータおよび変換部分集合を記憶するように構成されたビデオデータメモリであって、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する、ビデオデータメモリと、集積回路構成を含むビデオデコーダであって、記憶された変換部分集合から複数の変換部分集合を判定し、ビデオデータの現在の係数ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択し、ビデオデータの現在の係数ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択し、選択された第1の変換部分集合から左変換を判定し、選択された第2の変換部分集合から右変換を判定し、左変換、右変換、および現在の係数ブロックに基づいて現在の変換ブロックを判定し、現在の変換ブロックおよび予測ブロックに基づいてビデオブロックを再構成するように構成された、ビデオデコーダとを含む、ビデオデータをビデオ復号するためのデバイスについて説明する。
一例において、本開示は、ビデオデータおよび変換部分集合を記憶するように構成されたビデオデータメモリであって、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する、ビデオデータメモリと、記憶された変換部分集合から複数の変換部分集合を判定し、ビデオデータのビデオブロックの現在の変換ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択し、ビデオデータのビデオブロックの現在の変換ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択し、選択された第1の変換部分集合から左変換を判定し、選択された第2の変換部分集合から右変換を判定し、左変換、右変換、および現在の変換ブロックに基づいて現在の係数ブロックを判定し、ビデオブロックの再構成に使用される現在の係数ブロックの係数を示す情報を含むビデオビットストリームを生成するように構成されたビデオエンコーダとを含む、ビデオデータを符号化するためのデバイスについて説明する。
一例において、本開示は、複数の変換部分集合を判定するための手段であって、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する、判定するための手段と、ビデオデータの現在の係数ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択するための手段と、ビデオデータの現在の係数ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択するための手段と、選択された第1の変換部分集合から左変換を判定するための手段と、選択された第2の変換部分集合から右変換を判定するための手段と、左変換、右変換、および現在の係数ブロックに基づいて現在の変換ブロックを判定するための手段と、現在の変換ブロックおよび予測ブロックに基づいてビデオブロックを再構成するための手段とを含む、ビデオデータを復号するためのデバイスについて説明する。
一例において、本開示は、実行された時に、ビデオ復号のためのデバイスのビデオデコーダに、複数の変換部分集合を判定させ、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別し、ビデオデータの現在の係数ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択させ、ビデオデータの現在の係数ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択させ、選択された第1の変換部分集合から左変換を判定させ、選択された第2の変換部分集合から右変換を判定させ、左変換、右変換、および現在の係数ブロックに基づいて現在の変換ブロックを判定させ、現在の変換ブロックおよび予測ブロックに基づいてビデオブロックを再構成させる命令を記憶した非一時的コンピュータ可読記憶媒体について説明する。
一例において、本開示は、複数の変換部分集合を判定するための手段であって、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する、判定するための手段と、ビデオデータのビデオブロックの現在の変換ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択するための手段と、ビデオデータのビデオブロックの現在の変換ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択するための手段と、選択された第1の変換部分集合から左変換を判定するための手段と、選択された第2の変換部分集合から右変換を判定するための手段と、左変換、右変換、および現在の変換ブロックに基づいて現在の係数ブロックを判定するための手段と、ビデオブロックの再構成に使用される現在の係数ブロックの係数を示す情報を含むビデオビットストリームを生成するための手段とを含む、ビデオデータを符号化するためのデバイスについて説明する。
一例において、本開示は、実行された時に、ビデオ符号化のためのデバイスのビデオエンコーダに、複数の変換部分集合を判定させ、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別し、ビデオデータのビデオブロックの現在の変換ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択させ、ビデオデータのビデオブロックの現在の変換ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択させ、選択された第1の変換部分集合から左変換を判定させ、選択された第2の変換部分集合から右変換を判定させ、左変換、右変換、および現在の変換ブロックに基づいて現在の係数ブロックを判定させ、ビデオブロックの再構成に使用される現在の係数ブロックの係数を示す情報を含むビデオビットストリームを生成させる命令を記憶した非一時的コンピュータ可読記憶媒体について説明する。
1つまたは複数の例の詳細が、添付図面および下の説明において示される。他の特徴、目的、および利点は、この説明、図面、および特許請求の範囲から明らかになる。
変換タイプの例を示す表である。 変換タイプの例を示す表である。 変換タイプの例を示す表である。 変換タイプの例を示す表である。 変換タイプの例を示す表である。 変換タイプの例を示す表である。 本開示において説明される技法を利用することのできる例のビデオコーディングシステムを示すブロック図である。 高効率ビデオコーディング(HEVC)における残差四分木に基づく変換方式の例を示す概念図である。 HEVCにおけるコーディンググループに基づく係数スキャンの例を示す概念図である。 本開示において説明される技法を実施することのできる例のビデオエンコーダを示すブロック図である。 本開示において説明される技法を実施することのできる例のビデオデコーダを示すブロック図である。 ITU-T H.263標準規格において定義されるビデオコーディングプロセスによるオーバーラップブロック動き補償(OBMC:overlapped block motion compensation)の例を示す概念図である。 OBMCのブロックの一部を示す概念図である。 OBMCのブロックの一部を示す概念図である。 ビデオデータを復号する例の方法を示す流れ図である。 ビデオデータを符号化する例の方法を示す流れ図である。
本開示は、イントラ予測残差またはインター予測残差に適用される複数の変換に関する。この技法は、高効率ビデオコーディング(HEVC)標準規格の拡張またはビデオコーディング標準規格の次の世代など、高度なビデオコーデックの文脈において使用され得る。
ビデオコーディングにおいて、ビデオエンコーダは、予測ブロックのサンプル値から現在のブロックのサンプル値を減算することによって残差ブロックを生成する。ビデオエンコーダは、残差ブロックを1つまたは複数の変換ブロックに分割し、1つまたは複数の変換ブロックに変換(たとえば、離散コサイン変換(DCT)などの離散周波数変換)を適用して、1つまたは複数の変換ブロック内の残差値を画素領域から周波数領域に変換する。周波数領域において、変換されたブロックは、1つまたは複数の変換係数値を含む係数ブロックと呼ばれる。
復号中に、ビデオデコーダは、相反プロセスを実行する。たとえば、ビデオデコーダは、係数ブロックに逆変換を適用して、係数ブロックを変換ブロックに変換する(たとえば、周波数領域から画素領域に変換する)。変換ブロックは、残差ブロックの1ブロックであり、ビデオデコーダは、予測ブロックのサンプル値に残差ブロックの残差値を加算して、現在のブロックを再構成する。
説明のしやすさだけのために、本開示は、それぞれ符号化プロセスおよび復号プロセスに使用される変換を判定するものとしてビデオエンコーダおよびビデオデコーダについて説明する。しかしながら、ビデオエンコーダが、係数ブロックを生成するために変換ブロックに変換を適用することと、ビデオデコーダが、変換ブロックを再構成するために係数ブロックにその変換の逆を適用することとを理解されたい。したがって、ビデオデコーダが適用する変換は、ビデオエンコーダが適用する変換の逆である。したがって、本開示において、ビデオデコーダが、変換を判定し、かつ/または変換を適用するものとして説明される時に、ビデオデコーダが、ビデオエンコーダによって判定された変換の逆である変換を判定しており、かつ/または、ビデオデコーダが、ビデオエンコーダによって適用された変換の逆である変換を適用していることを理解されたい。
本開示は、変換係数を符号化するために残差値の変換ブロックに適用される変換または残差値を復号するために変換係数の係数ブロックに適用される変換を判定するための例の技法について説明する。たとえば、ビデオエンコーダおよびビデオデコーダは、それぞれ複数の変換部分集合を構成することができ、各変換部分集合は、複数の候補変換を識別する。候補変換は、異なるタイプのDCTおよび異なるタイプの離散サイン変換(DST)など、異なるタイプの変換を指す。ビデオエンコーダおよびビデオデコーダは、変換部分集合を選択し、ビデオ符号化のために変換ブロックから係数ブロックを、またはビデオ復号のために係数ブロックから変換ブロックを判定するのに使用される変換を、選択された変換部分集合から判定する。
この形で、ビデオエンコーダおよびビデオデコーダは、候補変換のより大きい集合から使用すべき変換を判定することができ、ビットストリーム帯域幅に過度の重荷を負わせることなく変換ブロックの変化する統計へのより良い適合を可能にする。たとえば、一部の技法は、何個の変換が使用可能であるのかを制約し、これは、変換ブロックの統計が、使用可能な変換のどれもが良好に動作しないようなものなので、悪いコーディング性能をもたらす可能性がある。他のより良い変換がある可能性があるが、これらの変換は、制約に起因して使用不能である。
本開示において説明される技法において、より多くの変換が使用可能なので、ビデオエンコーダおよびビデオデコーダは、変換の制限された集合を用いて可能になるものより良いコーディング性能を提供する変換を使用することができる。さらに、より詳細に説明されるように、どの変換を使用すべきかを示すのに使用されるシグナリングオーバーヘッドは、低く保たれ、その結果、使用可能なより多くの変換を有し、帯域幅に対する影響を低く保ちながら、コーディング利得が達成され得るようになる。
たとえば、ビットストリーム内でシグナリングされる情報に頼るのではなく、ビデオデコーダは、イントラ予測モード、変換ブロックのロケーション、その他などの暗黙の技法に基づいて、どの変換部分集合を使用すべきかを選択することができる。次いで、ビデオデコーダは、ビットストリーム内でシグナリングされた、選択された変換部分集合のそれぞれの1つの1つまたは複数の変換部分集合インデックス、あるいは非ゼロ係数の個数、非ゼロ係数の和、または係数ブロック内の非ゼロ係数の位置を含むがこれに限定されない他の要因におそらくは基づいて、選択された変換部分集合から使用すべき変換を判定することができる。
変換部分集合インデックスが、それぞれの変換部分集合についてシグナリングされる場合であっても、インデックス値が、すべての可能な変換にわたるのではなく変換部分集合の範囲だけにわたるので、シグナリングオーバーヘッドは低く保たれ得る。たとえば、16個までの可能な変換があり、変換部分集合が3つの候補変換を含むと仮定する。この場合に、インデックスは、0から2までの範囲にわたるが、すべての変換のリスト内へのインデックスは、0から15までの範囲にわたる。0から2までなどのより小さい値のシグナリングは、より大きい値のシグナリングより少数のビットを必要とする可能性がある。
変換部分集合が構成され、選択される形について説明する前に、以下は、ビデオコーディング標準規格、DCTおよびDST全般、DCTおよびDSTの異なるタイプ、ならびにいくつかの既存のDCT技法およびDST技法について説明する。次いで、本開示は、既存の技法におけるいくつかの問題について説明し、それらの問題を克服することのできる例の技法がこれに続く。
ビデオコーディング標準規格は、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 Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって最近開発された。以下ではHEVC WDと呼ばれる、最終的なHEVCドラフト仕様は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。HEVC標準規格の最終ドラフトは、ITU-T H.265, Series H: Audiovisual and Multimedia Systems, Infrastructure of audiovisual services - Coding of moving video, Advanced video coding for generic audiovisual services, The International Telecommunication Union、2014年10月であり、http://www.itu.int/rec/T-REC-H.265-201410-I/enから入手可能である。
以下は、離散サイン変換および離散コサイン変換の説明である。変換は、入力信号の代替表現を導出するプロセスを示す。たとえば、変換は、値を画素領域から周波数領域に(たとえば、ビデオ符号化において)または周波数領域から画素領域に(たとえば、ビデオ復号において)変換する。N点ベクトルx=[x0, x1,…, xN-1]Tおよび所与のベクトルの集合{Φ0, Φ1, …, ΦM-1}を与えられれば、xは、Φ0, Φ1, …, ΦM-1の線形結合を使用して近似されまたは正確に表現され得、これは、次のように定式化され得る。
ここで、
は、xの近似または同等物とすることができ、ベクトルf=[f0, f1, f2, …, fM-1]は、変換係数ベクトルと呼ばれ、{Φ0, Φ1, …, ΦM-1}は、変換基底ベクトルである。
ビデオコーディングのシナリオにおいて、変換係数は、おおむね無相関かつ疎である、すなわち、入力ベクトルxのエネルギーは、少数の変換係数のみに詰め込まれ、残りの大多数の変換係数は、通常は0に近い。たとえば、ビデオエンコーダが、変換ブロックを係数ブロックに変換する時に、係数ブロック内の非0係数値は、係数ブロックの左上角に一緒にグループ化される傾向があり、係数値の大多数は0である。係数ブロックの左上角付近でグループ化された非0係数は、低周波数成分を反映し、0になる傾向がある係数ブロックの右下角付近の係数値は、高周波数成分を反映する。
特定の入力データを与えられて、エネルギーコンパクション(energy compaction)に関する最適変換は、いわゆるカルーネンレーベ変換(KLT)であり、このKLTは、変換基底ベクトルとして入力データの共分散行列の固有ベクトルを使用する。したがって、KLTは、実際にはデータ依存変換であり、一般的な数学的定式化を有しない。しかし、ある種の仮定、たとえば、入力データが一次定常マルコフ過程(first-order stationary Markov process)を形成するという仮定の下では、文献において、対応するKLTが、実際にユニタリ変換の正弦曲線族のメンバであることが証明されており、これは、Jain、A.K.、A sinusoidal family of unitary transforms、IEEE Trans. on Pattern Analysis and Machine Intelligence、1、356頁、1979年に記載されている。ユニタリ変換の正弦曲線族は、次のように定式化される変換基底ベクトルを使用する変換を示す。
Φm(k) = A・eikθ+B・e-ikθ
ここで、eは、2.71828にほぼ等しい自然対数の底であり、A、B、およびθは、一般に複素数であり、mの値に依存する。
離散フーリエ、コサイン、サイン、およびKLT(一次定常マルコフ過程に関する)を含む複数の周知の変換が、ユニタリ変換のこの正弦曲線族のメンバである。S. A. Martucci、「Symmetric convolution and the discrete sine and cosine transforms」、IEEE Trans. Sig. Processing SP-42、1038〜1051 (1994年)によれば、完全な離散コサイン変換(DCT)族および離散サイン変換(DST)族は、異なるタイプすなわちA、B、およびθの異なる値に基づく合計16個の変換を含み、DCTおよびDSTの異なるタイプの完全な定義は、下で与えられる。
入力N点ベクトルが、x=[x0, x1,…, xN-1]Tと表され、これが、行列を乗算することによって、y=[y0, y1,…, yN-1]Tと表される別のN点変換係数ベクトルに変換されると仮定し、この行列乗算のプロセスは、以下の変換定式化のうちの1つに従ってさらに示され得、ここで、kは、両端を含めて0からN-1までの範囲にわたる。
DCTタイプI(DCT-1):
DCTタイプII(DCT-2):
DCTタイプIII(DCT-3):
DCTタイプIV(DCT-4):
DCTタイプV(DCT-5):
DCTタイプVI(DCT-6):
DCTタイプVII(DCT-7):
DCTタイプVIII(DCT-8):
DSTタイプI(DST-1):
DSTタイプII(DST-2):
DSTタイプIII(DST-3):
DSTタイプIV(DST-4):
DSTタイプV(DST-5):
DSTタイプVI(DST-6):
DSTタイプVII(DST-7):
DSTタイプVIII(DST-8):
上記は、異なるDCTタイプおよびDSTタイプの例を提供し、全部で16個の変換タイプがある。変換タイプは、変換基底関数の数学的定式化によって指定される。変換タイプと変換サイズとを混同してはならない。変換タイプは、基底関数を指すが、変換サイズは、変換のサイズを指す。たとえば、4点DST-VIIおよび8点DST-VIIは、Nの値(たとえば、4点または8点)にかかわりなく、同一の変換タイプを有する。
一般性を失うことなく、上記のすべての変換タイプを、下の一般化された定式化を使用して表すことができる。
ここで、Tは、ある1つの変換の定義、たとえばDCTタイプI〜DCTタイプVIIIまたはDSTタイプI〜DSTタイプVIIIによって指定される変換行列であり、Tの行ベクトル、たとえば[Ti,0, Ti,1, Ti,2, …, Ti,N-1]は、第iの変換基底ベクトルである。N点入力ベクトルに適用される変換は、N点変換と呼ばれる。
上の変換定式化は、1D入力データxに対して適用されるが、下のように行列乗算の形で表され得ることにも留意されたい。
y=T・x
ここで、Tは、変換行列を示し、xは、入力データベクトルを示し、yは、出力変換係数ベクトルを示す。
たとえば、ビデオエンコーダは、変換係数ベクトルを生成するために行列乗算y=T・xを実行することができる。ビデオデコーダは、変換係数ベクトルから変換ベクトルを生成するために、逆行列乗算を実行することができる。
上で導入された変換は、1D入力データに対して適用され、変換は、2D入力データソースにも拡張され得る。Xが、入力のM×Nデータアレイであると仮定する。2D入力データに対して変換を適用する通常の方法は、分離可能な2D変換および分離不能な2D変換を含む。
分離可能な2D変換は、下で定式化されるように、Xの水平ベクトルおよび垂直ベクトルに1D変換を順次適用する。
Y=C・X・RT
ここで、CおよびRは、それぞれ所与のM×M変換行列およびN×N変換行列を表す。
この定式化から、Cが、Xの列ベクトルに1D変換を適用し、Rが、Xの行ベクトルに1D変換を適用することがわかる。本開示の後の部分において、単純さのために、CおよびRを左(垂直)変換および右(水平)変換と表し、これらの両方が、変換対を形成する。CがRと等しく、直交行列である場合がある。その場合に、分離可能な2D変換は、1つの変換行列だけによって判定される。
分離不能な2D変換は、まず、一例として次の数学的写像を行うことによって、Xのすべての要素を単一のベクトルすなわちX'に再編成する。
次いで、1D変換T'が、下のようにX'に適用される。
Y=T'・X
ここで、T'は、(M*N)×(M*N)変換行列である。
ビデオコーディングにおいて、分離可能な2D変換は、1D変換と比較してはるかにより少ない演算(加算、乗算)カウントを必要とするので、必ず適用される。下でより詳細に説明するように、本開示は、ビデオエンコーダおよびビデオデコーダがそれを用いて左変換および右変換を選択する例の技法について説明する。
たとえば、ビデオエンコーダおよびビデオデコーダは、複数の変換部分集合を判定することができ、各変換部分集合は、複数の候補変換を識別する。16個の可能な変換(たとえば、DCT-1からDCT-8およびDST-1からDST-8)の例として、ビデオエンコーダおよびビデオデコーダは、3つの変換部分集合を判定することができ、変換部分集合の各々は、16個の変換のうちの2つ以上を含む。ビデオエンコーダおよびビデオデコーダは、3つの変換部分集合のうちの1つを選択し、選択された変換部分集合から左変換(たとえば、C)を判定し、3つの変換部分集合のうちの1つを選択し、選択された変換部分集合から右変換(たとえば、R)を判定することができる。選択される変換部分集合は、異なる部分集合または同一の部分集合とすることができる。
以下は、HEVCにおいて適用される変換タイプの説明である。H.264/AVCなどの従来のビデオコーデックにおいて、4点および8点の離散コサイン変換(DCT)タイプIIの整数近似が、イントラ予測残差とインター予測残差との両方に関して必ず適用される。イントラ予測残差は、イントラ予測からの残差を指し、インター予測残差は、インター予測からの残差を指す。残差、インター予測、およびイントラ予測は、すべて、下でより詳細に説明される。一般に、残差ブロックは、複数の変換ブロックに分割される。ビデオ符号化において、変換は、係数ブロックを生成するために変換ブロックの各々に適用される。ビデオ復号において、変換は、変換ブロックを生成し、残差ブロックを再構成するために、係数ブロックの各々に適用される。
残差サンプルの様々な統計により良く対処するために、DCTタイプII以外の変換のより柔軟なタイプが、新世代ビデオコーデック内で利用される。たとえば、HEVCにおいては、4点タイプVII離散サイン変換(DST)の整数近似が、イントラ予測残差に使用され、これは、DSTタイプVIIが、イントラ予測方向に沿って生成された残差ベクトルに関してDCTタイプIIより効率的であることが、理論的な証明と実験的な検証との両方を行われており、たとえば、DSTタイプVIIは、水平イントラ予測方向によって生成された行残差ベクトルに関してDCTタイプIIより効率的である。たとえば、J. Han、A. Saxena、およびK. Rose、「Towards jointly optimal spatial prediction and adaptive transform in video/image coding」、IEEE International Conference on Acoustics、Speech and Signal Processing(ICASSP)、2010年3月、726〜729頁を参照されたい。
HEVCにおいて、4点DSTタイプVIIの整数近似は、4×4ルーマイントラ予測残差ブロックに関してのみ適用される(ルーマイントラ予測残差ブロックは、下でより詳細に説明される)。HEVCにおいて使用される4点DST-VIIを、図1Aに示す。
HEVCにおいて、4×4ルーマイントラ予測残差ブロックではない残差ブロックに関して、4点、8点、16点、および32点のDCTタイプIIの整数近似も適用される。図1Bは、4点DCT-IIの例を示し、図1Cは、8点DCT-IIの例を示し、図1Dは、16点DCT-IIの例を示し、図1Eは、32点DCT-IIの例を示す。図1A〜図1Eは、タイプIIの異なるサイズのDCTの例を示し、図1A〜図1Eに似て、異なるタイプのN点DCTおよびN点DSTの例がある。
図2は、本開示の技法を利用することのできる例のビデオコーディングシステム10を示すブロック図である。本明細書で使用される時に、「ビデオコーダ」という用語は、ビデオエンコーダとビデオデコーダの両方を総称的に指す。本開示において、「ビデオコーディング」または「コーディング」という用語は、ビデオ符号化またはビデオ復号を総称的に指す。ビデオコーディングシステム10のビデオエンコーダ20およびビデオデコーダ30は、本開示内で説明される様々な例に従って予測残差の機能強化された複数の変換の技法を実行するように構成され得るデバイスの例を表す。
図2に示されているように、ビデオコーディングシステム10は、ソースデバイス12および宛先デバイス14を含む。ソースデバイス12は、符号化されたビデオデータを生成する。したがって、ソースデバイス12は、ビデオ符号化デバイスまたはビデオ符号化装置と呼ばれ得る。宛先デバイス14は、ソースデバイス12によって生成された符号化されたビデオデータを復号することができる。したがって、宛先デバイス14は、ビデオ復号デバイスまたはビデオ復号装置と呼ばれ得る。ソースデバイス12および宛先デバイス14は、ビデオコーディングデバイスまたはビデオコーディング装置の例とすることができる。
ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、モバイルコンピューティングデバイス、ノートブック(たとえば、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、車載コンピュータまたは類似物を含む、広範囲のデバイスを含むことができる。
宛先デバイス14は、チャネル16を介してソースデバイス12から符号化されたビデオデータを受信することができる。チャネル16は、符号化されたビデオデータをソースデバイス12から宛先デバイス14に移動することのできる1つまたは複数の媒体またはデバイスを含むことができる。一例では、チャネル16は、ソースデバイス12が、宛先デバイス14に直接に符号化されたビデオデータをリアルタイムで送信することを可能にする1つまたは複数の通信媒体を含むことができる。この例において、ソースデバイス12は、ワイヤレス通信プロトコルなどの通信標準規格に従って符号化されたビデオデータを変調することができ、変調されたビデオデータを宛先デバイス14に送信することができる。1つまたは複数の通信媒体は、無線周波数(RF)スペクトルまたは1つもしくは複数の物理伝送線など、ワイヤレス通信媒体および/または有線通信媒体を含むことができる。1つまたは複数の通信媒体は、ローカルエリアネットワーク、広域ネットワーク、またはグローバルネットワーク(たとえば、インターネット)などの、パケットベースネットワークの一部を形成することができる。1つまたは複数の通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にする他の機器を含むことができる。
別の例では、チャネル16は、ソースデバイス12によって生成された符号化されたビデオデータを記憶する記憶媒体を含むことができる。この例では、宛先デバイス14は、たとえば、ディスク(disk)アクセスまたはカードアクセスを介して記憶媒体にアクセスすることができる。記憶媒体は、Blu-ray(登録商標)ディスク(disc)、DVD、CD-ROM、フラッシュメモリ、または符号化されたビデオデータを記憶するための他の適切なデジタル記憶媒体など、様々なローカルにアクセスされるデータ記憶媒体を含むことができる。
さらなる例において、チャネル16は、ソースデバイス12によって生成された符号化されたビデオデータを記憶するファイルサーバまたは別の中間記憶デバイスを含むことができる。この例では、宛先デバイス14は、ファイルサーバまたは他の中間記憶デバイスにおいて記憶された符号化されたビデオデータに、ストリーミングまたはダウンロードを介してアクセスすることができる。ファイルサーバは、符号化されたビデオデータを記憶するとともに符号化されたビデオデータを宛先デバイス14へ送信することが可能なタイプのサーバとすることができる。例のファイルサーバは、ウェブサーバ(たとえば、ウェブサイト用の)、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、およびローカルディスク(disk)ドライブを含む。
宛先デバイス14は、インターネット接続などの標準データ接続を介して符号化されたビデオデータにアクセスすることができる。データ接続の例のタイプは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適切な、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、またはその両方の組合せを含むことができる。ファイルサーバからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはその両方の組合せとすることができる。
本開示の技法は、ワイヤレス応用またはワイヤレス設定に限定されない。この技法は、無線テレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、たとえばインターネットを介する、ストリーミングビデオ送信、データ記憶媒体に記憶するためのビデオデータの符号化、データ記憶媒体に記憶されたビデオデータの復号、または他の応用例などの様々なマルチメディア応用をサポートするビデオコーディングに適用され得る。いくつかの例では、ビデオコーディングシステム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの応用例をサポートするために1方向または両方向のビデオ送信をサポートするように構成され得る。
図2に示されたビデオコーディングシステム10は、単に例であり、本開示の技法は、符号化デバイスと復号デバイスとの間のいかなるデータ通信をも必ずしも含まないビデオコーディング設定(たとえば、ビデオ符号化またはビデオ復号)にあてはまる可能性がある。他の例において、データは、ローカルメモリからの取出し、ネットワークを介するストリーミングなどが行われる。ビデオ符号化デバイスは、データを符号化し、メモリに記憶することができ、かつ/またはビデオ復号デバイスは、データをメモリから取り出し、復号することができる。多くの例では、符号化および復号は、お互いに通信しないが、単純にデータをメモリに符号化し、かつ/またはデータをメモリから取り出し、復号するデバイスによって実行される。
図2の例では、ソースデバイス12は、ビデオソース18、ビデオエンコーダ20、および出力インターフェース22を含む。いくつかの例では、出力インターフェース22は、変調器/復調器(モデム)および/または送信器を含むことができる。ビデオソース18は、ビデオ取込デバイス(たとえば、ビデオカメラ)、以前に取り込まれたビデオデータを含むビデオアーカイブ、ビデオコンテンツプロバイダからビデオデータを受信するビデオフィードインターフェース、および/もしくはビデオデータを生成するコンピュータグラフィックスシステム、またはビデオデータのそのようなソースの組合せを含むことができる。
ビデオエンコーダ20は、ビデオソース18からのビデオデータを符号化することができる。いくつかの例では、ソースデバイス12は、符号化されたビデオデータを出力インターフェース22を介して宛先デバイス14に直接に送信する。他の例では、復号および/または再生のための宛先デバイス14による後のアクセスのために、符号化されたビデオデータは、記憶媒体またはファイルサーバに記憶されることも可能である。
図2の例では、宛先デバイス14は、入力インターフェース28、ビデオデコーダ30、およびディスプレイデバイス32を含む。いくつかの例では、入力インターフェース28は、受信器および/またはモデムを含む。入力インターフェース28は、チャネル16を介して符号化されたビデオデータを受信することができる。ディスプレイデバイス32は、宛先デバイス14と一体化されてよく、または宛先デバイス14の外部にあってもよい。一般に、ディスプレイデバイス32は、復号されたビデオデータを表示する。ディスプレイデバイス32は、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなど、様々なディスプレイデバイスを含むことができる。
ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ハードウェア、またはその任意の組合せなどの様々な適切な回路構成のいずれかとして実施され得る。本技法が部分的にソフトウェアにおいて実施される場合に、本開示の技法を実行するために、デバイスは、ソフトウェアのための命令を適切な非一時的コンピュータ可読記憶媒体に記憶することができ、1つまたは複数のプロセッサを使用してハードウェアにおいて命令を実行することができる。前述(ハードウェア、ソフトウェア、ハードウェアとソフトウェアの組合せなどを含む)のいずれもが、1つまたは複数のプロセッサであると見なされ得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれてよく、それらのいずれかが、組み合わされたエンコーダ/デコーダ(コーデック)の一部としてそれぞれのデバイスの中で一体化されてよい。
本開示は、全般的に、ビデオエンコーダ20がビデオデコーダ30などの別のデバイスにある種の情報を「シグナリング」しまたは「送信」することに言及する場合がある。「シグナリングすること」または「送信すること」という用語は、全般に、圧縮されたビデオデータを復号するために使用される構文要素および/または他のデータの通信を指すことができる。そのような通信は、リアルタイムでまたはほぼリアルタイムで発生することができる。代替案では、そのような通信は、符号化の時に符号化されたビットストリーム内の構文要素をコンピュータ可読記憶媒体に記憶する時に発生し得るなど、時間のスパンにわたって発生する可能性があり、この構文要素は、次いで、この媒体に記憶された後の任意の時に復号デバイスによって取り出され得る。
いくつかの例において、ビデオエンコーダ20およびビデオデコーダ30は、上で言及されたHEVC標準規格、HEVCの拡張、またはおそらくは開発中の次世代のビデオコーディング標準規格などのビデオ圧縮標準規格に従って動作する。理解のしやすさのみのために、以下では、HEVC標準規格に関するいくつかの情報を提供する。しかし、本開示において説明される技法が、HEVC標準規格に限定されると考えてはならない。
HEVCおよび他のビデオコーディング標準規格において、ビデオシーケンスは、通常は一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは、SL、SCb、およびSCrと表される3つのサンプルアレイを含むことができる。SLは、ルーマサンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cbクロミナンスサンプルの2次元アレイである。SCrは、Crクロミナンスサンプルの2次元アレイである。クロミナンスサンプルは、本明細書において「クロマ」サンプルと呼ばれることもある。他の場合において、ピクチャは、モノクロームである場合があり、ルーマサンプルのアレイだけを含む場合がある。
ピクチャの符号化された表現を生成するために、ビデオエンコーダ20は、コーディングツリーユニット(CTU:coding tree unit)の集合を生成することができる。CTUの各々は、ルーマサンプルのコーディングツリーブロック、クロマサンプルの2つの対応するコーディングツリーブロック、およびコーディングツリーブロックのサンプルをコーディングするために使用される構文構造とすることができる。コーディングツリーブロックは、サンプルのN×Nブロックとすることができる。CTUは、「ツリーブロック」または「最大コーディングユニット」(LCU:largest coding unit)と呼ばれることもある。HEVCのCTUは、H.264/AVCなどの他の標準規格のマクロブロックにおおまかに類似する可能性がある。しかしながら、CTUは、必ずしも特定のサイズに制限されず、1つまたは複数のコーディングユニット(CU)を含むことができる。スライスは、ラスタスキャンにおいて連続的に順序付けられた整数個のCTUを含むことができる。
コーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロックに対して四分木区分を再帰的に実行して、コーディングツリーブロックをコーディングブロックに分割することができ、これが「コーディングツリーユニット」という名前の由来である。コーディングブロックは、サンプルのN×Nブロックである。CUは、ルーマサンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの、ルーマサンプルのコーディングブロックおよびクロマサンプルの2つの対応するコーディングブロック、ならびにコーディングブロックのサンプルをコーディングするのに使用される構文構造とすることができる。ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分することができる。予測ブロックは、同一の予測が適用されるサンプルの長方形(すなわち、正方形または非正方形)のブロックとすることができる。CUの予測ユニット(PU)は、ピクチャの、ルーマサンプルの予測ブロック、クロマサンプルの2つの対応する予測ブロック、および予測ブロックサンプルを予測するのに使用される構文構造とすることができる。ビデオエンコーダ20は、CUの各PUのルーマ予測ブロック、Cb予測ブロック、およびCr予測ブロックの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成することができる。
ビデオエンコーダ20は、PUの予測ブロックを生成する(たとえば、判定する)ためにイントラ予測またはインター予測を使用することができる。ビデオエンコーダ20が、PUの予測ブロックを生成するのにイントラ予測を使用する場合に、ビデオエンコーダ20は、PUに関連付けられたピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成することができる。
ビデオエンコーダ20が、PUの予測ブロックを生成する(たとえば、判定する)のにインター予測を使用する場合に、ビデオエンコーダ20は、PUに関連付けられたピクチャ以外の1つまたは複数のピクチャの復号されたサンプルに基づいてPUの予測ブロックを生成する。ビデオエンコーダ20は、PUの予測ブロックを生成するのに片方向予測(uni-prediction)または双方向予測(bi-prediction)を使用することができる。ビデオエンコーダ20が、PUの予測ブロックを生成するのに片方向予測を使用する時に、PUは、単一の動きベクトル(MV)を有することができる。ビデオエンコーダ20が、PUの予測ブロックを生成するのに双方向予測を使用する時に、PUは、2つのMVを有することができる。
ビデオエンコーダ20がCUの1つまたは複数のPUの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成した後に、ビデオエンコーダ20は、CUのルーマ残差ブロックを生成することができる。CUのルーマ残差ブロック内の各サンプルは、CUの予測ルーマブロックのうちの1つの中のルーマサンプルとCUの元のルーマコーディングブロックの中の対応するサンプルとの間の差を示す。さらに、ビデオエンコーダ20は、CUのCb残差ブロックを生成することができる。CUのCb残差ブロックの中の各サンプルは、CUの予測Cbブロックのうちの1つの中のCbサンプルと、CUの元のCbコーディングブロックの中の対応するサンプルとの間の差を示すことができる。ビデオエンコーダ20は、CUのCr残差ブロックを生成することもできる。CUのCr残差ブロックの中の各サンプルは、CUの予測Crブロックのうちの1つの中のCrサンプルと、CUの元のCrコーディングブロックの中の対応するサンプルとの間の差を示すことができる。
さらに、ビデオエンコーダ20は、四分木区分を使用して、CUのルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを1つまたは複数のルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに分解することができる。変換ブロックは、同一の変換が適用されるサンプルの長方形ブロックとすることができる。CUの変換ユニット(TU)は、ルーマサンプルの変換ブロック、クロマサンプルの2つの対応する変換ブロック、および変換ブロックサンプルを変換するのに使用される構文構造とすることができる。したがって、CUの各TUは、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックに関連付けられ得る。TUに関連付けられたルーマ変換ブロックは、CUのルーマ残差ブロックのサブブロックとすることができる。Cb変換ブロックは、CUのCb残差ブロックのサブブロックとすることができる。Cr変換ブロックは、CUのCr残差ブロックのサブブロックとすることができる。
ビデオエンコーダ20は、TUのルーマ変換ブロックに1つまたは複数の変換を適用して、TUのルーマ係数ブロックを生成することができる。係数ブロックは、変換係数の2次元アレイとすることができる。変換係数は、スカラ量とすることができる。ビデオエンコーダ20は、TUのCb変換ブロックに1つまたは複数の変換を適用して、TUのCb係数ブロックを生成することができる。ビデオエンコーダ20は、TUのCr変換ブロックに1つまたは複数の変換を適用して、TUのCr係数ブロックを生成することができる。より詳細に説明されるように、本開示は、係数ブロックを生成するために使用すべき変換をビデオエンコーダ20が判定する例の形について説明する。
係数ブロック(たとえば、ルーマ係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後に、ビデオエンコーダ20は、係数ブロックを量子化することができる。量子化は、一般に、変換係数を表すのに使用されるデータの量を場合によっては減らし、さらなる圧縮を提供するために、変換係数が量子化されるプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化された変換係数を示す構文要素をエントロピー符号化することができる。たとえば、ビデオエンコーダ20は、量子化された変換係数を示す構文要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行することができる。ビデオエンコーダ20は、エントロピー符号化された構文要素をビットストリーム内に出力することができる。
ビデオエンコーダ20は、エントロピー符号化された構文要素を含むビットストリームを出力することができる。このビットストリームは、コーディングされたピクチャの表現および関連付けられたデータを形成するビットのシーケンスを含むことができる。このビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを含むことができる。NALユニットの各々は、NALユニットヘッダを含み、生バイトシーケンスペイロード(RBSP:raw byte sequence payload)をカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示す構文要素を含むことができる。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内でカプセル化される整数個のバイトを含む構文構造とすることができる。いくつかの例では、RBSPは、0のビットを含む。
異なるタイプのNALユニットは、異なるタイプのRBSPをカプセル化することができる。たとえば、第1のタイプのNALユニットは、ピクチャパラメータセット(PPS)のRBSPをカプセル化することができ、第2のタイプのNALユニットは、コーディングされたスライスのRBSPをカプセル化することができ、第3のタイプのNALユニットは、SEIのRBSPをカプセル化することができるなどである。(パラメータセットのRBSPおよびSEIメッセージのRBSPではなく)ビデオコーディングデータのRBSPをカプセル化するNALユニットは、ビデオコーディングレイヤ(VCL:video coding layer) NALユニットと呼ばれる場合がある。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信することができる。加えて、ビデオデコーダ30は、構文要素をビットストリームから復号するために、ビットストリームを構文解析することができる。ビデオデコーダ30は、ビットストリームから復号された構文要素に少なくとも部分的に基づいて、ビデオデータのピクチャを再構成することができる。ビデオデータを再構成するプロセスは、一般に、ビデオエンコーダ20によって実行されるプロセスと相反とすることができる。たとえば、ビデオデコーダ30は、PUのMVを使用して、現在のCUのPUに関する予測ブロックを判定することができる。加えて、ビデオデコーダ30は、現在のCUのTUに関連付けられた変換係数ブロックを逆量子化することができる。
ビデオデコーダ30は、現在のCUのTUに関連付けられた変換ブロックを再構成するために、変換係数ブロックに対して逆変換を実行することができる。本開示は、変換係数ブロックに対して逆変換を実行するのに使用される変換をビデオデコーダ30が判定する形の例の技法について説明する。
ビデオデコーダ30は、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応するサンプルに加算することによって、現在のCUのコーディングブロックを再構成することができる。ピクチャのCUごとにコーディングブロックを再構成することによって、ビデオデコーダ30は、ピクチャを再構成することができる。
上で説明したように、CUは、1つまたは複数のTUを含む。以下は、HEVCにおける残差四分木に基づく変換方式について説明する。残差ブロックの様々な特性に適合するために、残差四分木(RQT)を使用する変換コーディング構造が、HEVCにおいて適用され、この変換コーディング構造は、http://www.hhi.fraunhofer.de/fields-of-competence/image-processing/research-groups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.htmlで短く説明されている。
上で説明したように、各ピクチャは、CTUに分割され、このCTUは、特定のタイルまたはスライスに関してラスタスキャン順においてコーディングされる。CTUは、正方形ブロックであり、四分木すなわちコーディングツリーのルートを表す。CTUサイズは、8×8ルーマサンプルから64×64ルーマサンプルまでの範囲にわたることができるが、通常は64×64が使用される。各CTUは、コーディングユニット(CU)と呼ばれるより小さい正方形ブロックにさらに分割され得る。CTUがCUに再帰的に分割された後に、各CUは、予測ユニット(PU)および変換ユニット(TU)にさらに分割される。TUへのCUの区分は、四分木手法に基づいて再帰的に実行され、したがって、各CUの残差信号は、木構造すなわち残差四分木(RQT)によってコーディングされる。RQTは、4×4ルーマサンプルから32×32ルーマサンプルまでのTUサイズを可能にする。
図3は、CUが文字「a」から「j」のラベルを付けられた10個のTUおよび対応するブロック区分を含む例を示す。RQTの各ノードは、実際には変換ユニット(TU)である。個々のTUは、深さ優先木トラバーサル順で処理され、この深さ優先木トラバーサル順は、図3ではアルファベット順として図示され、深さ優先トラバーサルを用いる再帰Zスキャンに従う。四分木手法は、残差信号の変化する空間周波数特性に対する変換の適応を可能にする。通常、より大きい空間サポートを有するより大きい変換ブロックサイズは、より良い周波数分解能を提供する。しかし、より小さい空間サポートを有するより小さい変換ブロックサイズは、より良い空間分解能を提供する。この2つすなわち空間分解能と周波数分解能との間のトレードオフは、たとえばレートひずみ最適化技法に基づいて、エンコーダモード判断(たとえば、ビデオエンコーダ20による)によって選択される。レートひずみ最適化技法は、コーディングモード(たとえば、特定のRQT分割構造)ごとにコーディングビットと再構成ひずみとの加重和すなわちレートひずみコストを計算し、最小のレートひずみコストを有するコーディングモードを最良のモードとして選択する。
3つのパラメータすなわち、木の最大深度、最小の許容される変換サイズ、および最大の許容される変換サイズが、RQTにおいて定義される。最小変換サイズおよび最大変換サイズは、4×4サンプルから32×32サンプルまでの範囲内で変化することができ、このサイズは、前の段落で言及されたサポートされるブロック変換に対応する。RQTの最大の許容される深度は、TUの個数を制約する。0と等しい最大深度は、各含まれるTB(変換ブロック)が最大の許容される変換サイズ、たとえば32×32に達した場合に、CB(コーディングブロック)がそれ以上分解され得ないことを意味する。
これらのパラメータのすべてが、RQT構造と相互作用し、これに影響する。ルートCBサイズが64×64であり、最大深度が0と等しく、最大変換サイズが32×32と等しいケースを考慮されたい。この場合に、CBは、少なくとも1回分割されなければならない。というのは、そうでなければ64×64 TBにつながり、これが許容されないからである。HEVCにおいて、より大きいサイズの変換、たとえば64×64変換は、主にその制限された利益考慮と、相対的により小さい解像度ビデオに関する相対的に高い複雑さとに起因して、採用されない。
RQTパラメータすなわち、最大RQT深度、最小変換サイズ、最大変換サイズは、シーケンスパラメータセットレベルにおいてビットストリーム内で送信される。RQT深度に関して、イントラコーディングされたCUおよびインターコーディングされたCU(すなわち、イントラ予測され符号化されたCU、インター予測され復号されたCU、イントラ予測され符号化されたCU、またはインター予測されたCU)に関して、異なる値が指定され、シグナリングされ得る。
四分木変換は、イントラ残差ブロックとインター残差ブロックとの両方に関して適用される。通常、現在の残差四分木区分の同一のサイズのDCT-II変換が、残差ブロックに関して適用される。しかし、現在の残差四分木区分ブロックが4×4であり、イントラ予測によって生成される場合には、上記の4×4 DST-VII変換が適用される。
以下は、HEVCにおける係数コーディングについて説明する。TUサイズにかかわりなく、変換ユニットの残差は、オーバーラップしない係数グループ(CG)を用いてコーディングされ、それぞれがTUの4×4ブロックの係数を含む。たとえば、32×32 TUは、合計64個のCGを有し、16×16 TUは、合計16個のCGを有する。TUの内部のCGは、ある事前に定義されたスキャン順に従ってコーディングされる。各CGをコーディングする時に、現在のCGの内部の係数は、4×4ブロックのある事前に定義されたスキャン順に従ってスキャンされ、コーディングされる。図4は、4個のCGを含む8×8 TUの係数スキャンを示す。
色成分ごとに、1つのフラグが、現在の変換ユニットが少なくとも1つの非0係数を有するかどうかを示すために、最初にシグナリングされ得る。次いで、少なくとも1つの非0係数がある場合には、変換ユニット内の係数スキャン順において最後の有意な係数の位置が、変換ユニットの左上角に対する相対的な座標を用いて明示的にコーディングされる。座標の垂直成分または水平成分は、そのプレフィックスおよびサフィックスによって表され、ここで、プレフィックスは、トランケーテッドライス(TR:truncated rice)を用いて2進化され、サフィックスは、固定長を用いて2進化される。
last_sig_coeff_x_prefixは、変換ブロック内のスキャン順において最後の有意な係数の列位置のプレフィックスを指定する。last_sig_coeff_x_prefixの値は、両端を含めて0から(log2TrafoSize << 1) - 1までの範囲内にある必要がある。
last_sig_coeff_y_prefixは、変換ブロック内のスキャン順において最後の有意な係数の行位置のプレフィックスを指定する。last_sig_coeff_y_prefixの値は、両端を含めて0から(log2TrafoSize << 1) - 1までの範囲内にある必要がある。
last_sig_coeff_x_suffixは、変換ブロック内のスキャン順において最後の有意な係数の列位置のサフィックスを指定する。last_sig_coeff_x_suffixの値は、両端を含めて0から(1 << ((last_sig_coeff_x_prefix >> 1) - 1)) - 1までの範囲内にある必要がある。
変換ブロック内のスキャン順において最後の有意な係数の列位置LastSignificantCoeffXは、次のように導出される。
- last_sig_coeff_x_suffixが存在しない場合には、次があてはまる。
LastSignificantCoeffX=last_sig_coeff_x_prefix
- そうではない(last_sig_coeff_x_suffixが存在する)場合には、次があてはまる。
LastSignificantCoeffX=(1 << ((last_sig_coeff_x_prefix >> 1) - 1)) * (2 + (last_sig_coeff_x_prefix & 1)) + last_sig_coeff_x_suffix
last_sig_coeff_y_suffixは、変換ブロック内のスキャン順において最後の有意な係数の行位置のサフィックスを指定する。last_sig_coeff_y_suffixの値は、両端を含めて0から(1 << ((last_sig_coeff_y_prefix >> 1) - 1)) - 1までの範囲内にある必要がある。
変換ブロック内のスキャン順において最後の有意な係数の行位置LastSignificantCoeffYは、次のように導出される。
- last_sig_coeff_y_suffixが存在しない場合には、次があてはまる。
LastSignificantCoeffY=last_sig_coeff_y_prefix
- そうではない(last_sig_coeff_y_suffixが存在する)場合には、次があてはまる。
LastSignificantCoeffY=(1 << ((last_sig_coeff_y_prefix >> 1) - 1)) * (2 + (last_sig_coeff_y_prefix & 1)) + last_sig_coeff_y_suffix
scanIdxが2と等しい時に、座標は、次のように交換される。
(LastSignificantCoeffX, LastSignificantCoeffY)=Swap(LastSignificantCoeffX, LastSignificantCoeffY)
コーディングされたそのような位置およびCGの係数スキャン順をも用いて、最後のCG(スキャン順において)を除くCGが非0係数を含むかどうかを示す1つのフラグが、それらのCGに関してさらにシグナリングされる。非0係数を含む可能性があるCGに関して、有意フラグ、係数の絶対値、および符号情報が、事前に定義された4×4係数スキャン順に従って係数ごとにさらにコーディングされ得る。
上で説明したように、本開示内で説明される技法は、ビデオエンコーダ20が変換ブロックを係数ブロックに変換するために適用する変換を判定する形と、ビデオデコーダ30が係数ブロックを変換ブロックに変換するために適用する(たとえば、逆変換として)変換を判定する形とについて説明する。以下は、イントラ予測残差およびインター予測残差に関する複数の変換(たとえば、残差ブロックがイントラ予測から生成される時と残差ブロックがインター予測から生成される時とに関する異なる変換タイプ)について説明する。
いくつかの場合に、DSTタイプVIIが、従来のDCTタイプIIと比較してイントラコーディング効率を効率的に改善できるという事実にもかかわらず、予測残差が様々な統計を提示し、DCTタイプIIおよびDSTタイプVIIの固定された使用が、すべての可能なケースに効率的に適合することができないので、変換効率は、相対的に制限される。いくつかの技法が、異なるケースに適合するために提案されて来た。
S.-C. Lim、D.-Y. Kim、S. Jeong、J. S. Choi、H. Choi、およびY.-L. Lee、「Rate-distortion optimized adaptive transform coding」、Opt. Eng.、vol. 48、no. 8、087004-1-087004-14頁、2009年8月において、予測残差に関するDCTまたはDSTの整数バージョンを適応的に使用する新しい変換方式が提案され、ブロックごとに、DCT変換またはDST変換のどちらが予測残差に使用されるのかがシグナリングされる。Y. YeおよびM. Karczewicz、「Improved H.264 intra coding based on bidirectional intra prediction, directional transform, and adaptive coefficient scanning」、in Proc. 15th IEEE Int. Conf. Image Process.、2008年10月、2116〜2119頁において、各イントラ予測モードが、KLT対として事前に定義された変換の一意の対(CおよびR)に写像され得、その結果、モード依存変換(MDDT:mode dependent transform)があてはまるようになることが提案された。この形で、異なるKLT変換が、異なるイントラ予測モードについて使用され得るが、どの変換が使用されるべきかは、事前に定義され、イントラ予測モードに依存する。
しかしながら、X. Zhao、L. Zhang、S. W. Ma、およびW. Gao、「Video coding with rate-distortion optimized transform」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、no. 1、138〜151頁、2012年1月において、より多くの変換が使用され得、オフライントレーニングプロセスから導出される変換候補の事前に定義された集合からの変換へのインデックスが、明示的にシグナリングされる。MDDTに似て、各イントラ予測方向は、変換の対の一意の集合を有することができる。インデックスは、どの変換対が集合から選択されるのかを指定するためにシグナリングされる。たとえば、最小のブロックサイズ4×4に関して4つまでの垂直KLT変換と4つまでの水平KLT変換とがあり、したがって、16個の組合せが選択され得る。より大きいブロックサイズに関して、より少ない個数の組合せが使用される。「Video coding with rate-distortion optimized transform」において提案された方法は、イントラ予測残差とインター予測残差との両方にあてはまる。インター予測残差に関して、KLT変換の16個までの組合せが、選択され得、組合せ(4×4は4つ、8×8は16個)のうちの1つへのインデックスが、ブロックごとにシグナリングされる。
A. SaxenaおよびF. Fernandes、「DCT/DST-based transform coding for intra prediction in image/video coding」、IEEE Trans. Image ProcessingならびにC. Yeo、Y. H. Tan、Z. Li、およびS. Rahardja、「Mode-dependent transforms for coding directional intra prediction residuals」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、no. 4、545〜554頁、2012年において、複数の変換が使用されるが、KLT変換(通常はトレーニングされる必要がある)を使用する代わりに、DCT(DCT-II)またはDST(DST-VII)が、変換ユニット(同一である左変換と右変換と(たとえば、CおよびR)の両方)に使用され、どちらを使用すべきかは、シグナリングされたフラグによって判定される。F. Zou、O. C. Au、C. Pang、J. Dai、およびF. Lu、「Rate-Distortion Optimized Transforms Based on the Lloyd-Type Algorithm for Intra Block Coding」、IEEE Journal of Selected Topics in Signal Processing、Volume:7、Issue:6、2013年11月において、複数の事前に定義されたKLT変換対が使用され、変換対へのインデックスが、コーディングユニットに関してシグナリングされ(導出される代わりに)、その結果、コーディングユニットの各変換ユニットが、変換の同一の対を使用するようになる。
J. An、X. Zhao、X. Guo、およびS. Lei、「Non-CE7: Boundary-Dependent Transform for Inter-Predicted Residue」、JCTVC-G281において、複数の変換が、CU内のTUのロケーションに従ってTUのインター予測された残差に関して選択される。C変換とR変換との両方が、DST-VIIおよびDST-VIIの反転されたバージョンから選択される。したがって、4つまでの組合せが、CU内のTUに関して可能である。しかしながら、組合せが、PUのロケーションによって完全に判定されるので、どの組合せが使用されているのかをシグナリングする必要はない。
残差の変換に関する技法に関するある種の問題がある可能性がある(たとえば、イントラ予測から生じるイントラ予測された残差に関する問題、しかし、インター予測から生じるインター予測された残差にも適用可能である可能性がある)。既存の方法は、イントラ予測された残差に関してDST変換またはDCT変換の対を使用することができる。しかしながら、これらの変換は、残差信号のすべての可能な分布をカバーすることができない。
たとえば、DCTタイプIIだけが、HEVCにおいて8×8以上のイントラ予測残差ブロックに関して適用され、これは、イントラ予測残差の変化する統計に適合することができない。DCTタイプIIだけが、HEVCにおいてインター予測残差に関して適用され、これは、インター予測残差の変化する統計に適合することができない。変換ブロックサイズまたはイントラ予測モードに依存して変換を単純に選択することは、あまり効率的ではない。というのは、残差統計が、同一のイントラ予測モードまたは同一の変換サイズの下であっても、まだ大きい変動を有する可能性があるからである。
本開示は、以下の技法について説明する。いくつかの例において、以下の技法のうちの1つまたは複数は、上で言及された問題のうちの1つまたは複数に対処することができる。しかしながら、以下の技法が上で言及された問題のうちの1つまたは複数に対処することは、要件ではない。以下の技法は、個別に適用され得る。いくつかの場合に、例の技法の任意の組合せが適用され得る。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、技法を個別に適用することができ、あるいは、いくつかの場合に、1つまたは複数の技法の任意の組合せを適用することができる。
いくつかの例において、HEVCにおいて使用されるDCT-IIベースの変換に加えて、イントラ予測モードによって生成される残差ブロックごとに、ビデオエンコーダ20およびビデオデコーダ30は、DCT族およびDST族からの2つ以上の候補変換から変換を選択することができる。一例として、候補変換は、DCT族およびDST族の異なるタイプに基づく合計16個の変換に属すことができ、DCT-I〜DCT-VIII、DST-I〜DST-VIIIを含むことができるが、これに限定はされない。その代わりにまたはそれに加えて、ビデオエンコーダ20およびビデオデコーダ30は、他の正弦曲線ユニタリ変換を使用することができ、または、他のKLT変換さえ使用され得る。TUごとに、水平変換および垂直変換(たとえば、右変換および左変換)は、同一のタイプとすることができる。たとえば、候補変換は、DST-VII、DCT-VIII、DST-I、およびDST-Vである。
上で説明したように、16個の変換(たとえば、DCT-IからDCT-VIIIおよびDST-IからDST-VIII)がある。どの変換を使用すべきかを識別する1つの形は、ビデオエンコーダ20およびビデオデコーダ30が、これらの16個の変換のリストを構成することである。次いで、ビデオエンコーダ20は、左変換(たとえば、式Y=C*X*RTの変換C、ここで、Xは変換ブロックであり、Yは結果の係数ブロックである)を識別するためにリスト内への第1のインデックスをシグナリングし(たとえば、ビットストリーム内で生成し)、右変換(たとえば式Y=C*X*RTの変換R)を識別するためにリスト内への第2のインデックスをシグナリングする(たとえば、ビットストリーム内で生成する)ことができる。次いで、ビデオデコーダ30は、ビットストリームから第1のインデックスおよび第2のインデックスを受信し、ビデオデコーダ30が係数ブロックを変換ブロックに逆変換するのに使用すべき変換CおよびRを判定する。
この例において、第1のインデックスの値は、0から15の範囲にわたる可能性があり、第2のインデックスの値は、0から15の範囲にわたる可能性がある。一般に、より大きい数のコーディングは、より小さい数のコーディングより多数のビットをシグナリングすることを必要とする(たとえば、インデックス値15を示すことは、インデックス値2を示すことより多くのビットを必要とする)。リストが16個すべての変換を含む場合には、望ましいものより多くの帯域幅を消費するシグナリングオーバーヘッドがある可能性がある。しかし、HEVCにおいて行われているように、どの変換を使用できるのかに関するオプションを制限することは、シグナリングオーバーヘッドを低減させはするが、より良い変換が使用可能ではないのでコーディング効率に悪影響を及ぼすことがある。
本開示において説明される技法において、ビデオエンコーダ20およびビデオデコーダ30は、シグナリングオーバーヘッドに対する小さい影響を伴って、相対的に大量の候補変換から左変換および右変換を判定できる可能性がある。一例として、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ複数の変換部分集合を判定することができ、各変換部分集合は、複数の候補変換を識別する。
たとえば、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ次の3つの変換部分集合すなわち、変換部分集合0:{DST-VII, DCT-VIII}、変換部分集合1:{DST-VII, DST-I}、および変換部分集合2{DST-VII, DCT-V}を構成し、変換部分集合をメモリ内に記憶することができる。いくつかの例において、この3つの変換は、ビデオエンコーダ20およびビデオデコーダ30のメモリ内に事前に記憶され得る。どの場合にも、ビデオエンコーダ20およびビデオデコーダ30は、この3つの変換部分集合を判定するものと考えられ得、3つの変換部分集合の各々は、複数の候補変換(たとえば、この例においては2つの変換)を識別する。複数の変換部分集合は、3つより多数または3つより少数の変換部分集合を含むことができ、一般に、2つ以上の変換部分集合を含む。各変換部分集合は、1つまたは複数の候補変換を含むことができるが、少なくとも1つは、複数の候補変換を識別する。たとえば、いくつかの変換部分集合は、1つの変換だけを識別することができ、他の変換部分集合は、2つ以上の変換を識別することができる。いくつかの例において、各変換部分集合は、相対的に少数の変換(たとえば、5つ以下)を識別することができる。
本開示において説明される技法において、ビデオエンコーダ20およびビデオデコーダ30は、対応する変換部分集合を判定することができる。たとえば、ビデオエンコーダ20内に記憶された変換部分集合が、変換部分集合0:{DST-VII, DCT-VIII}、変換部分集合1:{DST-VII, DST-I}、および変換部分集合2:{DST-VII, DCT-V}である場合に、ビデオデコーダ30は、逆変換部分集合すなわち、逆変換部分集合0:{IDST-VII, IDCT-VIII}、逆変換部分集合1:{IDST-VII, IDST-I}、および逆変換部分集合2:{IDST-VII, IDCT-V}を記憶することができる。別の例として、ビデオデコーダ30は、ビデオエンコーダ20と同一の変換を記憶することができ、逆変換を適用する前にそれらを逆転することができる。どちらの例においても、ビデオエンコーダ20およびビデオデコーダ30は、対応する変換部分集合(たとえば、同一の部分集合またはお互いの逆変換を有する部分集合)を記憶するものと考えられ得る。
ビデオエンコーダ20およびビデオデコーダ30は、左変換および右変換の変換部分集合を選択するのに暗黙の技法を利用することができる。暗黙の技法とは、ビデオエンコーダ20が、どの変換部分集合を選択すべきかに関してビデオデコーダ30に指示する情報をビデオデコーダ30にシグナリングする必要がないことを意味する。ビデオエンコーダ20およびビデオデコーダ30は、シグナリングされる必要がある情報の量の増加をまったく伴わずにビデオエンコーダ20およびビデオデコーダ30が同一の変換部分集合を選択することをもたらす、変換部分集合を選択するための同一の暗黙の技法を実行するように構成され得る。
一例として、変換ブロックがイントラ予測から生成される場合に、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測モードに基づいて、どの変換部分集合を選択すべきかを判定することができる。たとえば、ビデオエンコーダ20およびビデオデコーダ30は、それぞれ、それから左変換が判定される変換部分集合およびそれから右変換が判定される変換部分集合に対してイントラ予測モードを写像するテーブルを記憶することができる。
一例として、ビデオエンコーダ20は、イントラ予測モードXにおいて現在のブロックをイントラ予測符号化することができる。この例では、ビデオエンコーダ20は、イントラ予測モードXにおいて現在のブロックをイントラ予測符号化することから生成された残差ブロックから変換ブロックを生成する。ビデオエンコーダ20は、イントラ予測モードXに基づいて左変換の変換部分集合を選択し、イントラ予測モードXに基づいて右変換の変換部分集合を選択することができる。ビデオエンコーダ20は、下でより詳細に説明されるようにそれぞれの選択された変換部分集合から左変換および右変換を判定し、変換を適用して係数ブロックを生成することができる。
ビデオエンコーダ20は、係数ブロックの係数値を示す情報、ならびに、係数ブロックから生成された変換ブロックがイントラ予測モードXを使用してイントラ予測符号化されたブロックに対するものであることを示す情報を含むビデオビットストリームを生成することができる。ビデオデコーダ30は、シグナリングされた情報から係数ブロックを生成し、やはりシグナリングされた情報からイントラ予測モードがモードXであったことを判定することができる。ビデオデコーダ30は、イントラ予測モードがモードXであったことに基づいて、左変換の変換部分集合(この場合にはビデオエンコーダ20によって適用された変換の逆)および右変換の変換部分集合(この場合にはビデオエンコーダ20によって適用された変換の逆)を選択することができる。
どの変換部分集合がどのイントラ予測モードに写像するのかを示す記憶された写像は、ビデオエンコーダ20側およびビデオデコーダ30側で同一である。したがって、ビデオエンコーダ20およびビデオデコーダ30は、対応する変換部分集合を選択する。ビデオデコーダ30は、下でより詳細に説明されるように、それぞれの選択された変換部分集合から左変換および右変換を判定し、その変換を適用して変換ブロックを生成し得る。
上の例は、イントラ予測モードに関して説明されたが、本開示において説明される技法は、それに限定されない。いくつかの例において、イントラ予測モードではなく、ビデオエンコーダ20およびビデオデコーダ30は、RQT深度、量子化された係数、および類似物などの他の情報に基づいてそれぞれの変換部分集合を選択することができる。
また、上の例は、イントラ予測に関して説明されたが、本開示において説明される技法は、インター予測にも拡張され得る。たとえば、上に似て、ビデオエンコーダ20およびビデオデコーダ30は、複数の変換部分集合を判定することができる。インター予測の場合に関するこの複数の変換部分集合は、イントラ予測の場合に関する複数の変換部分集合と同一または異なるものとすることができる。いくつかの場合に、インター予測の場合に関する複数の変換部分集合は、イントラ予測の場合に関する複数の変換部分集合の、すべてではなく一部と同一とすることができる。
インター予測に関して、ビデオエンコーダ20およびビデオデコーダ30は、変換ブロックが関連付けられたPU、CU、またはLCUに対する相対的な変換ブロックの位置の間の写像を記憶することができる。たとえば、写像は、変換ブロックがPU、CU、またはLCUの左境界にある場合に、変換部分集合の第1のグループが選択される(たとえば、左変換の1つの変換部分集合および右変換の1つの変換部分集合)ことを示すことができる。変換ブロックがPU、CU、またはLCUの右境界にある場合に、変換部分集合の第2のグループが選択され、上境界および下境界に関しても同様であり、ここで、それぞれの場合に、ビデオエンコーダ20およびビデオデコーダ30は、左変換の1つの変換部分集合および右変換の1つの変換部分集合を選択する。
ビデオエンコーダ20およびビデオデコーダ30は、特定の順序でピクチャのブロックを符号化し、復号することができる。したがって、符号化されまたは復号されたばかりのブロックのロケーションに基づいて、ビデオエンコーダ20およびビデオデコーダ30は、PU、CU、またはLCU内の変換ブロックのロケーションを判定することができる。やはり、ビデオデコーダ30の展望から、ビデオデコーダ30は、係数ブロックから変換ブロックを生成している。しかし、復号順序に基づいて、ビデオデコーダ30は、係数ブロックから生成されるべき変換ブロックのロケーションを判定することができる可能性がある。
この形で、ビデオエンコーダ20およびビデオデコーダ30は、シグナリングされる必要がある情報の量の増加をまったく伴わずに、左変換および右変換がそれから判定されるそれぞれの変換部分集合を判定することができる。いくつかの例において、ビデオエンコーダ20が、変換部分集合を選択した後に、ビデオエンコーダ20は、選択された変換部分集合内のどの変換が左変換に関し、どの変換が右変換に関するのかを示す情報をシグナリングする(たとえば、ビデオビットストリーム内に情報を生成する)ことができる。ビデオデコーダ30は、シグナリングされた情報を受信し、左変換および右変換を判定する。
たとえば、ビデオエンコーダ20は、左変換に関して選択された変換部分集合内へのインデックスをシグナリングし(たとえば、ビットストリーム内で生成し)、右変換に関して選択された変換部分集合内へのインデックスをシグナリングする(たとえば、ビットストリーム内で生成する)ことができる。ビデオデコーダ30は、それぞれの変換部分集合へのそれぞれのインデックスを受信し、左変換および右変換を判定することができる。
この例において、シグナリングされる必要がある情報の増加がある可能性がある(たとえば、左変換および右変換を判定するためのインデックスがシグナリングされる)。しかしながら、シグナリングされる必要がある情報の増加は、最小限とすることができる。上で説明したように、変換部分集合の各々は、相対的に少数の変換を識別することができる。したがって、インデックス値の範囲は、相対的に狭いものとすることができる(たとえば、各変換部分集合が識別する変換の最大個数が5の場合に0から4まで)。
したがって、シグナリングオーバーヘッドにおける相対的に小さい増加に関して、本開示において説明される技法は、選択され得る変換の個数における相対的に大きい増加を可能にする。たとえば、それぞれが1つまたは複数の変換を含む複数の変換部分集合があるので、16個の例の変換のうちの多数、おそらくはすべてが、変換のうちの1つまたは複数の中で識別され得る。変換部分集合が、暗黙の技法を用いて選択されるので、シグナリングオーバーヘッドにおける増加はなく、各変換部分集合が、相対的に少数の変換を識別するので、特定の変換の識別は、シグナリングオーバーヘッドを劇的には増加させない。
いくつかの例において、シグナリングオーバーヘッドの量をさらに低減することが可能である場合がある。たとえば、いくつかの例において、ビデオエンコーダ20およびビデオデコーダ30は、上で説明したように変換部分集合を選択するが、次いで、ある種の条件に基づいてそれぞれの変換部分集合の各々から特定の変換を判定するように構成され得る。この場合において、ビデオエンコーダ20は、選択された変換部分集合内のどの変換を使用すべきかを示す情報をシグナリングする必要がないものとされ得、ビデオデコーダ30は、その情報を受信する必要がないものとされ得る。
一例として、符号化プロセス中に、ビデオエンコーダ20は、選択された変換部分集合からの特定の変換(たとえば、選択された変換部分集合内の最初に識別された変換)を使用し、変換が適用された後に、結果の係数ブロック内の非0係数の個数がしきい値未満であると判定することができる。この場合において、ビデオデコーダ30は、係数ブロックの係数値を示す情報を受信し、非0係数の個数がしきい値未満であると同様に判定することができる。いくつかの例では、ビデオデコーダ30が、係数ブロック内の非0係数の個数がしきい値(たとえば、1または2)未満であると同様に判定する場合に、ビデオデコーダ30は、ビデオデコーダ30が選択された変換部分集合からの特定の変換(たとえば、選択された変換部分集合内の最初に識別された変換)を使用しなければならないと判定することができる。
たとえば、イントラ予測モードに基づいて、ビデオエンコーダ20が、左変換の変換部分集合が部分集合0であり、右変換の変換部分集合が部分集合1であると判定したと仮定する。この場合において、ビデオエンコーダ20は、部分集合0内で最初に識別される変換が、左変換として使用され、部分集合1内で最初に識別される変換が、右変換として使用される場合に、結果の係数ブロック内の非0係数の個数がしきい値未満であると判定することができる。この例において、ビデオエンコーダ20は、部分集合0および部分集合1内で最初に識別される変換が、それぞれ左変換および右変換として使用されるべきであることを示す情報をシグナリングしなくてもよい。他の場合において、部分集合0(または部分集合1)内で最初に識別される変換が、左変換(または右変換)として使用されない場合に、結果の係数ブロック内の非0係数の個数は、しきい値未満である。この例において、ビデオエンコーダ20は、部分集合0および部分集合1内で識別される変換が、左変換および右変換として使用され得ないという制約を追加する。
ビデオデコーダ30は、イントラ予測モードを受信し、ビデオエンコーダ20と同様に、イントラ予測モードに基づいて、変換部分集合0および変換部分集合1がそれぞれ左変換および右変換に関して選択されるべきであると判定することができる。また、係数値を示す情報から係数ブロックを生成した後に、ビデオデコーダ30は、係数ブロック内の非0係数の個数がしきい値未満であることも判定することができる。ビデオデコーダ30は、非0係数の個数がしきい値未満なので、部分集合0内の最初に識別される変換および部分集合1内の最初に識別される変換がそれぞれ左変換および右変換として使用されるべきであることを、この情報をビデオエンコーダ20から受信せずに判定することができる。
上の例において、変換部分集合は、16個の変換(すなわち、8つのDCTおよび8つのDST)から形成される。しかしながら、本開示において説明される技法は、それに限定されない。変換の追加の例は、KLT変換を含む。したがって、変換部分集合は、8つのDCT、8つのDST、KLT変換、および他の変換の例からの1つまたは複数の変換を含むことができる。説明のしやすさだけのために、8つのDCTおよび8つのDSTに関する例が説明される。
要約として、本開示において説明される例のいくつかにおいて、3つ以上の候補変換からの事前選択が、変換の部分集合を定式化するために実行され、現在のTUに関して使用されるべき最終的な変換が、変換の部分集合から選択される。たとえば、変換の部分集合は、左変換の部分集合および/または右変換の部分集合を合成することができる。変換の部分集合(または左変換の部分集合および右変換の部分集合)を定式化するための事前選択は、イントラ予測モード、RQT深度、量子化された係数、その他などの既に復号された情報によって判定され得る。
変換の部分集合の個数は、小さい整数、たとえば1、2、3、または4に制限され得、変換の異なる部分集合は、異なるタイプの変換を含む。一例において、それぞれが2つの変換を含む変換の3つの部分集合が作成される。所与のイントラ予測モードに基づいて、左変換の部分集合が、3つの部分集合のうちの1つにセットされ、右変換の部分集合も、3つの部分集合のうちの1つ(左変換の部分集合と同一であってもなくてもよい)にセットされる。一例として、変換の3つの部分集合は、{DST-VII, DCT-VIII}、{DST-VII, DST-I}、および{DST-VII, DCT-V}である。左変換の部分集合または右変換の部分集合のいずれかが、上の3つの部分集合のうちの1つになることができる。したがって、様々なイントラ予測モードは、左変換および右変換の部分集合の9つまでの異なる組合せに対応することができる。その代わりにまたはそれに加えて、左変換の部分集合または右変換の部分集合は、1つの変換だけを含む。その代わりにまたはそれに加えて、左変換の部分集合と右変換の部分集合との両方が、1つの変換だけを含むことができる。
上で説明した例において、変換部分集合および変換部分集合内で識別される変換は、TUサイズにかかわりなく同一とすることができ、変換部分集合内の変換の個数は、異なるイントラ予測モードに関して同一とすることができる。しかしながら、本開示において説明される技法は、それに限定されない。
いくつかの例において、異なるTUサイズに関して、左/右変換の部分集合内の変換の個数は、異なるものとすることができ、変換の通常の個数は、2、3、および4とすることができるが、これに限定はされない。異なるイントラ予測モードに関して、左/右変換の部分集合内の変換の個数は、異なるものとすることができ、変換の通常の個数は、2、3、および4とすることができるが、これに限定はされない。
上で説明したように、変換の部分集合が事前に選択される時に、使用されるべき最終的な変換は、変換の部分集合へのインデックスによってシグナリングされ得る。左変換の部分集合(または右変換の部分集合)が、2つ以上の変換を含む時に、左変換の部分集合(または右変換の部分集合)に属する変換へのインデックスが、シグナリングされる。これは、左変換または右変換の部分集合の個数が1と等しい時に、変換のインデックスをシグナリングする必要がないことを意味する。
上の例は、ビデオエンコーダ20およびビデオデコーダ30が、変換部分集合を定式化するために事前選択することができる事例について説明した。しかしながら、本開示において説明される例は、それに限定されない。その代わりにまたはそれに加えて、変換の部分集合を定式化するために事前選択を行う必要がない場合があり、2つ以上の候補変換(完全な集合として)への1つのインデックスが、左変換または右変換を示すために直接にシグナリングされる。たとえば、ビデオエンコーダ20において、完全な集合内の変換のうちの一部だけがテストされ得、他の変換は、エンコーダ複雑さを低減するためにテストされないという制約が、導入され得る。どの変換を選択すべきかと変換のインデックスとは、イントラ予測モードまたは他の情報に依存するものとすることができる。
いくつかの例において、TUごとに、左変換(右変換)に関して、ビデオエンコーダ20およびビデオデコーダ30が、候補変換の部分集合から左変換および右変換を選択できることが、制約され得る。たとえば、変換の唯一の部分集合は、DST-VII、DCT-VIII、およびDCT-IIを含み、TUごとの左変換は、必ず{DST-VII, DCT-VIII, DCT-II}から選択され、TUごとの右変換も、必ず{DST-VII, DCT-VIII, DCT-II}から選択される。
上で説明したように、本開示において説明される例の技法は、イントラ予測とインター予測との両方に適用可能である可能性がある。HEVCにおいて、インター予測から生成された変換ブロックに関して、DCT-IIベースの変換だけが使用可能であった。いくつかの例において、HEVCにおける従来のDCT-IIベースの変換に加えて、インター予測モードによって生成される残差ブロックごとに、ビデオエンコーダ20およびビデオデコーダ30は、左変換の部分集合および右変換の部分集合が作成されることに加えて、DCT族およびDST族または他の変換、たとえばKLTからの2つ以上の候補変換方法から変換を選択することができる。イントラ予測に関する上の例と同様に、ビデオエンコーダ20は、TUごとに左変換の部分集合へのインデックスおよび右変換の部分集合へのインデックスをシグナリングする(たとえば、ビットストリーム内で生成する)ことができ、ビデオデコーダ30は、左変換および右変換を判定するために、TUごとに左変換の部分集合へのインデックスおよび右変換の部分集合へのインデックスをビットストリーム内で受信することができる。
一例として、2つの変換、たとえばDST-VIIおよびDCT-VIIIが、左変換の部分集合および右変換の部分集合内に置かれる。これらの部分集合の各々への1ビットインデックスが、現在のTUの最終的な左変換および右変換を判定する。部分集合は、{DST-VII, DCT-VIII}または{DST-VIII, DCT-VII}のいずれかとすることができる。
その代わりにまたはそれに加えて、3つ以上の候補変換からの事前選択が、変換の部分集合を定式化するために実行され、現在のTUに関して使用されるべき最終的な変換が、変換の部分集合から選択される。たとえば、変換の部分集合(または左変換の部分集合および右変換の部分集合)を定式化するための事前選択は、属するPUに対する現在のTUの相対位置すなわち、現在のTUが上境界、左境界、右境界、下境界、または属するPUの他の位置のどれに配置されているのかによって判定され得る。
一例において、それぞれが2つの変換を含む変換の3つの部分集合が作成される。属するPUに対する現在のTUの相対位置に基づいて、左変換の部分集合が、3つの部分集合のうちの1つにセットされ、右変換の部分集合も、3つの部分集合のうちの1つ(左変換の部分集合と同一であってもなくてもよい)にセットされる。その代わりにまたはそれに加えて、左変換の部分集合または右変換の部分集合は、1つの変換だけを含む。その代わりにまたはそれに加えて、左変換の部分集合と右変換の部分集合との両方は、1つの変換だけを含むことができる。
上の例において、上で説明したように、ビデオエンコーダ20およびビデオデコーダ30は、CUのTUごとに変換部分集合を選択し、次いで、TUごとに左変換および右変換を判定することができる。この例において、どの変換を使用すべきかの判定は、TUレベルにあると考えられる。しかしながら、本開示において説明される例は、それに限定されない。
いくつかの場合において、ビデオエンコーダ20は、CUのTUごとの左変換および右変換が、同一のデフォルト変換(たとえば、一例としてDCT-IIであるが、他の変換タイプも可能である)でなければならないと判定することができる。また、左変換のデフォルト変換および右変換のデフォルト変換がある場合があり、または、左変換のデフォルト変換および右変換のデフォルト変換が同一である場合がある。以下の説明において、「デフォルト変換」という用語は、左変換のデフォルト変換および右変換のデフォルト変換が異なる場合と、左変換のデフォルト変換および右変換のデフォルト変換が同一である場合との両方を含むと解釈されなければならない。たとえば、左変換のデフォルト変換および右変換のデフォルト変換(たとえば、異なる場合または同一の場合)が、事前に選択され、ビデオエンコーダ20およびビデオデコーダ30にとって同一である場合がある。
ビデオエンコーダ20が、CUの各TUが同一のデフォルト変換を有しなければならないと判定する場合に、ビデオエンコーダ20は、それを示す情報をシグナリングする(たとえば、それを示す情報をビデオビットストリーム内で生成する)ことができる。この例において、ビデオエンコーダ20は、シグナリングされる必要がある情報の量を低減するために変換部分集合内へのインデックスをシグナリングしないものとすることができる。というのは、ビデオデコーダ30が、受信された情報に基づいてCUのTUごとにデフォルト変換が使用されるべきであると判定できるからである。
一例として、ビデオエンコーダ20は、CUの各TUが同一のデフォルト変換を適用すべきであるかどうかを示すフラグをシグナリングする(たとえば、ビットストリーム内で生成する)ことができる。このフラグが第1の値(たとえば、デジタルハイ)である場合に、CUの各TUは、同一のデフォルト変換を適用された。このフラグが第2の値(たとえば、デジタルロウ)である場合に、CUの少なくとも1つのTUは、デフォルト変換以外の変換を適用された。CUの少なくとも1つのTUが、異なる変換を適用された場合において、上で説明したように、ビデオエンコーダ20は、必要な場合に(たとえば、しきい値を超える非0係数)、変換部分集合を選択し、変換部分集合内のインデックスをシグナリングすることができる。CUの各TUが同一のデフォルト変換を適用された場合において、ビデオデコーダ30が既にどの変換を使用すべきかを判定できるので、ビデオエンコーダ20は、変換部分集合のいずれのインデックスもシグナリングしないものとすることができる。
ビデオデコーダ30は、CUの各TUが同一のデフォルト変換を適用すべきかどうかを示すフラグを受信することができる。このフラグが第1の値を有する場合に、ビデオデコーダ30は、変換部分集合が選択される必要がなく、変換部分集合内へのインデックスがビットストリームから構文解析される(たとえば、受信される)必要がないと判定することができる。この場合において、ビデオデコーダ30は、CUの各係数ブロックにデフォルト変換を適用することができる。このフラグが第2の値を有する場合に、ビデオデコーダ30は、変換部分集合が選択されなければならないと判定し、インデックスが受信されなければならないかどうかを判定し(たとえば、非0係数の個数に基づいて)、インデックスが受信されなければならないとの判定に基づいて、選択された変換部分集合内のインデックスを受信することができる。
上の例において、各TUが同一のデフォルト変換を使用すべきであるかどうかを示すフラグは、CUレベルにある(たとえば、CUの各TUが同一のデフォルト変換を使用することを示す)。いくつかの例において、このフラグは、CUレベルではなく、CTUレベルまたはPUレベルにあるものとすることができる。
たとえば、ビデオエンコーダ20は、あるブロックのすべての変換ブロックが同一の変換を使用して変換されるのかどうかを示すフラグをシグナリングする(たとえば、ビットストリーム内で生成する)ことができる。ブロックのすべての変換ブロックが同一の変換を使用して変換されるのではないことを示すフラグを受信することに応答して、ビデオデコーダ30は、上で説明したように、変換部分集合を選択し、選択された変換内のインデックスを判定することができる。ブロックのすべての変換ブロックが同一の変換を使用して変換されることを示すフラグを受信することに応答して、ビデオデコーダ30は、そのブロックの変換ブロックの各々についてその変換を使用することができる。この例において、「ブロック」は、少数の例として、CTU、CU、またはPUのうちの1つとすることができる。
要約として、TUごとに使用されるべき変換のシグナリングは、たとえば上で説明したように、現在のCUが追加の変換を利用する時にTUレベルにおいて行われ得る。たとえば、ビデオエンコーダ20は、CU内のTUが追加の変換を用いて(たとえば、HEVC内の変換以外の変換を使用して)コーディングされるのかどうかを示す1つのフラグをCUごとに送信することができる。その代わりにまたはそれに加えて、そのような指示は、LCUレベル(CTUレベル)、CUレベル、PUレベル、TU、または任意の他のブロックレベルにおいてシグナリングされ得る。
フラグが、CU内のTUのどれもが追加の変換を用いてコーディングされないことを示す時に、すべてのTUが、1つのデフォルト変換を用いてコーディングされる。一例において、デフォルト変換は、DCT-IIである。その代わりにまたはそれに加えて、デフォルト変換は、イントラ/インターモード、イントラ予測モード、ブロックサイズ、PU内のTU位置、または現在のCUの任意の他の統計に依存することができる。たとえば、上で説明したように、ビデオエンコーダ20およびビデオデコーダ30は、同一のデフォルト変換を判定することができ、それに関してデフォルト変換を使用すべき条件は、イントラ/インターモード、イントラ予測モード、ブロックサイズ、PU内のTU位置、または現在のTUの任意の他の統計などの要因に基づくものとすることができる。この形で、デフォルト変換を使用することによって、シグナリングされる必要がある情報の量が、低減され得る。
加えて、指示は、異なる階層内に存在することができる。たとえば、ビデオエンコーダ20は、LCU(CTU)レベルにおいて1ビットフラグをまずシグナリングし(たとえば、ビットストリーム内で生成し)、この1ビットフラグが0である場合に、ビデオエンコーダ20およびビデオデコーダ30は、CUごとにDCT-IIだけを適用することができ、そうではなく、この1ビットフラグが1である場合に、ビデオエンコーダ20は、CU内のTUが複数の変換またはデフォルト変換のみのどちらを使用できるのかを指定する別のフラグをCUレベルでシグナリングすることができる。
この例において、ビデオデコーダ30は、特定の階層レベル内のすべてのTUがデフォルト変換を使用するのかどうかを各階層レベルにおいて判定することができる。たとえば、CTUレベルでのフラグが、CTUのすべてのTUが同一のデフォルト変換を使用すべきであることを示す場合に、ビデオデコーダ30は、CTUのすべてのTUに関して同一のデフォルト変換を使用することができる。CTUレベルでのフラグが、CTUのすべてのTUが同一のデフォルト変換を使用すべきではないことを示す場合に、ビデオデコーダ30は、上で説明したように、変換部分集合を選択し、CTUのTUごとに変換を判定することができる。
いくつかの場合において、CTUレベルにおいて停止し、TUごとに変換を判定するのではなく、CTUのCUの各々について別のフラグがあってもよい。たとえば、ビデオデコーダ30は、CUのすべてのTUが同一のデフォルト変換を使用しまたは同一のデフォルト変換を使用しないのどちらであるのかを示す、CTUのCUごとのフラグを受信することができる。CUに関して、ビデオデコーダ30が、CUのすべてのTUが同一のデフォルト変換を使用することを示すフラグを受信する場合に、ビデオデコーダ30は、デフォルト変換を適用することができる。CUに関して、ビデオデコーダ30が、CUのすべてのTUが同一のデフォルト変換を使用するのではないことを示すフラグを受信する場合に、ビデオデコーダ30は、上で説明したように、変換部分集合を選択し、CUのTUごとに変換を判定することができる。
いくつかの場合において、CUレベルにおいて停止し、TUごとに変換を判定するのではなく、CUのPUの各々について別のフラグがあってもよい。たとえば、ビデオデコーダ30は、PUのすべてのTUが同一のデフォルト変換を使用しまたは同一のデフォルト変換を使用しないのどちらであるのかを示す、CUのPUごとのフラグを受信することができる。PUに関して、ビデオデコーダ30が、PUのすべてのTUが同一のデフォルト変換を使用することを示すフラグを受信する場合に、ビデオデコーダ30は、デフォルト変換を適用することができる。PUに関して、ビデオデコーダ30が、PUのすべてのTUが同一のデフォルト変換を使用するのではないことを示すフラグを受信する場合に、ビデオデコーダ30は、上で説明したように、変換部分集合を選択し、PUのTUごとに変換を判定することができる。
その代わりにまたはそれに加えて、さらに、CUのオーバーラップブロック動き補償(OBMC)フラグがオフとしてシグナリングされる時に、1つのデフォルト変換だけが適用されるのかどうかを示す1ビットフラグは、現在のCUに関してシグナリングされず、デフォルト変換(たとえば、DCT-II)が適用されることを示すデフォルト値(たとえば、0)として推論される。その代わりにまたはそれに加えて、1つのデフォルト変換だけが適用されるのかどうかを示す、1つのブロックの1ビットフラグのCABACコンテキストモデリングは、OBMCが現在のスライスに関して許可される(たとえば、OBMCフラグの値に依存する)時に現在のブロックのOBMCフラグに依存する。
一例において、OBMCフラグ(暗黙のうちに導出されるまたは明示的にシグナリングされるのいずれか)が真(すなわち、1と等しい)時に、ビデオエンコーダ20およびビデオデコーダ30は、1ビットフラグのCABAC符号化またはCABAC復号に関してコンテキストモデルの1つのセットを使用することができる。OBMCフラグが偽である(すなわち、0と等しい)時に、コンテキストモデルの別のセットが、1ビットフラグのコーディングに関して使用され得る。その代わりにまたはそれに加えて、さらに、コンテキストモデルの2つのセットの初期化された確率は、異なるものとすることができる。その代わりにまたはそれに加えて、1つのデフォルト変換だけが適用されるかどうかを示す、1つのブロックの1ビットフラグのCABACコンテキストモデリングは、空間的に隣接するブロック(たとえば、左の隣接するブロックおよび/または上の隣接するブロック)または時間的に隣接するブロック(たとえば、参照ピクチャ内の同一位置に配置されたブロック)の対応する1ビットフラグの値に依存する。
CUが、追加の変換を使用可能にされる(たとえば、HEVCの制限された選択より多数を意味する)時に、TUごとに、ビデオエンコーダ20は、シグナリングすることができ、ビデオデコーダ30は、上で説明したように、(集合または部分集合の)候補変換からの変換へのインデックスを受信することができる。その代わりにまたはそれに加えて、ビデオエンコーダ20は、そのような情報をシグナリングすることができ、ビデオデコーダ30は、LCUレベル、CUレベル、PUレベル、または任意の他のブロックレベルにおいてそのような情報を受信することができる。ビデオエンコーダ20が、インジケータがLCUレベル、CUレベル、PUレベル、または任意の他のブロックレベルにあることをシグナリングする時に、そのレベル内に含まれるすべてのTUは、変換の同一の対を使用することができる。
たとえば、ビデオエンコーダ20およびビデオデコーダ30は、上で説明したように変換部分集合を選択することができる(たとえば、イントラ予測モードに基づいて、またはインター予測のTUのロケーションに基づいて)。いくつかの例において、変換ブロックごとに、ビデオエンコーダ20は、インデックスをシグナリングすることができ、ビデオデコーダ30は、変換ブロックごとにインデックスを受信することができる。しかしながら、いくつかの例において、変換ブロックごとにインデックスを受信するのではなく、ビデオエンコーダ20は、少数の例としてCTUのすべてのTU、CUのすべてのTU、またはPUのすべてのTUに関する左変換の1つのインデックスおよび右変換の1つのインデックスをシグナリングすることができる。この例において、ビデオデコーダ30がTUの右変換および左変換に関して選択する変換部分集合ごとに、ビデオデコーダ30は、ブロックの(たとえば、CTU、CU、またはPUの)TUのすべてのインデックスによって識別される変換を適用することができる。
言い換えれば、いくつかの場合において、変換部分集合内へのインデックスは、より「大域的」と考えられ得る。たとえば、ビデオエンコーダ20は、左変換および右変換のインデックスをシグナリングすることができる。この場合において、インデックスは、インデックスが、選択される特定の変換部分集合にかかわりなく、あるブロックのTUごとに同一であり、ブロックが、CTU、CU、またはPUであるという意味において大域的とすることができる。そのような例において、ビデオデコーダ30は、これらの大域インデックスから、選択された変換部分集合からの左変換および右変換を判定することができる。たとえば、ビデオデコーダ30は、変換ブロックごとの選択された変換部分集合ごとにインデックスを構文解析するのではなく、むしろ、大域インデックスに基づいて、ブロック(たとえば、CTU、CU、またはPU)のすべての変換ブロックの変換を識別することができる。
上で説明したように、いくつかの例において、ビデオエンコーダ20は、選択された変換部分集合内へのインデックスをシグナリングしなくてもよい。たとえば、ある種のTUに関して、追加変換のシグナリングは、残差信号のエネルギーが制限される場合、たとえば、現在のTUに関して送信される非0係数がない場合に、スキップされ得る。追加変換シグナリングの同様のスキップは、LCU、CU、PU、または任意の他のブロックレベルにあてはまる可能性がある。
その代わりにまたはそれに加えて、あるブロックレベルにあるインジケータは、そのあるブロックレベルにおいて送信される非0係数の総数、総絶対和、または二乗された値の和が、所与のしきい値より小さい場合に、スキップされ得る。言い換えれば、ビデオエンコーダ20は、係数ブロックの非0係数の総数、総絶対和、または二乗された値の和がしきい値より小さい場合に、選択された変換部分集合内へのインデックスをシグナリングしなくてもよい。そのような例において、ビデオデコーダ30が、非0係数の総数、総絶対和、または二乗された値の和が所与のしきい値より小さいと判定する場合に、ビデオデコーダ30は、選択された変換部分集合内へのインデックスがビットストリームから受信されない(たとえば、構文解析されない)と判定することができる。
一例において、非0係数の総数のしきい値は、2である。その代わりにまたはそれに加えて、非0係数の総数のしきい値は、異なるブロックサイズまたは異なるイントラ予測モードに関して異なるものとすることができる。
いくつかの例において、LCU、CU、PU、またはブロックのサイズが、事前に定義されたしきい値超もしくは未満であるか、または所与のしきい値範囲内にある時に、ビデオエンコーダ20は、インジケータ(たとえば、変換部分集合内へのインデックス)のシグナリングをスキップすることができ、ビデオエンコーダ20およびビデオデコーダ30は、デフォルト変換タイプだけを適用することができる。一例において、デフォルト変換は、DCT-IIである。さらに、CUサイズが32×32より大きい時に、ビデオエンコーダ20は、インジケータをシグナリングしなくてもよく、ビデオエンコーダ20およびビデオデコーダ30は、TUごとにDCT-IIだけを適用することができる。
ビデオエンコーダ20およびビデオデコーダ30は、たとえば固定長符号、切断単項符号(truncated unary code)、または指数ゴロム符号(exponential Golomb code)を使用して、インジケータ(たとえば、変換部分集合内へのインデックス)を2進化することができる。ビデオエンコーダ20およびビデオデコーダ30は、コンテキストとともにCABACを使用してインジケータをエントロピーコーディングする(たとえば、それぞれ符号化するまたは復号する)ことができ、ビンごとに、1つのコンテキストが適用される。一例において、コンテキストモデルは、ビンインデックスに基づいて選択される。別の例において、さらに、イントラ予測モード、TUサイズ、またはTU深度も、コンテキストモデルを選択する時に考慮される。その代わりにまたはそれに加えて、ビンの一部が、コンテキストモデルを用いてコーディングされ、残りのビンは、バイパスモードを用いてコーディングされる。その代わりにまたはそれに加えて、インジケータは、バイパスコーディングされ得る、すなわち、コンテキストモデリングは適用されない。
例の技法において、ビデオエンコーダ20は、ビットストリーム内で様々な情報をシグナリングすることができ、ビデオデコーダ30は、そのような情報をビットストリームから受信することができる。ビデオエンコーダ20は、そのような情報をシグナリングすることができ、ビデオデコーダ30は、そのような情報を異なるロケーションから受信することができる。
一例として、複数の変換に関する構文が、高水準構文内に存在することができる。スライスヘッダすら含む、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、または任意の他の場所内で使用される2つ以上の候補変換から選択される変換に関して上で説明したように、ビデオエンコーダ20は、候補変換の個数をシグナリングする(たとえば、ビットストリーム内で生成する)ことができ、ビデオデコーダ30は、候補変換の個数を受信することができる。スライスヘッダ、ピクチャパラメータセット(PPS)、シーケンスパラメータセット(SPS)、または任意の他の場所における3つ以上の候補変換からの事前選択に関して上で説明したように、ビデオエンコーダ20は、各部分集合内の候補変換の個数をシグナリングする(たとえば、ビットストリーム内で生成する)ことができ、ビデオデコーダ30は、各部分集合内の候補変換の個数を受信することができる。
フラグまたはインデックスは、上で言及した複数の変換がブロックレベルにおいて適用されるかどうかを示すために、スライスヘッダ、PPS、SPS、または任意の他の場所においてシグナリングされ得る。上で説明したように、このフラグまたはインデックスの1つの専用の値は、すべてのTUが1つのデフォルト変換を用いてコーディングされることを示すことができる。その代わりにまたはそれに加えて、このフラグまたはインデックスの1つの専用の値は、1つまたは複数のフラグ/インデックスがブロックレベルにおける変換選択のためにブロックレベルにおいてシグナリングされ得ることを示すことができる。また、複数の変換がそれに関して適用されないブロックのサイズ(サイズが、シグナリングされたサイズより大きいか、シグナリングされたサイズより小さいか、2つのシグナリングされたサイズの範囲内にある時)が、パラメータセット内、たとえば、ピクチャパラメータセットまたはシーケンスパラメータセット内に存在することができる。
繰り返すと、上の説明は、「変換」という用語を利用する。しかしながら、ビデオエンコーダ20が、残差ブロックから変換係数値の変換ブロックを生成するのに変換を利用することを理解されたい。その一方で、ビデオデコーダ30は、変換ブロックから残差値の残差ブロックを生成するのに逆変換を利用する。したがって、上の説明において、変換の説明が、ビデオデコーダ30に対して同等に適用可能であるが、ビデオデコーダ30が逆変換を利用することを理解されたい。
図5は、本開示の技法を実施することのできる例のビデオエンコーダ20を示すブロック図である。図5は説明のために提供され、広く例示されるとともに本開示において説明されるような技法の限定と見なされるべきでない。説明のために、本開示は、HEVCコーディングの文脈においてビデオエンコーダ20について説明する。しかしながら、本開示の技法は、他のコーディング標準規格または方法に適用可能とすることができる。たとえば、ビデオエンコーダ20は、HEVCにおいて提供される制限されたオプションより多数の変換を変換ブロックに対して適用するように構成され得る。
図5の例において、ビデオエンコーダ20は、予測処理ユニット100、ビデオデータメモリ101、残差生成ユニット102、変換処理ユニット104、量子化ユニット106、逆量子化ユニット108、逆変換処理ユニット110、再構成ユニット112、フィルタユニット114、復号されたピクチャバッファ116、およびエントロピー符号化ユニット118を含む。予測処理ユニット100は、インター予測処理ユニット120およびイントラ予測処理ユニット126を含む。インター予測処理ユニット120は、動き推定ユニットおよび動き補償ユニット(図示せず)を含む。他の例において、ビデオエンコーダ20は、より多数、より少数、または異なる機能構成要素を含むことができる。
ビデオデータメモリ101は、ビデオエンコーダ20の構成要素によって符号化されるビデオデータを記憶することができる。ビデオデータメモリ101内に記憶されるビデオデータは、たとえば、ビデオソース18から入手され得る。復号されたピクチャバッファ116は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリとすることができる。ビデオデータメモリ101および復号されたピクチャバッファ116は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗変化RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ101および復号されたピクチャバッファ116は、同一のメモリデバイスまたは別々のメモリデバイスによって提供され得る。様々な例において、ビデオデータメモリ101は、ビデオエンコーダ20の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
ビデオエンコーダ20は、ビデオデータを受信することができる。ビデオエンコーダ20は、ビデオデータのピクチャのスライス内の各CTUを符号化することができる。CTUの各々は、等しいサイズのルーマコーディングツリーブロック(CTB)およびピクチャの対応するCTBに関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット100は、四分木区分を実行して、CTUのCTBを次第に小さくなるブロックに分割することができる。より小さいブロックは、CUのコーディングブロックとすることができる。たとえば、予測処理ユニット100は、CTUに関連付けられたCTBを4つの等しいサイズのサブブロックに区分し、サブブロックのうちの1つまたは複数を4つの等しいサイズのサブブロックに区分するなどを行うことができる。
ビデオエンコーダ20は、CUの符号化された表現(すなわち、コーディングされたCU)を生成するためにCTUのCUを符号化することができる。CUを符号化することの一部として、予測処理ユニット100は、CUの1つまたは複数のPUの間でCUに関連付けられたコーディングブロックを区分することができる。したがって、各PUは、ルーマ予測ブロックおよび対応するクロマ予測ブロックに関連付けられ得る。ビデオエンコーダ20およびビデオデコーダ30は、様々なサイズを有するPUをサポートすることができる。上で示したように、CUのサイズは、CUのルーマコーディングブロックのサイズを指すことができ、PUのサイズは、PUのルーマ予測ブロックのサイズを指すことができる。特定のCUのサイズが2N×2Nであると仮定すると、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測に関して2N×2NまたはN×NというPUサイズ、およびインター予測に関して2N×2N、2N×N、N×2N、N×N、または類似の、対称PUサイズをサポートすることができる。ビデオエンコーダ20およびビデオデコーダ30は、インター予測に関して、2N×nU、2N×nD、nL×2N、およびnR×2NというPUサイズのための非対称区分をもサポートすることができる。
インター予測処理ユニット120は、CUの各PUに対してインター予測を実行することによって、PUの予測データを生成することができる。PUの予測データは、PUの予測ブロックおよびPUの動き情報を含むことができる。インター予測ユニット121は、PUがIスライス、Pスライス、またはBスライス内のどれにあるのかに依存して、CUのPUに関して異なる動作を実行することができる。Iスライス内では、すべてのPUがイントラ予測される。したがって、PUがIスライス内にある場合に、インター予測ユニット121は、PUに対してインター予測を実行しない。したがって、Iモードにおいて符号化されるブロックに関して、予測ブロックは、同一フレーム内の前に符号化された隣接するブロックからの空間予測を使用して形成される。
PUがPスライス内にある場合に、インター予測処理ユニット120の動き推定ユニットは、参照ピクチャのリスト(たとえば、「RefPicList0」)内の参照ピクチャからPUの参照領域を検索することができる。PUの参照領域は、PUのサンプルブロックに最も密に対応するサンプルブロックを含む、参照ピクチャ内の領域とすることができる。動き推定ユニットは、PUの参照領域を含む参照ピクチャのRefPicList0内の位置を示す参照インデックスを生成することができる。加えて、動き推定ユニットは、PUのコーディングブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示すMVを生成することができる。たとえば、MVは、現在の復号ピクチャの中の座標から参照ピクチャの中の座標までのオフセットを提供する2次元ベクトルとすることができる。動き推定ユニットは、PUの動き情報として参照インデックスおよびMVを出力することができる。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照ロケーションにおける実際のサンプルまたは補間されたサンプルに基づいて、PUの予測ブロックを生成することができる。
PUがBスライス内にある場合に、インター予測処理ユニット120の動き推定ユニットは、PUの片方向予測または双方向予測を実行することができる。PUの片方向予測を実行するために、動き推定ユニットは、RefPicList0または第2の参照ピクチャリスト(「RefPicList1」)の参照ピクチャからPUの参照領域を検索することができる。動き推定ユニットは、PUの動き情報として、参照領域を含む参照ピクチャのRefPicList0またはRefPicList1内の位置を示す参照インデックス、PUの予測ブロックと参照領域に関連付けられた参照ロケーションとの間の空間変位を示すMV、および参照ピクチャがRefPicList0またはRefPicList1のどちらに含まれるのかを示す1つまたは複数の予測方向インジケータを出力することができる。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示された参照領域における実際のサンプルまたは補間されたサンプルに少なくとも部分的に基づいて、PUの予測ブロックを生成することができる。
PUの双方向インター予測を実行するために、動き推定ユニットは、RefPicList0内の参照ピクチャからPUの参照領域を検索することができ、RefPicList1内の参照ピクチャからPUの別の参照領域を検索することもできる。動き推定ユニットは、参照領域を含む参照ピクチャのRefPicList0およびRefPicList1内の位置を示す参照ピクチャインデックスを生成することができる。加えて、動き推定ユニットは、参照領域に関連付けられた参照ロケーションとPUのサンプルブロックとの間の空間変位を示すMVを生成することができる。PUの動き情報は、PUの参照インデックスおよびMVを含むことができる。インター予測処理ユニット120の動き補償ユニットは、PUの動きベクトルによって示される参照領域における実際のまたは補間されたサンプルに少なくとも部分的に基づいてPUの予測ブロックを生成することができる。
イントラ予測処理ユニット126は、PUに対してイントラ予測を実行することによって、PUの予測データを生成することができる。PUの予測データは、PUの予測ブロックおよび様々な構文要素を含むことができる。イントラ予測処理ユニット126は、Iスライス、Pスライス、およびBスライス内のPUに対してイントラ予測を実行することができる。
PUに対してイントラ予測を実行するために、イントラ予測処理ユニット126は、PUの予測データの複数のセットを生成するのに複数のイントラ予測モードを使用することができる。イントラ予測処理ユニット126は、隣接PUのサンプルブロックからのサンプルを使用して、PUの予測ブロックを生成することができる。PU、CU、およびCTUに関して左から右、上から下への符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左とすることができる。イントラ予測処理ユニット126は、様々な個数のイントラ予測モード、たとえば35個の方向性イントラ予測モードを使用することができる。いくつかの例において、イントラ予測モードの個数は、PUに関連付けられた領域のサイズに依存するものとすることができる。
予測処理ユニット100は、インター予測処理ユニット120によって生成されたPUの予測データまたはイントラ予測処理ユニット126によって生成されたPUの予測データの中からCUのPUの予測データを選択することができる。いくつかの例において、予測処理ユニット100は、予測データのセットのレート/ひずみメトリックに基づいてCUのPUの予測データを選択する。選択された予測データの予測ブロックは、本明細書において選択された予測ブロックと呼ばれる場合がある。
本開示において説明される例において、技法は、ビデオブロックがイントラ予測されまたはインター予測される時に適用可能である。たとえば、ブロックがイントラ予測される時に、イントラ予測モードが、変換部分集合を判定するのに使用され得る。ブロックがインター予測される時に、その位置が、変換部分集合を判定するのに使用され得る。したがって、例の技法は、イントラ予測モードのいずれかでイントラ予測されまたは単一方向もしくは双方向においてインター予測されるビデオブロックに適用する。
さらに、例の技法は、イントラ予測またはインター予測に限定されず、イントラブロックコピー(IBC:intra-block copy)モードにも拡張され得る。IBCモードにおいて、予測ブロックは、符号化されるビデオブロックと同一のピクチャ内にあり、ブロックベクトルによって識別される。IBCモードにおいて、変換部分集合は、少数の例として、ビデオブロックの位置、予測ブロックの位置、またはブロックベクトルから選択され得る。
残差生成ユニット102は、CUのルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロックと、CUのPUの選択された予測ルーマブロック、選択された予測Cbブロック、および選択された予測Crブロックとに基づいて、CUのルーマ残差ブロック、Cb残差ブロック、およびCr残差ブロックを生成することができる。たとえば、残差生成ユニット102は、残差ブロック内の各サンプルが、CUのコーディングブロック内のサンプルとCUのPUの対応する選択された予測ブロック内の対応するサンプルとの間の差と等しい値を有するように、CUの残差ブロックを生成することができる。
変換処理ユニット104は、CUに関連付けられた残差ブロックをCUのTUに関連付けられた変換ブロックに区分するために四分木区分を実行することができる。したがって、TUは、ルーマ変換ブロックおよび2つのクロマ変換ブロックに関連付けられ得る。CUのTUのルーマ変換ブロックおよびクロマ変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいても基づかなくてもよい。「残差四分木」(RQT)と呼ばれる四分木構造が、領域の各々に関連付けられたノードを含むことができる。CUのTUは、RQTの葉ノードに相当することができる。
変換処理ユニット104は、TUの変換ブロックに1つまたは複数の変換を適用することによって、CUのTUごとに変換係数ブロックを生成することができる。変換処理ユニット104は、TUに関連付けられた変換ブロックに様々な変換を適用することができる。たとえば、変換処理ユニット104は、離散コサイン変換(DCT)、方向変換、または概念的に類似する変換を、変換ブロックに適用することができる。いくつかの例において、変換処理ユニット104は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われてよい。
本開示において説明される技法において、変換処理ユニット104は、TUの変換ブロックに左変換および右変換を適用することができる。いくつかの例において、予測処理ユニット100は、本開示において説明される技法を使用して、適用すべき変換を判定することができる。
たとえば、予測処理ユニット100は、複数の変換部分集合を判定することができ、各部分集合は、1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は、複数の候補変換を識別する。候補変換は、異なる変換タイプを有し、いくつかの例において、予測処理ユニット100は、符号化されているビデオブロックのサイズに基づいて複数の変換部分集合を判定する。
いくつかの例において、ビデオデータメモリ101は、複数の変換部分集合を記憶し、予測処理ユニット100は、記憶された変換部分集合から複数の変換部分集合を判定することができる。いくつかの例において、ビデオデータメモリ101は、変換のすべてを記憶することができ、予測処理ユニット100は、事前に定義された形において変換部分集合を構成することができる。候補変換の例は、DCT-IからDCT-VIII、DST-IからDST-VIII、KLT変換、および類似物を含む。いくつかの例において、複数の変換部分集合は、3つ以上の変換部分集合を含む。
予測処理ユニット100は、ビデオデータのビデオブロックの現在の変換ブロックの左変換の複数の変換部分集合から第1の変換部分集合を選択し、ビデオデータのビデオブロックの現在の変換ブロックの右変換の複数の変換部分集合から第2の変換部分集合を選択することができる。現在の変換ブロックは、変換処理ユニット104が生成し、変換処理ユニット104がそれに対して変換を適用する変換ブロックとすることができる。
予測処理ユニット100は、選択された第1の変換部分集合から左変換を判定し、選択された第2の変換部分集合から右変換を判定することができる。たとえば、予測処理ユニット100は、選択された変換部分集合内の変換の各々をテストし、どの変換が最良のビデオコーディングを提供するのかを判定することができる。予測処理ユニット100は、左変換および右変換として最良のビデオコーディングを提供するそれぞれの変換を判定することができる。
変換処理ユニット104は、左変換、右変換、および現在の変換ブロックに基づいて、現在の係数ブロックを判定することができる。たとえば、変換処理ユニット104は、式Y=C*X*RTを実行することができ、ここで、Cは左変換、Rは右変換、Xは現在の変換ブロック、Yは結果の現在の係数ブロックである。
ビデオブロック(たとえば、CUまたはPU)がイントラ予測符号化される場合に、予測処理ユニット100は、ビデオブロックのイントラ予測モードを判定することができる。予測処理ユニット100は、判定されたイントラ予測モードに基づいて第1の変換部分集合を選択し、判定されたイントラ予測モードに基づいて第2の変換部分集合を選択することができる。
ビデオブロック(たとえば、CUまたはPU)がインター予測符号化される場合に、予測処理ユニット100は、ビデオブロックの現在の変換ブロックのロケーションを判定する(たとえば、変換ブロックが、ビデオブロック内の特定のロケーションから生成された残差に関するのかどうかを判定する)ことができる。予測処理ユニット100は、現在の変換ブロックの判定されたロケーションに基づいて第1の変換部分集合を選択し、現在の変換ブロックの判定されたロケーションに基づいて第2の変換部分集合を選択することができる。
イントラ予測またはインター予測に関して、いくつかの例において、予測処理ユニット100は、エントロピー符号化ユニット118に、現在の係数ブロックを判定するのに使用される第1の変換部分集合内の変換を識別するために第1の変換部分集合内への第1の変換部分集合インデックスをシグナリングさせ(たとえば、ビットストリーム内で生成させ)、現在の係数ブロックを判定するのに使用される第2の変換部分集合内の変換を識別するために第2の変換部分集合内への第2の変換部分集合インデックスをシグナリングさせる(たとえば、ビットストリーム内で生成させる)ことができる。いくつかの例において、予測処理ユニット100は、現在の係数ブロック内の非0係数の個数を判定することができる。これらの例において、予測処理ユニット100は、エントロピー符号化ユニット118に、非0係数の個数がしきい値より大きいことに基づいて第1の変換部分集合インデックスをシグナリングさせ、非0係数の個数がしきい値より大きいことに基づいて第2の変換部分集合インデックスをシグナリングさせることができる。非0係数の個数がしきい値未満である場合に、予測処理ユニット100は、エントロピー符号化ユニット118に、第1および第2の変換部分集合内のインデックスをシグナリングさせないものとすることができる。
いくつかの例において、第1の変換部分集合または第2の変換部分集合のうちの少なくとも1つは、離散コサイン変換(DCT)-II変換および離散サイン変換(DST)-VII変換とは異なる変換を含む。いくつかの例において、第1の変換部分集合および第2の変換部分集合は、異なる変換を含む(たとえば、第1の変換部分集合内の少なくとも1つの変換は、第2の変換部分集合内にない、またはその逆)。
量子化ユニット106は、係数ブロック内の変換係数を量子化することができる。量子化プロセスは、変換係数の一部または全部に関連付けられたビット深度を低減することができる。たとえば、nビットの変換係数は、量子化においてmビットの変換係数に切り捨てられ得、nはmよりも大きい。量子化ユニット106は、CUに関連付けられた量子化パラメータ(QP)値に基づいて、CUのTUに関連付けられた係数ブロックを量子化することができる。ビデオエンコーダ20は、CUに関連付けられたQP値を調整することによって、CUに関連付けられた係数ブロックに適用される量子化の程度を調整することができる。量子化は、情報の消失を導入する可能性があり、したがって、量子化された変換係数は、元の変換係数より低い精度を有する可能性がある。
逆量子化ユニット108および逆変換処理ユニット110は、係数ブロックから残差ブロックを再構成するために、係数ブロックにそれぞれ逆量子化および逆変換を適用することができる。再構成ユニット112は、予測処理ユニット100によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構成された残差ブロックを加算して、TUに関連付けられ再構成された変換ブロックを生成することができる。この形においてCUのTUごとに変換ブロックを再構成することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構成することができる。
フィルタユニット114は、CUに関連付けられたコーディングブロック内のブロッキングアーティファクトを低減するために、1つまたは複数のデブロッキング動作を実行することができる。フィルタユニット114が再構成されたコーディングブロックに対して1つまたは複数のデブロッキング動作を実行した後に、復号されたピクチャバッファ116は、再構成されたコーディングブロックを記憶することができる。インター予測処理ユニット120は、他のピクチャのPUに対してインター予測を実行するために、再構成されたコーディングブロックを含む参照ピクチャを使用することができる。加えて、イントラ予測処理ユニット126は、CUと同一のピクチャ内の他のPUに対してイントラ予測を実行するために、復号されたピクチャバッファ116内の再構成されたコーディングブロックを使用することができる。
エントロピー符号化ユニット118は、ビデオエンコーダ20の他の機能構成要素からデータを受信することができる。たとえば、エントロピー符号化ユニット118は、量子化ユニット106から係数ブロック(たとえば、ビデオブロックを再構成するのに使用される現在の係数ブロックの係数を示す情報)を受信することができ、予測処理ユニット100から構文要素(たとえば、第1および第2の変換部分集合内へのインデックス)を受信することができる。エントロピー符号化ユニット118は、エントロピー符号化されたデータを生成するために、データに対して1つまたは複数のエントロピー符号化動作を実行することができる。たとえば、エントロピー符号化ユニット118は、コンテキスト適応型可変長コーディング(CAVLC)動作、CABAC動作、可変長-可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率間隔区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行することができる。ビデオエンコーダ20は、エントロピー符号化ユニット118によって生成されたエントロピー符号化されたデータを含むビットストリームを出力することができる。たとえば、ビットストリームは、CUのRQTを表すデータを含むことができる。
例の技法において、予測処理ユニット100は、予測ブロックを判定し、エントロピー符号化ユニット118が出力するビデオビットストリーム内に、予測ブロックに基づくビデオブロックの予測モードを示す情報を生成する。予測モードは、ビデオブロックがイントラ予測またはインター予測のどちらを行われるのかを示す。たとえば、予測ブロックは、ビデオブロックがイントラ予測されることに基づくビデオブロックと同一のピクチャ内のブロック、または、ビデオブロックがインター予測されることに基づくビデオブロックを含むピクチャとは異なるピクチャ内のブロックである。残差生成ユニット102は、ビデオブロックと予測ブロックとの間の残差として現在の変換ブロックを判定することができる。
図6は、本開示の技法を実施するように構成された例のビデオデコーダ30を示すブロック図である。図6は説明のために提供され、広く例示されるとともに本開示において説明されるような技法を限定するものではない。説明のために、本開示は、HEVCコーディングの文脈においてビデオデコーダ30について説明する。しかしながら、本開示の技法は、他のコーディング標準規格または方法に適用可能とすることができる。
ビデオデコーダ30は、本開示において説明される様々な例による技法を実行するように構成され得るデバイスの例を表す。図6の例において、ビデオデコーダ30は、エントロピー復号ユニット150、ビデオデータメモリ151、予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、フィルタユニット160、および復号されたピクチャバッファ162を含む。予測処理ユニット152は、動き補償ユニット164およびイントラ予測処理ユニット166を含む。他の例において、ビデオデコーダ30は、より多数、より少数、または異なる機能構成要素を含むことができる。
ビデオデータメモリ151は、ビデオデコーダ30の構成要素によって復号される、符号化されたビデオビットストリームなどのビデオデータを記憶することができる。ビデオデータメモリ151内に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、取得され得る。ビデオデータメモリ151は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングされたピクチャバッファ(CPB)を形成することができる。復号されたピクチャバッファ162は、たとえばイントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用される参照ビデオデータを記憶する参照ピクチャメモリとすることができる。ビデオデータメモリ151および復号されたピクチャバッファ162は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗RAM(MRAM)、抵抗変化RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなど、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ151および復号されたピクチャバッファ162は、同一のメモリデバイスまたは別々のメモリデバイスによって提供され得る。様々な例において、ビデオデータメモリ151は、ビデオデコーダ30の他の構成要素とともにオンチップであってもよく、または、これらの構成要素に対してオフチップであってもよい。
コーディングされたピクチャバッファ(CPB)は、ビットストリームの符号化されたビデオデータ(たとえば、NALユニット)を受信し、記憶することができる。エントロピー復号ユニット150は、符号化されたビデオデータ(たとえば、NALユニット)をCPBから受信し、NALユニットを構文解析して、構文要素を復号することができる。エントロピー復号ユニット150は、NALユニット内のエントロピー符号化された構文要素をエントロピー復号することができる。予測処理ユニット152、逆量子化ユニット154、逆変換処理ユニット156、再構成ユニット158、およびフィルタユニット160は、ビットストリームから抽出された構文要素に基づいて、復号されたビデオデータを生成することができる。
ビットストリームのNALユニットは、コーディングされたスライスNALユニットを含むことができる。ビットストリームの復号の一部として、エントロピー復号ユニット150は、コーディングされたスライスNALユニットから構文要素を抽出し、エントロピー復号することができる。コーディングされたスライスの各々は、スライスヘッダおよびスライスデータを含むことができる。スライスヘッダは、スライスに関係する構文要素を含むことができる。スライスヘッダ内の構文要素は、スライスを含むピクチャに関連付けられたPPSを識別する構文要素を含むことができる。
ビットストリームからの構文要素の復号に加えて、ビデオデコーダ30は、区分されていないCUに対して再構成動作を実行することができる。区分されていないCUに対して再構成動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構成動作を実行することができる。CUのTUごとに再構成動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構成することができる。
CUのTUに対する再構成動作の実行の一部として、逆量子化ユニット154は、TUに関連付けられた係数ブロックを逆量子化(inverse quantize)、すなわち逆量子化(de-quantize)することができる。逆量子化ユニット154は、量子化の度合と、同様に、逆量子化ユニット154が適用すべき逆量子化の度合とを判定するために、TUのCUに関連付けられたQP値を使用することができる。すなわち、圧縮率、すなわち、元のシーケンスおよび圧縮されたシーケンスを表すために使用されるビット数の比が、変換係数を量子化する時に使用されるQPの値を調整することによって制御され得る。圧縮率は、使用されるエントロピーコーディングの方法にも依存する可能性がある。
逆量子化ユニット154が、係数ブロックを逆量子化した後に、逆変換処理ユニット156は、TUに関連付けられた残差ブロックを生成するために、係数ブロックに対して1つまたは複数の逆変換を適用することができる。たとえば、逆変換処理ユニット156は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用することができる。
本開示において説明される技法において、予測処理ユニット152は、逆変換処理ユニット156が適用すべき左変換および右変換を判定することができる。たとえば、予測処理ユニット152は、複数の変換部分集合を判定することができ、各部分集合は、1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は、複数の候補変換を識別する。候補変換は、異なる変換タイプを有し、いくつかの例において、予測処理ユニット152は、復号されているビデオブロックのサイズに基づいて複数の変換部分集合を判定する。
いくつかの例において、ビデオデータメモリ151は、複数の変換部分集合を記憶し、予測処理ユニット152は、記憶された変換部分集合から複数の変換部分集合を判定することができる。いくつかの例において、ビデオデータメモリ151は、変換のすべてを記憶することができ、予測処理ユニット152は、事前に定義された形において変換部分集合を構成することができる。いくつかの例において、予測処理ユニット152は、変換部分集合を識別する情報をビットストリームから受信することができる。候補変換の例は、DCT-IからDCT-VIII、DST-IからDST-VIII、KLT変換、および類似物を含む。いくつかの例において、複数の変換部分集合は、3つ以上の変換部分集合を含む。
予測処理ユニット152は、ビデオデータの現在の係数ブロックの左変換の複数の変換部分集合から第1の変換部分集合を選択し、ビデオデータの現在の係数ブロックの右変換の複数の変換部分集合から第2の変換部分集合を選択することができる。予測処理ユニット152は、選択された第1の変換部分集合から左変換を判定し、選択された第2の変換部分集合から右変換を判定することができる。
逆変換処理ユニット156は、左変換、右変換、および現在の係数ブロックに基づいて、現在の変換ブロックを判定することができる。たとえば、逆変換処理ユニット156は、式Y=C*X*RTの逆を実行することができ、ここで、Yは係数ブロック、Cは左変換、Xは現在の変換ブロック、Rは右変換である。やはり、本開示において、逆変換処理ユニット156が、ビデオエンコーダ20が適用した変換の逆を適用するが、簡単さのために、ビデオデコーダ30が、変換を適用するものとして説明されることを理解されたい。
予測処理ユニット152は、現在の変換ブロックおよび予測ブロックに基づいて、ビデオブロックを再構成(たとえば、イントラ予測復号またはインター予測復号)することができる。たとえば、PUが、イントラ予測を使用して符号化される場合に、イントラ予測処理ユニット166は、PUの予測ブロックを生成するためにイントラ予測を実行することができる。イントラ予測処理ユニット166は、イントラ予測モードを使用して、空間的に隣接するPUの予測ブロックに基づいて、PUの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成することができる。イントラ予測処理ユニット166は、ビットストリームから復号された1つまたは複数の構文要素に基づいて、PUのイントラ予測モードを判定することができる。
予測処理ユニット152は、ビットストリームから抽出された構文要素に基づいて、第1の参照ピクチャリスト(RefPicList0)および第2の参照ピクチャリスト(RefPicList1)を構成することができる。さらに、PUがインター予測を使用して符号化される場合に、エントロピー復号ユニット150は、PUの動き情報を抽出することができる。動き補償ユニット164は、PUの動き情報に基づいて、PUの1つまたは複数の参照領域を判定することができる。動き補償ユニット164は、PUの1つまたは複数の参照ブロックにおけるサンプルブロックに基づいて、PUの予測ルーマブロック、予測Cbブロック、および予測Crブロックを生成することができる。
本開示において説明される例において、技法は、ビデオブロックがイントラ予測されまたはインター予測される時に適用可能である。たとえば、ブロックがイントラ予測される時に、イントラ予測モードが、変換部分集合を判定するのに使用され得る。ブロックがインター予測される時に、その位置が、変換部分集合を判定するのに使用され得る。したがって、例の技法は、イントラ予測モードのいずれかでイントラ予測されまたは単一方向もしくは双方向においてインター予測されるビデオブロックに適用する。
さらに、例の技法は、イントラ予測またはインター予測に限定されず、イントラブロックコピー(IBC)モードにも拡張され得る。IBCモードにおいて、予測ブロックを形成するのに使用される参照ブロックは、符号化されているビデオブロックと同一のピクチャ内にあり、ブロックベクトルによって識別される。IBCモードにおいて、変換部分集合は、少数の例として、ビデオブロックの位置、参照ブロックの位置、またはブロックベクトルから選択され得る。
再構成ユニット158は、CUのTUに関連付けられたルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックと、CUのPUの予測ルーマブロック、予測Cbブロック、および予測Crブロックと、すなわち、適宜、イントラ予測データまたはインター予測データのいずれかを使用して、CUのルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロックを再構成することができる。たとえば、再構成ユニット158は、ルーマ変換ブロック、Cb変換ブロック、およびCr変換ブロックのサンプルを、予測ルーマブロック、予測Cbブロック、および予測Crブロックの対応するサンプルに加算して、CUのルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロックを再構成することができる。
フィルタユニット160は、CUのルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロックに関連するブロッキングアーティファクトを低減するためにデブロッキング動作を実行することができる。ビデオデコーダ30は、CUのルーマコーディングブロック、Cbコーディングブロック、およびCrコーディングブロックを復号されたピクチャバッファ162に記憶することができる。復号されたピクチャバッファ162は、後続の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供することができる。たとえば、ビデオデコーダ30は、復号されたピクチャバッファ162内のルーマブロック、Cbブロック、およびCrブロックに基づいて、他のCUのPUに対してイントラ予測動作またはインター予測動作を実行することができる。
いくつかの例において、ビデオブロックがイントラ予測復号される場合に、予測処理ユニット152は、ビデオブロックのイントラ予測モードを判定することができる。予測処理ユニット152は、判定されたイントラ予測モードに基づいて第1の変換部分集合を選択し、判定されたイントラ予測モードに基づいて第2の変換部分集合を選択することができる。
ビデオブロックがインター予測復号される場合に、予測処理ユニット152は、ビデオブロック内の現在の変換ブロックのロケーションを判定する(たとえば、係数ブロックがビデオブロック内の特定のロケーションから生成された残差に関するかどうかを判定する)ことができる。予測処理ユニット152は、現在の変換ブロックの判定されたロケーションに基づいて第1の変換部分集合を選択し、現在の変換ブロックの判定されたロケーションに基づいて第2の変換部分集合を選択することができる。
いくつかの例において、予測処理ユニット152は、第1の変換部分集合内への第1の変換部分集合インデックスを受信し、第2の変換部分集合内への第2の変換部分集合インデックスを受信することができる。これらの例において、予測処理ユニット152は、第1の変換部分集合インデックスによって識別される第1の変換部分集合内の変換に基づいて左変換を判定し、第2の変換部分集合インデックスによって識別される第2の変換部分集合内の変換に基づいて右変換を判定することができる。
しかしながら、予測処理ユニット152が、第1の変換部分集合および第2の変換部分集合内のインデックスを受信する必要がない場合がある。たとえば、予測処理ユニット152が、現在の係数ブロック内の非0係数の個数がしきい値未満であると判定する場合がある。そのような場合において、予測処理ユニット152は、現在の係数ブロック内の非0係数の個数がしきい値未満であるとの判定に応答して、第1の変換部分集合内への変換部分集合インデックスを受信することなく、第1の変換部分集合内で最初に識別される変換が左変換であると判定し、現在の係数ブロック内の非0係数の個数がしきい値未満であるとの判定に応答して、第2の変換部分集合内への変換部分集合インデックスを受信することなく、第2の変換部分集合内で最初に識別される変換が右変換であると判定することができる。
また、予測処理ユニット152は、必ずしもすべての場合において変換部分集合から変換を判定するとは限らない。いくつかの例において、予測処理ユニット152は、現在の変換ブロックを含むブロックのすべての変換ブロックが同一の変換を使用して変換されるのではないことを示すフラグを受信する場合がある。そのような例において、予測処理ユニット152は、現在の変換ブロックを含むブロックのすべての変換ブロックが同一の変換を使用して変換されるのではないことを示すフラグの受信に応答して、第1の変換および第2の変換を選択し、それぞれの第1の変換および第2の変換から左変換および右変換を判定することができる。ブロックの例は、コーディングツリーユニット(CTU)、コーディングユニット(CU)、または予測ユニット(PU)を含む。
いくつかの例において、第1の変換部分集合または第2の変換部分集合のうちの少なくとも1つは、離散コサイン変換(DCT)-II変換および離散サイン変換(DST)-VII変換とは異なる変換を含む。いくつかの例において、第1の変換部分集合および第2の変換部分集合は、異なる変換を含む(たとえば、第1の変換部分集合内の少なくとも1つの変換は、第2の変換部分集合内にない、またはその逆)。
例の技法において、ビデオデコーダ30は、予測モード(たとえば、ビデオブロックがイントラ予測されたのかインター予測されたのか)を示す情報をビットストリームから受信し、現在の係数ブロックの係数を示す情報をビットストリームから受信することができる。予測処理ユニット152は、予測モードに基づいて予測ブロックを判定することができ、逆変換ユニット156または予測処理ユニット152は、係数を示す受信された情報に基づいて係数ブロックを構成することができる。予測モードは、インター予測モードまたはイントラ予測モードのうちの1つであり、現在の変換ブロックは、ビデオブロックと予測ブロックとの残差である。
上で説明した技法は、ビデオエンコーダ20(図4および図5)および/またはビデオデコーダ30(図4および図6)によって実行され得、ビデオエンコーダ20とビデオデコーダ30との両方が、一般にビデオコーダと呼ばれる場合がある。同様に、ビデオコーディングは、適宜、ビデオ符号化またはビデオ復号を指す場合がある。加えて、ビデオ符号化およびビデオ復号が、総称的にビデオデータの「処理」と呼ばれる場合がある。
以下のサブセクションにおいて、上記の技法の例を提供する。実際には、例の任意の部分の任意の組合せが、新しい例の技法として使用され得る。
以下は、追加の候補変換リストを構成することの例について説明する。すべての含まれるTUについて必ずDCT-IIを適用するデフォルト変換方法のほかに、TUごとに、追加の候補変換方法が、選択された候補集合を与えられて構成され得る。一例において、イントラ予測残差およびインター予測残差に関する追加の候補変換リストは、次のように構成される。まず、変換集合は、変換タイプの集合として定義され、たとえば、例の変換集合は、{DCT-II, DST-VII}と定義され得、これは、2タイプの変換すなわちDCT-IIおよびDST-VIIを含む。2つの与えられた変換集合に基づいて、異なる変換方法は、水平変換として第1の変換集合からある変換タイプを、垂直変換として第2の変換集合から別の変換タイプを選択することによって生成され得る。たとえば、変換集合0{DCT-II, DST-VII}が水平変換に使用され、変換集合1{DCT-VIII, DST-VII}が垂直変換に使用される時に、合計4つの変換方法が、次のように生成され得る。
イントラ予測残差に関して、変換部分集合0:{DST-VII、DCT-VIII}、変換部分集合1:{DST-VII、DST-I}、および変換部分集合2:{DST-VII、DCT-V}を含む合計3つの変換部分集合が定義される。水平変換および垂直変換に関する変換集合上の選択は、下のTable 2(表2)に示されているように、イントラ予測モードに依存する。
たとえば、イントラモード10に関して、水平(右)変換の候補変換タイプは、DST-VIIおよびDCT-VIIIを含む変換集合0からであり、垂直(左)変換の候補変換タイプは、DST-VIIおよびDCT-Vを含む変換集合2からである。したがって、イントラモード10の追加の候補変換リストは、合計4つの変換方法が生成されるTable 3(表3)内に示されているように最終的に構成される。
Table 2(表2)によれば、TUごとに、イントラ予測モードを与えられれば、合計4つの変換方法が生成され得る。インター予測残差に関して、同一の変換集合{DST-VII, DCT-VIII}が、水平変換と垂直変換との両方に使用される。したがって、TUごとに、追加の候補変換リストは、Table 4(表4)内に示されているように構成される。
以下の説明は、インジケータシグナリングの例である。異なるコンテンツに適合的にあてはまるために、変換使用法に関するインジケータは、CUレベルとTUレベルとの両方においてシグナリングされる。CUレベルインジケータは、デフォルトDCT-IIが現在のCU内に含まれるすべてのTUに適用されるのかどうかを示す1ビットフラグである。この1ビットフラグが0である場合には、デフォルトDCT-IIだけが、現在のCU内に含まれるすべてのTUに適用され得、そうではない場合には、2ビットのTUレベルインジケータが、TUごとにさらにシグナリングされ得、その第1のビットは、所与の変換集合からのどの変換タイプが水平変換として適用されるのかを指定し、その第2のビットは、所与の変換集合からのどの変換タイプが垂直変換として適用されるのかを指定する。
イントラ予測残差に関して、TUレベルインジケータは、係数の後にシグナリングされ、TUレベルインジケータは、TUの非0係数の総数が2を超えない時に、シグナリングされず、0として導出される。そうではない場合には、TUレベルインジケータは、明示的にシグナリングされる。インター予測残差に関して、TUレベルインジケータは、係数の前または後のいずれかにシグナリングされ得、TUレベルインジケータは、TU内に非0係数がない時にはシグナリングされない。
HEVCに基づく提案される例の構文、意味論を、下で提供する。下の構文において、要素を灰色にすることは、構文内の潜在的な変更を示し、または他の形で理解を助けるのに使用される。
代替案では、add_multi_transform_flagが、cbf_lumaへの依存性なしにシグナリングされ得る。
これは、コーディングユニット内でフラグを送信することと同等である。
変換木意味論
add_multi_transform_flag[x0][y0]は、機能強化された複数の変換が現在のCU内に含まれるTUごとに適用されるかどうかを指定し、add_multi_transform_flag[x0][y0]が0である時には、DCT-IIが、現在のCU内に含まれるTUごとに必ず適用され、そうではない場合には、現在の変換木に属するTUに関して適用される左変換および右変換を指定するために、left_transform_flagおよびright_transform_flagが、TUごとにさらにシグナリングされ得る。add_multi_transform_flag[x0][y0]が存在しない時には、0と等しいと推論される。
残差コーディング構文
残差コーディング意味論
left_transform_flag[x0][y0]は、現在のTUの左変換に適用される変換インデックスを指定し、提示されない時には、left_transform_flag[x0][y0]は0として推論される。
right_transform_flag[x0][y0]は、現在のTUの右変換に適用される変換インデックスを指定し、提示されない時には、right_transform_flag[x0][y0]は0として推論される。
左変換および右変換を導出するための復号プロセス
- CuPredMode[x0][y0] = = MODE_INTRAである場合には、イントラモード値IntraPredModeY[xPb][yPb]を与えられて、LeftTransSubsetIdxおよびRightTransSubsetIdxの値が、次の表に基づいて導出される。
- LeftTransSubsetIdxの値およびleft_transform_flagを与えられて、左変換は、次の表を使用して導出される。
- RightTransSubsetIdxの値およびright_transform_flagを与えられて、右変換は、次の表を使用して導出される。
- そうではない(CuPredMode[x0][y0]!=MODE_INTRA)場合には、以下が実行される。
- 値left_transform_flagを与えられて、左変換は、次の表を使用して導出される。
- 値right_transform_flagを与えられて、右変換は、次の表を使用して導出される。
以下は、機能強化された複数の変換および大きい変換を適用する例である。ビデオエンコーダ20によって実行される符号化プロセスに関して、1つの例において、32×32より小さい(またはこれと等しい)CUごとに、現在のCUは、2回コーディングされる。第1のパスにおいて、現在のCUは、DCT-IIだけを使用してコーディングされる。CU全体のコーディングに関するレート-ひずみコストが、RDcost_CU_DCTとして記録され、PUの各イントラ予測モードのコーディングに関するレート-ひずみコストが、RDcost_PU_DCT[i][p]として記録され、ここで、iは、現在のCUの内部のイントラ予測モードのインデックスを示し、pは、現在のCUの内部のPUのインデックスを示す。pによってインデクシングされる現在のPUのレート-ひずみ最適化に基づく最適のイントラ予測モードは、IPM[p]と示される。
第2のパスにおいて、現在のCUは、下で説明されるように複数の変換を使用してもう一度コーディングされる。現在のCUの、p'によってインデクシングされる含まれるPUごとに、以下が実行される。候補イントラ予測モードi'ごとに、RDcost_PU_DCT[i'][p'] > RDcost_PU_DCT[IPM[p']][p']である場合に、イントラ予測モードi'が、スキップされ、現在のPUの最適イントラ予測モードとしては選択されない。そうではない場合には、現在のPUに含まれるTUごとに、以下が実行される。
現在のPUの内部のTUごとに、現在の候補イントラ予測モードを与えられて、上の例に従って、2つの候補右(R)変換および2つの候補左(L)変換が選択され、したがって、合計4つの異なるRおよびLの変換組合せがある。次いで、各候補RおよびL変換組合せが、レート-ひずみコストを使用してテストされる。
このプロセス中に、1つのRおよびL変換組合せが、0係数(たとえば、0の値または係数なし)を生成する場合に、残りのLおよびR変換組合せは、スキップされ、最適のRおよびL変換組合せとしては選択されない。最小のレート-ひずみコストを有するRおよびL変換組合せが、現在の残差ブロックを符号化するための実際の変換として選択される。その上、組合せRおよびL変換を選択する上記のプロセス中に、1つの候補RおよびL変換組合せが2つ未満の非0係数を生成する場合には、R変換とL変換との両方がDST-VII変換である場合を除いて、その候補RおよびL変換組合せは、最適の変換組合せとしては選択されない。
上記のプロセスが、現在のCUの内部のすべてのPUについて行われた後に、次いで、CU全体のコーディングのレート-ひずみコストが、RDcost_CU_EMTとして記録される。RDcost_CU_DCTがRDcost_CU_EMTより小さい場合には、1つのフラグadd_multi_transform_flagが、上の例において説明されたように条件付きで0としてシグナリングされ、含まれるTUのすべてが、DCT-IIを使用して符号化される。そうではない場合には、add_multi_transform_flagが、上の例において説明されたように条件付きで1としてシグナリングされ、含まれるTUごとに、フラグleft_transform_flagおよび別のフラグright_transform_flagが、上の例において説明されたように係数がシグナリングされた後に条件付きでシグナリングされて、どの左変換および右変換が現在のTUの符号化に関して選択されるのかを示す。
以下は、ビデオデコーダ30によって実行される復号プロセスの例について説明する。一例において、32×32より小さい(またはこれと等しい)CUごとに、1ビットフラグadd_multi_transform_flagが、上の例において説明されたように条件付きでシグナリングされる。このフラグは、変換深度が0であり、ルーマ成分のコード化ブロックフラグ(CBF:coded block flag)値が0である時にのみシグナリングされず、そうではない場合には、このフラグは必ずシグナリングされる。
add_multi_transform_flagが0である場合には、DCT-2だけが、すべての含まれるTUに適用され、そうではない場合には、以下が実行される。TUごとに、1ビットフラグleft_transform_flagおよび別のフラグright_transform_flagが、上の例において説明されたように、係数がシグナリングされた後に条件付きでシグナリングされる。left_transform_flagおよびright_transform_flagがシグナリングされるかどうかの条件は、下で説明する。
現在のCUがイントラコーディングされる時に、非0係数の総数が2未満である(またはこれと等しい)時には、left_transform_flagおよびright_transform_flagはシグナリングされない。そうではない場合には、left_transform_flagおよびright_transform_flagはシグナリングされる。
そうではなく、現在のCUがイントラコーディングされない時に、非0係数がない時には、left_transform_flagおよびright_transform_flagはシグナリングされない。そうではない場合には、left_transform_flagおよびright_transform_flagはシグナリングされる。
TUごとに、シグナリングされたleft_transform_flagおよびright_transform_flagを与えられて、左変換および右変換が、上の例において説明されたように導出される。現在のCUが32×32より大きい時には、64×64の同一のサイズを有するTUごとに、変換は、より大きいサイズのTUの例に関して下でより詳細に説明されるように実行される。
以下は、イントラ予測モードに基づいて追加の変換リストを構成する別の代替案の例である。すべての含まれるTUに関して必ずDCT-IIを適用するデフォルト変換方法のほかに、TUごとに、追加の候補変換DST-VIIが、次のように適用され得る。IPMと表される現在のCUのイントラ予測モードを与えられて、このTUに適用される左変換および右変換は、下記のように指定される。(IPM & 1)が1と等しい場合には、DCT-IIが、現在のTUの左変換と右変換との両方として適用され、そうではなく、((IPM & 1)が0と等しい)場合には、DST-VIIが、現在のTUの左変換と右変換との両方として適用される。
上記は、使用すべき変換を判定するための例の技法について説明した。以下は、より大きいサイズの変換をサポートすることの例について説明する。たとえば、64×64変換をサポートすることは、特により高い解像度、たとえば1080pおよび4Kを有するビデオのコーディングに関して有益である。ビデオエンコーダ20とビデオデコーダ30との両方の複雑さを制約しながら64×64変換をサポートすることは、重要であり、様々な形が、それを達成するために行われ得るが、より良い解決策が使用可能である可能性がある。
実際に適用されるN×N変換行列は、元の浮動小数点変換行列のスケーリングの後の整数点近似とすることができ、スケーリングは、s*log2Nを含むがこれに限定されない、64*log2Nより大きいものとすることができ、sは、128または256とすることができる。一例において、水平変換および垂直変換の後の結果の変換係数は、追加の右シフト演算を適用することによって、16ビット表現内に保たれる。追加の右シフト演算は、垂直および水平の逆方向/順方向変換の後の結果の変換係数を追加のlog2(s/64)ビットだけ右シフトすることを含むが、これに限定はされない。
64点、128点、256点を含むがこれに限定されない32点変換より大きい変換サイズが、残差ブロックに対して適用され得る。M点変換およびN点変換がそれぞれ水平変換および垂直変換に関して適用され、MおよびNが整数であり、MがNと同一または異なるものとされ得る時に、結果のM×N係数ブロックの内部の左上X×Yのより低い周波数の係数だけが(ただし、X<MかつY<N)、シグナリングされ、残りの係数は、シグナリングされず、0として導出される。
結果のM×N係数ブロックの内部の最後の非0係数の位置は、S×Tブロックに使用される最後の非0係数位置コーディングと同一の論理を再利用することによってコーディングされ得、ここで、コンテキストモデリングに関して、X≦S≦MかつY≦T≦Nである。X×Yを超える係数をゼロで埋めるために、LastSignificantCoeffYおよびLastSignificantCoeffXに関して制約が導入され得る。たとえば、LastSignificantCoeffX(LastSignificantCoeffY)の値は、X(Y)より小さくすることができる。XおよびYの値は、定数、たとえば32とすることができ、または、変換サイズに依存することができ、たとえばX=M/2、Y=N/2である。XおよびYの通常の値は、64点変換に関して32である。
一例において、M×Nに関する1つまたは複数のCG(コーディンググループ)スキャン順が、事前に定義され、使用され得る。しかし、結果のM×N係数ブロックの左上X×Y領域の外部のCGに関して、各CG内に少なくとも1つの非0係数があるかどうかをシグナリングするCGレベルフラグは、スキップされ、コーディングされない。その代わりにまたはそれに加えて、すべてのW×H CGに関して(WおよびHの通常の値は4である)、CGは、X×Y領域のスキャン順に従ってコーディングされ、このスキャン順は、(M/W)×(N/H)対角線、ジグザグ、水平、または垂直のスキャン順を含むが、これに限定はされない。その代わりにまたはそれに加えて、すべてのCGは、W'×H'のユニット内でグループ化され、W'は、Wの倍数であり、H'は、Hの倍数であり、W'×H'ユニットは、(M/W')×(N/H')対角線、ジグザグ、水平、または垂直のスキャン順を含むが、これに限定はされないスキャン順に従ってコーディングされ、各W×Hユニット内のCGは、(W'/W)×(H'/H)対角線、ジグザグ、水平、または垂直のスキャン順に従ってコーディングされる。
64×64、128×128、または256×256の変換サイズに対応するRQT深度のコーディングをサポートするために、変換サイズに依存するRQT分割フラグをコーディングするのに使用されるCABACコンテキストは、32×32より大きい変換サイズに対応するRQT深度値に関して共有され得る。たとえば、変換サイズ64×64および32×32に対応するRQT深度値を含むがこれに限定はされないある種のRQT深度の事例に関して、同一のCABACコンテキストが、RQT分割フラグのコーディングに関して適用され得る。
以下は、64×64変換に関する32×32のゼロで埋めることを実行する例である。最後の位置に関する制約がある可能性があり、last_sig_coeff_x_suffixは、変換ブロック内のスキャン順において最後の有意な係数の列位置のサフィックスを指定する。last_sig_coeff_x_suffixの値は、両端を含めて0から(1 << ((last_sig_coeff_x_prefix >> 1) - 1)) - 1までの範囲内になければならない。変換ブロック内のスキャン順において最後の有意な係数の列位置LastSignificantCoeffXは、次のように導出される。last_sig_coeff_x_suffixが存在しない場合には、LastSignificantCoeffX = last_sig_coeff_x_prefixが適用され、そうではない(last_sig_coeff_x_suffixが存在する)場合には、LastSignificantCoeffX = (1 << ((last_sig_coeff_x_prefix >> 1) - 1)) * (2 + (last_sig_coeff_x_prefix & 1)) + last_sig_coeff_x_suffixが適用される。
構文要素last_sig_coeff_y_suffixは、変換ブロック内のスキャン順において最後の有意な係数の行位置のサフィックスを指定する。last_sig_coeff_y_suffixの値は、両端を含めて0から(1 << ((last_sig_coeff_y_prefix >> 1) - 1)) - 1までの範囲内になければならない。変換ブロック内のスキャン順において最後の有意な係数の行位置LastSignificantCoeffYは、次のように導出される。last_sig_coeff_y_suffixが存在しない場合には、LastSignificantCoeffY = last_sig_coeff_y_prefixが適用され、そうではない(last_sig_coeff_y_suffixが存在する)場合には、LastSignificantCoeffY=(1 << ((last_sig_coeff_y_prefix >> 1) - 1)) * (2 + (last_sig_coeff_y_prefix & 1)) + last_sig_coeff_y_suffixが適用される。
scanIdxが2と等しい時に、座標は、次のように交換される(LastSignificantCoeffX, LastSignificantCoeffY)=Swap(LastSignificantCoeffX, LastSignificantCoeffY)。LastSignificantCoeffXまたはLastSignificantCoeffYの値は、32より小さくならなければならない。
以下は、有意なCGおよび有意な係数のシグナリングに関する条件である。
残差コーディング構文
以下は、オーバーラップブロック動き補償(OBMC)の例について説明する。OBMCは、ITU-T H.263の開発において提案された。Video Coding for Low Bitrate Communication, document Rec. H.263, ITU-T、1995年4月を参照されたい。OBMCは、8×8ブロックに対して実行され、2つの接続された隣接する8×8ブロックの動きベクトルが、図8Aおよび図8Bに示されているように現在のブロックに関して使用される。たとえば、現在のマクロブロック内の第1の8×8ブロックに関して、それ自体の動きベクトルのほかに、上および左の隣接する動きベクトルも、2つの追加の予測ブロックを生成するために適用される。この形で、現在の8×8ブロック内の各画素は、3つの予測値を有し、これらの3つの予測値の加重平均が、それぞれの画素の最終的な予測として使用される。
隣接ブロックが、コーディングされないかイントラとしてコーディングされる、すなわち、隣接ブロックが、使用可能な動きベクトルを有しない時には、現在の8×8ブロックの動きベクトルが、隣接動きベクトルとして使用される。その一方で、現在のマクロブロックの第3および第4の8×8ブロック(図7に示されているように)に関して、下隣接ブロックは、使用されないものとすることができる(たとえば、必ず使用されないまたは必ず使用されるのではない)。言い換えれば、いくつかの例において、MBごとに、その下のMBからの動き情報は、OBMC中に現在のMBの画素を再構成するのに使用されない。
以下は、HEVC内で提案されるOBMCについて説明する。HEVC内で、OBMCは、2011年11月18日に出願した米国特許仮出願第61/561,783号、2012年11月15日に出願した米国特許出願第13/678,329号、2011年1月10日に出願した米国特許仮出願第61/431,480号、2011年3月8日に出願した米国特許仮出願第61/450,532号、および2011年12月6日に出願した米国特許出願第13/311,834号においてPU境界を平滑化するためにも提案された。HEVC内で提案された方法の例が、図8Aおよび図8Bに示されており、ここで、白い領域は、PU0によって表される第1の予測ユニット(PU)であり、灰色の領域は、PU1によって表される第2のPUである。CUが、2つ(またはより多く)のPUを含む時に、PU境界付近の行/列は、OBMCによって平滑化される。PU0またはPU1内で「A」または「B」を用いてマークされた画素に関して、2つの予測値が生成される、すなわち、それぞれPU0およびPU1の動きベクトルを適用することによって、および、それらの加重平均が、最終的な予測として使用される。
その上、2015年1月26日に出願した米国特許仮出願第62/107,964号および2015年2月16日に出願した米国特許仮出願第62/116,631号において、OBMCが現在のCUに関して適用されるかどうかを示すCUレベルフラグすなわちOBMCフラグが提案された。
OBMCが1つのコーディングユニットに適用されない(たとえば、シグナリングされたフラグが0である)時に、DCT-II以外の変換が有効ではないことが観察される。したがって、複数の変換の使用法の指示に関する追加のシグナリングは、冗長である。
説明したように、ビデオエンコーダ20は、OBMCが現在のCUに関して使用可能にされるか否かを示すためにCUレベルフラグをシグナリングする(たとえば、ビットストリーム内で生成する)ことができる。いくつかの例において、このOBMCフラグが1としてシグナリングされる(OBMCが現在のCUに関して使用可能にされることを示す)時には、デフォルトDCT-IIだけがTUごとに使用され、したがって、ビデオエンコーダ20は、変換選択に関して何もシグナリングしなくてもよい、すなわち、CUレベルフラグもTUレベルインデックスもシグナリングされない。
以下は、ビデオエンコーダ20の最適化の例について説明する。たとえば、以下の例は、ビデオエンコーダ20に関するものとすることができる。しかしながら、ビデオデコーダ30が同様の技法を実行することが可能とすることができる。
エンコーダ(たとえば、ビデオエンコーダ20)において、提案される複数の変換が現在のTUに関して適用される時に、M×N以上の変換サイズに関して、M'×N'の低周波数係数だけが計算され、他の係数は0としてセットされ、ここで、(M'≦M、N'≦N、かつM'*N'<M*N)である。一例において、MおよびNの各々の値は、32であり、M'およびN'の各々の値は、16である。この例において、M'より大きいロケーションおよび/またはN'より大きいロケーションに位置決めされた係数は、より高周波数の係数と考えることができる。一般に、TUより右およびTUより下の係数は、より高周波数の係数と考えることができる。
エンコーダにおいて、ある種のコーディングモードに関して、デフォルト変換、たとえばDCT-IIを使用するコーディングコストが、現在の最小のコーディングコストに所与のしきい値を乗じたものより大きい場合に、提案される複数の変換は、スキップされる。コーディングコストは、レート-ひずみコスト、絶対予測残差の和、予測残差の二乗和、または絶対変換差の和とすることができる。しきい値は、コーディングブロックサイズに依存することができる。一例において、しきい値の値は、1.1である。
エンコーダにおいて、ある種のイントラ予測方向モードに関して、デフォルト変換、たとえばDCT-IIを使用するコーディングコストが、最良のイントラ予測方向モードのコーディングコストに所与のしきい値を乗じたものより大きい場合に、提案される複数の変換は、このイントラ予測モードに関して適用されず、スキップされる。コーディングコストは、レート-ひずみコスト、絶対予測残差の和、予測残差の二乗和、または絶対変換差の和とすることができる。しきい値は、コーディングブロックサイズに依存することができる。一例において、しきい値の値は、4×4、8×8、16×16、および32×32のブロックサイズに関して、それぞれ1.47、1.28、1.12、および1.06である。
エンコーダにおいて、デフォルト変換、たとえばDCT-IIを使用するN×NイントラPU区分のコーディングコストが、2N×2NイントラPU区分のコーディングコストに所与のしきい値を乗じたものより大きい場合に、提案される複数の変換は、N×NイントラPU区分に関して適用されず、スキップされる。コーディングコストは、レート-ひずみコスト、絶対予測残差の和、予測残差の二乗和、または絶対変換差の和とすることができる。しきい値は、コーディングブロックサイズに依存することができる。一例において、しきい値の値は、1.2である。
エンコーダにおいて、デフォルト変換、たとえばDCT-IIを使用する2N×2NイントラPU区分モードのコーディングコストが、最良のインターコーディングモードのコーディングコストに所与のしきい値を乗じたものより大きい場合に、提案される複数の変換は、イントラPUモードに関して適用されず、スキップされる。コーディングコストは、レート-ひずみコスト、絶対予測残差の和、予測残差の二乗和、または絶対変換差の和とすることができる。しきい値は、コーディングブロックサイズに依存することができる。一例において、しきい値の値は、1.4である。
エンコーダにおいて、複数の変換候補のうちの1つを使用することが、現在のブロックのすべて0の係数を生成する場合に、残りの変換候補は、現在のブロックに関して適用されず、スキップされる。その代わりにまたはそれに加えて、デフォルト変換(たとえば、DCT-II)を使用することが、現在のブロックのすべて0の係数を生成する場合に、複数の変換候補は、現在のブロックに関して適用されず、スキップされ、デフォルト変換(たとえば、DCT-II)だけが、現在のブロックのコーディングに使用される。
エンコーダにおいて、OBMCフラグがシグナリングされ、これがOBMCオフを示す時に、1つのデフォルト変換だけが適用されるかどうかを示す1ビットフラグが、それでもデフォルト値(たとえば、0)としてシグナリングされ、このデフォルト値は、デフォルト変換(たとえば、DCT-II)が適用されることを示し、複数の変換候補は、現在のブロックに関して適用されず、スキップされる。
図9は、ビデオデータを復号する例の方法を示す流れ図である。ビデオデコーダ30は、複数の変換部分集合を判定する(200)ことができ、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する。たとえば、予測処理ユニット152は、ビデオデータメモリ151内に記憶された変換部分集合から複数の変換部分集合を取り出すことができる。複数の変換部分集合は、ビデオデータメモリ151内に事前に記憶され得、または、変換部分集合をどのように構成すべきかを識別する情報が、ビデオエンコーダ20から受信され得る。ビデオデコーダ30は、ビデオデータの現在の係数ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択し、ビデオデータの現在の係数ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択する(202)ことができる。たとえば、予測処理ユニット152は、変換部分集合を判定する少数の例の形として、ビデオビットストリーム内でシグナリングされたイントラ予測モード情報に基づいて、または復号されているビデオブロックの位置に基づいて、第1の変換部分集合および第2の変換部分集合を選択することができる。
ビデオデコーダ30は、選択された第1の変換部分集合から左変換を判定し、選択された第2の変換部分集合から右変換を判定する(204)ことができる。たとえば、予測処理ユニット152は、選択された変換部分集合内へのインデックスなどの情報をビットストリーム内で受信することができ、または、非0係数の個数に基づいて変換を暗黙のうちに判定することができる。ビデオデコーダ30は、左変換、右変換、および現在の係数ブロックに基づいて現在の変換ブロックを判定する(206)ことができる。たとえば、逆変換処理ユニット156は、逆量子化ユニット154によって出力された係数ブロックに対して左変換および右変換を適用することによって、現在の変換ブロックを判定することができる。ビデオデコーダ30は、現在の変換ブロックおよび予測ブロックに基づいてビデオブロックを再構成する(たとえば、イントラ予測復号するかインター予測復号する)(208)ことができる。たとえば、再構成ユニット158は、ビデオブロックを再構成するために、予測ブロックに現在の変換ブロック(ビデオブロックと予測ブロックとの間の残差である)を加算することができる。
図10は、ビデオデータを符号化する例の方法を示す流れ図である。ビデオエンコーダ20は、複数の変換部分集合を判定する(300)ことができ、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別する。たとえば、予測処理ユニット100は、ビデオデータメモリ101内に記憶された変換部分集合から複数の変換部分集合を取り出すことができる。複数の変換部分集合は、ビデオデータメモリ101内に事前に記憶され得る。ビデオエンコーダ20は、ビデオデータのビデオブロックの現在の変換ブロックの左変換に関する第1の変換部分集合を複数の変換部分集合から選択し、ビデオデータのビデオブロックの現在の変換ブロックの右変換に関する第2の変換部分集合を複数の変換部分集合から選択する(302)ことができる。たとえば、予測処理ユニット100は、変換部分集合を判定する少数の例の形として、エントロピー符号化ユニット118がビデオビットストリーム内に生成したイントラ予測モード情報に基づいて、または符号化されるビデオブロックの位置に基づいて、第1の変換部分集合および第2の変換部分集合を選択することができる。
ビデオエンコーダ20は、選択された第1の変換部分集合から左変換を判定し、選択された第2の変換部分集合から右変換を判定する(304)ことができる。たとえば、予測処理ユニット100は、良いビデオコーディング品質をもたらす変換を識別するために、様々な判定された変換をテストすることができる。ビデオエンコーダ20は、左変換、右変換、および現在の変換ブロックに基づいて現在の係数ブロックを判定する(306)ことができる。たとえば、変換処理ユニット104は、再構成ユニット112によって出力された変換ブロックに対して左変換および右変換を適用することによって、現在の係数ブロックを判定することができる。ビデオエンコーダ20は、ビデオブロックの再構成に使用される現在の係数ブロックの係数を示す情報を有するビデオビットストリームを生成する(たとえば、情報をシグナリングする)(308)ことができる。たとえば、エントロピー符号化ユニット118は、ビデオデコーダ30がビデオブロックを再構成するのに使用する情報を出力することができる。
本明細書で説明される技法のすべてが、個別に、または組み合わせて使用され得ることを理解されたい。本開示は、ブロックサイズ、スライスタイプ、その他など、ある種の要因に依存して変化する可能性がある複数のシグナリング方法を含む。構文要素のシグナリングまたは推論におけるそのような変動は、先験的にエンコーダおよびデコーダに知られ得、あるいは、ビデオパラメータセット(VPS)、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、スライスヘッダ内で、タイルレベルにおいて、または他の場所で明示的にシグナリングされ得る。
例に依存して、本明細書で説明される技法のいずれかのある種の行為またはイベントが、異なるシーケンスで実行され得、追加され、合併され、または完全に除去され得る(たとえば、説明された行為またはイベントのすべてが、技法の実践に必要とは限らない)ことを認められたい。その上、いくつかの例においては、行為またはイベントは、順次的にではなく、たとえばマルチスレッド処理、割り込み処理または複数のプロセッサを介して、同時に実行され得る。加えて、明瞭さのために、本開示のいくつかの態様は単一のモジュールまたはユニットによって実行されるものとして説明されるが、本開示の技法がビデオコーダに関連するユニットまたはモジュールの組合せによって実行されてもよいことを理解されたい。
技法の様々な態様の特定の組合せが上で説明されるが、これらの組合せは、単に、本開示において説明される技法の例を示すために提供される。したがって、本開示の技法は、これらの例の組合せに限定されるべきではなく、本開示において説明される技法の様々な態様の任意の考えられる組合せを包含することができる。
1つまたは複数の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せにおいて実施され得る。ソフトウェアにおいて実施される場合に、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され、ハードウェアベースの処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含むことができる。この形において、コンピュータ可読媒体は、一般に、非一時的な有形のコンピュータ可読記憶媒体に対応することができる。データ記憶媒体は、本開示において説明される技法の実施のために命令、コード、および/またはデータ構造を取り出すために1つもしくは複数のコンピュータまたは1つもしくは複数のプロセッサによってアクセスされ得る任意の使用可能な媒体とすることができる。コンピュータプログラム製品は、コンピュータ可読媒体を含むことができる。限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク(disc)ストレージ、磁気ディスク(disk)ストレージ、または他の磁気ストレージデバイス、フラッシュメモリ、あるいは、命令またはデータ構造の形態の所望のプログラムコードを記憶するために使用され得、コンピュータによってアクセスされ得る、任意の他の媒体を含むことができる。しかし、コンピュータ可読記憶媒体およびデータ記憶媒体が、接続、搬送波、信号、または他の過渡的媒体を含まず、その代わりに非一時的有形記憶媒体を対象とすることを理解されたい。ディスク(diskおよびdisc)は、本明細書で使用される時に、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびBlu-ray(登録商標)ディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれなければならない。
命令は、1つもしくは複数のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の同等の集積回路構成もしくはディスクリート論理回路構成など、1つまたは複数のプロセッサによって実行され得る。したがって、本明細書で使用される「プロセッサ」という用語は、前述の構造、または本明細書で説明される技法の実施に適した任意の他の構造のいずれかを指す場合がある。加えて、いくつかの態様において、本明細書で説明される機能性は、符号化および復号のために構成された専用のハードウェアおよび/またはソフトウェアモジュール内で提供され、あるいは組み合わされたコーデック内に組み込まれ得る。また、技法は、1つまたは複数の回路または論理要素内で完全に実施され得る。
本開示の技法は、ワイヤレスハンドセット、集積回路(IC)、またはICのセット(たとえば、チップセット)を含む様々なデバイスまたは装置内で実施され得る。本開示において、開示される技法を実行するように構成されたデバイスの機能的態様を強調するために、様々な構成要素、モジュール、またはユニットが説明されているが、それらは、必ずしも異なるハードウェアユニットによる実現を必要とするとは限らない。むしろ、上で説明されたように、様々なユニットは、コーデックハードウェアユニット内で組み合わされ、または適切なソフトウェアおよび/もしくはファームウェアに関連して、上で説明されたような1つもしくは複数のプロセッサを含む相互動作可能なハードウェアユニットの集合によって提供されてもよい。
様々な例が説明された。これらの例および他の例は、以下の特許請求の範囲内に含まれる。
10 ビデオコーディングシステム
12 ソースデバイス
14 宛先デバイス
16 チャネル
18 ビデオソース
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
30 ビデオデコーダ
32 ディスプレイデバイス
100 予測処理ユニット
101 ビデオデータメモリ
102 残差生成ユニット
104 変換処理ユニット
106 量子化ユニット
108 逆量子化ユニット
110 逆変換処理ユニット
112 再構成ユニット
114 フィルタユニット
116 復号されたピクチャバッファ
118 エントロピー符号化ユニット
120 インター予測処理ユニット
126 イントラ予測処理ユニット
150 エントロピー復号ユニット
151 ビデオデータメモリ
152 予測処理ユニット
154 逆量子化ユニット
156 逆変換処理ユニット
158 再構成ユニット
160 フィルタユニット
162 復号されたピクチャバッファ
164 動き補償ユニット
166 イントラ予測処理ユニット

Claims (15)

  1. ビデオデータを復号する方法であって、
    複数の予測モードのうちの1つに従ってコーディングされるビデオブロックに関連する現在の係数ブロックを変換するために複数の変換部分集合を判定するステップであって、前記予測モードは、複数のイントラ予測モードおよび複数のインター予測モードを含み、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別し、前記複数の変換部分集合を判定するステップは、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの第1の同一の変換部分集合または前記ビデオブロックがインター予測符号化される場合の現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの第2の同一の変換部分集合のいずれかを判定するステップを含み、前記第1の同一の変換部分集合が、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの同一の変換部分集合であり、前記第2の同一の変換部分集合が、前記ビデオブロックがインター予測符号化される場合の前記現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの同一の変換部分集合である、判定するステップと、
    前記ビデオデータの前記現在の係数ブロックの左変換に関する第1の変換部分集合を前記判定された複数の変換部分集合から選択するステップと、
    前記ビデオデータの前記現在の係数ブロックの右変換に関する第2の変換部分集合を前記判定された複数の変換部分集合から選択するステップと、
    前記選択された第1の変換部分集合から前記左変換を判定するステップと、
    前記選択された第2の変換部分集合から前記右変換を判定するステップと、
    前記左変換、前記右変換、および前記現在の係数ブロックに基づいて現在の変換ブロックを判定するステップと、
    前記現在の変換ブロックおよび予測ブロックに基づいて前記ビデオブロックを再構成するステップと、
    を含む、方法。
  2. 前記第1の変換部分集合または前記第2の変換部分集合のうちの少なくとも1つは、離散コサイン変換(DCT)-II変換および離散サイン変換(DST)-VII変換とは異なる、離散コサイン変換(DCT)または離散サイン変換(DST)を備える変換を含む、
    請求項1に記載の方法。
  3. 選択されたイントラ予測モードに基づいて、前記第1の変換部分集合および前記第2の変換部分集合から分離可能な変換の水平変換および垂直変換を選択するステップ
    をさらに備える、請求項1または2に記載の方法。
  4. 前記現在の係数ブロックに関連する変換サイズを判定するステップであって、前記変換サイズが所定のサイズよりも大きい場合、前記現在の係数ブロックに関連する係数の変換部分集合にのみエントロピーコーディングする、ステップ
    をさらに備える、請求項1から3のいずれか一項に記載の方法。
  5. ビデオデータを符号化する方法であって、
    複数の予測モードのうちの1つに従ってコーディングされるビデオブロックに関連する現在の係数ブロックを変換するために複数の変換部分集合を判定するステップであって、前記予測モードは、複数のイントラ予測モードおよび複数のインター予測モードを含み、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別し、前記複数の変換部分集合を判定するステップは、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの第1の同一の変換部分集合または前記ビデオブロックがインター予測符号化される場合の現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの第2の同一の変換部分集合のいずれかを判定するステップを含み、前記第1の同一の変換部分集合が、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの同一の変換部分集合であり、前記第2の同一の変換部分集合が、前記ビデオブロックがインター予測符号化される場合の前記現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの同一の変換部分集合である、判定するステップと、
    前記ビデオデータの前記ビデオブロックの前記現在の変換ブロックの左変換に関する第1の変換部分集合を前記判定された複数の変換部分集合から選択するステップと、
    前記ビデオデータの前記ビデオブロックの前記現在の変換ブロックの右変換に関する第2の変換部分集合を前記判定された複数の変換部分集合から選択するステップと、
    前記選択された第1の変換部分集合から前記左変換を判定するステップと、
    前記選択された第2の変換部分集合から前記右変換を判定するステップと、
    前記左変換、前記右変換、および前記現在の変換ブロックに基づいて現在の係数ブロックを判定するステップと、
    前記ビデオブロックの再構成に使用される前記現在の係数ブロックの係数を示す情報を含むビデオビットストリームを生成するステップと、
    を含む、方法。
  6. 前記ビデオブロックのイントラ予測モードを判定するステップ
    をさらに含み、前記第1の変換部分集合を選択するステップは、前記判定されたイントラ予測モードに基づいて前記第1の変換部分集合を選択するステップを含み、
    前記第2の変換部分集合を選択するステップは、前記判定されたイントラ予測モードに基づいて前記第2の変換部分集合を選択するステップを含む、
    請求項1または5に記載の方法。
  7. 前記ビデオブロックがインター予測符号化されることに基づいて前記ビデオブロック内の前記現在の変換ブロックのロケーションを判定するステップ
    をさらに含み、前記第1の変換部分集合を選択するステップは、前記現在の変換ブロックの前記判定されたロケーションに基づいて前記第1の変換部分集合を選択するステップを含み、
    前記第2の変換部分集合を選択するステップは、前記現在の変換ブロックの前記判定されたロケーションに基づいて前記第2の変換部分集合を選択するステップを含む、
    請求項1または5に記載の方法。
  8. 前記現在の係数ブロックを判定するのに使用される前記第1の変換部分集合内の変換を識別するために、前記第1の変換部分集合内への第1の変換部分集合インデックスをビデオビットストリーム内で生成するステップと、
    前記現在の係数ブロックを判定するのに使用される前記第2の変換部分集合内の変換を識別するために、前記第2の変換部分集合内への第2の変換部分集合インデックスを前記ビデオビットストリーム内で生成するステップと、をさらに含み、
    前記方法は、好ましくは、
    前記現在の係数ブロック内の非0係数の個数を判定するステップ
    をさらに含み、前記第1の変換部分集合インデックスをシグナリングするステップは、非0係数の前記個数がしきい値より大きいことに基づいて前記第1の変換部分集合インデックスをシグナリングするステップを含み、
    前記第2の変換部分集合インデックスをシグナリングするステップは、非0係数の前記個数が前記しきい値より大きいことに基づいて前記第2の変換部分集合インデックスをシグナリングするステップを含む、
    請求項1または5に記載の方法。
  9. 前記第1の変換部分集合または前記第2の変換部分集合のうちの少なくとも1つは、離散コサイン変換(DCT)-II変換および離散サイン変換(DST)-VII変換とは異なる変換を含む、
    請求項1または5に記載の方法。
  10. 前記第1の変換部分集合および前記第2の変換部分集合は、異なる変換タイプを含み、かつ/または、
    前記複数の変換部分集合は、3つ以上の変換部分集合を含み、かつ/または、
    前記候補変換は、異なる変換タイプであり、かつ/または、
    前記複数の変換部分集合を判定するステップは、前記ビデオブロックのサイズに基づいて前記複数の変換部分集合を判定するステップを含む、
    請求項1または5に記載の方法。
  11. 予測ブロックを判定するステップと、
    前記予測ブロックに基づいて前記ビデオブロックの予測モードを示す情報をビデオビットストリーム内で生成するステップと
    をさらに含み、
    前記予測ブロックは、好ましくは、前記ビデオブロックがイントラ予測されることに基づいて前記ビデオブロックと同一のピクチャ内のブロック、または前記ビデオブロックがインター予測されることに基づいて前記ビデオブロックを含む前記ピクチャとは異なるピクチャ内のブロックである、
    請求項1または5に記載の方法。
  12. 前記ビデオブロックと予測ブロックとの間の残差として前記現在の変換ブロックを判定するステップ
    をさらに含む、請求項1または5に記載の方法。
  13. ビデオデータを復号するためのデバイスであって、
    複数の予測モードのうちの1つに従ってコーディングされるビデオブロックに関連する現在の係数ブロックを変換するために複数の変換部分集合を判定するための手段であって、前記予測モードは、複数のイントラ予測モードおよび複数のインター予測モードを含み、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別し、前記複数の変換部分集合を判定するための前記手段は、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの第1の同一の変換部分集合または前記ビデオブロックがインター予測符号化される場合の現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの第2の同一の変換部分集合のいずれかを判定するための手段を含み、前記第1の同一の変換部分集合が、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの同一の変換部分集合であり、前記第2の同一の変換部分集合が、前記ビデオブロックがインター予測符号化される場合の前記現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの同一の変換部分集合である、判定するための手段と、
    前記ビデオデータの前記現在の係数ブロックの左変換に関する第1の変換部分集合を前記判定された複数の変換部分集合から選択するための手段と、
    前記ビデオデータの前記現在の係数ブロックの右変換に関する第2の変換部分集合を前記判定された複数の変換部分集合から選択するための手段と、
    前記選択された第1の変換部分集合から前記左変換を判定するための手段と、
    前記選択された第2の変換部分集合から前記右変換を判定するための手段と、
    前記左変換、前記右変換、および前記現在の係数ブロックに基づいて現在の変換ブロックを判定するための手段と、
    前記現在の変換ブロックおよび予測ブロックに基づいてビデオブロックを再構成するための手段と、
    を含む、デバイス。
  14. ビデオデータを符号化するためのデバイスであって、
    複数の予測モードのうちの1つに従ってコーディングされるビデオブロックに関連する現在の係数ブロックを変換するために複数の変換部分集合を判定するための手段であって、前記予測モードは、複数のイントラ予測モードおよび複数のインター予測モードを含み、各部分集合は1つまたは複数の候補変換を識別し、少なくとも1つの変換部分集合は複数の候補変換を識別し、前記複数の変換部分集合を判定するための前記手段は、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの第1の同一の変換部分集合または前記ビデオブロックがインター予測符号化される場合の現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの第2の同一の変換部分集合のいずれかを判定するための手段を含み、前記第1の同一の変換部分集合が、前記イントラ予測モードのそれぞれに関する前記複数の変換部分集合のうちの同一の変換部分集合であり、前記第2の同一の変換部分集合が、前記ビデオブロックがインター予測符号化される場合の前記現在の変換ブロックのロケーションに基づいた前記複数の変換部分集合のうちの同一の変換部分集合である、判定するための手段と、
    前記ビデオデータの前記ビデオブロックの前記現在の変換ブロックの左変換に関する第1の変換部分集合を前記判定された複数の変換部分集合から選択するための手段と、
    前記ビデオデータの前記ビデオブロックの前記現在の変換ブロックの右変換に関する第2の変換部分集合を前記判定された複数の変換部分集合から選択するための手段と、
    前記選択された第1の変換部分集合から前記左変換を判定するための手段と、
    前記選択された第2の変換部分集合から前記右変換を判定するための手段と、
    前記左変換、前記右変換、および前記現在の変換ブロックに基づいて現在の係数ブロックを判定するための手段と、
    前記ビデオブロックの再構成に使用される前記現在の係数ブロックの係数を示す情報を含むビデオビットストリームを生成するための手段と、
    を含む、デバイス。
  15. 実行された時に、ビデオコーダに、請求項1から12のいずれか一項に記載の方法を実行させる命令を記憶した、
    非一時的コンピュータ可読記憶媒体。
JP2017538635A 2015-01-26 2016-01-26 予測残差のための機能強化された複数の変換 Active JP6768675B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562107996P 2015-01-26 2015-01-26
US62/107,996 2015-01-26
US201562137038P 2015-03-23 2015-03-23
US62/137,038 2015-03-23
US15/005,736 2016-01-25
US15/005,736 US10306229B2 (en) 2015-01-26 2016-01-25 Enhanced multiple transforms for prediction residual
PCT/US2016/014898 WO2016123091A1 (en) 2015-01-26 2016-01-26 Enhanced multiple transforms for prediction residual

Publications (3)

Publication Number Publication Date
JP2018506905A JP2018506905A (ja) 2018-03-08
JP2018506905A5 JP2018506905A5 (ja) 2019-02-21
JP6768675B2 true JP6768675B2 (ja) 2020-10-14

Family

ID=56433544

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017538635A Active JP6768675B2 (ja) 2015-01-26 2016-01-26 予測残差のための機能強化された複数の変換

Country Status (11)

Country Link
US (1) US10306229B2 (ja)
EP (1) EP3251364B1 (ja)
JP (1) JP6768675B2 (ja)
KR (1) KR102452745B1 (ja)
CN (1) CN107211144B (ja)
CA (1) CA2971880C (ja)
EA (1) EA038534B1 (ja)
ES (1) ES3023710T3 (ja)
TN (1) TN2017000286A1 (ja)
TW (1) TWI686076B (ja)
WO (1) WO2016123091A1 (ja)

Families Citing this family (173)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK2869557T3 (da) * 2012-06-29 2023-11-06 Electronics & Telecommunications Res Inst Fremgangsmåde og anordning til kodning/afkodning af billeder
WO2015172337A1 (en) * 2014-05-14 2015-11-19 Mediatek Singapore Pte. Ltd. Alternative transforms for data compression
FR3038196A1 (fr) * 2015-06-29 2016-12-30 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US10491922B2 (en) 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
US20170150156A1 (en) 2015-11-25 2017-05-25 Qualcomm Incorporated Illumination compensation with non-square predictive blocks in video coding
US11233990B2 (en) * 2016-02-08 2022-01-25 Sharp Kabushiki Kaisha Systems and methods for intra prediction coding
BR112018015266A2 (pt) 2016-02-12 2018-12-18 Thomson Licensing método e dispositivo para codificação/decodificação intra-preditiva de uma unidade de codificação compreendendo dados de imagem, a dita codificação intra-preditiva dependendo de uma árvore de predição e de uma árvore de transformadas
US10623774B2 (en) 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
US10904526B2 (en) * 2016-03-28 2021-01-26 Kt Corporation Method and apparatus for processing video signal
EP3457691A4 (en) * 2016-05-13 2019-03-20 Sharp Kabushiki Kaisha IMAGE DECODING DEVICE AND IMAGE CODING DEVICE
US10547854B2 (en) 2016-05-13 2020-01-28 Qualcomm Incorporated Neighbor based signaling of intra prediction modes
EP3972256B1 (en) 2016-06-24 2024-01-03 KT Corporation Adaptive reference sample filtering for intra prediction using distant pixel lines
EP3985967B1 (en) * 2016-07-05 2025-08-20 KT Corporation Method and apparatus for processing video signal
CN117412045A (zh) * 2016-07-13 2024-01-16 韩国电子通信研究院 图像编码/解码方法和装置
KR102531124B1 (ko) * 2016-07-14 2023-05-10 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 변환 기반 잔차 코딩을 이용한 예측 화상 코딩
KR102424420B1 (ko) 2016-08-31 2022-07-22 주식회사 케이티 비디오 신호 처리 방법 및 장치
ES2711474R1 (es) * 2016-08-31 2020-07-01 Kt Corp Metodo y aparato para procesar una senal de video
KR20190039562A (ko) * 2016-09-01 2019-04-12 엘지전자 주식회사 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
US10880564B2 (en) 2016-10-01 2020-12-29 Qualcomm Incorporated Transform selection for video coding
EP4432664A3 (en) * 2016-10-04 2024-11-20 B1 Institute of Image Technology, Inc. Image data encoding/decoding method and apparatus
CN118474342A (zh) 2016-10-04 2024-08-09 有限公司B1影像技术研究所 图像数据编码/解码方法、介质和传输数据的方法
US10506228B2 (en) 2016-10-04 2019-12-10 Qualcomm Incorporated Variable number of intra modes for video coding
FR3057429A1 (fr) * 2016-10-07 2018-04-13 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs et programmes d'ordinateurs associes
US11095893B2 (en) 2016-10-12 2021-08-17 Qualcomm Incorporated Primary transform and secondary transform in video coding
KR102476148B1 (ko) * 2016-12-28 2022-12-12 소니그룹주식회사 화상 처리 장치 및 방법
RU2745779C2 (ru) * 2017-01-03 2021-03-31 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ обработки изображений и устройство для этого
KR20180089858A (ko) * 2017-02-01 2018-08-09 엘지전자 주식회사 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
US11405645B2 (en) * 2017-02-28 2022-08-02 Google Llc Transform kernel selection and entropy coding
EP3586511B1 (en) * 2017-03-16 2022-01-05 MediaTek Inc. Method and apparatus of enhanced multiple transforms and non-separable secondary transform for video coding
US10701391B2 (en) 2017-03-23 2020-06-30 Qualcomm Incorporated Motion vector difference (MVD) prediction
US20180288439A1 (en) * 2017-03-31 2018-10-04 Mediatek Inc. Multiple Transform Prediction
FR3064870A1 (fr) * 2017-03-31 2018-10-05 B<>Com Procede de decodage d'au moins une image numerique, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes
US10750181B2 (en) * 2017-05-11 2020-08-18 Mediatek Inc. Method and apparatus of adaptive multiple transforms for video coding
US10630974B2 (en) * 2017-05-30 2020-04-21 Google Llc Coding of intra-prediction modes
WO2018226067A1 (ko) * 2017-06-08 2018-12-13 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
WO2019004749A1 (ko) * 2017-06-28 2019-01-03 엘지전자 주식회사 비디오 압축을 위한 변환 커널의 저복잡도 연산을 수행하는 방법 및 장치
FR3068556A1 (fr) 2017-06-29 2019-01-04 B<>Com Procede de decodage d'une image, procede de codage, dispositifs, equipement terminal et programmes d'ordinateurs associes
US20230308626A1 (en) * 2017-07-17 2023-09-28 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
CA3073674C (en) 2017-08-04 2022-11-29 Lg Electronics Inc. Method and apparatus for configuring transform for video compression
EP3451663A1 (en) * 2017-08-31 2019-03-06 Thomson Licensing Pools of transforms for local selection of a set of transforms in video coding
WO2019045544A1 (ko) * 2017-09-03 2019-03-07 엘지전자 주식회사 레이어드 기븐스 변환을 이용하여 변환을 수행하는 방법 및 장치
WO2019069782A1 (ja) * 2017-10-06 2019-04-11 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
WO2019076138A1 (en) 2017-10-16 2019-04-25 Huawei Technologies Co., Ltd. Encoding method and apparatus
CN109922340B (zh) * 2017-12-13 2021-10-15 华为技术有限公司 图像编解码方法、装置、系统及存储介质
EP4307676A3 (en) * 2017-12-21 2024-03-13 LG Electronics Inc. Method for coding image on basis of selective transform and device therefor
EP3729807A1 (en) * 2017-12-22 2020-10-28 InterDigital VC Holdings, Inc. Method and apparatus for video compression using efficient multiple transforms
EP3503549A1 (en) * 2017-12-22 2019-06-26 Thomson Licensing Method and apparatus for video compression using efficient multiple transforms
CN115065821B (zh) * 2017-12-28 2024-03-15 松下电器(美国)知识产权公司 编码装置和解码装置
US10812797B2 (en) * 2018-02-05 2020-10-20 Tencent America LLC Method, apparatus and medium for decoding or encoding using a low-complexity transform
JP7121133B2 (ja) * 2018-02-23 2022-08-17 華為技術有限公司 ビデオ符号化のための位置依存の空間変化変換
US10567801B2 (en) 2018-03-07 2020-02-18 Tencent America LLC Method and apparatus for video coding with primary and secondary transforms
WO2019190098A1 (ko) * 2018-03-28 2019-10-03 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN112567745B (zh) * 2018-03-29 2024-09-06 弗劳恩霍夫应用研究促进协会 用于视频编码的候选变换集合的确定
WO2019190283A1 (ko) * 2018-03-29 2019-10-03 엘지전자 주식회사 저복잡도 연산 dst7을 설계하는 방법 및 장치
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
WO2019188466A1 (ja) * 2018-03-30 2019-10-03 ソニー株式会社 画像処理装置および方法
WO2019194458A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 Obmc를 이용한 영상 코딩 방법 및 그 장치
PL3764649T3 (pl) * 2018-04-01 2024-01-22 Lg Electronics Inc. Przetwarzanie sygnału wideo z wykorzystaniem skróconego przekształcenia wtórnego
WO2019194505A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 축소된 회전기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
US11297348B2 (en) * 2018-04-13 2022-04-05 Mediatek Inc. Implicit transform settings for coding a block of pixels
JP2021520698A (ja) * 2018-05-02 2021-08-19 インターデジタル ヴイシー ホールディングス, インコーポレイテッド ビデオのコード化および復号。
US10462486B1 (en) * 2018-05-07 2019-10-29 Tencent America, Llc Fast method for implementing discrete sine transform type VII (DST 7)
US10536720B2 (en) * 2018-05-07 2020-01-14 Tencent America LLC Method, apparatus and medium for decoding or encoding
ES2962364T3 (es) 2018-05-31 2024-03-18 Huawei Tech Co Ltd Transformada espacialmente variable con tipo de transformada adaptativa
US10986340B2 (en) * 2018-06-01 2021-04-20 Qualcomm Incorporated Coding adaptive multiple transform information for video coding
US10645396B2 (en) * 2018-06-04 2020-05-05 Tencent America LLC Method and apparatus for implicit transform splitting
US10687081B2 (en) * 2018-06-29 2020-06-16 Tencent America LLC Method, apparatus and medium for decoding or encoding
US10666981B2 (en) 2018-06-29 2020-05-26 Tencent America LLC Method, apparatus and medium for decoding or encoding
KR20250026417A (ko) * 2018-07-02 2025-02-25 광동 오포 모바일 텔레커뮤니케이션즈 코포레이션 리미티드 이차 변환을 기반으로 비디오 신호를 처리하는 방법 및 장치
EP3806475B1 (en) * 2018-07-06 2023-05-10 LG Electronics, Inc. Transform-based image coding method and device
WO2020011860A1 (en) 2018-07-13 2020-01-16 Telefonaktiebolaget Lm Ericsson (Publ) Transform selection in a video encoder and/or video decoder
US11259052B2 (en) * 2018-07-16 2022-02-22 Qualcomm Incorporated Transform variations of multiple separable transform selection
CN110839158B (zh) * 2018-08-16 2023-03-10 北京字节跳动网络技术有限公司 变换矩阵选择的系数相关的编解码
US11405650B2 (en) 2018-08-22 2022-08-02 Hfi Innovation Inc. Method and apparatus of transform coefficient coding
WO2020046091A1 (ko) * 2018-09-02 2020-03-05 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
CN114885162B (zh) * 2018-09-02 2024-04-23 Lg电子株式会社 解码设备、编码设备和计算机可读记录介质
GB2579763B (en) 2018-09-21 2021-06-09 Canon Kk Video coding and decoding
CN110944177B (zh) * 2018-09-21 2024-03-01 华为技术有限公司 视频解码方法及视频解码器,视频编码方法及视频编码器
WO2020056760A1 (en) * 2018-09-21 2020-03-26 Alibaba Group Holding Limited Transform selection for small size block
GB2577318B (en) 2018-09-21 2021-03-10 Canon Kk Video coding and decoding
CN117097895A (zh) * 2018-09-23 2023-11-21 Lg 电子株式会社 编码/解码视频信号的方法及其装置
CN111418206B (zh) * 2018-10-05 2023-12-01 Lg电子株式会社 使用mpm列表的基于帧内预测的视频编码方法及其装置
WO2020073882A1 (en) * 2018-10-08 2020-04-16 Huawei Technologies Co., Ltd. Video decoder and corresponding methods
US10893286B2 (en) * 2018-10-09 2021-01-12 Tencent America LLC Methods and apparatus for low-complexity MTS
GB2595054B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
GB2595053B (en) 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
US11128866B2 (en) 2018-10-18 2021-09-21 Qualcomm Incorporated Scans and last coefficient position coding for zero-out transforms
ES3024138T3 (en) * 2018-11-12 2025-06-03 Lg Electronics Inc Method for coding transform coefficient on basis of high frequency zeroing and apparatus therefor
CN119135898A (zh) * 2018-11-22 2024-12-13 交互数字Vc控股公司 用于视频编码和解码的方法和装置
KR102807906B1 (ko) * 2018-12-06 2025-05-14 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
US11102513B2 (en) 2018-12-06 2021-08-24 Tencent America LLC One-level transform split and adaptive sub-block transform
US11284112B2 (en) * 2018-12-06 2022-03-22 Tencent America LLC Method and apparatus for a primary transform using an 8-bit transform core
KR102768903B1 (ko) 2018-12-17 2025-02-18 비보 모바일 커뮤니케이션 컴퍼니 리미티드 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치
US11323748B2 (en) * 2018-12-19 2022-05-03 Qualcomm Incorporated Tree-based transform unit (TU) partition for video coding
US10855992B2 (en) * 2018-12-20 2020-12-01 Alibaba Group Holding Limited On block level bi-prediction with weighted averaging
CN111385584B (zh) * 2018-12-28 2022-09-06 杭州海康威视数字技术股份有限公司 进行编码、解码的方法、装置和系统
WO2020139182A1 (en) * 2018-12-28 2020-07-02 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for selecting transform selection in an encoder and decoder
WO2020141892A1 (ko) * 2019-01-01 2020-07-09 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
US11632557B2 (en) 2019-01-01 2023-04-18 Lg Electronics Inc. Method and device for decoding video using residual sign related information in video coding system
US10904563B2 (en) * 2019-01-02 2021-01-26 Tencent America LLC Method and apparatus for improved zero out transform
CN119094747A (zh) * 2019-01-02 2024-12-06 弗劳恩霍夫应用研究促进协会 统一变换类型信令和变换类型相关的变换系数水平编码
WO2020145582A1 (ko) * 2019-01-07 2020-07-16 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020145795A1 (ko) * 2019-01-12 2020-07-16 엘지전자 주식회사 영상 코딩 시스템에서 레지듀얼 정보를 사용하는 영상 디코딩 방법 및 그 장치
US11595663B2 (en) 2019-02-01 2023-02-28 Qualcomm Incorporated Secondary transform designs for partitioned transform units in video coding
US10986339B2 (en) * 2019-02-08 2021-04-20 Tencent America LLC Method and apparatus for harmonization between transform skip mode and multiple transform selection
US12200202B2 (en) * 2019-02-21 2025-01-14 Lg Electronics Inc. Image decoding method and apparatus using intra prediction in image coding system
US11159795B2 (en) * 2019-03-04 2021-10-26 Tencent America LLC Max transform size control
CN113302925B (zh) * 2019-03-10 2024-05-10 寰发股份有限公司 视频编码的量化矩阵计算以及表示方法和装置
JP7416450B2 (ja) * 2019-03-11 2024-01-17 テンセント・アメリカ・エルエルシー インターpdpcモードの改善
KR102461123B1 (ko) 2019-03-11 2022-10-28 엘지전자 주식회사 Ibc 모드를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN117676139B (zh) * 2019-03-11 2025-01-21 北京达佳互联信息技术有限公司 视频编解码中变换系数的编解码
US11539952B2 (en) * 2019-03-12 2022-12-27 Qualcomm Incorporated Implicit transform selection in video coding
US11025937B2 (en) * 2019-03-16 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11172211B2 (en) * 2019-04-04 2021-11-09 Tencent America LLC Method and apparatus for video coding
US11240534B2 (en) 2019-04-05 2022-02-01 Qualcomm Incorporated Extended multiple transform selection for video coding
US11363306B2 (en) * 2019-04-05 2022-06-14 Comcast Cable Communications, Llc Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization
JP7277608B2 (ja) 2019-04-23 2023-05-19 北京字節跳動網絡技術有限公司 多重変換行列のコンテキストモデリングおよび選択
CN117499641A (zh) * 2019-05-10 2024-02-02 北京字节跳动网络技术有限公司 用于视频处理的简化二次变换的有条件使用
US11032572B2 (en) 2019-05-17 2021-06-08 Qualcomm Incorporated Low-frequency non-separable transform signaling based on zero-out patterns for video coding
WO2020236723A1 (en) 2019-05-19 2020-11-26 Bytedance Inc. Transform bypass coded residual blocks in digital video
WO2020244659A1 (en) 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Interactions between sub-block based intra block copy and different coding tools
CN113994699B (zh) 2019-06-06 2024-01-12 北京字节跳动网络技术有限公司 视频编解码的运动候选列表构建
WO2020244661A1 (en) 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Implicit selection of transform candidates
WO2020244663A1 (en) * 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Applicability of implicit transform selection
WO2020244662A1 (en) 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Simplified transform coding tools
EP3967032A4 (en) 2019-06-07 2022-07-27 Beijing Bytedance Network Technology Co., Ltd. CONDITIONAL SIGNALING OF A REDUCED SECONDARY TRANSFORM FOR VIDEO BIANARY FLOWS
US11212545B2 (en) 2019-06-07 2021-12-28 Tencent America LLC Method and apparatus for improved implicit transform selection
US11695960B2 (en) 2019-06-14 2023-07-04 Qualcomm Incorporated Transform and last significant coefficient position signaling for low-frequency non-separable transform in video coding
US11949870B2 (en) 2019-06-21 2024-04-02 Qualcomm Incorporated Context modeling for low-frequency non-separable transformation signaling for video coding
WO2020259426A1 (en) 2019-06-22 2020-12-30 Beijing Bytedance Network Technology Co., Ltd. Motion candidate list construction for intra block copy mode
CN119299687A (zh) 2019-07-12 2025-01-10 Lg 电子株式会社 基于变换的图像编译方法及其设备
EP3984215A4 (en) 2019-07-14 2022-08-24 Beijing Bytedance Network Technology Co., Ltd. TRANSFORMATION BLOCK SIZE LIMITATION IN VIDEO ENCODING
PL3987776T3 (pl) 2019-07-26 2025-04-07 Beijing Bytedance Network Technology Co., Ltd. Zależne od rozmiaru bloku zastosowanie trybu kodowania wideo
JP7422858B2 (ja) 2019-08-03 2024-01-26 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体及び記憶方法
CN118632034A (zh) 2019-08-17 2024-09-10 北京字节跳动网络技术有限公司 为视频中的缩减二次变换的边信息的上下文建模
US11677984B2 (en) 2019-08-20 2023-06-13 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) signaling
EP4000266A4 (en) 2019-08-20 2022-10-26 Beijing Bytedance Network Technology Co., Ltd. Residual coding for transform skipped blocks
MX2022003187A (es) 2019-09-19 2022-05-20 Humax Co Ltd Metodo y aparato de procesamiento de se?ales de video usando proceso de escalamiento.
US11184617B2 (en) 2019-09-19 2021-11-23 Qualcomm Incorporated Transform unit design for video coding
US11153576B2 (en) 2019-09-20 2021-10-19 Qualcomm Incorporated Scaling matrices and signaling for video coding
CN117596400A (zh) * 2019-09-20 2024-02-23 北京字节跳动网络技术有限公司 编解码块的缩放过程
PL4017007T3 (pl) * 2019-09-21 2024-07-29 Lg Electronics Inc. Sposób kodowania obrazu oparty na przekształceniu i służące do tego urządzenie
CN114731446B (zh) 2019-09-24 2025-01-07 弗劳恩霍夫应用研究促进协会 用于信息值序列的编码概念
US11206400B2 (en) 2019-09-26 2021-12-21 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) simplifications
JP7418561B2 (ja) * 2019-10-04 2024-01-19 エルジー エレクトロニクス インコーポレイティド 変換に基づく映像コーディング方法及びその装置
US11432014B2 (en) 2019-10-25 2022-08-30 Qualcomm Incorporated Parametric graph-based separable transforms for video coding
US11284071B2 (en) * 2019-12-12 2022-03-22 Google Llc Combination of mode-dependent and fixed transform types in video coding
US20210195192A1 (en) 2019-12-20 2021-06-24 Qualcomm Incorporated Coefficient group based restriction on multiple transform selection signaling in video coding
US11470353B2 (en) 2019-12-20 2022-10-11 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) with reduced zero-out in video coding
US11457229B2 (en) 2019-12-23 2022-09-27 Qualcomm Incorporated LFNST signaling for chroma based on chroma transform skip
US11706425B2 (en) 2020-01-08 2023-07-18 Qualcomm Incorporated Multiple transform set signaling for video coding
CN115552900B (zh) * 2020-02-21 2025-12-23 阿里巴巴(中国)有限公司 用信号通知最大变换大小和残差编码的方法
CN111263158B (zh) * 2020-02-28 2021-11-16 中南大学 一种基于空间相关度的多变换核快速处理方法
WO2021180022A1 (en) 2020-03-07 2021-09-16 Beijing Bytedance Network Technology Co., Ltd. Handling of transform skip mode in video coding
US12244812B2 (en) 2020-03-24 2025-03-04 Lg Electronics Inc. Transform-based image coding method and device therefor
US12160612B2 (en) 2020-03-26 2024-12-03 Lg Electronics Inc. Transform-based image coding method based on LFNST index, and device therefor
US11582491B2 (en) 2020-03-27 2023-02-14 Qualcomm Incorporated Low-frequency non-separable transform processing in video coding
US20210321137A1 (en) 2020-03-30 2021-10-14 Qualcomm Incorporated Low-frequency non-separable transform index signaling in video coding
US11388401B2 (en) * 2020-06-26 2022-07-12 Google Llc Extended transform partitions for video compression
CN112565751B (zh) * 2020-09-27 2021-09-10 腾讯科技(深圳)有限公司 视频解码方法、装置、计算机可读介质及电子设备
CN114339217B (zh) * 2020-09-30 2024-09-13 中国科学院深圳先进技术研究院 变换集合生成方法和装置、机器可读存储介质和机器设备
US11871010B2 (en) 2020-10-02 2024-01-09 Qualcomm Incorporated Extended low-frequency non-separable transform (LFNST) designs with worst-case complexity handling
US11924471B2 (en) 2020-11-12 2024-03-05 Qualcomm Incorporated Context-based transform index signaling in video coding
EP4252419A1 (en) * 2021-01-25 2023-10-04 Google LLC Chroma transform type determination
US11800110B2 (en) * 2021-04-20 2023-10-24 Tencent America LLC Adaptive scanning with multiple transform selection
EP4175296A1 (en) * 2021-10-29 2023-05-03 Ateme Method for image processing and apparatus for implementing the same
EP4604545A1 (en) * 2022-10-12 2025-08-20 LG Electronics Inc. Video encoding/decoding method and device, and recording medium for storing bitstream
WO2024080795A1 (ko) * 2022-10-12 2024-04-18 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
EP4604544A1 (en) * 2022-10-12 2025-08-20 LG Electronics Inc. Image encoding/decoding method and device, and recording medium on which bitstream is stored
EP4604546A1 (en) * 2022-10-16 2025-08-20 LG Electronics Inc. Image encoding/decoding method and device, and recording medium on which bitstream is stored
WO2024085566A1 (ko) * 2022-10-16 2024-04-25 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체
EP4604548A1 (en) * 2022-10-16 2025-08-20 LG Electronics Inc. Image encoding/decoding method and device, and recording medium on which bitstream is stored
WO2025167806A1 (en) * 2024-02-07 2025-08-14 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus for transform coding

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE1000643A5 (fr) 1987-06-05 1989-02-28 Belge Etat Procede de codage de signaux d'image.
JPH0270127A (ja) 1988-09-06 1990-03-09 Toshiba Corp 変換符号化方式
US5136371A (en) 1990-03-15 1992-08-04 Thomson Consumer Electronics, Inc. Digital image coding using random scanning
EP0586225B1 (en) 1992-08-31 1998-12-23 Victor Company Of Japan, Ltd. Orthogonal transform coding apparatus and decoding apparatus
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
TW297202B (ja) 1993-10-13 1997-02-01 Rca Thomson Licensing Corp
EP0729688A1 (en) 1993-11-15 1996-09-04 National Semiconductor Corporation Quadtree-structured walsh transform coding
KR0183688B1 (ko) 1994-01-12 1999-05-01 김광호 영상부호화방법 및 장치
JP3086396B2 (ja) 1995-03-10 2000-09-11 シャープ株式会社 画像符号化装置及び画像復号装置
KR0178198B1 (ko) 1995-03-28 1999-05-01 배순훈 영상 신호 부호화 장치
US5721822A (en) 1995-07-21 1998-02-24 Intel Corporation Run-length encoding/decoding video signals using scan patterns explicitly encoded into bitstreams
US5790706A (en) 1996-07-03 1998-08-04 Motorola, Inc. Method and apparatus for scanning of transform coefficients
KR100211050B1 (ko) 1996-11-05 1999-07-15 이계철 선택적 양자화 계수 전송 장치 및 방법
JP2002232887A (ja) 1996-11-07 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像復号化方法および画像復号化装置
EP1689194A3 (en) 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
US5974181A (en) 1997-03-20 1999-10-26 Motorola, Inc. Data compression system, method, and apparatus
JPH10271505A (ja) 1997-03-25 1998-10-09 Oki Electric Ind Co Ltd 信号処理装置、符号化回路および復号回路
US5995055A (en) 1997-06-30 1999-11-30 Raytheon Company Planar antenna radiating structure having quasi-scan, frequency-independent driving-point impedance
CN100459715C (zh) 1997-07-31 2009-02-04 日本胜利株式会社 数字视频信号块间预测编码/解码装置及编码/解码方法
JP2900998B2 (ja) 1997-07-31 1999-06-02 日本ビクター株式会社 ブロック間内挿予測符号化装置、復号化装置、符号化方法及び復号化方法
AU769333B2 (en) 1998-08-10 2004-01-22 Etiip Holdings Inc. Embedded quadtree wavelets in image compression
EP0986026A1 (en) 1998-09-07 2000-03-15 STMicroelectronics S.r.l. Fractal coding of data in the DCT domain
JP4226172B2 (ja) 1998-11-24 2009-02-18 株式会社ハイニックスセミコンダクター 適応的変換方法を用いる映像圧縮符号化装置および復号化装置ならびにその方法
BR0014954A (pt) 1999-10-22 2002-07-30 Activesky Inc Sistema de vìdeo baseado em objetos
US6476805B1 (en) 1999-12-23 2002-11-05 Microsoft Corporation Techniques for spatial displacement estimation and multi-resolution operations on light fields
US6654503B1 (en) 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless image coder
US6724818B1 (en) 2000-07-17 2004-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Alternative block orders for better prediction
CN1142683C (zh) 2000-10-13 2004-03-17 清华大学 无转置行列分离二维离散余弦正反变换电路及其方法
JP2002135126A (ja) 2000-10-26 2002-05-10 Seiko Epson Corp 半導体装置及びこれを用いた電子機器
AU2002236659A1 (en) 2000-12-19 2002-07-01 Pulsent Corporation Adaptive transforms
US6856701B2 (en) 2001-09-14 2005-02-15 Nokia Corporation Method and system for context-based adaptive binary arithmetic coding
ES2610430T3 (es) * 2001-12-17 2017-04-27 Microsoft Technology Licensing, Llc Codificación por omisión de macrobloques
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
JP4447197B2 (ja) 2002-01-07 2010-04-07 三菱電機株式会社 動画像符号化装置および動画像復号装置
US7190840B2 (en) 2002-01-07 2007-03-13 Hewlett-Packard Development Company, L.P. Transform coefficient compression using multiple scans
KR100468844B1 (ko) 2002-01-07 2005-01-29 삼성전자주식회사 정지영상 및 동영상을 부호화/복호화하기 위한변환계수들의 최적주사방법
JP4494789B2 (ja) 2002-01-14 2010-06-30 ノキア コーポレイション 動的フィルタのコーディング
JP4510465B2 (ja) 2002-01-22 2010-07-21 ノキア コーポレイション イメージ/ビデオ符号器及び/又は復号器における変換係数の符号化
US6757576B2 (en) 2002-02-05 2004-06-29 Gcc, Inc. System and method for drawing and manufacturing bent pipes
KR100508798B1 (ko) 2002-04-09 2005-08-19 엘지전자 주식회사 쌍방향 예측 블록 예측 방법
US20060218482A1 (en) 2002-04-19 2006-09-28 Droplet Technology, Inc. Mobile imaging application, device architecture, service platform architecture and services
US7170937B2 (en) 2002-05-01 2007-01-30 Texas Instruments Incorporated Complexity-scalable intra-frame prediction technique
JP4313757B2 (ja) 2002-05-02 2009-08-12 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 画像および/またはビデオ符号器と復号器における変換係数を符号化するための方法と装置および対応するコンピュータプログラムと対応するコンピュータによる読み出し可能な記憶媒体
CN100473164C (zh) 2002-05-28 2009-03-25 夏普株式会社 图像内预测模式估计方法
US7145948B2 (en) 2002-05-29 2006-12-05 Koninklijke Philips Electronics N.V. Entropy constrained scalar quantizer for a Laplace-Markov source
US20030231795A1 (en) 2002-06-12 2003-12-18 Nokia Corporation Spatial prediction based intra-coding
RU2314656C2 (ru) 2002-06-11 2008-01-10 Нокиа Корпорейшн Внутреннее кодирование, основанное на пространственном прогнозировании
US7289674B2 (en) 2002-06-11 2007-10-30 Nokia Corporation Spatial prediction based intra coding
CN101039427B (zh) 2002-07-15 2010-06-16 株式会社日立制作所 动态图像的解码方法
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
US7463782B2 (en) 2002-11-05 2008-12-09 Canon Kabushiki Kaisha Data encoding with an amplitude model and path between the data and corresponding decoding
US20040091047A1 (en) 2002-11-11 2004-05-13 Sony Corporation Method and apparatus for nonlinear multiple motion model and moving boundary extraction
FI116710B (fi) 2002-12-20 2006-01-31 Oplayo Oy Kuvien koodausmenetelmä ja -järjestely
KR101029762B1 (ko) 2003-03-03 2011-04-19 에이전시 포 사이언스, 테크놀로지 앤드 리서치 고급 비디오 코딩에 대한 인트라 프레딕션을 위한 신속모드 결정 알고리즘
KR100750110B1 (ko) 2003-04-22 2007-08-17 삼성전자주식회사 4×4인트라 휘도 예측 모드 결정방법 및 장치
JP3756897B2 (ja) 2003-07-30 2006-03-15 株式会社東芝 動画像符号化装置及び動画像符号化方法
US7289562B2 (en) 2003-08-01 2007-10-30 Polycom, Inc. Adaptive filter to improve H-264 video quality
US20050036549A1 (en) 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of scanning mode in dual pass encoding
US7782954B2 (en) 2003-09-07 2010-08-24 Microsoft Corporation Scan patterns for progressive video content
US7688894B2 (en) 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
JP4142563B2 (ja) 2003-12-12 2008-09-03 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
JP4127818B2 (ja) 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
US7142231B2 (en) 2003-12-29 2006-11-28 Nokia Corporation Method and apparatus for improved handset multi-tasking, including pattern recognition and augmentation of camera images
EP1558039A1 (en) 2004-01-21 2005-07-27 Deutsche Thomson-Brandt Gmbh Method and apparatus for generating/evaluating prediction information in picture signal encoding/decoding
CN100479527C (zh) 2004-02-26 2009-04-15 联合信源数字音视频技术(北京)有限公司 一种帧内预测模式选取方法
JP4542447B2 (ja) 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
JP5037938B2 (ja) 2004-04-28 2012-10-03 日立コンシューマエレクトロニクス株式会社 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
US8731054B2 (en) 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US8369402B2 (en) 2004-06-17 2013-02-05 Canon Kabushiki Kaisha Apparatus and method for prediction modes selection based on image formation
US7664184B2 (en) 2004-07-21 2010-02-16 Amimon Ltd. Interpolation image compression
WO2006052399A1 (en) 2004-11-04 2006-05-18 Thomson Licensing Fast intra mode prediction for a video encoder
JP2006140758A (ja) 2004-11-12 2006-06-01 Toshiba Corp 動画像符号化方法、動画像符号化装置および動画像符号化プログラム
JP4763422B2 (ja) 2004-12-03 2011-08-31 パナソニック株式会社 イントラ予測装置
US8311119B2 (en) 2004-12-31 2012-11-13 Microsoft Corporation Adaptive coefficient scan order
US20060153295A1 (en) 2005-01-12 2006-07-13 Nokia Corporation Method and system for inter-layer prediction mode coding in scalable video coding
US7751478B2 (en) 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US7706443B2 (en) 2005-03-11 2010-04-27 General Instrument Corporation Method, article of manufacture, and apparatus for high quality, fast intra coding usable for creating digital video content
JP2006295408A (ja) 2005-04-07 2006-10-26 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像符号化プログラム
EP1711018A1 (en) 2005-04-08 2006-10-11 Thomson Licensing Method and apparatus for encoding video pictures, and method and apparatus for decoding video pictures
TW200704202A (en) 2005-04-12 2007-01-16 Nokia Corp Method and system for motion compensated fine granularity scalable video coding with drift control
EP1768415A1 (en) 2005-09-27 2007-03-28 Matsushita Electric Industrial Co., Ltd. Adaptive scan order of DCT coefficients and its signaling
KR100703200B1 (ko) 2005-06-29 2007-04-06 한국산업기술대학교산학협력단 인트라 부호화 장치 및 방법
KR101088375B1 (ko) 2005-07-21 2011-12-01 삼성전자주식회사 가변 블록 변환 장치 및 방법 및 이를 이용한 영상부호화/복호화 장치 및 방법
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,
WO2007010690A1 (ja) 2005-07-22 2007-01-25 Mitsubishi Electric Corporation 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法、画像符号化プログラム、画像復号プログラム、ならびに画像符号化プログラムを記録したコンピュータ読み取り可能な記録媒体、画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体
US7933337B2 (en) 2005-08-12 2011-04-26 Microsoft Corporation Prediction of transform coefficients for image compression
JP2007053561A (ja) 2005-08-17 2007-03-01 Matsushita Electric Ind Co Ltd 画像符号化装置および画像符号化方法
JP4650173B2 (ja) 2005-09-05 2011-03-16 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
US20070070082A1 (en) 2005-09-27 2007-03-29 Ati Technologies, Inc. Sample-level screen-door transparency using programmable transparency sample masks
WO2007046644A1 (en) 2005-10-21 2007-04-26 Electronics And Telecommunications Research Institute Apparatus and method for encoding and decoding moving picture using adaptive scanning
WO2007063472A2 (en) 2005-11-30 2007-06-07 Koninklijke Philips Electronics N.V. Encoding method and apparatus applying coefficient reordering
US7529484B2 (en) 2005-12-14 2009-05-05 Nec Laboratories America, Inc. Triplexer transceiver using parallel signal detection
CN1801940A (zh) 2005-12-15 2006-07-12 清华大学 整型变换电路和整型变换方法
US7944965B2 (en) 2005-12-19 2011-05-17 Seiko Epson Corporation Transform domain based distortion cost estimation
US8000539B2 (en) 2005-12-21 2011-08-16 Ntt Docomo, Inc. Geometrical image representation and compression
JP2007189276A (ja) 2006-01-11 2007-07-26 Victor Co Of Japan Ltd 画像圧縮装置及び画像圧縮プログラム
KR101246294B1 (ko) 2006-03-03 2013-03-21 삼성전자주식회사 영상의 인트라 예측 부호화, 복호화 방법 및 장치
JP2007267123A (ja) 2006-03-29 2007-10-11 Victor Co Of Japan Ltd 動画像符号化装置
US8036264B2 (en) 2006-05-23 2011-10-11 Lsi Corporation Memory management in video decoding systems
US20080008246A1 (en) 2006-07-05 2008-01-10 Debargha Mukherjee Optimizing video coding
JP2008022405A (ja) 2006-07-14 2008-01-31 Sony Corp 画像処理装置および方法、並びに、プログラム
KR100882949B1 (ko) 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
EP2073557B1 (en) 2006-10-10 2017-03-29 Nippon Telegraph and Telephone Corporation Intra prediction encoding control method and device, its program, and storage medium containing program
JP4908180B2 (ja) 2006-12-20 2012-04-04 株式会社東芝 動画像符号化装置
KR101366086B1 (ko) 2007-01-03 2014-02-21 삼성전자주식회사 잔차 블록의 계수들에 대한 부호화 결정 방법, 장치,인코더 및 디코더
WO2008084817A1 (ja) 2007-01-09 2008-07-17 Kabushiki Kaisha Toshiba 画像符号化と復号化の方法及び装置
JP2008193627A (ja) 2007-01-12 2008-08-21 Mitsubishi Electric Corp 画像符号化装置、画像復号装置、および画像符号化方法、画像復号方法
KR101365570B1 (ko) 2007-01-18 2014-02-21 삼성전자주식회사 인트라 예측 부호화, 복호화 방법 및 장치
CA2675891C (en) 2007-01-18 2013-04-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Quality scalable video data stream
US8238428B2 (en) 2007-04-17 2012-08-07 Qualcomm Incorporated Pixel-by-pixel weighting for intra-frame coding
US8619853B2 (en) 2007-06-15 2013-12-31 Qualcomm Incorporated Separable directional transforms
US8571104B2 (en) 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
CN107105257B (zh) 2007-06-29 2020-08-28 威勒斯媒体国际有限公司 图像编码装置、图像编码方法、图像译码装置、图像译码方法
US8437564B2 (en) 2007-08-07 2013-05-07 Ntt Docomo, Inc. Image and video compression using sparse orthonormal transforms
TW200910971A (en) 2007-08-22 2009-03-01 Univ Nat Cheng Kung Direction detection algorithms for H.264 intra prediction
JP5004180B2 (ja) 2007-11-07 2012-08-22 Kddi株式会社 動画像符号化装置および復号装置
EP2223527A1 (en) 2007-12-21 2010-09-01 Telefonaktiebolaget LM Ericsson (publ) Adaptive intra mode selection
EP2081386A1 (en) 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
US8024121B2 (en) 2008-01-25 2011-09-20 Smith International, Inc. Data compression method for use in downhole applications
CN101577605B (zh) * 2008-05-08 2014-06-18 吴志军 基于滤波器相似度的语音lpc隐藏和提取算法
KR101549823B1 (ko) 2008-09-02 2015-09-04 삼성전자주식회사 적응적 이진화를 이용한 영상 부호화, 복호화 방법 및 장치
KR20100027384A (ko) 2008-09-02 2010-03-11 삼성전자주식회사 예측 모드 결정 방법 및 장치
US20100172409A1 (en) 2009-01-06 2010-07-08 Qualcom Incorporated Low-complexity transforms for data compression and decompression
EP2422520A1 (en) 2009-04-20 2012-02-29 Dolby Laboratories Licensing Corporation Adaptive interpolation filters for multi-layered video delivery
WO2011031332A1 (en) 2009-09-14 2011-03-17 Thomson Licensing Methods and apparatus for efficient video encoding and decoding of intra prediction mode
US20110116539A1 (en) 2009-11-13 2011-05-19 Freescale Semiconductor, Inc. Method and apparatus for video decoding with reduced complexity inverse transform
US20110317757A1 (en) 2010-06-25 2011-12-29 Qualcomm Incorporated Intra prediction mode signaling for finer spatial prediction directions
US9661338B2 (en) 2010-07-09 2017-05-23 Qualcomm Incorporated Coding syntax elements for adaptive scans of transform coefficients for video coding
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9071851B2 (en) 2011-01-10 2015-06-30 Qualcomm Incorporated Adaptively performing smoothing operations
IN2014DN03096A (ja) * 2011-10-17 2015-05-15 Kt Corp
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
US9883203B2 (en) 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US9621894B2 (en) * 2012-01-13 2017-04-11 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
JPWO2013190990A1 (ja) * 2012-06-22 2016-05-26 シャープ株式会社 算術復号装置、算術符号化装置、画像復号装置、および画像符号化装置
US20140307780A1 (en) * 2013-04-11 2014-10-16 Mitsubishi Electric Research Laboratories, Inc. Method for Video Coding Using Blocks Partitioned According to Edge Orientations
CN103402097B (zh) * 2013-08-15 2016-08-10 清华大学深圳研究生院 一种自由视点视频深度图编码方法及其失真预测方法
US10278767B2 (en) * 2014-03-27 2019-05-07 Endomedical Concepts, Inc. Vaporization electrodes and electrosurgical devices equipped therewith
US10230980B2 (en) 2015-01-26 2019-03-12 Qualcomm Incorporated Overlapped motion compensation for video coding

Also Published As

Publication number Publication date
WO2016123091A1 (en) 2016-08-04
CA2971880A1 (en) 2016-08-04
KR102452745B1 (ko) 2022-10-07
EP3251364B1 (en) 2025-04-09
US20160219290A1 (en) 2016-07-28
US10306229B2 (en) 2019-05-28
TW201637446A (zh) 2016-10-16
CA2971880C (en) 2023-12-19
BR112017016012A2 (pt) 2018-03-20
ES3023710T3 (en) 2025-06-03
EA038534B1 (ru) 2021-09-10
KR20170107452A (ko) 2017-09-25
TWI686076B (zh) 2020-02-21
EA201791457A1 (ru) 2017-12-29
CN107211144B (zh) 2020-01-03
CN107211144A (zh) 2017-09-26
EP3251364A1 (en) 2017-12-06
TN2017000286A1 (en) 2019-01-16
JP2018506905A (ja) 2018-03-08
EP3251364C0 (en) 2025-04-09

Similar Documents

Publication Publication Date Title
JP6768675B2 (ja) 予測残差のための機能強化された複数の変換
US11647194B2 (en) Look-up table for enhanced multiple transform
JP6882560B2 (ja) 画像予測方法および装置
US10506246B2 (en) Multi-type-tree framework for video coding
KR102278720B1 (ko) 비디오 코딩에서 변환 프로세싱과 함께 적용된 인트라 필터링
CN109716772B (zh) 用于视频译码的变换选择
JP6818135B2 (ja) ビデオコーディングのための可変数のイントラモード
CN108605141B (zh) 用于紧凑多遍变换的高效参数存储
EP3005698A1 (en) Residual differential pulse code modulation (dpcm) extensions and harmonization with transform skip, rotation, and scans
CN103797802A (zh) 用于视频译码中的短距离帧内预测的线缓冲器减少
BR112017016012B1 (pt) Múltiplas transformadas melhoradas para residual de predição
OA18315A (en) Enhanced multiple transforms for prediction residual.
HK40015204A (en) Intra filtering applied together with transform processing in video coding

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190108

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200923

R150 Certificate of patent or registration of utility model

Ref document number: 6768675

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