Image encoding / decoding method and device, and recording medium on which bitstream is stored

By providing bit depth range information with explicit partition identification, the method enhances the efficiency and reliability of video encoding and decoding high-resolution video, addressing the challenges of bit depth restoration in existing technologies.

WO2026101195A1PCT designated stage Publication Date: 2026-05-15LG ELECTRONICS INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
LG ELECTRONICS INC
Filing Date
2025-11-04
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

Existing video compression technologies face challenges in efficiently encoding and decoding high-resolution, high-quality video due to the lack of clear bit depth range information, leading to difficulties in restoring target pictures with the same bit depth as the original source.

Method used

The method and apparatus provide bit depth range information, including partition ID length and partition parameter length information, which are signaled based on partition type, allowing for explicit partition identification and independent expression within the bit depth range information SEI, enhancing the independence and usability of this information.

Benefits of technology

This solution enables easy verification of information required for restoring target pictures with the same bit depth as the original source, improving the efficiency and reliability of video encoding and decoding processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025017982_15052026_PF_FP_ABST
    Figure KR2025017982_15052026_PF_FP_ABST
Patent Text Reader

Abstract

An image decoding method and device according to the present disclosure can receive a bitstream including an encoded video picture and reconstruct the encoded video picture included in the bitstream. Here, the bitstream may include bit depth range information. The bit depth range information may include either partition ID length information or partition parameter length information.
Need to check novelty before this filing date? Find Prior Art

Description

Video encoding / decoding method and device, and a recording medium storing a bitstream

[0001] The present invention relates to a video encoding / decoding method and apparatus, and a recording medium storing a bitstream.

[0002] Recently, the demand for high-resolution, high-quality video, such as HD (High Definition) and UHD (Ultra High Definition) video, has been increasing across various application fields, and accordingly, high-efficiency video compression technologies are being discussed.

[0003] Various image compression technologies exist, such as inter-prediction technology that predicts pixel values ​​in the current picture from previous or subsequent pictures, intra-prediction technology that predicts pixel values ​​in the current picture using pixel information within the current picture, and entropy coding technology that assigns short codes to values ​​with high frequency and long codes to values ​​with low frequency; by utilizing these image compression technologies, image data can be effectively compressed for transmission or storage.

[0004] The present disclosure provides a method and apparatus for configuring bit depth range information.

[0005] The present disclosure provides a method and apparatus for signaling bit depth range information.

[0006] A video decoding method and apparatus according to the present disclosure receive a bitstream including an encoded video picture and can restore the encoded video picture included in the bitstream. The bitstream may include bit depth range information. The bit depth range information may include either partition ID length information or partition parameter length information. The partition ID length information may represent the length of at least one of constituent rectangle ID information or sub-picture ID information. The partition parameter length information may represent the length of partition-related information. The bit depth range information may be obtained from a network abstraction layer (NAL) unit of the bitstream.

[0007] In the image decoding method and apparatus according to the present disclosure, the bit depth range information may further include partition type information indicating the type of partition in which the bit depth range is encoded.

[0008] In the image decoding method and apparatus according to the present disclosure, the partition ID length information or the partition parameter length information may be signaled based on the partition type information.

[0009] In the image decoding method and apparatus according to the present disclosure, the partition ID length information may be signaled based on the fact that the partition type information does not indicate the existence of partition-related information explicitly defined.

[0010] In the image decoding method and apparatus according to the present disclosure, the partition parameter length information may be signaled based on the partition type information indicating that there is partition-related information explicitly defined.

[0011] In the image decoding method and apparatus according to the present disclosure, the partition-related information may be signaled based on the partition type information indicating that there is explicitly defined partition-related information.

[0012] In the image decoding method and apparatus according to the present disclosure, the partition-related information may include at least one of partition horizontal position information specifying the horizontal position of the upper-left corner of the partition, partition vertical position information specifying the vertical position of the upper-left corner of the partition, partition width information indicating the width of the partition, or partition height information indicating the height of the partition.

[0013] In the image decoding method and apparatus according to the present disclosure, the partition-related information may be encoded as an unsigned integer using a variable number of bits.

[0014] A video encoding method and apparatus according to the present disclosure may receive a video picture to be encoded, encode the received video picture to generate video information regarding the video picture, generate bit depth range information, and generate a bitstream including the video information and the bit depth range information. The bit depth range information may include either partition ID length information or partition parameter length information. The partition ID length information may represent the length of at least one of constituent rectangle ID information or sub-picture ID information. The partition parameter length information may represent the length of partition-related information. The bit depth range information may be encoded in a network abstraction layer (NAL) unit of the bitstream.

[0015] A computer-readable digital storage medium is provided that stores encoded video / image information that causes an image decoding method to be performed by a decoding device according to the present disclosure.

[0016] A computer-readable digital storage medium is provided that stores video / image information generated according to the image encoding method according to the present disclosure.

[0017] A method and apparatus for transmitting video / image information generated according to the image encoding method according to the present disclosure are provided.

[0018] According to the present disclosure, by defining bit depth range information, information required for the restoration of a target picture having the same bit depth as the original source picture can be easily verified.

[0019] According to the present disclosure, by defining bit depth range information, information related to bit depth range partitions can be independently expressed within the bit depth range information SEI (supplemental enhancement information), thereby increasing the independence and usability of the bit depth range information SEI.

[0020] FIG. 1 illustrates a video / image coding system according to the present disclosure.

[0021] FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied and to which encoding of a video / image signal is performed.

[0022] FIG. 3 shows a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied and to which decoding of a video / image signal is performed.

[0023] FIG. 4 illustrates a method for restoring a video picture performed in a decoding device (300) according to the present disclosure.

[0024] FIG. 5 illustrates a schematic configuration of a decoding device (300) that performs a method for restoring a video picture according to the present disclosure.

[0025] FIG. 6 illustrates a method for generating a bitstream performed in an encoding device (200) according to the present disclosure.

[0026] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs a method for generating a bitstream according to the present disclosure.

[0027] FIG. 8 shows an example of a content streaming system to which embodiments of the present disclosure can be applied.

[0028] The present disclosure is susceptible to various modifications and may have various embodiments; specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present disclosure to specific embodiments, and it should be understood that it includes all modifications, equivalents, and substitutions that fall within the spirit and scope of the present disclosure. Similar reference numerals have been used for similar components in the description of each drawing.

[0029] Terms such as "first," "second," etc., may be used to describe various components, but said components should not be limited by said terms. Such terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, the first component may be named the second component, and similarly, the second component may be named the first component. The term "and / or" includes a combination of a plurality of related described items or any of a plurality of related described items.

[0030] When it is stated that one component is "connected" or "connected" to another component, it should be understood that while it may be directly connected or connected to that other component, there may also be other components in between. On the other hand, when it is stated that one component is "directly connected" or "directly connected" to another component, it should be understood that there are no other components in between.

[0031] The terms used in this application are used merely to describe specific embodiments and are not intended to limit the disclosure. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, terms such as “comprising” or “having” are intended to specify the presence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.

[0032] The present disclosure relates to video / video coding. For example, the methods / embodiments disclosed herein may be applied to methods disclosed in the VVC (versatile video coding) standard. Additionally, the methods / embodiments disclosed herein may be applied to methods disclosed in the EVC (essential video coding) standard, AV1 (AOMedia Video 1) standard, AVS2 (2nd generation of audio video coding standard), or next-generation video / video coding standards (e.g., H.267 or H.268).

[0033] This specification presents various embodiments regarding video / image coding, and unless otherwise noted, said embodiments may be performed in combination with one another.

[0034] In this specification, "video" may refer to a set of images over time. "Picture" generally refers to a unit representing a single image of a specific time period, and "slice" or "tile" is a unit that constitutes a part of a picture in coding. A slice or tile may contain one or more coding tree units (CTUs). A picture may consist of one or more slices or tiles. A tile is a rectangular area composed of multiple CTUs within a specific tile column and a specific tile row of a picture. A tile column is a rectangular area of ​​CTUs having a height equal to the height of the picture and a width specified by the syntax requirements of the picture parameter set. A tile row is a rectangular area of ​​CTUs having a height specified by the picture parameter set and a width equal to the width of the picture. CTUs within a tile are arranged continuously according to the CTU raster scan, whereas tiles within a picture may be arranged continuously according to the tile's raster scan. A single slice may include an integer number of complete tiles or an integer number of consecutive complete CTU rows within a tile of a picture that can be exclusively contained in a single NAL unit. Meanwhile, a single picture may be divided into two or more subpictures. A subpicture may be a rectangular area of ​​one or more slices within a picture.

[0035] A pixel, or pel, can refer to the smallest unit that constitutes a picture (or image). Additionally, the term 'sample' may be used as a counterpart to pixel. A sample generally represents a pixel or its value, and it may represent only the pixel / pixel value of the luminance (luma) component or only the pixel / pixel value of the chroma component.

[0036] A unit may represent a basic unit of image processing. A unit may include at least one of a specific area of ​​a picture and information related to that area. A unit may include one luminance block and two chroma (e.g., cb, cr) blocks. Depending on the case, the term unit may be used interchangeably with terms such as block or area. In general, an MxN block may include samples (or sample arrays) or a set (or array) of transform coefficients consisting of M columns and N rows.

[0037] In this specification, "A or B" may mean "only A," "only B," or "both A and B." Alternatively, in this specification, "A or B" may be interpreted as "A and / or B." For example, in this specification, "A, B or C" may mean "only A," "only B," "only C," or "any combination of A, B and C."

[0038] A slash ( / ) or a comma used in this specification may mean "and / or." For example, "A / B" may mean "A and / or B." Accordingly, "A / B" may mean "only A," "only B," or "both A and B." For example, "A, B, C" may mean "A, B or C."

[0039] In this specification, "at least one of A and B" may mean "only A," "only B," or "both A and B." Additionally, in this specification, the expressions "at least one of A or B" or "at least one of A and / or B" may be interpreted as synonymous with "at least one of A and B."

[0040] Additionally, in this specification, "at least one of A, B and C" may mean "only A," "only B," "only C," or "any combination of A, B and C." Also, "at least one of A, B or C" or "at least one of A, B and / or C" may mean "at least one of A, B and C."

[0041] Additionally, parentheses used in this specification may mean "for example." Specifically, where indicated as "prediction (intra-prediction)," "intra-prediction" may be proposed as an example of "prediction." In other words, "prediction" in this specification is not limited to "intra-prediction," and "intra-prediction" may be proposed as an example of "prediction." Furthermore, even where indicated as "prediction (i.e., intra-prediction)," "intra-prediction" may be proposed as an example of "prediction."

[0042] Technical features described individually within a single drawing in this specification may be implemented individually or simultaneously.

[0043] FIG. 1 illustrates a video / image coding system according to the present disclosure.

[0044] Referring to FIG. 1, the video / image coding system may include a first device (source device) (10) and a second device (receiving device) (20).

[0045] A source device (10) can transmit encoded video / image information or data in the form of a file or streaming to a receiving device (20) via a digital storage medium or network. The source device (10) may include a video source (11), an encoding device (12), and a transmission unit (13). The receiving device (20) may include a receiving unit (21), a decoding device (22), and a renderer (23). The encoding device (12) may be called a video / image encoding device, and the decoding device (22) may be called a video / image decoding device. A transmitter may be included in the encoding device. A receiver may be included in the decoding device. The renderer (23) may include a display unit, and the display unit may be composed of a separate device or an external component.

[0046] A video source (11) can acquire video / image through a process of capturing, synthesizing, or generating video / image. The video source (11) may include a video / image capture device and / or a video / image generation device. The video / image capture device may include one or more cameras, a video / image archive containing previously captured video / image, etc. The video / image generation device may include a computer, a tablet, a smartphone, etc., and can generate video / image (electronically). For example, a virtual video / image may be generated through a computer, etc., in which case the video / image capture process may be replaced by a process of generating related data.

[0047] The encoding device (12) can encode an input video / image. The encoding device (12) can perform a series of procedures such as prediction, transformation, and quantization for compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.

[0048] The transmission unit (13) can transmit encoded video / image information or data output in the form of a bitstream to the receiving unit (21) of the receiving device (20) via a digital storage medium or network in the form of a file or streaming. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit (13) may include elements for creating a media file through a predetermined file format and elements for transmission via a broadcasting / communication network. The receiving unit (21) can receive / extract the bitstream and transmit it to a decoding device (22).

[0049] The decoding device (22) can decode the video / image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding device (12).

[0050] The renderer (23) can render the decoded video / image. The rendered video / image can be displayed through the display unit.

[0051] FIG. 2 shows a schematic block diagram of an encoding device to which an embodiment of the present disclosure can be applied and to which encoding of a video / image signal is performed.

[0052] Referring to FIG. 2, the encoding device (200) may be configured to include an image partitioner (210), a predictor (220), a residual processor (230), an entropy encoder (240), an adder (250), a filter (260), and a memory (270). The predictor (220) may include an inter-predictor (221) and an intra-predictor (222). The residual processor (230) may include a transformer (232), a quantizer (233), a dequantizer (234), and an inverse transformer (235). The residual processor (230) may further include a subtractor (231). The addition unit (250) may be referred to as a reconstructor or a reconstructed block generator. The above-described image segmentation unit (210), prediction unit (220), residual processing unit (230), entropy encoding unit (240), addition unit (250), and filtering unit (260) may be configured by one or more hardware components (e.g., an encoding device chipset or processor) according to the embodiment. Additionally, the memory (270) may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory (270) as an internal / external component.

