JP2023179591A - Method and apparatus for intra sub-partition coding mode - Google Patents

Method and apparatus for intra sub-partition coding mode Download PDF

Info

Publication number
JP2023179591A
JP2023179591A JP2023170524A JP2023170524A JP2023179591A JP 2023179591 A JP2023179591 A JP 2023179591A JP 2023170524 A JP2023170524 A JP 2023170524A JP 2023170524 A JP2023170524 A JP 2023170524A JP 2023179591 A JP2023179591 A JP 2023179591A
Authority
JP
Japan
Prior art keywords
block
flag
chroma
intra
subpartitions
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
Application number
JP2023170524A
Other languages
Japanese (ja)
Inventor
チェルニャーク,ローマン・イゴレヴィチ
Igorevich Chernyak Roman
ソロビヨフ,ティモフェイ・ミハイロヴィチ
Mikhailovich Solovyev Timofey
ジャオ,イン
Yin Zhao
ユリエヴィチ イコニン,セルゲイ
Yurievich Ikonin Sergey
チェン,ジェンレェ
Jianle Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2023179591A publication Critical patent/JP2023179591A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

To provide an apparatus and a method for an Intra Sub-Partition (ISP).SOLUTION: The method includes steps of: obtaining information of ISP; and determining a size of a chroma transform block (TB) of a coding unit on the basis of SubWidthC and SubHeightC when at least first condition is fulfilled. The first condition includes information of the ISP indicating that the ISP is used for splitting a luma coding block. SubWidthC and SubHeightC are variables depending on chroma format information. The chroma format information indicates a chroma format of a picture to which the coding unit is belonged. The method can be applied to all the chroma format, and the chroma format includes at least one of 4:2:0, 4:2:2, and 4:4:4.SELECTED DRAWING: Figure 9

Description

(削除) (delete)

技術分野
本出願(開示)の実施態様は、一般に、ピクチャ処理の分野に関連し、より具体的にはサブ・パーティション(ISP)コーディング・モードに関連する。
TECHNICAL FIELD Implementations of the present disclosure relate generally to the field of picture processing, and more specifically to sub-partition (ISP) coding modes.

ビデオ・コーディング(ビデオ符号化及び復号化)は、幅広いデジタル・ビデオ・アプリケーションにおいて、例えば放送用デジタルTV、インターネットやモバイル・ネットワークを介したビデオ伝送、ビデオ・チャットのようなリアルタイム会話アプリケーション、ビデオ会議、DVD及びブルーレイ・ディスク、ビデオ・コンテンツ捕捉編集システム、及びセキュリティ・アプリケーションのカムコーダにおいて使用される。 Video coding (video encoding and decoding) is used in a wide range of digital video applications, such as broadcast digital TV, video transmission over the Internet and mobile networks, real-time conversation applications such as video chat, video conferencing, etc. used in camcorders, DVD and Blu-ray discs, video content capture and editing systems, and security applications.

比較的短いビデオでさえ描写するために必要とされるビデオ・データの量は、相当なものである可能性があり、データが、限られた帯域幅容量を有する通信ネットワークを介してストリーミングされるか又は別の方法で通信される場合には、困難を生じる可能性がある。従って、ビデオ・データは、一般に、今日の電気通信ネットワークを介して通信される前に圧縮される。また、ビデオがストレージ・デバイスに記憶される場合には、メモリ・リソースが制限される可能性があるので、ビデオのサイズも問題となる可能性がある。ビデオ圧縮デバイスは、しばしば、伝送又は記憶の前にビデオ・データをコーディング化するためにソースにおいてソフトウェア及び/又はハードウェアを使用し、それによってデジタル・ビデオ画像を表すのに必要なデータ量を減少させる。次いで、圧縮されたデータは、ビデオ・データを復号化するビデオ非圧縮デバイスによって宛先で受信される。限られたネットワーク・リソース及びより高いビデオ品質の絶え間なく増進する要請により、画像品質にほとんど犠牲を払わずに圧縮率を改善する改良された圧縮及び非圧縮技術が望まれる。 The amount of video data required to depict even a relatively short video can be substantial, and the data is streamed over communication networks with limited bandwidth capacity. or otherwise communicated, difficulties may arise. Therefore, video data is typically compressed before being communicated over today's telecommunications networks. The size of the video may also be an issue, as memory resources may be limited if the video is stored on a storage device. Video compression devices often use software and/or hardware at the source to encode video data before transmission or storage, thereby reducing the amount of data needed to represent a digital video image. let The compressed data is then received at the destination by a video decompression device that decodes the video data. With limited network resources and the ever-increasing demand for higher video quality, improved compression and decompression techniques are desired that improve compression ratios with little sacrifice in image quality.

イントラ・サブ・パーティション(ISP)コーディング・モードは、ライン・ベース・イントラ予測(LIP)コーディングのアップデートされたバージョンである。ISP技術はルマ・ブロックに対してのみサブ・パーティショニングを実行し、クロマ・ブロックに対しては、予測と更なる変換がパーティショニングなしにコーディング・ユニット全体に対して実行される。ISP用のコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するための正確で汎用的な方法を提供することが目的である。 Intra-subpartition (ISP) coding mode is an updated version of line-based intra-prediction (LIP) coding. ISP techniques perform sub-partitioning only on luma blocks, and for chroma blocks, prediction and further transformations are performed on the entire coding unit without partitioning. The objective is to provide an accurate and versatile method for determining the size of a chroma transform block (TB) of a coding unit for ISP.

本願の実施形態は、独立請求項による符号化及び復号化のための装置及び方法を提供する。 Embodiments of the present application provide an apparatus and a method for encoding and decoding according to the independent claims.

上記及び他の目的は、独立請求項の対象事項によって達成される。更なる実装形式は、従属請求項、明細書及び図面から明らかである。 These and other objects are achieved by the subject matter of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the drawing.

第1態様によれば、本発明は復号化装置によって実行される方法に関連する。方法は:イントラ・サブ・パーティション(ISP)の情報を取得するステップであって、ISPの情報は、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されるかどうかを示す、ステップと;少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するステップとを含む。SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数である。クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)ISPの情報が、ルマ・コーディング・ブロックを分割するためにISPが使用されることを示していることを含む。 According to a first aspect, the invention relates to a method performed by a decoding device. The method includes: obtaining intra sub-partition (ISP) information, the ISP information indicating whether the ISP is used to partition a luma coding block of the coding unit; and determining a size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC if at least the first condition is satisfied. SubWidthC and SubHeightC are variables that depend on chroma format information. The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is at least one of 4:2:0, 4:2:2, or 4:4:4. including. The first condition is: 1) a single tree is used to partition the coding unit, and 2) the ISP information indicates that the ISP is used to partition the luma coding blocks. Including what is shown.

第2態様によれば、本発明は符号化装置によって実行される方法に関連する。方法は:少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロックのサイズを決定するステップを含む。SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数である。クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを含む。方法は、ビットストリームを符号化するステップを更に含み、ビットストリームは、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを示す情報を含む。 According to a second aspect, the invention relates to a method performed by an encoding device. The method includes: determining a size of a chroma transform block of a coding unit based on SubWidthC and SubHeightC if at least a first condition is satisfied. SubWidthC and SubHeightC are variables that depend on chroma format information. The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is at least one of 4:2:0, 4:2:2, or 4:4:4. including. The first condition includes: 1) a single tree is used to partition the coding unit, and 2) an ISP is used to partition the luma coding blocks of the coding unit. . The method further includes encoding the bitstream, the bitstream including information indicating that an ISP is used to partition luma coding blocks of the coding unit.

本発明の第1態様による方法は、本発明の第3態様による復号化装置によって実行することが可能である。装置1100は取得ユニット1101と決定ユニット1102を含む。取得ユニット1101は、ISPの情報を取得するように構成され、ISPの情報は、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されるかどうかを示す。決定ユニット1102は、少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するように構成されており、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数である。クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)ISPの情報が、ルマ・コーディング・ブロックを分割するためにISPが使用されることを示していることを含む。本発明の第3態様による方法の更なる特徴及び実装形式は、本発明の第1態様による装置の特徴及び実装形式に対応する。 The method according to the first aspect of the invention can be performed by a decoding device according to the third aspect of the invention. The device 1100 includes an acquisition unit 1101 and a determination unit 1102. The acquisition unit 1101 is configured to acquire ISP information, where the ISP information indicates whether the ISP is used to divide the luma coding blocks of the coding unit. The determining unit 1102 is configured to determine the size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC, where SubWidthC and SubHeightC are chroma This is a variable that depends on format information. The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is at least one of 4:2:0, 4:2:2, or 4:4:4. including. The first condition is: 1) a single tree is used to partition the coding unit, and 2) the ISP information indicates that the ISP is used to partition the luma coding blocks. Including what is shown. Further features and forms of implementation of the method according to the third aspect of the invention correspond to features and forms of implementation of the apparatus according to the first aspect of the invention.

本発明の第2態様による方法は、本発明の第4態様による符号化装置によって実行されることが可能である。装置1200は決定ユニット1201と符号化ユニット1202を含む。決定ユニット1201は、少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロックのサイズを決定するように構成される。SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する2つの変数である。クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを含む。符号化ユニット1202は、ビットストリームを符号化するように構成されており、ビットストリームは、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを示す情報を含む。 The method according to the second aspect of the invention can be performed by an encoding device according to the fourth aspect of the invention. Apparatus 1200 includes a determining unit 1201 and an encoding unit 1202. The determining unit 1201 is configured to determine the size of the chroma transform block of the coding unit based on SubWidthC and SubHeightC if at least the first condition is fulfilled. SubWidthC and SubHeightC are two variables that depend on chroma format information. The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is at least one of 4:2:0, 4:2:2, or 4:4:4. including. The first condition includes: 1) a single tree is used to partition the coding unit, and 2) an ISP is used to partition the luma coding blocks of the coding unit. . Encoding unit 1202 is configured to encode a bitstream, where the bitstream includes information indicating that an ISP is used to partition luma coding blocks of the coding unit.

本発明の第4態様による方法の更なる特徴及び実装形式は、本発明の第2態様による装置の特徴及び実装形式に対応する。 Further features and forms of implementation of the method according to the fourth aspect of the invention correspond to features and forms of implementation of the apparatus according to the second aspect of the invention.

第5態様によれば、本発明は、ビデオ・ストリームを復号化する装置に関連し、プロセッサ及びメモリを含む。メモリは、第1態様による方法をプロセッサに実行させる命令を記憶している。 According to a fifth aspect, the invention relates to an apparatus for decoding a video stream, including a processor and a memory. The memory stores instructions that cause the processor to perform the method according to the first aspect.

第6態様によれば、本発明は、ビデオ・ストリームを符号化する装置に関連し、プロセッサ及びメモリを含む。メモリは、第2態様による方法をプロセッサに実行させる命令を記憶している。 According to a sixth aspect, the invention relates to an apparatus for encoding a video stream, including a processor and a memory. The memory stores instructions that cause the processor to perform the method according to the second aspect.

第7態様によれば、実行されると、ビデオ・データをコーディングするように1つ以上のプロセッサが構築されることを引き起こす命令を記憶したコンピュータ読み取り可能な記憶媒体が提案される。命令は、第1態様若しくは第2態様又は第1態様若しくは第2態様の任意の可能な実施形態による方法を、1つ以上のプロセッサに実行させる。 According to a seventh aspect, a computer readable storage medium is proposed having instructions stored thereon that, when executed, cause one or more processors to be configured to code video data. The instructions cause one or more processors to perform a method according to the first aspect or the second aspect or any possible embodiment of the first aspect or the second aspect.

第8態様によれば、本発明は、コンピュータ上で実行されると、第1若しくは第2態様又は第1若しくは第2態様の任意の可能な実施形態による方法を実行するためのプログラム・コードを含むコンピュータ・プログラムに関連する。本発明の実施形態は、全てのクロマ・フォーマットに適用される。クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。ISP用のクロマ変換ブロックのサイズを決定するための正確で汎用的な方法が達成される。以下、1つ以上の実施形態の詳細が添付図面及び明細書で説明される。他の特徴、目的、及び利点は、明細書、図面、及び特許請求の範囲から明らかであろう。 According to an eighth aspect, the invention provides a program code for carrying out the method according to the first or second aspect or any possible embodiment of the first or second aspect when executed on a computer. Relates to computer programs containing. Embodiments of the invention apply to all chroma formats. The chroma format includes at least one of 4:2:0, or 4:2:2, or 4:4:4. An accurate and versatile method for determining the size of chroma transform blocks for ISP is achieved. The details of one or more embodiments are set forth in the accompanying drawings and the specification below. Other features, objects, and advantages will be apparent from the description, drawings, and claims.

以下、添付図面及び図を参照しながら本発明の実施形態をより詳細に説明する。
本発明の実施形態を実現するように構成されたビデオ・コーディング・システムの一例を示すブロック図である。 本発明の実施形態を実現するように構成されたビデオ・コーディング・システムの別の例を示すブロック図である。 本発明の実施形態を実現するように構成されたビデオ・エンコーダの一例を示すブロック図である。 本発明の実施形態を実現するように構成されたビデオ・デコーダの例示的な構造を示すブロック図である。 符号化装置又は復号化装置の一例を示すブロック図である。 符号化装置又は復号化装置の別の例を示すブロック図である。 ピクチャにおける4:2:0ルマ及びクロマ・サンプルの名目上の垂直及び水平位置である。 ピクチャにおける4:2:2ルマ及びクロマ・サンプルの名目上の垂直及び水平位置である。 ピクチャにおける4:4:4ルマ及びクロマ・サンプルの名目上の垂直及び水平位置である。 本発明による復号化装置によって実行されるISPコーディング方法の実施形態を示す。 本発明による符号化装置によって実行されるISPコーディング方法の実施形態を示す。 本発明による復号化装置の実施形態を例示する。 本発明による符号化装置の実施形態を例示する。 コンテンツ配信サービスを実現するコンテンツ供給システム3100の構成例を示すブロック図である。 端末デバイスの一例の構成を示すブロック図である。
Hereinafter, embodiments of the present invention will be described in more detail with reference to the accompanying drawings and drawings.
FIG. 1 is a block diagram illustrating an example of a video coding system configured to implement embodiments of the present invention. 1 is a block diagram illustrating another example of a video coding system configured to implement embodiments of the present invention. FIG. 1 is a block diagram illustrating an example of a video encoder configured to implement embodiments of the present invention. FIG. 1 is a block diagram illustrating an exemplary structure of a video decoder configured to implement embodiments of the present invention. FIG. FIG. 1 is a block diagram showing an example of an encoding device or a decoding device. FIG. 2 is a block diagram showing another example of an encoding device or a decoding device. The nominal vertical and horizontal position of the 4:2:0 luma and chroma samples in the picture. The nominal vertical and horizontal position of the 4:2:2 luma and chroma samples in the picture. The nominal vertical and horizontal position of 4:4:4 luma and chroma samples in a picture. 1 shows an embodiment of an ISP coding method performed by a decoding device according to the invention; 1 shows an embodiment of an ISP coding method performed by a coding device according to the invention; 1 illustrates an embodiment of a decoding device according to the present invention. 1 illustrates an embodiment of an encoding device according to the present invention. FIG. 3 is a block diagram showing a configuration example of a content supply system 3100 that implements a content distribution service. FIG. 2 is a block diagram showing the configuration of an example of a terminal device.

以下において、明示的に別意に述べられていなければ、同一の参照符号は同一の又は少なくとも機能的に同等な特徴を指す。 In the following, identical reference symbols refer to identical or at least functionally equivalent features, unless explicitly stated otherwise.

以下の説明において、本開示の一部を成し、例示として本発明の実施形態の特定の態様又は本発明の実施形態が使用される可能性のある特定の態様を示す添付図面が参照される。本発明の実施形態は、他の態様で使用される可能性があり、添付図面に示されていない構造的又は論理的な変更を含む可能性があることが理解される。従って、以下の詳細な説明は、限定する意味で解釈するべきではなく、本発明の範囲は、添付の特許請求の範囲によって定められる。 In the following description, reference is made to the accompanying drawings, which form a part of the present disclosure, and which illustrate, by way of example, certain aspects of embodiments of the invention or in which embodiments of the invention may be used. . It is understood that embodiments of the invention may be used in other ways and may include structural or logical changes not shown in the accompanying drawings. Therefore, the following detailed description should not be construed in a limiting sense, with the scope of the invention being defined by the appended claims.

例えば、説明される方法に関連する開示は、方法を実行するように構成された対応するデバイス又はシステムにも当てはまる可能性があり、その逆も可能であることが理解される。例えば、1つ以上の特定の方法ステップが説明される場合、対応するデバイスは、説明された1つ以上の方法ステップを実行するための機能ユニットのような1つ以上のユニット(例えば、1つ以上のステップを実行する1つのユニット、又は複数のステップのうちの1つ以上を各々が実行する複数のユニット)を、たとえそのような1つ以上のユニットが図面において明示的に図示も説明もされていなかったとしても、含む可能性がある。一方、例えば、機能ユニットのような1つ以上のユニットに基づいて、特定の装置が説明される場合、対応する方法は、1つ以上のユニットの機能を実行するための1つのステップ(例えば、1つ以上のユニットの機能を実行するための1つのステップ、又は複数のユニットのうちの1つ以上の機能を各々が実行する複数のステップ)を、たとえそのような1つ以上のステップが図面において明示的に図示も説明もされていなかったとしても、含む可能性がある。更に、本願で説明される様々な例示的な実施形態及び/又は態様の特徴は、別意に述べられていない限り、互いに組み合わせられる可能性があることは理解される。 For example, it is understood that disclosures related to the described methods may also apply to corresponding devices or systems configured to perform the methods, and vice versa. For example, if one or more particular method steps are described, the corresponding device may include one or more units, such as functional units (e.g., one a unit that performs the above steps, or multiple units that each perform one or more of the steps), even if such unit or units are not explicitly shown or described in the drawings. Even if it is not, it may still be included. On the other hand, if a particular device is described on the basis of one or more units, e.g. a step for performing a function of one or more units, or multiple steps each performing a function of one or more of a plurality of units), even if such one or more steps are may be included even if not explicitly shown or described. Furthermore, it is understood that the features of the various exemplary embodiments and/or aspects described herein may be combined with each other, unless stated otherwise.

ビデオ・コーディングは、典型的には、ビデオ又はビデオ・シーケンスを形成する一連のピクチャの処理を示す。ビデオ・コーディングの分野では、用語「ピクチャ」の代わりに、用語「フレーム」又は「画像」が同義語として使用されてもよい。ビデオ・コーディング(又は、一般的にはコーディング)は、2つの部分、ビデオ符号化又はビデオ復号化を含む。ビデオ符号化は、ソース側で実行され、典型的には、ビデオ・ピクチャを表すのに必要なデータ量を減らすために(より効率的な記憶及び/又は伝送のために)オリジナル・ビデオ・ピクチャを(例えば、圧縮により)処理することを含む。ビデオ復号化は、宛先側で実行され、典型的には、ビデオ・ピクチャを再構成するために、エンコーダと比較して逆の処理を含む。ビデオ・ピクチャ(又は、一般的にはピクチャ)の「コーディング」に対する実施形態は、ビデオ・ピクチャ又は個々のビデオ・シーケンスの「符号化」又は「復号化」に関連するように理解されるものとする。符号化の部分及び復号化の部分の組み合わせはまた、CODEC(Coding and Decoding)と言及される。 Video coding typically refers to the processing of a sequence of pictures to form a video or a video sequence. In the field of video coding, instead of the term "picture", the term "frame" or "image" may be used synonymously. Video coding (or coding in general) includes two parts: video encoding or video decoding. Video encoding is performed at the source and typically encodes the original video picture (for more efficient storage and/or transmission) to reduce the amount of data needed to represent the video picture. (e.g., by compression). Video decoding is performed at the destination and typically involves inverse processing compared to the encoder to reconstruct the video picture. Embodiments for "coding" of video pictures (or pictures in general) shall be understood as relating to "encoding" or "decoding" of video pictures or individual video sequences. do. The combination of encoding part and decoding part is also referred to as CODEC (Coding and Decoding).

ロスレス・ビデオ・コーディングの場合、オリジナル・ビデオ・ピクチャを再構成することが可能であり、即ち、再構成されたビデオ・ピクチャはオリジナル・ビデオ・ピクチャと同じ質を有する(記憶及び伝送の間に、伝送ロス又は他のデータ・ロスは無いことを仮定している)。ロスレスでないビデオ・コーディングの場合、ビデオ・ピクチャを表現するデータ量を減らすために、例えば量子化によって更なる圧縮が実行され、ビデオ・ピクチャはデコーダ側で完全には再構成することができず、即ち、再構成されたビデオ・ピクチャの質は、オリジナル・ビデオ・ピクチャの質より低いか又は悪い。 In case of lossless video coding, it is possible to reconstruct the original video picture, i.e. the reconstructed video picture has the same quality as the original video picture (during storage and transmission , no transmission loss or other data loss). In the case of non-lossless video coding, further compression is performed, for example by quantization, to reduce the amount of data representing the video picture, and the video picture cannot be completely reconstructed at the decoder side. That is, the quality of the reconstructed video picture is lower or worse than the quality of the original video picture.

幾つかのビデオ・コーディング規格は、「ロスレスでないハイブリッド・ビデオ・コーデックス」のグループに属する(即ち、サンプル・ドメインにおける空間的及び時間的な予測と、変換ドメインにおいて量子化を適用するための2D変換コーディングとを組み合わせる)。ビデオ・シーケンスの各ピクチャは、典型的には、重複しないブロックのセットにパーティション化され、コーディングは、典型的には、ブロック・レベルで実行される。換言すれば、エンコーダ側において、ビデオは、例えば空間(イントラ・ピクチャ)予測及び時間(インター・ピクチャ)予測を用いて予測ブロックを生成すること、現在ブロック(現在の処理済み/処理されるべきブロック)から予測ブロックを減算して残差ブロックを取得すること、残差ブロックを変換すること、変換ドメインにおいて残差ブロックを量子化して、伝送されるべきデータ量を減少させること(圧縮)により、典型的にはブロック(ビデオ・ブロック)レベルで処理され、即ち符号化され、デコーダ側では、エンコーダと比較して逆の処理が、符号化又は圧縮されたブロックに部分的に適用され、表現のために現在ブロックを再構成する。更に、エンコーダは、デコーダの処理ループを繰り返し、その結果、両者は、以後のブロックを処理する、即ちコーディングするために、同じ予測(例えば、イントラ及びインター予測)及び/又は再構成を生じるであろう。 Some video coding standards belong to the group of "non-lossless hybrid video codexes" (i.e. 2D codecs for applying spatial and temporal prediction in the sample domain and quantization in the transform domain). (combined with transform coding). Each picture of a video sequence is typically partitioned into a set of non-overlapping blocks, and coding is typically performed at the block level. In other words, on the encoder side, the video is generated using e.g. spatial (intra-picture) prediction and temporal (inter-picture) prediction to generate predictive blocks, the current block (current processed/to-be-processed block) ) by subtracting the prediction block from the vector to obtain a residual block, transforming the residual block, and quantizing the residual block in the transform domain to reduce the amount of data to be transmitted (compression). Typically processed, i.e. encoded, at the block (video block) level, and at the decoder side, inverse processing compared to the encoder is partially applied to the encoded or compressed block to improve the representation. To reconfigure the current block. Furthermore, the encoder repeats the processing loop of the decoder, so that both may produce the same prediction (e.g., intra and inter prediction) and/or reconstruction in order to process or code subsequent blocks. Dew.

以下、ビデオ・コーディング・システム10、ビデオ・エンコーダ20、及びビデオ・デコーダ30の実施形態を、図1-3に基づいて説明する。 Hereinafter, embodiments of a video coding system 10, a video encoder 20, and a video decoder 30 will be described based on FIGS. 1-3.

図1Aは、例示的なコーディング・システム10、例えば本願の技術を使用することが可能なビデオ・コーディング・システム10(又は略してコーディング・システム10)を示す概略的なブロック図である。ビデオ・コーディング・システム10のビデオ・エンコーダ20(又は略してエンコーダ20)及びビデオ・デコーダ30(又は略してデコーダ30)は、本願で説明される種々の例による技術を実行するように構成される可能性があるデバイスの例を表す。 FIG. 1A is a schematic block diagram illustrating an example coding system 10, such as a video coding system 10 (or coding system 10 for short) that can employ the techniques of the present application. Video encoder 20 (or encoder 20 for short) and video decoder 30 (or decoder 30 for short) of video coding system 10 are configured to perform techniques according to various examples described herein. Represents an example of a possible device.

図1Aに示すように、コーディング・システム10は、符号化されたピクチャ・データ21を、例えば符号化されたピクチャ・データ21を復号化する宛先デバイス14へ提供するように構成されたソース・デバイス12を含む。 As shown in FIG. 1A, coding system 10 includes a source device configured to provide encoded picture data 21 to a destination device 14 that decodes the encoded picture data 21 , for example. Contains 12.

ソース・デバイス12は、エンコーダ20を含み、追加的に、即ちオプションとして、ピクチャ・ソース16、例えばピクチャ前処理ユニット18のような前処理プロセッサ(又は前処理ユニット)18、及び、通信インターフェース又は通信ユニット22を含む可能性がある。 Source device 12 includes an encoder 20 and additionally, or optionally, a picture source 16, a preprocessor (or preprocessing unit) 18, such as a picture preprocessing unit 18, and a communication interface or May contain unit 22.

ピクチャ・ソース16は、例えば実世界のピクチャを捕捉するカメラのような任意の種類のピクチャ捕捉デバイス、及び/又は、例えばコンピュータ・アニメーション・ピクチャを生成するコンピュータ・グラフィックス・プロセッサのような任意の種類のピクチャ生成デバイス、又は実世界のピクチャ、コンピュータ生成ピクチャ(例えば、スクリーン・コンテンツ又はバーチャル・リアリティ(VR)ピクチャ)、及び/又はそれらの任意の組み合わせ(例えば、拡張現実(AR)ピクチャ)を取得及び/又は提供する任意の種類の他のデバイスを含んでもよいし、又はそれらであってもよい。ピクチャ・ソースは、上記の任意のピクチャを記憶する任意の種類のメモリ又はストレージである可能性がある。 Picture source 16 may be any type of picture capture device, such as a camera that captures real-world pictures, and/or any type of picture capture device, such as a computer graphics processor that produces computer animation pictures. any type of picture-generating device, or real-world pictures, computer-generated pictures (e.g., screen content or virtual reality (VR) pictures), and/or any combination thereof (e.g., augmented reality (AR) pictures). It may also include or be any other type of obtaining and/or providing device. A picture source can be any type of memory or storage that stores any of the pictures mentioned above.

前処理ユニット18及び前処理ユニット18により実行される処理と区別して、ピクチャ及びピクチャ・データ17はまた、未処理ピクチャ又は未処理ピクチャ・データ17と呼ばれてもよい。 In distinction from preprocessing unit 18 and the processing performed by preprocessing unit 18, pictures and picture data 17 may also be referred to as unprocessed pictures or unprocessed picture data 17.

前処理ユニット18は、(未処理)ピクチャ・データ17を受信し、ピクチャ・データ17に関して前処理を実行して、前処理されたピクチャ19又は前処理されたピクチャ・データ19を取得するように構成されている。前処理ユニット18によって実行される前処理は、例えば、トリミング、カラー・フォーマット変換(例えば、RGBからYCbCrへ)、色補正、又はノイズ低減を含む可能性がある。前処理ユニット18はオプションの構成要素であってもよいことを理解することが可能である。 Preprocessing unit 18 is configured to receive (unprocessed) picture data 17 and perform preprocessing on picture data 17 to obtain preprocessed pictures 19 or preprocessed picture data 19. It is configured. Pre-processing performed by pre-processing unit 18 may include, for example, cropping, color format conversion (eg, RGB to YCbCr), color correction, or noise reduction. It can be appreciated that pre-processing unit 18 may be an optional component.

