Output process disable indicator

By introducing an output process disable indicator into the video-encoded bitstream, the problem of difficulty in effectively managing the output process in the prior art is solved, and the encoding efficiency and image quality are improved.

CN114982247BActive Publication Date: 2025-03-14TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080093326.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-19
Filing Date
2020-12-11
Publication Date
2025-03-14
Estimated Expiration
2040-12-11

AI Technical Summary

Technical Problem

The prior art is difficult to effectively manage and configure the output process in video encoding, resulting in limited encoding efficiency and image quality.

Method used

By introducing an output process disable indicator into the bitstream, the decoder allows the decoder to determine whether to disable the output process when receiving the bitstream, thereby controlling the allocation size and image processing method of the decoded picture buffer.

Benefits of technology

It realizes the suppression of unnecessary output processes during video decoding, improves the clarity of encoder-level pictures, and simplifies the transfer and management of output processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114982247B_ABST
    Figure CN114982247B_ABST
Patent Text Reader

Abstract

A decoder is capable of receiving a bitstream. The bitstream can include at least one output process syntax element for configuring an output process. The decoder can determine that the output process is disabled. The decoder can decode a current picture from the bitstream. The decoder can output the current picture as an output picture in response to determining that the output process is disabled.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to communications, and more particularly to communications methods and related devices and nodes supporting wireless communications. Background Art

[0002] High Efficiency Video Coding ("HEVC") is a block-based video codec standardized by the International Telecommunication Union-Telecommunication ("ITU-T") and the Moving Picture Experts Group ("MPEG") that uses both temporal and spatial prediction. Spatial prediction can be achieved using intra-frame ("I") prediction from within the current picture. Temporal prediction is achieved using unidirectional ("P") or bidirectional ("B") inter-frame prediction at the block level based on previously decoded reference pictures. In the encoder, the difference between the original pixel data and the predicted pixel data (called the residual) can be transformed to the frequency domain, quantized, and then entropy encoded before being sent along with the necessary prediction parameters such as prediction mode and motion vectors, which can also be entropy encoded. The decoder performs entropy decoding, inverse quantization, and inverse transform to obtain the residual, which is then added to the intra-frame prediction or inter-frame prediction to reconstruct the picture.

[0003] MPEG and ITU-T are developing a successor to HEVC within the Joint Video Exploration Team ("JVET"). The name of the video codec under development is Versatile Video Coding ("VVC").

[0004] A video sequence may include a series of images, each of which includes one or more components. Each component may be described as a two-dimensional rectangular array of sample values. An image in a video sequence may include three components: a luminance component Y and two chrominance components Cb and Cr, the sample values ​​in the luminance component Y are luminance values, and the sample values ​​in the chrominance components are chrominance values. In each dimension, the size of the chrominance component may be 1 / 2 of the luminance component. For example, the size of the luminance component of an HD image may be 1920x1080, while the chrominance components may each have a size of 960x540. Components are sometimes referred to as color components.

[0005] A block is a two-dimensional array of samples. In video coding, each component can be partitioned into blocks, and the coded video bitstream includes a series of coded blocks. In video coding, an image can be partitioned into units covering a specific area of ​​the image. Each unit includes all blocks from all components that make up that specific area, and each block belongs entirely to one unit. Macroblocks in H.264 and coding units ("CUs") in HEVC are examples of units.

[0006] A block may alternatively be defined as a two-dimensional array to which the transform used in the encoding is applied. These blocks may be referred to as "transform blocks". Alternatively, a block may be defined as a two-dimensional array to which a single prediction mode is applied. These blocks may be referred to as "prediction blocks". In the present disclosure, the term "block" may not be bound to one of these definitions, but the description herein may apply to either definition.

[0007] The residual block may include samples representing the difference in sample values ​​between the sample values ​​of the original source block and the sample values ​​of the predicted block. The residual block may be processed using a spatial transform. In the encoder, the transform coefficients may be quantized according to a quantization parameter ("QP"), which may control the precision of the quantized coefficients. The quantized coefficients may be referred to as residual coefficients. A high QP value may result in lower precision of the coefficients and, therefore, lower fidelity of the residual block. The decoder may receive the residual coefficients, apply inverse quantization and inverse transform to derive the residual block. Summary of the invention

[0008] According to some embodiments, a method performed by a decoder is provided. The method includes receiving a bitstream. The bitstream may include at least one output process syntax element for configuring an output process. The method also includes determining that the output process is disabled. The method also includes decoding a current picture from the bitstream. The method also includes, in response to determining that the output process is disabled, outputting the current picture as an output picture.

[0009] According to other embodiments, a method performed by a bitstream modification entity is provided. The method includes receiving an input bitstream including an output process disable indicator. The method may also include generating an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for the coded data representing the output process disable indicator. The method may also include setting the output process disable indicator in the output bitstream to a value indicating that the output process is disabled. At least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0010] According to other embodiments, a method performed by a decoder is provided. The method may include receiving an input bitstream. The method may include determining whether an output process is disabled. The method may also include determining an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0011] According to other embodiments, a method for encoding a current picture into a bitstream performed by an encoder is provided. The method includes determining an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled. The method may also include determining an output process enable indicator value separate from the output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element includes instructions for configuring the output process. The method may also include encoding the output process disable indicator value into the bitstream. The method may also include encoding the output process enable indicator value into the bitstream. The method may also include encoding the current picture into the bitstream.

[0012] According to other embodiments, a decoder is provided. The decoder may include a processing circuit and a memory coupled to the processing circuit. The memory includes instructions that, when executed by the processing circuit, cause the decoder to receive a bitstream. The bitstream includes at least one output process syntax element for configuring an output process. The instructions may also cause the decoder to determine that the output process is disabled. The instructions may also cause the decoder to decode a current picture from the bitstream. The instructions may also cause the decoder to output (2160) the current picture as an output picture in response to determining that the output process is disabled.

[0013] According to other embodiments, a bitstream modification entity is provided. The bitstream modification entity may include a processing circuit and a memory coupled to the processing circuit. The memory includes instructions that, when executed by the processing circuit, cause the bitstream modification entity to receive an input bitstream including an output process disabling indicator. The instructions may also cause the bitstream modification entity to generate an output bitstream according to the input bitstream by copying or forwarding all coded data in the input bitstream except for the coded data representing the output process disabling indicator. The instructions may also cause the bitstream modification entity to set the output process disabling indicator in the output bitstream to a value indicating that the output process is disabled. At least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0014] According to other embodiments, a decoder is provided. The decoder may include a processing circuit and a memory coupled to the processing circuit. The memory includes instructions that, when executed by the processing circuit, cause the decoder to receive an input bitstream. The instructions may also cause the decoder to determine whether an output process is disabled. The instructions may also cause the decoder to determine an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0015] According to other embodiments, an encoder is provided. The encoder may include a processing circuit and a memory coupled to the processing circuit. The memory includes instructions that, when executed by the processing circuit, cause the encoder to determine an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled. The instructions may also cause the encoder to determine an output process enable indicator value separated from the output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in a bitstream, wherein at least one output process syntax element includes instructions for configuring the output process. The instructions may also cause the encoder to encode the output process disable indicator value into the bitstream. The instructions may also cause the encoder to encode the output process enable indicator value into the bitstream. The instructions may also cause the encoder to encode the current picture into the bitstream.

[0016] According to other embodiments, a computer program is provided, the computer program comprising program code to be executed by a processing circuit of a decoder. Execution of the program code causes the decoder to receive a bitstream. The bitstream comprises at least one output process syntax element for configuring an output process. The program code may also cause the decoder to determine that the output process is disabled. The program code may also cause the decoder to decode a current picture from the bitstream. The program code may also cause the decoder to output (2160) the current picture as an output picture in response to determining that the output process is disabled.

[0017] According to other embodiments, a computer program is provided, the computer program comprising program code to be executed by a processing circuit of a bitstream modification entity. Execution of the program code causes the bitstream modification entity to receive an input bitstream including an output process disable indicator. The program code may also cause the bitstream modification entity to generate an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except the coded data representing the output process disable indicator. The program code may also cause the bitstream modification entity to set the output process disable indicator in the output bitstream to a value indicating that the output process is disabled. At least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0018] According to other embodiments, a computer program is provided, the computer program comprising program code to be executed by a processing circuit of a decoder. Execution of the program code causes the decoder to receive an input bitstream. The program code may also cause the decoder to determine whether an output process is disabled. The program code may also cause the decoder to determine an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0019] According to other embodiments, a computer program is provided, the computer program comprising program code to be executed by a processing circuit of an encoder. Execution of the program code causes the encoder to determine an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled. Execution of the program code may also cause the encoder to determine an output process enable indicator value separate from the output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in a bitstream, wherein the at least one output process syntax element includes instructions for configuring the output process. Execution of the program code may also cause the encoder to encode the output process disable indicator value into the bitstream. Execution of the program code may also cause the encoder to encode the output process enable indicator value into the bitstream. Execution of the program code may also cause the encoder to encode a current picture into the bitstream.

[0020] According to other embodiments, a computer program product is provided, comprising a non-transitory storage medium comprising program code to be executed by a processing circuit of a decoder. Execution of the program code causes the decoder to receive a bitstream. The bitstream comprises at least one output process syntax element for configuring an output process. The program code may also cause the decoder to determine that the output process is disabled. The program code may also cause the decoder to decode a current picture from the bitstream. The program code may also cause the decoder to output (2160) the current picture as an output picture in response to determining that the output process is disabled.

[0021] According to other embodiments, a computer program product is provided, comprising a non-transitory storage medium, the non-transitory storage medium comprising a program code to be executed by a processing circuit of a bitstream modification entity. Execution of the program code causes the bitstream modification entity to receive an input bitstream including an output process disable indicator. The program code may also cause the bitstream modification entity to generate an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for the coded data representing the output process disable indicator. The program code may also cause the bitstream modification entity to set the output process disable indicator in the output bitstream to a value indicating that the output process is disabled. At least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0022] According to other embodiments, a computer program product is provided, including a non-transitory storage medium, the non-transitory storage medium including program code to be executed by a processing circuit of a decoder. The execution of the program code causes the decoder to receive an input bitstream. The execution of the program code may also cause the decoder to determine whether an output process is disabled. The execution of the program code may also cause the decoder to determine an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0023] According to other embodiments, a computer program product is provided, comprising a non-transitory storage medium, the non-transitory storage medium comprising program code to be executed by a processing circuit of an encoder. Execution of the program code causes the encoder to determine an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled. Execution of the program code may also cause the encoder to determine an output process enable indicator value separate from the output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in a bitstream, wherein the at least one output process syntax element includes instructions for configuring the output process. Execution of the program code may also cause the encoder to encode the output process disable indicator value into the bitstream. Execution of the program code may also cause the encoder to encode the output process enable indicator value into the bitstream. Execution of the program code may also cause the encoder to encode a current picture into the bitstream.

[0024] According to other embodiments, a non-transitory computer-readable medium is provided on which instructions executable by a processing circuit of a decoder are stored. Execution of the instructions causes the decoder to receive a bitstream. The bitstream includes at least one output process syntax element for configuring an output process. Execution of the instructions may also cause the decoder to determine that the output process is disabled. Execution of the instructions may also cause the decoder to decode a current picture from the bitstream. Execution of the instructions may also cause the decoder to output (2160) the current picture as an output picture in response to determining that the output process is disabled.

[0025] According to other embodiments, a non-transitory computer-readable medium is provided on which instructions that can be executed by a processing circuit of a bitstream modification entity are stored. The execution of the program code causes the bitstream modification entity to receive an input bitstream including an output process disable indicator. The execution of the program code may also cause the bitstream modification entity to generate an output bitstream based on the input bitstream by copying or forwarding all coded data in the input bitstream except the coded data representing the output process disable indicator. The execution of the program code may also cause the bitstream modification entity to set the output process disable indicator in the output bitstream to a value indicating that the output process is disabled. At least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0026] According to other embodiments, a non-transitory computer-readable medium is provided on which instructions that can be executed by a processing circuit of a decoder are stored. The execution of the program code causes the decoder to receive an input bitstream. The execution of the program code may also cause the decoder to determine whether an output process is disabled. The execution of the program code may also cause the decoder to determine an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0027] According to other embodiments, a non-transitory computer-readable medium is provided on which instructions capable of being executed by a processing circuit of an encoder are stored. The execution of the program code may cause the encoder to determine an output process disable indicator value, which indicates whether the output process is disabled. The execution of the program code may also cause the encoder to determine an output process enable indicator value separate from the output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in a bitstream, wherein the at least one output process syntax element includes instructions for configuring the output process. The execution of the program code may also cause the encoder to encode the output process disable indicator value into the bitstream. The execution of the program code may also cause the encoder to encode the output process enable indicator value into the bitstream. The execution of the program code may also cause the encoder to encode the current picture into the bitstream.

