Picture reconstruction using image regions

By enabling coding of video samples in non-VCL units within the video coding standards, the inefficiencies and testing challenges of existing standards are addressed, resulting in reduced overhead and improved decoder testing simplicity.

WO2025101111A1PCT designated stage expired Publication Date: 2025-05-15TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 9 Cites 0 Cited by

Patent Information

Application Number
PCT/SE2024/050952
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-10
Filing Date
2024-11-07
Publication Date
2025-05-15

AI Technical Summary

Technical Problem

Existing video coding standards, such as VVC and HEVC, require all CTUs and superblocks to be coded in VCL units, leading to inefficient coding and challenges in testing decoders due to unspecified output areas.

Method used

The proposed method allows samples, such as CTUs, to be coded in non-VCL units, where necessary information for identifying and deriving sample values is located in non-VCL units like SPS, PPS, or picture headers, rather than dedicated VCL units.

Benefits of technology

This approach reduces overhead, provides video compression bit-rate savings, and simplifies decoder testing by ensuring all sample values are derived, facilitating straightforward comparisons across multiple decoders.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SE2024050952_15052025_PF_FP_ABST
    Figure SE2024050952_15052025_PF_FP_ABST
Patent Text Reader

Abstract

A method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. The method includes obtaining a bitstream. The method further includes using the bitstream to produce the reconstructed picture. The bitstream comprises a first coded picture sample unit corresponding to the first region of the picture, and the bitstream further comprises indicator information indicating that, for the second region of the picture, the bitstream does not comprise a coded picture sample unit corresponding to the second region.
Need to check novelty before this filing date? Find Prior Art

Description

PICTURE RECONSTRUCTIONTECHNICAL FIELD

[0001] Disclosed are embodiments related to video coding and decoding.BACKGROUND

[0002] Versatile Video Coding (VVC)

[0003] VVC and its predecessors Advanced Video Coding (AVC) and High EfficiencyVideo Coding (HEVC) are block-based video codecs standardized and developed jointly by ITU- T and MPEG. The codecs utilize both temporal and spatial prediction to generate predicted pixel data. VVC, HEVC and AVC are similar in many aspects. Spatial prediction is achieved using intra (I) prediction from within a current picture. Temporal prediction is achieved using unidirectional (P) or bi-directional inter (B) prediction on the block level from previously decoded reference pictures.

[0004] In the encoder, the difference between the original pixel data and the predicted pixel data, referred to as the residual, is transformed into the frequency domain, quantized and then entropy coded (e.g., coded using arithmetic coding) before transmitted together with necessary prediction parameters such as prediction mode and motion vectors, also entropy coded (e.g., also arithmetically coded). To reconstruct a picture the decoder obtains the residual for the picture (i.e., the decoder performs decoding (e.g., arithmetic decoding), inverse quantization and inverse transformation to obtain the residual) and then adds the residual for the picture to an intra or inter prediction.

[0005] Video, Picture, and Components

[0006] A video (a.k.a., video sequence) consists of a series of pictures where each picture consists of one or more components. A picture in a video sequence is sometimes denoted ‘image’ or ‘frame’. Each component in a picture can be described as a two-dimensional rectangular array of picture sample values (or “samples values” for short). It is common that a picture in a video sequence consists of three components; one luma component Y where the sample values are luma values and two chroma components Cb and Cr, where the sample values are chromavalues. Other common representations include ICtCb, IPT, constant-luminance YCbCr, YCoCg and others. It is also common that the dimensions of the chroma components are smaller than the luma components by a factor of two in each dimension. For example, the size of the luma component of an HD picture would be 1920x1080 and the chroma components would each have the dimension of 960x540. Components are sometimes referred to as ‘color components’, and other times as ‘channels’.

[0007] Coded Blocks and Coded Units

[0008] In many video coding standards, such as HEVC and VVC, each component is split into blocks and a coded video bitstream produced by the encoder consists of a series of coded blocks. A block is a two-dimensional array of sample values (or “samples” for short). It is common in video coding that the picture is split into coded units that cover a specific area of the picture. Each coded unit consists of all coded blocks from all components that make up that specific area and each coded block belongs fully to one coded unit. The macroblock in H.264 and the Coding Unit (CU) in HEVC are examples of coded units.

[0009] A block may be a “transform block” or a “prediction block.” A transform block is a block to which a transform used in coding is applied, and a “prediction block” is a block to which a single prediction mode is applied.

[0010] VVC block structure

[0011] The VVC video coding standard uses a block structure referred to as quadtree plus binary tree plus ternary tree block structure (QTBT+TT) where each picture is first partitioned into square blocks called coding tree units (CTU) (FIG. 10 illustrates a picture portioned into 20 CTUs). The sizes of all CTUs are identical and the partition is done without any syntax controlling it. Each CTU is further partitioned into CUs that can have either square or rectangular shapes. The CTU is first partitioned by a quad tree structure, then it may be further partitioned with equally sized partitions either vertically or horizontally in a binary structure to form CUs. A block could thus have either a square or rectangular shape. The depth of the quad tree and binary tree can be set by the encoder in the bitstream. The ternary tree (TT) part adds the possibility to divide a CU into three partitions instead of two equally sized partitions; this increases the possibilities to use a block structure that better fits the content structure in a picture.

[0012] NAL units

[0013] Both VVC and HEVC define a Network Abstraction Layer (NAL). All the data, i.e., both Video Coding Layer (VCL) data and non-VCL data in HEVC and VVC is encapsulated in NAL units. A VCL NAL unit contains data that represents picture sample values. A non-VCL NAL unit contains additional associated data (a.k.a., metadata) such as parameter sets and supplemental enhancement information (SEI) messages. The NAL unit in VVC and HEVC begins with a header called the NAL unit header. The syntax for the NAL unit header for HEVC starts with a forbidden zero bit that shall always be equal to 0 to prevent start code emulations. Without it, some MPEG systems might confuse the HEVC video bitstream with other data, but the 0 bit in the NAL unit header makes all possible HEVC bitstreams uniquely identifiable as HEVC bitstreams. The NAL unit header in VVC is very similar to the one in HEVC but uses 1 bit less for the nal unit type and instead reserves this bit for future use. The nal unit type, nuh layer id and nuh temporal id plus l code words specify the NAL unit type of the NAL unit that identifies what type of data is carried in the NAL unit, the scalability layer ID and the temporal layer ID for which the NAL unit belongs to. The NAL unit type indicates and specifies how the NAL unit should be parsed and decoded. The rest of the bytes of the NAL unit is payload of the type indicated by the NAL unit type. A bitstream consists of a series of concatenated NAL units (i.e., an ordered set of NAL unites).

[0014] A decoder can conclude how the NAL unit should be handled, e.g., parsed and decoded, after looking at the NAL unit header. All VVC or HEVC bitstreams consist of a series of concatenated NAL units. The decoding order is the order in which NAL units shall be decoded, which is the same as the order of the NAL units within the bitstream. The decoding order may be different from the output order, which is the order in which decoded pictures are to be output, such as for display, by the decoder.

[0015] The syntax for the NAL unit header for VVC is shown in Table 1 and the NAL unit types of VVC are shown in Table 2.Table 1 - VVC NAL unit header syntaxTable 2 - NAL unit types in VVC

[0016]

[0017] Open bitstream units (OBUs)

[0018] AVI is a video codec specified by the Alliance for open media (AOM). NAL units in AVI are called Open bitstream units (OBUs). Similar to HEVC and VVC, all AVI data is encapsulated in OBUs and an AVI bitstream consists of a series of concatenated OBUs. The OBU begins with a header called obu_header() that includes a code word, obu type, that specifies the type of the OBU. These are equivalent to the nal_unit_header() and nal unit type in VVC and HEVC. The OBU type identifies the type of data that is carried in the OBU and specifies how the OBU should be parsed and decoded. The syntax for the OBU in AVI is shown in Table 3 and Table 4, and the OBU types are specified as shown in Table 5.Table 3 - AVI general OBU syntax tableTable 4 - OBU header syntaxTable 5 - OBU types

[0019] Blocks of a largest size

[0020] As noted above, in many video coding standards, such as HEVC, VVC, and AVI, each picture is partitioned into a regular grid consisting of blocks of a largest size. In HEVC and VVC these blocks are CTUs and in AVI they are called superblocks. The CTUs and superblocks can be further partitioned into smaller blocks, each with its own prediction mechanism and transform mode.

[0021] VCL and non-VCL data

[0022] In HEVC and VVC, a NAL unit containing coded picture sample values (or “coded sample values” for short) is called a “Video Coding Layer (VCL) NAL unit” or “codedslice NAL unit”; NAL units that only contain header information or meta data are called “non- VCL NAL units.” All VCL NAL units contain one coded slice. Note that a coded slice may comprise coded picture sample values for an entire picture; hence, a slice may be a picture or a portion of a picture. Table 2 shows which VVC NAL units are VCL NAL units and which are non- VCL NAL units.