ビデオ・エンコーダ20は、前処理されたピクチャ・データ19を受信し、符号化ピクチャ・データ21を提供するように構成される(更なる詳細は、例えば以下において図2に基づいて説明されるであろう)。
ソース・デバイス12の通信インターフェース22は、符号化されたピクチャ・データ21を受信し、符号化されたピクチャ・データ21(又はそれを更に処理した任意のバージョン)を通信チャネル13を介して他のデバイスへ、例えば宛先デバイス14又は任意の他のデバイスへ、記憶又は直接的な再構成のために送信するように構成されることが可能である。
The video encoder 20 is configured to receive preprocessed picture data 19 and provide encoded picture data 21 (further details may be explained, for example, based on FIG. 2 below). ).
A communications interface 22 of source device 12 receives encoded picture data 21 and transmits encoded picture data 21 (or any further processed version thereof) to other sources via communications channel 13. It may be configured to transmit to a device, such as destination device 14 or any other device, for storage or direct reconfiguration.

宛先デバイス14は、デコーダ30(例えば、ビデオ・デコーダ30)を含み、追加的に、即ちオプションとして、通信インターフェース又は通信ユニット28、後処理プロセッサ32(又は後処理ユニット32)、及び表示デバイス34を含む可能性がある。 Destination device 14 includes a decoder 30 (e.g., video decoder 30) and additionally or optionally includes a communication interface or unit 28, a post-processing processor 32 (or post-processing unit 32), and a display device 34. May include.

宛先デバイス14の通信インターフェース28は、符号化されたピクチャ・データ21(又はそれらを更に処理した任意のバージョン)を、例えばソース・デバイス12から直接的に、又は任意の他のソースから、例えばソース・デバイスから、例えば符号化されたピクチャ・データのストレージ・デバイスから受信し、符号化されたピクチャ・データ21をデコーダ30に提供するように構成される。 The communication interface 28 of the destination device 14 transmits encoded picture data 21 (or any further processed versions thereof), e.g., directly from the source device 12 or from any other source, e.g. - configured to receive from a device, for example a storage device for encoded picture data, and provide encoded picture data 21 to the decoder 30;

通信インターフェース22及び通信インターフェース28は、ソース・デバイス12と宛先デバイス14との間の直接的な通信リンク、例えば直接的な有線又は無線接続を介して、又は任意の種類のネットワーク、例えば有線若しくは無線ネットワーク又はそれらの任意の組み合わせ、又は任意の種類の私的な及び公的なネットワーク、又はそれらの任意の組み合わせを介して、符号化されたピクチャ・データ21又は符号化されたデータを送信又は受信するように構成されることが可能である。 Communication interface 22 and communication interface 28 may be connected via a direct communication link, such as a direct wired or wireless connection, between source device 12 and destination device 14, or via any type of network, such as wired or wireless. transmitting or transmitting encoded picture data 21 or encoded data over a network or any combination thereof, or over any type of private and public network or any combination thereof; can be configured to receive.

通信インターフェース22は、例えば、符号化されたピクチャ・データ21を、例えばパケットのような適切なフォーマットにパッケージ化し、及び/又は、通信リンク又は通信ネットワークを介する伝送のための任意の種類の伝送符号化又は処理を使用して、符号化されたピクチャ・データを処理するように構成されることが可能である。 The communication interface 22 may, for example, package the encoded picture data 21 into a suitable format, such as a packet, and/or any type of transmission code for transmission over a communication link or network. The encoded picture data can be configured to process encoded picture data using encoding or processing.

通信インターフェース22の対応部分を形成する通信インターフェース28は、例えば、送信されたデータを受信し、符号化されたピクチャ・データ21を取得するために任意の種類の対応する伝送復号化又は処理及び/又は非パッケージ化を使用して、送信データを処理するように構成されることが可能である。 A communication interface 28 forming a corresponding part of the communication interface 22 may, for example, receive transmitted data and carry out any kind of corresponding transmission decoding or processing and/or processing in order to obtain encoded picture data 21. Alternatively, it may be configured to process the transmitted data using unpackaging.

通信インターフェース22及び通信インターフェース28の両方は、図1Aにおいてソース・デバイス12から宛先デバイス14へ向かう通信チャネル13に関する矢印により示される一方向通信インターフェース、又は双方向通信インターフェースとして構成されることが可能であり、例えばメッセージを送信及び受信するように、例えば接続をセットアップするように、通信リンク及び/又はデータ伝送、例えば符号化されたピクチャ・データ伝送に関連する他の任意の情報を確認及び交換するように、構成されることが可能である。 Both communication interface 22 and communication interface 28 can be configured as a one-way communication interface, as indicated by the arrows for communication channel 13 from source device 12 to destination device 14 in FIG. 1A, or as a two-way communication interface. and confirming and exchanging communication links and/or any other information related to data transmissions, e.g. encoded picture data transmissions, e.g. to send and receive messages, e.g. to set up connections, etc. It can be configured as follows.

デコーダ30は、符号化されたピクチャ・データ21を受信し、復号化されたピクチャ・データ31又は復号化されたピクチャ31を提供するように構成される(更なる詳細は、例えば図3又は図5に基づいて、以下において説明されるであろう)。 The decoder 30 is configured to receive encoded picture data 21 and provide decoded picture data 31 or decoded pictures 31 (further details can be found, for example, in FIG. 5 and will be explained below).

宛先デバイス14の後処理プロセッサ32は、例えば復号化されたピクチャ31のような復号化されたピクチャ・データ31(再構成されたピクチャ・データとも呼ばれる)を後処理して、後処理されたピクチャ33のような後処理ピクチャ・データ33を取得するように構成される。後処理ユニット32によって実行される後処理は、例えばカラー・フォーマット変換(例えば、YCbCrからRGBへ)、色補正、トリミング、リサンプリング、又は他の任意の処理、例えば表示デバイス34による表示のための例えば復号化されたピクチャ・データ31を準備するためのもの等を含む可能性がある。 A post-processing processor 32 of the destination device 14 post-processes decoded picture data 31 (also referred to as reconstructed picture data), such as decoded pictures 31, to produce post-processed pictures. 33 is configured to obtain post-processed picture data 33 such as 33. Post-processing performed by post-processing unit 32 may include, for example, color format conversion (e.g., YCbCr to RGB), color correction, cropping, resampling, or any other processing, such as for display by display device 34. For example, it may include things for preparing decoded picture data 31, etc.

宛先デバイス14の表示デバイス34は、後処理ピクチャ・データ33を受信して、ピクチャを、例えばユーザー又はビューアに表示するように構成されている。表示デバイス34は、再構成されたピクチャを表現する任意の種類のディスプレイ、例えば一体化された又は外部のディスプレイ又はモニタであってもよいし、又はそれらを含んでもよい。ディスプレイは、例えば、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)ディスプレイ、プラズマ・ディスプレイ、プロジェクタ、マイクロLEDディスプレイ、液晶オン・シリコン(LCoS)、デジタル光プロセッサ(DLP)、又は任意の他の種類のディスプレイを含む可能性がある。 Display device 34 of destination device 14 is configured to receive post-processed picture data 33 and display the picture, eg, to a user or viewer. Display device 34 may be or include any type of display that represents the reconstructed picture, such as an integrated or external display or monitor. The display may be, for example, a liquid crystal display (LCD), an organic light emitting diode (OLED) display, a plasma display, a projector, a micro-LED display, a liquid crystal on silicon (LCoS), a digital light processor (DLP), or any other type. may include a display.

図1Aは、ソース・デバイス12と宛先デバイス14とを別々のデバイスとして描いているが、デバイスの実施形態はまた、双方又は双方の機能、ソース・デバイス12又は対応する機能と宛先デバイス14又は対応する機能とを含む可能性がある。そのような実施形態では、ソース・デバイス12又は対応する機能と宛先デバイス14又は対応する機能とは、同じハードウェア及び/又はソフトウェアを使用して、又は別個のハードウェア及び/又はソフトウェア、又はそれらの任意の組み合わせにより実現されてもよい。 Although FIG. 1A depicts source device 12 and destination device 14 as separate devices, device embodiments may also include the functionality of both or both, source device 12 or corresponding functionality and destination device 14 or This may include the ability to: In such embodiments, the source device 12 or corresponding functionality and the destination device 14 or corresponding functionality may be configured using the same hardware and/or software, or using separate hardware and/or software. It may be realized by any combination of the following.

明細書に基づいて当業者には明らかであるように、図1Aに示すソース・デバイス12及び/又は宛先デバイス14における機能又は様々なユニットの機能の存在及び(厳密な)分割は、実際のデバイス及び用途に応じて異なる可能性がある。 As will be clear to a person skilled in the art based on the description, the presence and (strict) division of the functions or functions of the various units in the source device 12 and/or destination device 14 shown in FIG. and may vary depending on the application.

エンコーダ20(例えば、ビデオ・エンコーダ20)又はデコーダ30(例えば、ビデオ・デコーダ30)又はエンコーダ20及びデコーダ30の双方は、図1Bに示されるような処理回路により、例えば、1つ以上のマイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ディスクリート・ロジック、ハードウェア、ビデオ・コーディング専用又はそれらの任意の組み合わせにより、実現されることが可能である。エンコーダ20は、図2のエンコーダ20及び/又は本願で説明される他の任意のエンコーダ・システム又はサブシステムに関して説明される様々なモジュールを具現化するために、処理回路46により実施されてもよい。デコーダ30は、図3のデコーダ30及び/又は本願で説明される他の任意のデコーダ・システム又はサブシステムに関して説明される様々なモジュールを具現化するために、処理回路46により実施されてもよい。処理回路は、後述するように様々な動作を実行するように構成されることが可能である。図5に示すように、技術が部分的にソフトウェアで実現される場合、デバイスは、適切な非一時的なコンピュータ読み取り可能な記憶媒体にソフトウェアの命令を記憶し、本開示の技術を実行するために1つ以上のプロセッサを使用するハードウェアで命令を実行することができる。ビデオ・エンコーダ20とビデオ・デコーダ30の何れかは、例えば図1Bに示すように、単一のデバイス内の組み合わされたエンコーダ/デコーダ(CODEC)の一部として統合されてもよい。 Encoder 20 (e.g., video encoder 20) or decoder 30 (e.g., video decoder 30) or both encoder 20 and decoder 30 may be implemented by processing circuitry such as that shown in FIG. 1B, e.g., one or more microprocessors. , digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, hardware, dedicated to video coding, or any combination thereof. Is possible. Encoder 20 may be implemented with processing circuitry 46 to embody the various modules described with respect to encoder 20 of FIG. 2 and/or any other encoder system or subsystem described herein. . Decoder 30 may be implemented with processing circuitry 46 to embody the various modules described with respect to decoder 30 of FIG. 3 and/or any other decoder system or subsystem described herein. . The processing circuitry may be configured to perform various operations as described below. If the techniques are partially implemented in software, as shown in FIG. 5, the device stores software instructions on a suitable non-transitory computer-readable storage medium for performing the techniques of the present disclosure. instructions can be executed in hardware using one or more processors. Either video encoder 20 and video decoder 30 may be integrated as part of a combined encoder/decoder (CODEC) within a single device, as shown in FIG. 1B, for example.

ソース・デバイス12及び宛先デバイス14は、任意の種類のハンドヘルド又はステーショナリ・デバイスを含む広範囲に及ぶ任意のデバイス、例えば、ノートブック又はラップトップ・コンピュータ、携帯電話、スマートフォン、タブレット又はタブレット・コンピュータ、カメラ、デスクトップ・コンピュータ、セット・トップ・ボックス、テレビ、表示デバイス、デジタル・メディア・プレーヤ、ビデオ・ゲーム・コンソール、ビデオ・ストリーミング・デバイス(コンテンツ・サービス・サーバー又はコンテンツ配信サーバー等)、放送受信デバイス、放送送信デバイス等を含む可能性があり、任意の種類のオペレーティング・システムを使用してもよいし、又は使用しなくてもよい。場合によっては、ソース・デバイス12及び宛先デバイス14は無線通信用に装備されてもよい。従って、ソース・デバイス12及び宛先デバイス14は、無線通信デバイスであってもよい。 The source device 12 and the destination device 14 can be any of a wide range of devices, including any type of handheld or stationary device, such as a notebook or laptop computer, a mobile phone, a smart phone, a tablet or tablet computer, a camera, etc. , desktop computers, set top boxes, televisions, display devices, digital media players, video game consoles, video streaming devices (such as content service servers or content distribution servers), broadcast receiving devices, It may include a broadcast transmission device, etc., and may or may not use any type of operating system. In some cases, source device 12 and destination device 14 may be equipped for wireless communication. Accordingly, source device 12 and destination device 14 may be wireless communication devices.

場合によっては、図1Aに示すビデオ・コーディング・システム10は単なる一例に過ぎず、本願の技術は、符号化デバイスと復号化デバイスとの間で何らかのデータ通信を必ずしも含む必要のないビデオ・コーディング設定(例えば、ビデオ符号化又はビデオ復号化)に適用される可能性がある。他の例において、データは、ローカル・メモリから検索され、ネットワークを介してストリーミング等される。ビデオ符号化デバイスは、データを符号化してメモリに格納することが可能であり、及び/又はビデオ復号化デバイスは、データをメモリから検索して復号化することが可能である。幾つかの例では、符号化及び復号化は、互いに通信しないが、メモリへのデータを符号化し及び/又はメモリからデータを検索して復号化するだけのデバイスによって実行される。 In some cases, the video coding system 10 shown in FIG. 1A is just one example, and the techniques of the present application may be useful for video coding setups that do not necessarily involve any data communication between encoding and decoding devices. (e.g. video encoding or video decoding). In other examples, data is retrieved from local memory, streamed over a network, etc. A video encoding device can encode and store data in memory, and/or a video decoding device can retrieve data from memory and decode it. In some examples, encoding and decoding are performed by devices that do not communicate with each other, but only encode data into and/or retrieve and decode data from memory.

説明の便宜上、本発明の実施形態は、例えば高効率ビデオ・コーディング(HEVC)又は汎用ビデオ・コーディング(VVC)、ITU-Tビデオ・コーディング・エキスパート・グループ(VCEG)及びISO/IEC動画エキスパート・グループ(MPEG)のビデオ・コーディングに関する共同研究チーム(JCT-VC)によって開発された次世代ビデオ・コーディング規格の参照ソフトウェアを参照することによって本願で説明される。当業者は、本発明の実施形態がHEVC又はVVCに限定されないことを理解するであろう。 For convenience of explanation, embodiments of the invention may be applied to, for example, High Efficiency Video Coding (HEVC) or General Purpose Video Coding (VVC), ITU-T Video Coding Expert Group (VCEG) and ISO/IEC Video Expert Group. This application is described by reference to the next generation video coding standard reference software developed by the Joint Research Team on Video Coding (MPEG) (JCT-VC). Those skilled in the art will understand that embodiments of the invention are not limited to HEVC or VVC.

エンコーダ及び符号化方法
図2は、本願の技術を実現するように構成された例示的なビデオ・エンコーダ20の概略的なブロック図である。図2の例では、ビデオ・エンコーダ20は、入力102(又は入力インターフェース201)と、残差計算ユニット204と、変換処理ユニット206と、量子化ユニット208と、逆量子化ユニット210と、逆変換処理ユニット212と、再構成ユニット214と、ループ・フィルタ・ユニット220と、復号化されたピクチャのバッファ(DPB)230と、モード選択ユニット260と、エントロピー符号化ユニット270と、出力272(又は出力インターフェース272)とを含む。モード選択ユニット260は、インター予測ユニット244と、イントラ予測ユニット254と、パーティショニング・ユニット262とを含むことが可能である。インター予測ユニット244は、動き推定ユニットと、動き補償ユニット(不図示)とを含むことが可能である。図2に示すビデオ・エンコーダ20はまた、ハイブリッド・ビデオ・エンコーダ又はハイブリッド・ビデオ・コーデックによるビデオ・エンコーダと言及されてもよい。
Encoder and Encoding Method FIG. 2 is a schematic block diagram of an exemplary video encoder 20 configured to implement the present techniques. In the example of FIG. 2, the video encoder 20 includes an input 102 (or input interface 201), a residual calculation unit 204, a transform processing unit 206, a quantization unit 208, an inverse quantization unit 210, and an inverse transform. A processing unit 212, a reconstruction unit 214, a loop filter unit 220, a decoded picture buffer (DPB) 230, a mode selection unit 260, an entropy encoding unit 270, an output 272 (or interface 272). Mode selection unit 260 may include inter prediction unit 244, intra prediction unit 254, and partitioning unit 262. Inter prediction unit 244 may include a motion estimation unit and a motion compensation unit (not shown). Video encoder 20 shown in FIG. 2 may also be referred to as a hybrid video encoder or a video encoder with a hybrid video codec.

残差計算ユニット204、変換処理ユニット206、量子化ユニット208、モード選択ユニット260は、エンコーダ20の順方向信号経路を形成するように言及される場合があり、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、バッファ216、ループ・フィルタ220、復号化されたピクチャのバッファ(DPB)230、インター予測ユニット244、及びイントラ予測ユニット254は、ビデオ・エンコーダ20の逆方向信号経路を形成するように言及される場合があり、ビデオ・エンコーダ20の逆方向信号経路は、デコーダの信号経路に対応する(図3のビデオ・デコーダ30を参照されたい)。また、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループ・フィルタ220、復号化されたピクチャのバッファ(DPB)230、インター予測ユニット244、及びイントラ予測ユニット254は、ビデオ・エンコーダ20の「内蔵デコーダ」を形成しているようにも言及される。 Residual calculation unit 204, transform processing unit 206, quantization unit 208, mode selection unit 260 may be referred to as forming the forward signal path of encoder 20, inverse quantization unit 210, inverse transform processing Unit 212, reconstruction unit 214, buffer 216, loop filter 220, decoded picture buffer (DPB) 230, inter prediction unit 244, and intra prediction unit 254 provide the reverse signal path of video encoder 20. The reverse signal path of video encoder 20 corresponds to the signal path of a decoder (see video decoder 30 in FIG. 3). In addition, the inverse quantization unit 210, the inverse transform processing unit 212, the reconstruction unit 214, the loop filter 220, the decoded picture buffer (DPB) 230, the inter prediction unit 244, and the intra prediction unit 254 It is also referred to as forming the "built-in decoder" of encoder 20.

ピクチャ&ピクチャ・パーティショニング(ピクチャ&ブロック)
エンコーダ20は、例えば入力202を介して、ピクチャ17(又はピクチャ・データ17)、例えばビデオ又はビデオ・シーケンスを形成するピクチャのシーケンスのピクチャを受信するように構成されてもよい。受信されるピクチャ又はピクチャ・データはまた、前処理されたピクチャ19(又は前処理されたピクチャ・データ19)と言及される場合もある。簡略化のため、以下の説明はピクチャ17と言及する。ピクチャ17はまた、現在ピクチャ又はコーディングされるべきピクチャと言及される場合もある(特に、ビデオ・コーディングにおいて、現在のピクチャを他のピクチャから、例えば同じビデオ・シーケンス、即ち現在のピクチャも含むビデオ・シーケンスの以前に符号化された及び/又は復号化されたピクチャから区別する)。
Picture & Picture Partitioning (Picture & Block)
Encoder 20 may be configured to receive, for example via input 202, pictures 17 (or picture data 17), for example pictures of a video or a sequence of pictures forming a video sequence. The received pictures or picture data may also be referred to as preprocessed pictures 19 (or preprocessed picture data 19). For simplicity, the following description will refer to picture 17. Picture 17 may also be referred to as the current picture or the picture to be coded (particularly in video coding, where the current picture is removed from another picture, e.g. from the same video sequence, i.e. a video that also contains the current picture). - distinguish from previously encoded and/or decoded pictures of the sequence).

(デジタル)ピクチャは、強度値を有するサンプルの2次元アレイ又はマトリクスであるか、又はそのように考えることが可能である。アレイ中のサンプルはまた、ピクセル(ピクチャ要素の短縮形)又はペルと言及される場合がある。アレイ又はピクチャの水平及び垂直方向(又は軸)におけるサンプルの数は、ピクチャのサイズ及び/又は解像度を規定する。色の表現には、典型的には、3つの色成分が使用され、即ち、ピクチャは、3つのサンプル・アレイで表現されてもよいし、又はそれを含んでもよい。RGBフォーマット又は色空間において、ピクチャは対応する赤、緑、及び青のサンプル・アレイを含む。しかしながら、ビデオ・コーディングにおいては、各サンプルは、典型的には、ルミナンス/クロミナンス・フォーマット又は色空間、例えばYCbCrで表現され、YCbCrは、Yで示されるルミナンス成分(時にはそれに代えてLも使用される)とCb及びCrで示される2つのクロミナンス成分とを含む。ルミナンス(又は略称、ルマ)成分Yは、輝度又はグレー・レベル強度を(例えば、グレー・スケール・ピクチャでのように)表し、2つのクロミナンス(又は略称、クロマ)成分Cb及びCrはクロミナンス又は色情報成分を表す。従って、YCbCrフォーマットにおけるピクチャは、ルミナンス・サンプル値(Y)のルミナンス・サンプル・アレイと、クロミナンス値(Cb及びCr)の2つのクロミナンス・サンプル・アレイとを含む。RGBフォーマットのピクチャは、YCbCrフォーマットにコンバート又は変換されることが可能であり、その逆も可能であり、そのプロセスは色変換又はコンバージョンとしても知られている。ピクチャがモノクロである場合、ピクチャはルミナンス・サンプル・アレイのみを含む可能性がある。従って、ピクチャは、例えば、モノクロ・フォーマットにおけるルマ・サンプルのアレイ、又はルマ・サンプルのアレイとクロマ・サンプルの2つの対応するアレイとの4:2:0、4:2:2、及び4:4:4カラー・フォーマットにおけるものあってもよい。 A (digital) picture is, or can be thought of as, a two-dimensional array or matrix of samples with intensity values. The samples in an array may also be referred to as pixels (short for picture elements) or pels. The number of samples in the horizontal and vertical directions (or axes) of an array or picture defines the size and/or resolution of the picture. Three color components are typically used for color representation, ie a picture may be represented by or include three sample arrays. In RGB format or color space, a picture includes corresponding arrays of red, green, and blue samples. However, in video coding, each sample is typically represented in a luminance/chrominance format or color space, e.g. YCbCr, where YCbCr is the luminance component denoted Y (sometimes L is also used instead). ) and two chrominance components denoted by Cb and Cr. The luminance (or luma) component Y represents the brightness or gray level intensity (as in a gray scale picture, for example), and the two chrominance (or chroma) components Cb and Cr represent the chrominance or color Represents information components. Thus, a picture in YCbCr format includes a luminance sample array of luminance sample values (Y) and two chrominance sample arrays of chrominance values (Cb and Cr). Pictures in RGB format can be converted or converted to YCbCr format and vice versa, the process also known as color conversion or conversion. If the picture is monochrome, the picture may contain only a luminance sample array. Thus, a picture can be, for example, an array of luma samples in monochrome format, or an array of luma samples and two corresponding arrays of chroma samples 4:2:0, 4:2:2, and 4: May be in 4:4 color format.

ビデオ・エンコーダ20の実施形態は、ピクチャ17を、複数の(典型的には重複しない)ピクチャ・ブロック203にパーティション化するように構成されたピクチャ・パーティショニング・ユニット(図2には示されていない)を含むことが可能である。これらのブロックはまた、ルート・ブロック、マクロ・ブロック(H.264/AVC)又はコーディング・ツリー・ブロック(CTB)又はコーディング・ツリー・ユニット(CTU)(H.265/HEVC及びVVC)と言及される場合もある。ピクチャ・パーティショニング・ユニットは、ビデオ・シーケンスの全てのピクチャに対して同一のブロック・サイズとブロック・サイズを規定する対応するグリッドとを使用するように、又は、ピクチャ、サブセット、又はピクチャのグループ間でブロック・サイズを変更し、各ピクチャを対応するブロックにパーティション化するように構成されることが可能である。 Embodiments of video encoder 20 include a picture partitioning unit (not shown in FIG. 2) configured to partition picture 17 into multiple (typically non-overlapping) picture blocks 203. ) may be included. These blocks are also referred to as root blocks, macro blocks (H.264/AVC) or coding tree blocks (CTB) or coding tree units (CTU) (H.265/HEVC and VVC). In some cases. The picture partitioning unit is configured to partition pictures, subsets, or groups of pictures so as to use the same block size and a corresponding grid defining the block size for all pictures of a video sequence. The blocks can be configured to change the block size between and partition each picture into a corresponding block.

更なる実施形態では、ビデオ・エンコーダは、ピクチャ17のブロック203、例えばピクチャ17を形成する1つの、幾つかの、又は全てのブロックを直接的に受信するように構成されてもよい。また、ピクチャ・ブロック203は、現在のピクチャ・ブロック又はコーディングされるべきピクチャ・ブロックとも言及されてもよい。 In further embodiments, the video encoder may be configured to directly receive blocks 203 of picture 17, eg one, some or all blocks forming picture 17. Picture block 203 may also be referred to as a current picture block or a picture block to be coded.

ピクチャ17と同様に、ブロック203は、再び、ピクチャ17よりも小さな寸法ではあるが、強度値(サンプル値)を有するサンプルの2次元アレイ又はマトリクスであるか、又はそれらとして考えることが可能である。換言すると、ブロック203は、例えば、1つのサンプル・アレイ(例えば、モノクロ・ピクチャ17の場合におけるルマ・アレイ、又はカラー・ピクチャの場合におけるルマ又はクロマ・アレイ)又は3つのサンプル・アレイ(例えば、カラー・ピクチャ17の場合におけるルマ及び2つのクロマ・アレイ)、又は適用されるカラー・フォーマットに依存する任意の他の数量及び/又は種類のアレイを含んでもよい。ブロック203の水平及び垂直方向(又は軸)のサンプルの数は、ブロック203のサイズを規定する。従って、ブロックは、例えば、サンプルのMxN(M列N行)アレイ、又は変換係数のMxNアレイであってもよい。 Similar to picture 17, block 203 is, or can be thought of as, a two-dimensional array or matrix of samples with intensity values (sample values), again with smaller dimensions than picture 17. . In other words, block 203 may, for example, contain one sample array (e.g. a luma array in the case of a monochrome picture, or a luma or chroma array in the case of a color picture) or three sample arrays (e.g. luma and two chroma arrays in the case of a color picture 17), or any other quantity and/or type of array depending on the color format applied. The number of horizontal and vertical (or axial) samples of block 203 defines the size of block 203. Thus, a block may be, for example, an MxN (M columns and N rows) array of samples, or an MxN array of transform coefficients.

図2に示すように、エンコーダ20は、ブロック毎にピクチャ17のブロックを符号化するように構成されており、例えば符号化及び予測はブロック203毎に実行される。 As shown in FIG. 2, the encoder 20 is configured to encode the blocks of the picture 17 block by block; for example, encoding and prediction are performed block by block 203.

図2に示すビデオ・エンコーダ20の実施形態は、更に、スライス(ビデオ・スライスとも呼ばれる)を使用することによってピクチャをパーティション化及び/又は符号化するように構成されることが可能であり、ピクチャは、1つ以上のスライス(典型的には、重複しない)にパーティション化され、又はそれらを使用して符号化されることが可能であり、各スライスは、1つ以上のブロック(例えば、CTU)を含むことが可能である。 The embodiment of video encoder 20 shown in FIG. 2 can be further configured to partition and/or encode pictures by using slices (also referred to as video slices), can be partitioned into or encoded using one or more slices (typically non-overlapping), each slice containing one or more blocks (e.g., CTU ) can be included.