[0028] Various embodiments described herein provide high-level indicators that can be overwritten in a bitstream before the bitstream is passed to a decoder to suppress output processes. In some embodiments, potential benefits may occur when using a decoder for transcoding purposes, where suppressing output processes such as film grain processes results in a clearer picture at the encoder level in the transcoder. The output process defined in the input bitstream (e.g., a film grain output process) can then be more easily transferred to the transcoded bitstream. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The accompanying drawings illustrate certain non-limiting embodiments of the inventive concept, and are included to provide a further understanding of the present disclosure, and are incorporated in and constitute a part of this application. In the drawings:

[0030] Figure 1 is a table showing an example of HEVC NAL unit header syntax;

[0031] Figure 2 is a table showing an example of a VVC NAL unit header syntax;

[0032] Figure 3 is a table showing examples of NAL unit types in VVC;

[0033] Figure 4 is a block diagram illustrating an example of a layer access unit and a coded layer video sequence;

[0034] Figure 5 is a table showing an example of an adaptation parameter set syntax in VVC;

[0035] Figure 6 is a schematic diagram showing an example of tile partitioning;

[0036] Figure 7is a schematic diagram showing an example of a rectangular patch;

[0037] Figure 8 is a block diagram illustrating an example of an output process;

[0038] Fig. 9 is a table showing an example of the syntax of the film grain characteristics SEI message in VVC;

[0039] Fig.10 is a table showing an example of film grain parameter syntax in AV1;

[0040] Fig.11 is a table illustrating examples of output process disable indicators and output process enable indicators according to some embodiments of the inventive concept;

[0041] Fig. 12A is a block diagram illustrating an example of transcoding without a film grain output process disabling flag according to some embodiments of the inventive concept;

[0042] Fig. 12B is a block diagram illustrating an example of transcoding with a film grain output process disabling flag according to some embodiments of the inventive concept;

[0043] Fig.13 is a block diagram illustrating an example of a film grain model according to some embodiments of the inventive concept;

[0044] Fig.14 is a table showing examples of film grain output process disabling flags according to some embodiments of the inventive concept;

[0045] Fig.15 is a flow chart illustrating an example of a process of disabling a film grain output process according to some embodiments of the inventive concept;

[0046] Figure 16 to Figure 17 is a table showing an example of an adaptive parameter set for an output process according to some embodiments of the inventive concept;

[0047] Fig.18 is a block diagram illustrating a wireless device UE according to some embodiments of the inventive concept;

[0048] Fig.19 is a block diagram illustrating a decoder according to some embodiments of the inventive concept;

[0049] Fig. 20 is a block diagram illustrating an encoder according to some embodiments of the inventive concept;

[0050] Fig.21is a flowchart illustrating the operation of a decoder according to some embodiments of the inventive concept;

[0051] Fig. 22 is a flow chart illustrating the operation of a bitstream modification entity according to some embodiments of the inventive concept;

[0052] Fig.23 is a flowchart illustrating other operations of a decoder according to some embodiments of the inventive concept; and

[0053] Fig.24 is a flowchart illustrating the operation of an encoder according to some embodiments of the inventive concept. DETAILED DESCRIPTION

[0054] Hereinafter, the inventive concept will be described more fully with reference to the accompanying drawings, in which examples of embodiments of the inventive concept are shown. However, the inventive concept can be embodied in a variety of different forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided so that the disclosure will be comprehensive and complete, and the scope of the inventive concept will be fully conveyed to those skilled in the art. It should also be noted that these embodiments are not mutually exclusive. A component from one embodiment can be assumed by default to be present in / used in another embodiment.

[0055] The following description presents various embodiments of the disclosed subject matter. These embodiments are presented as teaching examples and are not to be construed as limiting the scope of the disclosed subject matter. For example, some details of the embodiments may be modified, omitted or expanded without departing from the scope of the subject matter.

[0056] Both HEVC and VVC define a network abstraction layer ("NAL"). All data (e.g., both the video coding layer ("VCL") in HEVC and VVC or non-VCL data) can be encapsulated in a NAL unit. VCL NAL units can include data representing picture sample values. Non-VCL NAL units can include additional associated data, such as parameter sets and supplemental enhancement information ("SEI") messages. NAL units in HEVC can start with a header that specifies the NAL unit type of the NAL unit, which identifies the type of data carried in the NAL unit, the layer ID, and the time ID to which the NAL unit belongs. The NAL unit type can be sent in the nal_unit_type codeword in the NAL unit header. This type indicates and defines how the NAL unit should be parsed and decoded. The remaining bytes of the NAL unit can be a payload of the type indicated by the NAL unit type. The bitstream may include a series of cascaded NAL units.

[0057] The syntax of the HEVC NAL unit header is as follows Figure 1 shown.

[0058] At the time of writing this article, the current version of the VVC draft is JVET-P2001-vE. The syntax of the NAL unit header of this current draft is as follows Figure 2 shown.

[0059] The NAL unit types of the current VVC draft are as follows Figure 3 shown.

[0060] The decoding order is the order in which the NAL units should be decoded, which is the same order as the NAL units within the bitstream. The decoding order may be different from the output order, which is the order in which the decoded pictures are to be output (e.g., for display) by the decoder.

[0061] In HEVC and in the VVC draft, all pictures can be associated with a TemporalId value that specifies the temporal layer to which the picture belongs. The TemporalId value can be decoded from the nuh_temporal_id_plus1 syntax element in the NAL unit header. The encoder can set the TemporalId value so that when the higher temporal layer is discarded, the pictures belonging to the lower layer can be perfectly decoded. For example, suppose the encoder has output a bitstream using temporal layers 0, 1, and 2. Then removing all layer 2 NAL units or removing all layer 1 and layer 2 NAL units will result in a bitstream that can be decoded without problems. This is ensured by restrictions in the HEVC specification that the encoder must comply with. For example, pictures of a temporal layer are not allowed to reference pictures of a higher temporal layer.

[0062] The value of the nuh_layer_id syntax element in the NAL unit header specifies the layer ID to which the NAL unit belongs.

[0063] A layer access unit in VVC can be defined as a set of NAL units, for which VCL NAL units all have a specific nuh_layer_id value, are associated with each other according to a specified classification rule, are consecutive in decoding order, and contain exactly one coded picture.

[0064] A coded layer video sequence ("CLVS") in the current version of VVC can be defined as a sequence of layer access units comprising a CLVS layer access unit in decoding order, followed by zero or more layer access units that are not CLVS layer access units, including all subsequent layer access units: up to but not including any subsequent layer access unit that is a CLVS layer access unit.

[0065] The relationship between the layer access unit and the coded layer video sequence is as follows: Figure 4As shown. In the current version of VVC, layers can be coded independently or dependent on each other. When layers are coded independently, a layer with nuh_layer_id 0 may not be able to predict video data from another layer with nuh_layer_id 1. In the current version of VVC, dependency coding between layers can be used, which can support scalable coding with SNR, spatial and view scalability.

[0066] The current VVC draft includes a picture header, which is a NAL unit with nal_unit_type equal to PH_NUT. The picture header is similar to the slice header, but the values ​​of the syntax elements in the picture header are used to decode all slices of a picture. Each picture in VVC includes a picture header NAL unit, followed by all coded slices of the picture, where each coded slice is transmitted in a coded slice NAL unit.

[0067] For single-layer coding in HEVC, an access unit ("AU") may be a coded representation of a single picture. An AU may include several video coding layer ("VCL") NAL units as well as non-VCL NAL units.

[0068] An intra random access point ("IRAP") picture in HEVC is a picture that is not predicted by reference to any picture other than itself during its decoding process. In HEVC, the first picture in the bitstream in decoding order must be an IRAP picture, however, IRAP pictures may also appear later in the bitstream. HEVC specifies three types of IRAP pictures: broken link access ("BLA") pictures, instantaneous decoder refresh ("IDR") pictures, and clean random access ("CRA") pictures.

[0069] A coded video sequence ("CVS") in HEVC is a sequence of access units starting from an IRAP access unit up to but not including the next IRAP access unit in decoding order.

[0070] An IDR picture may start a new CVS. An IDR picture may have an associated random access decodable leading ("RADL") picture. An IDR picture may not have an associated RASL picture.

[0071] BLA pictures can also start new CVSs and can have the same effect on the decoding process as IDR pictures. However, BLA pictures in HEVC can include syntax elements that specify a non-empty set of reference pictures. BLA pictures can have associated RASL pictures that are not output by the decoder and may not be decodable because they may contain references to pictures that may not be present in the bitstream. BLA pictures can also have associated RADL pictures that are decoded.

[0072] A CRA picture may have an associated RADL or RASL picture. Like a BLA picture, a CRA picture may include syntax elements that specify a non-empty set of reference pictures. For a CRA picture, a flag may be set to specify that the associated RASL pictures are not output by the decoder, as they may not be decodable because they may include references to pictures that are not present in the bitstream. A CRA may or may not start a CVS.

[0073] In VVC, there are also GRA pictures, which may or may not start a CVS in the absence of intra pictures. The coding layer video sequence start ("CLVSS") picture in VVC is an IRAP picture or a GRA picture. The CLVSS picture in VVC can start a VVC coding layer video sequence ("CLVS"), which can be similar to the CVS in HEVC.

[0074] There is no BLA picture type in VVC.

[0075] HEVC specifies three types of parameter sets: picture parameter set ("PPS"), sequence parameter set ("SPS"), and video parameter set ("VPS"). A PPS may include data common to an entire picture, an SPS may include data common to a coded video sequence ("CVS"), and a VPS may include data common to multiple CVSs.

[0076] VVC can also use these parameter set types. In VVC, there are also adaptive parameter sets ("APS") and decoding parameter sets ("DPS"). The APS can include information that can be used for multiple slices, and two slices of the same picture can use different APS. The DPS can include information that specifies the "worst case" that the decoder will encounter in terms of profiles and levels throughout the bitstream.

[0077] The APS syntax in VVC is as follows Figure 5The adaptation_parameter_set_id syntax element can assign an ID value to the syntax element value present in the APS. The APS also includes an aps_params_type syntax element that specifies the APS type, which controls which process the syntax element value is used for.

[0078] The concept of slices in HEVC divides a picture into independently coded slices, where decoding of one slice in a picture is independent of other slices of the same picture. Different coding types can be used for slices of the same picture (e.g., a slice can be an I slice, a P slice, or a B slice). One purpose of slices is to enable resynchronization in case of data loss. In HEVC, a slice can be a set of CTUs.

[0079] In the current version of VVC, pictures can be divided into raster scan slices or rectangular slices. Raster scan slices can include multiple complete tiles in raster scan order. Rectangular slices can include a group of tiles that occupy a rectangular area in the picture together or a continuous number of CTU rows within a tile. Each slice has a slice header including syntax elements. When decoding the slice, the decoded slice header values ​​from these syntax elements can be used. Each slice can be carried in a VCL NAL unit.

[0080] In previous versions of the VVC draft specification, slices were referred to as tile groups.

[0081] The VVC video coding standard draft includes a tool called tiles, which divides a picture into rectangular spatially independent regions. The tiles in the VVC coding standard draft are similar to the tiles used in HEVC. Using tiles, in VVC, a picture can be divided into multiple rows of CTUs and multiple columns of CTUs, where a tile is the intersection of a row and a column. Figure 6 An example of a tile partitioning using 4 tile rows and 5 tile columns resulting in a total of 20 tiles for the picture is shown.

[0082] The tile structure is signaled in a picture parameter set ("PPS") by specifying the thickness of the rows and the width of the columns. The individual rows and columns can have different sizes, but the divisions always span the entire picture, from left to right and from top to bottom, respectively.

[0083] There are usually no decoding dependencies between tiles of the same picture. This includes intra prediction, context selection for entropy coding, and motion vector prediction. An exception is that loop filtering dependencies are usually allowed between tiles.

[0084] In rectangular slice mode in VVC, a tile can be further partitioned into multiple slices, where each slice includes a consecutive number of CTU rows within a tile. Figure 7 Examples of tile partitioning in VVC and rectangular slice partitioning using the tile partitioning are shown.

[0085] Pictures in HEVC are identified by their picture order count ("POC") value (also known as the complete POC value). Each slice may include a codeword pic_order_cnt_lsb, which may be the same for all slices in a picture. pic_order_cnt_lsb is also called the least significant bit ("lsb") of the complete POC because it is a fixed-length codeword and only the least significant bit of the complete POC is signaled. Both the encoder and the decoder can track the POC and assign a POC value to each picture being encoded / decoded. pic_order_cnt_lsb can be signaled by 4-16 bits. In HEVC, a variable MaxPicOrderCntLsb is used, which is set to the maximum pic_order_cnt_lsb value plus 1. This means that if 8 bits are used to signal pic_order_cnt_lsb, the maximum value is 255, and MaxPicOrderCntLsb is set to 2^8=256. In HEVC, the picture order count value of a picture is called PicOrderCntVal. Typically, the PicOrderCntVal of the current picture is simply referred to as PicOrderCntVal. It is expected that POC will work in a similar way in the final version of VVC.