[0053] The image segmentation unit (210) can divide an input image (or picture, frame) input to an encoding device (200) into one or more processing units. For example, the processing unit may be called a coding unit (CU). In this case, the coding unit may be recursively divided from a coding tree unit (CTU) or a largest coding unit (LCU) according to a QTBTTT (Quad-tree binary-tree ternary-tree) structure.

[0054] For example, a single coding unit may be divided into multiple coding units with a deeper depth based on a quad tree structure, a binary tree structure, and / or a terrestrial structure. In this case, for example, the quad tree structure may be applied first and the binary tree structure and / or terrestrial structure may be applied later. Alternatively, the binary tree structure may be applied before the quad tree structure. A coding procedure according to the present specification may be performed based on a final coding unit that is no longer divided. In this case, based on coding efficiency according to image characteristics, the maximum coding unit may be used directly as the final coding unit, or, if necessary, the coding unit may be recursively divided into coding units of a lower depth so that a coding unit of the optimal size may be used as the final coding unit. Here, the term "coding procedure" may include procedures such as prediction, transformation, and restoration described below.

[0055] As another example, the processing unit may further include a Prediction Unit (PU) or a Transform Unit (TU). In this case, the Prediction Unit and the Transform Unit may each be divided or partitioned from the aforementioned final coding unit. The Prediction Unit may be a unit for sample prediction, and the Transform Unit may be a unit for deriving transformation coefficients and / or a unit for deriving a residual signal from transformation coefficients.

[0056] The term "unit" may be used interchangeably with terms such as "block" or "area" depending on the context. In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample may generally represent a pixel or a pixel value, and may represent only the pixel / pixel value of the luminance component or only the pixel / pixel value of the chroma component. A sample may be used to refer to a single picture (or image) as a term corresponding to a pixel or pel.

[0057] The encoding device (200) can generate a residual signal (residual block, residual sample array) by subtracting a prediction signal (prediction block, prediction sample array) output from an inter prediction unit (221) or an intra prediction unit (222) from an input video signal (original block, original sample array), and the generated residual signal is transmitted to a conversion unit (232). In this case, the unit that subtracts the prediction signal (prediction block, prediction sample array) from the input video signal (original block, original sample array) within the encoding device (200) may be called a subtraction unit (231).

[0058] The prediction unit (220) performs a prediction for a block to be processed (hereinafter referred to as the current block) and can generate a predicted block containing prediction samples for the current block. The prediction unit (220) can determine whether intra prediction is applied or inter prediction is applied at the current block or CU level. The prediction unit (220) can generate various information regarding the prediction, such as prediction mode information, as described below in the description of each prediction mode, and transmit it to the entropy encoding unit (240). The information regarding the prediction can be encoded by the entropy encoding unit (240) and output in the form of a bitstream.

[0059] The intra prediction unit (222) can predict the current block by referring to samples within the current picture. The referenced samples may be located near the current block or at a certain distance from the current block depending on the prediction mode. In intra prediction, the prediction modes may include one or more non-directional modes and multiple directional modes. The non-directional mode may include at least one DC mode or a planar mode. The directional mode may include 33 directional modes or 65 directional modes depending on the degree of fineness of the prediction direction. However, this is merely an example, and depending on the settings, more or fewer directional modes may be used. The intra prediction unit (222) may determine the prediction mode applied to the current block by using the prediction mode applied to the surrounding blocks.

[0060] The inter prediction unit (221) can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks may include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture containing the reference blocks and the reference picture containing the temporal neighboring blocks may be the same or different. The above temporal surrounding blocks may be referred to by names such as collocated reference block, collocated CU (colCU), etc., and the reference picture containing the above temporal surrounding blocks may be referred to as a collocated picture (colPic). For example, the inter prediction unit (221) may construct a list of motion information candidates based on surrounding blocks and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, for example, in the case of skip mode and merge mode, the inter prediction unit (221) may use the motion information of surrounding blocks as motion information of the current block. In the case of skip mode, unlike merge mode, a residual signal may not be transmitted.In the motion vector prediction (MVP) mode, the motion vectors of surrounding blocks are used as motion vector predictors, and the motion vector of the current block can be indicated by signaling the motion vector difference.

[0061] The prediction unit (220) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit may apply intra prediction or inter prediction for prediction of a single block, and may also apply intra prediction and inter prediction simultaneously. This may be called a combined inter and intra prediction (CIIP) mode. Additionally, the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode may be used for content video / video coding, such as in screen content coding (SCC) for games. IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC may utilize at least one of the inter prediction techniques described in this specification. The palette mode can be viewed as an example of intra coding or intra prediction. When the palette mode is applied, sample values ​​within the picture can be signaled based on information regarding the palette table and palette index. The prediction signal generated through the prediction unit (220) can be used to generate a restoration signal or to generate a residual signal.

[0062] The transformation unit (232) can generate transform coefficients by applying a transformation technique to a residual signal. For example, the transformation technique may include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT). Here, GBT refers to a transformation obtained from a graph when the relationship information between pixels is represented as a graph. CNT refers to a transformation obtained based on a prediction signal generated using all previously restored pixels. Additionally, the transformation process may be applied to a pixel block of the same size in a square, or to a block of variable size that is not square.

[0063] The quantization unit (233) quantizes the transformation coefficients and transmits them to the entropy encoding unit (240), and the entropy encoding unit (240) can encode the quantized signal (information regarding the quantized transformation coefficients) and output it as a bitstream. The information regarding the quantized transformation coefficients may be called residual information. The quantization unit (233) can rearrange the block-shaped quantized transformation coefficients into a one-dimensional vector form based on the coefficient scan order, and can also generate information regarding the quantized transformation coefficients based on the one-dimensional vector-shaped quantized transformation coefficients.

[0064] The entropy encoding unit (240) can perform various encoding methods such as exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit (240) may encode information required for video / image restoration (e.g., values ​​of syntax elements, etc.) together or separately, in addition to the quantized transform coefficients.

[0065] Encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream at the level of a Network Abstraction Layer (NAL) unit. The video / image information may further include information regarding various parameter sets, such as an Adaptation Parameter Set (APS), a Picture Parameter Set (PPS), a Sequence Parameter Set (SPS), or a Video Parameter Set (VPS). Additionally, the video / image information may further include general constraint information. In this specification, information and / or syntax elements transmitted / signaled from an encoding device to a decoding device may be included in the video / image information. The video / image information may be encoded through the encoding procedure described above and included in the bitstream. The bitstream may be transmitted over a network or stored on a digital storage medium. Here, the network may include a broadcasting network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) that transmits the signal output from the entropy encoding unit (240) and / or a storage unit (not shown) that stores it may be configured as internal / external elements of the encoding device (200), or the transmission unit may be included in the entropy encoding unit (240).

[0066] The quantized transform coefficients output from the quantization unit (233) can be used to generate a prediction signal. For example, a residual signal (residual block or residual samples) can be restored by applying inverse quantization and inverse transformation to the quantized transform coefficients through the inverse quantization unit (234) and the inverse transformation unit (235). The adder (250) can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the restored residual signal to the prediction signal output from the inter-prediction unit (221) or the intra-prediction unit (222). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the predicted block can be used as the reconstructed block. The adder (250) may be called a reconstruction unit or a reconstruction block generation unit. The generated restoration signal can be used for intra prediction of the next block to be processed within the current picture, and can also be used for inter prediction of the next picture after filtering as described below. Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture encoding and / or restoration process.

[0067] The filtering unit (260) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (260) can generate a modified restored picture by applying various filtering methods to the restored picture, and can store the modified restored picture in memory (270), specifically in the DPB of memory (270). The various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit (260) can generate various information regarding filtering and transmit it to the entropy encoding unit (240). The information regarding filtering can be encoded in the entropy encoding unit (240) and output in the form of a bitstream.

[0068] The modified restored picture transmitted to the memory (270) can be used as a reference picture in the inter-prediction unit (221). Through this, when inter-prediction is applied, the encoding device can avoid prediction mismatches between the encoding device (200) and the decoding device, and can also improve encoding efficiency.

[0069] The DPB of the memory (270) can store the modified restored picture to be used as a reference picture in the inter-prediction unit (221). The memory (270) can store motion information of blocks from which motion information is derived (or encoded) within the current picture and / or motion information of blocks within the picture that have already been restored. The stored motion information can be transmitted to the inter-prediction unit (221) to be used as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. The memory (270) can store restoration samples of the blocks restored within the current picture and transmit them to the intra-prediction unit (222).

[0070] FIG. 3 shows a schematic block diagram of a decoding device to which an embodiment of the present disclosure can be applied and to which decoding of a video / image signal is performed.

[0071] Referring to FIG. 3, the decoding device (300) may be configured to include an entropy decoder (310), a residual processor (320), a predictor (330), an adder (340), a filter (350), and a memory (360). The predictor (330) may include an inter-predictor (332) and an intra-predictor (331). The residual processor (320) may include a dequantizer (321) and an inverse transformer (321).

[0072] The aforementioned entropy decoding unit (310), residual processing unit (320), prediction unit (330), addition unit (340), and filtering unit (350) may be configured by a single hardware component (e.g., a decoding device chipset or processor) according to an embodiment. Additionally, the memory (360) may include a DPB (decoded picture buffer) and may be configured by a digital storage medium. The hardware component may further include the memory (360) as an internal / external component.

[0073] When a bitstream containing video / image information is input, the decoding device (300) can restore the image in correspondence with the process in which the video / image information is processed by the encoding device of FIG. 2. For example, the decoding device (300) can derive units / blocks based on block division information obtained from the bitstream. The decoding device (300) can perform decoding using a processing unit applied by the encoding device. Accordingly, the processing unit for decoding may be a coding unit, and the coding unit may be divided from a coding tree unit or a maximum coding unit according to a quad tree structure, a binary tree structure, and / or a binary tree structure. One or more conversion units may be derived from the coding unit. And, the restored image signal decoded and output through the decoding device (300) can be played back through a playback device.

[0074] The decoding device (300) can receive a signal output from the encoding device of FIG. 2 in the form of a bitstream, and the received signal can be decoded through an entropy decoding unit (310). For example, the entropy decoding unit (310) can parse the bitstream to derive information (e.g., video / image information) necessary for image restoration (or picture restoration). The video / image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Additionally, the video / image information may further include general constraint information. The decoding device can decode the picture based on information regarding the parameter sets and / or the general constraint information. The signaling / receiving information and / or syntax elements described below in this specification may be decoded through the decoding procedure and obtained from the bitstream. For example, the entropy decoding unit (310) can decode information within the bitstream based on coding methods such as exponential chord coding, CAVLC, or CABAC, and output the values ​​of syntax elements required for image restoration and the quantized values ​​of transformation coefficients regarding residuals. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, determine a context model using information on the syntax element to be decoded and decoding information of surrounding and decoding target blocks or information on symbols / bins decoded in the previous step, predict the probability of occurrence of the bin according to the determined context model, and perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element.At this time, the CABAC entropy decoding method can update the context model using the decoded symbol / bin information for the context model of the next symbol / bin after determining the context model. Among the information decoded in the entropy decoding unit (310), information regarding prediction is provided to the prediction unit (inter prediction unit (332) and intra prediction unit (331)), and the residual value for which entropy decoding was performed in the entropy decoding unit (310), i.e., quantized transformation coefficients and related parameter information, can be input to the residual processing unit (320). The residual processing unit (320) can derive residual signals (residual blocks, residual samples, residual sample array). Additionally, among the information decoded in the entropy decoding unit (310), information regarding filtering can be provided to the filtering unit (350). Meanwhile, a receiving unit (not shown) that receives a signal output from an encoding device may be further configured as an internal / external element of the decoding device (300), or the receiving unit may be a component of the entropy decoding unit (310).

[0075] Meanwhile, the decoding device according to the present specification may be called a video / image / picture decoding device, and the decoding device may be divided into an information decoding device (video / image / picture information decoding device) and a sample decoding device (video / image / picture sample decoding device). The information decoding device may include the entropy decoding unit (310), and the sample decoding device may include at least one of the inverse quantization unit (321), inverse transform unit (322), adder (340), filtering unit (350), memory (360), inter prediction unit (332), and intra prediction unit (331).

[0076] In the inverse quantization unit (321), the quantized transformation coefficients can be inversely quantized to output transformation coefficients. The inverse quantization unit (321) can rearrange the quantized transformation coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed by the encoding device. The inverse quantization unit (321) can perform inverse quantization on the quantized transformation coefficients using quantization parameters (e.g., quantization step size information) and obtain transformation coefficients.

[0077] In the inverse conversion unit (322), the conversion coefficients are inversely converted to obtain a residual signal (residual block, residual sample array).