図2に示すビデオ・エンコーダ20の実施形態は、タイル・グループ(ビデオ・タイル・グループとも呼ばれる)及び/又はタイル(ビデオ・タイルとも呼ばれる)を使用することによって、ピクチャをパーティション化及び/又は符号化するように更に構成されることが可能であり、ピクチャは、1つ以上のタイル・グループ(典型的には、重複しない)にパーティション化され又はそれらを使用して符号化されることが可能であり、各タイル・グループは、例えば1つ以上のブロック(例えば、CTU)又は1つ以上のタイルを含むことが可能であり、各タイルは、例えば、矩形の形状であってもよく、1つ以上のブロック(例えば、CTU)、例えば完全な又は断片的なブロックを含む可能性がある。 The embodiment of video encoder 20 shown in FIG. 2 partitions and/or encodes pictures by using tile groups (also referred to as video tile groups) and/or tiles (also referred to as video tiles). The picture can be partitioned into or encoded using one or more tile groups (typically non-overlapping). , each tile group may include, for example, one or more blocks (e.g., CTUs) or one or more tiles, and each tile may be, for example, rectangular in shape, with one It may include more than one block (eg, CTU), eg, a complete or fragmented block.

残差計算
残差計算ユニット204は、例えばピクチャ・ブロック203のサンプル値から、予測ブロック265のサンプル値をサンプル毎に(ピクセル毎に)減算することによって、ピクチャ・ブロック203及び予測ブロック265(予測ブロック265についての更なる詳細は後述される)に基づいて残差ブロック205(残差205とも呼ばれる)を算出して、サンプル・ドメインにおける残差ブロック205を取得するように構成されることが可能である。
Residual Calculation The residual calculation unit 204 calculates the picture block 203 and the prediction block 265 (prediction further details about block 265 below) to obtain residual block 205 in the sample domain. It is.

変換
変換処理ユニット206は、変換ドメインにおける変換係数207を得るために、残差ブロック205のサンプル値に関して変換、例えば離散コサイン変換(DCT)又は離散サイン変換(DST)を適用するように構成されることが可能である。変換係数207はまた、変換残差係数とも呼ばれ、変換ドメインにおける残差ブロック205を表すことが可能である。
Transform The transform processing unit 206 is configured to apply a transform, e.g. a discrete cosine transform (DCT) or a discrete sine transform (DST), on the sample values of the residual block 205 to obtain transform coefficients 207 in the transform domain. Is possible. Transform coefficients 207 are also referred to as transform residual coefficients and may represent residual blocks 205 in the transform domain.

変換処理ユニット206は、HEVC/H.265用に指定された変換のような、DCT/DSTの整数近似を適用するように構成されてもよい。直交DCT変換と比較して、そのような整数近似は、典型的には、ある因子によってスケーリングされる。順及び逆変換によって処理される残差ブロックのノルムを確保するために、変換プロセスの一部として、付加的なスケーリング因子が適用される。スケーリング因子は、典型的には、シフト演算のために2の冪乗であるスケーリング因子、変換係数のビット深度、精度と実装コストとの間のトレードオフ等のような特定の制約に基づいて選択される。特定のスケーリング因子は、例えば逆変換処理ユニット212による逆変換(及び、例えばビデオ・デコーダ30における逆変換処理ユニット312による対応する逆変換)に関して指定され、エンコーダ20における例えば変換処理ユニット206による順変換のための対応するスケーリング因子は、それに応じて指定される可能性がある。 Transform processing unit 206 may be configured to apply an integer approximation of DCT/DST, such as the transform specified for HEVC/H.265. Compared to orthogonal DCT transforms, such integer approximations are typically scaled by some factor. To ensure the norm of the residual blocks processed by the forward and inverse transforms, additional scaling factors are applied as part of the transform process. The scaling factor is typically selected based on certain constraints such as a scaling factor that is a power of 2 for shift operations, bit depth of the transform coefficients, trade-off between accuracy and implementation cost, etc. be done. A particular scaling factor is specified for the inverse transform, e.g. by inverse transform processing unit 212 (and the corresponding inverse transform by inverse transform processing unit 312, e.g. in video decoder 30), and for the forward transform, e.g. by transform processing unit 206 in encoder 20. The corresponding scaling factor for may be specified accordingly.

ビデオ・エンコーダ20(個々の変換処理ユニット206)の実施形態は、変換パラメータ、例えばあるタイプの変換又は複数の変換を、直接的に又はエントロピー符号化ユニット270により符号化若しくは圧縮して出力するように構成されることが可能であり、その結果、ビデオ・デコーダ30は復号化のために変換パラメータを受信及び使用することが可能である。 Embodiments of the video encoder 20 (individual transform processing units 206) may output transform parameters, such as a type of transform or transforms, either directly or encoded or compressed by an entropy encoding unit 270. , so that video decoder 30 can receive and use the transformation parameters for decoding.

量子化
量子化ユニット208は、例えばスカラー量子化やベクトル量子化を適用することにより、変換係数207を量子化し、量子化された係数209を取得するように構成されることが可能である。量子化された係数209はまた、量子化された変換係数209又は量子化された残差係数209とも言及されてもよい。
Quantization The quantization unit 208 can be configured to quantize the transform coefficients 207 and obtain quantized coefficients 209, for example by applying scalar quantization or vector quantization. Quantized coefficients 209 may also be referred to as quantized transform coefficients 209 or quantized residual coefficients 209.

量子化プロセスは、変換係数207の全部又は一部に関連するビット深度を低減することができる。例えば、nビット変換係数は、量子化中にmビット変換係数に丸められる可能性があり、nはmより大きい。量子化の程度は、量子化パラメータ(QP)を調整することによって修正されることが可能である。例えば、スカラー量子化のために、異なるスケーリングが、より細かい又はより粗い量子化を達成するために適用されてもよい。より小さな量子化ステップはより細かい量子化に対応し、より大きな量子化ステップはより粗い量子化に対応する。適用可能な量子化ステップ・サイズは、量子化パラメータ(QP)により示されてもよい。例えば、量子化パラメータは、適用可能な量子化ステップ・サイズの所定のセットに対するインデックスであってもよい。例えば、小さな量子化パラメータは細かい量子化(小さな量子化ステップ・サイズ)に対応することが可能であり、大きな量子化パラメータは粗い量子化(大きな量子化ステップ・サイズ)に対応することが可能であり、その逆も可能である。量子化は、量子化ステップ・サイズによる除算を含む可能性があり、対応する及び/又は逆量子化、例えば逆量子化ユニット210によるものは、量子化ステップ・サイズの乗算を含む可能性がある。例えばHEVCのような幾つかの規格による実施形態は、量子化ステップ・サイズを決定するために量子化パラメータを使用するように構成されてもよい。一般に、量子化ステップ・サイズは、除算を含む式の固定小数点近似を使用して、量子化パラメータに基づいて計算されることが可能である。追加的なスケーリング因子が量子化及び逆量子化のために導入され、残差ブロックのノルムであって、量子化ステップ・サイズ及び量子化パラメータに関する式の固定小数点近似で使用されるスケーリングに起因して修正される可能性があるノルム、を復元することが可能である。1つの例示的な実装において、逆変換及び逆量子化のスケーリングが組み合わせられてもよい。代替的に、カスタマイズされた量子化テーブルが使用され、エンコーダからデコーダへ、例えばビットストリームでシグナリングされてもよい。量子化はロスレスでない演算であり、量子化ステップ・サイズが増えるとロスが増える。 The quantization process may reduce the bit depth associated with all or some of the transform coefficients 207. For example, an n-bit transform coefficient may be rounded to an m-bit transform coefficient during quantization, where n is greater than m. The degree of quantization can be modified by adjusting the quantization parameter (QP). For example, for scalar quantization, different scaling may be applied to achieve finer or coarser quantization. Smaller quantization steps correspond to finer quantization, and larger quantization steps correspond to coarser quantization. The applicable quantization step size may be indicated by a quantization parameter (QP). For example, the quantization parameter may be an index to a predetermined set of applicable quantization step sizes. For example, a small quantization parameter can correspond to fine quantization (small quantization step size), and a large quantization parameter can correspond to coarse quantization (large quantization step size). Yes, and vice versa. Quantization may involve division by the quantization step size, and corresponding and/or inverse quantization, such as by inverse quantization unit 210, may involve multiplication by the quantization step size. . Embodiments according to some standards, such as HEVC, may be configured to use quantization parameters to determine the quantization step size. In general, the quantization step size can be calculated based on the quantization parameter using a fixed-point approximation of the equation involving division. An additional scaling factor is introduced for quantization and dequantization, which is the norm of the residual block due to the scaling used in the fixed-point approximation of the equations for the quantization step size and quantization parameters. It is possible to restore the norm, which may be modified by In one example implementation, inverse transform and inverse quantization scaling may be combined. Alternatively, a customized quantization table may be used and signaled from the encoder to the decoder, eg in the bitstream. Quantization is a non-lossless operation, and loss increases as the quantization step size increases.

ビデオ・エンコーダ20の実施形態(それぞれの量子化ユニット208)は、量子化パラメータ(QP)を、例えば直接的に又はエントロピー符号化ユニット270により符号化して出力するように構成されることが可能であり、その結果、ビデオ・デコーダ30は復号化のために量子化パラメータを受信及び適用することが可能である。 Embodiments of video encoder 20 (respective quantization unit 208) may be configured to output a quantization parameter (QP), for example encoded directly or by entropy encoding unit 270. , so that video decoder 30 can receive and apply the quantization parameters for decoding.

逆量子化
逆量子化ユニット210は、量子化ユニット208の逆量子化を量子化係数に適用して、例えば量子化ユニット208により適用される量子化方式の逆を、量子化ユニット208と同じ量子化ステップに基づいて又はそれを使用して適用することにより、逆量子化係数211を取得するように構成される。逆量子化係数211はまた、逆量子化残差係数211とも呼ばれる場合もあり、変換係数207に対応するが、量子化によるロスに起因して、典型的には変換係数に一致しない。
Inverse Quantization The inverse quantization unit 210 applies the inverse quantization of the quantization unit 208 to the quantized coefficients, e.g. The inverse quantization coefficients 211 are configured to be obtained by applying the quantization step based on or using the quantization step. Inverse quantized coefficients 211 may also be referred to as inverse quantized residual coefficients 211, and correspond to transform coefficients 207, but due to losses due to quantization, they typically do not match the transform coefficients.

逆変換
逆変換処理ユニット212は、変換処理ユニット206によって適用される変換の逆変換、例えば逆離散コサイン変換(DCT)又は逆離散サイン変換(DST)又は他の逆変換を適用して、サンプル・ドメインにおける再構成された残差ブロック213(対応する逆量子化係数213)を取得するように構成される。再構成された残差ブロック213はまた、変換ブロック213と言及される場合がある。
Inverse Transform The inverse transform processing unit 212 applies an inverse transform of the transform applied by the transform processing unit 206, such as an inverse discrete cosine transform (DCT) or an inverse discrete sine transform (DST) or other inverse transform, to transform the sample. configured to obtain a reconstructed residual block 213 (corresponding dequantized coefficients 213) in the domain. Reconstructed residual block 213 may also be referred to as transform block 213.

再構成
再構成ユニット214(例えば、加算器又は合計部214)は、予測ブロック265に変換ブロック213(即ち、再構成された残差ブロック213)を加算して、例えば再構成された残差ブロック213のサンプル値と予測ブロック265のサンプル値とをサンプル毎に加算することによって、サンプル・ドメインにおける再構成されたブロック215を取得するように構成される。
Reconstruction The reconstruction unit 214 (e.g., adder or summation unit 214) adds the transform block 213 (i.e., the reconstructed residual block 213) to the prediction block 265 to obtain, e.g., the reconstructed residual block. The reconstructed block 215 in the sample domain is configured to be obtained by adding the sample values of 213 and the sample values of the prediction block 265 sample by sample.

フィルタリング
ループ・フィルタ・ユニット220(又は略して「ループ・フィルタ」220)は、フィルタリングされたブロック221を取得するために、再構成されたブロック215をフィルタリングし、又は一般的には、フィルタリングされたサンプルを取得するために、再構成されたサンプルをフィルタリングするように構成される。ループ・フィルタ・ユニットは、例えばピクセル遷移を平滑化し、又は別の方法でビデオ品質を改善するように構成されている。ループ・フィルタ・ユニット220は、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(SAO)フィルタ、又は1つ以上の他のフィルタのような1つ以上のループ・フィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ(ALF)、鮮鋭化又は平滑化フィルタ、又は協調フィルタ、又はそれらの任意の組み合わせを含む可能性がある。ループ・フィルタ・ユニット220は、イン・ループ・フィルタであるとして図2に示されているが、他の構成では、ループ・フィルタ・ユニット220は、ポスト・ループ・フィルタとして実装されてもよい。フィルタリングされたブロック221はまた、フィルタリング済みの再構成されたブロック221と言及される場合もある。
Filtering A loop filter unit 220 (or "loop filter" 220 for short) filters the reconstructed block 215 to obtain a filtered block 221, or in general, a filtered block 221. The reconstructed sample is configured to be filtered to obtain the sample. The loop filter unit is configured, for example, to smooth pixel transitions or otherwise improve video quality. Loop filter unit 220 includes one or more loop filters, such as a deblocking filter, a sample adaptive offset (SAO) filter, or one or more other filters, such as bilateral filters, adaptive offset filters, etc. It may include a loop filter (ALF), a sharpening or smoothing filter, or a collaborative filter, or any combination thereof. Although loop filter unit 220 is shown in FIG. 2 as being an in-loop filter, in other configurations loop filter unit 220 may be implemented as a post-loop filter. Filtered block 221 may also be referred to as filtered reconstructed block 221.

ビデオ・エンコーダ20の実施形態(それぞれのループ・フィルタ・ユニット220)は、(サンプル・アダプティブ・オフセット情報のような)ループ・フィルタ・パラメータを、例えば直接的に又はエントロピー復号化ユニット270により符号化して出力するように構成されることが可能であり、その結果、例えばデコーダ30は同じループ・フィルタ・パラメータ又はそれぞれのループ・フィルタを復号化のために受信及び適用することが可能である。 Embodiments of video encoder 20 (respective loop filter units 220) encode loop filter parameters (such as sample adaptive offset information), e.g. directly or by entropy decoding unit 270. For example, the decoder 30 can receive and apply the same or respective loop filter parameters for decoding.

復号化されたピクチャのバッファ
復号化されたピクチャのバッファ(DPB)230は、ビデオ・エンコーダ20によってビデオ・データを符号化する際に使用する参照ピクチャ又は一般的には参照ピクチャ・データを格納するメモリであってもよい。DPB230は、同期DRAM(SDRAM)、磁気抵抗RAM(MRAM)、抵抗RAM(RRAM)を含むダイナミック・ランダム・アクセス・メモリ(DRAM)、又は他のタイプのメモリ・デバイスのような種々のメモリ・デバイスのうちの何れかによって形成されてもよい。復号化されたピクチャのバッファ(DPB)1つ以上のフィルタリングされたブロック221を記憶するように構成されてもよい。復号化されたピクチャのバッファ230は、更に、同じ現在のピクチャ又は例えば以前に再構成されたピクチャのような異なるピクチャの、例えば以前に再構成されフィルタリングされたブロック221のような他の以前にフィルタリングされたブロックを記憶するように構成されることが可能であり、完全に以前に再構成された、即ち復号化されたピクチャ(及び対応する参照ブロック及び対応するサンプル)及び/又は例えばインター予測のために部分的に再構成された現在のピクチャ(及び対応する参照ブロック及び対応するサンプル)を提供することが可能である。
復号化されたピクチャのバッファ(DPB)230はまた、1つ以上のフィルタリングされていない再構成ブロック215、又は一般的には例えば再構成されたブロック215がループ・フィルタ・ユニット220によってフィルタリングされていない場合には、フィルタリングされていない再構成されたサンプル、又は再構成されたブロック又はサンプルの他の任意の更なる処理されたバージョンを記憶するように構成されることが可能である。
Decoded Picture Buffer Decoded picture buffer (DPB) 230 stores reference pictures, or generally reference picture data, for use in encoding video data by video encoder 20. It may be a memory. The DPB230 can be used with various memory devices such as dynamic random access memory (DRAM), including synchronous DRAM (SDRAM), magnetoresistive RAM (MRAM), resistive RAM (RRAM), or other types of memory devices. It may be formed by any one of the following. A decoded picture buffer (DPB) may be configured to store one or more filtered blocks 221. The decoded picture buffer 230 may also contain other previously stored pictures, such as the same current picture or a different picture, such as a previously reconstructed picture, such as a previously reconstructed and filtered block 221. The filtered block may be configured to store a completely previously reconstructed, i.e. decoded, picture (and corresponding reference block and corresponding sample) and/or e.g. inter-prediction. It is possible to provide a partially reconstructed current picture (and corresponding reference blocks and corresponding samples) for.
The decoded picture buffer (DPB) 230 also contains one or more unfiltered reconstructed blocks 215, or typically the reconstructed blocks 215 have been filtered by the loop filter unit 220, for example. If not, it may be configured to store the unfiltered reconstructed samples, or any other further processed versions of the reconstructed blocks or samples.

モード選択(パーティショニング&予測)
モード選択ユニット260は、パーティショニング・ユニット262、インター予測ユニット244、及びイントラ予測ユニット254を含み、オリジナル・ピクチャ・データ、例えばオリジナル・ブロック203(現在のピクチャ17の現在のブロック203)、及び、再構成されたピクチャ・データ、例えば同じ(現在の)ピクチャの、及び/又は、1つ以上の以前に復号化されたピクチャからの、例えば復号化されたピクチャのバッファ230又は他のバッファ(例えば、不図示のライン・バッファ)からの、フィルタリングされた及び/又はフィルタリングされていないサンプル又はブロックを受信又は取得するように構成される。再構成されたピクチャ・データは、予測ブロック265又は予測子265を得るために、予測、例えばインター予測又はイントラ予測のための参照ピクチャ・データとして使用される。
Mode selection (partitioning & prediction)
Mode selection unit 260 includes a partitioning unit 262, an inter prediction unit 244, and an intra prediction unit 254, and includes original picture data, e.g., original block 203 (current block 203 of current picture 17), and Reconstructed picture data, e.g. from the same (current) picture and/or from one or more previously decoded pictures, e.g. , a line buffer (not shown)). The reconstructed picture data is used as reference picture data for prediction, e.g. inter-prediction or intra-prediction, to obtain prediction blocks 265 or predictors 265.

モード選択ユニット260は、現在ブロックの予測モード(パーティショニングを含まない)及び予測モード(例えば、イントラ又はインター予測モード)に対するパーティショニングを決定又は選択し、残差ブロック205の計算及び再構成ブロック215の再構成のために使用される対応する予測ブロック265を生成するように構成されることが可能である。 The mode selection unit 260 determines or selects the prediction mode (not including partitioning) of the current block and the partitioning for the prediction mode (e.g., intra or inter prediction mode), calculates the residual block 205 and reconstructs the block 215. The prediction block 265 may be configured to generate a corresponding prediction block 265 that is used for the reconstruction of the prediction block 265.