[0086] The decoded picture buffer ("DPB") is a storage space in the decoder that is used to store decoded pictures. Two reasons for storing decoded pictures in the DPB include: storing pictures so that they can be used for prediction in the decoding process of future pictures; and storing pictures until it is time to output them from the decoder. The encoder may encode pictures out of order to improve compression efficiency, and as a result, the decoder may need to store several pictures in the DPB because pictures that have not yet been decoded were output before them.

[0087] The amount of storage space required in the decoder can be controlled using so-called levels. HEVC bitstreams conform to a specific level, and for each level there is a specified maximum memory size that a bitstream conforming to that level cannot exceed. For example, level 4 has a maximum luma picture size (MaxLumaPs) of 2,228,224 luma samples. This is suitable for a 2048x1080 picture. If the picture luma size (PicSizeInSamplesY) of a picture in the bitstream is equal to, for example, 2048x1080, then the maximum DPB size is set equal to 6. If the current picture luma size is equal to, for example, 480x240, then the maximum DPB size is equal to 16. One way HEVC calculates the DPB, given the MaxLumaPs and luma picture size from the level, is as follows:

[0088]

[0089] where MaxLumaPs is specified in Table A.6 and maxDpbPicBuf is equal to 6.

[0090] Table A.6 is a table in the HEVC specification that provides the MaxLumaPs value for each level.

[0091] VVC is expected to have a similar DPB structure and level definition as HEVC, but may allow slightly more pictures in the DPB. In the current version of VVC, maxDpbPicBuf is equal to 8.

[0092] Reference picture management in HEVC is done using reference picture sets ("RPS"). A reference picture set is a collection of reference pictures that are signaled in a slice header. When the decoder has decoded a picture, the picture and its POC value are placed in the DPB together. When decoding subsequent pictures, the decoder parses the RPS syntax from the slice header and builds a list of reference picture POC values. These lists can be compared with the POC values ​​of the pictures stored in the DPB, and the RPS can specify which pictures in the DPB are retained in the DPB and which pictures are removed. All pictures that are not included in the RPS are marked for removal from the DPB. Pictures that are marked for removal and have been output can be deleted from the DPB, and the storage space used for the picture can be used for other pictures.

[0093] One of the main properties of the HEVC reference picture management system is that, for each slice, it signals the state that the DPB should be in before the current picture is decoded. This enables the decoder to compare the signaled state with the actual state of the DPB and determine if any reference pictures are lost.

[0094] Reference picture management in the VVC draft specification is slightly different from reference picture management in HEVC. In HEVC, the RPS is signaled and the reference picture list for inter prediction is derived from the RPS. In the VVC draft specification, the reference picture list ("RPL") is signaled and the RPS is derived. However, in both specifications, the signaling of which pictures to keep in the DPB, which pictures should be short-term and long-term is done. Picture identification using POC and determining lost reference pictures is done the same way in both specifications.

[0095] Figure 8The output process in the decoding system is shown. The input (bitstream 810) of the video decoder 820 is decoded by the decoding engine 822 into one or more decoded pictures 830 during the decoding process. The decoded pictures are finally passed through the output process 826 and output as output pictures 850.

[0096] The input to the output process 826 is the decoded picture 830, and the output of the output process 826 is the output picture 850. The decoded picture 830 used as the input to the output process 826 can be stored in the decoded picture buffer 824 and can be used in the decoding process of other future pictures. In this example, the previous decoded pictures 840a to 840c may have been used by the decoding engine 822 to generate the decoded picture 830. The output picture 850 may be different from the decoded picture 830. In this case, the output picture 850 may be stored in the memory as a separate picture.

[0097] The output process 826 may output an output picture 850 that is a modified version of the decoded picture 830 that has been modified in a number of different ways, such as one or a combination of two or more of the following:

[0098] 1. Apply film grain;

[0099] 2. Apply color transformation and / or color component value scaling;

[0100] 3. Apply projection mapping or inverse projection mapping, for example, converting the decoded picture from a cube map projection to a spherical representation or to an equirectangular representation;

[0101] 4. Perform region-level packing or region-level unpacking on the image through a set of region-level operations such as repositioning, scaling, and rotation;

[0102] 5. Crop the decoded image;

[0103] 6. Convert the decoded picture to a different color format, for example, from Rec 709 to PQ;

[0104] 7. Convert the decoded picture to a different chroma format, for example, from YUV 4:2:0 to YUV 4:4:4;

[0105] 8. Scale or resample the image from the decoded resolution to the output resolution;

[0106] 9. Convert to different sample aspect ratios;

[0107] 10. Convert the two decoded fields into an interlaced picture;

[0108] 11. Apply / remove frame packing;

[0109] 12. Extract one or more sub-pictures (similar to cropping a decoded picture, but may, for example, include merging sub-pictures from different locations in the picture);

[0110] 13. Apply post-filtering such as deblocking, anti-banding, anti-aliasing, sharpening and blurring; and

[0111] 14. Apply overlays such as timed text, logos, and motion graphics.

[0112] Noise in video can originate from different sources. Since noise is usually random, it cannot be effectively compressed. Therefore, noisy input pictures are usually suppressed by the encoder in a pre-filtering stage before the pictures are actually encoded. When the pictures are reconstructed at the decoder before output, modeled or unmodeled noise can be added to the decoded frames. One reason for adding noise is to preserve artistic intent. Another reason is to hide artifacts such as blur, fragility or blockiness caused by encoder compression.

[0113] According to the description of the Supplementary Enhancement Information in the draft of the VVC standard specified in JVET-P2007-v3.docx, the film grain output process is supported in VVC. The process is basically the same as the film grain output process specified in the H.264 and HEVC video coding standards. The process includes SEI messages that carry a parameterized model for film grain synthesis in the decoder.

[0114] The film grain characteristics SEI message includes a cancel flag film_grain_characteristics_cancel_flag, which, if set equal to 0, enables the process. Additionally, when this flag is set to 0, the film grain parameters syntax element follows this flag. Finally, film_grain_characteristics_persistence_flag specifies the persistence of the film grain characteristics SEI message for the current layer. Fig. 9 A simplified version of this syntax is shown in FIG.

[0115] The AV1 video format supports film grain generation. Film grain can be applied after decoding and before outputting the picture. sequence_header_obu() includes the film_grain_params_present flag, which is an enable flag for film grain signaling and processing. Fig.10 The film grain parameters are signaled at the end of frame_header_obu() in a syntax table called film_grain_params() as shown in FIG.

[0116] In film_grain_params(), the flag apply_grain may control whether film grain should be applied to the current picture. The 16-bit grain_seed syntax element may be used as a seed for a pseudo-random number generator to generate grain. The update_grain flag may specify whether film grain parameter values ​​from a reference picture should be used, or whether the film grain parameter values ​​to be used should be decoded from the frame header. The reference picture to be used is identified by the film_grain_params_ref_idx syntax element value. In Fig.10 In , the frame header film grain parameters are represented by more_film_grain_parameters() rows to simplify the table.

[0117] Fig.18 1 is a block diagram illustrating elements of a terminal device ("UE") 1800 (also referred to as a mobile terminal, mobile communication terminal, wireless communication device, wireless terminal, mobile device, wireless communication terminal, user equipment UE, user equipment node / terminal / device, etc.) configured to receive an encoded representation of data (e.g., a bit stream or video sequence) according to an embodiment of the present inventive concept. As shown, the UE 1800 may include an antenna 1807 and a transceiver circuit 1801, the transceiver circuit 1801 including a transmitter and a receiver, which are configured to provide uplink and downlink radio communications with a base station of a radio access network. The UE 1800 may also include a processing circuit 1803 coupled to the transceiver circuit, and a memory circuit 1805 coupled to the processing circuit. The memory circuit 1805 may include a computer-readable program code that, when executed by the processing circuit 1803, causes the processing circuit to perform operations according to the embodiments disclosed herein. According to other embodiments, the processing circuit 1803 may be defined to include a memory so that a separate memory circuit is not required. The UE 1800 may also include an interface (eg, a user interface) coupled to the processing circuit 1803 , and / or the wireless device UE may be incorporated into a vehicle.

[0118] As discussed herein, the operations of UE 1800 may be performed by processing circuit 1803 and / or transceiver circuit 1801. For example, processing circuit 1803 may control transceiver circuit 1801 to send communications to a radio access network node (also referred to as a base station) over a radio interface via transceiver circuit 1801 and / or to receive communications from a RAN node over a radio interface via transceiver circuit 1801. In addition, modules may be stored in memory circuit 1805, and these modules may provide instructions such that when the instructions of the modules are executed by processing circuit 1803, processing circuit 1803 performs corresponding operations (e.g., operations discussed below with respect to example embodiments related to wireless devices). In some embodiments, UE 1800 may include a display for displaying images decoded from a received bit stream. For example, UE 1800 may include a television.

[0119] Fig.19 1 is a block diagram illustrating elements of a decoder 1900 configured to decode a bitstream according to an embodiment of the inventive concept. The decoder 1900 may include a network interface circuit 1907 (also referred to as a network interface), which is configured to communicate with other devices. The decoder 1900 may also include a processing circuit 1903 (also referred to as a processor) coupled to a memory circuit 1905 (also referred to as a memory), and the memory circuit 1905 is coupled to the processing circuit. The memory circuit 1905 may include a computer-readable program code that, when executed by the processing circuit 1903, causes the processing circuit to perform operations according to the embodiments disclosed herein. According to other embodiments, the processing circuit 1903 may be defined to include a memory so that a separate memory circuit is not required.

[0120] As discussed herein, operations of the decoder 1900 may be performed by the processing circuit 1903 and the network interface 1907. For example, the processing circuit 1903 may control the network interface 1907 to receive encoded representations of data from and / or send encoded representations of data to one or more bitstream modification entities (e.g., transcoders). In addition, modules may be stored in the memory 1905, and these modules may provide instructions such that when the instructions of the modules are executed by the processing circuit 1903, the processing circuit 1903 performs corresponding operations (e.g., operations discussed below with respect to example embodiments related to the decoder).

[0121] Fig. 201 is a block diagram showing an element of an encoder 2000 configured to encode a bitstream according to an embodiment of the present invention. As shown, the encoder 2000 may include a network interface circuit 2007 (also referred to as a network interface), and the network interface circuit 2007 is configured to transmit a bitstream with one or more other devices. The encoder 2000 may also include a processing circuit 2003 (also referred to as a processor) coupled to the network interface circuit and a memory circuit 2005 (also referred to as a memory) coupled to the processing circuit. The memory circuit 2005 may include a computer-readable program code, which, when executed by the processing circuit 2003, enables the processing circuit to perform operations according to the embodiments disclosed herein. According to other embodiments, the processing circuit 2003 may be defined as including a memory so that a separate memory circuit is not required.

[0122] It may be beneficial to configure the decoder to apply an output process (e.g., apply film grain) or not apply an output process. A transcoder may configure the decoder to not apply an output process in order to transcode one or more pictures in their original format. The transcoder may also be configured to copy output process parameter values ​​from the input bitstream before transcoding to the transcoded bitstream. In addition, using an output process may cost a storage slot for an additional picture in the decoder compared to not using an output process.

[0123] Various embodiments described herein introduce an output process disable indicator that can inhibit an output process so that the input picture of the output process is the same as the output picture. The output process disable indicator may not have any output process syntax element gating attributes, which means that the output process syntax element may be present in the bitstream and may be parsed by the decoder regardless of the value of the output process disable indicator.

[0124] In some embodiments, a high-level indicator is provided that can be overwritten in the bitstream before it is passed to the decoder in order to suppress an output process. This can be beneficial when using the decoder for transcoding purposes, where suppressing an output process such as a film grain output process results in a cleaner picture at the encoder level in the transcoder. The output process defined in the input bitstream (e.g., a film grain output process) can then be more easily transferred to the transcoded bitstream.

[0125] Various embodiments are described below. It should be understood by those skilled in the art that two or more embodiments or parts of embodiments may be combined to form new embodiments still covered by the present disclosure.