[0078] The prediction unit (320) can perform a prediction for the current block and generate a predicted block containing prediction samples for the current block. The prediction unit (320) can determine whether an intra prediction or an inter prediction is applied to the current block based on information regarding the prediction output from the entropy decoding unit (310), and can determine a specific intra / inter prediction mode.

[0079] The prediction unit (320) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit (320) may apply intra prediction or inter prediction for prediction of a single block, and may also apply intra prediction and inter prediction simultaneously. This may be called a combined inter and intra prediction (CIIP) mode. Additionally, the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for prediction of a block. The IBC prediction mode or palette mode may be used for content video / video coding, such as in games, such as SCC (screen content coding). IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC may utilize at least one of the inter prediction techniques described in this specification. The palette mode can be viewed as an example of intra coding or intra prediction. When palette mode is applied, information regarding the palette table and palette index can be included in the above video / image information and signaled.

[0080] The intra prediction unit (331) can predict the current block by referring to samples within the current picture. The referenced samples may be located in the neighborhood of the current block according to the prediction mode, or may be located at a certain distance from the current block. In intra prediction, the prediction modes may include one or more non-directional modes and a plurality of directional modes. The intra prediction unit (331) may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.

[0081] The inter prediction unit (332) can derive a prediction block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include inter prediction direction information (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks may include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit (332) may construct a motion information candidate list based on neighboring blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter-prediction can be performed based on various prediction modes, and information regarding the prediction may include information indicating the inter-prediction mode for the current block.

[0082] The adder (340) can generate a restoration signal (restoration picture, restoration block, restoration sample array) by adding the acquired residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter prediction unit (332) and / or the intra prediction unit (331)). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the prediction block can be used as the restoration block.

[0083] The addition unit (340) may be called a restoration unit or a restoration block generation unit. The generated restoration signal may be used for intra-predicting the next block to be processed within the current picture, may be output after filtering as described below, or may be used for inter-predicting the next picture. Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture decoding process.

[0084] The filtering unit (350) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (350) can generate a modified restored picture by applying various filtering methods to the restored picture, and can transmit the modified restored picture to memory (360), specifically to the DPB of memory (360). The various filtering methods may include deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.

[0085] The (modified) restored picture stored in the DPB of the memory (360) can be used as a reference picture in the inter prediction unit (332). The memory (360) can store motion information of blocks from which motion information within the current picture has been derived (or decoded) and / or motion information of blocks within the picture that have already been restored. The stored motion information can be transmitted to the inter prediction unit (332) to be used as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. The memory (360) can store restoration samples of blocks restored within the current picture and transmit them to the intra prediction unit (331).

[0086] In this specification, the embodiments described in the filtering unit (260), inter prediction unit (221), and intra prediction unit (222) of the encoding device (200) may be applied to the filtering unit (350), inter prediction unit (332), and intra prediction unit (331) of the decoding device (300) in the same or corresponding manner.

[0087] FIG. 4 illustrates a method for restoring a video picture performed in a decoding device (300) according to the present disclosure.

[0088] A bitstream containing an encoded video picture can be received (S400).

[0089] The encoded video picture of the bitstream can be restored (S410).

[0090] Video information regarding an encoded video picture can be extracted from the bitstream. Based on the extracted video information, the encoded video picture can be restored.

[0091] The bitstream may include bit depth range information (BRI). The bit depth range information may relate to the restoration of a target picture having the same bit depth as the original source picture. More specifically, the BRI enables the restoration of a target picture having the same bit depth as the original source picture by reversing the operation performed by the encoder to assign the bit range of the original source picture to one or more ranges encoded as separate layer pictures, sub-pictures, or constituent rectangles.

[0092] However, there may be a problem in that the bit depth range information may not have partition (range) identification information defined. For example, if both the layer ID present flag (bri_nuh_layer_id_present_flag) and the picture partition flag (bri_pic_partition_flag) are 0, it indicates that the layer ID information (bri_nuh_layer_id[i]) and the partition ID information (bri_partition_id[i]) are not defined, and therefore, information for distinguishing multiple ranges may not exist within the bit depth range information. Additionally, there is a problem in that the bit depth range information is structurally dependent on other information (e.g., constituent rectangles information, or display overlay information, etc.).

[0093] To solve the above problem, we will examine in the embodiments described below a method for including bit depth range information in partition (bit range) information and a method for defining explicit partition identification information.

[0094] Example 1

[0095] Table 1 is an example of bit depth range information included in a bitstream.

[0096] bitdepth_range_info(payloadSize) {Descriptorbri_orig_bit_depth_minus1u(4)bri_num_ranges_minus1u(2)if (bri_num_ranges_minus1 > 0) { bri_nuh_layer_id_present_flagu(1)bri_pic_partition_present_flagu(1)if(bri_pic_partition_present_flag) {bri_partition_width_minus1ue(v)bri_partition_height_minus1ue(v)}} for( i = 0; i <= bri_num_ranges_minus1; i++ ) { if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6)if ( bri_pic_partition_present_flag ) {bri_partition_top_left_x[ i ]ue(v)bri_partition_top_left_y[ i ]ue(v)} bri_num_bits_in_range_minus1[ i ]u(4)bri_bit_offset[ i ]u(4)}}

[0097] Bit depth range information may include original picture bit depth information (bri_orig_bit_depth_minus1). Original picture bit depth information (bri_orig_bit_depth_minus1) may specify the bit depth of the original picture. For example, a value obtained by adding 1 to bri_orig_bit_depth_minus1 may be set as the bit depth of the original picture.

[0098] Bit depth range information may include range count information (bri_num_ranges_minus1). Range count information (bri_num_ranges_minus1) may specify the number of bit depth ranges used for bit allocation of the original picture. For example, a value obtained by adding 1 to bri_num_ranges_minus1 may be set as the number of bit depth ranges used for bit allocation of the original picture.

[0099] The layer ID flag (bri_nuh_layer_id_present_flag) can indicate whether layer ID information (bri_nuh_layer_id[i]) is included in the NAL unit header. For example, if bri_nuh_layer_id_present_flag is 1, it indicates that bri_nuh_layer_id[i] exists, and if bri_nuh_layer_id_present_flag is 0, it indicates that bri_nuh_layer_id[i] does not exist. bri_nuh_layer_id_present_flag can be signaled based on bri_num_ranges_minus1. For example, bri_nuh_layer_id_present_flag can be signaled if bri_num_ranges_minus1 is greater than 0.

[0100] The picture partition flag (bri_pic_partition_present_flag) may indicate whether partition-related information is included in the bitstream. For example, if bri_pic_partition_present_flag is 1, it may indicate that partition-related information exists, and if bri_pic_partition_present_flag is 0, it may indicate that partition-related information does not exist. Here, the partition-related information may include at least one of partition width information (bri_partition_width_minus1) indicating the width of the partition, partition height information (bri_partition_height_minus1) indicating the height of the partition, partition horizontal position information (bri_partition_top_left_x[i]) indicating the horizontal position of the top-left corner of the partition, or partition vertical position information (bri_partition_top_left_y[i]) indicating the vertical position of the top-left corner of the partition. bri_pic_partition_present_flag may be signaled based on bri_num_ranges_minus1. For example, bri_pic_partition_present_flag can be signaled when bri_num_ranges_minus1 is greater than 0.

[0101] The layer ID flag (bri_nuh_layer_id_present_flag) or the picture partition flag (bri_pic_partition_present_flag) may be restricted to have a specific value based on the range count information (bri_num_ranges_minus1). For example, if bri_num_ranges_minus1 is greater than 0, at least one of bri_nuh_layer_id_present_flag or bri_pic_partition_present_flag must be 1. For example, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 1 and bri_pic_partition_present_flag may also be 1. Or, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 1 and bri_pic_partition_present_flag may be 0. Or, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 0 and bri_pic_partition_present_flag may be 1.

[0102] The picture partition flag (bri_pic_partition_present_flag) may be restricted to have a specific value based on at least one of bri_nuh_layer_id_present_flag or bri_num_ranges_minus1. For example, if bri_nuh_layer_id_present_flag is 0 and bri_num_ranges_minus1 is greater than 0, bri_pic_partition_present_flag must be 1.

[0103] Partition width information (bri_partition_width_minus1) may represent the width of the partition. For example, a value of bri_partition_width_minus1 plus 1 may represent the width of the partition. Here, the width of the partition may be equal to the width of the target picture that can be recovered from the allocated bit range. bri_partition_width_minus1 may be signaled based on bri_pic_partition_present_flag. For example, bri_partition_width_minus1 may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0104] Partition height information (bri_partition_height_minus1) may represent the height of the partition. For example, a value obtained by adding 1 to bri_partition_height_minus1 may represent the height of the partition. Here, the height of the partition may be equal to the height of the target picture that can be recovered from the allocated bit range. bri_partition_height_minus1 may be signaled based on bri_pic_partition_present_flag. For example, bri_partition_height_minus1 may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0105] The layer ID information (bri_nuh_layer_id[i]) can identify the layer identifier for the texture component of the i-th bit depth range. If bri_nuh_layer_id[i] is not included in the bitstream, the value of bri_nuh_layer_id[i] may be considered identical to the layer identifier of the PU containing the BRI SEI message. In this case, if the BRI SEI message exists in any layer of the current access unit (AU), a BRI SEI message with the same payload may exist in the layer having the layer identifier bri_nuh_layer_id[0].

[0106] bri_nuh_layer_id[i] may be signaled based on at least one of bri_num_ranges_minus1 or bri_nuh_layer_id_present_flag. bri_nuh_layer_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_nuh_layer_id[i] may be signaled based on the value of bri_nuh_layer_id_present_flag being 1, and may not be signaled based on the value of bri_nuh_layer_id_present_flag being 0.

[0107] Partition horizontal position information (bri_partition_top_left_x[i]) can specify the horizontal position of the top-left corner of the i-th partition of the coded picture in luminance samples. Partition vertical position information (bri_partition_top_left_y[i]) can specify the vertical position of the top-left corner of the i-th partition of the coded picture in luminance samples. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] can be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_present_flag. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] can be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0108] The range bit count information (bri_num_bits_in_range_minus1[i]) can specify the number of bits included in the i-th bit depth range. For example, the value obtained by adding 1 to bri_num_bits_in_range_minus1[i] can be set as the number of bits included in the i-th bit depth range. bri_num_bits_in_range_minus1[i] can be signaled based on bri_num_ranges_minus1. bri_num_bits_in_range_minus1[i] can be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1.

[0109] bri_num_bits_in_range_minus1[i] must be in the range of 0 or greater and (BitDepth[i] - 1) or less, and the sum of bri_num_bits_in_range_minus1[i] for all i must be less than or equal to the bit depth of the original picture.

[0110] Bit offset information (bri_bit_offset[i]) can specify the bit shift parameter used to derive the target picture. bri_bit_offset[i] must be in the range of 0 or greater, and (BitDepth[i] - NumBits[i]) or less. bri_bit_offset[i] can be signaled based on bri_num_ranges_minus1. bri_bit_offset[i] can be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1.

[0111] The partition (CodedRangeRegion[i]) corresponding to the i-th bit depth range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th bit depth range and the height (CodedHeight[i]) of the partition corresponding to the i-th bit depth range.

[0112] For example, if the picture partition flag (bri_pic_partition_present_flag) is 1, CodedWidth[i] may be the value obtained by adding 1 to the partition width information (bri_partition_width_minus1) (bri_partition_width_minus1 + 1). Also, CodedHeight[i] may be the value obtained by adding 1 to the partition height information (bri_partition_height_minus1) (bri_partition_height_minus1 + 1). Also, CodedRangeRegion[i] may be a region defined based on at least one of CodedWidth[i], CodedHeight[i], bri_partition_top_left_x[i], or bri_partition_top_left_y[i]. For example, CodedRangeRegion[i] may be an area within the coded picture where the horizontal and vertical positions of the top-left corner are bri_partition_top_left_x[i] and bri_partition_top_left_y[i], respectively, the width is CodedWidth[i], and the height is CodedHeight[i].

[0113] As another example, when the picture partitioning flag (bri_pic_partition_present_flag) is 0, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0114] For all cases where i and j fall within the range from 0 to (bri_num_ranges - 1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0115] Example 2

[0116] Table 2 is another example of bit depth range information included in a bitstream.

[0117] bitdepth_range_info( payloadSize ) {Descriptor bri_orig_bit_depth_minus1u(4) bri_num_ranges_minus1u(2) if ( bri_num_ranges_minus1 > 0 ) { bri_nuh_layer_id_present_flagu(1) bri_pic_partition_flagu(1) if( bri_pic_partition_flag ) { bri_partition_type_flagu(1) bri_partition_id_len_minus1u(4) } if( bri_nuh_layer_id_present_flag == 0 && bri_pic_partition_flag == 0 ) { bri_num_cols_minus1ue(v)bri_num_rows_minus1ue(v)} } for( i = 0; i <= bri_num_ranges_minus1; i++ ) { if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6) if ( bri_pic_partition_flag ) bri_partition_id[ i ]u(v) bri_num_bits_in_range_minus1[ i ]u(4) bri_bit_offset[ i ]u(4) }}

