JP2019500779A - ビデオコーディングにおける非正方形予測単位を用いた線形モデル予測 - Google Patents
ビデオコーディングにおける非正方形予測単位を用いた線形モデル予測 Download PDFInfo
- Publication number
- JP2019500779A JP2019500779A JP2018526697A JP2018526697A JP2019500779A JP 2019500779 A JP2019500779 A JP 2019500779A JP 2018526697 A JP2018526697 A JP 2018526697A JP 2018526697 A JP2018526697 A JP 2018526697A JP 2019500779 A JP2019500779 A JP 2019500779A
- Authority
- JP
- Japan
- Prior art keywords
- luminance
- block
- sample
- reference samples
- square
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/649—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection 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/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/587—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Color Television Systems (AREA)
Abstract
ビデオコーダは、色差参照サンプルのセットを再構築し、非正方形予測単位の輝度サンプルを再構築する。加えて、ビデオコーダは、非正方形予測ブロックの長辺に隣接する輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをサブサンプリングする。ビデオコーダは、β=(Σyi-α・Σxi)/Iに基づいて線形モデル(LM)パラメータを決定し、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中の輝度参照サンプルであり、yiは色差参照サンプルのセットの中の色差参照サンプルである。ビデオコーダは、非正方形予測ブロックの色差サンプルの値を決定するためのプロセスにおいてLMパラメータを使用する。
Description
本出願は、2015年11月25日に出願された米国仮特許出願第62/260,103号、および2016年3月18日に出願された米国仮特許出願第62/310,271号の利益を主張するものであり、これらの各々の内容全体が、参照により本明細書に組み込まれている。
本開示は、ビデオ符号化およびビデオ復号に関する。
デジタルビデオ能力は、デジタルテレビジョン、デジタルダイレクトブロードキャストシステム、ワイヤレスブロードキャストシステム、携帯情報端末(PDA)、ラップトップまたはデスクトップコンピュータ、タブレットコンピュータ、電子ブックリーダー、デジタルカメラ、デジタル記録デバイス、デジタルメディアプレーヤ、ビデオゲームデバイス、ビデオゲームコンソール、携帯電話または衛星無線電話、いわゆる「スマートフォン」、ビデオ遠隔会議デバイス、ビデオストリーミングデバイスなどを含む、広範囲のデバイスに組み込まれ得る。デジタルビデオデバイスは、MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4、Part 10、Advanced Video Coding(AVC)、High Efficiency Video Coding(HEVC)規格によって定義された規格、およびそのような規格の拡張に記載されているビデオコーディング技法などのビデオコーディング技法を実装する。ビデオデバイスは、そのようなビデオコーディング技法を実装することによって、デジタルビデオ情報をより効率的に送信し、受信し、符号化し、復号し、かつ/または記憶することができる。
ビデオコーディング技法は、ビデオシーケンスに固有の冗長性を低減または除去するために、空間的(ピクチャ内)予測および/または時間的(ピクチャ間)予測を含む。ブロックベースのビデオコーディングのために、ビデオスライス(たとえば、ビデオフレーム、またはビデオフレームの一部分)は、ビデオブロックに区分されることがあり、ビデオブロックは、ツリーブロック、コーディングユニット(CU)、および/またはコーディングノードと呼ばれることもある。ピクチャはフレームと呼ばれることがあり、参照ピクチャは参照フレームと呼ばれることがある。
空間的予測または時間的予測は、コーディングされるべきブロックの予測ブロックをもたらす。残差データは、コーディングされるべき元のブロックと予測ブロックとの間のピクセル差分を表す。さらなる圧縮のために、残差データは、画素領域から変換領域に変換され、残差変換係数をもたらすことがあり、その残差変換係数は、次いで量子化され得る。さらなる圧縮を達成するために、エントロピーコーディングが適用されることがある。
H. Liu、「Local Illumination Compensation」、ITU-Telecommunications Standardization Sector、Study Group 16 Question 6、Video Coding Experts Group(VCEG)、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド、文書VCEG-AZ06
Wang他、「High Efficiency Video Coding (HEVC) Defect Report」、Joint Collaborative Team in Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第14回会合、ウィーン、オーストリア、2013年7月25日〜8月2日、文書JCTVC-N1003_v1
Marpe他、「Transform Coding Using the Residual Quadtree (RQT)」、Fraunhofer Heinrich Hertz Institute
Jianle Chen他、「Further improvements to HMKTA-1.0」、文書: VCEG-AZ07_v2、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド
Xiaoran Cao他、「CE6.b1 Report on Short Distance Intra Prediction Method」、文書.JCTVC-E0278、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第5回会合、ジュネーブ、2011年3月16〜23日
Liu他、「Rectangular (2N×N, N×2N) Intra Prediction」、文書. JCTVC-G135、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第7回会合、ジュネーブ、2011年11月21〜30日
A. FordおよびA. Roberts、「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep、1998年8月
Xiaoran Cao他、「Short distance intra coding scheme for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 501〜504、2012年5月7〜9日、クラクフ、ポーランド
J. Chen他、「CE6.a.4: Chroma intra prediction by reconstructed luma samples」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、JCTVC-E266、第5回会合、ジュネーブ、2011年3月16〜23日
Yi-Jen Chiu他、「Cross-channel techniques to improve intra chroma prediction」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、 JCTVC-F502、第6回会合、トリノ、イタリア、2011年7月14〜22日
Yuan他、「Non-Square Quadtree Transform Structure for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 505〜508、2012年5月7〜9日、クラクフ、ポーランド
X. Zhao他、「Video coding with rate-distortion optimized transform」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、no. 1、pp. 138〜151、2012年1月
Liu他、「3D-CE1.h related: Illumination Compensation for Inter-View Prediction」、Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP 3 and ISO/IEC JTC1/SC29/WG11、第1回会合、ストックホルム、スウェーデン、2012年7月16〜20日、文書JCT3V-A0086
本開示は、イントラおよびインター予測区分、非正方形変換、非正方形ブロックのためのイントラおよびインターコーディングモード、ならびに関連するエントロピーコーディングに関する。本開示の技法は、HEVCの拡張または次世代のビデオコーディング規格などの、先進的なビデオコーデックの文脈において使用され得る。一例では、線形モデリング(LM)予測が、非正方形予測ブロックとともに使用するために適合される。具体的には、非正方形予測ブロックの存在下でのLM予測のために使用されるパラメータを決定するための技法が説明される。
一例では、本開示はビデオデータを復号する方法を説明し、この方法は、ビデオデコーダによって、ビデオデータの符号化された表現を備えるビットストリームを受信するステップと、ビデオデコーダによって、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するステップであって、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、ステップと、ビデオデコーダによって、非正方形輝度ブロックの輝度サンプルを再構築するステップと、ビデオデコーダによって、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングするステップと、ビデオデコーダによって、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するステップであって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、ステップと、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオデコーダによって、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するステップであって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、ステップと、ビデオデコーダによって、予測色差ブロックに一部基づいてコーディングブロックを再構築するステップとを備える。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するステップであって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、ステップと、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオデコーダによって、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するステップであって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、ステップと、ビデオデコーダによって、予測色差ブロックに一部基づいてコーディングブロックを再構築するステップとを備える。
別の例では、本開示はビデオデータを符号化する方法を説明し、この方法は、ビデオエンコーダによって、ビデオデータを受信するステップと、ビデオエンコーダによって、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するステップであって、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、ステップと、ビデオエンコーダによって、非正方形輝度ブロックの輝度サンプルを再構築するステップと、ビデオエンコーダによって、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングするステップと、ビデオエンコーダによって、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するステップであって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、ステップと、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオエンコーダによって、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するステップであって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、ステップと、ビデオエンコーダによって、予測色差ブロックに基づいて残差データを取得するステップと、ビデオエンコーダによって、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるステップとを備える。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するステップであって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、ステップと、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオエンコーダによって、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するステップであって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、ステップと、ビデオエンコーダによって、予測色差ブロックに基づいて残差データを取得するステップと、ビデオエンコーダによって、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるステップとを備える。
別の例では、本開示はビデオデータを復号するための装置を説明し、この装置は、ビデオデータを記憶するように構成される1つまたは複数の記憶媒体と、ビデオデコーダとを備え、このビデオデコーダは、ビデオデータの符号化された表現を備えるビットストリームを受信し、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、非正方形輝度ブロックの輝度サンプルを再構築し、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングし、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに一部基づいてコーディングブロックを再構築するように構成される。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに一部基づいてコーディングブロックを再構築するように構成される。
別の例では、本開示はビデオデータを符号化するための装置を説明し、この装置は、ビデオデータを記憶するように構成される1つまたは複数の記憶媒体と、ビデオエンコーダとを備え、このビデオエンコーダは、ビデオデータを受信し、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、非正方形輝度ブロックの輝度サンプルを再構築し、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングし、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに基づいて残差データを取得し、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるように構成される。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに基づいて残差データを取得し、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるように構成される。
別の例では、本開示はビデオデータを復号するための装置を説明し、この装置は、ビデオデータの符号化された表現を備えるビットストリームを受信するための手段と、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するための手段であって、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、手段と、非正方形輝度ブロックの輝度サンプルを再構築するための手段と、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングするための手段と、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するための手段であって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、手段と、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するための手段であって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、手段と、予測色差ブロックに一部基づいてコーディングブロックを再構築するための手段とを備える。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するための手段であって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、手段と、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するための手段であって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、手段と、予測色差ブロックに一部基づいてコーディングブロックを再構築するための手段とを備える。
別の例では、本開示はビデオデータを符号化するための装置を説明し、この装置は、ビデオデータを受信するための手段と、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するための手段であって、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、手段と、非正方形輝度ブロックの輝度サンプルを再構築するための手段と、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングするための手段と、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するための手段であって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、手段と、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するための手段であって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、手段と、予測色差ブロックに基づいて残差データを取得するための手段と、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるための手段とを備える。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定するための手段であって、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルである、手段と、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定するための手段であって、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである、手段と、予測色差ブロックに基づいて残差データを取得するための手段と、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるための手段とを備える。
別の例では、本開示は命令を記憶したコンピュータ可読データ記憶媒体を説明し、この命令は、実行されると、ビデオデータの符号化された表現を備えるビットストリームを受信し、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、非正方形輝度ブロックの輝度サンプルを再構築し、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングし、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに一部基づいてコーディングブロックを再構築するように、ビデオデータを復号するための装置を構成する。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに一部基づいてコーディングブロックを再構築するように、ビデオデータを復号するための装置を構成する。
別の例では、本開示は命令を記憶したコンピュータ可読データ記憶媒体を説明し、この命令は、実行されると、ビデオデータを受信し、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルのセットが、ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルのセットが、現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、非正方形輝度ブロックの輝度サンプルを再構築し、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングし、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに基づいて残差データを取得し、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるように、ビデオデータを符号化するための装置を構成する。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータを決定し、Iが輝度参照サンプルのセットの中の参照サンプルの総数であり、xiが輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルのセットの中のi番目の色差参照サンプルであり、予測色差ブロックの各々のそれぞれの色差サンプルに対して、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し、それぞれの色差サンプルに対応する再構築された輝度サンプルが非正方形輝度ブロックの再構築された輝度サンプルのうちの1つであり、予測色差ブロックに基づいて残差データを取得し、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めるように、ビデオデータを符号化するための装置を構成する。
本開示の1つまたは複数の態様の詳細が、添付の図面および下記の説明において記載される。本開示において説明される技法の他の特徴、目的、および利点は、これらの説明および図面、ならびに特許請求の範囲から明らかになろう。
全般に、本開示は、イントラおよびインター予測区分、非正方形変換、非正方形ブロックのためのイントラおよびインターコーディングモード、ならびに関連するエントロピーコーディングに関する。本開示の技法は、High Efficiency Video Coding(HEVC)の拡張または次世代のビデオコーディング規格などの、先進的なビデオコーデックの文脈において使用され得る。
HEVCでは、ビデオコーダ(すなわち、ビデオエンコーダまたはビデオデコーダ)が、ピクチャのコーディング単位(CU)を1つまたは複数の予測単位(PU)へと区分する。ビデオコーダは、CUの各PUの予測ブロックを生成するために、イントラ予測またはインター予測を使用する。CUの残差データは、CUのPUの予測ブロックとCUの元のコーディングブロックとの差を表す。CUがイントラ予測される(すなわち、CUのPUの予測ブロックがイントラ予測を使用して生成される)事例では、CUの残差データは1つまたは複数の正方形の変換単位(TU)へと区分され得る。しかしながら、CUがインター予測される(すなわち、CUのPUの予測ブロックがインター予測を使用して生成される)事例では、CUの残差データは1つまたは複数の正方形または非正方形のTUへと区分され得る。本開示では、単位(たとえば、CU、PU、TU)の形状への言及は、対応するブロックの形状を指すことがある。したがって、非正方形PUは非正方形予測ブロックを指すものとして解釈されることがあり、非正方形TUは非正方形変換ブロックを指すものとして解釈されることがあり、これらの逆も成り立つ。さらに、予測ブロックは、HEVCにおいて定義されるようなPUの概念に縛られる必要はなく、むしろ、予測(たとえば、インター予測、イントラ予測)が実行されるサンプルのブロックという意味であることに留意されたい。同様に、変換ブロックは、HEVCにおいて定義されるようなTUの概念に縛られる必要はなく、むしろ、変換が適用されるサンプルのブロックという意味である。
以下で説明されるように、非正方形TUの導入は、特定のコーディングツールとともに使用されると、いくつかの問題をもたらすことがある。
たとえば、線形モデリング(LM)予測モードは、HEVCの開発の間に研究された、成分間の相関を減らすための技法である。ビデオコーダがLM予測モードを使用するとき、ビデオコーダは、CUのPUの再構築された輝度サンプルに基づいて、PUの色差サンプルを予測する。PUの色差サンプルは、PUの色差予測ブロックの色差サンプルである。色差サンプルの例示的なタイプには、CbサンプルおよびCrサンプルがある。ビデオコーダは、PUの輝度予測ブロックのサンプルをPUの対応する輝度残差サンプルと加算することによって、PUの再構築された輝度サンプルを生成することができる。
具体的には、ビデオコーダがLM予測モードを使用するとき、ビデオコーダは、場所(i, j)におけるPUの予測される色差サンプルをα・recL(i, j) + βとして決定することができ、ここでrecL(i, j)は場所(i, j)におけるPUの再構築された輝度サンプルであり、αおよびβはパラメータである。4:2:0のカラーフォーマットなどのいくつかの場合には、1つのM×K色差ブロックが2M×2K輝度ブロックに対応し、この場合、recL(i, j)は、2M×2K輝度ブロックの(M×Kの)ダウンサンプリングされたバージョンの(i, j)に位置する値を示す。ビデオコーダは、再構築された輝度参照サンプルおよび再構築された色差参照サンプルの値に基づいて、αおよびβの値を決定する。再構築された輝度参照サンプルおよび再構築された色差参照サンプルは、PUの上辺および左辺に沿ったサンプルである。βを決定するための式は、参照サンプルの総数(Iと表記され、MとKの合計に等しい)による除算演算を伴う。典型的な場合には、MおよびKは等しく、HEVCでは2lによって表すことができ、lは正の整数値である。予測ブロックが正方形である限り、Iは2mに等しく、ここでmは異なる予測ブロックサイズに対して変化することがある。したがって、Iで割るために除算演算を実行する代わりに、ビデオコーダは、βの値を計算するときに右シフト演算を実行することができる。右シフト演算は、除算演算よりも実施するのがはるかに速く、かつ複雑ではない。本開示では、CU、TU、およびPUなどの様々なタイプのブロックのサイズへの言及は、それぞれ、CU、TU、およびPUの、コーディングブロック、変換ブロック、および予測ブロックのサイズを指す。さらに、本開示では、CU、TU、およびPUなどの様々なタイプのビデオコーディング単位の辺への言及は、様々なタイプのブロックに対応するブロック(たとえば、コーディングブロック、変換ブロック、予測(prediction)/予測(predictive)ブロック)の辺を指す。
しかしながら、輝度ブロック(たとえば、PUの輝度予測ブロック)が正方形ではない(たとえば、Mが12に等しくKが16に等しい)場合、Iは常に2mに等しいとは限らない。したがって、輝度ブロックが正方形ではない場合、βの値を計算するときに除算演算の代わりに右シフト演算を使用することは可能ではないことがある。したがって、ビデオコーダは、βの値を計算するために、高価な除算演算を実施する必要があり得る。
本開示は、非正方形ブロックのためのLM予測モードを使用するときにβの値を計算するときに、除算演算を実施する必要をなくすことができる技法を説明する。いくつかの場合、MがKに等しいがMが2のべき乗ではない正方形PUに対しても、ここで説明される技法が適用可能であり得る。本技法の例によれば、ビデオコーダは、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築することができる。輝度参照サンプルのセットは、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する輝度サンプルと、非正方形輝度ブロックの左辺に隣接する輝度サンプルとを備え得る。非正方形輝度ブロックは、PUの輝度予測ブロックであり得る。したがって、PUは非正方形PUと見なされ得る。色差参照サンプルのセットは、非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え得る。非正方形色差ブロックは、PUの色差予測ブロックであり得る。加えて、ビデオコーダは、非正方形予測ブロックの輝度サンプルを再構築し得る。さらに、ビデオコーダは、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをサブサンプリングし得る。ビデオコーダは、
に等しい第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中の輝度参照サンプルであり、yiは色差参照サンプルのセットの中の色差参照サンプルである。加えて、ビデオコーダは、
β=(Σyi-α・Σxi)/I
に等しい第2のパラメータを決定することができる。予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオコーダは、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルにより乗じられたαと、βとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し得る。予測色差ブロックは、非正方形PUの予測色差ブロックであり得る。ビデオコーダは、予測色差ブロックに一部基づいて、コーディングブロックを再構築し得る。
β=(Σyi-α・Σxi)/I
に等しい第2のパラメータを決定することができる。予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオコーダは、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルにより乗じられたαと、βとを足したものに等しくなるように、それぞれの色差サンプルの値を決定し得る。予測色差ブロックは、非正方形PUの予測色差ブロックであり得る。ビデオコーダは、予測色差ブロックに一部基づいて、コーディングブロックを再構築し得る。
上の例では、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの総数と同じになるように輝度参照サンプルのセットをサブサンプリングすることによって、ビデオコーダは、輝度参照サンプルのセットの中の参照サンプルの総数が2のべき乗になることを確実にし得る。したがって、ビデオコーダは、βの値を計算するときに除算演算の代わりに右シフト演算を使用することが可能であり得る。したがって、上の例を実施するビデオコーダは、βの値を計算するときに除算演算を使用することを強いられるビデオデコーダよりも、複雑ではなく、かつ/または高速であり得る。ビデオコーダは、上の例で説明された活動を、シフト演算の代わりに除算演算を使用して実行することができるが、そのようなビデオコーダは除算演算の代わりにシフト演算を使用することの利益を得られないことに留意されたい。いくつかの例では、非正方形予測ブロックの短辺または長辺に隣接する参照サンプルが利用可能ではないことがあり、この場合、他方の辺に位置する利用可能な参照サンプルに対してサブサンプリング処理を実行する必要はないことがある。
HEVCでは、ビデオエンコーダは、残差データのブロックを変換係数のブロックへと変換するために、残差データのブロック(すなわち、変換ブロック)に変換を適用する。高いレベルにおいて、ビデオエンコーダは、N点の1次元DCT変換を変換ブロックの列に適用することで中間値のブロックをまず生成することによって、変換係数のブロック(すなわち、変換係数ブロック)を生成し得る。Nは変換ブロックの高さおよび幅に等しい。ビデオエンコーダは次いで、同じN点の1次元DCT変換を中間値のブロックの行に適用することによって、変換係数のブロックを生成し得る。ビデオデコーダは、変換ブロックを復元するのと同様の方法で変換を逆にする。
上の議論からわかるように、HEVCにおいて変換を適用するプロセスは、変換ブロックが正方形であることに依存する。しかしながら、変換ブロックが非正方形であることが望ましいことがある。たとえば、インター予測ブロックまたはイントラ予測ブロックの境界に変換ブロックの境界がまたがるとき、圧縮性能が低下することがある。非正方形予測ブロックの使用は、正方形の領域に入らないオブジェクトを捉えるのに価値があり得る。したがって、非正方形予測ブロックおよび/または非正方形変換は、コーディング性能の改善の点で有用であり得る。変換行列係数がN点の1次元DCT変換である場合、変換行列係数は、
に等しい分母を用いて定義される。本開示以前には、分母
は、正規化係数として考えられており、量子化プロセスでは右シフトによって実装されていた。2次元DCT変換、たとえばK×L変換を考慮すると、正規化係数は
である。Nが式log2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)を満たすものにより定義される場合、利用される正規化係数(sqrt(N)*sqrt(N))と実際の正規化係数
との比は、
である。正方形変換(たとえば、列と行の両方に適用されるN点の変換)を非正方形変換ブロックに直接適用すると、正規化係数の増大により、得られる変換係数ブロックにおける総エネルギー(すなわち、量子化後のすべての変換された係数の平方根の合計)が変わることがあり、これは圧縮性能の低下をもたらす。
本開示の他の箇所で詳細に説明されるように、サイズK×Lの変換ブロックに対して、(log2(K) + log2(L))が奇数であるときに変換係数を
と乗じるビデオエンコーダ、および、(log2(K) + log2(L))が奇数であるときに変換係数を
で割るビデオデコーダが、この問題に対処することができる。
3D-HEVCは、3次元(3D)ビデオデータのためのHEVCの拡張である。3D-HEVCは、異なる視点からの同じシーンの複数のビューを規定する。3D-HEVCの標準化作業には、HEVCに基づくマルチビュービデオコーデックの標準化が含まれる。3D-HEVCでは、異なるビューからの再構築されたビュー成分(すなわち、再構築されたピクチャ)に基づくビュー間予測が可能である。さらに、3D-HEVCは、ビュー間動き予測およびビュー間残差予測を実装する。
ビデオの同じ時間インスタンスを表す各ビューのピクチャは、類似したビデオコンテンツを含む。しかしながら、ビューのビデオコンテンツは、互いに対して空間的にずれていることがある。具体的には、ビューのビデオコンテンツは、同じシーン上の異なる視点を表すことがある。たとえば、第1のビューにおけるピクチャの中のビデオブロックは、第2のビューにおけるピクチャの中のビデオブロックと類似したビデオコンテンツを含み得る。この例では、第1のビューにおけるピクチャの中のビデオブロックの位置と、第2のビューにおけるピクチャの中のビデオブロックの位置は異なることがある。たとえば、異なるビューの中のビデオブロックの位置の間には、何らかのずれがあり得る。
ビデオブロックの視差ベクトルは、このずれの尺度を提供する。たとえば、第1のビューにおけるピクチャのビデオブロックは、第2のビューにおけるピクチャの中の対応するビデオブロックのずれを示す視差ベクトルと関連付けられ得る。
異なるカメラ設定または光源からの異なる距離が原因で、同じ時間インスタンスに対応するが異なるビューの中にあるピクチャは、ほぼ同じ画像を含み得るが、一方のピクチャの中のオブジェクトが、他方のピクチャの中の対応するオブジェクトより明るいことがある。照明補償(IC)は、ビュー間予測を実行するときにビュー間のそのような照明の差を補償するための、3D-HEVCにおいて実装される技法である。3D-HEVCでは、ビデオコーダは、現在のピクチャの現在のCUの現在のPUの視差ベクトルを決定する。加えて、ビデオコーダは、現在のCUのために2つのICパラメータを計算し得る。本開示は、これらのICパラメータをaおよびbと表記する。加えて、現在のPUの輝度予測ブロックの各々のそれぞれのサンプルに対して、ビデオコーダは、
p(i, j) = a * r ( i + dvx, j + dvy + b )
を計算する。上の式において、p(i, j)は現在のPUの輝度予測ブロックのそれぞれのサンプルであり、(i, j)は現在のピクチャの左上の角に対する相対的なそれぞれのサンプルの位置を示す座標であり、dvxは現在のPUの視差ベクトルの水平成分であり、dvyは現在のPUの視差ベクトルの垂直成分であり、aおよびbはICパラメータである。
p(i, j) = a * r ( i + dvx, j + dvy + b )
を計算する。上の式において、p(i, j)は現在のPUの輝度予測ブロックのそれぞれのサンプルであり、(i, j)は現在のピクチャの左上の角に対する相対的なそれぞれのサンプルの位置を示す座標であり、dvxは現在のPUの視差ベクトルの水平成分であり、dvyは現在のPUの視差ベクトルの垂直成分であり、aおよびbはICパラメータである。
本開示の他の箇所でより詳細に説明されるように、3D-HEVCにおいてICパラメータbを定義する式は、現在のCUの上辺および左辺に隣接する参照サンプルの数による除算演算を伴う。3D-HEVCでは、現在のCUの上辺および左辺に隣接する参照サンプルの数は常に2のべき乗である。その結果、ICパラメータbを定義する式における除算演算は、右シフト演算を使用して実施され得る。本開示の他の箇所で説明されるように、右シフト演算は、除算演算よりも実施するのがはるかに複雑ではないことがあり、かつ除算演算を実施するよりはるかに速いことがある。
2次元ビデオコーディングでは、H. Liu、「Local Illumination Compensation」、ITU-Telecommunications Standardization Sector、Study Group 16 Question 6、Video Coding Experts Group(VCEG)、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド、文書VCEG-AZ06 (以後、「VCEG-AZ06」)に記載されるように、各々のインターモードコーディングされるコーティング単位(CU)に対して、局所照明補償(LIC)が適応的に有効または無効にされ、LICは、スケーリング係数aおよびオフセットbを使用した、照明変化に対する線形モデルに基づく。LICがCUに適用されるとき、CUに属する各PU/サブPUに対して、LICパラメータが、CUのサブサンプリングされた(2:1のサブサンプリング)隣接サンプルと参照ピクチャの中の対応する画素(現在のPU/サブPUの動き情報によって特定される)とを使用する方法で導出される。N×Nに等しいサイズのCUでは、パラメータ計算に使用される境界画素の総数は2NではなくNである。例が図20に示されている。LICパラメータは、各予測方向に対して別々に導出され適用される。上述の隣接サンプルに基づいてパラメータaおよびbを導出するために、最小二乗誤差法が利用される。
ICは、CUが単一のPUのみを有するときにだけ使用されていた。しかしながら、CUが2つまたは3つのPUへと区分される事例、および/またはCUが非対称に区分される事例を含めて、CUが複数のPUを有する事例において、ICを使用するのが望ましいことがある。そのような事例では、現在のCUの上辺および左辺に隣接する参照サンプルの数は、もはや2のべき乗ではないことがある。したがって、右シフト演算を使用してICパラメータbを計算することは可能ではないことがある。むしろ、ビデオコーダは、ICパラメータbを計算するために、より低速でより複雑な除算演算を使用しなければならないことがある。
この問題に対処するために、ビデオコーダは、参照サンプルの第1のセットをサブサンプリングして、全体で2m個の参照サンプルを含む参照サンプルの第1のサブサンプリングされたセットを生成することができ、ここでmは整数である。本開示では、サブサンプリングという用語は、サンプルのセットからの1つまたは複数のサンプルの選択を示し、ダウンサンプリングは、いくつかの参照サンプルがフィルタリングされたサンプルを導出するために一緒に使用され得るフィルタリングプロセスを示す。参照サンプルのセットは、PUの非正方形予測ブロックの外側の、非正方形予測ブロックの左辺および上辺に沿ったサンプルを備え得る。したがって、本明細書では、参照サンプルは近隣サンプルまたは隣接サンプルとも呼ばれることがある。加えて、ビデオコーダは、参照サンプルの第2のセットをサブサンプリングして、全体で2m個の参照サンプルを含む参照サンプルの第2のサブサンプリングされたセットを生成することができ、ここでmは整数である。参照サンプルの第2のセットは、参照ブロック(たとえば、ビュー間参照ブロックまたは時間参照ブロック)の外側の、参照ブロックの左辺および上辺に沿ったサンプルを備え得る。ビデオコーダは次いで、参照サンプルの第1のサブサンプリングされたセットおよび参照サンプルの第2のサブサンプリングされたセットに基づいて、少なくともICパラメータbを決定し得る。参照サンプルの第1のサブサンプリングされたセットおよび参照サンプルの第2のサブサンプリングされたセットは各々2m個のサンプルを含むので、ビデオコーダは、ICパラメータbを計算するために除算演算の代わりに右シフト演算を使用し得る。このようにして、本開示の技法は、ビデオコーダの複雑さを下げ、かつ/またはビデオコーディングを加速することができる。
上で言及されたように、非正方形TUの導入はいくつかの問題をもたらすことがある。たとえば、CUをTUへと区分するこれまでの技法は、CUのPUが正方形ではない場合であっても、四分木の分割パターンに従っていた。本開示では、四分木(quad-tree)は四分木(quarter-tree)とも呼ばれることがある。常に四分木の分割パターンを使用すると、四分木の分割パターンによりTUの辺がCUのPUの辺と揃わない場合には特に、最適ではないビデオデータ圧縮性能をもたらすことがある。
したがって、本開示の技法によれば、CUの変換木は、四分木の分割パターンに限定されない。むしろ、変換木の中のノードは2つの子ノードを有し得る。したがって、一例では、ビデオデコーダは、木構造に基づいてCUがTUへと区分されると決定し得る。この例では、ビデオデコーダは、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応する。いくつかの例では、変換木の中のノードは2つまたは4つの子ノードを有し得る。2つまたは4つの子ノードを有するというノードの柔軟性は、ビデオコーディングの圧縮性能を向上させ得る。
図1は、本開示の技法を利用し得る例示的なビデオ符号化および復号システム10を示すブロック図である。図1に示されるように、システム10は、宛先デバイス14によって後で復号されるべき符号化されたビデオデータを提供するソースデバイス12を含む。具体的には、ソースデバイス12は、コンピュータ可読媒体16を介して宛先デバイス14にビデオデータを提供する。ソースデバイス12および宛先デバイス14は、デスクトップコンピュータ、ノートブック(すなわち、ラップトップ)コンピュータ、タブレットコンピュータ、セットトップボックス、いわゆる「スマート」フォンなどの電話ハンドセット、タブレットコンピュータ、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲームコンソール、ビデオストリーミングデバイスなどを含む、広範囲のデバイスのうちのいずれかを備え得る。いくつかの場合、ソースデバイス12および宛先デバイス14は、ワイヤレス通信に対応し得る。
図1の例では、ソースデバイス12は、ビデオソース18、ビデオデータを記憶するように構成される記憶媒体19、ビデオエンコーダ20、および出力インターフェース22を含む。宛先デバイス14は、入力インターフェース28、ビデオデータを記憶するように構成される記憶媒体29、ビデオデコーダ30、およびディスプレイデバイス32を含む。他の例では、ソースデバイスおよび宛先デバイスは、他の構成要素または構成を含み得る。たとえば、ソースデバイス12は、外部カメラなどの外部ビデオソースからビデオデータを受信し得る。同様に、宛先デバイス14は、統合されたディスプレイデバイスを含むのではなく、外部ディスプレイデバイスとインターフェースしてもよい。
図1の図示されたシステム10は一例にすぎない。ビデオデータを処理するための技法は、任意のデジタルビデオ符号化および/または復号デバイスによって実行され得る。一般に、本開示の技法はビデオ符号化デバイスによって実行されるが、技法はまた、通常は「コーデック」と呼ばれるビデオエンコーダ/デコーダによって実行され得る。ソースデバイス12および宛先デバイス14は、単に、ソースデバイス12が宛先デバイス14に送信するためのコーディングされたビデオデータを生成するようなコーディングデバイスの例である。いくつかの例では、デバイス12、14は、デバイス12、14の各々がビデオ符号化および復号構成要素を含むように実質的に対称的な方式で動作し得る。したがって、システム10は、たとえば、ビデオストリーミング、ビデオ再生、ビデオ放送、またはビデオ電話のための、ビデオデバイス12、14間の一方向または双方向のビデオ送信をサポートし得る。
ソースデバイス12のビデオソース18は、ビデオカメラ、以前にキャプチャされたビデオを含むビデオアーカイブ、および/またはビデオコンテンツプロバイダからビデオデータを受信するためのビデオフィードインターフェースなどのビデオキャプチャデバイスを含み得る。さらなる代替として、ビデオソース18は、ソースビデオとしてのコンピュータグラフィックスベースのデータ、またはライブビデオとアーカイブされたビデオとコンピュータで生成されたビデオとの組合せを生成し得る。いくつかの場合、ソースデバイス12および宛先デバイス14は、いわゆるカメラ電話またはビデオ電話を形成し得る。ソースデバイス12は、ビデオデータを記憶するように構成される1つまたは複数のデータ記憶媒体(たとえば、記憶媒体19)を備え得る。本開示において説明される技法は、ビデオコーディング全般に適用可能であることがあり、ワイヤレスおよび/または有線の適用例において適用されることがある。各場合において、キャプチャされた、事前にキャプチャされた、またはコンピュータで生成されたビデオは、ビデオエンコーダ20によって符号化され得る。出力インターフェース22が次いで、符号化されたビデオ情報をコンピュータ可読媒体16へと出力し得る。
出力インターフェース22は、様々なタイプの構成要素またはデバイスを備え得る。たとえば、出力インターフェース22は、ワイヤレス送信機、モデム、有線ネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、または別の物理的な構成要素を備え得る。出力インターフェース22がワイヤレス受信機を備える例では、出力インターフェース22は、4G、4G-LTE、LTE Advanced、5Gなどのセルラー通信規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。出力インターフェース22がワイヤレス受信機を備えるいくつかの例では、出力インターフェース22は、IEEE 802.11仕様、IEEE 802.15仕様(たとえば、ZigBee(商標))、Bluetooth(登録商標)規格などの他のワイヤレス規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。いくつかの例では、出力インターフェース22の回路は、ビデオエンコーダ20の回路および/またはソースデバイス12の他の構成要素に組み込まれ得る。たとえば、ビデオエンコーダ20および出力インターフェース22は、システムオンチップ(SoC)の一部であり得る。SoCは、汎用マイクロプロセッサ、グラフィックス処理装置などの、他の構成要素も含み得る。
宛先デバイス14は、コンピュータ可読媒体16を介して、復号されるべき符号化されたビデオデータを受信し得る。コンピュータ可読媒体16は、ソースデバイス12から宛先デバイス14に符号化されたビデオデータを移動することが可能な任意のタイプの媒体またはデバイスを備え得る。一例では、コンピュータ可読媒体16は、ソースデバイス12がリアルタイムで宛先デバイス14へ符号化されたビデオデータを直接送信することを可能にする通信媒体を備え得る。符号化されたビデオデータは、ワイヤレス通信プロトコルなどの通信規格に従って変調され、宛先デバイス14へ送信され得る。通信媒体は、高周波(RF)スペクトルまたは1つまたは複数の物理伝送線路などの、任意のワイヤレスまたは有線通信媒体を備え得る。通信媒体は、ローカルエリアネットワーク、ワイドエリアネットワーク、またはインターネットなどのグローバルネットワークなどの、パケットベースネットワークの一部を形成し得る。通信媒体は、ルータ、スイッチ、基地局、またはソースデバイス12から宛先デバイス14への通信を容易にするのに有用であり得る任意の他の機器を含み得る。宛先デバイス14は、符号化されたビデオデータおよび/または復号されたビデオデータを記憶するように構成される1つまたは複数のデータ記憶媒体を備え得る。
いくつかの例では、出力インターフェース22は、符号化されたデータを記憶デバイスに出力し得る。同様に、入力インターフェース28は、記憶デバイスからの符号化されたデータにアクセスし得る。記憶デバイスは、ハードドライブ、Blu-ray(登録商標)ディスク、DVD、CD-ROM、フラッシュメモリ、揮発性メモリもしくは不揮発性メモリ、または符号化されたビデオデータを記憶するための任意の他の適切なデジタル記憶媒体などの、分散されるかまたは局所的にアクセスされる様々なデータ記憶媒体のいずれかを含み得る。さらなる例では、記憶デバイスは、ソースデバイス12によって生成された符号化されたビデオを記憶し得るファイルサーバまたは別の中間記憶デバイスに対応し得る。宛先デバイス14は、ストリーミングまたはダウンロードを介して、記憶デバイスからの記憶されたビデオデータにアクセスし得る。ファイルサーバは、符号化されたビデオデータを記憶するとともにその符号化されたビデオデータを宛先デバイス14へ送信することが可能な、任意のタイプのサーバであり得る。例示的なファイルサーバは、(たとえば、ウェブサイトのための)ウェブサーバ、ファイル転送プロトコル(FTP)サーバ、ネットワーク接続ストレージ(NAS)デバイス、またはローカルディスクドライブを含む。宛先デバイス14は、インターネット接続を含む任意の標準的なデータ接続を介して、符号化されたビデオデータにアクセスすることができる。これは、ファイルサーバに記憶された符号化されたビデオデータにアクセスするのに適した、ワイヤレスチャネル(たとえば、Wi-Fi接続)、有線接続(たとえば、DSL、ケーブルモデムなど)、または両方の組合せが含み得る。記憶デバイスからの符号化されたビデオデータの送信は、ストリーミング送信、ダウンロード送信、またはそれらの組合せであり得る。
本技法は、オーバージエアテレビジョン放送、ケーブルテレビジョン送信、衛星テレビジョン送信、dynamic adaptive streaming over HTTP(DASH)などのインターネットストリーミングビデオ送信、データ記憶媒体上に符号化されているデジタルビデオ、データ記憶媒体上に記憶されたデジタルビデオの復号、または他の用途などの、様々なマルチメディア用途のいずれかをサポートするビデオコーディングに適用され得る。いくつかの例では、システム10は、ビデオストリーミング、ビデオ再生、ビデオ放送、および/またはビデオ電話などの用途をサポートするために、一方向または双方向ビデオ送信をサポートするように構成され得る。
コンピュータ可読媒体16は、ワイヤレス放送もしくは有線ネットワーク送信などの一時媒体、またはハードディスク、フラッシュドライブ、コンパクトディスク、デジタルビデオディスク、Blu-ray(登録商標)ディスク、もしくは他のコンピュータ可読媒体などの記憶媒体(すなわち、非一時的記憶媒体)を含み得る。いくつかの例では、ネットワークサーバ(図示せず)が、たとえば、ネットワーク送信を介して、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを宛先デバイス14に提供し得る。同様に、ディスクスタンピング設備などの媒体製造設備のコンピューティングデバイスが、ソースデバイス12から符号化されたビデオデータを受信し、符号化されたビデオデータを含むディスクを製造し得る。したがって、コンピュータ可読媒体16は、様々な形態の1つまたは複数のコンピュータ可読媒体を含むものと理解され得る。
宛先デバイス14の入力インターフェース28は、コンピュータ可読媒体16から情報を受信する。入力インターフェース28は、様々なタイプの構成要素またはデバイスを備え得る。たとえば、入力インターフェース28は、ワイヤレス受信機、モデム、有線ネットワーキング構成要素(たとえば、イーサネット(登録商標)カード)、または別の物理的な構成要素を備え得る。入力インターフェース28がワイヤレス受信機を備える例では、入力インターフェース28は、4G、4G-LTE、LTE Advanced、5Gなどのセルラー通信規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。入力インターフェース28がワイヤレス受信機を備えるいくつかの例では、入力インターフェース28は、IEEE 802.11仕様、IEEE 802.15仕様(たとえば、ZigBee(商標))、Bluetooth(登録商標)規格などの他のワイヤレス規格に従って変調される、ビットストリームなどのデータを受信するように構成され得る。いくつかの例では、入力インターフェース28の回路は、ビデオデコーダ30の回路および/または宛先デバイス14の他の構成要素に組み込まれ得る。たとえば、ビデオデコーダ30および入力インターフェース28は、システムオンチップ(SoC)の一部であり得る。SoCは、汎用マイクロプロセッサ、グラフィックス処理装置などの、他の構成要素も含み得る。
コンピュータ可読媒体16の情報は、ビデオエンコーダ20によって定義され、ビデオデコーダ30によっても使用される、シンタックス情報を含むことがあり、シンタックス情報は、ブロックおよび他のコーディングされたユニット、たとえばピクチャグループ(GOP)の特性および/または処理を記述するシンタックス要素を含む。ディスプレイデバイス32は、復号されたビデオデータをユーザに表示し得る。たとえば、宛先デバイス14またはビデオデコーダ30は、ディスプレイデバイス32による表示のために、ビデオデータの再構築されたピクチャを出力し得る。そのような再構築されたピクチャは、再構築されたブロックを備え得る。ディスプレイデバイス32は、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または別のタイプのディスプレイデバイスなどの様々なディスプレイデバイスのいずれかを備え得る。
ビデオエンコーダ20およびビデオデコーダユニット30は各々、1つまたは複数のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリート論理、ソフトウェア、ハードウェア、ファームウェア、またはそれらの任意の組合せなどの、様々な適切なエンコーダ回路のいずれかとして実装され得る。技法が部分的にソフトウェアで実装されるとき、デバイスは、適切な非一時的コンピュータ可読媒体にソフトウェアのための命令を記憶し、本開示の技法を実行するための1つまたは複数のプロセッサを使用してハードウェアで命令を実行し得る。ビデオエンコーダ20およびビデオデコーダ30の各々は、1つまたは複数のエンコーダまたはデコーダに含まれることがあり、そのいずれもが、それぞれのデバイスにおいて複合エンコーダ/デコーダ(コーデック)の一部として統合されることがある。
いくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、ビデオコーディング規格に従って動作し得る。例示的なビデオコーディング規格は、限定はされないが、そのスケーラブルビデオコーディング(SVC)拡張およびマルチビュービデオコーディング(MVC)拡張を含む、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、およびITU-T H.264(ISO/IEC MPEG-4 AVCとも知られる)を含む。加えて、新しいビデオコーディング規格、すなわちHigh Efficiency Video Coding(HEVC)が、ITU-T Video Coding Experts Group(VCEG)およびISO/IEC Motion Picture Experts Group(MPEG)のJoint Collaboration Team on Video Coding(JCT-VC)によって最近開発された。Wang他、「High Efficiency Video Coding (HEVC) Defect Report」、Joint Collaborative Team in Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第14回会合、ウィーン、オーストリア、2013年7月25日〜8月2日、文書JCTVC-N1003_v1(以後、「JCTVC-N1003」)は、HEVC規格の草案である。JCTVC-N1003は、http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zipから入手可能である。
HEVCおよび他のビデオコーディング規格では、ビデオシーケンスは通常、一連のピクチャを含む。ピクチャは、「フレーム」と呼ばれることもある。ピクチャは1つまたは複数のサンプルアレイを含み得る。ピクチャの各々のそれぞれのサンプルアレイは、それぞれの色成分に対するサンプルのアレイを備え得る。HEVCでは、ピクチャは、SL、SCb、およびSCrと表記される3つのサンプルアレイを含み得る。SLは、輝度サンプルの2次元アレイ(すなわち、ブロック)である。SCbは、Cb色差サンプルの2次元アレイである。SCrは、Cr色差サンプルの2次元アレイである。他の事例では、ピクチャはモノクロームであってよく、輝度サンプルのアレイしか含まないことがある。
ビデオデータを符号化することの一部として、ビデオエンコーダ20はビデオデータのピクチャを符号化し得る。言い換えると、ビデオエンコーダ20は、ビデオデータのピクチャの符号化された表現を生成し得る。ピクチャの符号化された表現は、「コーディングされたピクチャ」または「符号化されたピクチャ」と呼ばれ得る。
ピクチャの符号化された表現を生成するために、ビデオエンコーダ20は、コーディングツリー単位(CTU)のセットを生成し得る。CTUの各々は、輝度サンプルのCTBと、色差サンプルの2つの対応するCTBと、CTBのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CTUは、単一のCTBと、そのCTBのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。CTBは、サンプルのN×Nブロックであり得る。CTUは、「ツリーブロック」または「最大コーディング単位」(LCU)と呼ばれることもある。シンタックス構造は、指定された順序でビットストリームに一緒に現れる0個以上のシンタックス要素として定義され得る。スライスは、ラスター走査順序で連続的に順序付けられた整数個のCTUを含み得る。
本開示は、1つまたは複数のサンプルブロックのサンプルをコーディングするために使用される1つまたは複数のサンプルブロックおよびシンタックス構造を指すために、「ビデオ単位」または「ビデオブロック」または「ブロック」という用語を使用することがある。例示的なタイプのビデオ単位は、CTU、CU、PU、変換単位(TU)、マクロブロック、マクロブロック区分などを含み得る。いくつかの文脈では、PUの議論はマクロブロックまたはマクロブロック区分の議論と相互に交換され得る。
HEVCでは、コーディングされたCTUを生成するために、ビデオエンコーダ20は、CTUのコーディングツリーブロック上で四分木区分を再帰的に実行してコーディングツリーブロックをコーディングブロックに分割することができ、したがって、「コーディングツリー単位」という名前である。コーディングブロックは、サンプルのN×Nブロックである。CUは、輝度サンプルアレイ、Cbサンプルアレイ、およびCrサンプルアレイを有するピクチャの輝度サンプルのコーディングブロックおよび色差サンプルの2つの対応するコーディングブロックと、コーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、CUは、単一のコーディングブロックと、そのコーディングブロックのサンプルをコーディングするために使用されるシンタックス構造とを備え得る。
ビデオエンコーダ20は、ビデオデータのピクチャのCUを符号化し得る。CUを符号化することの一部として、ビデオエンコーダ20は、CUのコーディングブロックを1つまたは複数の予測ブロックに区分し得る。予測ブロックは、同じ予測が適用されるサンプルの矩形(すなわち、正方形または非正方形)ブロックである。予測単位(PU)は、輝度サンプルの予測ブロック、色差サンプルの2つの対応する予測ブロック、および予測ブロックを予測するために使用されるシンタックス構造を備え得る。モノクロームピクチャまたは3つの別個の色平面を有するピクチャでは、PUは、単一の予測ブロックと、その予測ブロックを予測するために使用されるシンタックス構造とを備え得る。ビデオエンコーダ20は、CUの各PUの予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)の予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成し得る。
したがって、一般に、PUは、サンプルの1つまたは複数の予測ブロックと、予測ブロックを予測するために使用されるシンタックス構造とを備え得る。HEVCなどのいくつかの例示的なコーデックでは、PUはCUのサブユニットであり得る。他の例示的なコーデックでは、CUとPUの間には区別がないことがある。いくつかの例では、他の用語がPUのために使用されることがある。
ビデオエンコーダ20は、PUの予測ブロックを生成するためにイントラ予測またはインター予測を使用し得る。ビデオエンコーダ20がPUの予測ブロックを生成するためにイントラ予測を使用する場合、ビデオエンコーダ20は、PUを含むピクチャの復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。ビデオエンコーダ20が現在のピクチャのPUの予測ブロックを生成するためにインター予測を使用する場合、ビデオエンコーダ20は、参照ピクチャ(すなわち、現在のピクチャ以外のピクチャ)の復号されたサンプルに基づいて、PUの予測ブロックを生成し得る。
ビデオエンコーダ20がCUの1つまたは複数のPUの予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)を生成した後、ビデオエンコーダ20は、CUの1つまたは複数の残差ブロックを生成し得る。たとえば、ビデオエンコーダ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コーディングブロックの中の対応するサンプルとの間の差分を示し得る。
繰り返すと、HEVCでは、スライスの中の最大のコーディング単位はCTUと呼ばれる。各ピクチャはCTUへと分割され、このCTUは、特定のタイルまたはスライスに対するラスター走査順序でコーディングされ得る。CTUは、正方形ブロックであり、四分木すなわちコーディングツリーのルートを表す。CTUは、そのノードがCUである四分木を含む。いくつかの事例では、CTUのサイズは、HEVCメインプロファイルでは16×16から64×64にわたり得る(ただし、技術的には8×8のCTBサイズがサポートされ得る)。いくつかの事例では、CTUサイズは、8×8から64×64までの輝度サンプルにわたり得るが、通常は64×64が使用される。各CTUは、CUと呼ばれるより小さい正方形ブロックにさらに分割され得る。CUは、CTUと同じサイズであり得るが、CUは8×8程度の小ささであり得る。各CUは、1つのモードでコーディングされる。たとえば、CUはインターコーディングまたはイントラコーディングされ得る。CUがインターコーディングされるとき、CUは、2つもしくは4つのPUへとさらに区分されることがあり、またはさらなる区分が適用されないときには1つだけのPUになることがある。1つのCUの中に2つのPUが存在するとき、2つのPUは、CUの半分のサイズの長方形であることがあり、またはCUの1/4もしくは3/4のサイズを有する2つの長方形であることがある。CUがインターコーディングされるとき、PUごとに動き情報の1つのセットが存在する。加えて、各PUは、動き情報のセットを導出するために固有のインター予測モードでコーディングされる。言い換えると、各PUは動き情報の固有のセットを有し得る。
さらに、ビデオエンコーダ20は、CUの残差ブロックを1つまたは複数の変換ブロックに分解し得る。たとえば、ビデオエンコーダ20は、四分木区分を使用して、CUの残差ブロック(たとえば、輝度残差ブロック、Cb残差ブロック、およびCr残差ブロック)を1つまたは複数の変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)に分解し得る。変換ブロックは、同じ変換が適用されるサンプルの矩形(たとえば、正方形または非正方形)ブロックである。
CUの変換単位(TU)は、輝度サンプルの変換ブロックと、色差サンプルの2つの対応する変換ブロックと、それらの変換ブロックサンプルを変換するために使用されるシンタックス構造とを備え得る。したがって、CUの各TUは、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロックを有し得る。TUの輝度変換ブロックは、CUの輝度残差ブロックのサブブロックであり得る。Cb変換ブロックは、CUのCb残差ブロックのサブブロックであり得る。Cr変換ブロックは、CUのCr残差ブロックのサブブロックであり得る。モノクロームピクチャまたは3つの別々の色平面を有するピクチャでは、TUは、単一の変換ブロックと、その変換ブロックのサンプルを変換するために使用されるシンタックス構造とを備え得る。
ビデオエンコーダ20は、1つまたは複数の変換をTUの変換ブロックに適用して、TUの係数ブロックを生成し得る。たとえば、ビデオエンコーダ20は、1つまたは複数の変換をTUの輝度変換ブロックに適用して、TUの輝度係数ブロックを生成し得る。係数ブロックは、変換係数の2次元アレイであり得る。変換係数は、スカラー量であり得る。いくつかの例では、1つまたは複数の変換は、画素領域から周波数領域に変換ブロックを変換する。
いくつかの例では、ビデオエンコーダ20は、変換ブロックに変換を適用しない。言い換えると、ビデオエンコーダ20は、変換ブロックへの変換の適用をスキップする。そのような例では、ビデオエンコーダ20は、変換係数と同じ方法で残差サンプル値を扱い得る。したがって、ビデオエンコーダ20が変換の適用をスキップする例では、変換係数および係数ブロックの以下の議論は、残差サンプルの変換ブロックに適用可能であり得る。
係数ブロック(たとえば、輝度係数ブロック、Cb係数ブロック、またはCr係数ブロック)を生成した後に、ビデオエンコーダ20は、係数ブロックを量子化し得る。いくつかの例では、ビデオエンコーダ20は係数ブロックを量子化しない。ビデオエンコーダ20が変換ブロックに変換を適用しない例では、ビデオエンコーダ20は、変換ブロックの残差サンプルを量子化することがあり、またはしないことがある。量子化は一般に、変換係数を表すために使用されるデータの量をできるだけ低減するために変換係数が量子化され、さらなる圧縮を実現するプロセスを指す。ビデオエンコーダ20が係数ブロックを量子化した後に、ビデオエンコーダ20は、量子化された変換係数または残差サンプルを示すシンタックス要素をエントロピー符号化し得る。たとえば、ビデオエンコーダ20は、量子化された変換係数または残差サンプルを示すシンタックス要素に対してコンテキスト適応型バイナリ算術コーディング(CABAC)を実行し得る。いくつかの例では、ビデオエンコーダ20は、パレットベースコーディングを使用してCUを符号化する。したがって、符号化されたブロック(たとえば、符号化されたCU)は、量子化された変換係数を示すエントロピー符号化されたシンタックス要素を含み得る。
ビデオエンコーダ20は、ビデオデータの符号化されたピクチャおよび関連するデータ(すなわち、符号化されたピクチャと関連付けられるデータ)の表現を形成するビットのシーケンスを含むビットストリームを出力し得る。したがって、ビットストリームは、ビデオデータの符号化された表現を備える。ビットストリームは、ネットワーク抽象化レイヤ(NAL)ユニットのシーケンスを備え得る。NALユニットは、NALユニットの中のデータのタイプを示すものと、必要に応じてエミュレーション防止ビットが散りばめられているローバイトシーケンスペイロード(RBSP)の形態でそのデータを含むバイトとを含む、シンタックス構造である。NALユニットの各々は、NALユニットヘッダを含むことがあり、RBSPをカプセル化する。NALユニットヘッダは、NALユニットタイプコードを示すシンタックス要素を含み得る。NALユニットのNALユニットヘッダによって指定されるNALユニットタイプコードは、NALユニットのタイプを示す。RBSPは、NALユニット内にカプセル化されている整数個のバイトを含むシンタックス構造であり得る。いくつかの事例では、RBSPは0ビットを含む。
ビデオデコーダ30は、ビデオエンコーダ20によって生成されたビットストリームを受信し得る。加えて、ビデオデコーダ30は、ビットストリームを構文解析して、ビットストリームからシンタックス要素を取得し得る。ビデオデコーダ30は、ビットストリームから取得されたシンタックス要素に少なくとも一部に基づいて、ビデオデータのピクチャを再構築し得る。ビデオデータのピクチャを再構築するためのプロセスは、全般に、ピクチャを符号化するためにビデオエンコーダ20によって実行されるプロセスの逆であり得る。たとえば、ビデオデータのピクチャを再構築するために、ビデオデコーダ30は、ビットストリームから取得されるシンタックス要素および/または外部ソースからのデータに基づいて、ピクチャのCUなどのブロックを復号し得る。
いくつかの例では、ピクチャの現在のCUを復号することの一部として、ビデオデコーダ30は、インター予測またはイントラ予測を使用して、現在のCUの各PUの1つまたは複数の予測ブロックを生成し得る。インター予測を使用するとき、ビデオデコーダ30は、現在のCUのPUの予測ブロックを決定するために、PUの動きベクトルを使用し得る。加えて、ビデオデコーダ30は、いくつかの例では、現在のCUのTUの係数ブロックを逆量子化し得る。ビデオデコーダ30は、いくつかの例では、係数ブロックに対して逆変換を実行して、現在のCUのTUの変換ブロックを再構築し得る。ビデオデコーダ30は、現在のCUのPUの予測ブロックのサンプルを現在のCUのTUの変換ブロックの対応する復号されたサンプル(たとえば、残差サンプル)に加算することによって、現在のCUのコーディングブロックを再構築し得る。ピクチャのCUごとにコーディングブロックを再構築することによって、ビデオデコーダ30はピクチャを再構築し得る。
その上、HEVCでは、タイルと呼ばれる長方形の領域へとピクチャを区分するための選択肢が規定されている。タイルの主な目的は、誤り耐性をもたらすことではなく、並列処理の能力を上げることである。タイルは、何らかの共有されるヘッダ情報を用いて符号化される、ピクチャの独立に復号可能な領域である。タイルは加えて、ビデオピクチャのローカル領域への空間的なランダムアクセスの目的で使用され得る。ピクチャの典型的なタイル構成は、各タイルの中に概ね等しい数のCTUを有する長方形領域へと、ピクチャをセグメント化することからなる。タイルは、より粗い粒度で(ピクチャ/サブピクチャ)並列性を実現し、タイルの使用には、スレッドの洗練された同期は不要である。
残差ブロックの様々な特性を適応させるために、残差四分木(RQT)を使用した変換コーディング構造がHEVCにおいて適用され、これは、http://www.hhi.fraunhofer.de/fields-of-competence/image-processing/researchgroups/image-video-coding/hevc-high-efficiency-video-coding/transform-coding-using-the-residual-quadtree-rqt.htmlにおいて入手可能な、Marpe他、「Transform Coding Using the Residual Quadtree (RQT)」、Fraunhofer Heinrich Hertz Instituteにおいて簡単に説明されている。CTUがCUに再帰的に分割された後、各CUは、PUおよびTUにさらに分割される。TUへのCUの区分は、四分木手法に基づいて再帰的に実行され、したがって、各CUの残差信号は、木構造すなわち残差四分木(RQT)によってコーディングされる。RQTは、4×4から32×32までの輝度サンプルのTUサイズを許容する。図2Aおよび図2Bは、HEVCにおける残差四分木に基づく例示的な変換方式を示す概念図である。具体的には、図2Aは、文字aからjによりラベルを付けられた10個のTUおよび対応するブロック区分をCU40が含む例を示す。図2Bは、図2AのCUのためのRQTを示す概念図である。
ビデオコーダは、個々のTUを深度優先の木横断順序で処理し、この深度優先の木横断順序は、図2Aではアルファベットの順序として図示され、これは深度優先の横断を用いる再帰的なZ走査に従う。四分木手法は、残差信号の変化する空間周波数特性に対する変換の適応を可能にする。通常、空間的なサポートがより大きい、より大きな変換ブロックサイズは、より良い周波数分解能を提供する。しかしながら、空間的なサポートがより小さい、より小さな変換ブロックサイズは、より良い空間分解能を提供する。この2つ、すなわち空間分解能と周波数分解能との間のトレードオフは、たとえばレートひずみ最適化技法に基づいて、エンコーダのモード判断によって選ばれる。レートひずみ最適化技法は、コーディングモード(たとえば、特定のRQT分割構造)ごとにコーディングビットと再構築ひずみとの加重和、すなわちレートひずみコストを計算し、最小のレートひずみコストを有するコーディングモードを最良のモードとして選択する。
3つのパラメータすなわち、木の最大深度、最小の許容される変換サイズ、および最大の許容される変換サイズが、RQTにおいて定義される。HEVCでは、最小変換サイズおよび最大変換サイズは、4×4サンプルから32×32サンプルまでの範囲内で変化することができ、このサイズは、前の段落で言及されたサポートされるブロック変換に対応する。RQTの最大の許容される深度は、TUの個数を制約する。0に等しい最大深度は、各々の含まれるTUが最大の許容される変換サイズ、たとえば32×32に達した場合に、CTUがそれ以上分解され得ないことを意味する。HEVCでは、より大きなサイズの変換、たとえば64×64の変換は、主に、利益が限られていることと、相対的により解像度が小さいビデオに対して相対的により複雑になることが原因で、採用されていなかった。
HEVCでは、TUのサイズとは無関係に、TUの残差(たとえば、TUの係数ブロック)が、重複しない係数グループ(CG)を用いてコーディングされる。CGの各々は、TUの4×4ブロックの係数を含む。たとえば、32×32のTUは全体で64個のCGを有し、16×16のTUは全体で16個のCGを有する。TUのCGは、ある事前に定義された走査順序に従ってコーディングされる。各CGをコーディングするとき、現在のCGの内部の係数は、4×4ブロックのある事前に定義された走査順序に従って走査され、コーディングされる。図3は、HEVCにおける係数グループに基づく例示的な係数走査を示す概念図である。具体的には、図3は、4個の4×4のCGを含む8×8のTUに対する係数走査を示す。
上で述べられたように、ビデオエンコーダ20およびビデオデコーダ30は、イントラ予測を実行して予測ブロックを生成し得る。イントラ予測は、空間的に隣接する再構築された画像サンプルを使用して、画像ブロック予測を実行する。図4は、16×16ブロックに対するイントラ予測の例を示す概念図である。図4では、ブロック正方形は16×16ブロック50を含む。図4では、ブロック50は、選択された予測方向に沿った上および左の隣接する再構築されたサンプル52、54(すなわち、参照サンプル)により予測される。図4では、黒いボックスの外側のサンプルが参照サンプルである。図4の白い矢印は選択された予測方向を示す。
図5は、HEVCにおいて定義される35個のイントラ予測モードの例を示す概念図である。図5に示されるように、HEVCは、輝度ブロックのイントラ予測のために35個のモード(平面モード、DCモード、および33個の角度モードを含む)を定義する。HEVCにおいて定義されるイントラ予測の35個のモードは、以下の表において示されるようにインデックスを付けられる。
HEVCイントラコーディングは、2N×2NおよびN×Nという、2つのタイプのPU分割をサポートする。2N×2Nは、CUを1つのPUへと分割する。言い換えると、CUはCUと同じサイズの1つのPUを有する。N×Nは、CUを4つの等しいサイズのPUへと分割する。しかしながら、区分タイプPART_N×Nにより規定される4つの領域は、区分タイプPART_2N×2Nを用いて4つのより小さいCUによっても表され得る。これにより、HEVCは、最小のCUサイズでのみ、イントラCUが4つのPUへと分割されることを許容する。
図6は、HEVCにおいて定義される平面モードを示す概念図である。平面モードは通常、最も頻繁に使用されるイントラ予測モードである。N×Nブロックのために平面予測を実行するために、(x, y)に位置する各サンプルpxyに対して、予測値は、双線形フィルタを用いて、4つの特定の隣接する再構築されたサンプル、すなわち参照サンプルを使用して計算される。4つの参照サンプルは、右上の再構築されたサンプルTR、左下の再構築されたサンプルBL、ならびに現在のサンプルと同じ列(rx,-1)および行(r-1,y)に位置する2つの再構築されたサンプル60、62を含む。平面モードは以下のように定式化され得る。
pxy = ((N - 1 - x)・L + (x + 1)・TR + (N - 1 - y)・T + (y + 1)・BL + N) >> (Log2( N ) + 1 (1)
上の式(1)において、Lは再構築されたサンプル60に対応し、Tは再構築されたサンプル62に対応する。DCモードでは、予測ブロックは単に、隣接する再構築されたサンプルの平均値により埋められる。一般に、平面モードとDCモードの両方が、滑らかに変化する画像領域および不変の画像領域をモデル化するために適用される。
pxy = ((N - 1 - x)・L + (x + 1)・TR + (N - 1 - y)・T + (y + 1)・BL + N) >> (Log2( N ) + 1 (1)
上の式(1)において、Lは再構築されたサンプル60に対応し、Tは再構築されたサンプル62に対応する。DCモードでは、予測ブロックは単に、隣接する再構築されたサンプルの平均値により埋められる。一般に、平面モードとDCモードの両方が、滑らかに変化する画像領域および不変の画像領域をモデル化するために適用される。
図7は、HEVCにおいて定義される例示的な角度モードの概念図である。HEVCにおける角度イントラ予測モードのイントラ予測プロセスは、次のように説明される。与えられる各角度イントラ予測モードに対して、イントラ予測方向がそれに従って特定され得る。たとえば、与えられる角度イントラ予測モードは、図5に従って特定され得る。図5に示されるように、イントラモード18は純粋な水平の予測方向に対応し、イントラモード26は純粋な垂直の予測方向に対応する。ある特定のイントラ予測方向を仮定すると、予測ブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルの座標(x, y)がまず、予測方向に沿った隣接する再構築されたサンプルの行または列に投影される。たとえば、図7の例に示されるように、予測ブロック72のサンプル70の座標(x, y)は、特定のイントラ予測方向74に沿って投影される。(x, y)が2つの隣接する再構築されたサンプルLとRとの間の小数位置αに投影されると仮定する。そうすると、(x, y)の予測値は、次のように定式化される2タップの双線形補間フィルタを使用して計算される。
pxy = (1-α)・L +α・R
HEVCでは、浮動小数点数演算を避けるために、上の計算は次のように整数の算術を使用して近似される。
pxy = ( (32- a)・L + a・R + 16 )>>5
ここで、aは32*αに等しい整数である。
pxy = (1-α)・L +α・R
HEVCでは、浮動小数点数演算を避けるために、上の計算は次のように整数の算術を使用して近似される。
pxy = ( (32- a)・L + a・R + 16 )>>5
ここで、aは32*αに等しい整数である。
図8は、HEVCにおけるインター予測のためのCUを分割するための区分モードの概念図である。図8に示されるように、HEVCでは、インターコーディングされるCUは、1つ、2つ、または4つの区分へと分割されることが可能であり、この分割の様々なタイプが可能である。インター予測されるコーディングブロックのための区分の可能性が、図8に示されている。上の4つの区分タイプは、サイズN×NのCUを分割するのではなく、CUをサイズN×N/2またはN/2×Nの2つの区分へと分割し、CUをサイズN/2×N/2の4つの区分へと分割するケースを、それぞれ示す。図8の下の4つの区分タイプは、非対称動き区分(AMP)と呼ばれる。AMPモードの一方の区分はそれぞれ、高さまたは幅がN/4、かつ幅または高さがNであり、他方の区分は、高さまたは幅が3N/4で幅または高さがNであることによってCUの残りを埋める。各々のインターコーディングされる区分は、1つまたは2つの動きベクトルおよび参照ピクチャインデックスを割り当てられる。
イントラスライスに対しては、イントラ予測モードのみが許可される。したがって、予測モードをシグナリングする必要はない。しかしながら、インタースライス(PまたはBスライス)に対しては、イントラ予測モードとインター予測モードの両方が許可される。したがって、HEVCでは、各CUに対して、1つのフラグpred_mode_flagが非スキップモードのためにシグナリングされる。CUのためにHEVCにおいて定義されるシンタックスおよびセマンティクスの部分的な一覧が下で提示される。
7.3.8.5 コーディング単位シンタックス
7.3.8.5 コーディング単位シンタックス
1に等しいcu_skip_flag[ x0 ][ y0 ]は、現在のコーディング単位に対して、PまたはBスライスを復号するとき、cu_skip_flag[ x0 ][ y0 ]の後には、統合候補インデックスmerge_idx[ x0 ][ y0 ]を除くシンタックス要素がそれ以上構文解析されないことを指定する。0に等しいcu_skip_flag[ x0 ][ y0 ]は、コーディング単位がスキップされないことを指定する。アレイインデックスx0、y0は、考慮されるコーディングブロックの左上輝度サンプルの、ピクチャの左上輝度サンプルに対する相対的な位置(x0, y0)を指定する。cu_skip_flag[ x0 ][ y0 ]が存在しないとき、cu_skip_flag[ x0 ][ y0 ]は0と等しいと推測される。
0に等しいpred_mode_flagは、現在のコーディング単位がインター予測モードでコーディングされることを指定する。1に等しいpred_mode_flagは、現在のコーディング単位がイントラ予測モードでコーディングされることを指定する。変数CuPredMode[ x ][ y ]は、x = x0..x0 + nCbS - 1およびy = y0..y0 + nCbS - 1に対して、次のように導出される。
- pred_mode_flagが0に等しい場合、CuPredMode[ x ][ y ]はMODE_INTERに等しく設定される。
- それ以外の(pred_mode_flagが1に等しい)場合、CuPredMode[ x ][ y ]はMODE_INTRAに等しく設定される。
- pred_mode_flagが0に等しい場合、CuPredMode[ x ][ y ]はMODE_INTERに等しく設定される。
- それ以外の(pred_mode_flagが1に等しい)場合、CuPredMode[ x ][ y ]はMODE_INTRAに等しく設定される。
pred_mode_flagが存在しないとき、変数CuPredMode[ x ][ y ]は、x = x0..x0 + nCbS - 1およびy = y0..y0 + nCbS - 1に対して、次のように導出される。
- slice_typeがIに等しい場合、CuPredMode[ x ][ y ]はMODE_INTRAに等しいと推測される。
- それ以外の(slice_typeがPまたはBに等しい)場合、cu_skip_flag[ x0 ][ y0 ]が1に等しいとき、CuPredMode[ x ][ y ]はMODE_SKIPに等しいと推測される。
- slice_typeがIに等しい場合、CuPredMode[ x ][ y ]はMODE_INTRAに等しいと推測される。
- それ以外の(slice_typeがPまたはBに等しい)場合、cu_skip_flag[ x0 ][ y0 ]が1に等しいとき、CuPredMode[ x ][ y ]はMODE_SKIPに等しいと推測される。
HEVCを開発する過程で、およびその後に、HEVCを改良するための様々な提案が行われている。たとえば、Jianle Chen他、「Further improvements to HMKTA-1.0」、文書: VCEG-AZ07_v2、第52回会合、2015年6月19〜26日、ワルシャワ、ポーランド(以後、「VCEG-AZ07」)は、短距離イントラコーディング方式を記載する。イントラ予測のために正方形ブロックを常に産生する従来のブロック区分方法とは異なり、VCEG-AZ07の短距離イントラ予測(SDIP)方式は、HEVCの四分木ベースのブロック構造のもとで、非正方形のブロック分割を利用する。VCEG-AZ07において説明されるように、ブロックは、幅または高さが4分の1である4つの非正方形ブロックへと分割され、各々の非正方形ブロックが、予測の基本単位として扱われる。非正方形ブロックは、順番にコーディングおよび再構築され、次の隣接ブロックに対するイントラ予測のための参照画素を提供することができる。したがって、参照画素とローカル画素との間の距離を減らすことができ、イントラ予測の精度を大幅に改善することができる。
図9は、SDIP単位区分の概念図である。SDIP方式では、64×64より小さいCUは、サイズがN/2×2Nまたは2N×N/2である4つの垂直または水平な長方形PUへと分割され得る(これらの区分モードはhN×2Nおよび2N×hNと本開示では呼ばれることがあり、hは半分(half)を意味する)。4つのPUが、hN×2Nモードで左から右に、かつ2N×hNモードで上から下に、順番にコーディングおよび再構築される。図9では、点線はPU/TUの分割を表し、影付きの領域78は、32×8のTUがRQT構造において4つの32×2のTUへと分割されることを示す。区分モードが2N×hNである右上の32×32のCUは4つの32×8のPUへと分割され、モードがhN×2Nである左下の16×16のCUは4つの4×16のPUへと分割され、右下の8×8のCUは8×2のPUへと分割され、以下同様である。2N×2Nモードの左下の16×16のCUおよびN×Nモードの右下の8×8のCUなどの、HEVCにおけるCUの正方形の分割も存在し得る。
さらに、SDIP方式では、M×N(M>N)のTUは、サイズがM×N/4である、またはM<NであるときにはサイズがM/4×Nである、4つのTUへと分割され得る。言い換えると、SDIP方式における分割は常に、CUにおける同じ方向(垂直または水平)に沿って行われるべきである。以下のTable 2(表3)は、SDIP方式に存在するすべての非正方形単位と、対応するRQT深度とを列挙する。
Xiaoran Cao他、「CE6.b1 Report on Short Distance Intra Prediction Method」、文書.JCTVC-E0278、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第5回会合、ジュネーブ、2011年3月16〜23日(以後、「Cao 1」)では、1×NおよびN×1のような区分がさらに含まれ、対応するRQT深度および変換サイズが下のTable 3(表4)に列挙される。
さらに、一部のSDIP方式は、非正方形変換およびエントロピーコーディングを使用する。たとえば、n×m変換が非正方形ブロックのために使用される。n×m(n>m)ブロックに対して、順方向変換は次のように記述される。
上の式において、Bn×mはn個の行およびm個の列を有するブロックを表し、TnおよびTmはそれぞれ、サイズがn×nおよびm×mである変換行列であり、Cn×mは変換されるブロックを表す。TnおよびTmは、HEVCにおける変換行列と同じである。したがって、ハードウェア実装では、非正方形ブロックのために変換部分が再使用され得る。n×m(n<m)ブロックに対して、ブロックはまずm×n(m>n)ブロックへと転置され、次いで式(1)のように変換される。エントロピーコーディングでは、重複する実装を避けるために、正方形ブロックの係数コーディングも再使用される。たとえば、図10は、走査され8×8行列82へと並べ替えられる16×4係数行列80の概念図である。この例では、図10に示されるように、係数行列80の係数はまず、高周波から低周波へと走査されて1Dバッファ84へ入れられ、次いで、ジグザグの順序で8×8行列82へと並べ替えられ、8×8行列82はHEVCにおける既存の方法を使用してコーディングされる。
HEVCに対する提案された改良の別の例である、Liu他、「Rectangular (2N×N, N×2N) Intra Prediction」、文書. JCTVC-G135、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第7回会合、ジュネーブ、2011年11月21〜30日(以後、「JCTVC-G135」)は、インターコーディングに対する2N×NおよびN×2Nの区分サイズの使用をイントラコーディングへと拡張することを説明する。追加のPUサイズおよび対応するTUは、下のTable 2(表5)で与えられる。JCTVC-G135では、従来の変換木構造が利用される。
VCEG-AZ07では、以下の技法が説明された。自然なビデオに現れるより鮮明なエッジの方向を捉えるために、VCEG-AZ07は、方向性イントラモードを、HEVCにおいて定義されるような33個から65個へと拡張することを提案した。図11は、提案された67個のイントラ予測モードを示す概念図である。VCEG-AZ07において説明される方向性モードが図11では点線の矢印として示されており、平面モードおよびDCモードは同じままである。VCEG-AZ07において提案されたより密な方向性イントラ予測モードは、すべてのPUサイズに、かつ輝度イントラ予測と色差イントラ予測の両方に適用される。
方向性イントラモードの数の増大に対応するために、VCEG-AZ07は、6つの最確モード(MPM)を使用した、改善されたイントラモードコーディング方法を提案した。1)6つのMPMの導出、および2)6つのMPMのエントロピーコーディングという、2つの主要な技術的な態様が関与する。6つのMPMのセットを導出するとき、VCEG-AZ06は、左および上の隣接イントラモードの定義を変更した。HEVCのように上および左の隣接ブロックからのイントラモードを直接使用するのではなく、上の隣接行に沿った、かつ左の隣接列に沿った最も頻繁に使用されるイントラモードが計算され、次いで、左および上の隣接モードとしてそれぞれ使用される。
さらに、VCEG-AZ07において説明されるように、方向性イントラ予測の精度を改善するために、4タップのイントラ補間フィルタが利用される。たとえば、図7に関して上で説明されたように、HEVCは、2タップの線形補間フィルタを使用して、方向性予測モード(すなわち、平面予測子およびDC予測子を除くイントラ予測モード)でイントラ予測ブロックを生成する。具体的には、図7の例では、ビデオコーダは、2タップのフィルタをサンプルLおよびRに適用して、サンプル50の予測値を決定する。フィルタを2つの参照サンプルに適用して予測ブロックのサンプルの予測値を決定するHEVCの手法とは対照的に、VCEG-AZ07は、フィルタを4つの参照サンプルに適用して予測ブロックのサンプルの予測値を決定する。VCEG-AZ07では、4×4および8×8ブロックに対するキュービック補間フィルタ、および16×16以上のブロックに対するガウシアン補間フィルタという、2つのタイプの4タップの補間フィルタが使用される。VCEG-AZ07では、フィルタのパラメータはブロックサイズに従って固定され、すべての予測される画素に対して、すべての方向性モードにおいて、同じフィルタが使用される。
HEVCでは、イントラ予測ブロックが垂直イントラモードおよび水平イントラモードのために生成された後で、予測サンプル(すなわち、予測ブロックのサンプル)の一番左の列および一番上の行がそれぞれ、さらに調整される。最大で4つの列または行の境界サンプルがさらに、2タップのフィルタ(イントラモード2および34に対する)または3タップのフィルタ(イントラモード3〜6および30〜33に対する)を使用して調整される。
図12Aおよび図12Bは、イントラモード30〜34に対する境界フィルタの概念図である。具体的には、図12Aは、イントラモード34に対する境界フィルタの概念図である。図12Bは、イントラモード30〜33に対する境界フィルタの概念図である。図12Aおよび図12Bにおいて、ブロックの一番左の列は参照サンプルのセットであり、ブロックの残りはイントラ予測されるブロックのサンプルである。ビデオコーダは、従来の方式でイントラ予測ブロックのサンプルを生成し得る。しかしながら、イントラ予測モード30〜34に対して、ビデオエンコーダは、1つまたは複数の追加のフィルタを影付きの画素に適用し得る。したがって、イントラモード34および30〜33に対する境界予測フィルタの例が図12Aおよび図12Bに示されており、イントラモード2および3〜6に対する境界予測フィルタは同様である。
具体的には、図12Aにおいて、イントラモード34に対して、ビデオコーダは、それぞれのサンプルの上および右の参照サンプルに基づいて、イントラ予測ブロックの各々のそれぞれのサンプルを生成する。しかしながら、これは、左の参照サンプルから入手可能な情報を無視することがある。したがって、ビデオコーダは、左から4番目までの列に4つの異なるフィルタを適用し得る。イントラ予測ブロックの線1〜4の中の各々のそれぞれのサンプルに対して、ビデオコーダは、イントラモード34の反対方向(すなわち、左および下)に、それぞれのサンプルおよび参照サンプルに基づいてフィルタを適用する。線1に対して、得られるサンプルは(8*a + 8*b)/16として計算することができ、ここでaはそれぞれのサンプルであり、bは参照サンプルである。線2に対して、得られるサンプルは(12*a + 4*b)/16として計算することができ、ここでaはそれぞれのサンプルであり、bは参照サンプルである。図12Bの例では、イントラ予測モード30〜33の方向は、完全に整数の場所の画素と揃わない。むしろ、予測ブロックの各サンプルに対して、イントラ予測モード30〜33に対する方向は、参照サンプルのうちの2つの間の小数場所における参照サンプルと交差する。したがって、イントラ予測モード30〜33に境界フィルタを適用するとき、予測ブロックの一番左の列の各サンプルに対して2つの参照サンプルがある。図12Bの例では、予測ブロックの一番左の列の各々のそれぞれのサンプルに対して、イントラ予測モードが33であるとき、ビデオコーダは、それぞれのサンプルの値を(8*a + 8*b + 2*c)として計算することができ、ここでaはそれぞれのサンプルであり、bは参照サンプルのうちの一方であり、cは参照サンプルのうちの他方である。
ビデオコーディングは、色空間およびカラーフォーマットに基づいて実行され得る。たとえば、カラービデオは、色を効率的に表すために様々な色空間が使用されるマルチメディアシステムにおいて、欠かせない役割を果たしている。色空間は、複数の成分を使用して、数値を用いて色を指定する。普及している色空間は、RGB色空間であり、RGB色空間では、色が3つの原色成分値(すなわち、赤色、緑色、および青色)の組合せとして表現される。カラービデオの圧縮のために、A. FordおよびA. Roberts、「Colour space conversions」、ウェストミンスター大学、ロンドン、Tech. Rep、1998年8月に記載されるような、YCbCr色空間が広く使用されている。
YCbCrは、線形変換を介してRGB色空間から容易に変換されることが可能であり、異なる成分間の冗長性、すなわち成分間冗長性は、YCbCr色空間において大きく低減される。YCbCrの1つの利点は、Y信号が輝度情報を伝えるので、白黒TVとの後方互換性があることである。加えて、色差帯域幅は、RGBにおけるサブサンプリングよりも主観的影響が著しく少ないように4:2:0色差サンプリングフォーマットにおいてCb成分およびCr成分をサブサンプリングすることによって、低減され得る。これらの利点のために、YCbCrは、ビデオ圧縮において主要な色空間となっている。また、YCoCgなどの、ビデオ圧縮において使用される他の色空間もある。本開示では、使用される実際の色空間にかかわらず、YCbCr色空間が、各ビデオ圧縮方式における3つの色成分を表すために使用される。
成分間冗長性はYCbCr色空間において大きく低減されるが、3つの色成分の間の相関は依然として存在する。3つの色成分の間の相関をさらに低減することによってビデオコーディング性能を改善するために、様々な技法が研究されている。
たとえば、Xiaoran Cao他、「Short distance intra coding scheme for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 501〜504、2012年5月7〜9日、クラクフ、ポーランド(以後、「Cao 2」)は、短距離イントラコーディング方式を説明する。Cao 2は、線形モデル(LM)予測モードと名付けられる、4:2:0色差ビデオコーディングにおける方法を説明し、これはHEVC規格の開発中に研究された。たとえば、以後JCTVC-E266と呼ばれる、J. Chen他、「CE6.a.4: Chroma intra prediction by reconstructed luma samples」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、JCTVC-E266、第5回会合、ジュネーブ、2011年3月16〜23日を参照されたい。4:2:0サンプリングでは、2つの色差アレイの各々が、輝度アレイの半分の高さおよび半分の幅を有する。LM予測モードでは、色差サンプルは、次のように線形モデルを使用することによって、同じブロックの再構築された輝度サンプルに基づいて予測される。
predc(i, j) = α*recL(i, j) + β (2)
ここで、predC(i, j)は、現在のブロックの中の色差サンプルの予測を表し、recL(i, j)は、現在のブロックのダウンサンプリングされた再構築された輝度サンプルを表す。パラメータαおよびβは、現在のブロックの周りの、原因となる再構築されたサンプルから導出される。ブロックの原因となるサンプルは、復号順序でそのブロックより前にあるサンプルである。色差ブロックサイズがN×Nにより表される場合、iとjの両方が範囲[0, N]の中にある。
predc(i, j) = α*recL(i, j) + β (2)
ここで、predC(i, j)は、現在のブロックの中の色差サンプルの予測を表し、recL(i, j)は、現在のブロックのダウンサンプリングされた再構築された輝度サンプルを表す。パラメータαおよびβは、現在のブロックの周りの、原因となる再構築されたサンプルから導出される。ブロックの原因となるサンプルは、復号順序でそのブロックより前にあるサンプルである。色差ブロックサイズがN×Nにより表される場合、iとjの両方が範囲[0, N]の中にある。
式(2)におけるパラメータαおよびβは、現在のブロックの周りの隣接する再構築された輝度サンプルと色差サンプルとの間の回帰誤差を最小化することによって導出される。
パラメータαおよびβは、次のように解かれる。
上の式において、xiはカラーフォーマットが4:4:4ではないダウンサンプリングされた再構築された輝度参照サンプルであり(すなわち、カラーフォーマットは、1つの色差サンプルが複数の輝度サンプルに対応するようなカラーフォーマットである)、yiはダウンサンプリングを伴わない再構築された色差参照サンプルであり、Iは参照サンプルの数である。言い換えると、ビデオコーダは、カラーフォーマットが4:4:4ではないことに基づいて、再構築された輝度参照サンプルをダウンサンプリングするが、カラーフォーマットが4:4:4であることに基づいて、再構築された輝度参照サンプルをダウンサンプリングするのを控え得る。ターゲットのN×N色差ブロックに対して、左と上の両方の原因となるサンプルが利用可能であるとき、関与するサンプルの総数Iは2Nに等しい。左または上の原因となるサンプルのみが利用可能であるとき、関与するサンプルの総数IはNに等しい。ここで、Nは常に2mに等しい(mは異なるCUサイズに対しては異なり得る)。したがって、複雑さを下げるために、式(4)および(5)における除算演算を実施するために、シフト演算が使用され得る。
図13は、αおよびβの導出のために使用されるサンプルの例示的な位置を示す概念図である。具体的には、図13は、PUの色差予測ブロック90および同じPUの輝度予測ブロック92を示す。色差サンプルは輝度サンプルに対して相対的にダウンサンプリングされているので、色差予測ブロック90の幅および高さ(すなわち、N)は、輝度予測ブロック92の幅および高さ(すなわち、2N)の半分である。図13の例では、大きな暗い正方形の外側の小さい正方形が参照サンプルである。図13の例では、小さい円は、LMパラメータαおよびβを決定するために使用されるサンプル値を示す。図13の例に示されるように、LMパラメータαおよびβを決定するために使用される色差サンプル値は、色差予測ブロック90の参照サンプルと同じである。しかしながら、LMパラメータαおよびβを決定するために使用される輝度サンプル値は、輝度参照サンプルから補間される。LMパラメータαおよびβを決定するために使用される輝度サンプルの得られるセットの総数は、LMパラメータαおよびβを決定するために使用される色差サンプルの数と同じである。
一般に、LM予測モードが現在のPUに対して適用されるとき、ビデオコーダは以下のステップを実行し得る。まず、ビデオコーダが、現在のPUの輝度ブロックを再構築し得る。現在のPUの輝度ブロックを再構築することの一部として、ビデオコーダは、イントラ予測を実行して現在のPUの輝度予測ブロックを決定し得る。さらに、現在のPUの輝度ブロックを再構築することの一部として、ビデオコーダは、現在のPUの輝度予測ブロックに残差データを加算して、現在のPUの輝度ブロックを再構築し得る。第2に、ビデオコーダが、現在のPUの上辺および左辺に隣接する参照輝度サンプルをダウンサンプリングし得る。第3に、ビデオコーダが、上の式(4)および(5)を使用して、現在のPUの上辺および左辺に隣接する色差参照サンプルならびにダウンサンプリングされた輝度参照サンプルに基づいて線形パラメータ(すなわち、αおよびβ)を導出し得る。本開示は、線形パラメータを「スケーリング係数」とも呼ぶことがある。第4に、ビデオコーダが、現在のPUの再構築された輝度ブロックをダウンサンプリングし得る。第5に、ビデオコーダは、上の式(2)を使用して、現在のPUのダウンサンプリングされた輝度ブロックおよび線形パラメータから色差サンプルを予測し得る(たとえば、予測色差ブロックを導出し得る)。
上で述べられたように、ビデオコーダは、現在のPUの再構築された輝度ブロックをダウンサンプリングし得る。ビデオコーダは、現在のPUの再構築された輝度ブロックを様々な方法でダウンサンプリングし得る。たとえば、色差成分の典型的なサンプリング比は、輝度成分のサンプリング比の半分であり、4:2:0サンプリングでは垂直方向に0.5サンプルの位相差を有するので、現在のPUの再構築された輝度サンプルは、色差信号のサイズおよび位相と一致するように、垂直方向にはダウンサンプリングされ、水平方向にはサブサンプリングされる。たとえば、0から現在のPUの予測色差ブロックの幅から1を引いた数までの各値i、および0から現在のPUの予測色差ブロックの高さから1を引いた数までの各値jに対して、ビデオコーダは次を計算し得る。
recL(i, j) = (RecLOrig [ 2i, 2j ] + RecLOrig [ 2i, 2j + 1] ) >> 1 (6)
上の式において、recL(i, j)は、現在のPUのダウンサンプリングされた再構築された輝度ブロックの左上の角に対する相対的な、場所(i, j)に対応する輝度サンプルである。RecLOrig[2i, 2j]およびRecLOrig[2i, 2j+1]は、現在のPUの元の再構築された輝度ブロックの左上の角に対する相対的な、場所(2i, 2j)および(2i, 2j+1)における再構築された輝度サンプルである。したがって、式(6)において、現在のPUのダウンサンプリングされた再構築された輝度ブロックの場所(i, j)における輝度サンプルは、現在のPUの元の再構築された輝度ブロックの場所(2i, 2j)における輝度サンプルと、現在のPUの元の再構築された輝度ブロックの場所(2i, 2j+1)における輝度サンプルとの平均である。
recL(i, j) = (RecLOrig [ 2i, 2j ] + RecLOrig [ 2i, 2j + 1] ) >> 1 (6)
上の式において、recL(i, j)は、現在のPUのダウンサンプリングされた再構築された輝度ブロックの左上の角に対する相対的な、場所(i, j)に対応する輝度サンプルである。RecLOrig[2i, 2j]およびRecLOrig[2i, 2j+1]は、現在のPUの元の再構築された輝度ブロックの左上の角に対する相対的な、場所(2i, 2j)および(2i, 2j+1)における再構築された輝度サンプルである。したがって、式(6)において、現在のPUのダウンサンプリングされた再構築された輝度ブロックの場所(i, j)における輝度サンプルは、現在のPUの元の再構築された輝度ブロックの場所(2i, 2j)における輝度サンプルと、現在のPUの元の再構築された輝度ブロックの場所(2i, 2j+1)における輝度サンプルとの平均である。
図14は、現在のPUの再構築される輝度ブロックのサンプルをダウンサンプリングするための輝度場所および色差場所の例を示す概念図である。図14は、色差サンプルを三角形として、輝度サンプルを円として示す。ビデオコーダは、[1, 1]フィルタを適用することによって、2つの輝度サンプル(図14では2つのベタの円により表される)から現在の色差サンプル(図14ではベタの三角形により表される)の値を予測する。[1, 1]フィルタは2タップフィルタの一例である。[1, 1]フィルタでは、2つのタップが等しく重み付けられる。図14の各々のそれぞれの三角形に対して、ビデオコーダは、それぞれの三角形の上および下の円によって表されるサンプルに式(6)を適用して、それぞれの三角形によって表されるサンプルのそれぞれの輝度値を決定し得る。
さらに、上で述べられたように、ビデオコーダは、輝度参照サンプルをダウンサンプリングし得る。ビデオコーダは、輝度参照サンプルを様々な方法でダウンサンプリングし得る。図14に示されるように、現在のPUの予測色差ブロックの列は、現在のPUの予測輝度ブロックの列と揃っている。4:2:0カラーフォーマットを使用する一例では、現在の輝度ブロックの上辺に隣接するダウンサンプリングされた輝度参照サンプルは、輝度参照サンプルのセットの中のインデックスが偶数の場所における各輝度参照サンプルからなり得る。したがって、0から現在のPUの予測色差ブロックの幅から1を引いた数までの範囲にあるiの各々のそれぞれの値に対して、ダウンサンプリングプロセスは次のように定義され得る。
recL(i, -1) = RecLOrig[2i, -1] (7)
上の式において、recL(i, -1)は、現在のPUの色差予測ブロックの左上の角に対する相対的な場所(i, -1)におけるダウンサンプリングされた輝度参照サンプルである。RecLOrig[2i, -1]は、現在のPUの元の予測輝度ブロックの左上の角に対する相対的な場所(2i, -1)における輝度参照サンプルである。
recL(i, -1) = RecLOrig[2i, -1] (7)
上の式において、recL(i, -1)は、現在のPUの色差予測ブロックの左上の角に対する相対的な場所(i, -1)におけるダウンサンプリングされた輝度参照サンプルである。RecLOrig[2i, -1]は、現在のPUの元の予測輝度ブロックの左上の角に対する相対的な場所(2i, -1)における輝度参照サンプルである。
図14に示されるように、現在のPUの予測色差ブロックの行は、4:2:0カラーフォーマットでは、現在のPUの予測輝度ブロックの行と揃っていない。しかしながら、LMベースの予測のためのパラメータαおよびβを計算するための式(4)および(5)は、各色差参照サンプルに対して1つの輝度参照サンプルがあることに基づいている。したがって、現在のPUの予測色差ブロックのそれぞれの行に対して、ビデオコーダは、予測色差ブロックの行の上の現在のPUの予測輝度ブロックの行の中の輝度参照サンプルと、予測色差ブロックの行の下の現在のPUの予測輝度ブロックの行の中の輝度参照サンプルとの平均を計算し得る。たとえば、0から予測色差ブロックの中の行の数から1を引いた数までの範囲にある各値jに対して、ビデオコーダは、左の隣接輝度参照サンプルの値を次のように計算し得る。
recL(-1, j) = (RecLOrig[-2, 2j] + RecLOrig[-2, 2j + 1]) >> 1 (8)
上の式において、recL(-1, j)は、現在のPUの予測色差ブロックの左上の角に対する相対的な場所(-1, j)におけるダウンサンプリングされた輝度参照サンプルである。RecLOrig[-2, 2j]およびRecLOrig[-2, 2j+1]は、現在のPUの元の予測輝度ブロックの左上の角に対する相対的な場所(-2, 2j)および(-2, 2j+1)における元の輝度サンプルである。
recL(-1, j) = (RecLOrig[-2, 2j] + RecLOrig[-2, 2j + 1]) >> 1 (8)
上の式において、recL(-1, j)は、現在のPUの予測色差ブロックの左上の角に対する相対的な場所(-1, j)におけるダウンサンプリングされた輝度参照サンプルである。RecLOrig[-2, 2j]およびRecLOrig[-2, 2j+1]は、現在のPUの元の予測輝度ブロックの左上の角に対する相対的な場所(-2, 2j)および(-2, 2j+1)における元の輝度サンプルである。
他のダウンサンプリング技法も提案されている。たとえば、Yi-Jen Chiu他、「Cross-channel techniques to improve intra chroma prediction」、Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、JCTVC-F502、第6回会合、トリノ、イタリア、2011年7月14〜22日(本明細書では「JCTVC-F502」と呼ばれる)では、2タップフィルタを使用する代わりに、ビデオコーダは、現在の輝度ブロックと隣接する輝度ブロックの両方に2次元の6タップフィルタリングを適用する。2次元フィルタの係数セットは、
である。ダウンサンプリングされた輝度サンプルは式(10)によって導出される。
recL(i, j)=(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1])>>3 (10)
上の式において、recL(i, j)は現在のPUのダウンサンプリングされた再構築された輝度ブロックの左上の角に対する相対的な場所(i, j)における再構築された輝度サンプルであり、RecLOrig[..]は現在のPUの元の再構築された輝度ブロックの左上の角に対する相対的な場所における現在のPUの元の再構築された輝度ブロックの再構築された輝度サンプルである。
recL(i, j)=(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1])>>3 (10)
上の式において、recL(i, j)は現在のPUのダウンサンプリングされた再構築された輝度ブロックの左上の角に対する相対的な場所(i, j)における再構築された輝度サンプルであり、RecLOrig[..]は現在のPUの元の再構築された輝度ブロックの左上の角に対する相対的な場所における現在のPUの元の再構築された輝度ブロックの再構築された輝度サンプルである。
たとえば、ビデオコーダは、式(10)の演算を実行してダウンサンプリングされた輝度ブロックを決定し得る。式(10)は、RecLOrig[2i, 2j]、RecLOrig[2i, 2j+1]、RecLOrig[2i, 2j-1]、RecLOrig[2i+1, 2j]、RecLOrig[2i+1, 2j+1]、およびRecLOrig[2i+1, 2j-1]を6つの入力サンプルとして伴う、[1, 2, 1; 1, 2, 1]によって表されるようなビルトイン6タップフィルタを含む。フィルタのタップ数は、どれだけの入力サンプルがフィルタを適用するために使用されるかを示す。たとえば、式(10)では、ビデオコーダは、再構築された輝度ブロックからの6つの値を使用して、ダウンサンプリングされた輝度ブロックを生成する。
図15は、予測ブロックを生成するための輝度ブロックのサンプルをダウンサンプリングするための輝度場所および色差場所の例を示す概念図である。図15に示されるように、ビデオコーダは、6タップフィルタを適用することによって、6つのベタの円により表される6つの輝度サンプルから、ベタの三角形により表される色差サンプルを予測する。色差サンプルの予測子は、式(2)で定義されるような線形関数を使用して導出されるので、6タップフィルタが適用されるとき、1つの色差サンプルの予測子は6つの隣接輝度サンプルに依拠することがわかり得る。式(2)と(10)を組み合わせると、結果は以下の式(11)である。
predC(i, j)=α・(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1])>>3)+β (11)
predC(i, j)=α・(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1])>>3)+β (11)
以下の文章では、(i, j)に位置する色差サンプルの対応するダウンサンプリングされた輝度サンプルのことを、ダウンサンプリングされた再構築された輝度サンプルrecL(i, j)と呼ぶ。たとえば、4:2:0サンプリングであるので、2N×2N輝度ブロックはN×N色差ブロックに対応する。ダウンサンプリングにより、2N×2N輝度ブロックはN×Nのダウンサンプリングされた輝度ブロックになる。このN×Nのダウンサンプリングされた輝度ブロックは、recL(i, j)と呼ばれ、N×N色差ブロックに対応する。
さらに、上の例は4:2:0サンプリングに関して説明されたが、本開示において説明される技法は、それに限定されない。たとえば、本開示において説明される技法は、4:2:2サンプリングにも適用可能であり得る。したがって、4:2:0に関する例は、理解を助けるために与えられたものにすぎない。
さらに、いくつかの例では、本開示において説明される技法は、4:4:4サンプリングにも適用可能であり得る。たとえば、4:4:4サンプリングでは、色差ブロックは輝度ブロックに対して相対的にサブサンプリングされない。しかしながら、そのような例でも、色差ブロックの予測ブロックを決定することは可能であり得る。たとえば、輝度ブロックがフィルタリングされてよく、このフィルタリングされたブロックが色差ブロックの予測ブロックとして使用されてよい。これらの例では、輝度ブロックのダウンサンプリングは必要とされないことがある。より詳細に説明されるように、例示的な技法は、色差ブロックの位置に基づいて輝度ブロックのサンプルに適用されるフィルタの選択を記述する。輝度ブロックのサンプルに適用されるフィルタを選択するための技法は、4:4:4サンプリングなどの、LM予測のためにダウンサンプリングが必要ではない例に拡張され得る。そのような例では、フィルタは、4:4:4サンプリングが保たれるように、どのようなダウンサンプリングも含まないことがある。したがって、4:2:0サンプリングについての説明は例であり、本技法は4:4:4サンプリングにも適用可能である。
たとえば、輝度ブロックをダウンサンプリングするために2タップフィルタまたは6タップフィルタのみを使用することに限定されるのではなく、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、輝度ブロックをダウンサンプリングするために使用されるフィルタのセットからフィルタを決定し得る。ある例として、ビデオコーダはダウンサンプリングのために使用できる、ある数Xの異なるフィルタがあり得る。たとえば、1タップフィルタ、2タップフィルタ、3タップフィルタなどがあり得る。その上、各フィルタに対して、具体的なタップは異なり得る(たとえば、第1の2タップフィルタのために使用される輝度サンプルは、第2の2タップフィルタのために使用される輝度サンプルとは異なる)。本開示において説明される例のいくつかでは、フィルタのセットは2つのフィルタを含むが、輝度ブロックをダウンサンプリングするためにどのフィルタを適用するかをビデオコーダがそこから決定する3つ以上のフィルタが可能である。
ビデオコーダは、どのフィルタを適用するかを決定するために様々な基準を使用し得る。一例として、ビデオコーダは、色差ブロックの位置に基づいて、フィルタのセットのうちのどのフィルタを適用するかを決定する。色差ブロックがピクチャ、CU、PU、またはTUの左の境界に接する(たとえば、ピクチャ、CU、PU、またはTUの左の境界が色差ブロックのエッジと同じである)場合、ビデオコーダは、左の境界に接する色差ブロックの色差サンプルに対応する輝度ブロックの輝度サンプルをダウンサンプリングするために第1のフィルタを使用し得る。左の境界に接する色差ブロックのサンプルとは、境界の直上にあるサンプルを含む左の境界に最も近い色差ブロックのサンプルを指す。第1のフィルタは、境界に最も近いN個のサンプル(たとえば、境界に最も近いサンプル、そのサンプルの隣のサンプル、およびN個のそのようなサンプル)に適用され得る。
いくつかの場合、ビデオコーダは、左の境界に隣接する色差サンプルに対応するサンプルだけではなく、輝度ブロックのすべての輝度サンプルに対して第1のフィルタを適用し得る。しかしながら、本開示で説明する技法はそのように限定されない。すべての他の場合に、ビデオコーダは、輝度ブロックをダウンサンプリングするために第2の異なるフィルタを使用し得る。
たとえば、4:2:0サンプリングでは、4つの輝度サンプルは1つの色差サンプルに対応する。したがって、ビデオコーダは、どの色差サンプルがどの輝度サンプルに対応するかを決定し得る。よりタップ数が大きいフィルタが使用されるとき、1つの色差サンプルは4つよりも多くの輝度サンプルに対応し得る。左の境界に接する(すぐ隣の、またはある数のサンプル内にある)色差サンプルに対応する輝度サンプルに対して、ビデオコーダは、第1のフィルタを対応する輝度サンプルに適用して輝度ブロックをダウンサンプリングすることができ、左の境界に接しない(すぐ隣にない、またはある数のサンプル内にない)色差サンプルに対応する輝度サンプルに対して、ビデオコーダは、第2のフィルタを対応する輝度サンプルに適用して輝度ブロックをダウンサンプリングし得る。
いくつかの例では、第1のフィルタは、第2のフィルタよりも少数のタップ(たとえば、フィルタが及ぶサンプルの数)を含み得る。一例として、第1のフィルタは2タップフィルタであり、第2のフィルタは6タップフィルタである。この例では、ビデオコーダは、色差ブロックの対応する色差サンプルが左の境界に接する場合には、式(6)の演算を実行して輝度ブロックのダウンサンプリングされた輝度サンプルを決定することができ、色差ブロックの対応する色差サンプルが左の境界に接しない場合には、式(10)の演算を実行して輝度ブロックのダウンサンプリングされた輝度サンプルを決定することができる。したがって、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、CU/PU/TUの左のピクチャ境界または左の境界(すなわち、辺)に位置する色差ブロックの色差サンプルに対応する輝度ブロックの輝度サンプルに、CU、PU、またはTUの左のピクチャ境界もしくは左の境界にない色差サンプルに対応する輝度ブロックの他のサンプルに適用されるフィルタと比較して、異なるフィルタを適用することができる。左の境界にある色差サンプルとは、左の境界のすぐ隣の、または左の境界からいくつかの数のサンプル内にある色差サンプルを指す。
異なるフィルタを使用することで、ビデオコーダは利用可能なサンプル値を適切に使用することが可能になる。たとえば、ピクチャ、CU、PU、またはTUの左の境界における色差サンプルに対応する輝度サンプルに6タップフィルタを使用すると、ダウンサンプリングのために輝度ブロックの一部ではない輝度サンプル値をビデオコーダが使用しなければならなくなることがあり、輝度サンプルの欠如に対処するためにビデオコーダが何らかの追加の処理(たとえば、輝度ブロックの一部ではないサンプルの値を生成するために輝度サンプル値をパディングすること)を実行しなければならなくなることがある。しかしながら、左の境界において2タップフィルタを使用すると、ビデオコーダはダウンサンプリングのために輝度ブロックの一部ではない輝度サンプル値を使用しなくてもよくなることがある。したがって、2タップおよび6タップのフィルタが説明されるが、輝度ブロックの一部ではない輝度サンプルを要求する必要をなくすこと(たとえば、左の境界に接する輝度サンプルをパディングする必要をなくすこと)を考慮して、ダウンサンプリングのための他のサイズのフィルタが可能であり得る。
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のピクチャ境界に位置する色差サンプルに対応する輝度サンプルに、左のピクチャ境界に位置しない色差サンプルに対応する他の輝度サンプルに適用されるフィルタと比較して、異なるフィルタを適用する。一例では、左のピクチャ境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のピクチャ境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のCU境界に位置する色差サンプルの輝度サンプルに、現在のCU内の他の輝度サンプルに適用されるフィルタと比較して、異なるフィルタを適用する。一例では、左のCU境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のCU境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のPU境界に位置する色差サンプルに、現在のPU内の他のサンプルに適用されるフィルタと比較して、異なるフィルタを適用する。一例では、左のPU境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のPU境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、左のTU境界に位置する色差サンプルに、現在のTU内の他のサンプルに適用されるフィルタと比較して、異なるフィルタを適用し得る。一例では、左のTU境界における色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さ(たとえば、タップ)(すなわち、フィルタが及ぶサンプルの数)は、左のTU境界にない色差サンプルの対応するダウンサンプリングされた輝度サンプルを導出するためのフィルタの長さより小さい(たとえば、左の境界に対しては2タップ、およびすべての他の部分に対しては6タップ)。
いくつかの場合、同じピクチャの中に対応する輝度サンプルがないことがある。以下では、そのような状況に対処するためのいくつかの例示的な技法を説明する。たとえば、パディングを避けることはいくつかの場合には有益であり得るが、いくつかの事例では、パディングを避けることが可能ではないことがある。たとえば、いくつかの輝度サンプルが利用不可能であるので(たとえば、ピクチャから離れているので)、ビデオコーダは、代わりにこれらの利用不可能なサンプルのサンプル値をパディングし、これらのパディングサンプル値を用いてダウンサンプリングを実行し得る(たとえば、利用可能な輝度サンプルのために実際の輝度サンプル値を使用し、利用不可能な輝度サンプルのためにパディングサンプル値を使用してダウンサンプリングし得る)。パディングサンプル値は、デフォルトの値(たとえば、2bitdepth、ここでbitdepthは輝度成分のビット深度を示す)、ビデオエンコーダ20によって決定されビデオデコーダ30にシグナリングされる値、または情報のシグナリングを必要としない何らかの暗黙的な技法に基づいて決定される値であり得る。パディングサンプル値を加算することで、別個のフィルタの必要がなくなり得るので複雑さが下がり得る。
色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、輝度サンプルがピクチャの外側にあるとき、またはCU/PU/TUがダウンサンプリングプロセスに関与する必要があるとき、ビデオコーダはまず、パディング動作を適用し、続いてダウンサンプリングプロセスを適用し得る。サンプルのパディングにおいて、ビデオコーダは、画面上にないサンプルを、パディングサンプル値で置き換え得る。
一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のピクチャの外側に位置する輝度サンプル(たとえば、輝度サンプルのみ)をパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のCUの外側に位置する輝度サンプルをパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のPUの外側に位置する輝度サンプルをパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。一例として、色差サンプルの対応するダウンサンプリングされた輝度サンプルの導出プロセスの間、ビデオコーダは、現在のTUの外側に位置する輝度サンプルをパディングし得る。すべての他の場所では、再構築されたサンプルが使用される。パディングの上の例では、同じダウンサンプリングプロセスがすべての場所に適用される。
LM予測モードにおいて使用される輝度が再構築されたサンプルの場所が現在のスライスまたは現在のタイルの外側に位置するとき、ビデオコーダは、そのようなサンプルを利用不可能なものとしてマークし得る(たとえば、ビデオコーダはそのようなサンプルを利用不可能なものとして決定し得る)。サンプルが利用不可能であるものとしてマークされるとき、ビデオコーダは次の1つまたは複数を実行し得る。
利用不可能なサンプルは、隣接輝度ブロックのためのダウンサンプリングプロセスにおいて使用される場合、隣接輝度ブロックのためのダウンサンプリングプロセスにおいては使用されない。代わりに、または加えて、フィルタは、他のサンプルのために使用されるフィルタと異なり得る。利用不可能なサンプルは、現在の輝度ブロックのためのダウンサンプリングプロセスにおいて使用される場合、現在の輝度ブロックのためのダウンサンプリングプロセスにおいては使用されない。代わりに、または加えて、フィルタは、他のサンプルのために使用されるフィルタと異なり得る。利用不可能なサンプルは利用可能なものとして再マークされるが、サンプル値はパディングされるサンプル値またはデフォルト値に修正される。代わりに、または加えて、フィルタは、他のサンプルのために使用されるフィルタと同じままにされる。一例では、デフォルト値はビット深度に依存する。別の例では、パディングは、利用可能であるものとしてマークされる左/右/上/下のサンプルからのものであり得る。
一般に、別のタイルの中にある輝度サンプルに対して、ビデオコーダは、タイル境界の外側の画素を利用不可能なものとしてマークし、ダウンサンプリングプロセスにそれらを含めなくてもよい。いくつかの例では、ビデオコーダは、別のタイルの中の輝度サンプルを利用可能なものとしてマークするが、別のタイルの中のそのような輝度サンプルのためにパディングされた画素を使用してもよい。別の例として、ビデオコーダは、別のタイルの中の輝度サンプルのために、サンプルを利用不可能なものとしてマークするのではなく、パディングされた「拡張された」値を使用し得る(たとえば、ビット深度に基づく2分の1の可能な値、よって8ビットでは128を使用する)。
いくつかの例では、ビデオコーダは、異なるフィルタを異なる色差色成分(CbまたはCr)に適用し得る。いくつかの例では、LM予測モードが有効にされるとき、ダウンサンプリングフィルタの1つまたは複数のセットはさらに、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、またはスライスヘッダのいずれかにおいてシグナリングされ得る。代わりに、または加えて、補足強化情報(SEI)メッセージシンタックスが、ダウンサンプリングフィルタを記述するために導入される。代わりに、または加えて、さらに、デフォルトのダウンサンプリングフィルタ、たとえば6タップフィルタ[1, 2, 1; 1, 2, 1]が、シグナリングなしで定義される。代わりに、または加えて、1つのPU/CU/最大CUが、LM予測モードにおいて使用されるフィルタのインデックスをシグナリングし得る。代わりに、または加えて、フィルタタップの使用は、シグナリングせずにビデオデコーダ30によってオンザフライで導出され得る。フィルタをサポートするための他の方法もあり得る。
一例では、さらに、αiがα(i+3)に等しいという制約が適用される。一例では、さらに、iが0または3に等しい場合にαiがα(i+2)に等しいという制約が適用される。一例では、この例示的な技法は、より大きなコーディングされたCU、たとえば16×16より大きなCUサイズだけに対して有効にされ得る。一例では、パラメータの1つまたは複数が0であるように制約される。
その上、ビデオコーダは、成分間残差予測のためにも上の技法のうちの1つまたは複数を適用することができ、成分間残差予測において、ダウンサンプリングされた輝度残差が色差残差を予測するために使用される。この場合、ダウンサンプリングプロセスは、一例として、再構築された輝度残差に適用される。
以下は、本開示において説明される技法がビデオコーダによって実施され得る例示的な方式である。例示的な実施技法は限定するものと見なされるべきではない。
以下は、左のピクチャ境界にある複数のサンプルに異なるダウンサンプリングプロセスを適用するための例である。現在の輝度ブロックのためのダウンサンプリングプロセスは次のように定義される。
- 色差サンプルがピクチャの左の境界に位置しない場合、6タップフィルタ、たとえば[1 2 1; 1 2 1]が対応するダウンサンプリングされた輝度サンプルを導出するために適用される。
recL(i, j)=(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1] + offset0) >>3 (13)
- そうではなく、色差サンプルがピクチャの左の境界に位置する場合、2タップフィルタ、たとえば[1; 1]が対応するダウンサンプリングされた輝度サンプルを導出するために適用される。
recL(i, j) = (RecLOrig[2i, 2j] + RecLorig [2i, 2j+1] + offset1) >> 1 (14)
- 色差サンプルがピクチャの左の境界に位置しない場合、6タップフィルタ、たとえば[1 2 1; 1 2 1]が対応するダウンサンプリングされた輝度サンプルを導出するために適用される。
recL(i, j)=(RecLOrig[2i, 2j]*2+RecLOrig[2i, 2j+1]+RecLOrig[2i, 2j-1]
+RecLOrig[2i+1, 2j]*2+RecLOrig[2i+1, 2j+1]+RecLOrig[2i+1, 2j-1] + offset0) >>3 (13)
- そうではなく、色差サンプルがピクチャの左の境界に位置する場合、2タップフィルタ、たとえば[1; 1]が対応するダウンサンプリングされた輝度サンプルを導出するために適用される。
recL(i, j) = (RecLOrig[2i, 2j] + RecLorig [2i, 2j+1] + offset1) >> 1 (14)
一例では、offset0とoffset1はともに0に等しく設定される。別の例では、offset0は4に等しく設定され、offset1は1に等しく設定される。
HEVCでは、長方形のPUに対しても、正方形変換が常に適用される。たとえば、図16は、N×N変換を伴うnR×2N予測モードを示す概念図である。図16の例では、nR×2N予測モードは、ブロックサイズが2N×2Nであるコーディングブロック100を、それぞれ、サイズが0.5N×2Nおよび1.5N×2Nである2つの予測ブロックへと区分する。しかしながら、図16の例では、変換ブロックサイズはN×Nである。
図17は、2N×N、2N×nD、および2N×nU予測モードのための非正方形四分木(NSQT)を示す概念図である。図17では、レベル0の2N×2Nブロックは、レベル1に位置する4つの2N×0.5Nブロックへと分割され、レベル1のブロックはレベル2に位置する4つのN×0.25Nブロックへとさらに分割される。図18は、N×2N、nR×2N、およびnL×2N予測モードのためのNSQTを示す概念図である。図18では、レベル0の2N×2Nブロックは、レベル1に位置する4つの0.5N×2Nブロックへと分割され、レベル1のブロックはレベル2に位置する4つの0.25N×Nブロックへとさらに分割される。
残差が2つの連結する予測ブロックの境界において不連続であり得ることを考慮すると、高周波変換係数が産生される可能性が高く、コーディング性能が影響を受けるであろう。本開示では、連結する予測ブロックは、4つの境界のうちの少なくとも1つを共有する予測ブロックである。したがって、Yuan他、「Non-Square Quadtree Transform Structure for HEVC」、2012 Picture Coding Symposium (PCS)、pp. 505〜508、2012年5月7〜9日、クラクフ、ポーランド(以後、「Yuan」)において、非正方形四分木変換(NSQT)構造が説明されている。
NSQTでは、2N×0.5Nおよび0.5N×2Nという2つの追加の変換ブロックサイズが追加される。本開示では、変換ブロックは2N×0.5Nおよび0.5N×2Nへと分割され、変換行列は、0.5N×0.5Nおよび2N×2Nの変換行列を再使用することによって取得され得る。本開示では、変換行列は変換コアとも呼ばれることがある。Yuanでは、2N×0.5Nおよび0.5N×2Nの変換ブロックの変換係数を量子化するために、HEVCのN×N量子化テーブルが再使用される。
上で言及されたように、ビデオコーダは、サンプルを周波数領域に変換するために、またはその逆を行うために、変換を適用し得る。HEVCにおいて適用される変換の具体的なタイプは、2つのタイプの離散コサイン変換、すなわちDCT-IIおよび4×4 DST-VIIである。Xin Zhao他、米国特許出願公開第2016/0219290 A1号は、インターコーディングされたブロックとイントラコーディングされたブロックの両方に対して、DCT-IIおよび4×4 DST-VIIに加えてEnhanced Multiple Transform(EMT)方式を提案した。EMT方式は、HEVCにおける現在の変換以外の、DCT/離散サイン変換(DST)ファミリーからの複数の選択された変換を利用する。米国特許出願公開第2016/0219290号において新たに導入された変換行列は、DST-VII、DCT-VIII、DST-I、およびDCT-Vである。
米国特許出願公開第2016/0219290 A1号における提案されたEMTは、64×64より小さいCUに適用され、EMTが適用されるかどうかは、CU内のすべてのTUに対して、フラグ、すなわちEMTフラグを使用して、CUレベルで制御される。EMT対応CU内の各TUに対して、使用されるべき水平方向または垂直方向の変換は、選択された変換セットに対するインデックス、すなわちEMTインデックスによってシグナリングされる。各変換セットは、前述の変換行列から2つの変換を選択することによって形成される。
イントラ予測残差に対して、変換セットが、X. Zhao他、「Video coding with rate-distortion optimized transform」、IEEE Trans. Circuits Syst. Video Technol.、vol. 22、 no. 1、pp. 138〜151、2012年1月において説明されるように、イントラ予測モードに基づいて事前に定義されるので、各イントラ予測モードは固有の変換セットを有する。たとえば、1つの変換セットは{DCT-VIII, DST-VII}であり得る。水平方向の変換のための変換セットは、同じイントラ予測モードに対しても、垂直方向の変換のための変換セットとは異なり得ることに留意されたい。しかしながら、すべてのイントラ予測モードに対する異なる変換セットの総数、ならびに新しく導入される変換の数は限られている。しかしながら、インター予測残差に対して、1つだけの変換セットが、すべてのインターモードのために、および水平方向の変換と垂直方向の変換の両方のために使用される。
各カメラの光源に対する露出は異なり得るので、マルチビュービデオコーディングにおける照明補償(IC)が、異なるビュー間の照明の不一致を補償するために使用される。通常、加重係数および/またはオフセットが、コーディングされるブロックと異なるビュー中の予測ブロックとの差分を補償するために使用される。照明補償は、ビュー間参照ピクチャから予測されるブロックのコーディング効率を改善するために導入された。したがって、照明補償は、ビュー間参照ピクチャによって予測されるブロックだけに適用され得る。
Liu他、「3D-CE1.h related: Illumination Compensation for Inter-View Prediction」、Joint Collaborative Team on 3D Video Coding Extension Development of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11、第1回会合、ストックホルム、スウェーデン、2012年7月16〜20日、文書JCT3V-A0086(以後、JCT3V-A0086)が、照明補償(IC)を説明する。JCT3V-A0086では、ICがビュー間予測のために有効にされる。さらに、JCT3V-A0086において説明されるように、ICプロセスは、現在のCUの隣接サンプルおよび参照ブロックの隣接サンプルに基づいてICパラメータを導出する。JCT3V-A0086では、ICは2N×2N区分モードのみに適用される。さらに、JCT3V-A0086では、AMVPモードに対して、ビュー間参照ピクチャから予測される各CUのために、1つのICフラグがシグナリングされる。マージモードでは、ビットを節約するために、PUのマージインデックスが0に等しくないときだけ、ICフラグがシグナリングされる。ICフラグは、ICがCUのために使用されるかどうかを示す。ICは、時間参照ピクチャだけから予測されるCUには適用されない。
JCT3V-A0086において説明されるように、ビュー間予測において使用される線形ICモデルが式(6)に示される。
p(i, j)=a*r(i+dvx,j+dvy+b)、ただし(i, j)∈PUc (15)
ここで、PUcは現在のPUであり、(i, j)はPUcの中の画素の座標であり、(dvx, dvy)はPUcの視差ベクトルであり、p(i, j)はPUcの予測であり、rは隣接ビューからの現在のPUの参照ピクチャである。aおよびbは線形ICモデルのパラメータである。
p(i, j)=a*r(i+dvx,j+dvy+b)、ただし(i, j)∈PUc (15)
ここで、PUcは現在のPUであり、(i, j)はPUcの中の画素の座標であり、(dvx, dvy)はPUcの視差ベクトルであり、p(i, j)はPUcの予測であり、rは隣接ビューからの現在のPUの参照ピクチャである。aおよびbは線形ICモデルのパラメータである。
JCT3V-A0086において、図19に示されるような画素の2つのセットが、現在のPUのためのパラメータaおよびbを推定するために使用される。画素の第1のセットは、現在のCU(すなわち、現在のPUを含むCU)の左の列および上の行の中の、利用可能な再構築された隣接画素を含む。画素の第2のセットは、現在のCUの参照ブロックの対応する隣接画素を含む。現在のPUの視差ベクトルは、現在のCUの参照ブロックを見つけるために使用される。
図19は、ICモデルにおけるパラメータを推定するために使用される隣接画素を示す。具体的には、図19は現在のCU110および参照ブロック112を含む。図19の各々のそれぞれの正方形はそれぞれのサンプルに対応する。したがって、現在のCU110および参照ブロック112は各々64個のサンプルを含む。現在のCU110の隣の円を囲む正方形は、現在のCU110の隣接サンプル(すなわち、Recneig)に対応する。参照ブロックCU112の隣の円を囲む正方形は、隣接ブロック112の隣接サンプル(すなわち、Recrefneig)に対応する。本開示の他の箇所で説明されるように、ビデオコーダは、RecneigおよびRefrefneigを使用してICのためのパラメータを推定し得る。
さらに、JCT3V-A0086において説明されるように、Recneigを、現在のCUにより使用される隣接画素セットを表するものとする。Recrefniegを、現在のCUの参照ブロックにより使用される隣接画素セットを表すものとする。現在のCUのサイズおよび現在のCUの参照ブロックのサイズがともにN×Nに等しいものとする。2Nを、RecneigおよびRecrefneigの中の画素の数を表すものとする。そうすると、aおよびbは次のように計算され得る。
いくつかの場合、aだけが線形モデルにおいて使用されてbは常に0に等しく設定され、または、bだけが使用されてaは常に1に等しく設定される。
VCEG-AZ06において、局所照明補償(LIC)が、各々のインターモードコーディングされたCUに対して適応的に有効または無効にされる。VCEG-AZ06において、LICは、スケーリング係数aおよびオフセットbを使用する、照明変化のための線形モデルに基づく。図20は、VCEG-AZ06において説明されるようなICパラメータを導出するために使用される例示的な隣接サンプルを示す概念図である。
VCEG-AZ06において、LICがCUに適用されるとき、CUに属する各PU/サブPUに対して、ビデオコーダは、CUのサブサンプリングされる(2:1サブサンプリング)隣接サンプルおよび参照ピクチャの中の対応する画素(現在のPU/サブPUの動き情報によって特定される)を使用する方法で、LICパラメータを導出する。N×Nに等しいサイズのCUでは、式(16)および(17)において使用される境界画素の総数は2NではなくNである。例が図20に示されている。したがって、図20は、現在のCU116の参照ブロック114が現在のPUの視差ベクトルを使用することによって発見される、照明補償モデルにおけるパラメータを推定するために使用される例示的な隣接画素を示す概念図である。VCEG-AZ06において、ICパラメータは、各予測方向に対して別々に導出され適用される。上述の隣接サンプルに基づいてパラメータaおよびbを導出するために、ビデオコーダは最小二乗誤差法を利用し得る。
HEVCにおける現在のRQT設計、ならびにNSQTおよびICなどの他の技法は、以下の欠点を有し得る。たとえば、NSQTが使用されるか、HEVCの変換木が使用されるかにかかわらず、PU情報を考慮しないと最適ではないことがある四分木構造が常に利用される。しかしながら、HEVCは、イントラ予測モードに対しては正方形PUしかサポートしない。
JCTVC-G135において行われるように、イントラモードに2N×NおよびN×2Nの区分を導入すると、以下の問題があり得る。まず、AMPが許可されない。第2に、高いコーディング効率を達成するために変換木構造をどのように定義すべきかが研究されていない。第3に、LM予測モードが正方形PUだけと使用されてきたので、非正方形PUについて、LM予測モードにおいて使用されるパラメータαおよびβをどのように導出すべきかが知られていない。第4に、これまでの技法では、係数を正方形になるように並べ替えなければならず、これは隣接する係数の間の相関を少なくすることがある。さらに、現在のEMT設計には、EMTがCUレベルで制御されるという問題がある。しかしながら、CUレベルでEMTを制御することは、CUの中の各PUの残差特性(たとえば、分布)が異なる場合、効率的ではない。
上で言及された問題を解決するために、本開示は以下の技法を提案する。以下の箇条書きにされる技法は、個別に適用され得る。代わりに、それらの任意の組合せが適用され得る。以下の説明では、CUサイズはM×Mにより表され、PUサイズはK×Lにより表され、KとLはともにM以内である。
本開示の第1の例示的な技法によれば、変換木が四分木に限定されないことが提案される。たとえば、変換四分木と変換二分木が組み合わされ得る。すなわち、少なくともある変換深度に対して、1つのTUが2つのより小さいTUまたは4つのより小さいTUへと分割され得る。本開示では、変換木の各々のそれぞれのノードに対して、それぞれのノードのそれぞれの変換深度は、それぞれのノードと変換木のルートノードとの間の、変換木の中のノードの数を指す。TUを2つのTUへと分割するか、または4つのTUへと分割するかという柔軟性により、TU境界をPU境界と揃えるように変換木を構築するビデオエンコーダ20の能力が向上し得る。TU境界をPU境界と揃えることで、圧縮性能が上がり得る。
したがって、この例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとビデオデータのCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造の中の少なくとも1つのノードが、木構造の中で丁度2つの子ノードを有する。いくつかの事例では、木構造の中の少なくとも1つのノードが、木構造の中で丁度4つの子ノードを有し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
対応する例では、ビデオデコーダ30は、木構造に基づいてCUのTUへとCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造の中の少なくとも1つのノードは木構造の中で丁度2つの子ノードを有し、木構造の中の少なくとも1つのノードは木構造の中で丁度4つの子ノードを有する。この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
さらに、変換木が四分木に限定されない(すなわち、すべての非リーフノードが4つの子ノードを有するような木であることが求められない)例では、0に等しい変換深度に対して、サイズがM×Mに等しい正方形変換が適用される。1に等しい変換深度に対して、変換は(PUの数に応じて)2つまたは4つへと分割され、変換サイズはK×Lに等しい。残りの変換深度に対して、四分木構造が依然として適用され、ここで1つのTUが4つのより小さいTUへと分割され、すなわち、2に等しい変換深度に対して、変換サイズはK/2 × L/2に設定される。例が図21に与えられる。変換深度1において2または4へと変換の分割を制限する1つの理由は、変換サイズをPUサイズと揃えるためであり、たとえば、PUサイズが2N×NまたはN×2Nである場合、2への分割が好ましいことがある。PUがN×Nの区分である場合、4ウェイの変換分割がより良好な結果を生むことがある。別の理由では、対応する変換行列が知られていなかった場合、たとえばAMPが使用される場合、1つの16×16のCUが4×16および12×16のPUへと分割され得るが、12×12の変換は定義されないので、4への分割がこの場合には使用され得る。
図21は、2N×Nに等しい区分サイズに対する例示的な変換構造を示す概念図である。図21および以下の図では、破線は次の変換深度に対する分割情報を示す。具体的には、図21では、変換ブロック130はCUのコーディングブロックと同じサイズを有する。変換ブロック130は、変換ブロック132および134へと区分される。さらに、図21の例では、変換ブロック132は、変換ブロック136、137、138、および139へと区分される。変換ブロック134は、変換ブロック140、141、142、および143へと区分される。したがって、図21に示されるように、ルートノードは2個の子ノードを有し得るが、他の変換深度にあるノードは、0または4個の子ノードを有することが求められ得る。
CUの変換木が四分木であることに制約されないいくつかの例では、二分木または四分木のいずれかが適用される。ビデオコーダは、CUの中のPUの数に基づいて、二分木が適用されるか四分木が適用されるかを決定し得る。たとえば、2つのPUがあるとき、ビデオコーダは二分変換木を利用する。CUが4つのPUを有する場合、ビデオコーダは、四分木構造を使用してCUをTUに区分し得る。一例では、二分木と四分木のいずれかを選択する方法は、1などのいくつかの変換深度にのみ適用される。
したがって、この例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとビデオデータのCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応し、CUは1つまたは複数のPUを有する。さらに、この例では、CUのPUの数に応じて、以下のうちの1つだけが適用される。すなわち、木構造の中の各ノードが木構造の中で丁度2つの子ノードを有し、または、木構造の中の各ノードが木構造の中で丁度4つの子ノードを有する。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
対応する例では、ビデオデコーダ30は、木構造に基づいてCUのTUへとビデオデータのCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応し、CUは1つまたは複数のPUを有する。この例では、CUのPUの数に応じて、以下のうちの1つだけが適用される。すなわち、木構造の中の各ノードが木構造の中で丁度2つの子ノードを有し、または、木構造の中の各ノードが木構造の中で丁度4つの子ノードを有する。さらに、この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
変換木が四分木であることに制約されないいくつかの例では、二分木または四分木のいずれかの分割方法がシグナリングされる。たとえば、ビデオエンコーダ20は、CUが二分木に従ってTUへと区分されるか、四分木に従ってTUへと区分されるかを示す、シンタックス要素を表すデータをビットストリームに含め得る。この例では、ビデオデコーダ30は、ビットストリームの中のデータに基づいて、シンタックス要素の値を決定し得る。さらに、この例では、ビデオデコーダ30は、CUが二分木に従ってTUへと区分されるか、四分木に従ってTUへと区分されるかを、そのシンタックス要素の値に基づいて決定し得る。
代わりに、さらに、シグナリングはいくつかのPU区分に対してスキップされ得る。言い換えると、ビデオエンコーダ20は、ブロックがPUへとどのように分割されるかに基づいて、そのブロックに対する変換木分割のシグナリングをスキップし得る。たとえば、一例では、2N×Nに等しいPU区分に対して、二分木が常に使用されるので、対応する変換木において、二分木分割が使用されるか四分木分割が使用されるかをシグナリングする必要はない。
本開示の第2の技法によれば、ある変換深度において、変換サイズが長方形PUのためのPUサイズに等しいことが提案される。本開示では、変換サイズはTUの変換ブロックのサイズを指す。したがって、この例では、CUの変換木の特定の深度におけるノードに対応する変換ブロックは、CUのPUの予測ブロックと同じサイズを有する。前に論じられたように、TU境界をPU境界と揃えることで、圧縮性能が改善し得る。
第2の技法の一例では、上の方法はインターコーディングされたCUにのみ適用される。言い換えると、ビデオコーディング規格は、インターコーディングされたCUに対するPUと変換サイズが確実に等しくなることをビデオエンコーダ20に求め得るが、この要件はイントラコーディングされたCUには適用されない。
さらに、いくつかの例では、ビデオエンコーダ20は、3つの色成分(たとえば、Y、Cb、およびCr)に対して少なくとも1つの0ではない係数が存在するかどうかを示すために、各PUのために1つのフラグをシグナリングし得る。上で言及されたように、本開示の第2の技法は、CUのTUのサイズが、変換木において特定の深度にあるCUのPUのサイズに等しいことを求める。したがって、その特定の深度において、変換木は、CUの各々のそれぞれのPUのためのそれぞれの変換木ノードを含む。特定の深度における変換木の各々のそれぞれの変換木ノードに対して、それぞれの変換木ノードは、対応するPUの輝度予測ブロックおよび色差予測ブロックと同じサイズおよび形状を有する、輝度変換ブロックおよび色差変換ブロックに対応する。したがって、エンコーダ20は、対応するPUにおいて情報をシグナリングすることによって、その特定の深度における変換木ノード(およびその特定の深度における変換木ノードの子孫の変換木ノード)についての情報をシグナリングし得る。たとえば、ビデオエンコーダ20は、PUのための第1のシンタックス要素、PUのための第2のシンタックス要素、およびPUのための第3のシンタックス要素を、ビットストリームにおいてシグナリングし得る。この例では、PUのための第1のシンタックス要素は、対応する変換木ノードまたはその子孫の変換木ノードの輝度係数ブロックの中に0ではない変換係数が存在するかどうかを示し、PUのための第2のシンタックス要素は、対応する変換木ノードまたはその子孫の変換木ノードのCb係数ブロックの中に0ではない変換係数が存在するかどうかを示し、PUのための第3のシンタックス要素は、対応する変換木ノードまたはその子孫の変換木ノードのCr係数ブロックの中に0ではない変換係数が存在するかどうかを示す。
従来の技法では、長方形PUは、インター予測されたCUにしか許可されていなかった。しかしながら、本開示の第2の技法のいくつかの例では、長方形PU(2N×N、N×2Nなど)がイントラコーディングされたCUに導入されるとき、上の方法(すなわち、変換サイズが特定の変換深度におけるPUサイズに等しいことを必要とする)も適用される。
第3の技法によれば、1つのTUは複数のより小さいTUへと分割され得るが、より小さいTUのサイズは異なり得る。言い換えると、ビデオコーダは、TUを2つの異なるサイズの子TUへと分割し得る。いくつかの事例では、TUを2つ以上の異なるサイズの子TUへと分割することは、AMPが有効にされる場合にビデオコーディング性能を向上させることができ、それは、2つ以上の異なるサイズの子TUへとTUを分割することで、子TUの境界がPUの境界とより揃うようになり得るからである。本開示の他の箇所で説明されるように、TUの境界をPUの境界と揃えることで、予測ブロック間の境界における不連続性と関連付けられる高周波変換係数の発生が減り、したがって、圧縮効率が向上し得る。たとえば、ブロック(たとえば、CU)が12×16のPUを有する場合、12×16のPUに対応するブロックの区分は、2つの8×8のTUおよび2つの4×4のTUへと、または2つの8×8のTUおよび1つの4×16のTUへと分割され得る。
第3の技法の一例では、AMPモードが1つのCUに対して有効にされるとき、より大きなPUに対する変換木は、小さいPUに等しい1つの部分と、別のPUとしての残りとを伴う、2つの部分に分割され得る。例が図22に与えられる。図22は、本開示の技法による、N×N/4(U)に等しい区分サイズのための変換構造を示す概念図である。図22の例では、変換ブロック150は、変換ブロック152および154へと区分される。さらに、図22の例では、変換ブロック152は、変換ブロック156、158、160、および162へと区分される。変換ブロック154は、変換ブロック164および166へと区分される。変換深度2における右側の分岐は、2つの分割変換サイズが異なることを示す。すなわち、変換ブロック164および変換ブロック166は異なるサイズを有する。
第3の技法のいくつかの例では、TUの非対称な分割は、2つのPUサイズが異なる、または、1つのCUが複数のPUを含みそれらのPUのうちの少なくとも2つが異なるサイズを有する、AMPのケースにのみ適用可能である。言い換えると、ビデオコーダは、TUを含むCUが異なるサイズのPUへと分割される場合、TUを異なるサイズの子TUへと分割するだけであり得る。
したがって、TUが複数の異なるサイズのTUへと分割され得る例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造のうちの少なくとも1つのノードの子ノードは、異なるサイズのブロックに対応する。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
対応する例では、ビデオデコーダ30は、木構造に基づいてCUのTUへとCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造のうちの少なくとも1つのノードの子ノードは、異なるサイズのブロックに対応する。さらに、この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
本開示の第4の技法によれば、変換の分割は、CUにおいて同じ方向(垂直または水平)に沿わずに行われることが許可される。言い換えると、CUの変換木は、水平に分割された変換ブロックと垂直に分割された変換ブロックとを含み得る。変換ブロックの水平の分割と垂直の分割の両方を許可することで、CUのTUの境界がCUのPUの境界とより揃うようになり得る。本開示の他の箇所で論じられるように、CUのTUの境界をCUのPUの境界と揃えることで、予測ブロック間の境界における不連続性と関連付けられる高周波変換係数の発生が減り、したがって、圧縮効率が向上し得る。第4の技法の一例では、CUのTUの水平の分割と垂直の分割の両方の使用は、いくつかの区分モード、たとえばAMPにのみ適用可能である。
図23は、本開示の技法による、N×N/4(U)に等しい区分サイズのための変換構造を示す概念図である。図23の例では、CU区分は水平方向に沿っており、TU区分は水平方向および/または垂直方向のいずれかからであり得る。具体的には、TU180はTU182およびTU184へと水平に分割される。TU182は、TU186、188、190、および192へと分割される。TU184は、TU194、196、および198へと水平および垂直に分割される。
CUにおける異なる方向に沿った変換ブロックの分割が許可される例では、ビデオエンコーダ20は、木構造に基づいてCUのTUへとCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。この例では、木構造の中の第1のノードは丁度2つの子ノードを有し、第1のノードの子ノードに対応するブロック間の境界は垂直である。加えて、この例では、木構造の中の第2のノードは丁度2つの子ノードを有し、第2のノードの子ノードに対応するブロック間の境界は水平である。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。
同様に、ビデオデコーダ30は、木構造に基づいてCUのTUへとCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応し、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応し、木構造のリーフノードはCUのTUに対応する。さらに、この例では、木構造の中の第1のノードは丁度2つの子ノードを有し、第1のノードの子ノードに対応するブロック間の境界は垂直である。この例では、木構造の中の第2のノードは丁度2つの子ノードを有し、第2のノードの子ノードに対応するブロック間の境界は水平である。この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。
本開示の第5の技法によれば、1つのCUがイントラPUとインターPUの両方を含むことがあり、これは以下の説明ではcomb_modeと呼ばれる。いくつかの事例では、comb_modeの使用は、CUの予測ブロックの精度を向上させ得るので、最終的には圧縮性能の向上につながり得る。CUのPUの予測ブロックの精度は、PUの予測ブロックの対応するサンプルとCUのコーディングブロックのサンプルとの差の尺度である。
したがって、第5の技法によれば、ビデオエンコーダ20は、イントラ予測を実行してCUの第1のPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、第1の予測ブロックおよび第2の予測ブロックに基づいて、CUの残差データを取得し得る。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUの残差データを表すデータを含め得る。
同様に、第5の技法によれば、ビデオデコーダ30は、イントラ予測を実行してCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、ビデオデコーダ30は、第1の予測ブロックおよび第2の予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。
1つのCUがcomb_modeでコーディングされ、CUが、N×2N区分モードなどにおいて、垂直方向に2つのPUへと分割されるとき、ビデオコーダは、CUの変換木の変換深度を次のように決定し得る。左のPUがイントラコーディングされたPUである場合、変換深度は0以上であり得る。言い換えると、左のPUがイントラコーディングされることに基づいて、CUの変換木の深度は、0以上であることが許容される。したがって、CUの変換木の深度が0に等しい事例では、TUサイズはCUサイズに等しいことがあり、1つのTUは2つのPUをカバーすることがあり、すなわちPUの境界にまたがることがある。それ以外の(左のPUがインターコーディングされたPUである)場合、変換深度は1以上に制約される。言い換えると、CUの変換木の深度は1以上であり得るが、0に等しくはない。この例では、左のPUがインターコーディングされたPUであるとき、TUサイズはPUサイズよりも大きくてはならない。
したがって、この例では、ビデオエンコーダ20は、ビデオコーディング規格に準拠するビットストリームを生成し得る。この例では、CUが第1のPUおよび第2のPUへと垂直な境界に沿って分割され、CUの左のPUがイントラコーディングされたPUであることに基づいて、ビデオコーディング規格は、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する。同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUが第1のPUおよび第2のPUへと垂直な境界に沿って分割され、CUの左のPUがイントラコーディングされたPUであることに基づいて、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する、ビデオコーディング規格に準拠し得る。ビデオエンコーダ20とビデオデコーダ30の両方の例において、ビデオコーディング規格は、CUが第1のPUおよび第2のPUへと垂直な境界に沿って分割されることと、CUの左のPUがインターコーディングされたPUであることとに基づいて、CUのTUのTUサイズが第1のPUまたは第2のPUのサイズより大きくないことを要求する制約を設け得る。
さらに、2N×N区分モードが使用されるときなどの、1つのCUが水平方向に2つのPUへと分割されるとき、ビデオコーダは、CUがイントラPUとインターPUの両方を含むときに使用される変換深度を次のように決定し得る。上のPUがイントラコーディングされたPUである場合、変換深度は0以上であり得る。言い換えると、CUの変換木の深度は0以上である。この例では、上のPUは水平に分割されたCUの上側PUである。変換深度が0である事例では、TUサイズはCUサイズに等しく、1つのTUは2つのPUをカバーする。それ以外の(すなわち、上のPUがインターコーディングされたPUである)場合、変換深度は1以上に制約される。言い換えると、CUの変換木の深度は1以上であり、0であってはならない。この例では、上のPUがインターコーディングされたPUであるとき、TUサイズはPUサイズよりも大きくてはならない。
したがって、この例では、ビデオエンコーダ20は、ビデオコーディング規格に準拠するビットストリームを生成し得る。この例では、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割され、CUの上のPUがイントラコーディングされたPUであることに基づいて、ビデオコーディング規格は、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する。その上、いくつかの例では、ビットストリームは、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割されることと、CUの上のPUがインターコーディングされたPUであることとに基づいて、CUのTUのTUサイズが第1のPUまたは第2のPUのサイズより大きくないことを要求する制約を設けるビデオコーディング規格に準拠する。
同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割され、CUの上のPUがイントラコーディングされたPUであるとき、CUのTUが第1のPUと第2のPUの両方をカバーすることを許容する、ビデオコーディング規格に準拠する。その上、いくつかの例では、ビデオデコーダ30は、CUが第1のPUおよび第2のPUへと水平な境界に沿って分割され、CUの上のPUがインターコーディングされたPUであるときに、CUのTUのTUサイズが第1のPUまたは第2のPUのサイズより大きくないことを要求する制約を設けるビデオコーディング規格に準拠するビットストリームを取得する。
いくつかの例では、1つのCUがcomb_modeでコーディングされるとき、TUがPUの境界にまたがってはならないという制約が追加される。この制約は、TUがPUの境界にまたがり得る場合のレートひずみコストを確認する必要がなくなるので、エンコーダの複雑さを下げることができる。したがって、この例では、ビデオエンコーダ20は、CUがイントラコーディングされたPUおよびインターコーディングされたPUを有することに基づいて、CUのTUがCUのPU境界をまたがないことを要求する制約を設ける、ビデオコーディング規格に準拠するビットストリームを生成し得る。同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUがイントラコーディングされたPUおよびインターコーディングされたPUを有することに基づいて、CUのTUがCUのPU境界をまたがないことを要求する制約を設ける、ビデオコーディング規格に準拠する。
さらに、comb_modeを伴ういくつかの例では、comb_modeが8×8などのあるサイズより大きい(そのサイズを含まない)CUにのみ適用されるように制約される。より小さいブロックに対しては、comb_modeがCUに適用されるかどうかをシグナリングするビットを増やすことは、comb_modeによりもたらされるレートひずみコストの低減とつり合いがとれないことがあることに留意されたい。したがって、ある小さいサイズに対しては、comb_modeは追加のシグナリングなしで常に無効にされ得る。本開示では、ある制約が、ビデオエンコーダが何らかの活動を実行すること、またはビットストリームを何らかの方法で生成することを妨げることがある。たとえば、ビデオエンコーダ20は、イントラコーディングされたPUとインターコーディングされたPUの両方を有するために特定のサイズより小さいCUが許可されないことを要求する制約を設ける、ビデオコーディング規格に準拠するビットストリームを生成し得る。同様の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、イントラコーディングされたPUとインターコーディングされたPUの両方を有するために特定のサイズより小さいCUが許可されないことを要求する制約を設ける、ビデオコーディング規格に準拠する。
comb_modeを伴ういくつかの例では、1つの8×8のCUは、1つの8×4イントラPUおよび1つの8×4インターPUを用いて、または1つの4×8イントラPUおよび1つの4×8インターPUを用いて、comb_modeでコーディングされ得る。この例では、この8×8のCUの対応する4×4色差ブロック(4:2:0カラーフォーマットにおける)は、インターコーディングされた輝度PUのインター予測モードのみを使用して、もしくは、イントラコーディングされた輝度PUのイントラ予測モードのみを使用してコーディングされることが可能であり、または、4×4色差ブロックはさらに、それに対応して輝度PU区分に基づいて2つの4×2または2×4ブロックとして区分され、2つの4×2または2×4の各々は対応する輝度予測モードによって予測され、4×4残差ブロックが生成され、2×2変換の導入を避けるために4×4変換が生成された44個の残差ブロックに対して実行される。2×2変換の導入は不必要に複雑さを上げることがある。
したがって、上の例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nである。さらに、この例では、CUは4:2:0カラーフォーマットを使用してコーディングされる。この例では、第1のPUの第1の予測ブロックは、第1のPUの輝度予測ブロックである。この例では、第2のPUの第2の予測ブロックは、第2のPUの輝度予測ブロックである。この例では、ビデオエンコーダ20は、インター予測のみを使用して、サイズN×Nの色差予測ブロックである第3の予測ブロックを取得する。この例では、ビデオエンコーダ20は、第1、第2、および第3の予測ブロックに基づいて、CUの残差データを取得する。同様の例は、第1、第2、および第3の予測ブロックに基づいてCUの残差データを取得するビデオエンコーダ20の代わりに、イントラ予測のみを使用してイントラ予測の代わりに第3の予測ブロックを取得するビデオエンコーダ20を代わりに用いる。
その上、対応する例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nであり、CUは4:2:0カラーフォーマットを使用してコーディングされる。さらに、この例では、第1のPUの第1の予測ブロックは第1のPUの輝度予測ブロックであり、第2のPUの第2の予測ブロックは第2のPUの輝度予測ブロックである。この例では、ビデオデコーダ30は、インター予測のみを使用して、サイズN×Nの色差予測ブロックである第3の予測ブロックを取得する。さらに、この例では、ビデオデコーダ30は、第1、第2、および第3の予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。同様の例は、イントラ予測のみを使用してイントラ予測の代わりに第3の予測ブロックを取得するビデオデコーダ30の異なる構成を、代わりに用いる。
上で言及されたように、いくつかの例では、1つの8×8のCUは、1つの8×4イントラPUおよび1つの8×4インターPUを用いて、または1つの4×8イントラPUおよび1つの4×8インターPUを用いて、comb_modeでコーディングされることが可能であり、この8×8のCUの対応する4×4色差ブロックは、インターコーディングされた輝度PUのインター予測モードのみを使用してコーディングされることが可能であり、ビデオコーダは、それに対応して輝度PU区分に基づいて2つの4×2または2×4ブロックとして4×4色差ブロックを区分することができ、ビデオコーダは対応する輝度予測モードによって2つの4×2または2×4の各々を予測し、ビデオコーダは4×4残差ブロックを生成し、生成された4×4残差ブロックに対して4×4変換を実行する。
したがって、そのような例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nであり、CUは4:2:0カラーフォーマットを使用してコーディングされる。さらに、第1のPUの第1の予測ブロックは第1のPUの輝度予測ブロックであり、第2のPUの第2の予測ブロックは第2のPUの輝度予測ブロックである。この例では、ビデオエンコーダ20は、第1のPUのイントラ予測モードを使用して、第1のPUの色差予測ブロックを生成し得る。さらに、この例では、ビデオエンコーダ20は、インター予測を使用して、第2のPUの色差予測ブロックを生成し得る。この例では、ビデオエンコーダ20は、第1の予測ブロック、第2の予測ブロック、第1のPUの色差予測ブロックおよび第2のPUの色差予測ブロックに基づいて、CUの残差データを取得し得る。
同様の例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。この例では、CUのサイズは2N×2Nであり、第1のPUのサイズは2N×Nであり、第2のPUのサイズはN×2Nであり、または、第1のPUのサイズはN×2Nであり、第2のPUのサイズは2N×Nであり、CUは4:2:0カラーフォーマットを使用してコーディングされる。さらに、この例では、第1のPUの第1の予測ブロックは第1のPUの輝度予測ブロックであり、第2のPUの第2の予測ブロックは第2のPUの輝度予測ブロックである。この例では、ビデオデコーダ30は、第1のPUのイントラ予測モードを使用して、第1のPUの色差予測ブロックを生成し得る。ビデオデコーダ30は、インター予測を使用して、第2のPUの色差予測ブロックを生成し得る。さらに、ビデオデコーダ30は、第1の予測ブロック、第2の予測ブロック、第1のPUの色差予測ブロックおよび第2のPUの色差予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。
加えて、comb_modeを伴ういくつかの例では、1つのCUが2つ以上のPUを使用してコーディングされ、インター予測モードとイントラ予測モードの両方が使用されるとき、インターコーディングされるPUに対して、CUは現在のHEVC設計と同じ方法で扱われる。すなわち、再構築は、あり得る逆量子化/変換後の復号された残差と、動き情報を使用する動き補償された予測ブロックとの合計として定義される。加えて、イントラコーディングされたPUに対して、ビデオコーダは2つの予測子を伴うプロセスを使用し、すなわち、再構築は、あり得る逆量子化/変換後の復号された残差と、近隣のインターコーディングされたPUからの動き情報を使用する動き補償された予測ブロックと、現在のPUと関連付けられるイントラ予測モードを使用するイントラ予測ブロックとの合計として定義される。
したがって、この例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUの残差データを取得することの一部として、ビデオエンコーダ20は、第1のPUに対応する残差データの各々のそれぞれのサンプルに対して、それぞれのサンプルが、CUのコーディングブロックのそれぞれのサンプルから、第2のPUの動き情報を使用して取得される予測サンプルを引き、第1の予測ブロックのサンプルを引いたものに等しくなるように、それぞれのサンプルを取得し得る。動き情報を使用して取得される予測サンプルは、インター予測PUの予測ブロックのサンプルであり得る。
対応する例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUのコーディングブロックを再構築することの一部として、ビデオデコーダ30は、第1のPUに対応するコーディングブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルが、それぞれの復号された残差サンプルと、第2のPUの動き情報を使用して取得される予測サンプルと、第1の予測ブロックのサンプルとの合計に等しくなるように、それぞれのサンプルを取得し得る。
代わりに、comb_modeを伴ういくつかの例では、1つのCUが2つ以上のPUを使用してコーディングされ、インター予測モードとイントラ予測モードの両方が使用されるとき、イントラコーディングされたPUに対して、CUのコーディングブロックを再構築するためのプロセスは現在のHEVC設計と同じであり、すなわち、再構築は、あり得る逆量子化/変換後の復号された残差と、イントラ予測モードを使用するイントラ予測ブロックとの合計として定義される。加えて、CUのインターコーディングされたPUに対して、インターコーディングされたPUに対応するコーディングブロックの部分を再構築するためのプロセスは、2つの予測子がインターコーディングされたPUのために定義されるという点でHEVCの再構築プロセスと異なる。さらに、インターコーディングされたPUのサンプルに対応するCUのコーディングブロックの各サンプルに対して、サンプルは、復号された残差サンプル(たとえば、あり得る逆量子化/変換後の)と、インターコーディングされたPUの動き情報を使用して生成されるインターコーディングされたPUの動き補償された予測ブロックのサンプルと、インターコーディングされたPUに隣接するイントラコーディングされたPUと関連付けられるイントラ予測モードを使用して生成されるイントラ予測ブロックのサンプルとの合計として定義される。
したがって、この例では、ビデオエンコーダ20は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUの残差データを取得することの一部として、ビデオエンコーダ20は、第2のPUに対応する残差データの各々のそれぞれのサンプルに対して、それぞれのサンプルが、CUのコーディングブロックのそれぞれのサンプルから、第1のPUのイントラ予測モードを使用して取得される予測サンプルを引き、第2の予測ブロックのサンプルを引いたものに等しくなるように、それぞれのサンプルを取得し得る。
対応する例では、ビデオデコーダ30は、イントラ予測を実行してビデオデータのCUの第1のPUの第1の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、インター予測を実行して同じCUの第2のPUの第2の予測ブロックを取得し得る。さらに、この例では、CUのコーディングブロックを再構築することの一部として、ビデオデコーダ30は、第2のPUに対応するコーディングブロックの各々のそれぞれのサンプルに対して、それぞれのサンプルが、それぞれの復号された残差サンプルと、第1のPUのイントラ予測モードを使用して取得される予測サンプルと、第2の予測ブロックのサンプルとの合計に等しくなるように、それぞれのサンプルを取得し得る。
一例では、2つの予測子を許容するとき、2つの予測ブロックが、線形加重関数、たとえば2つの平均を用いて合成される。たとえば、ビデオエンコーダ20またはビデオデコーダ30などのビデオコーダは、イントラ予測を使用してPUの第1の予測ブロックを生成することができ、インター予測を使用してPUの第2の予測ブロックを生成することができる。この例では、ビデオコーダは、PUの最終予測ブロックを、最終予測ブロックの各々のそれぞれのサンプルに対して、最終予測ブロックのそれぞれのサンプルに対応する第1の予測ブロックおよび第2の予測ブロックのサンプルの加重平均を決定することによって、決定し得る。この例では、加重平均に使用される重みは、インター予測される予測ブロックよりもイントラ予測される予測ブロックを重んじることがあり、またはその逆であることがある。いくつかの事例では、そのような線形加重関数を使用することは、より正確な最終予測ブロックをもたらすことがあり、これは最終的には圧縮性能を向上させることがある。線形加重係数は、サイド情報としてシグナリングされ、またはあるコーディングされた情報から導かれ得る。
たとえば、CUのPUに対応するCUのコーディングブロックの各々のそれぞれのサンプルに対して、ビデオエンコーダ20は、それぞれのサンプルの第1の予測サンプルとそれぞれのサンプルの第2の予測サンプルとを取得し得る。たとえば、それぞれのサンプルの第1の予測サンプルはインター予測を使用して生成されることがあり、それぞれのサンプルの第2の予測サンプルはイントラ予測を使用して生成されることがある。この例では、ビデオエンコーダ20は、線形加重関数をそれぞれのサンプルの第1の予測サンプルおよびそれぞれのサンプルの第2の予測サンプルに適用することによって、それぞれのサンプルの加重予測サンプルを決定し得る。加えて、この例では、ビデオエンコーダ20は、それぞれのサンプルの元の値とそれぞれのサンプルの加重予測サンプルとの差に等しい、それぞれのサンプルの残差サンプルを決定し得る。
同様に、コーディングブロックの各々のそれぞれのサンプルに対して、ビデオデコーダ30は、それぞれのサンプルの残差サンプルを取得し得る。たとえば、ビデオデコーダ30は、変換係数を示すシンタックス要素をビットストリームから取得し、逆量子化を変換係数に適用し、逆変換を変換係数に適用して残差サンプルを取得し得る。さらに、この例では、ビデオデコーダ30は、それぞれのサンプルの第1の予測サンプルとそれぞれのサンプルの第2の予測サンプルとを決定し得る。たとえば、それぞれのサンプルの第1の予測サンプルはインター予測を使用して生成されることがあり、それぞれのサンプルの第2の予測サンプルはイントラ予測を使用して生成されることがある。この例では、ビデオデコーダ30は、線形加重関数をそれぞれのサンプルの第1の予測サンプルおよびそれぞれのサンプルの第2の予測サンプルに適用することによって、それぞれのサンプルの加重予測サンプルを決定し得る。加えて、この例では、ビデオデコーダ30は、それぞれのサンプルの残差サンプルとそれぞれのサンプルの加重予測サンプルとの合計として、それぞれのサンプルを再構築し得る。
以下の例は、comb_modeが1つのスライス、ピクチャ、またはシーケンス(すなわち、コーディングされたビデオシーケンス)に対して有効にされるときの、comb_modeの使用法を示す。HEVCでは、CUは1ビットのpred_mode_flagシンタックス要素を含む。0に等しいCUのpred_mode_flagシンタックス要素は、CUがインター予測モードでコーディングされることを指定する。1に等しいCUのpred_mode_flagシンタックス要素は、CUがイントラ予測モードでコーディングされることを指定する。本開示の一例によれば、CUの1ビットのpred_mode_flagは、3つのあり得る値をとるシンタックス要素により置き換えられる。この例では、3つの値はそれぞれ、従来のイントラモード、従来のインターモード、およびcomb_modeに対応する。この例では、従来のイントラモードは、CUのすべてのPUがイントラ予測モードを使用してコーディングされる事例を指す。さらに、この例では、従来のインター予測モードは、CUのすべてのPUがインター予測モードを使用してコーディングされる事例を指す。いくつかの例では、comb_modeがあるCUに対して有効にされるとき、そのCUの1つだけのPUに対して、ビデオエンコーダ20は、そのPUがイントラ予測モードでコーディングされるかインター予測モードでコーディングされるかを示すための1ビット値をシグナリングする。そのCUはcomb_modeでコーディングされるので、他のPUは、その1ビット値がシグナリングされた対象のPUとは異なる予測モードである。別の例では、comb_modeは従来のインターモードとして扱われる。この例では、CUの各PUに対して、イントラ予測モードまたはインター予測モードの使用を示すために、追加のフラグが加えられる。
本開示の第7の技法では、1つのPUはイントラ予測とインター予測の両方から予測されることが可能であり、イントラ予測およびインター予測からの2つの予測ブロックが、そのPUの最終予測ブロックを導出するために使用される。このようにして最終予測ブロックを導出することは、PUのより正確な予測ブロックをもたらすことがあり、これは圧縮性能を向上させることがある。
したがって、第7の技法によれば、ビデオエンコーダ20は、イントラ予測を実行してCUのPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオエンコーダ20は、インター予測を実行して同じCUの同じPUの第2の予測ブロックを取得し得る。この例では、ビデオエンコーダ20は、第1の予測ブロックおよび第2の予測ブロックに基づいて、PUの最終予測ブロックを導出し得る。さらに、ビデオエンコーダ20は、PUの最終予測ブロックに基づいて、CUの残差データを取得し得る。たとえば、ビデオエンコーダ20は、PUの最終予測ブロックのサンプルとCUのコーディングブロックの対応するサンプルとの差を計算することによって、CUの残差データの少なくとも一部分を生成し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUの残差データを表すデータを含め得る。
対応する例では、ビデオデコーダ30は、イントラ予測を実行してCUのPUの第1の予測ブロックを取得し得る。加えて、この例では、ビデオデコーダ30は、インター予測を実行して同じCUの同じPUの第2の予測ブロックを取得し得る。この例では、ビデオエンコーダ30は、第1の予測ブロックおよび第2の予測ブロックに基づいて、PUの最終予測ブロックを導出し得る。さらに、この例では、ビデオデコーダ30は、PUの最終予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。たとえば、ビデオデコーダ30は、PUの最終予測ブロックをCUの残差データに加算して、CUのコーディングブロックの少なくとも一部分を再構築し得る。
さらに、第7の技法のいくつかの例では、ビデオコーダは、線形加重関数を2つの予測ブロックに適用し、たとえば、2つの予測ブロックの同じ相対的な場所に位置する画素の加重係数は固定されている。いくつかの例では、異なる場所に対する加重係数は可変であり得る。さらに、いくつかの例では、加重係数はイントラ予測モードに依存する。一例では、ブロック内の左上の場所に対して、イントラ予測モードがDCモードである場合、インター予測ブロックおよびイントラ予測ブロックの中の左上のサンプルの重みは等しく、すなわち(0.5, 0.5)であり、一方、イントラ予測が垂直予測モードである場合、イントラ予測ブロックの中の左上のサンプルの重みは、インター予測ブロックの中の左上のサンプルの重みより大きいことがある。
第7の技法のいくつかの例では、すべての場所ではないが、1つまたは複数の場所における1つの画素の最終予測値は、イントラ予測されたブロックとインター予測されたブロックのいずれかから複製されることがあり、すなわち、2つの加重係数のうちの一方が0であり他方が1である。
いくつかの例では、第7の技法は、特定の区分サイズ(たとえば、2N×2N)、および/または特定の予測モード(マージ/スキップモード)に適用される。さらに、いくつかの例では、第7の技法が適用されるとき、イントラ予測モードは、従来のイントラ予測に使用されるイントラ予測モードのサブセットであるように制約される。一例では、サブセットはMPM(最確モード)のみを含むように定義される。
上で論じられたように、ビデオコーダは、線形モデル(LM)予測モードを使用して、同じブロックの再構築された輝度サンプルに基づいてブロックの色差サンプルを予測し得る。さらに、上で説明されたように、LM予測モードは非正方形PUとともに使用されてこなかった。本開示の第8の技法によれば、ビデオコーダは非正方形PUとともにLM予測モードを使用することができる。より一般的には、LM予測モードを適用するための技法と同じものが、非正方形の輝度ブロックおよび色差ブロックとともに機能する。したがって、非正方形PUに関する第8の技法についての本開示における議論は、PUの輝度予測ブロックおよび色差予測ブロックなどの、非正方形の輝度ブロックおよび色差ブロックに対して一般に当てはまり得る。さらに、第8の技法の例は、LM予測モードにおいて使用されるパラメータをいくつかの方法で導出することができる。
たとえば、第8の技法のいくつかの例では、非正方形PUの長辺における境界は、ダウンサンプリングまたはサブサンプリングされた境界の中の画素の数が短辺の境界における画素の数に等しくなるように、ダウンサンプリングまたはサブサンプリングされる。このプロセスは、デシメーションまたは補間されたサンプリングであり得る。ビデオデコーダ30がデシメーションを使用してサブサンプリングを実行する例では、ビデオデコーダ30は、通常の間隔でサンプルを除去し(たとえば、1つおきにサンプルを除去し)、残りのサンプルの値を変更せずにサンプルの数を減らすことができる。別の例では、ビデオデコーダ30は、補間を使用してサブサンプリングを実行することができる。ビデオデコーダ30が補間を使用してサブサンプリングを実行する例では、隣り合うサンプルのそれぞれのペアに対して、ビデオデコーダ30は、それぞれのペアのサンプルの間の値を補間することができ、サンプルのサブサンプリングされたセットにその補間された値を含めることができる。
したがって、本開示の第8の技法の例では、ビデオエンコーダ20は、線形モデル予測演算を実行して、PUのダウンサンプリングまたはサブサンプリングされた再構築された輝度サンプルから、CUの非正方形PUの予測色差ブロックを予測することができる。さらに、この例では、ビデオエンコーダ20は、予測色差ブロックに基づいて、CUの残差データを取得し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUの残差データを表すデータを含め得る。対応する例では、ビデオデコーダ30は、線形モデル予測演算を実行して、PUのダウンサンプリングされた再構築された輝度サンプルから、ビデオデータの現在のピクチャのCUの非正方形PUの予測色差ブロックを予測することができる。この例では、ビデオデコーダ30は、予測色差ブロックに一部基づいて、CUのコーディングブロックを再構築し得る。この段落の例のいずれでも、ビデオエンコーダ20またはビデオデコーダ30が、非正方形PUの長辺に接したダウンサンプリングまたはサブサンプリングされた輝度サンプルの数が、非正方形PUの短辺に接した輝度サンプルと同じであるように、非正方形PUの長辺の輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。
一例では、式(4)および式(5)を使用して線形モデルパラメータを計算するとき、輝度成分と色差成分の両方に対して、非正方形PUの長辺における境界の画素は、ダウンサンプリングまたはサブサンプリングされた境界における画素の数がより短い境界における画素の数(すなわち、min(K, L))に等しくなるように、サブサンプリングされる。このサブサンプリングプロセスは、デシメーションまたは補間されたサンプリングであり得る。
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータは
に等しく、第2のパラメータは
β=(Σyi-α・Σxi)/I
に等しく、Iは非正方形PUの左および上の境界における参照サンプルの数であり、xiはダウンサンプリングまたはサブサンプリングされた再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。
β=(Σyi-α・Σxi)/I
に等しく、Iは非正方形PUの左および上の境界における参照サンプルの数であり、xiはダウンサンプリングまたはサブサンプリングされた再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。
代わりに、いくつかの例では、PUの長辺と短辺の両方に位置する画素はサブサンプリングされることがあり、サブサンプリング比は異なることがある。サブサンプリング比は、サブサンプリングの後のサンプルに対するサブサンプリングの前のサンプルの比である。しかしながら、サブサンプリングの後の2つの辺における画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、mは輝度成分および色差成分に対して異なり得る)。mの値はブロックサイズKおよびLに依存し得る。
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータは
に等しく、第2のパラメータは
β=(Σyi-α・Σxi)/I
に等しく、Iは参照サンプルのセットの中の参照サンプルの数であり、xiは再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。この例では、参照サンプルのセットは、左の参照サンプルおよび上の参照サンプルのサブサンプリングされたセットであり、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。
β=(Σyi-α・Σxi)/I
に等しく、Iは参照サンプルのセットの中の参照サンプルの数であり、xiは再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。この例では、参照サンプルのセットは、左の参照サンプルおよび上の参照サンプルのサブサンプリングされたセットであり、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。
第8の技法の別の例では、式(4)および(5)における画素の数Iは、境界の中の画素の実際の数に基づいて調整される。たとえば、2N×NのPUに対してはI=3Nである。左または上のみの原因となるサンプルが利用可能であるとき、全体の関与するサンプル数Iは、左または上の境界の長さに等しい。したがって、ビデオコーダは、αを
として計算することができる。加えて、ビデオコーダは、βを
β=(Σyi-α・Σxi)/3N
として計算することができる。
β=(Σyi-α・Σxi)/3N
として計算することができる。
LMが1つの非正方形色差PU(サイズがK×Lに等しい、ここでKはLと等しくない)に対して有効にされるとき、パラメータ(すなわち、aおよびb)は様々な方法で導出され得る。たとえば、式(4)および式(5)を使用して線形モデルパラメータを計算するとき、輝度成分と色差成分の両方に対して、非正方形PUの短辺における境界の画素は、アップサンプリングされた境界における画素の数がより長い境界における画素の数(すなわち、max(K, L))に等しくなるように、アップサンプリングされる。このアップサンプリングプロセスは、デュプリケータまたは補間されたサンプリングであり得る。デュプリケータアップサンプリングプロセスは、新しいサンプルを生成するために既存のサンプルが複製されるアップサンプリングプロセスである。補間されたアップサンプリングプロセスは、2つ以上の既存のサンプルに基づいて新しいサンプルの値を補間することによってサンプルの数を増やす。
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータおよび第2のパラメータは式(4)および(5)において定義される。この例では、参照サンプルのセットは、左の参照サンプルおよび上の参照サンプルのアップサンプリングされたセットであり、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。この例では、ビデオコーダは、左の参照サンプルおよび/または上の参照サンプルにアップサンプリング方法を適用することによって、参照サンプルのセットを決定することができる。たとえば、アップサンプリング方法は、左の参照サンプルまたは上の参照サンプルのうちで、現在のPUの左の境界と現在のPUの上の境界の短い方に相当するものをアップサンプリングしてよいが、現在のPUの左の参照サンプルと現在のPUの上の参照サンプルの長い方をアップサンプリングしなくてよい。
いくつかの例では、PUの長辺と短辺の両方に位置する画素はアップサンプリングされることがあり、アップサンプリング比は異なることがある。しかしながら、アップサンプリングの後の2つの辺における画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、mは輝度成分および色差成分に対して異なり得る)。mの値は、ブロックサイズKおよびLに依存し得る。言い換えると、mはPUの高さおよび/または幅に依存する。たとえば、PUは8×16であることがあり、ビデオコーダは、PUの左辺に沿った32個の参照サンプルおよびPUの上辺に沿った32個の参照サンプルがあるように、参照サンプルをアップサンプリングすることがある。この例では、mは6に等しい。別の例では、PUは4×8であることがあり、ビデオコーダは、PUの左辺に沿った16個の参照サンプルおよびPUの上辺に沿った16個の参照サンプルがあるように、参照サンプルをアップサンプリングすることがある。この例では、mは4に等しい。
さらに、第8の技法のいくつかの例では、式(4)および式(5)を使用してLMパラメータを計算するとき、輝度成分と色差成分の両方に対して、非正方形PUの短辺における境界の画素がアップサンプリングされ、より長い境界の画素(すなわち、max(K, L))は、アップサンプリングされたより短い境界における画素の数がサブサンプリングされたより長い境界における画素の数に等しくなるように、サブサンプリングされる。このアップサンプリングプロセスは、デュプリケータまたは補間されたサンプリングであり得る。このサブサンプリングプロセスは、デシメーションまたは補間されたサンプリングであり得る。
したがって、この例では、LM予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータおよび第2のパラメータは式(4)および(5)において定義される。この例では、参照サンプルのセットは、参照サンプルのアップサンプリングされたセットと参照サンプルのサブサンプリングされたセットの連合であり、参照サンプルのアップサンプリングされたセットは、左の参照サンプルと上の参照サンプルのうちで含まれるサンプルがより少ない方の、アップサンプリングされたバージョンである。この例では、参照サンプルのサブサンプリングされたセットは、左の参照サンプルと上の参照サンプルのうちで含まれるサンプルがより多い方の、サブサンプリングされたバージョンである。この例では、左の参照サンプルは現在のPUの左の境界のすぐ左にあり、上の参照サンプルは現在のPUの上の境界のすぐ上にある。
いくつかの例では、上で言及された第8の技法の例について、サブサンプリングまたはアップサンプリングプロセスの後で、輝度成分だけのためのダウンサンプリングプロセス(たとえば、本開示の他の箇所で説明されるような)がさらに、カラーフォーマットが4:4:4ではない場合をカバーするために適用され得る。したがって、現在のピクチャのカラーフォーマットが4:4:4以外であることに基づいて、ビデオコーダは、予測ブロックの輝度サンプルをサブサンプリングまたはダウンサンプリングすることができる。いくつかの例では、輝度サンプルの2つのダウンサンプリングプロセスが1つに統合され得る。
さらに、第8の技法のいくつかの例では、境界画素のためのサブサンプリング/アップサンプリングの様々な方法が適用され得る。一例では、サブサンプリング/アップサンプリング方法は、PUサイズに(すなわち、KおよびLの値に)依存する。別の例では、サブサンプリング/アップサンプリングの方法は、シーケンスパラメータセット、ピクチャパラメータセット、スライスヘッダ、または別のシンタックス構造においてシグナリングされ得る。
第8の技法のいくつかの例では、アップサンプリング/ダウンサンプリング(またはサブサンプリング)は、暗黙的に実施される。言い換えると、アップサンプリングまたはサブサンプリング技法は暗黙的に決定される。すなわち、左側の境界または/および上側の境界の、式(4)および式(5)におけるΣxi・yi、Σxi、およびΣyiなどの合計値が、係数Sと乗じられ、または係数Sで割られる。Sの値は左側の境界または/および上側の境界における画素数の比に依存し得る。
したがって、この例では、LM予測動作を実行して予測色差ブロックを予測することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のLMパラメータは
に等しく、ここでSは非正方形PUの左側の境界または/および上側の境界における画素数の比に依存し、Iはサブサンプリング方法に従って決定された現在のPUの左の境界および上の境界におけるサンプルのサブセットの中の参照サンプルの数であり、xiはサブサンプリングされ再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。いくつかの例では、K×L色差ブロックに対して、S = max(K, L)/min(K, L)である。
上で説明されたように、DST-VII、DCT-VIII、DST-I、およびDCT-Vを使用する、enhancement multiple transform(EMT)方式が提案されている。さらに、上で論じられたように、EMTが適用されるかどうかは、CU内のすべてのTUに対して、フラグ、すなわちEMTフラグを使用して、CUレベルで制御される。EMT対応CU内の各TUに対して、使用されるべき水平方向または垂直方向の変換は、選択された変換セットに対するインデックス、すなわちEMTインデックスによってシグナリングされる。
しかしながら、これまでに提案されたようにEMT方式を制御することは、CUの中の各PUの残差特性が異なる場合、効率的ではないことがある。たとえば、これまでに提案されたようにEMT方式を制御することは、CU内のイントラコーディングされたPUおよびインターコーディングされたPUに対して効率的ではないことがある。したがって、本開示の第9の技法によれば、EMTが1つのスライス、ピクチャ、またはシーケンスに対して有効にされ、1つのCUが垂直方向に2つのPUへと分割される(たとえば、N×2Nの区分)とき、EMTフラグのシグナリングは次の方法で修正される。左のPUがイントラコーディングされたPUである場合、変換深度は0であり得る。言い換えると、CUの変換木は0以上の深度を有し得る。この場合、EMTフラグはCUレベルでシグナリングされ得る。変換深度が0ではない場合、EMTフラグはPUレベルでシグナリングされ得る。したがって、EMTは、各PUに対して有効にされることもされないこともある。
さらに、本開示の第9の技法によれば、EMTが1つのスライス、ピクチャ、またはシーケンスに対して有効にされ、1つのCUが水平方向に2つのPUへと分割される(たとえば、2N×Nの区分)とき、EMTフラグのシグナリングは次の方法で修正される。上のPUがイントラコーディングされたPUである場合、変換深度は0であり得る。言い換えると、CUの変換木は0以上の深度を有し得る。この場合、EMTフラグはCUレベルでシグナリングされ得る。変換深度が0ではない場合、EMTフラグはPUレベルでシグナリングされ得る。すなわち、各PUはEMTが有効であることもないこともある。
したがって、第9の技法によれば、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、第1のシンタックス要素を含め得る。第1のシンタックス要素は、境界に沿った丁度2つのPUへと区分される特定のCUに対してEMTが有効にされるかどうかを示す。この例では、第1のシンタックス要素がその特定のCUの中にあるか、2つのPUのうちの特定のPUの中にあるかは、CUのPUの分割方向に依存する。さらに、この例では、EMTがある特定のCUに対して有効にされることに基づいて、その特定のCUの各々のそれぞれのTUに対して、ビデオエンコーダ20は、ビットストリームに、それぞれのTUのそれぞれの選択された変換セットを示すそれぞれのシンタックス要素を含め得る。この例では、EMTがその特定のCUに対して有効にされることに基づいて、ビデオエンコーダ20は、それぞれの選択された変換セットの1つまたは複数の変換をそれぞれのTUの変換係数に適用して、サンプル領域の中のそれぞれのTUのそれぞれの変換ブロックを取得し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含め得る。この例では、境界は水平な境界であることがあり、または境界は垂直な境界であることがある。
対応する例では、ビデオデコーダ30は第1のシンタックス要素を取得し得る。第1のシンタックス要素は、境界に沿った丁度2つのPUへと区分される特定のCUに対してEMTが有効にされるかどうかを示す。この例では、第1のシンタックス要素がその特定のCUの中にあるか、2つのPUのうちの特定のPUの中にあるかは、CUのPUの分割方向に依存する。この例では、EMTがある特定のCUに対して有効にされると決定したことに応答して、その特定のCUの各々のそれぞれのTUに対して、ビデオデコーダ30は、それぞれのTUのそれぞれの選択された変換セットを示すそれぞれのシンタックス要素を取得し得る。加えて、EMTがある特定のCUに対して有効にされると決定したことに応答して、その特定のCUの各々のそれぞれのTUに対して、ビデオデコーダ30は、それぞれの選択された変換セットの1つまたは複数の変換の逆をそれぞれのTUの変換係数に適用して、サンプル領域の中のそれぞれのTUのそれぞれの変換ブロックを取得し得る。この例では、ビデオデコーダ30は、CUのTUの変換ブロックに少なくとも一部基づいて、CUのコーディングブロックを再構築し得る。この例では、境界は水平な境界であることがあり、または境界は垂直な境界であることがある。
本開示の第10の技法によれば、いくつかの変換木構造が、1つのスライス、ピクチャ、またはシーケンスをコーディングするために適用され得る。たとえば、一例では、変換木構造は事前に定義される。いくつかの例では、各ピクチャ、スライス、最大コーディング単位、CU、またはPUに対して、ビデオエンコーダ20は、選択された変換木構造をシグナリングし得る。代わりに、いくつかの例では、ビデオデコーダ30は、予測モード/区分サイズなどのコーディングされた情報から、選択された変換木を導出し得る。
したがって、第10の技法によれば、ビデオエンコーダ20は、複数の事前に定義された木構造のうちのある特定の木構造に基づいて、CUのTUへとビデオデータのCUを区分し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。さらに、この例では、木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。加えて、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、CUのTUのうちの1つまたは複数を表すデータを含める。いくつかの例では、ビデオエンコーダ20はさらに、ビットストリームに、特定の木構造を特定する1つまたは複数のシンタックス要素を含め得る。いくつかの例では、CUに適用可能な特定の木構造を示す1つまたは複数のシンタックス要素は、ピクチャ、スライス、LCU、CU、およびPUのうちの1つの中にある。さらに、いくつかの例では、CUがTUへと区分されると決定することの一部として、ビデオエンコーダ20は、特定の木構造の明示的なシグナリングを伴わずに、コーディングされた情報から特定の木構造を決定する。そのような例では、コーディングされた情報は、予測モードと区分サイズのうちの少なくとも1つを備え得る。
対応する例では、ビデオデコーダ30は、複数の定義された木構造のうちのある特定の木構造に基づいて、CUのTUへとビデオデータのCUが区分されると決定し得る。この例では、木構造のルートノードはCUのコーディングブロックに対応する。木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。この例では、木構造のリーフノードはCUのTUに対応する。加えて、この例では、ビデオデコーダ30は、CUのTUのうちの少なくとも1つに対するデータに基づいて、CUのコーディングブロックを再構築し得る。いくつかの例では、ビデオデコーダ30は、符号化されたビデオデータを備えるビットストリームから、特定の木構造を特定する1つまたは複数のシンタックス要素を取得し得る。1つまたは複数のシンタックス要素は、ピクチャ、スライス、LCU、CU、および予測単位のうちの1つにおいて、CUに適用可能な特定の木構造を示す。さらに、いくつかの例では、CUがTUへと区分されると決定することの一部として、ビデオデコーダ30は、特定の木構造の明示的なシグナリングを伴わずに、コーディングされた情報から特定の木構造を決定し得る。コーディングされた情報は、予測モードと区分サイズのうちの少なくとも1つを備え得る。
本開示の第11の例では、サイズが1×NおよびN×1に等しい変換も、インターコーディングされたブロックに適用され得る。たとえば、一例では、そのようなTUは、特定の変換深度、たとえば最高の変換深度だけに許容される。いくつかの例では、そのようなTUは、8×8に等しいCUサイズなどの、特定のコーディングブロックだけに許容される。さらに、いくつかの例では、第11の技法は、輝度などの特定の色成分だけに適用可能である。
したがって、第11の技法によれば、ビデオエンコーダ20は、1×NまたはN×1変換をインターコーディングされたブロックの残差データに適用することによって、変換領域データ(たとえば、変換係数)を決定し得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、変換領域データを表すデータを含め得る。対応する例では、ビデオデコーダ30は、1×NまたはN×1変換をインターコーディングされたブロックの変換係数に適用することによって、サンプル領域データを決定し得る。この例では、ビデオデコーダ30は、サンプル領域データに一部基づいて、ビデオデータのCUのコーディングブロックを再構築し得る。たとえば、ビデオデコーダ30は、残差データの対応するサンプルにサンプル領域データのサンプルを加算して、CUのコーディングブロックを再構築し得る。いくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30を伴う第11の技法の上の例では、1×NおよびN×1の変換は、特定の変換深度だけに許容される。加えて、いくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30を伴う第11の技法の上の例では、1×NおよびN×1の変換は、特定のサイズのCUだけに許容される。
本開示の第12の技法によれば、インターコーディングされたCUのためのHEVCにおいて定義される非対称動き区分も、イントラコーディングされたCUに適用される。イントラ予測されたCUをPUへと非対称に区分することで、ビデオエンコーダ20は、異なるオブジェクトに対応する領域へとCUをより正確に分割することが可能になることがあり、これは圧縮性能を向上させることがある。したがって、第12の技法の例によれば、ビデオエンコーダ20は、ビデオデータのイントラ予測されたCUをPUへと非対称に区分し得る。この例では、ビデオエンコーダ20は、イントラ予測されたCUの各々のそれぞれのPUのそれぞれの予測ブロックを決定し得る。さらに、この例では、ビデオエンコーダ20は、イントラ予測されたCUのPUの予測ブロックおよびイントラ予測されたCUのコーディングブロックに基づいて残差データを取得し得る。加えて、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含め得る。
第12の技法の対応する例によれば、ビデオデコーダ30は、ビデオデータのイントラ予測されたCUがPUへと非対称に区分されると決定し得る。この例では、ビデオデコーダ30は、イントラ予測されたCUの各々のそれぞれのPUのそれぞれの予測ブロックを決定し得る。加えて、この例では、ビデオデコーダ30は、イントラ予測されたCUのPUの予測ブロックに基づいて、イントラ予測されたCUのコーディングブロックを再構築し得る。
本開示の第13の技法によれば、1つのイントラコーディングされたCUが複数のPUを含むとき、各PUは固有の色差予測モードを有し得る。言い換えると、PUは、第1のイントラ予測モード(すなわち、輝度予測モード)および第2のイントラ予測モード(すなわち、色差予測モード)を有し得る。ビデオコーダは、輝度予測モードを使用してPUの輝度予測ブロックを決定することができ、色差予測モードを使用してPUの色差予測ブロックを決定することができる。したがって、第13の技法によれば、ビデオエンコーダ20は、ビデオデータのイントラ予測されたCUが少なくとも第1のPUおよび第2のPUを有すると決定することができる。この例では、第1のPUおよび第2のPUは異なる色差予測モードを有する。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、第1のPUおよび第2のPUの予測ブロックならびにCUのコーディングブロックに少なくとも一部基づいて残差データを表すデータを含め得る。
第13の技法の対応する例では、ビデオデコーダ30は、ビデオデータのイントラ予測されたCUが少なくとも第1のPUおよび第2のPUを有すると決定することができる。この例では、第1のPUおよび第2のPUは異なる色差予測モードを有する。さらに、この例では、ビデオデコーダ30は、第1のPUおよび第2のPUの予測ブロックに少なくとも基づいて、CUのコーディングブロックを再構築し得る。
さらに、第13の技法の例によれば、前にコーディングされたPUの色差イントラ予測モードが、次のPUをコーディングするために考慮され得る。したがって、ビデオコーダは、コーディング順序において現在のPUの前のPUの色差予測モードに少なくとも一部基づいて、現在のPUの色差予測モードを決定し得る。たとえば、ビデオコーダは、現在のPUの色差イントラ予測モードのためのコンテキストモデリングにおいて、前にコーディングされたPUの色差イントラ予測モードを使用し得る。コンテキストモデリングは、コンテキスト適応エントロピーコーディングのためのコーディングコンテキストの識別を備え得る。コーディングコンテキストは値の確率を示し得る。別の例では、ビデオコーダは、前にコーディングされたPUの色差イントラ予測モードを、色差イントラ予測モードリストのための1つの新しい候補として追加し得る。
第13の技法のいくつかの例では、すべてのPUが同じ色差イントラ予測モードを共有するかどうかを示すために、1つのフラグがCUレベルで最初にコーディングされ得る。したがって、この例では、ビデオエンコーダ20は、ビットストリームに、イントラ予測されたCUのすべてのPUが同じ色差イントラ予測モードを共有することを示すシンタックス要素を含め得る。同様に、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームから、イントラ予測されたCUのすべてのPUが同じ色差イントラ予測モードを共有するかどうかを示すシンタックス要素を取得し得る。
さらに、第13の技法のいくつかの例では、1つのCU内のすべての色差PUは、同じ変換木に従うように制約される。同じ変換木に従うように1つのCU内の色差PUのすべてを制約することによって、ビデオエンコーダ20は、異なる色差PUのための異なる変換木の構造を示すデータをビットストリームに含めることが不要になり得る。したがって、ビデオエンコーダ20は、CUの色差PUが異なる構造の変換木を有するビットストリームをビデオエンコーダが生成するのを制限する、ビデオコーディング規格に準拠するビットストリームを生成し得る。同様に、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを取得し得る。この例では、ビットストリームは、CUの色差PUが異なる構造の変換木を有するビットストリームをビデオエンコーダが生成するのを制限する、ビデオコーディング規格に準拠する。
本開示の第14の例では、1つのイントラコーディングされたCUが複数の長方形PUを含むとき、ビデオコーダはモード依存の走査を適用し得る。モード依存の走査は、TUのための2次元係数ブロックの中の変換係数をエントロピー符号化のための1次元係数ベクトルへと走査するために使用される走査順序である。ビデオエンコーダ20は、TUに対応するPUのためにどのイントラ予測モードが使用されるかに基づいて、複数の利用可能な走査順序の中から、TUの変換係数を走査するために使用すべきモード依存の走査を選択し得る。TUに対応するPUは、TUと同じ広がりをもつことがあり、またはTUと関連付けられるエリアを含むことがある。モード依存の走査を使用することで、CABACのための変換係数をより良好に並べることができる。HEVCでは、モード依存の走査は、8×8および4×4のTUだけに許容される。
したがって、第14の技法の例によれば、ビデオエンコーダ20は、2次元変換係数ブロックに基づいて残差データを取得し得る。この例では、ビデオエンコーダ20は、ビデオデータのイントラ予測されたCUの複数の長方形PUの各々の予測ブロックを取得し得る。さらに、この例では、ビデオエンコーダ20は、モード依存の走査を適用して、変換係数の2次元ブロックを、CUのTUに対応する変換係数の1次元アレイへと並べ得る。この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、変換係数の1次元アレイを表すデータを含め得る。
同様の例では、ビデオデコーダ30は、モード依存の走査を適用して、変換係数の1次元アレイを、ビデオデータのイントラ予測されたCUのTUに対応する2次元変換係数ブロックへと並べ得る。この例では、イントラ予測されたCUは複数の長方形PUを有する。さらに、この例では、ビデオデコーダ30は、変換係数ブロックに基づいて残差データを取得し得る。加えて、ビデオデコーダ30は、PUの各々の予測ブロックを取得し得る。この例では、ビデオデコーダ30は、残差データおよび予測ブロックに基づいて、CUのコーディングブロックを再構築し得る。
第14の技法の一例では、モード依存の走査の適用は、8×4または4×8などのあるTUサイズに制約される。いくつかの例では、モード依存の走査は、8×8だけ、または8×8および16×16などの、あるCUサイズに制約される。さらに、いくつかの例では、HEVCにおいて8×8および4×4に等しいTUサイズのために使用される、イントラ予測モードと走査パターンとの間のマッピングの規則が再使用され得る。いくつかの例では、長方形TUのサイズに応じて、異なるマッピング関数が適用され得る。
本開示の他の箇所で説明されるように、VCEG-AZ07は、HEVCにおいて使用される2タップのイントラ補間フィルタよりも方向性イントラ予測の精度を改善するために、4タップのイントラ補間フィルタを使用することを提案した。しかしながら、VCEG-AZ07は、非正方形のイントラコーディングされたPUのための4タップのイントラ補間フィルタをビデオコーダがどのように選択するかを示していない。むしろ、VCEG-AZ07は、ビデオコーダが、4×4および8×8ブロックにはキュービック補間フィルタを使用し、16×16以上のブロックにはガウシアン補間フィルタを使用することを規定している。本開示の第15の技法では、サイズがK×Lに等しい非正方形のイントラコーディングされたPUに対して、4タップのイントラ補間フィルタに関して本開示の他の箇所で説明されるような4タップフィルタのタイプまたは走査パターンを決定するとき、非正方形のイントラコーディングされたPUは、N×Nに等しい変換サイズとして扱われ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)であり、log2は2を底とする対数であり、>>および<<はそれぞれ右シフトおよび左シフトである。
したがって、第15の技法の例では、ビデオエンコーダ20は、ビデオデータのCUの非正方形のイントラコーディングされたPUのための4タップの補間フィルタを決定し得る。さらに、この例では、ビデオエンコーダ20は、非正方形のイントラコーディングされたPUの予測ブロックを取得することの一部として、決定された4タップの補間フィルタを適用し得る。たとえば、ビデオエンコーダ20は、2つの整数場所の参照サンプル(すなわち、ピクチャの左上のサンプルに対して相対的に整数の座標にある参照サンプル)の間にある参照サンプルの値を決定するとき、4タップのフィルタを適用し得る。加えて、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、非正方形PUの予測ブロックおよびCUのコーディングブロックに少なくとも一部基づいて残差データを表すデータを含め得る。この例では、4タップの補間フィルタを決定することの一部として、ビデオエンコーダ20は、正方形PUのサイズに基づいて4タップの補間フィルタを決定することができ、ここで正方形PUのサイズは非正方形のイントラコーディングされたPUの高さおよび幅に基づく。
第15の技法の対応する例では、ビデオデコーダ30は、ビデオデータのCUの非正方形のイントラコーディングされたPUのための4タップの補間フィルタを決定し得る。加えて、この例では、ビデオデコーダ30は、非正方形のイントラコーディングされたPUの予測ブロックを取得することの一部として、決定された4タップの補間フィルタを適用し得る。さらに、ビデオデコーダ30は、非正方形PUの予測ブロックに少なくとも一部基づいて、CUのコーディングブロックを再構築し得る。この例では、4タップの補間フィルタを決定することの一部として、ビデオデコーダ30は、正方形PUのサイズに基づいて4タップの補間フィルタを決定することができ、ここで正方形PUのサイズは非正方形のイントラコーディングされたPUの高さおよび幅に基づく。
第15の技法のいくつかの例では、新しい4タップのフィルタは、非正方形のイントラコーディングされたPUに適用され得る。すなわち、非正方形のイントラコーディングされたPUに対しても、4タップのフィルタが適用されてよく、このフィルタは、正方形PUに対して定義されるものとは異なり得る。さらに、第15の技法のいくつかの例では、イントラ予測モードと走査パターンインデックスとの間の異なるマッピングテーブルが、非正方形のイントラコーディングされたPUに対して適用され得る。
K×L変換ブロックは、N×Nに等しい変換サイズとして扱われ、ここでlog2(N*N) = (log2(K) + log2(L) + 1)である。したがって、K×L変換ブロックに対する走査パターンの選択は、N×Nブロックと同じであり得る。
上で論じられたように、HEVCにおける変換ブロックはサイズがN×Nであり、ここでN=2mでありmは整数である。さらに、HEVCでは、ビデオエンコーダは、2次元のN×N変換を変換ブロックに適用して変換係数を生成する。より具体的には、ビデオエンコーダは、N点の1次元変換を変換ブロックの各行および変換ブロックの各列に別々に適用することによって、2次元のN×N変換を適用する。このように変換を適用することで、変換係数のN×Nブロックが得られる。
HEVCでは、ビデオエンコーダは、以下を計算することによって、N点の1次元DCT変換を変換ブロックのサンプルのi番目の行または列wiに適用し得る。
上の式において、i = 0,…, N - 1である。DCT変換行列Cの要素cijは、次のように定義される。
上の式において、i, j = 0,…, N - 1であり、ここでAは、i=0に対しては1に等しく、i>0に対しては21/2に等しい。
式(19)において、
をXijと表記するものとする。したがって、式(18)は次のように書き直され得る。
ビデオエンコーダは、水平方向と垂直方向の両方に1次元DCT変換を適用するので、変換係数wiは最終的に次のように書き直され得る。
これはさらに次のように書き直され得る。
したがって、変換は最終的に、
という「正規化係数」を有するものと見なすことができる。N=2mなので、
も2のべき乗である。したがって、変換係数の値は、除算演算の代わりに右シフト演算によって実装され得る。本開示の他の箇所で論じられるように、除算演算の代わりに右シフト演算を使用することで、複雑さを下げ、コーディング速度を上げることができる。
しかしながら、TUの非正方形変換ブロックとともに式(19)を再使用すると、問題が生じることがある。2D変換(水平方向の変換と垂直方向の変換の両方を含む)に対して、K*L変換を考えると、正規化係数は
となる。Nが式log2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)を満たす値として定義される場合、利用される正規化係数
と実際の正規化係数
との比は、
となる。言い換えると、量子化プロセスにおいてN×N変換ブロックから導出された同じ正規化係数を再使用するとき、エネルギー(すなわち、量子化された変換係数の平方根の合計)は、
だけ変化する。
本開示の第16の技法は、この問題に対処し得る。たとえば、本開示の第16の技法では、サイズがK×Lに等しい非正方形変換ブロックに対して、(log2(K) + log2(L))が奇数であるとき、HEVCにおける変換および量子化プロセスは変更されないままであり、非正方形変換ブロックはサイズがN×Nと等しい変換ブロックとして扱われ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)である。言い換えると、(log2(K) + log2(L))が奇数であることに基づいて、ビデオエンコーダ20は、log2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)となるような値Nを決定し得る。ビデオエンコーダ20は次いで、「正規化係数」においてNの決定された値を使用して式(19)に従って定義される、DCT変換行列Cの要素を使用し得る。したがって、ビデオエンコーダ20は、式(21)の「正規化係数」による除算のために右シフト演算を使用し続け得る。
さらに、本開示の第16の技法によれば、変換プロセスの後で、かつ量子化プロセスの前に、変換係数が修正され、√2という係数と乗じられる。言い換えると、変換を非正方形変換ブロックに適用して係数ブロックを生成した後で、ビデオエンコーダ20は、係数ブロックの各変換係数を√2という係数と乗じる。これは、使用される正規化係数(すなわち、
)の実際の正規化係数(すなわち、
)に対する比が、
に等しいからである。
たとえば、K=8かつL=4とする。この例では、log2(4*4) = ((log2(8) + log2(4)) >> 1) << 1)なので、N=4である。
は
に等しく、これは
に等しく、これは√2に等しい。(log2(K) + log2(L))が偶数であるKおよびLの値に対して、使用される正規化係数(すなわち、
)の実際の正規化係数(すなわち、
)に対する比は1に等しいことに留意されたい。したがって、(log2(K) + log2(L))が偶数であるとき、ビデオエンコーダ20が変換係数を√2という係数と乗じる必要はないことがある。
逆量子化プロセスの後、逆量子化された係数がさらに修正され、√2という係数で割られる。量子化の前に変換係数を√2と乗じ、変換係数を√2で割ることで、そうされなければ量子化プロセスにおいて失われるであろう情報を保つことができる。この情報を保つことで、元の変換ブロックのより正確な再構築が確実になり得る。
第16の技法の別の例では、HEVCにおける変換および量子化プロセスは、変化しないままであり、N×Nに等しい変換サイズとして扱われ、ここでlog2(N*N) = (log2(K) + log2(L) + 1)である。変換の後に、かつ量子化プロセスの前に、変換係数が修正され、√2という係数で割られる。逆量子化プロセスの後に、逆量子化された係数がさらに修正され、√2という係数と乗じられる。
上の第16の技法の例では、√2という係数は近似により表され得る。たとえば、(x*√2)という処理は(x*181)>>7により近似することができ、ここで>>は右シフト演算を表す。(x/√2)という処理は(x*√2/2)、すなわち(x*181)>>8により近似することができ、ここで>>は右シフト演算を表す。
したがって、上で提示された第16の技法の例では、ビデオエンコーダ20は、CUの非正方形TUの変換ブロックに変換を適用して、変換係数のブロックを生成し得る。加えて、ビデオエンコーダ20は、変換係数のブロックの各々のそれぞれの変換係数が、
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、変換係数を修正し得る。この例では、変換係数を修正した後で、ビデオエンコーダ20は、量子化プロセスをCUの非正方形PUの修正された変換係数に適用し得る。さらに、この例では、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、量子化された変換係数に基づくデータを含め得る。いくつかの例では、非正方形TUの変換ブロックに変換を適用することの一部として、ビデオエンコーダ20は、逆量子化された変換係数に、サイズがN×Nである変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)である。
対応する例では、ビデオデコーダ30は、逆量子化プロセスをビデオデータのCUの非正方形PUの変換係数に適用し得る。この例では、逆量子化プロセスを変換係数に適用した後で、ビデオデコーダ30は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。いくつかの例では、修正された逆量子化された変換係数に逆変換を適用することの一部として、ビデオデコーダ30は、修正された逆量子化された変換係数に、サイズがN×Nである変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)である。
HEVCでは、ビデオエンコーダ20は、次の式を使用して量子化された変換係数(すなわち、level)を計算し得る。
ここで、coeffは変換係数であり、offsetqはオフセット値であり、QPは量子化パラメータであり、shift 2 = 29 - M - Bであり、Bはビット深度であり、M = log2(N)であり、
f=[f0,…f5]T=[26214,23302,20560,18396,16384,14564]T (23)
である。
f=[f0,…f5]T=[26214,23302,20560,18396,16384,14564]T (23)
である。
さらに、HEVCでは、ビデオデコーダ30は、次の式を使用して量子化された変換係数を逆量子化し得る。
式(24)において、coeffQは逆量子化された変換係数であり、levelは量子化された変換係数であり、offsetIQはオフセット値= 1 << (M - 10 + B)であり、shift1 = (M - 9 + B)であり、gは以下の式(25)に示されるように定義される。
g=[f0,…f5 ]T=[40,45,51,57,64,72]T (25)
g=[f0,…f5 ]T=[40,45,51,57,64,72]T (25)
本開示の技法によれば、ビデオエンコーダ20は、(log2(W)+log2(H))が奇数か偶数かに応じて、異なる量子化行列(すなわち、fの複数のバージョン)を使用し得る。同様に、ビデオデコーダ30は、(log2(W)+log2(H))が奇数か偶数かに応じて、異なる逆量子化行列(すなわち、gの複数のバージョン)を使用し得る。gの例は次のように定義される。
[ 40,45,51,57,64,72 ], //合計が偶数のとき
[ 7240,8145,9231,10317,11584,13032 ], //合計が奇数のとき
合計が偶数である場合のgの各々の対応する値は、181と乗じられることに留意されたい。この例では、量子化段階の前または後に乗算または除算の処理を実行する必要はなく、それは、
[ 40,45,51,57,64,72 ], //合計が偶数のとき
[ 7240,8145,9231,10317,11584,13032 ], //合計が奇数のとき
合計が偶数である場合のgの各々の対応する値は、181と乗じられることに留意されたい。この例では、量子化段階の前または後に乗算または除算の処理を実行する必要はなく、それは、
の補償がすでにgにおいて考慮されているからである。
さらに、式(22)および(24)において、量子化行列fおよびgにおいて選択される値は、量子化パラメータQPに基づいて選択される。量子化行列fおよびgにおける選択される値は、本明細書では量子化行列係数と呼ばれ得る。本開示のいくつかの例では、ビデオエンコーダ20およびビデオデコーダ30は、量子化パラメータに基づいて、また(log2(W)+log2(H))が奇数か偶数かに基づいて、量子化行列係数を選択し得る。
上で簡単に説明され、図2Aおよび図2Bにおいて示されたように、HEVCでは、ビデオコーダは常に、再帰的なz走査順序でCUのTUを処理する。したがって、図2Aに示されるように、TU「a」の変換係数に対応するデータは、TU「b」の変換係数に対応するデータより前にビットストリームにおいて現れ、以下同様である。本開示の第17の技法は、インターモードまたはcomb_modeまたはイントラモードでコーディングされるが非正方形の区分を伴うCUに対して、変換係数のコーディング順序が、再帰的なz走査を常に使用する代わりにPUコーディング順序に依存することを提案する。第17の技法のいくつかの例では、1つのPU内のすべての係数が、別のPUの中の係数をコーディングする前に一緒にコーディングされるものとする。したがって、ビデオエンコーダ20のために、CUのPUの1つの中のすべての係数が、CUのPUの別の1つの係数を符号化する前に一緒に符号化される。同様に、この例では、ビデオデコーダ30のために、CUの1つのPUの中のすべての係数が、CUのPUの別の1つの係数を復号する前に一緒に復号される。
この例では、PUの変換係数は、その変換ブロックがPUの予測ブロックのエリア内にある、TUの変換係数である。たとえば、16×16のCUのPUの予測ブロックの左上の角の座標を、そのCUのコーディングブロックの左上の角に対して相対的に(0, 0)とし、そのPUの予測ブロックの右下の角の座標を(7, 15)とする。さらに、この例では、そのCUのTUの変換ブロックの左上の角の座標を(4, 0)とし、そのTUの変換ブロックの右下の角の座標を(7, 15)とする。この例では、TUの変換係数はPUの変換係数である。しかしながら、この例では、TUの変換ブロックの左上の角が(8, 0)であり、TUの変換ブロックの右下の角が(15, 7)である場合、TUの変換係数はPUの変換係数ではない。
たとえば、図2Aに関して、CU40が、CU40の中心を通って垂直にCU40を区分する2つのPUを有すると仮定する。したがって、CU40の第1のPUの変換係数は、TU「a」、「b」、「c」、「d」、および「f」の変換係数を含む。CU40の第2のPUの変換係数は、TU「e」、「g」、「h」、「i」、および「j」の変換係数を含む。この例では、ビデオエンコーダ20は、TU「f」の変換係数を表すデータに続いて、TU「e」の変換係数を表すデータを含め得る。対照的に、HEVCでは、TU「f」の変換係数を表すデータは、CU40のPUの形状およびサイズとは関係なく、TU「e」の変換係数を表すデータの後に来る。言い換えると、1つのPUが複数のTUを含むとき、深度優先の横断を用いた再帰的なZ走査が、PU内のこれらの係数をコーディングするために適用される。図2を例として採用すると、区分サイズがN×2Nに等しい場合、コーディング順序は、a、b、c、d、f、e、g、h、i、jであり得る。
第17の技法のいくつかの例は、変換深度が0に等しくないとき、すなわち変換サイズがPUサイズより大きくないときにだけ適用可能である。上で言及されたAMPは、HEVCにおいて定義される4つの場合だけではなく、他の非対称の区分を含み得ることに留意されたい。
上で簡単に言及されたように、HEVCにおけるICの設計は正方形PUのみをサポートする。本開示以前には、非正方形PUのためのICパラメータaおよびbをどのように導出するかは知られていなかった。本開示の第18の技法は、非正方形PUとともにICが使用されることを可能にする。たとえば、ビデオエンコーダ20は、ICを使用してビデオデータのピクチャの現在のPUの非正方形予測ブロックを生成し得る。加えて、ビデオエンコーダ20は、予測ブロックに基づいて残差データを生成し得る。たとえば、ビデオエンコーダ20は、残差データの各々のそれぞれのサンプルが、現在のCUのコーディングブロックのそれぞれのサンプルと予測ブロックの対応するそれぞれのサンプルとの差に等しくなるように、残差データを生成し得る。さらに、ビデオエンコーダ20は、残差データに基づくデータを含むビットストリームを出力し得る。たとえば、ビデオエンコーダ20は、残差データに変換を適用して係数ブロックを生成し、係数ブロックの係数を量子化し、量子化された係数の各々を表す1つまたは複数のシンタックス要素をビットストリームに含め得る。この例では、ビデオエンコーダ20は、各々の量子化された係数のためにシンタックス要素のうちの1つまたは複数をエントロピー符号化し得る。他の例では、ビデオエンコーダ20は変換および/または量子化の適用をスキップし得る。
さらに、上で与えられたICに関する例の1つまたは複数によれば、ビデオデコーダ30は、ICを使用して、ビデオデータのピクチャの現在のCUの現在のPUの非正方形予測ブロックを生成し得る。加えて、ビデオデコーダ30は、予測ブロックに基づいて、ピクチャのブロック(たとえば、コーディングブロック)を再構築し得る。たとえば、ビデオデコーダ30は、対応する残差サンプルに予測ブロックのサンプルを加算することによって、ブロックのサンプルを再構築し得る。
第18の技法の例では、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオコーダ(たとえば、ビデオエンコーダ20および/またはビデオデコーダ30)は、次のように予測ブロックのサンプルを決定し得る。
p(i, j)=a*r(i+dvx,j+dvy+b)、ただし(i, j)∈PUc
ここでPUcは現在のPUであり、(i, j)は予測ブロックの中の画素の座標であり、(dvx, dvy)はPUcのベクトル(たとえば、視差ベクトル)である。p(i, j)はPUcの予測であり、rはビュー間参照ピクチャであり、aは第1のICパラメータであり、bは第2のICパラメータである。さらに、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオコーダは、次のように第1のICパラメータを計算し得る。
p(i, j)=a*r(i+dvx,j+dvy+b)、ただし(i, j)∈PUc
ここでPUcは現在のPUであり、(i, j)は予測ブロックの中の画素の座標であり、(dvx, dvy)はPUcのベクトル(たとえば、視差ベクトル)である。p(i, j)はPUcの予測であり、rはビュー間参照ピクチャであり、aは第1のICパラメータであり、bは第2のICパラメータである。さらに、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオコーダは、次のように第1のICパラメータを計算し得る。
加えて、ビデオコーダは、次のように第2のICパラメータを計算し得る。
上の式において、RecneigおよびRecrefneigはそれぞれ現在のCUおよび参照ブロックの隣接画素セットを表し、2NはRecneigおよびRecrefneigにおける画素数を表し、現在のCUはN×Nに等しいサイズを有する。他の例は、上で示される式に対する変形を使用し得る。
さらに、第18の技法の例では、サイズがK×Lに等しい(KはLと等しくない)1つの非正方形PUに対してICが有効にされるとき、パラメータは様々な方法で導出され得る。たとえば、式(16)および式(17)を使用して線形モデルパラメータを計算するとき、PUの長辺と短辺の両方に位置する画素は、異なるサブサンプリング比などの、異なる方法でサブサンプリングされ得る。しかしながら、2つの辺を合わせた画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、その値はブロックサイズに依存し得る)。したがって、この例では、Recneigは現在のCUのすぐ上かつ現在のCUのすぐ左にある画素のサブセットであり、Recrefneigは参照ブロックのすぐ上かつ参照ブロックのすぐ左にある画素のサブセットであり、RecneigとRecrefneigの中の画素の総数は2mに等しく、ここでmは整数である。このサブサンプリングプロセスは、デシメーションまたは補間されたサンプリングであり得る。
ICのためのパラメータを導出する別の例において、式(16)および式(17)を使用して線形モデルパラメータを計算するとき、非正方形PUの短辺における境界の画素は、アップサンプリングされた境界における画素の数がより長い境界における画素の数(すなわち、max(K, L))に等しくなるように、アップサンプリングされる。このアップサンプリングプロセスは、デュプリケータまたは補間されたサンプリングであり得る。したがって、この例では、ICを使用して予測ブロックを生成することの一部として、ビデオコーダは、現在のCUの左辺と上辺のうちの短い方の中のアップサンプリングされた画素を含むように、Recneigを生成し得る。加えて、この例では、ビデオコーダは、参照ブロックの左辺と上辺のうちの短い方の中のアップサンプリングされた画素を含むように、Recrefneigを生成し得る。
代わりに、PUの長辺と短辺の両方に位置する画素はアップサンプリングされることがあり、アップサンプリング比は異なることがある。したがって、この例では、ICを使用して予測ブロックを生成することの一部として、ビデオコーダは、現在のCUの左辺と上辺のうちの長い方の中のアップサンプリングされた画素を含むように、Recneigを生成し得る。加えて、ビデオコーダは、参照ブロックの左辺と上辺のうちの長い方の中のアップサンプリングされた画素を含むように、Recrefneigを生成し得る。しかしながら、2つの辺を合わせた画素の総数は2mに等しくなければならないことが要求され得る(ここでmは整数であり、mは輝度成分および色差成分に対して異なり得る)。
さらに、ICのためのパラメータを導出するいくつかの例では、境界画素のためのサブサンプリング/アップサンプリングの様々な方法が適用され得る。一例では、サブサンプリング/アップサンプリング方法は、PUサイズに(すなわち、KおよびLの値に)依存する。したがって、ビデオコーダは、現在のPUのサイズに基づいて、RecneigおよびRecrefneigを生成するために使用するサブサンプリング方法またはアップサンプリング方法を決定し得る。別の例では、サブサンプリング/アップサンプリングの方法は、シーケンスパラメータセット、ピクチャパラメータセット、および/またはスライスヘッダにおいてシグナリングされ得る。したがって、いくつかの例では、RecneigおよびRecrefneigを生成するために使用するサブサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。いくつかの例では、アップサンプリングされた画素を生成するために使用するアップサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。
ICのパラメータを導出するいくつかの例では、アップサンプリング/ダウンサンプリング(またはサブサンプリング)は、暗黙的に実施される。たとえば、左側の境界または/および上側の境界の、式(16)および式(17)における合計値が、係数Sと乗じられ、または係数Sで割られ得る。Sの値は左側の境界または/および上側の境界における画素数の比に依存し得る。
第18の技法のいくつかの例では、同じサブサンプリング/アップサンプリング方法は、参照ブロックの境界画素(すなわち、Recrefneig)にも適用され得る。たとえば、RecneigおよびRecrefneigの両方をサブサンプリングするために、デシメーションが使用され得る。
さらに、本開示の特定の技法によれば、LMが正方形PUに対して有効にされるとき、輝度境界画素および色差境界画素がまず、たとえば式(16)および(17)を使用してパラメータを導出するためにサブサンプリングされ得る。サブサンプリング方法は、シーケンスパラメータセット、ピクチャパラメータセット、またはスライスヘッダにおいて、事前に定義され、またはシグナリングされ得る。サブサンプリング方法は、予測単位サイズに依存し得る。
したがって、ビデオコーダ(たとえば、ビデオエンコーダ20またはビデオデコーダ30)は、線形モデル予測演算を実行して、PUのサブサンプリングされた再構築された輝度サンプルから、現在のPUの予測色差ブロックを予測することができる。加えて、ビデオコーダは、予測色差ブロックに一部基づいて、ピクチャのブロックを再構築し得る。線形モデル予測動作を実行することの一部として、ビデオコーダは、予測色差サンプルが、併置輝度サンプルと乗じられた第1のパラメータと、第2のパラメータとを足したものに等しくなるように、予測色差サンプルを取得することができ、ここで第1のパラメータは
に等しく、第2のパラメータは
β=(Σyi-α・Σxi)/I
に等しい。上の式において、Iはサブサンプリング方法に従って決定された現在のPUの左の境界および上の境界におけるサンプルのサブセットの中の参照サンプルの数であり、xiはサンプリングされ再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。この例のいくつかの事例では、サブサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。この例のいくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。
β=(Σyi-α・Σxi)/I
に等しい。上の式において、Iはサブサンプリング方法に従って決定された現在のPUの左の境界および上の境界におけるサンプルのサブセットの中の参照サンプルの数であり、xiはサンプリングされ再構築された輝度参照サンプルであり、yiは再構築された色差参照サンプルである。この例のいくつかの事例では、サブサンプリング方法を示すシンタックス要素を、ビデオエンコーダ20はビットストリームに含めることができ、ビデオデコーダ30はビットストリームから取得することができる。この例のいくつかの事例では、ビデオエンコーダ20およびビデオデコーダ30は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。
様々な例が説明された。本開示の具体的な例は、別々に、または互いに組み合わせて使用され得る。
図24は、本開示の技法を実装し得る例示的なビデオエンコーダ20を示すブロック図である。図24は説明のために提供され、広く例示されるとともに本開示で説明されるような技法の限定と見なされるべきでない。説明のために、本開示は、HEVCコーディングの文脈でビデオエンコーダ20を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
ビデオエンコーダ20は処理回路を含み、ビデオエンコーダ20は、本開示において説明される例示的な技法のうちの1つまたは複数を実行するように構成される。そのような処理回路は、固定された機能および/またはプログラム可能回路を含み得る。たとえば、ビデオエンコーダ20は集積回路を含み、図24に示される様々なユニットは、回路バスと相互接続されるハードウェア回路ブロックとして形成され得る。これらのハードウェア回路ブロックは別個の回路ブロックであってよく、またはユニットのうちの2つ以上が共通のハードウェア回路ブロックへと組み合わされてよい。ハードウェア回路ブロックは、算術論理演算装置(ALU)、初等関数演算装置(EFU)、ならびに、AND、OR、NAND、NOR、XOR、XNOR、および他の同様の論理ブロックなどの論理ブロックなどの、演算ブロックを形成する電気的構成要素の組合せとして形成され得る。
図24の例において、ビデオエンコーダ20は、予測処理ユニット200、ビデオデータメモリ201、残差生成ユニット202、変換処理ユニット204、量子化ユニット206、逆量子化ユニット208、逆変換処理ユニット210、再構築ユニット212、フィルタユニット214、復号ピクチャバッファ216、およびエントロピー符号化ユニット218を含む。予測処理ユニット200は、インター予測処理ユニット220およびイントラ予測処理ユニット226を含む。インター予測処理ユニット220は、動き推定ユニットおよび動き補償ユニット(図示せず)を含み得る。いくつかの例では、予測処理ユニット200は、本開示の照明補償技法を実行する。いくつかの例では、予測処理ユニット200は、本開示のLM技法を実行して非正方形色差予測ブロックを生成する。さらに、いくつかの例では、予測処理ユニット200は、本開示のIC技法を実行して非正方形予測ブロックを生成する。
ビデオデータメモリ201は、ビデオエンコーダ20の構成要素によって符号化されるべきビデオデータを記憶するように構成され得る。ビデオデータメモリ201に記憶されるビデオデータは、たとえば、ビデオソース18(図1)から取得され得る。復号ピクチャバッファ216は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオエンコーダ20によってビデオデータを符号化する際に使用するための参照ビデオデータを記憶する参照ピクチャメモリであり得る。ビデオデータメモリ201および復号ピクチャバッファ216は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ201および復号ピクチャバッファ216は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ201は、ビデオエンコーダ20の他のコンポーネントとともにオンチップであってよく、または、これらのコンポーネントに対してオフチップであってよい。
ビデオエンコーダ20は、ビデオデータを受信する。ビデオエンコーダ20は、ビデオデータのピクチャのスライスの中の各CTUを符号化し得る。CTUの各々は、ピクチャの、等しいサイズの輝度コーディングツリーブロック(CTB)、および対応するCTBと関連付けられ得る。CTUを符号化することの一部として、予測処理ユニット200は、四分木区分を実行して、CTUのCTBを次第に小さくなるブロックに分割し得る。より小さいブロックは、CUのコーディングブロックであり得る。たとえば、予測処理ユニット200は、CTUと関連付けられるCTBを4つの等しいサイズのサブブロックに区分することができ、サブブロックの1つまたは複数を4つの等しいサイズのサブサブブロックに区分することができ、以下同様である。
ビデオエンコーダ20は、CTUのCUを符号化して、CUの符号化された表現(すなわち、コーディングされたCU)を生成し得る。CUを符号化することの一部として、予測処理ユニット200は、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サイズのための非対称区分をサポートし得る。
インター予測処理ユニット220は、インター予測をCUの各PUに対して実行することによって、PUの予測データを生成し得る。PUの予測データは、PUの予測ブロックおよびPUの動き情報を含み得る。インター予測処理ユニット220は、PUがIスライスの中にあるか、Pスライスの中にあるか、またはBスライスの中にあるかに応じて、CUのPUに対して異なる動作を実行し得る。Iスライスの中では、すべてのPUがイントラ予測される。したがって、PUがIスライスの中にある場合、インター予測処理ユニット220は、インター予測をPUに対して実行しない。したがって、Iモードで符号化されるブロックの場合、予測されるブロックは、同じフレーム内の以前符号化された隣接ブロックからの空間予測を使用して形成される。PUがPスライスの中にある場合、インター予測処理ユニット220は、単方向インター予測を使用してPUの予測ブロックを生成することができる。PUがBスライスの中にある場合、インター予測処理ユニット220は、単方向または双方向インター予測を使用してPUの予測ブロックを生成することができる。
イントラ予測処理ユニット226は、イントラ予測をPUに対して実行することによって、PUの予測データを生成し得る。PUの予測データは、PUの予測ブロックおよび様々なシンタックス要素を含み得る。イントラ予測処理ユニット226は、Iスライス、Pスライス、およびBスライスの中のPUに対して、イントラ予測を実行し得る。
イントラ予測をPUに対して実行するために、イントラ予測処理ユニット226は、複数のイントラ予測モードを使用して、PUの予測データの複数のセットを生成し得る。イントラ予測処理ユニット226は、隣接PUのサンプルブロックからのサンプルを使用して、PUの予測ブロックを生成し得る。PU、CU、およびCTUに対して左から右、上から下への符号化順序を仮定すると、隣接PUは、PUの上、右上、左上、または左であり得る。イントラ予測処理ユニット226は、様々な数のイントラ予測モード、たとえば、33個の方向性イントラ予測モードを使用し得る。いくつかの例では、イントラ予測モードの数は、PUと関連付けられる領域のサイズに依存し得る。
予測処理ユニット200は、PUのためにインター予測処理ユニット220によって生成される予測データ、またはPUのためにイントラ予測処理ユニット226によって生成される予測データの中から、CUのPUの予測データを選択し得る。いくつかの例では、予測処理ユニット200は、予測データのセットのレート/ひずみの尺度に基づいて、CUのPUの予測データを選択する。選択される予測データの予測ブロックは、選択予測ブロックと本明細書で呼ばれることがある。
残差生成ユニット202は、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)およびCUのPUの選択された予測ブロック(たとえば、予測輝度ブロック、予測Cbブロック、および予測Crブロック)に基づいて、CUの残差ブロック(たとえば、輝度残差ブロック、Cb残差ブロック、およびCr残差ブロック)を生成し得る。たとえば、残差生成ユニット202は、残差ブロックの中の各サンプルがCUのコーディングブロックの中のサンプルとCUのPUの対応する選択された予測ブロックの中の対応するサンプルとの間の差に等しい値を有するように、CUの残差ブロックを生成し得る。
変換処理ユニット204は、区分(たとえば、四分木区分)を実行して、CUと関連付けられた残差ブロックをCUのTUと関連付けられた変換ブロックに区分し得る。したがって、TUは、輝度変換ブロックおよび2つの色差変換ブロックと関連付けられ得る。CUのTUの輝度変換ブロックおよび色差変換ブロックのサイズおよび位置は、CUのPUの予測ブロックのサイズおよび位置に基づいても基づかなくてもよい。「残差四分木」(RQT)と呼ばれる四分木構造が、領域の各々と関連付けられたノードを含み得る。CUのTUは、RQTのリーフノードに相当し得る。
いくつかの例では、変換処理ユニット204は、2つ(および/または4つ)の子ノードを有するノードを含む残差木構造を決定するための、本開示の技法を実行し得る。たとえば、ビデオデータメモリ201はビデオデータを受信することができ、変換処理ユニット204は木構造に基づいてビデオデータのCUをCUのTUへと区分し得る。この例では、木構造に基づいてCUをCUのTUへと区分することの一部として、変換処理ユニット204は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定し得る。いくつかの事例では、変換処理ユニット204はさらに、木構造の中の第2のノードが木構造の中で丁度4つの子ノードを有すると決定し得る。CUのTUのうちの少なくとも1つに対して、変換処理ユニット204は、変換をTUの残差ブロックに適用して、TUの変換係数のブロックを生成し得る。
変換処理ユニット204は、1つまたは複数の変換をTUの変換ブロックに適用することによって、CUのTUごとに変換係数ブロックを生成し得る。変換処理ユニット204は、TUと関連付けられた変換ブロックに様々な変換を適用し得る。たとえば、変換処理ユニット204は、離散コサイン変換(DCT)、方向変換、または概念的に類似の変換を、変換ブロックに適用し得る。いくつかの例では、変換処理ユニット204は、変換ブロックに変換を適用しない。そのような例では、変換ブロックは変換係数ブロックとして扱われてよい。いくつかの例では、変換処理ユニット204は、本開示のEMT技法を実行する。
量子化ユニット206は、係数ブロックの中の変換係数を量子化し得る。量子化プロセスは、変換係数の一部またはすべてと関連付けられるビット深度を低減し得る。たとえば、nビットの変換係数は、量子化の間にmビットの変換係数に切り捨てられてよく、nはmよりも大きい。量子化ユニット206は、CUと関連付けられる量子化パラメータ(QP)値に基づいて、CUのTUと関連付けられる係数ブロックを量子化し得る。ビデオエンコーダ20は、CUと関連付けられるQP値を調整することによって、CUと関連付けられた係数ブロックに適用される量子化の程度を調整し得る。量子化が情報の損失をもたらすことがあり、したがって、量子化された変換係数は精度が元の変換係数よりも低いことがある。
いくつかの例において、量子化ユニット206は、変換係数のブロックの各々のそれぞれの変換係数が、
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、変換係数を修正する。この例では、変換係数を修正した後で、量子化ユニット206は、量子化プロセスをCUの非正方形PUの修正された変換係数に適用する。
逆量子化ユニット208および逆変換処理ユニット210は、それぞれ、逆量子化および逆変換を係数ブロックに適用して、係数ブロックから残差ブロックを再構築し得る。再構築ユニット212は、予測処理ユニット200によって生成された1つまたは複数の予測ブロックからの対応するサンプルに、再構築された残差ブロックを加算して、TUと関連付けられる再構築された変換ブロックを生成し得る。このようにしてCUのTUごとに変換ブロックを再構築することによって、ビデオエンコーダ20は、CUのコーディングブロックを再構築し得る。
フィルタユニット214は、1つまたは複数のデブロッキング動作を実行して、CUと関連付けられるコーディングブロックにおけるブロッキングアーティファクトを低減し得る。フィルタユニット214が1つまたは複数のデブロッキング動作を再構築されたコーディングブロックに対して実行した後、復号ピクチャバッファ216は、再構築されたコーディングブロックを記憶し得る。インター予測処理ユニット220は、インター予測を他のピクチャのPUに対して実行するために、再構築されたコーディングブロックを含む参照ピクチャを使用し得る。加えて、イントラ予測処理ユニット226は、CUと同じピクチャの中の他のPUに対してイントラ予測を実行するために、復号ピクチャバッファ216の中の再構築されたコーディングブロックを使用し得る。
エントロピー符号化ユニット218は、ビデオエンコーダ20の他の機能構成要素からデータを受け取り得る。たとえば、エントロピー符号化ユニット218は、係数ブロックを量子化ユニット206から受け取ることができ、シンタックス要素を予測処理ユニット200から受け取ることができる。エントロピー符号化ユニット218は、エントロピー符号化されたデータを生成するために、1つまたは複数のエントロピー符号化動作をデータに対して実行し得る。たとえば、エントロピー符号化ユニット218は、CABAC動作、コンテキスト適応型可変長コーディング(CAVLC)動作、可変長-可変長(V2V)コーディング動作、シンタックスベースコンテキスト適応型バイナリ算術コーディング(SBAC)動作、確率区間区分エントロピー(PIPE)コーディング動作、指数ゴロム符号化動作、または別のタイプのエントロピー符号化動作を、データに対して実行し得る。ビデオエンコーダ20は、エントロピー符号化ユニット218によって生成された、エントロピー符号化されたデータを含むビットストリームを出力し得る。たとえば、ビットストリームは、CUのためのRQTを表すデータを含み得る。
図25は、本開示の技法を実施するように構成される例示的なビデオデコーダ30を示すブロック図である。図25は説明のために提供され、広く例示され本開示で説明されるような技法を限定するものではない。説明のために、本開示は、HEVCコーディングの文脈においてビデオデコーダ30を説明する。しかしながら、本開示の技法は、他のコーディング規格または方法に適用可能であり得る。
ビデオデコーダ30は処理回路を含み、ビデオデコーダ30は、本開示において説明される例示的な技法のうちの1つまたは複数を実行するように構成される。たとえば、ビデオデコーダ30は集積回路を含み、図25に示される様々なユニットは、回路バスと相互接続されるハードウェア回路ブロックとして形成され得る。これらのハードウェア回路ブロックは別個の回路ブロックであってよく、または2つ以上のユニットが共通のハードウェア回路ブロックへと組み合わされてよい。ハードウェア回路ブロックは、算術論理演算装置(ALU)、初等関数演算装置(EFU)、ならびに、AND、OR、NAND、NOR、XOR、XNOR、および他の同様の論理ブロックなどの論理ブロックなどの、演算ブロックを形成する電気的構成要素の組合せとして形成され得る。
いくつかの例では、図25に示されるユニットのうちの1つまたは複数は、処理回路上で実行されるソフトウェアユニットによって提供され得る。そのような例では、これらのソフトウェアのためのオブジェクトコードがメモリに記憶される。オペレーティングシステムは、ビデオデコーダ30に、オブジェクトコードを取り出させ、オブジェクトコードを実行させることができ、オブジェクトコードは、ビデオデコーダ30に、例示的な技法を実施するための動作を実行させる。いくつかの例では、ソフトウェアユニットは、ビデオデコーダ30が起動時に実行するファームウェアであり得る。したがって、ビデオデコーダ30は、例示的な技法を実行するハードウェアを有する構造的構成要素であり、または、ハードウェアを例示的な技法の実行専用にするためのハードウェア上で実行されるソフトウェア/ファームウェアを有する。
図25の例において、ビデオデコーダ30は、エントロピー復号ユニット250、ビデオデータメモリ251、予測処理ユニット252、逆量子化ユニット254、逆変換処理ユニット256、再構築ユニット258、フィルタユニット260、および復号ピクチャバッファ262を含む。予測処理ユニット252は、動き補償ユニット264およびイントラ予測処理ユニット266を含む。他の例では、ビデオデコーダ30は、より多数の、より少数の、または異なる機能構成要素を含み得る。いくつかの例では、予測処理ユニット266は、本開示の照明補償技法を実行する。いくつかの例では、予測処理ユニット266は、本開示のLM技法を実行する。
ビデオデータメモリ251は、ビデオデコーダ30の構成要素によって復号されるべき、符号化されたビデオビットストリームなどの符号化されたビデオデータを記憶し得る。ビデオデータメモリ251に記憶されるビデオデータは、たとえば、コンピュータ可読媒体16から、たとえば、カメラなどのローカルビデオソースから、ビデオデータの有線ネットワーク通信もしくはワイヤレスネットワーク通信を介して、または物理データ記憶媒体にアクセスすることによって、取得され得る。ビデオデータメモリ251は、符号化されたビデオビットストリームからの符号化されたビデオデータを記憶するコーディングピクチャバッファ(CPB)を形成し得る。復号ピクチャバッファ262は、たとえば、イントラコーディングモードまたはインターコーディングモードにおいて、ビデオデコーダ30によってビデオデータを復号する際に使用するための、または出力のための、参照ビデオデータを記憶する参照ピクチャメモリであってもよい。ビデオデータメモリ251および復号ピクチャバッファ262は、シンクロナスDRAM(SDRAM)を含むダイナミックランダムアクセスメモリ(DRAM)、磁気抵抗性RAM(MRAM)、抵抗性RAM(RRAM(登録商標))、または他のタイプのメモリデバイスなどの、様々なメモリデバイスのいずれかによって形成され得る。ビデオデータメモリ251および復号ピクチャバッファ262は、同じメモリデバイスまたは別個のメモリデバイスによって提供され得る。様々な例では、ビデオデータメモリ251は、ビデオデコーダ30の他の構成要素とともにオンチップであることがあり、または、それらの構成要素に対してオフチップであることがある。
ビデオデータメモリ251は、ビットストリームの符号化されたビデオデータ(たとえば、NALユニット)を受信し記憶する。エントロピー復号ユニット250は、符号化されたビデオデータ(たとえば、NALユニット)をビデオデータメモリ251から受信することができ、NALユニットを構文解析して、シンタックス要素を取得することができる。エントロピー復号ユニット250は、NALユニットの中のエントロピー符号化されたシンタックス要素をエントロピー復号し得る。予測処理ユニット252、逆量子化ユニット254、逆変換処理ユニット256、再構築ユニット258、およびフィルタユニット260は、ビットストリームから抽出されたシンタックス要素に基づいて、復号されたビデオデータを生成し得る。エントロピー復号ユニット250は、エントロピー符号化ユニット218のプロセスとは全般に逆のプロセスを実行し得る。
シンタックス要素をビットストリームから取得することに加えて、ビデオデコーダ30は、区分されていないCUに対して再構築動作を実行し得る。CUに対して再構築動作を実行するために、ビデオデコーダ30は、CUの各TUに対して再構築動作を実行し得る。CUのTUごとに再構築動作を実行することによって、ビデオデコーダ30は、CUの残差ブロックを再構築し得る。
CUのTUに対して再構築動作を実行することの一部として、逆量子化ユニット254は、TUと関連付けられる係数ブロックを逆量子化(inverse quantize)、すなわち、逆量子化(de-quantize)し得る。逆量子化ユニット254が係数ブロックを逆量子化した後、逆変換処理ユニット256は、TUと関連付けられる残差ブロックを生成するために、1つまたは複数の逆変換を係数ブロックに適用し得る。たとえば、逆変換処理ユニット256は、逆DCT、逆整数変換、逆カルーネンレーベ変換(KLT)、逆回転変換、逆方向変換、または別の逆変換を係数ブロックに適用し得る。いくつかの例では、逆変換処理ユニット256は、本開示のEMT技法を実行する。
本開示のいくつかの例によれば、逆量子化ユニット254は、逆量子化プロセスをビデオデータのCUの非正方形TUの変換係数に適用し得る。さらに、逆量子化プロセスを変換係数に適用した後で、逆量子化ユニット254は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。
いくつかの例では、逆変換処理ユニット256は、2つ(および/または4つ)の子ノードを有するノードを含む残差木構造を決定するための、本開示の技法を適用し得る。たとえば、逆変換処理ユニット256は、木構造に基づいてCUのTUへとビデオデータのCUが区分されると決定し得る。この例では、木構造に基づいてCUがCUのTUへと区分されると決定することの一部として、逆変換処理ユニット256は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定し得る。いくつかの例では、逆変換処理ユニット256は、木構造の中の第2のノードが木構造の中で丁度4つの子ノードを有すると決定し得る。さらに、この例では、CUのTUのうちの少なくとも1つに対して、逆変換処理ユニット256は、変換をTUの係数ブロックに適用して、TUの残差ブロックを生成し得る。
PUがイントラ予測を使用して符号化されている場合、イントラ予測処理ユニット266は、イントラ予測を実行して、PUの予測ブロックを生成し得る。イントラ予測処理ユニット266は、イントラ予測モードを使用して、空間的に隣接するブロックのサンプルに基づいて、PUの予測ブロックを生成し得る。イントラ予測処理ユニット266は、ビットストリームから取得された1つまたは複数のシンタックス要素に基づいて、PUのイントラ予測モードを決定し得る。
PUがインター予測を使用して符号化される場合、エントロピー復号ユニット250は、PUの動き情報を決定し得る。動き補償ユニット264は、PUの動き情報に基づいて、1つまたは複数の参照ブロックを決定し得る。動き補償ユニット264は、1つまたは複数の参照ブロックに基づいて、PUの予測ブロック(たとえば、予測輝度ブロック、予測Cbブロック、および予測Crブロック)を生成し得る。
再構築ユニット258は、CUのTUのための変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)、ならびにCUのPUの予測ブロック(たとえば、輝度ブロック、Cbブロック、およびCrブロック)、すなわちイントラ予測データまたはインター予測データのいずれかを適宜使用して、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構築し得る。たとえば、再構築ユニット258は、予測ブロック(たとえば、輝度予測ブロック、Cb予測ブロック、およびCr予測ブロック)の対応するサンプルに、変換ブロック(たとえば、輝度変換ブロック、Cb変換ブロック、およびCr変換ブロック)のサンプルを加算して、CUのコーディングブロック(たとえば、輝度コーディングブロック、Cbコーディングブロック、およびCrコーディングブロック)を再構築し得る。
フィルタユニット260は、CUのコーディングブロックに1つまたは複数のフィルタを適用し得る。たとえば、フィルタユニット260は、デブロッキング動作を実行して、CUのコーディングブロックと関連付けられるブロッキングアーティファクトを低減し得る。ビデオデコーダ30は、CUのコーディングブロックを復号ピクチャバッファ262に記憶し得る。したがって、復号ピクチャバッファ262は、ビデオデータの復号されたブロックを記憶し得る。復号ピクチャバッファ262は、その後の動き補償、イントラ予測、および図1のディスプレイデバイス32などのディスプレイデバイス上での提示のために、参照ピクチャを提供し得る。たとえば、ビデオデコーダ30は、復号ピクチャバッファ262の中のブロックに基づいて、他のCUのPUのためにイントラ予測動作またはインター予測動作を実行し得る。
図26は、本開示の技法による、LMベースの符号化をサポートする例示的なビデオエンコーダ20を示すブロック図である。図26の例では、ビデオエンコーダ20の構成要素は、図24のビデオエンコーダ20の対応する構成要素と同じ方式で動作する。しかしながら、図26のビデオエンコーダ20は、LMベースの符号化ユニット222も含む。
LMベースの符号化ユニット222は、本開示の他の箇所で説明される例に従って、LM予測符号化を実行し得る。たとえば、逆量子化ユニット208、逆変換処理ユニット210、再構築ユニット212、およびフィルタユニット214は、輝度参照サンプルのセット、色差参照サンプルのセットを再構築することができ、非正方形PUの輝度サンプルも再構築することができる。LMベースの符号化ユニット222は、非正方形PUの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形PUの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。加えて、LMベースの符号化ユニット222は、第1のパラメータが
(Σyi-α・Σxi)/I
に等しいように第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。非正方形PUの予測色差ブロックの各々のそれぞれの色差サンプルに対して、LMベースの符号化ユニット222は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができ、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形PUの再構築された輝度サンプルのうちの1つである。LMベースの符号化ユニット222は、第2のパラメータが
(Σyi-α・Σxi)/I
に等しいように第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。非正方形PUの予測色差ブロックの各々のそれぞれの色差サンプルに対して、LMベースの符号化ユニット222は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができ、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形PUの再構築された輝度サンプルのうちの1つである。LMベースの符号化ユニット222は、第2のパラメータが
に等しいように第2のパラメータを決定することができる。
LMベースの符号化ユニット222は、予測ブロックを残差生成ユニット202に出力し得る。残差生成ユニット202は、予測ブロックおよび色差ブロックから残差ブロックを生成する。得られる残差ブロックは、変換処理ユニット103によって変換され、量子化ユニット206によって量子化され、エントロピー符号化ユニット218によってエントロピー符号化される。この結果が次いでビットストリームを介してシグナリングされ、ビデオデコーダ30がビットストリームの中の情報を使用して色差ブロックを再構築し得る。
図27は、本開示の技法による、LMベースの復号をサポートする例示的なビデオデコーダ30を示すブロック図である。図27の例では、ビデオデコーダ30の構成要素は、図27のビデオデコーダ30の対応する構成要素と同じ方式で動作する。しかしながら、図27のビデオデコーダ30は、LMベースの復号ユニット265も含む。
本開示の様々な例によれば、ビデオデコーダ30は、本開示の他の箇所で与えられる例に従ってLMベースのコーディングを実行するように構成され得る。たとえば、逆量子化ユニット254、逆変換処理ユニット256、再構築ユニット258、およびフィルタユニット260は、輝度参照サンプルのセット、色差参照サンプルのセットを再構築することができ、非正方形PUの輝度サンプルも再構築することができる。LMベースの復号ユニット265は、非正方形PUの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形PUの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。加えて、LMベースの復号ユニット265は、第1のパラメータが
(Σyi-α・Σxi)/I
に等しいように第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。非正方形PUの予測色差ブロックの各々のそれぞれの色差サンプルに対して、LMベースの復号ユニット266は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができ、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形PUの再構築された輝度サンプルのうちの1つである。LMベースの復号ユニット266は、第2のパラメータが
(Σyi-α・Σxi)/I
に等しいように第1のパラメータを決定することができ、ここでIは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。非正方形PUの予測色差ブロックの各々のそれぞれの色差サンプルに対して、LMベースの復号ユニット266は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができ、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形PUの再構築された輝度サンプルのうちの1つである。LMベースの復号ユニット266は、第2のパラメータが
に等しいように第2のパラメータを決定することができる。
LMベースの復号ユニット265は、予測ブロックを再構築ユニット258に出力し得る。再構築ユニット258はまた、残差ブロックを受信する(たとえば、残差ブロックのためのビットストリームの中の情報がエントロピー復号ユニット250によりエントロピー復号され、逆量子化ユニット254により逆量子化され、逆変換処理ユニット256により逆変換された後で)。再構築ユニット258は、残差ブロックを予測ブロックと加算して色差ブロックを再構築する。
図28は、本開示のLMベースのコーディング技法による、ビデオエンコーダ20の例示的な動作を示すフローチャートである。本開示のフローチャートは、例として与えられる。本開示の範囲内の他の例は、より多数の、より少数の、または異なる活動を含み得る。本開示の範囲内の他の例は、異なる順序の、または並列に実行される活動を含み得る。
図28の例では、ビデオエンコーダ20がビデオデータを受信し得る(300)。たとえば、ビデオエンコーダ20は、ビデオソース18(図1)、または別のソースからビデオデータを受信し得る。
加えて、図28の例では、ビデオエンコーダ20は、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築することができる(302)。輝度参照サンプルのセットは、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え得る。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。色差参照サンプルのセットは、非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備え得る。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。
さらに、ビデオエンコーダ20は、非正方形輝度ブロックの輝度サンプルを再構築することができる(304)。たとえば、ビデオエンコーダ20は、本開示の他の箇所で説明されたようにCUの輝度残差サンプルを生成し得る。この例では、ビデオエンコーダ20は、輝度残差サンプルの対応するサンプルに非正方形輝度ブロックの輝度予測ブロックのサンプルを加算して、非正方形輝度ブロックの輝度サンプルを再構築し得る。
いくつかの例では、ビデオエンコーダ20は、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングすることによって、ビデオエンコーダ20は、色差予測ブロック(たとえば、輝度ブロックと同じPUの色差予測ブロック)の各色差サンプルに対して1つの輝度サンプルを有する、輝度サンプルのダウンサンプリングまたはサブサンプリングされたセットを取得し得る。ビデオエンコーダ20は、現在のピクチャのカラーフォーマットが4:4:4ではないと決定したことに応答して、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。
加えて、ビデオエンコーダ20は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる(306)。ビデオエンコーダ20は、本開示の他の箇所で説明された技法に従って、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。たとえば、ビデオエンコーダ20は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットが非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをデシメーションすることができる。いくつかの例では、ビデオエンコーダ20は、左の参照サンプルまたは上の参照サンプルのうちで、輝度の左の境界と輝度の上の境界のうちの長い方に相当するものをダウンサンプリングまたはサブサンプリングしてよいが、輝度ブロックの左の境界と輝度ブロックの上の境界のうちの短い方はダウンサンプリングまたはサブサンプリングしなくてよい。いくつかの例では、輝度参照サンプルのセットの中の参照サンプルの総数は2mに等しく、ここでmは非正方形輝度ブロックの高さおよび/または幅に依存する整数である。
いくつかの例では、ビデオエンコーダ20はまた、非正方形色差ブロックの長辺に隣接する色差参照サンプルのセットの中の色差参照サンプルの総数が非正方形色差ブロックの短辺に隣接する色差参照サンプルのセットの色差参照サンプルの総数と同じになるように、色差参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる。
図28の活動(308)において、ビデオエンコーダ20は、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータ(β)を決定することができる。上の式において、Iは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。ビデオエンコーダ20は、上の式を直接使用する、または追加の定数もしくは係数を含むものなどの上の式の変形を使用するという意味で、上の式に基づいて第1のパラメータを決定し得る。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータ(β)を決定することができる。上の式において、Iは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。ビデオエンコーダ20は、上の式を直接使用する、または追加の定数もしくは係数を含むものなどの上の式の変形を使用するという意味で、上の式に基づいて第1のパラメータを決定し得る。
いくつかの例では、ビデオエンコーダ20はまた、第2のパラメータが
に基づくように第2のパラメータ(α)を決定し得る。ビデオエンコーダ20は、上の式を直接使用する、または追加の定数または係数を含むものなどの上の式の変形を使用するという意味で、上の式に基づいて第2のパラメータを決定し得る。
加えて、図28の例では、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオエンコーダ20は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができる(310)。それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである。
さらに、ビデオエンコーダ20は、予測色差ブロックに基づいて、残差データを取得することができる(312)。たとえば、ビデオエンコーダ20は、非正方形予測ブロックの色差ブロックのサンプルとCUの色差コーディングブロックのサンプルとの差に等しい、残差データの色差サンプルの値を決定し得る。
加えて、ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、残差データを表すデータを含めることができる(314)。たとえば、ビデオエンコーダ20は、残差データに1つまたは複数の変換を適用して1つまたは複数の係数ブロックを生成し、係数ブロックを量子化し、変換係数が0ではないかどうか、変換係数が1より大きいかどうか、変換係数が2より大きいかどうか、変換係数の符号、および変換係数の剰余を示すシンタックス要素を生成し得る。この例では、ビデオエンコーダ20は、これらのシンタックス要素のうちの1つまたは複数にCABACコーディングを適用し、得られる値をビットストリームに含め得る。
図29は、本開示のLMベースのコーディング技法による、ビデオデコーダ30の例示的な動作を示すフローチャートである。図29の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを受信する(350)。
さらに、図29の例では、ビデオデコーダ30は、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築する(352)。輝度参照サンプルのセットは、ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備える。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。色差参照サンプルのセットは、非正方形色差ブロックの上辺に隣接する色差サンプルと、非正方形色差ブロックの左辺に隣接する色差サンプルとを備える。いくつかの例では、非正方形輝度ブロックは非正方形PUの輝度予測ブロックである。
ビデオデコーダ30は、非正方形輝度ブロックの輝度サンプルを再構築することができる(354)。たとえば、非正方形輝度ブロックの輝度サンプルを再構築することの一部として、ビデオデコーダ30は、イントラ予測またはインター予測を使用して、非正方形輝度ブロックの輝度予測ブロックを生成し得る。加えて、この例では、ビデオデコーダ30は、非正方形予測ブロックの輝度予測ブロックのサンプルを対応する残差サンプルに加算して、輝度サンプルを再構築し得る。
いくつかの例では、ビデオデコーダ30は、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングすることによって、ビデオデコーダ30は、色差予測ブロック(たとえば、輝度ブロックと同じPUの色差予測ブロック)の各色差サンプルに対して1つの輝度サンプルを有する、輝度サンプルのダウンサンプリングまたはサブサンプリングされたセットを取得し得る。ビデオデコーダ30は、現在のピクチャのカラーフォーマットが4:4:4ではないと決定したことに応答して、非正方形輝度ブロックの輝度サンプルをダウンサンプリングまたはサブサンプリングし得る。
さらに、図29の例では、ビデオデコーダ30は、非正方形予測ブロックの長辺に隣接する輝度参照サンプルのセットの中の輝度参照サンプルの総数が非正方形予測ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる(356)。ビデオデコーダ30は、本開示の他の箇所で説明された技法に従って、輝度参照サンプルのセットをダウンサンプリングまたはサブサンプリングし得る。たとえば、ビデオデコーダ30は、非正方形輝度ブロックの長辺に隣接する輝度参照サンプルのセットが非正方形輝度ブロックの短辺に隣接する輝度参照サンプルのセットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルのセットをデシメーションすることができる。いくつかの例では、ビデオデコーダ30は、左の参照サンプルまたは上の参照サンプルのうちで、輝度ブロックの左の境界と輝度ブロックの上の境界のうちの長い方に相当するものをダウンサンプリングまたはサブサンプリングしてよいが、輝度ブロックの左の境界と輝度ブロックの上の境界のうちの短い方はダウンサンプリングまたはサブサンプリングしなくてよい。いくつかの例では、輝度参照サンプルのセットの中の参照サンプルの総数は2mに等しく、ここでmは非正方形輝度ブロックの高さおよび/または幅に依存する整数である。
いくつかの例では、ビデオデコーダ30はまた、非正方形色差ブロックの長辺に隣接する色差参照サンプルのセットの中の色差参照サンプルの総数が非正方形色差ブロックの短辺に隣接する色差参照サンプルのセットの色差参照サンプルの総数と同じになるように、色差参照サンプルのセットをダウンサンプリングまたはサブサンプリングすることができる。
加えて、図29の活動(358)において、ビデオデコーダ30は、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように第1のパラメータ(β)を決定することができる。上の式において、Iは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。本開示では、ビデオエンコーダ20および/またはビデオデコーダ30は、式を直接使用する、または追加の定数もしくは係数を含むものなどの式の変形を使用するという意味で、式に基づいて値を決定し得る。
(Σyi-α・Σxi)/I
に基づくように第1のパラメータ(β)を決定することができる。上の式において、Iは輝度参照サンプルのセットの中の参照サンプルの総数であり、xiは輝度参照サンプルのセットの中のi番目の輝度参照サンプルであり、yiは色差参照サンプルのセットの中のi番目の色差参照サンプルである。本開示では、ビデオエンコーダ20および/またはビデオデコーダ30は、式を直接使用する、または追加の定数もしくは係数を含むものなどの式の変形を使用するという意味で、式に基づいて値を決定し得る。
いくつかの例では、ビデオデコーダ30はまた、第2のパラメータが
に基づくように第2のパラメータ(α)を決定し得る。
図29の例では、予測色差ブロックの各々のそれぞれの色差サンプルに対して、ビデオデコーダ30は、それぞれの色差サンプルの値が、それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、第1のパラメータとを足したものに等しくなるように、それぞれの色差サンプルの値を決定することができる(360)。この例では、それぞれの色差サンプルに対応する再構築された輝度サンプルは、非正方形輝度ブロックの再構築された輝度サンプルのうちの1つである。
さらに、ビデオデコーダ30は、予測色差ブロックに一部基づいて、コーディングブロックを再構築することができる(362)。たとえば、ビデオデコーダ30は、予測色差ブロックのサンプルをCUの対応する残差色差サンプルに加算して、CUのコーディングブロックのサンプルを決定し得る。
図30は、本開示の量子化技法による、ビデオエンコーダ20の例示的な動作を示すフローチャートである。図30の例では、ビデオエンコーダ20がビデオデータを受信する(400)。さらに、ビデオエンコーダ20は、残差ブロックの各残差サンプルがCUのコーディングブロックの対応するサンプルとCUのPUの予測ブロックとの差を示すように、CUの非正方形TUの残差ブロックを生成することができる(402)。
ビデオエンコーダ20は、変換を残差ブロックに適用して変換係数のブロックを生成することができる(404)。たとえば、ビデオエンコーダ20は、DCT変換を残差ブロックに適用し得る。加えて、ビデオエンコーダ20は、変換係数のブロックの各々のそれぞれの変換係数が、
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、変換係数を修正することができる(406)。たとえば、ビデオエンコーダ20は、各々のそれぞれの変換係数が、
の近似と乗じられたそれぞれの変換係数の元の値に等しくなるように、変換係数を修正し得る。本開示では、
の近似は、
の表現(たとえば、
の浮動小数点数表現)であり得る。いくつかの例では、各々のそれぞれの変換係数が、
の近似と乗じられたそれぞれの変換係数の元の値に等しくなるように変換係数を修正することは、1つまたは複数の数学的演算を実行して、
と乗じられた変換係数を近似する値を決定することを備え得る。
非正方形TUのサイズがK×Lであるいくつかの例では、変換を残差ブロックに適用することの一部として、ビデオエンコーダ20は、残差ブロックにサイズがN×Nの変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)であり、((log2(K) + log2(L))は奇数である。たとえば、ビデオエンコーダ20は、上の式(18)に示されるように、N点の1次元DCT変換を残差ブロックの行および列に適用し得る。
さらに、図30の例では、変換係数を修正した後で、ビデオエンコーダ20は、量子化プロセスをCUの非正方形予測ブロックの修正された変換係数に適用することができる(408)。たとえば、ビデオエンコーダ20は、上の式(22)に記載されたように、修正された変換係数を量子化し得る。
ビデオエンコーダ20は、ビデオデータの符号化された表現を備えるビットストリームに、量子化された変換係数に基づくデータを含めることができる(410)。たとえば、ビデオエンコーダ20は、量子化された変換係数が0ではないかどうか、量子化された変換係数が1より大きいかどうか、量子化された変換係数が2より大きいかどうか、量子化された変換係数の符号、および量子化された変換係数の剰余を示すシンタックス要素を生成し得る。この例では、ビデオエンコーダ20は、これらのシンタックス要素のうちの1つまたは複数にCABACコーディングを適用し、得られる値をビットストリームに含め得る。
非正方形TUのサイズがK×Lであるいくつかの例では、ビデオエンコーダ20は、((log2(K) + log2(L))が奇数であることに基づいて、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。そのような例では、((log2(K) + log2(L))が偶数であるとき、ビデオエンコーダ20は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似と乗じられたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正しない。
図31は、本開示の量子化技法による、ビデオデコーダ30の例示的な動作を示すフローチャートである。図31の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリームを受信することができる(450)。さらに、ビデオデコーダ30は、逆量子化プロセスをビデオデータのCUの非正方形TUの変換係数に適用することができる(452)。たとえば、ビデオデコーダ30は、上の式(24)を適用することによって、変換係数を逆量子化(dequantize)(すなわち、逆量子化(inverse quantize))し得る。
逆量子化プロセスを変換係数に適用した後で、ビデオデコーダ30は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正することができる(454)。たとえば、ビデオデコーダ30は、各々のそれぞれの修正された変換係数が、
の近似で割られた変換係数と等しいと決定し得る。本開示では、
の近似は、
の表現(たとえば、
の浮動小数点数表現)であり得る。いくつかの例では、各々のそれぞれの変換係数が、
の近似と乗じられたそれぞれの変換係数の元の値に等しくなるように変換係数を修正することは、1つまたは複数の数学的演算を実行して、
で割られた変換係数を近似する値を決定することを備え得る。
さらに、ビデオデコーダ30は、逆変換を修正された逆量子化された変換係数に適用して、残差ブロックを再構築することができる(456)。たとえば、ビデオデコーダ30は、修正された逆量子化された変換係数に逆変換を適用するために、変換行列Cの転置(または整数精度で表されるその近似)とともに式(18)を適用し得る。非正方形TUのサイズがK×Lであるいくつかの例では、変換を残差ブロックに適用することの一部として、ビデオデコーダ30は、残差ブロックにサイズがN×Nの変換を適用することができ、ここでlog2(N*N) = ((log2(K) + log2(L)) >> 1) << 1)であり、((log2(K) + log2(L))は奇数である。ビデオデコーダ30は、予測ブロックのサンプルをCUのTUの残差ブロックの対応するサンプルに加算することによって、コーディングブロックのサンプルを再構築することができる(458)。
非正方形TUのサイズがK×Lであるいくつかの例では、ビデオデコーダ30は、((log2(K) + log2(L))が奇数であることに基づいて、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正し得る。そのような例では、((log2(K) + log2(L))が偶数であるとき、ビデオデコーダ30は、逆量子化された変換係数の各々のそれぞれの逆量子化された変換係数が、
の近似で割られたそれぞれの逆量子化された変換係数に基づくように、逆量子化された変換係数を修正しない。
図32は、ICを使用する本開示の技法による、ビデオエンコーダ20の例示的な動作を示すフローチャートである。図32の例では、ビデオエンコーダ20がビデオデータを受信する(500)。たとえば、ビデオエンコーダ20は、ビデオソース18(図1)、または別の箇所からビデオデータを受信し得る。さらに、ビデオエンコーダ20は、ICを使用してビデオデータの現在のピクチャの現在のCUの現在のPUの非正方形予測ブロックを生成することができる(502)。
ICを使用して非正方形予測ブロックを生成することの一部として、ビデオエンコーダ20は、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定することができる(504)。いくつかの例では、ベクトルは視差ベクトルであり、参照ピクチャはビュー間参照ピクチャである。いくつかの例では、ベクトルは動きベクトルであり、参照ピクチャは時間動きベクトルである。参照ブロックおよび非正方形予測ブロックは、サイズおよび形状が同じであり得る。いくつかの例では、現在のPUのベクトルに基づいて参照ブロックを決定するために、ビデオエンコーダ20は、ベクトルの水平成分を非正方形予測ブロックの左上の角のx座標に加算し、ベクトルの垂直成分を非正方形予測ブロックの左上の角のy座標に加算することによって、参照ブロックの左上の角の参照ピクチャにおける場所を決定し得る。この例では、参照ブロックの左上の角の示される場所が整数画素の参照ピクチャにおける場所を示さない場合、ビデオエンコーダ20は、参照ブロックのサンプルを補間して参照ブロックを決定し得る。
さらに、図32の例では、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオエンコーダ20は、参照サンプルの第1のセットをサブサンプリングして、第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成することができる(506)。この例では、参照サンプルの第1のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。さらに、この例では、参照サンプルの第1のセットは、非正方形予測ブロックの外側の、非正方形予測ブロックの左辺および上辺に沿ったサンプルを備え、mは整数である。
加えて、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオエンコーダ20は、参照サンプルの第2のセットをサブサンプリングして、第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成することができる(508)。第1のサブサンプリング比は、第2のサブサンプリング比と同じであることがあり、または異なることがある。この例では、参照サンプルの第2のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。さらに、この例では、参照サンプルの第2のセットは、参照ブロックの外側の、参照ブロックの左辺および上辺に沿ったサンプルを備える。
活動(506)および(508)において、ビデオエンコーダ20は、様々な方法でサブサンプリングを実行し得る。たとえば、ビデオエンコーダ20は、デシメーションを使用してサブサンプリングを実行することができる。ビデオエンコーダ20がデシメーションを使用してサブサンプリングを実行する例では、ビデオエンコーダ20は、通常の間隔でサンプルを除去し(たとえば、1つおきにサンプルを除去し)、残りのサンプルの値を変更せずにサンプルの数を減らすことができる。したがって、この例では、ビデオエンコーダ20は、参照サンプルの第1のセットをデシメーションして参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットをデシメーションして参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
別の例では、ビデオエンコーダ20は、補間を使用してサブサンプリングを実行することができる。ビデオエンコーダ20が補間を使用してサブサンプリングを実行する例では、隣り合うサンプルのそれぞれのペアに対して、ビデオエンコーダ20は、それぞれのペアのサンプルの間の値を補間することができ、サンプルのサブサンプリングされたセットにその補間された値を含めることができる。したがって、この例では、ビデオエンコーダ20は、参照サンプルの第1のセットの補間されたサンプリングを実行して参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットの補間されたサンプリングを実行して参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
別の例では、ビデオエンコーダ20は、ビットストリームの中のシンタックス要素により示されるサブサンプリング方法を使用してサブサンプリングを実行し得る。したがって、この例では、ビデオエンコーダ20は、ビットストリームに、サブサンプリング方法を示すシンタックス要素を含め得る。この例では、ビデオエンコーダ20は、示されるサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、示されるサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
別の例では、ビデオエンコーダ20は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。この例では、ビデオエンコーダ20は、決定されたサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、決定されたサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
ICを使用して非正方形予測ブロックを生成することの一部として、図32の活動(510)において、ビデオエンコーダ20は、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し得る。たとえば、ビデオエンコーダ20は、第1のICパラメータが
に基づくように第1のICパラメータを決定し得る。上の式において、2Nは参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数を表し、Recneig(i)は参照サンプルの第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)は参照サンプルの第2のサブサンプリングされたセットの中のi番目の参照サンプルを表す。
いくつかの例では、ビデオエンコーダ20は、第2のICパラメータが
に基づくように第2のICパラメータを決定し得る。
さらに、ICを使用して非正方形予測ブロックを生成することの一部として、図32の活動(512)において、ビデオエンコーダ20は、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し得る。たとえば、サンプルは現在のピクチャの左上の角に対する相対的な座標(i, j)にあることがあり、ビデオエンコーダ20はサンプルが以下に基づくようにサンプルを決定し得る。
a * r( i + dvx, j + dvy + b )
上の式において、bは第1のICパラメータであり、aは第2のICパラメータであり、rは参照ピクチャであり、dvxは現在のPUのベクトル(たとえば、視差ベクトル、動きベクトル)の水平成分であり、dvyは現在のPUのベクトルの垂直成分である。
a * r( i + dvx, j + dvy + b )
上の式において、bは第1のICパラメータであり、aは第2のICパラメータであり、rは参照ピクチャであり、dvxは現在のPUのベクトル(たとえば、視差ベクトル、動きベクトル)の水平成分であり、dvyは現在のPUのベクトルの垂直成分である。
図32の例では、ビデオエンコーダ20は、非正方形予測ブロックに基づいて残差データを生成することができる(514)。たとえば、ビデオエンコーダ20は、残差データのサンプルが、非正方形予測ブロックのサンプルと現在のCUのコーディングブロックのサンプルとの差に等しくなるように、残差データを生成し得る。加えて、ビデオエンコーダ20は、残差データに基づくデータを含むビットストリームを出力することができる(516)。たとえば、ビデオエンコーダ20は、残差データを示すエントロピー符号化されたシンタックス要素(たとえば、1より大きいこと、2より大きいこと、剰余などを示すシンタックス要素)を含むビットストリームを出力し得る。
図33は、ICを使用する本開示の技法による、ビデオデータを符号化するためのビデオデコーダ30の例示的な動作を示すフローチャートである。図32の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリーム受信する(550)。さらに、ビデオデコーダ30は、ICを使用してビデオデータの現在のピクチャの現在のCUの現在のPUの非正方形予測ブロックを生成する(552)。
ICを使用して非正方形予測ブロックを生成することの一部として、ビデオデコーダ30は、現在のPUのベクトルに基づいて、参照ピクチャの中の参照ブロックを決定することができる(554)。いくつかの例では、ベクトルは視差ベクトルであり、参照ピクチャはビュー間参照ピクチャである。いくつかの例では、ベクトルは動きベクトルであり、参照ピクチャは時間動きピクチャである。参照ブロックおよび非正方形予測ブロックは、サイズおよび形状が同じである。現在のPUの視差ベクトルに基づいて参照ブロックを決定するために、ビデオデコーダ30は、ベクトルの水平成分を非正方形予測ブロックの左上の角のx座標に加算し、ベクトルの垂直成分を非正方形予測ブロックの左上の角のy座標に加算することによって、参照ブロックの左上の角の参照ピクチャにおける場所を決定し得る。この例では、参照ブロックの左上の角の示される場所が整数画素の参照ピクチャにおける場所を示さない場合、ビデオデコーダ30は、参照ブロックのサンプルを補間して参照ブロックを決定し得る。
さらに、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオデコーダ30は、参照サンプルの第1のセットをサブサンプリングして、第1のサブサンプリング比を伴う参照サンプルの第1のサブサンプリングされたセットを生成することができる(556)。この例では、参照サンプルの第1のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。この例では、参照サンプルの第1のセットは、非正方形予測ブロックの外側の、非正方形予測ブロックの左辺および上辺に沿ったサンプルを備えることがあり、mは整数である。
加えて、ICを使用して非正方形予測ブロックを生成することの一部として、ビデオデコーダ30は、参照サンプルの第2のセットをサブサンプリングして、第2のサブサンプリング比を伴う参照サンプルの第2のサブサンプリングされたセットを生成することができる(558)。第1のサブサンプリング比は、第2のサブサンプリング比と同じであることがあり、または異なることがある。この例では、第2のセットの中の参照サンプルの総数は2mに等しくなく、参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数は2mに等しい。さらに、この例では、参照サンプルの第2のセットは、参照ブロックの外側の、参照ブロックの左辺および上辺に沿ったサンプルを備え得る。
活動(556)および(558)において、ビデオデコーダ30は、様々な方法でサブサンプリングを実行し得る。たとえば、ビデオデコーダ30は、デシメーションを使用してサブサンプリングを実行することができる。ビデオデコーダ30がデシメーションを使用してサブサンプリングを実行する例では、ビデオデコーダ30は、通常の間隔でサンプルを除去し(たとえば、1つおきにサンプルを除去し)、残りのサンプルの値を変更せずにサンプルの数を減らすことができる。したがって、この例では、ビデオデコーダ30は、参照サンプルの第1のセットをデシメーションして参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットをデシメーションして参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
別の例では、ビデオデコーダ30は、補間を使用してサブサンプリングを実行することができる。ビデオデコーダ30が補間を使用してサブサンプリングを実行する例では、隣り合うサンプルのそれぞれのペアに対して、ビデオデコーダ30は、それぞれのペアのサンプルの間の値を補間することができ、サンプルのサブサンプリングされたセットにその補間された値を含めることができる。したがって、この例では、ビデオデコーダ30は、参照サンプルの第1のセットの補間されたサンプリングを実行して参照サンプルの第1のサブサンプリングされたセットを生成することと、参照サンプルの第2のセットの補間されたサンプリングを実行して参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
別の例では、ビデオデコーダ30は、ビットストリームの中のシンタックス要素により示されるサブサンプリング方法を使用してサブサンプリングを実行し得る。したがって、この例では、ビデオデコーダ30は、ビットストリームから、サブサンプリング方法を示すシンタックス要素を取得し得る。この例では、ビデオデコーダ30は、示されるサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、示されるサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
別の例では、ビデオデコーダ30は、現在のPUのサイズに基づいて、サブサンプリング方法を決定し得る。この例では、ビデオデコーダ30は、決定されたサブサンプリング方法を使用して参照サンプルの第1のセットをサブサンプリングし参照サンプルの第1のサブサンプリングされたセットを生成することと、決定されたサブサンプリング方法を使用して参照サンプルの第2のセットをサブサンプリングし参照サンプルの第2のサブサンプリングされたセットを生成することのうちの、少なくとも1つを実行し得る。
さらに、図33の活動(560)において、ビデオデコーダ30は、参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数、参照サンプルの第1のサブサンプリングされたセット、ならびに参照サンプルの第2のサブサンプリングされたセットに基づいて、第1のICパラメータを決定し得る。たとえば、ビデオデコーダ30は、第1のICパラメータが
に基づくように第1のICパラメータを決定し得る。上の式において、2Nは参照サンプルの第1のサブサンプリングされたセットの中の参照サンプルの総数および参照サンプルの第2のサブサンプリングされたセットの中の参照サンプルの総数を表し、Recneig(i)は参照サンプルの第1のサブサンプリングされたセットの中のi番目の参照サンプルを表し、Recrefneig(i)は参照サンプルの第2のサブサンプリングされたセットの中のi番目の参照サンプルを表す。
いくつかの例では、ビデオデコーダ30は、第2のICパラメータが
に基づくように第2のICパラメータを決定し得る。
加えて、図33の活動(562)において、ビデオデコーダ30は、第1のICパラメータに基づいて非正方形予測ブロックのサンプルを決定し得る。たとえば、サンプルは現在のピクチャの左上の角に対する相対的な座標(i, j)にあることがあり、ビデオデコーダ30はサンプルが以下に基づくようにサンプルを決定し得る。
a * r( i + dvx, j + dvy + b )
上の式において、bは第1のICパラメータであり、aは第2のICパラメータであり、rは参照ピクチャであり、dvxは現在のPUのベクトルの水平成分であり、dvyは現在のPUのベクトルの垂直成分である。
a * r( i + dvx, j + dvy + b )
上の式において、bは第1のICパラメータであり、aは第2のICパラメータであり、rは参照ピクチャであり、dvxは現在のPUのベクトルの水平成分であり、dvyは現在のPUのベクトルの垂直成分である。
ビデオデコーダ30は、非正方形予測ブロックに基づいて、現在のCUのコーディングブロックを再構築することができる(564)。たとえば、ビデオデコーダ30は、非正方形予測ブロックのサンプルを現在のCUのTUの残差ブロックの対応するサンプルに加算することによって、コーディングブロックのサンプルを再構築することができる。
図34は、柔軟性のある残差木を使用する本開示の技法による、ビデオデータを符号化するためのビデオエンコーダ20の例示的な動作を示すフローチャートである。図34の例では、ビデオエンコーダ20がビデオデータを受信し得る(600)。さらに、ビデオエンコーダ20は、木構造に基づいてCUのTUへとビデオデータのCUを区分することができる(602)。いくつかの例では、ビデオエンコーダ20は、木構造の各々のそれぞれのノードに対して、それぞれのノードのための分割インジケータの値を決定し得る。それぞれのノードのための分割インジケータは、それぞれのノードがどれだけの子ノードを有するかを示し得る。いくつかの事例では、ビデオエンコーダ20は、ビットストリームにおいて、それぞれのノードの分割インジケータの値を明示的に示すシンタックス要素をシグナリングし得る。他の事例では、ビデオデコーダ30は、それぞれのノードのための分割インジケータの値を(たとえば、木構造におけるノードの深度、親ノードの分割ノードの値、それぞれのノードに対応する予測ブロックのサイズおよび/または形状などに基づいて)推測し得る。
木構造に基づいてCUをCUのTUへと区分することの一部として、ビデオエンコーダ20は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定することができる(604)。この例では、木構造のルートノードはCUのコーディングブロックに対応する。木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。木構造のリーフノードはCUのTUに対応する。
たとえば、ビデオエンコーダ20は、CUのPUの総数に基づいて、木構造が二分木か四分木かを決定し得る。この例では、CUが2つのPUを有することに基づいて、ノードは木構造の中で丁度2つの子ノードを有する。言い換えると、ビデオエンコーダ20は、CUが丁度2つのPUを有することに基づいて、ノードが木構造の中で丁度2つの子ノードを有すると決定し得る。
いくつかの例では、ビデオエンコーダ20は、CUが丁度2つのPUを有することに基づいて、ノードが木構造の中で丁度2つの子ノードを有すると決定し得る。
さらに、図34の例では、CUのTUのうちの少なくとも1つに対して、ビデオエンコーダ20は、変換をTUの残差ブロックに適用して、TUの変換係数のブロックを生成する(606)。たとえば、ビデオエンコーダ20は、離散コサイン変換(DCT)、離散サイン変換(DST)、または別のタイプの変換をTUの残差ブロックに適用して、変換係数のブロックを生成し得る。加えて、ビデオエンコーダ20は、TUの変換係数を示すシンタックス要素をエントロピー符号化することができる(608)。たとえば、ビデオエンコーダ20は、変換係数が0ではないかどうか、変換係数が1より大きいかどうか、変換係数が2より大きいかどうか、変換係数の符号、および変換係数の剰余を示すシンタックス要素を生成し得る。この例では、ビデオエンコーダ20は、これらのシンタックス要素のうちの1つまたは複数にCABACコーディングを適用し得る。
図35は、柔軟性のある残差木を使用する本開示の技法による、ビデオデータを復号するためのビデオデコーダ30の例示的な動作を示すフローチャートである。図35の例では、ビデオデコーダ30は、ビデオデータの符号化された表現を備えるビットストリーム受信することができる(650)。加えて、ビデオデコーダ30は、木構造に基づいてCUのTUへとビデオデータのCUが区分されると決定することができる(652)。いくつかの例では、ビデオデコーダ30は、木構造の各々のそれぞれのノードに対して、それぞれのノードのための分割インジケータの値を決定し得る。それぞれのノードのための分割インジケータは、それぞれのノードがどれだけの子ノードを有するかを示し得る。いくつかの事例では、ビデオデコーダ30は、ビットストリームから、それぞれのノードの分割インジケータの値を明示的に示すシンタックス要素を取得し得る。他の事例では、ビデオデコーダ30は、それぞれのノードのための分割インジケータの値を(たとえば、木構造におけるノードの深度、親ノードの分割ノードの値、それぞれのノードに対応する予測ブロックのサイズおよび/または形状などに基づいて)推測し得る。
木構造に基づいてCUがCUのTUへと区分されると決定することの一部として、ビデオデコーダ30は、木構造の中のノードが木構造の中で丁度2つの子ノードを有すると決定することができる(654)。この例では、木構造のルートノードはCUのコーディングブロックに対応する。木構造の各々のそれぞれの非ルートノードは、それぞれの非ルートノードの親ノードに対応するブロックの区分であるそれぞれのブロックに対応する。木構造のリーフノードはCUのTUに対応する。本開示の他の箇所で説明されるように、ビデオデコーダ30は、CUの中のPUの数に基づいて、木構造におけるノードの深度に基づいて、シグナリングされるシンタックス要素に基づいて、または他のデータに基づいて、木構造の中のノードが丁度2つの子ノードを有すると決定し得る。
たとえば、ビデオデコーダ30は、CUのPUの総数に基づいて、木構造が二分木か四分木かを決定し得る。この例では、CUが2つのPUを有することに基づいて、ノードは木構造の中で丁度2つの子ノードを有する。言い換えると、ビデオデコーダ30は、CUが丁度2つのPUを有することに基づいて、ノードが木構造の中で丁度2つの子ノードを有すると決定し得る。
CUのTUのうちの少なくとも1つに対して、ビデオデコーダ30は、変換をTUの係数ブロックに適用して、TUの残差ブロックを生成することができる(656)。たとえば、ビデオデコーダ30は、逆DCT、逆DST、または別のタイプの変換をTUの係数ブロックに適用して、TUの残差ブロックを生成し得る。加えて、ビデオデコーダ30は、予測ブロックのサンプルをCUのTUの残差ブロックの対応するサンプルに加算することによって、コーディングブロックのサンプルを再構築することができる(658)。
本開示のいくつかの態様は、説明を目的にHEVC規格の拡張に関して説明されている。しかしながら、本開示において説明される技法は、まだ開発されていない他の標準的なまたは独自のビデオコーディングプロセスを含む、他のビデオコーディングプロセスにとって有用であり得る。
ビデオコーダは、本開示において説明されるように、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングユニットは、ビデオエンコーダまたはビデオデコーダを指すことがある。同様に、ビデオコーディングは、場合により、ビデオ符号化またはビデオ復号を指すことがある。
例によっては、本明細書において説明された技法のうちのいずれかのいくつかの行為またはイベントが、異なるシーケンスで実行されてよく、追加され、統合され、または完全に除外されてよい(たとえば、説明されたすべての行為またはイベントが技法の実践にとって必要であるとは限らない)ことを認識されたい。その上、いくつかの例では、行為またはイベントは、連続的にではなく、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを通じて並行して実行されてよい。
1つまたは複数の例では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され、ハードウェアベース処理ユニットによって実行され得る。コンピュータ可読媒体は、データ記憶媒体などの有形媒体に対応する、コンピュータ可読記憶媒体を含み得るか、または、たとえば、通信プロトコルに従って、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む通信媒体を含み得る。このように、コンピュータ可読媒体は、一般に、(1)非一時的な有形コンピュータ可読記憶媒体、または(2)信号もしくは搬送波などの通信媒体に対応し得る。データ記憶媒体は、本開示において説明される技法の実装のための命令、コード、および/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによってアクセスされ得る任意の利用可能な媒体であり得る。コンピュータプログラム製品はコンピュータ可読媒体を含み得る。
限定ではなく例として、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または、命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含み得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバーケーブル、ツイストペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバーケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は媒体の定義に含まれる。しかしながら、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まないが、代わりに非一時的有形記憶媒体を対象とすることを理解されたい。本明細書において使用されるディスク(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 ビデオソース
19 記憶媒体
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
29 記憶媒体
30 ビデオデコーダ
32 ディスプレイデバイス
50 ブロック
52 サンプル
54 サンプル
60 再構築されたサンプル
62 再構築されたサンプル
70 サンプル
72 予測ブロック
74 イントラ予測方向
78 領域
80 係数行列
82 8×8行列
84 1Dバッファ
90 色差予測ブロック
92 輝度予測ブロック
100 コーディングブロック
110 現在のCU
112 参照ブロック
114 参照ブロック
116 現在のCU
130 変換ブロック
132 変換ブロック
134 変換ブロック
136 変換ブロック
137 変換ブロック
138 変換ブロック
139 変換ブロック
140 変換ブロック
141 変換ブロック
142 変換ブロック
143 変換ブロック
150 変換ブロック
152 変換ブロック
154 変換ブロック
156 変換ブロック
158 変換ブロック
160 変換ブロック
162 変換ブロック
164 変換ブロック
166 変換ブロック
180 TU
182 TU
184 TU
186 TU
188 TU
190 TU
192 TU
194 TU
196 TU
198 TU
200 予測処理ユニット
201 ビデオデータメモリ
202 残差生成ユニット
204 変換処理ユニット
206 量子化ユニット
208 逆量子化ユニット
210 逆変換処理ユニット
212 再構築ユニット
214 フィルタユニット
216 復号ピクチャバッファ
218 エントロピー符号化ユニット
220 インター予測処理ユニット
222 LMベースの符号化ユニット
226 イントラ予測処理ユニット
250 エントロピー復号ユニット
251 ビデオデータメモリ
252 予測処理ユニット
254 逆量子化ユニット
256 逆変換処理ユニット
258 再構築ユニット
260 フィルタユニット
262 復号ピクチャバッファ
264 動き補償ユニット
265 LMベースの復号ユニット
266 イントラ予測処理ユニット
12 ソースデバイス
14 宛先デバイス
16 コンピュータ可読媒体
18 ビデオソース
19 記憶媒体
20 ビデオエンコーダ
22 出力インターフェース
28 入力インターフェース
29 記憶媒体
30 ビデオデコーダ
32 ディスプレイデバイス
50 ブロック
52 サンプル
54 サンプル
60 再構築されたサンプル
62 再構築されたサンプル
70 サンプル
72 予測ブロック
74 イントラ予測方向
78 領域
80 係数行列
82 8×8行列
84 1Dバッファ
90 色差予測ブロック
92 輝度予測ブロック
100 コーディングブロック
110 現在のCU
112 参照ブロック
114 参照ブロック
116 現在のCU
130 変換ブロック
132 変換ブロック
134 変換ブロック
136 変換ブロック
137 変換ブロック
138 変換ブロック
139 変換ブロック
140 変換ブロック
141 変換ブロック
142 変換ブロック
143 変換ブロック
150 変換ブロック
152 変換ブロック
154 変換ブロック
156 変換ブロック
158 変換ブロック
160 変換ブロック
162 変換ブロック
164 変換ブロック
166 変換ブロック
180 TU
182 TU
184 TU
186 TU
188 TU
190 TU
192 TU
194 TU
196 TU
198 TU
200 予測処理ユニット
201 ビデオデータメモリ
202 残差生成ユニット
204 変換処理ユニット
206 量子化ユニット
208 逆量子化ユニット
210 逆変換処理ユニット
212 再構築ユニット
214 フィルタユニット
216 復号ピクチャバッファ
218 エントロピー符号化ユニット
220 インター予測処理ユニット
222 LMベースの符号化ユニット
226 イントラ予測処理ユニット
250 エントロピー復号ユニット
251 ビデオデータメモリ
252 予測処理ユニット
254 逆量子化ユニット
256 逆変換処理ユニット
258 再構築ユニット
260 フィルタユニット
262 復号ピクチャバッファ
264 動き補償ユニット
265 LMベースの復号ユニット
266 イントラ予測処理ユニット
Claims (24)
- ビデオデータを復号する方法であって、
ビデオデコーダによって、前記ビデオデータの符号化された表現を備えるビットストリームを受信するステップと、
前記ビデオデコーダによって、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するステップであって、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、ステップと、
前記ビデオデコーダによって、前記非正方形輝度ブロックの輝度サンプルを再構築するステップと、
前記ビデオデコーダによって、前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングするステップと、
前記ビデオデコーダによって、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定するステップであって、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルである、ステップと、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記ビデオデコーダによって、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定するステップであって、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つである、ステップと、
前記ビデオデコーダによって、前記予測色差ブロックに一部基づいて、コーディングブロックを再構築するステップとを備える、方法。 - 前記ビデオデコーダによって、前記第2のパラメータが
に基づくように前記第2のパラメータを決定するステップをさらに備える、請求項1に記載の方法。 - 輝度参照サンプルの前記セットをサブサンプリングするステップが、前記ビデオデコーダによって、前記非正方形輝度ブロックの前記長辺に隣接する輝度参照サンプルの前記セットの総数が前記非正方形輝度ブロックの前記短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをデシメーションするステップを備える、請求項1に記載の方法。
- 輝度参照サンプルの前記セットをサブサンプリングするステップが、前記ビデオデコーダによって、左の参照サンプルまたは上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの長い方に相当するものをサブサンプリングするが、前記左の参照サンプルおよび前記上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの短い方に相当するものをサブサンプリングしないステップを備える、請求項1に記載の方法。
- 輝度参照サンプルの前記セットをサブサンプリングした後で、輝度参照サンプルの前記セットの中の参照サンプルの総数が2mに等しく、mが前記非正方形輝度ブロックの高さまたは幅のうちの少なくとも1つに依存する整数である、請求項1に記載の方法。
- ビデオデータを符号化する方法であって、
ビデオエンコーダによって、前記ビデオデータを受信するステップと、
前記ビデオエンコーダによって、輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するステップであって、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、ステップと、
前記ビデオエンコーダによって、前記非正方形輝度ブロックの輝度サンプルを再構築するステップと、
前記ビデオエンコーダによって、前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの前記輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングするステップと、
前記ビデオエンコーダによって、第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定するステップであって、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルである、ステップと、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記ビデオエンコーダによって、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定するステップであって、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つである、ステップと、
前記ビデオエンコーダによって、前記予測色差ブロックに基づいて、残差データを取得するステップと、
前記ビデオエンコーダによって、前記ビデオデータの符号化された表現を備えるビットストリームに、前記残差データを表すデータを含めるステップとを備える、方法。 - 前記ビデオエンコーダによって、前記第2のパラメータが
に基づくように前記第2のパラメータを決定するステップをさらに備える、請求項6に記載の方法。 - 輝度参照サンプルの前記セットをサブサンプリングするステップが、前記ビデオエンコーダによって、前記非正方形輝度ブロックの前記長辺に隣接する輝度参照サンプルの前記セットの総数が前記非正方形輝度ブロックの前記短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをデシメーションするステップを備える、請求項6に記載の方法。
- 輝度参照サンプルの前記セットをサブサンプリングするステップが、前記ビデオエンコーダによって、左の参照サンプルまたは上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの長い方に相当するものをサブサンプリングするが、前記左の参照サンプルおよび前記上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの短い方に相当するものをサブサンプリングしないステップを備える、請求項6に記載の方法。
- 輝度参照サンプルの前記セットをサブサンプリングした後で、輝度参照サンプルの前記セットの中の参照サンプルの総数が2mに等しく、mが前記非正方形輝度ブロックの高さまたは幅のうちの少なくとも1つに依存する整数である、請求項6に記載の方法。
- ビデオデータを復号するための装置であって、
前記ビデオデータを記憶するように構成された1つまたは複数の記憶媒体と、
ビデオデコーダとを備え、前記ビデオデコーダが、
前記ビデオデータの符号化された表現を備えるビットストリームを受信し、
輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、
前記非正方形輝度ブロックの輝度サンプルを再構築し、
前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングし、
第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定し、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルであり、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定し、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つであり、
前記予測色差ブロックに一部基づいて、コーディングブロックを再構築する
ように構成される、装置。 - 前記ビデオデコーダがさらに、
前記第2のパラメータが
に基づくように前記第2のパラメータを決定するように構成される、請求項11に記載の装置。 - 前記ビデオデコーダが、輝度参照サンプルの前記セットをサブサンプリングすることの一部として、前記ビデオデコーダによって、前記非正方形輝度ブロックの前記長辺に隣接する輝度参照サンプルの前記セットの総数が前記非正方形輝度ブロックの前記短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをデシメーションするように構成される、請求項11に記載の装置。
- 前記ビデオデコーダが、輝度参照サンプルの前記セットをサブサンプリングすることの一部として、左の参照サンプルまたは上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの長い方に相当するものをサブサンプリングするが、前記左の参照サンプルおよび前記上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの短い方に相当するものをサブサンプリングしないように構成される、請求項11に記載の装置。
- 輝度参照サンプルの前記セットをサブサンプリングした後で、輝度参照サンプルの前記セットの中の参照サンプルの総数が2mに等しく、mが前記非正方形輝度ブロックの高さまたは幅のうちの少なくとも1つに依存する整数である、請求項11に記載の装置。
- ビデオデータを符号化するための装置であって、
前記ビデオデータを記憶するように構成された1つまたは複数の記憶媒体と、
ビデオエンコーダとを備え、前記ビデオエンコーダが、
前記ビデオデータを受信し、
輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形輝度ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、
前記非正方形輝度ブロックの輝度サンプルを再構築し、
前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの前記輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングし、
第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定し、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルであり、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定し、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つであり、
前記予測色差ブロックに基づいて、残差データを取得し、
前記ビデオデータの符号化された表現を備えるビットストリームに、前記残差データを表すデータを含める
ように構成される、装置。 - 前記ビデオエンコーダがさらに、
前記第2のパラメータが
に基づくように前記第2のパラメータを決定するように構成される、請求項16に記載の装置。 - 前記ビデオエンコーダが、輝度参照サンプルの前記セットをサブサンプリングすることの一部として、前記非正方形輝度ブロックの前記長辺に隣接する輝度参照サンプルの前記セットの総数が前記非正方形輝度ブロックの前記短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをデシメーションするように構成される、請求項16に記載の装置。
- 前記ビデオエンコーダが、輝度参照サンプルの前記セットをサブサンプリングすることの一部として、左の参照サンプルまたは上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの長い方に相当するものをサブサンプリングするが、前記左の参照サンプルおよび前記上の参照サンプルのうちで前記非正方形輝度ブロックの前記左辺と前記非正方形輝度ブロックの前記上辺のうちの短い方に相当するものをサブサンプリングしないように構成される、請求項16に記載の装置。
- 輝度参照サンプルの前記セットをサブサンプリングした後で、輝度参照サンプルの前記セットの中の参照サンプルの総数が2mに等しく、mが前記非正方形輝度ブロックの高さまたは幅のうちの少なくとも1つに依存する整数である、請求項16に記載の装置。
- ビデオデータを復号するための装置であって、
前記ビデオデータの符号化された表現を備えるビットストリームを受信するための手段と、
輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するための手段であって、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、手段と、
前記非正方形輝度ブロックの輝度サンプルを再構築するための手段と、
前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングするための手段と、
第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定するための手段であって、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルである、手段と、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定するための手段であって、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つである、手段と、
前記予測色差ブロックに一部基づいて、コーディングブロックを再構築するための手段とを備える、装置。 - ビデオデータを符号化するための装置であって、
前記ビデオデータを受信するための手段と、
輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築するための手段であって、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備える、手段と、
前記非正方形輝度ブロックの輝度サンプルを再構築するための手段と、
前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングするための手段と、
第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定するための手段であって、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルである、手段と、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定するための手段であって、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つである、手段と、
前記予測色差ブロックに基づいて、残差データを取得するための手段と、
前記ビデオデータの符号化された表現を備えるビットストリームに、前記残差データを表すデータを含めるための手段とを備える、装置。 - 命令を記憶したコンピュータ可読データ記憶媒体であって、前記命令が、実行されると、
前記ビデオデータの符号化された表現を備えるビットストリームを受信し、
輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、
前記非正方形輝度ブロックの輝度サンプルを再構築し、
前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングし、
第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定し、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルであり、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定し、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つであり、
前記予測色差ブロックに一部基づいて、コーディングブロックを再構築する
ように、ビデオデータを復号するための装置を構成する、コンピュータ可読データ記憶媒体。 - 命令を記憶したコンピュータ可読データ記憶媒体であって、前記命令が、実行されると、
前記ビデオデータを受信し、
輝度参照サンプルのセットおよび色差参照サンプルのセットを再構築し、輝度参照サンプルの前記セットが、前記ビデオデータの現在のピクチャの非正方形ブロックの上辺に隣接する上側輝度サンプルと、前記非正方形輝度ブロックの左辺に隣接する左側輝度サンプルとを備え、色差参照サンプルの前記セットが、前記現在のピクチャの非正方形色差ブロックの上辺に隣接する色差サンプルと、前記非正方形色差ブロックの左辺に隣接する色差サンプルとを備え、
前記非正方形輝度ブロックの輝度サンプルを再構築し、
前記非正方形輝度ブロックの長辺に隣接する輝度参照サンプルの前記セットの中の前記輝度参照サンプルの総数が前記非正方形輝度ブロックの短辺に隣接する輝度参照サンプルの前記セットの輝度参照サンプルの総数と同じになるように、輝度参照サンプルの前記セットをサブサンプリングし、
第1のパラメータが
(Σyi-α・Σxi)/I
に基づくように前記第1のパラメータを決定し、Iが前記輝度参照サンプルの前記セットの中の参照サンプルの総数であり、xiが輝度参照サンプルの前記セットの中のi番目の輝度参照サンプルであり、yiが色差参照サンプルの前記セットの中のi番目の色差参照サンプルであり、
予測色差ブロックの各々のそれぞれの色差サンプルに対して、前記それぞれの色差サンプルの値が、前記それぞれの色差サンプルに対応するそれぞれの再構築された輝度サンプルと乗じられた第2のパラメータと、前記第1のパラメータとを足したものに等しくなるように、前記それぞれの色差サンプルの前記値を決定し、前記それぞれの色差サンプルに対応する前記再構築された輝度サンプルが、前記非正方形輝度ブロックの前記再構築された輝度サンプルのうちの1つであり、
前記予測色差ブロックに基づいて、残差データを取得し、
前記ビデオデータの符号化された表現を備えるビットストリームに、前記残差データを表すデータを含める
ように、ビデオデータを符号化するための装置を構成する、コンピュータ可読データ記憶媒体。
Applications Claiming Priority (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562260103P | 2015-11-25 | 2015-11-25 | |
| US62/260,103 | 2015-11-25 | ||
| US201662310271P | 2016-03-18 | 2016-03-18 | |
| US62/310,271 | 2016-03-18 | ||
| US15/359,563 | 2016-11-22 | ||
| US15/359,563 US20170150176A1 (en) | 2015-11-25 | 2016-11-22 | Linear-model prediction with non-square prediction units in video coding |
| PCT/US2016/063653 WO2017091759A1 (en) | 2015-11-25 | 2016-11-23 | Linear-model prediction with non-square prediction units in video coding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2019500779A true JP2019500779A (ja) | 2019-01-10 |
Family
ID=58721438
Family Applications (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018526699A Pending JP2018535610A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける柔軟性のある変換木構造 |
| JP2018526684A Pending JP2019500778A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける非正方形予測ブロックを用いた照明補償 |
| JP2018526697A Pending JP2019500779A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける非正方形予測単位を用いた線形モデル予測 |
| JP2018526698A Pending JP2018535609A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける非正方形変換単位のための変換係数の修正 |
Family Applications Before (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018526699A Pending JP2018535610A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける柔軟性のある変換木構造 |
| JP2018526684A Pending JP2019500778A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける非正方形予測ブロックを用いた照明補償 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2018526698A Pending JP2018535609A (ja) | 2015-11-25 | 2016-11-23 | ビデオコーディングにおける非正方形変換単位のための変換係数の修正 |
Country Status (9)
| Country | Link |
|---|---|
| US (4) | US20170150186A1 (ja) |
| EP (4) | EP3381191A1 (ja) |
| JP (4) | JP2018535610A (ja) |
| KR (4) | KR102048169B1 (ja) |
| CN (4) | CN108293112B (ja) |
| AU (4) | AU2016359155A1 (ja) |
| BR (4) | BR112018010517A2 (ja) |
| TW (4) | TWI705701B (ja) |
| WO (4) | WO2017091770A1 (ja) |
Families Citing this family (211)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015172337A1 (en) * | 2014-05-14 | 2015-11-19 | Mediatek Singapore Pte. Ltd. | Alternative transforms for data compression |
| US20170150186A1 (en) | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Flexible transform tree structure in video coding |
| US10212444B2 (en) | 2016-01-15 | 2019-02-19 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
| EP3414906A4 (en) * | 2016-02-08 | 2019-10-02 | Sharp Kabushiki Kaisha | SYSTEMS AND METHOD FOR INTRAPRADICATION CODING |
| US11032550B2 (en) * | 2016-02-25 | 2021-06-08 | Mediatek Inc. | Method and apparatus of video coding |
| US11223852B2 (en) | 2016-03-21 | 2022-01-11 | Qualcomm Incorporated | Coding video data using a two-level multi-type-tree framework |
| EP3439304A4 (en) * | 2016-03-28 | 2020-02-26 | KT Corporation | VIDEO SIGNAL PROCESSING METHOD AND APPARATUS |
| WO2017188565A1 (ko) * | 2016-04-25 | 2017-11-02 | 엘지전자 주식회사 | 영상 코딩 시스템에서 영상 디코딩 방법 및 장치 |
| WO2017196128A1 (ko) * | 2016-05-12 | 2017-11-16 | 엘지전자(주) | 계수 유도 복원을 이용하여 비디오 신호를 처리하는 방법 및 장치 |
| US20170332103A1 (en) * | 2016-05-13 | 2017-11-16 | Intel Corporation | Interleaving luma and chroma coefficients to reduce the intra prediction loop dependency in video encoders and decoders |
| CN109076223B (zh) * | 2016-05-13 | 2021-07-09 | 夏普株式会社 | 图像解码装置以及图像编码装置 |
| US20170359575A1 (en) * | 2016-06-09 | 2017-12-14 | Apple Inc. | Non-Uniform Digital Image Fidelity and Video Coding |
| US11647228B2 (en) * | 2016-07-15 | 2023-05-09 | Lg Electronics Inc. | Method and apparatus for encoding and decoding video signal using transform domain prediction for prediction unit partition |
| US11368681B2 (en) | 2016-07-18 | 2022-06-21 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium in which bitstream is stored |
| CN109792529A (zh) * | 2016-09-22 | 2019-05-21 | Lg 电子株式会社 | 图像编译系统中的基于照度补偿的间预测方法和设备 |
| WO2018066991A1 (ko) * | 2016-10-04 | 2018-04-12 | 김기백 | 영상 데이터 부호화/복호화 방법 및 장치 |
| EP4432662A3 (en) * | 2016-10-04 | 2024-11-20 | B1 Institute of Image Technology, Inc. | Image data encoding/decoding method and apparatus |
| CN117354516A (zh) * | 2016-10-04 | 2024-01-05 | 有限公司B1影像技术研究所 | 图像编码/解码方法、记录介质和传输比特流的方法 |
| US20190238888A1 (en) * | 2017-07-17 | 2019-08-01 | Ki Baek Kim | Image data encoding/decoding method and apparatus |
| US10694202B2 (en) * | 2016-12-01 | 2020-06-23 | Qualcomm Incorporated | Indication of bilateral filter usage in video coding |
| JP6565885B2 (ja) * | 2016-12-06 | 2019-08-28 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム |
| KR20250024103A (ko) * | 2016-12-23 | 2025-02-18 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 미리 결정된 방향성 인트라 예측 모드들의 세트를 확장하기 위한 인트라 예측 장치 |
| KR20180074000A (ko) * | 2016-12-23 | 2018-07-03 | 삼성전자주식회사 | 비디오 디코딩 방법, 이를 수행하는 비디오 디코더, 비디오 인코딩 방법, 및 이를 수행하는 비디오 인코더 |
| US10848788B2 (en) | 2017-01-06 | 2020-11-24 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
| US10554974B2 (en) * | 2017-01-13 | 2020-02-04 | Mediatek Inc. | Method and apparatus enabling adaptive multiple transform for chroma transport blocks using control flags |
| US11228756B2 (en) * | 2017-03-10 | 2022-01-18 | Mediatek Inc. | Method and apparatus of implicit intra coding tool settings with intra directional prediction modes for video coding |
| US10820017B2 (en) * | 2017-03-15 | 2020-10-27 | Mediatek Inc. | Method and apparatus of video coding |
| CN110574357B (zh) * | 2017-03-31 | 2021-10-22 | 索尼半导体解决方案公司 | 成像控制设备、用于控制成像控制设备的方法以及移动体 |
| CN114760470B (zh) * | 2017-04-13 | 2025-03-25 | Lg电子株式会社 | 图像编码/解码方法及其设备 |
| JP6680260B2 (ja) * | 2017-04-28 | 2020-04-15 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号化装置、画像復号化方法及び画像復号化プログラム |
| CN108933941A (zh) * | 2017-05-26 | 2018-12-04 | 富士通株式会社 | 图像编码方法和装置以及图像解码方法和装置 |
| EP4084475B1 (en) * | 2017-05-31 | 2024-03-06 | LG Electronics Inc. | Method and device for performing image decoding on basis of intra prediction in image coding system |
| US11252464B2 (en) | 2017-06-14 | 2022-02-15 | Mellanox Technologies, Ltd. | Regrouping of video data in host memory |
| US12058309B2 (en) | 2018-07-08 | 2024-08-06 | Mellanox Technologies, Ltd. | Application accelerator |
| US20200014945A1 (en) | 2018-07-08 | 2020-01-09 | Mellanox Technologies, Ltd. | Application acceleration |
| JP7224280B2 (ja) * | 2017-07-17 | 2023-02-17 | ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド | 画像データ符号化/復号化方法及び装置 |
| US20230308626A1 (en) * | 2017-07-17 | 2023-09-28 | B1 Institute Of Image Technology, Inc. | Image data encoding/decoding method and apparatus |
| EP3454556A1 (en) | 2017-09-08 | 2019-03-13 | Thomson Licensing | Method and apparatus for video encoding and decoding using pattern-based block filtering |
| AU2018327924B2 (en) * | 2017-09-08 | 2023-06-08 | Kt Corporation | Method and device for processing video signal |
| JP2021005741A (ja) * | 2017-09-14 | 2021-01-14 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
| US11290730B2 (en) * | 2017-10-05 | 2022-03-29 | Interdigital Vc Holdings, Inc. | Method and apparatus for adaptive illumination compensation in video encoding and decoding |
| GB2567249A (en) * | 2017-10-09 | 2019-04-10 | Canon Kk | New sample sets and new down-sampling schemes for linear component sample prediction |
| US11159828B2 (en) | 2017-10-09 | 2021-10-26 | Arris Enterprises Llc | Adaptive unequal weight planar prediction |
| KR102803283B1 (ko) | 2017-10-24 | 2025-05-07 | 삼성전자주식회사 | 비디오 신호 처리 방법 및 장치 |
| WO2019083334A1 (ko) * | 2017-10-26 | 2019-05-02 | 한국전자통신연구원 | 비대칭 서브 블록 기반 영상 부호화/복호화 방법 및 장치 |
| GB2567863A (en) * | 2017-10-27 | 2019-05-01 | Sony Corp | Image data encoding and decoding |
| US11445173B2 (en) * | 2017-11-13 | 2022-09-13 | Mediatek Singapore Pte. Ltd. | Method and apparatus for Intra prediction fusion in image and video coding |
| WO2019107998A1 (ko) * | 2017-11-30 | 2019-06-06 | 엘지전자 주식회사 | 비디오 신호의 처리 방법 및 장치 |
| CN115941940B (zh) * | 2017-12-21 | 2025-07-25 | Lg电子株式会社 | 图像解码和编码方法、存储比特流的介质和数据发送方法 |
| US11082708B2 (en) * | 2018-01-08 | 2021-08-03 | Qualcomm Incorporated | Multiple-model local illumination compensation |
| US11457198B2 (en) * | 2018-01-16 | 2022-09-27 | Vid Scale, Inc. | Adaptive frame packing for 360-degree video coding |
| JP7285789B2 (ja) * | 2018-01-19 | 2023-06-02 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置 |
| KR102568633B1 (ko) * | 2018-01-26 | 2023-08-21 | 삼성전자주식회사 | 이미지 처리 장치 |
| EP3744092A1 (en) * | 2018-01-26 | 2020-12-02 | InterDigital VC Holdings, Inc. | Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples |
| EP3518537A1 (en) * | 2018-01-26 | 2019-07-31 | InterDigital VC Holdings, Inc. | Method and apparatus for video encoding and decoding based on a linear model responsive to neighboring samples |
| US11044466B2 (en) * | 2018-01-26 | 2021-06-22 | Samsung Electronics Co., Ltd. | Image processing device |
| US10812797B2 (en) * | 2018-02-05 | 2020-10-20 | Tencent America LLC | Method, apparatus and medium for decoding or encoding using a low-complexity transform |
| GB2571311B (en) * | 2018-02-23 | 2021-08-18 | Canon Kk | Methods and devices for improvement in obtaining linear component sample prediction parameters |
| US10735730B2 (en) * | 2018-03-07 | 2020-08-04 | Tencent America LLC | Flexible tree structure |
| US11470359B2 (en) * | 2018-03-30 | 2022-10-11 | Sharp Kabushiki Kaisha | Systems and methods for partitioning video blocks at a boundary of a picture for video coding |
| US10834409B2 (en) * | 2018-04-06 | 2020-11-10 | Arris Enterprises Llc | System and method of implementing multiple prediction models for local illumination compensation |
| US10735721B2 (en) * | 2018-04-17 | 2020-08-04 | Panasonic Intellectual Property Corporation Of America | Encoder, decoder, encoding method, and decoding method using local illumination compensation |
| US10798382B2 (en) * | 2018-04-26 | 2020-10-06 | Tencent America LLC | Sub-block transform |
| WO2019210829A1 (en) * | 2018-04-30 | 2019-11-07 | Mediatek Inc. | Signaling for illumination compensation |
| US10462486B1 (en) * | 2018-05-07 | 2019-10-29 | Tencent America, Llc | Fast method for implementing discrete sine transform type VII (DST 7) |
| EP3791578A1 (en) * | 2018-05-09 | 2021-03-17 | InterDigital VC Holdings, Inc. | Motion compensation for video encoding and decoding |
| WO2019234612A1 (en) | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Partition tree with four sub-blocks symmetric or asymmetric |
| JP2019213096A (ja) * | 2018-06-06 | 2019-12-12 | Kddi株式会社 | 画像復号装置、画像符号化装置、画像処理システム、画像復号方法及びプログラム |
| CN119946262A (zh) | 2018-06-11 | 2025-05-06 | 韩华视觉株式会社 | 对视频进行解码和编码的方法以及非暂态计算机可读介质 |
| KR102030384B1 (ko) * | 2018-06-19 | 2019-11-08 | 광운대학교 산학협력단 | 잔차 계수 부호화/복호화 방법 및 장치 |
| US10284866B1 (en) | 2018-07-02 | 2019-05-07 | Tencent America LLC | Method and apparatus for video coding |
| US10284844B1 (en) | 2018-07-02 | 2019-05-07 | Tencent America LLC | Method and apparatus for video coding |
| US10904555B2 (en) * | 2018-07-11 | 2021-01-26 | Tencent America LLC | Method and apparatus for video coding |
| US10841602B2 (en) * | 2018-07-16 | 2020-11-17 | Tencent America LLC | Hierarchical tiles |
| TWI814890B (zh) * | 2018-08-17 | 2023-09-11 | 大陸商北京字節跳動網絡技術有限公司 | 簡化的跨分量預測 |
| WO2020044256A1 (en) | 2018-08-28 | 2020-03-05 | Beijing Bytedance Network Technology Co., Ltd. | Restrictions for extended quadtree |
| US11616949B2 (en) | 2018-08-31 | 2023-03-28 | Hfi Innovation Inc. | Method and apparatus of intra prediction with MPM generation in image and video processing |
| MX2021002557A (es) * | 2018-09-07 | 2021-04-29 | Panasonic Ip Corp America | Sistema y metodo para codificacion de video. |
| TWI827675B (zh) | 2018-09-12 | 2024-01-01 | 大陸商北京字節跳動網絡技術有限公司 | 交叉分量線性模型中的尺寸相關的下採樣 |
| CN118042126A (zh) * | 2018-09-13 | 2024-05-14 | 弗劳恩霍夫应用研究促进协会 | 用于预测图片的块的方法、装置和存储介质 |
| HUE069686T2 (hu) * | 2018-09-20 | 2025-04-28 | Lg Electronics Inc | Eljárás és berendezés kép dekódoláshoz kép kódoló rendszerben CCLM predikció alapján |
| FR3086485A1 (fr) * | 2018-09-21 | 2020-03-27 | Orange | Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image. |
| US11463686B2 (en) | 2018-09-22 | 2022-10-04 | Lg Electronics Inc. | Method and device for decoding images using CCLM prediction in image coding system |
| WO2020068461A1 (en) * | 2018-09-25 | 2020-04-02 | Interdigital Vc Holdings, Inc. | Separate coding trees for luma and chroma prediction |
| EP3700201A1 (en) * | 2019-02-21 | 2020-08-26 | InterDigital VC Holdings, Inc. | Separate coding trees for luma and chroma prediction |
| TW202533573A (zh) | 2018-09-26 | 2025-08-16 | 美商內數位Vc控股公司 | 視訊編碼雙預測 |
| WO2020071617A1 (ko) * | 2018-10-04 | 2020-04-09 | 엘지전자 주식회사 | Cclm에 기반한 인트라 예측 방법 및 그 장치 |
| MX2021003853A (es) | 2018-10-05 | 2021-09-08 | Huawei Tech Co Ltd | Método y dispositivo de intrapredicción. |
| CN112789858B (zh) * | 2018-10-08 | 2023-06-06 | 华为技术有限公司 | 帧内预测方法及设备 |
| FI3847816T3 (fi) | 2018-10-08 | 2023-06-30 | Beijing Dajia Internet Information Tech Co Ltd | Ristikomponenttisen lineaarisen mallin yksinkertaistukset |
| WO2020076116A1 (ko) | 2018-10-12 | 2020-04-16 | 인텔렉추얼디스커버리 주식회사 | 영상 부호화/복호화 방법 및 장치 |
| WO2020073990A1 (zh) | 2018-10-12 | 2020-04-16 | Oppo广东移动通信有限公司 | 视频图像分量预测方法及装置、计算机存储介质 |
| CN113287317B (zh) | 2018-10-23 | 2023-04-28 | 北京字节跳动网络技术有限公司 | 并置的局部照明补偿和修改的帧间编解码工具 |
| WO2020084502A1 (en) | 2018-10-23 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Video processing using local illumination compensation |
| US10939118B2 (en) * | 2018-10-26 | 2021-03-02 | Mediatek Inc. | Luma-based chroma intra-prediction method that utilizes down-sampled luma samples derived from weighting and associated luma-based chroma intra-prediction apparatus |
| EP3861736A4 (en) | 2018-11-06 | 2022-03-30 | Beijing Bytedance Network Technology Co., Ltd. | POSITION DEPENDENT INTRAPREDICTION |
| US11358331B2 (en) * | 2018-11-19 | 2022-06-14 | Continuous Composites Inc. | System and head for continuously manufacturing composite structure |
| US20220371274A1 (en) * | 2018-11-19 | 2022-11-24 | Continuous Composites Inc. | System for additively manufacturing composite structure |
| CN120263968A (zh) * | 2018-11-21 | 2025-07-04 | 华为技术有限公司 | 帧内预测方法及设备 |
| CN113170122B (zh) | 2018-12-01 | 2023-06-27 | 北京字节跳动网络技术有限公司 | 帧内预测的参数推导 |
| CN113170147B (zh) | 2018-12-04 | 2023-04-18 | 华为技术有限公司 | 视频编码器、视频解码器、及对应方法 |
| WO2020116402A1 (ja) | 2018-12-04 | 2020-06-11 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法、および復号方法 |
| PH12021551289A1 (en) | 2018-12-07 | 2022-03-21 | Beijing Bytedance Network Tech Co Ltd | Context-based intra prediction |
| TWI755665B (zh) * | 2018-12-20 | 2022-02-21 | 弗勞恩霍夫爾協會 | 使用具有鄰近取樣縮減的線性或仿射變換的內預測 |
| WO2020125794A1 (en) * | 2018-12-22 | 2020-06-25 | Beijing Bytedance Network Technology Co., Ltd. | Two step cross-component prediction mode |
| CN116456082A (zh) * | 2018-12-25 | 2023-07-18 | Oppo广东移动通信有限公司 | 编码预测方法、装置及计算机存储介质 |
| CN113302941B (zh) | 2019-01-12 | 2023-08-25 | Lg电子株式会社 | 基于二次变换的视频编码方法及其装置 |
| WO2020147747A1 (en) | 2019-01-15 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Weighted prediction in video coding |
| WO2020147745A1 (en) * | 2019-01-15 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate lists that use local illumination compensation |
| WO2020147804A1 (en) | 2019-01-17 | 2020-07-23 | Beijing Bytedance Network Technology Co., Ltd. | Use of virtual candidate prediction and weighted prediction in video processing |
| US11172195B2 (en) | 2019-01-26 | 2021-11-09 | Qualcomm Incorporated | Excluding intra coded reference samples from local illumination compensation parameter derivation |
| CN113302917B (zh) * | 2019-01-27 | 2023-12-01 | 北京字节跳动网络技术有限公司 | 局部照明补偿的改进方法 |
| CN117793346A (zh) | 2019-01-31 | 2024-03-29 | 北京字节跳动网络技术有限公司 | 视频编解码中的细化量化步骤 |
| CN113366855B (zh) | 2019-02-03 | 2025-06-24 | 北京字节跳动网络技术有限公司 | 基于条件的非对称四叉树分割 |
| US11936871B2 (en) | 2019-02-08 | 2024-03-19 | Interdigital Madison Patent Holdings, Sas | Method and device for picture encoding and decoding using illumination compensation |
| CN113711615B (zh) * | 2019-02-15 | 2025-09-16 | 北京字节跳动网络技术有限公司 | 视频压缩中的非二次幂分割树 |
| AU2020226565C1 (en) | 2019-02-22 | 2024-01-11 | Beijing Bytedance Network Technology Co., Ltd. | Neighbouring sample selection for intra prediction |
| AU2020226573B2 (en) * | 2019-02-22 | 2025-05-22 | Huawei Technologies Co., Ltd. | Method and apparatus for intra prediction using linear model |
| AU2020226566A1 (en) * | 2019-02-24 | 2021-08-19 | Beijing Bytedance Network Technology Co., Ltd. | Parameter derivation for intra prediction |
| US11159795B2 (en) * | 2019-03-04 | 2021-10-26 | Tencent America LLC | Max transform size control |
| CN113545070B (zh) | 2019-03-08 | 2023-10-03 | 北京字节跳动网络技术有限公司 | 视频处理中整形信息的信令通知 |
| CN113545092B (zh) * | 2019-03-08 | 2025-02-18 | 交互数字Vc控股公司 | 用于视频编码或解码的局部照明补偿 |
| WO2020182216A1 (en) | 2019-03-14 | 2020-09-17 | Mediatek Inc. | Methods and apparatuses of video processing with motion refinement and sub-partition base padding |
| EP3939279A4 (en) * | 2019-03-15 | 2022-08-31 | Beijing Dajia Internet Information Technology Co., Ltd. | SIGNALING LOSSLESS ENCODING IN VIDEO ENCODING |
| KR102213901B1 (ko) * | 2019-03-21 | 2021-02-08 | 삼성전자주식회사 | 블록 형태별로 블록 크기가 설정되는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
| EP4485937A1 (en) | 2019-03-22 | 2025-01-01 | Huawei Technologies Co., Ltd. | Transform unit partition method for video coding |
| CN117880494A (zh) * | 2019-03-24 | 2024-04-12 | 北京字节跳动网络技术有限公司 | 用于帧内预测的参数推导的条件 |
| CN121217916A (zh) * | 2019-03-25 | 2025-12-26 | Oppo广东移动通信有限公司 | 图像预测方法、编码器、解码器以及存储介质 |
| CN113840144B (zh) * | 2019-03-25 | 2023-06-02 | Oppo广东移动通信有限公司 | 图像分量的预测方法、编码器、解码器及计算机存储介质 |
| CN113632474B (zh) * | 2019-03-26 | 2022-12-09 | 北京字节跳动网络技术有限公司 | 用于帧间预测的参数推导 |
| US11363306B2 (en) * | 2019-04-05 | 2022-06-14 | Comcast Cable Communications, Llc | Methods, systems, and apparatuses for processing video by adaptive rate distortion optimization |
| WO2020210531A1 (en) * | 2019-04-09 | 2020-10-15 | Beijing Dajia Internet Information Technology Co., Ltd. | Methods and apparatuses for signaling of merge modes in video coding |
| KR20200119744A (ko) | 2019-04-10 | 2020-10-20 | 한국전자통신연구원 | 화면 내 예측에서 예측 모드 관련 신호를 시그널링하는 방법 및 장치 |
| JP7404387B2 (ja) | 2019-04-12 | 2023-12-25 | 北京字節跳動網絡技術有限公司 | ビデオ処理方法、装置、記憶媒体及び記憶方法 |
| WO2020211807A1 (en) | 2019-04-16 | 2020-10-22 | Beijing Bytedance Network Technology Co., Ltd. | Matrix derivation in intra coding mode |
| CN117528068A (zh) | 2019-04-18 | 2024-02-06 | 北京字节跳动网络技术有限公司 | 视频编解码中的跨分量模式中的选择性使用 |
| WO2020216246A1 (en) | 2019-04-23 | 2020-10-29 | Beijing Bytedance Network Technology Co., Ltd. | Methods for cross component dependency reduction |
| EP3949424A4 (en) * | 2019-04-25 | 2022-12-21 | HFI Innovation Inc. | Method and apparatus of encoding or decoding with mode dependent intra smoothing filter in intra prediction |
| EP3949391A4 (en) | 2019-05-01 | 2022-05-25 | Beijing Bytedance Network Technology Co., Ltd. | MATRIX-BASED INTRAPREDICTION USING FILTRATION |
| WO2020221372A1 (en) | 2019-05-01 | 2020-11-05 | Beijing Bytedance Network Technology Co., Ltd. | Context coding for matrix-based intra prediction |
| EP3949394A4 (en) * | 2019-05-02 | 2022-09-21 | Beijing Bytedance Network Technology Co., Ltd. | INTRA VIDEO CODING USING MULTIPLE REFERENCE FILTERS |
| WO2020224629A1 (en) | 2019-05-08 | 2020-11-12 | Beijing Bytedance Network Technology Co., Ltd. | Conditions for applicability of cross-component coding |
| CN113841405B (zh) * | 2019-05-21 | 2023-10-10 | 华为技术有限公司 | 用于帧间预测的局部光照补偿的方法和设备 |
| CN113632464B (zh) * | 2019-05-21 | 2023-04-28 | 华为技术有限公司 | 分量间预测的方法和设备 |
| CN117412039A (zh) | 2019-05-22 | 2024-01-16 | 北京字节跳动网络技术有限公司 | 使用上采样的基于矩阵的帧内预测 |
| US11240499B2 (en) * | 2019-05-24 | 2022-02-01 | Tencent America LLC | Method and apparatus for video coding |
| WO2020239018A1 (en) | 2019-05-31 | 2020-12-03 | Beijing Bytedance Network Technology Co., Ltd. | Restricted upsampling process in matrix-based intra prediction |
| WO2020246790A1 (ko) * | 2019-06-03 | 2020-12-10 | 엘지전자 주식회사 | 맵핑된 루마 성분 및 스케일링된 크로마 성분 기반 비디오 또는 영상 코딩 |
| WO2020244568A1 (en) | 2019-06-04 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list with geometric partition mode coding |
| KR102627821B1 (ko) | 2019-06-04 | 2024-01-23 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 이웃 블록 정보를 사용한 모션 후보 리스트 구성 |
| EP3963885A4 (en) | 2019-06-05 | 2022-12-14 | Beijing Bytedance Network Technology Co., Ltd. | DETERMINING CONTEXT FOR MATRIX-BASED INTRAPREDICTION |
| WO2020244661A1 (en) * | 2019-06-06 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Implicit selection of transform candidates |
| WO2020244662A1 (en) | 2019-06-06 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Simplified transform coding tools |
| CN113940076B (zh) * | 2019-06-06 | 2025-01-03 | 北京字节跳动网络技术有限公司 | 应用隐式变换选择 |
| US11212545B2 (en) * | 2019-06-07 | 2021-12-28 | Tencent America LLC | Method and apparatus for improved implicit transform selection |
| KR20250093435A (ko) * | 2019-06-17 | 2025-06-24 | 엘지전자 주식회사 | 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩 |
| CN118694951A (zh) | 2019-06-17 | 2024-09-24 | Lg 电子株式会社 | 基于亮度映射的视频或图像编译 |
| WO2020256399A1 (ko) * | 2019-06-17 | 2020-12-24 | 엘지전자 주식회사 | 루마 샘플들의 맵핑 및 크로마 샘플들의 스케일링 기반 비디오 또는 영상 코딩 |
| KR102861004B1 (ko) * | 2019-06-20 | 2025-09-16 | 엘지전자 주식회사 | 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩 |
| CN118018730A (zh) | 2019-06-20 | 2024-05-10 | Lg电子株式会社 | 解码和编码设备以及发送用于图像的数据的设备 |
| CN117319648A (zh) | 2019-06-20 | 2023-12-29 | Lg电子株式会社 | 解码和编码设备、发送用于图像的数据的设备及存储介质 |
| CN114009050B (zh) * | 2019-06-21 | 2023-12-22 | 北京字节跳动网络技术有限公司 | 视频编解码的自适应环内颜色空间变换 |
| JP7418478B2 (ja) | 2019-06-22 | 2024-01-19 | 北京字節跳動網絡技術有限公司 | クロマ残差スケーリングのためのシンタックス要素 |
| JP7297950B2 (ja) | 2019-06-24 | 2023-06-26 | エルジー エレクトロニクス インコーポレイティド | ルママッピング基盤ビデオまたは映像コーディング |
| CN120583227A (zh) | 2019-06-24 | 2025-09-02 | Lg电子株式会社 | 图像编码/解码方法和数据发送方法 |
| US11272200B2 (en) * | 2019-06-24 | 2022-03-08 | Tencent America LLC | Method and apparatus for video coding |
| KR20250135332A (ko) * | 2019-06-24 | 2025-09-12 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 지오메트릭 분할 모드를 위한 샘플 거리 계산 |
| US11330298B2 (en) * | 2019-06-25 | 2022-05-10 | Qualcomm Incorporated | Simplified intra chroma mode coding in video coding |
| CN116708771A (zh) | 2019-06-25 | 2023-09-05 | Oppo广东移动通信有限公司 | 图像分量预测方法、装置及计算机存储介质 |
| JP7576605B2 (ja) * | 2019-07-05 | 2024-10-31 | エルジー エレクトロニクス インコーポレイティド | 映像デコード方法及びその装置 |
| CN114128280B (zh) | 2019-07-07 | 2023-11-14 | 北京字节跳动网络技术有限公司 | 色度残差缩放的信令通知 |
| US11432002B2 (en) * | 2019-07-08 | 2022-08-30 | Hyundai Motor Company | Method and apparatus for encoding and decoding video using inter-prediction |
| CN114175636B (zh) | 2019-07-14 | 2024-01-12 | 北京字节跳动网络技术有限公司 | 自适应参数集中的自适应环路滤波的指示 |
| CN114208187B (zh) * | 2019-07-25 | 2025-01-10 | 北京字节跳动网络技术有限公司 | 帧内块复制虚拟缓冲区的映射限制 |
| JP7670680B2 (ja) | 2019-07-25 | 2025-04-30 | 北京字節跳動網絡技術有限公司 | イントラブロックコピー仮想バッファに対するサイズ制限 |
| CN114175657B (zh) | 2019-07-26 | 2023-12-26 | 北京字节跳动网络技术有限公司 | 基于块尺寸的图片分割模式确定 |
| WO2021018081A1 (en) * | 2019-07-26 | 2021-02-04 | Beijing Bytedance Network Technology Co., Ltd. | Configurable coding tree unit size in video coding |
| CN114270832A (zh) * | 2019-08-14 | 2022-04-01 | Lg电子株式会社 | 点云数据发送装置、点云数据发送方法、点云数据接收装置和点云数据接收方法 |
| CN110446044B (zh) * | 2019-08-21 | 2022-08-09 | 浙江大华技术股份有限公司 | 线性模型预测方法、装置、编码器及存储装置 |
| CN114342410B (zh) | 2019-09-05 | 2025-03-21 | 北京字节跳动网络技术有限公司 | 帧内块复制模式下块矢量的范围约束 |
| CN110476960B (zh) * | 2019-09-19 | 2021-06-15 | 河北省农林科学院植物保护研究所 | 噻虫胺薄膜缓释型种子处理悬浮剂及其制备方法与应用 |
| JP7328445B2 (ja) | 2019-09-19 | 2023-08-16 | 北京字節跳動網絡技術有限公司 | ビデオコーディングにおける参照サンプル位置の導出 |
| CN117596400A (zh) | 2019-09-20 | 2024-02-23 | 北京字节跳动网络技术有限公司 | 编解码块的缩放过程 |
| CN114747220B (zh) | 2019-09-21 | 2024-01-16 | Lg电子株式会社 | 基于变换的图像编码方法及其设备 |
| EP4018664A4 (en) | 2019-09-23 | 2022-11-16 | Beijing Bytedance Network Technology Co., Ltd. | SETTING AN INTRA-BLOCK COPY VIRTUAL BUFFER BASED ON A VIRTUAL PIPELINE DATA UNIT |
| CN114450959B (zh) | 2019-09-28 | 2024-08-02 | 北京字节跳动网络技术有限公司 | 视频编解码中的几何分割模式 |
| CN112584157B (zh) * | 2019-09-30 | 2025-02-07 | 瑞芯微电子股份有限公司 | 一种avs2反变换装置及方法 |
| JP7414980B2 (ja) | 2019-10-13 | 2024-01-16 | 北京字節跳動網絡技術有限公司 | 参照ピクチャリサンプリングと映像コーディングツールとの間の相互作用 |
| US11368723B2 (en) | 2019-10-22 | 2022-06-21 | Tencent America LLC | Signaling of coding tools for encoding a video component as monochrome video |
| KR20260003392A (ko) | 2019-10-28 | 2026-01-06 | 두인 비전 컴퍼니 리미티드 | 색상 성분에 기초한 신택스 시그널링 및 파싱 |
| WO2021088951A1 (en) | 2019-11-07 | 2021-05-14 | Beijing Bytedance Network Technology Co., Ltd. | Quantization properties of adaptive in-loop color-space transform for video coding |
| KR102192631B1 (ko) * | 2019-11-28 | 2020-12-17 | 주식회사우경정보기술 | 병렬 포렌식 마킹 장치 및 방법 |
| US12238273B2 (en) * | 2019-12-03 | 2025-02-25 | Mellanox Technologies, Ltd | Video coding system |
| EP4066502A4 (en) | 2019-12-27 | 2023-01-18 | Beijing Bytedance Network Technology Co., Ltd. | Signaling of slice types in video pictures headers |
| CN114902661A (zh) * | 2019-12-30 | 2022-08-12 | 华为技术有限公司 | 用于跨分量线性模型预测的滤波方法和装置 |
| EP4087252A4 (en) * | 2019-12-31 | 2023-01-25 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Transform method, encoder, decoder, and storage medium |
| WO2021180020A1 (en) | 2020-03-07 | 2021-09-16 | Beijing Bytedance Network Technology Co., Ltd. | Implicit multiple transform set signaling in video coding |
| CN115362674A (zh) | 2020-03-18 | 2022-11-18 | 抖音视界有限公司 | 帧内块复制缓冲区和调色板预测值更新 |
| WO2021086237A2 (en) * | 2020-04-01 | 2021-05-06 | Huawei Technologies Co., Ltd. | Method and apparatus of sample fetching and padding for downsampling filtering for cross-component linear model prediction |
| EP4131975A4 (en) * | 2020-04-14 | 2023-11-22 | LG Electronics, Inc. | POINT CLOUD DATA TRANSMITTING APPARATUS, POINT CLOUD DATA TRANSMITTING METHOD, POINT CLOUD DATA RECEIVING APPARATUS, AND POINT CLOUD DATA RECEIVING METHOD |
| US11310504B2 (en) * | 2020-07-30 | 2022-04-19 | Tencent America LLC | Complexity reduction for 32-p and 64-p LGT |
| US11683490B2 (en) * | 2020-09-10 | 2023-06-20 | Tencent America LLC | Context adaptive transform set |
| WO2022108421A1 (ko) * | 2020-11-23 | 2022-05-27 | 현대자동차주식회사 | 적응적 대체 모드를 이용한 영상 부호화 및 복호화 방법 |
| US11394987B2 (en) * | 2020-12-11 | 2022-07-19 | Qualcomm Incorporated | Chroma samples from luma samples prediction for video coding |
| EP4300966A4 (en) * | 2021-02-24 | 2025-03-05 | LG Electronics Inc. | Image coding method and device therefor |
| US12206899B2 (en) * | 2021-09-27 | 2025-01-21 | Arkaos S.A. | Method and apparatus for compression and decompression of video data without intraframe prediction |
| US12339902B2 (en) | 2021-10-05 | 2025-06-24 | Mellanox Technologies, Ltd | Hardware accelerated video encoding |
| WO2023110337A1 (en) * | 2021-12-18 | 2023-06-22 | Nokia Technologies Oy | Coding cu with four-side reference samples for massive parallel coding |
| US12166998B2 (en) * | 2022-01-12 | 2024-12-10 | Tencent America LLC | Adjustment based local illumination compensation |
| US12368892B2 (en) | 2023-10-04 | 2025-07-22 | Tencent America LLC | Flexible transform scheme for residual blocks |
| US12439089B2 (en) * | 2023-10-04 | 2025-10-07 | Tencent America LLC | Short distance predictions for residual blocks |
Family Cites Families (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102388614B (zh) * | 2009-04-08 | 2015-04-29 | 夏普株式会社 | 运动图像编码装置以及运动图像解码装置 |
| KR101457894B1 (ko) * | 2009-10-28 | 2014-11-05 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
| JP2011223303A (ja) * | 2010-04-09 | 2011-11-04 | Sony Corp | 画像符号化装置と画像符号化方法および画像復号化装置と画像復号化方法 |
| CN107018424B (zh) * | 2011-05-20 | 2020-06-09 | 索尼公司 | 图像处理装置和图像处理方法 |
| GB2492333B (en) * | 2011-06-27 | 2018-12-12 | British Broadcasting Corp | Video encoding and decoding using transforms |
| US9807426B2 (en) * | 2011-07-01 | 2017-10-31 | Qualcomm Incorporated | Applying non-square transforms to video data |
| JP5810700B2 (ja) * | 2011-07-19 | 2015-11-11 | ソニー株式会社 | 画像処理装置及び画像処理方法 |
| KR101606131B1 (ko) | 2011-08-08 | 2016-03-25 | 구글 테크놀로지 홀딩스 엘엘씨 | 변환 유닛 분할의 잔여 트리 구조 |
| US9787982B2 (en) | 2011-09-12 | 2017-10-10 | Qualcomm Incorporated | Non-square transform units and prediction units in video coding |
| CN103096052B (zh) * | 2011-11-04 | 2015-11-25 | 华为技术有限公司 | 一种图像编码、解码的方法和装置 |
| CN103096053B (zh) * | 2011-11-04 | 2015-10-07 | 华为技术有限公司 | 一种变换模式的编解码方法和装置 |
| GB2498550B (en) * | 2012-01-19 | 2016-02-24 | Canon Kk | Method and device for processing components of an image for encoding or decoding |
| US9462275B2 (en) * | 2012-01-30 | 2016-10-04 | Qualcomm Incorporated | Residual quad tree (RQT) coding for video coding |
| EP2830312A4 (en) * | 2012-03-20 | 2015-12-02 | Samsung Electronics Co Ltd | METHOD AND DEVICE FOR CODING SCALABLE VIDEOS BASED ON A COTTING UNIT WITH TREE STRUCTURE AND METHOD AND DEVICE FOR DECODING A SCALABLE VIDEO BASED ON A COTTING UNIT WITH A TREE STRUCTURE |
| US9467701B2 (en) * | 2012-04-05 | 2016-10-11 | Qualcomm Incorporated | Coded block flag coding |
| US9912944B2 (en) * | 2012-04-16 | 2018-03-06 | Qualcomm Incorporated | Simplified non-square quadtree transforms for video coding |
| GB2501535A (en) * | 2012-04-26 | 2013-10-30 | Sony Corp | Chrominance Processing in High Efficiency Video Codecs |
| US9667994B2 (en) * | 2012-10-01 | 2017-05-30 | Qualcomm Incorporated | Intra-coding for 4:2:2 sample format in video coding |
| KR102657912B1 (ko) * | 2012-10-01 | 2024-04-15 | 지이 비디오 컴프레션, 엘엘씨 | 향상 레이어에서 변환 계수 블록들의 서브블록-기반 코딩을 이용한 스케일러블 비디오 코딩 |
| US9615090B2 (en) * | 2012-12-28 | 2017-04-04 | Qualcomm Incorporated | Parsing syntax elements in three-dimensional video coding |
| US9800857B2 (en) * | 2013-03-08 | 2017-10-24 | Qualcomm Incorporated | Inter-view residual prediction in multi-view or 3-dimensional video coding |
| US9787989B2 (en) * | 2013-06-11 | 2017-10-10 | Blackberry Limited | Intra-coding mode-dependent quantization tuning |
| EP3021578B1 (en) * | 2013-07-10 | 2019-01-02 | KDDI Corporation | Sub-sampling of reference pixels for chroma prediction based on luma intra prediction mode |
| WO2015011752A1 (ja) | 2013-07-22 | 2015-01-29 | ルネサスエレクトロニクス株式会社 | 動画像符号化装置およびその動作方法 |
| DE202015009312U1 (de) * | 2014-01-26 | 2017-02-03 | Cable Television Laboratories, Inc. | Datentransformation |
| WO2016090568A1 (en) | 2014-12-10 | 2016-06-16 | Mediatek Singapore Pte. Ltd. | Binary tree block partitioning structure |
| US10306229B2 (en) | 2015-01-26 | 2019-05-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
| US10455249B2 (en) | 2015-03-20 | 2019-10-22 | Qualcomm Incorporated | Downsampling process for linear model prediction mode |
| WO2016154963A1 (en) * | 2015-04-01 | 2016-10-06 | Mediatek Inc. | Methods for chroma coding in video codec |
| US10356416B2 (en) | 2015-06-09 | 2019-07-16 | Qualcomm Incorporated | Systems and methods of determining illumination compensation status for video coding |
| CN104954806A (zh) * | 2015-06-24 | 2015-09-30 | 上海交通大学 | 帧内视频优化编码方法 |
| US20170150186A1 (en) | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Flexible transform tree structure in video coding |
-
2016
- 2016-11-22 US US15/359,577 patent/US20170150186A1/en not_active Abandoned
- 2016-11-22 US US15/359,572 patent/US20170150156A1/en not_active Abandoned
- 2016-11-22 US US15/359,568 patent/US10200719B2/en active Active
- 2016-11-22 US US15/359,563 patent/US20170150176A1/en not_active Abandoned
- 2016-11-23 JP JP2018526699A patent/JP2018535610A/ja active Pending
- 2016-11-23 JP JP2018526684A patent/JP2019500778A/ja active Pending
- 2016-11-23 BR BR112018010517A patent/BR112018010517A2/pt not_active Application Discontinuation
- 2016-11-23 WO PCT/US2016/063672 patent/WO2017091770A1/en not_active Ceased
- 2016-11-23 AU AU2016359155A patent/AU2016359155A1/en not_active Abandoned
- 2016-11-23 WO PCT/US2016/063653 patent/WO2017091759A1/en not_active Ceased
- 2016-11-23 EP EP16810561.7A patent/EP3381191A1/en not_active Withdrawn
- 2016-11-23 CN CN201680068137.8A patent/CN108293112B/zh active Active
- 2016-11-23 BR BR112018010664A patent/BR112018010664A8/pt not_active Application Discontinuation
- 2016-11-23 AU AU2016359171A patent/AU2016359171A1/en not_active Abandoned
- 2016-11-23 KR KR1020187014615A patent/KR102048169B1/ko active Active
- 2016-11-23 EP EP16810562.5A patent/EP3381186B1/en active Active
- 2016-11-23 KR KR1020187014616A patent/KR20180084815A/ko not_active Withdrawn
- 2016-11-23 CN CN201680068132.5A patent/CN108464002A/zh active Pending
- 2016-11-23 WO PCT/US2016/063677 patent/WO2017091773A1/en not_active Ceased
- 2016-11-23 BR BR112018010660A patent/BR112018010660A8/pt not_active Application Discontinuation
- 2016-11-23 CN CN201680068398.XA patent/CN108293137A/zh active Pending
- 2016-11-23 BR BR112018010534A patent/BR112018010534A2/pt not_active Application Discontinuation
- 2016-11-23 KR KR1020187014617A patent/KR20180084816A/ko not_active Withdrawn
- 2016-11-23 AU AU2016359168A patent/AU2016359168A1/en not_active Abandoned
- 2016-11-23 AU AU2016359165A patent/AU2016359165A1/en not_active Abandoned
- 2016-11-23 WO PCT/US2016/063680 patent/WO2017091776A1/en not_active Ceased
- 2016-11-23 EP EP16816051.3A patent/EP3381188A1/en not_active Withdrawn
- 2016-11-23 JP JP2018526697A patent/JP2019500779A/ja active Pending
- 2016-11-23 CN CN201680068139.7A patent/CN108293119B/zh active Active
- 2016-11-23 KR KR1020187014614A patent/KR20180084813A/ko not_active Withdrawn
- 2016-11-23 JP JP2018526698A patent/JP2018535609A/ja active Pending
- 2016-11-23 EP EP16819726.7A patent/EP3381189A1/en not_active Ceased
- 2016-11-24 TW TW105138729A patent/TWI705701B/zh active
- 2016-11-24 TW TW105138732A patent/TW201722157A/zh unknown
- 2016-11-24 TW TW105138733A patent/TW201729593A/zh unknown
- 2016-11-24 TW TW105138730A patent/TW201729592A/zh unknown
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102048169B1 (ko) | 비디오 코딩에서 비-스퀘어 변환 유닛들에 대한 변환 계수들의 수정 | |
| JP7295879B2 (ja) | 角度モードで拡張された位置依存型イントラ予測組合せ | |
| CN109716765B (zh) | 用于视频译码中的帧内预测的经改进内插滤波器 | |
| JP6818135B2 (ja) | ビデオコーディングのための可変数のイントラモード | |
| JP2020503815A (ja) | ビデオコーディングのためのイントラ予測技法 | |
| KR20190097036A (ko) | 비디오 코딩을 위해 액세스하는 샘플을 갖는 선형 모델 예측 모드 | |
| JP2020526956A (ja) | ビデオコーディングにおける改善されたイントラ予測 | |
| KR20190008230A (ko) | 비디오 코딩에서 적응적 루프 필터링에서의 다중 필터들의 혼동 | |
| JP2018521539A (ja) | ビデオデータの特定のピクチャ内のインターコーディングのための探索範囲決定 | |
| JP2016537839A (ja) | Hevcにおけるサブ予測ユニット(pu)ベースの時間的動きベクトル予測および3d−hevcにおけるサブpu設計 | |
| JP2024501331A (ja) | ビデオコーディング中にフィルタ処理するための複数のニューラルネットワークモデル | |
| JP2024512926A (ja) | 隣接しない候補とamvpインデックスのシグナリングとを用いたテンプレートマッチングベースの高度動きベクトル予測子(amvp)候補リストの構築 |