[0126] The following method can be applied to a single still picture or to a video sequence of pictures.In some embodiments, suppression of an output process or sub-process in a video decoder is introduced. A sub-process may be a process or part of a process comprising: applying color transforms and / or color component value scaling; applying projection mapping or inverse projection mapping, such as converting a decoded picture from a cube map projection to a spherical representation or to an equirectangular representation; performing region-level packing or region-level unpacking on a current picture through a set of region-level operations such as repositioning, scaling, and rotation; cropping a decoded picture; converting a decoded picture to a different color format, such as from Rec 709 to PQ; converting a decoded picture to a different chroma format, such as from YUV 4:2:0 to YUV 4:4:4; scaling or resampling a picture from a decoding resolution to an output resolution; converting to a different sample aspect ratio; converting two decoded fields to an interlaced picture; applying / removing frame packing; extracting one or more sub-pictures (similar to cropping a decoded picture, but may, for example, include merging sub-pictures from different locations in the picture); applying post-filtering such as deblocking filtering, anti-banding filtering, anti-aliasing filtering, sharpening filtering, and blur filtering; and applying overlays such as timed text, logos, and motion graphics.

[0127] Figure 8 The output process 826 may include several sub-processes. In this article, "process" can be used to represent a process or a sub-process.

[0128] An output process may have a decoded picture as input, and the output from the output process may be a modified decoded picture that is different from the decoded picture. The decoded picture may be stored in a decoded picture buffer. The modified decoded picture may be output from the video decoder and may therefore be referred to as an output picture. The bitstream input to the video decoder may include one or more output process syntax elements that control or configure the output process, wherein the control and / or configuration of the output process controls / configures sample values ​​of the output picture such that two different sets of output process syntax element values ​​result in different output pictures. Syntax elements that enable or disable an output process may not be considered output process syntax elements because they control whether the output process is enabled rather than controlling sample values ​​of the output picture.

[0129] Some output process designs include an output process enable indicator, which is usually in the form of a flag. In some embodiments, an additional output process disable indicator is added, such as Fig.11 There may be two possible output process disable indicator values, a first value V1 indicating or specifying that the output process is disabled, and a different second value V2 indicating or specifying that the output process is not disabled.

[0130] If the output process disable indicator value is equal to V1, the decoder will not modify the decoded picture by any output process. In other words, the decoded picture and the output picture are the same. However, whether the bitstream contains an output process syntax element does not depend on the output process disable indicator value. Assuming that the value of the output process enable indicator is equal to "enabled", the decoder will parse the output process syntax element even if the value of the output process disable indicator is equal to V1. Preferably, no output process syntax element is conditional on the value of the output process disable indicator.

[0131] If the output process disable indicator value is equal to V2, the output process is not disabled. This means that the output process disable indicator is ignored, so that the output process is completely controlled by other indicators and / or syntax elements in the bitstream.

[0132] The output process disable indicator may be encoded, carried and decoded as any type of syntax element, for example, a binary flag, a variable length codeword or an arithmetic coded symbol.

[0133] In additional or alternative embodiments, Fig.11 combination 4 in such a way that the combination cannot be expressed by a syntax element in the bitstream, or is explicitly prohibited by a constraint such as "a requirement for bitstream conformance is that when the output process enable indicator value is equal to 'disable', the output process disable indicator value shall be equal to 'disable'".

[0134] In additional or alternative embodiments, Fig.11 Combinations 1 to 3 or combinations 1 to 4 in are signaled as a mode using a single syntax element that is decoded to one of three or four values, respectively.

[0135] In some embodiments, the output process disable indicator is implemented as a separate flag, referred to as an "output process disable flag". The output process disable flag can be decoded from a DPS, VPS, SPS, PPS, picture header, or slice header. The flag can be decoded from a DPS, VPS, or SPS because these parameter set types are typically used by many pictures, which means that the source bitstream can be minimally modified to disable coefficients of the output process.

[0136] In some embodiments, the decoder may perform all or a subset of the following operations for decoding and outputting a picture from a bitstream. First, the decoder may decode an output process disable indicator value from the bitstream, wherein the output process disable indicator value specifies that the output process is disabled, and wherein the output process disable indicator value may be decoded from a flag in the bitstream. Second, the decoder may decode an output process enable value separated from the output process disable indicator value from the bitstream, wherein the output process enable value specifies that an output process syntax element is present in the bitstream, and wherein the output process enable value may be decoded from a flag in the bitstream. Third, the decoder may parse the output process syntax element from the bitstream, wherein the output process syntax element may be present in a parameter set in the bitstream. Fourth, the decoder may decode the current picture from the bitstream. Fifth, the decoder may output the current picture as an output picture, wherein, in response to the output process disable indicator value specifying that the output process is disabled, the output picture is the same as the decoded picture.

[0137] In some embodiments, the transcoder may include a processor (e.g., a preprocessor), a decoder, and an encoder, and may perform all or a subset of the following operations for transcoding and outputting a transcoded bitstream. First, the processor of the transcoder may modify an output process disable indicator value in an input bitstream, wherein the modified output process disable indicator value specifies that the output process is disabled, and wherein the output process disable indicator value may be a flag in the input bitstream. Second, the decoder of the transcoder may decode the output process disable indicator value from the input bitstream. Third, the decoder of the transcoder may decode an output process enable value separated from the output process disable indicator value from the input bitstream, wherein the output process enable value specifies that an output process syntax element is present in the input bitstream, and wherein the output process enable value may be decoded from a flag in the input bitstream. Fourth, the decoder of the transcoder may parse an output process syntax element from the input bitstream, wherein the output process syntax element may be present in a parameter set in the input bitstream. Fifth, the decoder of the transcoder may decode the current picture from the input bitstream. Sixth, the decoder of the transcoder may output the current picture as an output picture, wherein the output picture is the same as the decoded picture in response to the output process disable indicator value specifying that the output process is disabled. Seventh, the encoder of the transcoder may encode the output picture into a transcoded bitstream.

[0138] In some embodiments, when the output process is a film grain output process, an output process disable flag may be used. In these embodiments, the output process disable flag may be referred to as a film grain output process disable flag. The output process syntax elements may include film grain syntax elements, such as a film grain model syntax element and a seed syntax element.

[0139] Some embodiments may make it easy to rewrite the bitstream so that any picture output by the decoder is output without applying that particular output process. This may be helpful for film grain output process transcoding scenarios where, for example, a higher bitrate input bitstream is transcoded to a lower bitrate output bitstream.

[0140] FIG. 12A to FIG. 12B Transcoding with and without the output process disable flag is shown. Fig. 12A In the transcoder 1220a of the present invention, the input source bitstream 1210a is decoded by the decoder 1224a of the transcoder 1220a into one or more output pictures. These output pictures are encoded by the encoder 1226a of the transcoder into a transcoded bitstream 1230a. If the source bitstream 1210a specifies that film grains should be added to one or more pictures before the decoder outputs, the input pictures of the encoder will contain film grains, which makes the coding inefficient because film grains have the characteristics of noise. It is easier to encode a clean picture without noise than to encode the same picture with noise added. Note that the decoder 1224a of the transcoder 1220a can be implemented by a third-party decoder that applies film gain according to the source bitstream 1210a without any configuration possibility of disabling the film grain output process and outputting a clean picture. It should also be noted that it may not be easy to disable the film grain output process by modifying the source bitstream 1210a, because there may be many film grain syntax elements in the source bitstream 1210a that need to be rewritten later.

[0141] exist Fig. 12B In the transcoder 1220b implementation, the film grain output process disable flag is present in the source bitstream 1210b and can be modified in the "set value" module 1222b and changed from a value equal to V2 to a value equal to V1. This can change the source bitstream 1210b to a modified bitstream 1212b. The modified bitstream 1212b can then be decoded by the decoder 1224b, which now outputs a picture without added film grain. This may mean that encoding at the encoder 1226b in the transcoder 1220b can be done more efficiently than encoding at the encoder 1226a in the transcoder 1220a because the input picture fed to the encoder 1226b in the transcoder 1220b is clean and has no noise added.

[0142] In some embodiments, using Fig.13A model for signaling film grain syntax elements in a coded picture or coded video sequence is shown. The model may include: a film grain enable flag 1310; a film grain model syntax element 1320; one or more seed syntax elements 1330; and a film grain output process 1340.

[0143] The film grain enable flag 1310 may be signaled in a coded picture or video data representation such as a bitstream 1350. One value of the flag 1310 may specify that film grain generation is enabled and that film grain output process syntax elements are present in the bitstream 1350. Another value of the flag 1310 may specify that film grain generation is disabled and that film grain output process syntax elements are not present in the bitstream 1350. The film grain enable flag 1310 may be signaled in a coded picture or video data representation such as a bitstream 1350. Fig.11 The film grain enable flag 1310 may be a 1-bit flag in the bitstream 1350 .

[0144] One or more seed syntax elements 1330 may be signaled in the bitstream 1350. The seed syntax elements 1330 may be decoded into one or more decoded seed values ​​1372 in a decoding process 1370. In the bitstream 1350, there is also a film grain model syntax element 1320, which is decoded into a decoded film grain model value 1362 in a decoding process 1360. A film grain output process 1340 uses the decoded seed value 1372 and the decoded film grain model value 1362 as input to generate generated film grain 1380. The generated film grain 1380 is applied to a picture decoded from the bitstream 1350. The generated film grain 1380 may be applied such that one version of the decoded picture with film grain is output by the decoder, while another version of the decoded picture without film grain is stored by the decoder for inter prediction of future pictures.

[0145] The film grain output process 1340 may include a pseudo-random number generator 1342 that uses a decoded seed value as input. The pseudo-random number generator 1342 may be initialized by the decoded seed value 1372 and operates in such a manner that if the seed value used for initialization is the same, the sequence of generated values ​​from the pseudo-random number generator 1342 is the same. This may mean that the generated film grain 1380 is completely controlled by the syntax elements in the bitstream 1350. In additional or alternative embodiments, the seed syntax element 1330 may not be present in the bitstream 1350. The film grain syntax elements then include only the film grain model syntax element 1320.

[0146] If the film grain enable flag 1310 specifies that film grain generation is disabled, then the generated film grain 1380 is not applied to any pictures and the film grain output process 1340 is not performed. Furthermore, the presence of all other film grain syntax elements, such as the film grain model syntax element 1320 and the seed syntax element 1330, may be conditioned on the film grain enable flag 1310, such that these film grain syntax elements are not present in the bitstream 1350 if the flag 1310 specifies that film grain generation is disabled.

[0147] Fig.14 An example of the syntax and semantics of the film grain output process disable flag on the model is shown. parameter_set_film_grain_process_disable_flag equal to 1 may specify that the generated film grain is not applied to any output pictures using this parameter set.

[0148] In some embodiments, the decoder may perform Fig.15 The decoder may decode a film grain output process disable value, wherein the film grain output process disable value specifies that a film grain output process is disabled. In block 1520, the decoder may decode a film grain enable value in addition to the film grain output process disable value, wherein the film grain enable value specifies that a film grain syntax element is present in the bitstream. In block 1530, the decoder may parse a film grain model syntax element, wherein the film grain model syntax element may be present in a parameter set in the bitstream. In block 1540, the decoder may parse one or more seed syntax elements from a picture header of a current picture or from a slice header of a current picture. In block 1550, the decoder may decode the current picture from the bitstream. In block 1560, the decoder may check whether the film grain output process disable value is enabled or disabled. If disabled, then in block 1570, in response to the film grain output process disable value specifying that the film grain output process is disabled, the decoder may not apply any film grain generated from any film grain generating process to the decoded current picture, and the decoder may output the current picture without any applied film grain. If enabled, then in block 1580, the decoder may output the current picture with film grain added.

[0149] In some embodiments, the value of the output process disabling indicator is not signaled by any dedicated syntax element or multiple dedicated syntax elements. Instead, the value of the output process disabling indicator can be inferred by the presence of a parameter set containing the output process syntax element.

[0150] Adaptive parameter sets can be used to carry output process syntax elements. Use APS to control the output process in Figure 16 to Figure 17 Reference Figure 5 , a specific APS type may be used to convey an output process syntax element for a specific output process. As an example, an APS type value equal to 3 is used for an exemplary output process. In a picture header and / or slice header, there may be an output_process_aps_id syntax element that specifies which APS is used for the current picture or slice. As previously described, the output_process_aps_id syntax element may be gated by an output process enable flag.

[0151] In this APS example, modifying the source bitstream of the transcoder so as to suppress the output process may include setting the output process enable flag equal to 0, which is not complicated. However, the output_process_aps_id syntax element in each picture header and / or each slice header in the source bitstream also needs to be removed from the source bitstream, which is a complicated operation because the bits after the output_process_aps_id need to be aligned accordingly.

[0152] Some embodiments may allow for the absence of an APS output_process_aps_id value, where the value of adaptation_parameter_set_id is equal to the output_process_aps_id before the picture header or slice header in decoding order in the bitstream. It may be noted that the current VVC draft specification does not allow this, as the draft contains the following text: "Each APS RBSP shall be available to the decoding process before it is referenced".