[0023] The AVI specification does not classify OBUs into VCL and non-VCL OBUs, but such a classification is easy to do. In Table 6, OBUs that contain coded sample values are classified as VCL OBUs and other OBUs are classified as non-VCL OBUs. The non-VCL OBUs contain only header information or meta data and not any coded sample values. The VCL OBUs contain coded sample values. In addition, the column “Corresponding VVC NAL unit(s)” in Table 6 indicates the closest corresponding VVC NAL unit type for each OBU type.Table 6 - OBU types and classes

[0024] In HEVC and VVC, a VCL NAL unit typically consists of a header part and a data part, where the header part precedes the data part and contains syntax elements that are fixed length coded or variable length coded (e.g., Huffman coded). This is the same for AVI VCL OBUs. The generic term “VCL unit” can be used herein to refer to a VCL NAL unit and a VCL OBU.

[0025] This means that the value of each syntax element is represented by an integer number of bits. The data part is typically encoded using arithmetic coding or similar, at least in part. Arithmetic coding is typically more efficient than fixed-length and Huffman coding, but this means that the value of each syntax element may not be represented by an integer number of bits, but rather by one or more states of the arithmetic decoding engine as well-known in the art. The decoder typically decodes the data part by a loop over the number of coded CTUs or superblocks there are in the VCL unit. For each such coded CTU or superblock the decoder decodes a bit of the data part using arithmetic decoding until all coded CTUs or superblocks in the VCL unit has been decoded. It is typical to determine both motion compensation information, such as motion vectors, and residual information, such as transform coefficients (that may all be zero), for each coded CTU or superblock by decoding the data part.

[0026] In all of HEVC, AVI, and VVC, a non-VCL unit typically consists of only a header part. Like the header part in a VCL unit, the header in a non-VCL unit contains syntax elements that are fixed length coded or Huffman coded. The information in a non-VCL unit typically applies to one or more pictures. The information in a VCL unit may apply to a full picture but only to one single picture. Alternatively, the information in a VCL unit may apply to a portion of one picture, such as one or more but not all subpictures, slices, CTUs, or tiles of a single picture.

[0027] Slices and tiles

[0028] The concept of slices in VVC and HEVC divides the picture into independently coded slices, where decoding of one coded slice in a picture is independent of other coded slices of the same picture. In VVC and HEVC, a coded slice is a set of coded CTUs. VVC and HEVC also include a tool called tiles that divides a picture into rectangular spatially independent regions. Using tiles, a picture in VVC or HEVC can be partitioned into rows and columns of CTUs where a tile is an intersection of a row and a column.

[0029] In VVC, a coded slice is defined as an integer number of complete tiles or an integer number of consecutive complete coded CTU rows within a tile of a picture that are exclusively contained in a single NAL unit. In WC, a picture may be partitioned into either raster scan slices or rectangular slices. A raster scan slice consists of a number of complete tiles in raster scan order. A rectangular slice consists of a group of tiles that together occupy arectangular region in the picture or a consecutive number of CTU rows inside one tile. For each coded slice there is a corresponding slice header comprising syntax elements. Decoded slice header values from these syntax elements are used when decoding the coded slice. Each coded slice is carried in one VCL NAL unit. In an early draft of the VVC specification, coded slices were referred to as coded tile groups.

[0030] In VVC, the tile structure is signaled in the picture parameter set (PPS) by specifying the thicknesses of the rows and the widths of the columns. Individual rows and columns can have different sizes, but the partitioning always span across the entire picture, from left to right and top to bottom respectively.

[0031] In a rectangular slice mode in VVC, a tile can further be split into multiple slices where each slice consists of a consecutive number of CTU rows inside one tile. FIG. 11 shows an example of a tile partitioning and FIG. 12 shows an example of a rectangular slice partitioning using the tile partitioning in VVC.

[0032] AVI supports partitioning of pictures into tiles, much like tiles in HEVC and VVC. AVI doesn’t use the word slice. However, the three OBU types OBU TILE GROUP, OBU TILE LIST, and OBU FRAME, correspond to slices in HEVC and VVC as follows:

[0033] OBU TILE GROUP and OBU TILE LIST both correspond to a VVC coded slice NAL unit containing an integer number of tiles. Compared with OBU TILE GROUP, OBU TILE LIST additionally includes an additional header for each tile to enable decoding a subset of the tiles.

[0034] OBU FRAME corresponds to a VVC coded slice NAL unit containing all CTUs of a picture. Additionally, an OBU FRAME includes the data of an OBU FRAME HEADER, which in VVC is a slice that contains a picture header (a slice with sh_picture_header_in_slice_header_flag equal to 1 that is).

[0035] In this disclosure, OBU TILE GROUP, OBU TILE LIST, and OBU FRAME are referred to as AVI slices or simply slices.

[0036] The AVI tile list OBU

[0037] The syntax for the tile list OBU in AVI is shown in Table 7. The anchor frame idx syntax element specifies what reference picture(s) to use for decoding the tile.anchor tile row and anchor tile col specify where in the output picture to put the decoded tile, coded tile data contains one coded tile.Table 7 - Tile list OBU syntax table

[0038] The AVI specification contains a description of a large-scale tile decoding process for decoding a tile list OBU into an output frame. In short, the process takes a tile list OBU as input and produces an output picture in which the decoded tiles are written. The output picture may not be fully covered with decoded tiles, and the AVI specification writes that the decoder should not modify samples in the output picture outside of the boundaries of the decoded tiles. See the AVI specification for all details of this process.

[0039] Coding of every CTU and every superblock

[0040] In HEVC and VVC, all CTUs of a picture must be coded and each coded CTU must be present in a coded slice in a VCL NAL unit. This means that for each sample of a current output picture, there is information in a VCL NAL unit of the current picture that specifies the decoded sample value.

[0041] The situation in AVI is similar, all superblocks of a picture must be coded, and each coded superblock must be present in a VCL type OBU as listed in Table 6, with the exception of the OBU TILE LIST. For each sample value of a current output picture, there is VCL information associated with the current picture that specifies the decoded sample value.Again, OBU TILE LIST is an exception since it allows the output picture to not be fully covered with decoded tiles. AVI doesn’t specify any value for missing tiles so this means that parts of the sample values of a current output picture may be unspecified.

[0042] Subpictures

[0043] Subpictures are supported in VVC where a subpicture is defined as a rectangular region of one or more slices within a picture. This means a subpicture contains one or more slices that collectively cover a rectangular region of a picture. In the VVC specification subpicture location and size are signaled in the Sequence Parameter Set (SPS). Boundaries of a subpicture region may be treated as picture boundaries (excluding in-loop filtering operations) conditioned to a per-subpicture flag subpic_treated_as_pic_flag[ i ] in the SPS. Also loopfiltering on subpicture boundaries is conditioned to a per-subpicture flag loop_filter_across_subpic_enabled_flag[ i ] in the SPS.

[0044] This is done by a first codeword, sps num subpics minusl, that specifies how many subpictures there are. Then there is a loop that for each subpicture index i specifies the location and size for a subpicture. This loop associates each subpicture to its subpicture index value i. The SPS also specifies for each subpicture whether its boundaries shall be treated as picture boundaries or not for the motion compensation and / or in-loop filtering processes. Boundaries of a subpicture region may be treated as picture boundaries (excluding in-loop filtering operations) conditioned to a per-subpicture flag subpic treated as _pic_flag[ i ] in the SPS. Also loop-filtering on subpicture boundaries is conditioned to a per-subpicture flag loop_filter_across_subpic_enabled_flag[ i ] in the SPS.

[0045] In the VVC slice header, there is one subpicture ID syntax element and one slice address syntax element. The subpicture ID specifies the subpicture ID of the subpicture and the slice address specifies the slice address within the subpicture. All slices that belong to the same subpicture must have the same subpicture ID value. In order to support bitstream extraction and merge operations without a need to rewrite slice headers, there is a mapping mechanism in VVC between subpicture ID values and subpicture index values. This mapping is signalled by either the sps_subpic_id[i] or the pps_subpic_id[i] syntax elements in the SPS and PPS, respectively. For example, a sps_subpic_id[l] value equal to 3 means that subpicture ID value 3 is mapped to the subpicture index value 1. By using this mapping mechanism, only SPS or PPS syntaxelements needs to be rewritten during a bitstream extraction or merge operation. Table 8 shows the subpicture syntax in the SPS in VVC.TABLE 8 - Subpicture syntax in the SPS in the VVC specification

[0046] Bitstream extraction and merge operations

[0047] Some video applications involve operations made on bitstreams, including bitstream extraction and bitstream merge operations. A bitstream extraction operation takes an input bitstream as input and produces an output bitstream, where the output bitstream represents a subset of the video content of the input bitstream. A bitstream merge operation takes multiple input bitstreams as input and produces a single output bitstream, where the output bitstreamrepresents the union of the video content of the input bitstreams. For bitstream merge to work, it is very common that the input bitstreams are created with merge support in mind. Bitstream merge operations where the bitstreams are encoded fully independently by e.g. different encoders is typically not possible.

[0048] It is desirable that the bitstream format supports bitstream extraction and merge operations without requiring low-level bitstream changes, since low-level bitstream changes infer substantial implementation burden and increased computational complexity. One common design goal is to enable these operations without any need to manipulate coded slice data. For example, in VVC it would be acceptable to re-write parameter set data but not acceptable to rewrite slice data or picture header data.

