Image decoding method, image encoding method, computer-readable storage medium, and data transmission method for image
Patent Information
- Application Number
- PCT/KR2026/004702
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-25
- Filing Date
- 2026-03-25
- Publication Date
- 2026-10-01
Smart Images

Figure KR2026004702_01102026_PF_FP_ABST
Abstract
Description
Video decoding method, video encoding method, computer-readable storage medium and method for transmitting data for video
[0001] The present disclosure relates to a method for decoding / encoding image information, a computer-readable storage medium for storing image information, and a method for transmitting image information.
[0002] Recently, the demand for high-resolution, high-quality video, such as HD (High Definition) and UHD (Ultra High Definition), has been increasing across various fields. As video data becomes higher in resolution and quality, the relative amount of information or bits transmitted increases compared to conventional video data. This increase in transmitted information or bits leads to higher transmission and storage costs.
[0003] Accordingly, high-efficiency video compression technology is required to effectively transmit, store, and play back high-resolution, high-quality video information.
[0004] The present disclosure aims to improve the reliability of a coding system including an encoding device and a decoding device.
[0005] The present disclosure aims to improve the coding efficiency of a coding system including an encoding device and a decoding device.
[0006] The present disclosure aims to improve the data transmission efficiency of a coding system including an encoding device and a decoding device.
[0007] The technical problems to be solved in this disclosure are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this disclosure belongs from the description below.
[0008] According to one aspect of the present disclosure, a video decoding method comprises: a step of obtaining a thumbnail-related SEI (Supplemental Enhancement Information) message associated with a picture from a bitstream; and a step of obtaining thumbnail-related information from the thumbnail-related SEI message, wherein the thumbnail-related information comprises at least one of label information of the thumbnail picture or prompt information of the thumbnail picture.
[0009] According to one aspect of the present disclosure, a decoding device for decoding image information acquires a thumbnail-related SEI (Supplemental Enhancement Information) message associated with a picture from a bitstream, acquires thumbnail-related information from the thumbnail-related SEI message, and the thumbnail-related information comprises at least one of label information of a thumbnail picture or prompt information of a thumbnail picture.
[0010] In a method or device for decoding the above image information, the thumbnail-related SEI message may be characterized by including a TSI (Thumbnail Source Information) related SEI message containing source information of the thumbnail picture, and a TEI (Thumbnail Extraction Information) related SEI message containing extraction information of the thumbnail picture.
[0011] In a method or apparatus for decoding the above image information, the label information of the thumbnail picture included in the TSI-related SEI message may be characterized by including at least one of TSI label existence information, TSI label language existence information, TSI label language information, or TSI label information.
[0012] In a method or device for decoding the above image information, the TSI label information and the TSI label language existence information may be obtained based on the TSI label existence information, and the TSI label language information may be obtained based on the TSI label language existence information.
[0013] In a method or device for decoding the above image information, the prompt information of the thumbnail picture included in the TSI-related SEI message may include at least one of TSI prompt existence information or TSI prompt information, and the TSI prompt information may be characterized as being obtained based on the TSI prompt existence information.
[0014] In a method or device for decoding the above image information, the label information of the thumbnail picture included in the TEI-related SEI message may be characterized by including at least one of TEI label existence information, TEI label language existence information, TEI label language information, or TEI label information.
[0015] In a method or device for decoding the above image information, the TEI label information and the TEI label language existence information may be obtained based on the TEI label existence information, and the TEI label language information may be obtained based on the TEI label language existence information.
[0016] In a method or device for decoding the above image information, the prompt information of the thumbnail picture included in the TEI-related SEI message may include at least one of TEI prompt existence information and TEI prompt information, and the TEI prompt information may be characterized as being obtained based on the TEI prompt existence information.
[0017] In a method or device for decoding the above image information, the TSI-related SEI message may be characterized by further including TSI bit information set to 0.
[0018] In a method or device for decoding the above image information, the TEI-related SEI message may be characterized by further including TEI bit information set to 0.
[0019] In a method or apparatus for decoding the above video information, based on TSI termination information corresponding to TSI identifier information included in the TSI-related SEI message, the TSI-related SEI message corresponding to an identifier identical to the TSI identifier information may not be included in subsequent coded video sequences (CVS) within the bitstream.
[0020] According to one aspect of the present disclosure, a video encoding method comprises: a step of generating a thumbnail-related SEI (Supplemental Enhancement Information) message including thumbnail-related information associated with a picture; and a step of encoding video information including the thumbnail-related SEI message, wherein the thumbnail-related information includes at least one of label information of a thumbnail picture or prompt information of a thumbnail picture.
[0021] According to one aspect of the present disclosure, an apparatus for encoding image information comprises the steps of generating a thumbnail-related SEI (Supplemental Enhancement Information) message including thumbnail-related information associated with a picture, and encoding image information including the thumbnail-related SEI message, wherein the thumbnail-related information includes at least one of label information of a thumbnail picture or prompt information of a thumbnail picture.
[0022] In a method or device for encoding the above-mentioned image information, the thumbnail-related SEI message may be characterized by including a TSI (Thumbnail Source Information) related SEI message containing source information of the thumbnail picture, and a TEI (Thumbnail Extraction Information) related SEI message containing extraction information of the thumbnail picture.
[0023] In a method or device for encoding the above image information, the label information of the thumbnail picture included in the TSI-related SEI message may include at least one of TSI label existence information, TSI label language existence information, TSI label language information, or TSI label information, wherein the TSI label existence information is generated based on the TSI label information and the TSI label language existence information, and the TSI label language existence information is generated based on the TSI label language information.
[0024] In a method or device for encoding the above-mentioned image information, the prompt information of the thumbnail picture included in the TSI-related SEI message may include at least one of TSI prompt existence information or TSI prompt information, and the TSI prompt existence information may be characterized as being generated based on the TSI prompt information.
[0025] In a method or device for encoding the above image information, the label information of the thumbnail picture included in the TEI-related SEI message may include at least one of TEI label existence information, TEI label language existence information, TEI label language information, or TEI label information, wherein the TEI label existence information is generated based on the TEI label information and the TEI label language existence information, and the TEI label language existence information is generated based on the TEI label language information.
[0026] In a method or device for encoding the above-mentioned image information, the prompt information of the thumbnail picture included in the TEI-related SEI message may include at least one of TEI prompt existence information or TEI prompt information, and the TEI prompt existence information may be characterized as being generated based on the TEI prompt information.
[0027] In a method or apparatus for encoding the above video information, based on TSI termination information corresponding to TSI identifier information included in the TSI-related SEI message, the TSI-related SEI message corresponding to an identifier identical to the TSI identifier information may not be included in subsequent coded video sequences (CVS) within the bitstream.
[0028] According to one aspect of the present disclosure, a bitstream generated by a video encoding method is stored in a non-transitory computer-readable storage medium. The video encoding method comprises the steps of: generating a thumbnail-related SEI (Supplemental Enhancement Information) message including thumbnail-related information associated with a picture; and encoding video information including the thumbnail-related SEI message, wherein the thumbnail-related information includes at least one of label information of the thumbnail picture or prompt information of the thumbnail picture.
[0029] According to one aspect of the present disclosure, a method for transmitting data for an image comprises: a step of acquiring image information, wherein the image information includes a thumbnail-related SEI (Supplemental Enhancement Information) message including thumbnail-related information associated with a picture; and a step of transmitting the data including the image information, wherein the thumbnail-related information includes at least one of label information of the thumbnail picture or prompt information of the thumbnail picture.
[0030] The features briefly summarized above regarding the present disclosure are merely exemplary aspects of the detailed description of the present disclosure that follows and do not limit the scope of the present disclosure.
[0031] According to the present disclosure, the reliability of a coding system including an encoding device and a decoding device can be improved.
[0032] According to the present disclosure, the coding efficiency of a coding system including an encoding device and a decoding device can be improved.
[0033] According to the present disclosure, the data transmission efficiency of a coding system including an encoding device and a decoding device can be improved.
[0034] The effects obtainable from the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs from the description below.
[0035] FIG. 1 is a schematic diagram illustrating a video coding system to which an embodiment according to the present disclosure can be applied.
[0036] FIG. 2 is a schematic diagram showing an encoding device to which an embodiment according to the present disclosure can be applied.
[0037] FIG. 3 is a schematic diagram showing a decoding device to which an embodiment according to the present disclosure can be applied.
[0038] Figure 4 illustrates an exemplary hierarchical structure for a coded video / image.
[0039] FIG. 5 is a diagram illustrating a method for decoding image information according to one embodiment of the present disclosure.
[0040] FIG. 6 is a diagram illustrating a method for encoding image information according to one embodiment of the present disclosure.
[0041] FIG. 7 is a drawing illustrating an exemplary content streaming system to which an embodiment according to the present disclosure can be applied.
[0042] Hereinafter, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement them. However, the present disclosure may be embodied in various different forms and is not limited to the embodiments described herein.
[0043] In describing the embodiments of the present disclosure, detailed descriptions of known configurations or functions are omitted if it is determined that such descriptions could obscure the essence of the present disclosure. Additionally, parts of the drawings unrelated to the description of the present disclosure have been omitted, and similar parts are denoted by similar reference numerals.
[0044] In the present disclosure, when a component is described as being "connected," "combined," or "joined" with another component, this may include not only a direct connection but also an indirect connection in which another component exists in between. Furthermore, when a component is described as "comprising" or "having" another component, this means that, unless specifically stated otherwise, it does not exclude the other component but may include an additional component.
[0045] In the present disclosure, terms such as first, second, etc. are used solely for the purpose of distinguishing one component from another and do not limit the order or importance of the components unless specifically stated otherwise. 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 likewise, a second component in one embodiment may be referred to as a first component in another embodiment.
[0046] In this disclosure, distinct components are intended to clearly describe their respective features and do not imply that the components are separate. That is, multiple components may be integrated to form a single hardware or software unit, or a single component may be distributed to form multiple hardware or software units. Accordingly, such integrated or distributed embodiments are included within the scope of this disclosure, unless otherwise noted.
[0047] In the present disclosure, the components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, embodiments consisting of a subset of the components described in one embodiment are also included within the scope of the present disclosure. Furthermore, embodiments including additional components in addition to the components described in various embodiments are also included within the scope of the present disclosure.
[0048] The present disclosure relates to the encoding and decoding of images. For example, the methods and embodiments disclosed in this document may be applied to methods disclosed in the VVC (versatile video coding) standard, EVC (essential video coding) standard, AV1 (AOMedia Video 1) standard, AVS2 (2nd generation of audio video coding standard) or next-generation video / image coding standards (e.g., H.267 or H.268).
[0049] The present disclosure presents various embodiments relating to video / image coding, and unless otherwise stated, said embodiments may be performed in combination with one another.
[0050] Unless newly defined in this disclosure, the terms used herein may have the ordinary meanings commonly used in the technical field to which this disclosure belongs.
[0051] In this disclosure, "video" may refer to a set of images over time. In this disclosure, "picture" generally refers to a unit representing a single image at a specific time, and a slice / tile is a unit that constitutes a part of a picture in coding. A slice / tile may include one or more coding tree units (CTUs). A picture may be composed of one or more slices / tiles. A picture may be composed of one or more tile groups. A tile group may include one or more tiles. A brick may represent a rectangular area of rows of CTUs within a tile in a picture. In this document, tile groups and slices may be used interchangeably. For example, in this document, a tile group / tile group header may be referred to as a slice / slice header.
[0052] In the present disclosure, "pixel" or "pel" may refer to the smallest unit constituting a picture (or image). Additionally, "sample" may be used as a term corresponding to pixel. A sample may generally represent a pixel or a pixel value, may represent only the pixel / pixel value of the luminance component, or may represent only the pixel / pixel value of the chroma component.
[0053] In this disclosure, "unit" may represent a basic unit of image processing. A unit may include at least one of a specific area of a picture and information related to that area. A unit may include one luminance block and two chroma (e.g., cb, cr) blocks. Depending on the case, the term "unit" may be used interchangeably with terms such as "block" or "area." In general, an MxN block may include samples (or sample arrays) or a set (or array) of transform coefficients consisting of M columns and N rows.
[0054] In the present disclosure, "current block" may mean one of "current coding block," "current coding unit," "block to be encoded," "block to be decoded," or "block to be processed." When prediction is performed, "current block" may mean "current prediction block" or "block to be predicted." When transformation (inverse transformation) / quantization (inverse quantization) is performed, "current block" may mean "current transformation block" or "block to be transformed." When filtering is performed, "current block" may mean "block to be filtered."
[0055] In the present disclosure, "current block" may mean a block comprising both a luminous component block and a chroma component block, or "luma block of the current block," unless explicitly stated as a chroma block. The luminous component block of the current block may be expressed by including an explicit description of a luminous component block, such as "luma block" or "current luminous block." Additionally, the chroma component block of the current block may be expressed by including an explicit description of a chroma component block, such as "chroma block" or "current chroma block."
[0056] In the present disclosure, " / " and "," may be interpreted as "and / or." For example, "A / B" and "A, B" may be interpreted as "A and / or B." Additionally, "A / B / C" and "A, B, C" may mean "at least one of A, B and / or C."
[0057] In the present disclosure, "or" may be interpreted as "and / or". For example, "A or B" may mean 1) "A" only, 2) "B" only, or 3) "A and B". Alternatively, in the present disclosure, "or" may mean "additionally or alternatively".
[0058] FIG. 1 is a schematic diagram illustrating a video / image coding system to which an embodiment according to the present disclosure can be applied.
[0059] Referring to FIG. 1, a video / image coding system may include a first device (source device) and a second device (receiving device). The source device may transmit encoded video / image or data in the form of a file or streaming to the receiving device via a digital storage medium or a network.
[0060] The source device may include a video source, an encoding device, and a transmission unit. The receiving device may include a receiver, a decoding device, and a renderer. The encoding device may be called a video / image encoding device, and the decoding device may be called a video / image decoding device. The transmitter may be included in the encoding device. The receiver may be included in the decoding device. The renderer may include a display unit, and the display unit may be composed of a separate device or an external component.
[0061] A video source may acquire video / images through processes such as video / image capture, synthesis, or generation. The video source may include a video / image capture device and / or a video / image generation device. The video / image capture device may include, for example, one or more cameras, a video / image archive containing previously captured video / images, etc. The video / image generation device may include, for example, a computer, a tablet, and a smartphone, etc., and may generate video / images (electronically). For example, virtual video / images may be generated through a computer, etc., in which case the video / image capture process may be replaced by a process in which related data is generated.
[0062] The encoding device can encode input video / images. The encoding device can perform a series of procedures, such as prediction, transformation, and quantization, for compression and coding efficiency. The encoded data (encoded video / image information) can be output in the form of a bitstream.
[0063] The transmission unit can transmit encoded video / image information or data output in the form of a bitstream to the receiving unit of a receiving device in the form of a file or streaming via a digital storage medium or a network. The digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, and SSD. The transmission unit may include elements for creating a media file through a predetermined file format and elements for transmission via a broadcasting / communication network. The receiving unit can receive / extract the bitstream and transmit it to a decoding device.
[0064] The decoding device can decode video / images by performing a series of procedures such as inverse quantization, inverse transform, and prediction corresponding to the operation of the encoding device.
[0065] The renderer can render the decoded video / image. The rendered video / image can be displayed through the display unit.
[0066] FIG. 2 is a schematic diagram illustrating an encoding device to which an embodiment according to the present disclosure can be applied.
[0067] Referring to FIG. 2, the encoding device (200) may be configured to include an image partitioner (210), a predictor (220), a residual processor (230), an entropy encoder (240), an adder (250), a filter (260), and a memory (270). The predictor (220) may include an inter-predictor (221) and an intra-predictor (222). The residual processor (230) may include a transformer (232), a quantizer (233), a dequantizer (234), and an inverse transformer (235). The residual processor (230) may further include a subtractor (231). The addition unit (250) may be referred to as a reconstructor or a reconstructed block generator. The above-described image segmentation unit (210), prediction unit (220), residual processing unit (230), entropy encoding unit (240), addition unit (250), and filtering unit (260) may be configured by one or more hardware components (e.g., an encoder chipset or processor) according to the embodiment. Additionally, the memory (270) may include a DPB (Decoded Picture Buffer) and may be configured by a digital storage medium. The hardware component may further include the memory (270) as an internal / external component.
[0068] The image segmentation unit (210) can divide an input image (or picture, frame) input to an encoding device (200) into one or more processing units. For example, the processing unit may be called a coding unit (CU). A coding unit may be recursively divided into a coding tree unit (CTU) or a largest coding unit (LCU) according to a QTBTTT (Quad-tree binary-tree ternary-tree) structure. For example, a single coding unit may be divided into multiple coding units of a deeper depth based on a quad-tree structure, a binary-tree structure, and / or a ternary-tree structure. For example, a quad-tree structure may be applied first, and a binary-tree structure and / or a ternary-tree structure may be applied later. Alternatively, a binary-tree structure may be applied first. A coding procedure according to the present disclosure may be performed based on the final coding unit that is no longer divided. In this case, based on coding efficiency according to image characteristics, the maximum coding unit may be used directly as the final coding unit, or, if necessary, the maximum coding unit may be recursively divided into lower-depth coding units so that a coding unit of the optimal size is used as the final coding unit. Here, the coding procedure may include procedures such as prediction, transformation, and restoration described later. As another example, the processing unit may further include a prediction unit (PU) or a transformation unit (TU). The prediction unit and the transformation unit may each be divided or partitioned from the final coding unit.The above prediction unit may be a unit of sample prediction, and the above transformation unit may be a unit that derives transformation coefficients and / or a unit that derives a residual signal from transformation coefficients.
[0069] The term "unit" may be used interchangeably with terms such as "block" or "area" depending on the context. In general, an MxN block may represent a set of samples or transform coefficients consisting of M columns and N rows. A sample can generally represent a pixel or a pixel value, and may represent only the pixel / pixel value of the luminance component or only the pixel / pixel value of the chroma component. A sample may be used to refer to a single picture (or image) as a term corresponding to a pixel or pel.
[0070] The encoding device (200) can generate a residual signal (residual block, residual sample array) by subtracting a prediction signal (predicted block, prediction sample array) output from an inter prediction unit (221) or an intra prediction unit (222) from an input image signal (original block, original sample array), and the generated residual signal is transmitted to a conversion unit (232). In this case, as illustrated, the unit that subtracts the prediction signal (predicted block, prediction sample array) from the input image signal (original block, original sample array) within the encoding device (200) may be called a subtraction unit (231). The prediction unit (220) can perform a prediction for a block to be processed (hereinafter, current block) and generate a predicted block (predicted block) containing prediction samples for said current block. The prediction unit (220) can determine whether intra prediction is applied or inter prediction is applied in units of the current block or CU. The prediction unit (220) can generate various information regarding prediction, such as prediction mode information, as described below in the description of each prediction mode, and transmit it to the entropy encoding unit (240). The information regarding prediction can be encoded in the entropy encoding unit (240) and output in the form of a bitstream.
[0071] The intra prediction unit (222) can predict the current block by referring to samples within the current picture. The referenced samples may be located near the current block or away from it, depending on the prediction mode. In intra prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The non-directional modes may include, for example, a DC mode and a Planar mode. The directional modes may include, for example, 33 directional prediction modes or 65 directional prediction modes, depending on the degree of fineness of the prediction direction. However, this is merely an example, and depending on the settings, more or fewer directional prediction modes may be used. The intra prediction unit (222) may also determine the prediction mode applied to the current block by using the prediction mode applied to the surrounding blocks.
[0072] The inter prediction unit (221) can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks may include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. The reference picture containing the reference blocks and the reference picture containing the temporal neighboring blocks may be the same or different from each other. The temporal neighboring blocks may be referred to by names such as collocated reference block, collocated CU (colCU), etc. A reference picture containing the aforementioned temporal surrounding blocks may be called a collocated picture (colPic). For example, the inter prediction unit (221) may construct a list of motion information candidates based on surrounding blocks and generate information indicating which candidate is used to derive the motion vector and / or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, for example, in the case of skip mode and merge mode, the inter prediction unit (221) may use the motion information of surrounding blocks as motion information of the current block. In the case of skip mode, unlike merge mode, a residual signal may not be transmitted.In the motion vector prediction (MVP) mode, the motion vector of surrounding blocks is used as a motion vector predictor, and the motion vector of the current block can be indicated by signaling the motion vector difference.
[0073] The prediction unit (220) may generate a prediction signal based on various prediction methods and / or prediction techniques described below. For example, the prediction unit (220) may apply intra prediction or inter prediction for the prediction of the current block, as well as apply intra prediction and inter prediction simultaneously. A prediction method that applies intra prediction and inter prediction simultaneously for the prediction of the current block may be called combined inter and intra prediction (CIIP). Additionally, the prediction unit (220) may be based on an intra block copy (IBC) prediction mode or a palette mode for the prediction of the block. The IBC prediction mode or palette mode may be used for content video / video coding, such as in games, for example, screen content coding (SCC). IBC basically performs prediction within the current picture, but it may be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. Palette mode can be viewed as an example of intra-coding or intra-prediction. When palette mode is applied, sample values within a picture can be signaled based on information regarding palette tables and palette indices.
[0074] The prediction signal generated through the prediction unit (220) can be used to generate a restoration signal or to generate a residual signal. The subtraction unit (231) can generate a residual signal (residual signal, residual block, residual sample array) by subtracting the prediction signal (predicted block, prediction sample array) output from the prediction unit (220) from the input image signal (original block, original sample array). The generated residual signal can be transmitted to the conversion unit (232).
[0075] The transformation unit (232) can generate transform coefficients by applying a transformation technique to a residual signal. For example, the transformation technique may include at least one of a Discrete Cosine Transform (DCT), a Discrete Sine Transform (DST), a Karhunen-Loeve Transform (KLT), a Graph-Based Transform (GBT), or a Conditionally Non-linear Transform (CNT). Here, GBT refers to a transformation obtained from a graph when the relationship information between pixels is represented as a graph. CNT refers to a transformation obtained based on a prediction signal generated using all previously reconstructed pixels. The transformation process may be applied to a block of pixels of the same size in a square, or to a block of variable size that is not square.
[0076] The quantization unit (233) can quantize the transformation coefficients and transmit them to the entropy encoding unit (240). The entropy encoding unit (240) can encode the quantized signal (information regarding the quantized transformation coefficients) and output it as a bitstream. The information regarding the quantized transformation coefficients may be called residual information. The quantization unit (233) can rearrange the block-shaped quantized transformation coefficients into a one-dimensional vector form based on the coefficient scan order, and can also generate information regarding the quantized transformation coefficients based on the one-dimensional vector-shaped quantized transformation coefficients.
[0077] The entropy encoding unit (240) can perform various encoding methods such as, for example, exponential Golomb, CAVLC (context-adaptive variable length coding), CABAC (context-adaptive binary arithmetic coding), etc. The entropy encoding unit (190) may encode information required for video / image restoration (e.g., values of syntax elements) together or separately, in addition to quantized transform coefficients. The encoded information (e.g., encoded video / image information) may be transmitted or stored in the form of a bitstream in units of NAL (network abstraction layer) units. The video / image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Additionally, the video / image information may further include general constraint information. The signaling information, transmitted information, and / or syntax elements mentioned in the present disclosure may be included in the video / image information. The video / image information may be encoded through the encoding procedure described above and included in the bitstream.
[0078] The above bitstream may be transmitted via a network or stored in a digital storage medium. Here, the network may include a broadcasting network and / or a communication network, and the digital storage medium may include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc. A transmission unit (not shown) for transmitting a signal output from the entropy encoding unit (240) and / or a storage unit (not shown) for storing it may be provided as an internal / external element of the encoding device (200), or the transmission unit may be provided as a component of the entropy encoding unit (240).
[0079] The quantized transformation coefficients output from the quantization unit (233) can be used to generate a residual signal. For example, a residual signal (residual block or residual samples) can be restored by applying inverse quantization and inverse transformation to the quantized transformation coefficients through the inverse quantization unit (234) and the inverse transformation unit (235).
[0080] Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture encoding and / or restoration process.
[0081] The adder (250) can generate a reconstructed signal (reconstructed picture, reconstructed block, reconstructed sample array) by adding the reconstructed residual signal to the prediction signal output from the inter prediction unit (221) or the intra prediction unit (222). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the predicted block can be used as the reconstructed block. The adder (250) may be called a reconstructed unit or a reconstructed block generation unit. The generated reconstructed signal can be used for intra prediction of the next block to be processed within the current picture, and can also be used for inter prediction of the next picture after undergoing filtering as described below.
[0082] The filtering unit (260) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (260) can generate a modified restored picture by applying various filtering methods to the restored picture, and can store the modified restored picture in memory (270), specifically in the DPB of memory (170). The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc. The filtering unit (260) can generate various information regarding filtering and transmit it to the entropy encoding unit (240), as described below in the description of each filtering method. The information regarding filtering can be encoded in the entropy encoding unit (240) and output in the form of a bitstream.
[0083] The modified restored picture transmitted to the memory (270) can be used as a reference picture in the inter-prediction unit (221). Through this, the encoding device (200) can avoid prediction mismatches between the encoding device (200) and the decoding device when inter-prediction is applied, and can also improve encoding efficiency.
[0084] The DPB in memory (270) can store a modified restored picture to be used as a reference picture in the inter prediction unit (221). Memory (270) can store motion information of blocks from which motion information is derived (or encoded) in the current picture and / or motion information of blocks in the picture that have already been restored. The stored motion information can be transmitted to the inter prediction unit (221) to be used as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. Memory (270) can store restoration samples of restored blocks in the current picture and transmit them to the intra prediction unit (222).
[0085] FIG. 3 is a schematic diagram illustrating a decoding device to which an embodiment according to the present disclosure can be applied.
[0086] As illustrated in FIG. 3, the decoding device (300) may be configured to include an entropy decoder (310), a residual processor (320), a predictor (330), an adder (340), a filter (350), and a memory (360). The predictor (330) may include an inter-predictor (332) and an intra-predictor (331). The residual processor (320) may include a dequantizer (321) and an inverse transformer (321). The aforementioned entropy decoding unit (310), residual processing unit (320), prediction unit (330), addition unit (340), and filtering unit (350) may be configured by a single hardware component (e.g., a decoder chipset or a processor) according to an embodiment. Additionally, the memory (360) may include a decoded picture buffer (DPB) and may be configured by a digital storage medium. The hardware component may further include the memory (360) as an internal / external component.
[0087] When a bitstream containing video / image information is input, the decoding device (300) can restore the image by performing a process corresponding to the process performed by the encoding device (200) of FIG. 2. For example, the decoding device (300) can perform decoding using a processing unit applied in the encoding device (200). Thus, the processing unit for decoding may be, for example, a coding unit. The coding unit may be a coding tree unit, or a maximum coding unit may be obtained by dividing it according to a quad tree structure, a binary tree structure, and / or a binary tree structure. And, the restored image signal decoded and output through the decoding device (300) can be played back through a playback device (not shown).
[0088] The decoding device (300) can receive a signal output from the encoding device (200) of FIG. 2 in the form of a bitstream. The received signal can be decoded through an entropy decoding unit (310). For example, the entropy decoding unit (310) can parse the bitstream to derive information necessary for image restoration (or picture restoration) (e.g., video / image information). The video / image information may further include information regarding various parameter sets, such as an adaptation parameter set (APS), a picture parameter set (PPS), a sequence parameter set (SPS), or a video parameter set (VPS). Additionally, the video / image information may further include general constraint information. The decoding device (300) can decode the picture based on the information regarding the parameter sets and / or the general constraint information. The signaling / received information and / or syntax elements described below can be obtained from the bitstream by decoding through the decoding procedure. For example, the entropy decoding unit (310) can decode information within the bitstream based on coding methods such as exponential coding, CAVLC, or CABAC, and output values of syntax elements required for image restoration and quantized values of transformation coefficients regarding residuals. More specifically, the CABAC entropy decoding method can receive bins corresponding to each syntax element in the bitstream, determine a context model using information on the syntax element to be decoded and decoding information of surrounding and decoding target blocks or information on symbols / bins decoded in the previous step, predict the probability of occurrence of the bin according to the determined context model, and perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element.At this time, the CABAC entropy decoding method can update the context model using the decoded symbol / bin information for the context model of the next symbol / bin after determining the context model. Among the information decoded in the entropy decoding unit (310), information regarding prediction is provided to the prediction unit (330), and residual values for which entropy decoding was performed in the entropy decoding unit (310), i.e., quantized transformation coefficients and related parameter information, can be input to the residual processing unit (320). The residual processing unit (320) can derive residual signals (residual blocks, residual samples, residual sample array). Additionally, among the information decoded in the entropy decoding unit (310), information regarding filtering can be provided to the filtering unit (350). Meanwhile, a receiving unit (not shown) that receives a signal output from an encoding device may be further configured as an internal / external element of the decoding device (300), or the receiving unit may be a component of the entropy decoding unit (310). Meanwhile, the decoding device according to the present document may be called a video / image / picture decoding device, and the 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 the entropy decoding unit (310), and the sample decoder may include at least one of the inverse quantization unit (321), inverse transform unit (322), adder (340), filtering unit (350), memory (360), inter prediction unit (332), and intra prediction unit (331).
[0089] In the inverse quantization unit (321), the quantized transformation coefficients can be inversely quantized to output transformation coefficients. The inverse quantization unit (321) can rearrange the quantized transformation coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed in the encoding device (200). The inverse quantization unit (321) can perform inverse quantization on the quantized transformation coefficients using quantization parameters (e.g., quantization step size information) and obtain transformation coefficients.
[0090] In the inverse conversion unit (322), the conversion coefficients can be inversely converted to obtain a residual signal (residual block, residual sample array).
[0091] The prediction unit (330) can generate a prediction signal based on various prediction methods described below. For example, the prediction unit may apply intra prediction or inter prediction for a single block, and may also apply intra prediction and inter prediction simultaneously. This may be called combined inter and intra prediction (CIIP). Additionally, the prediction unit may be based on an intra block copy (IBC) prediction mode or a palette mode for predicting a block. The IBC prediction mode or palette mode may be used for content video / video coding, such as in games, for example, screen content coding (SCC). IBC basically performs prediction within the current picture, but it can be performed similarly to inter prediction in that it derives a reference block within the current picture. That is, IBC may use at least one of the inter prediction techniques described in this document. The palette mode can be viewed as an example of intra coding or intra prediction. When the palette mode is applied, information regarding the palette table and palette index can be included in the above video / image information and signaled.
[0092] The intra prediction unit (331) can predict the current block by referring to samples within the current picture. The description of the intra prediction unit (222) may be applied equally to the intra prediction unit (331). The referenced samples may be located in the neighborhood of the current block or located away from it, depending on the prediction mode. In intra prediction, the prediction modes may include a plurality of non-directional modes and a plurality of directional modes. The intra prediction unit (331) may determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring blocks.
[0093] The inter prediction unit (332) can derive a predicted block for the current block based on a reference block (reference sample array) specified by a motion vector on a reference picture. At this time, to reduce the amount of motion information transmitted in the inter prediction mode, motion information can be predicted in blocks, sub-blocks, or samples based on the correlation of motion information between neighboring blocks and the current block. The motion information may include a motion vector and a reference picture index. The motion information may further include information on the inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.). In the case of inter prediction, neighboring blocks may include spatial neighboring blocks existing within the current picture and temporal neighboring blocks existing in the reference picture. For example, the inter prediction unit (332) may construct a motion information candidate list based on the neighboring blocks and derive the motion vector and / or reference picture index of the current block based on the received candidate selection information. Inter-prediction can be performed based on various prediction modes (techniques), and information regarding the prediction may include information indicating the mode (technique) of inter-prediction for the current block.
[0094] The adder (340) can generate a restoration signal (restored picture, restored block, restored sample array) by adding the acquired residual signal to the prediction signal (predicted block, predicted sample array) output from the prediction unit (330) (including the inter prediction unit (332) and / or intra prediction unit (331)). In cases where there is no residual for the block to be processed, such as when a skip mode is applied, the predicted block can be used as the restoration block. The description of the adder (250) can be applied equally to the adder (340). The adder (340) may be called a restoration unit or a restoration block generation unit. The generated restoration signal can be used for intra prediction of the next block to be processed within the current picture, and can also be used for inter prediction of the next picture after undergoing filtering as described below.
[0095] Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture decoding process.
[0096] The filtering unit (350) can improve subjective / objective image quality by applying filtering to the restored signal. For example, the filtering unit (350) can generate a modified restored picture by applying various filtering methods to the restored picture, and can store the modified restored picture in memory (360), specifically in the DPB of memory (360). The various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
[0097] The (modified) restored picture stored in the DPB of the memory (360) can be used as a reference picture in the inter-prediction unit (332). The memory (360) can store motion information of blocks from which motion information within the current picture has been derived (or decoded) and / or motion information of blocks within the picture that have already been restored. The stored motion information can be transmitted to the inter-prediction unit (332) to be used as motion information of spatially surrounding blocks or motion information of temporally surrounding blocks. The memory (360) can store restoration samples of blocks restored within the current picture and transmit them to the intra-prediction unit (331).
[0098] In this specification, the embodiments described in the filtering unit (260), inter prediction unit (221), and intra prediction unit (222) of the encoding device (200) may be applied to the filtering unit (350), inter prediction unit (332), and intra prediction unit (331) of the decoding device (300) in the same or corresponding manner.
[0099] Figure 4 illustrates an exemplary hierarchical structure for a coded video / image.
[0100] Referring to Figure 4, the coded image is divided into a VCL (video coding layer) that handles the decoding processing of the image and the image itself, a subsystem that transmits and stores the encoded information, and a NAL (network abstraction layer) that exists between the VCL and the subsystem and is responsible for network adaptation functions.
[0101] In VCL, VCL data containing compressed image data (slice data) can be generated, or parameter sets containing information such as Picture Parameter Set (PPS), Sequence Parameter Set (SPS), and Video Parameter Set (VPS), or SEI (Supplemental Enhancement Information) messages that are additionally required in the decoding process of the image can be generated.
[0102] In NAL, a NAL unit can be created by adding header information (NAL unit header) to the Raw Byte Sequence Payload (RBSP) generated in VCL. In this case, the RBSP refers to slice data, parameter sets, SEI messages, etc. generated in VCL. The NAL unit header may include NAL unit type information specified according to the RBSP data included in the NAL unit.
[0103] As shown in FIG. 4, NAL units can be classified into VCL NAL units and Non-VCL NAL units depending on the RBSP generated in VCL. A VCL NAL unit may refer to a NAL unit containing information about an image (slice data), and a Non-VCL NAL unit may refer to a NAL unit containing information necessary to decode an image (parameter set or SEI message).
[0104] The aforementioned VCL NAL unit and Non-VCL NAL unit can be transmitted over a network by attaching header information according to the data specifications of the underlying system. For example, the NAL unit can be transformed into a data format of a specified specification, such as H.266 / VVC file format, RTP (Real-time Transport Protocol), TS (Transport Stream), etc., and transmitted over various networks.
[0105] As described above, the NAL unit type can be specified according to the RBSP data structure included in the NAL unit, and information about this NAL unit type can be stored in the NAL unit header and signaled.
[0106] For example, NAL units can be broadly classified into VCL NAL unit types and Non-VCL NAL unit types depending on whether they contain information about the image (slice data). VCL NAL unit types can be classified according to the properties and types of the picture included in the VCL NAL unit, while Non-VCL NAL unit types can be classified according to the types of parameter sets.
[0107] The following is an example of a NAL unit type specified according to the type of parameter set included in the Non-VCL NAL unit type.
[0108] - APS (Adaptation Parameter Set) NAL unit: Type for the NAL unit containing the APS
[0109] - DPS (Decoding Parameter Set) NAL unit: Type for the NAL unit containing the DPS
[0110] - VPS (Video Parameter Set) NAL unit: Type for the NAL unit containing the VPS
[0111] - SPS (Sequence Parameter Set) NAL unit: Type for the NAL unit containing the SPS
[0112] - PPS(Picture Parameter Set) NAL unit: Type for the NAL unit containing the PPS
[0113] The above-described NAL unit types have syntax information for the NAL unit type, and said syntax information can be stored in the NAL unit header and signaled. For example, said syntax information may be nal_unit_type, and NAL unit types may be specified by the nal_unit_type value.
[0114] The slice header (slice header syntax) may include information / parameters that can be commonly applied to the slice. The APS (APS syntax) or PPS (PPS syntax) may include information / parameters that can be commonly applied to one or more slices or pictures. The SPS (SPS syntax) may include information / parameters that can be commonly applied to one or more sequences. The VPS (VPS syntax) may include information / parameters that can be commonly applied to multiple layers. The DPS (DPS syntax) may include information / parameters that can be commonly applied to the entire video. The DPS may include information / parameters related to the concatenation of the CVS (coded video sequence). In this document, the term High level syntax (HLS) may include at least one of the above APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, and slice header syntax.
[0115] In the present disclosure, image / video information encoded from an encoding device to a decoding device and signaled in the form of a bitstream includes not only information related to partitioning within a picture, intra / inter prediction information, residual information, in-loop filtering information, etc., but may also include information included in the slice header, information included in the APS, information included in the PPS, information included in the SPS, and / or information included in the VPS.
[0116] In the present disclosure, the following descriptors may define the parsing process for each syntax element.
[0117] - ae(v) is a context-adaptive arithmetic entropy-coded syntax element.
[0118] - b(8) is a byte with an arbitrary bit string pattern of length 8 bits. The parsing process of this descriptor is defined by the return value of the function read_bits(8).
[0119] - f(n) is an n-bit fixed-pattern bit string where the left bits are written first. The parsing process of this descriptor is defined by the return value of the function read_bits(n).
[0120] - i(n) is a signed integer using n bits, where n is denoted as "v" in the syntax table, the number of bits varies depending on the values of other syntax elements. The parsing process of this descriptor is defined by interpreting the return value of the function read_bits(n) into a two's complement integer representation where the most significant bit is written first.
[0121] - se(v) is a 0th-order Exp-Golomb encoded signed integer syntax element, written starting from the left bit. The parsing process of this descriptor is defined with order k set to 0.
[0122] - st(v) is a null-terminated string encoded in UCS (Universal Coded Character Set) transmission format 8 (UTF-8) characters as defined in ISO / IEC 10646. The parsing process is defined as follows.
[0123] st(v) starts at a byte-aligned position within the bitstream and reads and returns a sequence of consecutive bytes from the bitstream, starting from the current position and excluding the next byte-aligned byte with a value of 0x00. The bitstream pointer then advances by (stringLength + 1) * 8 bit positions, where stringLength is equal to the number of returned bytes.
[0124] For reference, the st(v) syntax descriptor is used in this disclosure only when the current position in the bitstream is a byte-aligned position.
[0125] - tu(v) is a truncated unary encoding scheme that uses up to the number of bits defined by the maximum value (maxVal), and maxVal is defined in the semantics of the corresponding syntax element.
[0126] - u(n) is an unsigned integer using n bits. If n is marked as "v" in the syntax table, the number of bits varies depending on the values of other syntax elements. The parsing process of this descriptor is defined by interpreting the return value of the function read_bits(n) as a binary representation of an unsigned integer where the most significant bit is written first.
[0127] - ue(v) is a 0th-order Exp-Golomb encoded unsigned integer syntax element, written starting from the left bit. The parsing process of this descriptor is defined with order k set to 0.
[0128] The SEI message related to the present disclosure will be described below.
[0129] Table 1 shows an example of a thumbnail source information (TSI) SEI message syntax according to one embodiment.
[0130] [Table 1]
[0131]
[0132] An example of the semantics of a thumbnail source information (TSI) SEI message according to one embodiment is described.
[0133] Thumbnail Source Information (TSI) SEI messages provide information about the source of a thumbnail image or video for associated video content.
[0134] If a TSI SEI message exists in any AU of a CVS, a TSI SEI message must exist in the first AU of that CVS. All TSI SEI messages within a CVS must have the same content.
[0135] tsi_thumbnail_id contains an identification number that can be used to uniquely identify a thumbnail image or video within a bitstream.
[0136] tsi_source_type indicates the source of the thumbnail image or video as specified in Table 2.
[0137] [Table 2]
[0138]
[0139] If tsi_layer_id exists, it specifies the layer identifier of the layer from which the thumbnail image or video is obtained.
[0140] If present, tsi_uri identifies the source of a thumbnail image or video and includes a URI having the syntax and semantics specified by IETF Internet Standard 66.
[0141] A tsi_region_info_present_flag equal to 1 indicates that the tei_width_minus1, tei_height_minus1, tei_top_left_x, and tei_top_left_y syntax elements exist in the thumbnail extraction information SEI message associated with the current TSI SEI message. A tsi_region_info_present_flag equal to 0 indicates that the tei_width_minus1, tei_height_minus1, tei_top_left_x, and tei_top_left_y syntax elements do not exist in the thumbnail extraction information SEI message associated with the current TSI SEI message.
[0142] Table 3 shows an example of a thumbnail extraction information (TEI) SEI message syntax according to one embodiment.
[0143] [Table 3]
[0144]
[0145] An example of the semantics of a thumbnail extraction information (TEI) message according to one embodiment is described.
[0146] A thumbnail extraction information SEI message indicates that one or more pictures to which the SEI message applies, or a specific area of the picture(s), is a thumbnail image or video for the associated video content.
[0147] If there is a TSI SEI message in CLVS where tsi_source_type is equal to 0 and tsi_thumbnail_id is equal to curThumbId, then there must be at least one TEI SEI message in CLVS where tei_thumbnail_id is equal to curThumbId. If there is a TEI SEI message in CLVS where tei_thumbnail_id is equal to curThumbId, then there must be a TSI SEI message in CVS where tsi_source_type is less than 2 and tsi_thumbnail_id is equal to curThumbId.
[0148] tei_thumbnail_id includes an identification number that can be used to uniquely identify a thumbnail image or video within a bitstream.
[0149] A tei_cancel_flag equal to 1 indicates that the TEI SEI message cancels the persistence of the previous TEI SEI message in the output order applied to the current layer. A tei_cancel_flag equal to 0 indicates that thumbnail extraction information follows.
[0150] tei_persistence_flag specifies the persistence of thumbnail extraction information provided by this SEI message. tei_persistence_flag equal to 0 specifies that thumbnail extraction information is applied only to the current picture. tei_persistence_flag equal to 1 specifies that thumbnail extraction information is applied to the current picture and all subsequent pictures of the current layer in the output order, provided that it is applied until one or more of the following conditions are true.
[0151] - New CLVS of the current layer have started.
[0152] - Bitstream terminated.
[0153] - The picture of the current layer associated with the TEI SEI message is output, and that picture is positioned after the current picture in the output order.
[0154] If tei_width_minus1 and tei_height_minus1 exist, tei_width_minus1 + 1 and tei_height_minus1 + 1 specify the width and height of the corresponding area in units of luma samples, respectively.
[0155] As a requirement for bitstream conformity, (tei_width_minus1 + 1) % SubWidthC must be equal to 0, and (tei_height_minus1 + 1) % SubHeightC must be equal to 0.
[0156] If tei_top_left_x and tei_top_left_y exist, tei_top_left_x and tei_top_left_y specify the horizontal and vertical positions of the top-left sample of the corresponding area, respectively.
[0157] As a requirement for bitstream conformity, tei_top_left_x % SubWidthC must be equal to 0, and tei_top_left_y % SubHeightC must be equal to 0.
[0158] The area(s) indicated by tei_width_minus1, tei_height_minus1, tei_top_left_x and tei_top_left_y are thumbnail images or videos, if the corresponding syntax element exists. If tei_width_minus1, tei_height_minus1, tei_top_left_x and tei_top_left_y do not exist, the picture(s) to which the TEI SEI message applies are thumbnail images or videos.
[0159] Thumbnails serve as a means to facilitate previewing and navigation of video content. They are typically created by extracting and editing specific portions of the original video, or provided as separately encoded video content. Depending on the implementation, they may be presented as full-screen preview videos or as small icons to support efficient content browsing.
[0160] Since thumbnails can be generated by extracting and editing specific parts of the original video content, it is useful to include an SEI message indicating the source of the thumbnail and how the original video content was extracted and edited to obtain the thumbnail. This approach provides common signaling across different systems and devices while ensuring a clear association between the original content and the corresponding thumbnail. Additionally, integrating thumbnail signaling within the video stream can improve storage efficiency and facilitate synchronization between the thumbnail and video playback.
[0161] Accordingly, the present invention proposes SEI messages for indicating the source and extraction information of a thumbnail video of an image.
[0162] Thumbnails are representative images or videos that provide a quick preview of content, helping users identify and navigate videos more easily. They can be determined by creators or content providers to reflect their intentions, and nowadays, AI is also increasingly being used to automatically generate thumbnails based on content analysis.
[0163] Thumbnails can be generated by extracting and editing temporal and / or spatial portions of the original video content. They may also be provided as separately encoded video content. The encoded video content of the thumbnail may be a specific layer of the current bitstream, or it may be a bitstream separate from the bitstream of the original video content.
[0164] In Content Provider services, thumbnails are frequently used as full-screen preview videos to enhance the browsing experience. These previews allow users to quickly grasp the essence of the content before playback, making it easier to choose what to watch.
[0165] On user devices, thumbnails are typically generated by capturing a portion of a video and displaying it as an icon. These icons help users efficiently navigate videos they have saved or recently played, and provide a convenient way to browse their content library.
[0166] Each item according to one embodiment may be applied individually or in combination.
[0167] 1. Add syntax elements representing thumbnail label information to the TSI SEI message.
[0168] 2. Add syntax elements representing thumbnail label information to the TEI SEI message.
[0169] 3. Add syntax elements representing thumbnail prompt information to the TSI SEI message.
[0170] 4. Add syntax elements representing thumbnail prompt information to the TEI SEI message.
[0171] 5. Add a syntax element indicating that a TSI SEI message with the same tsi_thumbnail_id does not exist in subsequent CVSs.
[0172] One embodiment relates to Item 1 described above. One embodiment is based on the VSEI and VVC specifications. The syntax elements of the Thumbnail Source Information (TSI) SEI message according to one embodiment are as shown in Table 4 below.
[0173] [Table 4]
[0174]
[0175] An example of semantics of a Thumbnail Source Information (TSI) SEI message according to one embodiment is described. Semantics different from the semantics of the Thumbnail Source Information SEI message described above are described, and descriptions of semantics identical to the semantics of the Thumbnail Source Information SEI message described above are replaced with descriptions of the semantics of the Thumbnail Source Information SEI message described above.
[0176] The thumbnail source information SEI message provides information about the source of the thumbnail image or video for the associated video content.
[0177] tsi_thumbnail_label_info_present_flag equal to 1 indicates that tsi_thumbnail_label_language_present_flag and tsi_thumbnail_label syntax elements exist, and that tsi_thumbnail_label_language syntax elements may exist. tsi_thumbnail_label_info_present_flag equal to 0 indicates that tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language, and tsi_thumbnail_label syntax elements do not exist.
[0178] A tsi_thumbnail_label_language_present_flag equal to 1 indicates that the tsi_thumbnail_label_language syntax element exists. A tsi_thumbnail_label_language_present_flag equal to 0 indicates that the tsi_thumbnail_label_language syntax element does not exist.
[0179] tsi_bit_equal_to_zero must be equal to 0.
[0180] tsi_thumbnail_label_language contains a language tag specified by IETF RFC 5646, followed by a null termination byte equal to 0x00. The length of the tsi_thumbnail_label_language syntax element must be 255 bytes or less, excluding the null termination byte. If not present, the language of the label is not specified.
[0181] tsi_thumbnail_label specifies the content of the label associated with the thumbnail. The length of the tsi_thumbnail_label syntax element must be 255 bytes or less, excluding the null termination byte.
[0182] One embodiment relates to Item 2 described above. One embodiment is based on the VSEI and VVC specifications. The syntax elements of the Thumbnail Extraction Information (TEI) SEI message according to one embodiment are as shown in Table 5 below.
[0183] [Table 5]
[0184]
[0185] An example of the semantics of a Thumbnail Extraction Information (TEI) SEI message according to one embodiment is described. Semantics different from the semantics of the Thumbnail Extraction Information SEI message described above are described, and any description of semantics identical to the semantics of the Thumbnail Extraction Information SEI message described above is replaced by the description of the semantics of the Thumbnail Extraction Information SEI message described above.
[0186] tei_thumbnail_label_info_present_flag equal to 1 indicates that tei_thumbnail_label_language_present_flag and tei_thumbnail_label syntax elements exist, and that tei_thumbnail_label_language syntax elements may exist. tei_thumbnail_label_info_present_flag equal to 0 indicates that tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language, and tei_thumbnail_label syntax elements do not exist.
[0187] A tei_thumbnail_label_language_present_flag equal to 1 indicates that the tei_thumbnail_label_language syntax element exists. A tei_thumbnail_label_language_present_flag equal to 0 indicates that the tei_thumbnail_label_language syntax element does not exist.
[0188] tei_bit_equal_to_zero must be equal to 0.
[0189] tei_thumbnail_label_language contains a language tag specified by IETF RFC 5646, followed by a null termination byte equal to 0x00. The length of the tei_thumbnail_label_language syntax element must be 255 bytes or less, excluding the null termination byte. If absent, the language of the label is not specified.
[0190] tei_thumbnail_label specifies the content of the label associated with the thumbnail. The length of the tei_thumbnail_label syntax element must be 255 bytes or less, excluding the null termination byte.
[0191] One embodiment relates to Item 3 described above. One embodiment is based on the VSEI and VVC specifications. The syntax elements of the Thumbnail Source Information (TSI) SEI message according to one embodiment are as shown in Table 6 below.
[0192] [Table 6]
[0193]
[0194] An example of semantics of a Thumbnail Source Information (TSI) SEI message according to one embodiment is described. Semantics different from the semantics of the Thumbnail Source Information SEI message described above are described, and descriptions of semantics identical to the semantics of the Thumbnail Source Information SEI message described above are replaced with descriptions of the semantics of the Thumbnail Source Information SEI message described above.
[0195] A tsi_prompt_present_flag equal to 1 indicates that a tsi_prompt syntax element exists. A tsi_prompt_present_flag equal to 0 indicates that a tsi_prompt syntax element does not exist.
[0196] tsi_bit_equal_to_zero must be equal to 0.
[0197] tsi_prompt specifies a text string prompt used as input for generating thumbnails.
[0198] One embodiment relates to Item 4 described above. One embodiment is based on the VSEI and VVC specifications. The syntax elements of the Thumbnail Extraction Information (TEI) SEI message according to one embodiment are as shown in Table 7 below.
[0199] [Table 7]
[0200]
[0201] An example of the semantics of a Thumbnail Extraction Information (TEI) SEI message according to one embodiment is described. Semantics different from the semantics of the Thumbnail Extraction Information SEI message described above are described, and any description of semantics identical to the semantics of the Thumbnail Extraction Information SEI message described above is replaced by the description of the semantics of the Thumbnail Extraction Information SEI message described above.
[0202] A tei_prompt_present_flag equal to 1 indicates that a tsi_prompt syntax element exists. Also, a tsi_prompt_present_flag equal to 0 indicates that a tsi_prompt syntax element does not exist.
[0203] tei_bit_equal_to_zero must be equal to 0.
[0204] tei_prompt specifies a text string prompt used as input for generating thumbnails.
[0205] One embodiment relates to Item 5 described above. One embodiment is based on the VSEI and VVC specifications. The syntax elements of the Thumbnail Source Information (TSI) SEI message according to one embodiment are as shown in Table 8 below.
[0206] [Table 8]
[0207]
[0208] An example of semantics of a Thumbnail Source Information (TSI) SEI message according to one embodiment is described. Semantics different from the semantics of the Thumbnail Source Information SEI message described above are described, and descriptions of semantics identical to the semantics of the Thumbnail Source Information SEI message described above are replaced with descriptions of the semantics of the Thumbnail Source Information SEI message described above.
[0209] A tsi_thumbnail_end_flag equal to 1 indicates that there are no TSI SEI messages with the same tsi_thumbnail_id in subsequent CVSs within the bitstream. A tsi_thumbnail_end_flag equal to 0 does not provide such an indication.
[0210] The terms or names described below (e.g., names of syntax elements or variables, etc.) are merely examples, and the technical features of the present disclosure are not limited to the terms, etc. described below. For example, the image information described below may include various information according to the embodiments described in the present disclosure and may include information described in at least one of the tables described above.
[0211] The operations described below do not constitute an essential component of one embodiment, and at least some of the operations described below may be omitted. Furthermore, the operations described below do not constitute a sufficient component of one embodiment, and previously described operations may be added. Moreover, unless they contradict previously described operations, the operations described below form one embodiment integrally with previously described operations and do not form a separate embodiment distinct from previously described operations.
[0212] FIG. 5 is a diagram illustrating a method for decoding image information according to one embodiment of the present disclosure.
[0213] The decoding method (S500) may include the operations described below.
[0214] The terms or names described below (e.g., names of syntax elements or variables, etc.) are merely examples, and the technical features of the present disclosure are not limited to the terms or names described below. For example, the image information described below may include various information according to the embodiments described in the present disclosure and may include information described in at least one of the tables described above.
[0215] The operations described below do not constitute an essential component of the decoding method according to one embodiment, and at least some of the operations described below may be omitted. Furthermore, the operations described below do not constitute a sufficient component of the decoding method according to one embodiment, and the previously described operations may be added.
[0216] The operations described below form a single embodiment integrally with the configurations and / or operations described above, unless they conflict with the configurations and / or operations described above, and do not form a separate embodiment distinct from the configurations and / or operations described above.
[0217] The decoding method (S500) can be executed by a decoding device including a memory and a processor electrically connected to the memory, for example, by a processor.
[0218] A decoding device can acquire image information. For example, a processor of a decoding device can acquire image information. The image information may include a picture to be decoded.
[0219] For example, the video information may include thumbnail-related information that can be used to generate a thumbnail picture, as additional information related to at least one picture. The thumbnail-related information may include thumbnail source information and thumbnail extraction information, as information to support video preview and navigation. Additionally, to provide a thumbnail picture for the associated video content, the encoding device may generate a thumbnail-related message and provide it to a decoding device via a bitstream.
[0220] The encoding device can determine the source of the thumbnail (e.g., the current layer, another layer, or another bitstream) and the picture or specific area within the picture to be used as the thumbnail (e.g., the top-left position and size, etc.) based on analysis or editing information regarding the original video content, and generate identifier information, source information, area information, and persistence / cancellation information indicating this, and provide them to the decoding device. Accordingly, the decoding device can identify and provide the thumbnail picture using the information signaled by the thumbnail-related message without the need to perform separate thumbnail generation or extraction operations. Through this, the amount of computation and power consumption during the decoding process is reduced, and synchronization between the original content and the thumbnail and compatibility between devices can be improved.
[0221] The decoding device can acquire a SEI (supplemental enhancement information) message (S510).
[0222] SEI messages can convey specific types of information that assist in processes related to the decoding, display, or other purposes of image information. Here, SEI messages may not be necessary for the decoding process to determine the sample values of the decoded picture.
[0223] For example, SEI messages may include thumbnail-related SEI messages.
[0224] A thumbnail-related SEI message may include at least one of a TSI (Thumbnail Source Information) related SEI message associated with the source of the thumbnail picture and / or a TEI (Thumbnail Extraction Information) related SEI message associated with the extraction of the thumbnail picture. For example, a TSI-related SEI message may include source information of the thumbnail picture, and a TEI-related SEI message may include extraction information of the thumbnail picture.
[0225] TSI-related SEI messages may have various names such as thumbnail source information SEI message, thumbnail source information related message, thumbnail source information related information, thumbnail source message, thumbnail source information, thumbnail source information SEI message, thumbnail source information related message, thumbnail source information related information, thumbnail source message, thumbnail source information, TSI SEI message, TSI-related message, TSI-related information, TSI message, TSI information, etc., and such names are not limited.
[0226] TSI-related SEI messages can take various forms. For example, a TSI-related SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a TSI-related SEI message may be a raw byte sequence payload (RBSP) containing one or more syntax elements or one or more syntax structures. For example, a TSI-related SEI message may be represented as thumbnail_source_info( payloadSize ), but is not limited thereto.
[0227] TEI-related SEI messages may have various names such as thumbnail extraction information SEI message, thumbnail extraction information related message, thumbnail extraction information related information, thumbnail extraction message, thumbnail extraction information, TEI SEI message, TEI-related message, TEI-related information, TEI message, TEI information, etc., and the names are not limited.
[0228] TEI-related SEI messages can take various forms. For example, a TEI-related SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a TEI-related SEI message may be a raw byte sequence payload (RBSP) containing one or more syntax elements or one or more syntax structures. For example, a TEI-related SEI message may be represented as thumbnail_extraction_info( payloadSize ), but is not limited thereto.
[0229] For example, a decoding device can obtain a thumbnail-related SEI message associated with a picture from a bitstream. For example, a processor of the decoding device can parse the bitstream to identify at least one SEI message applied to the picture and obtain a thumbnail-related SEI message among them for conveying thumbnail-related information.
[0230] The decoding device can obtain thumbnail-related information from a thumbnail-related SEI message. For example, the thumbnail-related information may include at least one of thumbnail identifier information, thumbnail source information, thumbnail extraction area information, thumbnail size information, thumbnail location information, thumbnail cancellation information, thumbnail persistence information, thumbnail label information, and / or thumbnail prompt information. Additionally, the thumbnail-related information may further include termination information indicating whether there is a subsequent CVS of a TSI-related SEI message corresponding to the same thumbnail identifier.
[0231] The decoding device can obtain thumbnail-related information based on the SEI message (S520).
[0232] The decoding device can obtain thumbnail-related information for a decoded picture based on at least one thumbnail-related SEI message. For example, the decoding device can obtain at least one of thumbnail identifier information, thumbnail source information, thumbnail extraction information, thumbnail size information, thumbnail location information, thumbnail cancellation information, thumbnail persistence information, label information of the thumbnail picture, and / or prompt information of the thumbnail picture from at least one thumbnail-related SEI message.
[0233] A thumbnail-related SEI message may include at least one of a TSI (Thumbnail Source Information) related SEI message associated with the source of a thumbnail picture and / or a TEI (Thumbnail Extraction Information) related SEI message associated with the extraction of a thumbnail picture. For example, a TSI-related SEI message may include source information of the thumbnail picture, and a TEI-related SEI message may include extraction information of the thumbnail picture. Accordingly, the thumbnail-related information may include source information and extraction information of the thumbnail picture.
[0234] Additionally, the decoding device can identify a thumbnail picture corresponding to a decoded picture (or a picture to be decoded) based on a thumbnail-related SEI message. For example, if the thumbnail-related SEI message includes a TSI-related SEI message, the decoding device can obtain at least one of source type information, layer identifier information, or URI information indicating the source of the thumbnail picture from the TSI-related SEI message, and based thereon, determine whether the thumbnail picture is derived from a picture of the current layer, from another layer within the current bitstream, or from another bitstream.
[0235] Additionally, if a thumbnail-related SEI message includes a TEI-related SEI message, the decoding device can obtain persistence information and cancellation information indicating the scope of application of thumbnail extraction information, as well as thumbnail size information and thumbnail location information, from the TEI-related SEI message. At this time, the decoding device can identify the area within the picture indicated by the thumbnail size information and thumbnail location information as a thumbnail, and if the information is not present, the entire picture to which the TEI-related SEI message applies can be identified as a thumbnail.
[0236] A TSI-related SEI message may include at least one of TSI identifier information for identifying a thumbnail picture within a bitstream, thumbnail source information indicating the source of the thumbnail picture, thumbnail layer information, thumbnail URI information, and thumbnail extraction area existence information.
[0237] TSI identifier information for representing a thumbnail picture within a TSI-related SEI message may include an identification number that can be used to uniquely identify a thumbnail image or video within a bitstream.
[0238] TSI identifier information for representing a thumbnail picture within a TSI-related SEI message may take various forms and be expressed by various names. For example, TSI identifier information for representing a thumbnail picture may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI identifier information for representing a thumbnail picture may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI identifier information for representing a thumbnail picture may include tsi_thumbnail_id, but is not limited thereto.
[0239] Thumbnail source information may indicate the source of a thumbnail image or video. For example, thumbnail source information may indicate whether the thumbnail picture was derived from the current layer within the bitstream, another layer different from the current layer, or another bitstream different from the bitstream.
[0240] Thumbnail source information may take various forms and may be represented by various names. For example, thumbnail source information may be a syntax element or a syntax structure containing one or more syntax elements. For example, thumbnail source information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, thumbnail source information may include tsi_source_type, etc., but is not limited thereto.
[0241] For example, when thumbnail source information is expressed as tsi_source_type, tsi_source_type may indicate the source of the thumbnail image or video as specified in Table 2 above.
[0242] Thumbnail source information may be information indicating from which source a thumbnail image or thumbnail video was obtained or sourced. For example, if the value of the thumbnail source information is 0, it may indicate that the thumbnail image or video is sourced from one or more pictures within the current layer. Additionally, if the value of the thumbnail source information is 1, it may indicate that the thumbnail image or video is sourced from a different layer within the current bitstream that is different from the current layer. Additionally, if the value of the thumbnail source information is 2, it may indicate that the thumbnail image or video is sourced from a different bitstream that is different from the current bitstream. Meanwhile, if the value of the thumbnail source information is 3, the value may be a reserved value and may be a value predefined for future extension, and the value used in the embodiments of the present disclosure is not limited thereto. Accordingly, the decoding device can determine the reference target of the thumbnail based on the thumbnail source information, identify the thumbnail using the picture of the current layer, or provide a video preview by accessing and linking thumbnail content existing in another layer or another bitstream.
[0243] Thumbnail layer information may represent the layer identifier of the layer from which the thumbnail image or video is obtained.
[0244] Thumbnail layer information may take various forms and may be represented by various names. For example, thumbnail layer information may be a syntax element or a syntax structure containing one or more syntax elements. For example, thumbnail layer information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, thumbnail layer information may include tsi_layer_id, etc., but is not limited thereto.
[0245] For example, if thumbnail layer information is represented by tsi_layer_id, tsi_layer_id may represent the layer identifier of the layer from which the thumbnail image or video is obtained, if it exists.
[0246] Thumbnail URI information identifies the source of a thumbnail image or video and may include a URI having syntax and semantics.
[0247] Thumbnail URI information may take various forms and may be represented by various names. For example, thumbnail layer information may be a syntax element or a syntax structure containing one or more syntax elements. For example, thumbnail URI information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, thumbnail URI information may include tsi_uri, but is not limited thereto.
[0248] For example, when thumbnail URI information is represented as tsi_uri, tsi_uri, if present, may include a URI having the syntax and semantics specified by IETF Internet Standard 66 as identifying the source of the thumbnail image or video.
[0249] Thumbnail extraction area existence information may indicate whether the thumbnail extraction information (TEI) associated with the current TSI-related SEI message contains syntax elements representing the thumbnail extraction (or capture) target area.
[0250] For example, thumbnail extraction area existence information with a value equal to 1 may indicate that the syntax elements tei_width_minus1, tei_height_minus1, tei_top_left_x, and tei_top_left_y exist in the thumbnail extraction information SEI message associated with the current TSI SEI message. Additionally, thumbnail extraction area existence information with a value equal to 0 may indicate that the syntax elements tei_width_minus1, tei_height_minus1, tei_top_left_x, and tei_top_left_y do not exist in the thumbnail extraction information SEI message associated with the current TSI SEI message. However, this is not limited thereto, and what thumbnail extraction area existence information with a value equal to 1 indicates may be interchangeable with what thumbnail extraction area existence information with a value equal to 0 indicates.
[0251] Information regarding the existence of a thumbnail extraction region may take various forms and may be expressed by various names. For example, information regarding the existence of a thumbnail extraction region may be a syntax element or a syntax structure containing one or more syntax elements. For example, information regarding the existence of a thumbnail extraction region may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, information regarding the existence of a thumbnail extraction region may include tsi_region_info_present_flag or tsi_region_info_present_idc, but is not limited thereto.
[0252] For example, if the thumbnail extraction area existence information is represented by tsi_region_info_present_flag, tsi_region_info_present_flag equal to 1 may indicate that the tei_width_minus1, tei_height_minus1, tei_top_left_x, and tei_top_left_y syntax elements exist in the thumbnail extraction information SEI message associated with the current TSI SEI message. tsi_region_info_present_flag equal to 0 may indicate that the tei_width_minus1, tei_height_minus1, tei_top_left_x, and tei_top_left_y syntax elements do not exist in the thumbnail extraction information SEI message associated with the current TSI SEI message.
[0253] Thumbnail-related information may include at least one of label information of a thumbnail picture or prompt information of a thumbnail picture. For example, thumbnail-related information may include at least one of label information or prompt information of a thumbnail picture included in a TSI-related SEI message.
[0254] For example, the label information of a thumbnail picture included in a TSI-related SEI message may include at least one of TSI label existence information, TSI label language existence information, TSI label language information, and TSI label information. Additionally, the TSI-related SEI message may further include TSI bit information.
[0255] TSI label existence information may indicate whether syntax elements of information related to TSI labels exist. Additionally, TSI label existence information with a value equal to 1 may indicate that among the information related to TSI labels, TSI label language existence information and syntax elements of TSI label information exist, and that syntax elements of TSI label language information may exist. Additionally, TSI label existence information with a value equal to 0 may indicate that syntax elements of information related to TSI labels do not exist. However, this is not limited thereto, and what TSI label existence information with a value equal to 1 indicates may be interchangeable with what TSI label existence information with a value equal to 0 indicates.
[0256] TSI label presence information may take various forms and may be represented by various names. For example, TSI label presence information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label presence information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI label presence information may include tsi_thumbnail_label_info_present_flag or tsi_thumbnail_label_info_present_idc, but is not limited thereto.
[0257] For example, if TSI label presence information is represented by tsi_thumbnail_label_info_present_flag, tsi_thumbnail_label_info_present_flag equal to 1 may indicate that tsi_thumbnail_label_language_present_flag and tsi_thumbnail_label syntax elements exist, and that tsi_thumbnail_label_language syntax elements may exist. tsi_thumbnail_label_info_present_flag equal to 0 may indicate that tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language, and tsi_thumbnail_label syntax elements do not exist.
[0258] TSI label information and TSI label language existence information can be obtained based on the TSI label existence information. That is, if the TSI label existence information indicates that syntax elements of the TSI label information and TSI label language existence information are included within the TSI-related SEI message, the decoding device can obtain the TSI label language existence information and TSI label information from the TSI-related SEI message. Additionally, if the TSI label existence information indicates that syntax elements of the TSI label language information may be optionally included within the TSI-related SEI message, the decoding device determines whether the TSI label language information is included based on the TSI label language existence information, and if it is determined that the TSI label language information is included within the TSI-related SEI message, it can further obtain the TSI label language information.
[0259] TSI label information may represent the content of the label associated with the thumbnail. For example, the length of the syntax element of the TSI label information must be 255 bytes or less, without including a null termination byte.
[0260] TSI label information may take various forms and may be represented by various names. For example, TSI label information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI label information may include tsi_thumbnail_label, but is not limited thereto.
[0261] For example, if TSI label information is represented as tsi_thumbnail_label, tsi_thumbnail_label may represent the content of the label associated with the thumbnail. For example, the length of the tsi_thumbnail_label syntax element must be 255 bytes or less, without including a null termination byte.
[0262] TSI label language existence information may indicate whether TSI label language information exists. Additionally, TSI label language existence information with a value equal to 1 may indicate that a syntax element of TSI label language information exists. Additionally, TSI label language existence information with a value equal to 0 may indicate that a syntax element of TSI label language information does not exist. However, this is not limited thereto, and what TSI label language existence information with a value equal to 1 indicates may be interchangeable with what TSI label language existence information with a value equal to 0 indicates.
[0263] TSI label language present information may take various forms and may be represented by various names. For example, TSI label language present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label language present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI label language present information may include, but is not limited to, tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language_info_present_flag, tsi_thumbnail_label_languageinfo_present_flag, or tsi_thumbnail_label_language_present_idc.
[0264] For example, if TSI label language presence information is represented by tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language_present_flag equal to 1 may indicate that tsi_thumbnail_label_language syntax elements exist. tsi_thumbnail_label_language_present_flag equal to 0 may indicate that tsi_thumbnail_label_language syntax elements do not exist.
[0265] TSI label language information can be obtained based on the TSI label language existence information. That is, the decoding device can obtain TSI label language information based on the TSI label language existence information. For example, the decoding device can obtain TSI label language information if the TSI label language existence information indicates that a syntax element of the TSI label language information exists within a TSI-related SEI message.
[0266] TSI label language information includes a language tag, which may be followed by a null termination byte equal to 0x00. The length of the syntax element of the TSI label language information must be 255 bytes or less, excluding the null termination byte. If the syntax element does not exist, the language of the label may not be specified.
[0267] TSI label language information may take various forms and may be represented by various names. For example, TSI label language information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label language information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI label language information may include tsi_thumbnail_label_language, etc., but is not limited thereto.
[0268] For example, if TSI label language information is represented as tsi_thumbnail_label_language, tsi_thumbnail_label_language may include a language tag specified by IETF RFC 5646. Additionally, tsi_thumbnail_label_language may be followed by a null termination byte equal to 0x00. The length of the tsi_thumbnail_label_language syntax element must be 255 bytes or less, excluding the null termination byte. If such a syntax element does not exist, the language of the label may not be specified.
[0269] The prompt information of the thumbnail picture included in the TSI-related SEI message may include at least one of TSI prompt existence information or TSI prompt information.
[0270] TSI prompt existence information may indicate whether a syntax element of the TSI prompt information exists. Additionally, TSI prompt existence information with a value equal to 1 may indicate that a syntax element of the TSI prompt information exists. Additionally, TSI prompt existence information with a value equal to 0 may indicate that a syntax element of the TSI prompt information does not exist. However, this is not limited thereto, and what is indicated by TSI prompt existence information with a value equal to 1 may be interchangeable with what is indicated by TSI prompt existence information with a value equal to 0.
[0271] TSI prompt present information may take various forms and may be represented by various names. For example, TSI prompt present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI prompt present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI prompt present information may include tsi_prompt_present_flag or tsi_prompt_present_idc, but is not limited thereto.
[0272] For example, if TSI prompt presence information is represented by tsi_prompt_present_flag, tsi_prompt_present_flag equal to 1 may indicate that tsi_prompt syntax elements exist. Also, tsi_prompt_present_flag equal to 0 may indicate that tsi_prompt syntax elements do not exist.
[0273] TSI prompt information can be obtained based on the TSI prompt existence information. That is, the decoding device can determine whether a syntactic element of the TSI prompt information is included within the TSI-related SEI message based on the TSI prompt existence information contained in the TSI-related SEI message. For example, if the TSI prompt existence information indicates that a syntactic element of the TSI prompt information is included, the decoding device can obtain the TSI prompt information from the TSI-related SEI message. On the other hand, if the TSI prompt existence information indicates that a syntactic element of the TSI prompt information is not included, the decoding device may not obtain the TSI prompt information.
[0274] TSI prompt information can represent a text string prompt used as input for generating a thumbnail.
[0275] TSI prompt information may take various forms and may be represented by various names. For example, TSI prompt information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI prompt information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI prompt information may include tsi_prompt, but is not limited thereto.
[0276] TSI bit information can be set to 0.
[0277] TSI bit information may take various forms and may be represented by various names. For example, TSI bit information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI bit information may consist of one bit. For example, TSI bit information may include tsi_bit_equal_to_zero, but is not limited thereto.
[0278] For example, if TSI bit information is represented as tsi_bit_equal_to_zero, tsi_bit_equal_to_zero must be equal to 0.
[0279] In addition, TSI-related SEI messages may include additional TSI termination information.
[0280] TSI termination information may indicate whether a TSI-related SEI message corresponding to the same thumbnail identifier exists in subsequent coded video sequences (CVS) within the bitstream. For example, TSI termination information with a value equal to 1 may indicate that a TSI-related SEI message having identifier information identical to the identifier information contained in the TSI-related SEI message does not exist in subsequent CVSs within the bitstream. Additionally, TSI termination information with a value equal to 0 may indicate that no indication regarding the absence in such subsequent CVSs is provided. However, this is not limited thereto, and what is indicated by TSI termination information with a value equal to 1 may be interchangeable with what is indicated by TSI termination information with a value equal to 0.
[0281] TSI end information may take various forms and may be represented by various names. For example, TSI end information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI end information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI end information may include tsi_thumbnail_end_flag, but is not limited thereto.
[0282] For example, if TSI end information is represented by tsi_thumbnail_end_flag, tsi_thumbnail_end_flag equal to 1 may indicate that there are no TSI-related SEI messages with the same tsi_thumbnail_id in subsequent CVSs within the bitstream. tsi_thumbnail_end_flag equal to 0 may indicate that no such indication is provided.
[0283] For example, based on TSI termination information corresponding to TSI identifier information included in a TSI-related SEI message, a TSI-related SEI message corresponding to an identifier identical to said TSI identifier information may not be included in subsequent coded video sequences (CVS) within the bitstream.
[0284] Specifically, the decoding device can determine, based on the TSI termination information, whether a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information is included in subsequent CVSs within the bitstream. For example, if the TSI termination information indicates that a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information is not included in subsequent CVSs within the bitstream, the decoding device can process that a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information is not included in subsequent CVSs within the bitstream. Accordingly, the decoding device may operate to not perform additional parsing or updating of the TSI-related SEI message for the same identifier in subsequent CVSs, or to maintain the thumbnail source information corresponding to the same identifier in a confirmed state.
[0285] On the other hand, if the above TSI termination information indicates that a TSI-related SEI message corresponding to the same identifier as the above TSI identifier information is included in subsequent CVSs within the bitstream, the decoding device may operate to update the thumbnail source information by additionally acquiring a TSI-related SEI message corresponding to the same identifier in subsequent CVSs without excluding the possibility that a TSI-related SEI message corresponding to the same identifier is included again in subsequent CVSs.
[0286] In this way, by explicitly distinguishing whether there is a TSI-related SEI message corresponding to the same identifier within a subsequent CVS based on the TSI termination information, the decoding device can easily manage thumbnail-related information corresponding to the same identifier and improve implementation efficiency by reducing unnecessary parsing and state update processes.
[0287] Meanwhile, the SEI message related to TEI may include at least one of TEI identifier information for identifying a thumbnail picture within a bitstream, thumbnail cancellation information, thumbnail persistence information, thumbnail size information, and thumbnail location information.
[0288] TEI identifier information for representing a thumbnail picture within a TEI-related SEI message may include an identification number that can be used to uniquely identify a thumbnail image or video within a bitstream.
[0289] TEI identifier information for representing a thumbnail picture within a TEI-related SEI message may take various forms and be expressed by various names. For example, TEI identifier information for representing a thumbnail picture may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI identifier information for representing a thumbnail picture may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI identifier information for representing a thumbnail picture may include tei_thumbnail_id, but is not limited thereto.
[0290] Thumbnail cancellation information may indicate whether to cancel the persistence of a previous thumbnail-related SEI message in the output order applied to the current layer. For example, thumbnail cancellation information may indicate whether to cancel the persistence of a previous TEI-related SEI message in the output order applied to the current layer.
[0291] For example, thumbnail cancellation information with a value equal to 1 may indicate that the TEI-related SEI message cancels the persistence of a previous TEI SEI message in the output order applied to the current layer. Additionally, thumbnail cancellation information with a value equal to 0 may indicate that thumbnail extraction information follows. However, this is not limited to the above, and what thumbnail cancellation information with a value equal to 1 indicates may be interchangeable with what thumbnail cancellation information with a value equal to 0 indicates.
[0292] Thumbnail cancellation information may take various forms and may be represented by various names. For example, thumbnail cancellation information may be a syntax element or a syntax structure containing one or more syntax elements. For example, thumbnail cancellation information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, thumbnail cancellation information may include tei_cancel_flag or tei_cancel_idc, but is not limited thereto.
[0293] Thumbnail persistence information can indicate the extent to which thumbnail extraction information provided by the TEI-related SEI message is validly applied, that is, the persistence of the thumbnail extraction information. For example, thumbnail persistence information can indicate whether the thumbnail extraction information according to the TEI-related SEI message is applied only to the current picture, or whether it is applied to the current picture and at least one subsequent picture in the output order.
[0294] For example, thumbnail persistence information with a value equal to 1 may indicate that thumbnail extraction information is applied to the current picture and all subsequent pictures of the current layer in the output order, provided that this application continues until at least one of the following conditions is satisfied. For example, the continued application of the thumbnail extraction information may be terminated if at least one of the following occurs: when a new CLVS of the current layer starts, when a bitstream ends, or when a picture of the current layer associated with a TEI-related SEI message located after the current picture in the output order is output. Additionally, thumbnail persistence information with a value equal to 0 may indicate that the thumbnail extraction information is applied only to the current picture. However, this is not limited thereto, and what is indicated by thumbnail persistence information with a value equal to 1 may be interchangeable with what is indicated by thumbnail persistence information with a value equal to 0.
[0295] Thumbnail persistence information may take various forms and may be represented by various names. For example, thumbnail persistence information may be a syntax element or a syntax structure containing one or more syntax elements. For example, thumbnail persistence information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, thumbnail persistence information may include tei_persistence_flag or tei_persistence_idc, but is not limited thereto.
[0296] Thumbnail size information may include width information and height information of the thumbnail picture.
[0297] Width information of a thumbnail picture can represent the width of the area in units of luma samples if the corresponding syntax element exists.
[0298] Width information of a thumbnail picture may take various forms and may be represented by various names. For example, width information of a thumbnail picture may be a syntax element or a syntax structure containing one or more syntax elements. For example, width information of a thumbnail picture may include a flag consisting of one bit, an indicator consisting of two or more bits or variable-length bits, or an unsigned integer consisting of variable-length bits. For example, width information of a thumbnail picture may include tei_width_minus1, etc., but is not limited thereto.
[0299] For example, if the width information of a thumbnail picture is represented as tei_width_minus1, and tei_width_minus1 exists, the value obtained by adding 1 to tei_width_minus1 can represent the width of the area in units of luma samples.
[0300] Height information of a thumbnail picture can represent the height of the area in units of luma samples, if the corresponding syntax element exists.
[0301] Height information of a thumbnail picture may take various forms and may be represented by various names. For example, height information of a thumbnail picture may be a syntax element or a syntax structure containing one or more syntax elements. For example, height information of a thumbnail picture may include a flag consisting of one bit, an indicator consisting of two or more bits or variable-length bits, or an unsigned integer consisting of variable-length bits. For example, height information of a thumbnail picture may include tei_height_minus1, etc., but is not limited thereto.
[0302] For example, if the height information of a thumbnail picture is expressed as tei_height_minus1, and tei_height_minus1 exists, the value obtained by adding 1 to tei_height_minus1 can represent the height of the area in units of luma samples.
[0303] The thumbnail position information may include top-left horizontal position information and top-left vertical position information of the thumbnail picture.
[0304] The top-left horizontal position information of the thumbnail picture can represent the horizontal position of the top-left sample of the thumbnail picture area, that is, the x-coordinate of the thumbnail picture area.
[0305] The top-left horizontal position information of a thumbnail picture may take various forms and may be represented by various names. For example, the top-left horizontal position information of a thumbnail picture may be a syntax element or a syntax structure containing one or more syntax elements. For example, the top-left horizontal position information of a thumbnail picture may include a flag consisting of one bit, an indicator consisting of two or more bits or variable-length bits, or an unsigned integer consisting of variable-length bits. For example, the top-left horizontal position information of a thumbnail picture may include tei_top_left_x, etc., but is not limited thereto.
[0306] For example, if the top-left horizontal position information of a thumbnail picture is represented as tei_top_left_x, and tei_top_left_x exists, tei_top_left_x may represent the horizontal position of the top-left sample of the area.
[0307] The top-left vertical position information of the thumbnail picture can represent the vertical position of the top-left sample of the thumbnail picture area, that is, the y-coordinate of the thumbnail picture area.
[0308] The top-left vertical position information of a thumbnail picture may take various forms and be expressed by various names. For example, the top-left vertical position information of a thumbnail picture may be a syntax element or a syntax structure containing one or more syntax elements. For example, the top-left vertical position information of a thumbnail picture may include a flag consisting of one bit, an indicator consisting of two or more bits or variable-length bits, or an unsigned integer consisting of variable-length bits. For example, the top-left vertical position information of a thumbnail picture may include tei_top_left_y, etc., but is not limited thereto.
[0309] For example, if the top-left vertical position information of a thumbnail picture is represented as tei_top_left_y, and tei_top_left_y exists, tei_top_left_y can represent the vertical position of the top-left sample of the area.
[0310] A SEI message related to TEI may include information for signaling which picture(s) correspond to a thumbnail image or video for video preview, or which area within said picture(s) is used as a thumbnail.
[0311] For example, based on the fact that a TEI-related SEI message includes thumbnail size information and thumbnail position information, the thumbnail picture can be identified as an area within the entire picture that is set based on the thumbnail size information and thumbnail position information. That is, when a TEI-related SEI message includes thumbnail size information and thumbnail position information, the decoding device can set a specific area within the entire picture based on the thumbnail size information (e.g., width information and height information of the thumbnail picture) and the thumbnail position information (e.g., top-left horizontal position information and top-left vertical position information of the thumbnail picture), and can identify the set area as a thumbnail image or video. At this time, the width information and height information can specify the size of the area to be used as a thumbnail within the entire picture, and the top-left horizontal position information and top-left vertical position information can specify the position of the top-left sample of the area. Accordingly, the area(s) indicated by the width information, height information, top-left horizontal position information and top-left vertical position information can be used as a thumbnail image or video for the associated video content if the corresponding syntax element exists.
[0312] Additionally, based on the fact that the TEI-related SEI message does not include thumbnail size information and thumbnail position information, the thumbnail picture can be identified as the entire picture. That is, if the TEI-related SEI message does not include thumbnail size information and thumbnail position information, the decoding device determines that a specific area to be used as a thumbnail is not separately signaled, and can identify the entire picture(s) to which the TEI-related SEI message applies as a thumbnail image or video. For example, if width information, height information, top-left horizontal position information, and top-left vertical position information of the thumbnail picture do not exist, the picture(s) to which the TEI-related SEI message applies can constitute a thumbnail image or video as itself.
[0313] Thumbnail-related information may include at least one of label information of the thumbnail picture or prompt information of the thumbnail picture. For example, thumbnail-related information may include at least one of label information or prompt information of the thumbnail picture included in a TEI-related SEI message.
[0314] For example, the label information of a thumbnail picture included in a TEI-related SEI message may include at least one of TEI label existence information, TEI label language existence information, TEI label language information, or TEI label information. Additionally, the TEI-related SEI message may further include TEI bit information.
[0315] TEI label existence information may indicate whether syntax elements of information related to the TEI label exist. Additionally, TEI label existence information with a value equal to 1 may indicate that among the information related to the TEI label, TEI label language existence information and syntax elements of the TEI label information exist, and that syntax elements of the TEI label language information may exist. Additionally, TEI label existence information with a value equal to 0 may indicate that syntax elements of information related to the TEI label do not exist. However, this is not limited thereto, and what TEI label existence information with a value equal to 1 indicates may be interchangeable with what TEI label existence information with a value equal to 0 indicates.
[0316] TEI label presence information may take various forms and may be represented by various names. For example, TEI label presence information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label presence information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TEI label presence information may include tei_thumbnail_label_info_present_flag or tei_thumbnail_label_info_present_idc, but is not limited thereto.
[0317] For example, if TEI label presence information is represented by tei_thumbnail_label_info_present_flag, tei_thumbnail_label_info_present_flag equal to 1 may indicate that tei_thumbnail_label_language_present_flag and tei_thumbnail_label syntax elements exist, and that tei_thumbnail_label_language syntax elements may exist. tei_thumbnail_label_info_present_flag equal to 0 may indicate that tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language, and tei_thumbnail_label syntax elements do not exist.
[0318] TEI label information and TEI label language existence information can be obtained based on the TEI label existence information. That is, if the TEI label existence information indicates that syntax elements of the TEI label information and TEI label language existence information are included within the TEI-related SEI message, the decoding device can obtain the TEI label language existence information and TEI label information from the TEI-related SEI message. Additionally, if the TEI label existence information indicates that syntax elements of the TEI label language information may be optionally included within the TEI-related SEI message, the decoding device determines whether the TEI label language information is included based on the TEI label language existence information, and if it is determined that the TEI label language information is included within the TEI-related SEI message, it can further obtain the TEI label language information.
[0319] TEI label information may represent the content of the label associated with the thumbnail. For example, the length of the syntax element of the TEI label information must be 255 bytes or less, without including a null termination byte.
[0320] TEI label information may take various forms and may be represented by various names. For example, TEI label information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI label information may include tei_thumbnail_label, but is not limited thereto.
[0321] For example, if TEI label information is represented as tei_thumbnail_label, tei_thumbnail_label may represent the content of the label associated with the thumbnail. For example, the length of the tei_thumbnail_label syntax element must be 255 bytes or less without including a null termination byte.
[0322] TEI label language existence information may indicate whether TEI label language information exists. Additionally, TEI label language existence information with a value equal to 1 may indicate that a syntax element of the TEI label language information exists. Additionally, TEI label language existence information with a value equal to 0 may indicate that a syntax element of the TEI label language information does not exist. However, this is not limited thereto, and what TEI label language existence information with a value equal to 1 indicates may be interchangeable with what TEI label language existence information with a value equal to 0 indicates.
[0323] TEI label language present information may take various forms and may be represented by various names. For example, TEI label language present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label language present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TEI label language present information may include tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language_info_present_flag, or tei_thumbnail_label_languageinfo_present_flag, but is not limited thereto.
[0324] For example, if TEI label language presence information is represented by tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language_present_flag equal to 1 may indicate that tei_thumbnail_label_language syntax elements exist. tei_thumbnail_label_language_present_flag equal to 0 may indicate that tei_thumbnail_label_language syntax elements do not exist.
[0325] TEI label language information can be obtained based on the TEI label language existence information. That is, the decoding device can determine whether syntax elements of the TEI label language information are included within the TEI-related SEI message based on the TEI label language existence information included in the TEI-related SEI message. If the TEI label language existence information indicates that syntax elements of the TEI label language information are included, the decoding device can obtain the TEI label language information from the TEI-related SEI message. On the other hand, if the TEI label language existence information indicates that syntax elements of the TEI label language information are not included, the decoding device may not obtain the TEI label language information, and in this case, the language of the label may be treated as not specified.
[0326] TEI label language information includes a language tag, which may be followed by a null termination byte equal to 0x00. The length of the syntax element of the TEI label language information must be 255 bytes or less, excluding the null termination byte. If the syntax element does not exist, the language of the label may not be specified.
[0327] TEI label language information may take various forms and may be represented by various names. For example, TEI label language information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label language information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI label language information may include tei_thumbnail_label_language, etc., but is not limited thereto.
[0328] For example, if TEI label language information is represented as tei_thumbnail_label_language, tei_thumbnail_label_language may include a language tag specified by IETF RFC 5646. Additionally, tei_thumbnail_label_language may be followed by a null termination byte equal to 0x00. The length of the tei_thumbnail_label_language syntax element must be 255 bytes or less, excluding the null termination byte. If such a syntax element does not exist, the language of the label may not be specified.
[0329] The prompt information of the thumbnail picture included in the SEI message related to the TEI may include at least one of the TEI prompt existence information and the TEI prompt information.
[0330] TEI prompt existence information may indicate whether a syntax element of the TEI prompt information exists. Additionally, TEI prompt existence information may indicate whether a syntax element of the TSI prompt information exists. TEI prompt existence information with a value equal to 1 indicates that a syntax element of the TEI prompt information exists, and TEI prompt existence information with a value equal to 0 indicates that a syntax element of the TEI prompt information does not exist. Additionally, TEI prompt existence information with a value equal to 1 may indicate that a syntax element of the TSI prompt information exists. Additionally, TEI prompt existence information with a value equal to 0 may indicate that a syntax element of the TSI prompt information does not exist. However, this is not limited thereto, and what is indicated by TEI prompt existence information with a value equal to 1 may be interchangeable with what is indicated by TEI prompt existence information with a value equal to 0.
[0331] TEI prompt present information may take various forms and may be represented by various names. For example, TEI prompt present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI prompt present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TEI prompt present information may include tei_prompt_present_flag or tsi_prompt_present_flag, but is not limited thereto.
[0332] For example, if the TEI prompt existence information is represented by tei_prompt_present_flag, a tei_prompt_present_flag equal to 1 may indicate that at least one of the tei_prompt or tsi_prompt syntax elements exists. Additionally, a tei_prompt_present_flag equal to 0 may indicate that at least one of the tei_prompt or tsi_prompt syntax elements does not exist.
[0333] TEI prompt information can be obtained based on the TEI prompt existence information. That is, the decoding device can determine whether the syntax elements of the TEI prompt information are included within the TEI-related SEI message based on the TEI prompt existence information included in the TEI-related SEI message. For example, if the TEI prompt existence information indicates that the syntax elements of the TEI prompt information are included, the decoding device can obtain the TEI prompt information from the TEI-related SEI message. On the other hand, if the TEI prompt existence information indicates that the syntax elements of the TEI prompt information are not included, the decoding device may not obtain the TEI prompt information.
[0334] TEI prompt information can represent a text string prompt used as input for generating a thumbnail.
[0335] TEI prompt information may take various forms and may be represented by various names. For example, TEI prompt information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI prompt information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI prompt information may include tei_prompt, but is not limited thereto.
[0336] The TEI bit information can be set to 0.
[0337] TEI bit information may take various forms and may be represented by various names. For example, TEI bit information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI bit information may consist of one bit. For example, TEI bit information may include tei_bit_equal_to_zero, but is not limited thereto.
[0338] For example, if the TEI bit information is represented as tei_bit_equal_to_zero, tei_bit_equal_to_zero must be equal to 0.
[0339] Additionally, the decoding device can identify a thumbnail picture or at least a portion of the thumbnail picture based on the thumbnail-related information. For example, the decoding device can distinguish a specific thumbnail picture based on thumbnail identifier information and determine whether the thumbnail picture is provided from a specific layer of the original bitstream or from an external resource (e.g., a URI) based on thumbnail source information. Additionally, if thumbnail extraction area information (e.g., size information and location information of the extraction area) is provided from a thumbnail-related SEI message, the decoding device can specify an area defined by the top-left coordinate and the width and height within the original picture as an area to be used as a thumbnail.
[0340] Furthermore, the decoding device may obtain a display name, classification name, or description string of the thumbnail based on thumbnail label information, and obtain a prompt string indicating the condition or intention of creation of the thumbnail based on thumbnail prompt information. The decoding device may use the thumbnail label information and / or thumbnail prompt information to provide the meaning of each thumbnail in a user interface displaying thumbnails, or to perform sorting, filtering, searching, or grouping processing of the thumbnail list. Additionally, if thumbnail label language information is provided, the decoding device may use the language information to display the label in an appropriate language in a multilingual environment, or, if no language is specified, display the label in a predefined default language or a language according to a system policy.
[0341] The names of syntax elements and semantics described in this specification are merely exemplary names for the convenience of explanation, and the scope of the rights of this disclosure is not limited by such names. That is, any configuration that performs the same or substantially corresponding functions as the syntax elements and semantics described in this specification may be included within the spirit and scope of this disclosure, even if its name, notation, or terminology differs.
[0342] FIG. 6 is a diagram illustrating a method for encoding image information according to one embodiment of the present disclosure.
[0343] The encoding method (S600) may include the operations described below.
[0344] The terms or names described below (e.g., names of syntax elements or variables, etc.) are merely examples, and the technical features of the present disclosure are not limited to the terms or names described below. For example, the image information described below may include various information according to the embodiments described in the present disclosure and may include information described in at least one of the tables described above.
[0345] The operations described below do not constitute an essential component of the decoding method according to one embodiment, and at least some of the operations described below may be omitted. Furthermore, the operations described below do not constitute a sufficient component of the decoding method according to one embodiment, and the previously described operations may be added.
[0346] The sequence of actions illustrated in the drawings regarding the actions to be described below is merely an example, and the actions to be described below may be performed in a different order as long as it does not contradict the causal relationship of the actions to be described.
[0347] The operations described below form a single embodiment integrally with the configurations and / or operations described above, unless they conflict with the configurations and / or operations described above, and do not form a separate embodiment distinct from the configurations and / or operations described above.
[0348] The encoding method (S600) can be executed by an encoding device including a memory and a processor electrically connected to the memory, for example, by a processor.
[0349] The encoding device can generate a SEI (supplemental enhancement information) message (S610).
[0350] SEI messages may convey specific types of information that assist in processes related to the decoding, display, or other purposes of image information. Here, SEI messages may not be necessary for the decoding process to determine the sample values of the decoded picture.
[0351] For example, SEI messages may include thumbnail-related SEI messages.
[0352] A thumbnail-related SEI message may include at least one of a TSI (Thumbnail Source Information) related SEI message associated with the source of the thumbnail picture and / or a TEI (Thumbnail Extraction Information) related SEI message associated with the extraction of the thumbnail picture. For example, a TSI-related SEI message may include source information of the thumbnail picture, and a TEI-related SEI message may include extraction information of the thumbnail picture.
[0353] TSI-related SEI messages may have various names such as thumbnail source information SEI message, thumbnail source information related message, thumbnail source information related information, thumbnail source message, thumbnail source information, thumbnail source information SEI message, thumbnail source information related message, thumbnail source information related information, thumbnail source message, thumbnail source information, TSI SEI message, TSI-related message, TSI-related information, TSI message, TSI information, etc., and such names are not limited.
[0354] TSI-related SEI messages can take various forms. For example, a TSI-related SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a TSI-related SEI message may be a raw byte sequence payload (RBSP) containing one or more syntax elements or one or more syntax structures. For example, a TSI-related SEI message may be represented as thumbnail_source_info( payloadSize ), but is not limited thereto.
[0355] TEI-related SEI messages may have various names such as thumbnail extraction information SEI message, thumbnail extraction information related message, thumbnail extraction information related information, thumbnail extraction message, thumbnail extraction information, TEI SEI message, TEI-related message, TEI-related information, TEI message, TEI information, etc., and the names are not limited.
[0356] TEI-related SEI messages can take various forms. For example, a TEI-related SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a TEI-related SEI message may be a raw byte sequence payload (RBSP) containing one or more syntax elements or one or more syntax structures. For example, a TEI-related SEI message may be represented as thumbnail_extraction_info( payloadSize ), but is not limited thereto.
[0357] For example, the encoding device may generate a thumbnail-related SEI (Supplemental Enhancement Information) message containing thumbnail-related information associated with a picture. For example, the processor of the encoding device may generate a thumbnail-related SEI message associated with a picture and include it in a bitstream. The processor of the encoding device may generate thumbnail-related information to provide a thumbnail for at least one picture of the original video, and may generate a thumbnail-related SEI message to transmit said thumbnail-related information.
[0358] The encoding device may include at least one of thumbnail identifier information, thumbnail source information, thumbnail extraction area information, thumbnail size information, thumbnail location information, thumbnail cancellation information, thumbnail persistence information, thumbnail label information, and thumbnail prompt information in the thumbnail-related SEI message, and include this in the bitstream. Additionally, the encoding device may further include termination information in the thumbnail-related SEI message indicating whether there is a subsequent CVS of a TSI-related SEI message corresponding to the same thumbnail identifier, and transmit it in the form of a bitstream.
[0359] The TSI-related SEI message and / or the TEI-related SEI message may be identical to the TSI-related SEI message and / or the TEI-related SEI message described in FIG. 5, respectively. The description of the TSI-related SEI message and / or the TEI-related SEI message may be replaced with the description of the TSI-related SEI message and / or the TEI-related SEI message described in FIG. 5.
[0360] Thumbnail-related information may include at least one of label information of a thumbnail picture or prompt information of a thumbnail picture. For example, thumbnail-related information may include at least one of label information or prompt information of a thumbnail picture included in a TSI-related SEI message.
[0361] For example, the label information of a thumbnail picture included in a TSI-related SEI message may include at least one of TSI label existence information, TSI label language existence information, TSI label language information, or TSI label information. Additionally, the TSI-related SEI message may further include TSI bit information.
[0362] TSI label existence information may indicate whether syntax elements of information related to TSI labels exist. Additionally, TSI label existence information with a value equal to 1 may indicate that among the information related to TSI labels, TSI label language existence information and syntax elements of TSI label information exist, and that syntax elements of TSI label language information may exist. Additionally, TSI label existence information with a value equal to 0 may indicate that syntax elements of information related to TSI labels do not exist. However, this is not limited thereto, and what TSI label existence information with a value equal to 1 indicates may be interchangeable with what TSI label existence information with a value equal to 0 indicates.
[0363] TSI label presence information may take various forms and may be represented by various names. For example, TSI label presence information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label presence information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI label presence information may include tsi_thumbnail_label_info_present_flag or tsi_thumbnail_label_info_present_idc, but is not limited thereto.
[0364] For example, if TSI label presence information is represented by tsi_thumbnail_label_info_present_flag, tsi_thumbnail_label_info_present_flag equal to 1 may indicate that tsi_thumbnail_label_language_present_flag and tsi_thumbnail_label syntax elements exist, and that tsi_thumbnail_label_language syntax elements may exist. tsi_thumbnail_label_info_present_flag equal to 0 may indicate that tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language, and tsi_thumbnail_label syntax elements do not exist.
[0365] TSI label existence information can be generated based on TSI label information and TSI label language existence information. For example, an encoding device may determine whether to include syntax elements of TSI label information within a TSI-related SEI message based on whether to signal a label string corresponding to a thumbnail picture. If the encoding device determines to include the TSI label information within the TSI-related SEI message, it may set the TSI label existence information to a value indicating that the TSI label information is included, and accordingly include syntax elements of the TSI label information and TSI label language existence information in the TSI-related SEI message.
[0366] Additionally, the encoding device may set the value of the TSI label language presence information based on whether to signal the TSI label language. For example, if the encoding device determines to include the TSI label language in the TSI-related SEI message, it may set the TSI label language presence information to a value indicating the inclusion of TSI language information and further include syntax elements of the TSI label language in the TSI-related SEI message. On the other hand, if it determines not to include the TSI label language in the TSI-related SEI message, it may set the TSI label language presence information to a value indicating that language information is not included and not include syntax elements of the TSI label language in the TSI-related SEI message.
[0367] TSI label information may represent the content of a label associated with a thumbnail. For example, the length of the syntax element of the TSI label information must be 255 bytes or less, without including a null termination byte.
[0368] TSI label information may take various forms and may be represented by various names. For example, TSI label information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI label information may include tsi_thumbnail_label, but is not limited thereto.
[0369] For example, if TSI label information is represented as tsi_thumbnail_label, tsi_thumbnail_label may represent the content of the label associated with the thumbnail. For example, the length of the tsi_thumbnail_label syntax element must be 255 bytes or less without including a null termination byte.
[0370] TSI label language existence information may indicate whether TSI label language information exists. Additionally, TSI label language existence information with a value equal to 1 may indicate that a syntax element of TSI label language information exists. Additionally, TSI label language existence information with a value equal to 0 may indicate that a syntax element of TSI label language information does not exist. However, this is not limited thereto, and what TSI label language existence information with a value equal to 1 indicates may be interchangeable with what TSI label language existence information with a value equal to 0 indicates.
[0371] TSI label language present information may take various forms and may be represented by various names. For example, TSI label language present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label language present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI label language present information may include, but is not limited to, tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language_info_present_flag, tsi_thumbnail_label_languageinfo_present_flag, or tsi_thumbnail_label_language_present_idc.
[0372] For example, if TSI label language presence information is represented by tsi_thumbnail_label_language_present_flag, tsi_thumbnail_label_language_present_flag equal to 1 may indicate that tsi_thumbnail_label_language syntax elements exist. tsi_thumbnail_label_language_present_flag equal to 0 may indicate that tsi_thumbnail_label_language syntax elements do not exist.
[0373] TSI label language presence information can be generated based on the above TSI label language information. That is, the encoding device can generate TSI label language presence information based on whether TSI label language information is provided. For example, the encoding device can determine whether to include TSI label language information (e.g., language tags according to IETF RFC 5646) in a TSI-related SEI message based on whether it is necessary to specify that the thumbnail label is expressed in a specific language, or whether it is necessary to distinguish and provide the language of the label in a multilingual environment. If the encoding device determines to include TSI label language information, it can set the TSI label language presence information to a value indicating the inclusion of language information and, accordingly, include syntax elements of the TSI label language information within the TSI-related SEI message.
[0374] On the other hand, if the encoding device determines that TSI label language information is not provided or that there is no need to signal the language of the label separately, it sets the TSI label language existence information to a value indicating that language information is not included, and may not include syntax elements of the TSI label language information within the TSI-related SEI message.
[0375] TSI label language information includes a language tag, which may be followed by a null termination byte equal to 0x00. The length of the syntax element of the TSI label language information must be 255 bytes or less, excluding the null termination byte. If the syntax element does not exist, the language of the label may not be specified.
[0376] TSI label language information may take various forms and may be represented by various names. For example, TSI label language information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI label language information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI label language information may include tsi_thumbnail_label_language, etc., but is not limited thereto.
[0377] For example, if TSI label language information is represented as tsi_thumbnail_label_language, tsi_thumbnail_label_language may include a language tag specified by IETF RFC 5646. Additionally, tsi_thumbnail_label_language may be followed by a null termination byte equal to 0x00. The length of the tsi_thumbnail_label_language syntax element may be 255 bytes or less without including the null termination byte. If such a syntax element does not exist, the language of the label may not be specified.
[0378] The prompt information of the thumbnail picture included in the TSI-related SEI message may include at least one of TSI prompt existence information or TSI prompt information.
[0379] TSI prompt existence information may indicate whether a syntax element of the TSI prompt information exists. Additionally, TSI prompt existence information with a value equal to 1 may indicate that a syntax element of the TSI prompt information exists. Additionally, TSI prompt existence information with a value equal to 0 may indicate that a syntax element of the TSI prompt information does not exist. However, this is not limited thereto, and what is indicated by TSI prompt existence information with a value equal to 1 may be interchangeable with what is indicated by TSI prompt existence information with a value equal to 0.
[0380] TSI prompt present information may take various forms and may be represented by various names. For example, TSI prompt present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI prompt present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI prompt present information may include tsi_prompt_present_flag or tsi_prompt_present_idc, but is not limited thereto.
[0381] For example, if TSI prompt presence information is represented by tsi_prompt_present_flag, tsi_prompt_present_flag equal to 1 may indicate that tsi_prompt syntax elements exist. Also, tsi_prompt_present_flag equal to 0 may indicate that tsi_prompt syntax elements do not exist.
[0382] TSI prompt existence information can be generated based on TSI prompt information. That is, the encoding device can generate TSI prompt existence information depending on whether prompt information used for thumbnail generation is provided. For example, the encoding device can determine whether to include TSI prompt information in the TSI-related SEI message based on whether the thumbnail was generated by a prompt-based generation method (e.g., AI-based generation or text condition-based generation, etc.) or whether the decoding device needs to refer to the thumbnail generation conditions and generation intentions. If the encoding device determines to include TSI prompt information, the encoding device can set the TSI prompt existence information to a value indicating the inclusion of prompt information and, accordingly, include syntax elements of the TSI prompt information within the TSI-related SEI message.
[0383] On the other hand, if the encoding device determines that the prompt string was not used for thumbnail generation or that there is no need to include the prompt string in the bitstream, the encoding device sets the TSI prompt presence information to a value indicating that the prompt information is not included, and may not include the syntax elements of the TSI prompt information in the TSI-related SEI message.
[0384] TSI prompt information can represent a text string prompt used as input for generating a thumbnail.
[0385] TSI prompt information may take various forms and may be represented by various names. For example, TSI prompt information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI prompt information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TSI prompt information may include tsi_prompt, but is not limited thereto.
[0386] TSI bit information can be set to 0.
[0387] TSI bit information may take various forms and may be represented by various names. For example, TSI bit information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI bit information may consist of one bit. For example, TSI bit information may include tsi_bit_equal_to_zero, but is not limited thereto.
[0388] For example, the TSI bit information tsi_bit_equal_to_zero must be equal to 0.
[0389] In addition, TSI-related SEI messages may include additional TSI termination information.
[0390] TSI termination information may indicate whether a TSI-related SEI message corresponding to the same thumbnail identifier exists in subsequent coded video sequences (CVS) within the bitstream. For example, TSI termination information with a value equal to 1 may indicate that a TSI-related SEI message having identifier information identical to the identifier information contained in the TSI-related SEI message does not exist in subsequent CVSs within the bitstream. Additionally, TSI termination information with a value equal to 0 may indicate that no indication regarding the absence in such subsequent CVSs is provided. However, this is not limited thereto, and what is indicated by TSI termination information with a value equal to 1 may be interchangeable with what is indicated by TSI termination information with a value equal to 0.
[0391] TSI end information may take various forms and may be represented by various names. For example, TSI end information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TSI end information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TSI end information may include tsi_thumbnail_end_flag, but is not limited thereto.
[0392] For example, if TSI end information is represented by tei_prompt_present_flag, a tsi_thumbnail_end_flag equal to 1 may indicate that there are no TSI-related SEI messages with the same tsi_thumbnail_id in subsequent CVSs within the bitstream. A tsi_thumbnail_end_flag equal to 0 may indicate that no such indication is provided.
[0393] For example, based on TSI termination information corresponding to TSI identifier information included in a TSI-related SEI message, a TSI-related SEI message corresponding to an identifier identical to said TSI identifier information may not be included in subsequent coded video sequences (CVS) within the bitstream.
[0394] Specifically, the encoding device can control whether a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information is included in subsequent coded video sequences (CVS) within the bitstream based on the TSI termination information. For example, if a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information is not included in subsequent coded video sequences (CVS) within the bitstream, the encoding device can generate a bitstream such that a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information is not included in subsequent CVSs within the bitstream. Accordingly, the encoding device can reduce unnecessary redundant signaling by not repeatedly signaling a TSI-related SEI message for the same identifier in subsequent CVSs after signaling a TSI-related SEI message for the same identifier in the current CVS.
[0395] Meanwhile, thumbnail-related information may include at least one of the label information and prompt information of the thumbnail picture included in the SEI message related to TEI.
[0396] For example, the label information of a thumbnail picture included in a TEI-related SEI message may include at least one of TEI label existence information, TEI label language existence information, TEI label language information, or TEI label information. Additionally, the TEI-related SEI message may further include TEI bit information.
[0397] TEI label existence information may indicate whether syntax elements of information related to the TEI label exist. Additionally, TEI label existence information with a value equal to 1 may indicate that among the information related to the TEI label, TEI label language existence information and syntax elements of the TEI label information exist, and that syntax elements of the TEI label language information may exist. Additionally, TEI label existence information with a value equal to 0 may indicate that syntax elements of information related to the TEI label do not exist. However, this is not limited thereto, and what TEI label existence information with a value equal to 1 indicates may be interchangeable with what TEI label existence information with a value equal to 0 indicates.
[0398] TEI label presence information may take various forms and may be represented by various names. For example, TEI label presence information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label presence information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TEI label presence information may include tei_thumbnail_label_info_present_flag or tei_thumbnail_label_info_present_idc, but is not limited thereto.
[0399] For example, if TEI label presence information is represented by tei_thumbnail_label_info_present_flag, tei_thumbnail_label_info_present_flag equal to 1 may indicate that tei_thumbnail_label_language_present_flag and tei_thumbnail_label syntax elements exist, and that tei_thumbnail_label_language syntax elements may exist. tei_thumbnail_label_info_present_flag equal to 0 may indicate that tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language, and tei_thumbnail_label syntax elements do not exist.
[0400] For example, the above TEI label existence information can be generated based on TEI label information and TEI label language existence information. That is, the encoding device can determine whether to include TEI label information within a TEI-related SEI message based on whether it is necessary to signal by including a label string in a TEI-related SEI message.
[0401] Specifically, if the encoding device determines that the TEI-related SEI message includes TEI label information, the encoding device sets the TEI label existence information to a value indicating that the TEI label information is included, and accordingly, can include TEI label language existence information and syntax elements of the TEI label information within the TEI-related SEI message. On the other hand, if the encoding device determines that the TEI-related SEI message does not include TEI label information, the encoding device sets the TEI label existence information to a value indicating that the TEI label information is not included, and accordingly, can generate a bitstream that does not include TEI label language existence information, TEI label language information, and syntax elements of the TEI label information within the TEI-related SEI message.
[0402] TEI label information may represent the content of the label associated with the thumbnail. For example, the length of the syntax element of the TEI label information must be 255 bytes or less, without including a null termination byte.
[0403] TEI label information may take various forms and may be represented by various names. For example, TEI label information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI label information may include tei_thumbnail_label, but is not limited thereto.
[0404] For example, if TEI label information is represented as tei_thumbnail_label, tei_thumbnail_label may represent the content of the label associated with the thumbnail. For example, the length of the tei_thumbnail_label syntax element must be 255 bytes or less without including a null termination byte.
[0405] TEI label language existence information may indicate whether TEI label language information exists. Additionally, TEI label language existence information with a value equal to 1 may indicate that a syntax element of the TEI label language information exists. Additionally, TEI label language existence information with a value equal to 0 may indicate that a syntax element of the TEI label language information does not exist. However, this is not limited thereto, and what TEI label language existence information with a value equal to 1 indicates may be interchangeable with what TEI label language existence information with a value equal to 0 indicates.
[0406] TEI label language present information may take various forms and may be represented by various names. For example, TEI label language present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label language present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TEI label language present information may include tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language_info_present_flag, or tei_thumbnail_label_languageinfo_present_flag, but is not limited thereto.
[0407] For example, if TEI label language presence information is represented by tei_thumbnail_label_language_present_flag, tei_thumbnail_label_language_present_flag equal to 1 may indicate that tei_thumbnail_label_language syntax elements exist. tei_thumbnail_label_language_present_flag equal to 0 may indicate that tei_thumbnail_label_language syntax elements do not exist.
[0408] The above TEI label language existence information can be generated based on the TEI label language information. That is, the encoding device can generate TEI label language existence information depending on whether TEI label language information to be included in the TEI-related SEI message is provided.
[0409] For example, the encoding device may determine whether to include TEI label language information (e.g., language tags according to IETF RFC 5646) in the TEI-related SEI message based on whether it is necessary to specify that the thumbnail label is expressed in a specific language, or whether it is necessary to distinguish and provide the language of the label in a multilingual environment. If the TEI label language information is included in the TEI-related SEI message, the encoding device may set the TEI label language presence information to a value indicating the inclusion of language information and, accordingly, include syntax elements of the TEI label language information within the TEI-related SEI message. On the other hand, if the TEI label language information is not included in the TEI-related SEI message, the encoding device may set the TEI label language presence information to a value indicating that language information is not included and generate a bitstream that does not include syntax elements of the TEI label language information within the TEI-related SEI message.
[0410] TEI label language information includes a language tag, which may be followed by a null termination byte equal to 0x00. The length of the syntax element of the TEI label language information must be 255 bytes or less, excluding the null termination byte. If the syntax element does not exist, the language of the label may not be specified.
[0411] TEI label language information may take various forms and may be represented by various names. For example, TEI label language information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI label language information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI label language information may include tei_thumbnail_label_language, etc., but is not limited thereto.
[0412] For example, if TEI label language information is represented as tei_thumbnail_label_language, tei_thumbnail_label_language may include a language tag specified by IETF RFC 5646. Additionally, tei_thumbnail_label_language may be followed by a null termination byte equal to 0x00. The length of the tei_thumbnail_label_language syntax element must be 255 bytes or less, excluding the null termination byte. If such a syntax element does not exist, the language of the label may not be specified.
[0413] The prompt information of the thumbnail picture included in the SEI message related to the TEI may include at least one of the TEI prompt existence information or the TEI prompt information.
[0414] TEI prompt existence information may indicate whether a syntax element of the TEI prompt information exists. Additionally, TEI prompt existence information may indicate whether a syntax element of the TSI prompt information exists. TEI prompt existence information with a value equal to 1 indicates that a syntax element of the TEI prompt information exists, and TEI prompt existence information with a value equal to 0 indicates that a syntax element of the TEI prompt information does not exist. Additionally, TEI prompt existence information with a value equal to 1 may indicate that a syntax element of the TSI prompt information exists. Additionally, TEI prompt existence information with a value equal to 0 may indicate that a syntax element of the TSI prompt information does not exist. However, this is not limited thereto, and what is indicated by TEI prompt existence information with a value equal to 1 may be interchangeable with what is indicated by TEI prompt existence information with a value equal to 0.
[0415] TEI prompt present information may take various forms and may be represented by various names. For example, TEI prompt present information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI prompt present information may include a flag consisting of one bit or an indicator consisting of two or more bits or a variable-length bit. For example, TEI prompt present information may include tei_prompt_present_flag or tsi_prompt_present_flag, but is not limited thereto.
[0416] For example, if the TEI prompt existence information is represented by tei_prompt_present_flag, a tei_prompt_present_flag equal to 1 may indicate that a tei_prompt or tsi_prompt syntax element exists. Additionally, a tei_prompt_present_flag equal to 0 may indicate that a tei_prompt or tsi_prompt syntax element does not exist.
[0417] The above TEI prompt existence information can be generated based on the TEI prompt information. That is, the encoding device can generate TEI prompt existence information based on the TEI prompt information.
[0418] TEI prompt information can represent a text string prompt used as input for generating a thumbnail.
[0419] TEI prompt information may take various forms and may be represented by various names. For example, TEI prompt information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI prompt information may include a flag consisting of one bit, an indicator consisting of two or more bits or a variable-length bit, or an unsigned integer consisting of two or more bits or a variable-length bit. For example, TEI prompt information may include tei_prompt, but is not limited thereto.
[0420] The TEI bit information can be set to 0.
[0421] TEI bit information may take various forms and may be represented by various names. For example, TEI bit information may be a syntax element or a syntax structure containing one or more syntax elements. For example, TEI bit information may consist of one bit. For example, TEI bit information may include tei_bit_equal_to_zero, but is not limited thereto.
[0422] For example, if the TEI bit information is represented as tei_bit_equal_to_zero, tei_bit_equal_to_zero must be equal to 0.
[0423] For example, if the TEI prompt existence information is represented by tei_prompt_present_flag, tei_prompt_present_flag equal to 1 may indicate that a tei_prompt or tsi_prompt syntax element exists.
[0424] In this way, by configuring the encoding device to optionally include thumbnail label information and / or thumbnail prompt information in TSI-related SEI messages and / or TEI-related SEI messages, it can support whether to provide additional metadata for thumbnails within the same bitstream according to various service scenarios.
[0425] For example, the encoding device can signal label information when it is necessary to clearly convey the meaning of the thumbnail to the user, and signal label language information together when multilingual display is required, and conversely, reduce signaling overhead by omitting label-related syntax elements when label information is unnecessary. In addition, the encoding device can efficiently generate a bitstream by signaling prompt information when the thumbnail is generated based on a prompt or when it is necessary to provide the thumbnail generation intent or conditions, and omitting prompt-related syntax elements when prompt information is unnecessary.
[0426] Furthermore, the encoding device can configure the bitstream so that TSI-related SEI messages for the same identifier are no longer included in subsequent encoded video sequences (CVS) by signaling TSI termination information corresponding to the same thumbnail identifier. Accordingly, the encoding device can reduce bitstream overhead by preventing duplicate signaling for the same identifier and simplify the management and processing procedures of thumbnail-related information by preventing the decoding device from performing additional parsing or updating for the same identifier in subsequent CVSs. In addition, by ensuring that the correspondence between the original video content and the thumbnail is clearly defined within the bitstream, the display and processing of the thumbnail are maintained consistently in the decoding device, and compatibility and implementation efficiency between various systems and devices can be improved.
[0427] The encoding device can encode video information (S620).
[0428] For example, the processor of an encoding device can encode video information including thumbnail-related SEI messages.
[0429] An encoding device can encode an image or image information. Here, the image may include a still image or a video, and the image information may refer to pixel data of the image, object information, additional information (e.g., SEI messages, etc.), or a combination thereof.
[0430] An encoding device can generate a bitstream by performing an encoding process on an input image or image information. At this time, the encoding process may include one or more steps such as prediction, transformation, quantization, and entropy encoding, and the generated bitstream can be used as data for reconstructing the image or image information by a decoding device.
[0431] In addition, the present disclosure may be applied not only to general encoding structures for encoding images or image information, but also to encoding methods for thumbnail-related SEI messages (e.g., TSI-related SEI messages and / or TEI-related SEI messages) that include source information and extraction information of thumbnail pictures.
[0432] To provide video preview and search functions, the encoding device may generate one or more thumbnail-related SEI messages associated with a specific picture based on information required for configuring thumbnails for associated video content, and the generated thumbnail-related SEI messages may be included in a bitstream so that they can be utilized in the decoding or post-processing process.
[0433] For example, a TSI-related SEI message may include information indicating the source of a thumbnail image or thumbnail video, and said source information may indicate, for example, whether the thumbnail is sourced from a specific layer of the current bitstream, sourced from another layer, or provided from an external resource (e.g., a URI, etc.) or a separate bitstream. Additionally, the TSI-related SEI message may further include thumbnail identifier information for identifying the thumbnail, thumbnail label information, thumbnail prompt information, and / or TSI termination information indicating that a TSI-related SEI message corresponding to the same thumbnail identifier no longer exists in subsequent CVSs.
[0434] Additionally, the TEI-related SEI message may include extraction information for specifying a picture or an area within a picture to be used as a thumbnail, and said extraction information may include, for example, syntax elements regarding size information and location information of the extraction area. Furthermore, the TEI-related SEI message may be extended to include thumbnail label information and / or thumbnail prompt information, thereby signaling a display string indicating the meaning of the thumbnail or a prompt string used for thumbnail generation.
[0435] In addition, the above thumbnail-related SEI message may be configured to be applied at the picture level, or may be configured to be applied commonly at the CLVS or CVS level depending on the implementation or signaling method. For example, if a TSI-related SEI message exists in any AU (Access Unit) within a CVS, the TSI-related SEI message is included in the first AU of the said CVS, and by configuring the content of the TSI-related SEI message to remain the same within the same CVS, the decoding device can apply consistent thumbnail source and metadata at the CVS level.
[0436] Video information encoded according to the encoding method (S600) described above can be output in the form of a bitstream. In other words, the bitstream can be generated based on the video information encoded according to the encoding method (S600) described above.
[0437] A bitstream generated based on video information encoded according to the encoding method (S600) described above can be stored on a computer-readable storage medium.
[0438] A bitstream generated based on video information encoded according to the encoding method (S600) described above can be transmitted through a transmission unit and / or a transmission medium.
[0439] According to one embodiment, image information may include SEI messages. SEI messages may convey specific types of information that assist in processes related to the decoding, display, or other processing purposes of image information. Here, the SEI messages may include at least one of TSI-related SEI messages and / or TEI-related SEI messages.
[0440] The names of syntax elements and semantics described in this specification are merely exemplary names for the convenience of explanation, and the scope of the rights of this disclosure is not limited by such names. That is, any configuration that performs the same or substantially corresponding functions as the syntax elements and semantics described in this specification may be included within the spirit and scope of this disclosure, even if its name, notation, or terminology differs.
[0441] FIG. 7 is a drawing illustrating an exemplary content streaming system to which an embodiment according to the present disclosure can be applied.
[0442] As illustrated in FIG. 7, a content streaming system to which an embodiment of the present disclosure is applied may largely include an encoding server, a streaming server, a web server, a media storage, a user device, and a multimedia input device.
[0443] The above encoding server compresses content input from multimedia input devices, such as smartphones, cameras, and camcorders, into digital data to generate a bitstream and transmits it to the streaming server. As another example, if multimedia input devices, such as smartphones, cameras, and camcorders, generate the bitstream directly, the encoding server may be omitted.
[0444] The bitstream may be generated by a video encoding method and / or encoding device to which an embodiment of the present disclosure is applied, and the streaming server may temporarily store the bitstream during the process of transmitting or receiving the bitstream.
[0445] The streaming server transmits multimedia data to a user device based on a user request through a web server, and the web server can act as a medium to inform the user of available services. When a user requests a desired service from the web server, the web server transmits it to the streaming server, and the streaming server can transmit multimedia data to the user. At this time, the content streaming system may include a separate control server, and in this case, the control server can perform the role of controlling commands and responses between each device within the content streaming system.
[0446] The streaming server can receive content from a media storage and / or an encoding server. For example, when receiving content from the encoding server, the content can be received in real time. In this case, to provide a seamless streaming service, the streaming server can store the bitstream for a certain period of time.
[0447] Examples of the above user devices may include mobile phones, smartphones, laptop computers, digital broadcasting terminals, PDAs (personal digital assistants), PMPs (portable multimedia players), navigation systems, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs (head-mounted displays)), digital TVs, desktop computers, digital signage, etc.
[0448] Each server within the above-mentioned content streaming system can be operated as a distributed server, and in this case, data received from each server can be processed in a distributed manner.
[0449] The scope of the present disclosure includes software or machine-executable instructions (e.g., operating system, application, firmware, program, etc.) that enable an operation according to a method of various embodiments to be executed on a device or computer, and a non-transitory computer-readable medium on which such software or instructions, etc. are stored and executable on a device or computer.
[0450] An embodiment according to the present disclosure can be used to encode / decode images.
Claims
1. In a video decoding method performed by a decoding device, A step of obtaining a Supplemental Enhancement Information (SEI) message related to a thumbnail associated with a picture from a bitstream; and It includes the step of obtaining thumbnail-related information from the above thumbnail-related SEI message, and A video decoding method characterized in that the above thumbnail-related information includes at least one of label information of the thumbnail picture or prompt information of the thumbnail picture.
2. In Paragraph 1, A video decoding method characterized in that the above thumbnail-related SEI message includes a TSI (Thumbnail Source Information) related SEI message containing source information of the thumbnail picture, and a TEI (Thumbnail Extraction Information) related SEI message containing extraction information of the thumbnail picture.
3. In Paragraph 2, A video decoding method characterized in that the label information of the thumbnail picture included in the above TSI-related SEI message comprises at least one of TSI label existence information, TSI label language existence information, TSI label language information, or TSI label information.
4. In Paragraph 3, The above TSI label information and the above TSI label language existence information are obtained based on the above TSI label existence information, and An image decoding method characterized by the fact that the above TSI label language information is obtained based on the above TSI label language existence information.
5. In Paragraph 2, The prompt information of the thumbnail picture included in the above TSI-related SEI message includes at least one of TSI prompt existence information or TSI prompt information, and An image decoding method characterized by the fact that the above TSI prompt information is obtained based on the above TSI prompt existence information.
6. In Paragraph 2, A video decoding method characterized in that the label information of the thumbnail picture included in the SEI message related to the TEI includes at least one of TEI label existence information, TEI label language existence information, TEI label language information, or TEI label information.
7. In Paragraph 6, The above TEI label information and the above TEI label language existence information are obtained based on the above TEI label existence information, and An image decoding method characterized by the fact that the above TEI label language information is obtained based on the above TEI label language existence information.
8. In Paragraph 2, The prompt information of the thumbnail picture included in the SEI message related to the TEI includes at least one of TEI prompt existence information or TEI prompt information, and An image decoding method characterized by the fact that the above TEI prompt information is obtained based on the above TEI prompt existence information.
9. In Paragraph 2, An image decoding method characterized in that the above TSI-related SEI message further includes TSI bit information set to 0.
10. In Paragraph 2, An image decoding method characterized in that the above TEI-related SEI message further includes TEI bit information set to 0.
11. In Paragraph 2, A video decoding method characterized by not including a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information in subsequent coded video sequences (CVS) within the bitstream, based on TSI termination information corresponding to TSI identifier information included in the above TSI-related SEI message.
12. A video encoding method performed by an encoding device, A step of generating a thumbnail-related SEI (Supplemental Enhancement Information) message containing thumbnail-related information associated with a picture; and The method includes the step of encoding video information containing the above thumbnail-related SEI message, and A video encoding method characterized in that the above thumbnail-related information includes at least one of label information of the thumbnail picture or prompt information of the thumbnail picture.
13. In Paragraph 12, A video encoding method characterized in that the above thumbnail-related SEI message includes a TSI (Thumbnail Source Information) related SEI message containing source information of the thumbnail picture, and a TEI (Thumbnail Extraction Information) related SEI message containing extraction information of the thumbnail picture.
14. In Paragraph 13, The label information of the thumbnail picture included in the above TSI-related SEI message includes at least one of TSI label existence information, TSI label language existence information, TSI label language information, or TSI label information, and The above TSI label existence information is generated based on the above TSI label information and the above TSI label language existence information, and A video encoding method characterized by generating the above TSI label language existence information based on the above TSI label language information.
15. In Paragraph 13, The prompt information of the thumbnail picture included in the above TSI-related SEI message includes at least one of TSI prompt existence information or TSI prompt information, and A video encoding method characterized by generating the above TSI prompt existence information based on the above TSI prompt information.
16. In Paragraph 13, The label information of the thumbnail picture included in the SEI message related to the TEI includes at least one of TEI label existence information, TEI label language existence information, TEI label language information, or TEI label information, and The above TEI label existence information is generated based on the above TEI label information and the above TEI label language existence information, and A video encoding method characterized by generating the above TEI label language existence information based on the above TEI label language information.
17. In Paragraph 13, The prompt information of the thumbnail picture included in the SEI message related to the TEI includes at least one of TEI prompt existence information or TEI prompt information, and A video encoding method characterized by generating the above TEI prompt existence information based on the above TEI prompt information.
18. In Paragraph 13, A video encoding method characterized by not including a TSI-related SEI message corresponding to an identifier identical to the TSI identifier information in subsequent coded video sequences (CVS) within the bitstream, based on TSI termination information corresponding to TSI identifier information included in the above TSI-related SEI message.
19. A non-transitory computer-readable storage medium for storing a bitstream generated by the image encoding method described in paragraph 12.
20. A method for transmitting data regarding an image, wherein the method comprises the step of acquiring image information, wherein the image information includes a thumbnail-related SEI (Supplemental Enhancement Information) message containing thumbnail-related information associated with a picture; and The method includes the step of transmitting the data including the above image information, A data transmission method characterized in that the above thumbnail-related information includes at least one of label information of the thumbnail picture or prompt information of the thumbnail picture.