Method and computer-readable storage medium
Patent Information
- Application Number
- PCT/KR2026/004943
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-28
- Filing Date
- 2026-03-27
- Publication Date
- 2026-10-01
Smart Images

Figure KR2026004943_01102026_PF_FP_ABST
Abstract
Description
Method and computer-readable storage medium
[0001] The present disclosure relates to a method for decoding image information, a method for encoding image information, a method for bitstreams, and a computer-readable storage medium.
[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] A method according to one aspect of the present disclosure comprises obtaining at least one SEI message from a bitstream, the message including a digitally signed content initialization (DSCI) SEI message and a digitally signed content selection (DSCS) SEI message; obtaining verification-related information based on the DSCI SEI message; and associating a picture unit with a verification substream indicated by the DSCI SEI message based on the DSCS SEI message, wherein the DSCS SEI message having DSCS identification information with a value identical to a specific DSCI identification information is inferred to be identical to the specific DSCI identification information based on the fact that there is no DSCS SEI message in the picture unit having DSCS identification information with the same value as the specific DSCI identification information.
[0009] According to one aspect of the present disclosure, an apparatus comprises a memory and at least one processor connected to the memory, wherein the at least one processor obtains from a bitstream at least one SEI message including a digitally signed content initialization (DSCI) SEI message and a digitally signed content selection (DSCS) SEI message; obtains verification-related information based on the DSCI SEI message; and associates a picture unit with a verification substream indicated by the DSCI SEI message based on the DSCS SEI message, wherein the DSCS SEI message having DSCS identification information with a value identical to a specific DSCI identification information is inferred to be identical to the specific DSCI identification information based on the fact that there is no DSCS SEI message in the picture unit having DSCS identification information with the same value as the specific DSCI identification information.
[0010] In the above method or apparatus, the picture unit may be associated with DSCS identification information having the same value as the specific DSCI identification information based on the fact that a DSCS SEI message having DSCS identification information having the same value as the specific DSCI identification information does not exist in the picture unit.
[0011] In the above method or device, the DSCS verification substream identification information can be inferred to be 0 based on the fact that a DSCS SEI message having DSCS identification information with the same value as the specific DSCI identification information does not exist in the picture unit.
[0012] In the above method or apparatus, the DSCS verification substream identification information may include an identifier of a verification substream associated with the picture unit.
[0013] In the above method or apparatus, the DSCI identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider identified by the DSCI SEI message, and the DSCS identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider identified by a DSCI SEI message associated with the DSCS SEI message.
[0014] In the above method or apparatus, the at least one SEI message may further include a digitally signed content verification (DSCV) SEI message, and the method may further include verifying the digital signature of a verification substream indicated by the DSCI SEI message based on the DSCV SEI message.
[0015] A method according to one aspect of the present disclosure comprises: generating a digitally signed content initialization (DSCI) SEI message containing verification-related information; generating a digitally signed content selection (DSCS) SEI message for associating a picture unit with a verification substream indicated by the DSCI SEI message; and encoding at least one SEI message including the DSCI SEI message and the DSCS SEI message, wherein the DSCS SEI message having DSCS identification information of the same value as a specific DSCI identification information does not exist in the picture unit, and the DSCS identification information of the DSCS SEI message indicates that it is the same as the specific DSCI identification information.
[0016] According to one aspect of the present disclosure, an apparatus comprises a memory and at least one processor connected to the memory, wherein the at least one processor generates a digitally signed content initialization (DSCI) SEI message containing verification-related information; generates a digitally signed content selection (DSCS) SEI message for associating a picture unit with a verification substream indicated by the DSCI SEI message; and encodes at least one SEI message including the DSCI SEI message and the DSCS SEI message, wherein the DSCS SEI message having DSCS identification information of the same value as a specific DSCI identification information does not exist in the picture unit, and the DSCS identification information of the DSCS SEI message is the same as the specific DSCI identification information.
[0017] In the above method or device, the fact that a DSCS SEI message having DSCS identification information with the same value as the specific DSCI identification information does not exist in the picture unit may indicate that the picture unit is associated with DSCS identification information with the same value as the specific DSCI identification information.
[0018] In the above method or device, the fact that a DSCS SEI message having DSCS identification information with the same value as the specific DSCI identification information does not exist in the picture unit may indicate that the DSCS verification substream identification information is inferred to be 0.
[0019] In the above method or apparatus, the DSCS verification substream identification information may include an identifier of a verification substream associated with the picture unit.
[0020] In the above method or apparatus, the DSCI identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider identified by the DSCI SEI message, and the DSCS identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider identified by a DSCI SEI message associated with the DSCS SEI message.
[0021] In the above method or apparatus, the method may further include generating a digitally signed content verification (DSCV) SEI message for verifying the digital signature of a verification substream indicated by the DSCI SEI message, and the at least one SEI message may further include a digitally signed content verification (DSCV) SEI message.
[0022] A method according to one aspect of the present disclosure comprises generating the bitstream, wherein the bitstream is generated based on generating a digitally signed content initialization (DSCI) SEI message containing verification-related information, generating a digitally signed content selection (DSCS) SEI message for associating a picture unit with a verification substream indicated by the DSCI SEI message, encoding at least one SEI message including the DSCI SEI message and the DSCS SEI message, and transmitting the bitstream, wherein the DSCS SEI message having DSCS identification information of the same value as a specific DSCI identification information does not exist in the picture unit, which indicates that the DSCS identification information of the DSCS SEI message is the same as the specific DSCI identification information.
[0023] According to one aspect of the present disclosure, the apparatus comprises at least one processor generated based on generating the bitstream, wherein the bitstream generates a digitally signed content initialization (DSCI) SEI message containing verification-related information, generates a digitally signed content selection (DSCS) SEI message for associating a picture unit with a verification substream indicated by the DSCI SEI message, and encodes at least one SEI message including the DSCI SEI message and the DSCS SEI message, and a transmission unit that transmits the bitstream, wherein the DSCS SEI message having DSCS identification information of the same value as a specific DSCI identification information does not exist in the picture unit, which indicates that the DSCS identification information of the DSCS SEI message is the same as the specific DSCI identification information.
[0024] According to one aspect of the present disclosure, a computer-readable storage medium, wherein the storage medium stores a bitstream, the bitstream is generated based on generating a digitally signed content initialization (DSCI) SEI message containing verification-related information, generating a digitally signed content selection (DSCS) SEI message for associating a picture unit with a verification substream indicated by the DSCI SEI message, and encoding at least one SEI message including the DSCI SEI message and the DSCS SEI message, wherein the DSCS SEI message having DSCS identification information of the same value as a specific DSCI identification information does not exist in the picture unit, and the DSCS identification information of the DSCS SEI message is the same as the specific DSCI identification information.
[0025] 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.
[0026] According to the present disclosure, the reliability of a coding system including an encoding device and a decoding device can be improved.
[0027] According to the present disclosure, the coding efficiency of a coding system including an encoding device and a decoding device can be improved.
[0028] According to the present disclosure, the data transmission efficiency of a coding system including an encoding device and a decoding device can be improved.
[0029] 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 pertains from the description below.
[0030] FIG. 1 is a schematic diagram illustrating a video coding system to which an embodiment according to the present disclosure can be applied.
[0031] FIG. 2 is a schematic diagram showing an encoding device to which an embodiment according to the present disclosure can be applied.
[0032] FIG. 3 is a schematic diagram showing a decoding device to which an embodiment according to the present disclosure can be applied.
[0033] Figure 4 illustrates an exemplary hierarchical structure for a coded video / image.
[0034] FIG. 5 is a diagram illustrating a method for decoding image information according to one embodiment of the present disclosure.
[0035] FIG. 6 is a diagram illustrating a method for encoding image information according to one embodiment of the present disclosure.
[0036] FIG. 7 is a drawing illustrating an exemplary content streaming system to which an embodiment according to the present disclosure can be applied.
[0037] 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.
[0038] 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.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] 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).
[0044] 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.
[0045] 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.
[0046] In this disclosure, "video" may refer to a set of images in a sequence 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.
[0047] 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.
[0048] 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.
[0049] 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."
[0050] 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."
[0051] 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."
[0052] 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".
[0053] FIG. 1 is a schematic diagram illustrating a video / image coding system to which an embodiment according to the present disclosure can be applied.
[0054] 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.
[0055] 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.
[0056] 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.
[0057] The encoding device can encode input video / image information. 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.
[0058] 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 via a digital storage medium or a network in the form of a file or streaming. 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.
[0059] 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.
[0060] The renderer can render the decoded video / image. The rendered video / image can be displayed through the display unit.
[0061] FIG. 2 is a schematic diagram illustrating an encoding device to which an embodiment according to the present disclosure can be applied.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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).
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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).
[0074] 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).
[0075] Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture encoding and / or restoration process.
[0076] 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.
[0077] The filtering unit (260) can improve subjective / objective 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.
[0078] 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.
[0079] 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).
[0080] FIG. 3 is a schematic diagram illustrating a decoding device to which an embodiment according to the present disclosure can be applied.
[0081] 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.
[0082] 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).
[0083] 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).
[0084] 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.
[0085] In the inverse conversion unit (322), the conversion coefficients can be inversely converted to obtain a residual signal (residual block, residual sample array).
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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.
[0090] Meanwhile, LMCS (luma mapping with chroma scaling) may be applied during the picture decoding process.
[0091] The filtering unit (350) can improve subjective / objective 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.
[0092] 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).
[0093] 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.
[0094] Figure 4 illustrates an exemplary hierarchical structure for a coded video / image.
[0095] Referring to Figure 4, the coded image is divided into a Video Coding Layer (VCL) that handles the decoding processing of the image and the image itself, a subsystem that transmits and stores the encoded information, and a Network Abstraction Layer (NAL) that exists between the VCL and the subsystem and is responsible for network adaptation functions.
[0096] 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.
[0097] 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.
[0098] 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).
[0099] 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.
[0100] As described above, the NAL unit type can be determined 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.
[0101] 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.
[0102] 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.
[0103] - APS (Adaptation Parameter Set) NAL unit: Type for the NAL unit containing the APS
[0104] - DPS(Decoding Parameter Set) NAL unit: Type for the NAL unit containing the DPS
[0105] - VPS (Video Parameter Set) NAL unit: Type for the NAL unit containing the VPS
[0106] - SPS (Sequence Parameter Set) NAL unit: Type for the NAL unit containing the SPS
[0107] - PPS(Picture Parameter Set) NAL unit: Type for the NAL unit containing the PPS
[0108] 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.
[0109] A slice header (slice header syntax, slice header information) 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 a CVS (coded video sequence). In the present disclosure, High Level Syntax (HLS) may include at least one of the APS syntax, PPS syntax, SPS syntax, VPS syntax, DPS syntax, or slice header syntax.
[0110] In the present disclosure, image / video information encoded by an encoding device and signaled in the form of a bitstream includes not only information related to picture partitioning, 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, information included in the VPS, and / or information included in the DPS.
[0111] The following descriptor of the present disclosure specifies the parsing process for each syntax element:
[0112] - ae(v): context-adaptive arithmetic entropy-coded syntax element.
[0113] - b(8): A byte (8 bits) with an arbitrary bit sequence pattern. The parsing process for this descriptor is specified by the return value of the function read_bits(8).
[0114] - f(n): A fixed-pattern bit string using n bits written with the left bit first. The parsing process for this descriptor is specified by the return value of the function read_bits(n).
[0115] - i(n): A signed integer using n bits. In the syntax table, if n is "v", the number of bits depends on the values of other syntax elements. The parsing process for this descriptor is specified by the return value of the function read_bits(n), which is interpreted as a two's complement integer representation where the most significant bit is written first.
[0116] - se(v): A signed integer 0th order Exp-Golomb-coded syntax element with the left bit coming first. The parsing process for this descriptor is specified as having order k of 0.
[0117] - st(v): A null-terminated string encoded in Universal Coded Character Set (UCS) Transfer Format-8 (UTF-8) characters as specified in ISO / IEC 10646. The parsing process is specified as follows: st(v) reads and returns a sequence of bytes from the bitstream starting at the byte-aligned position of the bitstream, from the current position to a point that does not contain the next byte-aligned byte, such as 0x00, and moves the bitstream pointer by (stringLength + 1) * 8 bit positions, where stringLength is equal to the number of bytes returned.
[0118] For reference, the st(v) syntax descriptor is used in this specification only when the current position of the bitstream is a byte alignment position.
[0119] - tu(v): A truncated unary code using up to maxVal bits, using maxVal defined in the semantics of the syntax element.
[0120] - u(n): An unsigned integer using n bits. In the syntax table, if n is "v", the number of bits depends on the values of other syntax elements. The parsing process for this descriptor is specified by the return value of the function read_bits(n), which is interpreted as the binary representation of the unsigned integer with the most significant bit written first.
[0121] - ue(v): An unsigned integer 0-th order Exp-Golomb-coded syntax element with the left bit coming first. The parsing process for this descriptor is specified as having order k of 0.
[0122] The SEI message related to the present disclosure will be described below.
[0123] Table 1 shows an example of the syntax of a Digitally Signed Content Initialization (DSCI) SEI message according to one embodiment.
[0124] [Table 1]
[0125]
[0126] Hereinafter, an example of the semantics of a Digitally Signed Content Initialization (DSCI) SEI message according to one embodiment is described.
[0127] The use of this SEI message requires the following definition:
[0128] - nonVclDigitallySignedNalUnitsList, a list of non-VCL NAL unit type identifiers.
[0129] The Digitally Signed Content Initialization SEI message, the Digitally Signed Content Selection SEI message, and the Digitally Signed Content Verification SEI message provide a mechanism to verify that the coded video was generated by a content provider that identifies itself through the digital certificate referenced in the Digitally Signed Content Initialization SEI message. This SEI message also provides information about the secure hash algorithm used to calculate the message digest, which is used in conjunction with the digital signature present in the Digitally Signed Content Verification SEI message to verify the trustworthiness of non-VCL NAL units having a NAL unit type identifier that is one of the values in nonVclDigitallySignedNalUnitsList, as well as VCL NAL units present in the coded video sequence. Additionally, it provides information about the digital signature algorithm used and the content provider's public key. The Digitally Signed Content Initialization SEI message may provide the content provider's public key by providing a URI that identifies a trust record containing the content provider's certificate, or by providing a URI that directly identifies the certificate.
[0130] If a digitally signed content initialization SEI message exists in any AU of CVS, all of the following must be true:
[0131] - Digitally signed content initialization SEI messages must exist in the first IDR, CRA, and GDR PU in any AU within the CVS.
[0132] - Digitally signed content initialization SEI messages must precede all non-VCL NAL units with a NAL unit type identifier that is one of the values of nonVclDigitallySignedNalUnitsList and the VCL NAL units of the AU.
[0133] - There must be at most one digitally signed content initialization SEI message with a specific dsci_id value within the AU.
[0134] The digitally signed content initialization SEI message applies to the currently coded picture and all subsequent coded pictures until one or more of the following conditions become true:
[0135] - Bitstream terminated.
[0136] - A new CVS has started.
[0137] - Received a new digitally signed content initialization SEI message.
[0138] If a digitally signed content initialization SEI message exists in the CVS AU, a digitally signed content verification SEI message must exist for each substream to which an NAL unit is allocated. The signed content verification SEI message must exist in the bitstream before one or more of the following conditions become true:
[0139] - Bitstream terminated.
[0140] - A new CVS has started.
[0141] - Received a new digitally signed content initialization SEI message.
[0142] dsci_id includes an identification number that can be used to identify a mechanism to verify that the coded video was created by a content provider.
[0143] All digitally signed content verification SEI messages with a specific dsci_id value applicable to the same CLVS must have the same content.
[0144] dsci_hash_method_type indicates a secure hash algorithm used to compute a message digest for a subset of non-VCL NAL units that have a NAL unit type identifier that is one of the values in nonVclDigitallySignedNalUnitsList and VCL NAL units of the encoded video sequence. Based on this message digest and the digital signature present in the digitally signed content verification SEI message, the decoder can verify that the encoded video was created by the content original author indicated by the syntax element dsci_key_source_uri, dsci_use_key_register_idx_flag, and dsci_key_register_idx if the dsci_use_key_register_idx_flag flag is equal to 1. The supported values for the syntax element dsci_hash_method_type, the block size used for computing the message digest, and the size of the computed message digest are specified in Table 2. Values of dsci_hash_method_type not listed in Table 2 are reserved for future use and must not exist in payload data compliant with this version of the specification. The decoder must ignore trusted initialization SEI messages containing values reserved for dsci_hash_method_type. The secure hash algorithms listed in Table 2 are specified in the "Secure Hash Standard" NIST FIPS PUB 180-4.
[0145] [Table 2]
[0146]
[0147] dsci_key_source_uri contains a URI with the syntax and semantics specified in IETF Internet Standard 66. If dsci_key_retrieval_mode_idc is equal to 0, dsci_key_source_uri specifies a trusted record specified in ISO / IEC 21617-1. If dsci_key_retrieval_mode_idc is equal to 1, the following applies:
[0148] - If dsci_use_key_register_idx_flag is equal to 0, the URI identifies a content provider certificate that can be used to verify the signature present in the subsequent digitally signed content verification SEI message;
[0149] - Otherwise (if dsci_use_key_register_idx_flag is equal to 1), the URI identifies the certificate of the content provider that can be used to verify the signature present in the digitally signed content verification SEI message that follows the certificate registry and dsci_key_register_idx.
[0150] dsci_num_verification_substreams_minus1 plus 1 indicates the number of substreams where a signature may exist in the digitally signed content verification SEI message following the message digest. The value of dsci_num_verification_substreams_minus1 must be between 0 and 255 (including both ends).
[0151] The variable NumVerificationSubstream is derived as follows:
[0152] NumVerificationSubstream = dsci_num_verification_substreams_minus1 + 1.
[0153] dsci_ref_substream_flag[ i ][ j ] equal to 1 specifies that the i-th substream depends on the j-th substream.
[0154] dsci_ref_substream_flag[ i ][ j ] equal to 0 specifies that the i-th substream does not depend on the j-th substream.
[0155] When it does not exist, the value of dsci_ref_substream_flag[ i ][ j ] is inferred to be 0.
[0156] DscRefSubstreamId[ i ][ refIdx ], DscNumRefSubstream[ i ], and IndependentNonBaseSubstreams are derived as follows:
[0157] IndependentNonBaseSubstreams = 0
[0158] for( i = 0; i <= dsci_num_verification_substreams_minus1; i++ ) {
[0159] DscNumRefSubstream[ i ] = 0
[0160] for(j = 0, refIdx = 0, j < i ; j++ )
[0161] if( dsci_ref_substream_flag[ i ][ j ] ) {
[0162] DscRefSubstreamId[i][refIdx++] = j
[0163] DscNumRefSubstreams[ i ]++
[0164] }
[0165] if (i > 0 && DscNumRefSubstreams[ i ] = = 0)
[0166] IndependentNonBaseSubstreams = 1
[0167] }
[0168] When dsci_ref_substream_flag[ i ][ j ] is equal to 1 and dsci_ref_substream[ j ][ k ] is equal to 1 for any value of j less than i and k less than j, dsci_ref_substream[ i ][ k ] must be equal to 1.
[0169] dsci_key_retrieval_mode_idc being equal to 0 indicates that the URI contained in dsci_key_source_uri specifies a trusted record as specified in ISO / IEC 21617-1. dsci_key_retrieval_mode_idc being equal to 1 indicates that the URI contained in dsci_key_source_uri and, if present, dsci_key_register_idx specify a certificate. In this version of this specification, dsci_key_retrieval_mode_idc must be in the range of 0 to 1. The decoder must accept other values for dsci_key_retrieval_mode_idc, but must ignore the contents of the digitally signed content initialization SEI message, the related digitally signed content selection SEI message, and the related digitally signed content verification SEI message.
[0170] dsci_use_key_register_idx_flag being equal to 1 indicates that the URI contained in dsci_key_source_uri specifies a certificate registry and that the syntax element dsci_key_register_idx exists in the SEI message.
[0171] dsci_use_key_register_idx_flag being equal to 0 indicates that the URI contained in dsci_key_source_uri specifies a certificate and the syntax element dsci_key_register_idx does not exist in the SEI message.
[0172] When dsci_key_retrieval_mode_idc is equal to 0, the media asset for which the last trusted manifest in the trusted record provides content binding, as specified in ISO / IEC 21617-1, is a digitally signed content initialization SEI message. The following constraints apply to the trusted record specified in ISO / IEC 21617-1, identified by dsci_key_source_uri:
[0173] - As specified in ISO / IEC 21617-1, the last trust manifest in the trust record must contain exactly one hard-binding data hash assertion with the label c2pa.hash.data.
[0174] - The schema for data hash assertions is defined by the data-hash-map rule of the CDDL definition in Table 3:
[0175] [Table 3]
[0176]
[0177] - The exclusion range specifying the data within the digitally signed content initialization SEI message that is excluded when calculating the hash value and appears in the data hash assertion must match the dsci_key_source_uri bytes within the digitally signed content initialization SEI message.
[0178] If present, dsci_key_register_idx contains an index specifying a content provider's certificate that can be used to verify the signature present in a digitally signed content verification SEI message originating from the certificate registry indicated by dsci_key_source_uri. The value of dsci_key_register_idx must be in the range of 0 to 1023 (including both ends).
[0179] If the syntax elements dsci_key_retrieval_mode_idc, dsci_use_key_register_idx_flag, dsci_key_source_uri, and dsci_use_key_register_idx_flag are equal to 1, the certificate indicated by dsci_key_register_idx must specify the digital signature method and the content provider's public key along with the relevant parameters (if applicable). When dsci_key_retrieval_mode_idc is equal to 1, the format in which this information is provided is outside the scope of this specification. It is recommended to use a digital signature algorithm that complies with the "Digital Signature Standard" NIST FIPS 186-5.
[0180] dsci_content_uuid_present_flag being equal to 1 specifies that the syntax element dsci_content_uuid exists. dsci_content_uuid_present_flag being equal to 0 specifies that the syntax element dsci_content_uuid does not exist. When dsci_key_retrieval_mode_idc is equal to 0 or IndependentNonBaseSubstreams is equal to 1, dsci_content_uuid_present_flag must be equal to 1.
[0181] dsci_content_uuid represents an identifier for video content if present, and must have a value designated as a UUID in accordance with the procedures of ISO / IEC 11578:1996, Annex A.
[0182] When a digitally signed content initialization SEI message exists for the AU, the calculation of the NumVerificationSubstream message digest is initialized according to the specification of NIST FIPS PUB 180-4 for the specified dsci_hash_method_type. Each non-VCL NAL unit having a NAL unit type identifier among the values in nonVclDigitallySignedNalUnitsList and the VCL NAL unit following the digitally signed content initialization SEI message are associated with one of the NumVerificationSubstream message digests; the verification substream ID is indicated by the digitally signed content selection SEI message, or is inferred to be 0 if no digitally signed content selection SEI message exists for the PU. When k is in the range between 0 and dsci_num_verification_substreams_minus1 (including both ends), the message used to calculate the k-th message digest is obtained by concatenating all non-VCL NAL units with NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList and the VCL NAL units associated with the k-th verification substream. The calculation of the message digest is performed on a block basis, where the block size is specified in Table 2 according to the value of dsci_hash_method_type. For each non-VCL NAL unit and VCL NAL unit with NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList, the associated message digest is updated according to the algorithm specified in NIST FIPS PUB 180-4 for the specified dsci_hash_method_type.Note that since the message digest is calculated for the validation substream for the concatenation of all non-VCL NAL units and VCL NAL units having NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList, some processing blocks typically span two or more consecutive NAL units.
[0183] Table 4 shows an example of the syntax of a digitally signed content selection (DSCS) SEI message according to one embodiment.
[0184] [Table 4]
[0185]
[0186] Hereinafter, an example of the semantics of a Digitally Signed Content Selection (DSCS) SEI message according to one embodiment is described.
[0187] The use of this SEI message requires the following definition:
[0188] - nonVclDigitallySignedNalUnitsList, a list of non-VCL NAL unit type identifiers.
[0189] The digitally signed content selection SEI message provides a mechanism for associating encoded pictures with one of the verification substreams indicated in the digitally signed content initialization SEI message, where dsci_id is identified by something like dscs_id.
[0190] When AU includes both a digitally signed content initialization SEI message where dsci_id is identified by dscs_id and a digitally signed content selection SEI message where dsci_id is identified by dscs_id, the digitally signed content initialization SEI message where dsci_id is identified by dscs_id must precede the digitally signed content selection SEI message where dsci_id is identified by dscs_id in the decoding order.
[0191] When the CVS does not include a digitally signed content initialization SEI message, the CVS's CLVS must not include a digitally signed content selection SEI message.
[0192] When a digitally signed content selection SEI message exists in any PU of CLVS, it must precede all non-VCL NAL units and VCL NAL units of the PU that have NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList.
[0193] dscs_id includes an identification number that can be used to identify a mechanism to verify that the encoded video was generated by a content provider.
[0194] dscs_verification_substream_id represents the verification substream to which non-VCL NAL units with NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList and VCL NAL units of the currently encoded picture are assigned. When a digitally signed content initialization SEI message exists for the currently encoded video sequence, but a corresponding digitally signed content selection SEI message does not exist for the encoded picture where dsci_id is identified by dscs_id, the values of dscs_verification_substream_id and dscs_id are inferred to be equal to 0. The value of dscs_verification_substream_id must be in the range between 0 and dsci_num_verification_substreams_minus1 (including both ends).
[0195] The message digest for the verification substream with ID dscs_verification_substream_id is updated with non-VCL NAL units and VCL NAL units of the currently encoded picture having NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList according to the dsci_hash_method_type specified in the corresponding digitally signed content initialization SEI message where dsci_id is identified by dscs_id being the same as dscs_id.
[0196] Table 5 shows an example of the syntax of a Digitally Signed Content Verification (DSCV) SEI message according to one embodiment.
[0197] [Table 5]
[0198]
[0199] Hereinafter, an example of the semantics of a Digitally Signed Content Verification (DSCV) SEI message according to one embodiment is described.
[0200] The use of this SEI message requires the following definition:
[0201] - nonVclDigitallySignedNalUnitsList, a list of non-VCL NAL unit type identifiers.
[0202] The digitally signed content verification SEI message provides a mechanism for verifying the digital signature of a substream indicated in a digitally signed content initialization SEI message where dsci_id is the same as dscv_id.
[0203] When CVS does not contain a digitally signed content initialization SEI message where dsci_id is identified by dscv_id, the CLVS of CVS must not contain a digitally signed content verification SEI message where dsci_id is identified by dscv_id.
[0204] When an AU contains both a digitally signed content initialization SEI message identified by dsci_id equal to dscv_id and a digitally signed content verification SEI message identified by dsci_id equal to dscv_id, the digitally signed content initialization SEI message must precede the digitally signed content verification SEI message. When a PU contains both a digitally signed content selection SEI message identified by dsci_id equal to dscv_id and a digitally signed content verification SEI message identified by dsci_id equal to dscv_id, the digitally signed content selection SEI message must precede the digitally signed content verification SEI message.
[0205] When a digitally signed content verification SEI message identified by dsci_id equal to dscv_id exists in the PU of CVS, if one or more of the following conditions are not true, non-VCL NAL units or VCL NAL units having a NAL unit type identifier among the values in nonVclDigitallySignedNalUnitsList must not be assigned to the substream indicated by dscv_verification_substream_id:
[0206] - Bitstream terminated.
[0207] - A new CVS has started.
[0208] - Received a new digitally signed content initialization SEI message.
[0209] dscv_id includes an identification number that can be used to identify a mechanism to verify that the encoded video was generated by a content provider.
[0210] dscv_verification_substream_id represents the verification substream to which the SEI message applies.
[0211] In terms of decoding order, there is a constraint that the last digitally signed content initialization SEI message with a dsci_id value equal to currDscvId is followed by the dscv_verification_substream_id value of the first digitally signed content verification SEI message with a specific dscv_id value currDscvId, and that the dscv_verification_substream_id value of the first digitally signed content verification SEI message must be equal to 0.
[0212] For reference, when a new digitally signed content initialization SEI message with a specific identifier exists, a new value space is used for the substream identifiers of the digitally signed content selection SEI message (i.e., dscs_verification_substream_id) and the digitally signed content verification SEI (i.e., dscv_verification_substream_id) with the same identifier.
[0213] dscv_signature_length_in_octets_minus1 plus 1 specifies the length of the syntax element dscv_signature in octets (1 octet consists of 8 bits).
[0214] dscv_signature contains the digital signature for the verification substream indicated by dscv_verification_substream_id.
[0215] The variable sId is set to be equal to dscv_verification_substream_id.
[0216] The variable numRefs is set to be equal to DscNumRefSubstreams[ sId ].
[0217] The verification of a bitstream signature consists of the following steps:
[0218] 1. The calculation of the message digest, referred to as CurrDigest, is completed as follows:
[0219] Among the values in nonVclDigitallySignedNalUnitsList, non-VCL NAL units having a NAL unit type identifier and VCL NAL units for a verification substream with an ID equal to dscv_verification_substream_id are padded according to the specification of NIST FIPS PUB 180-4. Note that padding the last NAL unit of the verification substream is sufficient.
[0220] - The calculation of the message digest CurrDigest is completed according to the specifications of NIST FIPS PUB 180-4. The length of the message digest (in bits) is given in Table XXX.
[0221] 2. The reference message digest RefDigest[ refIdx ] for refIdx in the range 0 .. numRefs (including both endpoints) is determined as follows:
[0222] - If numRefs is greater than 0, the following applies:
[0223] i. 1. For each refIdx value in the range .. numRefs (including both ends), the reference message digest RefDigest[ refIdx ] is set to the CurrDigest value of a previous digitally signed content verification SEI message, such as DscRefSubstreamId[ sId ][ refIdx - 1 ], in the decoding order. The bitstream conformity requirement is that a digitally signed content verification SEI message associated with a verification substream ID such as DscRefSubstreamId[ sId ][ refIdx - 1 ] must exist before a digitally signed content verification SEI message with a verification substream ID such as sId.
[0224] ii. If the current digitally signed content verification SEI message, such as dscv_verification_substream_id DscRefSubstreamId[ sId ]
[0000] , is the first digitally signed content verification SEI in the encoded video sequence, and the preceding encoded video sequence does not contain any digitally signed content initialization SEI message, such as dscv_verification_substream_id DscRefSubstreamId[ sId ]
[0000] (this includes cases where the current encoded video sequence is the first encoded video sequence of the bitstream), RefDigest
[0000] is set to a bitstring consisting of a DigestSize bit equal to 1, where DigestSize is the size of the message digest specified in Table 2.
[0225] Otherwise, the reference message digest RefDigest
[0000] is the last calculated message digest for the validation substream with ID DscRefSubstreamId[ sId ]
[0000] .
[0226] - Otherwise, if the current digitally signed content verification SEI message is the first digitally signed content verification SEI with a verification ID equal to sId within the encoded video sequence, and the preceding encoded video sequence does not contain any digitally signed content initialization SEI message (this includes the case where the current encoded video sequence is the first encoded video sequence of the bitstream), RefDigest is set to a bitstring consisting of a DigestSize bit equal to 1, where DigestSize is the size of the message digest specified in Table 2.
[0227] - Otherwise, the reference message digest RefDigest is the last calculated message digest for the validation substream with the same ID as sId.
[0228] 3. The identification string IdString is constructed by concatenating the reference message digest RefDigest[ refIdx ] for refIdx in the range 0 .. numRefs (including both ends), the current message digest, dsci_hash_method_type, and the binary representation of dsci_content_uuid if present, as exemplified in Table 6.
[0229] [Table 6]
[0230]
[0231] The number of bits in RefDigest[ refIdx ] is determined by the value of dsci_hash_method_type that was valid when calculating the value of RefDigest[ refIdx ], the number of bits in CurrDigest is determined by the current value of dsci_hash_method_type, the value of dsci_hash_method_type is represented as 8 bits, and if present, the value of dsci_content_uuid is represented as 128 bits.
[0232] 3. The identification string IdString represents the message used to verify the signature. The signature verification algorithm and the public key used to verify the signature are indicated by the syntax elements dsci_use_key_register_idx_flag, dsci_key_source_uri, and dsci_key_register_idx when dsci_use_key_register_idx_flag is equal to 1.
[0233] For reference, since the bitstring used for signature verification includes RefDigest, it is not only possible to verify that the non-VCL NAL units with NAL unit type identifiers and the VCL NAL units used to calculate the current message digest among the values in nonVclDigitallySignedNalUnitsList are correct, but also to additionally verify that non-VCL NAL units and VCL NAL units with NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList were not added to the bitstream and that non-VCL NAL units and VCL NAL units with NAL unit type identifiers among the values in nonVclDigitallySignedNalUnitsList were not removed from the bitstream.
[0234] For reference, the IdString configured for the first digitally signed content verification SEI message cannot be verified because the value of RefDigest cannot be calculated correctly when the decoder begins receiving the bitstream. However, starting from the second digitally signed content verification SEI message, the signature can be verified.
[0235] - The bitstream conformance requirement is that when the verification of a verification substream A with a dscv_verification_substream_id value greater than 0 uses a reference message digest from the verification substream B, both of the following two conditions must be true:
[0236] - The NAL units of the PUs associated with substream B must not belong to a higher layer than the highest layer of the NAL units of the PUs associated with substream A.
[0237] - When the highest hierarchy of the NAL units in substream A and substream B is the same, the NAL units of the PUs associated with substream B must not belong to a temporal subhierarchy higher than the highest temporal subhierarchy of the NAL units of the PUs associated with substream A.
[0238] After verification, the message digest for the verification substream with ID equal to dscv_verification_substream_id is re-initialized according to the specifications of NIST FIPS PUB 180-4 for the specified dsci_hash_method_type.
[0239] Syntax elements for identification (i.e., dsci_id, dscs_id, and dscv_id) have been added to the design of digitally signed content SEI messages. Due to this addition, multiple digitally signed content initialization (DSCI) SEI messages may exist. Because of this addition, the following issues may arise when associating picture units with substreams specified by DSCI SEI messages via digitally signed content selection (DSCS) SEI messages:
[0240] - It is not clear whether each internal picture unit must be associated with each existing DSCI SEI message.
[0241] - If there is no DSCS SEI message to associate a picture unit with a DSCI SEI message having a specific dsci_id value, it is not clear whether there is an implicit / default association between the picture unit and the DSCI SEI message.
[0242] In one embodiment, the following items may be applied individually or in combination.
[0243] - Specifies that each picture unit within the verification period must be associated with one of the multiple substreams specified by each DSCI SEI message.
[0244] - The association between a picture unit and a substream of a DSCI SEI message with a specific dsci_id value can be as follows:
[0245] - Explicitly by the presence of a DSCS SEI message within the picture unit that has a dscs_id equal to the corresponding dsci_id value.
[0246] - If there is no DSCI SEI message with a dscs_id equal to the corresponding dsci_id value within the picture unit, it is implicit by inferring the dscs_id value as equal to dsci_id and inferring the dscs_verification_substream_id as equal to 0.
[0247] Hereinafter, an example of the semantics of a Digitally Signed Content Selection (DSCS) SEI message according to one embodiment is described. Semantics different from those of the Digitally Signed Content Selection SEI message described above are described, and any description of semantics identical to those of the Digitally Signed Content Selection SEI message described above is replaced by the description of the semantics of the Digitally Signed Content Selection SEI message described above.
[0248] To use this SEI message, the following definition is required:
[0249] - nonVclDigitallySignedNalUnitsList, a list of nonVCL NAL unit type identifiers.
[0250] The digitally signed content selection SEI message provides a mechanism to associate coded pictures with one of the verification substreams indicated in the digitally signed content initialization SEI message where dsci_id is the same as dscs_id.
[0251] When AU includes both a digitally signed content initialization SEI message where dsci_id is the same as dscs_id and a digitally signed content selection SEI message where dsci_id is the same as dscs_id, the digitally signed content initialization SEI message where dsci_id is the same as dscs_id must come before the digitally signed content selection SEI message where dsci_id is the same as dscs_id in the decoding order.
[0252] When a CVS does not include a digitally signed content initialization SEI message, the CLVS of that CVS must not include a digitally signed content selection SEI message.
[0253] When a digitally signed content selection SEI message exists in any PU of CLVS, it must precede the VCL NAL units of that PU and all non-VCL NAL units having a NAL unit type identifier that is one of the values in nonVclDigitallySignedNalUnitsList.
[0254] dscs_id includes an identification number that can be used to identify a mechanism to verify that the coded video was created by a content provider.
[0255] dscs_verification_substream_id represents the verification substream to which non-VCL NAL units are assigned, having a NAL unit type identifier that is one of the values in nonVclDigitallySignedNalUnitsList and the VCL NAL units of the currently coded picture. The value of dscs_verification_substream_id must be in the range (inclusive) from 0 to dsci_num_verification_substreams_minus1.
[0256] Each coded picture must be associated with one verification substream described in each digitally signed content initialization SEI message. If there is a digitally signed content initialization SEI message with a specific dsci_id value, and there is no digitally signed content selection SEI message in the picture unit where dscs_id is equal to that specific dsci_id value, then a digitally signed content selection SEI message where dscs_id is equal to that specific dsci_id value and dscs_verification_substream_id is equal to 0 is implied for that picture unit.
[0257] The message digest for the verification substream with id equal to dscs_verification_substream_id is updated with the VCL NAL units of the currently coded picture and non-VCL NAL units with a NAL unit type identifier that is one of the values in nonVclDigitallySignedNalUnitsList, according to the dsci_hash_method_type specified in the corresponding digitally signed content initialization SEI message with dsci_id equal to dscs_id.
[0258] FIG. 5 is a diagram illustrating a method for decoding image information according to one embodiment of the present disclosure.
[0259] The decoding method (S500) may include the operations described below.
[0260] 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.
[0261] 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.
[0262] The sequence of operations illustrated in the drawings regarding the operations described below is merely an example, and the operations described below may be performed in a different order unless it contradicts the operations to be described.
[0263] 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.
[0264] The terms "first," "second," "third," etc., used below are merely distinguishing indicators for identifying specific messages or information among multiple pieces of information or messages that may be included within the CLVS, and are not intended to limit the order, importance, or relative priority of these messages or information, or to restrict them to specific embodiments. For example, "first message (or first information)" refers only to at least one message (or information) included in at least one picture unit within the CLVS, and does not imply that said message (or information) must be encoded or decoded first.
[0265] 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.
[0266] The decoding device can acquire at least one SEI (supplemental enhancement information) message (S510).
[0267] For example, a processor of a decoding device may acquire supplemental enhancement information (SEI) messages from a bitstream. At least one SEI message may convey a specific type of information that assists in processes related to the decoding, display, or other purposes of image information. Here, the SEI message may not be necessary for the decoding process to determine the sample values of the decoded picture.
[0268] For example, at least one SEI message may include a Digitally Signed Content Initialization (DSCI) SEI message, a Digitally Signed Content Selection (DSCS) SEI message, and / or a Digitally Signed Content Verification (DSCV) SEI message. The DSCI SEI message, the DSCS SEI message, and / or the DSCS SEI message do not constitute essential, sufficient, or necessary-sufficient information of the SEI message, and some of them may be omitted or other SEI messages may be added.
[0269] DSCI SEI messages can be used to verify that the encoded video is a video produced by a content provider identified through a digital certificate. Specifically, DSCI SEI messages may include information regarding a secure hash algorithm for computing a message digest and / or information regarding the content provider's public key.
[0270] DSCI SEI messages may have various names, such as DSCI-related messages, DSCI-related information, DSC initialization SEI messages, DSC initialization-related messages, DSC initialization-related information, digitally signed content initialization SEI messages, digitally signed content initialization-related messages, and digitally signed content initialization-related information, and such names are not limited.
[0271] DSCI SEI messages can take various forms. For example, a DSCI SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a DSCI 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 DSCI SEI message may be represented as digitally_signed_content_initialization, but is not limited thereto.
[0272] A DSCS SEI message may be used to verify that the encoded image is an image produced by a content provider identified through a digital certificate. Specifically, the DSCS SEI message may include information for associating one of a plurality of substreams for verifying the encoded image with the NAL unit of the current picture (or current picture unit).
[0273] DSCS SEI messages can take various forms. For example, a DSCS SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a DSCS 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 DSCS SEI message may be represented as digitally_signed_content_selection, but is not limited thereto.
[0274] A DSCV SEI message can be used to verify that the encoded video is a video produced by a content provider identified through a digital certificate. Specifically, the DSCV SEI message may include digital signature information to verify that the encoded video is a video produced by a content provider identified through a digital certificate.
[0275] A DSCV SEI message can take various forms. For example, a DSCV SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a DSCV 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 DSCV SEI message may be represented as digitally_signed_content_verification, but is not limited thereto.
[0276] The decoding device can obtain verification-related information (S520).
[0277] For example, the processor of the decoding device can obtain verification-related information based on the DSCI SEI message.
[0278] For example, a DSCI SEI message may include DSCI identification information, security algorithm type information, key search mode information, key register information, and / or key source URI information. The DSCI identification information, security algorithm type information, key search mode information, key register information, and / or key source URI information do not constitute essential, sufficient, or necessary-sufficient information constituting the DSCI SEI message, and some of these may be omitted or other information may be added.
[0279] DSCI identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider. For example, the identifier of the verification mechanism may include numbers, letters, or symbols to identify the verification mechanism. DSCI identification information may be used to identify a specific verification mechanism for verifying that the image was produced by a specific content provider identified by the DSCI SEI message.
[0280] DSCI identification information may take various forms and may be represented by various names. For example, DSCI identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCI identification information may consist of bits of a fixed length (e.g., 8 bits). DSCI identification information may be represented as dsci_id, but is not limited thereto.
[0281] Security algorithm type information may indicate the security hash algorithm used to compute the message digest for the VCL NAL unit of the coded video sequence. The message digest, along with a digital signature, can be used to verify that the current picture was generated by a content provider specified by the public key provided by the key source URI information.
[0282] Security algorithm type information may take various forms and may be expressed by various names. For example, security algorithm type information may be a syntax element or a syntax structure containing one or more syntax elements. For example, security algorithm type information may consist of bits of a fixed length (e.g., 8 bits). Security algorithm type information may include, but is not limited to, dsci_hash_method_type.
[0283] Key search mode information may indicate what the URI included in the key source URI information specifies. For example, key search mode information with a value of 0 may indicate that the URI included in the key source URI information specifies a trust record. Here, the trust record may include a digital certificate of the content provider, and the digital certificate may include the public key of the content provider. Additionally, key search mode information with a value of 1 may indicate that the URI included in the key source URI information specifies a certificate of the content provider. Here, the certificate of the content provider may include the public key of the content provider. However, this is not limited thereto, and what the key search mode information with a value of 1 indicates may be interchangeable with what the key search mode information with a value of 0 indicates.
[0284] Key retrieval mode information may take various forms and may be represented by various names. For example, key retrieval mode information may be a syntax element or a syntax structure containing one or more syntax elements. For example, key retrieval mode information may consist of bits of a fixed length (e.g., one bit). For example, key retrieval mode information may include, but is not limited to, dsci_key_retrieval_mode_flag or dsci_key_retrieval_mode_idc.
[0285] Key register information may include key register flag information indicating whether the URI included in the key source URI information specifies a certificate or a certificate register, and key register index information specifying the content provider's certificate in the certificate register based on whether the URI specifies a certificate register.
[0286] Key register index information may take various forms and may be represented by various names. For example, key register index information may be a syntax element or a syntax structure containing one or more syntax elements. For example, key register index information may consist of bits of variable length. For example, key register index information may include dsci_key_register_idx, but is not limited thereto.
[0287] Key source URI information may include a URI for obtaining the content provider's public key, along with key retrieval mode information and / or key register information. For example, the key source URI information may specify a trust record based on the value of the key retrieval mode information being 0. Here, the trust record may include the content provider's digital certificate, and the digital certificate may include the content provider's public key. For example, the key source URI information may specify the content provider's certificate that can be used to verify a digital signature based on the value of the key retrieval information being 1. Here, the content provider's certificate may include the content provider's public key.
[0288] Key source URI information may take various forms and may be represented by various names. For example, key source URI information may be a syntax element or a syntax structure containing one or more syntax elements. For example, key source URI information may include a string composed of variable-length bits. Key source URI information may be represented as dsci_key_source_uri, etc., but is not limited thereto.
[0289] In this way, the processor of the decoding device can obtain verification-related information including DSCI identification information, security algorithm type information, key search mode information, key register information and / or key source URI information based on the DSCI SEI message.
[0290] The decoding device can associate the picture unit with the verification substream (S530).
[0291] For example, the processor of the decoding device can associate a picture unit with one of the verification substreams indicated by the DSCI SEI message based on the DSCS SEI message.
[0292] For example, a DSCS SEI message may include DSCS identification information and / or DSCS validation substream identification information. The DSCS identification information and / or DSCS validation substream identification information do not constitute essential, sufficient, or necessary-sufficient information constituting the DSCS SEI message, and some of it may be omitted or other information may be added.
[0293] DSCS identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider. For example, the identifier of the verification mechanism may include numbers, letters, or symbols to identify the verification mechanism. DSCS identification information may be used to identify a specific verification mechanism for verifying that the image was produced by a specific content provider identified by a DSCI SEI message associated with a DSCS SEI message.
[0294] DSCS identification information may take various forms and may be represented by various names. For example, DSCS identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCS identification information may consist of bits of a fixed length (e.g., 8 bits). DSCS identification information may be represented as dscs_id, but is not limited thereto.
[0295] DSCS verification substream identification information can represent the verification substream assigned to the NAL unit of the picture unit.
[0296] Each coded picture can be associated with one verification substream described in each DSCI SEI message. If there is a DSCI SEI message with specific DSCI identification information, and there is no DSCS SEI message in the picture unit where the DSCS identification information is equal to the value of the specific DSCI identification information, then a DSCS SEI message in which the DSCS identification information is equal to the value of the specific DSCI identification information and the value of the DSCS verification substream identification information is equal to 0 is implied for the picture unit.
[0297] In other words, in a verification identified by a specific DSCI identification, if there is no DSCS SEI message within a picture unit that is identical to the specific DSCI identification, the picture unit may be associated with DSCS identification identical to the specific DSCI identification and DSCS verification substream identification inferred as 0.
[0298] DSCS verification substream identification information may take various forms and may be represented by various names. For example, DSCS verification substream identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCS verification substream identification information may consist of bits of a fixed length (e.g., 8 bits). For example, DSCS verification substream identification information may be represented as dscs_verification_substream_id, but is not limited thereto.
[0299] In this way, based on the DSCS SEI message, the picture unit can be associated with one of the verification substreams indicated by the DSCI SEI message.
[0300] In particular, if there is no DSCS SEI message in the picture unit that is identical to the value of a specific DSCI identification information, the picture unit may be associated with DSCS identification information identical to the specific DSCI identification information and DSCS verification substream identification information inferred to be 0.
[0301] Accordingly, even if there is no DSCS SEI message in the picture unit where the DSCS identification information is identical to the value of the specific DSCI identification information, the picture unit can be associated with one of the verification substreams indicated by the DSCI SEI message based on the DSCS identification information identical to the specific DSCI identification information and the DSCS verification substream identification information inferred to be 0.
[0302] As a result, even if there is no DSCS SEI message in the picture unit where the DSCS identification information is identical to the value of a specific DSCI identification information, normal operation can continue without outputting an error or malfunctioning.
[0303] As a result, the reliability of the coding system can be improved, and the coding efficiency and data transmission efficiency of the coding system can be enhanced.
[0304] The decoding device can verify the digital signature of the verification substream (S540).
[0305] For example, the processor of the decoding device can verify the digital signature of the verification substream indicated by the DSCI SEI message based on the DSCV SEI message.
[0306] A DSCV SEI message may include DSCV identification information, DSCV verification substream identifier information, and / or digital signature information. The DSCV identification information, DSCV verification substream identifier information, and / or digital signature information do not constitute essential, sufficient, or necessary-sufficient information constituting the DSCV SEI message, and some of these may be omitted or other information may be added.
[0307] DSCV identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider. For example, the identifier of the verification mechanism may include numbers, characters, or symbols to identify the verification mechanism. DSCV identification information may be used to identify a specific verification mechanism for verifying that the image was produced by a specific content provider identified by a DSCI SEI message.
[0308] DSCV identification information may take various forms and may be represented by various names. For example, DSCV identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCV identification information may consist of bits of a fixed length (e.g., 8 bits). DSCV identification information may be represented as dscv_id, but is not limited thereto.
[0309] The DSCV verification substream identifier information can represent the identifier of the verification substream to which the DSCV SEI message applies. In other words, it can represent the identifier of the verification substream to which verification is performed using the digital description information contained in the DSCV SEI message.
[0310] DSCV verification substream identification information may take various forms and may be represented by various names. For example, DSCV verification substream identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCV verification substream identification information may consist of bits of a fixed length (e.g., 8 bits). DSCV verification substream identification information may be represented as dscv_verification_substream_id, but is not limited thereto.
[0311] Digital signature information may include a digital signature for a verification substream. The digital signature, along with the content provider's public key, may be used to verify that the coded image is an image produced by the content provider identified through the digital certificate. An algorithm for verifying the digital signature may be derived based on key search mode information, key register information, and / or key source URI information included in the DSCI SEI message.
[0312] Digital signature information may take various forms and may be represented by various names. For example, digital signature information may be a syntax element or a syntax structure containing one or more syntax elements. For example, digital signature information may consist of bits of a fixed length that depend on other syntax elements. For example, digital signature information may be represented as dscv_signature, but is not limited thereto.
[0313] The processor of the decoding device can verify that the coded video is a video produced by a content provider identified through a digital certificate.
[0314] The processor can compute the current message digest. For example, the processor can pad the result of concatenating NAL units for a validation substream identified by DSCV validation substream identifier information in decoding order. The processor can compute the current message digest according to the procedure specified in NIST FIPS PUB 180-4.
[0315] The processor determines the reference message digest. For example, the processor may determine the last calculated message digest as the reference message digest based on DSCV verification substream identifier information.
[0316] The processor can construct an identification string. For example, the processor can construct an identification string based on the reference message digest, the current message digest, and / or security algorithm type information.
[0317] The processor verifies a digital signature. For example, an identification string can be used for signature verification. The processor can obtain the algorithm and public key used for signature verification based on key register information and key source URI information. The processor can verify the digital signature based on the obtained algorithm and public key.
[0318] In this way, the decoding device can verify that the coded video is a video produced by a content provider identified through a digital certificate.
[0319] FIG. 6 is a diagram illustrating a method for encoding image information according to one embodiment of the present disclosure.
[0320] The encoding method (S600) may include the operations described below.
[0321] 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.
[0322] 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.
[0323] The sequence of actions illustrated in the drawings regarding the actions described below is merely an example, and the actions 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.
[0324] 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.
[0325] The terms "first," "second," "third," etc., used below are merely distinguishing indicators for identifying specific messages or information among multiple pieces of information or messages that may be included within the CLVS, and are not intended to limit the order, importance, or relative priority of these messages or information, or to restrict them to specific embodiments. For example, "first message (or first information)" refers only to at least one message (or information) included in at least one picture unit within the CLVS, and does not imply that said message (or information) must be encoded or decoded first.
[0326] 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.
[0327] The encoding device can generate a digitally signed content initialization (DSCI) SEI message (S610).
[0328] For example, a processor of an encoding device may generate a DSCI SEI message that can be used to verify that the encoded image is an image produced by a content provider identified through a digital certificate. The DSCI SEI message may include verification-related information. Specifically, the DSCI SEI message may include information regarding a secure hash algorithm for computing a message digest and / or information regarding the content provider's public key.
[0329] DSCI SEI messages may have various names, such as DSCI-related messages, DSCI-related information, DSC initialization SEI messages, DSC initialization-related messages, DSC initialization-related information, digitally signed content initialization SEI messages, digitally signed content initialization-related messages, and digitally signed content initialization-related information, and such names are not limited.
[0330] DSCI SEI messages can take various forms. For example, a DSCI SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a DSCI 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 DSCI SEI message may be represented as digitally_signed_content_initialization, but is not limited thereto.
[0331] A DSCI SEI message may include DSCI identification information, security algorithm type information, key search mode information, key register information, and / or key source URI information. The DSCI identification information, security algorithm type information, key search mode information, key register information, and / or key source URI information do not constitute essential, sufficient, or necessary-sufficient information constituting the DSCI SEI message, and some of these may be omitted or other information may be added.
[0332] DSCI identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider. For example, the identifier of the verification mechanism may include numbers, letters, or symbols to identify the verification mechanism. DSCI identification information may be used to identify a specific verification mechanism for verifying that the image was produced by a specific content provider identified by the DSCI SEI message.
[0333] DSCI identification information may take various forms and may be represented by various names. For example, DSCI identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCI identification information may consist of bits of a fixed length (e.g., 8 bits). DSCI identification information may be represented as dsci_id, but is not limited thereto.
[0334] The security algorithm type information, key search mode information, key register information, and key source URI information are the same as the security algorithm type information, key search mode information, key register information, and key source URI information described in conjunction with Operation 520 above. The descriptions of the security algorithm type information, key search mode information, key register information, and key source URI information are replaced with the descriptions of the security algorithm type information, key search mode information, key register information, and key source URI information described in conjunction with Operation 520 above.
[0335] The encoding device can generate a digitally signed content selection (DSCS) SEI message (S620).
[0336] For example, the processor of the encoding device may generate a DSCS SEI message to associate a picture unit with a verification substream indicated by the DSCI SEI message. The DSCS SEI message may be used to verify that the encoded image is an image produced by a content provider identified through a digital certificate. Specifically, the DSCS SEI message may include information for associating one of a plurality of substreams for verifying the encoded image with the NAL unit of the current picture (or current picture unit).
[0337] DSCS SEI messages can take various forms. For example, a DSCS SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a DSCS 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 DSCS SEI message may be represented as digitally_signed_content_selection, but is not limited thereto.
[0338] For example, a DSCS SEI message may include DSCS identification information and / or DSCS validation substream identification information. The DSCS identification information and / or DSCS validation substream identification information do not constitute essential, sufficient, or necessary-sufficient information constituting the DSCS SEI message, and some of it may be omitted or other information may be added.
[0339] DSCS identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider. For example, the identifier of the verification mechanism may include numbers, letters, or symbols to identify the verification mechanism. DSCS identification information may be used to identify a specific verification mechanism for verifying that the image was produced by a specific content provider identified by a DSCI SEI message associated with a DSCS SEI message.
[0340] DSCS identification information may take various forms and may be represented by various names. For example, DSCS identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCS identification information may consist of bits of a fixed length (e.g., 8 bits). DSCS identification information may be represented as dscs_id, but is not limited thereto.
[0341] DSCS verification substream identification information can represent the verification substream assigned to the NAL unit of the picture unit.
[0342] Each coded picture may be associated with one verification substream described in each DSCI SEI message. If there is a DSCI SEI message with specific DSCI identification information, and there is no DSCS SEI message in the picture unit where the DSCS identification information is equal to the value of the specific DSCI identification information, it may indicate that a DSCS SEI message in which the DSCS identification information is equal to the value of the specific DSCI identification information and the value of the DSCS verification substream identification information is equal to 0 is implied for the picture unit.
[0343] In other words, in a verification identified by specific DSCI identification information, the fact that there is no DSCS SEI message within a picture unit that is identical to the DSCS identification information of the specific DSCI identification information indicates that the picture unit is associated with DSCS identification information identical to the specific DSCI identification information and DSCS verification substream identification information inferred to be 0.
[0344] DSCS verification substream identification information may take various forms and may be represented by various names. For example, DSCS verification substream identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCS verification substream identification information may consist of bits of a fixed length (e.g., 8 bits). For example, DSCS verification substream identification information may be represented as dscs_verification_substream_id, but is not limited thereto.
[0345] In this way, based on the DSCS SEI message, the picture unit can be associated with one of the verification substreams indicated by the DSCI SEI message.
[0346] In particular, the absence of a DSCS SEI message in a picture unit that is identical to the value of a specific DSCI identification information may indicate that the picture unit is associated with DSCS identification information identical to the specific DSCI identification information and DSCS verification substream identification information inferred to be 0.
[0347] Accordingly, even if there is no DSCS SEI message in the picture unit where the DSCS identification information is identical to the value of the specific DSCI identification information, the picture unit can be associated with one of the verification substreams indicated by the DSCI SEI message based on the DSCS identification information identical to the specific DSCI identification information and the DSCS verification substream identification information inferred to be 0.
[0348] As a result, even if there is no DSCS SEI message in the picture unit where the DSCS identification information is identical to the value of a specific DSCI identification information, normal operation can continue without outputting an error or malfunctioning.
[0349] As a result, the reliability of the coding system can be improved, and the coding efficiency and data transmission efficiency of the coding system can be enhanced.
[0350] The encoding device can generate a digitally signed content verification (DSCV) SEI message (S630).
[0351] For example, the processor of the encoding device can generate a DSCV SEI message to verify the digital signature of the verification substream indicated by the DSCI SEI message.
[0352] A DSCV SEI message can be used to verify that the encoded video is a video produced by a content provider identified through a digital certificate. Specifically, the DSCV SEI message may include digital signature information to verify that the encoded video is a video produced by a content provider identified through a digital certificate.
[0353] A DSCV SEI message can take various forms. For example, a DSCV SEI message may be a syntax element or a syntax structure containing one or more syntax elements. Additionally, a DSCV 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 DSCV SEI message may be represented as digitally_signed_content_verification, but is not limited thereto.
[0354] A DSCV SEI message may include DSCV identification information, DSCV verification substream identifier information, and / or digital signature information. The DSCV identification information, DSCV verification substream identifier information, and / or digital signature information do not constitute essential, sufficient, or necessary-sufficient information constituting the DSCV SEI message, and some of these may be omitted or other information may be added.
[0355] DSCV identification information may include an identifier of a verification mechanism for verifying that the coded image was produced by a content provider. For example, the identifier of the verification mechanism may include numbers, characters, or symbols to identify the verification mechanism. DSCV identification information may be used to identify a specific verification mechanism for verifying that the image was produced by a specific content provider identified by a DSCI SEI message.
[0356] DSCV identification information may take various forms and may be represented by various names. For example, DSCV identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCV identification information may consist of bits of a fixed length (e.g., 8 bits). DSCV identification information may be represented as dscv_id, but is not limited thereto.
[0357] The DSCV verification substream identifier information can represent the identifier of the verification substream to which the DSCV SEI message applies. In other words, it can represent the identifier of the verification substream to which verification is performed using the digital description information contained in the DSCV SEI message.
[0358] DSCV verification substream identification information may take various forms and may be represented by various names. For example, DSCV verification substream identification information may be a syntax element or a syntax structure containing one or more syntax elements. For example, DSCV verification substream identification information may consist of bits of a fixed length (e.g., 8 bits). DSCV verification substream identification information may be represented as dscv_verification_substream_id, but is not limited thereto.
[0359] The digital signature information is the same as the digital signature information described in Operation 540 above. The description of the digital signature information is replaced with the description of the digital signature information described in Operation 540 above.
[0360] The encoding device can encode at least one SEI message (S640).
[0361] For example, the processor of the encoding device may encode at least one SEI message, including DSCI SEI messages, DSCS SEI messages, and / or DSCV SEI messages. At least one SEI message may convey a specific type of information that assists in processes related to the decoding, display, or other purposes of image information. Here, the SEI message may not be necessary for the decoding process to determine the sample values of the decoded picture.
[0362] At least one SEI message 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 at least one SEI message encoded according to the encoding method (S600) described above.
[0363] A bitstream generated based on at least one SEI message encoded according to the encoding method (S600) described above can be stored on a computer-readable storage medium.
[0364] A bitstream generated based on at least one SEI message encoded according to the encoding method (S600) described above can be transmitted through a transmission unit and / or a transmission medium.
[0365] FIG. 7 is a drawing illustrating an exemplary content streaming system to which an embodiment according to the present disclosure can be applied.
[0366] 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.
[0367] 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.
[0368] 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.
[0369] 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.
[0370] 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.
[0371] 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.
[0372] 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.
[0373] 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.
[0374] An embodiment according to the present disclosure can be used to encode / decode images.
Claims
1. Obtain at least one SEI message from a bitstream, including a Digitally Signed Content Initialization (DSCI) SEI message and a Digitally Signed Content Selection (DSCS) SEI message; Obtain verification-related information based on the above DSCI SEI message; Includes associating a picture unit with a verification substream indicated by the DSCI SEI message based on the above DSCS SEI message, wherein A method in which the DSCS identification information of a DSCS SEI message is inferred to be the same as the specific DSCI identification information based on the fact that a DSCS SEI message having DSCS identification information of the same value as the specific DSCI identification information does not exist in the picture unit.
2. In Paragraph 1, A method in which the picture unit is associated with the DSCS identification information having the same value as the specific DSCI identification information, based on the fact that the picture unit does not have a DSCS SEI message having the same value as the specific DSCI identification information.
3. In Paragraph 1, A method in which DSCS verification substream identification information is inferred to be 0 based on the fact that a DSCS SEI message having DSCS identification information with the same value as the specific DSCI identification information does not exist in the picture unit.
4. In Paragraph 3, A method in which the above DSCS verification substream identification information includes an identifier of a verification substream associated with the picture unit.
5. In Paragraph 1, The above DSCI identification information includes an identifier of a verification mechanism for verifying that the coded image was produced by a content provider identified by the above DSCI SEI message, and A method comprising the identifier of a verification mechanism for verifying that the above-mentioned DSCS identification information is produced by a content provider identified by a DSCI SEI message associated with the above-mentioned DSCS SEI message.
6. In Paragraph 1, The above at least one SEI message further includes a digitally signed content verification (DSCV) SEI message, and The above method further comprises verifying the digital signature of the verification substream indicated by the DSCI SEI message based on the DSCV SEI message.
7. Generate a Digitally Signed Content Initialization (DSCI) SEI message containing verification-related information; Generate a digitally signed content selection (DSCS) SEI message to associate a picture unit with a verification substream indicated by the above DSCI SEI message; Encoding at least one SEI message including the above DSCI SEI message and the above DSCS SEI message, wherein A method indicating that the DSCS identification information of the DSCS SEI message is identical to the specific DSCI identification information, wherein the DSCS SEI message having DSCS identification information of the same value as the specific DSCI identification information does not exist in the picture unit.
8. In Paragraph 7, A method indicating that the picture unit is associated with the DSCS identification information having the same value as the specific DSCI identification information, wherein the DSCS SEI message having the same value as the specific DSCI identification information does not exist in the picture unit.
9. In Paragraph 7, A method indicating that the DSCS verification substream identification information is inferred to be 0 when there is no DSCS SEI message having DSCS identification information with the same value as the specific DSCI identification information above in the picture unit.
10. In Paragraph 9, A method in which the above DSCS verification substream identification information includes an identifier of a verification substream associated with the picture unit.
11. In Paragraph 7, The above DSCI identification information includes an identifier of a verification mechanism for verifying that the coded image was produced by a content provider identified by the above DSCI SEI message, and A method comprising the identifier of a verification mechanism for verifying that the above-mentioned DSCS identification information is produced by a content provider identified by a DSCI SEI message associated with the above-mentioned DSCS SEI message.
12. In Paragraph 11, The above method further comprises generating a Digital Signed Content Verification (DSCV) SEI message to verify the digital signature of the verification substream indicated by the DSCI SEI message, and A method in which at least one SEI message further includes a digitally signed content verification (DSCV) SEI message.
13. A computer-readable storage medium for storing a bitstream generated based on the method according to paragraph 7.
14. The bitstream is generated based on generating a digitally signed content initialization (DSCI) SEI message containing verification-related information, generating a digitally signed content selection (DSCS) SEI message for associating a picture unit with a verification substream indicated by the DSCI SEI message, and encoding at least one SEI message including the DSCI SEI message and the DSCS SEI message. Includes transmitting the above bitstream, A method indicating that the DSCS identification information of the DSCS SEI message is identical to the specific DSCI identification information, wherein the DSCS SEI message having DSCS identification information of the same value as the specific DSCI identification information does not exist in the picture unit.