モード選択ユニット260の実施形態は、最良の一致、又は言い換えれば、最小の残差(最小の残差は伝送又は記憶のためのより良い圧縮を意味する)、又は最小のシグナリング・オーバーヘッド(最小のシグナリング・オーバーヘッドは伝送又は記憶のためのより良い圧縮を意味する)を提供するか、又は両方を考慮若しくはバランスさせるパーティショニング及び予測モードを(例えば、モード選択ユニット260によってサポートされるもの又は利用可能なものから)選択するように構成されることが可能である。モード選択ユニット260は、レート歪最適化(RDO)に基づいて、パーティショニング及び予測モードを決定するように、即ち最小レート歪を提供する予測モードを選択するように構成されてもよい。この文脈における「最良」、「最低」、「最適」などの用語は、必ずしも全体的な「最良」、「最低」、「最適」などを指すとは限らず、ある値が閾値を上回ったり又は下回ったりするような終了又は選択の基準、又は「次善の選択」をもたらす可能性はあるが複雑性及び処理時間を減らす他の制約の達成を指す可能性もある。 Embodiments of the mode selection unit 260 select the best match, or in other words, the lowest residual (minimum residual means better compression for transmission or storage), or the lowest signaling overhead (minimum Signaling overhead means better compression for transmission or storage) or consider or balance both partitioning and prediction modes (e.g., those supported by mode selection unit 260 or available can be configured to select from The mode selection unit 260 may be configured to determine the partitioning and prediction mode based on rate-distortion optimization (RDO), ie to select the prediction mode that provides the minimum rate-distortion. Terms such as "best", "worst", "optimal", etc. in this context do not necessarily refer to the overall "best", "worst", "optimal", etc., but rather if a value exceeds a threshold or It may also refer to the fulfillment of termination or selection criteria such as below, or other constraints that may result in a "suboptimal selection" but reduce complexity and processing time.

換言すれば、パーティショニング・ユニット262は、例えば四分木パーティショニング(QT)、バイナリ・パーティショニング(BT)又は三分木パーティショニング(TT)又はそれらの任意の組み合わせを反復的に使用して、ブロック203を、より小さなブロック・パーティション又はサブ・ブロックにパーティション化し(それらは再びブロックを形成し)、例えばブロック・パーティション又はサブ・ブロックのそれぞれについて予測を実行するように構成されることが可能であり、モード選択は、パーティション化されたブロック203のツリー構造の選択を含み、予測モードは、ブロック・パーティション又はサブ・ブロックのそれぞれに適用される。 In other words, the partitioning unit 262 may use, for example, quadtree partitioning (QT), binary partitioning (BT) or tertiary tree partitioning (TT) or any combination thereof. , block 203 may be configured to partition the block 203 into smaller block partitions or sub-blocks (which again form blocks) and perform prediction on each of the block partitions or sub-blocks, for example. , the mode selection includes the selection of a tree structure of partitioned blocks 203, and a prediction mode is applied to each of the block partitions or sub-blocks.

以下、例示的なビデオ・エンコーダ20によって実行されるパーティショニング(例えば、パーティショニング・ユニット260によるもの)及び予測処理(インター予測ユニット244及びイントラ予測ユニット254によるもの)をより詳細に説明する。 Partitioning (eg, by partitioning unit 260) and prediction processing (eg, by inter-prediction unit 244 and intra-prediction unit 254) performed by example video encoder 20 will be described in more detail below.

パーティショニング
パーティショニング・ユニット262は、現在のブロック203を、より小さなパーティション、例えば正方形又は矩形サイズのより小さなブロックにパーティション化(又は分割)することが可能である。これらのより小さなブロック(サブ・ブロックと言及される場合がある)は、更に小さなパーティションに更にパーティション化される可能性がある。これは、ツリー・パーティショニング又は階層ツリー・パーティショニングとも呼ばれ、例えばルート・ツリー・レベル0(階層レベル0、深度0)におけるルート・ブロックは、再帰的にパーティション化けされ、例えば次の下位のツリー・レベルの2つ以上のブロックに、例えばツリー・レベル1(階層レベル1、深度1)におけるノードにパーティション化されることが可能であり、これらのブロックは、次の下位レベルの2つ以上のブロックに、例えばツリー・レベル2(階層レベル2、深度2)等へ、例えば終了基準が満たされること、例えば最大ツリー深度又は最小ブロック・サイズに到達したことに起因してパーティショニングが終了するまで、再度パーティション化されることが可能である。更にはパーティション化されないブロックは、ツリーのリーフ・ブロック又はリーフ・ノードとも呼ばれる。2つのパーティションへのパーティショニングを使用するツリーは二分木(BT)、3つのパーティションへのパーティショニングを使用するツリーは三分木(TT)、4つのパーティションへのパーティショニングを使用するツリーは四分木(QT)と呼ばれる。
Partitioning The partitioning unit 262 is capable of partitioning (or splitting) the current block 203 into smaller partitions, such as smaller blocks of square or rectangular size. These smaller blocks (sometimes referred to as sub-blocks) may be further partitioned into even smaller partitions. This is also called tree partitioning or hierarchical tree partitioning, where, for example, the root block at root tree level 0 (hierarchical level 0, depth 0) is recursively partitioned, e.g. It can be partitioned into two or more blocks at a tree level, for example nodes at tree level 1 (hierarchy level 1, depth 1), and these blocks are partitioned into two or more blocks at the next lower level. partitioning ends, e.g. to tree level 2 (hierarchical level 2, depth 2), etc., due to a termination criterion being met, e.g. a maximum tree depth or a minimum block size being reached. It is possible to re-partition up to Additionally, blocks that are not partitioned are also referred to as leaf blocks or leaf nodes of the tree. A tree with partitioning into two partitions is a binary tree (BT), a tree with partitioning into three partitions is a ternary tree (TT), and a tree with partitioning into four partitions is a quadrilateral tree. It is called a branch tree (QT).

前述したように、本願で使用される「ブロック」という用語は、ピクチャの一部分、特に正方形又は長方形の部分である可能性がある。例えば、HEVC及びVVCを参照すると、ブロックは、コーディング・ツリー・ユニット(CTU)、コーディング・ユニット(CU)、予測ユニット(PU)、及び変換ユニット(TU)、及び/又は対応するブロック、例えば、コーディング・ツリー・ブロック(CTB)、コーディング・ブロック(CB)、変換ブロック(TB)、又は予測ブロック(PB)であってもよいし、又はこれらに対応していてもよい。 As mentioned above, the term "block" as used in this application may be a portion of a picture, in particular a square or rectangular portion. For example, with reference to HEVC and VVC, blocks may include coding tree units (CTUs), coding units (CUs), prediction units (PUs), and transform units (TUs), and/or corresponding blocks, e.g. It may be or correspond to a coding tree block (CTB), a coding block (CB), a transform block (TB), or a prediction block (PB).

例えば、コーディング・ツリー・ユニット(CTU)は、ルマ・サンプルのCTB、3つのサンプル・アレイを有するピクチャのクロマ・サンプルの2つの対応するCTB、又は、サンプルをコーディングするために使用される3つの別々のカラー・プレーン及びシンタックス構造を使用してコーディングされるピクチャ又はモノクロ・ピクチャのサンプルのCTBであってもよいし、又はこれらを含んでもよい。これに対応して、コーディング・ツリー・ブロック(CTB)は、成分のCTBへの分割がパーティショニングであるように、ある値Nに対するサンプルのNxNブロックであってもよい。コーディング・ユニット(CU)は、ルマ・サンプルのコーディング・ブロック、3つのサンプル・アレイを有するピクチャのクロマ・サンプルの2つの対応するコーディング・ブロック、又は、サンプルをコーディングするために使用される3つの別々のカラー・プレーン及びシンタックス構造を使用してコーディングされるピクチャ又はモノクロ・ピクチャのサンプルのコーディング・ブロックであってもよいし、又はこれらを含んでもよい。これに対応して、コーディング・ブロック(CB)は、CTBのコーディング・ブロックへの分割がパーティショニングであるように、M及びNのある値に対するサンプルのMxNブロックであってもよい。 For example, a coding tree unit (CTU) can be a CTB for luma samples, two corresponding CTBs for chroma samples in a picture with a three sample array, or three CTBs used to code the samples. The CTB may be or include samples of pictures or monochrome pictures that are coded using separate color planes and syntax structures. Correspondingly, a coding tree block (CTB) may be an NxN block of samples for a certain value N, such that the division of components into CTBs is a partitioning. A coding unit (CU) is a coding block of luma samples, two corresponding coding blocks of chroma samples of a picture with an array of three samples, or a coding block of three chroma samples used to code the samples. It may be or include a coding block of samples of pictures or monochrome pictures that are coded using separate color planes and syntax structures. Correspondingly, a coding block (CB) may be an MxN block of samples for certain values of M and N, such that the division of the CTB into coding blocks is a partitioning.

実施形態において、例えばHEVCによれば、コーディング・ツリー・ユニット(CTU)は、コーディング・ツリーとして示される四分木構造を使用することによって、CUに分割されることが可能である。インター・ピクチャ(時間的)又はイントラ・ピクチャ(空間的)予測を使用するピクチャ・エリアをコーディングするかどうかの決定は、リーフCUレベルで行われる。各リーフCUは、PU分割タイプに応じて、更に1つ、2つ、又は4つのPUに分割されることが可能である。1つのPU内では、同じ予測プロセスが適用され、関連情報がPUベースでデコーダに送られる。PU分割タイプに基づいて予測プロセスを適用することにより残差ブロックを取得した後に、CUは、CUのコーディング・ツリーに類似する別の四分木構造に従って変換ユニット(TU)にパーティション化されることが可能である。 In embodiments, for example according to HEVC, a coding tree unit (CTU) may be divided into CUs by using a quadtree structure, denoted as a coding tree. The decision whether to code a picture area using inter-picture (temporal) or intra-picture (spatial) prediction is made at the leaf CU level. Each leaf CU can be further divided into one, two, or four PUs depending on the PU partition type. Within one PU, the same prediction process is applied and relevant information is sent to the decoder on a PU basis. After obtaining the residual block by applying a prediction process based on the PU partition type, the CU is partitioned into transform units (TUs) according to another quadtree structure similar to the coding tree of the CU. is possible.

実施形態では、例えば、汎用ビデオ・コーディング(VVC)と呼ばれる現在発展中の最新のビデオ・コーディング規格に従って、例えば、組み合わせの四分木及び二分木(QTBT)パーティショニングが、コーディング・ブロックをパーティション化するために使用される。QTBTブロック構造では、CUは正方形又は矩形の何れかの形状を有することが可能である。例えば、コーディング・ツリー・ユニット(CTU)は先ず四分木構造によってパーティション化される。四分木リーフ・ノードは、二分木又は三分木(又はトリプル)構造によって更にパーティション化される。ツリー・リーフ・ノードをパーティション化することは、コーディング・ツリー・ユニット(CU)と呼ばれ、そのセグメンテーションは、それ以上の如何なるパーティショニングもなしに、予測及び変換処理に使用される。これは、CU、PU、TUがQTBTコーディング・ブロック構造において同じブロック・サイズを有することを意味する。並行して、複数のパーティション、例えばトリプル・ツリー・パーティションが、QTBTブロック構造と共に使用されてもよい。 In embodiments, the coding blocks may be partitioned, e.g., by combinatorial quadtree and binary tree (QTBT) partitioning, e.g. used to. In the QTBT block structure, the CU can have either square or rectangular shape. For example, a coding tree unit (CTU) is first partitioned by a quadtree structure. The quadtree leaf nodes are further partitioned by a binary or ternary tree (or triple) structure. Partitioning the tree leaf nodes is called a coding tree unit (CU), and that segmentation is used for prediction and transformation processing without any further partitioning. This means that CU, PU, TU have the same block size in QTBT coding block structure. In parallel, multiple partitions, such as triple tree partitions, may be used with the QTBT block structure.

一例では、ビデオ・エンコーダ20のモード選択ユニット260は、本願で説明されるパーティショニング技術の任意の組み合わせを実行するように構成されてもよい。 In one example, mode selection unit 260 of video encoder 20 may be configured to perform any combination of the partitioning techniques described herein.

上述したように、ビデオ・エンコーダ20は、(例えば、予め決定された)予測モードのセットから、最良又は最適な予測モードを決定又は選択するように構成される。予測モードのセットは、例えば、イントラ予測モード及び/又はインター予測モードを含んでもよい。 As mentioned above, video encoder 20 is configured to determine or select a best or optimal prediction mode from a (eg, predetermined) set of prediction modes. The set of prediction modes may include, for example, an intra prediction mode and/or an inter prediction mode.

イントラ予測
イントラ予測モードのセットは、35個の異なるイントラ予測モード、例えばDC(又は平均)モード及び平面モードのような非方向モード、又は例えばHEVCで規定されているような方向モードを含むことが可能であり、又は、67個の異なるイントラ予測モード、例えばDC(又は平均)モード及び平面モードのような非方向モード、又は例えばVVCで規定されているような方向モードを含むことが可能である。
Intra prediction The set of intra prediction modes may include 35 different intra prediction modes, e.g. DC (or average) mode and non-directional modes such as planar mode, or directional modes e.g. as specified in HEVC. or may include 67 different intra-prediction modes, e.g. non-directional modes such as DC (or average) mode and planar mode, or directional modes, e.g. as specified in VVC. .

イントラ予測ユニット254は、イントラ予測モードのセットのイントラ予測モードに従って、同一の現在のピクチャの隣接ブロックの再構成されたサンプルを使用して、イントラ予測ブロック265を生成するように構成される。 Intra prediction unit 254 is configured to generate intra prediction block 265 using reconstructed samples of neighboring blocks of the same current picture according to an intra prediction mode of the set of intra prediction modes.

イントラ予測ユニット254(又は、一般に、モード選択ユニット260)は、符号化されたピクチャ・データ21に含めるためのシンタックス要素266の形式で、エントロピー符号化ユニット270にイントラ予測パラメータ(又は、一般的には、ブロックに対する選択されたイントラ予測モードを示す情報)を出力するように更に構成され、その結果、例えばビデオ・デコーダ30は、復号化のために予測パラメータを受信して使用することができる。イントラ予測ユニット254は、イントラ・サブ・パーティション(ISP)コーディング・モードを含むことが可能であり、これは、コーディング・ユニットを幾つかの予測ブロックに更に分割し、それらを順に予測することができる。 Intra prediction unit 254 (or, in general, mode selection unit 260) provides intra prediction parameters (or, in general, is further configured to output information indicating a selected intra-prediction mode for the block, such that, for example, video decoder 30 can receive and use the prediction parameters for decoding. . Intra prediction unit 254 may include an intra sub-partition (ISP) coding mode, which may further divide the coding unit into several prediction blocks and predict them in sequence. .

インター予測
(又は可能性のある)インター予測モードのセットは、利用可能な参照ピクチャ(即ち、少なくとも部分的に復号化された以前のピクチャ、例えばDPB230に格納されているもの)及び他のインター予測パラメータ、例えば参照ピクチャの全体又は一部のみ、例えば参照ピクチャの、現在ブロックのエリア周辺のサーチ・ウィンドウ・エリアが、最良に合致する参照ブロックを探索するために使用されるかどうか、及び/又は、例えばハーフ/セミ・ペル、クォーター・ペル補間が適用されるかどうか等に依存する。
Inter Prediction The set of (or possible) inter prediction modes is based on available reference pictures (i.e., at least partially decoded previous pictures, e.g. those stored in DPB 230) and other inter prediction modes. Prediction parameters, e.g. whether the whole or only part of the reference picture, e.g. whether a search window area around the area of the current block of the reference picture is used to search for the best matching reference block; and/or Or it depends, for example, on whether half/semi-pel, quarter-pel interpolation is applied, etc.

上記の予測モードに加えて、スキップ・モード及び/又はダイレクト・モードが適用されてもよい。 In addition to the above prediction modes, a skip mode and/or a direct mode may be applied.

インター予測ユニット244は、動き推定(ME)ユニット及び動き補償(MC)ユニット(双方とも図2には示されていない)を含むことが可能である。動き推定ユニットは、動き推定のために、ピクチャ・ブロック203(現在のピクチャ17の現在のピクチャ・ブロック203)及び復号化されたピクチャ231、又は少なくとも1つの又は複数の以前に再構成されたブロック、例えば1つ又は複数の他の/異なる以前に復号化されたピクチャ231の再構成されたブロックを受信又は取得するように構成される。例えば、ビデオ・シーケンスは、現在のピクチャと以前に復号化されたピクチャ231とを含む可能性があり、又は換言すれば、現在のピクチャと以前に復号化されたピクチャ231とは、ビデオ・シーケンスを形成するピクチャの一部であってもよいし、又はピクチャのシーケンスを形成してもよい。 Inter prediction unit 244 may include a motion estimation (ME) unit and a motion compensation (MC) unit (both not shown in FIG. 2). The motion estimation unit extracts a picture block 203 (current picture block 203 of current picture 17) and a decoded picture 231 or at least one or more previously reconstructed blocks for motion estimation. , for example configured to receive or obtain reconstructed blocks of one or more other/different previously decoded pictures 231. For example, a video sequence may include a current picture and a previously decoded picture 231, or in other words, a current picture and a previously decoded picture 231 or may form a sequence of pictures.

エンコーダ20は、例えば、複数の他のピクチャの同じ又は異なるピクチャの複数の参照ブロックから参照ブロックを選択し、参照ピクチャ(又は参照ピクチャ・インデックス)及び/又は参照ブロックの位置(x,y座標)と現在ブロックの位置との間のオフセット(空間オフセット)とを、インター予測パラメータとして動き推定ユニット(図2には示されていない)へ提供するように構成されてもよい。このオフセットも動きベクトル(MV)と呼ばれる。 The encoder 20 may, for example, select a reference block from a plurality of reference blocks of the same or different pictures of a plurality of other pictures, and select the reference block (or reference picture index) and/or the position (x,y coordinates) of the reference block. and the position of the current block (spatial offset) may be arranged to provide the motion estimation unit (not shown in FIG. 2) as an inter-prediction parameter. This offset is also called a motion vector (MV).

動き補償ユニットは、インター予測パラメータを取得して、例えば受信して、インター予測パラメータに基づいて又はそれを使用してインター予測を実行し、インター予測ブロック265を取得するように構成される。動き補償ユニットによって実行される動き補償は、動き推定によって決定される動き/ブロック・ベクトルに基づいて予測ブロックをフェッチ又は生成すること、可能性としてサブピクセル精度まで補間を実行することを包含することが可能である。補間フィルタリングは、既知のピクセル・サンプルから追加のピクセル・サンプルを生成することができ、従って潜在的に、ピクチャ・ブロックをコーディングするために使用されることが可能な候補予測ブロックの数を増加させる。現在のピクチャ・ブロックのPUに対する動きベクトルを受信すると、動き補償ユニットは、参照ピクチャ・リストのうちの1つにおいて動きベクトルが指し示す予測ブロックを突き止めることができる。 The motion compensation unit is configured to obtain, eg, receive, inter-prediction parameters and perform inter-prediction based on or using the inter-prediction parameters to obtain inter-prediction blocks 265. The motion compensation performed by the motion compensation unit may include fetching or generating predictive blocks based on motion/block vectors determined by motion estimation, potentially performing interpolation to sub-pixel precision. is possible. Interpolative filtering can generate additional pixel samples from known pixel samples, thus potentially increasing the number of candidate predictive blocks that can be used to code a picture block. . Upon receiving the motion vector for the PU of the current picture block, the motion compensation unit may locate the predictive block pointed to by the motion vector in one of the reference picture lists.

動き補償ユニットはまた、ビデオ・スライスのピクチャ・ブロックを復号化する際にビデオ・デコーダ30による使用のためにブロック及びビデオ・スライスに関連するシンタックス要素を生成することも可能である。スライス及びそれぞれのシンタックス要素に加えて又は代替として、タイル・グループ及び/又はタイル、及びそれぞれのシンタックス要素が生成又は使用されてもよい。 The motion compensation unit may also generate syntax elements associated with the blocks and video slices for use by video decoder 30 in decoding the picture blocks of the video slices. In addition to or as an alternative to slices and their respective syntax elements, tile groups and/or tiles and their respective syntax elements may be generated or used.

エントロピー・コーディング
エントロピー符号化ユニット270は、エントロピー符号化アルゴリズム又はスキーム(例えば、可変長コーディング(VLC)スキーム、コンテキスト適応VLCスキーム(CALVC)、算術コーディング・スキーム、バイナリゼーション、コンテキスト適応バイナリ算術コーディング(CABAC)、シンタックス・ベースのコンテキスト適応バイナリ算術コーディング(SBAC)、確率区間パーティショニング・エントロピー(PIPE)コーディング、又は他のエントロピー符号化方法又は技術)を、量子化残差係数209、インター予測パラメータ、イントラ予測パラメータ、ループ・フィルタ・パラメータ、及び/又は他のシンタックス要素に適用し、又はバイパスし(非圧縮)、出力272により出力されることが可能な符号化されたピクチャ・データ21を、例えば符号化されたビットストリーム21の形式で取得するように構成され、その結果、例えばビデオ・デコーダ30は復号化のためのパラメータを受信及び使用することができる。符号化されたビットストリーム21は、ビデオ・デコーダ30に送信されてもよいし、後の送信又はビデオ・デコーダ30による検索のためメモリに記憶されてもよい。
Entropy Coding Entropy coding unit 270 may be configured to perform an entropy coding algorithm or scheme (e.g., variable length coding (VLC) scheme, context adaptive VLC scheme (CALVC), arithmetic coding scheme, binarization, context adaptive binary arithmetic coding (CABAC)). ), syntax-based context-adaptive binary arithmetic coding (SBAC), probability interval partitioning entropy coding (PIPE) coding, or other entropy encoding methods or techniques), quantized residual coefficients 209, inter-prediction parameters, encoded picture data 21 that can be applied to or bypassed (uncompressed) intra prediction parameters, loop filter parameters, and/or other syntax elements and output by output 272; For example, it is arranged to obtain in the form of an encoded bitstream 21, so that for example a video decoder 30 can receive and use the parameters for decoding. Encoded bitstream 21 may be sent to video decoder 30 or stored in memory for later transmission or retrieval by video decoder 30.

ビデオ・エンコーダ20の他の構造的変形例が、ビデオ・ストリームを符号化するために使用されることが可能である。例えば、非変換ベースのエンコーダ20は、特定のブロック又はフレームについて、変換処理ユニット206なしに残差信号を直接的に量子化することが可能である。別の実装において、エンコーダ20は、量子化ユニット208と逆量子化ユニット210とを単一のユニットに結合させることが可能である。 Other structural variations of video encoder 20 can be used to encode video streams. For example, non-transform-based encoder 20 may directly quantize the residual signal without transform processing unit 206 for a particular block or frame. In another implementation, encoder 20 may combine quantization unit 208 and inverse quantization unit 210 into a single unit.

デコーダ及び復号化方法
図3は、本出願の技術を実現するように構成されたビデオ・デコーダ30の一例を示す。ビデオ・デコーダ30は、符号化されたピクチャ・データ21(例えば符号化されたビットストリーム21)、例えばエンコーダ20によって符号化されたものを受信して、復号化されたピクチャ131を得るように構成される。符号化されたピクチャ・データ又はビットストリームは、符号化されたピクチャ・データ、例えば符号化されたビデオ・スライスのピクチャ・ブロック(及び/又はタイル・グループ又はタイル)及び関連するシンタックス要素を表すデータを復号化するための情報を含む。
Decoder and Decoding Method FIG. 3 shows an example of a video decoder 30 configured to implement the techniques of the present application. Video decoder 30 is configured to receive encoded picture data 21 (e.g., encoded bitstream 21), e.g., encoded by encoder 20, to obtain decoded pictures 131. be done. Coded picture data or bitstream represents coded picture data, e.g., picture blocks (and/or tile groups or tiles) and associated syntax elements of a coded video slice. Contains information for decoding data.

図3の例では、デコーダ30は、エントロピー復号化ユニット304、逆量子化ユニット310、逆変換処理ユニット312、再構成ユニット314(例えば、加算器314)、ループ・フィルタ320、復号化されたピクチャのバッファ(DPB)330、及びモード・アプリケーション・ユニット360、インター予測ユニット344、及びイントラ予測ユニット354を含む。インター予測ユニット344は、動き補償ユニットであってもよいし、又はそれを含んでもよい。ビデオ・デコーダ30は、幾つかの例では、図2によりビデオ・エンコーダ100に関して説明した符号化パスと概ね逆の復号化パスを実行することが可能である。 In the example of FIG. 3, decoder 30 includes an entropy decoding unit 304, an inverse quantization unit 310, an inverse transform processing unit 312, a reconstruction unit 314 (e.g., an adder 314), a loop filter 320, a decoded picture buffer ( DPB ) 330, and a mode application unit 360, an inter prediction unit 344, and an intra prediction unit 354. Inter prediction unit 344 may be or include a motion compensation unit. Video decoder 30 may, in some examples, perform a decoding pass that is generally the opposite of the encoding pass described with respect to video encoder 100 in accordance with FIG.

エンコーダ20に関して説明したように、逆量子化ユニット210、逆変換処理ユニット212、再構成ユニット214、ループ・フィルタ220、復号化されたピクチャのバッファ(DPB)230、インター予測ユニット344、及びイントラ予測ユニット354も、ビデオ・エンコーダ20の「内蔵デコーダ」を形成するものとして言及される。従って、逆量子化ユニット310は、逆量子化ユニット110と機能的に同一であってもよく、逆変換処理ユニット312は、逆変換処理ユニット212と機能的に同一であってもよく、再構成ユニット314は、再構成ユニット214と機能的に同一であってもよく、ループ・フィルタ320は、ループ・フィルタ220と機能的に同一であってもよく、復号化されたピクチャのバッファ330は、復号化されたピクチャのバッファ230と機能的に同一であってもよい。従って、ビデオ・エンコーダ20の各ユニット及び機能に対して行われた説明は、ビデオ・デコーダ30の各ユニット及び機能に、対応して適用される。 As described with respect to encoder 20, inverse quantization unit 210, inverse transform processing unit 212, reconstruction unit 214, loop filter 220, decoded picture buffer (DPB) 230, inter prediction unit 344, and intra prediction Unit 354 is also referred to as forming the "built-in decoder" of video encoder 20. Accordingly, inverse quantization unit 310 may be functionally identical to inverse quantization unit 110, inverse transform processing unit 312 may be functionally identical to inverse transform processing unit 212, and reconstruction Unit 314 may be functionally identical to reconstruction unit 214, loop filter 320 may be functionally identical to loop filter 220, and decoded picture buffer 330 may be It may be functionally identical to the decoded picture buffer 230. Accordingly, descriptions made for each unit and function of video encoder 20 apply correspondingly to each unit and function of video decoder 30.

エントロピー復号化
エントロピー復号化ユニット304は、ビットストリーム21(又は一般的に符号化されたピクチャ・データ21)を分析し、例えば、符号化されたピクチャ・データ21に対するエントロピー復号化を実行して、例えば量子化係数309及び/又は復号化されたコーディング・パラメータ(図3には示されていない)、例えばインター予測パラメータ(例えば、参照ピクチャ・インデックス及び動きベクトル)、イントラ予測パラメータ(例えば、イントラ予測モード又はインデックス)、変換パラメータ、量子化パラメータ、ループ・フィルタ・パラメータ、及び/又は他のシンタックス要素のうちの何れか又は全てを取得するように構成される。エントロピー復号化ユニット304は、エンコーダ20のエントロピー符号化ユニット270に関して説明したような符号化スキームに対応する復号化アルゴリズム又はスキームを適用するように構成されることが可能である。エントロピー復号化ユニット304は、更に、インター予測パラメータ、イントラ予測パラメータ及び/又は他のシンタックス要素をモード適用ユニット360に提供し、他のパラメータをデコーダ30の他のユニットに提供するように更に構成されてもよい。ビデオ・デコーダ30は、ビデオ・スライス・レベル及び/又はビデオ・ブロック・レベルでシンタックス要素を受信することができる。スライス及びそれぞれのシンタックス要素に追加的に又は代替として、タイル・グループ及び/又はタイル及びそれぞれのシンタックス要素が受信及び/又は使用されてもよい。
Entropy Decoding Entropy decoding unit 304 analyzes bitstream 21 (or encoded picture data 21 in general) and performs, for example, entropy decoding on encoded picture data 21, e.g. quantization coefficients 309 and/or decoded coding parameters (not shown in FIG. 3), e.g. inter prediction parameters (e.g. reference picture index and motion vector), intra prediction parameters (e.g. intra prediction mode or index), transformation parameters, quantization parameters, loop filter parameters, and/or other syntax elements. Entropy decoding unit 304 may be configured to apply a decoding algorithm or scheme corresponding to the encoding scheme as described with respect to entropy encoding unit 270 of encoder 20. Entropy decoding unit 304 is further configured to provide inter-prediction parameters, intra-prediction parameters and/or other syntax elements to mode application unit 360 and to provide other parameters to other units of decoder 30. may be done. Video decoder 30 may receive syntax elements at the video slice level and/or the video block level. Additionally or alternatively to slices and respective syntax elements, tile groups and/or tiles and respective syntax elements may be received and/or used.

逆量子化
逆量子化ユニット310は、量子化パラメータ(QP)(又は一般的には逆量子化に関する情報)及び量子化係数を、符号化されたピクチャ・データ21から(例えば、解析及び/又は復号化により、例えばエントロピー復号化ユニット304により)受信し、量子化パラメータに基づいて、復号化された量子化係数に関して逆量子化を適用して、変換係数311と呼ばれ場合もある非量子化係数311を得るように構成されることが可能である。逆量子化プロセスは、量子化の程度、及び同様に適用されるべき逆量子化の程度を決定するために、ビデオ・スライス(又はタイル又はタイル・グループ)内の各ビデオ・ブロックに対してビデオ・エンコーダ20によって決定される量子化パラメータを使用することを含んでもよい。
Inverse Quantization The inverse quantization unit 310 extracts a quantization parameter (QP) (or information regarding inverse quantization in general) and a quantization coefficient from the encoded picture data 21 (e.g., analyzes and/or By decoding, e.g. by entropy decoding unit 304) and applying inverse quantization on the decoded quantized coefficients, based on the quantization parameters, unquantized, sometimes referred to as transform coefficients 311. It may be configured to obtain a coefficient of 311. The inverse quantization process processes the video for each video block within a video slice (or tile or tile group) to determine the degree of quantization and the degree of inverse quantization that should be applied as well. - may include using a quantization parameter determined by encoder 20;

逆変換
逆変換処理ユニット312は、変換係数311とも呼ばれる非量子化係数311を受信し、非量子化係数311に変換を適用して、サンプル・ドメインにおいて再構成された残差ブロック213を取得するように構成されることが可能である。再構成された残差ブロック213はまた、変換ブロック313と言及される場合もある。変換は、逆変換、例えば、逆DCT、逆DST、逆整数変換、又は概念的に類似する逆変換プロセスであってもよい。逆変換処理ユニット312は、更に、変換パラメータ又は対応する情報を、符号化されたピクチャ・データ21から(例えば、解析及び/又は復号化により、例えばエントロピー復号化ユニット304により)受信して、非量子化係数311に適用される変換を決定するように構成されてもよい。
Inverse Transform Inverse transform processing unit 312 receives unquantized coefficients 311, also referred to as transform coefficients 311, and applies a transform to unquantized coefficients 311 to obtain a reconstructed residual block 213 in the sample domain. It is possible to configure it as follows. Reconstructed residual block 213 may also be referred to as transform block 313. The transform may be an inverse transform, such as an inverse DCT, an inverse DST, an inverse integer transform, or a conceptually similar inverse transform process. Inverse transform processing unit 312 further receives transform parameters or corresponding information from encoded picture data 21 (e.g., by parsing and/or decoding, e.g., by entropy decoding unit 304) to It may be configured to determine a transform to be applied to the quantization coefficients 311.

再構成
再構成ユニット314(例えば、加算器又は合計部314)は、再構成された残差ブロック313を予測ブロック365に追加して、サンプル・ドメインにおける再構成ブロック315を、例えば再構成された残差ブロック313のサンプル値と予測ブロック365のサンプル値とを追加することによって、取得するように構成されてもよい。
Reconstruction The reconstruction unit 314 (e.g., adder or summation unit 314) adds the reconstructed residual block 313 to the prediction block 365 to make the reconstructed block 315 in the sample domain, e.g. It may be configured to obtain by adding the sample values of the residual block 313 and the sample values of the prediction block 365.

フィルタリング
ループ・フィルタ・ユニット320(コーディング・ループ内又はコーディング・ループ後の何れか)は、再構成されたブロック315をフィルタリングして、フィルタリングされたブロック321を取得し、例えばピクセル遷移を平滑化し、又は別の方法でビデオ品質を改善するように構成される。ループ・フィルタ・ユニット320は、デブロッキング・フィルタ、サンプル・アダプティブ・オフセット(SAO)フィルタ、又は1つ以上の他のフィルタ、例えばバイラテラル・フィルタ、アダプティブ・ループ・フィルタ(ALF)、鮮鋭化又は平滑化フィルタ、又は協調フィルタ、又はそれらの任意の組み合わせを含む可能性がある。ループ・フィルタ・ユニット320は、図3ではイン・ループ・フィルタとして示されているが、他の構成では、ループ・フィルタ・ユニット320は、ポスト・ループ・フィルタとして実現されてもよい。
Filtering A loop filter unit 320 (either within or after the coding loop) filters the reconstructed block 315 to obtain a filtered block 321, e.g. to smooth pixel transitions, or otherwise configured to improve video quality. The loop filter unit 320 may include a deblocking filter, a sample adaptive offset (SAO) filter, or one or more other filters, such as a bilateral filter, an adaptive loop filter (ALF), a sharpening or It may include a smoothing filter, or a collaborative filter, or any combination thereof. Although loop filter unit 320 is shown in FIG. 3 as an in-loop filter, in other configurations loop filter unit 320 may be implemented as a post-loop filter.

復号化されたピクチャのバッファ
ピクチャの復号化されたビデオ・ブロック321は、復号化されたピクチャのバッファ330に記憶され、これは、復号化されたピクチャ331を、他のピクチャ及び/又は出力表示それぞれのために以後の動き補償用の参照ピクチャとして記憶する。
Decoded Picture Buffer The decoded video block 321 of the picture is stored in a decoded picture buffer 330, which stores the decoded picture 331 in other pictures and/or output display. For each one, it is stored as a reference picture for subsequent motion compensation.

デコーダ30は、復号化されたピクチャ331を、ユーザーに提示又は表示するために、例えば出力332により出力するように構成される。 Decoder 30 is configured to output decoded pictures 331 , for example via output 332, for presentation or display to a user.

予測
インター予測ユニット344は、インター予測ユニット244(特に、動き補償ユニット)と同一であってもよく、イントラ予測ユニット354は、機能的にはインター予測ユニット254と同一であってもよく、パーティショニング及び/又は予測パラメータ又は符号化されたピクチャ・データ21から受信したそれぞれの情報に基づいて(例えば解析及び/又は復号化により、例えばエントロピー復号化ユニット304により)、分割又はパーティショニング決定及び予測を実行する。モード適用ユニット360は、再構成されたピクチャ、ブロック又はそれぞれのサンプル(フィルタリングされた又はフィルタリングされていないもの)に基づいて、ブロックごとに予測(イントラ予測又はインター予測)を実行して、予測ブロック365を得るように構成されてもよい。
Prediction Inter prediction unit 344 may be identical to inter prediction unit 244 (particularly a motion compensation unit), and intra prediction unit 354 may be functionally identical to inter prediction unit 254, and partitioning and/or based on the prediction parameters or the respective information received from the encoded picture data 21 (e.g. by parsing and/or decoding, e.g. by the entropy decoding unit 304) making a partitioning or partitioning decision and prediction. Execute. The mode application unit 360 performs block-by-block prediction (intra-prediction or inter-prediction) based on the reconstructed picture, block or respective samples (filtered or unfiltered) to predict the predicted block. 365.