[0153] In some embodiments, if the output process APS is not available to the decoding process before it is referenced, then the output process disable indicator is inferred to be equal to "disabled", which is the same as Fig.11 This means that the output process can be suppressed by removing all APSs from the source bitstream and keeping all picture headers and slice headers as is, which is much simpler than modifying the picture headers and / or slice headers.

[0154] In some embodiments, the decoder may perform all or a subset of the following operations for decoding and outputting a picture from a bitstream. First, decode a first output_process_aps_id value from a slice header or from a picture header. Second, decode the current picture. Third, if there is a stored APS with an ID value that matches the first value, derive an output picture by performing an output process with the current picture and at least one value decoded from the stored APS as input, and output the output picture. Otherwise (there is no stored APS with an ID value that matches the first value), do not perform the output process on the current picture and output the current picture.

[0155] In some embodiments, no syntax elements in, for example, a picture header or a slice header may depend on any syntax element value in the output process APS.

[0156] In some embodiments, the value of the output process disable indicator is not signaled by any dedicated syntax element or multiple dedicated syntax elements. Instead, the value of the output process disable indicator is provided by an external device.

[0157] The external device here may mean that the video coding specification does not include any device for transmitting the indicator value in the bitstream. The external device mechanism is used in the video coding specification in a way that specifies that the value of a particular variable is set by an external device. Then there are one or more video decoding processes that depend on the variable value, so that the output of the video decoder for a given bitstream is not necessarily the same for different variable values. The video decoder can comply with all possible variable values, which may mean that the options provided by the variables set by the external device are recognized. Without this recognition, a video encoder that modifies or omits some processes specified in the video coding specification may be considered non-compliant with the specification.

[0158] In some embodiments, the decoder may perform all or a subset of the following operations for decoding and outputting a picture from a bitstream. First, an output process disable indicator value may be provided to the decoder, wherein the output process disable indicator value specifies that the output process is disabled. Second, the decoder may decode an output process enable value from the bitstream, wherein the output process enable value specifies that an output process syntax element is present in the bitstream, and wherein the output process enable value may be decoded from a flag in the bitstream. Third, the decoder may parse the output process syntax element from the bitstream, wherein the output process syntax element may be present in a parameter set in the bitstream. Fourth, the decoder may decode the current picture from the bitstream. Fifth, the decoder may output the current picture as an output picture, wherein, in response to the output process disable indicator value specifying that the output process is disabled, the output picture is the same as the decoded picture.

[0159] In additional or alternative embodiments, for a film grain output process, a decoder may perform all or a subset of the following operations for decoding and outputting a picture from a bitstream. First, an output process disable indication value may be provided to the decoder, wherein the film grain output process disable value specifies that the film grain output process is disabled. Second, the decoder may decode a film grain enable value, which specifies that a film grain syntax element is present in the bitstream. Third, the decoder may parse a film grain model syntax element, wherein the film grain model syntax element may be present in a parameter set in the bitstream. Fourth, the decoder may parse one or more seed syntax elements from a picture header of the current picture or from a slice header of the current picture. Fifth, the decoder may decode the current picture from the bitstream. Sixth, in response to the film grain output process disable value specifying that the film grain output process is disabled, the decoder may not apply any film grain generated from any film grain generation process to the decoded current picture. Seventh, the decoder may output the current picture without any applied film grain.

[0160] In some embodiments, the output process disable indicator value can be provided to the decoder in one of the following ways: externally as a parameter value in the decoder API; by reading a hard-coded value stored in a memory or reading a hard-coded value from a storage medium; by reading decoder configuration data; or from a container carrying the encoded bitstream (e.g., a container based on the ISO base media file format), or provided in control signaling (e.g., in a Dynamic Adaptive Streaming over HTTP (DASH) manifest).

