Image encoding / decoding method and apparatus based on scan order information, and recording medium storing bit stream
By using the flag information in the bitstream in the image decoding device to determine the scanning order of the sub-picture, the problem of low high-resolution and high-quality image encoding/decoding efficiency in the prior art is solved, and efficient image transmission and storage are realized.
Patent Information
- Application Number
- CN202380058318.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-16
- Filing Date
- 2023-06-15
- Publication Date
- 2025-05-02
AI Technical Summary
The prior art is difficult to effectively solve the encoding/decoding efficiency problems of high resolution and high-quality images, especially with challenges in transmission and storage costs.
The method performed by the image decoding device is used to determine the scanning order of the sub-picture, including the raster scanning order and other scanning orders, using the flag information in the bitstream, thereby improving the encoding/decoding efficiency.
It achieves improved encoding/decoding efficiency, supports efficient image transmission and storage, suitable for high resolution and high quality images.
Smart Images

Figure CN119923859A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an image encoding / decoding method and apparatus and a recording medium storing a bit stream, and more particularly, to an image encoding / decoding method and apparatus based on scanning order information, and a recording medium storing a bit stream generated by the image encoding method / apparatus of the present disclosure. Background Art
[0002] Recently, the demand for high-resolution and high-quality images, such as high-definition (HD) images and ultra-high-definition (UHD) images, is increasing in various fields. As the resolution and quality of image data are improved, the amount of information or bit volume transmitted is relatively increased compared to existing image data. The increase in the amount of information or bit volume transmitted leads to an increase in transmission cost and storage cost.
[0003] Therefore, efficient image compression technology is needed to effectively transmit, store, and reproduce information about high-resolution and high-quality images. Summary of the invention
[0004] Technical issues
[0005] An object of the present disclosure is to provide an image encoding / decoding method and apparatus with improved encoding / decoding efficiency.
[0006] In addition, an object of the present disclosure is to provide an image encoding / decoding method and apparatus based on scanning order information.
[0007] In addition, an object of the present disclosure is to provide an image encoding / decoding method and apparatus for efficiently signaling scanning order information of a segmentation unit.
[0008] In addition, an object of the present disclosure is to provide an image encoding / decoding method and apparatus for efficiently signaling scanning order information according to the shape of a segmentation unit.
[0009] In addition, an object of the present disclosure is to provide a non-transitory computer-readable recording medium storing a bit stream generated by the image encoding method or apparatus according to the present disclosure.
[0010] In addition, an object of the present disclosure is to provide a non-transitory computer-readable recording medium storing a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image.
[0011] In addition, an object of the present disclosure is to provide a method of transmitting a bit stream generated by the image encoding method or apparatus according to the present disclosure.
[0012] The technical problems solved by the present disclosure are not limited to the above-mentioned technical problems, and other technical problems not described herein will be apparent to those skilled in the art through the following description.
[0013] Technical Solution
[0014] According to one embodiment of the present disclosure, an image decoding method performed by an image decoding device may include the following steps: acquiring a first flag related to a sub-picture from a bitstream, and determining a scanning order of the sub-picture based on the presence of information about the sub-picture indicated by the first flag.
[0015] According to one embodiment of the present disclosure, the scanning order of the sub-picture can be determined based on a second flag indicating whether the scanning order of the sub-picture is a raster scanning order, and based on the presence of information about the sub-picture indicated by the first flag, the second flag can be obtained from the bit stream.
[0016] According to one embodiment of the present disclosure, the second flag may be obtained from at least one of a sequence parameter set (SPS), general constraint information (GCE), a supplemental enhancement information (SEI) message, or video usage information (VUI).
[0017] According to one embodiment of the present disclosure, the second flag may be acquired based on the number of the sub-pictures exceeding 2.
[0018] According to one embodiment of the present disclosure, based on the number of the sub-pictures being equal to or less than 2, the value of the second flag may be constrained to indicate a raster scan order.
[0019] According to one embodiment of the present disclosure, based on the fact that the second flag is obtained from the SEI message, the second flag may indicate whether the scanning order of the sub-picture for a continuous coded video sequence (CVS) is a raster scanning order.
[0020] According to one embodiment of the present disclosure, based on the fact that the second flag is obtained from the SEI message, the second flag may exist before the first VCL NAL unit in the CVS.
[0021] According to one embodiment of the present disclosure, the sub-picture may include a first sub-picture and a second sub-picture, and based on the fact that the top offset of the first CTU in the first sub-picture is less than or equal to the top offset of the first CTU in the second sub-picture and the left offset of the first CTU in the first sub-picture is less than the left offset of the first CTU in the second sub-picture, the scanning order of the sub-pictures may be determined as a raster scanning order.
[0022] According to one embodiment of the present disclosure, further based on the fact that the left boundary and the top boundary of the first sub-picture are composed of the boundary of the current image including the sub-picture, or are composed of the boundary of a sub-picture decoded after the second sub-picture, the scanning order of the sub-picture can be determined as the raster scanning order.
[0023] According to one embodiment of the present disclosure, an image encoding method performed by an image encoding device may include the following steps: determining whether information about a sub-picture exists, and determining a scanning order of the sub-picture based on the existence of the information about the sub-picture, and a first flag indicating whether the information about the sub-picture exists may be encoded in a bit stream.
[0024] According to one embodiment of the present disclosure, in a method for sending a bit stream generated by an image encoding method, the image encoding method may include the following steps: determining whether information about a sub-picture exists, and determining a scanning order of the sub-picture based on the existence of the information about the sub-picture, and a first flag indicating whether the information about the sub-picture exists may be encoded in the bit stream.
[0025] Beneficial Effects
[0026] According to the present disclosure, an image encoding / decoding method and apparatus with improved encoding / decoding efficiency can be provided.
[0027] Furthermore, according to the present disclosure, an image encoding / decoding method and apparatus based on scanning order information can be provided.
[0028] Furthermore, according to the present disclosure, an image encoding / decoding method and apparatus for efficiently signaling scanning order information of a segmentation unit can be provided.
[0029] Furthermore, according to the present disclosure, an image encoding / decoding method and apparatus for efficiently signaling scanning order information according to the shape of a division unit can be provided.
[0030] Furthermore, according to the present disclosure, a non-transitory computer-readable recording medium storing a bit stream generated by the image encoding method or apparatus according to the present disclosure may be provided.
[0031] Furthermore, according to the present disclosure, a non-transitory computer-readable recording medium storing a bit stream received and decoded by the image decoding apparatus according to the present disclosure and used to reconstruct an image can be provided.
[0032] Furthermore, according to the present disclosure, a method of transmitting a bit stream generated by the image encoding method or apparatus according to the present disclosure may be provided.
[0033] Those skilled in the art will understand that the effects that can be achieved through the present disclosure are not limited to what has been specifically described above, and other advantages of the present disclosure will be more clearly understood from the detailed description. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 FIG. 4 is a diagram schematically showing a video encoding system to which an embodiment of the present disclosure is applicable.
[0035] Figure 2 is a view schematically showing an image encoding device to which an embodiment of the present disclosure is applicable.
[0036] Figure 3 is a view schematically showing an image decoding device to which an embodiment of the present disclosure is applicable.
[0037] Figure 4 is a diagram illustrating an example of dividing a screen into raster scan slices and tiles.
[0038] Figure 5 is a view illustrating an example of dividing a screen into rectangular slices.
[0039] Figure 6 is a view illustrating an example of dividing a screen into tiles and rectangular slices.
[0040] Figure 7 is a view illustrating an example of screen division.
[0041] Figure 8 is a view illustrating an example of dividing a screen into tiles.
[0042] Fig. 9 is a view illustrating a scanning order of slices in a screen according to one embodiment of the present disclosure.
[0043] Fig.10 is a view illustrating a structure of a sub-screen according to one embodiment of the present disclosure.
[0044] Fig.11 is a flowchart showing an image encoding sequence according to one embodiment of the present disclosure.
[0045] Fig.12 is a flowchart showing an image decoding sequence according to one embodiment of the present disclosure.
[0046] Fig.13 The present invention is a flowchart of an image encoding method for determining a scanning order according to an embodiment of the present disclosure.
[0047] Fig.14The present invention is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present disclosure.
[0048] Fig.15 The present invention is a flowchart of an image encoding method for determining a scanning order according to an embodiment of the present disclosure.
[0049] Fig.16 The present invention is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present disclosure.
[0050] Fig.17 The present invention is a flowchart of an image encoding method for determining a scanning order according to an embodiment of the present disclosure.
[0051] Fig.18 The present invention is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present disclosure.
[0052] Fig.19 is a view showing a sub-picture structure according to one embodiment of the present disclosure.
[0053] Fig. 20 is a flowchart of a process of determining a scanning order of sub-pictures according to one embodiment of the present disclosure.
[0054] Fig.21 is a diagram showing a content streaming system to which one embodiment of the present disclosure is applicable. DETAILED DESCRIPTION
[0055] Hereinafter, the embodiments of the present disclosure will be described in detail with reference to the accompanying drawings to facilitate implementation by those skilled in the art. However, the present disclosure may be implemented in various forms and is not limited to the embodiments described herein.
[0056] When describing the present disclosure, if it is determined that the detailed description of related known functions or configurations makes the scope of the present disclosure unnecessarily ambiguous, the detailed description thereof will be omitted. In the drawings, parts irrelevant to the description of the present disclosure are omitted, and like reference numerals are given to like parts.
[0057] In the present disclosure, when a component is "connected", "coupled" or "linked" to another component, it may include not only a direct connection relationship but also an indirect connection relationship with intermediate components. In addition, when a component "includes" or "has" other components, unless otherwise specified, it means that other components may also be included, rather than excluding other components.
[0058] In the present disclosure, the terms first, second, etc. may be used only for the purpose of distinguishing one component from other components, and do not limit the order or importance of the components, unless otherwise specified. Accordingly, within the scope of the present disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.
[0059] In the present disclosure, components that are distinguished from each other are intended to clearly describe each feature and do not mean that the components must be separated. That is, multiple components can be integrated and implemented in one hardware or software unit, or one component can be distributed and implemented in multiple hardware or software units. Therefore, even if not otherwise specified, these embodiments in which the components are integrated or the components are distributed are also included in the scope of the present disclosure.
[0060] In the present disclosure, the components described in each embodiment are not necessarily indispensable components, and some components may be optional components. Therefore, the embodiments consisting of a subset of the components described in the embodiments are also included in the scope of the present disclosure. In addition, the embodiments including other components in addition to the components described in the various embodiments are included in the scope of the present disclosure.
[0061] The present disclosure relates to encoding and decoding of images. Unless otherwise defined in the present disclosure, terms used in the present disclosure may have general meanings commonly used in the technical field to which the present disclosure belongs.
[0062] In this disclosure, "video" may mean a set of images over time.
[0063] In the present disclosure, "picture" generally means the basis of representing an image within a specific time period, and a slice / tile is a coding unit that constitutes a part of a picture. A picture may be composed of one or more slices / tiles. In addition, a slice / tile may include one or more coding tree units (CTUs).
[0064] In the present disclosure, "pixel" or "pel" may refer to the smallest unit constituting a picture (or image). In addition, "sample" may be used as a term corresponding to a pixel. A sample may generally represent a pixel or a pixel value, or may represent only a pixel / pixel value of a luminance component or only a pixel / pixel value of a chrominance component.
[0065] In the present disclosure, a "unit" may refer to a basic unit of image processing. The unit may include at least one of a specific area of the picture and information related to the area. A unit may include a luminance block and two chrominance (e.g., Cb, Cr) blocks. In some cases, the unit may be used interchangeably with terms such as "sample array", "block" or "area". In general, an M×N block may include M columns and N rows of samples (or sample arrays) or a set (or array) of transform coefficients.
[0066] In the present disclosure, "current block" may mean one of "current coding block", "current coding unit", "coding target block", "decoding target block" or "processing target block". When prediction is performed, "current block" may mean "current prediction block" or "prediction target block". When transform (inverse transform) / quantization (dequantization) is performed, "current block" may mean "current transform block" or "transform target block". When filtering is performed, "current block" may mean "filtering target block".
[0067] In addition, in the present disclosure, unless explicitly stated as a chroma block, "current block" may mean a block including a luma component block and a chroma component block or a "luminance block of the current block". The luma component block of the current block may be expressed by an explicit description including a luma component block such as "luminance block" or "current luma block". In addition, "chroma component block of the current block" may be expressed by an explicit description including a chroma component block such as "chroma block" or "current chroma block".
[0068] In the present disclosure, the slash " / " or "," should be interpreted as indicating "and / or". For example, the expressions "A / B" and "A, B" may mean "A and / or B". In addition, "A / B / C" and "A, B, C" may mean "at least one of A, B and / or C".
[0069] In the present disclosure, the term "or" should be interpreted as indicating "and / or". For example, the expression "A or B" may include 1) only "A", 2) only "B", and / or 3) both "A and B". In other words, in the present disclosure, the term "or" should be interpreted as indicating "additionally or alternatively".
[0070] In the present disclosure, "at least one of A, B, and C" may mean "only A", "only B", "only C", or "any and all combinations of A, B, and C". In addition, "at least one of A, B, or C" or "at least one of A, B and / or C" may mean "at least one of A, B, and C".
[0071] The brackets used in the present disclosure may mean "for example". For example, if "prediction (intra-frame prediction)" is indicated, "intra-frame prediction" may be proposed as an example of "prediction". In other words, "prediction" in the present disclosure is not limited to "intra-frame prediction", and "intra-frame prediction" may be proposed as an example of "prediction". In addition, even when "prediction (i.e., intra-frame prediction)" is indicated, "intra-frame prediction" may be proposed as an example of "prediction".
[0072] Overview of Video Coding Systems
[0073] Figure 1 is a diagram schematically showing a video encoding system to which an embodiment of the present disclosure is applicable.
[0074] The video encoding system according to the embodiment may include an encoding device 10 and a decoding device 20. The encoding device 10 may deliver the encoded video and / or image information or data to the decoding device 20 via a digital storage medium or a network in the form of a file or a stream.
[0075] The encoding device 10 according to the embodiment may include a video source generator 11, an encoder 12, and a transmitter 13. The decoding device 20 according to the embodiment may include a receiver 21, a decoder 22, and a renderer 23. The encoder 12 may be referred to as a video / image encoding device, and the decoder 22 may be referred to as a video / image decoding device. The transmitter 13 may be included in the encoder 12. The receiver 21 may be included in the decoder 22. The renderer 23 may include a display and the display may be configured as a separate device or an external component.
[0076] The video source generator 11 can obtain the video / image by the process of capturing, synthesizing or generating the video / image. The video source generator 11 may include a video / image capturing device and / or a video / image generating device. The video / image capturing device may include, for example, one or more cameras, a video / image archive including previously captured videos / images, etc. The video / image generating device may include, for example, a computer, a tablet computer, and a smart phone, and may generate the video / image (electronically). For example, a virtual video / image may be generated by a computer, etc. In this case, the video / image capturing process may be replaced by a process of generating relevant data.
[0077] The encoder 12 may encode the input video / image. For compression and coding efficiency, the encoder 12 may perform a series of processes such as prediction, transformation, and quantization. The encoder 12 may output the encoded data (encoded video / image information) in the form of a bitstream.
[0078] The transmitter 13 may transmit the encoded video / image information or data output in the form of a bit stream to the receiver 21 of the decoding device 20 in the form of a file or stream through a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. The transmitter 13 may include an element for generating a media file in a predetermined file format and may include an element for transmitting through a broadcast / communication network. The transmitter 13 may be provided as a transmitting device separated from the encoder 12. In this case, the transmitting device includes: at least one processor that obtains the encoded video / image information or data output in the form of a bit stream; and a transmitter that delivers the encoded video / image information or data in the form of a file or stream. The receiver 21 may extract / receive a bit stream from a storage medium or a network and transmit the bit stream to the decoder 22.
[0079] The decoder 22 may decode a video / image by performing a series of processes corresponding to the operations of the encoder 12, such as dequantization, inverse transformation, and prediction.
[0080] The renderer 23 may render the decoded video / image. The rendered video / image may be displayed through a display.
[0081] Overview of Image Coding Equipment
[0082] Figure 2 is a view schematically showing an image encoding device to which an embodiment of the present disclosure is applicable.
[0083] like Figure 2 As shown, the image encoding device 100 may include an image segmenter 110, a subtractor 115, a transformer 120, a quantizer 130, a dequantizer 140, an inverse transformer 150, an adder 155, a filter 160, a memory 170, an inter-frame prediction unit 180, an intra-frame prediction unit 185, and an entropy encoder 190. The inter-frame prediction unit 180 and the intra-frame prediction unit 185 may be collectively referred to as a "prediction unit". The transformer 120, the quantizer 130, the dequantizer 140, and the inverse transformer 150 may be included in a residual processor. The residual processor may also include a subtractor 115.
[0084] In some embodiments, all or at least some of the components configuring the image encoding apparatus 100 may be configured by one hardware component (eg, an encoder or a processor). In addition, the memory 170 may include a decoded picture buffer (DPB) and may be configured by a digital storage medium.
[0085] The image segmenter 110 may segment the input image (or picture or frame) input to the image encoding device 100 into one or more processing units. For example, the processing unit may be referred to as a coding unit (CU). The coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or a maximum coding unit (LCU) according to a quadtree binary tree ternary tree (QT / BT / TT) structure. For example, a coding unit may be segmented into a plurality of coding units of a deeper depth based on a quadtree structure, a binary tree structure, and / or a ternary tree structure. For the segmentation of the coding unit, the quadtree structure may be applied first, and the binary tree structure and / or the ternary tree structure may be applied later. The encoding process according to the present disclosure may be performed based on the final coding unit that is no longer segmented. The maximum coding unit may be used as the final coding unit, and the coding unit of a deeper depth obtained by segmenting the maximum coding unit may also be used as the final coding unit. Here, the encoding process may include the prediction, transformation, and reconstruction processes described later. As another example, the processing unit of the encoding process may be a prediction unit (PU) or a transformation unit (TU). The prediction unit and the transform unit may be divided or partitioned from the final coding unit. The prediction unit may be a sample prediction unit, and the transform unit may be a unit for deriving a transform coefficient and / or a unit for deriving a residual signal from the transform coefficient.
[0086] The prediction unit (inter prediction unit 180 or intra prediction unit 185) may perform prediction on the block to be processed (current block) and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction based on the current block or CU. The prediction unit may generate various information related to the prediction of the current block and send the generated information to the entropy encoder 190. The information about the prediction may be encoded in the entropy encoder 190 and output in the form of a bitstream.
[0087] The intra prediction unit 185 can predict the current block by referring to the samples in the current picture. Depending on the intra prediction mode and / or the intra prediction technology, the reference samples can be located in the neighbors of the current block or can be placed separately. The intra prediction mode may include multiple non-directional modes and multiple directional modes. The non-directional mode may include, for example, a DC mode and a plane mode. Depending on the level of detail of the prediction direction, the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes. However, this is only an example, and more or fewer directional prediction modes may be used according to the settings. The intra prediction unit 185 may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.
[0088] The inter prediction unit 180 may derive a prediction block of the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. In this case, in order to reduce the amount of motion information sent in the inter prediction mode, the motion information may be predicted in units of blocks, sub-blocks or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may also include inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter prediction, the neighboring blocks may include spatial neighboring blocks present in the current picture and temporal neighboring blocks present in the reference picture. The reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different. The temporal neighboring block may be referred to as a collocated reference block, a co-located CU (colCU), etc. The reference picture including the temporal neighboring block may be referred to as a collocated picture (colPic). For example, the inter prediction unit 180 may configure a motion information candidate list based on the neighboring blocks and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes. For example, in the case of skip mode and merge mode, the inter prediction unit 180 may use the motion information of the neighboring block as the motion information of the current block. In the case of skip mode, unlike the merge mode, a residual signal may not be sent. In the case of motion vector prediction (MVP) mode, the motion vector of the neighboring block may be used as a motion vector predictor, and the motion vector of the current block may be signaled by encoding the motion vector difference and an indicator of the motion vector predictor. The motion vector difference may mean the difference between the motion vector of the current block and the motion vector predictor.
[0089] The prediction unit may generate a prediction signal based on various prediction methods and prediction techniques described below. For example, the prediction unit may apply not only intra prediction or inter prediction, but also both intra prediction and inter prediction at the same time to predict the current block. The prediction method of applying both intra prediction and inter prediction to predict the current block may be referred to as combined inter and intra prediction (CIIP). In addition, the prediction unit may perform intra block copying (IBC) to predict the current block. Intra block copying may be used for content image / video encoding of games, etc., such as screen content coding (SCC). IBC is a method of predicting the current picture using a previously reconstructed reference block in the current picture at a position separated by a predetermined distance from the current block. When IBC is applied, the position of the reference block in the current picture may be encoded as a vector (block vector) corresponding to a predetermined distance. IBC basically performs prediction in the current picture, but may be performed similarly to inter prediction because the reference block is derived within the current picture. That is, IBC may use at least one of the inter prediction techniques described in the present disclosure.
[0090] The prediction signal generated by the prediction unit can be used to generate a reconstruction signal or to generate a residual signal. The subtractor 115 can generate a residual signal (residual block or residual sample array) by subtracting the prediction signal (prediction block or prediction sample array) output from the prediction unit from the input image signal (original block or original sample array). The generated residual signal can be sent to the transformer 120.
[0091] The transformer 120 may generate transform coefficients by applying a transform technique to the residual signal. For example, the transform technique may include at least one of a discrete cosine transform (DCT), a discrete sine transform (DST), a karhunen-loève transform (KLT), a graph-based transform (GBT), or a conditional nonlinear transform (CNT). Here, GBT refers to a transform obtained from a graph when relationship information between pixels is represented by a graph. CNT refers to a transform obtained based on a prediction signal generated using all previously reconstructed pixels. In addition, the transform process may be applied to square pixel blocks of the same size or may be applied to blocks of variable size rather than square.
[0092] The quantizer 130 may quantize the transform coefficients and send them to the entropy encoder 190. The entropy encoder 190 may encode the quantized signal (information about the quantized transform coefficients) and output a bitstream. The information about the quantized transform coefficients may be referred to as residual information. The quantizer 130 may rearrange the quantized transform coefficients of the block type into a one-dimensional vector form based on the coefficient scanning order, and generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
[0093] The entropy encoder 190 may perform various encoding methods, such as, for example, exponential Golomb, context adaptive variable length coding (CAVLC), context adaptive binary arithmetic coding (CABAC), etc. The entropy encoder 190 may encode information required for video / image reconstruction other than quantized transform coefficients together or separately (e.g., values of syntax elements, etc.). The encoded information (e.g., encoded video / image information) may be transmitted or stored in units of a network abstraction layer (NAL) in the form of a bitstream. The video / image information may also include information about various parameter sets, such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The signaled information, transmitted information, and / or syntax elements described in the present disclosure may be encoded and included in a bitstream through the above-described encoding process.
[0094] The bit stream may be transmitted through a network or may be stored in a digital storage medium. The network may include a broadcast network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmitter (not shown) that transmits a signal output from the entropy encoder 190 and / or a storage unit (not shown) that stores the signal may be included as an internal / external element of the image encoding device 100. Alternatively, a transmitter may be provided as a component of the entropy encoder 190.
[0095] The quantized transform coefficients output from the quantizer 130 may be used to generate a residual signal. For example, the residual signal (residual block or residual sample) may be reconstructed by applying dequantization and inverse transformation to the quantized transform coefficients through the dequantizer 140 and the inverse transformer 150.
[0096] The adder 155 adds the reconstructed residual signal to the prediction signal output from the inter-frame prediction unit 180 or the intra-frame prediction unit 185 to generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array). If the block to be processed has no residual, such as the case where the skip mode is applied, the prediction block can be used as a reconstructed block. The adder 155 can be called a reconstructor or a reconstructed block generator. The generated reconstructed signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can be used for inter-frame prediction of the next picture by filtering as described below.
[0097] In addition, as described below, chroma scaling and luminance mapping (LMCS) is applied to the picture coding process.
[0098] The filter 160 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 160 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 170, specifically, in the DPB of the memory 170. Various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc. The filter 160 can generate various information related to filtering and send the generated information to the entropy encoder 190, as described later in the description of each filtering method. The information related to filtering can be encoded by the entropy encoder 190 and output in the form of a bit stream.
[0099] The modified reconstructed picture transmitted to the memory 170 may be used as a reference picture in the inter prediction unit 180. When inter prediction is applied by the image encoding apparatus 100, prediction mismatch between the image encoding apparatus 100 and the image decoding apparatus may be avoided and encoding efficiency may be improved.
[0100] The DPB of the memory 170 may store the modified reconstructed picture for use as a reference picture in the inter-frame prediction unit 180. The memory 170 may store the motion information of the block for deriving (or encoding) the motion information in the current picture and / or the motion information of the reconstructed block in the picture. The stored motion information may be sent to the inter-frame prediction unit 180 and used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 170 may store the reconstructed samples of the reconstructed blocks in the current picture and may transmit the reconstructed samples to the intra-frame prediction unit 185.
[0101] Overview of Image Decoding Equipment
[0102] Figure 3 is a view schematically showing an image decoding device to which an embodiment of the present disclosure is applicable.
[0103] like Figure 3 As shown, the image decoding device 200 may include an entropy decoder 210, a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 260, and an intra-frame prediction unit 265. The inter-frame prediction unit 260 and the intra-frame prediction unit 265 may be collectively referred to as a "prediction unit". The dequantizer 220 and the inverse transformer 230 may be included in a residual processor.
[0104] According to an embodiment, all or at least some of the multiple components configuring the image decoding apparatus 200 may be configured by hardware components (eg, a decoder or a processor). In addition, the memory 250 may include a decoded picture buffer (DPB) or may be configured by a digital storage medium.
[0105] The image decoding device 200 having received a bit stream including video / image information may perform the same Figure 2 The image encoding device 100 may reconstruct the image by processing corresponding to the processing performed by the image encoding device 100. For example, the image decoding device 200 may perform decoding using a processing unit applied in the image encoding device. Therefore, the processing unit of decoding may be, for example, a coding unit. The coding unit may be obtained by partitioning the coding tree unit or the maximum coding unit. The reconstructed image signal decoded and output by the image decoding device 200 may be reproduced by a reproduction device (not shown).
[0106] The image decoding device 200 may receive the image in the form of a bit stream from Figure 2The received signal may be decoded by the entropy decoder 210. For example, the entropy decoder 210 may parse the bitstream to derive information (e.g., video / image information) required for image reconstruction (or picture reconstruction). The video / image information may also include information about various parameter sets, such as an adaptive parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). In addition, the video / image information may also include general constraint information. The image decoding device may also decode the picture based on the information about the parameter set and / or the general constraint information. The signaled / received information and / or syntax elements described in the present disclosure may be decoded and obtained from the bitstream through a decoding process. For example, the entropy decoder 210 may decode the information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the values of the syntax elements required for image reconstruction and the quantized values of the transform coefficients of the residual. More specifically, the CABAC entropy decoding method can receive a bin corresponding to each syntax element in the bitstream, use the decoding target syntax element information, the decoding information of the neighboring block and the decoding target block, or the information of the symbol / bin decoded in the previous stage to determine the context model, perform arithmetic decoding on the bin by predicting the probability of occurrence of the bin according to the determined context model, and generate a symbol corresponding to the value of each syntax element. In this case, the CABAC entropy decoding method can update the context model by using the information of the decoded symbol / bin for the context model of the next symbol / bin after determining the context model. The information related to prediction among the information decoded by the entropy decoder 210 can be provided to the prediction unit (inter-frame prediction unit 260 and intra-frame prediction unit 265), and the residual value (ie, quantized transform coefficient and related parameter information) for which entropy decoding is performed in the entropy decoder 210 can be input to the dequantizer 220. In addition, the information about filtering among the information decoded by the entropy decoder 210 can be provided to the filter 240. In addition, a receiver (not shown) for receiving a signal output from the image encoding apparatus may be further configured as an internal / external element of the image decoding apparatus 200 , or the receiver may be a component of the entropy decoder 210 .
[0107] In addition, the image decoding device according to the present disclosure may be referred to as a video / image / picture decoding device. The image decoding device may be divided into an information decoder (video / image / picture information decoder) and a sample decoder (video / image / picture sample decoder). The information decoder may include an entropy decoder 210. The sample decoder may include a dequantizer 220, an inverse transformer 230, an adder 235, a filter 240, a memory 250, an inter-frame prediction unit 260, or at least one of an intra-frame prediction unit 265.
[0108] The dequantizer 220 may dequantize the quantized transform coefficients and output the transform coefficients. The dequantizer 220 may rearrange the quantized transform coefficients in the form of two-dimensional blocks. In this case, the rearrangement may be performed based on the coefficient scanning order performed in the image encoding device. The dequantizer 220 may dequantize the quantized transform coefficients by using a quantization parameter (e.g., quantization step size information) and obtain the transform coefficients.
[0109] The inverse transformer 230 may perform an inverse transformation on the transformation coefficients to obtain a residual signal (residual block, residual sample array).
[0110] The prediction unit may perform prediction on the current block and generate a prediction block including prediction samples of the current block. The prediction unit may determine whether to apply intra prediction or inter prediction to the current block based on the information about prediction output from the entropy decoder 210, and may determine a specific intra / inter prediction mode (prediction technique).
[0111] The same as described in the prediction unit of the image encoding device 100 , the prediction unit can generate a prediction signal based on various prediction methods (techniques) to be described later.
[0112] The intra prediction unit 265 may predict the current block by referring to samples in the current picture. The description of the intra prediction unit 185 is also applicable to the intra prediction unit 265.
[0113] The inter-frame prediction unit 260 can derive the prediction block of the current block based on the reference block (reference sample array) specified by the motion vector on the reference picture. In this case, in order to reduce the amount of motion information sent in the inter-frame prediction mode, the motion information can be predicted in units of blocks, sub-blocks or samples based on the correlation of the motion information between the neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may also include inter-frame prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.) information. In the case of inter-frame prediction, the neighboring blocks may include spatial neighboring blocks existing in the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter-frame prediction unit 260 may configure a motion information candidate list based on the neighboring blocks, and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter-frame prediction may be performed based on various prediction modes, and information about the prediction may include information indicating the inter-frame prediction mode of the current block.
[0114] The adder 235 can generate a reconstruction signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the obtained residual signal to the prediction signal (prediction block, prediction sample array) output from the prediction unit (including the inter-frame prediction unit 260 and / or the intra-prediction unit 265). If the block to be processed has no residual, such as when the skip mode is applied, the prediction block can be used as the reconstructed block. The description of the adder 155 also applies to the adder 235. The adder 235 can be called a reconstructor or a reconstructed block generator. The generated reconstruction signal can be used for intra-frame prediction of the next block to be processed in the current picture, and can be used for inter-frame prediction of the next picture by filtering as described below.
[0115] The filter 240 can improve the subjective / objective image quality by applying filtering to the reconstructed signal. For example, the filter 240 can generate a modified reconstructed picture by applying various filtering methods to the reconstructed picture, and store the modified reconstructed picture in the memory 250, specifically, in the DPB of the memory 250. The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filtering, bilateral filtering, etc.
[0116] The (modified) reconstructed picture stored in the DPB of the memory 250 can be used as a reference picture in the inter-frame prediction unit 260. The memory 250 can store the motion information of the block for deriving (or decoding) the motion information in the current picture and / or the motion information of the reconstructed block in the picture. The stored motion information can be sent to the inter-frame prediction unit 260 to be used as the motion information of the spatial neighboring block or the motion information of the temporal neighboring block. The memory 250 can store the reconstructed samples of the reconstructed block in the current picture and transmit the reconstructed samples to the intra-frame prediction unit 265.
[0117] In the present disclosure, the implementations described in the filter 160, the inter-frame prediction unit 180 and the intra-frame prediction unit 185 of the image encoding device 100 can be equally or correspondingly applied to the filter 240, the inter-frame prediction unit 260 and the intra-frame prediction unit 265 of the image decoding device 200.
[0118] Overview of Image Segmentation
[0119] The video / image encoding method according to the present disclosure can be performed based on the segmentation structure of the image described below. Specifically, the above-mentioned processes of prediction, residual processing ((inverse) transform, (de)quantization, etc.), syntax element encoding and filtering can be performed based on the CTU or CU (and / or TU, PU) derived from the segmentation structure of the image. The image can be divided into block units, and the block segmentation process can be performed in the image segmentor 110 of the above-mentioned image encoding device 100. The segmentation related information can be encoded in the entropy encoder 190 and passed to the image decoding device 200 in the form of a bitstream. The entropy decoder 210 of the image decoding device 200 can derive the block segmentation structure of the current picture based on the segmentation related information obtained from the bitstream, and perform a series of processes for image decoding (e.g., prediction, residual processing, block / picture reconstruction, in-loop filtering, etc.) based on the block segmentation structure.
[0120] According to the present disclosure, the CU size and the TU size may be equal to each other. Alternatively, multiple TUs may exist in the CU area. In addition, the CU size may generally represent the luminance component (sample) CB size. The TU size may generally represent the luminance component (sample) TB size. The chrominance component (sample) CB or TB size may be derived based on the luminance component (sample) CB or TB size according to the component ratio according to the color format (chrominance format, for example, 4:4:4, 4:2:2, 4:2:0) of the picture / image. The TU size may be derived based on maxTbSize. For example, when the CU size is greater than maxTbSize, multiple TUs (TBs) of maxTbSize may be derived from the CU, and transforms / inverse transforms may be performed in TU (TB) units. In addition, for example, when intra prediction is applied, the intra prediction mode / type may be derived in units of CU (or CB), and the process of deriving neighbor reference samples and generating prediction samples may be performed in units of TU (or TB). In this case, one TU (or TB) or a plurality of TUs (or TBs) may exist in one CU (or CB) region, and in this case, a plurality of TUs (or TBs) may share the same intra prediction mode / type.
[0121] In addition, in the video / image coding according to the present disclosure, the image processing unit may have a hierarchical structure. A picture may be divided into one or more tiles, tiles, slices and / or tile groups. A slice may include one or more tiles. A tile may include one or more CTU rows in a tile. A slice may include an integer number of tiles. A tile group may include one or more tiles. A tile may include one or more CTUs. A CTU may be divided into one or more CUs. A tile is a rectangular area of a CTU within a specific tile column and a specific tile row in a picture. A tile group may include an integer number of tiles scanned according to a tile raster in a picture. A slice header may carry information / parameters applicable to a corresponding slice (a block in a slice). In the case where the image encoding device 100 / image decoding device 200 has a multi-core processor, the encoding / decoding process for tiles, slices, tiles and / or tile groups may be processed in parallel. In this document, slices or tile groups may be used interchangeably. That is, a tile group header may be referred to as a slice header. Herein, a slice may have a type of slice type, including an intra (I) slice, a predicted (P) slice, and a bidirectional predicted (B) slice. For blocks in an I slice, inter prediction is not used for prediction, and only intra prediction may be used. Of course, in this case, the original sample values may be encoded and signaled without prediction. For blocks in a P slice, intra prediction or inter prediction may be used, and when inter prediction is used, only unidirectional prediction may be used. In addition, for blocks in a B slice, intra prediction or inter prediction may be used, and when inter prediction is used, bidirectional prediction may also be used.
[0122] In the image encoding device 100, the patch / patch group, tile, slice, and maximum and minimum coding unit sizes can be determined according to the characteristics of the video (for example, resolution) or by considering the efficiency of encoding or parallel processing, and information about them or information that can be derived thereof can be included in the bitstream.
[0123] In the image decoding device 200, information indicating whether a CTU, tile, slice, or tile in a tile / tile group of a current picture is partitioned into a plurality of coding units may be acquired. If such information is set to be acquired (sent) under certain conditions, efficiency may be improved.
[0124] The slice header (Slice Header Syntax) may include information / parameters that are generally applicable to slices. The APS (APS Syntax) or PPS (PPS Syntax) may include information / parameters that are generally applicable to one or more pictures. The SPS (SPS Syntax) may include information / parameters that are generally applicable to one or more sequences. The VPS (VPS Syntax) may include information / parameters that are generally applicable to multiple layers. The DPS (DPS Syntax) may include information / parameters that are generally applicable to the overall video. The DPS may include information / parameters related to the concatenation of a coded video sequence (CVS).
[0125] In the present disclosure, the upper layer syntax may include at least one of APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, and slice header syntax. In addition, for example, information on the partitioning and configuration of tiles / tile groups / tiles / slices may be configured in the image encoding device 100 through the upper layer syntax and delivered to the image decoding device 200 in the form of a bitstream.
[0126] Split the screen into sub-screens, slices and tiles
[0127] The picture may be partitioned into one or more tile rows and / or one or more tile columns. A tile may be a sequence of CTUs covering a rectangular area of the picture. The CTUs in a tile may be scanned in a raster scan order within the tile.
[0128] A slice may consist of an integer number of complete tiles, or an integer number of consecutive CTU rows included in a tile of a picture. Slices may exist in two modes, that is, in a raster scan slice mode and in a rectangular slice mode. In the raster scan slice mode, a slice may include one or more tiles arranged in a raster scan in a picture. In the rectangular slice mode, a slice may include an integer number of complete tiles forming a rectangular area in a picture, or an integer number of consecutive complete CTU rows in a tile forming a rectangular area of a picture. Tiles in a rectangular slice may be scanned in a raster scan order in the area of the rectangular slice.
[0129] A sub-picture may include one or more slices covering the entire slice area in the picture.
[0130] Figure 4 is a diagram illustrating an example of dividing a picture into raster scan slices and tiles. Figure 4 In the figure, a thick line may represent a boundary of a slice, a thin line may mean a boundary of a tile, and a dashed line may mean a boundary of a CTU. Figure 4 The picture can be divided into 12 blocks. In addition, Figure 4 The picture can be divided into 3 raster scan slices.
[0131] Figure 5 is a view illustrating an example of dividing a screen into rectangular slices. Figure 5 In the figure, a thick line may represent a boundary of a slice, a thin line may mean a boundary of a tile, and a dashed line may mean a boundary of a CTU. Figure 5 The picture can be divided into 24 tiles (6 tiles rows and 4 tiles columns). Figure 5 The picture can be divided into 9 rectangular slices.
[0132] Figure 6 is a view illustrating an example of dividing a picture into tiles and rectangular slices. Figure 6 In the figure, a thick line may represent a boundary of a slice, a thin line may mean a boundary of a tile, and a dashed line may mean a boundary of a CTU. Figure 6 The picture can be divided into 4 tiles (2 tile rows and 2 tile columns). Figure 6 The picture can be divided into 4 rectangular slices. According to the present disclosure, a tile can include multiple slices.
[0133] Figure 7 is a diagram illustrating an example of screen division. Figure 7 , the picture can be divided into 28 sub-pictures of various sizes. Specifically, the picture can be divided into 20 sub-pictures existing in area 710 and 8 sub-pictures existing in area 720. The sub-pictures existing in area 710 and the sub-pictures existing in area 720 may have different sizes. The present disclosure is not limited thereto, and the picture can be divided into various numbers of sub-pictures of various sizes.
[0134] When a picture is coded using 3 separate color planes (separate_colour_plane_flag has a value of 1), a slice may include only CTUs of one color component identified by the corresponding value of colour_plane_id, and each color component arrangement of the picture may consist of slices with the same value of colour_plane_id. Coded slices with different values of colour_plane_id in a picture may be interleaved with each other under certain constraints. In this context, the certain constraints may be that for each value of colour_plane_id, the coded slice NAL units with the value of colour_plane_id may be scanned in ascending order of CTU addresses within the tile scan order of the first CTU of each coded slice NAL unit.
[0135] When the value of separate_colour_plane_flag is 0, each CTU in the picture may be included in one slice. When the value of separate_colour_plane_flag is 1, the CTU of each color component may be included in one slice (ie, information about each CTU in the picture may exist in 3 slices. Here, the 3 slices may have different values of color_plane_id.).
[0136] Figure 8 is a view illustrating an example of dividing a screen into tiles. Figure 8 The picture can be divided into 2 tiles. In this paper, each tile can be divided into 8 CTUs. Tiles can change the scanning order of CTUs in the picture. Figure 8 When a picture is divided into two or more tiles, the scanning order of CTU can be a raster scanning order. Figure 8 The scanning order of the picture may be a scanning order from 0 to 15. That is, in each tile, the scanning order of CTU may be a raster scanning order.
[0137] Arbitrary Slice Order (ASO)
[0138] Generally, the scanning order of the slices in a picture may be a raster scanning order. However, the scanning order of the slices in a picture may also be an arbitrary scanning order (ASO).
[0139] Fig. 9 is a view illustrating a scanning order of slices in a screen according to one embodiment of the present disclosure. Fig. 9 The picture can be divided into three slices 910, 920 and 930. The first slice 910 can be divided into 14 coding blocks (i.e., CTUs). The second slice 920 can be divided into 21 coding blocks (i.e., CTUs). The third slice 930 can be divided into 7 coding blocks (i.e., CTUs). When the slices in the picture are scanned in a raster scan order (940), the scanning order of the slices in the picture can be the order of the first slice 910, the second slice 920, and the third slice 930. In addition, when the slices in the picture are scanned in an arbitrary slice order (950), the scanning order of the slices in the picture can be the order of the second slice 920, the third slice 930, and the first slice 910.
[0140] Related technical issues
[0141] In the related art, if the sub-picture does not violate a specific condition, the scanning order of the sub-picture is not limited to the raster scanning order. In this article, the specific condition is as follows: the sub-picture should be shaped so that the entire left side border and the entire top border of the sub-picture form the border of the picture or form the border of a previously decoded sub-picture.
[0142] Fig.10 is a view illustrating a structure of a sub-screen according to one embodiment of the present disclosure. Fig.10 The picture includes 6 sub-pictures 1010, 1020, 1030, 1040, 1050 and 1060. When the scanning order of the sub-pictures is the raster scanning order, the sub-pictures may be scanned in the order of 1010, 1020, 1030, 1040, 1050 and 1060. Alternatively, when the scanning order of the sub-pictures is not the raster scanning order, the sub-pictures may be scanned in the order of 1010, 1040, 1020, 1050, 1030 and 1060.
[0143] Typically, the image decoding device 200 can be optimally implemented assuming that the scanning order of blocks (i.e., CTUs, slices, sub-pictures) is a raster scanning order. However, when the scanning order of blocks is not a raster scanning order, additional steps or processes may be required. Therefore, if the scanning order of sub-pictures is determined in the bitstream before decoding actually begins, the image decoding efficiency can be improved. Therefore, the image encoding device 100 can signal specific information through the bitstream so that the image decoding device 200 knows the actual scanning order of the sub-pictures. Alternatively, specific constraints related to the scanning order can be included in the bitstream so that the image decoding device 200 knows the actual scanning order of the sub-pictures. The present disclosure is described below with reference to the embodiments.
[0144] Implementation
[0145] Implementations of the present disclosure may include the following features.
[0146] 1. The image decoding apparatus 200 may signal a flag indicating whether the scanning order of a sub-picture is a raster scanning order (hereinafter referred to as a 'scanning order flag').
[0147] 2. The scanning order flag may indicate not only the scanning order of a sub-picture but also the scanning order of other partition units (ie, slice, tile, CTU, CU). That is, the scanning order flag may include information about the partition unit.
[0148] 3. The scan order flag may be constrained to exist only when the number of sub-pictures exceeds 2. Alternatively, the value of the scan order flag may be constrained to represent a raster scan order when there are 2 or less sub-pictures.
[0149] 4. The scan order flag may be signaled from at least one of a sequence parameter set (SPS), general constraint information (GCI), a supplemental enhancement information (SEI) message, or a video usage information (VUI).
[0150] 5. When the scan order flag is signaled from a SEI message, the scope of the SEI message may be one or more coded video sequences (CVSs). In this case, the scan order flag may indicate for consecutive CVSs whether the scan order of sub-pictures is in raster scan order. Specifically, the scan order flag may be applied to consecutive CVSs until it is replaced by another SEI message of the same type. If the scan order flag is present in a SEI message, the SEI message may be constrained to be present before the first VCL NAL unit in the CVS.
[0151] 6. Instead of signaling a scan order flag to indicate the scan order of a sub-picture, if a raster scan order is available for a given structure of a sub-picture in a bitstream, the scan order of the sub-picture can be limited to a raster scan order. That is, when the structure of the sub-picture satisfies a specific condition, the scan order of the sub-picture can be limited to a raster scan order.
[0152] Although the above features are described based on the image decoding apparatus 200, they can also be applied to the image encoding apparatus 100. In addition, the flag is described with respect to a sub-picture, but it can also be applied to another partition unit (ie, a slice, a tile, a CTU, a CU).
[0153] Fig.11 is a flowchart showing the image encoding sequence according to one embodiment of the present disclosure. Fig.11 , the image encoding apparatus 100 may determine whether information about a sub-picture exists in a bitstream ( S1110 ).
[0154] The image encoding device 100 may determine the scanning order of the sub-picture (S1120). According to one embodiment of the present disclosure, based on the determined scanning order of the sub-picture, the image encoding device 100 may encode a flag (hereinafter referred to as a 'second flag') indicating the scanning order of the sub-picture. In this document, the second flag may be various flags such as sps_subpics_in_raster_scan_order_flag, gci_subpictures_in_raster_scan_only_constraint_flag, soi_subpics_in_raster_scan_order_flag, and poi_partitioning_units_in_raster_scan_order_flag. In addition, the second flag may be a flag indicating not only the scanning order of the sub-picture but also the scanning order of various partitioning units. According to another embodiment of the present disclosure, the scanning order of the sub-picture may be determined based on the shape of the sub-picture. In this case, the encoding of the second flag may be skipped.
[0155] Fig.12 is a flowchart showing the image decoding sequence according to one embodiment of the present disclosure. Fig.12 , the image decoding apparatus 200 may acquire a first flag (S1210). Herein, the first flag may be a flag indicating whether information about a sub-picture exists in a bitstream (ie, sps_subpic_info_present_flag, gci_present_flag).
[0156] The image decoding device 200 may determine the scanning order of the sub-picture (S1220). According to one embodiment of the present disclosure, the image decoding device 200 may obtain the second flag from the bitstream. In this case, the scanning order of the sub-picture may be determined based on the second flag. According to another embodiment of the present disclosure, the image decoding device 200 may skip the process of obtaining the second flag from the bitstream. In this case, the scanning order of the sub-picture may be determined based on the shape of the sub-picture.
[0157] Herein, various embodiments combining the main features of the present disclosure will be described. The embodiments according to the present disclosure are not limited to the following embodiments, and the above-mentioned features 1 to 6 may be combined in various forms.
[0158] According to one embodiment of the present disclosure, by signaling the second flag, an additional process or processing for checking (or determining) the scanning order of the segmentation unit can be omitted. Therefore, the present disclosure can improve coding performance and efficiency. In addition, when the shape of the segmentation unit meets the predetermined condition, the coding efficiency can be improved by skipping the signaling of the second flag.
[0159] Implementation Method 1
[0160] According to the present disclosure, the image encoding device 100 or the image decoding device 200 may signal a flag indicating the scanning order of the segmentation unit through the SPS. The following Table 1 may show an SPS syntax structure to which implementation 1 may be applied. The syntax structure of Table 1 may be applied according to Fig.13 or Fig.14 implementation method.
[0161] [Table 1]
[0162]
[0163]
[0164] Fig.13 1 is a flowchart of an image encoding method for determining a scanning order according to an embodiment of the present disclosure. The image encoding apparatus 100 encodes a first flag (S1310). Herein, the first flag may be sps_subpic_info_present_flag. In addition, the first flag may be signaled through the SPS.
[0165] The image encoding apparatus 100 may encode a flag indicating the number of sub-pictures (S1320). Herein, the number of sub-pictures may be determined based on the first flag. Herein, the flag indicating the number of sub-pictures may be sps_num_subpics_minus1. In addition, the flag indicating the number of sub-pictures may be signaled through the SPS.
[0166] The image encoding apparatus 100 may check whether the number of sub-pictures exceeds 2 (S1330). If the number of sub-pictures exceeds 2 (Yes at step S1330), the image encoding apparatus 100 may determine the scanning order of the sub-pictures (S1340). On the other hand, if the number of sub-pictures does not exceed 2 (that is, the number of sub-pictures is equal to or less than 2) (No at step S1330), the image encoding apparatus 100 may terminate the process.
[0167] The image encoding device 100 may encode the second flag based on the determined scanning order of the sub-picture (S1350). In this article, the second flag may be sps_subpics_in_raster_scan_order_flag. When the value of the second flag is 1, the scanning order of the sub-pictures in the CLVS may be a raster scanning order. When the value of the second flag is 0, the scanning order of the sub-pictures in the CLVS may not be a raster scanning order. Alternatively, when the value of the second flag is 0, the scanning order of the sub-pictures in the CLVS may not be limited to the raster scanning order.
[0168] Fig.13 Each of the steps is not limited to the above order, and the order of each of the steps can be changed. Alternatively, each of the steps can be performed simultaneously. For example, step S1310 and step S1320 can be performed at any step after step S1330, and can be performed simultaneously.
[0169] Fig.14 is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present disclosure. Fig.14 , the image decoding apparatus 200 may acquire a first flag (S1410). Herein, the first flag may be sps_subpic_info_present_flag. In addition, the first flag may be acquired through the SPS.
[0170] The image decoding apparatus 200 may check whether the information about the sub-picture exists in the CLVS (S1420). That is, based on the first flag, the image decoding apparatus 200 may check whether the information about the sub-picture exists in the CLVS. For example, when the value of the first flag is 1, the information about the sub-picture may exist in the CLVS. When the value of the first flag is 0, the information about the sub-picture may not exist in the CLVS.
[0171] If the information about the sub-picture exists in the CLVS (Yes of step S1420), the image decoding device 200 may acquire a flag indicating the number of sub-pictures (S1430). Herein, the flag indicating the number of sub-pictures may be sps_num_subpics_minus1. In addition, the flag indicating the number of sub-pictures may be acquired through the SPS. On the other hand, if the information about the sub-picture does not exist in the CLVS (No of step S1420), the image decoding device 200 may terminate the process.
[0172] The image decoding device 200 may check whether the number of sub-pictures exceeds 2 (S1440). Herein, whether the number of sub-pictures exceeds 2 may be determined based on a flag indicating the number of sub-pictures. If the number of sub-pictures does not exceed 2 (no at step S1440), the image decoding device 200 may terminate the process. On the other hand, if the number of sub-pictures exceeds 2 (yes at step S1440), the image decoding device 200 may acquire a second flag (S1450). Herein, the second flag may be sps_subpics_in_raster_scan_order_flag. According to one embodiment of the present disclosure, the second flag may be acquired through SPS.
[0173] The image decoding apparatus 200 may determine a scanning order of the sub-picture (S1460). The scanning order of the sub-picture may be determined based on the second flag. For example, when the value of the second flag is 1, the scanning order of the sub-picture in the CLVS may be a raster scanning order. When the value of the second flag is 0, the scanning order of the sub-picture in the CLVS may be limited to any other scanning order except the raster scanning order.
[0174] According to another embodiment of the present disclosure, when the value of the second flag is 0, the scanning order of the sub-pictures in the CLVS may not be the raster scanning order. That is, when the value of the second flag is 0, the scanning order of the sub-pictures in the CLVS may or may not be the raster scanning order.
[0175] According to one embodiment, by signaling the second flag, an additional process or processing for checking (or determining) the scanning order of the segmentation units can be omitted. Therefore, the present disclosure can improve encoding performance and efficiency.
[0176] Implementation Method 2
[0177] According to the present disclosure, the image encoding device 100 or the image decoding device 200 may signal a flag indicating the scanning order of the segmentation unit through the GCI. Table 2 below may show a GCI syntax structure to which implementation mode 2 may be applied. The syntax structures of Tables 2 and 3 may be applied according to Fig.15 or Fig.16 implementation method.
[0178] [Table 2]
[0179] general_constraints_info(){ Descriptors gci_present_flag u(1) if(gci_present_flag){ / *general* / gci_intra_only_constraint_flag u(1) gci_all_layers_independent_constraint_flag u(1) gci_one_au_only_constraint_flag u(1) gci_partitioning_units_in_raster_scan_only_constraint_flag u(1) ... } while(!byte_aligned()) gci_alignment_zero_bit f(1) }
[0180] [Table 3]
[0181] general_constraints_info(){ Descriptors gci_present_flag u(1) if(gci_present_flag){ / *general* / gci_intra_only_constraint_flag u(1) gci_all_layers_independent_constraint_flag u(1) gci_one_au_only_constraint_flag u(1) gci_subpictures_in_raster_scan_only_constraint_flag u(1) ... } while(!byte_aligned()) gci_alignment_zero_bit f(1) }
[0182] Fig.151 is a flowchart of an image encoding method for determining a scanning order according to an embodiment of the present disclosure. The image encoding apparatus 100 encodes a first flag (S1510). Herein, the first flag may be gci_present_flag. gci_present_flag may be a flag indicating whether a GCI syntax element exists in a GCI syntax structure.
[0183] The image encoding apparatus 100 may determine a scanning order of each partition unit (S1520). Herein, each partition unit may mean a slice, a tile, a CTU, a CU, etc. The scanning order of each partition unit may be determined based on the first flag.
[0184] The image encoding apparatus 100 may encode the second flag (S1530). According to one embodiment of the present disclosure, the second flag may be gci_partitioning_units_in_raster_scan_only_constraint_flag. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 1, the scanning order of each partition unit may be limited to the scanning order. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 0, the scanning order of each partition unit may not be limited to the raster scanning order.
[0185] According to another embodiment of the present disclosure, the second flag may be gci_subpictures_in_raster_scan_only_constraint_flag. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 1, the scanning order of subpictures may be limited to the raster scanning order. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 0, the scanning order of subpictures may not be limited to the raster scanning order.
[0186] Fig.15 Each of the steps is not limited to the above order, and the order of each of the steps can be changed. Alternatively, each of the steps can be performed simultaneously. For example, step S1510 and step S1520 can change their order, and the present disclosure is not limited thereto.
[0187] Fig.161 is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present disclosure. The image decoding device 200 may acquire a first flag. In this document, the first flag may be gci_present_flag. gci_present_flag may be a flag indicating whether a GCI syntax element exists in a GCI syntax structure.
[0188] The image decoding device 200 may check whether the GCI syntax element exists in the GCI syntax structure (S1620). Whether the GCI syntax element exists in the GCI syntax structure may be determined based on the first flag. When the GCI syntax element does not exist in the GCI syntax structure (No at step S1620), the image decoding device 200 may terminate the process. On the other hand, when the GCI syntax element exists in the GCI syntax structure (Yes at step S1620), the image decoding device 200 may acquire a second flag (S1630). According to one embodiment of the present disclosure, the second flag may be gci_partitioning_units_in_raster_scan_only_constraint_flag. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 1, the scanning order of each partition unit may be limited to the raster scanning order. When the value of gci_partitioning_units_in_raster_scan_only_constraint_flag is 0, the scanning order of each partitioning unit may not be limited to the raster scanning order.
[0189] According to another embodiment of the present disclosure, the second flag may be gci_subpictures_in_raster_scan_only_constraint_flag. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 1, the scanning order of the subpictures may be limited to the raster scanning order. When the value of gci_subpictures_in_raster_scan_only_constraint_flag is 0, the scanning order of the subpictures may not be limited to the raster scanning order. The second flag may be acquired through GCI.
[0190] The image decoding apparatus 200 may determine a scanning order of each segmentation unit (S1640). The scanning order of each segmentation unit may be determined based on the second flag. When the value of the second flag is 1, the scanning order of each segmentation unit may be limited to a raster scanning order. On the other hand, when the value of the second flag is 0, the scanning order of each segmentation unit may not be limited to a raster scanning order.
[0191] According to an embodiment of the present disclosure, by signaling the second flag, an additional process or processing for checking (or determining) the scanning order of the segmentation units can be omitted. Therefore, the present disclosure can improve encoding performance and efficiency.
[0192] Implementation 3
[0193] According to the present disclosure, the image encoding device 100 or the image decoding device 200 may signal the second flag through a sub-picture order information (SOI) SEI message or a partition unit order information (POI) SEI message. Table 4 below shows a syntax structure of an SOI SEI message to which implementation mode 3 may be applied. Table 5 below shows a syntax structure of a POI SEI message to which implementation mode 3 may be applied. The syntax structures of Tables 4 and 5 may be applied according to Fig.17 or Fig.18 implementation method.
[0194] [Table 4]
[0195] subpic_order_info(payloadSize){ Descriptors soi_subpics_in_raster_scan_order_flag u(1) }
[0196] [Table 5]
[0197] partitioning_unit_order_info(payloadSize){ Descriptors poi_partitioning_units_in_raster_scan_order_flag u(1) }
[0198] According to the present disclosure, the SOI SEI message may include information about the order of sub-pictures in the picture. In this article, when testing the consistency of the extracted bitstream including the sub-picture sequence, the sub-picture may be included in the picture in the CVS set of the OLS to which the SEI message indicated as targetCvss is applied. The OLS to which the SOI message is applied may be an applicable OLS or an associated OLS. The CVS mentioned in the present disclosure may mean the CVS of the applicable OLS, but is not limited thereto, and the CVS may be an associated OLS.
[0199] When there is an SOI SEI message for each access unit (AU) of a CVS, the SOI SEI message may exist for the first AU of the CVS and before the first VCL NAL unit of the AU. Even when there is no SOI SEI message for each AU of the CVS, the SOI SEI message may exist in the bitstream or may be provided by an external device not specified in the present disclosure. And, in this case, the SOI SEI message may exist for the first AU of the CVS and before the first VCL NAL unit of the AU. The SOI SEI message may maintain the decoding order from the current AU to the next AU including content different from the current SOI SEI message. That is, the SOI SEI message may be applied from the current AU to the next AU including a flag different from the current SOI SEI message. Alternatively, the SOI SEI message may maintain the decoding order from the current AU to the end of the bitstream. That is, the SOI SEI message may apply the same flag (flag indicating the scanning order) from the current AU to the end of the bitstream. According to the present disclosure, each SOI SEI message applied to the same CVS may have the same content.
[0200] According to another embodiment, the POI SEI message may include information about the order of sub-pictures in the picture. In this article, when testing the consistency of the extracted bitstream including the sub-picture sequence, the sub-picture may be included in the picture in the CVS set of the OLS to which the SEI message indicated as targetCvss is applied. The OLS to which the POI message is applied may be an applicable OLS or an associated OLS. The CVS mentioned in the present disclosure may mean the CVS of the applicable OLS, but is not limited thereto, and the CVS may be an associated OLS.
[0201] When a POI SEI message exists for each AU of a CVS, the POI SEI message may exist for the first AU of the CVS and before the first VCL NAL unit of the AU. Even when a POI SEI message does not exist for each AU of the CVS, the POI SEI message may exist in the bitstream or may be provided by an external device not specified in the present disclosure. And, in this case, the POI SEI message may exist for the first AU of the CVS and before the first VCL NAL unit of the AU. The POI SEI message may maintain the decoding order from the current AU to the next AU including content different from the current POI SEI message. That is, the POI SEI message may be applied from the current AU to the next AU including a flag different from the current POI SEI message. Alternatively, the POI SEI message may maintain the decoding order from the current AU to the end of the bitstream. That is, the POI SEI message may apply the same flag (flag indicating the scanning order) from the current AU to the end of the bitstream. According to the present disclosure, each POI SEI message applied to the same CVS may have the same content.
[0202] Fig.17 17 is a flowchart of an image encoding method for determining a scanning order according to an embodiment of the present disclosure. The image encoding apparatus 100 may determine a scanning order of a sub-picture (S1710). Specifically, the image encoding apparatus 100 may determine whether the scanning order of the sub-picture is a raster scanning order.
[0203] The image encoding device 100 may encode the second flag in the SEI message (S1720). According to one embodiment of the present disclosure, the second flag may be soi_subpics_in_raster_scan_order_flag. When the value of soi_subpics_in_raster_scan_order_flag is 1, the scanning order of the sub-picture may be a raster scanning order. When the value of soi_subpics_in_raster_scan_order_flag is 0, the scanning order of the sub-picture may not be a raster scanning order. Alternatively, when the value of soi_subpics_in_raster_scan_order_flag is 0, the scanning order of the sub-picture may not be limited to a raster scanning order.
[0204] According to another embodiment of the present disclosure, the second flag may be poi_partitioning_units_in_raster_scan_order_flag. When the value of poi_partitioning_units_in_raster_scan_order_flag is 1, the scanning order of the sub-picture may be a raster scanning order. When the value of poi_partitioning_units_in_raster_scan_order_flag is 0, the scanning order of the sub-picture may not be a raster scanning order. Alternatively, when the value of poi_partitioning_units_in_raster_scan_order_flag is 0, the scanning order of the sub-picture may not be limited to a raster scanning order. The SEI message that signals the second flag may be a SOI SEI message or a POI SEI message, but the present disclosure is not limited thereto.
[0205] Fig.18 1 is a flowchart of an image decoding method for determining a scanning order according to an embodiment of the present disclosure. The image decoding device 200 may obtain a second flag from an SEI message (S1810). Here, the second flag may be soi_subpics_in_raster_scan_order_flag or poi_partitioning_units_in_raster_scan_order_flag. The SEI message that signals the second flag may be an SOI SEI message or a POI SEI message, but the present disclosure is not limited thereto.
[0206] The image decoding device 200 may determine the scanning order of the sub-picture (S1820). Specifically, the scanning order of the sub-picture may be determined based on the second flag. When the value of the second flag is 1, the scanning order of the sub-picture may be a raster scanning order. When the value of the second flag is 0, the scanning order of the sub-picture may not be a raster scanning order. Alternatively, when the value of the second flag is 0, the scanning order of the sub-picture may not be limited to a raster scanning order.
[0207] According to an embodiment of the present disclosure, by signaling the second flag, an additional process or processing for checking (or determining) the scanning order of the segmentation units can be omitted. Therefore, the present disclosure can improve encoding performance and efficiency.
[0208] Implementation 4
[0209] According to one embodiment of the present disclosure, when the sub-picture has a specific shape, the signaling of the second flag may be skipped. That is, when the sub-picture has a specific shape, the second flag may not be signaled, and the scanning order may be determined or limited to a predetermined scanning order.
[0210] For example, when the entire left border and the entire top border of the sub-picture are formed by the border of the picture or by the border of a previously decoded sub-picture (when the sub-picture has a specific shape), the signaling of the second flag can be skipped. In this case, the scanning order of the sub-picture can be limited to the raster scanning order. The shape of the sub-picture that can limit the signaling of the second flag can be various.
[0211] Fig.19 1 is a view showing a sub-picture structure according to one embodiment of the present disclosure. According to one embodiment of the present disclosure, when the top offset of the first CTU 1930 of the sub-picture A 1910 is less than the top offset of the first CTU 1940 of the sub-picture B 1920 and the entire left side border and the entire top border of the sub-picture A 1920 correspond to the border of the picture, the signaling of the second flag may be skipped. In this case, the scanning order of the sub-picture may be limited to the raster scanning order.
[0212] According to another embodiment of the present disclosure, when the top offset of the first CTU 1930 of the sub-picture A 1910 is less than the top offset of the first CTU 1940 of the sub-picture B 1920 and the entire left boundary and the entire top boundary of the sub-picture A 1920 directly / indirectly form the boundary of the sub-picture (before the sub-picture B to be decoded), the signaling of the second flag may be skipped. That is, when the top offset of the first CTU 1930 of the sub-picture A 1910 is less than the top offset of the first CTU 1940 of the sub-picture B 1920 and forms the boundary of the sub-picture to be decoded after the sub-picture B, the signaling of the second flag may be skipped. In this case, the scanning order of the sub-pictures may be limited to the raster scanning order.
[0213] According to another embodiment of the present disclosure, when the top offset of the first CTU 1930 of the sub-picture A 1910 is equal to the top offset of the first CTU 1940 of the sub-picture B 1920, the left offset of the first CTU 1930 of the sub-picture A 1910 is less than the left offset of the first CTU 1940 of the sub-picture B 1920, and the entire left border and the entire top border of the sub-picture A 1920 correspond to the border of the picture, the signaling of the second flag may be skipped. In this case, the scanning order of the sub-pictures may be limited to the raster scanning order.
[0214] According to another embodiment of the present disclosure, when the top offset of the first CTU 1930 of the sub-picture A 1910 is equal to the top offset of the first CTU 1940 of the sub-picture B 1920, the left offset of the first CTU 1930 of the sub-picture A 1910 is less than the left offset of the first CTU 1940 of the sub-picture B 1920, and the entire left boundary and the entire top boundary of the sub-picture A 1920 directly / indirectly form the boundary of the sub-picture (before the sub-picture B to be decoded), the signaling of the second flag may be skipped. That is, when the top offset of the first CTU 1930 of the sub-picture A 1910 is equal to the top offset of the first CTU 1940 of the sub-picture B 1920 and the left offset of the first CTU 1930 of the sub-picture A 1910 is less than the left offset of the first CTU 1940 of the sub-picture B 1920 and forms the boundary of the sub-picture to be decoded after the sub-picture B, the signaling of the second flag may be skipped. In this case, the scanning order of the sub-pictures can be limited to the raster scanning order.
[0215] According to another embodiment of the present disclosure, when sub-picture A 1910 is decoded before sub-picture B 1920 and the top offset of the first CTU 1930 of sub-picture A 1910 is smaller than the top offset of the first CTU 1940 of sub-picture B 1920, signaling of the second flag may be skipped.
[0216] According to another embodiment of the present disclosure, when sub-picture A 1910 is decoded before sub-picture B 1920, the top offset of the first CTU 1930 of sub-picture A 1910 is equal to the top offset of the first CTU 1940 of sub-picture B 1920, and the left offset of the first CTU 1930 of sub-picture A 1910 is less than the left offset of the first CTU 1940 of sub-picture B 1920, the signaling of the second flag may be skipped. In this case, the scanning order of the sub-pictures may be limited to the raster scanning order.
[0217] Fig. 20 is a flowchart of a process for determining a scanning order of sub-pictures according to an embodiment of the present disclosure. Fig. 20 The implementation mode is described as being performed in the image encoding device 100, but corresponding operations or the same operations can also be performed in the image decoding device 200.
[0218] The image encoding apparatus 100 may check whether the top offset of the first CTU in the first sub-picture is greater than or equal to the top offset of the first CTU in the second sub-picture (S2010). If the top offset of the first CTU in the first sub-picture is less than the top offset of the first CTU in the second sub-picture (No at step S2010), the image encoding apparatus 100 may terminate the process. Herein, the top offset may mean the distance between the top boundary of the first sub-picture and the top boundary of the CTU or the y coordinate of the CTU.
[0219] If the top offset of the first CTU in the first sub-picture is greater than or equal to the top offset of the first CTU in the second sub-picture (yes in step S2010), the image encoding device 100 may check whether the left offset of the first CTU in the first sub-picture is less than the left offset of the first CTU in the second sub-picture (S2020). In this article, the left offset may mean the distance between the left boundary of the first sub-picture and the left boundary of the CTU, or mean the x coordinate of the CTU. When the left offset of the first CTU in the first sub-picture is greater than or equal to the left offset of the first CTU in the second sub-picture (no in step S2020), the image encoding device 100 may terminate the process.
[0220] When the left offset of the first CTU in the first sub-picture is less than the left offset of the first CTU in the second sub-picture (Yes in step S2020), the image encoding apparatus 100 may determine the scanning order of the sub-pictures as a raster scanning order (S2030). In this case, the image encoding apparatus 100 may skip encoding of the second flag.
[0221] Fig. 20 The order of the steps is not limited to the above order. The order of each step can be changed, and the steps can be performed simultaneously. For example, step S2010 and step S2020 can change the order in which they are to be performed or be performed simultaneously.
[0222] According to an embodiment of the present disclosure, when the shape of the segmentation unit satisfies a predetermined condition, the coding efficiency can be improved by skipping the signaling of the second flag.
[0223] Although for the sake of clarity of description, the exemplary method of the present disclosure described above is represented as a series of operations, it is not intended to limit the order of executing the steps, and these steps can be performed simultaneously or in different orders when necessary. In order to implement the method according to the present disclosure, the steps described may further include other steps, may include the remaining steps except some steps, or may include other additional steps except some steps.
[0224] In the present disclosure, an image encoding device or an image decoding device that performs a predetermined operation (step) may perform an operation (step) of confirming an execution condition or situation of the corresponding operation (step). For example, if it is described that a predetermined operation is performed when a predetermined condition is met, the image encoding device or the image decoding device may perform the predetermined operation after determining whether the predetermined condition is met.
[0225] The various embodiments of the present disclosure are not a list of all possible combinations and are intended to describe representative aspects of the present disclosure, and matters described in the various embodiments may be applied independently or in combination of two or more.
[0226] Various embodiments of the present disclosure may be implemented in hardware, firmware, software or a combination thereof. In the case of implementing the present disclosure in hardware, the present disclosure may be implemented in an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a general purpose processor, a controller, a microcontroller, a microprocessor, etc.
[0227] In addition, the image decoding device and the image encoding device to which the embodiments of the present disclosure are applied may be included in a multimedia broadcast sending and receiving device, a mobile communication terminal, a home theater video device, a digital theater video device, a surveillance camera, a video chat device, a real-time communication device such as video communication, a mobile streaming device, a storage medium, a camera, a video on demand (VoD) service provider, an OTT video (over the top video) device, an Internet streaming service provider, a three-dimensional (3D) video device, a video phone video device, a medical video device, etc., and may be used to process a video signal or a data signal. For example, an OTT video device may include a game console, a Blu-ray player, an Internet access TV, a home theater system, a smart phone, a tablet PC, a digital video recorder (DVR), etc.
[0228] Fig.21 is a diagram showing a content streaming system to which an embodiment of the present disclosure can be applied.
[0229] like Fig.21 As shown, the content streaming system to which the embodiments of the present disclosure are applied may mainly include an encoding server, a streaming server, a network server, a media storage device, a user device, and a multimedia input device.
[0230] The encoding server compresses the content input from the multimedia input device such as a smart phone, a camera, a camcorder, etc. into digital data to generate a bit stream and sends the bit stream to the streaming server. As another example, when the multimedia input device such as a smart phone, a camera, a camcorder, etc. directly generates a bit stream, the encoding server can be omitted.
[0231] A bitstream may be generated by an image encoding method or an image encoding device to which an embodiment of the present disclosure is applied, and a streaming server may temporarily store the bitstream in the process of transmitting or receiving the bitstream.
[0232] The streaming server sends multimedia data to the user device based on the user's request through the network server, and the network server is used as a medium to inform the user of the service. When the user requests the required service from the network server, the network server can deliver it to the streaming server, and the streaming server can send the multimedia data to the user. In this case, the content streaming system may include a separate control server. In this case, the control server is used to control the command / response between the devices in the content streaming system.
[0233] The streaming server may receive content from a media storage device and / or an encoding server. For example, when receiving content from an encoding server, the content may be received in real time. In this case, in order to provide a smooth streaming service, the streaming server may store the bitstream within a predetermined time.
[0234] Examples of user devices may include mobile phones, smart phones, laptop computers, digital broadcast terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smart watches, smart glasses, head-mounted displays), digital televisions, desktop computers, digital signage, etc.
[0235] Each server in the content streaming system may operate as a distributed server, in which case data received from each server may be distributed.
[0236] The scope of the present disclosure includes software or machine-executable commands (e.g., operating systems, applications, firmware, programs, etc.) for enabling operations of methods according to various embodiments to be performed on a device or computer, and non-transitory computer-readable media having such software or commands stored thereon and executable on a device or computer.
[0237] Industrial Applicability
[0238] The embodiments of the present disclosure may be used to encode or decode an image.
Claims
1. An image decoding method performed by an image decoding device, the image decoding method comprising the following steps: Obtaining a first flag associated with a sub-picture from a bitstream; as well as A scanning order of the sub-pictures is determined based on the presence of the first flag indicating information about the sub-pictures.
2. The image decoding method according to claim 1, wherein: determining the scanning order of the sub-pictures based on a second flag indicating whether the scanning order of the sub-pictures is a raster scanning order, and Wherein, the second flag is obtained from the bitstream based on the first flag indicating the existence of the information about the sub-picture.
3. The image decoding method according to claim 2, wherein: The second flag is obtained from at least one of a sequence parameter set SPS, general constraint information GCE, a supplemental enhancement information SEI message, or video usage information VUI.
4. The image decoding method according to claim 2, wherein: The second flag is acquired based on the number of the sub-pictures exceeding 2.
5. The image decoding method according to claim 2, wherein: Based on the number of sub-pictures being equal to or less than 2, the value of the second flag is constrained to indicate a raster scan order.
6. The image decoding method according to claim 3, wherein: Based on that the second flag is obtained from the SEI message, the second flag indicates whether the scanning order of the sub-pictures for a continuously coded video sequence CVS is a raster scanning order.
7. The image decoding method according to claim 3, wherein: Based on that the second flag is obtained from the SEI message, the second flag exists before the first VCL NAL unit in the CVS.
8. The image decoding method according to claim 1, wherein: The sub-picture includes a first sub-picture and a second sub-picture, and Wherein, based on the fact that the top offset of the first CTU in the first sub-picture is less than or equal to the top offset of the first CTU in the second sub-picture and the left offset of the first CTU in the first sub-picture is less than the left offset of the first CTU in the second sub-picture, the scanning order of the sub-pictures is determined to be a raster scanning order.
9. The image decoding method according to claim 8, wherein: Further based on the left and top boundaries of the first sub-picture being composed of boundaries of a current picture including the sub-picture or being composed of boundaries of a sub-picture decoded after the second sub-picture, the scanning order of the sub-pictures is determined to be the raster scanning order.
10. An image encoding method performed by an image encoding device, the image encoding method comprising the following steps: determining whether information about a sub-picture exists; and determining a scanning order of the sub-pictures based on the existence of the information about the sub-pictures, Wherein, a first flag indicating whether the information about the sub-picture exists is encoded in a bit stream.
11. A method for transmitting a bit stream generated by an image encoding method, the image encoding method comprising the following steps: determining whether information about a sub-picture exists; and determining a scanning order of the sub-pictures based on the existence of the information about the sub-pictures, Wherein, a first flag indicating whether the information about the sub-picture exists is encoded in a bit stream.