Image encoding / decoding method and device, and recording medium in which bitstream is stored
The method addresses chroma format inconsistencies in high-resolution video by configuring and signaling display overlay information in the bitstream, ensuring accurate decoding and efficient handling of multiple layers with consistent chroma formats.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- LG ELECTRONICS INC
- Filing Date
- 2026-01-05
- Publication Date
- 2026-07-09
AI Technical Summary
Existing video encoding and decoding technologies face challenges in handling high-resolution and high-quality video formats, particularly in managing display overlay information and chroma format inconsistencies across multiple layers, leading to unclear layer associations and bit depth ambiguities.
A method and apparatus for configuring and signaling display overlay information, including chroma format details, to ensure accurate formation of target display pictures by overlaying multiple layers, with chroma format information encoded in the bitstream's Network Abstraction Layer (NAL) units, and utilizing flags to determine chroma format consistency.
Resolves ambiguities in layer associations and bit depth usage, ensuring clear and efficient decoding of high-resolution video by maintaining chroma format consistency across layers, thereby improving decoding accuracy and efficiency.
Smart Images

Figure KR2026000126_09072026_PF_FP_ABST
Abstract
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 display overlay information.
[0005] The present disclosure provides a method and apparatus for signaling display overlay information.
[0006] The present disclosure provides a method and apparatus for configuring chroma format information for a target display picture.
[0007] The present disclosure provides a method and apparatus for signaling chroma format information for a target display picture.
[0008] The present disclosure provides a method and apparatus for forming a target display picture based on chroma format information for the target display picture, the chroma format of each layer for one or more display overlays, and bit depth.
[0009] 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 chroma format information for a target display picture formed by overlaying one or more display overlays. The chroma format information for the target display picture may indicate chroma sampling relative to lumina sampling for the target display picture. The chroma format information for the target display picture may be encoded in a network abstraction layer (NAL) unit of the bitstream.
[0010] In the image decoding method and apparatus according to the present disclosure, the bitstream includes a flag indicating whether information for specifying the width and height of a target picture is included, and based on the flag value, the chroma format information for the target display picture may be set to be the same as the chroma format for the first layer including the one or more display overlays.
[0011] In the image decoding method and apparatus according to the present disclosure, the target display picture may be formed based on the chroma format information for the target display picture.
[0012] In the image decoding method and apparatus according to the present disclosure, based on the fact that the color component of the target display picture is not zero according to the chroma format information for the target display picture, the range of horizontal coordinates of the samples of the target display picture is from 0 to the width of the target display picture / TargetPicSubWidthC - 1, and the range of vertical coordinates of the samples of the target display picture is from 0 to the height of the target display picture / TargetPicSubHeightC - 1, and the TargetPicSubWidthC and the TargetPicSubHeightC can be set based on the chroma format information for the target display picture.
[0013] In the image decoding method and apparatus according to the present disclosure, samples of the target picture can be initialized based on the chroma format information for the target display picture.
[0014] In the image decoding method and apparatus according to the present disclosure, based on the chroma format of each layer for the one or more display overlays, the target display picture may be formed by overlaying the one or more display overlays onto the target picture.
[0015] In the image decoding method and apparatus according to the present disclosure, the range of horizontal coordinates of the one or more display overlays is from 0 to the width / SubWidthC - 1 of the target display picture, and the range of vertical coordinates of the samples of the target display picture is from 0 to the height / SubHeightC - 1 of the target display picture, and the SubWidthC and the SubHeightC may be set based on the chroma format for the corresponding layer of the one or more display overlays.
[0016] In the image decoding method and apparatus according to the present disclosure, the SubWidthC and the SubHeightC may each be set as values for a layer of a picture having the same layer identifier as the corresponding layer of the one or more display overlays.
[0017] In the image decoding method and apparatus according to the present disclosure, based on the bit depth of each layer for the one or more display overlays, the target display picture may be formed by overlaying the one or more display overlays on the target picture.
[0018] 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 chroma format information for a target display picture formed by overlaying one or more display overlays, and generate a bitstream including the video information and the chroma format information for the target display picture. The chroma format information for the target display picture may indicate chroma sampling relative to lumina sampling for the target display picture. The chroma format information for the target display picture may be encoded in a network abstraction layer (NAL) unit of the bitstream.
[0019] 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.
[0020] 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.
[0021] A method and apparatus for transmitting video / image information generated according to the image encoding method according to the present disclosure are provided.
[0022] According to the present disclosure, when multiple layers are included in a display overlay information message, the problem of unclear which layer the chroma format for the display overlay corresponds to can be prevented.
[0023] According to the present disclosure, when multiple layers are included in a display overlay information message, the problem of which bit depth to use can be prevented.
[0024] FIG. 1 illustrates a video / image coding system according to the present disclosure.
[0025] 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.
[0026] 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.
[0027] FIG. 4 illustrates a method for restoring a video picture performed in a decoding device (300) according to the present disclosure.
[0028] 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.
[0029] FIG. 6 illustrates a method for generating a bitstream performed in an encoding device (200) according to the present disclosure.
[0030] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs a method for generating a bitstream according to the present disclosure.
[0031] FIG. 8 shows an example of a content streaming system to which embodiments of the present disclosure can be applied.
[0032] 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.
[0033] 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.
[0034] 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.
[0035] 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.
[0036] 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).
[0037] This specification presents various embodiments regarding video / image coding, and unless otherwise noted, said embodiments may be performed in combination with one another.
[0038] 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.
[0039] 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 component or only the pixel / pixel value of the chroma component.
[0040] 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.
[0041] 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."
[0042] 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."
[0043] 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."
[0044] 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."
[0045] 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."
[0046] Technical features described individually within a single drawing in this specification may be implemented individually or simultaneously.
[0047] FIG. 1 illustrates a video / image coding system according to the present disclosure.
[0048] Referring to FIG. 1, the video / image coding system may include a first device (source device) and a second device (receiving device).
[0049] A source device can transmit encoded video / image information or data in the form of a file or streaming to a receiving device via a digital storage medium or a network. The source device may include a video source, an encoding device, and a transmission unit. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be referred to as a video / image encoding device, and the decoding device may be referred to as 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 may include a display unit, and the display unit may be composed of a separate device or an external component.
[0050] A video source may acquire video / images through processes such as video / image capture, synthesis, or generation. The video source may include a video / image capture device and / or a video / image generation device. A video / image capture device may include one or more cameras, a video / image archive containing previously captured video / images, etc. A video / image generation device may include a computer, a tablet, a smartphone, etc., and may generate video / images (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 in which related data is generated.
[0051] The encoding device can encode input video / images. The encoding device 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.
[0052] The transmission unit can transmit encoded video / image information or data output in the form of a bitstream to the receiving unit of a receiving device in the form of a file or streaming via a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmission unit 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 can receive / extract the bitstream and transmit it to a decoding device.
[0053] The decoding device can decode video / images by performing a series of procedures such as inverse quantization, inverse transform, and prediction corresponding to the operation of the encoding device.
[0054] The renderer can render the decoded video / image. The rendered video / image can be displayed through the display unit.
[0055] 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.
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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 can 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.
[0061] 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).
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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 the 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 the 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 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.
[0066] 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.
[0067] 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.
[0068] 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 quantized transform coefficients.
[0069] 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).
[0070] Quantized transformation 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 transformation coefficients through the inverse quantization unit (234) and the inverse transformation unit (235). An 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.
[0071] 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.
[0072] 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.
[0073] 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).
[0074] 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.
[0075] 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).
[0076] 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.
[0077] 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.
[0078] 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).
[0079] 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).
[0080] 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.
[0081] In the inverse conversion unit (322), the conversion coefficients are inversely converted to obtain a residual signal (residual block, residual sample array).
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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 the 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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).
[0090] 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.
[0091] Display overlay information (DOI) supplemental enhancement information (SEI) message
[0092] A display overlay information (DOI) SEI message provides metadata that enables the formation of a target display picture formed by overlaying one or more aligned display overlays in a specific order. The display overlays include a texture and optionally an alpha channel, each contained within a cropped decoded picture, a subpicture, and / or a constituent rectangle.
[0093] To use these SEI messages, the following variables are defined. Here, i is the layer identifier of a layer that may exist in the current CVS (coded video sequence).
[0094] - The arrays of picture width and picture height in units of luma samples can be represented as PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i], respectively.
[0095] - The chroma format specifier can be represented by ChromaFormatIdc[i].
[0096] - The bit depth of a sample of a chroma component can be represented as BitDepthY, and if ChromaFormatIdc is not equal to 0, the bit depth of a sample of two related chroma components can be represented as BitDepthC.
[0097] - An array of subpicture counts can be represented as NumSubpics[i].
[0098] - Arrays of widths and heights of subpictures can be denoted as SubPicWidth[i][j] and SubPicHeight[i][j], respectively, where j is the subpicture index of 0,...,NumSubpics[i] - 1.
[0099] Table 1 shows an example of a DOI SEI message.
[0100] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_three_comp_flagu(1)doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < ( doi_three_component_flag > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}doi_num_layers_minus1ue(v)if( doi_nuh_layers_minus1 > 0 )doi_layer_order_constrained_flagu(1)for( i = 0; i <= doi_num_layers_minus1; i++ ) {if ( doi_num_layers_minus1 > 0 )doi_nuh_layer_id[ i ]u(v)doi_pic_partition_flag[ i ]u(1)if( doi_pic_partition_flag[ i ] ) { doi_partition_type_idc[ i ]u(2)if( doi_partition_type_idc[ i ] < 2 )doi_partition_idx_len_minus1[ i ]u(4)else if( doi_partition_type_idc[ i ] = = 2)doi_partition_param_length_minus1[ i ]u(4)}doi_offset_params_present_flagu(1)if( doi_offset_params_present_flag )doi_offset_param_length_minus1u(4)doi_resampling_enabled_flagu(1)if( doi_resampling_enabled_flag )doi_size_param_length_minus1u(4)for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) { if( doi_nuh_layers_minus1 > 0 )doi_layer_idx[ i ]u(v)if ( doi_pic_partition_flag[ doi_layer_idx[ i ] ] ){ if ( doi_partition_type_idc[ doi_layer_idx[ i ] ] < 2 )doi_partition_idx[ i ]u(v)else if ( doi_partition_type_idc[ doi_layer_idx[ i ] ] = = 2 ){ doi_partition_top_left_x[ i ]u(v)doi_partition_top_left_y[ i ]u(v)doi_partition_width_minus1[ i ]u(v)doi_partition_height_minus1[ i ]u(v)}}doi_alpha_present_flag[ i ]u(1)if ( doi_alpha_present_flag[ i ] ) {if( doi_nuh_layers_minus1 > 0 )doi_alpha_layer_idx[ i ]u(v)if ( doi_pic_partition_flag[ doi_alpha_layer_idx[ i ] ] ){ if ( doi_partition_type_idc[ doi_alpha_layer_idx[ i ] ] < 2 )doi_alpha_partition_id[ i ]u(v)else if (doi_partition_type_idc[ doi_alpha_layer_idx[ i ] ] = = 2 ){ doi_alpha_partition_top_left_x[ i ]u(v)doi_alpha_partition_top_left_y[ i ]u(v)doi_alpha_partition_width_minus1[ i ]u(v)doi_alpha_partition_height_minus1[ i ]u(v)}}}if (doi_offset_params_present_flag )doi_top_left_x[ i ]u(v)doi_top_left_y[ i ]u(v)}if( doi_resampling_enabling_flag ) {doi_width_minus1[ i ]u(v)doi_height_minus1[ i ]u(v)}}}}
[0101] Describe the syntax elements exemplified in Table 1.
[0102] doi_id specifies the identifier of a DOI SEI message.
[0103] If doi_cancel_flag is 1, it indicates that the SEI message cancels the persistence of the previous DOI SEI message with the same doi_id in the output order. If doi_cancel_flag is 0, it indicates that display overlay information is followed.
[0104] doi_persistence_flag specifies the persistence of DOI SEI messages for CVS. If doi_persistence_flag is 0, it specifies that DOI SEI messages apply only to the current access unit (AU). If doi_persistence_idc is 1, it specifies that DOI SEI messages apply to the current AU and persist to all subsequent AUs in output order until one or more of the following conditions are met.
[0105] - A new CVS begins.
[0106] - The bitstream ends.
[0107] - Pictures of the current AU containing DOI SEI messages with the same doi_id value are output after the current picture in output order.
[0108] The value of doi_num_display_overlays_minus1 plus 1 specifies the number of display overlays for which information is conveyed in SEI messages. The value of doi_num_display_overlays_minus1 ranges from 0 to 31.
[0109] If doi_target_pic_size_present_flag is 1, it indicates that the syntax elements doi_target_pic_width_minus1 and doi_target_pic_height_minus1 exist.
[0110] If doi_target_pic_size_present_flag is 0, it indicates that the doi_target_pic_width_minus1 and doi_target_pic_height_minus1 syntax elements do not exist.
[0111] If doi_target_pic_width_minus1 exists, the value of doi_target_pic_width_minus1 plus 1 indicates the width of the target picture.
[0112] If doi_target_pic_height_minus1 exists, the value of doi_target_pic_height_minus1 plus 1 indicates the height of the target picture.
[0113] If doi_target_pic_full_occ_flag is 1, it indicates all sample locations within the target picture where the i-th display overlay representation has at least one display overlay containing the sample occupying that sample location. If doi_target_pic_full_occ_flag is 0, the constraint is not applied.
[0114] If doi_target_init_present_flag is 1, it indicates that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it indicates that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0115] If the value of doi_target_init_three_comp_flag is 1, it specifies that there are three syntax elements in doi_target_init_sample[i]. If the value of doi_target_init_three_comp_flag is 0, it specifies that there is only one syntax element in doi_target_init_sample[i].
[0116] The value of doi_target_init_bitdepth_minus8 plus 8 indicates the bit depth of the target picture initialization sample value. The value of doi_target_init_bitdepth_minus8 ranges from 0 to 8.
[0117] The variable initBitDepth is set to the value of doi_target_init_bitdepth_minus8 plus 8.
[0118] doi_target_init_sample[i] indicates the target picture initialization value for the i-th color component. The length of the syntax element is the initBitDepth bit.
[0119] If doi_target_init_sample[i] does not exist, doi_target_init_sample[i] is set to 1 << (BitDepthY - 1) for i that is 0, and to 1 << (BitDepthC - 1) for i that is in the range from 0 to 2.
[0120] The value of doi_num_layers_minus1 plus 1 specifies the number of layers that can contain display overlays.
[0121] If the value of doi_layer_order_constrained_flag is 1, it specifies a constraint on the values of doi_nuh_layer_id[i] and doi_alpha_nuh_layer_id[i]. If the value of doi_layer_order_constrained_flag is 0, no constraint is applied.
[0122] doi_nuh_layer_id[i] specifies the layer identifier value of the i-th layer. If doi_nuh_layer_id[i] does not exist, the value of doi_nuh_layer_id[i] is inferred to be the same as the layer identifier of the Picture Unit (PU) containing the DOI SEI message.
[0123] If this SEI message exists in any layer of the current access unit (AU), for bitstream conformance, it is restricted that a DOI SEI message with the same doi_id value and the same payload exists in the layer with layer identifier doi_nuh_layer_id[0].
[0124] If doi_pic_partition_flag[i] is 1, it specifies that the display overlay components contained within the i-th layer are coded as constituent rectangles, subpictures, or explicitly signaled within this SEI. If doi_pic_partition_flag[i] is 0, it specifies that the display overlay components contained within the i-th layer are coded as pictures.
[0125] For bitstream suitability, at least one of the following two conditions must be satisfied:
[0126] - doi_num_layers_minus1 is greater than 0.
[0127] - doi_pic_partition_flag[i] is equal to 1.
[0128] If doi_partition_type_idc[i] is 0, it specifies that the display overlay component included in the i-th layer is coded as a subpicture. If doi_partition_type_idc[i] is 1, it specifies that the display overlay component included in the i-th layer is coded as a construction rectangle. If doi_partition_type_idc[i] is 2, it specifies that the partition information included in the i-th layer is explicitly defined and that the syntax elements doi_partition_top_left_x[i], doi_partition_top_left_y[i], doi_partition_width_minus1[i], and doi_partition_height_minus1[i] exist. Additionally, if doi_partition_type_idc[i] is 2 and doi_alpha_present_flag[i] is 1, it indicates that the syntax elements doi_alpha_partition_width_minus1[i], doi_alpha_partition_height_minus1[i], doi_alpha_partition_top_left_x[i] and doi_alpha_partition_top_left_y[i] included in the i-th layer are present in the SEI message. The value of doi_partition_type_idc[i], 3, is reserved for future use, and the decoder ignores DOI SEI messages where doi_partition_type_idc[i] is 3.
[0129] If doi_partition_type_idc[i] is 1, for bitstream suitability, the constituent rectangle SEI message is restricted to precede the DOI SEI message in the decoding order at the current picture unit (PU).
[0130] The value obtained by adding 1 to doi_partition_idx_len_minus1[i] specifies the length of the doi_partition_idx[i] syntax element.
[0131] The value obtained by adding 1 to doi_partition_param_length_minus1[i] specifies the lengths in bits of the syntax elements doi_partition_width_minus1[i], doi_partition_height_minus1[i], doi_partition_top_left_x[i], doi_partition_top_left_y[i], doi_alpha_partition_width_minus1[i], doi_alpha_partition_height_minus1[i], doi_alpha_partition_top_left_x[i] and doi_alpha_partition_top_left_y[i] included in the i-th layer.
[0132] If doi_offset_params_present_flag[i] is 1, it indicates that an offset parameter exists for the i-th display overlay. If doi_offset_params_present_flag[i] is 0, it indicates that an offset parameter does not exist for the i-th display overlay.
[0133] The value obtained by adding 1 to doi_offset_param_length_minus1 specifies the length of the doi_top_left_x[i] and doi_top_left_y[i] syntax elements in bits.
[0134] If doi_resampling_enabled_flag is 1, it specifies that the display overlay component can be resampled in the target display picture. If doi_resampling_enabled_flag is 0, it specifies that the display overlay component is not resampled in the target display picture.
[0135] The value obtained by adding 1 to doi_size_param_length_minus1 specifies the length of the doi_width_minus1[i] and doi_height_minus1[i] syntax elements in bits.
[0136] doi_layer_idx[i] specifies the layer index of the texture component of the i-th display overlay. If doi_layer_idx[i] is not present, the value of doi_layer_idx[i] is inferred to be 0. The length of the syntax element is Ceil(Log2(doi_num_layers_minus1 + 1)).
[0137] When doi_layer_order_constrained_flag is 1, for bitstream conformance, when there is a picture with a layer identifier like doi_nuh_layer_id[i] in the AU, for all values j less than i, it is restricted that there must not be a picture with a layer identifier like doi_nuh_layer_id[j] following the picture with a layer identifier like doi_nuh_layer_id[i] in the decoding order within the AU.
[0138] If doi_partition_idx[i] exists and doi_partition_type_idc[doi_layer_idx[i]] is 1, doi_partition_idx[i] specifies the composition rectangle index representing the texture component of the i-th display overlay. If doi_partition_idx[i] exists and doi_partition_type_idc[doi_layer_idx[i]] is 0, doi_partition_idx[i] specifies the subpicture index of the texture component of the i-th display overlay. If doi_partition_idx[i] does not exist, the value of doi_partition_idx[i] is inferred to be 0. The length of the syntax element is doi_partition_idx_len_minus1[doi_layer_idx[i]] + 1 bit.
[0139] The value of doi_partition_width_minus1[i] plus 1 specifies the width of the i-th display overlay in the coded picture in luma samples, if present. The length of the syntax element is doi_partition_param_length_minus1[doi_layer_idx[i]] + 1 bit.
[0140] The value of doi_partition_height_minus1[i] plus 1 specifies the height of the i-th display overlay in the coded picture in luminance samples, if present. The length of the syntax element is doi_partition_param_length_minus1[doi_layer_idx[i]] + 1 bit.
[0141] doi_partition_top_left_x[i] and doi_partition_top_left_y[i] specify the horizontal and vertical positions, respectively, of the top-left corner of the i-th display overlay in the coded picture of the i-th layer in luminance samples. The length of the syntax element is doi_partition_param_length_minus1[doi_layer_idx[i]] + 1 bit.
[0142] If doi_partition_type_idc[doi_layer_idx[i]] is 1, doi_partition_idx[i] must be in the range from 0 to cr_num_rects_minus1[doi_layer_idx[i]] - 1. If doi_partition_type_idc[doi_layer_idx[i]] is 0, doi_partition_idx[i] must be in the range from 0 to NumSubpics[doi_layer_idx[i]] - 1.
[0143] For bitstream suitability, for two different i and j values in the range from 0 to doi_num_display_overlays_minus1, doi_nuh_layer_id[i] and doi_nuh_layer_id[j] are equal, doi_partition_idx[i] is restricted not to be equal to doi_partition_idx[j].
[0144] If doi_alpha_present_flag[i] is 1, it specifies that an alpha component is provided for the i-th display overlay. If doi_alpha_present_flag[i] is 0, it specifies that an alpha component is not provided for the i-th display overlay.
[0145] If doi_alpha_nuh_layer_id[i] exists, doi_alpha_nuh_layer_id[i] specifies the layer identifier value of the alpha component of the i-th display overlay. If it does not exist, the value of doi_alpha_nuh_layer_id[i] is inferred to be the same as the layer identifier of the PU containing the DOI SEI message.
[0146] When doi_layer_order_constrained_flag is equal to 1, for bitstream conformance, if there is a picture with a layer identifier like doi_alpha_nuh_layer_id[i] in the AU, for all values j less than i, it is restricted that there must not be a picture with a layer identifier like doi_alpha_nuh_layer_id[j] following the picture with a layer identifier like doi_alpha_nuh_layer_id[i] in the decoding order within the AU.
[0147] If doi_alpha_partition_id[i] exists and doi_partition_type_idc[doi_layer_idx[i]] is 1, doi_alpha_partition_id[i] specifies the cr_rect_id[j] of the alpha component of the i-th display overlay. If doi_partition_idx[i] exists and doi_partition_type_idc[doi_layer_idx[i]] is 0, doi_partition_idx[i] specifies the subpicture index of the alpha component of the i-th display overlay. If it does not exist, the value of doi_alpha_partition_id[i] is inferred to be 0. The length of the syntax element is doi_partition_idx_len_minus1[doi_alpha_layer_idx[i]] + 1 bit.
[0148] When doi_partition_type_idc[doi_layer_idx[i]] is 1, doi_alpha_partition_id[i] must be in the range 0 .. cr_num_rects_minus1[doi_layer_idx[i]] - 1. When doi_partition_type_idc[doi_layer_idx[i]] is 0, doi_alpha_partition_id[i] must be in the range 0 .. NumSubpics[doi_layer_idx[i]] - 1.
[0149] The value of doi_alpha_partition_width_minus1[i] plus 1 specifies the width of the alpha component of the i-th display overlay in the coded picture in luminance samples, if present. The length of the syntax element is doi_partition_param_length_minus1[doi_layer_idx[i]] + 1 bit.
[0150] The value of doi_alpha_partition_height_minus1[i] plus 1 specifies the height of the alpha component of the i-th display overlay in the coded picture in luminance samples, if present. The length of the syntax element is doi_partition_param_length_minus1[doi_layer_idx[i]] + 1 bit.
[0151] doi_alpha_partition_top_left_x[i] and doi_alpha_partition_top_left_y[i] specify the horizontal and vertical positions of the top-left corner of the alpha component of the i-th display overlay in the coded picture, respectively. The length of the syntax element is doi_partition_param_length_minus1[doi_layer_idx[i]] + 1 bit.
[0152] doi_top_left_x[i] and doi_top_left_y[i] specify the horizontal and vertical positions, respectively, of the top-left corner of the i-th display overlay within the target display picture in luminance samples. If doi_top_left_x[i] and doi_top_left_y[i] are not present, their values are inferred as 0. The length of the syntax element is doi_offset_param_length_minus1 + 1 bit.
[0153] If doi_width_minus1[i] and doi_height_minus1[i] exist, the value of doi_width_minus1[i] plus 1 and the value of doi_height_minus1[i] plus 1 specify the width and height of the luminance sample array within the i-th display overlay in the target display picture, respectively. The length of the syntax element is doi_size_param_length_minus1 + 1 bit.
[0154] If doi_target_pic_full_occ_flag is 1, for bitstream suitability, for each (x, y) sample position for x within the range 0 .. doi_target_pic_width_minus1 and y within the range 0 .. doi_target_pic_height_minus1, it is restricted that there must be at least one i value within the range 0 .. doi_num_display_overlays_minus1 satisfying both of the following two conditions:
[0155] - doi_top_left_x[i] <= x < doi_top_left_x[i] + doi_width_minus1[i]
[0156] - doi_top_left_y[i] <= y < doi_top_left_x[i] + doi_height_minus1[i]
[0157] The variables CodedOverlayTexture[i] and CodedOverlayAlpha[i] are arrays of image samples with a luminance resolution of CodedOverlayWidth[i] × CodedOverlayHeight[i], and are derived as follows:
[0158] 1> If doi_pic_partition_flag[doi_layer_idx[i]] is 0, it is applied as follows:
[0159] - CodedOverlayWidth[i] is set to be the same as PicWidthInLumaSamples[doi_nuh_layer_id[i]].
[0160] - CodedOverlayHeight[i] is set to be the same as PicHeightInLumaSamples[doi_nuh_layer_id[i]].
[0161] - If a picture exists in the AU for the layer with layer identifier doi_nuh_layer_id[i], CodedOverlayTexture[i] is set to be the same as the cropped decoded picture of the layer with layer identifier doi_nuh_layer_id[i] in the AU. Otherwise (if no picture exists in the AU for the layer with layer identifier doi_nuh_layer_id[i]), CodedOverlayTexture[i] is set to be the same as the cropped decoded picture that precedes the one with layer identifier doi_nuh_layer_id[i] in output order.
[0162] 1> Otherwise, the following applies:
[0163] 2> If doi_alpha_present_flag[i] is 1, the following applies:
[0164] - If there is a picture in the AU for the layer with layer identifier doi_alpha_nuh_layer_id[i], CodedOverlayAlpha[i] is set to be the same as the decoded picture cropped from the layer with layer identifier doi_alpha_nuh_layer_id[i] in the AU.
[0165] - Otherwise (if there is no picture in the AU for the layer with layer identifier doi_nuh_layer_id[i]), CodedOverlayAlpha[i] is set to be the same as the previous cropped decoded picture in the output order from the layer with layer identifier doi_alpha_nuh_layer_id[i].
[0166] 2> Otherwise, if doi_partition_type_idc[[doi_layer_idx[i]]] is equal to 0, the following applies:
[0167] - CodedOverlayTexture[i] is set to be the same as the subpicture with subpicture index doi_partition_idx[i] in the layer with layer identifier doi_nuh_layer_id[i].
[0168] - CodedOverlayWidth[i] is set to be the same as SubPicWidth[doi_nuh_layer_id[i]][doi_partition_idx[i]].
[0169] - CodedOverlayHeight[i] is set to be the same as SubPicHeight[doi_nuh_layer_id[i]][doi_partition_idx[i]].
[0170] - If doi_alpha_present_flag[i] is 0, the following applies:
[0171] - CodedOverlayAlphaWidth[i] is set to be the same as SubPicWidth[doi_alpha_nuh_layer_id[i]][doi_partition_idx[i]].
[0172] - CodedOverlayAlphaHeight[i] is set to be the same as SubPicHeight[doi_alpha_nuh_layer_id[i]][doi_partition_idx[i]].
[0173] - CodedOverlayAlpha[i] is set to be the same as the subpicture with subpicture index doi_alpha_partition_id[i] in the layer with layer identifier doi_alpha_nuh_layer_id[i].
[0174] 2> Otherwise (if doi_partition_type_idc[[doi_layer_idx[i]] is equal to 1] the following applies:
[0175] - CodedOverlayWidth[i] is set to be the same as CrRectWidth[doi_nuh_layer_id[i]][doi_partition_idx[i]].
[0176] - CodedOverlayHeight[i] is set to be the same as CrRectHeight[doi_nuh_layer_id[i]][doi_partition_idx[i]].
[0177] - CodedOverlayTexture[i] is set to be the same as the composition rectangle with cr_rect_id[j] that is identical to doi_partition_idx[i] in the layer with layer identifier doi_nuh_layer_id[i].
[0178] - If doi_alpha_present_flag[i] is equal to 0,
[0179] - CodedOverlayAlphaWidth[i] is set to be the same as CrRectWidth[doi_alpha_nuh_layer_id[i]][doi_partition_idx[i]].
[0180] - CodedOverlayAlphaHeight[i] is set to be the same as CrRectHeight[doi_alpha_nuh_layer_id[i]][doi_partition_idx[i]].
[0181] - CodedOverlayAlpha is set to be the same as the configuration rectangle with cr_rect_id[j] that is identical to doi_alpha_partition_id[i] in the layer with layer identifier doi_alpha_nuh_layer_id[i].
[0182] 2> Otherwise (if doi_partition_type_idc[[doi_layer_idx[i]] is equal to 2] the following applies:
[0183] - CodedOverlayWidth[i] is set to be equal to doi_partition_width_minus1[i] + 1.
[0184] - CodedOverlayHeight[i] is set to be equal to doi_partition_height_minus1[i] + 1.
[0185] - CodedOverlayTexture[i] is set to be identical to the area defined by CodedOverlayWidth[i], CodedOverlayHeight[i], doi_partition_top_left_x[i], and doi_partition_top_left_y[i].
[0186] - If doi_alpha_present_flag[i] is equal to 0
[0187] - CodedOverlayAlphaWidth[i] is set to be the same as doi_alpha_partition_width_minus1[i] + 1.
[0188] - CodedOverlayAlphaHeight[i] is set to be the same as doi_alpha_partition_height_minus1[i] + 1.
[0189] - CodedOverlayAlpha is set to be identical to the area defined by CodedOverlayAlphaWidth[i], CodedOverlayAlphaHeight[i], doi_alpha_partition_top_left_x[i], and doi_alpha_partition_top_left_y[i].
[0190] The variables DisplayOverlayTexture[i] and DisplayOverlayAlpha[i] are sample arrays with a luminance resolution of DisplayOverlayWidth[i] × DisplayOverlayHeight[i], and are derived as follows:
[0191] 1> If doi_resampling_enabled_flag is 1, it is applied as follows:
[0192] - DisplayOverlayWidth[i] is set to be equal to doi_width_minus1[i] + 1.
[0193] - DisplayOverlayHeight[i] is set to be equal to doi_height_minus1[i] + 1.
[0194] - OverlayTexture[i] is derived by resampling CodedOverlayTexture[i] from a luminance resolution of (CodedOverlayWidth[i] × CodedOverlayHeight[i]) to a luminance resolution of (DisplayOverlayWidth[i] × DisplayOverlayHeight[i]).
[0195] - OverlayAlpha[i] is derived by resampling CodedOverlayAlpha from the luminance resolution of CodedOverlayAlphaWidth[i] × CodedOverlayAlphaHeight[i]] to the luminance resolution of (DisplayOverlayWidth[i] × DisplayOverlayHeight[i]).
[0196] 1> Otherwise (when doi_resampling_enabled_flag is 0), it applies as follows:
[0197] - DisplayOverlayWidth[i] is set to be the same as CodedOverlayWidth[i].
[0198] - DisplayOverlayHeight[i] is set to be the same as CodedOverlayHeight[i].
[0199] - OverlayTexture[i] is set to be the same as CodedOverlayTexture[i].
[0200] - OverlayAlpha[i] is set to be the same as CodedOverlayAlpha[i].
[0201] The TargetPicWidth and TargetPicHeight variables for the target display picture width and height can be derived as follows:
[0202] 1> If doi_target_pic_size_present_flag
[0203] - TargetPicWidth is set to be equal to doi_target_pic_width_minus1 + 1.
[0204] - TargetPicHeight is set to be equal to doi_target_pic_height_minus1 + 1.
[0205] 2> If not
[0206] - TargetPicWidth is set to be the same as DisplayOverlayWidth[0].
[0207] - TargetPicHeight is set to be the same as DisplayOverlayHeight[0].
[0208] If an alpha channel information SEI message exists in CVS or uses a process determined through external means, OverlayWithAlpha(tgtPic[x][y], ovlTex[w][h], ovlAlp[w][h]) is specified as a function that returns sample values derived by applying an alpha channel using tgtPic[x][y] as background samples, ovlTex[w][h] as foreground samples, and ovlAlp[w][h] as alpha channel samples.
[0209] The target display picture is formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 2 below. Here, cIdx = 0..(ChromaFormatIdc = = 0 ) ? 0 : 2, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1, and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1.
[0210] for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( ( cIdx = 1; cIdx < ChromaFormatIdc = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC; h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; x < DisplayOverlayWidth[ i ] / SubWidthC;w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ cIdx ][ x ][ y ] = OverlayTexture[ i ][ cIdx ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0211] Method for controlling chroma format for DOI SEI messages
[0212] As mentioned above, display overlay information (DOI) SEI messages (i.e., DOI SEI messages) are currently being considered for future extensions of VSEI (JVET-AI2032) and are included in TuC (Technologies under consideration).
[0213] Conventional Display Overlay (DOI) SEI messages can consist of multiple overlay layers with different chroma formats. However, in DOI SEI messages, only a single chroma format is used to signal the texture and alpha overlay of the chroma component. Furthermore, it is unclear which layer corresponds to that chroma format. Therefore, it is desirable to signal the texture and alpha overlay of the chroma component based on a unique chroma format for each layer.
[0214] Additionally, the existing DOI SEI message design includes signaling of optional initialization sample values (doi_target_init_sample[i]) used to initialize the sample values of the target display picture.
[0215] If doi_target_init_sample[i] is not set in advance, the value is calculated as follows.
[0216] If doi_target_init_sample[i] does not exist, if i is 0, it is set to 1 << (BitDepthY - 1), and if i is between 0 and 2, it is set to 1 << (BitDepthC - 1).
[0217] Additionally, the BitDepthY and BitDepthC values are defined from the interface of each codec. In the case of VVC, they are specified as follows.
[0218] The following variables are specified for the interpretation of configuration rectangle SEI messages.
[0219] - PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i] are set to pps_pic_width_in_luma_samples and pps_pic_height_in_luma_samples of the picture with nuh_layer_id i, respectively.
[0220] - ChromaFormatIdc[i] is set to be the same as sps_chroma_format_idc of the picture with nuh_layer_id i.
[0221] - BitDepthY and BitDepthC are both set to be the same as BitDepth.
[0222] - NumSubpics[i] is set to be equal to sps_num_subpics_minus1 + 1 of the picture with nuh_layer_id i.
[0223] - SubPicWidth[i][j] is set to be the same as (sps_subpic_width_minus1[ j ] + 1 ) * CtbSizeY - 1 of the picture with nuh_layer_id i.
[0224] - SubPicHeight[ i ][ j ] is set to be equal to (sps_subpic_height_minus1[ j ] + 1 ) * CtbSizeY - 1 of the picture with nuh_layer_id i.
[0225] In the derivation process above, BitDepthY and BitDepthC values are specified as variables, but there is a problem in that it is unclear which BitDepth value to use when the DOI SEI message contains multiple layers.
[0226] Accordingly, the present disclosure proposes a method for solving the aforementioned problems.
[0227] The embodiments of the present disclosure may each be applied individually, or two or more embodiments may be applied in combination.
[0228] FIG. 4 illustrates a method for restoring a video picture performed in a decoding device (300) according to the present disclosure.
[0229] A bitstream containing an encoded video picture can be received (S400).
[0230] The encoded video picture of the bitstream can be restored (S410).
[0231] Video information regarding an encoded video picture can be extracted from the bitstream. The encoded video picture can be restored based on the extracted video information.
[0232] Example 1
[0233] This embodiment describes a proposed method based on DOI SEI message design, and the description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0234] According to the present embodiment, the bitstream may include display overlay information (DOI). The DOI may refer to information that enables the formation of a target display picture formed by overlaying the display overlay.
[0235] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0236] According to the present embodiment, for i in the range from 0 to doi_num_layers_minus1 + 1, if any value of ChromaFormatIdc[i] is not 0, doi_target_init_three_comp_flag may be restricted to be equal to 1 when doi_target_init_three_comp_flag exists.
[0237] In other words, the display overlay information may include a flag for specifying the number of syntax elements that indicate the initial value of the target picture. Here, if a luminance component and a chroma component exist for any layer among all layers that can include the display overlay, the display overlay information may include three syntax elements that indicate the initial value of the target picture. To this end, the flag value may be limited to 1.
[0238] Specifically, referring to the DOI SEI message described earlier, if the value of doi_target_init_three_comp_flag is 1, it indicates that there are three doi_target_init_sample[i] syntax elements. If the value of doi_target_init_three_comp_flag is 0, it indicates that there is only one doi_target_init_sample[i] syntax element.
[0239] Here, according to the present embodiment, for the suitability of the bitstream, when no value of ChromaFormatIdc[i] is equal to 0 for i in the range from 0 to doi_num_layers_minus1 + 1, doi_target_init_three_comp_flag is present in the DOI SEI message, doi_target_init_three_comp_flag may be restricted to 1.
[0240] That is, if any of the layers that can contain a display overlay have a luminance component and a chroma component, the doi_target_init_three_comp_flag value is limited to 1, and consequently, three doi_target_init_sample[i] syntax elements (i.e., target picture initialization values for the luminance component and target picture initialization values for two chroma components) can exist in the DOI SEI message.
[0241] for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); doi_target_init_sample[cIdx]
[0242] Specifically, referring to the DOI SEI message described above and Table 3, the target picture TargetPicture[cIdx][x][y] can be initialized as TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx] depending on the cIdx value (i.e., for both the luminance component and the chroma component) when a chroma component exists in any layer of the display overlay.
[0243] A flag for specifying the number of syntax elements indicating the initialization value of a target picture may be configured in the DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in the NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment may be configured in the 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0244] Accordingly, according to the present embodiment, for each layer, the texture and / or alpha overlay of the chroma component can be signaled based on a chroma format specific to that layer.
[0245] Example 2
[0246] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0247] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0248] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0249] According to the present embodiment, a target display picture (or target overlay picture) with the texture and / or alpha overlay of its own chroma component applied to each layer of all layers within the DOI SEI message can be constructed.
[0250] In other words, when forming the target display picture, the texture and / or alpha overlay of the chroma component can be applied (i.e., overlaid) to each layer of all layers associated with the display overlay based on its own chroma format.
[0251] for( ( cIdx = 1; cIdx < ChromaFormatIdc[doi_nuh_layer_id[doi_layer_idx[ i ]] = = 0) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC; h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; x < DisplayOverlayWidth[ i ] / SubWidthC; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ cIdx ][ x ][ y ] = OverlayTexture[ i ][ cIdx ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )
[0252] Specifically, referring to the DOI SEI message described earlier and Table 4, for each layer of all layers for the display overlay (doi_nuh_layer_id[doi_layer_idx[i]]), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture based on its own chroma format (ChromaFormatIdc[doi_nuh_layer_id[doi_layer_idx[i]]), so that the target display picture can be formed (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0253] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0254] Accordingly, according to the present embodiment, a target display picture (or target overlay picture) with a texture and / or alpha overlay of a chroma component applied based on a chroma format specific to the corresponding layer can be constructed for each layer.
[0255] Example 3
[0256] This embodiment describes a proposed method based on DOI SEI message design, and the description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0257] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0258] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0259] According to one embodiment of the present disclosure, for bitstream conformance, the ChromaFormatIdc[i] values of all layers within the DOI SEI message may be restricted to be the same.
[0260] In other words, according to the present embodiment, the chroma format may be restricted to be the same for all layers associated with the display overlay.
[0261] Specifically, referring to the DOI SEI message described earlier, for bitstream compatibility, it may be restricted that the ChromaFormatIdc[i] (i.e., the value of the chroma format specifier for the i-th layer) of all layers within the DOI SEI message are identical.
[0262] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0263] According to the present embodiment, even if only one chroma format is used to signal the texture and alpha overlay of the chroma component in a DOI SEI message, the problem of not knowing which layer the used chroma format corresponds to can be resolved by restricting the chroma format of all layers to be the same.
[0264] Example 4
[0265] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0266] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0267] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0268] According to the present embodiment, a target display picture can be constructed based on the chroma format of the target picture, and each layer of all layers within the DOI SEI message can use its own chroma format component.
[0269] for(cIdx = 1; cIdx < (ChromaFormatIdc = = 0 | | ChromaFormatIdc[doi_nuh_layer_id[doi_layer_idx[ i ]] = = 0) ? 1 : 3; cIdx++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC; h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ])
[0270] Specifically, referring to the DOI SEI message explained earlier and Table 5, the target display picture can be formed by applying (i.e., overlaying) the texture and alpha overlay of the chroma component to the target picture based on its own chroma format (ChromaFormatIdc == 0), for each layer of all layers for the display overlay (doi_nuh_layer_id[doi_layer_idx[i]), and based on its own chroma format (ChromaFormatIdc[doi_nuh_layer_id[doi_layer_idx[i]]). (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0271] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0272] Accordingly, according to the present embodiment, a target display picture (or target overlay picture) can be constructed based on the chroma format of the target picture, and for each layer, based on the chroma format specific to that layer, the texture and / or alpha overlay of the chroma component applied.
[0273] Example 5
[0274] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0275] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0276] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0277] According to the present embodiment, a syntax element specifying a chroma format for a target display picture can be signaled.
[0278] In other words, the display overlay information may include chroma format information for the target display picture. Here, the chroma format information for the target display picture may indicate / specify chroma sampling relative to lumina sampling for the target display picture.
[0279] Table 6 illustrates a DOI SEI message according to the present embodiment.
[0280] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_pic_chroma_format_idcu(2)doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < (doi_target_pic_chroma_format_idc > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}...}}
[0281] Referring to the DOI SEI message according to Table 6, unlike Table 1, the doi_target_init_three_comp_flag syntax is excluded and doi_target_pic_chroma_format_idc is included in the DOI SEI message.
[0282] doi_target_pic_chroma_format_idc (i.e., chroma format information for the target display picture) can specify chroma sampling versus lumina sampling for the target display picture. In other words, it can specify the chroma format of the target display picture that is displayed with a display overlay applied (i.e., overlay).
[0283] Here, if doi_target_pic_size_present_flag is equal to 0, the value of doi_target_pic_chroma_format_idc may be restricted to be equal to the value of ChromaFormatIdc[0]. That is, if doi_target_pic_size_present_flag is 0, doi_target_pic_width_minus1 and doi_target_pic_height_minus1 to indicate the width and height of the target picture, respectively, do not exist, and the chroma format of the 0th layer may be restricted to be the same as the chroma format of the target display picture (the target to which the display overlay is applied to be displayed).
[0284] If doi_target_init_present_flag is 1, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0285] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 7 below.
[0286] Here, cIdx = 0..( doi_target_pic_chroma_format_idc = = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format information for the target display picture.
[0287] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1, and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1. Here, SubWidthC and SubHeightC are variables determined based on chroma format information for the target display picture, and the names of the variables are examples and the present disclosure is not limited thereto.
[0288] for( cIdx = 0; cIdx <= (doi_target_pic_chroma_format_idc= = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < ChromaFormatIdc[doi_layer_idx[ i ]] = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC;h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0289] Specifically, referring to the DOI SEI message described earlier and Table 7, the target picture can be initialized based on the chroma format for the target display picture (doi_target_pic_chroma_format_idc) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0290] Additionally, for each layer of all layers for the display overlay (doi_layer_idx[i]), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture based on its own chroma format (ChromaFormatIdc[doi_layer_idx[i]]) to form the target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0291] Chroma format information for a target display picture may be configured in a DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in a NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0292] Accordingly, according to the present embodiment, problems arising from a mismatch in chroma format between the target picture and the target display picture can be prevented by initializing the target picture based on the chroma format of the target display picture to which the display overlay is applied. In addition, for each layer, a target display picture (or target overlay picture) with the texture and / or alpha overlay of the chroma component applied based on the chroma format specific to that layer can be constructed.
[0293] Example 6
[0294] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0295] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0296] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0297] According to the present embodiment, a syntax element specifying a layer identifier that references a chroma format for a target display picture can be signaled.
[0298] In other words, the display overlay information may include information specifying the value of a layer identifier referenced to indicate the chroma format of the target display picture.
[0299] Table 8 illustrates a DOI SEI message according to the present embodiment.
[0300] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_pic_chroma_format_nuh_layer_idu(v)doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < ( ChromaFormatIdc[doi_target_pic_chroma_format_nuh_layer_id] > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}...}}
[0301] Referring to the DOI SEI message according to Table 8, unlike Table 1, the doi_target_init_three_comp_flag syntax is excluded and the doi_target_pic_chroma_format_nuh_layer_id is included in the DOI SEI message.
[0302] doi_target_pic_chroma_format_nuh_layer_id can specify the value of a layer identifier referenced to indicate the chroma format of the target display picture.
[0303] Here, if doi_target_pic_size_present_flag is 0, the value of doi_target_pic_chroma_format_nuh_layer_id may be restricted to 0. That is, if doi_target_pic_size_present_flag is 0, doi_target_pic_width_minus1 and doi_target_pic_height_minus1 to indicate the width and height of the target picture, respectively, do not exist, and the value of doi_target_pic_chroma_format_nuh_layer_id may also be restricted to 0.
[0304] If doi_target_init_present_flag is 1, it indicates that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it indicates that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0305] The TargetPicChromaFormatIdc variable can be set to be the same as ChromaFormatIdc[doi_target_pic_chroma_format_nuh_layer_id].
[0306] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 9 below.
[0307] Here, cIdx = 0..( TargetPicChromaFormatIdc = = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format of the layer referenced to indicate the chroma format of the target display picture.
[0308] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1 and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1.
[0309] for( cIdx = 0; cIdx <= (TargetPicChromaFormatIdc= = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < ChromaFormatIdc[doi_layer_idx[ i ]] = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC;h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0310] Specifically, referring to the DOI SEI message described above and Table 9, the target picture can be initialized based on the chroma format of the layer referenced to indicate the chroma format of the target display picture (TargetPicChromaFormatIdc) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0311] Additionally, for each layer of all layers for the display overlay (doi_layer_idx[i]), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture based on its own chroma format (ChromaFormatIdc[doi_layer_idx[i]]) to form the target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0312] Information specifying the value of a layer identifier referenced to indicate the chroma format of a target display picture may be configured in a DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in a NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0313] Accordingly, according to the present embodiment, problems arising from a mismatch in chroma format between the target picture and the target display picture can be prevented by initializing the target picture based on the chroma format of the layer referenced to indicate the chroma format of the target display picture to which the display overlay is applied. Additionally, for each layer, a target display picture (or target overlay picture) with a texture and / or alpha overlay of a chroma component applied based on a chroma format specific to that layer can be constructed.
[0314] Example 7
[0315] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0316] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0317] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0318] According to the present embodiment, a chroma format for a target display picture can be derived from a layer including a first overlay.
[0319] In other words, the target picture is initialized based on the chroma format for the 0th layer (the layer containing the first overlay), and the target display picture (or target overlay picture) can be constructed with the texture and / or alpha overlay of its own chroma component for each layer of all layers within the DOI SEI message applied.
[0320] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 10 below.
[0321] Here, cIdx = 0..( ChromaFormatIdc[0] = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format (ChromaFormatIdc[0]) of the 0th layer.
[0322] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1 and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1.
[0323] for( cIdx = 0; cIdx <= (ChromaFormatIdc
[0000] = = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < ChromaFormatIdc[doi_layer_idx[ i ]] = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC;h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0324] Specifically, referring to the DOI SEI message described earlier and Table 10, the target picture can be initialized based on the chroma format of the 0th layer (ChromaFormatIdc[0]) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0325] Additionally, for each layer of all layers for the display overlay (doi_layer_idx[i]), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture based on its own chroma format (ChromaFormatIdc[doi_layer_idx[i]]) to form the target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0326] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0327] Accordingly, according to the present embodiment, by using a chroma format for the 0th layer, the problem of the layer used to signal the texture and alpha overlay of the chroma component being unclear can be prevented. In addition, for each layer, a target display picture (or target overlay picture) with the texture and / or alpha overlay of the chroma component applied based on a chroma format specific to that layer can be constructed.
[0328] Example 8
[0329] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0330] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0331] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0332] According to the present embodiment, lists of SubWidthC[i] and SubHeightC[i] representing the i-th SubWidthC and SubHeightC included in the DOI SEI message may be defined.
[0333] According to the present embodiment, the display overlay information may include chroma format information for a target display picture. Here, the chroma format information for the target display picture may indicate / specify chroma sampling relative to lumina sampling for the target display picture.
[0334] The following variables can be specified for the interpretation of the configuration rectangle DOI SEI message:
[0335] - PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i] can be set to be identical to pps_pic_width_in_luma_samples and pps_pic_height_in_luma_samples of the picture where nuh_layer_id is doi_nuh_layer_id[i], respectively.
[0336] - ChromaFormatIdc[i] can be set to be the same as sps_chroma_format_idc of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0337] - SubWidthC[i] and SubHeightC[i] can be set to be the same as the SubWidthC and SubHeightC of the picture where nuh_layer_id is doi_nuh_layer_id[i], respectively.
[0338] - BitDepthY and BitDepthC can both be set to be the same as BitDepth.
[0339] - NumSubpics[i] can be set to be equal to sps_num_subpics_minus1 + 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0340] - SubPicWidth[i][j] can be set to be equal to (sps_subpic_width_minus1[j] + 1) * CtbSizeY - 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0341] - SubPicHeight[i][j] can be set to be equal to (sps_subpic_height_minus1[j] + 1) * CtbSizeY - 1 of the picture with nuh_layer_id doi_nuh_layer_id[i].
[0342] For bitstream suitability, there must be at least one OLS with index olsIdx, and said OLS may be restricted such that for each i value in the range from 0 to doi_num_display_overlays_minus1 and all j values in the range from 0 to NumOutputLayersInOls[olsIdx]-1, if present, the OutputLayerIdInOls[olsIdx][j] value must be equal to doi_nuh_layer_id[i] and doi_alpha_nuh_layer_id[i].
[0343] To use the SEI message according to the present embodiment, the following variables may be defined. Here, i is the layer identifier of a layer that may exist in the current CVS (coded video sequence).
[0344] - The arrays of picture width and picture height in units of luma samples can be represented as PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i], respectively.
[0345] - The chroma format specifier can be represented as ChromaFormatIdc[i] as provided by each codec.
[0346] - SubWidthC[i] and SubHeightC[i] can be as provided by each codec.
[0347] - The bit depth of a sample of a chroma component can be represented as BitDepthY, and if ChromaFormatIdc is not equal to 0, the bit depth of a sample of two related chroma components can be represented as BitDepthC.
[0348] - An array of subpicture counts can be represented as NumSubpics[i].
[0349] - Arrays of widths and heights of subpictures can be denoted as SubPicWidth[i][j] and SubPicHeight[i][j], respectively, where j is the subpicture index of 0,...,NumSubpics[i] - 1.
[0350] Table 11 illustrates a DOI SEI message according to the present embodiment.
[0351] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_pic_chroma_format_idcu(2)doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < (doi_target_pic_chroma_format_idc > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}...}}
[0352] Referring to the DOI SEI message according to Table 11, unlike Table 1, the doi_target_init_three_comp_flag syntax is excluded and doi_target_pic_chroma_format_idc is included in the DOI SEI message.
[0353] doi_target_pic_chroma_format_idc (i.e., chroma format information for the target display picture) can specify chroma sampling versus lumina sampling for the target display picture. In other words, it can specify the chroma format of the target display picture that is displayed with a display overlay applied (i.e., overlay).
[0354] Here, if doi_target_pic_size_present_flag is equal to 0, the value of doi_target_pic_chroma_format_idc may be restricted to be equal to the value of ChromaFormatIdc[0]. That is, if doi_target_pic_size_present_flag is 0, doi_target_pic_width_minus1 and doi_target_pic_height_minus1 to indicate the width and height of the target picture, respectively, do not exist, and the chroma format of the 0th layer may be restricted to be the same as the chroma format of the target display picture (the target to which the display overlay is applied to be displayed).
[0355] If doi_target_init_present_flag is 1, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0356] The TargetPicSubWidthC and TargetPicSubHeightC variables can be specified as shown in Table 12 below.
[0357] doi_target_pic_chroma_format_idcTargetPicSubWidthCTargetPicSubHeightC011122221311
[0358] Referring to Table 12, the values of the TargetPicSubWidthC and TargetPicSubHeightC variables are determined based on the value of doi_target_pic_chroma_format_idc and can be used to determine the horizontal and vertical dimensions of the target picture when initializing the target display picture.
[0359] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 13 below.
[0360] Here, cIdx = 0..( doi_target_pic_chroma_format_idc = = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format information for the target display picture.
[0361] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / TargetPicSubWidthC - 1, and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / TargetPicSubHeightC - 1. Here, TargetPicSubWidthC and TargetPicSubHeightC are variables determined based on chroma format information for the target display picture, and the names of the variables are examples and the present disclosure is not limited thereto.
[0362] for( cIdx = 0; cIdx <= (doi_target_pic_chroma_format_idc= = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / TargetPicSubHeightC); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / TargetPicSubWidthC); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < ChromaFormatIdc[doi_layer_idx[ i ]] = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC[ doi_layer_idx[ i ] ];h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; cIdx ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0363] Specifically, referring to the DOI SEI message described earlier and Table 13, the target picture can be initialized based on the chroma format for the target display picture (doi_target_pic_chroma_format_idc, TargetPicSubHeightC, TargetPicSubWidthC) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0364] Additionally, for each layer of all layers for the display overlay (doi_layer_idx[i]), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture based on its own chroma format (ChromaFormatIdc[doi_layer_idx[i]]) to form the target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])). Here, for each layer of all layers, variables SubWidthC[i] and SubHeightC[i] according to the chroma format are provided by the codec and can be used to determine the horizontal and vertical dimensions of the texture and alpha overlay of the chroma component.
[0365] Chroma format information for a target display picture may be configured in a DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in a NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0366] Accordingly, according to the present embodiment, problems arising from a mismatch in chroma format between the target picture and the target display picture can be prevented by initializing the target picture based on the chroma format of the target display picture to which the display overlay is applied. Additionally, for each layer, a target display picture (or target overlay picture) with the texture and / or alpha overlay of the chroma component applied can be constructed based on the chroma format specific to that layer. Furthermore, for each layer, the horizontal and vertical sizes of the texture and alpha overlay of the chroma component can be adjusted according to the chroma format specific to that layer.
[0367] Example 9
[0368] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0369] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0370] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0371] According to the present embodiment, the SubWidthC and SubHeightC values of the target display picture can be determined based on the chroma format for the target display picture.
[0372] In other words, the display overlay information may include chroma format information for the target display picture. Here, the chroma format information for the target display picture may indicate / specify chroma sampling relative to lumina sampling for the target display picture.
[0373] Table 14 illustrates a DOI SEI message according to the present embodiment.
[0374] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_pic_chroma_format_idcu(2)doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < (doi_target_pic_chroma_format_idc > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}...}}
[0375] Referring to the DOI SEI message according to Table 14, unlike Table 1, the doi_target_init_three_comp_flag syntax is excluded and doi_target_pic_chroma_format_idc is included in the DOI SEI message.
[0376] doi_target_pic_chroma_format_idc (i.e., chroma format information for the target display picture) can specify chroma sampling versus lumina sampling for the target display picture. In other words, it can specify the chroma format of the target display picture that is displayed with a display overlay applied (i.e., overlay).
[0377] Here, if doi_target_pic_size_present_flag is equal to 0, the value of doi_target_pic_chroma_format_idc may be restricted to be equal to the value of ChromaFormatIdc[0]. That is, if doi_target_pic_size_present_flag is 0, doi_target_pic_width_minus1 and doi_target_pic_height_minus1 to indicate the width and height of the target picture, respectively, do not exist, and the chroma format of the 0th layer may be restricted to be the same as the chroma format of the target display picture (the target to which the display overlay is applied to be displayed).
[0378] If doi_target_init_present_flag is 1, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0379] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 15 below.
[0380] Here, cIdx = 0..( doi_target_pic_chroma_format_idc = = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format information for the target display picture.
[0381] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1, and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1. Here, SubWidthC and SubHeightC are variables determined based on chroma format information for the target display picture, and the names of the variables are examples and the present disclosure is not limited thereto.
[0382] for( cIdx = 0; cIdx <= (doi_target_pic_chroma_format_idc= = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < doi_target_pic_chroma_format_idc= = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC;h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0383] Specifically, referring to the DOI SEI message described earlier and Table 15, the target picture can be initialized based on the chroma format of the target display picture (doi_target_pic_chroma_format_idc) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0384] Additionally, based on the chroma format for the target display picture (doi_target_pic_chroma_format_idc), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture to form the target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0385] Chroma format information for a target display picture may be configured in a DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in a NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0386] Accordingly, according to the present embodiment, by initializing the target picture based on the chroma format of the target display picture to which the display overlay is applied, problems caused by a mismatch in chroma format between the target picture and the target display picture can be prevented.
[0387] Example 10
[0388] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0389] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0390] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0391] According to the present embodiment, interface variables from VVC to DOI SEI, in particular for the i-th layer, can be defined.
[0392] Additionally, according to the present embodiment, the display overlay information may include information specifying the value of a layer identifier referenced to indicate the chroma format of the target display picture.
[0393] Table 16 illustrates a DOI SEI message according to the present embodiment.
[0394] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_pic_chroma_format_nuh_layer_idu(v)doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < ( ChromaFormatIdc[doi_target_pic_chroma_format_nuh_layer_id] > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}...}}
[0395] Referring to the DOI SEI message according to Table 16, unlike Table 1, the doi_target_init_three_comp_flag syntax is excluded and the doi_target_pic_chroma_format_nuh_layer_id is included in the DOI SEI message.
[0396] doi_target_pic_chroma_format_nuh_layer_id can specify the value of a layer identifier referenced to indicate the chroma format of the target display picture.
[0397] Here, if doi_target_pic_size_present_flag is 0, the value of doi_target_pic_chroma_format_nuh_layer_id may be restricted to 0. That is, if doi_target_pic_size_present_flag is 0, doi_target_pic_width_minus1 and doi_target_pic_height_minus1 to indicate the width and height of the target picture, respectively, do not exist, and the value of doi_target_pic_chroma_format_nuh_layer_id may also be restricted to 0.
[0398] If doi_target_init_present_flag is 1, it indicates that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it indicates that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0399] The TargetPicChromaFormatIdc variable can be set to be the same as ChromaFormatIdc[doi_target_pic_chroma_format_nuh_layer_id].
[0400] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 17 below.
[0401] Here, cIdx = 0..( TargetPicChromaFormatIdc = = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format of the layer referenced to indicate the chroma format of the target display picture.
[0402] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1 and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1.
[0403] for( cIdx = 0; cIdx <= (TargetPicChromaFormatIdc= = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < TargetPicChromaFormatIdc= = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC; h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC;x < DisplayOverlayWidth[i] / SubWidthC; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ cIdx ][ x ][ y ] = OverlayTexture[ i ][ cIdx ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0404] Specifically, referring to the DOI SEI message described above and Table 17, the target picture can be initialized based on the chroma format of the layer referenced to indicate the chroma format of the target display picture (TargetPicChromaFormatIdc) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0405] Additionally, based on the chroma format for the target display picture (doi_target_pic_chroma_format_idc), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture to form the target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0406] Information specifying the value of a layer identifier referenced to indicate the chroma format of a target display picture may be configured in a DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in a NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0407] Accordingly, according to the present embodiment, by initializing the target picture based on the chroma format of the layer referenced to indicate the chroma format of the target display picture to which the display overlay is applied, problems caused by a mismatch in chroma format between the target picture and the target display picture can be prevented.
[0408] Example 11
[0409] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0410] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0411] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0412] According to the present embodiment, a target picture is initialized based on the chroma format for the 0th layer, and a target display picture (or target overlay picture) can be constructed with the texture and / or alpha overlay of its own chroma component for each layer of all layers in the DOI SEI message applied.
[0413] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 18 below.
[0414] Here, cIdx = 0..( ChromaFormatIdc[0] = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format (ChromaFormatIdc[0]) of the 0th layer.
[0415] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC - 1 and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC - 1.
[0416] for( cIdx = 0; cIdx <= (ChromaFormatIdc
[0000] = = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / SubHeightC ); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / SubWidthC ); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < ChromaFormatIdc[0] = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC; y < DisplayOverlayHeight[ i ] / SubHeightC; h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC;x < DisplayOverlayWidth[i] / SubWidthC; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ cIdx ][ x ][ y ] = OverlayTexture[ i ][ cIdx ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] );
[0417] Specifically, referring to the DOI SEI message described earlier and Table 18, the target picture can be initialized based on the chroma format of the 0th layer (ChromaFormatIdc[0]) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0418] Additionally, based on the chroma format of the 0th layer (ChromaFormatIdc[0]), the texture and alpha overlay of the chroma component are applied (i.e., overlaid) to the target picture to form a target display picture (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])).
[0419] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0420] Accordingly, according to the present embodiment, by using a chroma format for the 0th layer, the problem of the layer used to signal the texture and alpha overlay of the chroma component being unclear can be prevented.
[0421] Example 12
[0422] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0423] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0424] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0425] According to the present embodiment, the display overlay information may include chroma format information for a target display picture. Here, the chroma format information for the target display picture may indicate / specify chroma sampling relative to lumina sampling for the target display picture.
[0426] The following variables can be specified for the interpretation of the configuration rectangle DOI SEI message:
[0427] - PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i] can be set to be identical to pps_pic_width_in_luma_samples and pps_pic_height_in_luma_samples of the picture where nuh_layer_id is doi_nuh_layer_id[i], respectively.
[0428] - ChromaFormatIdc[i] can be set to be the same as sps_chroma_format_idc of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0429] - SubWidthC[i] and SubHeightC[i] can be set to be the same as the SubWidthC and SubHeightC of the picture where nuh_layer_id is doi_nuh_layer_id[i], respectively.
[0430] - BitDepthY and BitDepthC can both be set to be the same as BitDepth.
[0431] - NumSubpics[i] can be set to be equal to sps_num_subpics_minus1 + 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0432] - SubPicWidth[i][j] can be set to be equal to (sps_subpic_width_minus1[j] + 1) * CtbSizeY - 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0433] - SubPicHeight[i][j] can be set to be equal to (sps_subpic_height_minus1[j] + 1) * CtbSizeY - 1 of the picture with nuh_layer_id doi_nuh_layer_id[i].
[0434] For bitstream suitability, there must be at least one OLS with index olsIdx, and said OLS may be restricted such that for each i value in the range from 0 to doi_num_display_overlays_minus1 and all j values in the range from 0 to NumOutputLayersInOls[olsIdx]-1, if present, the OutputLayerIdInOls[olsIdx][j] value must be equal to doi_nuh_layer_id[i] and doi_alpha_nuh_layer_id[i].
[0435] To use the SEI message according to the present embodiment, the following variables may be defined. Here, i is the layer identifier of a layer that may exist in the current CVS (coded video sequence).
[0436] - The arrays of picture width and picture height in units of luma samples can be represented as PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i], respectively.
[0437] - The chroma format specifier can be represented as ChromaFormatIdc[i] as provided by each codec.
[0438] - SubWidthC[i] and SubHeightC[i] can be as provided by each codec.
[0439] - The bit depth of a sample of a chroma component can be represented as BitDepthY, and if ChromaFormatIdc is not equal to 0, the bit depth of a sample of two related chroma components can be represented as BitDepthC.
[0440] - An array of subpicture counts can be represented as NumSubpics[i].
[0441] - Arrays of widths and heights of subpictures can be denoted as SubPicWidth[i][j] and SubPicHeight[i][j], respectively, where j is the subpicture index of 0,...,NumSubpics[i] - 1.
[0442] Table 19 illustrates a DOI SEI message according to the present embodiment.
[0443] display_overlays_info( payloadSize ) {Descriptordoi_idu(6)doi_cancel_flagu(1)if( !doi_cancel_flag ) {doi_persistence_flagu(1)doi_num_display_overlays_minus1ue(v)doi_target_pic_size_present_flagu(1)if( doi_target_pic_size_present_flag )doi_target_pic_width_minus1u(16)doi_target_pic_height_minus1u(16)doi_target_pic_full_occ_flagu(1)}doi_target_pic_chroma_format_idcu(2)doi_target_init_present_flagu(1)if( doi_target_init_present_flag ) {doi_target_init_bitdepth_minus8ue(v)for ( i = 0; i < (doi_target_pic_chroma_format_idc > 0 ? 3 : 1 ); i++ )doi_target_init_sample[ i ]u(v)}...}}
[0444] Referring to the DOI SEI message according to Table 19, unlike Table 1, the doi_target_init_three_comp_flag syntax is excluded and doi_target_pic_chroma_format_idc is included in the DOI SEI message.
[0445] doi_target_pic_chroma_format_idc (i.e., chroma format information for the target display picture) can specify chroma sampling versus lumina sampling for the target display picture. In other words, it can specify the chroma format of the target display picture that is displayed with a display overlay applied (i.e., overlay).
[0446] Here, if doi_target_pic_size_present_flag is equal to 0, the value of doi_target_pic_chroma_format_idc may be restricted to be equal to the value of ChromaFormatIdc[0]. That is, if doi_target_pic_size_present_flag is 0, doi_target_pic_width_minus1 and doi_target_pic_height_minus1 to indicate the width and height of the target picture, respectively, do not exist, and the chroma format of the 0th layer may be restricted to be the same as the chroma format of the target display picture (the target to which the display overlay is applied to be displayed).
[0447] If doi_target_init_present_flag is 1, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are present in the SEI message. If doi_target_init_present_flag is 0, it can be determined that the syntax elements doi_target_init_three_comp_flag, doi_target_init_bitdepth_minus8, and doi_target_init_sample[i] are not present in the SEI message.
[0448] The TargetPicSubWidthC and TargetPicSubHeightC variables can be specified as shown in Table 20 below.
[0449] doi_target_pic_chroma_format_idcTargetPicSubWidthCTargetPicSubHeightC011122221311
[0450] Referring to Table 20, the values of the TargetPicSubWidthC and TargetPicSubHeightC variables are determined based on the value of doi_target_pic_chroma_format_idc and can be used to determine the horizontal and vertical dimensions of the target picture when initializing the target display picture.
[0451] Accordingly, the target display picture can be formed as a picture array TargetPicture[cIdx][x][y] as shown in Table 21 below.
[0452] Here, cIdx = 0..( doi_target_pic_chroma_format_idc = = 0 ) ? 0 : 2. That is, the target display picture can be formed based on the chroma format information for the target display picture.
[0453] Also, x = 0..( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / TargetPicSubWidthC - 1, and y = 0..( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / TargetPicSubHeightC - 1. Here, TargetPicSubWidthC and TargetPicSubHeightC are variables determined based on chroma format information for the target display picture, and the names of the variables are examples and the present disclosure is not limited thereto.
[0454] for( cIdx = 0; cIdx <= (doi_target_pic_chroma_format_idc= = 0) ? 0: 2; cIdx++ )for( y = 0; y < ( ( cIdx = = 0 ) ? TargetPicHeight : TargetPicHeight / TargetPicSubHeightC); y++ )for( x = 0; x < ( ( cIdx = = 0 ) ? TargetPicWidth : TargetPicWidth / TargetPicSubWidthC); x++ )TargetPicture[ cIdx ][ x ][ y ] = doi_target_init_sample[ cIdx ]for( i = 0; i < doi_num_display_overlays_minus1 + 1; i++ ) {for( h = 0, y = doi_top_left_y[ i ]; y < DisplayOverlayHeight[ i ]; h++, y++ )for( w = 0, x = doi_top_left_x[ i ]; x < DisplayOverlayWidth[ i ]; w++, x++ )if( !doi_alpha_present_flag[ i ] )TargetPicture[ 0 ][ x ][ y ] = OverlayTexture[ i ][ 0 ][ w ][ h ]elseTargetPicture[ c ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ 0 ][ x ][ y ], OverlayTexture[ 0 ][ i ][ w ][ h ], OverlayAlpha[ i ][ w ][ h ] )for( cIdx = 1; cIdx < doi_target_pic_chroma_format_idc = = 0| | ChromaFormatIdc[doi_layer_idx[ i ]] = = 0 ) ? 1 : 3; cIdx++ ++ ) {for( h = 0, y = doi_top_left_y[ i ] / SubHeightC;y < DisplayOverlayHeight[ i ] / SubHeightC[ doi_layer_idx[ i ] ];h++, y++ )for( w = 0, x = doi_top_left_x[ i ] / SubWidthC; )TargetPicture[ cIdx ][ x ][ y ] = OverlayTexture[ i ][ cIdx ][ w ][ h ]elseTargetPicture[ cIdx ][ x ][ y ] = OverlayWithAlpha( TargetPicture[ cIdx ][ x ][ y ],OverlayTexture[ cIdx ][ i ][ w ][ h ], OverlayAlpha[i][w][h]);
[0455] Specifically, referring to the DOI SEI message described earlier and Table 21, the target picture can be initialized based on the chroma format for the target display picture (doi_target_pic_chroma_format_idc, TargetPicSubHeightC, TargetPicSubWidthC) (TargetPicture[cIdx][x][y] = doi_target_init_sample[cIdx]).
[0456] Additionally, if the chroma format for the target display picture is not zero, the target display picture may be formed by applying (i.e., overlaying) the texture and alpha overlay of the chroma component to the target picture based on its own chroma format (ChromaFormatIdc[doi_layer_idx[i]]) for each layer of all layers for the display overlay (doi_layer_idx[i]) (TargetPicture[cIdx][x][y] = OverlayTexture[i][cIdx][w][h] or TargetPicture[cIdx][x][y] = OverlayWithAlpha(TargetPicture[cIdx][x][y], OverlayTexture[cIdx][i][w][h], OverlayAlpha[i][w][h])). Here, for each layer of all layers, variables SubWidthC[i] and SubHeightC[i] according to the chroma format are provided by the codec and can be used to determine the horizontal and vertical dimensions of the texture and alpha overlay of the chroma component.
[0457] Chroma format information for a target display picture may be configured in a DOI SEI (supplemental enhancement information) message of the bitstream. The SEI message according to the present embodiment may be included in a NAL (network abstraction layer) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0458] Accordingly, according to the present embodiment, problems arising from a mismatch in chroma format between the target picture and the target display picture can be prevented by initializing the target picture based on the chroma format of the target display picture to which the display overlay is applied. Additionally, for each layer, a target display picture (or target overlay picture) with the texture and / or alpha overlay of the chroma component applied can be constructed based on the chroma format specific to that layer. Furthermore, for each layer, the horizontal and vertical sizes of the texture and alpha overlay of the chroma component can be adjusted according to the chroma format specific to that layer.
[0459] Example 13
[0460] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0461] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0462] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0463] According to the present embodiment, the BitDepthY and BitDepthC values can be defined as the BitDepth values of the first layer included in the SEI message.
[0464] The following variables can be specified for the interpretation of the configuration rectangle DOI SEI message:
[0465] - PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i] can be set to be identical to pps_pic_width_in_luma_samples and pps_pic_height_in_luma_samples of the picture where nuh_layer_id is doi_nuh_layer_id[i], respectively.
[0466] - ChromaFormatIdc[i] can be set to be the same as sps_chroma_format_idc of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0467] - BitDepthY and BitDepthC can both be set to be equal to the BitDepth of the picture where nuh_layer_id is doi_nuh_layer_id[0].
[0468] - NumSubpics[i] can be set to be equal to sps_num_subpics_minus1 + 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0469] - SubPicWidth[i][j] can be set to be equal to (sps_subpic_width_minus1[j] + 1) * CtbSizeY - 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0470] - SubPicHeight[i][j] can be set to be equal to (sps_subpic_height_minus1[j] + 1) * CtbSizeY - 1 of the picture with nuh_layer_id doi_nuh_layer_id[i].
[0471] For bitstream suitability, there must be at least one OLS with index olsIdx, and said OLS may be restricted such that for each i value in the range from 0 to doi_num_display_overlays_minus1 and all j values in the range from 0 to NumOutputLayersInOls[olsIdx]-1, if present, the OutputLayerIdInOls[olsIdx][j] value must be equal to doi_nuh_layer_id[i] and doi_alpha_nuh_layer_id[i].
[0472] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0473] According to the present embodiment, the problem of not knowing which BitDepth value to use when multiple layers are included in a DOI SEI message can be prevented.
[0474] Example 14
[0475] This embodiment describes a proposed method based on the DOI SEI message design described above. The description of this embodiment is based on VSEI and VVC specifications, but this is for convenience of explanation and the present disclosure is not limited thereto.
[0476] According to the present embodiment, the bitstream may include display overlay information (DOI).
[0477] The description of this embodiment explains only the parts that differ from the DOI SEI message described above, and redundant descriptions regarding explanations identical to the DOI SEI message described above are omitted.
[0478] A codec using SEI according to the present embodiment can provide BitDepthY and BitDepthC for each layer included in the SEI message.
[0479] The following variables can be specified for the interpretation of the configuration rectangle DOI SEI message:
[0480] - PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i] can be set to be identical to pps_pic_width_in_luma_samples and pps_pic_height_in_luma_samples of the picture where nuh_layer_id is doi_nuh_layer_id[i], respectively.
[0481] - ChromaFormatIdc[i] can be set to be the same as sps_chroma_format_idc of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0482] - BitDepthY[i] and BitDepthC[i] can both be set to be equal to the BitDepth value of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0483] - NumSubpics[i] can be set to be equal to sps_num_subpics_minus1 + 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0484] - SubPicWidth[i][j] can be set to be equal to (sps_subpic_width_minus1[j] + 1) * CtbSizeY - 1 of the picture where nuh_layer_id is doi_nuh_layer_id[i].
[0485] - SubPicHeight[i][j] can be set to be equal to (sps_subpic_height_minus1[j] + 1) * CtbSizeY - 1 of the picture with nuh_layer_id doi_nuh_layer_id[i].
[0486] For bitstream suitability, there must be at least one OLS with index olsIdx, and said OLS may be restricted such that for each i value in the range from 0 to doi_num_display_overlays_minus1 and all j values in the range from 0 to NumOutputLayersInOls[olsIdx]-1, if present, the OutputLayerIdInOls[olsIdx][j] value must be equal to doi_nuh_layer_id[i] and doi_alpha_nuh_layer_id[i].
[0487] To use the SEI message according to the present embodiment, the following variables may be defined. Here, i is the layer identifier of a layer that may exist in the current CVS (coded video sequence).
[0488] - The arrays of picture width and picture height in units of luma samples can be represented as PicWidthInLumaSamples[i] and PicHeightInLumaSamples[i], respectively.
[0489] - The chroma format specifier can be represented as ChromaFormatIdc[i] as provided by each codec.
[0490] - If the bit depth of the samples of the chroma component (BitDepthY[i]) and ChromaFormatIdc are not equal to 0, the bit depth of the samples of the two related chroma components (BitDepthC[i]) can be provided by each codec.
[0491] - An array of subpicture counts can be represented as NumSubpics[i].
[0492] - Arrays of widths and heights of subpictures can be denoted as SubPicWidth[i][j] and SubPicHeight[i][j], respectively, where j is the subpicture index of 0,...,NumSubpics[i] - 1.
[0493] Accordingly, the semantics for syntax elements in relation to bit depth within DOI SEI messages can be defined as follows.
[0494] doi_target_init_sample[i] can specify the target picture initialization value for the i-th color component. The length of the syntax element can be the initBitDepth bit.
[0495] If the doi_target_init_sample[i] element is not present, the value of doi_target_init_sample[i] can be set to 1 << (BitDepthY[0] - 1) when i is 0, and to 1 << (BitDepthC[0] - 1) when i is between 0 and 2.
[0496] The SEI message according to the present embodiment may be included in a network abstraction layer (NAL) unit of the bitstream. Alternatively, the SEI message according to the present embodiment 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, the SEI message according to the present embodiment may be defined as a separate NAL unit type within the bitstream.
[0497] According to the present embodiment, the problem of not knowing which BitDepth value to use when multiple layers are included in a DOI SEI message can be prevented.
[0498] 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.
[0499] 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).
[0500] The receiver (500) can receive a bitstream including an encoded video picture.
[0501] The video information extraction unit (510) can extract video information regarding an encoded video picture from the bitstream. Additionally, the video information extraction unit (510) can extract at least one of display overlay information and / or information regarding the number of display overlays and / or offset parameters for the display overlay and / or resampling information for the display overlay from the bitstream, as seen with reference to FIG. 4.
[0502] The video restoration unit (520) can restore an encoded video picture based on extracted video information.
[0503] FIG. 6 illustrates a method for generating a bitstream performed in an encoding device (200) according to the present disclosure.
[0504] A video picture being encoded can be received (S600).
[0505] Video information regarding the video picture can be generated by encoding the received video picture (S610).
[0506] A bitstream containing video information about a video picture can be generated (S620).
[0507] Additionally, at least one of display overlay information applied to the bitstream and / or information regarding the number of display overlays and / or offset parameters for the display overlays and / or resampling information for the display overlays can be generated, as seen with reference to FIG. 4. At least one of the generated display overlay information and / or information regarding the number of display overlays and / or offset parameters for the display overlays and / or resampling information for the display overlays can be included in the bitstream.
[0508] FIG. 7 illustrates a schematic configuration of an encoding device (200) that performs a method for generating a bitstream according to the present disclosure.
[0509] 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).
[0510] The receiver (700) can receive one or more video pictures that are encoded.
[0511] 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 at least one of display overlay information applied to the bitstream and / or information about the number of display overlays and / or offset parameters for the display overlays and / or resampling information for the display overlays, as seen with reference to FIG. 4.
[0512] 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 at least one of the generated display overlay information and / or information on the number of display overlays and / or offset parameters for the display overlay and / or resampling information for the display overlay.
[0513] 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.
[0514] 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.
[0515] 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.
[0516] 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.
[0517] 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.
[0518] 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 carrier readable by a computer.
[0519] FIG. 8 shows an example of a content streaming system to which embodiments of the present disclosure can be applied.
[0520] 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.
[0521] 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.
[0522] 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.
[0523] 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.
[0524] 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.
[0525] 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.
[0526] 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.
[0527] 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
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 chroma format information for a target display picture formed by overlaying one or more display overlays, and The chroma format information for the above target display picture indicates chroma sampling relative to lumina sampling for the above target display picture, and A method in which the chroma format information for the target display picture is obtained from the NAL (network abstraction layer) unit of the bitstream. In paragraph 1, The above bitstream includes a flag indicating whether it contains information for specifying the width and height of the target picture, and A method in which, based on the above flag value, the chroma format information for the target display picture is set to be the same as the chroma format for the first layer including the one or more display overlays. In paragraph 1, A method in which the target display picture is formed based on the chroma format information for the target display picture. In paragraph 3, Based on the fact that the color component of the target display picture is not 0 according to the chroma format information for the target display picture, the range of horizontal coordinates of the samples of the target display picture is from 0 to the width of the target display picture / TargetPicSubWidthC - 1, and the range of vertical coordinates of the samples of the target display picture is from 0 to the height of the target display picture / TargetPicSubHeightC - 1, and A method in which the above TargetPicSubWidthC and the above TargetPicSubHeightC are variables set based on the chroma format information for the target display picture. In paragraph 3, A method in which samples of a target picture are initialized based on the chroma format information for the target display picture. In paragraph 5, A method in which, based on the chroma format of each layer for one or more of the above-mentioned display overlays, the target display picture is formed by overlaying the one or more of the above-mentioned display overlays onto the target picture. In paragraph 6, The range of horizontal coordinates of the one or more display overlays is from 0 to the width / SubWidthC - 1 of the target display picture, and the range of vertical coordinates of the samples of the target display picture is from 0 to the height / SubHeightC - 1 of the target display picture, and A method in which the above SubWidthC and the above SubHeightC are set based on the chroma format for the corresponding layer of the one or more display overlays. In Paragraph 7, A method in which the above SubWidthC and the above SubHeightC are each set as values for a layer of a picture having the same layer identifier as the corresponding layer of one or more display overlays. In paragraph 3, A method in which, based on the bit depth of each layer for one or more display overlays, the target display picture is formed by overlaying the one or more display overlays onto the target picture. Step of receiving a video picture to be encoded; A step of encoding the received video picture to generate video information regarding the video picture; A step of generating chroma format information for a target display picture formed by overlaying one or more display overlays; and The method includes the step of generating a bitstream including the video information and chroma format information for the target display picture, wherein The chroma format information for the above target display picture indicates chroma sampling relative to lumina sampling for the above target display picture, and A method in which the chroma format information for the above target display picture is encoded into the NAL (network abstraction layer) unit of the bitstream. A computer-readable storage medium for storing a bitstream generated by the method according to paragraph 10. A step of generating a bitstream, wherein the bitstream is generated based on receiving a video picture to be encoded, encoding the received video picture to generate video information regarding the video picture, and generating chroma format information for a target display picture formed by overlaying one or more display overlays; and The method includes the step of transmitting data including the above bitstream, The chroma format information for the above target display picture indicates chroma sampling relative to lumina sampling for the above target display picture, and A method in which the chroma format information for the above target display picture is encoded into the NAL (network abstraction layer) unit of the bitstream.