ビデオ・スライスがイントラ・コーディングされた(I)スライスとしてコーディングされると、モード適用ユニット360のイントラ予測ユニット354は、現在のピクチャの以前の復号化されたブロックからのデータ及びシグナリングされたイントラ予測モードに基づいて、現在のビデオ・スライスのピクチャ・ブロックに対する予測ブロック365を生成するように構成される。ビデオ・ピクチャが、インター・コーディングされた(即ち、B又はP)スライスとしてコーディングされると、モード適用ユニット360のインター予測ユニット344(例えば、動き補償ユニット)は、エントロピー復号化ユニット304から受信した動きベクトル及び別のシンタックス要素に基づいて、現在のビデオ・スライスのビデオ・ブロックに対する予測ブロック365を生成するように構成される。インター予測に関し、予測ブロックは、1つの参照ピクチャ・リスト内の1つの参照ピクチャから生成されてもよい。ビデオ・デコーダ30は、DPB330に記憶された参照ピクチャに基づくデフォルトの構成技術を使用して、参照フレーム・リスト、List0及びList1を構成することができる。同じもの又は類似するものが、スライス(例えば、ビデオ・スライス)に対して追加的又は代替的に、タイル・グループ(例えば、ビデオ・タイル・グループ)及び/又はタイル(例えば、ビデオ・タイル)を使用する実施形態に又はそれにより適用されることが可能であり、例えば、ビデオはI、P又はBタイル・グループ及び/又はタイルを用いてコーディングされることが可能である。 When a video slice is coded as an intra-coded (I) slice, intra-prediction unit 354 of mode application unit 360 combines data from previous decoded blocks of the current picture and the signaled intra-prediction. Based on the mode, it is configured to generate a prediction block 365 for the picture block of the current video slice. When a video picture is coded as an inter-coded (i.e., B or P) slice, the inter-prediction unit 344 (e.g., motion compensation unit) of the mode application unit 360 receives from the entropy decoding unit 304 The prediction block 365 is configured to generate a prediction block 365 for a video block of a current video slice based on the motion vector and another syntax element. For inter prediction, a prediction block may be generated from one reference picture in one reference picture list. Video decoder 30 may construct the reference frame lists, List0 and List1, using a default construction technique based on reference pictures stored in DPB 330. The same or similar may additionally or alternatively include tile groups (e.g., video tile groups) and/or tiles (e.g., video tiles) for slices (e.g., video slices). It can be applied to or by the embodiment used, for example the video can be coded using I, P or B tile groups and/or tiles.

モード適用ユニット360は、動きベクトル又は関連情報及び他のシンタックス要素を解析することによって、現在のビデオ・スライスのビデオ・ブロックに対する予測情報を決定し、その予測情報を使用して、復号化される現在のビデオ・ブロックに対する予測ブロックを生成するように構成される。例えば、モード適用ユニット360は、受信されたシンタックス要素の幾つかを使用して、ビデオ・スライスのビデオ・ブロックをコーディングするために使用される予測モード(例えば、イントラ又はインター予測)、インター予測スライス・タイプ(例えば、Bスライス、Pスライス、又はGPBスライス)、スライスの参照ピクチャ・リストのうちの1つ以上に対する構成情報、スライスのインター符号化されたビデオ・ブロック各々に対する動きベクトル、スライスのインター・コーディングされるビデオ・ブロック各々に対するインター予測ステータス、及び現在のビデオ・スライス内のビデオ・ブロックを復号化するための他の情報を決定する。同じもの又は類似するものが、スライス(例えば、ビデオ・スライス)に対して追加的又は代替的に、タイル・グループ(例えば、ビデオ・タイル・グループ)及び/又はタイル(例えば、ビデオ・タイル)を使用する実施形態に又はそれにより適用されることが可能であり、例えば、ビデオはI、P又はBタイル・グループ及び/又はタイルを用いてコーディングされることが可能である。 Mode application unit 360 determines predictive information for the video block of the current video slice by analyzing motion vectors or related information and other syntax elements, and uses the predictive information to determine the predictive information for the video block of the current video slice. The video block is configured to generate a predictive block for a current video block. For example, mode application unit 360 may use some of the received syntax elements to determine the prediction mode (e.g., intra or inter prediction), inter prediction, or prediction mode used to code the video blocks of the video slice. The slice type (e.g., B slice, P slice, or GPB slice), configuration information for one or more of the slice's reference picture lists, the motion vector for each inter-coded video block of the slice, the slice's Determine inter-prediction status for each inter-coded video block and other information for decoding the video block within the current video slice. The same or similar may additionally or alternatively include tile groups (e.g., video tile groups) and/or tiles (e.g., video tiles) for slices (e.g., video slices). It can be applied to or by the embodiment used, for example the video can be coded using I, P or B tile groups and/or tiles.

図3に示すビデオ・デコーダ30の実施形態は、スライス(ビデオ・スライスとも呼ばれる)を使用することによってピクチャをパーティション化及び/又は復号化するように構成されることが可能であり、ピクチャは、1つ以上のスライス(典型的には、重複しない)にパーティション化又は復号化されることが可能であり、各スライスは、1つ以上のブロック(例えば、CTU)を含むことが可能である。 The embodiment of video decoder 30 shown in FIG. 3 may be configured to partition and/or decode pictures by using slices (also referred to as video slices), where pictures are It can be partitioned or decoded into one or more slices (typically non-overlapping), and each slice can include one or more blocks (eg, CTUs).

図3に示すビデオ・デコーダ30の実施形態は、タイル・グループ(ビデオ・タイル・グループとも呼ばれる)及び/又はタイル(ビデオ・タイルとも呼ばれる)を使用することにより、ピクチャをパーティション化及び/又は復号化するように構成されることが可能であり、ピクチャは、1つ以上のタイル・グループ(典型的には、重複しない)にパーティション化又は復号化されることが可能であり、各タイル・グループは、例えば1つ以上のブロック(例えば、CTU)又は1つ以上のタイルを含むことが可能であり、各タイルは、例えば矩形形状によるものであってもよく、1つ以上のブロック(例えば、CTU)、例えば完全な又は断片的なブロックを含む可能性がある。 The embodiment of video decoder 30 shown in FIG. 3 partitions and/or decodes pictures by using tile groups (also referred to as video tile groups) and/or tiles (also referred to as video tiles). A picture can be partitioned or decoded into one or more tile groups (typically non-overlapping), with each tile group may include, for example, one or more blocks (e.g., CTUs) or one or more tiles, each tile may be, for example, of rectangular shape and may include one or more blocks (e.g., CTU), which may contain complete or fragmented blocks, for example.

ビデオ・デコーダ30の他の変形は、符号化されたピクチャ・データ21を復号化するために使用されることが可能である。例えば、デコーダ30は、ループ・フィルタリング・ユニット320なしに出力ビデオ・ストリームを生成することができる。例えば、非変換ベースのデコーダ30は、特定のブロック又はフレームに対して、逆変換処理ユニット312なしに直接的に残差信号を逆量子化することができる。別の実装において、ビデオ・デコーダ30は、逆量子化ユニット310及び逆変換処理ユニット312を単一のユニットに結合させることができる。 Other variations of video decoder 30 can be used to decode encoded picture data 21. For example, decoder 30 may generate an output video stream without loop filtering unit 320. For example, non-transform-based decoder 30 may dequantize the residual signal directly without inverse transform processing unit 312 for a particular block or frame. In another implementation, video decoder 30 may combine inverse quantization unit 310 and inverse transform processing unit 312 into a single unit.

エンコーダ20及びデコーダ30では、現在のステップの処理結果が更に処理され、次いで次のステップに出力される可能性があることは理解されるべきである。例えば、補間フィルタリング、動きベクトル導出、又はループ・フィルタリングの後に、クリップ又はシフトのような更なる処理が、補間フィルタリング、動きベクトル導出、又はループ・フィルタリングの処理結果に対して実行されてもよい。 It should be understood that in encoder 20 and decoder 30, the processing results of the current step may be further processed and then output to the next step. For example, after interpolation filtering, motion vector derivation, or loop filtering, further processing such as clipping or shifting may be performed on the results of the interpolation filtering, motion vector derivation, or loop filtering.

図4は、本開示の実施形態によるビデオ・コーディング・デバイス400の概略図である。ビデオ・コーディング・デバイス400は、本願で説明されるように、開示される実施形態を実現することに適している。実施形態では、ビデオ・コーディング・デバイス400は、図1Aのビデオ・デコーダ30のようなデコーダ、又は図1Aのビデオ・エンコーダ20のようなエンコーダであってもよい。 FIG. 4 is a schematic diagram of a video coding device 400 according to an embodiment of the present disclosure. Video coding device 400 is suitable for implementing the disclosed embodiments as described herein. In embodiments, video coding device 400 may be a decoder, such as video decoder 30 of FIG. 1A, or an encoder, such as video encoder 20 of FIG. 1A.

ビデオ・コーディング・デバイス400は、データを受信するための入口ポート410及び受信機ユニット(Rx)420;データを処理するためのプロセッサ、論理ユニット、又は中央処理ユニット430(CPU);データを送信するための送信機ユニット(Tx)440及び出口ポート450(又は出力ポート450);及びデータを記憶するためのメモリ460を含む。ビデオ・コーディング・デバイス400はまた、光又は電気信号の出入りのために、入口ポート410、受信機ユニット420、送信機ユニット440、及び出口ポート450に結合された光-電気(OE)コンポーネント及び電気-光(EO)コンポーネントを含んでもよい。 Video coding device 400 includes an inlet port 410 and a receiver unit (Rx) 420 for receiving data; a processor, logic unit, or central processing unit (CPU) 430 for processing data; and transmitting data. and a memory 460 for storing data. Video coding device 400 also includes optical-to-electrical (OE) components and electrical components coupled to ingress port 410, receiver unit 420, transmitter unit 440, and egress port 450 for ingress and egress of optical or electrical signals. - May include an optical (EO) component.

プロセッサ430は、ハードウェア及びソフトウェアによって実現される。プロセッサ430は、1つ以上のCPUチップ、コア(例えば、マルチ・コア・プロセッサ)、FPGA、ASIC、及びDSPとして実現されてもよい。プロセッサ430は、入口ポート410、受信機ユニット420、送信機ユニット440、出口ポート450、及びメモリ460と通信する。プロセッサ430は、コーディング・モジュール470を含む。コーディング・モジュール470は、上述の開示される実施形態を実現する。例えば、コーディング・モジュール470は、種々のコーディング動作を実現、処理、準備、又は提供する。従って、コーディング・モジュール470を含むことは、ビデオ・コーディング・デバイス400の機能に対するかなりの改善を提供し、ビデオ・コーディング・デバイス400の異なる状態への変換に影響を及ぼす。代替的に、コーディング・モジュール470は、メモリ460に格納された命令として実現され、プロセッサ430によって実行される。 Processor 430 is implemented by hardware and software. Processor 430 may be implemented as one or more CPU chips, cores (eg, multi-core processors), FPGAs, ASICs, and DSPs. Processor 430 communicates with ingress port 410, receiver unit 420, transmitter unit 440, egress port 450, and memory 460. Processor 430 includes a coding module 470. Coding module 470 implements the disclosed embodiments described above. For example, coding module 470 implements, processes, prepares, or provides various coding operations. Accordingly, the inclusion of coding module 470 provides a significant improvement to the functionality of video coding device 400 and affects the transformation of video coding device 400 into different states. Alternatively, coding module 470 is implemented as instructions stored in memory 460 and executed by processor 430.

メモリ460は、1つ以上のディスク、テープ・ドライブ、及びソリッド・ステート・ドライブを含み、オーバー・フロー・データ記憶デバイスとして使用され、このようなプログラムが実行のために選択された場合にプログラムを記憶し、プログラムの実行中に読み込まれた命令及びデータを記憶することができる。メモリ460は、揮発性及び/又は不揮発性であってもよく、リード・オンリ・メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、三値連想メモリ(TCAM)、及び/又はスタティック・ランダム・アクセス・メモリ(SRAM)であってもよい。 Memory 460 includes one or more disks, tape drives, and solid state drives and is used as an overflow data storage device to store programs when such programs are selected for execution. It is possible to store instructions and data read during the execution of a program. Memory 460 may be volatile and/or non-volatile, and may include read-only memory (ROM), random access memory (RAM), ternary content addressable memory (TCAM), and/or static random memory. It may also be an access memory (SRAM).

図5は、例示的な実施形態による、図1のソース・デバイス120及び宛先デバイス14の何れか又は両方として使用することが可能な装置500の簡略化されたブロック図である。 FIG. 5 is a simplified block diagram of an apparatus 500 that can be used as either or both source device 120 and destination device 14 of FIG. 1, according to an example embodiment.

装置500内のプロセッサ502は、中央処理ユニットであるとすることが可能である。代替的に、プロセッサ502は、現在存在している又は今後開発される情報を操作又は処理することが可能な、任意の他のタイプのデバイス又は複数のデバイスであるとすることが可能である。開示される実装は、図示のように単一のプロセッサ、例えばプロセッサ502を用いて実施することが可能であるが、1つより多いプロセッサを用いて、速度及び効率における長所を獲得することができる。 Processor 502 within device 500 may be a central processing unit. Alternatively, processor 502 may be any other type of device or devices now existing or hereafter developed capable of manipulating or processing information. Although the disclosed implementations can be implemented using a single processor, such as processor 502, as shown, advantages in speed and efficiency may be obtained using more than one processor. .

装置500内のメモリ504は、実装においてはリード・オンリ・メモリ(ROM)デバイス又はランダム・アクセス・メモリ(RAM)デバイスであるとすることが可能である。任意の他の適切なタイプのストレージ・デバイスがメモリ504として使用されることが可能である。メモリ504は、バス512を使用してプロセッサ502によってアクセスされるコード及びデータ506を含むことが可能である。メモリ504は、更に、オペレーティング・システム508及びアプリケーション・プログラム510を含むことが可能であり、アプリケーション・プログラム510は、本願で説明される方法をプロセッサ502が実行することを可能にする少なくとも1つのプログラムを含む。例えば、アプリケーション・プログラム510は、アプリケーション1ないしNを含むことが可能であり、これらは本願で説明される方法を実行するビデオ・コーディング・アプリケーションを更に含む。また、装置500は、ディスプレイ518のような1つ以上の出力デバイスを含むことが可能である。ディスプレイ518は、一例では、タッチ入力を感知するように動作することが可能なタッチ感知素子に、ディスプレイを組み合わせるタッチ感知ディスプレイであってもよい。ディスプレイ518は、バス512を介してプロセッサ502に結合することが可能である。 Memory 504 within apparatus 500 may be a read-only memory (ROM) device or a random access memory (RAM) device in implementations. Any other suitable type of storage device may be used as memory 504. Memory 504 may include code and data 506 that is accessed by processor 502 using bus 512. Memory 504 may further include an operating system 508 and application programs 510, including at least one program that enables processor 502 to perform the methods described herein. including. For example, application program 510 may include applications 1 through N, which further include a video coding application that performs the methods described herein. Apparatus 500 may also include one or more output devices, such as a display 518. Display 518 may, in one example, be a touch-sensitive display that combines the display with a touch-sensitive element operable to sense touch input. Display 518 may be coupled to processor 502 via bus 512.

本願では、単一のバスとして描かれているが、装置500のバス512は、複数のバスで構成されることが可能である。更に、セカンダリ・ストレージ514は、装置500の他の構成要素に直接的に結合されることが可能であり、又はネットワークを介してアクセスされることが可能であり、メモリ・カードのような単一の集積ユニット又は複数のメモリ・カードのような複数のユニットを含むことが可能である。従って、装置500は、広く様々な構成で実現されることが可能である。 Although depicted herein as a single bus, bus 512 of device 500 may be comprised of multiple buses. Additionally, secondary storage 514 can be coupled directly to other components of device 500 or can be accessed via a network, and can be stored on a single storage device such as a memory card. It is possible to include multiple units, such as an integrated unit or multiple memory cards. Accordingly, apparatus 500 can be implemented in a wide variety of configurations.

イントラ・サブ・パーティション(ISP)コーディング・モードは、ライン・ベース・イントラ予測(LIP)コーディングのアップデートされたバージョンである。従来のバージョンのイントラ・サブ・パーティション・コーディング・モードは、唯1つのクロマ・サブサンプリング(クロマ・フォーマット又はクロマ・カラー・フォーマットとも呼ばれる)-4:2:0をサポートし、他のクロマ・フォーマットのサポートのための如何なるパラメータも有しない。特に、従来のバージョンのイントラ・サブ・パーティション・コーディング・モードは、アプリケーションで広く使用されているクロマ・サブサンプリング4:4:4に関して動作することができない。本発明の実施形態は、全てのクロマ・サブサンプリングをカバーするために、イントラ・サブ・パーティション・コーディング・モードを拡張する。
本発明の実施形態は、クロマ・サブサンプリングをカバーするためにイントラ・サブ・パーティション・コーディング・モードを拡張する2つのソリューションを提案する:
1)水平及び垂直クロマ・サブサンプリングに対応する2つの入力パラメータSubWidthC及びSubHeightCを追加する。これらのパラメータは、クロマ変換ブロック・サイズの導出に使用される。
2)ノーマル・ケースの拡張。クロマ・サブサンプリング4:4:4に関し、クロマに関するISPパーティションは、ルマに関するISPパーティションに対応する。
Intra-subpartition (ISP) coding mode is an updated version of line-based intra-prediction (LIP) coding. The traditional version of intra sub-partition coding mode supports only one chroma subsampling (also called chroma format or chroma color format) - 4:2:0, and other chroma formats does not have any parameters for support. In particular, traditional versions of intra-sub-partition coding mode cannot operate with respect to chroma subsampling 4:4:4, which is widely used in applications. Embodiments of the present invention extend the intra sub-partition coding mode to cover all chroma subsampling.
Embodiments of the present invention propose two solutions to extend intra sub-partition coding mode to cover chroma subsampling:
1) Add two input parameters SubWidthC and SubHeightC corresponding to horizontal and vertical chroma subsampling. These parameters are used to derive the chroma conversion block size.
2) Extension of the normal case. For chroma subsampling 4:4:4, the ISP partition for chroma corresponds to the ISP partition for luma.

(デジタル)ピクチャは、強度値を有するサンプルの2次元アレイ又はマトリクスであるか、又はそのように考えることが可能である。アレイ中のサンプルはまた、ピクセル(ピクチャ要素の短縮形)又はペルと言及される場合がある。アレイ又はピクチャの水平及び垂直方向(又は軸)におけるサンプルの数は、ピクチャのサイズ及び/又は解像度を規定する。色の表現には、典型的には、3つの色成分が使用され、即ち、ピクチャは、3つのサンプル・アレイで表現されてもよいし、又はそれを含んでもよい。RGBフォーマット又は色空間において、ピクチャは対応する赤、緑、及び青のサンプル・アレイを含む。しかしながら、ビデオ・コーディングにおいて、各ピクセルは、典型的には、ルミナンス及びクロミナンス・フォーマット又は色空間、例えばYCbCrで表現され、YCbCrは、Yで示されるルミナンス成分(時にはそれに代えてLも使用される)とCb及びCrで示される2つのクロミナンス成分とを含む。 A (digital) picture is, or can be thought of as, a two-dimensional array or matrix of samples with intensity values. The samples in an array may also be referred to as pixels (short for picture elements) or pels. The number of samples in the horizontal and vertical directions (or axes) of an array or picture defines the size and/or resolution of the picture. Three color components are typically used for color representation, ie a picture may be represented by or include three sample arrays. In RGB format or color space, a picture includes corresponding arrays of red, green, and blue samples. However, in video coding, each pixel is typically represented in a luminance and chrominance format or color space, e.g. YCbCr, where YCbCr is the luminance component denoted Y (sometimes L is also used instead). ) and two chrominance components denoted Cb and Cr.

ルマ及びクロマ成分は異なるサブサンプリングを有することが可能である。例えば、所謂4:2:0のクロマ・フォーマットでは、2つのクロマ・アレイの各々は、ルマ・アレイの半分の高さと半分の幅とを有する。 The luma and chroma components can have different subsamplings. For example, in the so-called 4:2:0 chroma format, each of the two chroma arrays has half the height and half the width of the luma array.

VVC仕様はクロマ表現の5つの異なるフォーマットを記述している。これらのフォーマットは表1に提示されている。
表1.VVC仕様で記述されているクロマ・フォーマット1

Figure 2023179591000002
The VVC specification describes five different formats for chroma representation. These formats are presented in Table 1.
table 1. Chroma format 1 as described in the VVC specification
Figure 2023179591000002

この表の各欄は以下の意味を有する:
chroma_format_idcは、ルマ・サンプリングに対するクロマ・サンプリングを示す。chroma_format_idcの値は両端を含む0ないし3の範囲内にあるものとする。
Each column in this table has the following meaning:
chroma_format_idc indicates chroma sampling relative to luma sampling. The value of chroma_format_idc shall be within the range of 0 to 3 inclusive.

1に等しいseparate_colour_plane_flagは、4:4:4クロマ・フォーマットの3つの色成分が別々にコーディングされることを示す。0に等しいseparate_colour_plane_flagは、色成分が別々にはコーディングされないことを示す。separate_colour_plane_flagが存在しない場合、それは0に等しいと推定される。separate_colour_plane_flagが1に等しい場合、コーディングされたピクチャは3つの別個の成分から構成されており、それら各々は1つのカラー・プレーン(Y,Cb又はCr)のコーディングされたサンプルから構成され、モノクロ・コーディング・シンタックスを使用する。この場合、各カラー・プレーンは特定のcolour_plane_id値に関連付けられる。
注記1-異なるcolor_plane_id値を有するカラー・プレーンの間に復号化プロセスの依存性は存在しない。例えば、color_plane_idの1つの値を有するモノクロ・ピクチャの復号化処理は、インター予測に関し、color_plane_idの異なる値を有するモノクロ・ピクチャからの如何なるデータも使用しない。
separate_colour_plane_flag equal to 1 indicates that the three color components of the 4:4:4 chroma format are coded separately. separate_colour_plane_flag equal to 0 indicates that the color components are not coded separately. If separate_colour_plane_flag is not present, it is presumed to be equal to 0. If separate_colour_plane_flag is equal to 1, the coded picture consists of three separate components, each of which consists of coded samples of one color plane (Y, Cb or Cr), monochrome coding - Use syntax. In this case, each color plane is associated with a particular color_plane_id value.
Note 1 - There is no decoding process dependency between color planes with different color_plane_id values. For example, a decoding process for a monochrome picture with one value of color_plane_id does not use any data from a monochrome picture with a different value of color_plane_id for inter prediction.

separate_color_plane_flagの値に応じて、変数ChromaArrayTypeの値は次のように割り当てられる:
- separate_colour_plane_flagが0に等しい場合、ChromaArrayTypeはchroma_format_idcに等しく設定される。
- それ以外の場合(separate_colour_plane_flagは1に等しい)、ChromaArrayTypeは0に等しく設定される。
Depending on the value of separate_color_plane_flag, the value of the variable ChromaArrayType is assigned as follows:
- If separate_colour_plane_flag is equal to 0, ChromaArrayType is set equal to chroma_format_idc.
- Otherwise (separate_colour_plane_flag is equal to 1), ChromaArrayType is set equal to 0.

クロマ・フォーマットは、クロマ・アレイの優先性とサブサンプリングを決定する。
モノクロ・サンプリングでは、名目上、ルマ・アレイと考えられる唯1つのサンプル・アレイが存在する。
4:2:0サンプリングでは、2つのクロマ・アレイの各々はルマ・アレイの半分の高さと半分の幅を有する。
4:2:2サンプリングでは、2つのクロマ・アレイの各々はルマ・アレイと同じ高さと半分の幅を有する。
4:4:4サンプリングでは、separate_colour_plane_flagの値に応じて、以下を適用する:
- separate_color_plane_flagが0に等しい場合、2つのクロマ・アレイの各々はルマ・アレイと同じ高さと幅を有する。
- それ以外の場合(separate_color_plane_flagが1に等しい場合)、3つのカラー・プレーンは、モノクロのサンプリングされたピクチャとして別々に処理される。
The chroma format determines the priority and subsampling of the chroma array.
In monochrome sampling, there is only one sample array, nominally considered the luma array.
With 4:2:0 sampling, each of the two chroma arrays has half the height and half the width of the luma array.
With 4:2:2 sampling, each of the two chroma arrays has the same height and half the width as the luma array.
For 4:4:4 sampling, depending on the value of separate_colour_plane_flag, apply the following:
- If separate_color_plane_flag is equal to 0, each of the two chroma arrays has the same height and width as the luma array.
- Otherwise (separate_color_plane_flag equals 1), the three color planes are treated separately as monochrome sampled pictures.

ビデオ・シーケンスにおけるルマ及びクロマ・アレイの各サンプルの表現に必要なビット数は、両端を含む8ないし16の範囲内にあり、ルマ・アレイで使用されるビット数は、クロマ・アレイで使用されるビット数と相違する可能性がある。
chroma_format_idcの値が1に等しい場合、ピクチャにおけるルマ及びクロマ・サンプルの名目上の垂直及び水平相対位置は図6に示されている。代替的なクロマ・サンプル相対位置が、ビデオ・ユーザビリティ情報で示されてもよい。
chroma_format_idcの値が2に等しい場合、クロマ・サンプルは対応するルマ・サンプルと共存し、ピクチャにおける名目上の位置は図7に示されている。
chroma_format_idcの値が3に等しい場合、全てのアレイ・サンプルは全てのケースのピクチャに関して共存し、ピクチャにおける名目上の位置は図8に示されている。
The number of bits required to represent each sample in the luma and chroma arrays in a video sequence is in the range 8 to 16 inclusive, and the number of bits used in the luma array is There is a possibility that the number of bits is different from the number of bits.
When the value of chroma_format_idc is equal to 1, the nominal vertical and horizontal relative positions of luma and chroma samples in the picture are shown in FIG. Alternative chroma sample relative positions may be indicated in the video usability information.
If the value of chroma_format_idc is equal to 2, the chroma sample coexists with the corresponding luma sample, and the nominal position in the picture is shown in Figure 7.
When the value of chroma_format_idc is equal to 3, all array samples coexist for the picture in all cases, and the nominal position in the picture is shown in FIG.

変数SubWidthC及びSubHeightCはクロマ・フォーマット・サンプリング構造に依存して表1に指定されており、これは次に、chroma_format_idc及びseparate_colour_plane_flagにより指定される。
代替的に、SubWidthC及びSubHeightCは次のようにして決定することが可能であり:
SubWidthC = (1 + log2(wluma / wchroma))
SubHeightC = (1 + log2(hluma / hchroma)),
wluma,hlumaはルマ・アレイの寸法であり、wchroma,hchromaは対応するクロマ・アレイの寸法である。従って、変数SubWidthC及びSubHeightCはルマ及びクロマ・サイズの間の比を表す。
The variables SubWidthC and SubHeightC are specified in Table 1 depending on the chroma format sampling structure, which in turn is specified by chroma_format_idc and separate_colour_plane_flag.
Alternatively, SubWidthC and SubHeightC can be determined as follows:
SubWidthC = (1 + log2(w luma / w chroma ))
SubHeightC = (1 + log2(h luma / h chroma )),
w luma , h luma are the dimensions of the luma array, and w chroma, h chroma are the dimensions of the corresponding chroma array. Therefore, the variables SubWidthC and SubHeightC represent the ratio between luma and chroma size.

第1実施形態では、ISP技術は、ルマ・ブロックに対してのみサブ・パーティショニングを実行し、クロマ・ブロックに対しては、予測及び更なる変換がパーティショニングなしにCUブロック全体に対して実行される。変換ユニットの段階では、クロマ・ブロックのTUはビットストリームで指定するクロマ・フォーマットに従って、例えばSPSレベルで取り扱われるべきであることに留意すべきであり、ルマ及びクロマ・サイズの関係で記述される一般的な値、例えばSubWidthC及びSubHeightCが使用されるものとする。以下の表2は、第1実施形態に関するクロマTU位置及びサイズ決定の一例を示す。 In the first embodiment, the ISP technique performs sub-partitioning only on luma blocks, and for chroma blocks, prediction and further transformations are performed on the entire CU block without partitioning. be done. It should be noted that at the conversion unit stage, the TU of the chroma block should be treated according to the chroma format specified in the bitstream, e.g. at the SPS level, and is described in terms of luma and chroma size. It is assumed that common values are used, such as SubWidthC and SubHeightC. Table 2 below shows an example of chroma TU position and size determination for the first embodiment.

表2 - 第1実施形態のtransform_unitシンタックス・テーブルの例

Figure 2023179591000003
Table 2 – Example of transform_unit syntax table for the first embodiment
Figure 2023179591000003