[0049] For extraction and merge to work, the video format needs to support spatial partitioning of the content into independently coded segments. Slices, tiles and subpictures are examples of such segments. In HEVC, motion-constrained tile sets (MCTSs) are typically used, where slices containing one or more complete tiles are encoded such that the coded slices are independent. Special care is taken into the HEVC motion compensation processes, where the HEVC encoder needs to select motion parameters carefully so that the coded slices become independent, hence the name MCTS. In VVC, the subpicture partitioning type was introduced, for which support of less complex bitstream extraction and merge handling was a key reason. Compared to HEVC MCTSs, VVC subpictures are more compression efficient and do not require special care related to motion compensation.

[0050] Bitstream extraction and merge operations for subpictures in VVC could for instance comprise extracting one or more subpictures from a first bitstream, extracting one or more subpictures from a second bitstream and merging the extracted subpictures into a new third bitstream.

[0051] Picture order count (POC)

[0052] Pictures in HEVC are identified by their picture order count (POC) values, also known as full POC values. Each slice contains a code word, pic order cnt lsb, that shall be the same for all slices in a picture, pic order cnt lsb is also known as the least significant bits (Isb) of the full POC since it is a fixed-length code word and only the least significant bits of the full POC is signaled. Both encoder and decoder keep track of POC and assign POC values to eachpicture that is encoded / decoded. The pic order cnt lsb can be signaled by 4-16 bits. There is a variable MaxPicOrderCntLsb used in HEVC 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 2A8 = 256. The picture order count value of a picture is called PicOrderCntVal in HEVC. Usually, PicOrderCntVal for the current picture is simply called PicOrderCntVal.

[0053] Reference picture management

[0054] Reference picture management in HEVC is done using reference pictures sets (RPS). The reference picture set is a set of reference pictures that is signaled in the slice headers. When the decoder has decoded a picture, it is put together with its POC value in a decoded picture buffer (DPB). When decoding a subsequence picture, the decoder parses the RPS syntax from the slice header and constructs lists of reference picture POC values.

[0055] The reference picture management in the VVC specification differs slightly from the one in HEVC. In HEVC, the RPS is signaled and the reference picture lists to use for Inter prediction is derived from the RPS. In the VVC specification, the reference pictures lists (RPL) are signaled and the RPS is derived. However, in both specifications, signaling of what pictures to keep in the DPB, what pictures should be short-term and long-term is done. Using POC for picture identification and determination of missing reference pictures is done the same in both specifications.

[0056] Parameter Sets

[0057] HEVC and VVC specifies three types of parameter sets, the picture parameter set (PPS), the sequence parameter set (SPS) and the video parameter set (VPS). The PPS contains data that is common for a whole picture, the SPS contains data that is common for a coded video sequence (CVS) and the VPS contains data that is common for multiple CVSs, e.g. data for multiple scalability layers in the bitstream.

[0058] VVC also specifies one additional parameter set, the adaptation parameter set (APS). The APS carries parameters needed for the adaptive loop filter (ALF) tool, the luma mapping and chroma scaling (LMCS) tool and the scaling list tool.

[0059] Both HEVC and VVC allow certain information (e.g. parameter sets) to be provided by external means. “By external means” should be interpreted as the information is not provided in the coded video bitstream but by some other means not specified in the video codec specification, e.g. via metadata possibly provided in a different data channel, as a constant in the decoder, or provided through an API to the decoder.

[0060] Decoding capability information (DCI)

[0061] In VVC there is a DCI NAL unit. The DCI specifies information that does not change during the decoding session and may be good for the decoder to know about early and upfront, such as profile and level information. The information in the DCI is not necessary for operation of the decoding process. In drafts of the VVC specification the DCI was called decoding parameter set (DPS).

[0062] The decoding capability information may also contain a set of general constraints for the bitstream, that gives the decoder information of what to expect from the bitstream, in terms of coding tools, types of NAL units, etc. In VVC, the general constraint information can be signaled in the DCI, VPS or SPS.

[0063] Picture header

[0064] In VVC, a coded picture contains a picture header structure. The picture header structure contains syntax elements that are common for all coded slices of the associated picture. The picture header structure may be signaled in its own non-VCL NAL unit with NAL unit type PH NUT or included in the slice header given that there is only one coded slice in the coded picture. This is indicated by the slice header syntax element picture header in slice header flag, where a value equal to 1 specifies that the picture header structure is included in the slice header and a value equal to 0 specifies that the picture header structure is carried in its own PH NAL unit. For a CVS where not all pictures are single-slice pictures, each coded picture must be preceded by a picture header that is signaled in its own NAL unit. HEVC does not support picture headers.

[0065] Layers, OLS and OPI

[0066] The value of the nuh layer id syntax element in the NAL unit header in VVC and HEVC specifies the layer ID to which the NAL unit belongs. In VVC, layers may be codedindependently or dependently from each other. When the layers are coded independently, a layer with e.g., nuh layer id 0 may not predict video data from another layer with e.g. nuh layer id 1. In VVC, dependent coding between layers may be used, which enables support for scalable coding with SNR, spatial and view scalability.

[0067] The VPS in VVC and HEVC contains scalability layer information that is needed for handling scalable bitstreams. For HEVC, a VPS must be present for all bitstreams, even single-layer ones, while for VVC the VPS may be omitted for single-layer bitstreams. The VPS defines output layer sets (OLSs), where an OLS is a description of a set of layers in the bitstream with indications of which of the layers in the OLS that should be output. In VVC, only the output layers are specified, and the full OLS is derived by using bitstream information for how layers reference other layers. This means that the full OLS is decodable even if all layers that are not included in the OLS are discarded. In other word, no layer in an OLS depends on any layer not in the OLS. This also means that some OLS layers may be required to be decoded but no pictures of those layers are output.

[0068] The operation point information (OPI) in VVC can be used to specify the OLS index of the target OLS for the decoder to decode. The OPI may additionally specify the highest temporal sublayer the decoder should decode. When a bitstream contains many layers and sublayers, the OPI can be useful to tell a decoder what parts of the bitstream to decode and / or what temporal sublayers that should be discarded when decoding. The target OLS and highest temporal sublayer to decode can alternatively be specified by external means. If that happens and there is an OLS in the bitstream, the decoder should use the information provided by external means and ignore the OLS information. The OPI is signaled in its own non-VCL NAL unit in VVC.

[0069] Slice and macroblock structure in earlier standards

[0070] The H.263 and H.264 standards use the macroblock entity which is a 16x16 block size processing unit and define a slice as an integer number of macroblocks in a particular order. H.263 and H.264 use the term slice in a different context compared to HEVC and VVC.

[0071] Annex K in H.263 specification describes the optional slice structured mode which includes two submodes:

[0072] (1) The Rectangular Slice submode (RS). When RS is in use, the slice shall occupy a rectangular region of width specified by the slice width indication (SWI) parameter of the slice header in units of macroblocks, and contains a number of macroblocks in scanning order within the rectangular region. When the Rectangular Slice submode is not in use, the SWI field is not present in the slice header and a slice contains a number of macroblocks in scanning order within the picture as a whole.

[0073] (2) The Arbitrary Slice Ordering submode (ASO). When ASO is in use, the slices may appear in any order within the bitstream. When ASO is not in use, the slices must be sent in the (unique) order for which the MacroBlock Address (MBA) field of the slice header is strictly increasing from each slice to each subsequent slice in the picture.

[0074] The H.263 specification describes a coded macroblock indication (COD) as one bit at the start of macroblock syntax, which when set to “0” signals that the macroblock is coded and if set to “1”, signals that no further information is transmitted for this macroblock and the macroblock is handled as “skipped.” Skipped macroblocks in H.263 are decoded as INTER macroblocks with motion vector for the whole block equal to zero and with no coefficient data.

[0075] The H.264 specification (T-REC-H.264-202108) also defines a skipped macroblock as a macroblock for which no data is coded other than an indication that the macroblock is to be decoded as "skipped.” This indication may be common to several macroblocks. The elements such as motion vector components and reference indices are derived for the skipped macroblock according to some defined derivation processes.

[0076] The Slice data semantics in H.264 includes (as shown in Table 9 below):TABLE 9SUMMARY

[0077] Certain challenges presently exist. For instance, the rule that all CTUs and superblocks must be coded in VCL units makes the coding less efficient than it could be. Additionally, allowing unspecified output as in AVI has at least two problems. The first is that unspecified output is not useful for display, for example. The second is that testing decoders is difficult because two decoder implementations may output different sample values for unspecified areas which complicates comparisons of output pictures.

[0078] Accordingly, in one aspect there is provided a method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. The method includes obtaining a bitstream. The method further includes using the bitstream to produce the reconstructed picture. The bitstream comprises a first coded picture sample unit corresponding to the first region of the picture, and the bitstream further comprises indicator information indicating that, for the second region of the picture, the bitstream does not comprise a coded picture sample unit corresponding to the second region.