[0161] like Figure 8 As shown, the output process output is consistent with DPB ( Figure 8 The output process may be used to store sample values ​​different from sample values ​​stored in a buffer in the DPB. If the output process is disabled, the decoder can output the decoded picture as is. However, if the output process is enabled, the decoder needs to store output pictures outside of the DPB pictures. This increased storage may be a cost for the decoder. In some embodiments, the DPB size required for a given level and a given picture size depends on whether the output process is enabled.

[0162] The maximum number of picture storage buffers or the number of picture storage buffers required to decode the bitstream can be calculated based on: the level indication value of the bitstream; the picture size or the maximum picture size of the bitstream; and the indication value IND indicating whether the bitstream enables the output process. The calculation can be based on the value IND, so that when IND indicates that the output process is enabled, the maximum number of picture storage buffers or the number of picture storage buffers is reduced by 1 compared to the case where the value IND indicates that the output process is disabled.

[0163] In some embodiments, additional modifications to the DPB allocation may be implemented on top of the calculation of the DPB size in HEVC described above:

[0164]

[0165] where MaxLumaPs is specified in Table A.6 and maxDpbPicBuf is equal to 6.

[0166] In some embodiments, an entity may perform all or a subset of the following operations to determine the number of picture storage buffers or the number of decoded picture buffers for a current bitstream. First, an entity (e.g., a decoder, an encoder, a transcoder, a computer program, or a device) may obtain a level indicator value A for the current bitstream, wherein the level indicator value A indicates a set of restrictions imposed on the current bitstream that the current bitstream does not violate. Second, the entity may obtain a value B, which indicates a picture size or a maximum picture size of a picture in the current bitstream. Third, the entity may obtain an indicator value C, which indicates whether the bitstream enables an output process. One indicator value may specify that the bitstream does not enable an output process for any picture in the bitstream, and another indicator value may specify that the bitstream may enable or not enable an output process for a picture in the bitstream. Fourth, the entity may derive the maximum number of picture storage buffers required to decode the bitstream based on the values ​​A, B, and C. Fifth, the entity may derive the maximum number of picture storage buffers required to decode the bitstream based on the indicator value C, such that if the indicator value specifies that the bitstream does not enable an output process for any picture in the bitstream, a value of 1 is subtracted from the maximum number of picture storage buffers.

[0167] The number of picture storage buffers may be the maximum number of picture storage buffers required to decode the current bitstream. Similarly, the number of decoded picture buffers may be the maximum number of decoded picture buffers required to decode the current bitstream.

[0168] In some embodiments, the output process may be considered to use a picture storage buffer. This means that the number of picture storage buffers used by the decoder at any point in time is equal to the sum of the number of pictures stored in the DPB and the number of picture storage buffers used for the output process. The pictures stored in the DPB may be specified by syntax elements in the bitstream, such as reference picture sets (RPS) or syntax elements associated with reference picture lists (RPLs). Pictures stored in the DPB may be stored for reference or stored for waiting output. If the output process is enabled for the bitstream or the current picture, the number of picture storage buffers used for the output process may be set to 1, and if the output process is disabled for the bitstream or the current picture, the number of picture storage buffers used for the output process is set to 0.

[0169] In additional or alternative embodiments, the following italicized text may be added to HEVC.

[0170] HRD operates as follows:

[0171] – HRD is initialized at decoding unit 0, where both CPB and DPB are set to empty (DPB fullness is set equal to 0). If output_process_enable_flag is equal to 1, DPB fullness is set equal to 1. ...

[0172] 2. The value of NoOutputOfPriorPicsFlag derived for the decoder under test is applied to the HRD so that when the value of NoOutputOfPriorPicsFlag is equal to 1, all picture storage buffers in the DPB are flushed without outputting the pictures they contain, and the DPB fullness is set equal to 0. If output_process_enable_flag is equal to 1, the DPB fullness is set equal to 1.

[0173] In some embodiments, the decoder may perform all or a subset of the following operations to initialize a picture storage buffer count or a decoded picture buffer fullness when decoding a current bitstream. First, the decoder may obtain an indicator value C that indicates whether the bitstream enables an output process. One indicator value may specify that the bitstream does not enable an output process for any picture in the bitstream, and another indicator value may specify that the bitstream may enable or not enable an output process for a picture in the bitstream. Second, if the indicator value C specifies that the bitstream does not enable an output process for any picture in the bitstream, the picture storage buffer count or the decoded picture buffer fullness may be initialized to a value equal to 1. Otherwise, the picture storage buffer count or the decoded picture buffer fullness may be initialized to a value equal to 0. Third, the decoder may use the picture storage buffer count or the decoded picture buffer fullness to decode the bitstream, wherein the value of the picture storage buffer count or the decoded picture buffer fullness does not exceed a maximum value during decoding.

[0174] The decoder can obtain the indicator value C from the syntax elements in the current bitstream.

[0175] In an additional or alternative embodiment, the DPB fullness can be dynamically updated during decoding, such that the DPB fullness increases by 1 when the output process begins and decreases by 1 when the output process is completed. In this case, the output process can be considered to be instantaneous, such that the DPB fullness increases by 1 when the output occurs and then decreases by 1 immediately.

[0176] In additional or alternative embodiments, the DPB fullness may be checked against a maximum fullness value minus 1 if the output process is considered to use the picture storage buffer, and may be checked against a maximum fullness value if the output process does not use the picture storage buffer.

[0177] If the output process is of a specific type, the process may be considered to use a picture storage buffer. Alternatively, if any sample value of the output picture is different from the corresponding sample value in the decoded picture, the process may be considered to use a picture storage buffer.

[0178] In some embodiments, the decoder may perform all or a subset of the following operations for decoding the current bitstream. First, the decoder may obtain an indicator value C, which indicates whether the bitstream enables the output process. One indicator value may specify that the bitstream does not enable the output process for any picture in the bitstream, while another indicator value may specify that the bitstream may enable or not enable the output process for the picture in the bitstream. Secondly, the decoder may determine the value N from the syntax element in the header of the current picture and decrement the DPB fullness by the value N. Third, the decoder may decode the current picture and increment the DPB fullness by 1. Fourth, the decoder may determine to output the picture P stored in the DPB. Fifth, if the indicator value C specifies that the bitstream does not enable the output process for any picture in the bitstream, the picture P may be output. Otherwise, the DPB fullness may be increased by 1, checked against the maximum fullness value, and then reduced by 1. In addition, the output process is performed and the resulting output picture is output.

[0179] In some embodiments, there are multiple output processes, which have a type indicating that the process uses a picture storage buffer. In this case, the value of output_process_enable_flag and the indicator value C in the previous embodiment do not represent an output process, but if all of the multiple output processes are disabled, both are set to 0. Otherwise, they are both set to 1.

[0180] In the case of dynamically updating the DPB fullness, the DPB fullness may be increased and decreased by 1 for each of the multiple output processes, or increased and decreased by 1 once for all the multiple output processes (which has the same effect).

[0181] In some embodiments, a method for decoding and outputting a picture from a bitstream comprises: decoding an output process disable indicator value from the bitstream, wherein the output process disable indicator value specifies that an output process is disabled; obtaining and parsing an output process syntax element from the bitstream; decoding a current picture from the bitstream; and outputting the current picture as an output picture, wherein, in response to the output process disable indicator value specifying that the output process is disabled, the output picture is the same as the decoded picture.

[0182] In an additional or alternative embodiment, an output process enable value separate from the output process disable indicator value is decoded from the bitstream, wherein the output process enable value specifies that an output process syntax element is present in the bitstream.

[0183] In additional or alternative embodiments, the output process disable indicator value is decoded from a flag in a parameter set in the bitstream.

[0184] In additional or alternative embodiments, the output process enable value is decoded from a flag in a parameter set in the bitstream other than a syntax element carrying the output process disable indicator value.

[0185] In additional or alternative embodiments, the output process enable value and the output process disable indicator value are decoded from a single syntax element in a parameter set in the bitstream.

[0186] In additional or alternative embodiments, the parameter set is any one of DPS, VPS, SPS, PPS or APS.

[0187] In additional or alternative embodiments, the output process is a film grain output process; the output process disable indication value is a film grain output process disable value; the output process syntax element is a film grain syntax element; and the output process enable value is a film grain enable value.

[0188] According to some embodiments of the present invention, reference will now be made to Fig.21 Flowchart discussion (using Fig.19 The operation of the decoder 1900 is implemented by the structure of Fig.19 The modules are stored in the memory 1905, and these modules can provide instructions so that when the instructions of the modules are executed by the corresponding decoder processing circuit 1903, the processing circuit 1903 performs the corresponding operations of the flowchart.

[0189] At block 2110, the processing circuit 1903 receives a bitstream via the network interface 1907. In some embodiments, the bitstream may include at least one output process syntax element for configuring an output process. In additional or alternative embodiments, the bitstream includes an output process disabling indicator.

[0190] At block 2120, the processing circuit 1903 determines that the output process is disabled. In some embodiments, determining that the output process is disabled includes determining an output process disable indicator value associated with the output process disable indicator, the output process disable indicator value indicating whether the output process is disabled.

[0191] At block 2130 , the processing circuit 1903 determines an allocated size of the decoded picture buffer based on whether the output process is disabled.

[0192] At block 2140, the processing circuit 1903 determines an output process enable value. In some embodiments, the output process enable value may be separate from the output process disable indicator value and may be determined from the bitstream. The output process enable value may specify whether at least one output process syntax element is present in the bitstream. At least one output process syntax element may include instructions for configuring an output process.

[0193] At block 2150, the processing circuit 1903 decodes the current picture from the bitstream. In some embodiments, decoding the current picture from the bitstream includes parsing at least one output process syntax element.

[0194] At block 2160 , the processing circuit 1903 outputs the current picture as an output picture via the network interface 1907 in response to determining that the output process is disabled.

[0195] Regarding some embodiments of decoders and related methods, from Fig.19 Various operations of the flowchart may be optional. For example, with respect to the method of Example Embodiment 1 (described below), Fig.21 The operations of blocks 2130 and 2140 may be optional.

[0196] Reference will now be made to some embodiments according to the present inventive concept. Fig. 22 The flowchart of the bitstream modification entity (e.g., decoder 1900, encoder 2000 or the like) is discussed in detail. Fig. 12B For example, the module can be stored in Fig.19 The modules are stored in the memory 1905, and these modules can provide instructions so that when the instructions of the modules are executed by the corresponding decoder processing circuit 1903, the processing circuit 1903 performs the corresponding operations of the flowchart.

[0197] At block 2210, the processing circuit 1903 receives an input bitstream via the network interface 1907. In some embodiments, the input bitstream may include an output process disable indicator.

[0198] At block 2220, processing circuit 1903 generates an output bitstream from the input bitstream. In some embodiments, generating the output bitstream from the input bitstream includes: copying or forwarding all coded data in the input bitstream except for coded data indicating the output process disable indicator.

[0199] At block 2230 , the processing circuit 1903 sets an output process disable indicator value in the output bitstream.

[0200] At block 2240 , the processing circuit 1903 determines an output process disable indicator value from the output bitstream.

[0201] At block 2250 , the processing circuit 1903 determines an allocated size of the decoded picture buffer based on whether the output process is disabled.

[0202] At block 2270 , the processing circuit 1903 decodes the current picture from the bitstream.

[0203] At block 2280 , the processing circuit 1903 outputs the current picture as the output picture in response to determining that the output process is disabled.

[0204] At block 2290 , the processing circuit 1903 outputs the transcoded bitstream via the network interface 1907 .

[0205] Regarding some embodiments of bitstream modification entities and related methods, from Fig. 22 Various operations of the flowchart may be optional. For example, with respect to the method of example embodiment 15 (described below), Fig. 22 The operations of boxes 2230, 2240, 2250, 2270, 2280 and 2290 may be optional.

[0206] Reference will now be made to some embodiments according to the present invention. Fig.23 Flowchart to discuss (using Fig.19 The operation of the decoder 1900 is implemented by the structure of Fig.19 The modules are stored in the memory 1905, and these modules can provide instructions so that when the instructions of the modules are executed by the corresponding decoder processing circuit 1903, the processing circuit 1903 performs the corresponding operations of the flowchart.

[0207] At block 2310 , the processing circuit 1903 receives an input bitstream via the network interface 1907 .

[0208] At block 2320 , the processing circuit 1903 determines whether the output process is disabled.

[0209] At block 2340 , the processing circuit 1903 determines an allocated size of the decoded picture buffer based on whether the output process is disabled.

[0210] Regarding some embodiments of bitstream modification entities and related methods, from Fig.23 Various operations of the flowcharts may be optional.

[0211] Reference will now be made to some embodiments according to the present invention. Fig.24 Flowchart to discuss (using Fig. 20 The operation of the encoder 2000 is implemented by the structure of Fig. 20The modules are stored in the memory 2005, and these modules can provide instructions so that when the instructions of the modules are executed by the corresponding encoder processing circuit 2003, the processing circuit 2003 performs the corresponding operations of the flowchart.

[0212] At block 2410 , the processing circuit 2003 determines an output process disable indicator value.

[0213] At block 2420 , the processing circuit 2003 determines an output process enable indicator value.

[0214] At block 2430 , the processing circuit 2003 encodes the output process disable indicator value into the bitstream.

[0215] At block 2440 , the processing circuit 2003 encodes the output process enable indicator value into the bitstream.

[0216] At block 2450 , the processing circuit 2003 encodes the current picture into a bitstream.

[0217] Regarding some embodiments of bitstream modification entities and related methods, from Fig.24 Various operations of the flowcharts may be optional.

[0218] Example embodiments are discussed below.

[0219] Embodiment 1: A method performed by a decoder, the method comprising:

[0220] receiving (2110) a bitstream, the bitstream comprising at least one output process syntax element for configuring an output process;

[0221] OK (2120) The output process is disabled;

[0222] decoding (2150) the current picture from the bitstream; and

[0223] In response to determining that the output process is disabled, outputting (2160) the current picture as an output picture.

[0224] Embodiment 2: A method according to embodiment 1, wherein decoding the current picture from the bitstream includes parsing at least one output process syntax element.

[0225] Embodiment 3: The method according to any one of embodiments 1 to 2, wherein receiving a bit stream further comprises receiving a bit stream including an output process disable indicator,

[0226] Wherein, determining that the output process is disabled includes determining an output process disable indicator value associated with the output process disable indicator, the output process disable indicator value indicating whether the output process is disabled.

[0227] Embodiment 4: The method according to any one of embodiments 1 to 3 further includes: determining (2140) an output process enable value separated from an output process disable indicator value from a bitstream, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, and at least one output process syntax element includes instructions for configuring an output process.

[0228] Embodiment 5: A method according to any one of embodiments 3 to 4, wherein determining the output process disable indicator value comprises decoding the output process disable indicator value from a flag in a parameter set in a bitstream.

[0229] Embodiment 6: A method according to any one of embodiments 3 to 5, wherein determining the output process enable value comprises decoding the output process enable value from a flag in a parameter set in a bitstream.

[0230] Embodiment 7: A method according to any one of embodiments 3 to 6, wherein the output process enable value and the output process disable indicator value are decoded from a single syntax element in a parameter set in a bitstream.

[0231] Embodiment 8: The method according to any one of embodiments 5 to 7, wherein the parameter set includes at least one of the following:

[0232] Decoding parameter set DPS;

[0233] Video parameter set VPS;

[0234] Sequence parameter set SPS;

[0235] Picture parameter set PPS; and

[0236] Adaptive parameter set APS.

[0237] Embodiment 9: A method according to any one of embodiments 1 to 8, wherein determining that the output process is disabled comprises determining whether an adaptation parameter set including at least one output process syntax element is present in an input bitstream.

[0238] Embodiment 10: The method according to embodiment 9, wherein determining that the output process is disabled comprises:

[0239] Deriving the aps_id value from the aps_id syntax element in the slice header or picture header of the current picture; and

[0240] It is determined that a previously received adaptation parameter set of the following type does not have an adaptation parameter set ID value equal to the aps_id value: the type indicating that the adaptation parameter set includes at least one output process syntax element.

[0241] Embodiment 11. The method according to any one of embodiments 1 to 10, wherein determining that the output process is disabled comprises receiving an output process disable indicator value through an external device.

[0242] Embodiment 12: The method according to any one of embodiments 1 to 11, wherein the output process comprises at least one of the following:

[0243] Apply film grain to the current picture;

[0244] Apply color transformation and / or color component value scaling to the current image;

[0245] Apply projection mapping or inverse projection mapping to the current image;

[0246] Perform region-level packing or region-level unpacking on the current image through a region-level operation set;

[0247] Crop the current image;

[0248] Convert the current image to a different color format;

[0249] Convert the current image to a different colorimetric format;

[0250] Scale or resample the current image;

[0251] Convert the current image to a different sample aspect ratio;

[0252] Converting two decoded fields of the current picture into an interlaced picture;

[0253] Apply frame packing to the current picture or remove frame packing from the current picture;

[0254] Extract one or more sub-images from the current image;

[0255] applying post filtering; and

[0256] Apply overlays.

[0257] Embodiment 13, according to any one of embodiments 1 to 11, wherein the output process includes a film grain output process,

[0258] Wherein, the value of the output process disable indicator is the film grain output process disable value,

[0259] wherein at least one output process syntax element is a film grain syntax element, and

[0260] Among them, the output process enable value is the film grain enable value.

[0261] Embodiment 14: The method according to any one of embodiments 1 to 13 further includes: in response to determining that the output process is disabled, determining (2130) an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0262] Embodiment 15, a method performed by a bitstream modification entity, the method comprising:

[0263] receiving (2210) an input bit stream including an output process disable indicator;

[0264] generating (2220) an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for coded data indicating an output process disable indicator; and

[0265] setting (2230) an output process disable indicator in the output bitstream to a value indicating that the output process is disabled,

[0266] Therein, at least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0267] Embodiment 16: The method according to embodiment 15, further comprising:

[0268] Decoding (2270) the current picture from the output bitstream;

[0269] encoding (2280) the current picture into a transcoded bitstream; and

[0270] Output (2290) the transcoded bitstream.

[0271] Embodiment 17. The method of any one of embodiments 15 to 16, wherein generating the output bitstream from the input bitstream further comprises copying or forwarding the output process enable value separate from the output process disable indicator value from the input bitstream to the output bitstream,

[0272] The output process enable value specifies that at least one output process syntax element is present in the modified bitstream.

[0273] Embodiment 18. A method according to embodiment 17, wherein copying or forwarding the output process enable value comprises copying or forwarding a flag in a parameter set in an input bitstream.

[0274] Embodiment 19: A method according to any one of embodiments 15 to 18, wherein copying or forwarding at least one output process syntax element comprises copying or forwarding at least one output process syntax element from a parameter set in an input bitstream.

[0275] Embodiment 20: A method according to any one of embodiments 15 to 19, further comprising determining an output process disable indicator value by decoding a flag in a parameter set in an output bitstream or an input bitstream.

[0276] Embodiment 21. A method according to any one of embodiments 18 to 20, wherein the output process enable value and the output process disable indicator value are decoded from a single syntax element in a parameter set in an output bitstream or an input bitstream.

[0277] Embodiment 22: The method according to any one of embodiments 18 to 21, wherein the parameter set includes at least one of the following:

[0278] Decoding parameter set DPS;

[0279] Video parameter set VPS;

[0280] Sequence parameter set SPS;

[0281] Picture parameter set PPS; and

[0282] Adaptive parameter set APS.

[0283] Embodiment 23. The method according to any one of embodiments 15 to 22, wherein the input bitstream includes an APS, the APS includes at least one output process syntax element,

[0284] Wherein, setting the output process disable indicator in the output bitstream includes removing the APS,

[0285] The method also includes determining (2240) an output process disable indicator value from the output bitstream by determining that the APS is not present in the modified bitstream.

[0286] Embodiment 24: According to the method of embodiment 23, determining the output process disabling indication value further comprises:

[0287] Deriving the aps_id value from the aps_id syntax element in the slice header or picture header of the current picture; and

[0288] It is determined that a previously received adaptation parameter set of a type indicating that the adaptation parameter set includes at least one output process syntax element does not have an adaptation parameter set ID value equal to the aps_id value.

[0289] Embodiment 25, a method according to any one of embodiments 23 to 24, wherein setting the output process disable indicator in the output bit stream includes removing the APS in response to receiving an instruction to disable the output process from the input bit stream or receiving an instruction to disable the output process through an external device.

[0290] Embodiment 26: The method according to any one of embodiments 15 to 25, wherein the output process comprises at least one of the following:

[0291] Apply film grain to the current picture;

[0292] Apply color transformation and / or color component value scaling to the current image;

[0293] Apply projection mapping or inverse projection mapping to the current image;

[0294] Perform region-level packing or region-level unpacking on the current image through a region-level operation set;

[0295] Crop the current image;

[0296] Convert the current image to a different color format;

[0297] Convert the current image to a different colorimetric format;

[0298] Scale or resample the current image;

[0299] Convert the current image to a different sample aspect ratio;

[0300] Converting two decoded fields of the current picture into an interlaced picture;

[0301] Apply frame packing to the current picture or remove frame packing from the current picture;

[0302] Extract one or more sub-images from the current image;

[0303] applying post filtering; and

[0304] Apply overlays.

[0305] Embodiment 27: The method according to any one of embodiments 15 to 26, wherein the output process includes a film grain output process,

[0306] Wherein, the value of the output process disable indicator is the film grain output process disable value,

[0307] wherein at least one output process syntax element is a film grain syntax element, and

[0308] Among them, the output process enable value is the film grain enable value.

[0309] Embodiment 28: The method according to any one of embodiments 15 to 27 further includes: in response to determining that the output process is disabled, determining (2250) an allocation size of a decoded picture buffer DPB based on whether the output process is disabled.

[0310] Embodiment 29: A method according to any one of embodiments 15 to 28, wherein the bitstream modification entity is a transcoder.

[0311] Embodiment 30, a method performed by a decoder, the method comprising:

[0312] Receive (2310) an input bit stream;

[0313] Determining (2320) whether the output process is disabled;

[0314] An allocation size of a decoded picture buffer DPB is determined (2320) based on whether the output process is disabled.

[0315] Embodiment 31. A method according to embodiment 30, wherein determining whether the output process is disabled comprises determining an output process enable value from an input bit stream.

[0316] Embodiment 32. A method according to any one of embodiments 30 to 31, wherein determining whether the output process is disabled comprises determining an output process disable indicator value.

[0317] Embodiment 33. A method according to embodiment 32, wherein determining the output process disable indicator value comprises determining the output process disable indicator value from an input bit stream.

[0318] Embodiment 34: The method according to embodiment 32, wherein determining the output process disable indicator value includes determining the output process disable indicator value through an external device.

[0319] Embodiment 35: A method according to any one of embodiments 30 to 34, wherein determining the allocation size of the DPB based on whether the output process is disabled comprises: in response to determining that the output process is disabled, reducing the allocation size of the DPB by 1.

[0320] Embodiment 36: A method according to any one of embodiments 30 to 34, wherein determining the allocation size of the DPB based on whether the output process is disabled includes: in response to determining that the output process is enabled, increasing the allocation size of the DPB by 1.

[0321] Embodiment 37: The method according to any one of embodiments 30 to 36, wherein the output process comprises at least one of the following:

[0322] Apply film grain to the current picture;

[0323] Apply color transformation and / or color component value scaling to the current image;

[0324] Apply projection mapping or inverse projection mapping to the current image;

[0325] Perform region-level packing or region-level unpacking on the current image through a region-level operation set;

[0326] Crop the current image;

[0327] Convert the current image to a different color format;

[0328] Convert the current image to a different colorimetric format;

[0329] Scale or resample the current image;

[0330] Convert the current image to a different sample aspect ratio;

[0331] Converting two decoded fields of the current picture into an interlaced picture;

[0332] Apply frame packing to the current picture or remove frame packing from the current picture;

[0333] Extract one or more sub-images from the current image;

[0334] applying post filtering; and

[0335] Apply overlays.

[0336] Embodiment 38, a method performed by an encoder for encoding a current picture into a bitstream, the method comprising:

[0337] determining (2410) an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled;

[0338] determining (2420) an output process enable indicator value separate from an output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element comprises instructions for configuring an output process;

[0339] encoding (2430) an output process disable indicator value into the bitstream;

[0340] encoding (2440) an output process enable indicator value into the bitstream; and

[0341] The current picture is encoded (2450) into a bitstream.

[0342] Embodiment 39. A method according to embodiment 38, wherein encoding the output process disable indicator value into the bitstream comprises encoding the output process disable indicator value as a flag in a parameter set in the bitstream.

[0343] Embodiment 40: A method according to any one of embodiments 38 to 39, wherein encoding the output process enable indicator value into the bitstream comprises encoding the output process enable indicator value as a flag in a parameter set in the bitstream.

[0344] Embodiment 41. The method according to any one of embodiments 39 to 40, wherein the parameter set includes at least one of the following:

[0345] Decoding parameter set DPS;

[0346] Video parameter set VPS;

[0347] Sequence parameter set SPS;

[0348] Picture parameter set PPS; and

[0349] Adaptive parameter set APS.

[0350] Embodiment 42: The method according to any one of embodiments 38 to 41, wherein the output process comprises at least one of the following:

[0351] Apply film grain to the current picture;

[0352] Apply color transformation and / or color component value scaling to the current image;

[0353] Apply projection mapping or inverse projection mapping to the current image;

[0354] Perform region-level packing or region-level unpacking on the current image through a region-level operation set;

[0355] Crop the current image;

[0356] Convert the current image to a different color format;

[0357] Convert the current image to a different colorimetric format;

[0358] Scale or resample the current image;

[0359] Convert the current image to a different sample aspect ratio;

[0360] Converting two decoded fields of the current picture into an interlaced picture;

[0361] Applying frame packing to or removing frame packing from the current picture; and

[0362] Extract one or more sub-images from the current image;

[0363] applying post filtering; and

[0364] Apply overlays.

[0365] Embodiment 43: The method according to any one of embodiments 38 to 42 further includes: determining (2130) an allocated size of a decoding picture buffer DPB based on the determined output process disable indicator value.

[0366] Embodiment 44, a decoder (1900), comprising:

[0367] processing circuit (1903); and

[0368] A memory (1905) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the decoder to perform operations including:

[0369] Receive (2110) a bit stream, the bit stream comprising at least

[0370] an output procedure syntax element;

[0371] OK (2120) The output process is disabled;

[0372] decoding (2150) the current picture from the bitstream; and

[0373] In response to determining that the output process is disabled, outputting (2160) the current picture as an output picture.

[0374] Embodiment 45: A decoder according to embodiment 44, wherein the operation further includes any operation according to embodiments 2 to 14.

[0375] Embodiment 46: A bitstream modification entity (1900, 2000), comprising:

[0376] Processing circuit (1903, 2003); and

[0377] A memory (1905, 2005) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the bitstream modification entity to perform operations including:

[0378] receiving (2210) an input bit stream including an output process disable indicator;

[0379] generating (2220) an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for coded data indicating an output process disable indicator; and

[0380] setting (2230) an output process disable indicator in the output bitstream to a value indicating that the output process is disabled,

[0381] Therein, at least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0382] Embodiment 47: According to the bitstream modification entity of embodiment 46, the operation also includes any operation according to embodiments 16 to 29.

[0383] Embodiment 48, a decoder (1900), comprising:

[0384] processing circuit (1903); and

[0385] A memory (1905) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the decoder to perform operations including:

[0386] Receive (2310) an input bit stream;

[0387] determining (2320) whether the export process is disabled; and

[0388] An allocation size of a decoded picture buffer DPB is determined (2320) based on whether the output process is disabled.

[0389] Embodiment 49: A decoder according to embodiment 48, wherein the operation further includes any operation according to embodiments 31 to 37.

[0390] Embodiment 50: An encoder (2000), comprising:

[0391] Processing Circuit (2003); and

[0392] A memory (2005) coupled to the processing circuit, wherein the memory includes instructions that, when executed by the processing circuit, cause the encoder to perform operations including:

[0393] Determine (2410) the output process disable indicator value, the output process disable indicator

[0394] The value indicates whether the output process is disabled;

[0395] Determine (2420) an output process enable indicator value separate from an output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element includes a syntax element for configuring

[0396] Set the output process instructions;

[0397] encoding (2430) an output process disable indicator value into the bitstream;

[0398] encoding (2440) an output process enable indicator value into the bitstream; and

[0399] The current picture is encoded (2450) into a bitstream.

[0400] Embodiment 51: An encoder according to embodiment 50, wherein the operation also includes any operation according to embodiments 39 to 43.

[0401] Embodiment 52. A computer program comprising program code to be executed by a processing circuit (1903) of a decoder (1900), whereby execution of the program code causes the decoder to perform operations comprising:

[0402] receiving (2110) a bitstream, the bitstream comprising at least one output process syntax element for configuring an output process;

[0403] OK (2120) The output process is disabled;

[0404] decoding (2150) the current picture from the bitstream; and

[0405] In response to determining that the output process is disabled, outputting (2160) the current picture as an output picture.

[0406] Embodiment 53: According to the computer program of embodiment 52, the operations also include any operations according to embodiments 2 to 14.

[0407] Embodiment 54. A computer program comprising program code to be executed by a processing circuit (1903, 2003) of a bitstream modification entity (1900, 2000), whereby execution of the program code causes the bitstream modification entity to perform operations comprising:

[0408] receiving (2210) an input bit stream including an output process disable indicator;

[0409] generating (2220) an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for coded data indicating an output process disable indicator; and

[0410] setting (2230) an output process disable indicator in the output bitstream to a value indicating that the output process is disabled,

[0411] Therein, at least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0412] Embodiment 55: According to the computer program of embodiment 54, the operations also include any operations according to embodiments 16 to 29.