表2において、座標x0,y0及びサイズtbWidth,tbHeightは現在のルマTUブロックの位置とサイズを表し;グローバル・アレイCbPosX,CbPosY,CbWidth,CbHeightはCUの位置とサイズを取得することを可能にする。従って、座標及びサイズxC,yC,wC,hCは、クロマCUブロックに等しいクロマTUブロックを表すように計算されている。使用するクロマ・カラー・フォーマットに依存して、クロマ・ブロック・サイズは、対応するルマ・ブロック・サイズと異なる可能性があり、従って全てのクロマ・フォーマットのケースを扱う際に、クロマ・ブロックの幅と高さはSubWidthC及びSubHeightCによって相応に正規化されることに留意すべきである。 In Table 2, the coordinates x0, y0 and the sizes tbWidth, tbHeight represent the current luma TU block position and size; the global array CbPosX, CbPosY, CbWidth, CbHeight allows to get the CU position and size . Therefore, the coordinates and sizes xC, yC, wC, hC have been calculated to represent a chroma TU block that is equal to a chroma CU block. Depending on the chroma color format used, the chroma block size can be different from the corresponding luma block size, so when dealing with all chroma format cases, the chroma block size It should be noted that the width and height are normalized accordingly by SubWidthC and SubHeightC.

この実施形態では、ビットストリームは、イントラ・サブ・パーティション(ISP)を示す情報を含む。例えば、ISPを示す情報はフラグである。フラグはintra_subpartitions_split_flag及び/又はintra_subpartitions_mode_flagであってもよい。ビットストリームを受信した後、デコーダはフラグを得るためにビットストリームを解析する。次いで、デコーダは、ISPの情報、例えばIntraSubPartitionsSplitTypeをフラグに基づいて決定する。 In this embodiment, the bitstream includes information indicating an intra sub-partition (ISP). For example, information indicating the ISP is a flag. The flag may be intra_subpartitions_split_flag and/or intra_subpartitions_mode_flag. After receiving the bitstream, the decoder parses the bitstream to obtain flags. The decoder then determines the ISP's information, eg, IntraSubPartitionsSplitType, based on the flag.

1に等しいintra_subpartitions_mode_flag[x0][y0]は、現在のイントラ・コーディング・ユニットが、NumIntraSubPartitions[x0][y0]の矩形の変換ブロック・サブパーティションにパーティション化されることを示す。0に等しいintra_subpartitions_mode_flag[x0][y0]は、現在のイントラ・コーディング・ユニットが、矩形の変換ブロック・サブパーティションにパーティション化されないことを示す。 intra_subpartitions_mode_flag[x0][y0] equal to 1 indicates that the current intra coding unit is partitioned into rectangular transform block subpartitions of NumIntraSubPartitions[x0][y0]. intra_subpartitions_mode_flag[x0][y0] equal to 0 indicates that the current intra coding unit is not partitioned into rectangular transform block subpartitions.

intra_subpartitions_mode_flag[x0][y0]が存在しない場合、それは0に等しいと推定される。intra_subpartitions_split_flag[x0][y0]は、イントラ・サブパーティション分割タイプが水平であるか又は垂直であるかを示す。intra_subpartitions_split_flag[x0][y0]が存在しない場合、それは次のように推定される:
- cbHeightがMaxTbSizeYより大きい場合、intra_subpartitions_split_flag[x0][y0]は0に等しいと推定される。
- それ以外の場合(cbHeightがMaxTbSizeYより大きい)、intra_subpartitions_split_flag[x0][y0]は1に等しいと推定される。
If intra_subpartitions_mode_flag[x0][y0] is not present, it is presumed to be equal to 0. intra_subpartitions_split_flag[x0][y0] indicates whether the intra subpartitioning type is horizontal or vertical. If intra_subpartitions_split_flag[x0][y0] is not present, it is deduced as follows:
- If cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag[x0][y0] is assumed to be equal to 0.
- Otherwise (cbHeight is greater than MaxTbSizeY), intra_subpartitions_split_flag[x0][y0] is assumed to be equal to 1.

変数IntraSubPartitionsSplitTypeは、表3に示されるように、現在のルマ・コーディング・ブロックに使用される分割のタイプを指定する。IntraSubPartitionsSplitTypeは次のようにして導出される:
- intra_subpartitions_mode_flag[x0][y0]が0に等しい場合、IntraSubPartitionsSplitTypeは0に等しく設定される。
- それ以外の場合、IntraSubPartitionsSplitTypeは、
1 + intra_subpartitions_split_flag[x0][y0]に等しく設定される。
表3 - IntraSubPartitionsSplitTypeに関連する名称

Figure 2023179591000004
The variable IntraSubPartitionsSplitType specifies the type of split used for the current luma coding block, as shown in Table 3. IntraSubPartitionsSplitType is derived as follows:
- If intra_subpartitions_mode_flag[x0][y0] is equal to 0, IntraSubPartitionsSplitType is set equal to 0.
- Otherwise, IntraSubPartitionsSplitType is
Set equal to 1 + intra_subpartitions_split_flag[x0][y0].
Table 3 - Names associated with IntraSubPartitionsSplitType
Figure 2023179591000004

次いで、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されるかどうかを示すISPの情報は、IntraSubPartitionsSplitTypeによって示される。IntraSubPartitionsSplitType != ISP_NO_SPLITである場合、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用される。 The ISP information indicating whether the ISP is used to split the luma coding blocks of the coding unit is then indicated by IntraSubPartitionsSplitType. If IntraSubPartitionsSplitType != ISP_NO_SPLIT, ISP is used to split the luma coding blocks of the coding unit.

第2実施形態では、ISP技術は、4:4:4サブサンプリングがビットストリームで使用される場合に、ルマ・ブロック・サブ・パーティショニングと整合するクロマ・ブロックに対するサブ・パーティショニングを実行する。他のサブサンプリングのケース、例えば、4:2:0と4:2:2に関し、ISPはクロマ・パーティショニングを実行せず、クロマ・ブロックはCU全体と一致する。以下の表は、第2実施形態に関するクロマTU位置及びサイズ決定の一例を示す。 In a second embodiment, the ISP technique performs sub-partitioning on chroma blocks that is consistent with luma block sub-partitioning when 4:4:4 subsampling is used in the bitstream. For other subsampling cases, e.g. 4:2:0 and 4:2:2, the ISP does not perform chroma partitioning and the chroma block matches the entire CU. The table below shows an example of chroma TU position and size determination for the second embodiment.

表4 - 第2実施形態のtransform_unitシンタックス・テーブルの例

Figure 2023179591000005
Table 4 – Example of transform_unit syntax table for second embodiment
Figure 2023179591000005

表において、条件ChromaArrayType = = 3は、現在のクロマ・フォーマットが4:4:4であるかどうかをチェックする。肯定的な場合、2つのクロマcbfフラグは、ISPが使用される場合には(IntraSubPartitionsSplitType != ISP_NO_SPLIT)、シグナリングされるように強制され、そしてクロマ・ブロックに関する位置及びサイズは、else分岐に従って、現在のTUの位置とサイズに基づいて決定される。このケースでは、現在のクロマ・ブロックの位置とサイズは、TUの位置と座標から取得されている。 In the table, the condition ChromaArrayType = = 3 checks if the current chroma format is 4:4:4. If positive, the two chroma cbf flags will be forced to be signaled if ISP is used (IntraSubPartitionsSplitType != ISP_NO_SPLIT), and the position and size for the chroma block will be changed according to the else branch. determined based on the location and size of the TU. In this case, the current chroma block position and size are obtained from the TU position and coordinates.

第2実施形態では、ntraSubPartitionsSplitTypeの値は、第1実施形態で説明した方法と同様に決定することができる。 In the second embodiment, the value of ntraSubPartitionsSplitType can be determined in the same manner as described in the first embodiment.

図9は、本発明による復号化装置によって実現されるイントラ・サブ・パーティション(ISP)コーディングの方法の実施形態を示す。復号化装置は、図1Aのビデオ・デコーダ30又は図3のデコーダ30であってもよい。ISPコーディングの方法は、以下のステップを含む。ステップ901において、復号化装置はISPの情報を取得する。上述したように、復号化装置は、符号化装置から受信したビットストリームを解析することができる。ビットストリームは、ISPを示す情報、例えばintra_subpartitions_split_flag及び/又はintra_subpartitions_mode_flagを含む。次いで、復号化装置は、IPSの情報、例えばIntraSubPartitionsSplitTypeを、intra_subpartitions_split_flag及び/又はintra_subpartitions_mode_flagに基づいて取得する。 FIG. 9 shows an embodiment of a method for intra sub-partition (ISP) coding implemented by a decoding device according to the invention. The decoding device may be video decoder 30 of FIG. 1A or decoder 30 of FIG. 3. The method of ISP coding includes the following steps. In step 901, the decoding device obtains ISP information. As mentioned above, the decoding device can analyze the bitstream received from the encoding device. The bitstream includes information indicating the ISP, such as intra_subpartitions_split_flag and/or intra_subpartitions_mode_flag. Next, the decoding device obtains IPS information, such as IntraSubPartitionsSplitType, based on intra_subpartitions_split_flag and/or intra_subpartitions_mode_flag.

ステップ902において、復号化装置は、第1条件が充足されるかどうかを決定し、
第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)ISPの情報が、ルマ・コーディング・ブロックを分割するためにISPが使用されることを示していることを含む。“IntraSubPartitionsSplitType != ISP_NO_SPLIT”という表現は、ルマ・コーディング・ブロックを分割するためにISPが使用されることを、ISPの情報が示していることを意味する。“treeType = = SINGLE_TREE”という表現は、コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されることを意味する。
In step 902, the decoding device determines whether a first condition is satisfied;
The first condition is: 1) a single tree is used to partition the coding unit, and 2) the ISP information indicates that the ISP is used to partition the luma coding blocks. Including what is shown. The expression “IntraSubPartitionsSplitType != ISP_NO_SPLIT” means that the ISP information indicates that the ISP is used to split the luma coding blocks. The expression “treeType = = SINGLE_TREE” means that a single tree is used to partition the coding unit.

ステップ903において、復号化装置は、少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定し、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数であり、クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。 In step 903, the decoding device determines the size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC, where SubWidthC and SubHeightC are chroma format information The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is 4:2:0, 4:2:2, or 4:4: Contains at least one of 4.

復号装置は、SubWidthC及びSubHeightCに基づいて、及びコーディング・ユニットのルマ・コーディング・ブロックのサイズにも基づいて、クロマTBのサイズを決定することができる。例えば、クロマ変換ブロックのサイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
を満たし、wCはクロマ変換ブロックの幅を表し、hCはクロマ変換ブロックの高さを表し、CbWidthはルマ・コーディング・ブロックの幅を表し、CbHeightはルマ・コーディング・ブロックの高さを表す。
The decoding device may determine the size of the chroma TB based on SubWidthC and SubHeightC and also based on the size of the luma coding block of the coding unit. For example, the size of the chroma transform block is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
, where wC represents the width of the chroma conversion block, hC represents the height of the chroma conversion block, CbWidth represents the width of the luma coding block, and CbHeight represents the height of the luma coding block.

クロマ変換ブロックのサイズは、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズに等しく;
- それ以外の場合、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズとクロマ・フォーマットの関数として決定されること;
に従って決定される。
The size of the chroma conversion block follows the rules below:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion block is equal to the size of the luma coding block;
- Otherwise, the size of the chroma conversion block is determined as a function of the luma coding block size and the chroma format;
determined according to

復号化装置は、第1条件と第2条件が充足される場合に、クロマTBのサイズを決定することが可能であり、第2条件は、変数ChromaArrayTypeがデフォルト値、例えば3に等しくないことを含む。 The decoding device is capable of determining the size of the chroma TB if a first condition and a second condition are satisfied, and the second condition specifies that the variable ChromaArrayType is not equal to a default value, e.g. 3. include.

図10は、本発明による符号化装置によって実現されるイントラ・サブ・パーティション(ISP)コーディングの方法の実施形態を示す。符号化装置は、図1Aのビデオ・エンコーダ20又は図2のエンコーダ20であってもよい。ISPコーディングの方法は、以下のステップを含む。
ステップ1001において、符号化装置は、第1条件が充足されるかどうかを決定し、第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)ルマ・コーディング・ブロックを分割するためにISPが使用されることを含む。“IntraSubPartitionsSplitType != ISP_NO_SPLIT”という表現は、ルマ・コーディング・ブロックを分割するためにISPが使用されることを意味する。“treeType = = SINGLE_TREE”という表現は、コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されることを意味する。
FIG. 10 shows an embodiment of a method for intra sub-partition (ISP) coding implemented by a coding device according to the invention. The encoding device may be video encoder 20 of FIG. 1A or encoder 20 of FIG. 2. The method of ISP coding includes the following steps.
In step 1001, the encoding device determines whether a first condition is satisfied, the first condition being: 1) a single tree is used to partition the coding unit; and 2) Including the use of ISP to partition luma coding blocks. The expression “IntraSubPartitionsSplitType != ISP_NO_SPLIT” means that ISP is used to split the luma coding blocks. The expression “treeType = = SINGLE_TREE” means that a single tree is used to partition the coding unit.

ステップ1002において、符号化装置は、少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定し、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数であり、クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。 In step 1002, the encoding device determines the size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC, where SubWidthC and SubHeightC are chroma format information The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is 4:2:0, 4:2:2, or 4:4: Contains at least one of 4.

符号化装置は、SubWidthC及びSubHeightCに基づいて、及びコーディング・ユニットのルマ・コーディング・ブロックのサイズにも基づいて、クロマTBのサイズを決定することができる。例えば、クロマ変換ブロックのサイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
を満たし、wCはクロマ変換ブロックの幅を表し、hCはクロマ変換ブロックの高さを表し、CbWidthはルマ・コーディング・ブロックの幅を表し、CbHeightはルマ・コーディング・ブロックの高さを表す。
The encoding device may determine the size of the chroma TB based on SubWidthC and SubHeightC and also based on the size of the luma coding block of the coding unit. For example, the size of the chroma transform block is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
, where wC represents the width of the chroma conversion block, hC represents the height of the chroma conversion block, CbWidth represents the width of the luma coding block, and CbHeight represents the height of the luma coding block.

クロマ変換ブロックのサイズは、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズに等しく;
- それ以外の場合、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズとクロマ・フォーマットの関数として決定されること;
に従って決定される。
The size of the chroma conversion block follows the rules below:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion block is equal to the size of the luma coding block;
- Otherwise, the size of the chroma conversion block is determined as a function of the luma coding block size and the chroma format;
determined according to

符号化装置は、第1条件と第2条件が充足される場合に、クロマTBのサイズを決定することが可能であり、第2条件は、変数ChromaArrayTypeがデフォルト値、例えば3に等しくないことを含む。 The encoding device is capable of determining the size of the chroma TB if a first condition and a second condition are satisfied, and the second condition specifies that the variable ChromaArrayType is not equal to a default value, e.g. 3. include.

ステップ1003において、符号化装置はビットストリームを符号化し、ビットストリームは、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを示す情報を含む。例えば、ビットストリームは、ISPを示す情報、例えばintra_subpartitions_split_flag及び/又はintra_subpartitions_mode_flagを含む。 In step 1003, the encoding device encodes the bitstream, the bitstream including information indicating that the ISP is used to divide the luma coding blocks of the coding unit. For example, the bitstream includes information indicating the ISP, such as intra_subpartitions_split_flag and/or intra_subpartitions_mode_flag.

図11は、イントラ・サブ・パーティション(ISP)のための復号化装置1100の実施形態を示す。復号化装置1100は、図1Aのビデオ・デコーダ30又は図3のデコーダ30であってもよい。装置1100は取得ユニット1101と決定ユニット1102を含む。取得ユニット1101は、ISPの情報を取得するように構成されており、ISPの情報は、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されるかどうかを示す。決定ユニット1102は、少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するように構成され、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数である。クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。第1条件は:1)コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)ISPの情報が、ルマ・コーディング・ブロックを分割するためにISPが使用されることを示していることを含む。 FIG. 11 shows an embodiment of a decoding apparatus 1100 for intra sub-partitions (ISPs). Decoding device 1100 may be video decoder 30 of FIG. 1A or decoder 30 of FIG. 3. The device 1100 includes an acquisition unit 1101 and a determination unit 1102. The acquisition unit 1101 is configured to acquire ISP information, where the ISP information indicates whether the ISP is used to divide the luma coding blocks of the coding unit. The determining unit 1102 is configured to determine the size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC, where SubWidthC and SubHeightC are chroma format information It is a variable that depends on . The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is at least one of 4:2:0, 4:2:2, or 4:4:4. including. The first condition is: 1) a single tree is used to partition the coding unit, and 2) the ISP information indicates that the ISP is used to partition the luma coding blocks. Including what is shown.

復号化装置は、図9及び上記の他の実施形態で説明されたような方法を実行するように構成される。例えば、決定ユニット1102は、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合には、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズに等しく;
- それ以外の場合には、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズとクロマ・フォーマットの関数として決定されること;
に従ってクロマ変換ブロックのサイズを決定するように構成されている。
The decoding device is configured to perform the method as described in FIG. 9 and other embodiments above. For example, the decision unit 1102 uses the following rules:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion block is equal to the size of the luma coding block;
- otherwise, the size of the chroma conversion block is determined as a function of the luma coding block size and the chroma format;
The chroma conversion block is configured to determine the size of the chroma conversion block according to the chroma conversion block size.

決定ユニットは、第1条件及び第2条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロックのサイズを決定するように構成されてもよく、第2条件は、変数ChromaArrayTypeがデフォルト値に等しくないことを含む。 The determining unit may be configured to determine the size of the chroma transform block of the coding unit based on SubWidthC and SubHeightC if a first condition and a second condition are satisfied, the second condition being a variable Contains ChromaArrayType not equal to default value.

図12は、イントラ・サブ・パーティション(ISP)のための符号化装置1200の実施形態を示す。符号化装置1200は、図1Aのビデオ・エンコーダ20又は図2のエンコーダ20であってもよい。装置1200は決定ユニット1201と符号化ユニット1202を含む。決定ユニット1201は、少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロックのサイズを決定するように構成されている。SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する2つの変数である。クロマ・フォーマット情報は、コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含む。第1条件は、コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及びコーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを含む。符号化ユニット1202は、ビットストリームを符号化するように構成されており、ビットストリームは、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されることを示す情報を含む。 FIG. 12 shows an embodiment of an encoding apparatus 1200 for intra-subpartition (ISP). Encoding device 1200 may be video encoder 20 of FIG. 1A or encoder 20 of FIG. 2. Apparatus 1200 includes a determining unit 1201 and an encoding unit 1202. The determining unit 1201 is configured to determine the size of the chroma transform block of the coding unit based on SubWidthC and SubHeightC if at least the first condition is fulfilled. SubWidthC and SubHeightC are two variables that depend on chroma format information. The chroma format information indicates the chroma format of the picture to which the coding unit belongs, and the chroma format is at least one of 4:2:0, 4:2:2, or 4:4:4. including. The first condition includes that a single tree is used to partition the coding unit and that an ISP is used to partition the luma coding blocks of the coding unit. Encoding unit 1202 is configured to encode a bitstream, where the bitstream includes information indicating that an ISP is used to partition luma coding blocks of the coding unit.

符号化装置は、図10及び上記の他の実施形態で説明されたような方法を実行するように構成される。例えば、決定ユニット1201は:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
に従ってクロマ変換ブロックのサイズを決定するように構成されており、wCはクロマ変換ブロックの幅を表し、hCはクロマ変換ブロックの高さを表し、CbWidthはルマ・コーディング・ブロックの幅を表し、CbHeightはルマ・コーディング・ブロックの高さを表す。
The encoding device is configured to perform the method as described in FIG. 10 and other embodiments above. For example, decision unit 1201:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
is configured to determine the size of the chroma transform block according to the width of the chroma transform block, wC represents the width of the chroma transform block, hC represents the height of the chroma transform block, CbWidth represents the width of the luma coding block, and CbHeight represents the height of the luma coding block.

決定ユニット1201は、
SubWidthC = (1 + log2(wluma / wchroma));
SubHeightC = (1 + log2(hluma / hchroma));
に従ってSubWidthC及びSubHeightCを決定するように構成されてもよく、wluma,hlumaはルマ・アレイに対応する寸法であり、wchroma,hchromaはクロマ・アレイに対応する寸法である。
The decision unit 1201 is
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
SubWidthC and SubHeightC may be configured to determine SubWidthC and SubHeightC according to the following: w luma , h luma are dimensions corresponding to a luma array, and w chroma , h chroma are dimensions corresponding to a chroma array.

決定ユニット1201は、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合には、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズに等しく;
- それ以外の場合には、クロマ変換ブロックのサイズはルマ・コーディング・ブロックのサイズとクロマ・フォーマットの関数として決定されること;
に従ってクロマ変換ブロックのサイズを決定するようにも構成されている。
Decision unit 1201 follows the rules:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion block is equal to the size of the luma coding block;
- otherwise, the size of the chroma conversion block is determined as a function of the luma coding block size and the chroma format;
It is also configured to determine the size of the chroma conversion block according to the chroma conversion block size.

決定ユニット1201は、第1条件及び第2条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロックのサイズを決定するように構成され、第2条件は、変数ChromaArrayTypeがデフォルト値に等しくないことを含む。 The determining unit 1201 is configured to determine the size of the chroma transform block of the coding unit based on SubWidthC and SubHeightC if a first condition and a second condition are satisfied, and the second condition is such that the variable ChromaArrayType is Including not equal to the default value.

本願は以下の実施態様を更に提供する:
実施形態1.復号化デバイスにより実行されるコーディングの方法であって、方法は:
ビットストリームを解析するステップであって、ビットストリームはイントラ・サブ・パーティション(ISP)コーディング・モードの情報を含む、ステップ;
ISPコーディング・モードでコーディングされたブロックのクロマ変換ユニット(TU)を決定するステップであって、クロマ変換ユニットのサイズはクロマ・フォーマットに依存している、ステップを含む。
The present application further provides the following embodiments:
Embodiment 1. A method of coding performed by a decoding device, the method comprising:
parsing the bitstream, the bitstream including intra sub-partition (ISP) coding mode information;
determining a chroma transform unit (TU) for a block coded in an ISP coding mode, the size of the chroma transform unit being dependent on the chroma format;

実施形態2.実施形態1の方法であって、クロマ変換ユニットのサイズはルマ・コーディング・ブロックのサイズにも依存している。 Embodiment 2. In the method of embodiment 1, the size of the chroma conversion unit also depends on the size of the luma coding block.

実施形態3.実施形態1又は2の方法であって、クロマ変換ユニットのサイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
に従って決定され、wCはクロマTUの幅を表し、wCはクロマTUの高さを表し、SubWidthC及びSubHeightCはクロマ・フォーマットに依存する変数であり、CbWidth及びCbHeightはグローバル・アレイである。
Embodiment 3. In the method of embodiment 1 or 2, the size of the chroma conversion unit is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
where wC represents the width of the chroma TU, wC represents the height of the chroma TU, SubWidthC and SubHeightC are variables that depend on the chroma format, and CbWidth and CbHeight are global arrays.

実施形態4.実施形態3の方法であって、SubWidthC及びSubHeightCは:
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
に従って決定され、w luma ,h luma はルマ・アレイに対応する寸法であり、w chroma ,h chroma はクロマ・アレイに対応する寸法である。
Embodiment 4. In the method of embodiment 3, SubWidthC and SubHeightC are:
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
w luma , h luma are the dimensions corresponding to the luma array, and w chroma , h chroma are the dimensions corresponding to the chroma array.

実施形態5.実施形態1の方法であって、クロマ変換ユニットのサイズは、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合には、クロマ変換ユニットのサイズは対応するルマ変換ユニットのサイズに等しく;
- それ以外の場合には、クロマ変換ユニットのサイズは対応するルマ・コーディング・ユニットのサイズに等しいこと;
に従って決定される。
Embodiment 5. In the method of Embodiment 1, the size of the chroma conversion unit is determined according to the following rules:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion unit is equal to the size of the corresponding luma conversion unit;
- otherwise the size of the chroma conversion unit is equal to the size of the corresponding luma coding unit;
determined according to

実施形態6.実施形態5の方法であって、クロマ変換ユニットのサイズは、以下の表に従って決定される:

Figure 2023179591000006
Embodiment 6. The method of embodiment 5, wherein the size of the chroma conversion unit is determined according to the following table:
Figure 2023179591000006

実施形態7.実施形態1-6のうちの任意の1つの方法であって、方法は更に:
ISPコーディング・モードによりコーディングされたブロックのルマ変換ユニットを決定するステップを含む。
Embodiment 7. The method of any one of embodiments 1-6, the method further comprising:
Determining a luma transform unit of a block coded according to the ISP coding mode.

実施形態8.符号化デバイスにより実行されるコーディングの方法であって:
イントラ・サブ・パーティション(ISP)コーディング・モードでコーディングされたブロックのクロマ変換ユニット(TU)を決定するステップであって、クロマ変換ユニットのサイズはクロマ・フォーマットに依存している、ステップ;及び
ビットストリームを符号化するステップであって、ビットストリームはISPコーディング・モードの情報を含む、ステップを含む。
Embodiment 8. A method of coding performed by an encoding device, comprising:
determining a chroma transform unit (TU) for a block coded in an intra sub-partition (ISP) coding mode, the size of the chroma transform unit being dependent on the chroma format; and encoding the stream, the bitstream including ISP coding mode information;

実施形態9.実施形態8の方法であって、クロマ変換ユニットのサイズはルマ・コーディング・ブロックのサイズにも依存している。 Embodiment 9. The method of embodiment 8, wherein the size of the chroma conversion unit also depends on the size of the luma coding block.

実施形態10.実施形態8又は9の方法であって、クロマ変換ユニットのサイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
に従って決定され、wCはクロマTUの幅を表し、wCはクロマTUの高さを表し、SubWidthC及びSubHeightCはクロマ・フォーマットに依存する変数であり、CbWidth及びCbHeightはグローバル・アレイである。
Embodiment 10. The method of embodiment 8 or 9, in which the size of the chroma conversion unit is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
where wC represents the width of the chroma TU, wC represents the height of the chroma TU, SubWidthC and SubHeightC are variables that depend on the chroma format, and CbWidth and CbHeight are global arrays.

実施形態11.実施形態10の方法であって、SubWidthC及びSubHeightCは:
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
に従って決定され、w luma ,h luma はルマ・アレイの寸法であり、w chroma ,h chroma はクロマ・アレイに対応する寸法である。
Embodiment 11. The method of embodiment 10, in which SubWidthC and SubHeightC are:
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
w luma , h luma are the dimensions of the luma array, and w chroma , h chroma are the dimensions corresponding to the chroma array.

実施形態12.実施形態8の方法であって、クロマ変換ユニットのサイズは、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合には、クロマ変換ユニットのサイズは対応するルマ変換ユニットのサイズに等しく;
- それ以外の場合には、クロマ変換ユニットのサイズは対応するルマ・コーディング・ユニットのサイズに等しいこと;
に従って決定される。
Embodiment 12. In the method of Embodiment 8, the size of the chroma conversion unit is determined according to the following rules:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion unit is equal to the size of the corresponding luma conversion unit;
- otherwise the size of the chroma conversion unit is equal to the size of the corresponding luma coding unit;
determined according to

実施形態13.実施形態12の方法であって、クロマ変換ユニットのサイズは、以下の表に従って決定される:

Figure 2023179591000007
Embodiment 13. The method of embodiment 12, wherein the size of the chroma conversion unit is determined according to the following table:
Figure 2023179591000007

実施形態14.実施形態8-13のうちの任意の1つの方法であって、方法は更に:
ISPコーディング・モードによりコーディングされたブロックのルマ変換ユニットを決定するステップを含む。
Embodiment 14. The method of any one of embodiments 8-13, the method further comprising:
Determining a luma transform unit of a block coded according to the ISP coding mode.