[0118] The picture partition flag (bri_pic_partition_flag) can indicate whether partition ID information (bri_partition_id[i]) is included in the bitstream. For example, if bri_pic_partition_flag is 1, it indicates that partition ID information (bri_partition_id[i]) exists to identify the partition of the original picture, and if bri_pic_partition_flag is 0, it indicates that bri_partition_id[i] does not exist. bri_pic_partition_flag can be signaled based on bri_num_ranges_minus1. For example, bri_pic_partition_flag can be signaled when bri_num_ranges_minus1 is greater than 0.

[0119] Partition type information (bri_partition_type_flag) can indicate the type of partition in which the bit depth range of the original picture is encoded. For example, depending on the value of bri_partition_type_flag, it can indicate whether the type of partition in which the bit depth range of the original picture is encoded is a sub-picture or a constituent rectangle. For example, if bri_partition_type_flag is 1, it indicates that the bit depth range of the original picture is encoded as a constituent rectangle, and if bri_partition_type_flag is 0, it indicates that the bit depth range of the original picture is encoded as a sub-picture. bri_partition_type_flag can be signaled based on bri_pic_partition_flag. For example, bri_partition_type_flag can be signaled when bri_pic_partition_flag is 1.

[0120] When bri_partition_type_flag is 1, there may be constituent rectangles SEI messages that precede the BRI supplemental enhancement information (SEI) message in the decoding order in the current picture unit (PU).

[0121] The partition ID length information (bri_partition_id_len_minus1) can specify the length of the configuration rectangle ID information (bri_rect_id[i]) or the sub-picture ID information (bri_subpic_id[i]). For example, the value of bri_partition_id_len_minus1 plus 1 can be specified as the length of bri_rect_id[i] or bri_subpic_id[i]. bri_partition_id_len_minus1 can be signaled based on bri_pic_partition_flag. For example, bri_partition_id_len_minus1 can be signaled when bri_pic_partition_flag is 1.

[0122] Partition column information (bri_num_cols_minus1) can specify the number of columns in the allocated partition grid (bit range). For example, the value obtained by adding 1 to bri_num_cols_minus1 can be set as the number of columns in the allocated partition grid. Additionally, partition row information (bri_num_rows_minus1) can specify the number of rows in the allocated partition grid (bit range). For example, the value obtained by adding 1 to bri_num_rows_minus1 can be set as the number of rows in the allocated partition grid. For the partition grid based on the set number of columns and rows, a bit depth range can be automatically assigned across the partition grid using a raster scan method (from left to right, from top to bottom).

[0123] bri_num_cols_minus1 or bri_num_rows_minus1 may be signaled based on at least one of the layer ID flag (bri_nuh_layer_id_present_flag) or the picture partition flag (bri_pic_partition_flag). For example, bri_num_cols_minus1 or bri_num_rows_minus1 may be signaled based on the value of bri_nuh_layer_id_present_flag being 0 and the value of bri_pic_partition_flag being 0.

[0124] The partition ID information (bri_partition_id[i]) can identify the composition rectangle (cr_rect_id[i]) of the texture component in the i-th bit depth range when bri_partition_type_flag is 1. Alternatively, bri_partition_id[i] can identify the sub-picture index of the texture component in the i-th bit depth range when bri_partition_type_flag is 0. If bri_partition_id[i] is not included in the bitstream, the value of bri_partition_id[i] can be considered 0.

[0125] If bri_partition_type_flag is 1, bri_partition_id[i] must be in the range of 0 or more (cr_num_rects_minus1[bri_nuh_layer_id[i]] - 1) or less, and if bri_partition_type_flag is 0, bri_partition_id[i] must be in the range of 0 or more (NumSubpics[bri_nuh_layer_id[i]] - 1) or less. Here, cr_num_rects_minus1[bri_nuh_layer_id[i]] may represent the number of constituent rectangles defined within a specific layer having the layer index of bri_nuh_layer_id[i]. Additionally, NumSubpics[bri_nuh_layer_id[i]] may represent the number of sub-pictures defined within a specific layer having the layer index of bri_nuh_layer_id[i].

[0126] bri_partition_id[i] may be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_flag. bri_partition_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_id[i] may be signaled based on the value of bri_pic_partition_flag being 1, and may not be signaled based on the value of bri_pic_partition_flag being 0.

[0127] bri_orig_bit_depth_minus1, bri_num_ranges_minus1, bri_nuh_layer_id_present_flag, bri_nuh_layer_id[i], bri_num_bits_in_range_minus1[i], and bri_bit_offset[i] are as seen with reference to Table 1.

[0128] The partition (CodedRangeRegion[i]) corresponding to the i-th bit depth range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th bit depth range and the height (CodedHeight[i]) of the partition corresponding to the i-th bit depth range.

[0129] For example, if the picture partitioning flag (bri_pic_partition_flag) is 0 and the layer ID flag (bri_nuh_layer_id_present_flag) is 1, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0130] As another example, if the picture partitioning flag (bri_pic_partition_flag) is 0 and the layer ID flag (bri_nuh_layer_id_present_flag) is 0, CodedWidth[i], CodedHeight[i], or CodedRangeRegion[i] can be derived based on at least one of bri_num_ranges_minus1, bri_num_cols_minus1, or bri_num_rows_minus1. For example, CodedWidth[i] can be derived based on bri_num_rows_minus1, and CodedHeight[i] can be derived based on bri_num_cols_minus1. Additionally, CodedRangeRegion[i] can be a partition with a width of CodedWidth[i] and a height of CodedHeight[i].

[0131] As another example, when the partition type information (bri_partition_type_flag) is 0, CodedWidth[i] may be the width of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicWidth[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedHeight[i] may be the height of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicHeight[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedRangeRegion[i] may be set to the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i]. Here, the sub-picture may be included in a texture component of the bit depth range corresponding to bri_partition_id[i].

[0132] As another example, when the partition type information (bri_partition_type_flag) is 1, CodedWidth[i] may be the width of the configuration rectangle corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectWidth[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedHeight[i] may be the height of the configuration rectangle corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectHeight[bri_nuh_layer_id[i]][bri_partition_id[i]]). Additionally, CodedRangeRegion[i] may be set to the configuration rectangle corresponding to cr_rect_id[i] with the same value as bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i]. Here, the above configuration rectangle may be included in a texture component of the bit depth range corresponding to bri_partition_id[i].

[0133] For all cases where i and j fall within the range from 0 to (bri_num_ranges - 1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0134] Example 3

[0135] Table 3 is another example of bit depth range information included in a bitstream.

[0136] bitdepth_range_info( payloadSize ) {Descriptor bri_orig_bit_depth_minus1u(4) bri_num_ranges_minus1u(2) if ( bri_num_ranges_minus1 > 0 ) { bri_nuh_layer_id_present_flagu(1) bri_pic_partition_flagu(1) if( bri_pic_partition_flag ) { bri_partition_type_idcu(2) bri_partition_id_len_minus1u(4) } } for( i = 0; i <= bri_num_ranges_minus1; i++ ) { if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6) if ( bri_pic_partition_flag ){ if ( bri_partition_type_idc != 2 ) bri_partition_id[ i ]u(v) else { bri_partition_top_left_x[ i ]ue(v) bri_partition_top_left_y[ i ]ue(v) bri_partition_width_minus1[ i ]ue(v) bri_partition_height_minus1[ i ]ue(v) }} bri_num_bits_in_range_minus1[ i ]u(4) bri_bit_offset[ i ]u(4) }}

[0137] The picture partition flag (bri_pic_partition_flag) may indicate whether partition type information (bri_partition_type_idc) and partition ID length information (bri_partition_id_len_minus1) are included in the bitstream. For example, if bri_pic_partition_flag is 1, it may indicate that bri_partition_type_idc and bri_partition_id_len_minus1 exist, and if bri_pic_partition_flag is 0, it may indicate that bri_partition_type_idc and bri_partition_id_len_minus1 do not exist. bri_pic_partition_flag may be signaled based on bri_num_ranges_minus1. For example, bri_pic_partition_flag may be signaled if bri_num_ranges_minus1 is greater than 0.

[0138] The layer ID flag (bri_nuh_layer_id_present_flag) or the picture partition flag (bri_pic_partition_flag) may be restricted to have specific values ​​based on the range count information (bri_num_ranges_minus1). For example, if bri_num_ranges_minus1 is greater than 0, at least one of bri_nuh_layer_id_present_flag or bri_pic_partition_flag must be 1. For example, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 1 and bri_pic_partition_flag may also be 1. Or, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 1 and bri_pic_partition_flag may be 0. Or, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 0 and bri_pic_partition_flag may be 1.

[0139] The picture partitioning flag (bri_pic_partition_flag) may be restricted to have a specific value based on at least one of bri_nuh_layer_id_present_flag or bri_num_ranges_minus1. For example, if bri_nuh_layer_id_present_flag is 0 and bri_num_ranges_minus1 is greater than 0, bri_pic_partition_flag must be 1.

[0140] Partition type information (bri_partition_type_idc) can indicate the type of partition in which the bit depth range of the original picture is encoded. For example, depending on the value of bri_partition_type_idc, it can indicate whether the bit depth range of the original picture is encoded as a sub-picture, as a constituent rectangle, or based on partition-related information. For example, if bri_partition_type_idc is 0, it indicates that the bit depth range of the original picture is encoded as a sub-picture, and if bri_partition_type_idc is 1, it indicates that the bit depth range of the original picture is encoded as a constituent rectangle. Additionally, if bri_partition_type_idc is 2, it indicates that the bit depth range of the original picture is encoded based on partition-related information. Here, the partition-related information may include at least one of partition horizontal position information (bri_partition_top_left_x[i]) specifying the horizontal position of the top-left corner of the partition, partition vertical position information (bri_partition_top_left_y[i]) specifying the vertical position of the top-left corner of the partition, partition width information (bri_partition_width_minus1[i]) indicating the width of the partition, or partition height information (bri_partition_height_minus1[i]) indicating the height of the partition.

[0141] When bri_partition_type_idc is 1, there may be constituent rectangles SEI messages that precede the BRI supplemental enhancement information (SEI) message in the decoding order in the current picture unit (PU).

[0142] The partition ID information (bri_partition_id[i]) can identify the composition rectangle (cr_rect_id[i]) of the texture component in the i-th bit depth range when bri_partition_type_idc is 1. Alternatively, bri_partition_id[i] can identify the sub-picture index of the texture component in the i-th bit depth range when bri_partition_type_idc is 0. If bri_partition_id[i] is not included in the bitstream, the value of bri_partition_id[i] can be considered 0.

[0143] If bri_partition_type_idc is 1, bri_partition_id[i] must be in the range of 0 or more (cr_num_rects_minus1[bri_nuh_layer_id[i]] - 1) or less, and if bri_partition_type_idc is 0, bri_partition_id[i] must be in the range of 0 or more (NumSubpics[bri_nuh_layer_id[i]] - 1) or less. Here, cr_num_rects_minus1[bri_nuh_layer_id[i]] may represent the number of constituent rectangles defined within a specific layer having the layer index of bri_nuh_layer_id[i]. Additionally, NumSubpics[bri_nuh_layer_id[i]] may represent the number of sub-pictures defined within a specific layer having the layer index of bri_nuh_layer_id[i].

[0144] bri_partition_id[i] may be signaled based on at least one of bri_num_ranges_minus1, bri_pic_partition_flag, or bri_partition_type_idc. bri_partition_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_id[i] may be signaled based on the fact that the value of bri_pic_partition_flag is 1 and the value of bri_partition_type_idc is not 2.

[0145] Partition-related information may include at least one of partition horizontal position information (bri_partition_top_left_x[i]) specifying the horizontal position of the top-left corner of the partition, partition vertical position information (bri_partition_top_left_y[i]) specifying the vertical position of the top-left corner of the partition, partition width information (bri_partition_width_minus1[i]) indicating the width of the partition, or partition height information (bri_partition_height_minus1[i]) indicating the height of the partition.

[0146] Partition width information (bri_partition_width_minus1[i]) may represent the width of the i-th partition. For example, the value obtained by adding 1 to bri_partition_width_minus1[i] may represent the width of the partition. Here, the width of the partition may be equal to the width of the target picture that can be recovered from the allocated bit range.

[0147] Partition height information (bri_partition_height_minus1[i]) may represent the height of the i-th partition. For example, the value obtained by adding 1 to bri_partition_height_minus1[i] may represent the height of the partition. Here, the height of the partition may be equal to the height of the target picture that can be restored from the allocated bit range.

[0148] The partition horizontal position information (bri_partition_top_left_x[i]) can specify the horizontal position of the top-left corner of the i-th partition of the coded picture in luminance samples. The partition vertical position information (bri_partition_top_left_y[i]) can specify the vertical position of the top-left corner of the i-th partition of the coded picture in luminance samples.

[0149] Partition-related information may be signaled based on at least one of bri_num_ranges_minus1, bri_pic_partition_flag, or bri_partition_type_idc. Partition-related information may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. Partition-related information may be signaled based on the fact that the value of bri_pic_partition_flag is 1 and the value of bri_partition_type_idc is 2.