[0079] In another aspect there is provided a method for decoding a coded picture from a bitstream into a decoded picture. The method includes decoding N spatial regions of the coded picture, wherein the N spatial regions comprise the complete decoded picture. A first region of the N spatial regions is decoded from a first coded picture sample unit comprised in the bitstream, and the bitstream comprises indicator information indicating that a second region of the N spatial regions is not decoded from any coded picture sample unit in the bitstream.

[0080] In another aspect there is provided a method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. Themethod includes obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a first video coding layer, VCL, network abstraction layer, NAL, unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and payload. The method also includes producing reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture. The method also includes producing reconstructed sample values corresponding to the second region of the picture using only: i) predefined sample values and / or ii) reconstructed sample values corresponding to a co-located region of one or more reference pictures.

[0081] In another aspect there is provided a method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of N regions (a.k.a., blocks or CTUs) including at least a first region and a second region. The method includes obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a set of video coding layer, VCL, network abstraction layer, NAL, units corresponding to the original picture, wherein the set of VCL NAL units comprise a first VCL NAL unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and a payload. The method also includes producing reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture. The method also includes producing reconstructed sample values corresponding to the second region of the picture, where i) no information from any VCL NAL unit included in the set of VCL NAL units is used to produce any of the reconstructed sample values corresponding to the second region of the picture, ii) no information derived from any sample value of the second region of the original picture is used to produce any of the reconstructed sample values corresponding to the second region of the picture, or iii) each VCL NAL unit in the bitstream comprises a header (e.g., slice header) and a payload (e.g., slice payload) comprising coded samples (e.g. slice data), wherein no information from any payload of any VCL NAL unit in the bitstream is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

[0082] In another aspect there is provided a method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. Themethod includes obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture. The method also includes using the PU included in the bitstream to produce the reconstructed picture. The PU comprises a first coded picture sample unit corresponding to the first region of the picture. The PU also comprises a second coded picture sample unit corresponding to the second region of the picture. The first coded picture sample unit consists of i) a first fixed length encoded or Huffman encoded header part and ii) a fixed length encoded or Huffman encoded data part consisting of fixed length encoded or Huffman encoded picture sample values. The second coded picture sample unit consists of i) a second fixed length encoded or Huffman encoded header part and ii) an arithmetically encoded data part consisting of arithmetically encoded picture sample values.

[0083] In another aspect there is provided a computer program comprising instructions which when executed by processing circuitry of an apparatus causes the apparatus to perform any of the methods disclosed herein. In one embodiment, there is provided a carrier containing the computer program wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium. In another aspect there is provided an apparatus that is configured to perform the methods disclosed herein. The apparatus may include memory and processing circuitry coupled to the memory.

[0084] An advantage of the embodiments disclosed herein is that they can reduce overhead and thereby provide video compression bit-rate savings; this is particularly true where a picture is coded into many units, such as many NAL units or OBUs, because the overhead of units can be avoided by using the proposed embodiments. The embodiments specify all samples of each output picture which simplifies testing of decoder because it enables straightforward comparisons of output pictures for multiple decoders.

[0085] The embodiments disclosed herein may also provide flexibility in coding of a picture in a video bitstream, both when it comes to the layout of what is coded, e.g., momentarily only code video in a region of interest (ROI), and when it comes to spatially adjusting the frame rate. For instance, with the embodiments it is possible to code a reduced frame rate in parts of a picture. One example of this could be when a first subpicture encoded with 60 fps is merged with a second subpicture encoded with 30 fps into a new bitstream. This merge would not be possiblein the VVC subpicture scheme but could be realized with the embodiments disclosed herein by temporally skipping every second subpicture of the second subpicture stream in the merged new bitstream.BRIEF DESCRIPTION OF THE DRAWINGS

[0086] The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.

[0087] FIG. 1 illustrates a system according to an embodiment.

[0088] FIG. 2 is a schematic block diagram of an encoder according to an embodiment.

[0089] FIG. 3 is a schematic block diagram of a decoder according to an embodiment.

[0090] FIG. 4 is a flowchart illustrating a process according to an embodiment.

[0091] FIG. 5 is a flowchart illustrating a process according to an embodiment.

[0092] FIG. 6 is a flowchart illustrating a process according to an embodiment.

[0093] FIG. 7 is a flowchart illustrating a process according to an embodiment.

[0094] FIG. 8 is a flowchart illustrating a process according to an embodiment.

[0095] FIG. 9 is a block diagram of an encoding apparatus according to an embodiment.

[0096] FIG. 10 illustrates a picture portioned into 20 blocks.

[0097] FIG. 11 shows an example of a tile partitioning in VVC.

[0098] FIG. 12 shows an example of a rectangular slice partitioning using the tile partitioning in VVC.DETAILED DESCRIPTION

[0099] Definitions of terminology used in this disclosure are provided in Table 10.Table 10 - Definitions

[0100] FIG. 1 illustrates a system 100 according to an embodiment. System 100 includes an encoder 102 and a decoder 104, wherein encoder 102 is in communication with decoder 104 via a network 110 (e.g., the Internet or other network). Encoder 102 encodes a source video sequence 101 into a bitstream comprising an encoded video sequence and transmits the bitstream to decoder 104 via network 110. In some embodiments, encoder 102 is not in communication with decoder 104, and, in such an embodiment, rather than transmitting bitstream to decoder 104, the bitstream is stored in a data storage unit. Decoder 104 decodes the pictures included in the encoded video sequence to produce video data for display and / or further image processing (e.g. a machine vision task). Accordingly, decoder 104 may be part of a device 103 having an image processor 105 and / or a display 106. The image processor 105 may perform machine vision tasks on the decoded pictures. One such machine vision task may be identifyingobjects in the picture. The device 103 may be a mobile device, a set-top device, a head-mounted display, or any other device.

[0101] FIG. 2 illustrates functional components of encoder 102 according to some embodiments. It should be noted that encoders may be implemented differently so implementation other than this specific example can be used. Encoder 102 employs a subtractor 241 to produce a residual block which is the difference in sample values between an input block and a prediction block (i.e., the output of a selector 251, which is either an inter prediction block output by an inter predictor 250 (a.k.a., motion compensator) or an intra prediction block output by an intra predictor 249). Then a forward transform 242 is performed on the residual block to produce a transformed block comprising transform coefficients. A quantization unit 243 quantizes the transform coefficients based on a quantization parameter (QP) value (e.g., a QP value obtained based on a picture QP value for the picture in which the input block is a part and a block specific QP offset value for the input block), thereby producing quantized transform coefficients which are then encoded into the bitstream by encoder 244 (e.g., an arithmetic encoder) and the bitstream with the encoded transform coefficients is output from encoder 102. Next, encoder 102 uses the quantized transform coefficients to produce a reconstructed block. This is done by first applying inverse quantization 245 and inverse transform 246 to the transform coefficients to produce a reconstructed residual block and using an adder 247 to add the prediction block to the reconstructed residual block, thereby producing the reconstructed block, which is stored in the reconstruction picture buffer (RPB) 266. Loop filtering by a loop filter (LF) stage 267 is applied and the final decoded picture is stored in a decoded picture buffer (DPB) 268, where it can then be used by the inter predictor 250 to produce an inter prediction block for the next picture to be processed. LF stage 267 may include three sub-stages: i) a deblocking filter, ii) a sample adaptive offset (SAO) filter, and iii) an Adaptive Loop Filter (ALF).

[0102] FIG. 3 illustrates functional components of decoder 104 according to some embodiments. It should be noted that decoder 104 may be implemented differently so implementations other than this specific example can be used. Decoder 104 includes a bitstream parser 301 that receives the bitstream (e.g., retrieves the bitstream form a file or receives the bitstream via network 110) and parses the bitstream to obtain each NAL unit in the bitstream. When bitstream parser 301 obtains a NAL unit comprising coded picture sample values (e.g., theencoded quantized transform coefficient values) bitstream parser 301 provides the coded picture sample values to a decoder module 361 (e.g., a function that performs arithmetic decoding) that decodes the sample values to obtain decoded sample values (e.g., the quantized transform coefficient values). Decoder 104 also includes a reconstruction stage 398 in which the quantized transform coefficient values are subject to an inverse quantization process 362 and inverse transform process 363 to produce a residual block. This residual block is input to adder 364 that adds the residual block and a prediction block output from selector 390 to form a reconstructed block. Selector 390 either selects to output an inter prediction block or an intra prediction block. The reconstructed block is stored in a RPB 365. The inter prediction block is generated by the inter prediction module 350 and the intra prediction block is generated by the intra prediction module 369. Following the reconstruction stage 398, a loop filter stage 367 applies loop filtering and the final decoded picture may be stored in a decoded picture buffer (DPB) 368 and output to image processor 105. Pictures are stored in the DPB for two primary reasons: 1) to wait for picture output and 2) to be used for reference when decoding future pictures.

[0103] As described above, a challenge presently exists because the rule that all CTUs and superblocks must be coded in VCL units makes the coding less efficient than it could be.