実施形態15.復号化デバイスにより実行されるコーディングの方法であって、方法は:
ビットストリームを解析するステップであって、ビットストリームはクロマ・フォーマットの情報を含む、ステップ;
クロマ・フォーマットに基づいて、クロマ変換ユニット(TU)のサイズを決定するステップを含む。
Embodiment 15. A method of coding performed by a decoding device, the method comprising:
parsing the bitstream, the bitstream including chroma format information;
The method includes determining a size of a chroma transform unit (TU) based on the chroma format.

実施形態16.実施形態15の方法であって、クロマ変換ユニットのサイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
に従って決定され、wCはクロマTUの幅を表し、hCはクロマTUの高さを表し、SubWidthC及びSubHeightCはクロマ・フォーマットに依存する変数であり、CbWidth及びCbHeightはそれぞれコーディング・ブロックの幅及び高さである。
Embodiment 16. The method of embodiment 15, in which the size of the chroma conversion unit is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
wC represents the width of the chroma TU, hC represents the height of the chroma TU, SubWidthC and SubHeightC are variables that depend on the chroma format, and CbWidth and CbHeight are the width and height of the coding block, respectively. It is.

実施形態17.実施形態16の方法であって、SubWidthC及びSubHeightCは:
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
に従って決定され、w luma ,h luma はルマ・アレイに対応する寸法であり、w chroma ,h chroma はクロマ・アレイに対応する寸法である。
Embodiment 17. The method of embodiment 16, in which SubWidthC and SubHeightC are:
SubWidthC = (1 + log2(w luma / w chroma ));
SubHeightC = (1 + log2(h luma / h chroma ));
w luma , h luma are the dimensions corresponding to the luma array, and w chroma , h chroma are the dimensions corresponding to the chroma array.

実施形態18.実施形態15-17のうちの何れか1つの方法であって、クロマ変換ユニットのサイズは、以下のルール:
- クロマ・フォーマットが4:4:4に等しい場合には、クロマ変換ユニットのサイズは対応するルマ変換ユニットのサイズに等しく;
- それ以外の場合には、クロマ変換ユニットのサイズは対応するコーディング・ユニットのサイズに等しいこと;
に従って決定される。
Embodiment 18. The method of any one of embodiments 15-17, in which the size of the chroma conversion unit is determined according to the following rules:
- if the chroma format is equal to 4:4:4, the size of the chroma conversion unit is equal to the size of the corresponding luma conversion unit;
- otherwise the size of the chroma conversion unit is equal to the size of the corresponding coding unit;
determined according to

実施形態19.実施形態15-18のうちの任意の1つの方法であって、クロマTUは、イントラ・サブ・パーティション(ISP)コーディング・モードによりコーディングされる。 Embodiment 19. The method of any one of embodiments 15-18, wherein the chroma TU is coded according to an intra sub-partition (ISP) coding mode.

実施形態20.実施形態19の方法であって、クロマ変換ユニットのサイズは、以下の表に従って決定される:

Figure 2023179591000008
Embodiment 20. The method of embodiment 19, wherein the size of the chroma conversion unit is determined according to the following table:
Figure 2023179591000008

以下、上記の実施形態で示される符号化方法及び復号化方法の適用例、並びにそれらを使用するシステムを説明する。 Hereinafter, application examples of the encoding method and decoding method shown in the above embodiments and a system using them will be described.

本発明の実施形態は、全てのクロマ・サブサンプリングをカバーするために、イントラ・サブ・パーティション・コーディング・モードを拡張する。従って、ISPのためのコーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するための正確で汎用的な方法が達成される。 Embodiments of the present invention extend the intra sub-partition coding mode to cover all chroma subsampling. Thus, an accurate and versatile method for determining the size of a chroma transform block (TB) of a coding unit for ISP is achieved.

図13は、コンテンツ配信サービスを実現するためのコンテンツ供給システム3100を示すブロック図である。このコンテンツ供給システム3100は、捕捉デバイス3102と、端末デバイス3106とを含み、オプションとしてディスプレイ3126を含む。捕捉デバイス3102は、通信リンク3104を介して端末デバイス3106と通信する。通信リンクは、上述の通信チャネル13を含んでもよい。通信リンク3104は、WIFI、イーサーネット、ケーブル、無線(3G/4G/5G)、USB、又はそれらの任意の種類の組み合わせ等を含むが、これらに限定されない。 FIG. 13 is a block diagram showing a content supply system 3100 for realizing a content distribution service. The content delivery system 3100 includes a capture device 3102, a terminal device 3106, and optionally a display 3126. Capture device 3102 communicates with terminal device 3106 via communication link 3104. The communication link may include the communication channel 13 described above. Communication link 3104 includes, but is not limited to, WIFI, Ethernet, cable, wireless (3G/4G/5G), USB, or any type of combination thereof.

捕捉デバイス3102は、データを生成し、上記の実施形態に示されるように、符号化方法によってデータを符号化してもよい。代替的に、捕捉デバイス3102は、ストリーミング・サーバー(不図示)にデータを分配することが可能であり、サーバーは、データを符号化し、符号化されたデータを端末デバイス3106に送信する。捕捉デバイス3102は、カメラ、スマートフォン又はパッド、コンピュータ又はラップトップ、ビデオ会議システム、PDA、車載デバイス、又はそれら任意の組み合わせ等を含むが、これらに限定されない。例えば、捕捉デバイス3102は、上述のようにソース・デバイス12を含んでもよい。データがビデオを含む場合、捕捉デバイス3102に含まれるビデオ・エンコーダ20は、実際にビデオ符号化処理を実行してもよい。データがオーディオ(即ち、声)を含む場合、捕捉デバイス3102に含まれるオーディオ・エンコーダは、実際にオーディオ符号化処理を実行してもよい。幾つかの実際的なシナリオでは、捕捉デバイス3102は、符号化されたビデオ及びオーディオ・データを、それらを一緒に多重化することによって分配する。他の実際的なシナリオ、例えばビデオ会議システムにおいては、符号化されたオーディオ・データ及び符号化されたビデオ・データは多重化されない。捕捉デバイス3102は、符号化されたオーディオ・データ及び符号化されたビデオ・データを別々に端末デバイス3106に分配する。 Capture device 3102 may generate data and encode the data according to an encoding method as shown in the embodiments above. Alternatively, the capture device 3102 can distribute the data to a streaming server (not shown), which encodes the data and transmits the encoded data to the terminal device 3106. Capture device 3102 includes, but is not limited to, a camera, a smartphone or pad, a computer or laptop, a video conferencing system, a PDA, a vehicle-mounted device, or any combination thereof. For example, capture device 3102 may include source device 12 as described above. If the data includes video, video encoder 20 included in capture device 3102 may actually perform the video encoding process. If the data includes audio (ie, voice), an audio encoder included in the capture device 3102 may actually perform the audio encoding process. In some practical scenarios, the capture device 3102 distributes encoded video and audio data by multiplexing them together. In other practical scenarios, such as video conferencing systems, encoded audio data and encoded video data are not multiplexed. Capture device 3102 separately distributes encoded audio data and encoded video data to terminal devices 3106.

コンテンツ供給システム3100では、端末デバイス310は、符号化されたデータを受信及び再生する。端末デバイス3106は、スマートフォン又はパッド3108、コンピュータ又はラップトップ3110、ネットワーク・ビデオ・レコーダ(NVR)/デジタル・ビデオ・レコーダ(DVR)3112、TV3114、セット・トップ・ボックス(STB)3116、ビデオ会議システム3118、ビデオ監視システム3120、携帯デジタル・アシスタント(PDA)3122、車載デバイス3124、又はこれらの任意の組み合わせ、又は上述した符号化されたデータを復号化することが可能な同様なもののような、データ受信及び復元能力を有するデバイスであるとすることが可能である。例えば、端末デバイス3106は、上述したような宛先デバイス14を含む可能性がある。符号化されたデータがビデオを含む場合、端末デバイスに含まれるビデオ・デコーダ30は、ビデオ復号化を実行するように優先される。符号化されたデータがオーディオを含む場合、端末デバイスに含まれるオーディオ・デコーダは、オーディオ復号化処理を実行するように優先される。 In content provision system 3100, terminal device 310 receives and plays encoded data. Terminal devices 3106 include a smartphone or pad 3108, a computer or laptop 3110, a network video recorder (NVR)/digital video recorder (DVR) 3112, a TV 3114, a set top box (STB) 3116, a video conferencing system 3118, a video surveillance system 3120, a personal digital assistant (PDA) 3122, an in-vehicle device 3124, or any combination thereof, or the like capable of decoding the encoded data described above. It may be a device with reception and recovery capabilities. For example, terminal device 3106 may include destination device 14 as described above. If the encoded data includes video, a video decoder 30 included in the terminal device is prioritized to perform video decoding. If the encoded data includes audio, an audio decoder included in the terminal device is prioritized to perform the audio decoding process.

ディスプレイを有する端末デバイス、例えば、スマートフォン又はパッド3108、コンピュータ又はラップトップ3110、ネットワーク・ビデオ・レコーダ(NVR)/デジタル・ビデオ・レコーダ(DVR)3112、TV3114、パーソナル・デジタル・アシスタント(PDA)3122、又は車載デバイス3124の場合、端末デバイスは、復号化されたデータをそのディスプレイに供給することができる。例えば、STB3116、ビデオ会議システム3118、又はビデオ監視システム3120のようなディスプレイを備えていない端末デバイスについては、復号化されたデータを受信及び表示するために、外部ディスプレイ3126がそこに接続される。
このシステムにおける各デバイスが符号化又は復号化を実行する場合に、上記の実施形態に示されるように、ピクチャ符号化デバイス又はピクチャ復号化デバイスを使用することができる。
A terminal device with a display, such as a smartphone or pad 3108, a computer or laptop 3110, a network video recorder (NVR)/digital video recorder (DVR) 3112, a TV 3114, a personal digital assistant (PDA) 3122, Or in the case of an onboard device 3124, the terminal device can provide the decoded data to its display. For example, for terminal devices without a display, such as the STB 3116, video conferencing system 3118, or video surveillance system 3120, an external display 3126 is connected thereto to receive and display the decoded data.
When each device in the system performs encoding or decoding, a picture encoding device or a picture decoding device can be used, as shown in the embodiments above.

図14は、端末デバイス3106の一例の構成を示す図である。端末デバイス3106が捕捉デバイス3102からストリームを受信した後に、プロトコル処理ユニット3202は、ストリームの伝送プロトコルを分析する。プロトコルは、リアル・タイム・ストリーミング・プロトコル(RTSP)、ハイパーテキスト転送プロトコル(HTTP)、HTTPライブ・ストリーミング・プロトコル(HLS)、MPEG-DASH、リアル・タイム転送プロトコル(RTP)、リアル・タイム・メッセージング・プロトコル(RTMP)、又はそれらの任意の種類の組み合わせ等を含むが、これらに限定されない。
プロトコル処理ユニット3202がストリームを処理した後に、ストリーム・ファイルが生成される。ファイルは、逆多重化ユニット3204に出力される。逆多重化ユニット3204は、多重化されたデータを、符号化されたオーディオ・データ及び符号化されたビデオ・データに分離することができる。上述したように、幾つかの実際的なシナリオに関し、例えばビデオ会議システムにおいて、符号化されたオーディオ・データ及び符号化されたビデオ・データは多重化されない。この状況では、符号化されたデータは、逆多重化ユニット3204を介することなく、ビデオ・デコーダ3206及びオーディオ・デコーダ3208に送信される。
FIG. 14 is a diagram showing the configuration of an example of the terminal device 3106. After terminal device 3106 receives the stream from capture device 3102, protocol processing unit 3202 analyzes the transmission protocol of the stream. Protocols include Real Time Streaming Protocol (RTSP), Hypertext Transfer Protocol (HTTP), HTTP Live Streaming Protocol (HLS), MPEG-DASH, Real Time Transport Protocol (RTP), and Real Time Messaging. - protocols (RTMP), or any kind of combination thereof, etc., but are not limited to these.
A stream file is generated after protocol processing unit 3202 processes the stream. The file is output to demultiplexing unit 3204. Demultiplexing unit 3204 can separate the multiplexed data into encoded audio data and encoded video data. As mentioned above, for some practical scenarios, for example in a video conferencing system, encoded audio data and encoded video data are not multiplexed. In this situation, the encoded data is sent to video decoder 3206 and audio decoder 3208 without going through demultiplexing unit 3204.

逆多重化処理により、ビデオ要素ストリーム(ES)、オーディオES、及びオプションとして字幕が生成される。上述の実施形態で説明したようなビデオ・デコーダ30を含むビデオ・デコーダ3206は、上述の実施形態で示されるような復号化方法によってビデオESを復号化してビデオ・フレームを生成し、このデータを同期ユニット3212へ供給する。オーディオ・デコーダ3208は、オーディオESを復号化してオーディオ・フレームを生成し、このデータを同期ユニット3212へ供給する。代替的に、ビデオ・フレームは、それを同期ユニット3212へ供給する前に、バッファ(図14では示されていない)に格納されてもよい。同様に、オーディオ・フレームは、それを同期ユニット3212へ供給する前に、バッファ(図14では示されていない)に格納されてもよい。 The demultiplexing process produces a video element stream (ES), an audio ES, and optionally subtitles. The video decoder 3206, which includes the video decoder 30 as described in the above embodiments, decodes the video ES to generate video frames by the decoding method as shown in the above embodiments, and decodes this data. Supplied to synchronization unit 3212. Audio decoder 3208 decodes the audio ES to generate audio frames and provides this data to synchronization unit 3212. Alternatively, the video frame may be stored in a buffer (not shown in FIG. 14 ) before providing it to synchronization unit 3212. Similarly, the audio frame may be stored in a buffer (not shown in FIG . 14 ) before providing it to the synchronization unit 3212.

同期ユニット3212は、ビデオ・フレーム及びオーディオ・フレームを同期させ、ビデオ/オーディオをビデオ/オーディオ・ディスプレイ3214に供給する。例えば、同期ユニット3212は、ビデオ及びオーディオ情報の提示を同期させる。情報は、コーディングされたオーディオ及びビジュアル・データの提示に関するタイムスタンプとデータ・ストリーム自体の配信に関するタイムスタンプとを使用してシンタックスでコーディングしてもよい。 A synchronization unit 3212 synchronizes video and audio frames and provides video/audio to a video/audio display 3214. For example, synchronization unit 3212 synchronizes the presentation of video and audio information. Information may be syntactically coded using timestamps regarding the presentation of the coded audio and visual data and timestamps regarding the delivery of the data stream itself.

字幕がストリームに含まれる場合、字幕デコーダ3210は、字幕を復号化し、それをビデオ・フレーム及びオーディオ・フレームと同期させ、ビデオ/オーディオ/字幕をビデオ/オーディオ/字幕ディスプレイ3216に供給する。 If subtitles are included in the stream, subtitle decoder 3210 decodes the subtitles, synchronizes them with video and audio frames, and provides the video/audio/subtitles to video/audio/subtitle display 3216.

数学演算子
本願で使用される数学演算子は、Cプログラミング言語で使用されるものに類似している。しかしながら、整数除算及び算術シフト演算の結果は、より精密に定義され、指数化や実数値除算のような追加的な演算が規定される。番号付け及び数え方の慣例は一般に0から始まり、例えば、「第1」は0番目と同等であり、「第2」は1番目と同等、等々である。
Mathematical Operators The mathematical operators used in this application are similar to those used in the C programming language. However, the results of integer division and arithmetic shift operations are more precisely defined, and additional operations such as exponentiation and real-valued division are specified. Numbering and counting conventions generally start at 0, eg, "1st" is equivalent to 0th, "2nd" is equivalent to 1st, and so on.

算術演算子
以下の算術演算子は次のように規定される:

Figure 2023179591000009
Arithmetic Operators The following arithmetic operators are defined as follows:
Figure 2023179591000009

論理演算子
以下の論理演算子は次のように規定される:
x&&y x及びyのブール論理“and”
x||y x及びyのブール論理“or”
! ブール論理“not”
x?y:z xがTRUEであるか又は0に等しくない場合に、yの値を評価し;そうでなければzの値を評価する。
Logical Operators The following logical operators are defined as follows:
x&&y Boolean logic “and” for x and y
Boolean logic “or” for x||yx and y
! Boolean logic “not”
x?y: Evaluate the value of y if zx is TRUE or not equal to 0; otherwise evaluate the value of z.

関係演算子
以下の関係演算子は次のように規定される:
> より大きい
>= より大きい又は等しい
< より小さい
<= より小さい又は等しい
== に等しい
!= に等しくない
Relational Operators The following relational operators are defined as follows:
> Greater than >= Greater than or equal to < Less than <= Less than or equal to == Equal to! = not equal to

関係演算子が、値“na”(適用可能でない)が指定されているシンタックス要素又は変数に適用される場合、値“na”はそのシンタックス要素又は変数の別個の値として扱われる。値“na”は他の如何なる値にも等しくないと考えられる。 When a relational operator is applied to a syntax element or variable for which the value "na" (not applicable) is specified, the value "na" is treated as a separate value for that syntax element or variable. The value "na" is not considered equal to any other value.

ビット・ワイズ演算子
以下のビット・ワイズ演算子は次のように規定される:
& ビット・ワイズ“and”。整数引数に作用する場合、整数値の2の補数表現に関して作用する。二進引数に作用する場合に、その二進引数が他の引数より少ないビットを含む場合、より短い引数は、0に等しい更なる上位ビットを加えることによって拡張される。
| ビット・ワイズ“or”。整数引数に作用する場合、整数値の2の補数表現に関して作用する。二進引数に作用する場合に、その二進引数が他の引数より少ないビットを含む場合、より短い引数は、0に等しい更なる上位ビットを加えることによって拡張される。
^ ビット・ワイズ“排他的or”。整数引数に作用する場合、整数値の2の補数表現に関して作用する。二進引数に作用する場合に、その二進引数が他の引数より少ないビットを含む場合、より短い引数は、0に等しい更なる上位ビットを加えることによって拡張される。
x>>y xの2の補数整数表現をyという二進数だけ算術右シフトしたもの。この関数はyの非負の整数値についてのみ定義される。右シフトの結果として最上位ビット(MSB)にシフトされたビットは、シフト操作前のxのMSBに等しい。
x<<y xの2の補数整数表現をyという二進数だけ算術左シフトしたもの。この関数はyの非負の整数値についてのみ定義される。左シフトの結果として最下位ビット(LSB)にシフトされたビットは、0に等しい値を有する。
Bit-wise operators The following bit-wise operators are specified as follows:
& bit wise “and”. When acting on an integer argument, it operates on the two's complement representation of the integer value. When operating on a binary argument, if the binary argument contains fewer bits than other arguments, the shorter argument is extended by adding more significant bits equal to zero.
| Bitwise “or”. When acting on an integer argument, it operates on the two's complement representation of the integer value. When operating on a binary argument, if the binary argument contains fewer bits than other arguments, the shorter argument is extended by adding more significant bits equal to zero.
^ Bit-wise “exclusive or”. When acting on an integer argument, it operates on the two's complement representation of the integer value. When operating on a binary argument, if the binary argument contains fewer bits than other arguments, the shorter argument is extended by adding more significant bits equal to zero.
x>>y The two's complement integer representation of x is arithmetic shifted to the right by the binary number y. This function is defined only for non-negative integer values of y. The bit shifted to the most significant bit (MSB) as a result of the right shift is equal to the MSB of x before the shift operation.
x<<y The two's complement integer representation of x is arithmetic left-shifted by the binary number y. This function is defined only for non-negative integer values of y. The bits shifted to the least significant bit (LSB) as a result of the left shift have a value equal to zero.

代入演算子
以下の算術演算子は次のように規定される:
= 代入演算子
++ インクリメント。即ち、x++はx=x+1に等しい。配列インデックスで使用される場合、インクリメント演算前の変数の値を評価する。
-- デクリメント。即ち、x--はx=x-1に等しい。配列インデックスで使用される場合、デクリメント演算前の変数の値を評価する。
+= 指定された量によるインクリメント。即ち、x+=3はx=x+3に等しい。x+=(-3)はx=x+(-3)に等しい。
-= 指定された量によるデクリメント。即ち、x-=3はx=x-3に等しい。x-=(-3)はx=x-(-3)に等しい。
Assignment Operators The following arithmetic operators are defined as follows:
= assignment operator ++ increment. That is, x++ is equal to x=x+1. When used with an array index, evaluates the value of the variable before the increment operation.
-- Decrement. That is, x-- is equal to x=x-1. When used with an array index, evaluates the value of the variable before the decrement operation.
+= Increment by the specified amount. That is, x+=3 is equal to x=x+3. x+=(-3) is equal to x=x+(-3).
-= Decrement by the specified amount. That is, x-=3 is equal to x=x-3. x-=(-3) is equal to x=x-(-3).

レンジ表記
以下の表記が値のレンジを指定するために使用される:
x=y..z xはyから始まってzまでの両端を含む整数値をとり、x,y,及びzは整数であり、zはyより大きい。
Range Notation The following notation is used to specify a range of values:
x=y. .. z x takes an integer value starting from y and ending at z inclusive, x, y, and z are integers, and z is greater than y.

数学的関数
以下の数学的関数が定義される:

Figure 2023179591000010
Figure 2023179591000011
Mathematical Functions The following mathematical functions are defined:
Figure 2023179591000010
Figure 2023179591000011

演算優先順序
括弧を利用することによって表式で優先順位が明示的に指定されていない場合、以下のルールを適用する:
- より高い優先順位の演算は、より低い優先順位の如何なる演算よりも前に評価される。
- 同じ優先順位の演算は、左から右へ順に評価される。
Order of Precedence of Operations If priority is not explicitly specified in the expression by the use of parentheses, the following rules apply:
- Higher priority operations are evaluated before any lower priority operations.
- Operations with the same priority are evaluated in order from left to right.

以下の表は、最高から最低までの演算の優先順位を示し、表の中でより高い位置は、より高い優先順位を示す。 The table below shows the priority of operations from highest to lowest, with higher positions in the table indicating higher priority.

Cプログラミング言語でも使用されている演算子に関し、本明細書で使用される優先順位は、Cプログラミング言語で使用されるものと同じである。
表:最高(表の中で上)から最低(表の中で下)までの演算優先順位

Figure 2023179591000012
With respect to operators that are also used in the C programming language, the order of precedence used herein is the same as that used in the C programming language.
Table: Operation priority from highest (top in table) to lowest (bottom in table)
Figure 2023179591000012

論理演算子のテキスト記述
テキストにおいて、以下の形式:
if( condition 0 )
statement 0
else if( condition 1 )
statement 1
...
else /* informative remark on remaining condition */
statement n
で数学的に記述され得るような論理演算子のステートメントは、以下の方式で記述することが可能である:
... as follows / ... the following applies:
- If condition 0, statement 0
- Otherwise, if condition 1, statement 1
- ...
- Otherwise (informative remark on remaining condition), statement n
Text description of logical operators In text, the following format:
if( condition 0 )
statement 0
else if( condition 1 )
statement 1
...
else /* informative remark on remaining condition */
statement n
A statement of a logical operator such that it can be written mathematically can be written in the following way:
... as follows / ... the following applies:
- If condition 0, statement 0
- Otherwise, if condition 1, statement 1
-...
- Otherwise (informative remark on remaining condition), statement n

テキストにおける各々の“If ... Otherwise, if ... Otherwise, ...”というステートメントは、“If...”の直後に続く“... as follows”又は“... the following applies”とともに導入される。“If ... Otherwise, if ... Otherwise, ...”の最後の条件は、常に“Otherwise, ...”である。交互の“If ... Otherwise, if ... Otherwise, ...”ステートメントは、“... as follows”又は“... the following applies”を末尾の“Otherwise, ...”に一致させることによって識別することが可能である。 Each "If ... Otherwise, if ... Otherwise, ..." statement in the text is defined as "... as follows" or "... the following applies" immediately following "If..." ” will be introduced with. The final condition of "If ... Otherwise, if ... Otherwise, ..." is always "Otherwise, ...". Alternate "If ... Otherwise, if ... Otherwise, ..." statements match "... as follows" or "... the following applies" to a trailing "Otherwise, ..." It is possible to identify by

テキストにおいて、以下の形式:
if( condition 0a && condition 0b )
statement 0
else if( condition 1a || condition 1b )
statement 1
...
else
statement n
で数学的に記述され得るような論理演算子のステートメントは、以下の方式で記述することが可能である:
... as follows / ... the following applies:
- 以下の全ての条件がtrueであるならば、statement 0:
- condition 0a
- condition 0b
- それ以外の場合に、以下の条件のうちの1つ以上がtrueであるならば、statement 1:
- condition 1a
- condition 1b
- ...
- それ以外の場合に、statement n
In text, the following format:
if( condition 0a && condition 0b )
statement 0
else if( condition 1a || condition 1b )
statement 1
...
else
statement n
A statement of a logical operator such that it can be written mathematically can be written in the following way:
... as follows / ... the following applies:
- statement 0 if all of the following conditions are true:
- condition 0a
- condition 0b
- Otherwise, if one or more of the following conditions are true, statement 1:
- condition 1a
- condition 1b
-...
- otherwise, statement n

テキストにおいて、以下の形式:
if( condition 0 )
statement 0
if( condition 1 )
statement 1
で数学的に記述され得るような論理演算子のステートメントは、以下の方式で記述することが可能である:
condition 0である場合には、statement 0
condition 1である場合には、statement 1
In text, the following format:
if( condition 0 )
statement 0
if( condition 1 )
statement 1
A statement of a logical operator such that it can be written mathematically can be written in the following way:
If condition 0, then statement 0
If condition 1, then statement 1

本発明の実施形態は、主にビデオ・コーディングに基づいて説明されているが、コーディング・システム10、エンコーダ20及びデコーダ30(及び対応するシステム10)の実施形態、並びに本願で説明される他の実施形態は、静止ピクチャ処理又はコーディング、即ちビデオ・コーディングにおけるように、任意の先行する又は連続するピクチャから独立した個々のピクチャの処理又はコーディング用に構成されてもよいことに留意すべきである。一般に、ピクチャ処理コーディングが単一のピクチャ17に限定されるケースでは、インター予測ユニット244(エンコーダ)及び344(デコーダ)だけは利用可能でない可能性がある。ビデオ・エンコーダ20及びビデオ・デコーダ30の他の全ての機能(ツール又は技術とも呼ばれる)は、静止ピクチャ処理、例えば、残差計算204/304、変換206、量子化208、逆量子化210/310、(逆)変換212/312、パーティショニング262/362、イントラ予測254/354、及び/又はループ・フィルタリング220、320、及びエントロピー符号化270及びエントロピー復号化304に等しく使用することができる。 Although embodiments of the present invention are described primarily based on video coding, embodiments of coding system 10, encoder 20 and decoder 30 (and corresponding system 10), as well as other embodiments described herein It should be noted that embodiments may be configured for still picture processing or coding, i.e. for processing or coding individual pictures independent of any preceding or consecutive pictures, as in video coding. . Generally, in cases where picture processing coding is limited to a single picture 17, only inter prediction units 244 (encoder) and 344 (decoder) may not be available. All other functions (also referred to as tools or techniques) of video encoder 20 and video decoder 30 include still picture processing, e.g. residual calculation 204/304, transform 206, quantization 208, dequantization 210/310 , (inverse) transform 212/312, partitioning 262/362, intra prediction 254/354, and/or loop filtering 220, 320, and entropy encoding 270 and entropy decoding 304.