[0150] bri_orig_bit_depth_minus1, bri_num_ranges_minus1, bri_nuh_layer_id_present_flag, bri_partition_id_len_minus1, bri_nuh_layer_id[i], bri_num_bits_in_range_minus1[i], and bri_bit_offset[i] are as seen with reference to Tables 1 and 2.

[0151] The partition (CodedRangeRegion[i]) corresponding to the i-th bit depth range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th bit depth range and the height (CodedHeight[i]) of the partition corresponding to the i-th bit depth range.

[0152] For example, when the picture partitioning flag (bri_pic_partition_flag) is 0, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0153] As another example, if the partition type information (bri_partition_type_idc) is 0, CodedWidth[i] may be the width of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicWidth[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedHeight[i] may be the height of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicHeight[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedRangeRegion[i] may be set to the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i]. Here, the sub-picture may be included in a texture component of the bit depth range corresponding to bri_partition_id[i].

[0154] As another example, when the partition type information (bri_partition_type_idc) is 1, CodedWidth[i] may be the width of the configuration rectangle corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectWidth[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedHeight[i] may be the height of the configuration rectangle corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectHeight[bri_nuh_layer_id[i]][bri_partition_id[i]]). Additionally, CodedRangeRegion[i] may be set to the configuration rectangle corresponding to cr_rect_id[i] with the same value as bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i]. Here, the above configuration rectangle may be included in a texture component of the bit depth range corresponding to bri_partition_id[i].

[0155] As another example, if the partition type information (bri_partition_type_idc) is 2, CodedWidth[i] may be the value obtained by adding 1 to the partition width information (bri_partition_width_minus1[i]) (bri_partition_width_minus1[i] + 1). Also, CodedHeight[i] may be the value obtained by adding 1 to the partition height information (bri_partition_height_minus1[i]) (bri_partition_height_minus1[i] + 1). Additionally, CodedRangeRegion[i] may be a region defined based on at least one of CodedWidth[i], CodedHeight[i], bri_partition_top_left_x[i], or bri_partition_top_left_y[i]. For example, CodedRangeRegion[i] may be an area within the coded picture where the horizontal and vertical positions of the top-left corner are bri_partition_top_left_x[i] and bri_partition_top_left_y[i], respectively, the width is CodedWidth[i], and the height is CodedHeight[i].

[0156] For all cases where i and j fall within the range from 0 to (bri_num_ranges - 1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0157] Example 4

[0158] Table 4 is another example of bit depth range information included in a bitstream.

[0159] bitdepth_range_info( payloadSize ) {Descriptorbri_orig_bit_depth_minus1u(4)bri_num_ranges_minus1u(2)if ( bri_num_ranges_minus1 > 0 ) { bri_pic_partition_type_flagu(1)if( bri_pic_partition_type_flag ) {bri_partition_width_minus1ue(v)bri_partition_height_minus1ue(v)}} for( i = 0; i <= bri_num_ranges_minus1; i++ ) { if ( bri_pic_partition_type_flag ) {bri_partition_top_left_x[ i ]ue(v)bri_partition_top_left_y[ i ]ue(v)} elsebri_nuh_layer_id[ i ]u(6)bri_num_bits_in_range_minus1[ i ]u(4)bri_bit_offset[ i ]u(4)}}

[0160] Partition type information (bri_partition_type_flag) may indicate whether the bit depth range of the original picture is encoded based on partition-related information. For example, if bri_partition_type_flag is 1, it may indicate that partition-related information exists, and if bri_partition_type_flag is 0, it may indicate that layer ID information (bri_nuh_layer_id[i]) exists. Here, the partition-related information may include at least one of partition width information (bri_partition_width_minus1) indicating the width of the partition, partition height information (bri_partition_height_minus1) indicating the height of the partition, partition horizontal position information (bri_partition_top_left_x[i]) specifying the horizontal position of the top-left corner of the partition, or partition vertical position information (bri_partition_top_left_y[i]) specifying the vertical position of the top-left corner of the partition.

[0161] Partition width information (bri_partition_width_minus1) may represent the width of the partition. For example, a value obtained by adding 1 to bri_partition_width_minus1 may represent the width of the partition. Here, the width of the partition may be equal to the width of the target picture that can be recovered from the allocated bit range. bri_partition_width_minus1 may be signaled based on bri_pic_partition_type_flag. For example, bri_partition_width_minus1 may be signaled based on the value of bri_pic_partition_type_flag being 1, and may not be signaled based on the value of bri_pic_partition_type_flag being 0.

[0162] Partition height information (bri_partition_height_minus1) may represent the height of the partition. For example, a value obtained by adding 1 to bri_partition_height_minus1 may represent the height of the partition. Here, the height of the partition may be equal to the height of the target picture that can be recovered from the allocated bit range. bri_partition_height_minus1 may be signaled based on bri_pic_partition_type_flag. For example, bri_partition_height_minus1 may be signaled based on the value of bri_pic_partition_type_flag being 1, and may not be signaled based on the value of bri_pic_partition_type_flag being 0.

[0163] Partition horizontal position information (bri_partition_top_left_x[i]) can specify the horizontal position of the top-left corner of the i-th partition of the coded picture in luminance samples. Partition vertical position information (bri_partition_top_left_y[i]) can specify the vertical position of the top-left corner of the i-th partition of the coded picture in luminance samples. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] can be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_type_flag. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] can be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] may be signaled based on the value of bri_pic_partition_type_flag being 1, and may not be signaled based on the value of bri_pic_partition_type_flag being 0.

[0164] The layer ID information (bri_nuh_layer_id[i]) can identify the layer identifier for the texture component of the i-th bit depth range. If bri_nuh_layer_id[i] is not included in the bitstream, the value of bri_nuh_layer_id[i] may be considered identical to the layer identifier of the PU containing the BRI SEI message. In this case, if the BRI SEI message exists in any layer of the current access unit (AU), a BRI SEI message with the same payload may exist in the layer having the layer identifier bri_nuh_layer_id[0].

[0165] bri_nuh_layer_id[i] may be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_type_flag. bri_nuh_layer_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_nuh_layer_id[i] may be signaled based on the value of bri_pic_partition_type_flag being 0 and may not be signaled based on the value of bri_pic_partition_type_flag being 1.

[0166] bri_orig_bit_depth_minus1, bri_num_ranges_minus1, bri_num_bits_in_range_minus1[i], and bri_bit_offset[i] are as seen with reference to Tables 1 to 3.

[0167] The partition (CodedRangeRegion[i]) corresponding to the i-th bit depth range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th bit depth range and the height (CodedHeight[i]) of the partition corresponding to the i-th bit depth range.

[0168] For example, if the partition type information (bri_pic_partition_type_flag) is 1, CodedWidth[i] may be the value obtained by adding 1 to the partition width information (bri_partition_width_minus1) (bri_partition_width_minus1 + 1). Also, CodedHeight[i] may be the value obtained by adding 1 to the partition height information (bri_partition_height_minus1) (bri_partition_height_minus1 + 1). Also, CodedRangeRegion[i] may be a region defined based on at least one of CodedWidth[i], CodedHeight[i], bri_partition_top_left_x[i], or bri_partition_top_left_y[i]. For example, CodedRangeRegion[i] may be an area within the coded picture where the horizontal and vertical positions of the top-left corner are bri_partition_top_left_x[i] and bri_partition_top_left_y[i], respectively, the width is CodedWidth[i], and the height is CodedHeight[i].

[0169] As another example, when the partition type information (bri_pic_partition_type_flag) is 0, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Additionally, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0170] For all cases where i and j fall within the range from 0 to (bri_num_ranges - 1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0171] Example 5

[0172] Table 5 is another example of bit depth range information included in a bitstream.

[0173] bitdepth_range_info(payloadSize) {Descriptorbri_orig_bit_depth_minus1u(4)bri_num_ranges_minus1u(2)if (bri_num_ranges_minus1 > 0) { bri_nuh_layer_id_present_flagu(1)bri_pic_partition_present_flagu(1)if(bri_pic_partition_present_flag) { bri_partition_id_len_minus1u(4)bri_partition_width_minus1ue(v)bri_partition_height_minus1ue(v)}} for( i = 0; i <= bri_num_ranges_minus1; i++ ) { if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6)if ( bri_pic_partition_present_flag ) { bri_partition_id [ i ]u(v)bri_partition_top_left_x[ i ]ue(v)bri_partition_top_left_y[ i ]ue(v)} bri_num_bits_in_range_minus1[ i ]u(4)bri_bit_offset[ i ]u(4)}}

[0174] The picture partition flag (bri_pic_partition_present_flag) may indicate whether partition-related information is included in the bitstream. For example, if bri_pic_partition_present_flag is 1, it may indicate that partition-related information exists, and if bri_pic_partition_present_flag is 0, it may indicate that partition-related information does not exist. Here, the partition-related information may include at least one of partition width information (bri_partition_width_minus1) indicating the width of the partition, partition height information (bri_partition_height_minus1) indicating the height of the partition, partition horizontal position information (bri_partition_top_left_x[i]) indicating the horizontal position of the top-left corner of the partition, or partition vertical position information (bri_partition_top_left_y[i]) indicating the vertical position of the top-left corner of the partition. bri_pic_partition_present_flag may be signaled based on bri_num_ranges_minus1. For example, bri_pic_partition_present_flag can be signaled when bri_num_ranges_minus1 is greater than 0.

[0175] The layer ID flag (bri_nuh_layer_id_present_flag) or the picture partition flag (bri_pic_partition_present_flag) may be restricted to have a specific value based on the range count information (bri_num_ranges_minus1). For example, if bri_num_ranges_minus1 is greater than 0, at least one of bri_nuh_layer_id_present_flag or bri_pic_partition_present_flag must be 1. For example, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 1 and bri_pic_partition_present_flag may also be 1. Or, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 1 and bri_pic_partition_present_flag may be 0. Or, if bri_num_ranges_minus1 is greater than 0, bri_nuh_layer_id_present_flag may be 0 and bri_pic_partition_present_flag may be 1.

[0176] The picture partition flag (bri_pic_partition_present_flag) may be restricted to have a specific value based on at least one of bri_nuh_layer_id_present_flag or bri_num_ranges_minus1. For example, if bri_nuh_layer_id_present_flag is 0 and bri_num_ranges_minus1 is greater than 0, bri_pic_partition_present_flag must be 1.

[0177] The partition ID length information (bri_partition_id_len_minus1) can specify the length of the partition ID information (bri_partition_id[i]). For example, the value of bri_partition_id_len_minus1 plus 1 can be specified as the length of bri_partition_id[i]. bri_partition_id_len_minus1 can be signaled based on bri_pic_partition_present_flag. For example, bri_partition_id_len_minus1 can be signaled when bri_pic_partition_present_flag is 1.

[0178] Partition width information (bri_partition_width_minus1) may represent the width of the partition. For example, a value of bri_partition_width_minus1 plus 1 may represent the width of the partition. Here, the width of the partition may be equal to the width of the target picture that can be recovered from the allocated bit range. bri_partition_width_minus1 may be signaled based on bri_pic_partition_present_flag. For example, bri_partition_width_minus1 may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0179] Partition height information (bri_partition_height_minus1) may represent the height of the partition. For example, a value obtained by adding 1 to bri_partition_height_minus1 may represent the height of the partition. Here, the height of the partition may be equal to the height of the target picture that can be recovered from the allocated bit range. bri_partition_height_minus1 may be signaled based on bri_pic_partition_present_flag. For example, bri_partition_height_minus1 may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0180] Partition ID information (bri_partition_id[i]), when included in the bitstream, can identify the index of explicitly defined partition-related information for the i-th partition. If bri_partition_id[i] is not included in the bitstream, the value of bri_partition_id[i] can be considered 0. Here, the partition-related information may include at least one of partition horizontal position information (bri_partition_top_left_x[i]), partition vertical position information (bri_partition_top_left_y[i]), partition width information (bri_partition_width_minus1), or partition height information (bri_partition_height_minus1).

[0181] Alternatively, the partition ID information (bri_partition_id[i]) can identify the index of explicitly defined partition-related information for the texture component of the i-th bit depth range if it is included in the bitstream. If bri_partition_id[i] is not included in the bitstream, the value of bri_partition_id[i] can be considered 0.

[0182] bri_partition_id[i] may be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_present_flag. bri_partition_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_id[i] may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0183] Partition horizontal position information (bri_partition_top_left_x[i]) can specify the horizontal position of the top-left corner of the i-th partition of the coded picture in luminance samples. Partition vertical position information (bri_partition_top_left_y[i]) can specify the vertical position of the top-left corner of the i-th partition of the coded picture in luminance samples. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] can be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_present_flag. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] can be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_top_left_x[i] or bri_partition_top_left_y[i] may be signaled based on the value of bri_pic_partition_present_flag being 1, and may not be signaled based on the value of bri_pic_partition_present_flag being 0.

[0184] bri_orig_bit_depth_minus1, bri_num_ranges_minus1, bri_nuh_layer_id_present_flag, bri_nuh_layer_id[i], bri_num_bits_in_range_minus1[i], and bri_bit_offset[i] are as seen with reference to Table 1.

[0185] The partition (CodedRangeRegion[i]) corresponding to the i-th bit depth range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th bit depth range and the height (CodedHeight[i]) of the partition corresponding to the i-th bit depth range.