[0104] Accordingly, this disclosure, in one aspect, provides for allowing samples, preferably in the form of CTUs or similar, to be coded in non-VCL units. In some embodiments, a set of CTUs, such as for example a subpicture, slice, or tile, doesn’t need to be represented by a dedicated unit for that set, such as for example a NAL unit or an OBU. Instead, the necessary information for identifying and deriving all sample values in the set is located in one or more non-VCL units such as an SPS, PPS, picture header NAL unit, sequence header, frame header etc. The solution includes methods for identifying such sets as well as how to derive sample values in the set.

[0105] In one embodiment, a picture is divided into CTUs such that the decoded coded CTUs cover the entire decoded picture, and each decoded CTU is either derived using information from the data part of a VCL unit or not. As used herein, the term “non-VCL CTUs” refers to those CTUs that do not use information from the data part of any VCL unit (e.g. as described in step 4 of example 1 below), and the term “VCL CTUs” is used for those that do (asdescribed in step 3 of example 1 below). A partition comprised in a non-VCL unit may be called a non-VCL partition. A partition comprised in a VCL unit may be called a VCL partition.

[0106] Example 1

[0107] In one embodiment, this disclosure proposes a method for decoding a coded picture from a bitstream into a decoded picture. The bitstream consists of one or more pictures in compressed format, so-called coded pictures. The method reads the coded picture information for one picture from the bitstream and derives a decoded (a.k.a., reconstructed) picture which is a picture of pixel values (a.k.a., sample values). In one embodiment, the bitstream consists of units and each unit is either a non-VCL unit or VCL unit. In one embodiment, the method includes the following steps:1. Decoding at least one non-VCL unit from the bitstream.2. Decoding all VCL units of the coded picture from the bitstream where each VCL unit comprises a header part and a data part.3. Deriving the sample values of at least one block of the decoded picture by using both information decoded from at least one non-VCL unit and information decoded from the data part of at least one VCL units of the coded picture.4. Deriving the sample values of at least one block of the decoded picture by using information decoded from at least one non-VCL unit and no information decoded from the data part of any VCL unit of the coded picture. In one embodiment, no information from any data part of any VCL unit is used.

[0108] In contrast to AVI large scale decoding, in one embodiment, all sample values of the decoded picture should be derived. The AVI large scale decoding allows for areas with unspecified or unmodified sample values, but in this embodiment that will not happen.

[0109] The non-VCL units may here be one or more of operating point information NAL units, decoding capability information NAL units, video parameter set NAL units, sequence parameter set NAL units, parameter set NAL units, picture header NAL units, access unit delimiter NAL units, sequence header OBUs, temporal delimiter OBUs, or frame header OBUs. The VCL units may here be one or more of coded slice NAL units, tile group NAL units, tile group OBUs, frame OBUs, or tile list OBUs.

[0110] Example 2 - New type unit

[0111] This embodiment defines a new unit type class in addition to the VCL and non- VCL unit classes. In one embodiment, the new unit type class is defined as a unit which contains header and information required for deriving sample values, all information being fixed length or Huffman coded. A unit of this new unit type class is different from a VCL unit in that the information required for the deriving sample values are fixed length coded in the unit of the new type, and is also different from the non-VCL unit in that the unit of the new type contains information for deriving sample values.

[0112] In one embodiment, the new unit type class is defined as a unit which contains header information and information required for deriving sample values, and that the information required for deriving sample values is fixed length coded or Huffman coded.

[0113] In one embodiment, the new unit type class is called “Huffman Coded VCL (HC VCL). The table 11 below illustrates an exemplary table of NAL unit types where in addition to VCL and non-VCL NAL unit types another NAL unit type class named HC VCL also exists:Table 11

[0114] In the above table, an exemplary NAL unit named HC VCL NUT is defined with HC VCL unit type and the content of this HC VCL NUT is all fixed length coded or Huffman coded. The content is required for deriving sample values of a partition of the picture.

[0115] According to this embodiment, a decoder may perform all or a subset of the following steps for decoding a picture from the bitstream:1. Decoding at least one non-VCL unit from the bitstream.2. Decoding all VCL units of the coded picture from the bitstream where each VCL unit comprises a header part and a data part.3. Decoding a first new type unit from the bitstream.4. Deriving the sample values of at least one block of the decoded picture by using both information decoded from at least one non-VCL unit and information decoded from the data part of at least one VCL units of the coded picture.5. Deriving the sample values of at least one block of the decoded picture by using information decoded from the first new type unit and no information decoded from the data part of any VCL unit of the coded picture. In one embodiment, no information from any data part of any VCL unit is used.

[0116] Fixed length coding or Huffman coding may here mean that the values of each fixed length coded syntax element and Huffman coded syntax element are represented by an integer number of bits. This is in contrast to, for example, arithmetic coding that typically is more efficient than fixed-length and Huffman coding, but in arithmetic coding the value of each syntax element is not represented by an integer number of bits, but rather by one or more states of the arithmetic decoding engine as well-known in the art. Fixed-length and Huffman coded data is less complex to encode and decode compared with arithmetic coding.

[0117] Example 3 - Identification of the CTUs that are coded in non-VCL units

[0118] In one embodiment, there is provided a method for identifying the non-VCL CTUs in the picture by decoding one or more syntax elements from the one or more first non- VCL units.

[0119] In one embodiment, the one or more syntax elements includes a flag for each CTU that specifies whether the CTU is a non-VCL CTU or a VCL CTU.

[0120] In another embodiment, the CTUs are grouped into CTU sets, and there is a flag for each CTU set that specifies whether all CTUs in a CTU set are non-VCL CTUs or VCL CTUs. In a non-VCL CTU, there may be a first syntax element that specifies how many CTU sets there are, followed by one flag for each CTU set. Examples of what could constitute a CTU set using grouping of CTUs known in the current art include subpictures, rectangular slices and tiles.

[0121] This example syntax and semantics illustrates one embodiment.- start of example -TABLE 12num_ctu_sets specifies the number of CTU sets there are in each picture referring to the parameter set. When not present, the value of sps num subpics minusl is inferred to be equal to 0. ctu set non vcl _flag[ i ] equal to 1 specifies that all CTUs in the i’th CTU set are non-VCL CTUs. ctu_set_non_vcl_flag[ i ] equal to 0 specifies that all CTUs in the i’th CTU set are VCL CTUs.- end of example -

[0122] The syntax shown in table 12 may be located in a non-VCL unit or in the header part of a VCL unit.

[0123] In one example on top of VVC, there is no num ctu sets syntax element. Instead the CTU set is one of a slice, a subpicture, or a tile, and the number of CTU sets is set equal to the value of pps_num_slices_in_pic_minusl+l, the value of sps num subpics minusl+l, or the value of the variable NumTilesInPic, respectively.

[0124] Example 4 - Deriving sample values of non-VCL CTUs

[0125] In one embodiment there is a method for deriving sample values of non-VCL CTUs by decoding one or more syntax elements from the one or more first non-VCL units.

[0126] In one embodiment, sample values of a non-VCL CTU are set equal to a constant value. In this embodiment, the one or more syntax elements may only specify which CTUs that are non-VCL CTUs and nothing more. The constant value may be equal to half of the maximum sample value, such as one of 2(n-1)and 2(n-1)-l, where n is the bit depth of the decoded samples.

[0127] In one embodiment, where the non-VCL CTU consists of three block types: one luma block Y and two chroma blocks U and V, different constant values may be used for each type of block, such that the Y samples are set to a first constant value, the U samples are set to a second constant value, and V samples are set to a third constant value, such that the first, second and third constant value may not be identical. In one embodiment, the constant value is signaled and derived from syntax element(s) in the non-VCL units(s).

[0128] In one embodiment, a mode such as e.g. skip / merge is determined for the non- VCL CTUs. For this embodiment, the mode may depend on whether the picture or slice is Intra or Inter. The decoded picture or pictures to use for reference for each CTU for the e.g. skip / merge mode may be determined.

[0129] A skip mode may here mean that the sample values of a current non-VCL CTU is derived by copying the sample values of a co-located CTU of a previously decoded reference picture, where the reference picture is identified using the one or more syntax elements.

[0130] In an alternative skip mode, the sample values of a current non-VCL CTU are derived by identifying two co-located CTUs from two previously decoded reference pictures and for each sample in the current CTU, blend the respective co-located sample values from the colocated CTUs. In one embodiment, a sample in the current CTU is derived as equal to (a+b) / 2 or (a+b+l)»l, where a is the value of the co-located sample of a first previously decoded reference picture, b is the value of the co-located sample of a second previously decoded reference picture, and » denotes a right shift.

[0131] A merge mode may here mean that the sample values of a current non-VCL CTU is derived by identifying a neighboring CTU and deriving the sample values of a current non- VCL CTU by using properties of the neighboring CTU. The properties may include one or more of an identification of one or more reference pictures to use for motion compensation, one or more motion vector values, and a mode of the CTU or the modes of the blocks within the CTU. The neighboring CTU may be a VCL CTU or a non-VCL CTU.

[0132] The example syntax and semantics below illustrates one embodiment, where num non vcl ctus is a number representing a number of non-VCL CTUs.- start of example -TABLE 13ctu_mode[ i ] specifies the mode of the i’th CTU.- end of example -