例えば、エンコーダ20及びデコーダ30の実施形態、並びに、例えばエンコーダ20及びデコーダ30に関連して本願で説明される機能は、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせで実施されてもよい。ソフトウェアで実施される場合、機能は、1つ以上の命令又はコードとしてコンピュータ読み取り可能な媒体に記憶されるか又は通信媒体を介して伝送され、ハードウェア・ベースの処理ユニットによって実行されてもよい。コンピュータ読み取り可能な媒体は、データ記憶媒体のような有形媒体に対応するコンピュータ読み取り可能な記憶媒体、又は、例えば通信プロトコルに従ってある場所から他の場所へのコンピュータ・プログラムの転送に役立つ任意の媒体を含む通信媒体を含んでもよい。このように、コンピュータ読み取り可能な媒体は、一般に、(1)非一時的である有形のコンピュータ読み取り可能な記憶媒体、又は(2)信号又は搬送波のような通信媒体に対応する可能性がある。データ記憶媒体は、本開示で説明される技術の実施のための命令、コード及び/又はデータ構造を検索するために、1つ以上のコンピュータ又は1つ以上のプロセッサによってアクセスすることが可能な任意の利用可能な媒体である可能性がある。コンピュータ・プログラム製品は、コンピュータ読み取り可能な媒体を含むことが可能である。 For example, embodiments of encoder 20 and decoder 30, and the functionality described herein in connection with encoder 20 and decoder 30, may be implemented in hardware, software, firmware, or any combination thereof. . If implemented in software, the functions may be stored as one or more instructions or code on a computer-readable medium or transmitted over a communication medium and executed by a hardware-based processing unit. . Computer-readable media refers to computer-readable storage media corresponding to tangible media, such as data storage media, or any medium that facilitates transfer of a computer program from one place to another, e.g. according to a communication protocol. may include a communication medium that includes. Thus, computer-readable media generally may correspond to (1) tangible computer-readable storage media that is non-transitory, or (2) a communication medium such as a signal or carrier wave. A data storage medium can be any device that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementation of the techniques described in this disclosure. may be available media. A computer program product may include a computer readable medium.

一例として、限定ではなく、このようなコンピュータ読み取り可能な記憶媒体は、RAM、ROM、EEPROM、CD-ROM又は他の光ディスク・ストレージ、磁気ディスク・ストレージ、又は他の磁気ストレージ・デバイス、フラッシュ・メモリ、又は他の任意の媒体であって、命令又はデータ構造の形式で所望のプログラム・コードを記憶するために使用することが可能であり且つコンピュータによってアクセスすることが可能な他の任意の媒体を含むことが可能である。また、任意の接続は、コンピュータ読み取り可能な媒体と適切に言及される。例えば、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者回線(DSL)、又は赤外線、無線、及びマイクロ波のような無線技術を用いて、ウェブサイト、サーバー、又は他のリモート・ソースから命令が送信される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、DSL、又は赤外線、無線、及びマイクロ波のような無線技術は、媒体の定義に包含される。しかしながら、コンピュータ読み取り可能な記憶媒体及びデータ記憶媒体は、接続、搬送波、信号、又は他の一時的な媒体を含まず、むしろ非一時的な有形の記憶媒体に関連していることが理解されるべきである。ディスク及びディスクは、本願で使用される場合、コンパクト・ディスク(CD)、レーザー・ディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピー・ディスク及びブルーレイ・ディスクを含み、ディスクは通常、データを磁気的に再生し、ディスクはレーザーでデータを光学的に再生する。上記の組み合わせもまた、コンピュータ読み取り可能な媒体の範囲内に包含されるべきである。 By way of example, and without limitation, such computer readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, etc. , or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. It is possible to include. Also, any connection is properly referred to as a computer-readable medium. For example, using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave to connect websites, servers, or other remote sources. Coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of a medium if the instructions are transmitted from the medium. However, it is understood that computer-readable storage media and data storage media do not include connections, carrier waves, signals or other transitory media, but rather relate to non-transitory tangible storage media. Should. Discs and discs as used herein include compact discs (CDs), laser discs, optical discs, digital versatile discs (DVDs), floppy discs and Blu-ray discs, where discs typically store data on a magnetic The disc uses a laser to optically reproduce the data. Combinations of the above should also be included within the scope of computer-readable media.

命令は、1つ以上のデジタル信号プロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル論理アレイ(FPGA)、又は他の同等な集積された又は個別的な論理回路のような1つ以上のプロセッサによって実行することができる。従って、本願で使用される用語「プロセッサ」は、前述の構造の何れか、又は本願で説明される技術の実施に適した他の任意の構造を指す可能性がある。更に、幾つかの態様において、本願で説明される機能は、符号化及び復号化のために構成される専用ハードウェア及び/又はソフトウェア・モジュール内で提供されてもよく、又は組み合わされるコーデックに組み込まれてもよい。また、技術は1つ以上の回路又は論理素子で完全に実現することも可能である。 The instructions may be implemented on one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. can be executed by one or more processors such as Accordingly, the term "processor" as used herein may refer to any of the aforementioned structures or any other structure suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated into a combined codec. You may be The techniques can also be implemented entirely with one or more circuits or logic elements.

本開示の技術は、ワイヤレス・ハンドセット、集積回路(IC)、又は一組のIC(例えば、チップ・セット)を含む、広範な種類のデバイス又は装置で実施することが可能である。開示される技術を実施するように構成されるデバイスの機能的側面を強調するために、本開示では、種々のコンポーネント、モジュール、又はユニットが説明されているが、必ずしも異なるハードウェア・ユニットによる実現を必要としてはいない。むしろ、上述したように、種々のユニットは、適切なソフトウェア及び/又はファームウェアと共に、コーデック・ハードウェア・ユニット内で組み合わされてもよいし、又は上述したような1つ以上のプロセッサを含む相互運用ハードウェア・ユニットの集まりによって提供されてもよい。
The techniques of this disclosure can be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC), or a set of ICs (eg, a chip set). Although this disclosure describes various components, modules, or units to emphasize functional aspects of devices configured to implement the disclosed techniques, implementation by different hardware units is not necessarily required. I don't need it. Rather, as described above, the various units may be combined within a codec hardware unit, with appropriate software and/or firmware, or interoperable, including one or more processors as described above. It may also be provided by a collection of hardware units.

Claims (20)

復号化装置によって実行されるコーディングの方法であって:
ビットストリームを受信するステップであって、前記ビットストリームはフラグを含み、前記フラグはモード・フラグ又は分割フラグのうちの少なくとも1つを含み、前記モード・フラグは、コーディング・ユニットが矩形の変換ブロック・サブパーティションにパーティション化されるかどうかを示し、前記分割フラグは、イントラ・サブ・パーティション(ISP)の分割タイプが水平であるか又は垂直であるかを示す、ステップと;
前記フラグに基づいてISPの情報を取得するステップであって、前記ISPの情報は、前記コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されるかどうかを示す、ステップと;
少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいて前記コーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するステップであって、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数であり、前記クロマ・フォーマット情報は、前記コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、前記クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含み、及び前記第1条件は:1)前記コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)前記ISPの情報が、前記ルマ・コーディング・ブロックを分割するためにISPが使用されることを示していることを含む、ステップと;
を含む方法。
A method of coding performed by a decoding device, comprising:
receiving a bitstream, the bitstream including a flag, the flag including at least one of a mode flag or a splitting flag, the mode flag being a transform block whose coding unit is rectangular; - indicating whether to be partitioned into sub-partitions, the splitting flag indicating whether the splitting type of the intra-sub-partition (ISP) is horizontal or vertical;
obtaining ISP information based on the flag, the ISP information indicating whether an ISP is used to divide luma coding blocks of the coding unit;
determining the size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC, where SubWidthC and SubHeightC are variables dependent on chroma format information, if at least a first condition is satisfied; and the chroma format information indicates a chroma format of a picture to which the coding unit belongs, and the chroma format is 4:2:0, 4:2:2, or 4:4:4. and the first condition is: 1) a single tree is used to partition the coding unit, and 2) the ISP information is used for the luma coding. - a step including indicating that the ISP is used to divide the block;
method including.
前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックのサイズにも依存する、請求項1に記載の方法。 2. The method of claim 1, wherein the size of the chroma conversion block also depends on the size of the luma coding block. 前記クロマ変換ブロックの前記サイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
を満たし、wCは前記クロマ変換ブロックの幅を表し、hCは前記クロマ変換ブロックの高さを表し、CbWidthは前記ルマ・コーディング・ブロックの幅を表し、CbHeightは前記ルマ・コーディング・ブロックの高さを表す、請求項2に記載の方法。
The size of the chroma conversion block is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
, wC represents the width of the chroma conversion block, hC represents the height of the chroma conversion block, CbWidth represents the width of the luma coding block, and CbHeight represents the height of the luma coding block. 3. The method of claim 2, wherein
前記モード・フラグはintra_subpartitions_mode_flagであり;
1に等しいintra_subpartitions_mode_flagは、現在のイントラ・コーディング・ユニットが、NumIntraSubPartitions個の矩形の変換ブロック・サブパーティションにパーティション化されることを示し;
0に等しいintra_subpartitions_mode_flagは、前記現在のイントラ・コーディング・ユニットが、矩形の変換ブロック・サブパーティションにパーティション化されないことを示し;
intra_subpartitions_mode_flagは、存在しない場合、0に等しいと推定される、請求項1に記載の方法。
the mode flag is intra_subpartitions_mode_flag;
intra_subpartitions_mode_flag equal to 1 indicates that the current intra coding unit is partitioned into NumIntraSubPartitions rectangular transform block subpartitions;
intra_subpartitions_mode_flag equal to 0 indicates that the current intra coding unit is not partitioned into rectangular transform block subpartitions;
2. The method of claim 1, wherein intra_subpartitions_mode_flag is presumed to be equal to 0 if absent.
前記分割フラグはintra_subpartitions_split_flagであり;
intra_subpartitions_split_flagが存在しないならば:
cbHeightがMaxTbSizeYより大きい場合には、intra_subpartitions_split_flagは0に等しいと推定され;
それ以外の場合(cbWidthがMaxTbSizeYより大きい場合)には、intra_subpartitions_split_flagは1に等しいと推定される、請求項1に記載の方法。
The split flag is intra_subpartitions_split_flag;
If intra_subpartitions_split_flag does not exist:
If cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag is assumed to be equal to 0;
2. The method of claim 1, wherein intra_subpartitions_split_flag is assumed to be equal to 1 otherwise (if cbWidth is greater than MaxTbSizeY).
前記クロマ変換ブロックのサイズは、以下のルール:
前記クロマ・フォーマットが4:4:4に等しい場合には、前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックの前記サイズに等しく;
それ以外の場合には、前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックの前記サイズと前記クロマ・フォーマットの関数として決定されること;
に従って決定される、請求項2に記載の方法。
The size of the chroma conversion block follows the following rules:
if the chroma format is equal to 4:4:4, the size of the chroma conversion block is equal to the size of the luma coding block;
otherwise, the size of the chroma conversion block is determined as a function of the size of the luma coding block and the chroma format;
3. The method according to claim 2, wherein the method is determined according to.
前記ISPの情報は、IntraSubPartitionsSplitTypeにより示され;及び
IntraSubPartitionsSplitType != ISP_NO_SPLITである場合に、前記コーディング・ユニットの前記ルマ・コーディング・ブロックを分割するためにISPが使用される、請求項1に記載の方法。
The ISP information is indicated by IntraSubPartitionsSplitType; and
2. The method of claim 1, wherein ISP is used to split the luma coding blocks of the coding unit if IntraSubPartitionsSplitType != ISP_NO_SPLIT.
イントラ・サブ・パーティション(ISP)のための符号化装置であって:
1つ以上のプロセッサと;
前記1つ以上のプロセッサに結合され、命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体と;
を含み、前記命令は、前記1つ以上のプロセッサにより実行されると、前記1つ以上のプロセッサに:
少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいてコーディング・ユニットのクロマ変換ブロックのサイズを決定するステップであって、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数であり、前記クロマ・フォーマット情報は、前記コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、前記クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含み、及び前記第1条件は:1)前記コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)前記コーディング・ユニットのルマ・コーディング・ブロックを分割するためにイントラ・サブ・パーティション(ISP)が使用されることを含む、ステップと;
ビットストリームを符号化するステップであって、前記ビットストリームはフラグの値を含み、前記フラグはモード・フラグ又は分割フラグのうちの少なくとも1つを含み、前記モード・フラグは、前記コーディング・ユニットが矩形の変換ブロック・サブパーティションにパーティション化されるかどうかを示し、前記分割フラグは、ISPの分割タイプが水平であるか又は垂直であるかを示す、ステップと;
を実行させる、装置。
An encoding device for intra sub-partition (ISP), comprising:
one or more processors;
a non-transitory computer-readable storage medium coupled to the one or more processors and storing instructions;
and the instructions, when executed by the one or more processors, cause the one or more processors to:
determining the size of a chroma transform block of the coding unit based on SubWidthC and SubHeightC if at least a first condition is satisfied, wherein SubWidthC and SubHeightC are variables dependent on chroma format information; The chroma format information indicates a chroma format of a picture to which the coding unit belongs, and the chroma format is at least 4:2:0, 4:2:2, or 4:4:4. and the first condition is: 1) a single tree is used to partition the coding unit, and 2) to partition luma coding blocks of the coding unit. using an intra sub-partition (ISP);
encoding a bitstream, the bitstream including the values of flags, the flags including at least one of a mode flag or a splitting flag, the mode flags indicating that the coding unit indicating whether to be partitioned into rectangular transform block subpartitions, the partition flag indicating whether the ISP partition type is horizontal or vertical;
A device that executes.
前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックのサイズにも依存する、請求項8に記載の装置。 9. The apparatus of claim 8, wherein the size of the chroma conversion block also depends on the size of the luma coding block. 前記クロマ変換ブロックの前記サイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
に従って決定され、wCは前記クロマ変換ブロックの幅を表し、hCは前記クロマ変換ブロックの高さを表し、CbWidthは前記ルマ・コーディング・ブロックの幅を表し、CbHeightは前記ルマ・コーディング・ブロックの高さを表す、請求項8に記載の装置。
The size of the chroma conversion block is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
where wC represents the width of the chroma conversion block, hC represents the height of the chroma conversion block, CbWidth represents the width of the luma coding block, and CbHeight represents the height of the luma coding block. 9. The device of claim 8, wherein the device represents
前記モード・フラグはintra_subpartitions_mode_flagであり;
1に等しいintra_subpartitions_mode_flagは、現在のイントラ・コーディング・ユニットが、NumIntraSubPartitions個の矩形の変換ブロック・サブパーティションにパーティション化されることを示し;
0に等しいintra_subpartitions_mode_flagは、前記現在のイントラ・コーディング・ユニットが、矩形の変換ブロック・サブパーティションにパーティション化されないことを示し;
intra_subpartitions_mode_flagは、存在しない場合、0に等しいと推定される、請求項8に記載の装置。
the mode flag is intra_subpartitions_mode_flag;
intra_subpartitions_mode_flag equal to 1 indicates that the current intra coding unit is partitioned into NumIntraSubPartitions rectangular transform block subpartitions;
intra_subpartitions_mode_flag equal to 0 indicates that the current intra coding unit is not partitioned into rectangular transform block subpartitions;
9. The apparatus of claim 8, wherein intra_subpartitions_mode_flag is presumed to be equal to 0 if absent.
前記分割フラグはintra_subpartitions_split_flagであり;
intra_subpartitions_split_flagが存在しないならば:
cbHeightがMaxTbSizeYより大きい場合には、intra_subpartitions_split_flagは0に等しいと推定され;
それ以外の場合(cbWidthがMaxTbSizeYより大きい場合)には、intra_subpartitions_split_flagは1に等しいと推定される、請求項8に記載の装置。
The split flag is intra_subpartitions_split_flag;
If intra_subpartitions_split_flag does not exist:
If cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag is assumed to be equal to 0;
9. The apparatus of claim 8, wherein intra_subpartitions_split_flag is assumed to be equal to 1 otherwise (if cbWidth is greater than MaxTbSizeY).
前記クロマ変換ブロックのサイズは、以下のルール:
前記クロマ・フォーマットが4:4:4に等しい場合には、前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックの前記サイズに等しく;
それ以外の場合には、前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックの前記サイズと前記クロマ・フォーマットの関数として決定されること;
に従って決定される、請求項9に記載の装置。
The size of the chroma conversion block follows the following rules:
if the chroma format is equal to 4:4:4, the size of the chroma conversion block is equal to the size of the luma coding block;
otherwise, the size of the chroma conversion block is determined as a function of the size of the luma coding block and the chroma format;
10. The apparatus according to claim 9, wherein the apparatus is determined according to:
前記ISPの情報は、IntraSubPartitionsSplitTypeにより示され;及び
IntraSubPartitionsSplitType != ISP_NO_SPLITである場合に、前記コーディング・ユニットの前記ルマ・コーディング・ブロックを分割するためにISPが使用される、請求項8に記載の装置。
The ISP information is indicated by IntraSubPartitionsSplitType; and
9. The apparatus of claim 8, wherein ISP is used to split the luma coding blocks of the coding unit if IntraSubPartitionsSplitType != ISP_NO_SPLIT.
命令を記憶する非一時的なコンピュータ読み取り可能な記憶媒体であって、前記命令は、処理回路により実行されると、前記処理回路に:
ビットストリーム内のフラグに基づいてイントラ・サブ・パーティション(ISP)の情報を取得するステップであって、前記フラグはモード・フラグ又は分割フラグのうちの少なくとも1つを含み、前記モード・フラグは、コーディング・ユニットが矩形の変換ブロック・サブパーティションにパーティション化されるかどうかを示し、前記分割フラグは、イントラ・サブ・パーティション(ISP)の分割タイプが水平であるか又は垂直であるかを示し、前記ISPの情報は、コーディング・ユニットのルマ・コーディング・ブロックを分割するためにISPが使用されるかどうかを示す、ステップと;
少なくとも第1条件が充足される場合に、SubWidthC及びSubHeightCに基づいて前記コーディング・ユニットのクロマ変換ブロック(TB)のサイズを決定するステップであって、SubWidthC及びSubHeightCはクロマ・フォーマット情報に依存する変数であり、前記クロマ・フォーマット情報は、前記コーディング・ユニットが所属するピクチャのクロマ・フォーマットを示し、前記クロマ・フォーマットは、4:2:0,又は4:2:2,又は4:4:4のうちの少なくとも1つを含み、及び前記第1条件は:1)前記コーディング・ユニットをパーティション化するためにシングル・ツリーが使用されること、及び2)前記ISPの情報が、前記ルマ・コーディング・ブロックを分割するためにISPが使用されることを示していることを含む、ステップと;
を実行させる、記憶媒体。
A non-transitory computer-readable storage medium storing instructions, the instructions, when executed by a processing circuit, causing the processing circuit to:
Obtaining intra sub-partition (ISP) information based on flags in a bitstream, the flags including at least one of a mode flag or a split flag, the mode flag comprising: indicates whether the coding unit is partitioned into rectangular transform block subpartitions, the partition flag indicates whether the intra subpartition (ISP) partition type is horizontal or vertical; the ISP information indicates whether an ISP is used to divide luma coding blocks of a coding unit;
determining the size of a chroma transform block (TB) of the coding unit based on SubWidthC and SubHeightC, where SubWidthC and SubHeightC are variables dependent on chroma format information, if at least a first condition is satisfied; and the chroma format information indicates a chroma format of a picture to which the coding unit belongs, and the chroma format is 4:2:0, 4:2:2, or 4:4:4. and the first condition is: 1) a single tree is used to partition the coding unit, and 2) the ISP information is used for the luma coding. - a step including indicating that the ISP is used to divide the block;
A storage medium that executes.
前記クロマ変換ブロックの前記サイズは前記ルマ・コーディング・ブロックのサイズにも依存する、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。 16. The non-transitory computer-readable storage medium of claim 15, wherein the size of the chroma conversion block also depends on the size of the luma coding block. 前記クロマ変換ブロックの前記サイズは:
wC = CbWidth[x0][y0] / SubWidthC;及び
hC = CbHeight[x0][y0] / SubHeightC;
を満たし、wCは前記クロマ変換ブロックの幅を表し、hCは前記クロマ変換ブロックの高さを表し、CbWidthは前記ルマ・コーディング・ブロックの幅を表し、CbHeightは前記ルマ・コーディング・ブロックの高さを表す、請求項16に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
The size of the chroma conversion block is:
wC = CbWidth[x0][y0] / SubWidthC; and
hC = CbHeight[x0][y0] / SubHeightC;
, wC represents the width of the chroma conversion block, hC represents the height of the chroma conversion block, CbWidth represents the width of the luma coding block, and CbHeight represents the height of the luma coding block. 17. The non-transitory computer-readable storage medium of claim 16, representing:
前記モード・フラグはintra_subpartitions_mode_flagであり;
1に等しいintra_subpartitions_mode_flagは、現在のイントラ・コーディング・ユニットが、NumIntraSubPartitions個の矩形の変換ブロック・サブパーティションにパーティション化されることを示し;
0に等しいintra_subpartitions_mode_flagは、前記現在のイントラ・コーディング・ユニットが、矩形の変換ブロック・サブパーティションにパーティション化されないことを示し;
intra_subpartitions_mode_flagは、存在しない場合、0に等しいと推定される、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
the mode flag is intra_subpartitions_mode_flag;
intra_subpartitions_mode_flag equal to 1 indicates that the current intra coding unit is partitioned into NumIntraSubPartitions rectangular transform block subpartitions;
intra_subpartitions_mode_flag equal to 0 indicates that the current intra coding unit is not partitioned into rectangular transform block subpartitions;
16. The non-transitory computer-readable storage medium of claim 15, wherein intra_subpartitions_mode_flag is presumed to be equal to 0 if absent.
前記分割フラグはintra_subpartitions_split_flagであり;
intra_subpartitions_split_flagが存在しないならば:
cbHeightがMaxTbSizeYより大きい場合には、intra_subpartitions_split_flagは0に等しいと推定され;
それ以外の場合(cbWidthがMaxTbSizeYより大きい場合)には、intra_subpartitions_split_flagは1に等しいと推定される、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
The split flag is intra_subpartitions_split_flag;
If intra_subpartitions_split_flag does not exist:
If cbHeight is greater than MaxTbSizeY, intra_subpartitions_split_flag is assumed to be equal to 0;
16. The non-transitory computer-readable storage medium of claim 15, wherein intra_subpartitions_split_flag is assumed to be equal to 1 otherwise (if cbWidth is greater than MaxTbSizeY).
前記ISPの情報は、IntraSubPartitionsSplitTypeにより示され;及び
IntraSubPartitionsSplitType != ISP_NO_SPLITである場合に、前記コーディング・ユニットの前記ルマ・コーディング・ブロックを分割するためにISPが使用される、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
The ISP information is indicated by IntraSubPartitionsSplitType; and
16. The non-transitory computer-readable storage medium of claim 15, wherein ISP is used to split the luma coding blocks of the coding unit if IntraSubPartitionsSplitType != ISP_NO_SPLIT.
JP2023170524A 2019-03-05 2023-09-29 Method and apparatus for intra sub-partition coding mode Pending JP2023179591A (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201962814270P 2019-03-05 2019-03-05
US62/814,270 2019-03-05
US201962837698P 2019-04-23 2019-04-23
US62/837,698 2019-04-23
JP2021552577A JP7397878B2 (en) 2019-03-05 2020-03-05 Method and apparatus for intra-subpartition coding mode
PCT/RU2020/050039 WO2020180216A2 (en) 2019-03-05 2020-03-05 The method and apparatus for intra sub-partitions coding mode

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2021552577A Division JP7397878B2 (en) 2019-03-05 2020-03-05 Method and apparatus for intra-subpartition coding mode

Publications (1)

Publication Number Publication Date
JP2023179591A true JP2023179591A (en) 2023-12-19

Family

ID=72338770

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021552577A Active JP7397878B2 (en) 2019-03-05 2020-03-05 Method and apparatus for intra-subpartition coding mode
JP2023170524A Pending JP2023179591A (en) 2019-03-05 2023-09-29 Method and apparatus for intra sub-partition coding mode

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2021552577A Active JP7397878B2 (en) 2019-03-05 2020-03-05 Method and apparatus for intra-subpartition coding mode

Country Status (11)

Country Link
US (2) US11750807B2 (en)
EP (1) EP3912347A4 (en)
JP (2) JP7397878B2 (en)
KR (1) KR20210113367A (en)
CN (2) CN113519156A (en)
AU (2) AU2020232135B2 (en)
BR (1) BR112021017280A2 (en)
CA (1) CA3127182A1 (en)
MX (1) MX2021010502A (en)
SG (1) SG11202107751RA (en)
WO (1) WO2020180216A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117956188A (en) * 2019-04-20 2024-04-30 北京字节跳动网络技术有限公司 Signaling of syntax elements for joint coding of chroma residual
CN115567707A (en) 2019-05-30 2023-01-03 抖音视界有限公司 Adaptive loop filtering of chrominance components
WO2022197139A1 (en) * 2021-03-19 2022-09-22 현대자동차주식회사 Method and device for video coding using intra-subblock prediction of chroma block

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011109397A (en) * 2009-11-17 2011-06-02 Sony Corp Image transmission method, image reception method, image transmission device, image reception device, and image transmission system
US9667994B2 (en) * 2012-10-01 2017-05-30 Qualcomm Incorporated Intra-coding for 4:2:2 sample format in video coding
US10455228B2 (en) * 2016-03-21 2019-10-22 Qualcomm Incorporated Determining prediction parameters for non-square blocks in video coding
WO2020111843A1 (en) * 2018-11-28 2020-06-04 주식회사 윌러스표준기술연구소 Video signal processing method and device using intra prediction filtering
WO2020149648A1 (en) * 2019-01-15 2020-07-23 엘지전자 주식회사 Image coding method and device using transform skip flag
US20220109875A1 (en) * 2019-02-09 2022-04-07 Lg Electronics Inc. Method and device for processing video signal

Also Published As

Publication number Publication date
SG11202107751RA (en) 2021-08-30
US11750807B2 (en) 2023-09-05
AU2020232135B2 (en) 2023-11-23
CA3127182A1 (en) 2020-09-10
US11831871B2 (en) 2023-11-28
US20220248012A1 (en) 2022-08-04
BR112021017280A2 (en) 2021-11-09
WO2020180216A2 (en) 2020-09-10
CN113519156A (en) 2021-10-19
EP3912347A2 (en) 2021-11-24
CN113660489B (en) 2022-10-11
MX2021010502A (en) 2021-10-01
EP3912347A4 (en) 2022-03-16
JP7397878B2 (en) 2023-12-13
CN113660489A (en) 2021-11-16
WO2020180216A3 (en) 2020-11-19
AU2024201141A1 (en) 2024-03-14
JP2022523967A (en) 2022-04-27
US20210385450A1 (en) 2021-12-09
KR20210113367A (en) 2021-09-15
AU2020232135A1 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
JP7271683B2 (en) Encoders, decoders and corresponding intra-prediction methods
AU2020246733B2 (en) An encoder, a decoder and corresponding methods for intra prediction
JP7391991B2 (en) Method and apparatus for intra-smoothing
JP7372465B2 (en) Encoder, decoder, and corresponding method for signaling subpictures within a sequence parameter set
CN116506599A (en) Method and device for intra-frame prediction by using linear model
JP2024026231A (en) Encoders, decoders and corresponding methods related to intra prediction mode
JP7397878B2 (en) Method and apparatus for intra-subpartition coding mode
JP2023085351A (en) Method of efficient signalling of cbf flags
KR20220054442A (en) Method and apparatus for chrominance quantization parameter signaling
JP2023100701A (en) Encoder, decoder and corresponding methods using intra mode coding for intra prediction
KR102657540B1 (en) An encoder, a decoder, and corresponding methods that are used for transform process
US20240163433A1 (en) Method and apparatus for intra sub-partitions coding mode
JP2022531544A (en) Complexity reduction encoders, decoders, and corresponding methods in intra-prediction for planar mode

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231020