[0413] Embodiment 56. A computer program comprising program code to be executed by a processing circuit (1903) of a decoder (1900), whereby execution of the program code causes the decoder to perform operations comprising:

[0414] Receive (2310) an input bit stream;

[0415] determining (2320) whether the export process is disabled; and

[0416] An allocation size of a decoded picture buffer DPB is determined (2320) based on whether the output process is disabled.

[0417] Embodiment 57: According to the computer program of embodiment 56, the operations also include any operations according to embodiments 31 to 37.

[0418] Embodiment 58. A computer program comprising program code to be executed by a processing circuit (2003) of an encoder (2000), whereby execution of the program code causes the encoder to perform operations comprising:

[0419] determining (2410) an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled;

[0420] determining (2420) an output process enable indicator value separate from the output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element comprises instructions for configuring an output process;

[0421] encoding (2430) an output process disable indicator value into the bitstream;

[0422] encoding (2440) an output process enable indicator value into the bitstream; and

[0423] The current picture is encoded (2450) into a bitstream.

[0424] Embodiment 59: According to the computer program of embodiment 58, the operations also include any operations according to embodiments 39 to 43.

[0425] Embodiment 60. A computer program product, comprising a non-transitory storage medium, the non-transitory storage medium comprising program code to be executed by a processing circuit (1903) of a decoder (1900), whereby execution of the program code causes the decoder to perform operations comprising:

[0426] receiving (2110) a bitstream, the bitstream comprising at least one output process syntax element for configuring an output process;

[0427] OK (2120) The output process is disabled;

[0428] decoding (2150) the current picture from the bitstream; and

[0429] In response to determining that the output process is disabled, outputting (2160) the current picture as an output picture.

[0430] Embodiment 61: According to the computer program product of embodiment 60, the operations further include any operations according to embodiments 2 to 14.

[0431] Embodiment 62. A computer program product, comprising a non-transitory storage medium, the non-transitory storage medium comprising program code to be executed by a processing circuit (1903, 2003) of a bitstream modification entity (1900, 2000), whereby execution of the program code causes the bitstream modification entity to perform operations comprising:

[0432] receiving (2210) an input bit stream including an output process disable indicator;

[0433] generating (2220) an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for coded data indicating an output process disable indicator; and

[0434] setting (2230) an output process disable indicator in the output bitstream to a value indicating that the output process is disabled,

[0435] Therein, at least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0436] Embodiment 63: According to the computer program product of embodiment 62, the operations further include any operations according to embodiments 16 to 29.

[0437] Embodiment 64. A computer program product, comprising a non-transitory storage medium, the non-transitory storage medium comprising program code to be executed by a processing circuit (1903) of a decoder (1900), whereby execution of the program code causes the decoder to perform operations comprising:

[0438] Receive (2310) an input bit stream;

[0439] determining (2320) whether the export process is disabled; and

[0440] An allocation size of a decoded picture buffer DPB is determined (2320) based on whether the output process is disabled.

[0441] Embodiment 65: According to the computer program product of embodiment 64, the operations further include any operations according to embodiments 31 to 37.

[0442] Embodiment 66. A computer program product, comprising a non-transitory storage medium, the non-transitory storage medium comprising program code to be executed by a processing circuit (2003) of an encoder (2000), whereby execution of the program code causes the encoder to perform operations comprising:

[0443] determining (2410) an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled;

[0444] determining (2420) an output process enable indicator value separate from an output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element comprises instructions for configuring an output process;

[0445] encoding (2430) an output process disable indicator value into the bitstream;

[0446] encoding (2440) an output process enable indicator value into the bitstream; and

[0447] The current picture is encoded (2450) into a bitstream.

[0448] Embodiment 67: According to the computer program product of embodiment 66, the operations also include any operations according to embodiments 39 to 43.

[0449] Embodiment 68. A non-transitory computer-readable medium having instructions stored therein, the instructions being executable by a processing circuit (1903) to cause a decoder (1900) to perform operations comprising:

[0450] receiving (2110) a bitstream, the bitstream comprising at least one output process syntax element for configuring an output process;

[0451] OK (2120) The output process is disabled;

[0452] decoding (2150) the current picture from the bitstream; and

[0453] In response to determining that the output process is disabled, outputting (2160) the current picture as an output picture.

[0454] Embodiment 69: According to the non-transitory computer-readable medium of embodiment 68, the operation also includes any operation according to embodiments 2 to 14.

[0455] Embodiment 70. A non-transitory computer-readable medium having instructions stored therein, the instructions being executable by a processing circuit (1903, 2003) to cause a bitstream modification entity (1900, 2000) to perform operations including:

[0456] receiving (2210) an input bit stream including an output process disable indicator;