[0186] For example, if the picture partition flag (bri_pic_partition_present_flag) is 1, CodedWidth[i] may be the value obtained by adding 1 to the partition width information (bri_partition_width_minus1) (bri_partition_width_minus1 + 1). Also, CodedHeight[i] may be the value obtained by adding 1 to the partition height information (bri_partition_height_minus1) (bri_partition_height_minus1 + 1). Also, CodedRangeRegion[i] may be a region defined based on at least one of CodedWidth[i], CodedHeight[i], bri_partition_top_left_x[i], or bri_partition_top_left_y[i]. For example, CodedRangeRegion[i] may be an area within the coded picture where the horizontal and vertical positions of the top-left corner are bri_partition_top_left_x[i] and bri_partition_top_left_y[i], respectively, the width is CodedWidth[i], and the height is CodedHeight[i].

[0187] As another example, when the picture partitioning flag (bri_pic_partition_present_flag) is 0, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0188] For all cases where i and j fall within the range from 0 to (bri_num_ranges - 1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0189] Example 6

[0190] Table 6 is another example of bit depth range information included in a bitstream.

[0191] bitdepth_range_info( payloadSize ) {Descriptor bri_orig_bit_depth_minus1u(4) bri_num_ranges_minus1u(2) if ( bri_num_ranges_minus1 > 0 ) { bri_nuh_layer_id_present_flagu(1) bri_pic_partition_flagu(1) if( bri_pic_partition_flag ) { bri_partition_type_idcu(2) if ( bri_partition_type_idc != 2 ) bri_partition_id_len_minus1u(4)elsebri_partition_param_length_minus1u(4) bri_partition_width_minus1u(v) bri_partition_height_minus1u(v) } } for( i = 0; i <= bri_num_ranges_minus1;i++ ) { if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6) if ( bri_pic_partition_flag ){ if ( bri_partition_type_idc != 2 ) bri_partition_id[ i ]u(v) else { bri_partition_top_left_x[ i ]u(v) bri_partition_top_left_y[ i ]u(v)}} bri_num_bits_in_range_minus1[ i ]u(4) bri_bit_offset[ i ]u(4)}} ;

[0192] Bit depth range information may include original picture bit depth information (bri_orig_bit_depth_minus1). bri_orig_bit_depth_minus1 may specify the bit depth of the original picture. For example, a value obtained by adding 1 to bri_orig_bit_depth_minus1 may be set as the bit depth of the original picture (OrigBitDepth).

[0193] Bit depth range information may include range count information (bri_num_ranges_minus1). bri_num_ranges_minus1 may specify the number of bit depth ranges used for bit allocation of the original picture. For example, the value of bri_num_ranges_minus1 plus 1 may be set as the number of bit depth ranges used for bit allocation of the original picture (briNumRanges).

[0194] Bit depth range information may include a layer ID present flag (bri_nuh_layer_id_present_flag). bri_nuh_layer_id_present_flag may indicate whether layer ID information (bri_nuh_layer_id) exists. For example, if bri_nuh_layer_id_present_flag is 1, it may indicate that bri_nuh_layer_id exists in the SEI message. If bri_nuh_layer_id_present_flag is 0, it may indicate that bri_nuh_layer_id does not exist in the SEI message.

[0195] bri_nuh_layer_id_present_flag can be signaled based on bri_num_ranges_minus1. For example, bri_nuh_layer_id_present_flag can be signaled if bri_num_ranges_minus1 is greater than 0. bri_nuh_layer_id_present_flag may not be signaled if bri_num_ranges_minus1 is less than or equal to 0.

[0196] Bit depth range information may include a picture partition flag (bri_pic_partition_flag). bri_pic_partition_flag may indicate whether partition ID information (bri_partition_id) is included in the bitstream. For example, if bri_pic_partition_flag is 1, it may indicate that bri_partition_id exists. If bri_pic_partition_flag is 0, it may indicate that bri_partition_id does not exist.

[0197] Alternatively, the picture partition flag (bri_pic_partition_flag) may indicate whether partition type information (bri_partition_type_idc) is included in the bitstream. For example, if bri_pic_partition_flag is 1, it may indicate that bri_partition_type_idc exists. If bri_pic_partition_flag is 0, it may indicate that bri_partition_type_idc does not exist.

[0198] bri_pic_partition_flag can be signaled based on bri_num_ranges_minus1. For example, bri_pic_partition_flag can be signaled if bri_num_ranges_minus1 is greater than 0. bri_pic_partition_flag may not be signaled if bri_num_ranges_minus1 is less than or equal to 0.

[0199] Bit depth range information may include partition type information (bri_partition_type_idc). bri_partition_type_idc may indicate the type of partition to which each bit depth range is encoded.

[0200] For example, if bri_partition_type_idc is 0, this may indicate that each bit depth range is encoded as a sub-picture. That is, it may indicate that the bit depth range for the original picture is encoded in units of sub-pictures. If bri_partition_type_idc is 1, this may indicate that each bit depth range is encoded as a constituent rectangle. That is, it may indicate that the bit depth range for the original picture is encoded in units of constituent rectangles. If bri_partition_type_idc is 2, this may indicate that explicitly defined partition-related information exists. That is, it may indicate that the bit depth range for the original picture is encoded per partition specified by the partition-related information. Here, the partition-related information may include at least one of partition horizontal position information (bri_partition_top_left_x) specifying the horizontal position of the top-left corner of the partition, partition vertical position information (bri_partition_top_left_y) specifying the vertical position of the top-left corner of the partition, partition width information (bri_partition_width_minus1) indicating the width of the partition, or partition height information (bri_partition_height_minus1) indicating the height of the partition.

[0201] If bri_partition_type_idc is 1, it may be required that there be a configuration rectangle SEI message in the current picture unit (PU) that precedes the BRI SEI message in the decoding order.

[0202] bri_partition_type_idc may be signaled based on bri_pic_partition_flag being 1. bri_partition_type_idc may not be signaled based on bri_pic_partition_flag being 0.

[0203] Bit depth range information may include partition ID length information (bri_partition_id_len_minus1). bri_partition_id_len_minus1 may specify the length of at least one of configuration rectangle ID information (bri_rect_id) or subpicture ID information (bri_subpic_id).

[0204] bri_partition_id_len_minus1 may be signaled based on the aforementioned bri_partition_type_idc. For example, bri_partition_id_len_minus1 may be signaled based on bri_partition_type_idc not being 2. For example, bri_partition_id_len_minus1 may be signaled based on bri_partition_type_idc being 0 or 1. On the other hand, bri_partition_id_len_minus1 may not be signaled based on bri_partition_type_idc being 2.

[0205] Bit depth range information may include partition parameter length information (bri_partition_param_length_minus1). bri_partition_param_length_minus1 may represent the length of the aforementioned partition-related information. Here, length may mean length in bit units. bri_partition_param_length_minus1 may be encoded as a descriptor of u(4). That is, bri_partition_param_length_minus1 may be encoded as an unsigned integer using 4 bits.

[0206] Bit depth range information may include partition width information (bri_partition_width_minus1) and partition height information (bri_partition_height_minus1).

[0207] Partition width information (bri_partition_width_minus1) may represent the width of the partition. For example, a value obtained by adding 1 to bri_partition_width_minus1 may represent the width of the partition. Here, the width of the partition may be equal to the width of the target picture that can be recovered from the allocated bit depth range. The length (or number of bits) of bri_partition_width_minus1 may be (bri_partition_param_length_minus1+1).

[0208] Partition height information (bri_partition_height_minus1) may represent the height of the partition. For example, a value obtained by adding 1 to bri_partition_height_minus1 may represent the height of the partition. Here, the height of the partition may be equal to the height of the target picture that can be recovered from the allocated bit depth range. The length (or number of bits) of bri_partition_height_minus1 may be (bri_partition_param_length_minus1+1).

[0209] bri_partition_width_minus1 and bri_partition_height_minus1 may be encoded as descriptors of u(v). That is, bri_partition_width_minus1 and bri_partition_height_minus1 may be encoded as unsigned integers using a variable number of bits.

[0210] bri_partition_param_length_minus1, bri_partition_width_minus1 and bri_partition_height_minus1 can be signaled based on at least one of bri_pic_partition_flag or bri_partition_type_idc.

[0211] For example, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may be signaled based on bri_pic_partition_flag being 1. bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may not be signaled based on bri_pic_partition_flag being not 1. bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may be signaled based on bri_partition_type_idc being 2. On the other hand, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may not be signaled based on bri_partition_type_idc being non-2. For example, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may not be signaled based on bri_partition_type_idc being 0 or 1.

[0212] Bit depth range information may include layer ID information (bri_nuh_layer_id[i]). bri_nuh_layer_id[i] may identify the layer identifier of the texture component for the i-th bit depth range. If bri_nuh_layer_id[i] is not included in the bitstream, the value of bri_nuh_layer_id[i] may be considered identical to the layer identifier of the PU containing the BRI SEI message. In this case, if the BRI SEI message exists in any layer of the current access unit (AU), it may be required that a BRI SEI message with the same payload exist in the layer having the layer identifier of bri_nuh_layer_id[0].

[0213] bri_nuh_layer_id[i] may be encoded as a descriptor of u(6). That is, bri_nuh_layer_id[i] may be encoded as an unsigned integer using 6 bits.

[0214] bri_nuh_layer_id[i] can be signaled based on at least one of bri_num_ranges_minus1 or bri_nuh_layer_id_present_flag.

[0215] For example, bri_nuh_layer_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_nuh_layer_id[i] may be signaled based on the value of bri_nuh_layer_id_present_flag being 1. bri_nuh_layer_id[i] may not be signaled based on the value of bri_nuh_layer_id_present_flag being 0.

[0216] Bit depth range information may include partition ID information (bri_partition_id[i]). bri_partition_id[i] may represent the partition index for the i-th bit depth range. For example, if bri_partition_type_idc is 1, bri_partition_id[i] may represent the composition rectangle index of the texture component for the i-th bit depth range. If bri_partition_type_idc is 0, bri_partition_id[i] may represent the sub-picture index of the texture component for the i-th bit depth range. If bri_partition_id[i] is not included in the bitstream, the value of bri_partition_id[i] may be considered 0.

[0217] If bri_partition_type_idc is 1, bri_partition_id[i] must be in the range of 0 or more and (cr_num_rects_minus1[bri_nuh_layer_id[i]]-1) or less. If bri_partition_type_idc is 0, bri_partition_id[i] must be in the range of 0 or more and (NumSubpics[bri_nuh_layer_id[i]]-1) or less. Here, cr_num_rects_minus1[bri_nuh_layer_id[i]] may represent the number of constituent rectangles defined in a specific layer having the layer index of bri_nuh_layer_id[i]. NumSubpics[bri_nuh_layer_id[i]] may represent the number of sub-pictures defined in a specific layer having the layer index of bri_nuh_layer_id[i].

[0218] bri_partition_id[i] may be encoded as a descriptor of u(v). That is, bri_partition_id[i] may be encoded as an unsigned integer using a variable number of bits.

[0219] bri_partition_id[i] can be signaled based on at least one of bri_num_ranges_minus1, bri_pic_partition_flag, or bri_partition_type_idc.

[0220] For example, bri_partition_id[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_id[i] may be signaled based on the value of bri_pic_partition_flag being 1. bri_partition_id[i] may not be signaled based on the value of bri_pic_partition_flag being 0. bri_partition_id[i] may be signaled based on the value of bri_partition_type_idc not being 2. bri_partition_id[i] may not be signaled based on the value of bri_partition_type_idc being 2.

[0221] Bit depth range information may include at least one of partition horizontal position information (bri_partition_top_left_x[i]) or partition vertical position information (bri_partition_top_left_y[i]).

[0222] Partition horizontal position information (bri_partition_top_left_x[i]) can represent the horizontal position of the top-left corner of the i-th partition of the coded picture. Partition vertical position information (bri_partition_top_left_y[i]) can represent the vertical position of the top-left corner of the i-th partition of the coded picture.

[0223] bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be encoded as descriptors of u(v). That is, bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be encoded as unsigned integers using a variable number of bits.

[0224] bri_partition_top_left_x[i] and bri_partition_top_left_y[i] can be signaled based on at least one of bri_num_ranges_minus1, bri_pic_partition_flag, or bri_partition_type_idc.

[0225] For example, bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1. bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be signaled based on the value of bri_pic_partition_flag being 1. bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may not be signaled based on the value of bri_pic_partition_flag being non-1. bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be signaled based on the value of bri_partition_type_idc being 2. bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may not be signaled based on the fact that the value of bri_partition_type_idc is not 2.

[0226] bri_num_bits_in_range_minus1[i] and bri_bit_offset[i] are as seen with reference to Table 1 and Table 2.

[0227] The partition (CodedRangeRegion[i]) corresponding to the i-th range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th range and the height (CodedHeight[i]) of the partition corresponding to the i-th range.

[0228] For example, when the picture partitioning flag (bri_pic_partition_flag) is 0, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0229] If the partition type information (bri_partition_type_idc) is 0, CodedWidth[i] may be the width of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicWidth[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedHeight[i] may be the height of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicHeight[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedRangeRegion[i] may be set to the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i]. Here, the sub-picture may be included in a texture component of the bit depth range corresponding to bri_partition_id[i].

[0230] If the partition type information (bri_partition_type_idc) is 1, CodedWidth[i] may be the width of the configuration rectangle corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectWidth[bri_nuh_layer_id[i]][bri_rect_id[i]]). Also, CodedHeight[i] may be the height of the configuration rectangle corresponding to bri_rect_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectHeight[bri_nuh_layer_id[i]][bri_rect_id[i]]). Additionally, CodedRangeRegion[i] may be set to the configuration rectangle corresponding to cr_rect_id[i] which is identical to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i].