[0133] In one embodiment, the mode such as e.g. skip / merge is determined for all CTUs of one CTU set. In this embodiment, the one or more syntax elements may specify one mode, and that one mode is then applied to all CTUs in the one CTU set. In one embodiment, whether or not the CTU set contains VCL CTUs or non-VCL CTUs is also determined from the mode.

[0134] The syntax below illustrates one example of this embodiment.- start of example - TABLE 14num_ctu_sets specifies the number of CTU sets there are in each picture referring to the parameter set. When not present, the value of sps num subpics minusl is inferred to be equal to 0. ctu_set_mode[ i ] equal to 0 specifies that all CTUs in the i’th CTU set are VCL CTUs. ctu_set_mode[ i ] equal to 1 specifies that all CTUs in the i’th CTU set are non-VCL CTUs codedby the skip mode, ctu set modef i ] equal to 1 specifies that all CTUs in the i’th CTU set are non- VCL CTUs coded by the merge mode.- end of example -

[0135] Example 5 - Dedicated units for coded non-VCL partitions

[0136] In one embodiment, one or more coded non-VCL partitions are signaled in a dedicated coded non-VCL partition unit. This coded non-VCL partition unit may for instance have the unit type “CODED NON-VCL PARTITION NUT.” In one embodiment, the coded non-VCL partition unit is classified as a non-VCL unit as shown in the below, where the non- VCL unit is a non-VCL NAL unit. In another embodiment, the coded non-VCL partition unit is classified as a VCL unit, but in contrast to what the classification suggests it does not contain any VCL data.TABLE 15

[0137] In one embodiment, two or more partitions are signaled in the coded non-VCL partition unit. The coded non-VCL partition unit may for instance comprise the syntax of the examples 2 and 3. In one embodiment, at most one coded non-VCL partition unit is sent for each picture.

[0138] In another embodiment, the bitstream contains a unit for each partition of a picture, either a coded VCL partition unit if the partition comprises VCL data, or a coded non- VCL partition unit if the partition does not comprise VCL data. In one embodiment, the coded non-VCL partition unit comprises a partition ID for each partition in the unit that identifies the positions of each coded non-VCL partitions. This is illustrated in the example below for the casewhere there may be only one coded non-VCL partition in a coded non-VCL unit. In another version, other syntax elements for identifying the position and size of one or more coded non- VCL partitions are signaled in the coded non-VCL unit. This may include the vertical position, the horizontal position, the width and / or the height of the one or more coded non-VCL partitions, either expressed in samples or in larger units of samples, e.g. in CTUs. In yet another embodiment, no syntax element for identifying the position and / or size of the one or more coded non-VCL partitions are signaled in the coded non-VCL partition unit, e.g., it may be empty. The size and position of the one or more coded non-VCL partitions are then derived from the position of the coded non-VCL partition unit in the bitstream, possibly in combination of the partition structure specified in another non-VCL unit, e.g., a parameter set.- start of example -TABLE 16partitioned specifies a unique id in the picture for the coded non-VCL partition.- end of example -

[0139] FIG. 4 is a flowchart illustrating a process 400 performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. Process 400 may begin in Step s402. Step s402 comprises obtaining a bitstream. Step s404 comprises using the bitstream to produce the reconstructed picture. The bitstream comprises a first coded picture sample unit corresponding to the first region of the picture, and the bitstream further comprises indicator information indicating that, for the second region of the picture, the bitstream does not comprise a coded picture sample unit corresponding to the second region.

[0140] FIG. 5 is a flowchart illustrating a process 500 for decoding a coded picture from a bitstream into a decoded picture. Process 500 may begin in Step s502. Step s502 comprises decoding N spatial regions of the coded picture, wherein the N spatial regions comprise the complete decoded picture. A first region of the N spatial regions is decoded from a first codedpicture sample unit comprised in the bitstream, and the bitstream comprises indicator information indicating that a second region of the N spatial regions is not decoded from any coded picture sample unit in the bitstream.

[0141] FIG. 6 is a flowchart illustrating a process 600 performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. Process 600 may begin in Step s602.

[0142] Step s602 comprises obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a first video coding layer, VCL, network abstraction layer, NAL, unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and payload.

[0143] Step s604 comprises producing reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture.

[0144] Step s606 comprises producing reconstructed sample values corresponding to the second region of the picture using only: i) predefined sample values and / or ii) reconstructed sample values corresponding to a co-located region of one or more reference pictures.

[0145] FIG. 7 is a flowchart illustrating a process 700 performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of N regions (a.k.a., blocks or CTUs) including at least a first region and a second region. Process 700 may begin in Step s702.

[0146] Step s702 comprises obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a set of video coding layer, VCL, network abstraction layer, NAL, units corresponding to the original picture, wherein the set of VCL NAL units comprise a first VCL NAL unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and a payload.

[0147] Step s704 comprises producing reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture.

[0148] Step s706 comprises producing reconstructed sample values corresponding to the second region of the picture, where i) no information from any VCL NAL unit included in the set of VCL NAL units is used to produce any of the reconstructed sample values corresponding to the second region of the picture, ii) no information derived from any sample value of the second region of the original picture is used to produce any of the reconstructed sample values corresponding to the second region of the picture, or iii) each VCL NAL unit in the bitstream comprises a slice header and a slice payload comprising slice data, wherein no information from any slice payload of any VCL NAL unit in the bitstream is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

[0149] FIG. 8 is a flowchart illustrating a process 800 performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region. Process 800 may begin in Step s802. Step s802 comprises obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture. Step s804 comprises using the PU included in the bitstream to produce the reconstructed picture. The PU comprises a first coded picture sample unit corresponding to the first region of the picture. The PU also comprises a second coded picture sample unit corresponding to the second region of the picture. The first coded picture sample unit consists of i) a first fixed length encoded or Huffman encoded header part and ii) a fixed length encoded or Huffman encoded data part consisting of fixed length encoded or Huffman encoded picture sample values. The second coded picture sample unit consists of i) a second fixed length encoded or Huffman encoded header part and ii) an arithmetically encoded data part consisting of arithmetically encoded picture sample values.

[0150] FIG. 9 is a block diagram of an apparatus 900 for implementing encoder 102 or decoder 104 according to some embodiments. When apparatus 900 implements encoder 102, apparatus 900 may be referred to as an encoder apparatus, when apparatus 900 implements decoder 104, apparatus 900 may be referred to as a decoder apparatus, and when apparatus 900 implements network node 1104, apparatus 900 may be referred to as a network node. As shown in FIG. 9, apparatus 900 may comprise: processing circuitry (PC) 902, which may include one or more processors (P) 955 (e.g., one or more general purpose microprocessors and / or one or more other processors, such as an application specific integrated circuit (ASIC), field-programmablegate arrays (FPGAs), and the like), which processors may be co-located in a single housing or in a single data center or may be geographically distributed (i.e., encoder apparatus 900 may be a distributed computing apparatus); at least one network interface 948 (e.g., a physical interface or air interface) comprising a transmitter (Tx) 945 and a receiver (Rx) 947 for enabling apparatus 900 to transmit data to and receive data from other nodes connected to a network 110 (e.g., an Internet Protocol (IP) network) to which network interface 948 is connected (physically or wirelessly) (e.g., network interface 948 may be coupled to an antenna arrangement comprising one or more antennas for enabling encoder apparatus 900 to wirelessly transmit / receive data); and a storage unit (a.k.a., “data storage system”) 908, which may include one or more nonvolatile storage devices and / or one or more volatile storage devices. In embodiments where PC 902 includes a programmable processor, a computer readable storage medium (CRSM) 942 may be provided. CRSM 942 may store a computer program (CP) 943 comprising computer readable instructions (CRI) 944. CRSM 942 may be a non-transitory computer readable medium, such as, magnetic media (e.g., a hard disk), optical media, memory devices (e.g., random access memory, flash memory), and the like. In some embodiments, the CRI 944 of computer program 943 is configured such that when executed by PC 902, the CRI causes encoder apparatus 900 to perform steps described herein (e.g., steps described herein with reference to the flow charts). In other embodiments, encoder apparatus 900 may be configured to perform steps described herein without the need for code. That is, for example, PC 902 may consist merely of one or more ASICs. Hence, the features of the embodiments described herein may be implemented in hardware and / or software.

[0151] Summary of Various Embodiments

[0152] Al. A method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the method comprising: obtaining a bitstream; and using the bitstream to produce the reconstructed picture, wherein the bitstream comprises a first coded picture sample unit corresponding to the first region of the picture, and the bitstream further comprises indicator information indicating that, for the second region of the picture, the bitstream does not comprise a coded picture sample unit corresponding to the second region.

[0153] A2. The method of embodiment Al, wherein a coded picture sample unit is a unit that comprises: coded sample data that is arithmetically coded, transform coefficients for a block (e.g. CTU) of the picture, residual information for a block (e.g. CTU) of the picture, and / or syntax elements for a block (e.g. CTU) of the picture specifying whether the block shall be decoded using inter or intra prediction.

