JPWO2020011796A5 - - Google Patents
Download PDFInfo
- Publication number
- JPWO2020011796A5 JPWO2020011796A5 JP2021500701A JP2021500701A JPWO2020011796A5 JP WO2020011796 A5 JPWO2020011796 A5 JP WO2020011796A5 JP 2021500701 A JP2021500701 A JP 2021500701A JP 2021500701 A JP2021500701 A JP 2021500701A JP WO2020011796 A5 JPWO2020011796 A5 JP WO2020011796A5
- Authority
- JP
- Japan
- Prior art keywords
- coding
- image
- data
- coding tree
- ctu
- 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.)
- Granted
Links
Images
Description
本発明は、ビデオの符号化およびビデオの復号に関し、特に、エンコーダおよびデコーダ、コード化された画像の多様な空間分割のための符号化方法、および復号方法に関する。 The present invention relates to video encoding and video decoding, and in particular to encoders and decoders, encoding and decoding methods for diverse spatial partitioning of coded images.
H.265/HEVCは、エンコーダおよび/またはデコーダでの並列処理を向上または有効化までもするためのツールをすでに提供しているビデオコーデックである。例えば、HEVCは、互いに独立して符号化されたタイルの配列への画像の細分割を補助する。HEVCで補助される別の概念は、WPPに関連しており、それによれば、連続するCTUラインの処理で何らかの最小CTUオフセットが守られている場合(CTU=コーディングツリーユニット)、画像のCTU行またはCTUラインを左から右に並行して、例えばストライプで処理できる。ただし、ビデオエンコーダおよび/またはビデオデコーダの並列処理機能をさらに効率的に補助するビデオコーデックを手元に用意しておくことが望ましい。
次のセクション「最先端のVCL分割」では、最先端のVCL分割の導入を説明する(VCL=ビデオコーディングレイヤー)。
H. H.265/HEVC is a video codec that already provides tools to improve or even enable parallelism in encoders and/or decoders. For example, HEVC helps subdivide an image into an array of independently encoded tiles. Another HEVC-assisted concept is related to WPP, according to which CTU lines of an image are processed if some minimum CTU offset is observed in processing consecutive CTU lines (CTU = Coding Tree Unit). Or the CTU lines can be processed in parallel from left to right, eg in stripes. However, it is desirable to have a video codec on hand that more efficiently assists the parallel processing capabilities of a video encoder and/or video decoder.
The next section "State of the art VCL partitioning" describes the introduction of state of the art VCL partitioning (VCL = Video Coding Layer).
通常、ビデオコーディングでは、画像サンプルのコーディングプロセスでは、予測や変換コーディングなどの共同処理のためにサンプルがいくつかの長方形の領域に分割される、より小さなパーティションが必要である。したがって、画像は、ビデオシーケンスの符号化中に一定である特定のサイズのブロックに分割される。H.264/AVCでは、16x16のサンプルの規格の固定のサイズのブロック、いわゆるマクロブロックが使用されている。最先端のHEVC規格([1]を参照)には、最大サイズ64×64サンプルのコーディングツリーブロック(CTB)またはコーディングツリーユニット(CTU)がある。HEVCの詳細な説明では、このような種類のブロックの場合、より一般的な用語であるCTUが使用される。
CTUは、左上のCTUから始まり、画像のCTUを線方向に、右下のCTUまで処理するラスタースキャン順に処理される。
Usually in video coding, the process of coding image samples requires smaller partitions in which the samples are divided into several rectangular regions for joint processing such as prediction and transform coding. Therefore, the image is divided into blocks of a certain size that is constant during the encoding of the video sequence. H. H.264/AVC uses standard fixed-size blocks of 16×16 samples, so-called macroblocks. The state-of-the-art HEVC standard (see [1]) has a coding tree block (CTB) or coding tree unit (CTU) of maximum size 64x64 samples. A detailed description of HEVC uses the more general term CTU for these types of blocks.
The CTUs are processed in raster scan order starting with the top left CTU and processing linearly through the CTUs of the image to the bottom right CTU.
コード化されたCTUデータは、スライスと呼ばれる一種のコンテナに編成される。もともと、スライスとは、画像の1つまたは複数の連続したCTUを含むセグメントを意味する。 Encoded CTU data is organized into a kind of container called a slice. Originally, a slice meant a segment containing one or more consecutive CTUs of an image.
以下のサブセクション「スライスを使用した画像の分割」では、コード化されたデータのセグメンテーションにスライスがどのように使用されるかについて説明する。別の観点からは、全体像を1つの大きなセグメントとして定義することもできるため、従来から、スライスという用語が引き続き適用される。コード化された画像サンプルに加えて、スライスは、いわゆるスライスヘッダーに配置されるスライス自体のコーディングプロセスに関連する追加情報も含む。 The subsection "Image Segmentation Using Slices" below describes how slices are used for segmentation of coded data. From another point of view, the whole picture can also be defined as one large segment, so conventionally the term slice still applies. In addition to the coded image samples, a slice also contains additional information related to the coding process of the slice itself located in a so-called slice header.
最先端技術によれば、VCL(ビデオコーディングレイヤー)は、断片化と空間分割の手法も備えている。このような分割は、例えば、以下でより詳細に説明するように、並列化における負荷分散の処理、ネットワーク送信におけるCTUのサイズマッチング、エラーの軽減などの様々な理由でビデオコーティングに適用することができる。
次のサブセクション「スライスを使用した画像の分割」では、スライスを使用した画像の分割について説明する。
According to the state of the art, the VCL (Video Coding Layer) also provides methods of fragmentation and spatial division. Such partitioning can be applied to video coding for various reasons, such as handling load balancing in parallelization, CTU size matching in network transmission, and error mitigation, for example, as described in more detail below. can.
The next subsection, "Image Segmentation Using Slices," describes image segmentation using slices.
H.263規格以降、特定のスキャン順序で連続するブロックを表すデータのシーケンスは、スライスと呼ばれるグループに編成できる。通常、例えば予測とエントロピーコーディングの観点から画像の異なるスライスのCTU間の依存関係は禁止されているため、画像内の個々のスライスを個別に再構築できる。 H. Starting with the H.263 standard, sequences of data representing successive blocks in a particular scanning order can be organized into groups called slices. Since dependencies between CTUs in different slices of an image are usually forbidden, for example in terms of prediction and entropy coding, individual slices in an image can be reconstructed independently.
図2は、ラスタースキャン順のスライスによる画像セグメンテーションを示している。スライスのサイズは、図2に示すように、CTU(コーディングツリーユニット)の数と、スライスに属する各コーディングされたCTUのサイズによって決まる。図2は、50個のCTU、例えば、CTU21、CTU24およびCTU51を含む。 FIG. 2 illustrates image segmentation by slices in raster scan order. The size of a slice depends on the number of CTUs (Coding Tree Units) and the size of each coded CTU belonging to the slice, as shown in FIG. FIG. 2 includes 50 CTUs, eg, CTU21, CTU24 and CTU51.
次のサブセクション「タイルを使用した画像の分割」では、図3を参照してタイルを使用した画像の分割について説明する。図3は、50個のCTU、例えば、CTU23、CTU27およびCTU41を含む。 The next subsection, "Image Segmentation Using Tiles," describes image segmentation using tiles with reference to FIG. FIG. 3 includes 50 CTUs, eg, CTU23, CTU27 and CTU41.
タイルはHEVCで導入された概念であるが、この概念はH.264/AVCに追加されたFlexible Macroblock Ordering(FMO)と非常によく似ている。タイルの概念により、画像をいくつかの長方形の領域に分割できる。 A tile is a concept introduced in HEVC, but this concept is It is very similar to Flexible Macroblock Ordering (FMO) added to H.264/AVC. The concept of tiles allows us to divide an image into several rectangular regions.
したがって、タイルは、図3に示すように、元の画像を指定された高さと幅でそれぞれ指定された数の行と列に分割した結果である。その結果、HEVCビットストリーム内のタイルには、通常のグリッドを形成する共通の境界が必要である。
次のサブセクション「最先端の分割のユースケースと欠点」では、図4と図5を参照して、最先端の分割のユースケースと欠点について説明する。
Thus, a tile is the result of dividing the original image into a specified number of rows and columns with a specified height and width, respectively, as shown in FIG. As a result, tiles in an HEVC bitstream need common boundaries that form a regular grid.
The next subsection, "Use Cases and Disadvantages of State-of-the-Art Partitioning," describes the use-cases and disadvantages of state-of-the-art partitioning with reference to FIGS.
図4は、解像度が等しくないタイルベースの360°ビデオストリーミングを示している。360°ビデオストリーミングでは、ビューポートアダプティブストリーミング技術がタイルベースの360°ビデオストリーミングと呼ばれ、注目を集めている。主な着想は、様々な解像度で複数のタイルで構成される360°のビデオを提供することである。したがって、現在のビューポートに応じて、クライアントは、図4に示すように、ビューポートに一致するいくつかのタイルを高解像度でダウンロードし、ビューポートの外側にある他のタイルを低解像度でダウンロードする。 FIG. 4 illustrates tile-based 360° video streaming with unequal resolutions. In 360° video streaming, the viewport adaptive streaming technology is called tile-based 360° video streaming and attracts attention. The main idea is to provide a 360° video composed of multiple tiles at various resolutions. Therefore, depending on the current viewport, the client downloads some tiles matching the viewport at high resolution and other tiles outside the viewport at low resolution, as shown in Figure 4. do.
クライアント側では、受信機はこれらのダウンロードされたタイルを異なる解像度で単一のHEVCビットストリームに結合する。それに対してダウンロードされたタイルは、HEVC構文ではタイルとして記述できなくなる。これは、ダウンロードされたこれらのタイルが全体像で同じ境界を共有しておらず、元のストリームのタイルの粒度が異なるためである。例えば、図4の低解像度部分の上下の破線を参照されたい。これは、左側の高解像度部分に対応する境界がないため、HEVC構文ではスライス境界としてのみ表現できる。 On the client side, the receiver combines these downloaded tiles at different resolutions into a single HEVC bitstream. The downloaded tiles, on the other hand, cannot be described as tiles in the HEVC syntax. This is because these downloaded tiles do not share the same boundaries in the big picture and the granularity of the tiles in the original stream is different. See, for example, the dashed lines above and below the low resolution portion of FIG. This can only be expressed as a slice boundary in the HEVC syntax, since there is no boundary corresponding to the high resolution part on the left.
より柔軟な画像分割が有益である別のシナリオは、低遅延の会話型アプリケーションである。画像の分割はまた、復号/符号化の並列化にも使用される。場合によっては、この並列化がリアルタイムの復号/符号化を実現する唯一の方法である。写真に2人が写っているビデオ会議のシナリオを想像することができる。
図5は、柔軟なコーディング領域の分割を示している。
Another scenario where more flexible image segmentation is beneficial is low-latency conversational applications. Image segmentation is also used for decoding/encoding parallelization. In some cases, this parallelization is the only way to achieve real-time decoding/encoding. You can imagine a video conference scenario where two people are in the picture.
FIG. 5 shows flexible coding region partitioning.
おそらく、(コーディングの複雑さに関して)公平な負荷分散を実現するために使用できる優れた画像分割は、図5に示すものである可能性がある。ただし、このシナリオでは、長方形のタイリンググリッドが必要なため、タイリングには所望の柔軟性がない。 Perhaps a good image partitioning that can be used to achieve fair load distribution (in terms of coding complexity) might be the one shown in FIG. However, in this scenario, the tiling does not have the desired flexibility as it requires a rectangular tiling grid.
セグメンテーション(スライスを使用)の別の主な目的は、エラーの堅牢性である。画像の一部のスライスが失われた場合でも、正常に受信されたスライスの再構成が妨げられることはなく、そのため、部分的に再構成された画像を出力して、次の画像の時間予測プロセスで参照画像としてさらに使用できる。この機能は、エラー率が高い伝送システムや、各画像のコンテンツが非常に重要な伝送システムで非常に重要である。他方、トランスポート層(TCP/IP)でのエラー検出および軽減技術を特徴とし、再送信が成功するまでバッファストールが送信エラーの解決策である送信スキーム、例えばMPEG DASHのようなHTTPを介した動的アダプティブストリーミングも存在する。このようなシナリオでは、追加の依存関係を導入すると、エラーの回復力が損なわれる可能性がある。最先端のスライスとタイルのパーティションは、その点でも柔軟性に欠けている。 Another main goal of segmentation (using slices) is error robustness. Loss of some slices of an image does not prevent the reconstruction of successfully received slices, so the partially reconstructed image is output for temporal prediction of the next image. It can be further used as a reference image in the process. This feature is very important in transmission systems with high error rates or where the content of each image is very important. On the other hand, transmission schemes characterized by error detection and mitigation techniques at the transport layer (TCP/IP) and in which buffer stalls are the solution to transmission errors until a successful retransmission occurs, e.g., over HTTP such as MPEG DASH There is also dynamic adaptive streaming. In such scenarios, introducing additional dependencies can compromise error resilience. State-of-the-art slice and tile partitions are also inflexible in that regard.
本発明の目的は、ビデオの符号化およびビデオの復号のための改善された概念を提供することである。 It is an object of the present invention to provide an improved concept for video encoding and video decoding.
本発明の目的は、請求項1に記載のビデオエンコーダ、請求項57に記載のビデオデコーダ、請求項113に記載のシステム、請求項114に記載のビデオ符号化方法、請求項115に記載のビデオ復号化方法、請求項116に記載のコンピュータプログラム、および請求項117に記載の符号化されたビデオ信号によって解決される。 The object of the present invention is a video encoder according to claim 1, a video decoder according to claim 57, a system according to claim 113, a video encoding method according to claim 114, a video according to claim 115. Solved by a decoding method, a computer program according to claim 116 and an encoded video signal according to claim 117.
符号化されたビデオ信号を生成することによって画像を符号化するためのビデオエンコーダが提供される。ビデオエンコーダは、ビデオの画像を符号化された画像データに符号化するように構成されたデータエンコーダを含み、データエンコーダはさらに、指示データを生成するように構成されている。さらに、ビデオエンコーダは、符号化された画像データおよび指示データを含む符号化されたビデオ信号を生成するように構成された信号発生器を備える。画像は、複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は、画像内に位置し、複数のコーディング領域のそれぞれは、画像内に位置する複数のコーディングツリーユニットのうちの1つまたは複数のコーディングツリーユニットを含み、データエンコーダは、複数のコーディング領域に依存して画像を符号化するように構成され、データエンコーダは、指示データが複数のコーディング領域に関する情報を含むように指示データを生成するように構成される。複数のコーディング領域のうちの1つまたは複数のコーディング領域は、複数のコーディングツリーユニットのうちの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのコーディング順序を示し、データエンコーダは、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に依存して画像を符号化するように構成され、データエンコーダは、指示データが、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含むように、指示データを生成するように構成される。 A video encoder is provided for encoding an image by generating an encoded video signal. The video encoder includes a data encoder configured to encode images of the video into encoded image data, the data encoder further configured to generate instruction data. Additionally, the video encoder comprises a signal generator configured to generate an encoded video signal including encoded image data and instruction data. The image is divided into a plurality of coding regions, each coding region of the plurality of coding regions located within the image, each of the plurality of coding regions being one of a plurality of coding tree units located within the image. or a plurality of coding tree units, the data encoder is configured to encode an image in dependence on the plurality of coding regions, and the data encoder includes instruction data such that the instruction data includes information about the plurality of coding regions. is configured to generate one or more coding regions of the plurality of coding regions includes two or more coding tree units of the plurality of coding tree units; Each coding region of a plurality of coding regions indicates a coding order of two or more coding tree units of said coding region, and a data encoder performs one or more coding sequences including two or more coding tree units. The data encoder is configured to encode an image dependent on a coding order of regions, wherein the instruction data provides information about the coding order of one or more coding regions including two or more coding tree units. configured to generate instructional data.
さらに、ビデオの画像を再構成するために、符号化された画像データおよびビデオの画像の指示データを含む符号化されたビデオ信号を復号するためのビデオデコーダが提供される。ビデオデコーダは、符号化されたビデオ信号を受信するように構成されたインターフェースと、指示データを使用して符号化された画像データを復号することによって、ビデオの画像を再構築するように構成されたデータデコーダとを備える。画像は、複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は、画像内に位置し、複数のコーディング領域のそれぞれは、画像内に位置する複数のコーディングツリーユニットのうちの1つまたは複数のコーディングツリーユニットを含み、データデコーダは、複数のコーディング領域に依存して符号化された画像を復号するように構成され、指示データが複数のコーディング領域に関する情報を含む。複数のコーディング領域のうちの1つまたは複数のコーディング領域は、複数のコーディングツリーユニットのうちの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのコーディング順序を示し、データデコーダは、指示データを使用して、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に従って、符号化された画像データを復号するように構成され、指示データが、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含む。
さらに、符号化されたビデオ信号を生成することによって画像を符号化するための方法が提供される。この方法は、
-ビデオの画像を符号化された画像データに符号化すること、
-指示データを生成すること、および、
-符号化された画像データと指示データを含む符号化されたビデオ信号を生成すること
を含む。
Further, a video decoder is provided for decoding an encoded video signal including encoded image data and video image indication data to reconstruct a video image. A video decoder is configured to reconstruct images of the video by decoding the encoded image data using an interface configured to receive the encoded video signal and the instruction data. and a data decoder. The image is divided into a plurality of coding regions, each coding region of the plurality of coding regions located within the image, each of the plurality of coding regions being one of a plurality of coding tree units located within the image. or multiple coding tree units, wherein the data decoder is configured to decode an encoded image in dependence on multiple coding regions, and the instruction data includes information about the multiple coding regions. one or more coding regions of the plurality of coding regions includes two or more coding tree units of the plurality of coding tree units; each coding region of a plurality of coding regions indicating a coding order of two or more coding tree units of said coding region, and a data decoder using indication data to determine two or more coding tree units; configured to decode encoded image data according to a coding order of one or more coding regions comprising the instruction data of the one or more coding regions comprising two or more coding tree units; Contains information about the coding order.
Additionally, a method is provided for encoding an image by generating an encoded video signal. This method
- encoding images of the video into encoded image data;
- generating instruction data; and
– includes generating a coded video signal containing coded image data and instructional data;
画像は、複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は、画像内に位置し、複数のコーディング領域のそれぞれは、画像内に位置する複数のコーディングツリーユニットのうちの1つまたは複数のコーディングツリーユニットを含み、画像の符号化は、複数のコーディング領域に依存して行われ、指示データを生成することは、指示データが複数のコーディング領域に関する情報を含むように行われる。複数のコーディング領域のうちの1つまたは複数のコーディング領域は、複数のコーディングツリーユニットのうちの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのコーディング順序を示し、画像の符号化は、複数のコーディング領域に依存して行われ、指示データを生成することは、指示データが、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含むように行われる。 The image is divided into a plurality of coding regions, each coding region of the plurality of coding regions located within the image, each of the plurality of coding regions being one of a plurality of coding tree units located within the image. or including a plurality of coding tree units, wherein the encoding of the image is performed in dependence on the plurality of coding regions, and generating the indication data is performed such that the indication data includes information about the plurality of coding regions. one or more coding regions of the plurality of coding regions includes two or more coding tree units of the plurality of coding tree units; each coding region of a plurality of coding regions indicating a coding order of two or more coding tree units of said coding region, wherein encoding of an image is performed dependent on the plurality of coding regions to generate indication data; Doing is done so that the indication data includes information about the coding order of one or more coding regions comprising two or more coding tree units.
さらに、ビデオの画像を再構成するために、符号化された画像データおよびビデオの画像の指示データを含む符号化されたビデオ信号を復号するための方法が提供される。この方法は、
-符号化されたビデオ信号を受信すること、および
-指示データを使用して符号化された画像データを復号することにより、ビデオの画像を再構築すること
を含む。
Further, a method is provided for decoding an encoded video signal including encoded image data and video image indication data to reconstruct a video image. This method
- receiving an encoded video signal; and - reconstructing an image of the video by decoding the encoded image data using the instruction data.
画像は、複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は、画像内に位置し、複数のコーディング領域のそれぞれは、画像内に位置する複数のコーディングツリーユニットのうちの1つまたは複数のコーディングツリーユニットを含み、指示データを使用して、複数のコーディング領域に依存して符号化された画像データを復号するのを実行し、指示データが複数のコーディング領域に関する情報を含む。複数のコーディング領域のうちの1つまたは複数のコーディング領域は、複数のコーディングツリーユニットのうちの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのコーディング順序を示し、指示データを使用して、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に依存して符号化された画像データを復号するのを実行し、指示データが、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含む。
さらに、コンピュータまたは信号プロセッサで実行されるときに上記の方法の1つを実施するためのコンピュータプログラムが提供される。
The image is divided into a plurality of coding regions, each coding region of the plurality of coding regions located within the image, each of the plurality of coding regions being one of a plurality of coding tree units located within the image. or comprising a plurality of coding tree units and using the instruction data to decode the encoded image data dependent on the plurality of coding regions, the instruction data including information about the plurality of coding regions. one or more coding regions of the plurality of coding regions includes two or more coding tree units of the plurality of coding tree units; each coding region of a plurality of coding regions indicating a coding order of two or more coding tree units of said coding region; decoding encoded image data dependent on a coding order of a plurality of coding regions, wherein the instruction data is a coding order of one or more coding regions including two or more coding tree units; Contains information about
Further provided is a computer program for performing one of the above methods when run on a computer or signal processor.
さらに、符号化されたビデオ信号が符号化された画像データと指示データを含む、画像を符号化する符号化されたビデオ信号が提供され、画像は複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は画像内に位置し、複数のコーディング領域のそれぞれは、画像内に位置する複数のコーディングツリーユニットの1つまたは複数のコーディングツリーユニットを含み、画像は、複数のコーディング領域に依存して符号化され、指示データは、複数のコーディング領域に関する情報を含み、複数のコーディング領域の1つまたは複数のコーディング領域は、複数のコーディングツリーユニットの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットについてコーディング順序を示し、画像は、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に依存して符号化され、指示データは、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含む。
以下において、本発明の実施形態は、以下の図を参照してより詳細に説明される。
Further provided is an encoded video signal encoding the image, the encoded video signal comprising encoded image data and instruction data, wherein the image is divided into a plurality of coding regions, the plurality of coding regions is located in the image, each of the plurality of coding regions includes one or more coding tree units of the plurality of coding tree units located in the image, and the image is dependent on the plurality of coding regions and the instruction data includes information about the plurality of coding regions, one or more of the plurality of coding regions including two or more coding tree units of the plurality of coding tree units. , one or more coding regions comprising two or more coding tree units, each coding region indicating a coding order for the two or more coding tree units of said coding region; coded depending on the coding order of one or more coding regions containing more coding tree units, the indication data being the coding order of the one or more coding regions containing two or more coding tree units; Contains ordering information.
In the following, embodiments of the invention are described in more detail with reference to the following figures.
図1aは、実施形態による、符号化されたビデオ信号を生成することによって画像を符号化するためのビデオエンコーダ101を示している。 FIG. 1a shows a video encoder 101 for encoding an image by generating an encoded video signal, according to an embodiment.
ビデオエンコーダ101は、ビデオの画像を符号化された画像データに符号化するように構成されたデータエンコーダ110を備える。さらに、データエンコーダ110は、指示データを生成するように構成される。
Video encoder 101 comprises a
さらに、ビデオエンコーダ101は、符号化された画像データおよび指示データを含む符号化されたビデオ信号を生成するように構成された信号発生器120を備える。
Additionally, video encoder 101 comprises a
画像は、複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は、画像内に位置し、複数のコーディング領域のそれぞれは、画像の中に位置する複数のコーディングツリーユニットのうちの1つまたは複数のコーディングツリーユニットを含む。データエンコーダ110は、複数のコーディング領域に依存して画像を符号化するように構成され、データエンコーダ110は、指示データが複数のコーディング領域に関する情報を含むように指示データを生成するように構成される。
The image is divided into a plurality of coding regions, each coding region of the plurality of coding regions located within the image, each of the plurality of coding regions being one of a plurality of coding tree units located within the image. Contains one or more coding tree units.
複数のコーディング領域のうちの1つまたは複数のコーディング領域は、複数のコーディングツリーユニットのうちの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのコーディング順序を示す。データエンコーダ110は、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に依存して画像を符号化するように構成される。さらに、データエンコーダ110は、指示データが、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含むように、指示データを生成するように構成される。
one or more coding regions of the plurality of coding regions includes two or more coding tree units of the plurality of coding tree units; Each coding region of the plurality of coding regions indicates a coding order of two or more coding tree units of said coding region.
図1bは、実施形態による、ビデオの画像を再構成するために、符号化された画像データおよびビデオの画像の指示データを含む符号化されたビデオ信号を復号するためのビデオデコーダ151を示す。
ビデオデコーダ151は、符号化されたビデオ信号を受信するように構成されたインターフェース160を備える。
FIG. 1b shows a video decoder 151 for decoding an encoded video signal including encoded image data and video image indication data to reconstruct a video image, according to an embodiment.
Video decoder 151 comprises an interface 160 configured to receive encoded video signals.
さらに、ビデオデコーダ151は、指示データを使用して符号化された画像データを復号することによってビデオの画像を再構成するように構成されたデータデコーダ170を備える。 Video decoder 151 further comprises a data decoder 170 configured to reconstruct images of the video by decoding encoded image data using the instruction data.
画像は、複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は、画像内に位置し、複数のコーディング領域のそれぞれは、画像の中に位置する複数のコーディングツリーユニットのうちの1つまたは複数のコーディングツリーユニットを含む。指示データを使用して、データデコーダ170は、複数のコーディング領域に依存して符号化された画像データを復号するように構成され、指示データは、複数のコーディング領域に関する情報を含む。 The image is divided into a plurality of coding regions, each coding region of the plurality of coding regions located within the image, each of the plurality of coding regions being one of a plurality of coding tree units located within the image. Contains one or more coding tree units. Using the instruction data, the data decoder 170 is configured to decode the encoded image data dependent on the multiple coding regions, the instruction data including information about the multiple coding regions.
複数のコーディング領域のうちの1つまたは複数のコーディング領域は、複数のコーディングツリーユニットのうちの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのコーディング順序を示す。指示データを使用して、データデコーダ170は、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に依存して符号化された画像データを復号するように構成され、指示データは、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含む。 one or more coding regions of the plurality of coding regions includes two or more coding tree units of the plurality of coding tree units; Each coding region of the plurality of coding regions indicates a coding order of two or more coding tree units of said coding region. Using the instruction data, data decoder 170 is configured to decode encoded image data dependent on the coding order of one or more coding regions comprising two or more coding tree units. , the indication data includes information about the coding order of one or more coding regions including two or more coding tree units.
実施形態によれば、図1bのビデオデコーダ151は、例えば、出力デバイス、例えば、テレビ、コンピュータ、携帯電話などのディスプレイにビデオの画像を出力するように構成され得る。 According to embodiments, the video decoder 151 of FIG. 1b may be configured, for example, to output video images to an output device, eg, a display of a television, computer, mobile phone, or the like.
図1cは、実施形態によるシステムを示している。システムは、図1aによるビデオエンコーダ101を備える。さらに、システムは、図1bによるビデオデコーダ151を備える。
図1aのビデオエンコーダ101は、符号化されたビデオ信号を生成するように構成される。
図1bのビデオデコーダ151は、符号化されたビデオ信号を復号してビデオの画像を再構成するように構成される。
次のセクション「コーディング領域を使用した多用途の画像分割」では、コーディング領域を使用した多用途の画像分割について説明する。
次のサブセクション「コーディング領域」では、コーディング領域について説明する。
FIG. 1c shows a system according to an embodiment. The system comprises a video encoder 101 according to Fig. 1a. Furthermore, the system comprises a video decoder 151 according to Fig. 1b.
Video encoder 101 of FIG. 1a is configured to generate an encoded video signal.
The video decoder 151 of FIG. 1b is configured to decode the encoded video signal to reconstruct an image of the video.
The next section, Versatile Image Segmentation Using Coding Regions, describes versatile image segmentation using coding regions.
The next subsection, "Coding Regions," describes coding regions.
タイルなどの現在の最先端の分割スキームを超えて、実施形態は、例えば、コーディング領域(CA)と呼ばれ得る、より柔軟な空間領域定義の概念を提示する。これは、画像を長方形の領域に空間的に分割するための有利な概念である。コーディング領域を使用すると、分割がより柔軟になり、個々の領域に独自の領域固有のコーディング特性を持たせることができる。 Beyond current state-of-the-art partitioning schemes such as tiles, embodiments present the concept of a more flexible spatial domain definition, which may be called, for example, a coding domain (CA). This is an advantageous concept for spatially dividing an image into rectangular regions. Using coding regions makes the partitioning more flexible, allowing individual regions to have their own region-specific coding characteristics.
コーディング領域は、特定の領域の寸法と位置(幅、高さ、位置)、および領域のデータの処理方法によって定義される。シグナリングは、低レベルのコーディングプロセスの仕様の観点から、またはスキャン順序、スキャン方向、スキャン開始などの高レベルのパラメータの観点から実行できる。 A coding region is defined by the dimensions and location (width, height, position) of a particular region and how the data in the region is processed. Signaling can be done in terms of low-level coding process specifications or in terms of high-level parameters such as scan order, scan direction, scan start.
図6は、実施形態による、1つの暗示的コーディング領域を有する単一の画像を含むビットストリームを示す。(NAL=ネットワーク抽象化レイヤー;NALUH=ネットワーク抽象化レイヤーユニットヘッダー;SH=スライスヘッダー)
図7は、別の実施形態による4つのコーディング領域を有する単一の画像を含むビットストリームを示している。
FIG. 6 shows a bitstream containing a single image with one implicit coding region, according to an embodiment. (NAL = Network Abstraction Layer; NALUH = Network Abstraction Layer Unit Header; SH = Slice Header)
FIG. 7 shows a bitstream containing a single image with four coding regions according to another embodiment.
分割が適用されていない場合、暗示的に1つのコーディング領域(CA)を含む画像であり、図6を参照されたい。これは、事前定義された機能を備えたデフォルトのコーディング領域にすることができる。図7は、画像を複数のCAに細分化したものを示している。
実施形態では、図1aのデータエンコーダ110は、例えば、画像を複数のコーディング領域に分割するように構成され得る。
If no segmentation is applied, the image implicitly contains one coding area (CA), see FIG. This can be a default coding area with predefined functionality. FIG. 7 shows the subdivision of the image into multiple CAs.
In embodiments,
図8は、実施形態による、上部に単一のコーディング領域(CA)があり、下部に3つのCAがある画像の空間的細分化を示している。図8と図9の各正方形は、コーディングツリーユニット(CTU)を表している。図8および図9は、正方形の形状を有するCTUを示しているが、CTUは、例えば、他の例では、長方形または他のいずれかの形状を有し得る。 FIG. 8 illustrates spatial segmentation of an image with a single coding area (CA) on top and three CAs on the bottom, according to an embodiment. Each square in FIGS. 8 and 9 represents a coding tree unit (CTU). 8 and 9 show CTUs having a square shape, CTUs may, for example, have a rectangular or any other shape in other examples.
図8および図9に見られるように、図8および図9の各コーディング領域は、画像内で長方形に延びる。さらに、図8および図9では、各CTUが画像内で長方形に延びている。 As can be seen in FIGS. 8 and 9, each coding region in FIGS. 8 and 9 extends rectangularly within the image. Furthermore, in FIGS. 8 and 9, each CTU extends rectangularly in the image.
したがって、実施形態によれば、複数のコーディング領域の各コーディング領域は、例えば、画像内で長方形に延びることができる。複数のコーディング領域のそれぞれの1つまたは複数のコーディングツリーユニットの各コーディングツリーユニットは、例えば、画像内で長方形に延びることができる。
図9は、別の実施形態による5つのコーディング領域を有する画像の空間的細分化を示している。
CA分割の重要な利点の1つを、以下に示す。図8と図9に、新しい分割の概念の2つの例を示す。
Thus, according to embodiments, each coding region of the plurality of coding regions may, for example, extend rectangularly in the image. Each coding tree unit of the one or more coding tree units of each of the plurality of coding regions may, for example, extend rectangularly in the image.
FIG. 9 shows spatial segmentation of an image with 5 coding regions according to another embodiment.
One of the key advantages of CA splitting is the following. Figures 8 and 9 show two examples of the new partitioning concept.
一部のユースケースでは、タイルでは不可能なCAでの分割を実現でき、CAの分割によって分割が少なくなる。図3のタイルベースの分割からわかるように、画像の下部に3つの個別の領域(Tile4、Tile5、Tile6)を作成するには、画像の上部に3つの追加領域(Tile1、Tile2、Tile3)を符号化する必要がある。図8に示すように、コーディング領域を使用すると、上部の領域を1つのコーディング領域CA1として符号化できる。また、CA1、CA2、およびCA3の高さが同じではないため、図9に示す分割もタイルを介して実現することはできない。 In some use cases, splitting on CA can be achieved, which is not possible with tiles, and splitting CA results in less splitting. As can be seen from the tile-based segmentation in Figure 3, to create three separate regions (Tile4, Tile5, Tile6) at the bottom of the image, three additional regions (Tile1, Tile2, Tile3) are created at the top of the image. Must be encoded. As shown in FIG. 8, using coding areas, the top area can be encoded as one coding area CA1. Also, the division shown in FIG. 9 cannot be achieved through tiles either, because CA1, CA2, and CA3 are not the same height.
実施形態によれば、複数のコーディングツリーユニットのそれぞれは、例えば、画像内の水平な位置および画像内の垂直な位置を有し得る。図8と図9は、1~10のCTUの水平な位置と1~5のCTUの垂直な位置を示している。もちろん、そのような実施形態では、位置が1で始まり、1つの水平または垂直な位置から次の位置へのステップが1である必要はない。代わりに、他の開始位置およびCTUからCTUへの他のステップも可能である。垂直な位置に関する1つのCTUから次へのステップのサイズは、水平な位置の1つのCTUから次へのステップのサイズとは異なる場合がある。
図9の新しい分割は、例えば、以下のように特徴付けられ得る。
According to embodiments, each of the multiple coding tree units may, for example, have a horizontal position within the image and a vertical position within the image. 8 and 9 show the horizontal positions of CTUs 1-10 and the vertical positions of CTUs 1-5. Of course, such an embodiment need not start with a position of 1 and step by 1 from one horizontal or vertical position to the next. Alternatively, other starting positions and other steps from CTU to CTU are possible. The step size from one CTU to the next for vertical positions may be different than the step size from one CTU to the next for horizontal positions.
The new partitioning of FIG. 9 can be characterized, for example, as follows.
そのような実施形態では、(代替1)複数のコーディング領域の第1のコーディング領域は、例えば、第1の垂直な位置を有する第1のコーディングツリーユニットを含んでよく、これは複数のコーディング領域の異なる第2のコーディング領域の異なる第2のコーディングツリーユニットの第2の垂直な位置と同一であり、また、第1のコーディング領域の第3のコーディングツリーユニットは、第2のコーディング領域の他のいずれのコーディングツリーユニットの垂直な位置とも異なる第3の垂直な位置を有し、第2のコーディング領域の第4のコーディングツリーユニットは、第1のコーディング領域の他のいずれのコーディングツリーユニットの垂直な位置とも異なる第4の垂直な位置を有する。 In such embodiments, (alternative 1) the first coding region of the plurality of coding regions may include, for example, a first coding tree unit having a first vertical position, which is the plurality of coding regions and the third coding tree unit of the first coding region is the same as the second vertical position of the different second coding tree unit of the different second coding region of the second coding region. and the fourth coding tree unit in the second coding region has a third vertical position different from the vertical position of any other coding tree unit in the first coding region. It has a fourth vertical position that also differs from the vertical position.
または、(代替2)複数のコーディング領域の第1のコーディング領域は、例えば、第1の水平な位置を有する第1のコーディングツリーユニットを含んでよく、これは複数のコーディング領域の異なる第2のコーディング領域の異なる第2のコーディングツリーユニットの第2の水平な位置と同一であり、また、第1のコーディング領域の第3のコーディングツリーユニットは、第2のコーディング領域の他のいずれのコーディングツリーユニットの水平な位置とも異なる第3の水平な位置を有し、第2のコーディング領域の第4のコーディングツリーユニットは、第1のコーディング領域の他のいずれのコーディングツリーユニットの水平な位置とも異なる第4の水平な位置を有する。
図9は代替案1を満たしている。
Or (alternative 2) a first coding region of the plurality of coding regions may include, for example, a first coding tree unit having a first horizontal position, which is a different second coding region of the plurality of coding regions. Identical to a second horizontal position of a different second coding tree unit of the coding region, and the third coding tree unit of the first coding region corresponds to any other coding tree of the second coding region. The fourth coding tree unit of the second coding region has a third horizontal position that also differs from the horizontal position of the unit, and the fourth coding tree unit of the second coding region differs from the horizontal position of any other coding tree unit of the first coding region. It has a fourth horizontal position.
FIG. 9 satisfies alternative 1.
CA2はCTU91で構成される。CTU91の垂直な位置は3である。CA4のCTU96はまた、垂直な位置3である。CA2のCTU92の垂直な位置は2である。CA4のどのCTUも垂直な位置2ではない(CA4の垂直な位置が3~5の範囲にあるため)。さらに、CA4のCTU97は垂直な位置4である。CA2のどのCTUも垂直な位置4ではない(CA2の垂直な位置は1~3の範囲にあるため)。
対照的に、図8は代替案1を満たさず、代替案2を満たしていない。
代替案1:
CA2 is composed of CTU91. The vertical position of CTU 91 is three. CA4's CTU 96 is also at vertical position 3; The vertical position of CTU 92 in CA2 is two. None of the CTUs in CA4 are at vertical position 2 (because the vertical positions of CA4 are in the range 3-5). In addition, the CTU 97 of CA4 is at vertical position 4. None of the CTUs in CA2 are at vertical position 4 (because the vertical positions of CA2 range from 1 to 3).
In contrast, FIG. 8 does not meet alternative 1 and does not meet alternative 2.
Alternative 1:
CA2、CA3、およびCA4のみが同じ垂直な位置(3~5の範囲)である。CA1には、他のいずれかのコーディング領域と同じ垂直な位置がない。ただし、CA2には、コーディング領域CA3またはCA4の他のいずれかの垂直な位置と異なる垂直な位置はない。CA2、CA4およびCA2、CA3に関して、それぞれCA3およびCA4についても同じことが言える。
代替案2:
CA2、CA3、およびCA4には、同じ水平な位置のCTUはない。
Only CA2, CA3, and CA4 have the same vertical position (ranging from 3 to 5). CA1 does not have the same vertical position as any other coding region. However, CA2 has no vertical position different from any other vertical position of coding areas CA3 or CA4. The same is true for CA2, CA4 and CA2, CA3 respectively for CA3 and CA4.
Alternative 2:
CA2, CA3, and CA4 do not have CTUs in the same horizontal position.
対照的に、CA1のCTU 81は、CA2のCTU 86と同じ水平な位置(3)である。さらに、CA2の水平な位置は1~4の範囲にあるため、CA2のCTUのいずれもCA1のCTU82の水平な位置6はない。ただし、CA2のCTUの水平な位置は1~4の範囲であり、CA1のCTUの水平な位置は1~10の範囲であるため、他のいずれかのCA1のCTUの水平な位置と異なるCA2のCTUはない。
同様の理由で、CA1に関してCA3とCA4も同じことが言える。
したがって、図8の分割は、代替案1を満たさず、代替案2を満たさない。
In contrast, CTU 81 of CA1 is at the same horizontal position (3) as CTU 86 of CA2. In addition, none of the CA2 CTUs are at the horizontal position 6 of the CA1 CTU 82, since the horizontal positions of CA2 range from 1 to 4. However, since the horizontal positions of the CTUs of CA2 range from 1 to 4 and the horizontal positions of the CTUs of CA1 range from 1 to 10, the CA2 There is no CTU for
For similar reasons, the same is true for CA3 and CA4 with respect to CA1.
Therefore, the partitioning of FIG. 8 does not satisfy alternative 1 and does not satisfy alternative 2.
断片化とスキャン順序に関連するいくつかのCAパラメータのシグナリングメカニズムは、副次的サブセクション「コーディング領域の一般的なプロパティ」に示されている。 Signaling mechanisms for some CA parameters related to fragmentation and scan order are presented in the sub-subsection "General Properties of Coding Regions".
空間的に、コーディング領域は特定の数のCTUをカバーしている。CAの柔軟な配置は、実施形態の一部の特徴の1つである。これにはいくつかのバリエーション、つまり明示的なシグナリングと階層的方法を両方、VCLの外部で使用するのを勧める。また、ビットストリームの断片化が使用されていない場合は、VCL内のシグナリングを使用できる。CA配置の詳細な説明は、副次的サブセクション「コーディング領域のサイズと配置」に設けられている。 Spatially, a coding region covers a certain number of CTUs. Flexible placement of CAs is one of the features of some embodiments. We recommend using some variation on this, both explicit signaling and hierarchical methods outside of the VCL. Also, if bitstream fragmentation is not used, signaling within the VCL can be used. A detailed description of CA placement is provided in the sub-section "Coding Region Size and Placement".
セグメントの配置に加えて、実施形態は、コーディング領域内のCTUの新しい柔軟な処理またはスキャン順序を提供する。この手法の詳細は、副次的サブセクション「CTUスキャン順序」に示されている。 In addition to segment placement, embodiments provide a new flexible processing or scanning order of CTUs within the coding region. Details of this approach are provided in the sub-subsection "CTU Scanning Order".
他の発明された機能の1つは、副次的サブセクション「依存的コーディング領域」で説明されるように、単一の画像内で、1つのCAが他のコーディング領域から独立および/または依存することができることである。 One other invented feature is that within a single image, one CA is independent and/or dependent from other coding regions, as described in the sub-section "Dependent Coding Regions". It is what you can do.
新しく提案された方法を組み合わせて使用すると、高レベルの並列処理に新しい機会がもたらされる。空間画像領域の並列処理は、副次的サブセクション「コーディング領域の並列処理」で詳述されているように、より効率的な方法で実行できる。
エラーの回復力の態様は、副次的サブセクション「エラーの回復力の態様」で説明されている。
上記の概念の要約:
The combined use of the newly proposed methods opens up new opportunities for high-level parallelism. Parallel processing of the spatial image domain can be performed in a more efficient manner, as detailed in the subsection "Parallel Processing of the Coding Domain".
Aspects of error resilience are described in the sub-section "Aspects of Error Resilience."
A summary of the above concepts:
実施形態によれば、複数のコーディング領域の各コーディング領域は、前記コーディング領域の位置、幅、および高さを含む空間特性を示し得、前記コーディング領域の幅および高さは、前記コーディング領域の長方形の延在に依存し、前記コーディング領域の位置は、画像内の前記コーディング領域の位置に依存する。 According to embodiments, each coding region of a plurality of coding regions may exhibit spatial characteristics including a position, width and height of said coding region, wherein said width and height of said coding region are defined by a rectangle of said coding region. and the position of the coding region depends on the position of the coding region in the image.
実施形態では、複数のコーディング領域のうちの第1の1つの第1の高さは、例えば、複数のコーディング領域のうちの第2の1つの第2の高さとは異なる場合がある。または、複数のコーディング領域のうちの第1の1つの第1の幅は、複数のコーディング領域のうちの第2の1つの第2の幅とは異なる。 In embodiments, a first height of a first one of the plurality of coding regions may be different than a second height of a second one of the plurality of coding regions, for example. Alternatively, a first width of a first one of the plurality of coding regions is different than a second width of a second one of the plurality of coding regions.
実施形態によれば、データエンコーダ110は、例えば、複数のコーディング領域に関する情報が、複数のコーディング領域の各コーディング領域の空間特性に関する情報を含むように、前記指示データを生成するように構成され得る。
According to embodiments, the
実施形態では、データエンコーダ110は、例えば、複数のコーディング領域に関する情報が、複数のコーディング領域の各コーディング領域の位置、幅、および高さを含むように、指示データを生成するように構成され得る。
In embodiments,
実施形態によれば、データエンコーダ110は、例えば、複数のコーディング領域の他のいずれかのコーディング領域の画像部分のイメージデータを符号化することとは独立して、複数のコーディング領域のそれぞれの画像部分のイメージデータを符号化して、符号化された画像データを取得するように構成され得る。
According to an embodiment, the
実施形態では、データエンコーダ110は、例えば、複数のコーディング領域の各コーディング領域内の画像部分のイメージデータを符号化して、符号化された画像データを取得することによって、画像を符号化するように構成することができる。データエンコーダ110は、例えば、複数のコーディング領域のうちの少なくとも1つのイメージデータを符号化することが複数のコーディング領域のうちの少なくとも別の1つのイメージデータの符号化に依存するように、前記複数のコーディング領域のうちの少なくとも1つの画像部分のイメージデータを符号化するように構成され得る。
In an embodiment,
実施形態では、データエンコーダ110は、例えば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のそれぞれ1つのコーディング順序を決定するように構成され得る。
In an embodiment,
実施形態によれば、データエンコーダ110は、例えば、1つまたは複数のコーディング領域のそれぞれ1つについて、1つまたは複数のコーディング領域のそれぞれ1つに対する2つまたはそれより多いスキャン順序からスキャン順序を選択することによって、コーディング順序を決定するように構成され得る。
According to an embodiment,
実施形態では、信号発生器120は、例えば、符号化されたビデオ信号がビットストリームを含み、ビットストリームが符号化された画像データおよび指示データを含むように、符号化されたビデオ信号を生成するように構成され得る。
In an embodiment,
同様に、実施形態によれば、複数のコーディング領域の各コーディング領域は、前記コーディング領域の位置、幅、および高さを含む空間特性を示し得、前記コーディング領域の幅および高さは、前記コーディング領域の長方形の延在に依存し、前記コーディング領域の位置は、画像内の前記コーディング領域の位置に依存する。データデコーダ170は、例えば、複数のコーディング領域の空間特性に依存して、符号化された画像データを復号するように構成され得る。 Similarly, according to an embodiment, each coding region of a plurality of coding regions may exhibit spatial characteristics including position, width and height of said coding region, wherein the width and height of said coding region are determined by said coding region. Depending on the rectangular extension of the region, the position of the coding region depends on the position of the coding region within the image. Data decoder 170 may, for example, be configured to decode the encoded image data depending on the spatial characteristics of multiple coding regions.
実施形態では、複数のコーディング領域のうちの第1の1つの第1の高さは、例えば、複数のコーディング領域のうちの第2の1つの第2の高さとは異なる場合がある。または複数のコーディング領域のうちの第1の1つの第1の幅は、複数のコーディング領域のうちの第2の1つの第2の幅とは異なる。 In embodiments, a first height of a first one of the plurality of coding regions may be different than a second height of a second one of the plurality of coding regions, for example. Or the first width of the first one of the plurality of coding regions is different than the second width of the second one of the plurality of coding regions.
実施形態によれば、データデコーダ170は、複数のコーディング領域の空間特性に関する指示データ内の情報を使用して、符号化された画像データを復号するように構成され得る。 According to embodiments, data decoder 170 may be configured to decode the encoded image data using information in the indicative data regarding the spatial properties of multiple coding regions.
実施形態によれば、データデコーダ170は、例えば、複数のコーディング領域に関する情報が、複数のコーディング領域の各コーディング領域の位置、幅、および高さを含む、複数のコーディング領域の指示データ内の情報を使用して符号化された画像データを復号するように構成され得る。 According to an embodiment, data decoder 170 extracts information in the indication data of the plurality of coding regions, for example, the information about the plurality of coding regions includes the position, width and height of each coding region of the plurality of coding regions. may be configured to decode image data encoded using .
実施形態によれば、データデコーダ170は、例えば、複数のコーディング領域の他のいずれかのコーディング領域の符号化された画像データを復号することとは独立して、複数のコーディング領域のそれぞれの符号化された画像データを復号するように構成され得る。 According to an embodiment, data decoder 170 may, for example, decode the code of each of the plurality of coding regions independently from decoding the encoded image data of any other of the plurality of coding regions. may be configured to decode encoded image data.
実施形態によれば、データデコーダ170は、例えば、複数のコーディング領域のうちの少なくとも1つの符号化された画像データを復号するように構成でき、複数のコーディング領域のうちの前記少なくとも1つの符号化された画像データを復号することは、複数のコーディング領域のうちの少なくとも別の1つの符号化された画像データの復号に依存する。 According to embodiments, the data decoder 170 may be configured, for example, to decode encoded image data of at least one of the plurality of coding regions, wherein the encoding of the at least one of the plurality of coding regions is Decoding the encoded image data depends on decoding encoded image data in at least another one of the plurality of coding regions.
実施形態によれば、データデコーダ170は、例えば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のそれぞれ1つのコーディング順序を使用して符号化された画像データを復号するように構成され得て、1つまたは複数のコーディング領域のそれぞれ1つの前記コーティング順序は指示データによって示される。 According to an embodiment, data decoder 170 decodes image data encoded using a respective one coding order of one or more coding regions, eg, comprising two or more coding tree units. wherein the coating order of each one of the one or more coding regions is indicated by instructional data.
実施形態によれば、データデコーダ170は、例えば、1つまたは複数のコーディング領域のそれぞれ1つについて2つまたは複数のスキャン順序からのスキャン順序の指示を使用して符号化された画像データを復号するように構成され得て、指示データは、1つまたは複数のコーディング領域のそれぞれ1つに対するスキャン順序の指示を含み得る。 According to embodiments, data decoder 170 decodes image data encoded using scan order indications from, for example, two or more scan orders for each one of one or more coding regions. and the instruction data may include a scanning order instruction for each one of the one or more coding regions.
実施形態によれば、インターフェース160は、例えば、ビットストリームを受信するように構成され得、ビットストリームは、符号化された画像データおよび指示データを含む。
次の副次的サブセクション「コーディング領域の一般的なプロパティ」では、コーディング領域の一般的なプロパティについて説明する。
According to embodiments, interface 160 may, for example, be configured to receive a bitstream, the bitstream including encoded image data and instruction data.
The next sub-section, "General Properties of Coding Regions," describes general properties of coding regions.
コーディング領域に関する一般的な情報は、いわゆるコーディング領域セット(CAS)に集中している。CASは、高レベルのパラメータセットでVCLの外部で解決でき、シーケンス全体またはシーケンスの一部、例えば画像に影響を与える。
x=ビデオ、シーケンス、画像…
General information about coding regions is concentrated in so-called coding region sets (CAS). CAS can be solved outside the VCL with a high-level set of parameters, affecting the entire sequence or parts of the sequence, eg, images.
x = video, sequence, image...
表2-1
coding_area_explicit_positioning_flag 真の場合、coding_area_top_left_CTU_addressがビットストリームに存在し、それ以外の場合はデフォルトの暗示的なCAポジショニングが使用される
num_coding_areas_minus1 ビットストリームでシグナリングされるコーディング領域の数
coding_area_explicit_positioning_flag If true, coding_area_top_left_CTU_address is present in the bitstream, otherwise default implicit CA positioning is used num_coding_areas_minus1 Number of coding areas signaled in the bitstream
dependent_coding_areas_enabled_flag 真の場合、ビットストリームに続くCAがビットストリームに現れる順序で相互に依存していることを示す。そうでない場合、CAは独立した領域として扱われる。 dependent_coding_areas_enabled_flag If true, indicates that the CAs following the bitstream are mutually dependent in the order in which they appear in the bitstream. Otherwise, CA is treated as an independent domain.
coding_areas_CTU_wise_dependent_flag 真の場合、隣接するCA間のCTUの依存関係がCA処理をインターリーブするCTU単位の処理で処理されることを示す。それ以外の場合、CAは固定された順序で個別に処理される。 coding_areas_CTU_wise_dependent_flag If true, indicates that CTU dependencies between adjacent CAs are handled in per-CTU processing that interleaves CA processing. Otherwise, CAs are processed individually in a fixed order.
coding_area_no_slices_flag 真の場合、CAごとに1つのスライスを示す。これは、EOS_flagとCTU_start_addressがビットストリームに存在しないことを意味する。CAは、代わりに、ceil(log2(num_coding_areas_minus1+1))から派生した固定の長さのコードであるCA_idxによってアドレス指定される。それ以外の場合、デフォルトのスライス構文がビットストリームに存在する。 coding_area_no_slices_flag If true, indicates one slice per CA. This means that EOS_flag and CTU_start_address are not present in the bitstream. CAs are instead addressed by CA_idx, a fixed length code derived from ceil(log2(num_coding_areas_minus1+1)). Otherwise, the default slice syntax is present in the bitstream.
coding_area_CTU_scan_flag 真の場合、そのCTUスキャンパラメータがビットストリームに存在することを示す。柔軟なCTUスキャン手法については、副次的サブセクション「CTUスキャンの順序」で説明する。
coding_area_CTU_scan_type_idx スキャンタイプテーブル(ラスタースキャン、対角スキャン)にマップされる。
coding_area_CTU_scan_flag If true, indicates that the CTU scan parameter is present in the bitstream. A flexible CTU scanning approach is described in the subsection "CTU Scanning Order".
coding_area_CTU_scan_type_idx Mapped to scan type table (raster scan, diagonal scan).
coding_area_CTU_scan_start_left_flag[i] i番目のCAがCTUラインごとに複数のCTUで構成されている場合に存在し、真であれば、CA内の左端のCTUでCTUスキャンを開始することを示す。それ以外の場合、i番目のCAのCTUスキャンは右端のCTUから開始される。 coding_area_CTU_scan_start_left_flag[i] Present if the ith CA consists of multiple CTUs per CTU line, if true indicates to start the CTU scan at the leftmost CTU in the CA. Otherwise, the i-th CA CTU scan starts from the rightmost CTU.
coding_area_CTU_scan_start_top_flag[i] i番目のCAがCTU列ごとに複数のCTUで構成されている場合に存在し、真の場合、CA内の上部のCTU行でCTUスキャンを開始するかどうかを示す。それ以外の場合、i番目のCAのCTUスキャンは、CAのCTU底部から始まる。 coding_area_CTU_scan_start_top_flag[i] Present if the i-th CA consists of multiple CTUs per CTU column, if true indicates whether to start the CTU scan at the top CTU row in the CA. Otherwise, the i-th CA's CTU scan starts at the CA's CTU bottom.
coding_area_CTU_scan_direction_flag[i] i番目のCAが少なくとも2つのCTU行および2つのCTU列を含む場合に存在し、CTUスキャンの開始スキャン方向を示す。真の場合、i番目のCAのスキャン方向が水平方向から始まる。それ以外の場合、スキャンは垂直スキャンである。
上記の概念を要約すると:
coding_area_CTU_scan_direction_flag[i] Present if the i-th CA contains at least 2 CTU rows and 2 CTU columns, indicating the starting scan direction for the CTU scan. If true, the i-th CA scan direction starts from horizontal. Otherwise the scan is a vertical scan.
To summarize the above concepts:
実施形態では、データエンコーダ110は、例えば、指示データが、例えば、左上のコーディングツリーユニットのアドレスが指定されているかどうかに関する各コーディング領域の情報を含み得るように、指示データを生成するように構成され得る。特定の例は、例えば、coding_area_explicit_positioning_flagであり得る。真の場合、coding_area_top_left_CTU_addressがビットストリームに存在する。それ以外の場合は、デフォルトの暗示的なCAポジショニングが使用される。
In an embodiment, the
実施形態によれば、データエンコーダ110は、例えば、指示データが、複数のコーディング領域の数または複数のコーディング領域の数から1を引いた数、または複数のコーディング領域の数から2を引いた数に関する情報を含み得るように、指示データを生成するように構成され得る。特定の例は、例えば、上記のnum_coding_areas_minus1フィールドであり得る。
According to an embodiment, the
実施形態によれば、データエンコーダ110は、例えば、指示データが、複数のコーディング領域のうちの1つが複数のコーディング領域のうちの別の1つに依存するかどうかを、複数のコーディング領域のうちの前記別の1つに続く複数のコーディング領域のうちの前記1つについて示すように指示データを生成するように構成され得る。特定の例は、例えば、dependent_coding_areas_enabled_flagであり得、これは、真の場合、例えば、ビットストリームに続くCAが、ビットストリームに現れる順序で互いに依存していることを示し得、そうでない場合、CAは、独立した領域として扱われる。
According to an embodiment,
実施形態によれば、データエンコーダ110は、例えば、指示データが、複数のスライスのうちの正確に1つのスライスが複数のコーディング領域のうちの正確に1つのコーディング領域に割り当てられているかどうかを示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_no_slices_flagであり得る。
According to an embodiment, the
実施形態によれば、データエンコーダ110は、例えば、指示データが複数のコーディング領域の1つまたは複数のコーディングツリーユニットのそれぞれの中でスキャンする方法に関する情報を含むかどうかを指示データが示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_CTU_scan_flagであり得る。
According to an embodiment, the
実施形態によれば、データエンコーダ110は、例えば、指示データが、複数のコーディング領域の1つまたは複数のコーディングツリーユニットのそれぞれの中でスキャンする方法を示すように、指示データを生成するように構成され得る。特定の例は、例えば、スキャンタイプテーブルにマップするcoding_area_CTU_scan_type_idxであり得る。スキャンタイプは、例えばラスタースキャン、および/または例えば対角スキャンなどであり得る。
According to an embodiment,
実施形態では、データエンコーダ110は、例えば、指示データが複数のコーディング領域のそれぞれについて、コーディング領域が複数のコーディングツリーユニットを含むかどうかを示すように、指示データを生成するように構成され得る。
In an embodiment,
実施形態によれば、データエンコーダ110は、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンが左端のコーディングツリーユニットで開始されるかどうか、またはコーディングツリーユニットスキャンが右端のコーディングツリーユニットで開始されるかどうかを指示データが示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_CTU_scan_start_left_flag[i]であり得る。
According to an embodiment,
実施形態によれば、データエンコーダ110は、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンがコーディング領域の最上部のコーディングツリーユニット行から開始されるかどうか、またはコーディングツリーユニットスキャンは、コーディング領域の一番下のコーディングツリーユニット行から開始されるかどうかを指示データが示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_CTU_scan_start_top_flag[i]であり得る。
According to an embodiment,
実施形態によれば、データエンコーダ110は、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンが水平方向に開始されるか、またはコーディングツリーユニットスキャンが垂直方向に開始されるかを指示データが示すように、指示データを生成するように構成され得る。特定の例は、例えば、coding_area_CTU_scan_direction_flag [i]であり得、これは、例えば、i番目のCAが少なくとも2つのCTU行および2つのCTU列を含み、CTUスキャンの開始スキャン方向を示す場合に存在し得る。i番目のCAのスキャン方向よりも真である場合、例えば、水平方向で開始し得、そうでない場合、スキャンは、例えば、垂直スキャンであり得る。
According to an embodiment,
同様に、実施形態によれば、データデコーダ170は、例えば、左上のコーディングツリーユニットのアドレスが指定されているかどうかに関する各コーディング領域の情報を使用して、符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 Similarly, according to an embodiment, data decoder 170 is configured to decode the encoded image data using, for example, information in each coding region regarding whether the upper left coding tree unit is addressed. and the instruction data may include, for example, said information.
実施形態によれば、データデコーダ170は、例えば、複数のコーディング領域の数または複数のコーディング領域の数から1を引いた数、または複数のコーディング領域の数から2を引いた数に関する情報を使用する符号化された画像データを復号するように構成され、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 uses information regarding, for example, the number of coding regions or the number of coding regions minus one, or the number of coding regions minus two. and the instruction data may include, for example, said information.
実施形態によれば、データデコーダ170は、例えば、複数のコーディング領域のうちの1つが複数のコーディング領域のうちの別の1つに依存するかどうかを複数のコーディング領域のうちの別の1つに続く複数のコーディング領域のうちの1つについて示す情報を使用して、符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 determines, for example, whether one of the plurality of coding regions depends on another one of the plurality of coding regions. may be configured to decode the encoded image data using information indicative of one of the plurality of coding regions following, the instruction data may include, for example, said information.
実施形態では、データデコーダ170は、例えば、複数のスライスの正確に1つのスライスが複数のコーディング領域の正確に1つのコーディング領域に割り当てられているかどうかを示す情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 In an embodiment, data decoder 170 may, for example, decode the encoded image using information indicating whether exactly one slice of the plurality of slices is assigned to exactly one of the plurality of coding regions. It may be configured to decode data, and the instructional data may, for example, include said information.
実施形態によれば、データデコーダ170は、例えば、指示データが例えば複数のコーディング領域の1つまたは複数のコーディングツリーユニットのそれぞれの中でスキャンする方法に関する情報を含むかどうかに関する情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 may, for example, use information as to whether the indication data includes information as to how to scan within each of one or more coding tree units of, for example, multiple coding regions. It may be configured to decode encoded image data, and the instruction data may, for example, include said information.
実施形態では、データデコーダ170は、例えば、複数のコーディング領域の1つまたは複数のコーディングツリーユニットのそれぞれの中でスキャンする方法に関する情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 In an embodiment, data decoder 170 is configured, for example, to decode encoded image data using information about how to scan within each of one or more coding tree units of a plurality of coding regions. and the instructional data may include, for example, said information.
実施形態によれば、データデコーダ170は、例えば、複数のコーディング領域のそれぞれについて、コーディング領域が複数のコーディングツリーユニットを含むかどうかを示す情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 is configured, for example, for each of multiple coding regions to decode encoded image data using information indicating whether the coding region includes multiple coding tree units. and the instruction data may include, for example, said information.
実施形態では、データデコーダ170は、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンが左端のコーディングツリーユニットで開始されるかどうか、またはコーディングツリーユニットスキャンが右端のコーディングツリーユニットで開始されるかどうかを指示する情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 In an embodiment, data decoder 170 determines whether coding tree unit scanning starts at the leftmost coding tree unit, or whether coding tree unit scanning starts at the rightmost coding tree unit, for example, for one of the plurality of coding regions. may be configured to decode encoded image data using information indicating whether to start with, the indicating data may include, for example, said information.
実施形態では、データデコーダ170は、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンがコーディング領域の最上部のコーディングツリーユニット行で開始されるかどうか、またはコーディングツリーユニットスキャンがコーディング領域の最下部のコーディングツリーユニット行で開始されるかどうかを指示する情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 In an embodiment, data decoder 170 determines, for example, for one of a plurality of coding regions, whether coding tree unit scanning starts at the top coding tree unit row of the coding region, or whether coding tree unit scanning It may be configured to decode the encoded image data using information indicating whether to start at the bottom coding tree unit row of the coding region, and the indication data may include, for example, said information. .
実施形態では、データデコーダ170は、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンが水平方向で開始されるかどうか、またはコーディングツリーユニットスキャンが垂直方向で開始されるかどうかを指示する情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。
以下の副次的サブセクション「コーディング領域のサイズおよび配置」では、コーディング領域のサイズおよび配置について説明する。
In an embodiment, data decoder 170 determines, for example, whether coding tree unit scanning starts in the horizontal direction or whether coding tree unit scanning starts in the vertical direction, for one of the plurality of coding regions. may be configured to decode encoded image data using information indicative of, the instruction data may, for example, include said information.
The Coding Region Size and Placement subsection below describes the size and placement of the coding region.
コーディング領域が画像内でどのように配置されているかを示すことが重要である。アプリケーションに依存して、CAのサイズや位置など、画像の分割に所望の柔軟性の影響を与える可能性のある様々なターゲットが追求される。また、レイアウトは、一時的に固定されたCAレイアウトを使用したり、時間の経過と共にコンテンツに応じてレイアウトを調整したりするために、ビットストリームの高レベルのセクションで送信することもできる。 It is important to show how the coding regions are arranged in the image. Depending on the application, different targets are pursued, such as CA size and position, which may affect the desired flexibility in image segmentation. Layouts can also be sent in high-level sections of the bitstream in order to use temporarily fixed CA layouts or adjust layouts over time depending on content.
例えば、360°ビデオストリーミングのサブセクション「タイルを使用した画像の分割」で提供されている例では、CAは通常CVS(コーディング・ビデオ・シーケンス)全体で一定であり、そのサイズは、例えば図4に示すように、同じコンテンツの様々な解像度から生成されたパーティションに対応する必要があるだけである。このような場合、CA配置シグナリングの最も適切な場所は、サブ副次的サブセクション「実施形態A」およびサブ副次的サブセクション「実施形態B」で後に説明されているように、高レベルの構文構造(例えば、HEVCのVPS、SPS、PPSを参照)である。 For example, in the example provided in the 360° Video Streaming subsection "Image Division Using Tiles", CA is typically constant across a CVS (coding video sequence) and its size is e.g. It is only necessary to accommodate partitions generated from different resolutions of the same content, as shown in . In such cases, the most appropriate place for CA placement signaling is the high-level Syntax structure (see, for example, HEVC VPS, SPS, PPS).
ただし、負荷分散のためのサブセクション「タイルを使用した画像の分割」(ビデオ会議のシナリオなど)のような他の例では、画像ごとの動的な分割が望ましい場合がある。さらに、CAに対して選択された初期構成が最適でないことが見出せる場合があり、そのため、分割の(符号化中の)画像内での変更が必要になる場合がある。CAの配置が事前にわからないこのような場合、サブ副次的サブセクション「実施形態C」で説明されているように、VCL(スライスペイロード内のビデオコーディングレイヤー)で、シグナリングが、(パラメータセット内の)高レベルシグナリングよりも優先される。
以下のサブの副次的サブセクション「実施形態A」では、サンプルまたはユニットごとの位置およびサイズのシグナリングが説明されている。
CTU開始アドレスを使用して対応する領域を選択する明示的なCAポジショニング:
However, in other cases, such as the subsection "Segmenting Images Using Tiles" for load balancing (such as video conferencing scenarios), dynamic per-image splitting may be desirable. Furthermore, it may be found that the initial configuration chosen for CA is not optimal, and so may require changes in the image (during encoding) of the segmentation. In such cases where CA placement is not known a priori, at the VCL (Video Coding Layer within the Slice Payload), as described in sub-subsubsection "Embodiment C", the signaling is ) takes precedence over high-level signaling.
In sub-sub-section "Embodiment A" below, the signaling of position and size per sample or unit is described.
Explicit CA positioning using the CTU start address to select the corresponding region:
表2-2
原則として、上記の構文num_coding_areas_minus2は、1つを除くすべてのCAを定義し、最後のCAを前のCAでカバーされていない残りの部分として有することができる。ただし、これにより、図10に示すようにCAが連続したCTUを含まないことが可能になり、符号化/復号プロセスが幾分複雑になる可能性がある。 In principle, the above syntax num_coding_areas_minus2 can define all but one CA and have the last CA as the remainder not covered by the previous CA. However, this allows the CA to not contain consecutive CTUs, as shown in FIG. 10, which can complicate the encoding/decoding process somewhat.
したがって、このような場合を禁止するために制約を追加し、いくつかの制約を満たすための構文を要求するべきである。例えば、CAの左上、右上、左下および右下のCTUに対応する4つのCTU(CTUa、CTUb、CTUc、CTUd)を所与とし、CTUb_addr-CTUa_addr=CAWidthInNumCTUs_minus1およびCTUc_addr-CTUa_addr=CAHeightInNumCTUs_minus1すると、すべてのCTUおよび次のCTU_addressを有するもののみが、残りのCA CTUx_addr=CTUa_addr+j+k*(CAWidthInNumCTUs_minus1+1)、j=0、CAWidthInNumCTUs_minus1、およびk=0、CAHeightInNumCTUs_minus1に属するものとなる。 Therefore, we should add constraints to forbid such cases and require syntax to satisfy some constraints. For example, given four CTUs (CTU a , CTU b , CTU c , CTU d ) corresponding to the upper left, upper right, lower left and lower right CTUs of CA, CTU b _addr−CTU a _addr=CAWidthInNumCTUs_minus1 and CTU c _addr-CTU a _addr=CAHeightInNumCTUs_minus1すると、すべてのCTUおよび次のCTU_addressを有するもののみが、残りのCA CTU x _addr=CTU a _addr+j+k*(CAWidthInNumCTUs_minus1+1)、j=0、CAWidthInNumCTUs_minus1、およびk=0、CAHeightInNumCTUs_minus1にwill belong.
あるいは、そのような条件を満たすようにCAを示す/制約することできる構文要素(「non_contiguous_remaining_coding_unit_enabled_flag」など)を追加することもできる。したがって、一部のプロファイルでは、非連続CAによって追加される複雑さを防ぐために、そのフラグを有効にしないように義務付けることができる。 Alternatively, a syntax element (such as "non_contiguous_remaining_coding_unit_enabled_flag") can be added that can indicate/constrain CAs to meet such conditions. Therefore, some profiles may mandate that the flag is not enabled to prevent the added complexity of non-consecutive CA.
実施形態によると、データエンコーダ110は、例えば、指示データが、複数のコーディング領域の少なくとも1つが複数のコーディング領域の別の1つを囲むかどうか、または複数のコーディング領域のいずれもコーディング領域の別の1つを囲まないかどうかを示す非連続情報を含むように、指示データを生成するように構成され得る。図10は特定の例であり、2つのコーディング領域CA1、CA2が示されている。外側のコーディング領域CA1は、内側のコーディング領域CA2を囲む。
According to an embodiment,
図10では、CA1はCA2を囲んでいる。non_contiguous_remaining_coding_unit_enabled_flagを使用して、それぞれの指示を提供できる。 In FIG. 10, CA1 surrounds CA2. A non_contiguous_remaining_coding_unit_enabled_flag can be used to provide the respective indication .
同様に、実施形態では、データデコーダ170は、例えば、複数のコーディング領域のうちの少なくとも1つが複数のコーディング領域のうちの別の1つを囲むか、または複数のコーディング領域のいずれもコーディング領域のうちの別の1つを囲まないかどうかについて示す非連続情報を使用して、符号化された画像データを復号するように構成され得、指示データは前記情報を含む。 Similarly, in an embodiment, data decoder 170 determines whether, for example, at least one of the plurality of coding regions surrounds another one of the plurality of coding regions, or any of the plurality of coding regions is a coding region. It may be configured to decode the encoded image data using discontinuity information indicating whether to not surround another one of them, the indication data including said information.
上記の表の構文により、最大コーディングユニット(128x128など)の倍数ではないCAを使用した柔軟なシグナリングが可能になる。これは、一部のアプリケーションにとって有益である。ただし、サンプルユニットを使用してCAにシグナリングすると、多くのビットが使用される可能性がある。または、ビットを省くためにCTUでシグナリングを実行することもできる。問題は、CTUの倍数ではないサイズをシグナリングできないことである。以下の提案された構文では、いくつかの追加情報を使用して、この問題を解決できる。 The syntax in the table above allows flexible signaling with CAs that are not multiples of the largest coding unit (eg 128x128). This is useful for some applications. However, using sample units to signal CA may use many bits. Alternatively, signaling can be performed in the CTU to save bits. The problem is that we cannot signal sizes that are not multiples of the CTU. The suggested syntax below can solve this problem with some additional information.
表2-3
提案されたシグナリングは、CAの最後のCTU行および列が指定された最大のサイズのCTUを含むかどうか、または最後のCTUがより小さいかを示す。これの方が小さい場合は、CAの最後のCTU行と列のサイズが示される。 The proposed signaling indicates whether the last CTU row and column of the CA contains a specified maximum size CTU or if the last CTU is smaller. If this is smaller, then the last CTU row and column size of the CA is indicated.
ただし、CAのサイズが最大CTUサイズの倍数でない場合(つまり、行または列の最後のCTUの方が小さい)、CAには他のCAよりも小さいCTUがある可能性があるため、行または列ごとのCTUの数が異なる画像に至る可能性がある。画像内の予測に使用される変数の格納は通常CTUアドレスでアドレス指定され、行または列ごとのCTUの数が異なると、CTUアドレス指定が実行不可能または複雑になりすぎる可能性があるため、このような不整合が望ましくない場合がある。したがって、CAが完全なCTU(または最大のサイズのCTUのCTU)の前に終了する場合は常に、他の隣接するCAが完全なCTUを構成しない次元(水平または/および垂直)の中で整列されるべきであるという制約を追加するべきである。 However, if the CA size is not a multiple of the maximum CTU size (i.e. the last CTU in the row or column is smaller), the CA may have smaller CTUs than the other CAs, so the row or column This can lead to images with different numbers of CTUs per image. Since the stores of variables used for prediction in images are usually addressed by CTU addresses, and different numbers of CTUs per row or column can make CTU addressing infeasible or too complicated, Such mismatch may be undesirable. Therefore, whenever a CA ends before a complete CTU (or the CTU of the largest-sized CTU), it aligns in a dimension (horizontal or/and vertical) in which no other adjacent CA constitutes a complete CTU. should add a constraint that should be
コーディング領域でカバーされていない最上部のCTU行の左端の位置から再帰的に開始する暗示的なポジショニング。言い換えると、例えば、表2-4に示すようにcoding_area_explicit_positioning_flagが0に設定されている場合、CAの開始アドレスは示されず、幅と高さだけが示され、デコーダは1..(i-1)番目のCAでまだカバーされていない最小のCTUアドレスを探すことにより、i番目のCAの開始アドレスを派生させねばならない。 Implicit positioning recursively starting from the leftmost position of the topmost CTU row not covered by the coding region. In other words, for example, if the coding_area_explicit_positioning_flag is set to 0 as shown in Table 2-4, the starting address of the CA is not indicated, only the width and height are indicated, and the decoder is 1 . . The starting address of the i-th CA must be derived by looking for the smallest CTU address not yet covered by the (i-1)-th CA.
実施形態では、データエンコーダ110は、例えば、コーディング領域について、指示データが、前記コーディング領域の1つまたは複数のコーディングツリーユニットの1つを示す開始アドレスが示されるかどうか、または前記コーディング領域の1つまたは複数のコーディングツリーユニットの前記1つを示す開始アドレスが示されないかどうかを示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_CTU_start_addressであり得る。
In an embodiment,
同様に、実施形態によれば、データデコーダ170は、例えば、コーディング領域について、前記コーディング領域の1つまたは複数のコーディングツリーユニットの1つを示す開始アドレスが示されるかどうか、または前記コーディング領域の1つまたは複数のコーディングツリーユニットの前記1つを示す開始アドレスが示されないかどうかの指示を使用して、符号化された画像データを復号するように構成され得る。前記コーディング領域の1つまたは複数のコーディングツリーユニットの前記1つを示す開始アドレスが示されない場合、データデコーダ170は、例えば、コーディング領域の幅に依存して、前記コーディング領域のコーディングの高さに依存して、また前記コーディング領域のコーディング領域スキャン方向に依存して、前記コーディング領域の1つまたは複数のコーディングツリーユニットの前記1つを示す開始アドレスを決定するように構成され得る。 Similarly, according to an embodiment, data decoder 170 determines, for example, whether, for a coding region, a starting address indicating one of one or more coding tree units of said coding region is indicated, or It may be configured to decode encoded image data using an indication of whether a starting address indicative of said one of the one or more coding tree units is not indicated. If no starting address indicating said one of the one or more coding tree units of said coding region is indicated, data decoder 170 may determine the coding height of said coding region depending on, for example, the width of said coding region. Depending and depending on a coding region scanning direction of said coding region, it may be arranged to determine a starting address indicative of said one of one or more coding tree units of said coding region.
上記の両方の表の構文は、coding_area_start_address[i]で構成されている。これは、原則としてパーサーの操作を簡素化するが、シグナルサイズから単純に導出できる、ある程度「冗長な」情報である。したがって、両方の表は提示されたものと同じである可能性があるが、その構文要素がなく、アドレスは「コーディング領域でカバーされていない最上部のCTU行の左端の位置」として導出される。 The syntax for both tables above consists of coding_area_start_address[i]. This in principle simplifies the operation of the parser, but is somewhat "redundant" information that can be simply derived from the signal size. So both tables could be the same as presented, but without that syntax element and the address is derived as "the leftmost position of the topmost CTU row not covered by the coding region" .
より高次の画像解像度の場合、追加のステップサイズは、CAパーティションの幅と高さ、および利用可能な場合は位置コードをスケーリングするのに役立つ場合がある。 For higher order image resolutions, additional step sizes may help scale the width and height of the CA partition, and the location code if available.
表2-4
coding_area_width_in_CTU=coding_area_width_in_units*(coding_area_unit_scaling_factor_minus1+1) coding_area_width_in_CTU=coding_area_width_in_units*(coding_area_unit_scaling_factor_minus1+1)
coding_area_height_in_CTU=coding_area_height_in_units*(coding_area_unit_scaling_factor_minus1+1) coding_area_height_in_CTU = coding_area_height_in_units * (coding_area_unit_scaling_factor_minus1+1)
pic_width_in_units=(pic_width_in_CTU+coding_area_unit_scaling_factor_minus1)
/(coding_area_unit_scaling_factor_minus1+1)
coding_area_CTU_start_address=(coding_area_unit_scaling_factor_minus1+1)
pic_width_in_units = (pic_width_in_CTU + coding_area_unit_scaling_factor_minus1)
/(coding_area_unit_scaling_factor_minus1+1)
coding_area_CTU_start_address = (coding_area_unit_scaling_factor_minus1+1)
*((coding_area_start_address_in_units%pic_width_in_units)+(coding_area_CTU_start_address_unit/pic_width_in_units)*picture_width_in_CTU)) *((coding_area_start_address_in_units%pic_width_in_units)+(coding_area_CTU_start_address_unit/pic_width_in_units) *picture_width_in_CTU))
表2-5
coding_area_scaling_factor_minus1 CAの位置とサイズのパラメーターをスケーリングするために使用されるスケーリング係数 coding_area_scaling_factor_minus1 Scaling factor used to scale CA position and size parameters
coding_area_top_left_CTU_address_in_units[i] CAの左上の境界にあるCTUのアドレス。アドレスはユニットで指定され、CTUアドレスを取得するにはcoding_area_scaling_factor_minus1+1に従ってスケーリングしなければならない。 coding_area_top_left_CTU_address_in_units[i] Address of CTU at top left boundary of CA. Addresses are specified in units and must be scaled according to coding_area_scaling_factor_minus1+1 to get the CTU address.
coding_area_width_in_units[i] ユニットでのCAの幅は、CTUでのCA幅を取得するために、coding_area_scaling_factor_minus1+1に従ってスケーリングしなければならない。 The width of CA in coding_area_width_in_units[i] units shall be scaled according to coding_area_scaling_factor_minus1+1 to obtain the CA width in CTU.
Coding_area_height_in_units[i] ユニットでのCAの高さは、CTUでのCAの幅を取得するために、coding_area_scaling_factor_minus1+1に従ってスケーリングしなければならない。
上記の概念を要約すると:
The height of CA in Coding_area_height_in_units[i] units shall be scaled according to coding_area_scaling_factor_minus1+1 to obtain the width of CA in CTU.
To summarize the above concepts:
実施形態では、データエンコーダ110は、例えば、複数のコーディング領域のうちの1つについて、コーディング領域の1つの中の水平方向に配置されたコーディングツリーユニットの数を指定するコーディングツリーユニットのコーディング領域幅を指示データが示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_width_in_CTUであり得る。
In an embodiment,
実施形態によると、データエンコーダ110は、例えば、複数のコーディング領域のうちの1つについて、コーディング領域の1つの中の垂直方向に配置されたコーディングツリーユニットの数を指定するコーディングツリーユニットのコーディング領域の高さを指示データが示すように、指示データを生成するように構成され得る。特定の例は、例えば、上記のcoding_area_height_in_CTUであり得る。
According to an embodiment, the
実施形態では、データエンコーダ110は、例えば、複数のコーディング領域のコーディング領域について、前記コーディング領域内の水平方向の最後のコーディングツリーユニットが、水平方向で前記コーディングツリーユニットに先行する前記コーディング領域の別のコーディングツリーユニットよりも小さいかどうかを指示データが示すように、指示データを生成するように構成され得る。
In an embodiment,
特定の実施形態では、前記コーディング領域は、例えば、水平方向の複数の最後のコーディングツリーユニットを含み得、水平方向の前記最後のコーディングツリーユニットは、水平方向の前記複数の最後のコーディングツリーユニットの1つである。前記コーディング領域内の水平方向の前記最後のコーディングツリーユニットが、水平方向の前記最後のコーディングツリーユニットに先行する前記コーディング領域の前記別のコーディングツリーユニットよりも小さい場合、水平方向の複数の最後のコーディングツリーユニットのそれぞれは、例えば、同じ幅を有することができる。 In a particular embodiment, the coding region may include, for example, a plurality of last coding tree units in the horizontal direction, and the last coding tree unit in the horizontal direction is one of the last coding tree units in the horizontal direction. One. If the last coding tree unit in the horizontal direction in the coding region is less than the another coding tree unit in the coding region preceding the last coding tree unit in the horizontal direction, then a plurality of last coding tree units in the horizontal direction Each of the coding tree units can have the same width, for example.
実施形態によると、データエンコーダ110は、例えば、複数のコーディング領域のコーディング領域について、前記コーディング領域内の垂直方向の最後のコーディングツリーユニットが、垂直方向で前記コーディングツリーユニットに先行する前記コーディング領域の別のコーディングツリーユニットよりも小さいかどうかを指示データが示すように、指示データを生成するように構成され得る。
According to an embodiment, the
特定の実施形態では、前記コーディング領域は、例えば、垂直方向の複数の最後のコーディングツリーユニットを含み得、垂直方向の前記最後のコーディングツリーユニットは、垂直方向の前記複数の最後のコーディングツリーユニットの1つである。前記コーディング領域内の垂直方向の前記最後のコーディングツリーユニットが、垂直方向の前記最後のコーディングツリーユニットに先行する前記コーディング領域の前記別のコーディングツリーユニットよりも小さい場合、垂直方向の複数の最後のコーディングツリーユニットのそれぞれは、例えば、同じ高さを有することができる。 In a particular embodiment, the coding region may include, for example, a plurality of vertically last coding tree units, wherein the vertically last coding tree unit is one of the plurality of vertically last coding tree units. One. if the last coding tree unit in the vertical direction in the coding region is less than the another coding tree unit in the coding region preceding the last coding tree unit in the vertical direction, then a plurality of last vertical coding tree units Each of the coding tree units can have the same height, for example.
同様に、実施形態では、データデコーダ170は、例えば、複数のコーディング領域のうちの1つについて、コーディング領域の1つの内部の水平方向に配置されたコーディングツリーユニットの数を指定するコーディングツリーユニットのコーディング領域幅を示す情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 Similarly, in an embodiment, data decoder 170 may, for example, for one of a plurality of coding regions, specify the number of coding tree units arranged horizontally within one of the coding regions. It may be configured to decode encoded image data using information indicative of the coding region width, and the indication data may, for example, include said information.
実施形態によると、データデコーダ170は、例えば、複数のコーディング領域のうちの1つについて、コーディング領域の1つの内部の垂直方向に配置されたコーディングツリーユニットの数を指定するコーディングツリーユニットのコーディング領域の高さを示す情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 may, for example, for one of a plurality of coding regions, specify a coding region of coding tree units that specifies the number of vertically arranged coding tree units within one of the coding regions. may be configured to decode the encoded image data using information indicative of the height of the , and the indication data may, for example, include said information.
実施形態では、データデコーダ170は、例えば、複数のコーディング領域のコーディング領域について、前記コーディング領域内の水平方向の最後のコーディングツリーユニットが、水平方向で前記コーディングツリーユニットに先行する前記コーディング領域の別のコーディングツリーユニットよりも小さいかどうかを示す情報を使用して、符号化された画像データを復号するように構成でき、指示データは、例えば、前記情報を含み得る。 In an embodiment, data decoder 170 may, for example, determine, for a coding region of a plurality of coding regions, that the last coding tree unit in the coding region in the horizontal direction is different from the coding region that precedes the coding tree unit in the horizontal direction. The encoded image data may be decoded using information indicating whether the coding tree unit is smaller than the coding tree unit, and the indication data may include, for example, said information.
特定の実施形態では、前記コーディング領域は、例えば、水平方向の複数の最後のコーディングツリーユニットを含み得、水平方向の前記最後のコーディングツリーユニットは、水平方向の前記複数の最後のコーディングツリーユニットの1つである。前記コーディング領域内の水平方向の前記最後のコーディングツリーユニットが、水平方向の前記最後のコーディングツリーユニットに先行する前記コーディング領域の前記別のコーディングツリーユニットよりも小さい場合、水平方向の複数の最後のコーディングツリーユニットのそれぞれは、例えば、同じ幅を有することができる。 In a particular embodiment, the coding region may include, for example, a plurality of last coding tree units in the horizontal direction, and the last coding tree unit in the horizontal direction is one of the last coding tree units in the horizontal direction. One. If the last coding tree unit in the horizontal direction in the coding region is less than the another coding tree unit in the coding region preceding the last coding tree unit in the horizontal direction, then a plurality of last coding tree units in the horizontal direction Each of the coding tree units can have the same width, for example.
実施形態によると、データデコーダ170は、例えば、複数のコーディング領域のコーディング領域について、前記コーディング領域内の垂直方向の最後のコーディングツリーユニットが、垂直方向で前記コーディングツリーユニットに先行する前記コーディング領域の別のコーディングツリーユニットよりも小さいかどうかを示す情報を使用して、符号化された画像データを復号するように構成でき、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 may, for example, for a coding region of a plurality of coding regions, determine if the vertically last coding tree unit within said coding region is the coding region of said coding region that vertically precedes said coding tree unit. Information indicating whether it is smaller than another coding tree unit may be used to decode the encoded image data, and the indication data may, for example, include said information.
特定の実施形態では、前記コーディング領域は、例えば、垂直方向の複数の最後のコーディングツリーユニットを含み得、垂直方向の前記最後のコーディングツリーユニットは、垂直方向の前記複数の最後のコーディングツリーユニットの1つである。前記コーディング領域内の垂直方向の前記最後のコーディングツリーユニットが、垂直方向の前記最後のコーディングツリーユニットに先行する前記コーディング領域の前記別のコーディングツリーユニットよりも小さい場合、垂直方向の複数の最後のコーディングツリーユニットのそれぞれは、例えば、同じ高さを有することができる。
以下のサブ副次的サブセクション「実施形態B」では、分割による階層的サブ細分化について説明する。
特に、階層CA分割の2つのバリエーションが提供されている。
In a particular embodiment, the coding region may include, for example, a plurality of vertically last coding tree units, wherein the vertically last coding tree unit is one of the plurality of vertically last coding tree units. is one. if the last coding tree unit in the vertical direction in the coding region is less than the another coding tree unit in the coding region preceding the last coding tree unit in the vertical direction, then a plurality of last vertical coding tree units Each of the coding tree units can have the same height, for example.
The following sub-sub-sub-section "Embodiment B" describes hierarchical sub-division by partitioning.
In particular, two variations of hierarchical CA partitioning are provided.
第1の方法は、スケーリングされたCTUユニットでコーディング領域分割位置値を階層的に送信することである。ここで、分割の粒度はCTUサイズに依存する。 The first method is to hierarchically transmit the coding region division position values in scaled CTU units. Here, the division granularity depends on the CTU size.
表2-6
表2-7
階層型CA分割の第2のバリエーションは、コーディング領域分割位置値を一般的に均一なユニットで送信することである。ユニットの次元は、すでに解析された元の画像サイズを特定の係数でスケーリングすることによって導き出すことができる。これはまた、パラメータセットでシグナリングされる。ここで、分割の粒度は様々であり、エンコーダ側で選択されたユニットのサイズによって異なる。 A second variation of hierarchical CA partitioning is to send the coding region partitioning position values in generally uniform units. The dimension of the unit can be derived by scaling the original image size already parsed by a certain factor. This is also signaled in the parameter set. Here, the granularity of division is various and varies depending on the size of the unit selected on the encoder side.
表2-8
表2-9
最終的なCAの位置とサイズは、次のように導出されるものとする。
UnitWidth=pic_width_in_luma_samples/PicWidthInUnits;
UnitHeight=pic_height_in_luma_samples/PicHeightInUnits;
CodingAreaWidth[AreaIdx]=CodingAreaWidthInUnits[AreaIdx]*UnitWidth
CodingAreaHeight[AreaIdx]=CodingAreaHeightInUnits[AreaIdx]*UnitHeight
CodingAreaPosX[AreaIdx]=CodingAreaPosUnitX[AreaIdx]*UnitWidth
CodingAreaPosY[AreaIdx]=CodingAreaPosUnitY[AreaIdx]*UnitHeight
The final CA position and size shall be derived as follows.
UnitWidth=pic_width_in_luma_samples/PicWidthInUnits;
UnitHeight=pic_height_in_luma_samples/PicHeightInUnits;
CodingAreaWidth[AreaIdx]=CodingAreaWidthInUnits[AreaIdx]*UnitWidth
CodingAreaHeight[AreaIdx]=CodingAreaHeightInUnits[AreaIdx]*UnitHeight
CodingAreaPosX[AreaIdx]=CodingAreaPosUnitX[AreaIdx]*UnitWidth
CodingAreaPosY[AreaIdx]=CodingAreaPosUnitY[AreaIdx]*UnitHeight
coding_area_start_address[AreaIdx]=CodingAreaPosY[AreaIdx]*PicWidthInCtbsY+CodingAreaPosX[AreaIdx] coding_area_start_address[AreaIdx]=CodingAreaPosY[AreaIdx]*PicWidthInCtbsY+CodingAreaPosX[AreaIdx]
階層型CA分割の利点は、一部の分割シナリオで、この方法でシグナリングに必要なビットが少なくなる可能性があることである。さらに、いくつかの境界が共有されているCAまたはCAのグループ間で何らかの位置合わせを実施する。これは、一部の実装にとって有益な場合がある。
シグナリングは、RAPでのみ可能であり、後続の画像のためにそこから継承されるように制約することができる。
An advantage of hierarchical CA partitioning is that in some partitioning scenarios, this method may require fewer bits for signaling. In addition, some alignment is performed between CAs or groups of CAs that share some boundaries. This may be beneficial for some implementations.
Signaling is only possible in RAP and can be constrained to be inherited from it for subsequent images.
レイアウトが再送信されることを示すビットストリームの追加のフラグ。それ以外の場合は、以前に送信されたCAレイアウトのセットから、ビットストリーム送信インデックスによってさらに選択できる以前のCAレイアウトが使用される。
上記を要約すると:
Additional flag in the bitstream indicating that the layout will be retransmitted. Otherwise, a previous CA layout is used that can be further selected by the bitstream transmission index from the set of previously transmitted CA layouts.
To summarize the above:
実施形態によると、データエンコーダ110は、例えば、複数のコーディング領域の情報が、画像を1回または複数回分割することによって複数のコーディング領域を取得するために画像を1回または複数回分割する方法に関する情報を含むように指示データを生成するように構成できる。
実施形態では、データエンコーダ110は、例えば、指示データが複数のコーディング領域分割位置を示すように指示データを生成するように構成され得る。
According to an embodiment, the
In embodiments, the
実施形態によれば、データエンコーダ110は、例えば、指示データが複数のコーディング領域分割位置を順序付けられたシーケンスとして示すように指示データを生成するように構成され得る。
According to embodiments,
実施形態では、データエンコーダ110は、例えば、指示データが複数のコーディング領域分割位置を複数のコーディング領域分割位置値として示すように指示データを生成するように構成でき、複数のコーディング領域分割位置値のそれぞれは、画像の幅に依存するか、または画像の高さに依存する。
In an embodiment, the
実施形態によると、データエンコーダ110は、例えば、複数のコーディング領域の情報が、画像を階層的に1回または複数回分割することによって、複数のコーディング領域を取得するために画像を階層的に1回または複数回分割する方法に関する情報を含むように、指示データを生成するように構成できる。 According to an embodiment, the data encoder 110 hierarchically divides the image into multiple coding regions, for example, the information of the multiple coding regions, by hierarchically dividing the image one or more times. The instruction data can be configured to include information on how to split one or more times.
同様に、実施形態によると、データデコーダ170は、画像を1回または複数回分割することによって複数のコーディング領域を取得するために画像を1回または複数回分割する方法に関する情報を使用して符号化された画像データを復号するように構成でき、指示データは、例えば、前記情報を含み得る。 Similarly, according to an embodiment, data decoder 170 encodes using information about how to divide the image one or more times to obtain multiple coding regions by dividing the image one or more times. and the instruction data may include, for example, said information.
実施形態では、データデコーダ170は、例えば、複数のコーディング領域分割位置を示す情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 In an embodiment, the data decoder 170 may be configured to decode encoded image data using, for example, information indicating a plurality of coding region division positions, and the instruction data may include, for example, said information. .
実施形態では、データデコーダ170は、例えば、複数のコーディング領域分割位置を順序付けられたシーケンスとして示す情報を使用して符号化された画像データを復号するように構成され得、指示データは、例えば、前記情報を含み得る。 In an embodiment, data decoder 170 may be configured to decode encoded image data using, for example, information indicating a plurality of coding region division positions as an ordered sequence, wherein the instruction data may be, for example, Said information may be included.
実施形態では、データデコーダ170は、例えば、複数のコーディング領域分割位置を複数のコーディング領域分割位置値として示す情報を使用して符号化された画像データを復号するように構成され、複数のコーディング領域分割位置値のそれぞれは、画像の幅に依存するか、または画像の高さに依存し、指示データは、例えば、前記情報を含み得る。 In an embodiment, the data decoder 170 is configured, for example, to decode encoded image data using information indicating the coding region division positions as coding region division position values, the coding region division positions Each of the split position values depends on the width of the image or depends on the height of the image, and the indication data may include said information, for example.
実施形態によると、データデコーダ170は、複数のコーディング領域に関する情報を使用して符号化された画像データを復号するように構成でき、画像を1回または複数回階層的に分割することによって複数のコーディング領域を取得するために画像を階層的に1回または複数回分割する方法に関する情報を含み、指示データは、例えば、前記情報を含み得る。 According to an embodiment, data decoder 170 may be configured to decode encoded image data using information about multiple coding regions, and divide the image into multiple coding regions by hierarchically dividing the image one or more times. It includes information about how to divide the image hierarchically one or more times to obtain coding regions, and the instruction data may include, for example, said information.
これより、さらなる例が提示される。データエンコーダ110が、例えば、複数のコーディング領域の情報が、画像を1回または複数回分割することによって複数のコーディング領域を取得するために画像を1回または複数回分割する方法に関する情報を含むように指示データを生成するように構成できるものに関する。
Further examples will now be presented.
特に、さらなる例は、データエンコーダ110が、例えば、複数のコーディング領域の情報が、画像を階層的に1回または複数回分割することによって複数のコーディング領域を取得するために画像を階層的に1回または複数回分割する方法に関する情報を含むように指示データを生成するように構成できるものに関して提示されている。
In particular, a further example is that the
また、データデコーダ170は、画像を1回または複数回分割することによって複数のコーディング領域を取得するために画像を1回または複数回分割する方法に関する情報を使用して符号化された画像データを復号するように構成でき、指示データは、例えば、前記情報を含むものに関して、さらなる例が提示されている。 The data decoder 170 also converts the encoded image data using information about how to divide the image one or more times to obtain multiple coding regions by dividing the image one or more times. Further examples are given as to what can be configured to decode and the instructional data includes, for example, said information.
特に、さらなる例が提供されており、例えば、いかにしてデータデコーダ170が、複数のコーディング領域に関する情報を使用して符号化された画像データを復号するように構成でき、画像を1回または複数回階層的に分割することによって複数のコーディング領域を取得するために画像を階層的に1回または複数回分割する方法に関する情報を含み、指示データは、例えば、前記情報を含み得る。 In particular, further examples are provided, e.g., how data decoder 170 can be configured to decode encoded image data using information about multiple coding regions so that the image can be processed one or more times. It includes information about how to hierarchically divide the image once or multiple times to obtain multiple coding regions by hierarchically dividing it once, and the instruction data may include, for example, said information.
また、さらなる例が、いかにして符号化されたビデオ信号の指示データが、例えば、画像を1回または複数回分割することによって画像を1回または複数回分割して複数のコーディング領域を取得する方法を示し得るかについて、提示されている。 Yet a further example is how the encoded video signal instruction data divides the image once or more times to obtain multiple coding regions, for example by dividing the image once or more times. It is presented as to how it can be shown.
さらに、特に、さらなる例が、画像を階層的に1回または複数回分割することによって、画像を階層的に1回または複数回分割して複数のコーディング領域を取得する方法について、提示されている。
いくつかの実施形態では、データエンコーダ110および/またはデータデコーダ170は、例えば、
-第1のステップで、画像を水平方向と垂直方向に分割して、画像の第1の分割を取得し、
-第2のステップで、画像の第1の分割を水平方向(のみ)に分割して、画像の第2の分割を取得する
ように構成され得る。
More particularly, further examples are presented for methods of hierarchically dividing an image one or more times to obtain multiple coding regions by hierarchically dividing the image one or more times. .
In some embodiments,
- in a first step, split the image horizontally and vertically to obtain a first split of the image;
- In a second step, it may be arranged to split the first division of the image horizontally (only) to obtain a second division of the image.
図27では、画像は、第1のステップで、水平方向および垂直方向に階層的に分割されて、画像の第1の分割(例えば、タイル分割)が得られ(図27、ステップ1)、また、第2のステップで、画像の第2の分割(例えば、ブリックの分割)を得るための、水平方向のみ分割される(図27、ステップ2)。
いくつかの他の実施形態では、データエンコーダ110および/またはデータデコーダ170は、例えば、
-第1のステップで、画像を水平方向と垂直方向に分割して、画像の第1の分割を取得し、
-第2のステップで、画像の第1の分割を垂直方向(のみ)に分割して、画像の第2の分割を取得する
ように構成され得る。
In FIG. 27, the image is hierarchically split horizontally and vertically in a first step to obtain a first split (eg, tile split) of the image (FIG. 27, step 1), and , in a second step only horizontally to obtain a second division of the image (eg a division of bricks) (FIG. 27, step 2).
In some other embodiments,
- in a first step, split the image horizontally and vertically to obtain a first split of the image;
- In a second step, it may be arranged to vertically (only) divide the first division of the image to obtain a second division of the image.
図28では、画像は、第1のステップで、水平方向および垂直方向に階層的に分割されて、画像の第1の分割(例えば、タイル分割)が得られ(図28、ステップ1)、また、第2のステップで、画像の第2の分割(例えば、ブリックの分割)を得るための、垂直方向のみ分割される(図28、ステップ2)。
いくつかのさらなる実施形態では、データエンコーダ110および/またはデータデコーダ170は、例えば、
-第1のステップで、画像を水平方向(のみ)に分割して、画像の第1の分割を取得し、
-第2のステップで、画像の第1の分割を垂直方向(のみ)に分割して、画像の第2の分割を取得する
ように構成され得る。
In FIG. 28, the image is hierarchically split horizontally and vertically in a first step to obtain a first split (eg, tile split) of the image (FIG. 28, step 1), and , in a second step only the vertical direction is split to obtain a second split of the image (eg a split of bricks) (FIG. 28, step 2).
In some further embodiments,
- in a first step, split the image horizontally (only) to obtain a first split of the image;
- In a second step, it may be arranged to vertically (only) divide the first division of the image to obtain a second division of the image.
図29では、画像は、第1のステップで、水平方向のみに階層的に分割されて、画像の第1の分割(例えば、タイル分割)が得られ(図29、ステップ1)、また、第2のステップで、画像の第2の分割(例えば、ブリックの分割)を得るための、垂直方向のみ分割される(図29、ステップ2)。
いくつかのなおもさらなる実施形態では、データエンコーダ110および/またはデータデコーダ170は、例えば、
-第1のステップで、画像を垂直方向(のみ)に分割して、画像の第1の分割を取得し、
-第2のステップで、画像の第1の分割を水平方向(のみ)に分割して、画像の第2の分割を取得する
ように構成され得る。
In FIG. 29, the image is hierarchically partitioned horizontally only in a first step to obtain a first partition (eg, tile partition) of the image (FIG. 29, step 1); In step 2, only the vertical direction is split to obtain the second split of the image (eg split of bricks) (Fig. 29, step 2).
In some still further embodiments,
- in a first step, split the image vertically (only) to obtain a first split of the image;
- In a second step, it may be arranged to split the first division of the image horizontally (only) to obtain a second division of the image.
図30では、画像は、第1のステップで、垂直方向のみに階層的に分割されて、画像の第1の分割(例えば、タイル分割)が得られ(図30、ステップ1)、また、第2のステップで、画像の第2の分割(例えば、ブリックの分割)を得るための、水平方向のみ分割される(図30、ステップ2)。 In FIG. 30, the image is hierarchically partitioned in a first step only vertically to obtain a first partition (eg, tile partition) of the image (FIG. 30, step 1); In step 2, only the horizontal direction is split to obtain the second split of the image (eg splitting of bricks) (Fig. 30, step 2).
実施形態では、画像パラメータセットRBSP構文についての以下のコードにおいて、brick_split_flag[i]およびnum_brick_rows_minus1[i]のパラメータは、画像を階層的に1回または複数回分割して複数のコーディング領域を取得する方法の例示的な方法を実装する。
画像は、例えば、画像、スライス、タイル、ブリック、およびCTUに分割できる。
In an embodiment, in the code below for the image parameter set RBSP syntax, the parameters brick_split_flag[i] and num_brick_rows_minus1[i] are the method for hierarchically splitting the image one or more times to obtain multiple coding regions. implement the exemplary method of
An image can be divided into, for example, images, slices, tiles, bricks, and CTUs.
画像は、例えば、1つまたは複数のタイル行および1つまたは複数のタイル列に分割することができる。タイルは、画像の長方形の領域をカバーする一連のCTUである。
タイルは1つまたは複数のブリックに分割され、各ブリックはタイル内の多数のCTUの行数からなる。
複数のブリックに分割されていないタイルは、ブリックとも呼ばれる。ただし、タイルの真のサブセットであるブリックは、タイルとは呼ばれない。
スライスには、画像のタイルの数またはタイルのブリックの数が含まれる。
An image can be divided into, for example, one or more tile rows and one or more tile columns. A tile is a series of CTUs covering a rectangular area of the image.
A tile is divided into one or more bricks, each brick consisting of a number of rows of CTUs within the tile.
Tiles that are not divided into multiple bricks are also called bricks. However, bricks, which are true subsets of tiles, are not called tiles.
A slice contains the number of tiles of an image or the number of bricks of a tile.
スライスの2つのモード、つまりラスタースキャンスライスモードと長方形スライスモードがサポートされている。ラスタースキャンスライスモードでは、スライスには、画像のタイルラスタースキャン内のタイルのシーケンスが含まれる。長方形スライスモードでは、スライスには、画像の長方形領域を集合的に形成する画像の複数のブリックが含まれる。長方形のスライス内のブリックは、スライスのブリックラスタースキャンの順序になっている。 Two modes of slicing are supported: raster scan slice mode and rectangular slice mode. In raster scan slice mode, a slice contains a sequence of tiles in a tile raster scan of an image. In rectangular slice mode, a slice includes multiple bricks of the image that collectively form a rectangular region of the image. The bricks within a rectangular slice are in the order of the brick raster scan of the slice.
図26は、タイル、ブリック、長方形のスライスに分割された画像の例を示している。それにおいて、画像は4つのタイル(2つのタイル列と2つのタイル行)、11のブリック(左上のタイルには1つのブリック、右上のタイルには5つのブリックが含まれ、左下のタイルには2つのブリックが含まれ、右下のタイルには3つのブリックが含まれる)、および4つの長方形のスライスに分けられている。 FIG. 26 shows an example of an image divided into tiles, bricks and rectangular slices. In it, the image has 4 tiles (2 tile columns and 2 tile rows), 11 bricks (the top left tile contains 1 brick, the top right tile contains 5 bricks, the bottom left tile contains 2 bricks, the bottom right tile contains 3 bricks), and 4 rectangular slices.
以下では、brick_split_flag[i]が1に等しい場合、i番目のタイルが2つ以上のブリックに分割されることを指定する。brick_split_flag[i]が0に等しい場合、i番目のタイルが2つ以上のブリックに分割されていないことを指定する。存在しない場合、brick_split_flag[i]の値は、0に等しいと推測される。 In the following, if brick_split_flag[i] equals 1, we specify that the i-th tile is split into two or more bricks. If brick_split_flag[i] is equal to 0, it specifies that the i-th tile is not split into more than one brick. If not present, the value of brick_split_flag[i] is assumed to be equal to zero.
さらに、以下では、num_brick_rows_minus1[i]+1は、uniform_brick_spacing_flag[i]が0に等しい場合に、i番目のタイルを分割するブリックの数を指定する。存在する場合、num_brick_rows_minus1[i]の値は、1からRowHeight[i]-1までの範囲であるものとする。brick_split_flag[i]が0に等しい場合、num_brick_rows_minus1[i]の値は0に等しいと推測される。それ以外の場合、uniform_brick_spacing_flag[i]が1に等しい場合、num_brick_rows_minus1[i]の値が推測される(例えば、CTBラスタースキャン、タイルスキャン、およびブリックスキャンプロセスに関して下記で指定するように)。 Further below, num_brick_rows_minus1[i]+1 specifies the number of bricks dividing the i-th tile if uniform_brick_spacing_flag[i] is equal to 0. If present, the value of num_brick_rows_minus1[i] shall range from 1 to RowHeight[i]−1. If brick_split_flag[i] is equal to 0, the value of num_brick_rows_minus1[i] is assumed to be equal to 0. Otherwise, if uniform_brick_spacing_flag[i] equals 1, the value of num_brick_rows_minus1[i] is inferred (eg, as specified below for CTB raster scan, tile scan, and brick scan processes).
したがって、brick_split_flag[i]およびnum_brick_rows_minus1[i]で、画像を階層的に1回または複数回分割して複数のコーディング領域を取得する方法の例示的な方法を実装する。タイルは、例えば、2つまたはそれより多いブリックに分割され得、これは、例えば、いくつかのCTU列からなり得る。
より詳細には、CTBラスタースキャン、タイルスキャン、およびブリックスキャンプロセスは、例えば、以下のように実施され得る。
Therefore, brick_split_flag[i] and num_brick_rows_minus1[i] implement an exemplary method of how to hierarchically split an image one or more times to obtain multiple coding regions. A tile may, for example, be divided into two or more bricks, which may consist, for example, of several columns of CTUs.
In more detail, the CTB raster scan, tile scan, and brick scan processes may be implemented, for example, as follows.
0からnum_tile_columns_minus1までの範囲のiのリストcolWidth[i]は、CTBのユニットでi番目のタイル列の幅を指定して、導出され、uniform_tile_spacing_flagが1に等しい場合、num_tile_columns_minus1の値が次のように推測される。
if(uniform_tile_spacing_flag){
remainingWidthInCtbsY=PicWidthInCtbsY
i=0
while(remainingWidthInCtbsY>(tile_cols_width_minus1+1)){
colWidth[i++]=tile_cols_width_minus1+1
remainingWidthInCtbsY-=(tile_cols_width_minus1+1)
}
colWidth[i]=remainingWidthInCtbsY
num_tile_columns_minus1=i
}else{
colWidth[num_tile_columns_minus1]=PicWidthInCtbsY(6-1)
for(i=0;i<num_tile_columns_minus1;i++){
colWidth[i]=tile_column_width_minus1[i]+1
colWidth[num_tile_columns_minus1]-=colWidth[i]
}
}
A list colWidth[i] of i ranging from 0 to num_tile_columns_minus1 is derived specifying the width of the ith tile column in units of CTB, and if uniform_tile_spacing_flag is equal to 1, the value of num_tile_columns_minus1 is guessed.
if (uniform_tile_spacing_flag) {
remainingWidthInCtbsY=PicWidthInCtbsY
i = 0
while (remainingWidthInCtbsY > (tile_cols_width_minus1+1)) {
colWidth[i++]=tile_cols_width_minus1+1
remainingWidthInCtbsY-=(tile_cols_width_minus1+1)
}
colWidth[i]=remainingWidthInCtbsY
num_tile_columns_minus1=i
}else{
colWidth[num_tile_columns_minus1]=PicWidthInCtbsY(6-1)
for (i=0; i<num_tile_columns_minus1; i++) {
colWidth[i]=tile_column_width_minus1[i]+1
colWidth[num_tile_columns_minus1]-=colWidth[i]
}
}
0からnum_tile_rows_minus1までの範囲のjのリストRowHeight[j]は、CTBのユニットでj番目のタイル行の高さを指定して、導出され、uniform_tile_spacing_flagが1に等しい場合、num_tile_rows_minus1の値が次のように推測される。
if(uniform_tile_spacing_flag){
remainingHeightInCtbsY=PicHeightInCtbsY
i=0
while(remainingHeightInCtbsY>(tile_rows_height_minus1+1)){
RowHeight[i++]=tile_rows_height_minus1+1
remainingHeightInCtbsY-=(tile_rows_height_minus1+1)
}
RowHeight[i]=remainingHeightInCtbsY
num_tile_rows_minus1=i
}else{
RowHeight[num_tile_rows_minus1]=PicHeightInCtbsY(6-2)
for(j=0;j<num_tile_rows_minus1;j++){
RowHeight[j]=tile_row_height_minus1[j]+1
RowHeight[num_tile_rows_minus1]-=RowHeight[j]
}
}
A list of j RowHeight[j] ranging from 0 to num_tile_rows_minus1 is derived specifying the height of the jth tile row in units of CTB, and if uniform_tile_spacing_flag is equal to 1, the value of num_tile_rows_minus1 is inferred to.
if (uniform_tile_spacing_flag) {
remainingHeightInCtbsY=PicHeightInCtbsY
i = 0
while (remainingHeightInCtbsY > (tile_rows_height_minus1+1)) {
RowHeight[i++]=tile_rows_height_minus1+1
remainingHeightInCtbsY-=(tile_rows_height_minus1+1)
}
RowHeight[i]=remainingHeightInCtbsY
num_tile_rows_minus1=i
}else{
RowHeight[num_tile_rows_minus1]=PicHeightInCtbsY(6-2)
for (j=0; j<num_tile_rows_minus1; j++) {
RowHeight[j]=tile_row_height_minus1[j]+1
RowHeight[num_tile_rows_minus1]-=RowHeight[j]
}
}
0からnum_tile_columns_minus1+1までの範囲のiのリストtileColBd[i]は、CTBのユニットでi番目のタイル列境界の位置を指定して、次のように導出される。
for(tileColBd[0]=0,i=0;i<=num_tile_columns_minus1;i++)
tileColBd[i+1]=tileColBd[i]+colWidth[i](6-3)
A list tileColBd[i] of i ranging from 0 to num_tile_columns_minus1+1, specifying the location of the i-th tile column boundary in units of CTB, is derived as follows.
for (tileColBd[0]=0, i=0; i<=num_tile_columns_minus1; i++)
tileColBd[i+1]=tileColBd[i]+colWidth[i] (6-3)
0からnum_tile_rows_minus1+1までの範囲のjのリストtileRowBd[j]は、CTBのユニットでj番目のタイル行の境界の位置を指定して、次のように導出される。
for(tileRowBd[0]=0,j=0;j<=num_tile_rows_minus1;j++)
tileRowBd[j+1]=tileRowBd[j]+RowHeight[j](6-4)
A list tileRowBd[j] of j ranging from 0 to num_tile_rows_minus1+1, specifying the location of the boundary of the jth tile row in units of CTB, is derived as follows.
for (tileRowBd[0]=0, j=0; j<=num_tile_rows_minus1; j++)
tileRowBd[j+1]=tileRowBd[j]+RowHeight[j] (6-4)
変数NumBricksInPicは、PPSを参照する画像のブリックの数を指定し、0からNumBricksInPic-1の範囲のbrickIdxのリストBrickColBd[brickIdx]、BrickRowBd[brickIdx]、BrickWidth[brickIdx]、およびBrickHeight[brickIdx]は、CTBのユニットでの垂直ブリック境界の位置、CTBのユニットでの水平ブリック境界の位置、CTBのユニットでのブリックの幅、およびCTBのユニットでのブリックの高さを指定して導出され、また、0からNumTilesInPic-1までの範囲の各iについて、uniform_brick_spacing_flag[i]が1に等しい場合、num_brick_rows_minus1[i]の値は次のように推測される。 The variable NumBricksInPic specifies the number of bricks in the image that reference the PPS, and a list of brickIdx ranging from 0 to NumBricksInPic-1 BrickColBd[brickIdx], BrickRowBd[brickIdx], BrickWidth[brickIdx], and Given the position of the vertical brick boundary in units of CTB, the position of the horizontal brick boundary in units of CTB, the width of the brick in units of CTB, and the height of the brick in units of CTB, and For each i ranging from 0 to NumTilesInPic-1, if uniform_brick_spacing_flag[i] is equal to 1, the value of num_brick_rows_minus1[i] is inferred as follows.
for(brickIdx=0,i=0;i<NumTilesInPic;i++){
tileX=i%(num_tile_columns_minus1+1)
tileY=i/(num_tile_columns_minus1+1)
if(!brick_split_flag[i]){
BrickColBd[brickIdx]=tileColBd[tileX]
BrickRowBd[brickIdx]=tileRowBd[tileY]
BrickWidth[brickIdx]=colWidth[tileX]
BrickHeight[brickIdx]=RowHeight[tileY](6-5)
brickIdx++
}else{
if(uniform_brick_spacing_flag[i]){
remainingHeightInCtbsY=RowHeight[tileY]
j=0
while(remainingHeightInCtbsY>(brick_height_minus1[i]+1)){
rowHeight2[j++]=brick_height_minus1[i]+1
remainingHeightInCtbsY-=(brick_height_minus1[i]+1)
}
rowHeight2[j]=remainingHeightInCtbsY
num_brick_rows_minus1[i]=j
}else{
rowHeight2[num_brick_rows_minus1[i]]=RowHeight[tileY]
for(j=0;j<num_brick_rows_minus1[i];j++){
rowHeight2[j]=brick_row_height_minus1[i][j]+1
rowHeight2[num_brick_rows_minus1[i]]-=rowHeight2[j]
}
}
for(rowBd2[0]=0,j=0;j<=num_brick_rows_minus1[i];j++)
rowBd2[j+1]=rowBd2[j]+rowHeight2[j]
for(j=0;j<num_brick_rows_minus1[i]+1;j++){
BrickColBd[brickIdx]=tileColBd[tileX]
BrickRowBd[brickIdx]=tileRowBd[tileY]+rowBd2[j]
BrickWidth[brickIdx]=colWidth[tileX]
BrickHeight[brickIdx]=rowHeight2[j]
brickIdx++
}
}
}
NumBricksInPic=brickIdx
for (brickIdx=0, i=0; i<NumTilesInPic; i++) {
tileX=i%(num_tile_columns_minus1+1)
tileY=i/(num_tile_columns_minus1+1)
if (!brick_split_flag[i]) {
BrickColBd[brickIdx]=tileColBd[tileX]
BrickRowBd[brickIdx]=tileRowBd[tileY]
BrickWidth[brickIdx]=colWidth[tileX]
BrickHeight[brickIdx]=RowHeight[tileY] (6-5)
brickIdx++
}else{
if (uniform_brick_spacing_flag[i]) {
remainingHeightInCtbsY=RowHeight[tileY]
j = 0
while (remainingHeightInCtbsY > (brick_height_minus1[i]+1)) {
rowHeight2[j++]=brick_height_minus1[i]+1
remainingHeightInCtbsY-=(brick_height_minus1[i]+1)
}
rowHeight2[j]=remainingHeightInCtbsY
num_brick_rows_minus1[i]=j
}else{
rowHeight2[num_brick_rows_minus1[i]]=RowHeight[tileY]
for (j=0; j<num_brick_rows_minus1[i]; j++) {
rowHeight2[j]=brick_row_height_minus1[i][j]+1
rowHeight2[num_brick_rows_minus1[i]]-=rowHeight2[j]
}
}
for (rowBd2[0]=0, j=0; j<=num_brick_rows_minus1[i]; j++)
rowBd2[j+1]=rowBd2[j]+rowHeight2[j]
for (j=0; j<num_brick_rows_minus1[i]+1; j++) {
BrickColBd[brickIdx]=tileColBd[tileX]
BrickRowBd[brickIdx]=tileRowBd[tileY]+rowBd2[j]
BrickWidth[brickIdx]=colWidth[tileX]
BrickHeight[brickIdx]=rowHeight2[j]
brickIdx++
}
}
}
NumBricksInPic = brickIdx
0からPicSizeInCtbsY-1までの範囲のctbAddrRのリストCtbAddrRsToBs[ctbAddrRs]は、画像のCTBラスタースキャンのCTBアドレスからブリックスキャンのCTBアドレスへの変換を指定して、次のように導出される。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++){
tbX=ctbAddrRs%PicWidthInCtbsY
tbY=ctbAddrRs/PicWidthInCtbsY
brickFound=FALSE
for(bkIdx=NumBricksInPic-1,i=0;i<NumBricksInPic-1&&!brickFound;i++){
brickFound=tbX<(BrickColBd[i]+BrickWidth[i])&&
tbY<(BrickRowBd[i]+BrickHeight[i])
if(brickFound)(6-6)
bkIdx=i
}
CtbAddrRsToBs[ctbAddrRs]=0
for(i=0;i<bkIdx;i++)
CtbAddrRsToBs[ctbAddrRs]+=BrickHeight[i]*BrickWidth[i]
CtbAddrRsToBs[ctbAddrRs]+=
(tbY-BrickRowBd[bkIdx])*BrickWidth[bkIdx]+tbX-BrickColBd[bkIdx]
}
A list CtbAddrRsToBs[ctbAddrRs] of ctbAddrRs ranging from 0 to PicSizeInCtbsY-1, specifying the conversion of CTB raster-scan CTB addresses to brick-scan CTB addresses of the image, is derived as follows.
for (ctbAddrRs=0; ctbAddrRs<PicSizeInCtbsY; ctbAddrRs++) {
tbX = ctbAddrRs % PicWidthInCtbsY
tbY=ctbAddrRs/PicWidthInCtbsY
brickFound=FALSE
for (bkIdx=NumBricksInPic−1, i=0; i<NumBricksInPic−1 &&!brickFound; i++) {
brickFound=tbX<(BrickColBd[i]+BrickWidth[i]) &&
tbY<(BrickRowBd[i]+BrickHeight[i])
if (brickFound) (6-6)
bkIdx=i
}
CtbAddrRsToBs[ctbAddrRs]=0
for (i=0; i<bkIdx; i++)
CtbAddrRsToBs[ctbAddrRs]+=BrickHeight[i]*BrickWidth[i]
CtbAddrRsToBs[ctbAddrRs]+=
(tbY-BrickRowBd[bkIdx])*BrickWidth[bkIdx]+tbX-BrickColBd[bkIdx]
}
0からPicSizeInCtbsY-1までの範囲のctbAddrBのリストCtbAddrBsToRs[ctbAddrBs]は、ブリックスキャンのCTBアドレスから画像のCTBラスタースキャンのCTBアドレスへの変換を指定して、次のように導出される。
for(ctbAddrRs=0;ctbAddrRs<PicSizeInCtbsY;ctbAddrRs++)(6-7)
CtbAddrBsToRs[CtbAddrRsToBs[ctbAddrRs]]=ctbAddrRs
A list CtbAddrBsToRs[ctbAddrBs] of ctbAddrBs ranging from 0 to PicSizeInCtbsY-1, specifying the conversion from brick-scan CTB addresses to CTB raster-scan CTB addresses of the image, is derived as follows.
for (ctbAddrRs=0; ctbAddrRs<PicSizeInCtbsY; ctbAddrRs++) (6-7)
CtbAddrBsToRs[CtbAddrRsToBs[ctbAddrRs]]=ctbAddrRs
0からPicSizeInCtbsY-1までの範囲のctbAddrBのリストBrickId[ctbAddrBs]は、ブリックスキャンのCTBアドレスからブリックIDへの変換を指定して、次のように導出される。
for(i=0,i<NumBricksInPic;i++)
for(y=BrickRowBd[i];y<BrickRowBd[i]+BrickHeight[i];y++)(6-8)
for(x=BrickColBd[i];x<BrickColBd[i]+BrickWidth[i];x++)
BrickId[CtbAddrRsToBs[y*PicWidthInCtbsY+x]]=i
The list BrickId[ctbAddrBs] of ctbAddrBs ranging from 0 to PicSizeInCtbsY-1 is derived as follows, specifying the conversion of brickscan CTB addresses to brick IDs.
for (i=0, i<NumBricksInPic; i++)
for (y=BrickRowBd[i]; y<BrickRowBd[i]+BrickHeight[i]; y++) (6-8)
for (x=BrickColBd[i]; x<BrickColBd[i]+BrickWidth[i]; x++)
BrickId[CtbAddrRsToBs[y*PicWidthInCtbsY+x]]=i
0からNumBricksInPic-1までの範囲のbrickIdxのリストNumCtusInBrick[brickIdx]は、ブリックインデックスからブリックのCTUの数への変換を指定して、次のように導出される。
for(i=0;i<NumBricksInPic;i++)(6-9)
NumCtusInBrick[i]=BrickWidth[i]*BrickHeight[i]
A list NumCtusInBrick[brickIdx] of brickIdx ranging from 0 to NumBricksInPic-1 is derived as follows, specifying a transformation from brick index to number of CTUs of bricks.
for (i=0; i<NumBricksInPic; i++) (6-9)
NumCtusInBrick[i]=BrickWidth[i]*BrickHeight[i]
0からNumBricksInPic-1までの範囲のbrickIdxのリストFirstCtbAddrBs[brickIdx]は、ブリックの最初のCTBのブリックスキャンでブリックIDからCTBアドレスへの変換を指定して、次のように導出される。 A list of brickIdx ranging from 0 to NumBricksInPic-1 FirstCtbAddrBs[brickIdx] is derived as follows, specifying the brick ID to CTB address conversion at the brick scan of the brick's first CTB.
for(ctbAddrBs=0,brickIdx=0,brickStartFlag=1;ctbAddrBs<PicSizeInCtbsY;ctbAddrBs++){
if(brickStartFlag){
FirstCtbAddrBs[brickIdx]=ctbAddrBs(6-10)
brickStartFlag=0
}
brickEndFlag=(ctbAddrBs==PicSizeInCtbsY-1)||
(BrickId[ctbAddrBs+1]!=BrickId[ctbAddrBs])
if(brickEndFlag){
brickIdx++
brickStartFlag=1
}
}
画像パラメータセットRBSP構文
for (ctbAddrBs=0, brickIdx=0, brickStartFlag=1; ctbAddrBs<PicSizeInCtbsY; ctbAddrBs++) {
if (brickStartFlag) {
FirstCtbAddrBs[brickIdx]=ctbAddrBs(6-10)
brick Start Flag = 0
}
brickEndFlag=(ctbAddrBs==PicSizeInCtbsY-1)||
(BrickId[ctbAddrBs+1]!=BrickId[ctbAddrBs])
if(brickEndFlag) {
brickIdx++
brick Start Flag=1
}
}
Image parameter set RBSP syntax
pps_pic_parameter_set_idは、他の構文要素による参照用にPPSを識別する。pps_pic_parameter_set_idの値は、0から63までの範囲であるものとする。 pps_pic_parameter_set_id identifies the PPS for reference by other syntax elements. The value of pps_pic_parameter_set_id shall range from 0 to 63.
pps_seq_parameter_set_idは、アクティブなSPSのsps_seq_parameter_set_idの値を指定する。pps_seq_parameter_set_idの値は、0から15までの範囲であるものとする。 pps_seq_parameter_set_id specifies the value of sps_seq_parameter_set_id of the active SPS. The value of pps_seq_parameter_set_id shall range from 0 to 15.
output_flag_present_flagが1の場合、pic_output_flag構文要素がPPSを参照するスライスヘッダーに存在することを示す。output_flag_present_flagが0の場合、pic_output_flag構文要素がPPSを参照するスライスヘッダーに存在しないことを示す。 If output_flag_present_flag is 1, it indicates that the pic_output_flag syntax element is present in the slice header referencing the PPS. If output_flag_present_flag is 0, it indicates that the pic_output_flag syntax element is not present in the slice header referencing the PPS.
single_tile_in_pic_flagが1の場合、PPSを参照する各画像にタイルが1つしかないことを指定する。0に等しいsingle_tile_in_pic_flagは、PPSを参照する各画像に複数のタイルがあることを指定する。 A single_tile_in_pic_flag of 1 specifies that there is only one tile in each image that references the PPS. A single_tile_in_pic_flag equal to 0 specifies that there are multiple tiles in each image that references the PPS.
注-タイル内でさらにブリックが分割されない場合、タイル全体がブリックと呼ばれる。画像にさらなるブリックの分割がなくタイルが1つしか含まれていない場合、それは単一のブリックと呼ばれる。
single_tile_in_pic_flagの値は、CVS内でアクティブ化されるすべてのPPSで同じであるものとする。
Note - if no further bricks are split within the tile, the entire tile is called a brick. If the image contains only one tile with no further brick divisions, it is called a single brick.
The value of single_tile_in_pic_flag shall be the same for all PPSs activated in CVS.
uniform_tile_spacing_flagが1である場合、タイル列の境界と同様にタイル行の境界が画像全体に均一に分散され、構文要素tile_cols_width_minus1およびtile_rows_height_minus1を使用してシグナリングされることを指定する。uniform_tile_spacing_flagが0の場合、タイル列の境界と同様にタイル行の境界が画像全体に均一に分散されてもされなくてもよく、構文要素num_tile_columns_minus1とnum_tile_rows_minus1、および構文要素のペアtile_column_width_minus1[i]とtile_row_height_minus1[i]のリストを使用してシグナリングされる場合とされない場合があることを指定する。
存在しない場合、uniform_tile_spacing_flagの値は1に等しいと推測される。
If uniform_tile_spacing_flag is 1, it specifies that tile row boundaries, like tile column boundaries, are uniformly distributed across the image and are signaled using the syntax elements tile_cols_width_minus1 and tile_rows_height_minus1. If uniform_tile_spacing_flag is 0, tile row boundaries as well as tile column boundaries may or may not be uniformly distributed across the image, and syntax elements num_tile_columns_minus1 and num_tile_rows_minus1, and syntax element pair tile_column_width_minus1[i] and tile_ht_ht_ht_ht_ht Specifies that it may or may not be signaled using the list of [i].
If not present, the value of uniform_tile_spacing_flag is assumed to be equal to one.
tile_cols_width_minus1+1は、uniform_tile_spacing_flagが1に等しい場合に、画像の右端のタイル列を除くタイル列の幅をCTBのユニットで指定する。tile_cols_width_minus1の値は、0からPicWidthInCtbsY-1までの範囲であるものとする。存在しない場合、tile_cols_width_minus1の値はPicWidthInCtbsY-1に等しいと推測される。 tile_cols_width_minus1+1 specifies the width, in units of CTB, of tile columns except for the rightmost tile column of the image when uniform_tile_spacing_flag is equal to 1. The value of tile_cols_width_minus1 shall range from 0 to PicWidthInCtbsY-1. If not present, the value of tile_cols_width_minus1 is assumed to be equal to PicWidthInCtbsY-1.
tile_rows_height_minus1+1は、uniform_tile_spacing_flagが1に等しい場合に、CTBのユニットで画像の底部のタイル行を除くタイル行の高さを指定する。tile_rows_height_minus1の値は、0からPicHeightInCtbsY-1までの範囲であるものとする。存在しない場合、tile_rows_height_minus1の値はPicHeightInCtbsY-1に等しいと推測される。 tile_rows_height_minus1+1 specifies the height of the tile rows except the tile rows at the bottom of the image in units of CTB when the uniform_tile_spacing_flag is equal to 1. The value of tile_rows_height_minus1 shall range from 0 to PicHeightInCtbsY-1. If not present, the value of tile_rows_height_minus1 is assumed to be equal to PicHeightInCtbsY-1.
num_tile_columns_minus1+1は、uniform_tile_spacing_flagが0に等しい場合に、画像を分割するタイル列の数を指定する。num_tile_columns_minus1の値は、0からPicWidthInCtbsY-1までの範囲であるものとする。single_tile_in_pic_flagが1に等しい場合、num_tile_columns_minus1の値は0に等しいと推測される。それ以外の場合、uniform_tile_spacing_flagが1に等しい場合、num_tile_columns_minus1の値が推測される(例えば、CTBラスタースキャン、タイルスキャン、およびブリックスキャンプロセスに関して上記で指定されたように)。 num_tile_columns_minus1+1 specifies the number of tile columns to divide the image into if uniform_tile_spacing_flag is equal to 0. The value of num_tile_columns_minus1 shall range from 0 to PicWidthInCtbsY-1. If single_tile_in_pic_flag is equal to 1, the value of num_tile_columns_minus1 is assumed to be equal to 0. Otherwise, if uniform_tile_spacing_flag is equal to 1, the value of num_tile_columns_minus1 is inferred (eg, as specified above for CTB raster scan, tile scan, and brick scan processes).
num_tile_rows_minus1+1は、uniform_tile_spacing_flagが0に等しい場合に、画像を分割するタイル行の数を指定する。num_tile_rows_minus1の値は、0からPicHeightInCtbsY-1までの範囲であるものとする。single_tile_in_pic_flagが1に等しい場合、num_tile_rows_minus1の値は0に等しいと推測される。それ以外の場合、uniform_tile_spacing_flagが1に等しい場合、num_tile_rows_minus1の値が推測される(例えば、CTBラスタースキャン、タイルスキャン、およびブリックスキャンプロセスに関して以下に指定されているように)。 num_tile_rows_minus1+1 specifies the number of tile rows to divide the image into if uniform_tile_spacing_flag is equal to 0. The value of num_tile_rows_minus1 shall range from 0 to PicHeightInCtbsY-1. If single_tile_in_pic_flag is equal to 1, the value of num_tile_rows_minus1 is assumed to be equal to 0. Otherwise, if uniform_tile_spacing_flag is equal to 1, the value of num_tile_rows_minus1 is inferred (eg, as specified below for CTB raster scan, tile scan, and brick scan processes).
変数NumTilesInPicは、(num_tile_columns_minus1+1)*(num_tile_rows_minus1+1)に等しく設定される。
single_tile_in_pic_flagが0に等しい場合、NumTilesInPicは1より大きくなるものとする。
tile_column_width_minus1[i]+1は、CTBのユニットでi番目のタイル列の幅を指定する。
tile_row_height_minus1[i]+1は、CTBのユニットでi番目のタイル行の高さを指定する。
The variable NumTilesInPic is set equal to (num_tile_columns_minus1+1)*(num_tile_rows_minus1+1).
If single_tile_in_pic_flag is equal to 0, NumTilesInPic shall be greater than 1.
tile_column_width_minus1[i]+1 specifies the width of the i-th tile column in units of CTB.
tile_row_height_minus1[i]+1 specifies the height of the ith tile row in units of CTB.
brick_splitting_present_flagが1に等しい場合、PPSを参照する画像の1つまたは複数のタイルを2つ以上のブリックに分割できることを指定する。brick_splitting_present_flagが0の場合、PPSを参照する画像のタイルが2つ以上のブリックに分割されないことを指定する。 If brick_splitting_present_flag is equal to 1, it specifies that one or more tiles of the image referencing the PPS can be split into two or more bricks. If the brick_splitting_present_flag is 0, it specifies that the tiles of the image referencing the PPS are not split into two or more bricks.
brick_split_flag[i]が1に等しい場合、i番目のタイルが2つ以上のブリックに分割されることを指定する。brick_split_flag[i]が0に等しい場合、i番目のタイルが2つ以上のブリックに分割されていないことを指定する。存在しない場合、brick_split_flag[i]の値は、0に等しいと推測される。 If brick_split_flag[i] equals 1, it specifies that the i-th tile is split into two or more bricks. If brick_split_flag[i] is equal to 0, it specifies that the i-th tile is not split into more than one brick. If not present, the value of brick_split_flag[i] is assumed to be equal to zero.
Uniform_brick_spacing_flag[i]が1に等しい場合、水平のブリックの境界がi番目のタイル全体に均一に分散され、構文要素brick_height_minus1[i]を使用してシグナリングされることを指定する。uniform_brick_spacing_flag[i]が0の場合、水平のブリックの境界がi番目のタイル全体に均一に分散される場合またはされない場合があり、構文要素num_brick_rows_minus1[i]と構文要素brick_row_height_minus1[i][j]のリストを使用してシグナリングされる場合またはされない場合があることを指定する。存在しない場合、uniform_brick_spacing_flag[i]の値は1に等しいと推測される。 Uniform_brick_spacing_flag[i] equal to 1 specifies that horizontal brick boundaries are uniformly distributed across the i-th tile, signaled using the syntax element brick_height_minus1[i]. If uniform_brick_spacing_flag[i] is 0, the horizontal brick boundaries may or may not be evenly distributed across the i-th tile, and the Specifies that it may or may not be signaled with a list. If not present, the value of uniform_brick_spacing_flag[i] is assumed to be equal to one.
brick_height_minus1[i]+1は、uniform_brick_spacing_flag[i]が1に等しい場合に、CTBのユニットでi番目のタイルの下部のブリックを除くブリック行の高さを指定する。存在する場合、brick_height_minus1の値は0からRowHeight[i]-2までの範囲であるものとする。存在しない場合、brick_height_minus1[i]の値はRowHeight[i]-1に等しいと推測される。 brick_height_minus1[i]+1 specifies the height of the brick row, excluding the bottom brick of the ith tile in units of the CTB, when uniform_brick_spacing_flag[i] equals 1. If present, the value of brick_height_minus1 shall range from 0 to RowHeight[i]-2. If not present, the value of brick_height_minus1[i] is assumed to be equal to RowHeight[i]−1.
num_brick_rows_minus1[i]+1は、uniform_brick_spacing_flag[i]が0に等しい場合に、i番目のタイルを分割するブリックの数を指定する。存在する場合、num_brick_rows_minus1[i]の値は、1からRowHeight[i]-1までの範囲であるものとする。brick_split_flag[i]が0に等しい場合、num_brick_rows_minus1[i]の値は0に等しいと推測される。それ以外の場合、uniform_brick_spacing_flag[i]が1に等しい場合、num_brick_rows_minus1[i]の値が推測される(例えば、CTBラスタースキャン、タイルスキャン、およびブリックスキャンプロセスに関して上記で指定したように)。 num_brick_rows_minus1[i]+1 specifies the number of bricks dividing the i-th tile if uniform_brick_spacing_flag[i] equals zero. If present, the value of num_brick_rows_minus1[i] shall range from 1 to RowHeight[i]−1. If brick_split_flag[i] is equal to 0, the value of num_brick_rows_minus1[i] is assumed to be equal to 0. Otherwise, if uniform_brick_spacing_flag[i] is equal to 1, the value of num_brick_rows_minus1[i] is inferred (eg, as specified above for CTB rasterscan, tilescan, and brickscan processes).
brick_row_height_minus1[i][j]+1は、uniform_tile_spacing_flagが0に等しい場合、CTBのユニットでi番目のタイルのj番目のブリックの高さを指定する。 brick_row_height_minus1[i][j]+1 specifies the height of the jth brick of the ith tile in units of the CTB if uniform_tile_spacing_flag is equal to 0.
次の変数が導出され、uniform_tile_spacing_flagが1に等しい場合、num_tile_columns_minus1とnum_tile_rows_minus1の値が推測され、0からNumTilesInPic-1までの範囲の各iについて、uniform_brick_spacing_flag[i]が1に等しい場合、num_brick_rows_minus1[i]の値は、CTBラスターおよびブリックスキャン変換プロセスを呼び出すことによって推測される(例えば、CTBラスタースキャン、タイルスキャン、およびブリックスキャンプロセスに関して上記で指定したように)。 If the following variables are derived and uniform_tile_spacing_flag is equal to 1 then the values of num_tile_columns_minus1 and num_tile_rows_minus1 are inferred and for each i in the range 0 to NumTilesInPic-1 if uniform_brick_spacing_flask[bricks_g][bricks_i] is equal to 1 is inferred by invoking the CTB raster and brickscan conversion process (eg, as specified above for the CTB rasterscan, tilescan, and brickscan processes).
-0からnum_tile_rows_minus1までの範囲のjのリストRowHeight[j]。CTBのユニットでj番目のタイル行の高さを指定する。 A list RowHeight[j] of j ranging from -0 to num_tile_rows_minus1. Specifies the height of the jth tile row in units of CTB.
-0からPicSizeInCtbsY-1までの範囲のCtbAddrRsのリストCtbAddrRsToBs[ctbAddrRs]。画像のCTBラスタースキャンのCTBアドレスからブリックスキャンのCTBアドレスへの変換を指定する。 A list CtbAddrRsToBs[ctbAddrRs] of CtbAddrRs ranging from -0 to PicSizeInCtbsY-1. Specifies the conversion from the CTB raster scan CTB address of the image to the brick scan CTB address.
-0からPicSizeInCtbsY-1までの範囲のctbAddrBsのリストCtbAddrBsToRs[ctbAddrBs]。ブリックスキャンのCTBアドレスから画像のCTBラスタースキャンのCTBアドレスへの変換を指定する。 A list CtbAddrBsToRs[ctbAddrBs] of ctbAddrBs ranging from -0 to PicSizeInCtbsY-1. Specifies the conversion from a brick scan CTB address to a CTB raster scan CTB address of the image.
-0からPicSizeInCtbsY-1までの範囲のctbAddrBsのリストBrickId[ctbAddrBs]。ブリックスキャンのCTBアドレスからブリックIDへの変換を指定する。 A list BrickId[ctbAddrBs] of ctbAddrBs ranging from -0 to PicSizeInCtbsY-1. Specifies the conversion from Brickscan CTB address to Brick ID.
-0からNumBricksInPic-1までの範囲のbrickIdxのリストNumCtusInBrick[brickIdx]。ブリックインデックスからブリック内のCTUの数への変換を指定する。 A list NumCtusInBrick[brickIdx] of brickIdx ranging from -0 to NumBricksInPic-1. Specifies the conversion from brick index to number of CTUs in the brick.
-0からNumBricksInPic-1までの範囲のbrickIdxのリストFirstCtbAddrBs[brickIdx]。ブリック内の最初のCTBのブリックスキャンでのブリックIDからCTBアドレスへの変換を指定する。 A list of brickIdx ranging from -0 to NumBricksInPic-1 FirstCtbAddrBs[brickIdx]. Specifies the brick ID to CTB address translation on the brick scan of the first CTB in the brick.
single_brick_per_slice_flagが1の場合、このPPSを参照する各スライスに1つのブリックが含まれることを指定する。single_brick_per_slice_flagが0の場合、このPPSを参照するスライスに複数のブリックが含まれる可能性があることを指定する。存在しない場合、single_brick_per_slice_flagの値は1に等しいと推測される。 A single_brick_per_slice_flag of 1 specifies that each slice that references this PPS contains one brick. If single_brick_per_slice_flag is 0, it specifies that slices referencing this PPS may contain multiple bricks. If not present, the value of single_brick_per_slice_flag is assumed to be equal to one.
rect_slice_flagが0に等しい場合、各スライス内のブリックがラスタースキャン順序であり、スライス情報がPPSでシグナリングされないことを指定する。1に等しいrect_slice_flagは、各スライス内のブリックが画像の長方形の領域をカバーし、スライス情報がPPSでシグナリングされることを指定する。存在しない場合、rect_slice_flagは1に等しいと推測される。 If rect_slice_flag is equal to 0, it specifies that the bricks within each slice are in raster scan order and slice information is not signaled in the PPS. rect_slice_flag equal to 1 specifies that the bricks in each slice cover a rectangular area of the image and slice information is signaled in the PPS. If not present, rect_slice_flag is assumed to be equal to one.
num_slices_in_pic_minus1+1は、PPSを参照する各画像のスライス数を指定する。num_slices_in_pic_minus1の値は、0からNumBricksInPic-1までの範囲であるものとする。存在せず、single_brick_per_slice_flagが1に等しい場合、num_slices_in_pic_minus1の値はNumBricksInPic-1に等しいと推測される。 num_slices_in_pic_minus1+1 specifies the number of slices in each picture referencing the PPS. The value of num_slices_in_pic_minus1 shall range from 0 to NumBricksInPic-1. If not present and single_brick_per_slice_flag equals 1, the value of num_slices_in_pic_minus1 is assumed to be equal to NumBricksInPic-1.
top_left_brick_idx[i]は、i番目のスライスの左上の隅にあるブリックのブリックインデックスを指定する。top_left_brick_idx[i]の値は、jと等しくないいずれかのiのtop_left_brick_idx[j]の値と等しいものとする。存在しない場合、top_left_brick_idx[i]の値はiに等しいと推測される。top_left_brick_idx[i]の構文要素の長さはCeil(Log2(NumBricksInPic)ビットである。 top_left_brick_idx[i] specifies the brick index of the brick in the top left corner of the i th slice. Let the value of top_left_brick_idx[i] be equal to the value of top_left_brick_idx[j] for any i not equal to j. If not, the value of top_left_brick_idx[i] is assumed to be equal to i. The length of the syntax element of top_left_brick_idx[i] is Ceil(Log2(NumBricksInPic) bits.
bottom_right_brick_idx_delta[i]は、i番目のスライスの右下の隅にあるブリックのブリックインデックスと、top_left_brick_idx[i]の差を指定する。single_brick_per_slice_flagが1に等しい場合、bottom_right_brick_idx_delta[i]の値は0に等しいと推測される。bottom_right_brick_idx_delta[i]の構文要素の長さはCeil(Log2(NumBricksInPic-top_left_brick_idx[i]))ビットである。
スライスには、いくつかの完全なタイル、または1つのタイルの完全なブリックの連続したシーケンスのみが含まれる。
bottom_right_brick_idx_delta[i] specifies the difference between the brick index of the brick in the lower right corner of the ith slice and top_left_brick_idx[i]. If single_brick_per_slice_flag is equal to 1, the value of bottom_right_brick_idx_delta[i] is assumed to be equal to 0. The length of the syntax element of bottom_right_brick_idx_delta[i] is Ceil(Log2(NumBricksInPic-top_left_brick_idx[i])) bits.
A slice contains only a few complete tiles, or a continuous sequence of complete bricks of a tile.
i番目のスライスのブリックの数とブリックのスライスへのマッピングを指定する変数NumBricksInSlice[i]とBricksToSliceMap[j]は、次のように導出される。
NumBricksInSlice[i]=0
botRightBkIdx=top_left_brick_idx[i]+bottom_right_brick_idx_delta[i]
for(j=0;j<NumBricksInPic;j++){
if(BrickColBd[j]>=BrickColBd[top_left_brick_idx[i]]&&
BrickColBd[j]<=BrickColBd[botRightBkIdx]&&
BrickRowBd[j]>=BrickRowBd[top_left_brick_idx[i]]&&(7-35)
BrickRowBd[j]<=BrickRowBd[botRightBkIdx]){
NumBricksInSlice[i]++
BricksToSliceMap[j]=i
}
}
The variables NumBricksInSlice[i] and BricksToSliceMap[j], which specify the number of bricks in the i-th slice and the mapping of bricks to slices, are derived as follows.
NumBricksInSlice[i]=0
botRightBkIdx=top_left_brick_idx[i]+bottom_right_brick_idx_delta[i]
for (j=0; j<NumBricksInPic; j++) {
if (BrickColBd[j] >= BrickColBd[top_left_brick_idx[i]] &&
BrickColBd[j] <= BrickColBd[botRightBkIdx] &&
BrickRowBd[j] >= BrickRowBd[top_left_brick_idx[i]] && (7-35)
BrickRowBd[j]<=BrickRowBd[botRightBkIdx]) {
NumBricksInSlice[i]++
BricksToSliceMap[j]=i
}
}
loop_filter_across_bricks_enabled_flagが1の場合、PPSを参照する画像のブリックの境界を越えてループ内フィルタリング操作を実行できることを指定する。loop_filter_across_bricks_enabled_flagが0の場合、PPSを参照する画像のブリックの境界を越えてループ内フィルタリング操作が実行されないことを指定する。ループ内フィルタリング操作には、非ブロック化フィルタ、サンプル適合オフセットフィルタ、および適合ループフィルタ操作が含まれる。存在しない場合、loop_filter_across_bricks_enabled_flagの値は1に等しいと推測される。 If loop_filter_across_bricks_enabled_flag is 1, it specifies that in-loop filtering operations can be performed across the boundaries of bricks in images that reference the PPS. If loop_filter_across_bricks_enabled_flag is 0, it specifies that in-loop filtering operations are not performed across the boundaries of bricks in images that reference the PPS. In-loop filtering operations include deblocking filters, sample adaptive offset filters, and adaptive loop filtering operations. If not present, the value of loop_filter_across_bricks_enabled_flag is assumed to be equal to one.
loop_filter_across_slices_enabled_flagが1の場合、PPSを参照する画像のスライス境界を越えてループ内フィルタリング操作を実行できることを指定する。loop_filter_across_slice_enabled_flagが0の場合、PPSを参照する画像のスライスの境界を越えてループ内フィルタリング操作が実行されないことを指定する。ループ内フィルタリング操作には、非ブロック化フィルタ、サンプル適合オフセットフィルタ、および適合ループフィルタ操作が含まれる。存在しない場合、loop_filter_across_slices_enabled_flagの値は0に等しいと推測される。 If loop_filter_across_slices_enabled_flag is 1, it specifies that in-loop filtering operations can be performed across slice boundaries for images referencing the PPS. If loop_filter_across_slice_enabled_flag is 0, it specifies that in-loop filtering operations are not performed across slice boundaries for images that reference the PPS. In-loop filtering operations include deblocking filters, sample adaptive offset filters, and adaptive loop filtering operations. If not present, the value of loop_filter_across_slices_enabled_flag is assumed to be equal to zero.
signalled_slice_id_flagが1の場合、各スライスのスライスIDがシグナリングされることを指定する。signalled_slice_id_flagが0に等しい場合、スライスIDがシグナリングされないことを指定する。rect_slice_flagが0に等しい場合、signalled_slice_id_flagの値は0に等しいと推測される。 If the signaled_slice_id_flag is 1, it specifies that the slice ID of each slice is signaled. If the signaled_slice_id_flag is equal to 0, it specifies that the slice ID is not signaled. If rect_slice_flag is equal to 0, the value of signaled_slice_id_flag is assumed to be equal to 0.
signalled_slice_id_length_minus1+1は、存在する場合は構文要素slice_id[i]を表すために使用されるビット数、およびスライスヘッダー内の構文要素slice_addressを指定する。signalled_slice_id_length_minus1の値は、0から15までの範囲であるものとする。存在しない場合、signalled_slice_id_length_minus1の値はCeil(Log2(num_slices_in_pic_minus1+1))-1に等しいと推測される。 signaled_slice_id_length_minus1+1 specifies the number of bits used to represent the syntax element slice_id[i], if any, and the syntax element slice_address in the slice header. The value of signalled_slice_id_length_minus1 shall range from 0 to 15. If not present, the value of signaled_slice_id_length_minus1 is assumed to be equal to Ceil(Log2(num_slices_in_pic_minus1+1))−1.
slice_id[i]は、i番目のスライスのスライスIDを指定する。slice_id[i]の構文要素の長さはsignalled_slice_id_length_minus1+1ビットである。存在しない場合、slice_id[i]の値は、0からnum_slices_in_pic_minus1までの範囲の各iについて、iに等しいと推測される。 slice_id[i] specifies the slice ID of the i-th slice. The length of the slice_id[i] syntax element is signaled_slice_id_length_minus1+1 bits. If not present, the value of slice_id[i] is inferred to be equal to i for each i in the range 0 to num_slices_in_pic_minus1.
entropy_coding_sync_enabled_flagが1に等しい場合、PPSを参照する各画像の各ブリックのCTBの行の最初のCTBを含むCTUを復号する前に、コンテキスト変数の特定の同期プロセスが呼び出され、PPSを参照する各画像の各ブリックのCTBの行の最初のCTBを含むCTUを復号した後に、コンテキスト変数の特定のストレージプロセスが呼び出されることを指定する。entropy_coding_sync_enabled_flagが0に等しい場合、例えば、PPSを参照する各画像の各ブリックのCTBの行の最初のCTBを含むCTUを復号する前に、コンテキスト変数の特定の同期プロセスを呼び出す必要がないこと、およびコンテキスト変数の特定のストレージプロセスは、例えば、PPSを参照する各画像の各ブリックのCTBの行の最初のCTBを含むCTUを復号した後に呼び出す必要がある場合があることを指定する。
entropy_coding_sync_enabled_flagの値は、CVS内でアクティブ化されるすべてのPPSで同じであるものとする。
If entropy_coding_sync_enabled_flag is equal to 1, then before decoding the CTU containing the first CTB in the row of CTBs of each brick of each image referencing the PPS, a specific synchronization process of context variables is invoked for each image referencing the PPS. specifies that a particular storage process for context variables is invoked after decoding the CTU containing the first CTB of the row of CTBs for each brick of . if entropy_coding_sync_enabled_flag is equal to 0, then there is no need to invoke a context variable specific synchronization process before decoding, for example, a CTU containing the first CTB of a row of CTBs of each brick of each image that references the PPS; and Specifies that a particular storage process for context variables may need to be called, for example, after decoding a CTU containing the first CTB of a row of CTBs for each brick of each image that references the PPS.
The value of entropy_coding_sync_enabled_flag shall be the same for all PPSs activated in CVS.
cabac_init_present_flagが1に等しい場合、PPSを参照するスライスヘッダーにcabac_init_flagが存在することを指定する。cabac_init_present_flagが0に等しい場合、PPSを参照するスライスヘッダーにcabac_init_flagが存在しないことを指定する。 If cabac_init_present_flag is equal to 1, it specifies that cabac_init_flag is present in the slice header that references the PPS. If cabac_init_present_flag is equal to 0, it specifies that cabac_init_flag is not present in slice headers referencing PPS.
num_ref_idx_default_active_minus1[i]+1は、iが0に等しい場合、num_ref_idx_active_override_flagが0に等しいPまたはBスライスの変数NumRefIdxActive[0]の推定値を指定し、iが1に等しい場合、num_ref_idx_active_override_flagが0に等しいBスライスの場合はNumRefIdxActive[1]の推定値を指定する。num_ref_idx_default_active_minus1[i]の値は、0から14までの範囲であるものとする。 num_ref_idx_default_active_minus1[i]+1 specifies an estimate of the variable NumRefIdxActive[0] for the P or B slice when i equals 0 and num_ref_idx_active_override_flag equals 0, and when i equals 1 the B slice equals num_ref_active_override_0 specifies the estimated value of NumRefIdxActive[1]. The value of num_ref_idx_default_active_minus1[i] shall range from 0 to 14.
rpl1_idx_present_flagが0の場合、ref_pic_list_sps_flag[1]およびref_pic_list_idx[1]がスライスヘッダーに存在しないことを指定する。rpl1_idx_present_flagが1に等しい場合、ref_pic_list_sps_flag[1]およびref_pic_list_idx[1]がスライスヘッダーに存在する可能性があることを指定する。 If rpl1_idx_present_flag is 0, it specifies that ref_pic_list_sps_flag[1] and ref_pic_list_idx[1] are not present in the slice header. rpl1_idx_present_flag equal to 1 specifies that ref_pic_list_sps_flag[1] and ref_pic_list_idx[1] may be present in the slice header.
init_qp_minus26+26は、PPSを参照する各スライスのSliceQpYの初期値を指定する。SliceQpYの初期値は、slice_qp_deltaの非ゼロの値が復号されるときにスライスレイヤーで変更される。init_qp_minus26の値は、-(26+QpBdOffsetY)から+37までの範囲であるものとする。 init_qp_minus26+26 specifies the initial value of SliceQp Y for each slice that references the PPS. The initial value of SliceQp Y is modified at the slice layer when a non-zero value of slice_qp_delta is decoded. The value of init_qp_minus26 shall range from -(26+QpBdOffset Y ) to +37.
transform_skip_enabled_flagが1に等しい場合、transform_skip_flagが変換ユニットの構文に存在する可能性があることを指定する。transform_skip_enabled_flagが0に等しい場合、transform_skip_flagが変換ユニットの構文に存在しないことを指定する。 If transform_skip_enabled_flag is equal to 1, it specifies that transform_skip_flag may be present in the syntax of the transform unit. If transform_skip_enabled_flag is equal to 0, it specifies that transform_skip_flag is not present in the syntax of the transform unit.
log2_transform_skip_max_size_minus2は、変換スキップに使用される最大のブロックサイズを指定し、0から3の範囲であるものとする。
存在しない場合、log2_transform_skip_max_size_minus2の値は0に等しいと推測される。
変数MaxTsSizeは1に等しく設定される<<(log2_transform_skip_max_size_minus2+2)。
log2_transform_skip_max_size_minus2 specifies the maximum block size used for transform skip and shall range from 0 to 3.
If not present, the value of log2_transform_skip_max_size_minus2 is assumed to be equal to zero.
The variable MaxTsSize is set equal to 1 <<(log2_transform_skip_max_size_minus2+2).
cu_qp_delta_enabled_flagが1に等しい場合、cu_qp_delta_subdiv構文要素がPPSに存在し、cu_qp_delta_absが変換ユニット構文に存在する可能性があることを指定する。cu_qp_delta_enabled_flagが0に等しい場合、cu_qp_delta_subdivの構文要素がPPSに存在せず、cu_qp_delta_absが変換ユニット構文に存在しないことを指定する。 If cu_qp_delta_enabled_flag is equal to 1, it specifies that the cu_qp_delta_subdiv syntax element is present in the PPS and cu_qp_delta_abs may be present in the transform unit syntax. If cu_qp_delta_enabled_flag is equal to 0, it specifies that the cu_qp_delta_subdiv syntax element is not present in the PPS and cu_qp_delta_abs is not present in the transform unit syntax.
cu_qp_delta_subdivは、cu_qp_delta_absとcu_qp_delta_sign_flagを伝達するコーディングユニットの最大のcbSubdiv値を指定する。cu_qp_delta_subdivの値の範囲は、次のように指定される。 cu_qp_delta_subdiv specifies the maximum cbSubdiv value of coding units that carry cu_qp_delta_abs and cu_qp_delta_sign_flag. The range of values for cu_qp_delta_subdiv is specified as follows.
-slice_typeがIに等しい場合、cu_qp_delta_subdivの値は0から2*(log2_ctu_size_minus2-log2_min_qt_size_intra_slice_minus2+MaxMttDepthY)の範囲内であるものとする。 - If slice_type is equal to I, then the value of cu_qp_delta_subdiv shall be in the range 0 to 2*(log2_ctu_size_minus2−log2_min_qt_size_intra_slice_minus2+MaxMttDepthY).
-さもなければ(slice_typeがIに等しくない場合、cu_qp_delta_subdivの値は0から2*(log2_ctu_size_minus2-log2_min_qt_size_inter_slice_minus2+MaxMttDepthY)の範囲内であるものとする。
存在しない場合、cu_qp_delta_subdivの値は0に等しいと推測される。
- Else (if slice_type is not equal to I, the value of cu_qp_delta_subdiv shall be in the range 0 to 2*(log2_ctu_size_minus2−log2_min_qt_size_inter_slice_minus2+MaxMttDepthY).
If not present, the value of cu_qp_delta_subdiv is assumed to be equal to zero.
[編集(BB):ここでの問題は、MaxMttDepthYがスライスレベルで導出されることである。partition_constraints_override_enabled_flagが1に等しい場合、MaxMttDepthYの値を知るために、スライスヘッダーを解析する必要がある。] [Edit (BB): The problem here is that MaxMttDepthY is derived at the slice level. If the partition_constraints_override_enabled_flag is equal to 1, then the slice header needs to be parsed to know the value of MaxMttDepthY. ]
pps_cb_qp_offsetおよびpps_cr_qp_offsetは、それぞれQp’CbおよびQp’Crの導出に使用される輝度量子化パラメータQp’Yへのオフセットを指定する。pps_cb_qp_offsetおよびpps_cr_qp_offsetの値は、-12から+12までの範囲であるものとする。ChromaArrayTypeが0に等しい場合、pps_cb_qp_offsetとpps_cr_qp_offsetは復号プロセスで使用されず、デコーダはそれらの値を無視する。 pps_cb_qp_offset and pps_cr_qp_offset specify the offset to the luminance quantization parameter Qp'Y used to derive Qp'Cb and Qp'Cr , respectively. The values of pps_cb_qp_offset and pps_cr_qp_offset shall range from -12 to +12. If ChromaArrayType is equal to 0, pps_cb_qp_offset and pps_cr_qp_offset are not used in the decoding process and the decoder ignores their values.
pps_slice_chroma_qp_offsets_present_flagが1の場合、slice_cb_qp_offsetおよびslice_cr_qp_offsetの構文要素が関連するスライスヘッダーに存在することを示す。pps_slice_chroma_qp_offsets_present_flagが0の場合、これらの構文要素が、関連するスライスヘッダーに存在しないことを示す。ChromaArrayTypeが0に等しい場合、pps_slice_chroma_qp_offsets_present_flagは0に等しくなるものとする。 If pps_slice_chroma_qp_offsets_present_flag is 1, it indicates that the slice_cb_qp_offset and slice_cr_qp_offset syntax elements are present in the associated slice header. If pps_slice_chroma_qp_offsets_present_flag is 0, it indicates that these syntax elements are not present in the associated slice header. If ChromaArrayType is equal to 0, pps_slice_chroma_qp_offsets_present_flag shall be equal to 0.
weighted_pred_flagが0に等しい場合、重み付き予測がPスライスに適用されないことを指定する。weighted_pred_flagが1に等しい場合、重み付き予測がPスライスに適用されることを指定する。 If weighted_pred_flag is equal to 0, it specifies that weighted prediction is not applied to P slices. If weighted_pred_flag is equal to 1, it specifies that weighted prediction is applied to P slices.
weighted_bipred_flagが0に等しい場合、デフォルトの重み付け予測がBスライスに適用されることを指定する。weighted_bipred_flagが1に等しい場合、重み付き予測がBスライスに適用されることを指定する。 If weighted_bipred_flag is equal to 0, it specifies that default weighted prediction is applied to B slices. If weighted_bipred_flag is equal to 1, it specifies that weighted prediction is applied to B slices.
deblocking_filter_control_present_flagが1に等しい場合、PPSの非ブロック化フィルタ制御の構文要素の存在を指定する。deblocking_filter_control_present_flagが0に等しい場合、PPSに非ブロック化フィルタ制御の構文要素がないことを指定する。 If blocking_filter_control_present_flag is equal to 1, it specifies the presence of the PPS deblocking filter control syntax element. If blocking_filter_control_present_flag is equal to 0, it specifies that there is no deblocking filter control syntax element in the PPS.
deblocking_filter_override_enabled_flagが1に等しい場合、PPSを参照する画像のスライスヘッダーにdeblocking_filter_override_flagが存在することを指定する。deblocking_filter_override_enabled_flagが0に等しい場合、PPSを参照する画像のスライスヘッダーにdeblocking_filter_override_flagがないことを指定する。存在しない場合、deblocking_filter_override_enabled_flagの値は0に等しいと推測される。 If blocking_filter_override_enabled_flag is equal to 1, it specifies that blocking_filter_override_flag is present in the slice header of the image that references the PPS. If blocking_filter_override_enabled_flag is equal to 0, it specifies that there is no blocking_filter_override_flag in the slice header of the image that references the PPS. If not present, the value of blocking_filter_override_enabled_flag is assumed to be equal to zero.
pps_deblocking_filter_disabled_flagが1の場合、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスには、非ブロック化フィルタの操作が適用されないことを指定する。pps_deblocking_filter_disabled_flagが0の場合、slice_deblocking_filter_disabled_flagが存在しないPPSを参照するスライスに非ブロック化フィルタの操作が適用されることを指定する。存在しない場合、pps_deblocking_filter_disabled_flagの値は0に等しいと推測される。 If pps_deblocking_filter_disabled_flag is 1, it specifies that the deblocking filter operation is not applied to slices that refer to PPSs for which the slice_deblocking_filter_disabled_flag is not present. If pps_deblocking_filter_disabled_flag is 0, it specifies that the deblocking filter operation is applied to slices that refer to PPSs for which the slice_deblocking_filter_disabled_flag is not present. If not present, the value of pps_deblocking_filter_disabled_flag is assumed to be equal to zero.
pps_beta_offset_div2およびpps_tc_offset_div2は、デフォルトの非ブロック化パラメーターオフセットが、PPSを参照するスライスのスライスヘッダーに存在する非ブロック化パラメーターオフセットによってオーバーライドされない場合、PPSを参照するスライスに適用されるβおよびtCのデフォルトの非ブロック化パラメーターオフセット(2で除算)を指定する。pps_beta_offset_div2とpps_tc_offset_div2の値は、両方とも-6から6の範囲であるものとする。存在しない場合、pps_beta_offset_div2とpps_tc_offset_div2の値は0に等しいと推測される。 pps_beta_offset_div2 and pps_tc_offset_div2 are the default deblocking parameter offsets for β and tC to be applied to slices referencing the PPS, unless the default deblocking parameter offsets are overridden by deblocking parameter offsets present in the slice header of the slice referencing the PPS. Specifies the deblocking parameter offset (divide by 2). The values of pps_beta_offset_div2 and pps_tc_offset_div2 shall both be in the range of -6 to 6. If not present, the values of pps_beta_offset_div2 and pps_tc_offset_div2 are assumed to be equal to zero.
pps_loop_filter_across_virtual_boundaries_disabled_flagが1の場合、PPSを参照する画像の仮想境界を越えてループ内フィルタリング操作が無効になることを指定する。pps_loop_filter_across_virtual_boundaries_disabled_flagが0に等しい場合、PPSを参照する画像にループ内フィルタリング操作のそのような無効化が適用されないことを指定する。ループ内フィルタリング操作には、非ブロック化フィルタ、サンプル適合オフセットフィルタ、および適合ループフィルタ操作が含まれる。存在しない場合、pps_loop_filter_across_virtual_boundaries_disabled_flagの値は0に等しいと推測される。 If pps_loop_filter_across_virtual_boundaries_disabled_flag is 1, it specifies that in-loop filtering operations are disabled across the virtual boundaries of the image referencing the PPS. If pps_loop_filter_across_virtual_boundaries_disabled_flag is equal to 0, it specifies that no such disabling of in-loop filtering operations is applied to images referencing the PPS. In-loop filtering operations include deblocking filters, sample adaptive offset filters, and adaptive loop filtering operations. If not present, the value of pps_loop_filter_across_virtual_boundaries_disabled_flag is assumed to be equal to zero.
pps_num_ver_virtual_boundariesは、PPSに存在するpps_virtual_boundaries_pos_x[i]の構文要素の数を指定する。pps_num_ver_virtual_boundariesが存在しない場合、0に等しいと推測される。 pps_num_ver_virtual_boundaries specifies the number of syntax elements of pps_virtual_boundaries_pos_x[i] that exist in the PPS. If pps_num_ver_virtual_boundaries does not exist, it is assumed to be equal to 0.
pps_virtual_boundaries_pos_x[i]は、PpsVirtualBoundariesPosX[i]の値を計算するために使用される。これは、輝度サンプルのユニットでi番目の垂直仮想境界の位置を指定する。pps_virtual_boundaries_pos_x[i]を表すために使用されるビット数は、Ceil(Log2(pic_width_in_luma_samples)-3)である。pps_virtual_boundaries_pos_x[i]は、1からCeil(pic_width_in_luma_samples÷8)-1までの範囲であるものとする。
垂直仮想境界PpsVirtualBoundariesPosX[i]の位置は、次のように導出される。
PpsVirtualBoundariesPosX[i]=pps_virtual_boundaries_pos_x[i]*8(7-36)
任意の2つの垂直仮想境界間の距離は、CtbSizeY輝度サンプル以上であるものとする。
pps_virtual_boundaries_pos_x[i] is used to calculate the value of PpsVirtualBoundariesPosX[i]. This specifies the location of the i-th vertical virtual boundary in units of luma samples. The number of bits used to represent pps_virtual_boundaries_pos_x[i] is Ceil(Log2(pic_width_in_luma_samples)-3). Let pps_virtual_boundaries_pos_x[i] range from 1 to Ceil(pic_width_in_luma_samples÷8)−1.
The position of the vertical virtual boundary PpsVirtualBoundariesPosX[i] is derived as follows.
PpsVirtualBoundariesPosX[i]=pps_virtual_boundaries_pos_x[i]*8(7-36)
The distance between any two vertical virtual boundaries shall be greater than or equal to CtbSizeY luma samples.
pps_num_hor_virtual_boundariesは、PPSに存在するpps_virtual_boundaries_pos_y[i]の構文要素の数を指定する。pps_num_hor_virtual_boundariesが存在しない場合、0に等しいと推測される。 pps_num_hor_virtual_boundaries specifies the number of syntax elements of pps_virtual_boundaries_pos_y[i] that exist in the PPS. If pps_num_hor_virtual_boundaries does not exist, it is assumed to be equal to 0.
pps_virtual_boundaries_pos_y[i]は、PpsVirtualBoundariesPosY[i]の値を計算するために使用される。これは、輝度サンプルのユニットでi番目の水平仮想境界の位置を指定する。pps_virtual_boundaries_pos_y[i]を表すために使用されるビット数はCeil(Log2(pic_height_in_luma_samples)-3)である。pps_virtual_boundaries_pos_y[i]は、1からCeil(pic_height_in_luma_samples÷8)-1までの範囲であるものとする。
水平仮想境界PpsVirtualBoundariesPosY[i]の位置は、次のように導出される。
PpsVirtualBoundariesPosY[i]=pps_virtual_boundaries_pos_y[i]*8(7-37)
任意の2つの水平仮想境界間の距離は、CtbSizeY輝度サンプル以上であるものとする。
pps_virtual_boundaries_pos_y[i] is used to calculate the value of PpsVirtualBoundariesPosY[i]. It specifies the location of the ith horizontal virtual boundary in units of luma samples. The number of bits used to represent pps_virtual_boundaries_pos_y[i] is Ceil(Log2(pic_height_in_luma_samples)-3). Let pps_virtual_boundaries_pos_y[i] range from 1 to Ceil(pic_height_in_luma_samples÷8)−1.
The position of the horizontal virtual boundary PpsVirtualBoundariesPosY[i] is derived as follows.
PpsVirtualBoundariesPosY[i]=pps_virtual_boundaries_pos_y[i]*8(7-37)
The distance between any two horizontal virtual boundaries shall be greater than or equal to CtbSizeY luma samples.
pps_extension_flagが0の場合、PPS RBSPの構文構造にpps_extension_data_flag構文要素が存在しないことを指定する。pps_extension_flagが1に等しい場合、PPS RBSPの構文構造にpps_extension_data_flagの構文要素が存在することを指定する。 If pps_extension_flag is 0, it specifies that no pps_extension_data_flag syntax element is present in the syntax structure of the PPS RBSP. If pps_extension_flag is equal to 1, it specifies that the pps_extension_data_flag syntax element is present in the syntax structure of the PPS RBSP.
pps_extension_data_flagには任意の値を指定できる。その存在と値は、この仕様のこのバージョンで指定されているプロファイルへのデコーダの適合性には影響しない。この仕様のこのバージョンに準拠するデコーダは、すべてのpps_extension_data_flag構文要素を無視するものとする。
以下のサブ副次的サブセクション「実施形態C」では、低レベル構文でのシグナリングについて説明する。
すでに述べたように、CAのレイアウトを示す別のオプションは、より柔軟な方法でVCL内構文を使用することである。
Any value can be specified for pps_extension_data_flag. Its presence and value do not affect a decoder's conformance to the profiles specified in this version of this specification. Decoders conforming to this version of this specification shall ignore all pps_extension_data_flag syntax elements.
Sub-sub-subsection "Embodiment C" below describes signaling in the low-level syntax.
As already mentioned, another option for laying out the CA is to use the in-VCL syntax in a more flexible way.
コーディング領域のレイアウトは、2つの新しい構文要素area_line_stop_flagとarea_column_stop_flagの評価によって決定されるが、一方でend_of_slice_flagは使用されない場合がある。 The layout of the coding region is determined by evaluation of two new syntax elements area_line_stop_flag and area_column_stop_flag, while end_of_slice_flag may not be used.
area_line_stop_flagは、CTUコーディングプロセスの最後にビットストリームに存在する。対角スキャン順序の次のCTUが、CTUラインに位置し、それに対して前のarea_line_stop_flagが現在のスライスのビットストリームで送信されておらず、それが少なくとも部分的に画像内にある場合がある。area_line_stop_flagが偽の場合、現在のスライス長方形は、現在使用されているCTU列の数で新しいCTU行によって拡張される。area_line_stop_flagが真の場合、スライスの高さは、現在のスライスで現在使用されているCTU行の数に固定される。 The area_line_stop_flag is present in the bitstream at the end of the CTU coding process. The next CTU in diagonal scan order may be located in a CTU line for which the previous area_line_stop_flag has not been sent in the current slice's bitstream and which is at least partially within the image. If area_line_stop_flag is false, the current slice rectangle is extended with a new CTU row with the number of CTU columns currently in use. If area_line_stop_flag is true, the slice height is fixed to the number of CTU rows currently used in the current slice.
同様に、area_column_stop_flagは、CTUコーディングプロセスの最後にビットストリームに存在する。対角スキャン順序の次のCTUが新しいCTU列にあり、それに対して前のarea_column_stop_flagが現在のスライスのビットストリームで送信されておらず、それが少なくとも部分的に画像内にある場合である。area_column_stop_flagが偽の場合、スライス長方形は、現在使用されているCTU行の数を含む新しいCTU列によって拡張される。area_column_stop_flagが真の場合、スライス幅は現在のスライスで現在使用されているCTU列の数に固定される。
図11は、実施形態によるサブエリア(CTU)レベルでのコーディング領域のシグナリングを示している。
Similarly, the area_column_stop_flag is present in the bitstream at the end of the CTU coding process. The case where the next CTU in diagonal scan order is in a new CTU column, for which the previous area_column_stop_flag has not been sent in the bitstream of the current slice and which is at least partially within the image. If area_column_stop_flag is false, the slice rectangle is extended with a new CTU column containing the number of CTU rows currently in use. If area_column_stop_flag is true, the slice width is fixed to the number of CTU columns currently used in the current slice.
FIG. 11 illustrates coding region signaling at the sub-area (CTU) level according to an embodiment.
スライスの長方形が決定されると、スライス長方形でカバーされるすべてのCTUが処理されるまで、CTUは特定のスキャン順序で処理される。画像境界で明示的なarea_line_stop_flagとarea_column_stop_flagがそれぞれ欠落しているため、画像境界に隣接するスパンコーディング領域はこれらを超えないように制限されている。これは図11で確認できる。それにおいて、area_line_stop_flag=1およびarea_column_stop_flag=1が画像の境界の近くに存在しない。 Once the slice rectangle is determined, the CTUs are processed in a particular scan order until all CTUs covered by the slice rectangle have been processed. Due to the lack of explicit area_line_stop_flag and area_column_stop_flag at image boundaries, respectively, span-coding regions adjacent to image boundaries are constrained not to exceed them. This can be confirmed in FIG. In that, area_line_stop_flag=1 and area_column_stop_flag=1 are not near the border of the image.
CAのサイズと位置、および画像境界に関する以前の知識を使用して、area_line_stop_flag=1とarea_column_stop_flag=1を暗示的に導出することで、シグナリングオーバーヘッドを省けるが、何らかのビットストリーム操作、例えば、「コーディング領域ビットストリーム抽出」や「コーディング領域ビットストリーム集約」を防ぐか、または、これらの場合、少なくともエントロピー符号化データの追加の処理のオーバーヘッドを発生させる。現在、HEVCの場合、エントロピーコード化データをさらに処理することなく、両方のプロセスに対して可能にするモーション制約付きタイルセット(MCTS)が定義されている。ただし、そのようなプロセスによってMCTS(それぞれのCA)境界が画像境界になるか、画像境界がMCTS境界(それぞれのCA)になり、画像境界にはならない。したがって、暗示的導出area_line_stop_flag=1およびarea_column_stop_flag=1は、それが画像の境界であるかどうか、および他のCAがすでに記述されているかどうかに関係なく、常に両方の構文要素の存在を要求することにより、このような機能を有効にすることを許可すべきではない。これは、例えば「implicit_area_line_or_column_enabled_flag」と呼ばれるパラメータセットに構文要素が存在することによってか、MCTSまたは「モーション制約コーディング領域」の存在に依存させることによって、実行できる。 Implicitly deriving area_line_stop_flag=1 and area_column_stop_flag=1 using prior knowledge of the size and position of the CA and image boundaries saves signaling overhead, but requires some bitstream manipulation, e.g. prevent "bitstream extraction" and "coding domain bitstream aggregation", or in these cases at least incur additional processing overhead for entropy-encoded data. Currently, for HEVC, a Motion Constrained Tileset (MCTS) is defined that allows for both processes without further processing of the entropy coded data. However, such a process either causes the MCTS (each CA) boundary to become the image boundary, or the image boundary becomes the MCTS boundary (each CA) and not the image boundary. Therefore, the implicit derivations area_line_stop_flag=1 and area_column_stop_flag=1 always require the presence of both syntax elements, regardless of whether it is an image boundary and whether another CA has already been described. should not allow such features to be enabled. This can be done, for example, by the presence of a syntax element in the parameter set called "implicit_area_line_or_column_enabled_flag" or by making it dependent on the existence of MCTS or "motion constrained coding regions".
上記を要約すると、実施形態によれば、データエンコーダ110は、例えば、複数のコーディング領域の情報が、1つまたは複数のコーディング領域のコーディング領域に対する1つまたは複数の領域列停止フラグを含むように、指示データを生成するように構成され得、1つまたは複数のコーディング領域のコーディング領域の領域列停止フラグが停止値に設定されている場合、前記領域列停止フラグは、例えば、前記コーディング領域の幅を示し得る。または、データエンコーダ110は、例えば、複数のコーディング領域の情報が、1つまたは複数のコーディング領域のコーディング領域に対する1つまたは複数の領域ライン停止フラグを含むように、指示データを生成するように構成され得、1つまたは複数のコーディング領域のコーディング領域の領域ライン停止フラグが停止値に設定され、前記領域ライン停止フラグは、例えば、前記コーディング領域の高さを示し得る。
To summarize the above, according to an embodiment, the
実施形態によれば、データエンコーダ110は、例えば、指示データが明示的シグナリングモードがアクティブであるかどうか、または明示的シグナリングモードが非アクティブであるかどうかを示すように、指示データを生成するように構成され得る。明示的シグナリングモードがアクティブであり、コーディング領域の1つまたは複数のコーディングツリーユニットのコーディングツリーユニットが画像の画像境界に位置する場合、データエンコーダ110は、例えば、指示データが、前記コーディングツリーユニットの領域列停止フラグおよび領域ライン停止フラグのうちの少なくとも1つを含むように、指示データを生成するように構成され得る。明示的シグナリングモードが非アクティブであり、コーディング領域の1つまたは複数のコーディングツリーユニットの前記コーディングツリーユニットが画像の前記画像境界に位置する場合、データエンコーダ110は、例えば、指示データが前記コーディングツリーユニットの領域列停止フラグを含まない、および/または前記コーディングツリーユニットの領域ライン停止フラグを含まないように指示データを生成するように構成され得る。
According to an embodiment, the
同様に、実施形態では、データデコーダ170は、例えば、複数のコーディング領域に関する情報を使用して符号化された画像データを復号するように構成され得、前記情報は、1つまたは複数のコーディング領域のコーディング領域の1つまたは複数の領域列停止フラグを含み、1つまたは複数のコーディング領域のコーディング領域の領域列停止フラグが停止値に設定されている場合、前記領域列停止フラグは、例えば、前記コーディング領域の幅を示し得る。または、データデコーダ170は、例えば、複数のコーディング領域の情報を使用して符号化された画像データを復号するように構成され得、前記情報は、1つまたは複数のコーディング領域のコーディング領域に対する1つまたは複数の領域ライン停止フラグであり、1つまたは複数のコーディング領域のコーディング領域の領域ライン停止フラグが停止値に設定されている場合、前記領域ライン停止フラグは、例えば、前記コーディング領域の高さを示し得る。 Similarly, in an embodiment, data decoder 170 may be configured to decode encoded image data using, for example, information about multiple coding regions, wherein the information is one or more coding regions. and one or more region string stop flags of the coding regions of the one or more coding regions are set to a stop value, the region string stop flag is, for example, It may indicate the width of the coding region. Alternatively, data decoder 170 may be configured, for example, to decode encoded image data using information of multiple coding regions, wherein the information is one for one coding region of one or more coding regions. one or more region line stop flags, and if the coding region region line stop flags of one or more coding regions are set to a stop value, then the region line stop flags are, for example, the high can show that
実施形態によれば、データデコーダ170は、例えば、明示的シグナリングモードがアクティブであるかどうか、または明示的シグナリングモードが非アクティブであるかどうかを示す指示データ内の指示を使用して、符号化された画像データを復号するように構成され得る。明示的シグナリングモードが非アクティブであり、コーディング領域の1つまたは複数のコーディングツリーユニットのコーディングツリーユニットが画像の前記画像境界に位置する場合、データデコーダ170は、例えば、画像境界画像に依存して、符号化された画像データを復号するように構成され得る。
次の副次的サブセクション「CTUスキャン順序」では、CTUスキャン順序について説明する。
次のサブ副次的サブセクション「ラスタースキャン」では、ラスタースキャンについて説明する。
According to an embodiment, data decoder 170 uses, for example, an indication in the indication data indicating whether the explicit signaling mode is active or whether the explicit signaling mode is inactive to encode may be configured to decode the processed image data. If the explicit signaling mode is inactive and the coding tree units of one or more coding tree units of the coding region are located at said picture boundary of a picture, data decoder 170 may for example rely on the picture boundary picture to , may be configured to decode the encoded image data.
The next sub-subsection, "CTU Scan Order," describes the CTU scan order.
The next sub-subsub-section, "Raster Scanning," describes raster scanning.
画像が複数のCAに分割されている場合、従来のラスタースキャン方式をCTU処理スキームに適用できる。この方法を使用し、コーディング領域を介して画像全体の分割スキームを認識している場合、画像全体のCTUをライン単位で処理することができる。この種の処理は、HEVCのタイルですでに可能であった。したがって、この場合、CTU処理スキームの柔軟性が維持される。 If the image is divided into multiple CAs, conventional raster scanning schemes can be applied to the CTU processing scheme. Using this method and knowing the partitioning scheme of the entire image via the coding regions, the CTUs of the entire image can be processed line by line. This kind of processing was already possible with HEVC tiles. Therefore, in this case the flexibility of the CTU processing scheme is preserved.
したがって、実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域のコーディング順序は、例えば、ラスタースキャンに依存し得、データエンコーダ110は、例えば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域を符号化するためにラスタースキャンが使用されたことを指示データが示すように、指示データを生成するように構成され得る。
Thus, according to an embodiment, the coding order of each coding region of one or more coding regions comprising two or more coding tree units may depend, for example, on raster scanning, and
同様に、実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域のコーディング順序は、ラスタースキャンに依存でき、データデコーダ170は、ラスタースキャンに依存して符号化された画像データを復号するように構成でき、データデコーダ170は、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域を符号化するためにラスタースキャンが使用されたことを示す情報を受信するように構成でき、指示データは、例えば、前記情報を含み得る。
次のサブ副次的サブセクション「対角スキャン」では、対角スキャンについて説明する。
Similarly, according to an embodiment, the coding order of each coding region of the one or more coding regions comprising two or more coding tree units may depend on raster scanning, and data decoder 170 may depend on raster scanning. Configurable to decode image data that has been encoded dependently, data decoder 170 is configured to encode each coding region of one or more coding regions comprising two or more coding tree units. It may be configured to receive information indicating that raster scanning was used, and the indication data may include, for example, said information.
The next sub-sub-subsection, "Diagonal Scanning," describes diagonal scanning.
ただし、従来のラスタースキャンの順序では、空間参照の可用性に制限がある。これを改善するために、実施形態では、対角スキャンが追加のCTU処理スキームとして使用される。 However, conventional raster scan ordering limits the availability of spatial references. To remedy this, in embodiments diagonal scanning is used as an additional CTU processing scheme.
対角スキャンを導出するために、[2]から、上位CTUラインへの依存関係の一般化された処理を使用する:CTU_dependency_offset_id([2])。 To derive the diagonal scan, from [2] we use a generalized treatment of dependencies on upper CTU lines: CTU_dependency_offset_id([2]).
CTUXref,Yrefに対応するブロックは参照に利用でき、そのときCTUXref,Yrefが現在のCTUXcur,Ycurの予測に利用でき、そのとき参照が制限されておらず、例えば、別のスライス、タイル、または画像の外側にあり、次の条件が当てはまる。
-WPPの場合:
- For WPP:
上記の上位ネイバーブロックオフセット制限を使用して、CTU処理順序を導出できる。結果として得られる様々なCTUスキャンは、特定の傾斜または角度を持つ対角スキャンの変形であり、傾斜は固定した値により与えられるか、ビットストリームで送信される構文要素によって制御されるか、またはビットストリームにすでに存在している構文要素から派生させる。
図12は、実施形態による、CTU_dependency_offset_id=1のCTUスキャン順序および空間参照を示している。
図13は、別の実施形態による、CTU_dependency_offset_id=2の別のCTUスキャン順序および空間参照を示している。
Using the upper neighbor block offset constraint above, the CTU processing order can be derived. The various resulting CTU scans are variations of the diagonal scan with specific tilts or angles, the tilts being given by fixed values, controlled by syntax elements sent in the bitstream, or Derived from syntax elements already present in the bitstream.
FIG. 12 shows the CTU scan order and spatial reference for CTU_dependency_offset_id=1, according to an embodiment.
FIG. 13 shows another CTU scan order and spatial reference for CTU_dependency_offset_id=2, according to another embodiment.
以下の図12および図13に示すように、様々なタイプのCTUスキャンを生成できる。デフォルトのスキャン方向は、左から右の対角線下向きに進むものであり、次のアルゴリズム(Matlab(登録商標))によって生成できる。
Slope=CTU_dependency_offset_id-1;
Various types of CTU scans can be generated, as shown in FIGS. 12 and 13 below. The default scan direction is diagonally downward from left to right and can be generated by the following algorithm (Matlab®).
Slope=CTU_dependency_offset_id-1;
A=repmat(1:NumCTUColumns,NumCTURows,1)+repmat((0:NumCTUColumns:(NumCTUColumns*(NumCTURows-1)))’,1,NumCTUColumns)
scan=zeros(1,numel(A));%raster scan idxes
scanXY=zeros(2,numel(A));
idx=1;
x=1;y=1;
while not(all(size(A)==[y x]))
if y<=NumCTURows&&x<=NumCTUColumns
%scan it
scan(idx)=A(y,x);
scanXY(:,idx)=[x,y]’;
idx=idx+1;
else
%ignore it
end
if x>Slope
if y<NumCTURows
x=x-Slope;
y=y+1;
else
x=x+(NumCTURows-1)*Slope+1;
y=1;
end
else
if y==1
x=x+1;
else
if x<=Slope||y==NumCTURows
x=x+(y-1)*Slope+1;
y=1;
end
end
end
end
%scan it
scan(idx)=A(y,x);
scanXY(:,idx)=[x,y]’;
idx=idx+1;
以下に、いくつかのCTU_dependency_offset_id値の例示的なスキャンと空間参照の可用性を示す。
上記を要約すると:
A = repmat (1: NumCTUColumns, NumCTURows, 1) + repmat ((0: NumCTUColumns: (NumCTUColumns * (NumCTURows-1)))', 1, NumCTUColumns)
scan=zeros(1, numel(A)); % raster scan idxes
scanXY=zeros(2,numel(A));
idx=1;
x=1; y=1;
while not(all(size(A)==[y x]))
if y<=NumCTURows &&x<=NumCTUColumns
% scan it
scan(idx)=A(y,x);
scanXY(:, idx) = [x, y]';
idx=idx+1;
else
% ignore it
end
if x > Slope
if y<NumCTU Rows
x = x-Slope;
y=y+1;
else
x = x + (NumCTU Rows - 1) * Slope + 1;
y=1;
end
else
if y==1
x=x+1;
else
if x<=Slope||y==NumCTURows
x=x+(y−1)*Slope+1;
y=1;
end
end
end
end
% scan it
scan(idx)=A(y,x);
scanXY(:, idx) = [x, y]';
idx=idx+1;
Below are exemplary scan and spatial reference availability for some CTU_dependency_offset_id values.
To summarize the above:
実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング領域のコーディング順序は、例えば、角度を示す傾斜に依存するスキャン順序に依存し得る。前記コーディング領域の2つまたはそれより多いコーディングツリーユニットのうちの第1の1つを符号化した後、データエンコーダ110は、例えば、前記コーディング領域のコーディングツリーユニットの第1の1つの位置に依存し、符号化されていない前記コーディング領域の他のコーディングツリーユニットに依存し、また傾斜に依存して、コーディング領域内の2つまたはそれより多いコーディングツリーユニットのうちの第2の1つを決定するように構成され得る。データエンコーダ110は、例えば、2つまたはそれより多いコーディングツリーユニットのうちの前記第2の1つを符号化するように構成され得る。
According to embodiments, the coding order of the coding regions of one or more coding regions comprising two or more coding tree units may depend on a scan order dependent on, for example, a slope indicating an angle. After encoding the first one of the two or more coding tree units of the coding region,
実施形態では、データエンコーダ110は、例えば、コーディング領域内の2つまたはそれより多いコーディングツリーユニットのうちの第2の1つを決定するように構成され、矢印は、開始点および傾斜によって定義され、開始点は、コーディング領域内のコーディングツリーユニットの第1の1つの位置であり得て、2つまたはそれより多いコーディングツリーユニットの第2の1つの位置を指す。
In an embodiment,
実施形態によれば、データエンコーダ110は、例えば、対角スキャンが2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域を符号化するために使用されたことを指示データが示すように、指示データを生成するように構成され得る。
According to an embodiment,
同様に、実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング領域のコーディング順序は、例えば、角度を示す傾斜に依存するスキャン順序に依存し得る。指示データは、例えば、コーディング領域の前記情報を含むことができ、それにおいて、コーディング領域の2つまたはそれより多いコーディングツリーユニットのうちの第1の1つを符号化した後、データデコーダ170は、例えば、前記コーディング領域のコーディングツリーユニットの第1の1つの位置に依存し、復号されていない前記コーディング領域の他のコーディングツリーユニットに依存し、また傾斜に依存して、コーディング領域内の2つまたはそれより多いコーディングツリーユニットのうちの第2の1つを決定するように構成され得る。データデコーダ170は、例えば、2つまたはそれより多いコーディングツリーユニットのうちの前記第2の1つを復号するように構成され得る。 Similarly, according to embodiments, the coding order of the coding regions of one or more coding regions comprising two or more coding tree units may depend on a scan order dependent on, for example, a tilt indicating an angle. . The instruction data may, for example, include said information of a coding region, in which after encoding a first one of the two or more coding tree units of the coding region, data decoder 170 , for example, depending on the position of the first one of the coding tree units of said coding region, depending on other coding tree units of said coding region that have not been decoded, and depending on the slope, two It may be configured to determine a second one of the one or more coding tree units. Data decoder 170 may, for example, be configured to decode said second one of two or more coding tree units.
実施形態によれば、データデコーダ170は、例えば、開始点および傾斜によって定義される矢印のように、コーディング領域内の2つまたはそれより多いコーディングツリーユニットのうちの第2の1つを決定するように構成され得る。開始点は、例えば、コーディング領域内のコーディングツリーユニットの第1の1つの位置であり得、2つまたはそれより多いコーディングツリーユニットの第2の1つの位置を指す。 According to an embodiment, data decoder 170 determines the second one of the two or more coding tree units within the coding region, eg, the arrow defined by the starting point and the slope. can be configured as A starting point can be, for example, a first one position of a coding tree unit within a coding region and refers to a second one position of two or more coding tree units.
実施形態では、データデコーダ170は、例えば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域を符号化するために対角スキャンが使用されたことを示す情報指示データを受信するように構成され得て、指示データは、例えば、前記情報を含み得る。
次のサブ副次的サブセクション「Z-スキャン」では、Z-スキャンについて説明する。
図14は、実施形態による、Z-スキャンCTU順序でのコーディング領域を示している。
In an embodiment, data decoder 170 may, for example, provide information indicating that diagonal scanning was used to encode each coding region of one or more coding regions comprising two or more coding tree units. It may be configured to receive instructional data, which may include, for example, said information.
The next sub-sub-subsection, "Z-scan," describes Z-scan.
FIG. 14 shows coding regions in Z-scan CTU order, according to an embodiment.
このような実施形態では、提案された対角スキャンの代わりに、ZスキャンをCTUスキャン順序に使用することができる。Z-スキャンはHEVCで定義されている。 In such embodiments, a Z-scan can be used for the CTU scan order instead of the suggested diagonal scan. Z-scan is defined in HEVC.
実施形態によれば、5つ以上のコーディングツリーユニットを含むコーディング領域のコーディング順序は、例えば、スキャン順序に依存し得、前記スキャン順序は、第1の角度が0°であることに依存し、第2の角度が135°であることに依存し、また第3の角度が45°であることに依存してよい。 According to embodiments, the coding order of a coding region comprising 5 or more coding tree units may for example depend on a scanning order, said scanning order depending on the first angle being 0°, It may depend on the second angle being 135° and on the third angle being 45°.
前記コーディング領域の第1のコーディングツリーユニットを符号化した後、データエンコーダ110は、例えば、前記コーディングツリー領域の第2のコーディングツリーユニットを決定するように構成され得、その結果、前記コーディング領域内の第1のコーディングツリーユニットの位置で第1の開始点を有する第1の矢印は、事前定義された方向に対して0°である第1の角度を囲み、第1の矢印がコーディング領域内の前記第2のコーディングツリーユニットを指し、データエンコーダ110は、前記コーディング領域の前記第2のコーディングツリーユニットを符号化するよう構成される。
After encoding a first coding tree unit of the coding region,
前記コーディング領域の第2のコーディングツリーユニットを符号化した後、データエンコーダ110は、例えば、前記コーディングツリー領域の第3のコーディングツリーユニットを決定するように構成され得、その結果、前記コーディング領域内の第2のコーディングツリーユニットの位置で第2の開始点を有する第2の矢印は、前記事前定義された方向に対して135°である第2の角度を囲み、第2の矢印がコーディング領域内の前記第3のコーディングツリーユニットを指し、データエンコーダ110は、前記コーディング領域の前記第3のコーディングツリーユニットを符号化するよう構成される。
After encoding a second coding tree unit of the coding region,
前記コーディング領域の第3のコーディングツリーユニットを符号化した後、データエンコーダ110は、例えば、前記コーディングツリー領域の第4のコーディングツリーユニットを決定するように構成され得、その結果、前記コーディング領域内の第3のコーディングツリーユニットの位置で第3の開始点を有する第3の矢印は、前記事前定義された方向に対して0°である第1の角度を囲み、第3の矢印がコーディング領域内の前記第4のコーディングツリーユニットを指し、データエンコーダ110は、前記コーディング領域の前記第4のコーディングツリーユニットを符号化するよう構成される。
After encoding a third coding tree unit of the coding region,
特定の実施形態では、前記コーディング領域の第4のコーディングツリーユニットを符号化した後、データエンコーダ110は、前記コーディングツリー領域の第5のコーディングツリーユニットを決定するように構成され得て、その結果、前記コーディング領域内の第4のコーディングツリーユニットの位置の第4の開始点を有する第4の矢印は、前記事前定義された方向に対して45°である第3の角度を囲み、第4の矢印がコーディング領域内の前記第5のコーディングツリーユニットを指し、データエンコーダ110が、前記コーディング領域の前記第5のコーディングツリーユニットを符号化するように構成される。
In a particular embodiment, after encoding a fourth coding tree unit of said coding region,
実施形態では、データエンコーダ110は、例えば、zスキャンが5つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各前記領域を符号化するために使用されたことを指示データが示すように、指示データを生成するように構成され得る。
In an embodiment,
同様に、実施形態によれば、5つ以上のコーディングツリーユニットを含むコーディング領域のコーディング順序は、例えば、スキャン順序に依存し得、前記スキャン順序は、第1の角度が0°であることに依存し、第2の角度が135°であることに依存し、また第3の角度が45°であることに依存してよい。 Similarly, according to embodiments, the coding order of a coding region comprising more than 5 coding tree units may depend, for example, on a scanning order, said scanning order being such that the first angle is 0°. may depend on the second angle being 135° and may depend on the third angle being 45°.
前記コーディング領域の第1のコーディングツリーユニットを復号した後、データデコーダ170は、例えば、前記コーディングツリー領域の第2のコーディングツリーユニットを決定するように構成され得、その結果、前記コーディング領域内の第1のコーディングツリーユニットの位置で第1の開始点を有する第1の矢印は、事前定義された方向に対して0°である第1の角度を囲み、第1の矢印がコーディング領域内の前記第2のコーディングツリーユニットを指し、データデコーダ170は、前記コーディング領域の前記第2のコーディングツリーユニットを復号するよう構成される。 After decoding a first coding tree unit of the coding region, data decoder 170 may, for example, be configured to determine a second coding tree unit of the coding tree region, such that within the coding region A first arrow with a first starting point at the position of the first coding tree unit encloses a first angle that is 0° with respect to the predefined direction, and the first arrow points within the coding region. Refers to the second coding tree unit, and data decoder 170 is configured to decode the second coding tree unit of the coding region.
前記コーディング領域の第2のコーディングツリーユニットを復号した後、データデコーダ170は、例えば、前記コーディングツリー領域の第3のコーディングツリーユニットを決定するように構成され得、その結果、前記コーディング領域内の第2のコーディングツリーユニットの位置で第2の開始点を有する第2の矢印は、前記事前定義された方向に対して135°である第2の角度を囲み、第2の矢印がコーディング領域内の前記第3のコーディングツリーユニットを指し、データデコーダ170は、前記コーディング領域の前記第3のコーディングツリーユニットを復号するよう構成される。 After decoding a second coding tree unit of the coding region, data decoder 170 may, for example, be configured to determine a third coding tree unit of the coding tree region, such that within the coding region A second arrow with a second starting point at the second coding tree unit encloses a second angle that is 135° with respect to the predefined direction, the second arrow pointing to the coding region data decoder 170 is configured to decode the third coding tree unit of the coding region.
前記コーディング領域の第3のコーディングツリーユニットを復号した後、データデコーダ170は、例えば、前記コーディングツリー領域の第4のコーディングツリーユニットを決定するように構成され得、その結果、前記コーディング領域内の第3のコーディングツリーユニットの位置で第3の開始点を有する第3の矢印は、前記事前定義された方向に対して0°である第1の角度を囲み、第3の矢印がコーディング領域内の前記第4のコーディングツリーユニットを指し、データデコーダ170は、前記コーディング領域の前記第4のコーディングツリーユニットを復号するよう構成される。 After decoding the third coding tree unit of the coding region, data decoder 170 may, for example, be configured to determine the fourth coding tree unit of the coding tree region, such that in the coding region A third arrow with a third starting point at the location of the third coding tree unit encloses a first angle that is 0° with respect to the predefined direction, the third arrow pointing to the coding region , and data decoder 170 is configured to decode the fourth coding tree unit of the coding region.
特定の実施形態では、前記コーディング領域の第4のコーディングツリーユニットを復号した後、データデコーダ170は、前記コーディングツリー領域の第5のコーディングツリーユニットを決定するように構成され得て、その結果、前記コーディング領域内の第4のコーディングツリーユニットの位置の第4の開始点を有する第4の矢印は、前記事前定義された方向に対して45°である第3の角度を囲み、第4の矢印がコーディング領域内の前記第5のコーディングツリーユニットを指し、データデコーダ170が、前記コーディング領域の前記第5のコーディングツリーユニットを復号するように構成される。 In a particular embodiment, after decoding a fourth coding tree unit of said coding region, data decoder 170 may be configured to determine a fifth coding tree unit of said coding tree region, such that: A fourth arrow with a fourth starting point of the location of a fourth coding tree unit within the coding region encloses a third angle that is 45° with respect to the predefined direction; arrow points to the fifth coding tree unit in a coding region, and data decoder 170 is configured to decode the fifth coding tree unit in the coding region.
実施形態によれば、データデコーダ170は、例えば、5つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各前記領域を符号化するためにzスキャンが使用されたことを示す情報を受信するように構成され得て、指示データは、例えば、前記情報を含み得る。
次のサブ副次的サブセクション「スキャン方向」では、スキャン方向について説明する。
According to an embodiment, data decoder 170 indicates that a z-scan was used to encode each of one or more coding regions comprising, for example, 5 or more coding tree units. It may be configured to receive information, and the instructional data may include, for example, said information.
The next sub-subsub-section, "Scan Direction," describes scan direction.
別の実施形態では、スキャンの方向は柔軟であり得、例えば、右から左の対角線下向き、それぞれ右から左の対角線上向き、または左から右に斜め上向きの範囲である。スキャン方向は、新しい構文要素CTU_scan_directionを使用してビットストリームで送信することも、ビットストリームにすでに存在する構文要素から派生させることもできる。 In another embodiment, the direction of scanning may be flexible, ranging, for example, diagonally downward from right to left, diagonally upward from right to left respectively, or diagonally upward from left to right. The scan direction can be sent in the bitstream using the new syntax element CTU_scan_direction, or it can be derived from syntax elements already present in the bitstream.
別の実施形態では、スキャン方向は、厳密なスライス順序の制約の下で、coding_area_start_addressによってアドレス指定された第1のスライスCTUの隣接する近傍を評価することによって導き出される。 In another embodiment, the scan direction is derived by evaluating the adjacent neighborhood of the first slice CTU addressed by coding_area_start_address under strict slice order constraints.
第1のスライスCTUの下部境界に隣接するCTUネイバーがある場合、または第1のスライスCTUが画像の下部CTUラインに位置し、右側に隣接するネイバーがなく、右端のCTU列に位置していない場合、CTUスキャンは右上向きのスキャンである。 If there is a CTU neighbor adjacent to the bottom boundary of the first slice CTU, or the first slice CTU is located at the bottom CTU line of the image, has no right adjacent neighbor, and is not located in the rightmost CTU column Then the CTU scan is an up-right scan.
第1のスライスCTUの下部境界に隣接するCTUネイバーがある場合、または第1のスライスCTUが画像の下部CTUラインに位置し、右側に隣接する隣接があるか、画像の右端の列に位置する場合、CTUスキャンは左上向きのスキャンである。 If there is a CTU neighbor adjacent to the bottom boundary of the first slice CTU OR the first slice CTU is located at the bottom CTU line of the image and has a right adjacent neighbor OR is located in the rightmost column of the image If so, the CTU scan is a top-left scan.
それ以外の場合、第1のスライスCTUの右側にあるCTUネイバーが使用可能な場合、または第1のスライスCTUが画像の右端の列に位置する場合、スキャンは左下に行われる。他のすべての場合、CTUスキャンは右下である。
図15は、別の実施形態による暗示的CTUスキャン方向の導出を示している。
Otherwise, if a CTU neighbor to the right of the first slice CTU is available, or if the first slice CTU is located in the rightmost column of the image, the scan is to the bottom left. In all other cases, the CTU scan is bottom right.
FIG. 15 illustrates derivation of implicit CTU scan directions according to another embodiment.
そのような別の実施形態では、上記の発明の導出スキームは、潜在的なコーディング領域境界に沿って利用可能なCTUネイバーの数を評価することによってさらに改良される。例えば、第1のスライスCTUは、CTUネイバーの左上の位置にあり、スキャンは右下スキャンまたは下-右スキャンである可能性があり、したがって、垂直方向と水平方向にコーディング領域の境界に沿った、利用可能な可能性のある(CAの次元が不明な場合)CTUネイバーは、個別に合計される。垂直ネイバーの合計が水平CTUネイバーの数を超える場合は、下-右スキャンが使用される。それ以外の場合、スキャンは右下スキャンになる。この導出スキームは、ラスタースキャンを使用した図15に例示されている。 In another such embodiment, the derivation scheme of the above invention is further refined by evaluating the number of available CTU neighbors along potential coding region boundaries. For example, the first slice CTU is at the upper left position of the CTU neighbor and the scan could be a lower right scan or a lower-right scan, thus vertically and horizontally along the boundaries of the coding region. , the CTU neighbors that may be available (if the dimensions of the CA are unknown) are summed separately. If the sum of vertical neighbors exceeds the number of horizontal CTU neighbors, bottom-right scanning is used. Otherwise, the scan is a bottom right scan. This derivation scheme is illustrated in FIG. 15 using raster scanning.
別の実施形態では、上記の発明の導出スキームおよび改良は、CTUスキャンを選択するスライスレベルでインデックスが送信される、可能なスキャンの順序付けられたリストを形成するために使用される。さらに、画像内で異なる対角スキャンを使用する場合は、CTU_dependency_offset_idをスライスヘッダーにコーディングする必要がある。
図16は、実施形態による、異なるCTUスキャン方向のコーディング領域を示している。
特に、図16は、画像内で様々なスキャン方向を使用する例を示している。
上記を要約すると:
In another embodiment, the derivation schemes and refinements of the above invention are used to form an ordered list of possible scans whose indices are sent at the slice level to select CTU scans. In addition, CTU_dependency_offset_id should be coded in the slice header if different diagonal scans are used in the image.
FIG. 16 shows coding regions for different CTU scan directions, according to an embodiment.
In particular, FIG. 16 shows an example of using different scanning directions within an image.
To summarize the above:
実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング領域のコーディング順序は、例えば、1つまたは複数のスキャン方向を含むスキャン順序に依存し得る。前記コーディング領域の第1のコーディングツリーユニットを符号化した後、データエンコーダ110は、例えば、第1のコーディングツリーユニットの位置に依存して、および1つまたは複数のスキャン方向の第1の1つに依存して、前記コーディングツリー領域の第2のコーディングツリーユニットを決定するように構成され得、データエンコーダ110は、前記コーディング領域の前記第2のコーディングツリーユニットを符号化するように構成される。
According to embodiments, the coding order of the coding regions of one or more coding regions comprising two or more coding tree units may depend on the scanning order comprising, for example, one or more scanning directions. After encoding the first coding tree unit of said coding region, the
実施形態では、データエンコーダ110は、例えば、指示データが1つまたは複数のスキャン方向を含む前記スキャン順序を示すように、指示データを生成するように構成され得る。
In embodiments,
実施形態によれば、データエンコーダ110は、例えば、前記コーディング領域の第1のコーディングツリーユニットの隣接する近傍を評価することによって、1つまたは複数のスキャン方向のスキャン方向を導出するように構成され得る。第1のコーディングツリーユニットの下部境界に隣接する2つまたはそれより多いコーディングツリーユニットのコーディングツリーユニットネイバーがある場合、または第1のコーディングツリーユニットが画像の下部のコーディングツリーユニット行に位置し、右に隣接するネイバーがなく、右端のコーディングツリーユニット列に位置していない場合、スキャン方向は、例えば、右上向きのスキャンである可能性がある。第1のコーディングツリーユニットが、その下部境界に隣接する2つまたはそれより多いコーディングツリーユニットのコーディングツリーユニットネイバーがある場合、または第1のコーディングツリーユニットが画像の下部のコーディングツリーユニット行に位置し、右に隣接するネイバーがあるか、画像の右端の列に位置する場合、スキャン方向は、例えば、左上向きのスキャンである可能性がある。第1のコーディングツリーユニットの右側にある2つまたはそれより多いコーディングツリーユニットのコーディングツリーユニットネイバーが利用可能である場合、または第1のコーディングツリーユニットが画像の右端の列に位置する場合、スキャン方向は、例えば、左下向きであり得る。そうでなければ、スキャン方向は、例えば、右下向きである可能性がある。
According to an embodiment, the
実施形態では、データエンコーダ110は、例えば、指示データが、1つまたは複数のスキャン方向の選択されたスキャン方向を示すインデックスを示すように、指示データを生成するように構成され得る。
In embodiments,
同様に、実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング領域のコーディング順序は、例えば、1つまたは複数のスキャン方向を含むスキャン順序に依存し得る。前記コーディング領域の第1のコーディングツリーユニットを復号した後、データデコーダ170は、例えば、第1のコーディングツリーユニットの位置に依存して、1つまたは複数のスキャン方向の第1の1つに依存して、前記コーディングツリー領域の第2のコーディングツリーユニットを決定するように構成され得、データデコーダ170は、例えば、前記コーディング領域の前記第2のコーディングツリーユニットを復号するように構成され得る。 Similarly, according to embodiments, the coding order of the coding regions of one or more coding regions comprising two or more coding tree units is dependent on the scanning order comprising, for example, one or more scanning directions. can. After decoding the first coding tree unit of the coding region, the data decoder 170 selects a first one of one or more scan directions, for example depending on the position of the first coding tree unit. As such, data decoder 170 may be configured to determine a second coding tree unit of the coding tree region, and data decoder 170 may, for example, be configured to decode the second coding tree unit of the coding region.
実施形態では、データデコーダ170は、例えば、1つまたは複数のスキャン方向を含む前記スキャン順序を示す情報を受信するように構成され得、ここで、指示データは、例えば、前記情報を含み得る。 In embodiments, data decoder 170 may be configured to receive information indicative of said scanning order including, for example, one or more scanning directions, wherein indication data may, for example, include said information.
実施形態によれば、データデコーダ170は、例えば、前記コーディング領域の第1のコーディングツリーユニットの隣接する近傍を評価することによって、1つまたは複数のスキャン方向のスキャン方向を導出するように構成され得る。第1のコーディングツリーユニットの下部境界に隣接する2つまたはそれより多いコーディングツリーユニットのコーディングツリーユニットネイバーがある場合、または第1のコーディングツリーユニットが画像の下部のコーディングツリーユニット行に位置し、右に隣接するネイバーがなく、右端のコーディングツリーユニット列に位置していない場合、スキャン方向は、例えば、右上向きのスキャンである可能性がある。第1のコーディングツリーユニットが、その下部境界に隣接する2つまたはそれより多いコーディングツリーユニットのコーディングツリーユニットネイバーがある場合、または第1のコーディングツリーユニットが画像の下部のコーディングツリーユニット行に位置し、右に隣接するネイバーがあるか、画像の右端の列に位置する場合、スキャン方向は、例えば、左上向きのスキャンである可能性がある。第1のコーディングツリーユニットの右側にある2つまたはそれより多いコーディングツリーユニットのコーディングツリーユニットネイバーが利用可能である場合、または第1のコーディングツリーユニットが画像の右端の列に位置する場合、スキャン方向は、例えば、左下向きであり得る。そうでなければ、スキャン方向は、例えば、右下向きである可能性がある。 According to an embodiment, the data decoder 170 is configured to derive one or more scanning directions, e.g. by evaluating adjacent neighbors of the first coding tree unit of said coding region. obtain. if there are coding tree unit neighbors of two or more coding tree units adjacent to the bottom boundary of the first coding tree unit, or the first coding tree unit is located in the bottom coding tree unit row of the image; If there is no neighbor to the right and it is not located in the rightmost coding tree unit column, the scan direction may be, for example, a top-right scan. If the first coding tree unit has coding tree unit neighbors of two or more coding tree units adjacent to its bottom boundary, or the first coding tree unit is located in the bottom coding tree unit row of the image However, if there is a neighbor to the right or is located in the rightmost column of the image, then the scan direction may be, for example, a left-up scan. If coding tree unit neighbors of two or more coding tree units to the right of the first coding tree unit are available, or if the first coding tree unit is located in the rightmost column of the image, scan The direction can be, for example, downward to the left. Otherwise, the scan direction may be, for example, downward and to the right.
実施形態では、データデコーダ170は、例えば、1つまたは複数のスキャン方向の選択されたスキャン方向を示すインデックスを示す情報を受信するように構成され得、指示データは、例えば、前記情報を含み得る。
以下の副次的サブセクション「依存的コーディング領域」では、依存的コーディング領域について説明する。
図17は、実施形態による、領域間予測オプションでの依存的コーディング領域を示している。
In an embodiment, the data decoder 170 may be configured to receive, for example, information indicating an index indicating the selected scanning direction of the one or more scanning directions, and the indication data may include, for example, said information. .
The "Dependent Coding Regions" subsection below describes dependent coding regions.
FIG. 17 shows dependent coding regions with an inter-region prediction option, according to an embodiment.
そのような実施形態では、画像内で、空間予測機能を活用するために、1つのコーディング領域が別のコーディング領域に依存するようにすることができる。この場合、領域の特定の処理順序は、例えば、決定論的動作を容易にするために必要となる場合がある。これは、例えば、依存関係の順序を明示的に決定する各CAの新しい構文要素area_order_idxを使用して、領域の順序をシグナリングすることによって実行できる。または、依存関係の順序は、coding_area_arrangement()構文でシグナリングされるCAの順序から直接導出できる。副次的サブセクション「コーディング領域のサイズと配置」を参照されたい。 In such embodiments, one coding region may depend on another coding region to exploit spatial prediction capabilities within the image. In this case, a particular processing order of regions may be required, for example, to facilitate deterministic operation. This can be done, for example, by signaling the order of the areas using a new syntax element area_order_idx in each CA that explicitly determines the order of dependencies. Alternatively, the dependency order can be derived directly from the CA order signaled in the coding_area_arrangement( ) syntax. See sub-section "Size and Placement of Coding Regions".
area_order_idxの値は、次のように解釈できる。つまり、area_order_idx値が高い領域は、area_order_idx値が低い領域に依存するか、またはその逆である。
上記を要約すると:
The value of area_order_idx can be interpreted as follows. That is, areas with high area_order_idx values depend on areas with low area_order_idx values and vice versa.
To summarize the above:
実施形態では、データエンコーダ110は、例えば、複数のコーディング領域の各コーディング領域内の画像のイメージデータを符号化して、符号化された画像データを取得することによって、画像を符号化するように構成することができる。データエンコーダ110は、例えば、複数のコーディング領域のうちの少なくとも1つのイメージデータを符号化することが複数のコーディング領域のうちの少なくとも別の1つのイメージデータの符号化に依存するように、前記複数のコーディング領域のうちの少なくとも1つの画像のイメージデータを符号化するように構成され得る。
In an embodiment,
同様に、実施形態では、データデコーダ170は、例えば、複数のコーディング領域のうちの少なくとも1つの符号化された画像データを復号するように構成でき、複数のコーディング領域のうちの少なくとも1つの符号化された画像データを復号することは、複数のコーディング領域のうちの前記少なくとも別の1つの符号化された画像データの復号に依存する。
以下の副次的サブセクション「コーディング領域の並列処理」では、コーディング領域の並列処理について説明する。
Similarly, in an embodiment, data decoder 170 may be configured, for example, to decode encoded image data of at least one of the plurality of coding regions; Decoding the encoded image data depends on decoding the encoded image data of said at least another one of the plurality of coding regions.
The following sub-section, "Coding Domain Parallelism," describes coding domain parallelism.
コーディング領域は、並列処理の補助も可能である。並列化の明らかな使用例は、複数の非依存的コーディング領域を使用することである。この場合、1つのCAの構成されたCTUを他のいずれかのCAに解析または再構築するための依存関係は禁止されており、別のCAに割り当てられた隣接するCUは参照できないものとして扱われる。この場合、後処理フィルタは、filter_over_ca_boundaries_flagに依存して、個別に、または画像ごとにCAに適用され得る。この構文要素は、HEVCで使用されるloop_filter_across_tiles_enabled_flagと同じように機能する。
図18は、実施形態((A)CTUラスタースキャン;(B)CTU対角スキャン)による依存的コーディング領域の並列処理を示している。
Coding regions can also support parallel processing. An obvious use case for parallelization is the use of multiple independent coding regions. In this case, dependencies for parsing or reconstructing one CA's configured CTU into any other CA are prohibited, and adjacent CUs assigned to another CA are treated as non-referenceable. will be In this case, the post-processing filter can be applied to CA individually or image by image, depending on the filter_over_ca_boundaries_flag. This syntax element works the same as the loop_filter_across_tiles_enabled_flag used in HEVC.
FIG. 18 illustrates parallel processing of dependent coding regions according to embodiments ((A) CTU raster scan; (B) CTU diagonal scan).
依存的コーディング領域の場合、図18に示す処理スキームを使用して、画像の空間的な依存関係を活用し、領域間の境界で発生する可能性のあるアーティファクトを減らすことができる。CA間依存関係を使用するには、例えば、CTU処理の明確な順序が必要になる場合がある。その結果、隣接するCAからのCTUの信頼性の高い可用性が得られる。 For dependent coding regions, the processing scheme shown in FIG. 18 can be used to exploit spatial dependencies in the image and reduce artifacts that can occur at boundaries between regions. The use of inter-CA dependencies may, for example, require an explicit ordering of CTU processing. The result is reliable availability of CTUs from neighboring CAs.
CAを処理する順序は、ビットストリームで送信されるCAの順序によって暗示的に指定される場合がある。さらに、CAの順序は、ビットストリームで送信されるシンボルによって明示的に指定することもできる。
2つの主要なCTU実行の概念を図19に示す。
図19は、実施形態((A)依存関係駆動型;(B)ロックステップ)による実行順序およびCA間依存関係を示している。
以下では、ロックステップパイプラインについて説明する。
The order of processing CAs may be implied by the order of CAs sent in the bitstream. In addition, the order of CAs can also be specified explicitly by the symbols transmitted in the bitstream.
The two main CTU implementation concepts are shown in FIG.
FIG. 19 shows the execution order and inter-CA dependencies according to the embodiment ((A) dependency-driven; (B) lockstep).
The lockstep pipeline is described below.
パイプラインの概念は、ロックステップ実行スキームに従った解析と再構築、および/またはポストフィルタリングを前提としている。グローバルイベントは、各スレッドのCTUの実行ステップを開始するために使用され、各ステップでは、各CAで単一のCTUが処理される。このスキームは、図19(B)に示すように、利用できないCTU参照を犠牲にして、最大限のスループットを保証する。この場合、第1および第2のCAの直接隣接するCTUが同時に処理されるため、どちらの方向も参照できない。
ただし、厳密なロックステップ実行が適用されると、水色の矢印で示されているように、追加のCA間依存関係が使用可能になる。
以下では、依存関係駆動型の概念について説明する。
The pipeline concept presupposes analysis and reconstruction and/or post-filtering according to a lockstep execution scheme. A global event is used to initiate each thread's CTU execution step, where each step processes a single CTU at each CA. This scheme guarantees maximum throughput at the expense of unavailable CTU references, as shown in FIG. 19(B). In this case, the immediately adjacent CTUs of the first and second CAs are processed simultaneously and cannot be referenced in either direction.
However, when strict lockstep execution is applied, additional inter-CA dependencies become available, as indicated by the light blue arrows.
The following describes the concept of dependency-driven.
この概念は、CA間CTUネイバーのローカルの可用性に依存している。参照用に使用できるはずであるが、隣接するネイバーCAの参照CTUが使用できない場合、この特定のCAの実行は、各解析再構築を完遂することで参照CTUが使用可能になるまで停止する。これは、例えば、第1のCAの参照CTUが第5の実行ステップで処理され、第6の実行ステップで最も早く利用可能であるため、第2のCAの処理が第5の実行ステップで停止される図19(A)にて見ることができる。 This concept relies on the local availability of inter-CA CTU neighbors. If it should be available for reference, but the reference CTU of an adjacent neighbor CA is not available, execution of this particular CA stops until the reference CTU is available by completing each parsing reconstruction. This is because, for example, the reference CTU of the first CA is processed in the fifth execution step and is earliest available in the sixth execution step, so processing of the second CA stops in the fifth execution step. can be seen in FIG. 19(A).
さらに、並列処理は、依存的CA処理スキームを使用した後処理フィルタの操作に拡張できる。CTU内部境界(CU境界)の場合、デフォルトのフィルタプロセスを適用できる。対照的に、CTU境界は、処理順序の第2のCTUがフィルタリングされるときにフィルタリングされ、そのため、境界でのフィルタ強度を決定でき、またフィルタリング用のサンプルを利用できる。CA交差境界フィルタリングが有効になっている場合、または依存CAの場合、このルールはまたCA交差境界フィルタリングに適用される。CTU境界を超えて到達する非ブロック化フィルタは、隣接するCAでの参照CTUの可用性を考慮して解析と再構築が実行されるときに、アナログの方法で処理される。隣接するCAのCTUが使用可能な場合、事前にフィルタリングされていない領域の部分は、現在のフィルタリングプロセスでフィルタリングされる。
図20は、実施形態による、CA順序に関するCA境界上の非ブロック化フィルタプロセスを示している。
図21は、実施形態による、ハッチングされたフィルタ領域でのCA間フィルタリングを採用する非ブロック化フィルタを示す。
In addition, parallel processing can be extended to post-processing filter operations using dependent CA processing schemes. For CTU inner boundaries (CU boundaries), the default filter process can be applied. In contrast, CTU boundaries are filtered when the second CTU in the processing order is filtered so that the filter strength at the boundaries can be determined and the samples available for filtering. This rule also applies to CA cross-boundary filtering if CA cross-boundary filtering is enabled or for dependent CA. Deblocking filters arriving beyond CTU boundaries are treated in an analogue manner when analysis and reconstruction are performed considering the availability of reference CTUs at neighboring CAs. If CTUs of neighboring CAs are available, the portion of the previously unfiltered region is filtered in the current filtering process.
FIG. 20 shows a deblocking filter process on CA boundaries for CA order, according to an embodiment.
FIG. 21 shows a deblocking filter employing inter-CA filtering in the hatched filter region, according to an embodiment.
図21に示すように、第1の処理ステップでは、第1のCAのCTU(1)のみをフィルタリングできる。このCTUのフィルタリングは、CTUネイバーが使用できないため、内部境界に制限されている。第2の実行ステップでは、第1のCAの第2のCTUが、その内部境界と、第1のCAの第1のCTUへのCTU境界をフィルタリングする。さらに、第2のCAの左下のCTUは、その内部境界と、第1のCAの第1のCTUのCTU境界とオーバーラップするCAをフィルタリングしている。この並列処理の効果の1つは、非ブロック化フィルタの低遅延の操作を可能にすることである。クロスCA境界フィルタリングの非ブロック化は、CA全体が復号される前に開始することができ、それにより、画像領域がさらなる画像のための参照画像を使用することができる前の全体的な処理時間を短縮することができる。
次の副次的サブセクション「エラーの回復力の態様」では、エラーの回復力の態様について説明する。
As shown in FIG. 21, in the first processing step, only CTU(1) of the first CA can be filtered. This filtering of CTUs is restricted to the inner boundary since no CTU neighbors are available. In a second execution step, the second CTU of the first CA filters its internal boundaries and the CTU boundaries to the first CTU of the first CA. In addition, the lower left CTU of the second CA is filtering CAs that overlap its inner boundary with the CTU boundary of the first CTU of the first CA. One advantage of this parallel processing is that it allows low-delay operation of the deblocking filter. Deblocking of cross-CA boundary filtering can start before the entire CA is decoded, thereby reducing the overall processing time before image regions can use reference images for further images. can be shortened.
The next sub-section, "Aspects of Error Resilience," describes aspects of error resilience.
「最先端のVCL分割」のセクションで説明したように、アプリケーションのストレージまたはトランスポートのメカニズムの信頼性が低い場合、エラーの回復力はビデオコーディングの望ましい機能である。ただし、HTTPストリーミングなどの多くのアプリケーションが今日存在し、例えば、パケット損失のあるRTP/UDPストリーミングや、ビットエラーまたはバーストエラーのある一般的なブロードキャストチャネルのように、エラーの回復力が少なくてすむ場合がある。HTTPストリーミングの場合、コード化されたビデオは通常n*GOP単位でセグメント化され、セグメントが欠落していると、それぞれのセグメントが正常に再送信されるまで、受信機側でバッファストールがトリガーされる。後者のシナリオでは、一部のエラー回復機能を失いながらコーディング効率の利益を向上させるために、コーディングされたデータ内にさらに依存関係を導入することが望ましい。例えば、サブの副次的サブセクション「スキャン方向」で説明されている隣接CAに基づくスキャン順序導出の態様では、例えば、現在のCAを正しく復号し得る前に、受信機側の隣接するCAの可用性が必要になる場合がある。したがって、このような手法は、限られたエラーの回復力が許容できる場合にのみ使用するべきである。同様に、副次的サブセクション「依存的コーディング領域」のような依存的コーディング領域に関する態様では、エラーの回復力に影響を与える依存関係、および副次的サブセクション「コーディング領域の並列処理」で説明されている並列化の態様と処理順序が導入される。この点に関する他の最先端技術は、同じトレードオフに対処せねばならない。例えば、HEVC SCCのIBCなどの画像内翻訳補正予測や、現在のブロックからさらに離れており、通常のイントラ予測になる画像内のサンプルを促進する他の予測内技術などである。また、シーケンスレベルでは、エラーの回復力への影響を犠牲にしてコーディング効率を向上させることが知られているさらなる手法がある。例えば、画像を介したCABACコンテキストモデルなどのエントロピーコーディングエンティティの状態の共有などがある。 As discussed in the "State of the art VCL partitioning" section, error resilience is a desirable feature of video coding when an application's storage or transport mechanisms are unreliable. However, many applications such as HTTP streaming exist today and are less resilient to errors, for example RTP/UDP streaming with packet loss or general broadcast channels with bit or burst errors. Sometimes. For HTTP streaming, the coded video is typically segmented in n*GOP units, and missing segments trigger buffer stalls at the receiver until the respective segment is successfully retransmitted. be. In the latter scenario, it is desirable to introduce further dependencies within the coded data in order to improve coding efficiency gains while losing some error resilience features. For example, in the aspect of scan order derivation based on neighboring CAs, described in the sub sub-subsection "Scan Direction", for example, before the current CA can be correctly decoded, the neighboring CAs at the receiver side Availability may be required. Therefore, such techniques should only be used where limited error resilience is acceptable. Similarly, in aspects relating to dependent coding regions, such as the sub-subsection "Dependent Coding Regions", dependencies affecting error resilience, and in the sub-subsection "Parallel Processing of Coding Regions" The parallelization aspects and processing orders described are introduced. Other state-of-the-art in this regard must deal with the same trade-offs. For example, intra-picture translation-corrected prediction, such as IBC in HEVC SCC, and other intra-prediction techniques that promote samples in the picture that are further away from the current block, resulting in normal intra-prediction. Also, at the sequence level, there are additional techniques known to improve coding efficiency at the expense of impacting error resilience. For example, sharing the state of entropy coding entities such as the CABAC context model over images.
コード化されたビデオの送信を組み込んだシステムでは、コード化されたビデオストリームがもたらすエラーの回復力の程度に関する情報は、様々な方法で利用することができる。例えば、メディア対応のミドルボックスが早期の再送信をトリガーできる、または、エンドデバイスがエラー隠蔽戦略の中から選択でき、例えば、フレームサブセクションのコピーによるフレームレベルのスライスベースのエラー隠蔽や、再送信が成功するまでのバッファリング、またはビットストリームのパーツ(個々のAU、PPSなどに関連付けられたAU、SPSに関連付けられるかまたはCVSを形成するAU)の復号をスキップすることが挙げられる。したがって、ミドルボックスまたはクライアントエンドデバイスに、コード化されたビデオストリームが提供するエラーの回復力の程度を示すことが望ましい。コード化されたビデオシーケンスにおけるエラー隠蔽度の別の使用法は、サービスオペレータが特定のコード化されたストリームが、想定される伝送システムに適しているかどうかを決定することである。例えば、HTTPストリーミング用に符号化されたストリームは、バーストエラーが発生しやすい衛星放送チャネルを介して送信された場合、パフォーマンスが低下する可能性がある。 In systems incorporating coded video transmission, information about the degree of error resilience provided by the coded video stream can be exploited in a variety of ways. For example, a media-aware middlebox can trigger an early retransmission, or an end device can choose among error concealment strategies, e.g., frame-level slice-based error concealment by copying frame subsections or retransmission. or skipping decoding of parts of the bitstream (individual AUs, AUs associated with PPSs, etc., AUs associated with SPSs or forming a CVS) until successful. Therefore, it is desirable to indicate to the middlebox or client end device the degree of error resilience that the encoded video stream provides. Another use of error concealment in coded video sequences is for service operators to determine whether a particular coded stream is suitable for an envisaged transmission system. For example, a stream encoded for HTTP streaming may have poor performance when sent over satellite channels that are prone to burst errors.
現在、この情報は、無数のパラメータがエラーの回復力を決定するため、最新のコーデックを使用してコード化されたストリームで簡単にアクセスすることはできない。例えば、上記の例の網羅的ではないリストを取り上げる。いくつかの個々のパラメータは、パラメータのセットから派生する場合があり、他のパラメータが、例えば、画像ベースで高レベルの構文解析を必要とする場合がある一方で、他のパラメータは、例えば、低レベルの構文解析を必要とする場合さえある。また、調査されたパラメータのほとんどは、コード化されたビデオシーケンスの残りのエンコーダの決定に関する情報でシグナリングされないが、範囲が制限されている。例えば、分割の決定は、画像から画像へと偶然に起こる可能性がある。破損したストリームには、必要な情報が含まれていない可能性がある。 Currently, this information is not easily accessible in streams coded using modern codecs, as a myriad of parameters determine error resilience. For example, take the non-exhaustive list of examples above. Some individual parameters may be derived from a set of parameters, while others may require high-level parsing, e.g., image-based, while other parameters may e.g. It may even require low-level parsing. Also, most of the investigated parameters do not signal information about encoder decisions for the rest of the coded video sequence, but are limited in scope. For example, the splitting decision can happen by chance from image to image. Corrupted streams may not contain the information you need.
実施形態は、コード化されたビデオシーケンスのエラーの回復力の程度の容易にアクセス可能な指示をもたらす。いくつかの実施形態は、エラーの回復力およびエラー軽減戦略に影響を与える関連ツール上のコード化されたビデオのコーディング制約を提供する。ミドルボックスまたはクライアントエンドデバイスは、ビデオエンコーダが、別様にはエラーの回復力に影響を与える決定スペースから特定のオプションを除外したことを保証するものとして、指示を解釈できる。サービス提供者は、コード化されたストリームがどの伝送システムに適しているかに関する情報を解釈できる。
実施形態では、以下のように、コード化されたビデオの容易にアクセス可能な高レベルの構文における単一のフラグが、例えば、以下のように提供される。
Embodiments provide a readily accessible indication of the degree of error resilience of a coded video sequence. Some embodiments provide coding constraints for coded video on associated tools that affect error resilience and error mitigation strategies. A middlebox or client-end device can interpret the instructions as ensuring that the video encoder has excluded certain options from the decision space that would otherwise affect error resilience. The service provider can interpret information about which transmission system the coded stream is suitable for.
In embodiments, a single flag in the easily accessible high-level syntax of encoded video is provided, for example:
sps_error_resiliency_enabled_flagは、コード化されたビデオシーケンスのエラーの回復力の状態を示す。sps_error_resiliency_flagが1の場合、CVSでアクティブなSPSが[CodingToolSetC]の使用をアクティブにせず、CVSでアクティブなPPSまたはAUが[CodingToolSetB]の使用をアクティブにしないことを示す。sps_error_resiliency_flagが0の場合、そのような表示はない。 sps_error_resiliency_enabled_flag indicates the error resiliency status of the coded video sequence. If sps_error_resiliency_flag is 1, it indicates that the SPS active in CVS does not activate use of [CodingToolSetC] and the PPS or AU active in CVS does not activate use of [CodingToolSetB]. If sps_error_resiliency_flag is 0, there is no such indication.
あるいは、実施形態は、以下のように、コード化されたビデオの容易にアクセス可能な高レベルの構文におけるエラーの回復力の状態の事前定義されたリストへインデックスを提供する。 Alternatively, embodiments provide an index into a predefined list of error resilience states in an easily accessible high-level syntax of encoded video, as follows.
ここで、リスト[CodingToolSetA]、[CodingToolSetB]、および[CodingToolsSetC]は次のように定義されている。 Here, the lists [CodingToolSetA], [CodingToolSetB], and [CodingToolsSetC] are defined as follows.
CodingToolSetAは、画像レベルでエラーの回復力を損なうツールで構成されている。つまり、依存的CAなど、画像の一部が失われた場合に、復号の成功を妨げる画像内に依存関係を導入する。 CodingToolSetA consists of tools that compromise error resilience at the image level. That is, it introduces dependencies in the image that prevent successful decoding if part of the image is lost, such as dependent CA.
CodingToolSetBは、複数の画像レベル(つまり、PPSのスコープ)でエラーの回復力を損なうツールで構成される。つまり、例えばGOPの最上位の時間層に属する画像など、複数の画像の結合エントロピーコーディングなどの、誤った画像の後にツールを使用して、PPSを参照するいずれかの画像間に依存関係を導入し、PPSを参照する画像の復号を成功させないようにする。 CodingToolSetB consists of tools that compromise error resilience at multiple image levels (ie, PPS scopes). That is, using a tool after the erroneous image, such as joint entropy coding of multiple images, e.g. images belonging to the top temporal layer of a GOP, to introduce dependencies between any of the images referencing the PPS. to prevent successful decoding of images that reference the PPS.
CodingToolsSetCは、シーケンスレベル(つまり、SPSのスコープ)でエラーの回復力を損なうツールで構成される。つまり、それらは、ランダムアクセス期間内のすべての画像間に依存関係を導入し、それらが、量子化器スケーリング行列、エントロピーコーディングの初期化など新しいCVSをランダムアクセスポイントが開始するまで、誤った画像に従ってツールを使用してSPSを参照するいずれの画像の復号をも成功させないようにする。
本発明のさらなる実施形態では、指示の異なるモードは、ツールセットをアクティブ化する構文構造にリンクされていない。
CodingToolsSetC consists of tools that compromise error resilience at the sequence level (ie, the scope of the SPS). That is, they introduce dependencies between all images within the random access period, and they cause erroneous images until the random access point starts a new CVS such as quantizer scaling matrix, entropy coding initialization, etc. Use the tool according to to prevent successful decoding of any image that references the SPS.
In a further embodiment of the invention, the different modes of instruction are not linked to the syntactic structure that activates the toolset.
さらに、CodingToolSetBの範囲は、第1の画像からコーディング順に続く画像の分量で範囲を示す追加のシグナリングによって示される。したがって、この実施形態のCodingToolSetBは、複数の画像レベル(それぞれの画像がスコープ表示によって示される)でエラーの回復力を損なうツールを含む、すなわち、それらは、示された画像間に依存関係を導入し、その結果、誤った画像に続くツールセットを使用した画像、例えばGOPなどの最上位の時間層に属する画像など、複数の画像の結合エントロピーコーディングのいずれかの復号の成功を妨げる。 In addition, the extent of CodingToolSetB is indicated by additional signaling indicating the extent in terms of images following the first image in coding order. Thus, CodingToolSetB in this embodiment contains tools that impair error resilience at multiple image levels (each image being shown by a scope display), i.e., they introduce dependencies between the shown images and as a result prevents successful decoding of any joint entropy coding of multiple images, such as images belonging to the highest temporal layer such as GOP, using the toolset following the erroneous image.
上記を要約すると、実施形態によれば、データエンコーダ110は、例えば、指示データが、例えば、コード化されたビデオシーケンスのエラーの回復力に関する情報を含み得るように、指示データを生成するように構成され得る。
To summarize the above, according to embodiments,
実施形態では、エラーの回復力に関する情報は、例えば、コード化されたビデオシーケンスのエラーの回復力に関する3つまたはそれより多い異なる状態のうちの1つを示し得る。 In embodiments, the error resilience information may indicate, for example, one of three or more different error resilience states of the encoded video sequence.
同様に、実施形態によれば、データデコーダ170は、例えば、コード化されたビデオシーケンスのエラーの回復力を示す情報を受信するように構成され得る。データデコーダ170は、例えば、コード化されたビデオシーケンスのエラーの回復力を示す情報に依存して、コード化された画像データを復号するように構成され得る。 Similarly, according to embodiments, data decoder 170 may be configured to receive information indicative of, for example, the error resilience of the encoded video sequence. Data decoder 170 may, for example, be configured to decode the coded image data in dependence on information indicative of the error resilience of the coded video sequence.
実施形態では、エラーの回復力に関する情報は、例えば、コード化されたビデオシーケンスのエラーの回復力に関する3つまたはそれより多い異なる状態のうちの1つを示し得る。 In embodiments, the error resilience information may indicate, for example, one of three or more different error resilience states of the encoded video sequence.
特定の実施形態では、3つまたはそれより多い異なる状態の第1の状態は、例えば、アクセスユニットにはエラーの回復力がないことを示し得る。3つまたはそれより多い異なる状態の第2の状態は、例えば、画像のパラメータセットの第1の複数のアクセスユニットにはエラーの回復力がないことを示し得る。3つまたはそれより多い異なる状態の第3の状態は、例えば、シーケンスパラメータセットの第2の複数のアクセスユニットにはエラーの回復力がないことを示し得る。 In particular embodiments, a first state of three or more different states may indicate, for example, that the access unit is not error resilient. A second state of three or more different states may indicate, for example, that the first plurality of access units of the image's parameter set is not error resilient. A third state of three or more different states may indicate, for example, that the second plurality of access units of the sequence parameter set is not error resilient.
別の特定の実施形態では、エラーの回復力に関する情報は、例えば、コード化されたビデオシーケンスのエラーの回復力に関する4つまたはそれより多い異なる状態のうちの1つを示し得る。4つまたはそれより多い異なる状態の第1の状態は、例えば、エラーの回復力が画像レベルで損なわれ、複数画像レベルで損なわれ、シーケンスレベルで損なわれることを示し得る。4つまたはそれより多い異なる状態の第2の状態は、例えば、エラーの回復力が画像レベルで損なわれ、複数画像レベルで損なわれるが、シーケンスレベルでは損なわれないことを示し得る。4つまたはそれより多い異なる状態の第3の状態は、例えば、エラーの回復力が画像レベルで損なわれるが、エラーの回復力が複数画像レベルで損なわれず、シーケンスレベルで損なわれないことを示し得る。また、4つまたはそれより多い異なる状態の第4の状態は、例えば、エラーの回復力が画像レベルで損なわれず、複数画像レベルで損なわれず、シーケンスレベルで損なわれないことを示し得る。
次のサブセクション「コーディング領域のデータの断片化」では、コーディング領域のデータの断片化について説明する。
タイルと同様に、CAはまたトランスポートレイヤー用に断片化できる。この場合、制限はない。考えられる使用例を図22、図23、および図24に示す。
図22は、1つのコーディング領域の単一の画像で構成されるビットストリームを示しているが、CAは複数のトランスポートユニットに断片化されている。
図23は、複数のコーディング領域の単一の画像で構成されるビットストリームを示しているが、各CAには独自のトランスポートユニットがある。
図24は、複数のコーディング領域の単一の画像を含むビットストリームを示しているが、各CAが複数のトランスポートユニットに断片化されている。
次のサブセクション「サブ領域空間予測子管理のコーディング」では、サブ領域空間予測子管理のコーディングについて説明する。
図25は、実施形態による、領域に囲まれたブロックの一般化された提示を示している。
一般化されたアプローチでは、コーディングブロックは8つの主要な空間領域で囲むことができる。図25を参照されたい。
次の副次的サブセクション「一般的な予測子の管理」では、一般的な予測子の管理について説明する。
In another particular embodiment, the error resilience information may indicate, for example, one of four or more different error resilience conditions of the coded video sequence. A first state of four or more different states may indicate, for example, that error resilience is compromised at the image level, compromised at the multi-image level, and compromised at the sequence level. A second state of four or more different states may indicate, for example, that error resilience is compromised at the image level, is compromised at the multi-image level, but is not compromised at the sequence level. A third state of four or more different states, for example, indicates that error resilience is compromised at the image level, but error resilience is not compromised at the multiple image level and not at the sequence level. obtain. A fourth state of four or more different states may also indicate, for example, that error resilience is not compromised at the image level, is not compromised at the multi-image level, and is not compromised at the sequence level.
The next subsection, "Data Fragmentation in the Coding Region," describes data fragmentation in the coding region.
Similar to tiles, CAs can also be fragmented for the transport layer. In this case there are no restrictions. Possible uses are shown in FIGS. 22, 23 and 24. FIG.
FIG. 22 shows a bitstream consisting of a single image of one coding region, but the CA is fragmented into multiple transport units.
FIG. 23 shows a bitstream consisting of a single image of multiple coding regions, but each CA has its own transport unit.
FIG. 24 shows a bitstream containing a single image of multiple coding regions, but with each CA fragmented into multiple transport units.
The next subsection, "Coding for Sub-Region Spatial Predictor Management," describes coding for sub-region spatial predictor management.
FIG. 25 shows a generalized presentation of blocks surrounded by regions, according to an embodiment.
In a generalized approach, a coding block can be bounded by eight major spatial regions. Please refer to FIG.
The next sub-subsection, "General Predictor Management," describes general predictor management.
8つのネイバー領域すべてから得る候補を、予測候補リストに組み込むことができる。それらは、各々可用性を簡単な方法で選択できる。CTUの場合、例えば、特定のサブブロックの処理順序でサブブロックにさらに分割することで構成でき、特定の可用性シナリオにより、サブブロックの順序を調整できる。例えば、ネイバーAD、D、DC、およびCのみが使用可能な場合、これらのネイバーに隣接するサブブロックを最初に処理するべきである。 Candidates from all eight neighbor regions can be incorporated into the predictive candidate list. They can each select their availability in a simple way. For a CTU, for example, it can be constructed by sub-dividing into sub-blocks in a particular sub-block processing order, and depending on the particular availability scenario, the order of the sub-blocks can be adjusted. For example, if only neighbors AD, D, DC, and C are available, the sub-blocks adjacent to these neighbors should be processed first.
要約すると、実施形態によれば、データエンコーダ110は、例えば、画像内に位置している複数のコーディングツリーユニットのうちの8つの隣接するコーディングツリーユニットの1つまたは複数のコーディングツリーユニットに依存して、画像内に位置している複数のコーディングツリーユニットのコーディングツリーユニットを符号化するように構成でき、8つの隣接するコーディングツリーユニットは、前記コーディングツリーユニットに隣接している。
In summary, according to an embodiment, the
同様に、実施形態で、データデコーダ170は、例えば、画像内に位置している複数のコーディングツリーユニットのうちの8つの隣接するコーディングツリーユニットの1つまたは複数のコーディングツリーユニットに依存して、画像内に位置している複数のコーディングツリーユニットのコーディングツリーユニットを復号するように構成でき、8つの隣接するコーディングツリーユニットは、前記コーディングツリーユニットに隣接している。
次の副次的サブセクション「ネイバーの空間的適合」では、ネイバーの空間的適合について説明する。
Similarly, in an embodiment, data decoder 170 may, for example, rely on one or more coding tree units of eight adjacent coding tree units of a plurality of coding tree units located in the image to It may be configured to decode a coding tree unit of a plurality of coding tree units located in an image, and eight adjacent coding tree units are adjacent to said coding tree unit.
The next sub-section, "Neighbor Spatial Matching," describes neighbor spatial matching.
いくつかの特定の近傍のシナリオは、対応するネイバーの領域または予測子のいくつかの適合によって、従来のサブブロック処理順序を可能にする。実施形態では、適合は、例えば、対応するネイバーの領域の回転を含み得、必要に応じて、90°ステップずつ段階的にコーディングブロックを含み得る。例えば、図では、ネイバーAD、D、DC、C、およびBCのみが使用可能な場合、これらのネイバーの回転と、必要に応じてコーディングブロックの180°の回転を実行できる。これは、論理的なローテーションや、サンプルや構文要素などのバッファリングされたデータを新しいバッファリングされた状態に変換するようなメモリ操作であってよい。
座標変換には、水平または垂直の反転を含めることもできる。これにより、異なる予測候補の順序に至る。
Some specific neighborhood scenarios allow conventional sub-block processing orders by some adaptation of the corresponding neighbor's regions or predictors. In embodiments, adaptation may include, for example, rotation of regions of corresponding neighbors, and may include coding blocks stepwise by 90° steps, if desired. For example, in the figure, if only neighbors AD, D, DC, C, and BC are available, a rotation of these neighbors and optionally a 180° rotation of the coding block can be performed. This may be a logical rotation or a memory operation such as transforming buffered data such as samples or syntax elements into a new buffered state.
Coordinate transformations can also include horizontal or vertical flips. This leads to different prediction candidate orders.
要約すると、実施形態で、データエンコーダ110は、例えば、8つの隣接するコーディングツリーユニットのコーディングツリーユニットを、8つの隣接するコーディングツリーユニットのうちの別の1つにシフトすることによって、画像内に位置する複数のコーディングツリーユニットのコーディングツリーユニットを符号化するように構成され得る。
In summary, in an embodiment,
同様に、実施形態によれば、データデコーダ170は、例えば、8つの隣接するコーディングツリーユニットのコーディングツリーユニットを、8つの隣接するコーディングツリーユニットのうちの別の1つにシフトすることによって、画像内に位置する複数のコーディングツリーユニットのコーディングツリーユニットを復号するように構成され得る。
次の副次的サブセクション「使用できないネイバーの置換の概念」では、使用できないネイバーの置き換えの概念について説明する。
Similarly, according to an embodiment, data decoder 170 may, for example, shift a coding tree unit of eight adjacent coding tree units to another one of the eight adjacent coding tree units to generate image may be configured to decode a coding tree unit of a plurality of coding tree units located within.
The next sub-subsection, "Concept of Unusable Neighbor Replacement," describes the concept of unavailable neighbor replacement.
場合によっては、空間的ネイバーは予測に利用できない。このような場合、導出アルゴリズムが、予測に使用できる、様々なネイバーを使用するか、アルゴリズムが、ビットストリームで明示的に送信された値か以前にコード化されたシンボルまたは再構築された値から導出されたものを用いることで、何らかの種類のフォールバックを使用して、値を導出する。 In some cases, spatial neighbors are not available for prediction. In such cases, either the derivation algorithm uses various neighbors that can be used for prediction, or the algorithm uses either values explicitly transmitted in the bitstream or from previously coded symbols or reconstructed values. Use derived to derive a value using some kind of fallback.
特定の実施形態では、予測に利用できない空間的ネイバーは、例えば、利用可能である場合、現在のブロックの下の空間的近傍からのネイバーによって置き換えられ得る。
それ以外の場合、下に空間予測子がない場合、現在のブロックが利用できる。デフォルトのフォールバックが使用される。
In certain embodiments, spatial neighbors that are not available for prediction may be replaced by neighbors from the spatial neighbors below the current block, if available, for example.
Otherwise, if there is no spatial predictor below, the current block is available. Default fallback is used.
以下では、このコンテキストでの「左下拡張」という用語は、現在のブロックの左下のサンプルが現在のCTUの底部のサンプル行にある特別な場合を除く、現在のブロックのすぐ左下にある0の定義に従ったブロックとして定義されている。この特殊なケースでは、現在のブロックの左下拡張ネイバーは、次のCTUラインのCTUの右上のブロックであり、提案されたブロック依存関係オフセットに従って予測に使用できる。
例えば、現在の最先端の標準0のQP予測スキームは、特定のfallBackQPで次の導出スキームを使用する。
A=(isLeftCUavailble ?CULeftQP:fallBackQP)
B=(isAboveCUavailble ?CUAboveQP:fallBackQP)
PredictedQP=(A+B+1)>>1
In the following, the term "bottom left extension" in this context refers to the definition of 0s immediately to the bottom left of the current block, except for the special case where the bottom left sample of the current block is in the bottom sample row of the current CTU. is defined as a block according to In this special case, the current block's lower-left extended neighbor is the upper-right block of the CTU of the next CTU line, which can be used for prediction according to the proposed block dependency offset.
For example, the current state-of-the-art standard 0 QP prediction scheme uses the following derivation scheme for a particular fallBackQP.
A = (isLeftCUavailable?CULeftQP: fallBackQP)
B = (isAboveCUavailable?CUAboveQP: fallBackQP)
Predicted QP = (A+B+1)>>1
特定の実施形態では、予測スキームは、左CUが応答する場合、左下拡張CUのQPを使用するように拡張される。上記のCUは予測に使用できないが、左下拡張のCUは予測に使用できる。通常のネイバーCUも左下拡張CUも予測に使用できない場合は、代わりにfallBackQPを使用してA、B各々の値を導出する。 In certain embodiments, the prediction scheme is extended to use the QP of the lower left extended CU if the left CU responds. The CU above cannot be used for prediction, but the CU in the lower left extension can be used for prediction. If neither the regular neighbor CU nor the lower left extended CU is available for prediction, fallBackQP is used instead to derive the values for A and B respectively.
A=(isLeftCUavailble ?CULeftQP:(isExtendedBelowLeftCUavailble ?CUExtendedBelowLeftQP:fallBackQP)) A = (isLeftCUavailable?CULeftQP: (isExtendedBelowLeftCUavailable?CUExtendedBelowLeftQP:fallBackQP))
B=(isAboveCUavailble ?CUAboveQP:(isExtendedBelowLeftCUavailble ?CUExtendedBelowLeftQP:fallBackQP))
PredictedQP=(A+B+1)>>1
ただし、この種の予測スキームは普遍的であり、左右のネイバーからの予測データを使用するすべての予測スキームに適用できる。
特に、
derivation of CABAC CTX CU split_flag
derivation of CABAC CTX affine_flag
derivation of CABAC CTX skip_flag
derivation of CABAC CTX imv_flag
derivation of CABAC CTX bt_split_flag
derivation of CABAC CTX intra_nn_flag
B = (isAboveCUavailable?CUAboveQP: (isExtendedBelowLeftCUavailable?CUExtendedBelowLeftQP:fallBackQP))
Predicted QP = (A+B+1)>>1
However, this kind of prediction scheme is universal and applicable to all prediction schemes using prediction data from left and right neighbors.
especially,
derivation of CABAC CTX CU split_flag
derivation of CABAC CTX affine_flag
derivation of CABAC CTX skip_flag
derivation of CABAC CTX imv_flag
derivation of CABAC CTX bt_split_flag
derivation of CABAC CTX intra_nn_flag
さらに、発明された予測スキームは、特定の予測子を導出するための規範的な復号プロセスでも使用することができる。例えば、動きベクトル成分と参照インデックスの導出プロセス、または輝度イントラ予測モードの導出プロセスが挙げられる。 Furthermore, the invented prediction scheme can also be used in the canonical decoding process to derive specific predictors. For example, a motion vector component and reference index derivation process, or a luma intra prediction mode derivation process can be mentioned.
要約すると、実施形態によれば、前記8つの隣接するコーディングツリーユニットは、第1の近傍であり、データエンコーダ110は、例えば、第2の近傍の別の8つの隣接するコーディングツリーユニットの第3のコーディングツリーユニットを、第1の近傍の8つの隣接するコーディングツリーユニットの第2のコーディングツリーユニットにシフトすることによって、複数のコーディングツリーユニットの前記コーディングツリーユニットを符号化するように構成でき、第1の近傍の8つの隣接するコーディングツリーユニットの前記第2のコーディングツリーユニットが利用できない場合、第2の近傍の前記別の8つの隣接するコーディングツリーユニットが前記第2のコーディングツリーユニットに隣接している。
In summary, according to an embodiment, said eight neighboring coding tree units are in a first neighborhood, and
同様に、実施形態では、8つの隣接するコーディングツリーユニットは、例えば、第1の近傍であり得、データデコーダ170は、例えば、第2の近傍の別の8つの隣接するコーディングツリーユニットの第3のコーディングツリーユニットを、第1の近傍の8つの隣接するコーディングツリーユニットの第2のコーディングツリーユニットにシフトすることによって、画像内に位置する複数のコーディングツリーユニットの前記コーディングツリーユニットを復号するように構成でき、第1の近傍の8つの隣接するコーディングツリーユニットの前記第2のコーディングツリーユニットが利用できない場合、第2の近傍の前記別の8つの隣接するコーディングツリーユニットが前記第2のコーディングツリーユニットに隣接している。 Similarly, in an embodiment, eight adjacent coding tree units may be, for example, a first neighborhood, and data decoder 170 may determine, for example, a third adjacent coding tree unit of another eight adjacent coding tree units in a second neighborhood, for example. a coding tree unit of a plurality of coding tree units located in an image by shifting a coding tree unit of a first neighboring coding tree unit to a second coding tree unit of eight neighboring coding tree units. and if the second coding tree unit of the eight neighboring coding tree units of the first neighborhood is not available, the other eight neighboring coding tree units of the second neighborhood are the second coding tree units Adjacent to tree unit.
さらには、符号化されたビデオ信号が符号化された画像データと指示データを含む、画像を符号化する符号化されたビデオ信号が提供され、画像は複数のコーディング領域に分割され、複数のコーディング領域の各コーディング領域は画像内に位置し、複数のコーディング領域のそれぞれは、画像内に位置する複数のコーディングツリーユニットの1つまたは複数のコーディングツリーユニットを含み、画像は、複数のコーディング領域に依存して符号化され、指示データは、複数のコーディング領域に関する情報を含み、複数のコーディング領域の1つまたは複数のコーディング領域は、複数のコーディングツリーユニットの2つまたはそれより多いコーディングツリーユニットを含み、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域は、前記コーディング領域の2つまたはそれより多いコーディングツリーユニットについてコーディング順序を示し、画像は、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に依存して符号化され、指示データは、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域のコーディング順序に関する情報を含む。 Further provided is an encoded video signal encoding the image, wherein the encoded video signal includes encoded image data and instruction data, the image is divided into a plurality of coding regions and a plurality of coding regions is provided. Each coding region of the region is located within the image, each of the plurality of coding regions includes one or more coding tree units of the plurality of coding tree units located within the image, and the image is divided into the plurality of coding regions. dependently encoded, the indication data including information about the plurality of coding regions, one or more coding regions of the plurality of coding regions indicating two or more coding tree units of the plurality of coding tree units; each coding region of one or more coding regions comprising two or more coding tree units, each coding region indicating a coding order for two or more coding tree units of said coding region; or depending on the coding order of one or more coding regions including two or more coding tree units; Contains information about the coding order.
実施形態によれば、複数のコーディング領域の各コーディング領域は、画像内で長方形に延び、複数のコーディング領域のそれぞれの1つまたは複数のコーディングツリーユニットの各コーディングツリーユニットは、画像内で長方形に延びる。 According to embodiments, each coding region of the plurality of coding regions extends rectangularly in the image, and each coding tree unit of the one or more coding tree units of each of the plurality of coding regions extends rectangularly in the image. Extend.
実施形態では、複数のコーディングツリーユニットのそれぞれは、画像内に水平な位置を有し、画像内に垂直な位置を有し、ここで、複数のコーディング領域の第1のコーディング領域は、複数のコーディング領域の異なる第2のコーディング領域の異なる第2のコーディングツリーユニットの第2の垂直な位置と同一である第1の垂直な位置を有する第1のコーディングツリーユニットを含み、第1のコーディング領域の第3のコーディングツリーユニットは、第2のコーディング領域の他のいずれかのコーディングツリーユニットの垂直な位置とは異なる第3の垂直な位置を有し、第2のコーディング領域の第4のコーディングツリーユニットは、第1のコーディング領域の他のいずれかのコーディングツリーユニットの垂直な位置と異なる第4の垂直な位置を有する、または複数のコーディング領域の第1のコーディング領域は、複数のコーディング領域の異なる第2のコーディング領域の異なる第2のコーディングツリーユニットの第2の水平な位置と同一である第1の水平な位置を有する第1のコーディングツリーユニットを含み、第1のコーディング領域の第3のコーディングツリーユニットは、第2のコーディング領域の他のいずれかのコーディングツリーユニットの水平な位置とは異なる第3の水平な位置を有し、第2のコーディング領域の第4のコーディングツリーユニットは、第1のコーディング領域の他のいずれかのコーディングツリーユニットの水平な位置とは異なる第4の水平な位置を有する。 In an embodiment, each of the plurality of coding tree units has a horizontal position within the image and a vertical position within the image, wherein the first coding region of the plurality of coding regions is a plurality of a first coding tree unit having a first vertical position identical to a second vertical position of a different second coding tree unit of a different second coding region of the coding region; has a third vertical position different from the vertical position of any other coding tree unit in the second coding region; and a fourth coding tree unit in the second coding region The tree unit has a fourth vertical position different from the vertical position of any other coding tree unit of the first coding region, or the first coding region of the plurality of coding regions is the plurality of coding regions a first coding tree unit having a first horizontal position identical to a second horizontal position of a different second coding tree unit of a different second coding region of the first coding region; The three coding tree units have a third horizontal position different from the horizontal positions of any other coding tree units in the second coding region, and a fourth coding tree unit in the second coding region. has a fourth horizontal position that is different from the horizontal position of any other coding tree unit of the first coding region.
実施形態によれば、複数のコーディング領域の各コーディング領域は、前記コーディング領域の位置、幅、および高さを含む空間特性を示し得、前記コーディング領域の幅および高さは、前記コーディング領域の長方形の延在に依存し、前記コーディング領域の位置は、画像内の前記コーディング領域の位置に依存する。 According to embodiments, each coding region of a plurality of coding regions may exhibit spatial characteristics including a position, width and height of said coding region, wherein said width and height of said coding region are defined by a rectangle of said coding region. and the position of the coding region depends on the position of the coding region in the image.
複数のコーディング領域のうちの第1の1つの第1の高さは、複数のコーディング領域のうちの第2の1つの第2の高さとは異なる、または複数のコーディング領域のうちの第1の1つの第1の幅は、複数のコーディング領域のうちの第2の1つの第2の幅とは異なり得る。
実施形態によれば、指示は、例えば、複数のコーディング領域の各コーディング領域の空間特性に関する情報を含み得る。
実施形態では、指示データは、例えば、複数のコーディング領域の各コーディング領域の位置、幅、および高さを含み得る。
The first height of the first one of the plurality of coding regions is different from the second height of the second one of the plurality of coding regions, or the first height of the plurality of coding regions is A first width of one may be different than a second width of a second one of the plurality of coding regions.
According to embodiments, the indication may include, for example, information regarding spatial properties of each coding region of the plurality of coding regions.
In embodiments, the indication data may include, for example, the position, width, and height of each coding region of the plurality of coding regions.
実施形態によれば、複数のコーディング領域のそれぞれの画像部分のイメージデータは、複数のコーディング領域の他のいずれかのコーディング領域の画像部分のイメージデータを符号化することとは独立して符号化され、符号化されたビデオ信号内の符号化された画像データを取得し得る。 According to an embodiment, the image data for each image portion of the plurality of coding regions is encoded independently of encoding the image data for the image portion of any other coding region of the plurality of coding regions. encoded image data in the encoded video signal may be obtained.
実施形態では、画像部分は、例えば、複数のコーディング領域の各コーディング領域内の画像部分のイメージデータを符号化して符号化された画像データを取得することにより、画像部分が符号化され、複数のコーディング領域のうちの少なくとも1つの画像部分のイメージデータは、複数のコーディング領域のうちの前記少なくとも1つのイメージデータを符号化することが、複数のコーディング領域のうちの少なくとも別の1つの画像データを符号化することに依存するように、符号化されたビデオ信号内に符号化され得る。
実施形態によれば、符号化されたビデオ信号は、例えば、ビットストリームを含み得、ビットストリームは、符号化された画像データおよび指示データを含む。
In an embodiment, the image portion is encoded, for example, by encoding the image data of the image portion within each coding region of the plurality of coding regions to obtain encoded image data, resulting in a plurality of image data for an image portion of at least one of the coding regions, wherein encoding the image data of the at least one of the plurality of coding regions encodes image data of at least another one of the plurality of coding regions; It can be encoded within the encoded video signal as it depends on the encoding.
According to embodiments, an encoded video signal may include, for example, a bitstream, which includes encoded image data and instructional data.
実施形態では、指示データは、例えば、左上のコーディングツリーユニットのアドレスが指定されているかどうかに関する各コーディング領域の情報を含み得る。 In embodiments, the indication data may include, for example, information for each coding region as to whether the upper left coding tree unit is addressed.
実施形態によれば、指示データは、例えば、複数のコーディング領域の数または複数のコーディング領域の数から1を引いた数、または複数のコーディング領域の数から2を引いた数に関する情報を含み得る。 According to embodiments, the instruction data may include information regarding, for example, the number of the plurality of coding regions or the number of the plurality of coding regions minus one, or the number of the plurality of coding regions minus two. .
実施形態では、指示データは、例えば、複数のコーディング領域のうちの1つが複数のコーディング領域のうちの別の1つに依存するかどうかを、複数のコーディング領域のうちの前記別の1つに続く複数のコーディング領域のうちの前記1つについて示すことができる。 In an embodiment, the indication data, for example, indicates whether one of the plurality of coding regions depends on another one of the plurality of coding regions. The one of the following coding regions can be indicated.
実施形態によれば、指示データは、例えば、複数のスライスのうちの正確に1つのスライスが、複数のコーディング領域のうちの正確に1つのコーディング領域に割り当てられているかどうかを示し得る。 According to embodiments, the indication data may indicate, for example, whether exactly one slice of the plurality of slices is assigned to exactly one coding region of the plurality of coding regions.
実施形態では、指示データは、例えば、指示データが、複数のコーディング領域の1つまたは複数のコーディングツリーユニットのそれぞれの中でスキャンする方法に関する情報を含むかどうかを示すことができる。 In embodiments, the indication data may indicate, for example, whether the indication data includes information regarding how to scan within each of the one or more coding tree units of the plurality of coding regions.
実施形態によれば、指示データは、例えば、複数のコーディング領域の1つまたは複数のコーディングツリーユニットのそれぞれの中でスキャンする方法を示すことができる。 According to embodiments, the instruction data may indicate, for example, how to scan within each of the one or more coding tree units of the plurality of coding regions.
実施形態では、指示データは、例えば、複数のコーディング領域のそれぞれについて、コーディング領域が複数のコーディングツリーユニットを含むかどうかを示すことができる。 In embodiments, the indication data may indicate, for example, for each of multiple coding regions, whether the coding region includes multiple coding tree units.
実施形態によれば、指示データは、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンが左端のコーディングツリーユニットで開始されるか、またはコーディングツリーユニットスキャンが右端のコーディングツリーユニットで開始されるかを示すことができる。 According to an embodiment, the indication data is, for example, for one of the plurality of coding regions, the coding tree unit scanning is to start at the leftmost coding tree unit or the coding tree unit scanning is to start at the rightmost coding tree unit. You can indicate whether it starts with
実施形態では、指示データは、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンがコーディング領域の上部のコーディングツリーユニット行で開始されるかどうか、またはコーディングツリーユニットスキャンがコーディング領域の下部コーディングツリーユニット行で開始されるかを示すことができる。 In an embodiment, the indication data indicates, for example, for one of the plurality of coding regions, whether the coding tree unit scan starts at a coding tree unit row at the top of the coding region, or whether the coding tree unit scan can indicate whether it starts at the bottom coding tree unit line of the .
実施形態では、指示データは、例えば、複数のコーディング領域のうちの1つについて、コーディングツリーユニットスキャンが水平方向に開始されるか、またはコーディングツリーユニットスキャンが垂直方向に開始されるかを示すことができる。 In an embodiment, the indication data indicates, for example, whether coding tree unit scanning is to be started horizontally or coding tree unit scanning is to be started vertically for one of the plurality of coding regions. can be done.
実施形態によれば、指示データは、例えば、複数のコーディング領域の少なくとも1つが複数のコーディング領域の別の1つを囲むかどうか、または複数のコーディング領域のいずれもコーディング領域の別の1つを囲まないかどうかを示す非連続情報を示すことができる。 According to embodiments, the indication data may, for example, indicate whether at least one of the plurality of coding regions surrounds another one of the plurality of coding regions, or whether any of the plurality of coding regions surrounds another one of the plurality of coding regions. Non-contiguous information can be indicated to indicate whether or not to enclose.
実施形態によれば、指示データは、例えば、複数のコーディング領域のうちの1つについて、コーディング領域の1つ内に水平方向に配置されたコーディングツリーユニットの数を指定するコーディングツリーユニットのコーディング領域の幅を示すことができる。 According to an embodiment, the indication data is, for example, for one of the plurality of coding regions, the coding region of the coding tree unit specifying the number of coding tree units arranged horizontally within one of the coding regions. can indicate the width of
実施形態では、指示データは、例えば、複数のコーディング領域のうちの1つについて、コーディング領域の1つ内に垂直方向に配置されるいくつかのコーディングツリーユニットを指定するコーディングツリーユニット内のコーディング領域の高さを示すことができる。 In an embodiment, the indication data is, for example, for one of the plurality of coding regions, a coding region within a coding tree unit specifying a number of coding tree units arranged vertically within one of the coding regions. can indicate the height of
実施形態によれば、指示データは、例えば、複数のコーディング領域のコーディング領域について、前記コーディング領域内の水平方向の最後のコーディングツリーユニットが、前記コーディングツリーユニットに水平方向に先行する前記コーディング領域の別のコーディングツリーユニットよりも小さいかどうかを示すことができる。 According to an embodiment, the indication data is, for example, for a coding region of a plurality of coding regions, the last coding tree unit in said coding region is the last coding tree unit in said coding region horizontally preceding said coding tree unit. It can indicate whether it is smaller than another coding tree unit.
特定の実施形態では、前記コーディング領域は、例えば、水平方向の複数の最後のコーディングツリーユニットを含み得、水平方向の前記最後のコーディングツリーユニットは、水平方向の前記複数の最後のコーディングツリーユニットの1つである。前記コーディング領域内の水平方向の前記最後のコーディングツリーユニットが、水平方向の前記最後のコーディングツリーユニットに先行する前記コーディング領域の前記別のコーディングツリーユニットよりも小さい場合、水平方向の複数の最後のコーディングツリーユニットのそれぞれは、例えば、同じ幅を有することができる。 In a particular embodiment, the coding region may include, for example, a plurality of last coding tree units in the horizontal direction, and the last coding tree unit in the horizontal direction is one of the last coding tree units in the horizontal direction. is one. If the last coding tree unit in the horizontal direction in the coding region is less than the another coding tree unit in the coding region preceding the last coding tree unit in the horizontal direction, then a plurality of last coding tree units in the horizontal direction Each of the coding tree units can have the same width, for example.
実施形態では、指示データは、例えば、複数のコーディング領域のコーディング領域について、前記コーディング領域内の垂直方向の最後のコーディングツリーユニットが、前記コーディングツリーユニットに垂直方向に先行する前記コーディング領域の別のコーディングツリーユニットよりも小さいかどうかを示すことができる。 In an embodiment, the indication data is, for example, for a coding region of a plurality of coding regions, the vertically last coding tree unit in said coding region is another coding tree unit in said coding region that vertically precedes said coding tree unit. It can indicate whether it is smaller than the coding tree unit.
特定の実施形態では、前記コーディング領域は、例えば、垂直方向の複数の最後のコーディングツリーユニットを含み得、垂直方向の前記最後のコーディングツリーユニットは、垂直方向の前記複数の最後のコーディングツリーユニットの1つである。前記コーディング領域内の垂直方向の前記最後のコーディングツリーユニットが、垂直方向の前記最後のコーディングツリーユニットに先行する前記コーディング領域の前記別のコーディングツリーユニットよりも小さい場合、垂直方向の複数の最後のコーディングツリーユニットのそれぞれは、例えば、同じ高さを有することができる。 In a particular embodiment, the coding region may include, for example, a plurality of vertically last coding tree units, wherein the vertically last coding tree unit is one of the plurality of vertically last coding tree units. is one. if the last coding tree unit in the vertical direction in the coding region is less than the another coding tree unit in the coding region preceding the last coding tree unit in the vertical direction, then a plurality of last vertical coding tree units Each of the coding tree units can have the same height, for example.
実施形態では、指示データは、コーディング領域について、前記コーディング領域の1つまたは複数のコーディングツリーユニットの1つを示す開始アドレスが示されているかどうか、または前記コーディング領域の1つまたは複数のコーディングツリーユニットの前記1つを示す開始アドレスが示されていないかどうかを示す。 In an embodiment, the indication data is whether, for a coding region, a start address indicating one of one or more coding tree units of said coding region is indicated, or whether one or more coding trees of said coding region is indicated. Indicates whether a starting address indicating said one of the units is not indicated.
実施形態によれば、指示データは、例えば、画像を1回または複数回分割することによって、画像を1回または複数回分割して複数のコーディング領域を取得する方法を示すことができる。
実施形態では、指示データは、例えば、複数のコーディング領域分割位置を示すことができる。
実施形態によれば、指示データは、例えば、複数のコーディング領域分割位置を、順序付けられたシーケンスとして示すことができる。
According to embodiments, the instruction data may indicate how to divide the image one or more times to obtain multiple coding regions, for example by dividing the image one or more times.
In embodiments, the indication data may indicate, for example, a plurality of coding region division positions.
According to embodiments, the indication data may indicate, for example, a plurality of coding region division positions as an ordered sequence.
実施形態では、指示データが、例えば、複数のコーディング領域分割位置を複数のコーディング領域分割位置値として示し得、複数のコーディング領域分割位置値のそれぞれは、画像の幅に依存するか、または画像の高さに依存する。 In embodiments, the indication data may indicate, for example, the multiple coding region splitting positions as multiple coding region splitting position values, each of the multiple coding region splitting position values depending on the width of the image or Height dependent.
実施形態によれば、指示データは、例えば、画像を1回または複数回階層的に分割することによって、画像を1回または複数回階層的に分割して複数のコーディング領域を取得する方法を示すことができる。 According to embodiments, the instruction data indicates how to hierarchically divide the image one or more times to obtain multiple coding regions, for example by hierarchically dividing the image one or more times. be able to.
実施形態では、指示データは、例えば、1つまたは複数のコーディング領域のコーディング領域に対する1つまたは複数の領域列停止フラグを含むことができ、1つまたは複数のコーディング領域のコーディング領域の領域列停止フラグが停止値に設定されている場合、前記領域列停止フラグは、例えば、前記コーディング領域の幅を示し得る。または、指示データは、例えば、1つまたは複数のコーディング領域のコーディング領域に対する1つまたは複数の領域ライン停止フラグを含むことができ、1つまたは複数のコーディング領域のコーディング領域の領域ライン停止フラグが停止値に設定されている場合、前記領域ライン停止フラグは、例えば、前記コーディング領域の高さを示し得る。 In embodiments, the indication data may include, for example, one or more region-sequence stop flags for the coding regions of the one or more coding regions, and the region-sequence stop flags for the coding regions of the one or more coding regions. The region column stop flag may for example indicate the width of the coding region if the flag is set to a stop value. Alternatively, the indication data may include, for example, one or more region line stop flags for the coding regions of the one or more coding regions, wherein the region line stop flags for the coding regions of the one or more coding regions are When set to a stop value, the region line stop flag may indicate, for example, the height of the coding region.
実施形態によれば、指示データは、例えば、明示的シグナリングモードがアクティブであるかどうか、または明示的シグナリングモードが非アクティブであるかどうかを示すことができる。明示的シグナリングモードがアクティブであり、コーディング領域の1つまたは複数のコーディングツリーユニットのコーディングツリーユニットが画像の画像境界に位置する場合、指示データは、例えば、前記コーディングツリーユニットの領域列停止フラグおよび領域ライン停止フラグの少なくとも1つを含み得る。明示的シグナリングモードが非アクティブであり、コーディング領域の1つまたは複数のコーディングツリーユニットの前記コーディングツリーユニットが画像の前記画像境界に位置する場合、指示データは、前記コーディングツリーユニットの領域列停止フラグを含まない、および/または前記コーディングツリーユニットの領域ライン停止フラグを含まない。 According to embodiments, the indication data may indicate, for example, whether the explicit signaling mode is active or whether the explicit signaling mode is inactive. If the explicit signaling mode is active and a coding tree unit of one or more coding tree units of a coding region is located at a picture boundary of a picture, the indication data are e.g. At least one of the region line stop flags may be included. If the explicit signaling mode is inactive and the coding tree unit of one or more coding tree units of a coding region is located at the image boundary of an image, the indication data is a region column stop flag of the coding tree unit. and/or does not include the region line stop flag of said coding tree unit.
実施形態によれば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域のコーディング順序は、ラスタースキャンに依存し、指示データが、例えば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域を符号化するためにラスタースキャンが使用されたことを示すことができる情報を含む。 According to an embodiment, the coding order of each coding region of the one or more coding regions comprising two or more coding tree units is raster scan dependent, and the indication data is e.g. Contains information that can indicate that raster scanning was used to encode each coding region of one or more coding regions containing many coding tree units.
実施形態では、指示データが、例えば、2つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各コーディング領域を符号化するために対角スキャンが使用されたことを示すことができる情報を含む。 In embodiments, the indication data may indicate, for example, that diagonal scanning was used to encode each coding region of one or more coding regions comprising two or more coding tree units. including information that can be
実施形態では、指示データが、例えば、5つまたはそれより多いコーディングツリーユニットを含む1つまたは複数のコーディング領域の各前記領域を符号化するためにzスキャンが使用されたことを示すことができる。
実施形態では、指示データは、例えば、1つまたは複数のスキャン方向を含むスキャン順序を示し得る。
In embodiments, the indication data may indicate that a z-scan was used to encode each of one or more coding regions comprising, for example, five or more coding tree units. .
In embodiments, the instructional data may indicate a scan order including, for example, one or more scan directions.
実施形態によれば、例えば、指示データは、例えば、1つまたは複数のスキャン方向の選択されたスキャン方向を示すことができるインデックスを示すことができる。
実施形態では、指示データは、コード化されたビデオシーケンスのエラーの回復力に関する情報を含む。
According to embodiments, for example, the indication data may indicate an index that may indicate, for example, the selected scanning direction of one or more scanning directions.
In embodiments, the indication data includes information about the error resilience of the encoded video sequence.
実施形態によれば、エラーの回復力に関する情報は、例えば、コード化されたビデオシーケンスのエラーの回復力に関する3つまたはそれより多い異なる状態のうちの1つを示し得る。 According to embodiments, the error resilience information may indicate, for example, one of three or more different error resilience conditions of the coded video sequence.
実施形態では、3つまたはそれより多い異なる状態の第1の状態は、例えば、アクセスユニットがエラーの回復力がないことを示し得る。3つまたはそれより多い異なる状態の第2の状態は、例えば、画像のパラメータセットの第1の複数のアクセスユニットにはエラーの回復力がないことを示し得る。3つまたはそれより多い異なる状態の第3の状態は、例えば、シーケンスパラメータセットの第2の複数のアクセスユニットにはエラーの回復力がないことを示し得る。 In embodiments, a first state of three or more different states may indicate, for example, that the access unit is not error resilient. A second state of three or more different states may indicate, for example, that the first plurality of access units of the image's parameter set is not error resilient. A third state of three or more different states may indicate, for example, that the second plurality of access units of the sequence parameter set is not error resilient.
別の実施形態では、エラーの回復力に関する情報は、例えば、コード化されたビデオシーケンスのエラーの回復力に関する4つまたはそれより多い異なる状態のうちの1つを示し得る。4つまたはそれより多い異なる状態の第1の状態は、例えば、エラーの回復力が画像レベルで損なわれ、複数画像レベルで損なわれ、シーケンスレベルで損なわれることを示し得る。4つまたはそれより多い異なる状態の第2の状態は、例えば、エラーの回復力が画像レベルで損なわれ、複数画像レベルで損なわれるが、シーケンスレベルでは損なわれないことを示し得る。4つまたはそれより多い異なる状態の第3の状態は、例えば、エラーの回復力が画像レベルで損なわれるが、エラーの回復力が複数画像レベルで損なわれず、シーケンスレベルで損なわれないことを示し得る。また、4つまたはそれより多い異なる状態の第4の状態は、例えば、エラーの回復力が画像レベルで損なわれず、複数画像レベルで損なわれず、シーケンスレベルで損なわれないことを示し得る。 In another embodiment, the error resilience information may indicate, for example, one of four or more different states of error resilience of the encoded video sequence. A first state of four or more different states may indicate, for example, that error resilience is compromised at the image level, compromised at the multi-image level, and compromised at the sequence level. A second state of four or more different states may indicate, for example, that error resilience is compromised at the image level, is compromised at the multi-image level, but is not compromised at the sequence level. A third state of four or more different states, for example, indicates that error resilience is compromised at the image level, but error resilience is not compromised at the multiple image level and not at the sequence level. obtain. A fourth state of four or more different states may also indicate, for example, that error resilience is not compromised at the image level, is not compromised at the multi-image level, and is not compromised at the sequence level.
いくつかの態様が装置の文脈で説明されたが、これらの態様は、対応する方法の説明も表すことは明らかであり、ブロックまたはデバイスは、方法ステップまたは方法ステップの特徴に対応する。同様に、方法ステップの文脈で説明された態様は、対応する装置の対応するブロックまたはアイテムまたは機能の説明も表す。方法ステップの一部またはすべては、例えば、マイクロプロセッサ、プログラム可能なコンピュータ、または電子回路などのハードウェア装置によって(または使用して)実行することができる。いくつかの実施形態では、最も重要な方法ステップの1つまたは複数は、そのような装置によって実行され得る。 Although some aspects have been described in the context of apparatus, it is clear that these aspects also represent descriptions of corresponding methods, where blocks or devices correspond to method steps or features of method steps. Similarly, aspects described in the context of method steps also represent descriptions of corresponding blocks or items or functions of the corresponding apparatus. Some or all of the method steps may be performed by (or using) a hardware apparatus such as, for example, a microprocessor, programmable computer, or electronic circuitry. In some embodiments, one or more of the most critical method steps may be performed by such apparatus.
特定の実装要件に依存して、本発明の実施形態は、ハードウェアまたはソフトウェアで、または少なくとも部分的にハードウェアで、または少なくとも部分的にソフトウェアで実装することができる。実装は、フロッピーディスク、DVD、ブルーレイ、CD、ROM、PROM、EPROM、EEPROM、フラッシュメモリなどのデジタル記憶媒体を使用して実行でき、電子的に読み取り可能な制御信号が格納されており、それぞれの方法が実行されるように、プログラム可能なコンピュータシステムと協働する(または協働することができる)。したがって、デジタル記憶媒体は、コンピュータ読み取り可能であり得る。 Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or software, or at least partially in hardware, or at least partially in software. Implementations can be performed using digital storage media such as floppy disks, DVDs, Blu-rays, CDs, ROMs, PROMs, EPROMs, EEPROMs, flash memories, etc., containing electronically readable control signals, and the respective It cooperates (or can cooperate) with a programmable computer system so that the method is performed. As such, a digital storage medium may be computer readable.
本発明によるいくつかの実施形態は、本明細書に記載の方法の1つが実行されるように、プログラム可能なコンピュータシステムと協働することができる電子的に読み取り可能な制御信号を有するデータキャリアを含む。 Some embodiments according to the present invention include a data carrier having electronically readable control signals operable to cooperate with a programmable computer system to perform one of the methods described herein. including.
一般に、本発明の実施形態は、プログラムコードを伴うコンピュータプログラム製品として実装することができ、プログラムコードは、コンピュータプログラム製品がコンピュータで実行されるときに方法の1つを実行するように動作する。プログラムコードは、例えば、機械可読キャリアに格納されてもよい。
他の実施形態は、機械可読キャリアに格納された、本明細書に記載された方法の1つを実行するためのコンピュータプログラムを含む。
Generally, embodiments of the invention can be implemented as a computer program product with program code that operates to perform one of the methods when the computer program product is run on a computer. Program code may be stored, for example, in a machine-readable carrier.
Another embodiment includes a computer program stored on a machine-readable carrier for performing one of the methods described herein.
言い換えれば、本発明の方法の実施形態は、したがって、コンピュータプログラムがコンピュータで実行されるときに、本明細書で説明される方法の1つを実行するためのプログラムコードを有するコンピュータプログラムである。 In other words, an embodiment of the method of the present invention is therefore a computer program having program code for performing one of the methods described herein when the computer program is run on a computer.
したがって、本発明の方法のさらなる実施形態は、記録される本明細書に記載の方法の1つを実行するためのコンピュータプログラムを含むデータキャリア(またはデジタル記憶媒体、またはコンピュータ可読媒体)である。データキャリア、デジタル記憶媒体、または記録された媒体は、通常、有形および/または非一時的である。 A further embodiment of the method of the invention is therefore a data carrier (or digital storage medium or computer readable medium) having recorded on it a computer program for performing one of the methods described herein. A data carrier, digital storage medium, or recorded medium is typically tangible and/or non-transitory.
したがって、本発明の方法のさらなる実施形態は、本明細書で説明される方法の1つを実行するためのコンピュータプログラムを表すデータストリームまたは一連の信号である。データストリームまたは一連の信号は、例えば、インターネットなどのデータ通信接続を介して転送されるように構成されてもよい。 A further embodiment of the method of the invention is therefore a data stream or sequence of signals representing a computer program for performing one of the methods described herein. A data stream or series of signals may be configured to be transferred over a data communication connection such as, for example, the Internet.
さらなる実施形態は、本明細書に記載された方法の1つを実行するように構成または適合された処理手段、例えば、コンピュータまたはプログラマブル論理デバイスを含む。
さらなる実施形態は、本明細書に記載される方法の1つを実行するためのコンピュータプログラムがインストールされているコンピュータを含む。
Further embodiments include processing means, such as a computer or programmable logic device, configured or adapted to perform one of the methods described herein.
A further embodiment includes a computer installed with a computer program for performing one of the methods described herein.
本発明によるさらなる実施形態は、本明細書に記載の方法の1つを実行するためのコンピュータプログラムを(例えば、電子的または光学的に)受信機に転送するように構成された装置またはシステムを含む。受信機は、例えば、コンピュータ、モバイルデバイス、メモリデバイスなどであり得る。装置またはシステムは、例えば、コンピュータプログラムを受信機に転送するためのファイルサーバを含み得る。 A further embodiment according to the present invention provides a device or system configured to transfer (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. include. A receiver can be, for example, a computer, mobile device, memory device, or the like. A device or system may include, for example, a file server for transferring computer programs to receivers.
いくつかの実施形態では、プログラマブル論理デバイス(例えば、フィールドプログラマブルゲートアレイ)を使用して、本明細書に記載されている方法の機能の一部またはすべてを実行することができる。いくつかの実施形態では、フィールドプログラマブルゲートアレイは、本明細書で説明される方法の1つを実行するために、マイクロプロセッサと協働し得る。一般に、方法は、好ましくは、任意のハードウェア装置によって実行される。 In some embodiments, programmable logic devices (eg, field programmable gate arrays) can be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the method is preferably performed by any hardware device.
本明細書で説明する装置は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組合せを使用して、実装することができる。 The devices described herein can be implemented using a hardware device, or using a computer, or using a combination of hardware devices and computers.
本明細書で説明する方法は、ハードウェア装置を使用して、またはコンピュータを使用して、またはハードウェア装置とコンピュータの組合せを使用して、実行することができる。 The methods described herein can be performed using hardware devices, or using computers, or using a combination of hardware devices and computers.
上記の実施形態は、本発明の原理を単に例示するものである。本明細書に記載の配置および細部の修正および変形は、当業者には明らかであることが理解される。したがって、本明細書の実施形態の記載および説明として提示される特定の細部によってではなく、直近の特許クレームの範囲によってのみ制限されることが意図されている。 The above-described embodiments are merely illustrative of the principles of the invention. It is understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. It is the intention, therefore, to be limited only by the scope of the immediate patent claims and not by the specific details presented in the description and explanation of the embodiments herein.
参考文献
[1] ISO/IEC, ITU-T. High efficiency video coding. ITU-T Recommendation H.265 | ISO/IEC 23008 10 (HEVC), edition 1, 2013; edition 2, 2014.
References [1] ISO/IEC, ITU-T. High efficiency video coding. ITU-T Recommendation H. 265 | ISO/IEC 23008 10 (HEVC), edition 1, 2013; edition 2, 2014.
[2] European Patent Application, Application No. EP 18165249.6; filed on 29 March 2018. [2] European Patent Application, Application No. EP 18165249.6; filed on 29 March 2018.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023041762A JP2023072073A (en) | 2018-07-09 | 2023-03-16 | Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18182554.8 | 2018-07-09 | ||
EP18182554 | 2018-07-09 | ||
PCT/EP2019/068429 WO2020011796A1 (en) | 2018-07-09 | 2019-07-09 | Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023041762A Division JP2023072073A (en) | 2018-07-09 | 2023-03-16 | Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2021524706A JP2021524706A (en) | 2021-09-13 |
JPWO2020011796A5 true JPWO2020011796A5 (en) | 2022-11-24 |
JP7248775B2 JP7248775B2 (en) | 2023-03-29 |
Family
ID=62909397
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021500701A Active JP7248775B2 (en) | 2018-07-09 | 2019-07-09 | Encoders and decoders, encoding methods and decoding methods for various spatial divisions of coded images |
JP2023041762A Pending JP2023072073A (en) | 2018-07-09 | 2023-03-16 | Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023041762A Pending JP2023072073A (en) | 2018-07-09 | 2023-03-16 | Encoder and decoder, encoding method and decoding method for versatile spatial partitioning of coded pictures |
Country Status (7)
Country | Link |
---|---|
US (3) | US11336890B2 (en) |
EP (1) | EP3821600A1 (en) |
JP (2) | JP7248775B2 (en) |
KR (2) | KR20230106707A9 (en) |
CN (2) | CN112655208B (en) |
TW (2) | TWI743514B (en) |
WO (1) | WO2020011796A1 (en) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PL3903489T3 (en) | 2018-12-27 | 2024-07-08 | Huawei Technologies Co., Ltd. | Flexible tiling improvements in video coding |
US11758132B2 (en) * | 2018-12-28 | 2023-09-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Encoder and decoder, encoding method and decoding method with complexity handling for flexibly sized picture partitions |
WO2020142483A1 (en) * | 2018-12-31 | 2020-07-09 | Futurewei Technologies, Inc. | Explicit address signaling in video coding |
JP7403245B2 (en) | 2019-06-21 | 2023-12-22 | キヤノン株式会社 | Image decoding device, image decoding method |
JP2021002773A (en) * | 2019-06-21 | 2021-01-07 | キヤノン株式会社 | Image coding device, image decoding device, image coding method, and image decoding method |
US11425376B2 (en) * | 2019-08-23 | 2022-08-23 | Apple Inc. | Image signal encoding/decoding method and apparatus therefor |
CN110677692B (en) * | 2019-09-27 | 2022-12-06 | 腾讯科技(深圳)有限公司 | Video decoding method and device and video encoding method and device |
CN118450117A (en) * | 2019-11-18 | 2024-08-06 | Lg电子株式会社 | Image encoding/decoding method, bit stream generating method, and data transmitting method |
KR20220082059A (en) * | 2019-11-18 | 2022-06-16 | 엘지전자 주식회사 | Video coding apparatus and method for controlling loop filtering |
JP7375196B2 (en) | 2019-11-18 | 2023-11-07 | エルジー エレクトロニクス インコーポレイティド | Image coding device and method based on filtering |
WO2021133236A1 (en) * | 2019-12-24 | 2021-07-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Virtual boundary processing for adaptive loop filtering |
CN115152210A (en) | 2020-02-24 | 2022-10-04 | 字节跳动有限公司 | Derivation of sub-picture height |
US20230096855A1 (en) * | 2020-02-25 | 2023-03-30 | Lg Electronics Inc. | In-loop filtering-based image coding device and method |
KR20220143857A (en) | 2020-03-03 | 2022-10-25 | 바이트댄스 아이엔씨 | Low Frequency Non-Separable Transform Signaling in Video Coding |
KR20220137954A (en) * | 2020-03-09 | 2022-10-12 | 엘지전자 주식회사 | An image coding method based on tile-related information and slice-related information in a video or image coding system |
EP4120681A4 (en) * | 2020-03-09 | 2024-03-06 | LG Electronics, Inc. | Image encoding/decoding method and apparatus for selectively encoding size information of rectangular slice, and method for transmitting bitstream |
US11800096B2 (en) * | 2020-03-31 | 2023-10-24 | Tencent America LLC | Method for signaling virtual boundary signaling with subpictures in coded video stream |
US20240040130A1 (en) * | 2020-04-22 | 2024-02-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Compresssed picture-in-picture signaling |
EP4254948A1 (en) * | 2022-03-31 | 2023-10-04 | Beijing Xiaomi Mobile Software Co., Ltd. | Encoding/decoding video picture partitionned in ctu grids |
WO2023195819A1 (en) * | 2022-04-07 | 2023-10-12 | 엘지전자 주식회사 | Adaptive slice scan method-based image encoding/decoding method and apparatus, and recording medium for storing bitstream |
WO2024112035A1 (en) * | 2022-11-24 | 2024-05-30 | 삼성전자 주식회사 | Electronic device and electronic device data compression method |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003259377A (en) * | 2002-03-06 | 2003-09-12 | Matsushita Electric Ind Co Ltd | Moving picture encoding method, moving picture decoding method, and code string format |
KR101675118B1 (en) * | 2010-01-14 | 2016-11-10 | 삼성전자 주식회사 | Method and apparatus for video encoding considering order of skip and split, and method and apparatus for video decoding considering order of skip and split |
MY188970A (en) | 2011-03-10 | 2022-01-16 | Velos Media Int Ltd | A method for decoding video |
US10616573B2 (en) * | 2013-01-07 | 2020-04-07 | Nokia Technologies Oy | Method and apparatus for video coding and decoding |
US9628792B2 (en) * | 2013-07-15 | 2017-04-18 | Qualcomm Incorporated | Cross-layer parallel processing and offset delay parameters for video coding |
US9514928B2 (en) * | 2014-01-15 | 2016-12-06 | Taiwan Semiconductor Manufacturing Co., Ltd. | Selective repairing process for barrier layer |
EP3114835B1 (en) * | 2014-03-04 | 2020-04-22 | Microsoft Technology Licensing, LLC | Encoding strategies for adaptive switching of color spaces |
EP3917146A1 (en) * | 2014-09-30 | 2021-12-01 | Microsoft Technology Licensing, LLC | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
JP2016103707A (en) | 2014-11-27 | 2016-06-02 | 富士通株式会社 | Moving image coding device, moving image coding method, and computer program for coding moving image |
CN107431806B (en) | 2015-03-19 | 2020-07-31 | Lg 电子株式会社 | Method for processing video signal and apparatus therefor |
EP3185553A1 (en) * | 2015-12-21 | 2017-06-28 | Thomson Licensing | Apparatus, system and method of video compression using smart coding tree unit scanning and corresponding computer program and medium |
JP6906940B2 (en) | 2015-12-28 | 2021-07-21 | 株式会社半導体エネルギー研究所 | Semiconductor device |
MX2018011198A (en) * | 2016-03-16 | 2019-05-20 | Mediatek Inc | Method and apparatus of video data processing with restricted block size in video coding. |
KR102445668B1 (en) | 2016-06-01 | 2022-09-21 | 삼성전자주식회사 | Method and Apparatus for video encoding and Method and Apparatus for video decoding |
US10880548B2 (en) | 2016-06-01 | 2020-12-29 | Samsung Electronics Co., Ltd. | Methods and apparatuses for encoding and decoding video according to coding order |
CN117412037A (en) | 2016-08-31 | 2024-01-16 | 株式会社Kt | Method and apparatus for processing video signal |
JP7187572B2 (en) | 2018-03-29 | 2022-12-12 | フラウンホーファー-ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン | Enhancement concept of parallel coding function |
WO2019185815A1 (en) | 2018-03-29 | 2019-10-03 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Partitioning concepts for block-based picture coding |
-
2019
- 2019-07-09 KR KR1020237021496A patent/KR20230106707A9/en not_active Application Discontinuation
- 2019-07-09 KR KR1020217004050A patent/KR102549562B1/en active IP Right Grant
- 2019-07-09 EP EP19735604.1A patent/EP3821600A1/en active Pending
- 2019-07-09 WO PCT/EP2019/068429 patent/WO2020011796A1/en unknown
- 2019-07-09 CN CN201980058369.9A patent/CN112655208B/en active Active
- 2019-07-09 CN CN202311616944.7A patent/CN117750026A/en active Pending
- 2019-07-09 TW TW108124128A patent/TWI743514B/en active
- 2019-07-09 JP JP2021500701A patent/JP7248775B2/en active Active
- 2019-07-09 TW TW110135275A patent/TWI792578B/en active
-
2021
- 2021-01-04 US US17/140,560 patent/US11336890B2/en active Active
-
2022
- 2022-04-12 US US17/719,249 patent/US11770528B2/en active Active
-
2023
- 2023-03-16 JP JP2023041762A patent/JP2023072073A/en active Pending
- 2023-08-14 US US18/449,562 patent/US12120298B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7248775B2 (en) | Encoders and decoders, encoding methods and decoding methods for various spatial divisions of coded images | |
JP7140870B2 (en) | Low latency image coding | |
TWI766334B (en) | Video coding with subpictures | |
TWI761332B (en) | Predicting filter coefficients from fixed filters for video coding | |
JPWO2020011796A5 (en) | ||
US9716900B2 (en) | Extensible design of nesting supplemental enhancement information (SEI) messages | |
US11330297B2 (en) | Methods incorporating extensions to copy-above mode for palette mode coding | |
US20150271526A1 (en) | Derivation of sps temporal id nesting information for multi-layer bitstreams | |
US20230060709A1 (en) | Video coding supporting subpictures, slices and tiles | |
TWI809416B (en) | Method and apparatus for video sequence coding | |
CN115804087A (en) | Method, apparatus and system for encoding and decoding a block of video samples | |
RU2815441C2 (en) | Method of filling samples at adaptive contour filtration | |
RU2811461C2 (en) | Classification in adaptive circuit filtration | |
TW202143714A (en) | Method and apparatus for signaling tile and slice partition information in image and video coding |