[0231] If the partition type information (bri_partition_type_idc) is 2, CodedWidth[i] can be set to the value of the partition width information (bri_partition_width_minus1[i]) plus 1 (i.e., bri_partition_width_minus1[i]+1). CodedHeight[i] can be set to the value of the partition height information (bri_partition_height_minus1[i]) plus 1 (i.e., bri_partition_height_minus1[i]+1). CodedRangeRegion[i] may be a region defined based on at least one of CodedWidth[i], CodedHeight[i], bri_partition_top_left_x[i], or bri_partition_top_left_y[i]. For example, CodedRangeRegion[i] may be an area within a coded picture where the horizontal and vertical positions of the top-left corner are bri_partition_top_left_x[i] and bri_partition_top_left_y[i], respectively, and the width and height are CodedWidth[i] and CodedHeight[i], respectively.

[0232] For all i and j in the range from 0 to (bri_num_ranges-1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0233] For i in the range from 0 to briNumRanges, the sample SampleToCode[i] of CodedRangeRegion[i] may be indicated as having been pre-processed before encoding from the original source picture of resolution CodedWidth[0] x CodedHeight[0] with ChromaFormatIdc and OrigBitDepth. For each sample DecodedSample[i] of CodedRangeRegion[i] for i in the range from 0 to briNumRanges, each sample TargetSample of the target picture of resolution CodedWidth[0] x CodedHeight[0] with ChromaFormatIdc and OrigBitDepth may be restored based on a target sample restoration process.

[0234] Example 7

[0235] Table 7 is another example of bit depth range information included in a bitstream.

[0236] bitdepth_range_info( payloadSize ) {Descriptor bri_orig_bit_depth_minus1u(4) bri_num_ranges_minus1u(2) if ( bri_num_ranges_minus1 > 0 ) { bri_nuh_layer_id_present_flagu(1) bri_pic_partition_flagu(1) if( bri_pic_partition_flag ) { bri_partition_type_idcu(2)bri_partition_param_length_minus1u(4) if ( bri_partition_type_idc == 2 ){ bri_partition_width_minus1u(v) bri_partition_heigh_minus1u(v) } } for( i = 0; i <= bri_num_ranges_minus1; i++ ) { if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6) if ( bri_pic_partition_flag ){ if ( bri_partition_type_idc != 2 ) bri_partition_id[ i ]u(v) else { bri_partition_top_left_x[ i ]u(v) bri_partition_top_left_y[ i ]u(v) }} bri_num_bits_in_range_minus1[ i ]u(4) bri_bit_offset[ i ]u(4) }}

[0237] Bit depth range information may include bri_orig_bit_depth_minus1, bri_num_ranges_minus1, bri_nuh_layer_id_present_flag, bri_pic_partition_flag, and bri_partition_type_idc. This is as seen with reference to Table 6, and redundant explanations will be omitted here.

[0238] The bit depth range information may include partition parameter length information (bri_partition_param_length_minus1). bri_partition_param_length_minus1 may represent the length of the aforementioned partition-related information. Here, the length may mean the length in bits. bri_partition_param_length_minus1 may be encoded as a descriptor of u(4). That is, bri_partition_param_length_minus1 may be encoded as an unsigned integer using 4 bits.

[0239] It can be signaled based on at least one of bri_pic_partition_flag or bri_partition_type_idc.

[0240] For example, bri_partition_param_length_minus1 may be signaled based on bri_pic_partition_flag being 1. bri_partition_param_length_minus1 may not be signaled based on bri_pic_partition_flag not being 1. bri_partition_param_length_minus1 may be signaled independently of bri_partition_type_idc. That is, bri_partition_param_length_minus1 may be signaled regardless of the value of bri_partition_type_idc. For example, unlike in Table 6, bri_partition_param_length_minus1 may be signaled even if the value of bri_partition_type_idc is 2.

[0241] Bit depth range information may include bri_partition_width_minus1 and bri_partition_height_minus1. This is as seen with reference to Table 6, and redundant explanations will be omitted here.

[0242] Additionally, bit depth range information may include bri_nuh_layer_id[i], bri_partition_id[i], bri_partition_id[i], bri_partition_top_left_x[i], bri_partition_top_left_y[i], bri_num_bits_in_range_minus1[i], and bri_bit_offset[i]. This is as described with reference to Table 6, and redundant explanations will be omitted here.

[0243] The partition corresponding to the i-th range (CodedRangeRegion[i]), the width of the partition corresponding to the i-th range (CodedWidth[i]), and the height of the partition corresponding to the i-th range (CodedHeight[i]) according to the present embodiment can be derived as seen by referring to Table 6.

[0244] Example 8

[0245] Table 8 is another example of bit depth range information included in a bitstream.

[0246] bitdepth_range_info(payloadSize) {Descriptorbri_orig_bit_depth_minus1u(4)bri_num_ranges_minus1u(2)if (bri_num_ranges_minus1 > 0) {bri_nuh_layer_id_present_flagu(1)bri_pic_partition_type_idcu(4)if(bri_pic_partition_type_idc !=0) {if (bri_pic_partition_type_idc != 3 )bri_partition_id_len_minus1u(4)else{bri_partition_param_length_minus1u(4)bri_partition_width_minus1u(v)bri_partition_heigh_minus1u(v)}}}for( i = 0; i <= bri_num_ranges_minus1; i++ ) {if ( bri_nuh_layer_id_present_flag ) bri_nuh_layer_id[ i ]u(6)if(bri_pic_partition_type_idc !=0) {if (bri_pic_partition_type_idc != 3 )bri_partition_id[ i ]u(v)else{bri_partition_top_left_x[ i ]u(v)bri_partition_top_left_y[ i ]u(v)}}bri_num_bits_in_range_minus1[ i ]u(4)bri_bit_offset[ i ]u(4)}}

[0247] Bit depth range information may include bri_orig_bit_depth_minus1, bri_num_ranges_minus1, and bri_nuh_layer_id_present_flag. This is as seen with reference to Table 6, and redundant explanations will be omitted here.

[0248] The bit depth range information may include partition type information (bri_pic_partition_type_idc). bri_pic_partition_type_idc may indicate the type of partition.

[0249] For example, if bri_pic_partition_type_idc is 0, this may indicate that partitions are encoded as pictures. If bri_pic_partition_type_idc is 1, this may indicate that each bit depth range is encoded as a sub-picture. That is, it may indicate that the bit depth range for the original picture is encoded in units of sub-pictures. If bri_pic_partition_type_idc is 2, this may indicate that each bit depth range is encoded as a constituent rectangle. That is, it may indicate that the bit depth range for the original picture is encoded in units of constituent rectangles. If bri_pic_partition_type_idc is 3, this may indicate that explicitly defined partition-related information exists. That is, it may indicate that the bit depth range for the original picture is encoded per partition specified by the partition-related information. Here, the partition-related information may include at least one of partition horizontal position information (bri_partition_top_left_x) specifying the horizontal position of the top-left corner of the partition, partition vertical position information (bri_partition_top_left_y) specifying the vertical position of the top-left corner of the partition, partition width information (bri_partition_width_minus1) indicating the width of the partition, or partition height information (bri_partition_height_minus1) indicating the height of the partition.

[0250] If bri_pic_partition_type_idc is 2, it may be required that there be a configuration rectangle SEI message in the current picture unit (PU) that precedes the BRI SEI message in the decoding order.

[0251] bri_pic_partition_type_idc may be encoded as a descriptor of u(4). That is, bri_pic_partition_type_idc may be encoded as an unsigned integer using 4 bits.

[0252] The bit depth range information may include partition ID length information (bri_partition_id_len_minus1). bri_partition_id_len_minus1 may specify the length of at least one of the configuration rectangle ID information (bri_rect_id) or subpicture ID information (bri_subpic_id).

[0253] bri_partition_id_len_minus1 can be signaled based on the aforementioned bri_pic_partition_type_idc.

[0254] For example, bri_partition_id_len_minus1 may be signaled based on bri_pic_partition_type_idc being non-zero. bri_partition_id_len_minus1 may not be signaled based on bri_pic_partition_type_idc being zero.

[0255] Additionally, bri_partition_id_len_minus1 may be signaled based on bri_pic_partition_type_idc not being 3. For example, bri_partition_id_len_minus1 may be signaled based on bri_pic_partition_type_idc being 1 or 2. On the other hand, bri_partition_id_len_minus1 may not be signaled based on bri_pic_partition_type_idc being 0 or 3.

[0256] bri_partition_id_len_minus1 may be encoded as a descriptor of u(4). That is, bri_partition_id_len_minus1 may be encoded as an unsigned integer using 4 bits.

[0257] The bit depth range information may include at least one of the partition parameter length information (bri_partition_param_length_minus1), partition width information (bri_partition_width_minus1), or partition height information (bri_partition_height_minus1). This is as seen with reference to Table 6.

[0258] Here, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 can be signaled based on the aforementioned bri_pic_partition_type_idc.

[0259] For example, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may be signaled based on bri_pic_partition_type_idc being non-zero. bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may not be signaled based on bri_pic_partition_type_idc being zero.

[0260] Additionally, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may be signaled based on bri_pic_partition_type_idc being 3. bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may not be signaled based on bri_pic_partition_type_idc being 1 or 2. For example, bri_partition_param_length_minus1, bri_partition_width_minus1, and bri_partition_height_minus1 may not be signaled based on bri_pic_partition_type_idc being 1 or 2.

[0261] Bit depth range information may include layer ID information (bri_nuh_layer_id[i]). This is as seen with reference to Table 6, and redundant explanations will be omitted here.

[0262] Bit depth range information may include partition ID information (bri_partition_id[i]). bri_partition_id[i] may represent the partition index for the i-th bit depth range. For example, if bri_partition_type_idc is 2, bri_partition_id[i] may represent the composition rectangle index of the texture component for the i-th bit depth range (or i-th partition). If bri_partition_type_idc is 1, bri_partition_id[i] may represent the sub-picture index of the texture component for the i-th bit depth range (or i-th partition). If bri_partition_id[i] is not included in the bitstream, the value of bri_partition_id[i] may be considered 0.

[0263] If bri_partition_type_idc is 2, bri_partition_id[i] must be in the range of 0 or more and (cr_num_rects_minus1[bri_nuh_layer_id[i]]-1) or less. If bri_partition_type_idc is 1, bri_partition_id[i] must be in the range of 0 or more and (NumSubpics[bri_nuh_layer_id[i]]-1) or less. Here, cr_num_rects_minus1[bri_nuh_layer_id[i]] may represent the number of constituent rectangles defined in a specific layer having the layer index of bri_nuh_layer_id[i]. NumSubpics[bri_nuh_layer_id[i]] may represent the number of sub-pictures defined in a specific layer having the layer index of bri_nuh_layer_id[i].

[0264] Here, bri_partition_id[i] can be signaled based on at least one of bri_num_ranges_minus1 or bri_pic_partition_type_idc.

[0265] For example, bri_partition_id[i] can be signaled as many times as the number of bit depth ranges according to bri_num_ranges_minus1.

[0266] bri_partition_id[i] may be signaled based on bri_pic_partition_type_idc being non-zero. bri_partition_id[i] may not be signaled based on bri_pic_partition_type_idc being zero.

[0267] Additionally, bri_partition_id[i] may be signaled based on bri_pic_partition_type_idc not being 3. For example, bri_partition_id[i] may be signaled based on bri_pic_partition_type_idc being 1 or 2. On the other hand, bri_partition_id[i] may not be signaled based on bri_pic_partition_type_idc being 0 or 3.

[0268] bri_partition_id[i] may be encoded as a descriptor of u(v). That is, bri_partition_id[i] may be encoded as an unsigned integer using a variable number of bits.

[0269] The bit depth range information may include at least one of the partition horizontal position information (bri_partition_top_left_x[i]) or the partition vertical position information (bri_partition_top_left_y[i]). This is as seen with reference to Table 6.

[0270] Here, bri_partition_top_left_x[i] and bri_partition_top_left_y[i] can be signaled based on the aforementioned bri_pic_partition_type_idc.

[0271] For example, bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be signaled based on bri_pic_partition_type_idc being non-zero. bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may not be signaled based on bri_pic_partition_type_idc being zero.

[0272] Additionally, bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may be signaled based on bri_pic_partition_type_idc being 3. bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may not be signaled based on bri_pic_partition_type_idc being 3. For example, bri_partition_top_left_x[i] and bri_partition_top_left_y[i] may not be signaled based on bri_pic_partition_type_idc being 1 or 2.