[0457] generating (2220) an output bitstream from the input bitstream by copying or forwarding all coded data in the input bitstream except for coded data indicating an output process disable indicator; and

[0458] setting (2230) an output process disable indicator in the output bitstream to a value indicating that the output process is disabled,

[0459] Therein, at least one output process syntax element is present in the input bitstream and is copied or forwarded to the output bitstream.

[0460] Embodiment 71: According to the non-transitory computer-readable medium of embodiment 70, the operations also include the operations according to embodiments 16 to 29 including the following items.

[0461] Embodiment 72. A non-transitory computer-readable medium having instructions stored therein, the instructions being executable by a processing circuit (1903) to cause a decoder (1900) to perform operations comprising:

[0462] Receive (2310) an input bit stream;

[0463] determining (2320) whether the export process is disabled; and

[0464] An allocation size of a decoded picture buffer DPB is determined (2320) based on whether the output process is disabled.

[0465] Embodiment 73, according to the non-transitory computer-readable medium of embodiment 72, the operation also includes any operation according to embodiments 31 to 37.

[0466] Embodiment 74. A non-transitory computer-readable medium having instructions stored therein, the instructions being executable by a processing circuit (2003) to cause an encoder (2000) to perform operations including:

[0467] determining (2410) an output process disable indicator value, the output process disable indicator value indicating whether the output process is disabled;

[0468] determining (2420) an output process enable indicator value separate from an output process disable indicator value, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element comprises instructions for configuring an output process;

[0469] encoding (2430) an output process disable indicator value into the bitstream;

[0470] encoding (2440) an output process enable indicator value into the bitstream; and

[0471] The current picture is encoded (2450) into a bitstream.

[0472] Embodiment 75: According to the non-transitory computer-readable medium of embodiment 74, the operation also includes any operation according to embodiments 39 to 43.

[0473] Further definitions and embodiments are discussed below.

[0474] In the above description of various embodiments of the inventive concept, it is to be understood that the terms used herein are only used for the purpose of describing specific embodiments and are not intended to limit the inventive concept. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meanings as commonly understood by ordinary technicians in the field to which the inventive concept belongs. It should also be understood that terms such as those defined in general dictionaries should be interpreted as having meanings consistent with their meanings in the context of this specification and the relevant technology, and not interpreted as ideal or overly superficial meanings, unless so clearly defined herein.

[0475] When an element is referred to as being "connected to", "coupled to", "responsive to" another element or a variation thereof, it may be directly connected to, coupled to or responsive to another element, or there may be an intermediate element. In contrast, when an element is referred to as being "directly connected to", "directly coupled to", "directly responsive to" another element or a variation thereof, there is no intermediate element. Throughout the text, similar reference numerals represent similar elements. In addition, "coupling", "connection", "responsiveness" or variations thereof used herein may include wireless coupling, connection or response. As used herein, the singular forms "one", "an" and "said" are intended to also include plural forms, unless the context clearly indicates otherwise. For the sake of brevity and / or clarity, well-known functions or structures may not be described in detail. The term "and / or" (abbreviated as " / ") includes any and all combinations of one or more of the associated listed items.

[0476] It will be understood that, although the terms first, second, third, etc. can be used herein to describe each element / operation, these elements / operations should not be limited by these terms. These terms are only used to distinguish one element / operation from another element / operation. Therefore, the first element / operation in some embodiments can be referred to as the second element / operation in other embodiments without departing from the teaching of the inventive concept. Throughout the specification, the same reference numerals or the same reference signs represent the same or similar elements.

[0477] As used herein, the terms "comprise, comprising, comprises, include, including, includes," "have, has, having," or variations thereof, are open ended and include one or more stated features, integers, elements, steps, components, or functions, but do not preclude the presence or addition of one or more other features, integers, elements, steps, components, functions, or combinations thereof. In addition, as used herein, the commonly used abbreviation "eg," from the Latin phrase "exempligratia," may be used to introduce or specify a general example of a previously mentioned item without being intended as a limitation of that item. The commonly used abbreviation "ie," from the Latin phrase "idest," may be used to specify a specific item of more general reference.

[0478] Example embodiments are described herein with reference to block diagrams and / or flowchart illustrations of computer-implemented methods, devices (systems and / or equipment), and / or computer program products. It should be understood that the blocks of the block diagrams and / or flowchart illustrations and the combination of blocks in the block diagrams and / or flowchart illustrations can be implemented by computer program instructions executed by one or more computer circuits. These computer program instructions can be provided to processor circuits of general-purpose computer circuits, special-purpose computer circuits, and / or other programmable data processing circuits to generate a machine so that instructions executed by processors of computers and / or other programmable data processing devices convert and control transistors, values ​​stored in memory locations, and other hardware components within such circuits to implement the functions / actions specified in the block diagrams and / or flowchart boxes, and thereby create a device (functional body) and / or structure for implementing the functions / actions specified in the block diagrams and / or flowchart boxes.

[0479] These computer program instructions may also be stored in a tangible computer-readable medium that can instruct a computer or other programmable data processing device to act in a specific manner so that the instructions stored in the computer-readable medium generate an article of manufacture, which includes instructions for implementing the functions / actions specified in the blocks of the block diagram and / or flow chart. Therefore, embodiments of the inventive concept may be implemented in hardware and / or in software (including firmware, storage software, microcode, etc.) running on a processor such as a digital signal processor, and the blow-through may be collectively referred to as a "circuit", "module" or variations thereof.

[0480] It should also be noted that in some alternative implementations, the function / action marked in the frame may not occur in the order marked in the flow chart. For example, depending on the function / action involved, the two frames shown in succession can actually be performed substantially simultaneously, or the frame can sometimes be performed in the opposite order. In addition, the function of a given frame of a flow chart and / or block diagram can be divided into multiple frames and / or the function of two or more frames of a flow chart and / or block diagram can be integrated at least in part. Finally, without departing from the scope of the inventive concept, other frames can be added / inserted between the frames shown, and / or the frame / operation can be omitted. In addition, although some frames include arrows about the communication path for indicating the main direction of communication, it should be understood that communication can occur in the direction opposite to the arrow represented.

[0481] Under the premise of not departing from the principle of the inventive concept basically, many changes and modifications can be made to the embodiment. All these changes and modifications are intended to be included in the scope of the inventive concept herein. Therefore, the above-mentioned subject matter should be understood as exemplary and not restrictive, and the examples of the embodiments are intended to cover all these modifications, improvements and other embodiments that fall within the spirit and scope of the inventive concept. Therefore, to the maximum extent permitted by law, the scope of the inventive concept should be determined by the widest permissible interpretation of the present disclosure including the examples of the embodiments and their equivalents, and should not be limited to or restricted to the previous specific embodiments.

Claims

1. A method performed by a decoder, the method comprising: Receiving (2110) a bitstream, the bitstream comprising at least one output process syntax element for configuring an output process, wherein the output process is configured to modify a decoded picture stored in a decoded picture buffer DPB to generate an output picture; Determining (2120) that the output process is disabled; decoding (2150) a current picture from the bitstream; and In response to determining that the output process is disabled, outputting (2160) the decoded current picture as an output picture and storing the decoded current picture in the decoded picture buffer DPB, Wherein, decoding the current picture from the bitstream comprises parsing the at least one output process syntax element.

2. The method according to claim 1, wherein: Receiving a bitstream further comprises: receiving a bitstream including an output process disable indicator, Wherein, determining that the output process is disabled comprises: determining an output process disable indicator value associated with the output process disable indicator, the output process disable indicator value indicating whether the output process is disabled.

3. The method according to claim 2, further comprising: An output process enable value separate from the output process disable indicator value is determined (2140) from the bitstream, the output process enable value specifying whether at least one output process syntax element is present in the bitstream, the at least one output process syntax element comprising instructions for configuring the output process.

4. The method according to claim 3, wherein: Determining an output process disable indicator value comprises: decoding the output process disable indicator value from a first flag in a parameter set in the bitstream, and Wherein, determining the output process enable value comprises: decoding the output process enable value from a second flag in a parameter set in the bitstream, wherein the second flag is different from the first flag.

5. The method according to claim 4, wherein: The parameter set includes at least one of the following: Decoding parameter set DPS; Video parameter set VPS; Sequence parameter set SPS; Picture parameter set PPS; as well as Adaptive parameter set APS.

6. The method according to claim 1, wherein: Determining that the output process is disabled includes: determining whether an adaptation parameter set including the at least one output process syntax element is present in an input bitstream; Deriving the aps_id value from the aps_id syntax element in the slice header or picture header of the current picture; and It is determined that a previously received adaptation parameter set of the following type does not have an adaptation parameter set ID value equal to the aps_id value: the type indicating that the adaptation parameter set includes the at least one output process syntax element.

7. The method according to claim 1, wherein: The output process includes at least one of the following: applying film grain to said current picture; Applying a color transform and / or color component value scaling to the current picture; Applying projection mapping or inverse projection mapping to the current picture; Performing region-level packing or region-level unpacking on the current picture through a region-level operation set; Converting the current image to a different color format; Converting the current image to a different chroma format; Scaling or resampling the current image; Converting the current image to a different sample aspect ratio; Converting two decoded fields of the current picture into an interlaced picture; Applying frame packing to the current picture or removing frame packing from the current picture; Extracting one or more sub-pictures from the current picture; Apply post-filtering; Apply overlays.

8. The method according to claim 3, wherein: The output process includes: film grain output process, wherein the value of the output process disabling indicator is a film grain output process disabling value, wherein the at least one output process syntax element is a film grain syntax element, and Wherein, the output process enabling value is a film grain enabling value.

9. The method according to claim 1, further comprising: In response to determining that the output process is disabled, determining (2130) an allocation size of the decoded picture buffer DPB based on whether the output process is disabled.

10. A method performed by an encoder for encoding a current picture into a bitstream, the method comprising: determining (2410) an output process disable indicator value, the output process disable indicator value indicating whether an output process is disabled, wherein the output process is configured to modify a decoded picture stored in a decoded picture buffer DPB to generate an output picture; determining (2420) an output process enable indicator value separate from the output process disable indicator value, the output process enable indicator value specifying whether at least one output process syntax element is present in the bitstream, wherein the at least one output process syntax element comprises instructions for configuring the output process; encoding (2430) the output process disable indicator value into the bitstream; encoding (2440) the output process enable indicator value into the bitstream; and The current picture is encoded (2450) into the bitstream.

11. The method according to claim 10, wherein: Encoding the output process disable indicator value into the bitstream includes encoding the output process disable indicator value as a first flag in a parameter set in the bitstream.

12. The method according to claim 11, wherein: Encoding the output process enable indicator value into the bitstream includes encoding the output process enable indicator value as a second flag in a parameter set in the bitstream, the second flag being different from the first flag.

13. The method according to any one of claims 11 to 12, wherein: The parameter set includes at least one of the following: Decoding parameter set DPS; Video parameter set VPS; Sequence parameter set SPS; Picture parameter set PPS; as well as Adaptive parameter set APS.

14. The method according to claim 10, wherein: The output process includes at least one of the following: applying film grain to said current picture; Applying a color transform and / or color component value scaling to the current picture; Applying projection mapping or inverse projection mapping to the current picture; Performing region-level packing or region-level unpacking on the current picture through a region-level operation set; Converting the current image to a different color format; Converting the current image to a different chroma format; Scaling or resampling the current image; Converting the current image to a different sample aspect ratio; Converting two decoded fields of the current picture into an interlaced picture; applying frame packing to the current picture or removing frame packing from the current picture; and Extracting one or more sub-pictures from the current picture; applying post filtering; and Apply overlays.

15. The method according to claim 10, further comprising: An allocation size of the decoded picture buffer DPB is determined (2130) based on the determined output process disable indicator value.

16. A decoder (1900), comprising: Processing circuit (1903); as well as A memory (1905) coupled to the processing circuit, wherein the memory comprises instructions which, when executed by the processing circuit, cause the decoder to perform any operation according to any one of claims 1 to 9.

17. An encoder (2000), comprising: Processing Circuits (2003); as well as A memory (2005) coupled to the processing circuit, wherein the memory comprises instructions which, when executed by the processing circuit, cause the encoder to perform any operation according to any one of claims 10 to 15.

18. A computer program product comprising a non-transitory storage medium comprising program code to be executed by a processing circuit (1903) of a decoder (1900), whereby execution of the program code causes the decoder to perform any of the operations of any one of claims 1 to 9.

19. A computer program product comprising a non-transitory storage medium comprising program code to be executed by a processing circuit (2003) of an encoder (2000), whereby execution of the program code causes the encoder to perform any of the operations of any one of claims 10 to 15.

Citation Information

Patent Citations

  • Signaling of deblocking filter parameters in video coding

    CN104054339A

  • Encoding / decoding digital frames by down-sampling / up-sampling with enhancement information

    CN109952577A