[0154] A3. The method of embodiment Al or A2, wherein a coded picture sample unit is: a coded slice NAL unit, a tile group OBU, a frame OBU, or a tile list OBU.

[0155] A4. The method of embodiment Al, A2, or A3, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture, using the bitstream to produce the reconstructed picture comprises using the PU included in the bitstream to produce the reconstructed picture, the PU comprises the first coded picture sample unit corresponding to the first region of the picture, and the indicator information indicates that the PU does not comprise a coded picture sample unit corresponding to the second region.

[0156] A5. The method of embodiment A4, wherein the PU comprises the indicator information.

[0157] A6. The method of any one of embodiments A1-A5, wherein the first coded picture sample unit is a coded slice network abstraction layer, NAL, unit (a.k.a., VCL NAL unit) for the first region, and the indicator information indicates that the picture unit does not include a coded slice NAL unit (VCL NAL unit) for the second region.

[0158] A7. The method of any one of embodiments A1-A5, wherein the first region is a first rectangular region (e.g., a first square region) of the original picture, the second region is a second rectangular region (e.g., a second square region) of the original picture, both the first and second rectangular regions are completely within a third rectangular region of the picture, the bitstream comprises a coded slice network abstraction layer, NAL, unit corresponding to the third rectangular region of the picture, the coded slice NAL unit corresponding to the third rectangular region of the picture comprises the first coded picture sample unit corresponding to the first rectangular region of the picture, and the indicator information indicates that the coded slice NAL unit does not include a coded picture sample unit corresponding to the second rectangular region of the picture.

[0159] A8. The method of any one of embodiments A1-A7, wherein the bitstream comprises a unit consisting of a header, and the header comprises the indicator information.

[0160] A9. The method of embodiment A8, wherein the unit consisting of the header is a non-VCL NAL unit.

[0161] A10. The method of any previous embodiment, wherein the indicator information is comprised in a non-VCL NAL unit.

[0162] Al l. The method of any previous embodiment, wherein the indicator information is comprised in a parameter set (e.g. SPS, PPS or VPS), an operating point information (OPI) NAL unit, a decoding capability information (DCI) NAL unit, an access unit delimiter (AUD) NAL unit, a picture header, an SEI message, a sequence header (e.g. a sequence header OBU), a temporal delimiter (e.g. a temporal delimiter OBU), and / or a frame header (e.g. a frame header OBU).

[0163] A12. The method of any previous embodiment, wherein the indicator information is a NAL unit type.

[0164] B 1. A method for decoding a coded picture from a bitstream into a decoded picture, the method comprising: decoding N spatial regions of the coded picture wherein the N spatial regions comprise the complete decoded picture, wherein a first region of the N spatial regions is decoded from a first coded picture sample unit comprised in the bitstream, and the bitstream comprises indicator information indicating that a second region of the N spatial regions is not decoded from any coded picture sample unit in the bitstream.

[0165] B2. The method of embodiment Bl, wherein a coded picture sample unit is a unit that comprises: coded sample data that is arithmetically coded, transform coefficients for a block of the picture, residual information for a block of the picture, and / or syntax elements for a block of the picture specifying whether the block shall be decoded using inter or intra prediction.

[0166] B3. The method of embodiment Bl or B2, wherein a coded picture sample unit is: a coded slice NAL unit, a tile group OBU, a frame OBU, or a tile list OBU.

[0167] B4. The method of embodiment Bl, B2, or B3, wherein the bitstream comprises a picture unit, PU, the PU comprises the first coded picture sample unit and the indicatorinformation, and the indicator information indicates that the PU does not comprise a coded picture sample unit corresponding to the second region of the N spatial regions.

[0168] Cl. A method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the method comprising: obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a first video coding layer, VCL, network abstraction layer, NAL, unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and payload; producing reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture; and producing reconstructed sample values corresponding to the second region of the picture using only: i) predefined sample values and / or ii) reconstructed sample values corresponding to a co-located region of one or more reference pictures.

[0169] DI. A method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of N regions (a.k.a., blocks or CTUs) including at least a first region and a second region, the method comprising: obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a set of video coding layer, VCL, network abstraction layer, NAL, units corresponding to the original picture, wherein the set of VCL NAL units comprise a first VCL NAL unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and a payload; producing reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture; and producing reconstructed sample values corresponding to the second region of the picture, wherein no information from any VCL NAL unit included in the set of VCL NAL units is used to produce any of the reconstructed sample values corresponding to the second region of the picture, no information derived from any sample value of the second region of the original picture is used to produce any of the reconstructed sample values corresponding to the second region of the picture, or each VCL NAL unit in the bitstream comprises a slice header and a slice payload comprising slice data, wherein no information from any slice payload of any VCL NAL unit in the bitstream is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

[0170] El. A method performed by a decoder for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions (a.k.a., blocks or CTUs) including at least a first region and a second region, the method comprising: obtaining a bitstream that was produced by an encoder, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture; and using the PU included in the bitstream to produce the reconstructed picture, wherein the PU comprises a first coded picture sample unit corresponding to the first region of the picture, the PU comprises a second coded picture sample unit corresponding to the second region of the picture, the first coded picture sample unit consists of i) a first fixed length encoded or Huffman encoded header part and ii) a fixed length encoded or Huffman encoded data part consisting of fixed length encoded or Huffman encoded picture sample values, and the second coded picture sample unit consists of i) a second fixed length encoded or Huffman encoded header part and ii) an arithmetically encoded data part consisting of arithmetically encoded picture sample values.

[0171] E2. The method of embodiment El, wherein the method further comprises: decoding a first unit type from the first coded picture sample unit, wherein the first unit type indicates (e.g., specifies or suggests) that the data part of the first coded picture sample unit is fixed length encoded or Huffman encoded; and decoding a second unit type from the second coded picture sample unit, wherein the second unit type indicates that the data part of the second coded picture sample unit is arithmetically encoded.

[0172] E3. The method of embodiment E2, wherein the method further comprises decoding the first unit type from the first fixed length encoded or Huffman encoded header part and decoding the second unit type from the second fixed length encoded or Huffman encoded header part.

[0173] Fl. A computer program comprising instructions which when executed by processing circuitry of an apparatus causes the apparatus to perform the method of any one of the above embodiments.

[0174] F2. A carrier containing the computer program of embodimentFl, wherein the carrier is one of an electronic signal, an optical signal, a radio signal, and a computer readable storage medium.

[0175] G1. An apparatus configured to perform any of the method of any one of the above method embodiments.

[0176] While the terminology in this disclosure is described in terms of VVC, the embodiments of this disclosure also apply to any existing or future codec, which may use a different, but equivalent terminology.

[0177] Also, while various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context. As used herein “a” means “at least one” or “one or more.”

[0178] Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.

Claims

CLAIMS1. A method (400) performed by a decoder (102) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the method comprising: obtaining (s402) a bitstream; and using (s404) the bitstream to produce the reconstructed picture, wherein the bitstream comprises a first coded picture sample unit corresponding to the first region of the picture, and the bitstream further comprises indicator information indicating that, for the second region of the picture, the bitstream does not comprise a coded picture sample unit corresponding to the second region.

2. The method of claim 1, wherein a coded picture sample unit is a unit that comprises: coded sample data that is arithmetically coded, transform coefficients for a block of the picture, residual information for a block of the picture, and / or syntax elements for a block of the picture specifying whether the block shall be decoded using inter or intra prediction.

3. The method of claim 1 or 2, wherein a coded picture sample unit is: a coded slice NAL unit, a tile group OBU, a frame OBU, or a tile list OBU.

4. The method of claim 1, 2, or 3, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture, using the bitstream to produce the reconstructed picture comprises using the PU included in the bitstream to produce the reconstructed picture,the PU comprises the first coded picture sample unit corresponding to the first region of the picture, and the indicator information indicates that the PU does not comprise a coded picture sample unit corresponding to the second region.

5. The method of claim 4, wherein the PU comprises the indicator information.

6. The method of any one of claims 1-5, wherein the first coded picture sample unit is a coded slice network abstraction layer, NAL, unit for the first region, and the indicator information indicates that the picture unit does not include a coded slice NAL unit for the second region.

7. The method of any one of claims 1-5, wherein the first region is a first rectangular region of the original picture, the second region is a second rectangular region of the original picture, both the first and second rectangular regions are completely within a third rectangular region of the picture, the bitstream comprises a coded slice network abstraction layer, NAL, unit corresponding to the third rectangular region of the picture, the coded slice NAL unit corresponding to the third rectangular region of the picture comprises the first coded picture sample unit corresponding to the first rectangular region of the picture, and the indicator information indicates that the coded slice NAL unit does not include a coded picture sample unit corresponding to the second rectangular region of the picture.

8. The method of any one of claims 1-7, wherein the bitstream comprises a unit consisting of a header, and the header comprises the indicator information.

9. The method of claim 8, wherein the unit consisting of the header is a non-VCL NAL unit.