[0273] bri_num_bits_in_range_minus1[i] and bri_bit_offset[i] are as seen with reference to Table 1 and Table 2.

[0274] The partition (CodedRangeRegion[i]) corresponding to the i-th range according to the present embodiment may be a region defined based on the width (CodedWidth[i]) of the partition corresponding to the i-th range and the height (CodedHeight[i]) of the partition corresponding to the i-th range.

[0275] For example, when bri_pic_partition_type_idc is 0, CodedWidth[i] may be the picture width of the layer corresponding to bri_nuh_layer_id[i] (PicWidthInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedHeight[i] may be the picture height of the layer corresponding to bri_nuh_layer_id[i] (PicHeightInLumaSamples[bri_nuh_layer_id[i]]). Also, CodedRangeRegion[i] may be a cropped decoded picture obtained from the layer corresponding to bri_nuh_layer_id[i] within an access unit (AU).

[0276] When bri_pic_partition_type_idc is 1, CodedWidth[i] may be the width of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicWidth[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedHeight[i] may be the height of the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i] (SubPicHeight[bri_nuh_layer_id[i]][bri_partition_id[i]]). Also, CodedRangeRegion[i] may be set to the sub-picture corresponding to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i]. Here, the sub-picture may be included in a texture component of the bit depth range corresponding to bri_partition_id[i].

[0277] When bri_pic_partition_type_idc is 2, CodedWidth[i] may be the width of the configuration rectangle corresponding to bri_rect_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectWidth[bri_nuh_layer_id[i]][bri_rect_id[i]]). Also, CodedHeight[i] may be the height of the configuration rectangle corresponding to bri_rect_id[i] of the layer corresponding to bri_nuh_layer_id[i] (CrRectHeight[bri_nuh_layer_id[i]][bri_rect_id[i]]). Also, CodedRangeRegion[i] may be set to the configuration rectangle corresponding to cr_rect_id[i] which is identical to bri_partition_id[i] of the layer corresponding to bri_nuh_layer_id[i].

[0278] If bri_pic_partition_type_idc is 3, CodedWidth[i] can be set to the partition width information (bri_partition_width_minus1[i]) plus 1 (i.e., bri_partition_width_minus1[i]+1). CodedHeight[i] can be set to the partition height information (bri_partition_height_minus1[i]) plus 1 (i.e., bri_partition_height_minus1[i]+1). CodedRangeRegion[i] can be a region defined based on at least one of CodedWidth[i], CodedHeight[i], bri_partition_top_left_x[i], or bri_partition_top_left_y[i]. For example, CodedRangeRegion[i] may be an area within a coded picture where the horizontal and vertical positions of the top-left corner are bri_partition_top_left_x[i] and bri_partition_top_left_y[i], respectively, and the width and height are CodedWidth[i] and CodedHeight[i], respectively.

[0279] For all i and j in the range from 0 to (bri_num_ranges-1), CodedWidth[i] may be equal to CodedWidth[j] and CodedHeight[i] may be equal to CodedHeight[j]. That is, the width and height of the partition corresponding to every i-th bit depth range may be the same.

[0280] For i in the range from 0 to briNumRanges, the sample SampleToCode[i] of CodedRangeRegion[i] may be indicated as having been pre-processed before encoding from the original source picture of resolution CodedWidth[0] x CodedHeight[0] with ChromaFormatIdc and OrigBitDepth. For each sample DecodedSample[i] of CodedRangeRegion[i] for i in the range from 0 to briNumRanges, each sample TargetSample of the target picture of resolution CodedWidth[0] x CodedHeight[0] with ChromaFormatIdc and OrigBitDepth may be restored based on a target sample restoration process.

[0281] Bit depth range information according to the present disclosure may be configured in an SEI message of a bitstream. The SEI message may be included in a NAL (network abstraction layer) unit of the bitstream, but is not limited thereto. For example, bit depth range information according to the present disclosure may be configured in a high-level syntax of the bitstream. Here, the high-level syntax may be at least one of a sequence parameter set (SPS), a picture parameter set (PPS), a picture header (PH), or a slice header (SH). Alternatively, bit depth range information according to the present disclosure may be defined as a separate NAL unit type within the bitstream.

[0282] FIG. 5 illustrates a schematic configuration of a decoding device (300) that performs a method for restoring a video picture according to the present disclosure.

[0283] Referring to FIG. 5, the decoding device (300) may include a receiving unit (500), a video information extraction unit (510), and a video restoration unit (520).

[0284] The receiver (500) can receive a bitstream including an encoded video picture.

[0285] The video information extraction unit (510) can extract video information regarding an encoded video picture from the bitstream. Additionally, the video information extraction unit (710) can extract bit depth range information from the bitstream, as seen with reference to FIG. 4.

[0286] The video restoration unit (520) can restore an encoded video picture based on extracted video information.

[0287] FIG. 6 illustrates a method for generating a bitstream performed in an encoding device (200) according to the present disclosure.

[0288] A video picture being encoded can be received (S600).

[0289] Video information regarding the video picture can be generated by encoding the received video picture (S610).

[0290] A bitstream containing video information about a video picture can be generated (S620).

[0291] In addition, bit depth range information applied to the bitstream can be generated, as seen with reference to FIG. 4. The bit depth range information can be included in the bitstream.

[0292] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs a method for generating a bitstream according to the present disclosure.

[0293] Referring to FIG. 7, the encoding device (200) may include a receiving unit (700), a video compression unit (710), and a bitstream generation unit (720).

[0294] The receiver (700) can receive one or more video pictures that are encoded.

[0295] The video compression unit (710) can generate video information regarding the video picture by encoding one or more received video pictures. The video compression unit (710) can generate bit depth range information applied to the bitstream.

[0296] The bitstream generation unit (720) can generate a bitstream including the video information. The bitstream generation unit (720) can generate a bitstream that further includes the generated bit depth range information.

[0297] In the embodiments described above, methods are described based on flowcharts as a series of steps or blocks; however, the embodiments are not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps as described above. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, and other steps may be included, or one or more steps of the flowcharts may be omitted without affecting the scope of the embodiments of this document.

[0298] The method according to the embodiments of the present document described above may be implemented in the form of software, and the encoding device and / or decoding device according to the present document may be included in a device that performs image processing, such as a TV, computer, smartphone, set-top box, display device, etc.

[0299] When the embodiments described in this document are implemented in software, the method described above may be implemented as a module (process, function, etc.) that performs the function described above. The module may be stored in memory and executed by a processor. The memory may be located inside or outside the processor and may be connected to the processor by various well-known means. The processor may include an application-specific integrated circuit (ASIC), other chipsets, logic circuits, and / or data processing devices. The memory may include read-only memory (ROM), random access memory (RAM), flash memory, memory cards, storage media, and / or other storage devices. That is, the embodiments described in this document may be implemented and executed on a processor, microprocessor, controller, or chip. For example, the functional units illustrated in each figure may be implemented and executed on a computer, processor, microprocessor, controller, or chip. In this case, information on instructions or algorithms for implementation may be stored on a digital storage medium.

[0300] In addition, the decoding device and encoding device to which the embodiment(s) of the present specification are applied may be included in multimedia broadcasting transmission and reception devices, mobile communication terminals, home cinema video devices, digital cinema video devices, surveillance cameras, video conversation devices, real-time communication devices such as video communication, mobile streaming devices, storage media, camcorders, Video on Demand (VoD) service providers, Over-the-top video (OTT) devices, internet streaming service providers, 3D video devices, virtual reality (VR) devices, augmented reality (AR) devices, video phone video devices, transportation terminals (e.g., vehicle terminals (including autonomous vehicles), airplane terminals, ship terminals, etc.), and medical video devices, and may be used to process video signals or data signals. For example, Over-the-top video (OTT) devices may include game consoles, Blu-ray players, internet-connected TVs, home theater systems, smartphones, tablet PCs, Digital Video Recorders (DVRs), etc.

[0301] Additionally, the processing method to which the embodiment(s) of this specification are applied may be produced in the form of a program that is executed by a computer and may be stored on a computer-readable recording medium. Multimedia data having a data structure according to the embodiment(s) of this specification may also be stored on a computer-readable recording medium. The computer-readable recording medium includes all types of storage devices and distributed storage devices in which computer-readable data is stored. The computer-readable recording medium may include, for example, a Blu-ray disc (BD), a Universal Serial Bus (USB), a ROM, a PROM, an EPROM, an EEPROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device. Additionally, the computer-readable recording medium includes a medium implemented in the form of a carrier wave (e.g., transmission over the Internet). Additionally, a bitstream generated by an encoding method may be stored on a computer-readable recording medium or transmitted via a wired or wireless communication network.

[0302] Additionally, the embodiments of this specification may be implemented as a computer program product by program code, and said program code may be executed on a computer by the embodiments of this specification. said program code may be stored on a computer-readable carrier.

[0303] FIG. 8 shows an example of a content streaming system to which embodiments of the present disclosure can be applied.

[0304] Referring to FIG. 8, a content streaming system to which the embodiment(s) of the present specification are applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.

[0305] The above encoding server compresses content input from multimedia input devices, such as smartphones, cameras, and camcorders, into digital data to generate a bitstream and transmits it to the streaming server. As another example, if multimedia input devices, such as smartphones, cameras, and camcorders, generate the bitstream directly, the encoding server may be omitted.

[0306] The bitstream above may be generated by an encoding method or a bitstream generation method to which the embodiment(s) of the present specification are applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.

[0307] The streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server acts as a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transmits it to the streaming server, and the streaming server transmits the multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server plays the role of controlling commands and responses between each device within the content streaming system.

[0308] The streaming server may receive content from a media storage and / or an encoding server. For example, when receiving content from the encoding server, the content may be received in real time. In this case, to provide a seamless streaming service, the streaming server may store the bitstream for a certain period of time.

[0309] Examples of the above user devices may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs (head-mounted displays)), digital TVs, desktop computers, digital signage, etc.

[0310] Each server within the above-mentioned content streaming system can be operated as a distributed server, and in this case, data received from each server can be processed in a distributed manner.

[0311] The claims described in this specification may be combined in various ways. For example, the technical features of the method claims in this specification may be combined to be implemented as a device, and the technical features of the device claims in this specification may be combined to be implemented as a method. Furthermore, the technical features of the method claims and the technical features of the device claims in this specification may be combined to be implemented as a device, and the technical features of the method claims and the technical features of the device claims in this specification may be combined to be implemented as a method.

Claims

1. A step of receiving a bitstream including an encoded video picture; and The method includes the step of restoring an encoded video picture contained in the bitstream, The above bitstream includes bit depth range information, and The above bit depth range information includes either partition ID length information or partition parameter length information, and Partition ID length information represents the length of at least one of constituent rectangle ID information or sub-picture ID information, and The above partition parameter length information indicates the length of the partition-related information, and A method in which the bit depth range information is obtained from the NAL (network abstraction layer) unit of the bitstream.

2. In Paragraph 1, A method in which the bit depth range information further includes partition type information indicating the type of partition in which the bit depth range is encoded.

3. In Paragraph 2, A method in which the above partition ID length information or the above partition parameter length information is signaled based on the above partition type information.

4. In Paragraph 3, A method in which the above partition ID length information is signaled based on the fact that the above partition type information does not indicate the existence of partition-related information explicitly defined.

5. In Paragraph 4, A method in which the above partition parameter length information is signaled based on the fact that the above partition type information indicates the existence of partition-related information explicitly defined.

6. In Paragraph 5, A method in which the partition-related information is signaled based on the fact that the partition type information indicates the existence of explicitly defined partition-related information.

7. In Paragraph 6, A method comprising at least one of the partition-related information, wherein the partition horizontal position information specifying the horizontal position of the upper-left corner of the partition, partition vertical position information specifying the vertical position of the upper-left corner of the partition, partition width information indicating the width of the partition, or partition height information indicating the height of the partition.

8. In Paragraph 7, A method in which the above partition-related information is encoded as an unsigned integer using a variable number of bits.

9. A step of receiving the video picture to be encoded; A step of encoding the received video picture to generate video information regarding the video picture; Step of generating bit depth range information; and The method includes the step of generating a bitstream including the video information and the bit depth range information, The above bit depth range information includes either partition ID length information or partition parameter length information, and Partition ID length information represents the length of at least one of constituent rectangle ID information or sub-picture ID information, and The above partition parameter length information indicates the length of the partition-related information, and A method in which the above bit depth range information is encoded in the NAL (network abstraction layer) unit of the bitstream.

10. A computer-readable storage medium for storing a bitstream generated by the method according to paragraph 9.

11. A step of generating a bitstream; wherein the bitstream is generated based on the step of receiving a video picture to be encoded, the step of encoding the received video picture to generate video information regarding the video picture, and the step of generating bit depth range information, and The method includes the step of transmitting data including the above bitstream, The above bit depth range information includes either partition ID length information or partition parameter length information, and Partition ID length information represents the length of at least one of constituent rectangle ID information or sub-picture ID information, and The above partition parameter length information indicates the length of the partition-related information, and A method in which the above bit depth range information is encoded in the NAL (network abstraction layer) unit of the bitstream.