10. The method of any previous claim, wherein the indicator information is comprised in a non-VCL NAL unit, the indicator information is comprised in a parameter set, an operating point information, OPI, NAL unit, a decoding capability information, DCI, NAL unit, an access unit delimiter, AUD, NAL unit, a picture header, an SEI message, a sequence header, a temporal delimiter, and / or a frame header, and / or the indicator information is a NAL unit type.I L A method (500) for decoding a coded picture from a bitstream into a decoded picture, the method comprising: decoding (s502) N spatial regions of the coded picture, wherein the N spatial regions comprise the complete decoded picture, a first region of the N spatial regions is decoded from a first coded picture sample unit comprised in the bitstream, and the bitstream comprises indicator information indicating that a second region of the N spatial regions is not decoded from any coded picture sample unit in the bitstream.

12. The method of claim 11, wherein a coded picture sample unit is a unit that comprises: coded sample data that is arithmetically coded, transform coefficients for a block of the picture, residual information for a block of the picture, and / or syntax elements for a block of the picture specifying whether the block shall be decoded using inter or intra prediction.

13. The method of claim 11 or 12, wherein a coded picture sample unit is: a coded slice NAL unit, a tile group OBU, a frame OBU, ora tile list OBU.

14. The method of claim 11, 12, or 13, wherein the bitstream comprises a picture unit, PU, the PU comprises the first coded picture sample unit and the indicator information, and the indicator information indicates that the PU does not comprise a coded picture sample unit corresponding to the second region of the N spatial regions.

15. A method (600) performed by a decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the method comprising: obtaining (s602) a bitstream that was produced by an encoder, wherein the bitstream comprises a first video coding layer, VCL, network abstraction layer, NAL, unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and payload; producing (s604) reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture; and producing (s606) reconstructed sample values corresponding to the second region of the picture using only: i) predefined sample values and / or ii) reconstructed sample values corresponding to a co-located region of one or more reference pictures.

16. The method of claim 15, wherein the predefined sample values are used to produce the reconstructed sample values corresponding to the second region of the picture.

17. The method of claim 16, wherein only the predefined sample values are used to produce the reconstructed sample values corresponding to the second region of the picture.

18. The method of claim 15 or 16, wherein the reconstructed sample values corresponding to the co-located region of the one or more reference pictures are used to produce the reconstructed sample values corresponding to the second region of the picture.

19. The method of claim 15, wherein only the reconstructed sample values corresponding to the co-located region of the one or more reference pictures are used to produce the reconstructed sample values corresponding to the second region of the picture.

20. A method (700) performed by a decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of N regions including at least a first region and a second region, the method comprising: obtaining (s702) a bitstream that was produced by an encoder, wherein the bitstream comprises a set of video coding layer, VCL, network abstraction layer, NAL, units corresponding to the original picture, wherein the set of VCL NAL units comprise a first VCL NAL unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and a payload; producing (s704) reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture; and producing (s706) reconstructed sample values corresponding to the second region of the picture, wherein no information from any VCL NAL unit included in the set of VCL NAL units is used to produce any of the reconstructed sample values corresponding to the second region of the picture, no information derived from any sample value of the second region of the original picture is used to produce any of the reconstructed sample values corresponding to the second region of the picture, or each VCL NAL unit in the bitstream comprises a slice header and a slice payload comprising slice data, wherein no information from any slice payload of any VCL NAL unit in the bitstream is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

21. The method of claim 20, whereinno information from any VCL NAL unit included in the set of VCL NAL units is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

22. The method of claim 20, wherein no information derived from any sample value of the second region of the original picture is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

23. The method of claim 20, wherein each VCL NAL unit in the bitstream comprises a slice header and a slice payload comprising slice data, wherein no information from any slice payload of any VCL NAL unit in the bitstream is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

24. A method (800) performed by a decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the method comprising: obtaining (s802) a bitstream that was produced by an encoder, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture; and using (s804) the PU included in the bitstream to produce the reconstructed picture, wherein the PU comprises a first coded picture sample unit corresponding to the first region of the picture, the PU comprises a second coded picture sample unit corresponding to the second region of the picture, the first coded picture sample unit consists of i) a first fixed length encoded or Huffman encoded header part and ii) a fixed length encoded or Huffman encoded data part consisting of fixed length encoded or Huffman encoded picture sample values, andthe second coded picture sample unit consists of i) a second fixed length encoded or Huffman encoded header part and ii) an arithmetically encoded data part consisting of arithmetically encoded picture sample values.

25. The method of claim 24, wherein the method further comprises: decoding a first unit type from the first coded picture sample unit, wherein the first unit type indicates that the data part of the first coded picture sample unit is fixed length encoded or Huffman encoded; and decoding a second unit type from the second coded picture sample unit, wherein the second unit type indicates that the data part of the second coded picture sample unit is arithmetically encoded.

26. The method of claim 25, wherein the method further comprises decoding the first unit type from the first fixed length encoded or Huffman encoded header part and decoding the second unit type from the second fixed length encoded or Huffman encoded header part.

27. A computer program (943) comprising instructions (944) which when executed by processing circuitry (902) of an apparatus (900) causes the apparatus to perform the method of any one of claims 1-26.

28. A decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the decoding being configured to: obtain (s402) a bitstream; and use (s404) the bitstream to produce the reconstructed picture, wherein the bitstream comprises a first coded picture sample unit corresponding to the first region of the picture, and the bitstream further comprises indicator information indicating that, for the second region of the picture, the bitstream does not comprise a coded picture sample unit corresponding to the second region.

29. The decoder of claim 28, wherein the decoder is further configured to perform the method of any one of claims 2-10.

30. A decoder (104) for decoding a coded picture from a bitstream into a decoded picture, the decoding being configured to: decode (s502) N spatial regions of the coded picture, wherein the N spatial regions comprise the complete decoded picture, a first region of the N spatial regions is decoded from a first coded picture sample unit comprised in the bitstream, and the bitstream comprises indicator information indicating that a second region of the N spatial regions is not decoded from any coded picture sample unit in the bitstream.

31. The decoder of claim 30, wherein the decoder is further configured to perform the method of any one of claims 12-14.

32. A decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the decoder being configured to: obtain (s602) a bitstream that was produced by an encoder, wherein the bitstream comprises a first video coding layer, VCL, network abstraction layer, NAL, unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and payload; produce (s604) reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture; and produce (s606) reconstructed sample values corresponding to the second region of the picture using only: i) predefined sample values and / or ii) reconstructed sample values corresponding to a co-located region of one or more reference pictures.

33. The decoder of claim 32, wherein the decoder is further configured to perform the method of any one of claims 16-19.

34. A decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of N regions including at least a first region and a second region, the decoder being configured to: obtain (s702) a bitstream that was produced by an encoder, wherein the bitstream comprises a set of video coding layer, VCL, network abstraction layer, NAL, units corresponding to the original picture, wherein the set of VCL NAL units comprise a first VCL NAL unit corresponding to the first region of the picture, the first VCL NAL unit comprising a header and a payload; produce (s704) reconstructed sample values corresponding to the first region of the picture using information contained in the payload of the first VCL NAL unit corresponding to the first region of the picture; and produce (s706) reconstructed sample values corresponding to the second region of the picture, wherein no information from any VCL NAL unit included in the set of VCL NAL units is used to produce any of the reconstructed sample values corresponding to the second region of the picture, no information derived from any sample value of the second region of the original picture is used to produce any of the reconstructed sample values corresponding to the second region of the picture, or each VCL NAL unit in the bitstream comprises a slice header and a slice payload comprising slice data, wherein no information from any slice payload of any VCL NAL unit in the bitstream is used to produce any of the reconstructed sample values corresponding to the second region of the picture.

35. The decoder of claim 34, wherein the decoder is further configured to perform the method of any one of claims 21-23.

36. A decoder (104) for producing a reconstructed picture corresponding to an original picture, wherein the original picture consists of a plurality of regions including at least a first region and a second region, the decoder being configured to:obtain (s802) a bitstream that was produced by an encoder, wherein the bitstream comprises a picture unit, PU, for enabling the decoder to produce the reconstructed picture; and use (s804) the PU included in the bitstream to produce the reconstructed picture, wherein the PU comprises a first coded picture sample unit corresponding to the first region of the picture, the PU comprises a second coded picture sample unit corresponding to the second region of the picture, the first coded picture sample unit consists of i) a first fixed length encoded or Huffman encoded header part and ii) a fixed length encoded or Huffman encoded data part consisting of fixed length encoded or Huffman encoded picture sample values, and the second coded picture sample unit consists of i) a second fixed length encoded or Huffman encoded header part and ii) an arithmetically encoded data part consisting of arithmetically encoded picture sample values.

37. The decoder of claim 36, wherein the decoder is further configured to perform the method of any one of claims 25-26.

Citation Information

Patent Citations

  • An apparatus, a method and a computer program for video coding and decoding

    US20160165248A1

  • Line Buffer for Spatial Motion Vector Predictor Candidates

    US20210058624A1

  • Concept for picture / video data streams allowing efficient reducibility or efficient random access

    US20210105495A1

  • Tile Signaling In Video Coding

    US20210211663A1

  • Video codec allowing sub-picture or region wise random access and concept for video composition using the same

    US20210360291A1