WO2025005681A1 - 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 - Google Patents
영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 Download PDFInfo
- Publication number
- WO2025005681A1 WO2025005681A1 PCT/KR2024/008958 KR2024008958W WO2025005681A1 WO 2025005681 A1 WO2025005681 A1 WO 2025005681A1 KR 2024008958 W KR2024008958 W KR 2024008958W WO 2025005681 A1 WO2025005681 A1 WO 2025005681A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- output
- picture
- nnpfc
- information
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
Definitions
- the present disclosure relates to a video encoding/decoding method, a method for transmitting a bitstream, and a recording medium storing the bitstream, and more particularly, to a video encoding/decoding method related to a neural-network post-filter, a method for transmitting a bitstream, and a recording medium storing the bitstream.
- HD High Definition
- UHD Ultra High Definition
- the present disclosure aims to provide a video encoding/decoding method and device with improved encoding/decoding efficiency.
- the present disclosure aims to provide a method for processing NNPF related SEI messages (NNPFC SEI and NNPFA SEI).
- the present disclosure aims to more clearly specify the output picture of NNPF by NNPF related SEI messages.
- the present disclosure aims to clarify the meaning of information related to the output picture of NNPF.
- the present disclosure aims to reduce decoder errors by clarifying the meaning of information related to the output picture of NNPF.
- the present disclosure aims to improve coding quality and efficiency by making NNPF clear the meaning of information related to an output picture.
- the present disclosure aims to improve coding efficiency by determining whether to output an output picture when an input picture does not exist.
- the present disclosure aims to provide a non-transitory computer-readable recording medium storing a bitstream generated by an image encoding method according to the present disclosure.
- the present disclosure aims to provide a non-transitory computer-readable recording medium that stores a bitstream received and decoded by an image decoding device according to the present disclosure and used for restoring an image.
- the present disclosure aims to provide a method for transmitting a bitstream generated by an image encoding method according to the present disclosure.
- An image decoding method performed by an image decoding device includes the steps of obtaining post-filter-based output picture information for an input picture from a neural-network post-filter (NNPF) related SEI (supplemental enhancement information) message, and obtaining an output picture for the input picture based on the output picture information, wherein the output picture information may include output picture output information that is information indicating whether an output picture for the input picture is output.
- NPF neural-network post-filter
- the value of the output picture output information may be determined based on whether the input picture exists.
- the value of the output picture output information may be determined further based on output picture presence information, which is information indicating whether the output picture exists for the input picture.
- the output picture output information may indicate that the output picture is not output based on the fact that the input picture does not exist and the output picture existence information indicates that the output picture exists.
- the number of output picture output information may be determined as a value within a specific range.
- the specific range may be determined based on an index value of a specific input picture.
- the number of output picture output information may be determined to always be greater than a specific value.
- the output of the output picture for the non-existent input picture may be excluded.
- the output picture existence information can be obtained from the NNPFC SEI message.
- the output picture output information can be obtained from the NNPFA SEI message.
- An image encoding method performed by an image encoding device includes a step of determining output picture information based on a post-filter for an input picture, and a step of signaling the output picture information as a neural-network post-filter (NNPF) related supplemental enhancement information (SEI) message, wherein the output picture information may include output picture output information that is information indicating whether an output picture for the input picture is output.
- NPF neural-network post-filter
- SEI supplemental enhancement information
- a non-transitory computer-readable recording medium storing a bitstream generated by an image encoding method according to the present disclosure can be provided.
- a non-transitory computer-readable recording medium can be provided that stores a bitstream received and decoded by an image decoding device according to the present disclosure and used for restoring an image.
- a method for transmitting a bitstream generated by an image encoding method can be provided.
- a video encoding/decoding method and device with improved encoding/decoding efficiency can be provided.
- the semantics of information within NNPF-related SEI messages can be modified to enable clearer meaning delivery.
- the error of the decoder can be reduced by modifying the semantics of the information in the NNPF related SEI message.
- efficiency can be improved by clarifying the output of an output picture with an NNPF-related SEI message.
- efficiency can be improved by more clearly specifying information about the output picture of the NNPF by the NNPF-related SEI message.
- NNPF can improve coding quality and efficiency by clarifying the meaning of information related to an output picture.
- a non-transitory computer-readable recording medium storing a bitstream generated by an image encoding method according to the present disclosure can be provided.
- a non-transitory computer-readable recording medium can be provided that stores a bitstream received and decoded by an image decoding device according to the present disclosure and used for restoring an image.
- a method for transmitting a bitstream generated by an image encoding method can be provided.
- FIG. 1 is a diagram schematically illustrating a video coding system to which an embodiment according to the present disclosure can be applied.
- FIG. 2 is a drawing schematically showing an image encoding device to which an embodiment according to the present disclosure can be applied.
- FIG. 3 is a diagram schematically illustrating an image decoding device to which an embodiment according to the present disclosure can be applied.
- Figure 4 is a diagram explaining an interleaved method for deriving a luma channel.
- FIG. 5 is a flowchart for explaining an image decoding method to which an embodiment according to the present disclosure can be applied.
- FIG. 6 is a flowchart for explaining an image encoding method to which an embodiment according to the present disclosure can be applied.
- FIG. 7 is a drawing exemplarily showing a content streaming system to which an embodiment according to the present disclosure can be applied.
- a component when a component is said to be “connected,” “coupled,” or “connected” to another component, this may include not only a direct connection relationship, but also an indirect connection relationship in which another component exists in between.
- a component when a component is said to "include” or “have” another component, this does not exclude the other component unless specifically stated otherwise, but means that the other component may be included.
- first, second, etc. are used only for the purpose of distinguishing one component from another component, and do not limit the order or importance among the components unless specifically stated otherwise. Accordingly, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly, a second component in one embodiment may be referred to as a first component in another embodiment.
- the components that are distinguished from each other are intended to clearly explain the characteristics of each, and do not necessarily mean that the components are separated. That is, a plurality of components may be integrated to form a single hardware or software unit, or a single component may be distributed to form a plurality of hardware or software units. Accordingly, even if not mentioned separately, such integrated or distributed embodiments are also included in the scope of the present disclosure.
- the components described in various embodiments do not necessarily mean essential components, and some may be optional components. Accordingly, an embodiment that consists of a subset of the components described in one embodiment is also included in the scope of the present disclosure. In addition, an embodiment that includes other components in addition to the components described in various embodiments is also included in the scope of the present disclosure.
- the present disclosure relates to encoding and decoding of images, and terms used in the present disclosure may have their usual meanings used in the technical field to which the present disclosure belongs, unless newly defined in the present disclosure.
- a "picture” generally means a unit representing one image of a specific time period
- a slice/tile is a coding unit constituting a part of a picture
- one picture may be composed of one or more slices/tiles.
- a slice/tile may include one or more CTUs (coding tree units).
- pixel or “pel” may mean the smallest unit that constitutes a picture (or image).
- sample may be used as a term corresponding to a pixel.
- a sample may generally represent a pixel or a pixel value, and may represent only a pixel/pixel value of a luma component, or only a pixel/pixel value of a chroma component.
- a "unit” may represent a basic unit of image processing.
- a unit may include at least one of a specific region of a picture and information related to the region.
- the unit may be used interchangeably with terms such as “sample array", “block” or “area” as the case may be.
- an MxN block may include a set (or array) of samples (or sample array) or transform coefficients consisting of M columns and N rows.
- the "current block” may mean one of the “current coding block", the “current coding unit”, the “encoding target block”, the “decoding target block” or the “processing target block”.
- the “current block” may mean the “current prediction block” or the “prediction target block”.
- transformation inverse transformation
- quantization inverse quantization
- the "current block” may mean the “current transformation block” or the “transformation target block”.
- filtering is performed, the "current block” may mean the "filtering target block”.
- a "current block” may mean a block including both a luma component block and a chroma component block, or a "luma block of the current block” unless explicitly described as a chroma block.
- the luma component block of the current block may be explicitly expressed by including an explicit description of the luma component block, such as “luma block” or “current luma block”.
- the chroma component block of the current block may be explicitly expressed by including an explicit description of the chroma component block, such as "chroma block” or "current chroma block”.
- FIG. 1 is a diagram schematically illustrating a video coding system to which an embodiment according to the present disclosure can be applied.
- a video coding system may include an encoding device (10) and a decoding device (20).
- the encoding device (10) may transmit encoded video and/or image information or data to the decoding device (20) in the form of a file or streaming through a digital storage medium or a network.
- An encoding device (10) may include a video source generating unit (11), an encoding unit (12), and a transmitting unit (13).
- a decoding device (20) may include a receiving unit (21), a decoding unit (22), and a rendering unit (23).
- the encoding unit (12) may be called a video/image encoding unit, and the decoding unit (22) may be called a video/image decoding unit.
- the transmitting unit (13) may be included in the encoding unit (12).
- the receiving unit (21) may be included in the decoding unit (22).
- the rendering unit (23) may include a display unit, and the display unit may be configured as a separate device or an external component.
- the video source generation unit (11) can obtain a video/image through a process of capturing, synthesizing, or generating a video/image.
- the video source generation unit (11) can include a video/image capture device and/or a video/image generation device.
- the video/image capture device can include, for example, one or more cameras, a video/image archive including previously captured video/image, etc.
- the video/image generation device can include, for example, a computer, a tablet, a smartphone, etc., and can (electronically) generate a video/image.
- a virtual video/image can be generated through a computer, etc., and in this case, the video/image capture process can be replaced with a process of generating related data.
- the encoding unit (12) can encode input video/image.
- the encoding unit (12) can perform a series of procedures such as prediction, transformation, and quantization for compression and encoding efficiency.
- the encoding unit (12) can output encoded data (encoded video/image information) in the form of a bitstream.
- the transmission unit (13) can obtain encoded video/image information or data output in the form of a bitstream, and can transmit it to the reception unit (21) of the decoding device (20) or another external object through a digital storage medium or a network in the form of a file or streaming.
- the digital storage medium can include various storage media such as USB, SD, CD, DVD, Blu-ray, HDD, SSD, etc.
- the transmission unit (13) can include an element for generating a media file through a predetermined file format, and can include an element for transmission through a broadcasting/communication network.
- the transmission unit (13) can be provided as a separate transmission device from the encoding device (12), and in this case, the transmission device can include at least one processor for obtaining encoded video/image information or data output in the form of a bitstream, and a transmission unit for transmitting it in the form of a file or streaming.
- the reception unit (21) can extract/receive the bitstream from the storage medium or the network and transmit it to the decoding unit (22).
- the decoding unit (22) can decode video/image by performing a series of procedures such as inverse quantization, inverse transformation, and prediction corresponding to the operation of the encoding unit (12).
- the rendering unit (23) can render the decrypted video/image.
- the rendered video/image can be displayed through the display unit.
- FIG. 2 is a diagram schematically illustrating an image encoding device to which an embodiment according to the present disclosure can be applied.
- the image encoding device (100) may include an image segmentation unit (110), a subtraction unit (115), a transformation unit (120), a quantization unit (130), an inverse quantization unit (140), an inverse transformation unit (150), an addition unit (155), a filtering unit (160), a memory (170), an inter prediction unit (180), an intra prediction unit (185), and an entropy encoding unit (190).
- the inter prediction unit (180) and the intra prediction unit (185) may be collectively referred to as a “prediction unit.”
- the transformation unit (120), the quantization unit (130), the inverse quantization unit (140), and the inverse transformation unit (150) may be included in a residual processing unit.
- the residual processing unit may further include a subtraction unit (115).
- All or at least some of the plurality of components constituting the video encoding device (100) may be implemented as a single hardware component (e.g., an encoder or a processor) according to an embodiment.
- the memory (170) may include a DPB (decoded picture buffer) and may be implemented by a digital storage medium.
- the image segmentation unit (110) can segment an input image (or, picture, frame) input to the image encoding device (100) into one or more processing units.
- the processing unit may be called a coding unit (CU).
- the coding unit may be obtained by recursively segmenting a coding tree unit (CTU) or a largest coding unit (LCU) according to a QT/BT/TT (Quad-tree/binary-tree/ternary-tree) structure.
- CTU coding tree unit
- LCU largest coding unit
- QT/BT/TT Quad-tree/binary-tree/ternary-tree
- one coding unit may be segmented into a plurality of coding units of deeper depth based on a quad-tree structure, a binary-tree structure, and/or a ternary-tree structure.
- the quad-tree structure may be applied first, and the binary-tree structure and/or the ternary-tree structure may be applied later.
- the coding procedure according to the present disclosure may be performed based on a final coding unit that is no longer segmented.
- the maximum coding unit can be used as the final coding unit, and the coding unit of the lower depth obtained by dividing the maximum coding unit can be used as the final coding unit.
- the coding procedure can include procedures such as prediction, transformation, and/or restoration described below.
- the processing unit of the coding procedure can be a prediction unit (PU) or a transform unit (TU).
- the prediction unit and the transform unit can be divided or partitioned from the final coding unit, respectively.
- the prediction unit can be a unit of sample prediction
- the transform unit can be a unit for deriving a transform coefficient and/or a unit for deriving a residual signal from a transform coefficient.
- the prediction unit can perform prediction on a block to be processed (current block) and generate a predicted block including prediction samples for the current block.
- the prediction unit can determine whether intra prediction or inter prediction is applied to the current block or CU unit.
- the prediction unit can generate various information about the prediction of the current block and transfer it to the entropy encoding unit (190).
- the information about the prediction can be encoded by the entropy encoding unit (190) and output in the form of a bitstream.
- the intra prediction unit (185) can predict the current block by referring to samples in the current picture.
- the referenced samples may be located in the neighborhood of the current block or may be located away from it depending on the intra prediction mode and/or the intra prediction technique.
- the intra prediction modes may include a plurality of non-directional modes and a plurality of directional modes.
- the non-directional mode may include, for example, a DC mode and a planar mode.
- the directional mode may include, for example, 33 directional prediction modes or 65 directional prediction modes depending on the degree of detail of the prediction direction. However, this is only an example, and a number of directional prediction modes greater or less than that may be used depending on the setting.
- the intra prediction unit (185) may also determine the prediction mode applied to the current block by using the prediction mode applied to the neighboring block.
- the inter prediction unit (180) can derive a predicted block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture.
- the motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between neighboring blocks and the current block.
- the motion information can include a motion vector and a reference picture index.
- the motion information can further include information on an inter prediction direction (such as L0 prediction, L1 prediction, or Bi prediction).
- neighboring blocks can include spatial neighboring blocks existing in the current picture and temporal neighboring blocks existing in the reference picture.
- the reference picture including the reference block and the reference picture including the temporal neighboring block may be the same or different from each other.
- the temporal neighboring blocks may be called collocated reference blocks, collocated CUs (colCUs), etc.
- the reference picture including the above temporal neighboring blocks may be called a collocated picture (colPic).
- the inter prediction unit (180) may construct a motion information candidate list based on the neighboring blocks, and generate information indicating which candidate is used to derive the motion vector and/or reference picture index of the current block. Inter prediction may be performed based on various prediction modes, and for example, in the case of the skip mode and the merge mode, the inter prediction unit (180) may use the motion information of the neighboring blocks as the motion information of the current block.
- the motion vector of the current block may be signaled by using the motion vector of the neighboring blocks as a motion vector predictor, and encoding an indicator for the motion vector difference and the motion vector predictor.
- Motion vector difference can mean the difference between the motion vector of the current block and the motion vector predictor.
- the prediction unit can generate a prediction signal based on various prediction methods and/or prediction techniques described below.
- the prediction unit can apply intra prediction or inter prediction for prediction of the current block, and can also apply intra prediction and inter prediction at the same time.
- a prediction method that applies intra prediction and inter prediction at the same time for prediction of the current block can be called combined inter and intra prediction (CIIP).
- the prediction unit can perform intra block copy (IBC) for prediction of the current block.
- Intra block copy can be used for content image/video coding such as games, such as screen content coding (SCC).
- IBC is a method of predicting the current block using a restored reference block in the current picture at a location a predetermined distance away from the current block.
- the location of the reference block in the current picture can be encoded as a vector (block vector) corresponding to the predetermined distance.
- IBC basically performs prediction within the current picture, but can be performed similarly to inter prediction in that it derives reference blocks within the current picture. That is, IBC can utilize at least one of the inter prediction techniques described in the present disclosure.
- the prediction signal generated through the prediction unit can be used to generate a restoration signal or to generate a residual signal.
- the subtraction unit (115) can generate a residual signal (residual block, residual sample array) by subtracting the prediction signal (predicted block, predicted sample array) output from the prediction unit from the input image signal (original block, original sample array).
- the generated residual signal can be transmitted to the conversion unit (120).
- the transform unit (120) can apply a transform technique to the residual signal to generate transform coefficients.
- the transform technique can 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).
- DCT Discrete Cosine Transform
- DST Discrete Sine Transform
- KLT Karhunen-Loeve Transform
- GBT Graph-Based Transform
- CNT Conditionally Non-linear Transform
- GBT means a transform obtained from a graph when the relationship information between pixels is expressed as a graph.
- CNT means a transform obtained based on generating a prediction signal using all previously reconstructed pixels.
- the transform process can be applied to a pixel block having a square equal size, or can be applied to a block of a non-square variable size.
- the quantization unit (130) can quantize the transform coefficients and transmit them to the entropy encoding unit (190).
- the entropy encoding unit (190) can encode the quantized signal (information about the quantized transform coefficients) and output it as a bitstream.
- the information about the quantized transform coefficients can be called residual information.
- the quantization unit (130) can rearrange the quantized transform coefficients in a block form into a one-dimensional vector form based on the coefficient scan order, and can also generate information about the quantized transform coefficients based on the quantized transform coefficients in the one-dimensional vector form.
- the entropy encoding unit (190) can perform various encoding methods such as, for example, exponential Golomb, context-adaptive variable length coding (CAVLC), and context-adaptive binary arithmetic coding (CABAC).
- the entropy encoding unit (190) can also encode, together or separately, information necessary for video/image restoration (for example, values of syntax elements, etc.) in addition to quantized transform coefficients.
- the encoded information (for example, encoded video/image information) can be transmitted or stored in the form of a bitstream in the form of a network abstraction layer (NAL) unit.
- NAL network abstraction layer
- the video/image information may further include information on 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).
- 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 encoded through the encoding procedure described above and included in the bitstream.
- the above bitstream may be transmitted through a network or stored in a digital storage medium.
- the network may include a broadcasting network and/or a communication network
- 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 an entropy encoding unit (190) and/or a storage unit (not shown) for storing the signal may be provided as an internal/external element of the video encoding device (100), or the transmission unit may be provided as a component of the entropy encoding unit (190).
- the quantized transform coefficients output from the quantization unit (130) can be used to generate a residual signal. For example, by applying inverse quantization and inverse transformation to the quantized transform coefficients through the inverse quantization unit (140) and inverse transformation unit (150), the residual signal (residual block or residual samples) can be restored.
- the addition unit (155) 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 (180) or the intra prediction unit (185).
- the predicted block can be used as the reconstructed block.
- the addition unit (155) can be called a reconstructed unit or a reconstructed block generation unit.
- the generated reconstructed signal can be used for intra prediction of the next processing target block in the current picture, and can also be used for inter prediction of the next picture after filtering as described below.
- the filtering unit (160) can apply filtering to the restoration signal to improve subjective/objective picture quality.
- the filtering unit (160) can apply various filtering methods to the restoration picture to generate a modified restoration picture and store the modified restoration picture in the memory (170), specifically, in the DPB of the memory (170).
- the various filtering methods may include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
- the filtering unit (160) can generate various information regarding filtering and transmit it to the entropy encoding unit (190), as described below in the description of each filtering method.
- the information regarding filtering can be encoded in the entropy encoding unit (190) and output in the form of a bitstream.
- the modified restored picture transmitted to the memory (170) can be used as a reference picture in the inter prediction unit (180).
- the image encoding device (100) can avoid prediction mismatch between the image encoding device (100) and the image decoding device when inter prediction is applied, and can also improve encoding efficiency.
- the DPB in the memory (170) can store a modified restored picture for use as a reference picture in the inter prediction unit (180).
- the memory (170) can store motion information of a block from which motion information in the current picture is derived (or encoded) and/or motion information of blocks in a picture that has already been restored.
- the stored motion information can be transferred to the inter prediction unit (180) to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory (170) can store restored samples of restored blocks in the current picture and transfer them to the intra prediction unit (185).
- FIG. 3 is a diagram schematically illustrating an image decoding device to which an embodiment according to the present disclosure can be applied.
- the image decoding device (200) may be configured to include an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), an adding unit (235), a filtering unit (240), a memory (250), an inter prediction unit (260), and an intra prediction unit (265).
- the inter prediction unit (260) and the intra prediction unit (265) may be collectively referred to as a “prediction unit.”
- the inverse quantization unit (220) and the inverse transformation unit (230) may be included in a residual processing unit.
- All or at least some of the plurality of components constituting the video decoding device (200) may be implemented as a single hardware component (e.g., a decoder or a processor) according to an embodiment.
- the memory (170) may include a DPB and may be implemented by a digital storage medium.
- the image decoding device (200) that receives the bitstream including video/image information can restore the image by performing a process corresponding to the process performed in the image encoding device (100) of FIG. 2.
- the image decoding device (200) can perform decoding using a processing unit applied in the image encoding device. Therefore, the processing unit of the decoding can be, for example, a coding unit.
- the coding unit can be a coding tree unit or can be obtained by dividing a maximum coding unit. Then, the restored image signal decoded and output by the image decoding device (200) can be reproduced through a reproduction device (not shown).
- the image decoding device (200) can receive a signal output from the image encoding device of FIG. 2 in the form of a bitstream.
- the received signal can be decoded through the entropy decoding unit (210).
- the entropy decoding unit (210) can parse the bitstream to derive information (e.g., video/image information) necessary for image restoration (or picture restoration).
- the video/image information may further include information on 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).
- the video/image information may further include general constraint information.
- the image decoding device may additionally use information on the parameter set and/or the general constraint information to decode the image.
- the signaling information, received information, and/or syntax elements mentioned in the present disclosure can be obtained from the bitstream by being decoded through the decoding procedure.
- the entropy decoding unit (210) can decode information in the bitstream based on a coding method such as exponential Golomb coding, CAVLC, or CABAC, and output the values of syntax elements necessary for image restoration and the quantized values of transform coefficients for residuals.
- the CABAC entropy decoding method receives a bin corresponding to each syntax element in the bitstream, determines a context model by using information of the syntax element to be decoded and the decoding information of the surrounding block and the decoding target block or the information of the symbol/bin decoded in the previous step, and predicts the occurrence probability of the bin according to the determined context model to perform arithmetic decoding of the bin to generate a symbol corresponding to the value of each syntax element.
- the CABAC entropy decoding method can update the context model by using the information of the decoded symbol/bin for the context model of the next symbol/bin after the context model is determined.
- Information about prediction among the information decoded by the entropy decoding unit (210) is provided to the prediction unit (inter prediction unit (260) and intra prediction unit (265)), and the residual value on which entropy decoding is performed by the entropy decoding unit (210), that is, quantized transform coefficients and related parameter information, can be input to the dequantization unit (220).
- information about filtering among the information decoded by the entropy decoding unit (210) can be provided to the filtering unit (240).
- a receiving unit (not shown) for receiving a signal output from an image encoding device may be additionally provided as an internal/external element of the image decoding device (200), or the receiving unit may be provided as a component of an entropy decoding unit (210).
- the video decoding device may be called a video/video/picture decoding device.
- the video decoding device may include an information decoder (video/video/picture information decoder) and/or a sample decoder (video/video/picture sample decoder).
- the information decoder may include an entropy decoding unit (210), and the sample decoder may include at least one of an inverse quantization unit (220), an inverse transformation unit (230), an adding unit (235), a filtering unit (240), a memory (250), an inter prediction unit (260), and an intra prediction unit (265).
- the inverse quantization unit (220) can inverse quantize the quantized transform coefficients and output the transform coefficients.
- the inverse quantization unit (220) can rearrange the quantized transform coefficients into a two-dimensional block form. In this case, the rearrangement can be performed based on the coefficient scan order performed in the image encoding device.
- the inverse quantization unit (220) can perform inverse quantization on the quantized transform coefficients using quantization parameters (e.g., quantization step size information) and obtain transform coefficients.
- the transform coefficients can be inversely transformed to obtain a residual signal (residual block, residual sample array).
- the prediction unit can perform a prediction on the current block and generate a predicted block including prediction samples for the current block.
- the prediction unit can determine whether intra prediction or inter prediction is applied to the current block based on the information about the prediction output from the entropy decoding unit (210), and can determine a specific intra/inter prediction mode (prediction technique).
- the prediction unit can generate a prediction signal based on various prediction methods (techniques) described later, which is the same as what was mentioned in the description of the prediction unit of the image encoding device (100).
- the intra prediction unit (265) can predict the current block by referring to samples within the current picture.
- the description of the intra prediction unit (185) can be equally applied to the intra prediction unit (265).
- the inter prediction unit (260) can derive a predicted block for a current block based on a reference block (reference sample array) specified by a motion vector on a reference picture.
- the motion information can be predicted in units of blocks, subblocks, or samples based on the correlation of motion information between neighboring blocks and the current block.
- the motion information can include a motion vector and a reference picture index.
- the motion information can further include information on an inter prediction direction (L0 prediction, L1 prediction, Bi prediction, etc.).
- the neighboring block can include a spatial neighboring block existing in the current picture and a temporal neighboring block existing in the reference picture.
- the inter prediction unit (260) can configure a motion information candidate list based on neighboring blocks, and derive a motion vector and/or a 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 the information about the prediction can include information indicating the mode (technique) of inter prediction for the current block.
- the addition unit (235) can generate a restoration signal (restored picture, restoration block, restoration sample array) by adding the acquired residual signal to the prediction signal (predicted block, prediction sample array) output from the prediction unit (including the inter prediction unit (260) and/or the intra prediction unit (265)).
- the predicted block can be used as the restoration block.
- the description of the addition unit (155) can be equally applied to the addition unit (235).
- the addition unit (235) can be called a restoration unit or a restoration block generation unit.
- the generated restoration signal can be used for intra prediction of the next target block to be processed in the current picture, and can also be used for inter prediction of the next picture after filtering as described below.
- the filtering unit (240) can improve subjective/objective image quality by applying filtering to the restoration signal.
- the filtering unit (240) can apply various filtering methods to the restoration picture to generate a modified restoration picture, and store the modified restoration picture in the memory (250), specifically, in the DPB of the memory (250).
- the various filtering methods can include, for example, deblocking filtering, sample adaptive offset, adaptive loop filter, bilateral filter, etc.
- the (corrected) reconstructed picture stored in the DPB of the memory (250) can be used as a reference picture in the inter prediction unit (260).
- the memory (250) can store motion information of a block from which motion information in the current picture is derived (or decoded) and/or motion information of blocks in a picture that has already been reconstructed.
- the stored motion information can be transferred to the inter prediction unit (260) to be used as motion information of a spatial neighboring block or motion information of a temporal neighboring block.
- the memory (250) can store reconstructed samples of reconstructed blocks in the current picture and transfer them to the intra prediction unit (265).
- the embodiments described in the filtering unit (160), the inter prediction unit (180), and the intra prediction unit (185) of the image encoding device (100) can be applied identically or correspondingly to the filtering unit (240), the inter prediction unit (260), and the intra prediction unit (265) of the image decoding device (200), respectively.
- NNPFC Neural-network post-filter characteristics
- the NNPFC syntax structures of Tables 1 to 3 can be signaled in the form of a supplemental enhancement information (SEI) message.
- SEI Supplemental Enhancement Information
- An SEI message signaling the NNPFC syntax structures of Tables 1 to 3 can be referred to as an NNPFC SEI message.
- the NNPFC SEI message can specify a neural network that can be used as a post-processing filter.
- the use of specific post-processing filters for specific pictures can be indicated using neural-network post-filter activation (NNPFA) SEI messages.
- NNPFA neural-network post-filter activation
- 'post-processing filter' and 'post filter' can have the same meaning.
- SEI messages may require defining the following variables:
- the width and height of the input picture can be cropped in luma sample units, and this width and height can be expressed as CroppedWidth and CroppedHeight, respectively.
- CroppedYPic[idx] which is an array of luma samples of input pictures
- CroppedCbPic[idx] and CroppedCrPic[idx] which are arrays of chroma samples
- the index idx can have a range from 0 to numInputPics-1.
- BitDepth Y can represent the bit depth of the luma sample array of input pictures.
- BitDepth C can indicate the bit depth of the chroma sample arrays of the input pictures, if they exist.
- ChromaFormatIdc can represent a chroma format identifier.
- nnpfc_auxiliary_inp_idc When the value of nnpfc_auxiliary_inp_idc is 1, the array of filtering strength control values for input pictures, StrengthControlVal[idx], must contain real numbers in the range of 0 to 1, and the index idx can have a range of 0 to numInputPics-1.
- An input picture having index 0 may correspond to a picture whose NNPF defined by the NNPFC SEI message is activated by the NNPFA SEI message.
- An input picture whose index i is in the range of 1 to numInputPics - 1 may have precedence over an input picture having index i-1 in the output order.
- nnpfc_purpose may indicate a purpose of the NNPF as shown in Table 4.
- a non-zero ( nnpfc_purpose & bitMask ) may indicate that the NNPF in Table 4 has a purpose associated with the bitMask value. If nnpfc_purpose is greater than 0 and ( nnpfc_purpose & bitMask ) is equal to 0, the purpose associated with the bitMask value may not be applicable to the NNPF. If nnpfc_purpose is equal to 0, the NNPF may be used at the discretion of the application.
- the value of nnpfc_purpose may be constrained to be in the range of 0 to 63 in the bitstream. The values in the range of 64 to 65 535 for nnpfc_purpose may be reserved for future use. Decoders shall ignore NNPFC SEI messages with nnpfc_purpose in the range of 64 to 65 535.
- variable chromaUpsamplingFlag indicating whether the purpose of the NNPF indicated by nnpfc_purpose is chroma upsampling
- variable resolutionResamplingFlag indicating whether the purpose of the NNPF indicated by nnpfc_purpose is resolution resampling
- variable pictureRateUpsamplingFlag indicating whether the purpose of the NNPF indicated by nnpfc_purpose is picture rate upsampling
- the variable bitDepthUpsamplingFlag indicating whether the purpose of the NNPF indicated by nnpfc_purpose is bit depth upsampling
- variable colourizationFlag indicating whether the purpose of the NNPF indicated by nnpfc_purpose is colourization
- ChromaFormatIdc When ChromaFormatIdc is equal to 3, chromaUpsamplingFlag may be constrained to be equal to 0. When ChromaFormatIdc or chromaUpsamplingFlag is not equal to 0, colourizationFlag may be constrained to be equal to 0.
- pictureRateUpsamplingFlag is equal to 1 and the input picture with index 0 is associated with a frame packing array SEI message with fp_arrangement_type equal to 5
- all input pictures may be associated with frame packing array SEI messages with fp_arrangement_type equal to 5 and fp_current_frame_is_frame0_flag equal to 0.
- nnpfc_id may contain an identification number that can be used to identify the NNPF.
- the nnpfc_id value must be in the range of 0 to 2 32 - 2, inclusive.
- the nnpfc_id values in the range of 256 to 511 and in the range of 2 31 to 2 32 - 2 may be reserved for future use. Decoders should ignore NNPFC SEI messages with nnpfc_id in the range of 256 to 511 or in the range of 2 31 to 2 32 - 2.
- the NNPFC SEI message is the first NNPFC SEI message in decoding order with a particular nnpfc_id value within the current CLVS, the following may apply:
- the above SEI message can represent a base NNPF.
- the above SEI message can be associated with the current decoded picture and all subsequent decoded pictures of the current layer until the end of the current CLVS, in output order.
- An NNPFC SEI message may be a repetition of a previous NNPFC SEI message within the current CLVS in decoding order, and subsequent semantics may apply as if this SEI message were the only NNPFC SEI message with identical content within the current CLVS.
- a value of nnpfc_mode_idc of 0 indicates that the SEI message may contain a bitstream representing the default NNPF, or may represent an update relative to the default NNPF with the same nnpfc_id value.
- a value of 1 in nnpfc_mode_idc may indicate that the underlying NNPF associated with the nnpfc_id value is a neural network, wherein the neural network may be a neural network identified by a URI denoted by nnpfc_uri using a format identified by a tag URI nnpfc_tag_uri.
- nnpfc_mode_idc 1 can indicate that updates relative to the underlying NNPF with the same nnpfc_id value are defined by a URI denoted by nnpfc_uri using a format identified by a tag URI nnpfc_tag_uri.
- a value of nnpfc_base_flag of 1 can indicate that the SEI message represents a base NNPF.
- a value of nnpfc_base_flag of 0 can indicate that the SEI message represents an update related to the base NNPF.
- nnpfc_base_flag nnpfc_base_flag
- nnpfc_base_flag may be equal to 1.
- the NNPFC SEI message may correspond to a repetition of the first NNPFC SEI message nnpfcA with the same nnpfc_id in decoding order. That is, the payload content of nnpfcB may be identical to the payload content of nnpfcA.
- nnpfc_base_flag 0
- This SEI message can define updates relative to a primary NNPF preceding it in decoding order using the same nnpfc_id value.
- the updates are not cumulative, but each update can be applied to the primary NNPF, which is the NNPF specified in the first NNPFC SEI message in decoding order with the given nnpfc_id value within the current CLVS.
- An NNPF defined by this SEI message can be obtained by applying updates defined by SEI messages relative to a primary NNPF with the same nnpfc_id value.
- This SEI message may be associated with the current decoded picture and all subsequent decoded pictures up to the end of the current CLVS in output order of the current layer, excluding decoded pictures that follow the current decoded picture in output order within the current CLVS.
- This SEI message may be associated with a subsequent NNPFC SEI message in decoding order that has nnpfc_base_flag equal to 0 and has an earlier value of a particular nnpfc_id within the current CLVS.
- a value of nnpfc_mode_idc of 0 may indicate that the SEI message contains a bitstream representing a base NNPF (if the value of nnpfc_base_flag is 1) or an update to a base NNPF with the same nnpfc_id value (if the value of nnpfc_base_flag is 0).
- an nnpfc_mode_idc may indicate that the base NNPF associated with the value of nnpfc_id is associated with a neural network identified by a URI, where the URI may be indicated by nnpfc_uri in a format indicated by a tag URI nnpfc_tag_uri.
- nnpfc_mode_idc 1 may indicate that the update associated with the base NNPF of the same nnpfc_id value is defined by a URI, where the URI may be indicated by an nnpfc_uri in the format indicated by the tag URI nnpfc_tag_uri.
- nnpfc_mode_idc may be constrained to the range 0 to 1 in the bitstream. Values for nnpfc_mode_idc in the range 2 to 255 are reserved for future use and may not be present in the bitstream. Decoders must ignore NNPFC SEI messages with nnpfc_mode_idc in the range 2 to 255. Values of nnpfc_mode_idc greater than 255 are not present in the bitstream and may not be reserved for future use.
- nnpfc_reserved_zero_bit_a may be restricted to have a value equal to 0 due to bitstream restrictions. Decoders may be restricted to ignore NNPFC SEI messages with a non-zero value of nnpfc_reserved_zero_bit_a.
- the nnpfc_tag_uri can contain a tag URI with syntax and semantics specified in IETF RFC 4151 that identifies a neural network that serves as the primary NNPF, or an update to the primary NNPF using the nnpfc_id value specified by the nnpfc_uri.
- the nnpfc_tag_uri allows for uniquely identifying the format of the neural network data specified by the nnrpf_uri without the need for a central registry authority.
- An nnpfc_tag_uri equal to "tag:iso.org,2023:15938-17" can indicate that the neural network data identified by the nnpfc_uri complies with ISO/IEC 15938-17.
- nnpfc_uri MAY contain a URI with syntax and semantics specified in IETF Internet Standard 66 that identifies a neural network that is used as the primary NNPF, or an update related to the primary NNPF that uses the same nnpfc_id value.
- a value of nnpfc_property_present_flag of 1 may indicate the presence of syntax elements related to filter purpose, input formatting, output formatting and complexity.
- a value of nnpfc_property_present_flag of 0 may indicate the absence of syntax elements related to filter purpose, input formatting, output formatting and complexity. If the value of nnpfc_base_flag is 1, nnpfc_property_present_flag may be constrained to have a value of 1.
- nnpfc_property_present_flag 0
- the values of all syntax elements that can be present only when the value of nnpfc_property_present_flag is 1 may be inferred to be equal to the values of their corresponding syntax elements in the NNPFC SEI message containing the base NNPF to which the SEI message provides an update.
- nnpfcCurr is not the first NNPFC SEI message with a particular nnpfc_id value within the current CLVS in decoding order, is not a repeat of the first NNPFC SEI message with a particular nnpfc_id value (i.e., nnpfc_base_flag is 0), and nnpfc_property_present_flag is 1, the following restrictions may apply:
- nnpfc_purpose in a NNPFC SEI message must be identical to the value of nnpfc_purpose in the first NNPFC SEI message with a particular nnpfc_id value within the current CLVS in decoding order.
- nnpfc_base_flag and preceding nnpfc_complexity_info_present_flag in the NNPFC SEI message must be identical to the values of the corresponding syntax elements in the first NNPFC SEI message with a particular nnpfc_id value within the current CLVS in decoding order.
- the nnpfc_complexity_info_present_flag in the first NNPFC SEI message with a specific nnpfc_id value within the current CLVS must be equal to 0 or all 1s, and the following may apply:
- nnpfc_parameter_parameter_type_idc in nnpfcCurr must be identical to nnpfc_parameter_parameter_type_idc in nnpfcBase.
- nnpfc_log2_parameter_bit_length_minus3 exists in nnpfcCurr
- nnpfc_log2_parameter_bit_length_minus3 in nnpfcCurr must be less than or equal to nnpfc_log2_parameter_bit_length_minus3 in nnpfcBase.
- nnpfc_num_parameters_idc in nnpfcBase is equal to 0, nnpfc_num_parameters_idc in nnpfcCurr must be equal to 0.
- nnpfc_num_parameters_idc in nnpfcBase is greater than 0
- nnpfc_num_parameters_idc in nnpfcCurr must be greater than 0 or less than or equal to nnpfc_num_parameters_idc in nnpfcBase.
- nnpfc_num_kmac_operations_idc in nnpfcBase is equal to 0
- nnpfc_num_kmac_operations_idc in nnpfcCurr must be equal to 0.
- nnpfc_num_kmac_operations_idc in nnpfcBase is greater than 0
- nnpfc_num_kmac_operations_idc in nnpfcCurr must be greater than 0 and less than or equal to nnpfc_num_kmac_operations_idc in nnpfcBase.
- nnpfc_total_kilobyte_size in nnpfcBase is equal to 0, nnpfc_total_kilobyte_size in nnpfcCurr must be equal to 0.
- nnpfc_total_kilobyte_size in nnpfcBase is greater than 0
- nnpfc_total_kilobyte_size in nnpfcCurr must be greater than 0 or less than or equal to nnpfc_total_kilobyte_size in nnpfcBase.
- nnpfc_num_input_pics_minus1 + 1 may represent the number of decoded output pictures used as input of NNPF.
- the value of nnpfc_num_input_pics_minus1 may be constrained to be in the range of 0 to 63.
- the value of pictureRateUpsamplingFlag is 1, the value of nnpfc_num_input_pics_minus1 may be constrained to be greater than 0.
- variable numInputPics which represents the number of pictures used as input to NNPF, can be derived as in mathematical expression 1.
- nnpfc_input_pic_output_flag[ i ] may indicate that NNPF generates the corresponding output picture for the i-th input picture.
- the value 0 of nnpfc_input_pic_output_flag[ i ] may indicate that NNPF does not generate the corresponding output picture for the i-th input picture. If the value of nnpfc_num_input_pics_minus1 is 0, the value of nnpfc_input_pic_output_flag[ 0 ] may be inferred as 1.
- nnpfc_input_pic_output_flag[ i ] may be constrained to be equal to 1 for at least one value of i in the range from 0 to nnpfc_num_input_pics_minus1.
- nnpfc_input_pic_output_flag[ i ] may be referred to as nnpfc_input_pic_filtering_flag[ i ].
- a value of nnpfc_absent_input_pic_zero_flag of 1 can indicate that NNPF expects that an input picture that is not present in the bitstream is represented by sample arrays having sample values of 0.
- a value of nnpfc_absent_input_pic_zero_flag of 0 can indicate that NNPF expects that an input picture that is not present in the bitstream is represented by the input picture that is closest in output order in the bitstream.
- nnpfc_out_sub_c_flag can indicate the values of variables outSubWidthC and outSubHeightC when the value of chromaUpsamplingFlag is 0.
- the value 1 of nnpfc_out_sub_c_flag can indicate that the value of outSubWidthC is 1 and the value of outSubHeightC is 1.
- the value 0 of nnpfc_out_sub_c_flag can indicate that the value of outSubWidthC is 2 and the value of outSubHeightC is 1.
- nnpfc_out_colour_format_idc can represent the color format of the NNPF output and the values of the variables outSubWidthC and outSubHeightC accordingly when the value of colourizationFlag is 1.
- the value 1 of nnpfc_out_colour_format_idc can indicate that the color format of the NNPF output is a 4:2:0 format and that outSubWidthC and outSubHeightC are both equal to 2.
- the value 2 of nnpfc_out_colour_format_idc can indicate that the color format of the NNPF output is a 4:2:2 format, that outSubWidthC is 2, and that outSubHeightC is 1.
- nnpfc_out_colour_format_idc can indicate that the color format of the NNPF output is a 4:4:4 format and that outSubWidthC and outSubHeightC are both 1.
- the value of nnpfc_out_colour_format_idc may be constrained to not be equal to 0. If both chromaUpsamplingFlag and colourizationFlag are equal to 0, then outSubWidthC and outSubHeightC may be inferred to be equal to SubWidthC and SubHeightC, respectively.
- nnpfc_pic_width_num_minus1+1 and nnpfc_pic_width_denom_minus1+1 can represent the numerator and denominator for the resampling ratio of the NNPF output picture width for CroppedWidth, respectively.
- ( nnpfc_pic_width_num_minus1 + 1 ) divided by ( nnpfc_pic_width_denom_minus1 + 1 ) must be in the range of 1/16 to 16, inclusive.
- nnpfc_pic_width_num_minus1 and nnpfc_pic_width_denom_minus1 do not exist, both nnpfc_pic_width_num_minus1 and nnpfc_pic_width_denom_minus1 can be inferred to be 0.
- variable nnpfcOutputPicWidth represents the width of the luma sample arrays of the picture(s) corresponding to the result of applying the NNPF identified by nnpfc_id to the input picture(s), and can be derived as in mathematical expression 2.
- nnpfcOutputPicWidth The remainder of nnpfcOutputPicWidth divided by outSubWidthC must be 0.
- nnpfc_pic_height_num_minus1+1 and nnpfc_pic_height_denom_minus1+1 can represent the numerator and denominator for the resampling ratio of the NNPF output picture height with respect to CroppedHeight, respectively.
- the value of ( nnpfc_pic_height_num_minus1 + 1 ) divided by ( nnpfc_pic_height_denom_minus1 + 1 ) must be in the range of 1/16 to 16, inclusive.
- nnpfc_pic_height_num_minus1 and nnpfc_pic_height_denom_minus1 do not exist, both nnpfc_pic_height_num_minus1 and nnpfc_pic_height_denom_minus1 can be inferred to be 0.
- variable nnpfcOutputPicHeight represents the height of the luma sample arrays of the picture(s) corresponding to the result of applying the NNPF identified by nnpfc_id to the input picture(s), and can be derived as in mathematical expression 3.
- nnpfcOutputPicHeight The remainder of nnpfcOutputPicHeight divided by outSubHeightC must be equal to 0.
- nnpfc_pic_width_num_minus1, nnpfc_pic_width_denom_minus1, nnpfc_pic_height_num_minus1, and nnpfc_pic_height_denom_minus1 exist, at least one of the following constraints must be true:
- nnpfcOutputPicWidth is not equal to CroppedWidth
- nnpfcOutputPicHeight is not equal to CroppedHeight
- nnpfc_interpolated_pics[ i ] may represent the number of interpolated pictures generated by NNPF between the i-th picture used as input of NNPF and the (i + 1)-th picture.
- the value of nnpfc_interpolated_pics[ i ] may be constrained to be within the range of 0 to 63.
- the value of nnpfc_interpolated_pics[ i ] may be constrained to be greater than 0 for at least one i within the range of 0 to nnpfc_num_input_pics_minus1 - 1.
- a variable NumInpPicsInOutputTensor representing the number of pictures that have corresponding input pictures and exist in the output tensor of NNPF, a variable InpIdx[ idx ] representing the input picture index of the idx-th picture that has corresponding input pictures and exists in the output tensor of NNPF, and a variable numOutputPics representing the total number of pictures that exist in the output tensor of NNPF can be derived as shown in Table 6.
- nnpfc_component_last_flag 1 can indicate that the last dimension of the input tensor inputTensor for NNPF and the output tensor outputTensor which is the result of NNPF are used for the current channel.
- the value of nnpfc_component_last_flag 0 can indicate that the third dimension of the input tensor inputTensor for NNPF and the output tensor outputTensor which is the result of NNPF are used for the current channel.
- the first dimensions of the input tensor and the output tensor can be used for the batch index used in some neural network frameworks.
- the formula in the semantics of this SEI message uses the batch size corresponding to the batch index equal to 0, but it can be determined by the implementation of the postprocessing to determine the batch size used as input for neural network inference. For example, when the value of nnpfc_inp_order_idc is 3 and the value of nnpfc_auxiliary_inp_idc is 1, the input tensor can have 7 channels, including 4 luma matrices, 2 chroma matrices, and 1 auxiliary input matrix. In this case, the DeriveInputTensors() process can derive each of the 7 channels of the input tensor one by one, and when a particular channel among these channels is processed, that channel can be referred to as the current channel during the process.
- nnpfc_inp_format_idc can indicate how to convert the sample values of the input picture into the input values of NNPF.
- the input values of NNPF can be real numbers, and the functions InpY( ) and InpC( ) can be expressed as in mathematical expression 4.
- nnpfc_inp_format_idc the input values of NNPF are unsigned integer numbers, and the functions InpY() and InpC() can be derived as shown in Table 7.
- variable inpTensorBitDepth Y can be derived from the syntax element nnpfc_inp_tensor_luma_bitdepth_minus8 described below.
- inpTensorBitDepth C can be derived from the syntax element nnpfc_inp_tensor_chroma_bitdepth_minus8 described below.
- Values of nnpfc_inp_format_idc greater than 1 are reserved for future use and must not be present in the bitstream. Decoders must ignore NNPFC SEI messages containing reserved values of nnpfc_inp_format_idc.
- a nnpfc_auxiliary_inp_idc greater than 0 may indicate the presence of auxiliary input data in the input tensor of NNPF.
- a value of 0 for nnpfc_auxiliary_inp_idc may indicate that the auxiliary input data is not present in the input tensor.
- a value of 1 for nnpfc_auxiliary_inp_idc may indicate that the auxiliary input data is derived by the methods shown in Tables 10 to 12.
- the value of nnpfc_auxiliary_inp_idc shall be in the range of 0 to 1 in the bitstream.
- the values 2 to 255 for nnpfc_auxiliary_inp_idc are reserved for future use and shall not be present in the bitstream.
- Decoders shall ignore NNPFC SEI messages with nnpfc_auxiliary_inp_idc in the range of 2 to 255. Values of nnpfc_auxiliary_inp_idc greater than 255 are not present in the bitstream and are reserved for future use.
- nnpfc_inp_order_idc may indicate how to order the sample arrays of an input picture to form an input tensor for NNPF.
- the value of nnpfc_inp_order_idc shall be in the range of 0 to 3 in the bitstream.
- the values of nnpfc_inp_order_idc in the range of 4 to 255 may be reserved for future use and may not be present in the bitstream. Decoders shall ignore NNPFC SEI messages with nnpfc_inp_order_idc in the range of 4 to 255.
- the values of nnpfc_inp_order_idc greater than 255 are not present in the bitstream and are not reserved for future use.
- nnpfc_inp_order_idc shall not be 3 if the value of ChromaFormatIdc is not 1. If the value of ChromaFormatIdc is 0, the value of nnpfc_inp_order_idc must be 3. If the value of chromaUpsamplingFlag is 1, the value of nnpfc_inp_order_idc must not be 0.
- Table 8 describes the nnpfc_inp_order_idc values.
- nnpfc_inp_tensor_luma_bitdepth_minus8+8 can represent the bit depth of luma sample values in the input integer tensor.
- inpTensorBitDepth Y can be derived as shown in Equation 5.
- nnpfc_inp_tensor_luma_bitlength_minus8 may be constrained to be in the range of 0 to 24.
- nnpfc_inp_tensor_chroma_bitdepth_minus8+8 can represent the bit depth of chroma sample values in the input integer tensor.
- the value of inpTensorBitDepthC can be derived as in mathematical expression 6.
- nnpfc_inp_tensor_chroma_bitdepth_minus8 may be constrained to be in the range of 0 to 24.
- variable strengthControlScaledVal can be derived as shown in Table 9.
- a patch may be a rectangular array of samples from components of a picture (e.g., luma or chroma components).
- the process DeriveInputTensors() for deriving an input tensor inputTensor for given vertical sample coordinates cTop and horizontal sample coordinates cLeft, which represent the upper-left sample location of the sample patch contained in the input tensor, can be represented as a combination of Tables 10 to 12.
- a value of nnpfc_out_format_idc of 0 can indicate that the sample values output by NNPF are real numbers whose value range from 0 to 1 is linearly mapped to an unsigned integer value range from 0 to (1 ⁇ bitDepth) - 1, for the bit depth bitDepth required for subsequent postprocessing or display.
- a value of nnpfc_out_format_idc of 1 can indicate that the luma sample values output by the NNPF are unsigned integers in the range 0 to (1 ⁇ outTensorBitDepth Y ) - 1, and that the chroma sample values output by the NNPF are unsigned integers in the range 0 to (1 ⁇ (1 ⁇ outTensorBitDepth C ) - 1.
- Values of nnpfc_out_format_idc greater than 1 are reserved for future use and shall not be present in the bitstream. Decoders should ignore NNPFC SEI messages containing reserved values of nnpfc_out_format_idc.
- nnpfc_out_order_idc can indicate the output order of samples output from the NNPF.
- the value of nnpfc_out_order_idc must be in the range of 0 to 3 in the bitstream. Values of nnpfc_out_order_idc in the range of 4 to 255 are reserved for future use and may not be present in the bitstream. Decoders must ignore NNPFC SEI messages with nnpfc_out_order_idc in the range of 4 to 255. Values of nnpfc_out_order_idc greater than 255 are not present in the bitstream and are not reserved for future use.
- chromaUpsamplingFlag 1
- nnpfc_out_order_idc 1
- colourizationFlag 1
- Table 13 describes the values of nnpfc_out_order_idc.
- nnpfc_out_tensor_luma_bitdepth_minus8+8 can represent the bit depth of luma sample values in the output integer tensor.
- the value of nnpfc_out_tensor_luma_bitdepth_minus8 must be in the range of 0 to 24.
- the value of outTensorBitDepth Y can be derived as shown in Equation 7.
- nnpfc_out_tensor_chroma_bitdepth_minus8+8 can represent the bit depth of chroma sample values in the output integer tensor.
- the value of nnpfc_out_tensor_chroma_bitdepth_minus8 must be in the range of 0 to 24.
- the value of outTensorBitDepth C can be derived as shown in Equation 8.
- bitDepthUpsamplingFlag 1
- bitDepthUpsamplingFlag 1
- bitDepthUpsamplingFlag 1
- nnpfc_out_format_idc 1
- outTensorBitDepth Y is greater than inpTensorBitDepth Y , then outTensorBitDepth C must not be less than inpTensorBitDepth C.
- outTensorBitDepth C is greater than inpTensorBitDepth C , then outTensorBitDepth Y must not be less than inpTensorBitDepth Y.
- StoreOutputTensors( ) can be represented as a combination of Tables 14 and 15.
- a value of 1 for nnpfc_separate_colour_description_present_flag may indicate that a distinct combination of colour primaries, transform characteristics, matrix coefficients, and scaling and offset values for a picture due to NNPF is specified in the SEI message syntax structure.
- a value of 0 for nnfpc_separate_colour_description_present_flag may indicate that the combination of colour primaries, transform characteristics, matrix coefficients, and scaling and offset values for a picture due to NNPF is the same as indicated in the VUI parameters for CLVS.
- nnpfc_colour_primaries may have the same semantics as defined for the vui_colour_primaries syntax element, except that:
- - nnpfc_colour_primaries can represent the primary colors of a picture that result from applying NNPF specified in the SEI message, rather than the primary colors used in CLVS.
- nnpfc_colour_primaries does not exist in the NNPFC SEI message, the value of nnpfc_colour_primaries can be inferred to be equal to the value of vui_colour_primaries.
- nnpfc_transfer_characteristics can have the same semantics as defined for the vui_transfer_characteristics syntax element, except that:
- - nnpfc_transfer_characteristics can indicate the transfer characteristics of a picture that results from applying NNPF specified in the SEI message, rather than the transfer characteristics used in CLVS.
- nnpfc_transfer_characteristics If nnpfc_transfer_characteristics does not exist in the NNPFC SEI message, the value of nnpfc_transfer_characteristics can be inferred to be the same as the value of vui_transfer_characteristics.
- nnpfc_matrix_coeffs can describe the equations used to derive luma and chroma signals from green, blue and red or Y, Z and X primaries.
- the semantics of nnpfc_matrix_coeffs can be applied to pictures resulting from applying NNPF specified in the SEI message, and BitDepth Y and BitDepth C can be equal to outTensorBitDepth Y and outTensorBitDepth C respectively as indicated for MatrixCoefficients.
- nnpfc_matrix_coeffs If nnpfc_matrix_coeffs is not present in the NNPFC SEI message, the value of nnpfc_matrix_coeffs can be inferred equal to vui_matrix_coeffs.
- nnpfc_matrix_coeffs must not be equal to 0 unless the following conditions are met:
- nnpfc_out_tensor_chroma_bitdepth_minus8 is equivalent to nnpfc_out_tensor_luma_bitdepth_minus8
- outSubHeightC is equal to 1
- outSubWidthC is equal to 1.
- nnpfc_matrix_coeffs must not be equal to 8 unless one of the following conditions is met:
- nnpfc_out_tensor_chroma_bitdepth_minus8 is equivalent to nnpfc_out_tensor_luma_bitdepth_minus8
- nnpfc_out_tensor_chroma_bitdepth_minus8 is equal to nnpfc_out_tensor_luma_bitdepth_minus8+1
- nnpfc_out_order_idc is equal to 2
- outSubHeightC is equal to 2
- outSubWidthC is equal to 1.
- nnpfc_full_range_flag can indicate scaling and offset values applied with respect to matrix coefficients as specified by nnpfc_matrix_coeffs.
- the semantics of nnpfc_full_range_flag can be the same as specified for VideoFullRangeFlag. If nnpfc_full_range_flag is not present, the value of nnpfc_full_range_flag can be inferred to be equal to 0.
- a value of nnpfc_chroma_loc_info_present_flag of 1 may indicate that the nnpfc_chroma_sample_loc_type_frame syntax element is present in the NNPFC SEI message.
- a value of nnpfc_chroma_loc_info_present_flag of 0 may indicate that the nnpfc_chroma_sample_loc_type_frame syntax element is not present in the NNPFC SEI message.
- the value of nnpfc_chroma_loc_info_present_flag may be constrained to be equal to 0 when the value of colourizationFlag is 0 or nnpfc_out_colour_format_idc is not 1.
- nnpfc_chroma_sample_loc_type_frame may indicate the locations of chroma samples of the output pictures. If nnpfc_chroma_sample_loc_type_frame is equal to 6 and nnpfc_out_colour_format_idc is equal to 1, it may indicate that the locations of the chroma samples are unknown, unspecified, or otherwise specified.
- the value of nnpfc_chroma_sample_loc_type_frame must be in the range 0 to 6, inclusive.
- nnpfc_overlap can indicate the number of overlapping horizontal and vertical samples of adjacent input tensors of NNPF.
- the value of nnpfc_overlap must be in the range of 0 to 16 383.
- a value of nnpfc_constant_patch_size_flag of 1 can indicate that NNPF takes as input exactly the patch size indicated by nnpfc_patch_width_minus1 and nnpfc_patch_height_minus1.
- a value of nnpfc_constant_patch_size_flag of 0 can indicate that NNPF takes as input an arbitrary patch size with width inpPatchWidth and height inpPatchHeight.
- the width of the extended patch (i.e., the patch plus the overlapping area) equal to inpPatchWidth+2*nnpfc_overlap is a positive integer multiple of nnpfc_extended_patch_width_cd_delta_minus1+1+2*nnpfc_overlap
- the height of the extended patch equal to inpPatchHeight+2*nnpfc_overlap is a positive integer multiple of nnpfc_extended_patch_height_cd_delta_minus1+1+2*nnpfc_overlap.
- npfc_patch_width_minus1+1 can represent the number of horizontal samples of the patch size required for the input of NNPF when the value of nnpfc_constant_patch_size_flag is 1.
- the value of nnpfc_patch_width_minus1 must be in the range of 0 to Min(32 766, CroppedWidth - 1).
- npfc_patch_height_minus1+1 can represent the number of vertical samples of the patch size required for the input of NNPF when the value of nnpfc_constant_patch_size_flag is 1.
- the value of nnpfc_patch_height_minus1 must be in the range of 0 to Min(32 766, CroppedHeight - 1).
- nnpfc_extended_patch_width_cd_delta_minus1+1+2*nnpfc_overlap can represent the common divisor of the allowed values of extended patch widths required to be input to NNPF when the value of nnpfc_constant_patch_size_flag is 0.
- the value of nnpfc_extended_patch_width_cd_delta_minus1 must be in the range of 0 to Min(32 766, CroppedWidth - 1).
- nnpfc_extended_patch_height_cd_delta_minus1+1+2*nnpfc_overlap can represent the common divisor of the allowed values of extended patch heights required to be input to NNPF when the value of nnpfc_constant_patch_size_flag is 0.
- the value of nnpfc_extended_patch_height_cd_delta_minus1 must be in the range of 0 to Min(32 766, CroppedHeight - 1).
- inpPatchWidth and inpPatchHeight can be set to the patch size width and patch size height respectively.
- nnpfc_constant_patch_size_flag 0
- inpPatchWidth and inpPatchHeight can be provided by external means or set by the post-processor.
- inpPatchWidth+2*nnpfc_overlap must be a positive integer multiple of nnpfc_extended_patch_width_cd_delta_minus1+1+2*nnpfc_overlap, and inpPatchWidth must be less than or equal to CroppedWidth.
- the value of inpPatchHeight+2*nnpfc_overlap must be a positive integer multiple of nnpfc_extended_patch_height_cd_delta_minus1+1+2*nnpfc_overlap, and inpPatchHeight must be less than or equal to CroppedHeight.
- the value of inpPatchWidth may be set equal to nnpfc_patch_width_minus1+1, and the value of inpPatchHeight may be set equal to nnpfc_patch_height_minus1+1.
- outPatchWidth, outPatchHeight, horCScaling, verCScaling, outPatchCWidth, and outPatchCHeight can be derived as shown in Table 16.
- outPatchWidth * CroppedWidth must equal nnpfcOutputPicWidth * inpPatchWidth
- outPatchHeight * CroppedHeight must equal nnpfcOutputPicHeight * inpPatchHeight.
- nnpfc_padding_type can indicate the padding process when referencing sample positions outside the boundary of the input picture as described in Table 17.
- the value of nnpfc_padding_type shall be in the range of 0 to 4, inclusive.
- the values 5 to 15 for nnpfc_padding_type may be reserved for future use and may not be present in the bitstream.
- a decoder shall ignore NNPFC SEI messages with nnpfc_padding_type in the range of 5 to 15.
- the values of nnpfc_padding_type exceeding 15 shall not be present in the bitstream and may not be reserved for future use.
- nnpfc_luma_padding_val can indicate the luma value to use for padding when the value of nnpfc_padding_type is 4.
- the value of nnpfc_luma_padding_val must be in the range of 0 to (1 ⁇ BitDepthY) - 1.
- nnpfc_cb_padding_val can indicate the Cb value to be used for padding when the value of nnpfc_padding_type is 4.
- the value of nnpfc_cb_padding_val must be in the range of 0 to (1 ⁇ BitDepthC) - 1.
- nnpfc_cr_padding_val can indicate the Cr value to use for padding when the value of nnpfc_padding_type is 4.
- the value of nnpfc_cr_padding_val must be in the range of 0 to (1 ⁇ BitDepthC) - 1.
- NNPF PostProcessingFilter( ) may be a target NNPF derived from the semantics of the NNPFA SEI message.
- the process of Table 19 can be used to filter in a patch-wise manner using NNPF PostProcessingFilter() to generate a filtered and/or interpolated picture, wherein the filtered and/or interpolated picture can include a Y sample array FilteredYPic, a Cb sample array FilteredCbPic and a Cr sample array FilteredCrPic as indicated by nnpfc_out_order_idc.
- An NNPF-generated picture with index i may contain sample arrays FilteredYPic[ i ], FilteredCbPic[ i ] and FilteredCrPic[ i ], if any.
- An NNPF-generated picture may not contain overlapping regions.
- the NNPF process consists of outputting NNPF generated pictures in the order of increasing indices according to the process defined in Table 19, where all NNPF generated pictures interpolated by the NNPF are output and all NNPF generated pictures corresponding to pictures input to the NNPF can be output as specified in the semantics of the NNPFA SEI message.
- a value of 1 for nnpfc_complexity_info_present_flag may indicate the presence of one or more syntax elements indicating the complexity of the NNPF associated with the nnpfc_id.
- a value of 0 for nnpfc_complexity_info_present_flag may indicate that no syntax elements indicating the complexity of the NNPF associated with the nnpfc_id are present.
- a value of nnpfc_parameter_type_idc of 0 can indicate that the network uses only integer parameters.
- a value of nnpfc_parameter_type_flag of 1 can indicate that the network can use either floating-point or integer parameters.
- a value of nnpfc_parameter_type_idc of 2 can indicate that the network uses only binary parameters.
- a value of nnpfc_parameter_type_idc of 3 is reserved for future use and is not present in the bitstream. Decoders should ignore NNPFC SEI messages with a value of nnpfc_parameter_type_idc of 3.
- nnpfc_log2_parameter_bit_length_minus3 can indicate that the neural network does not use parameters with bit length greater than 8, 16, 32, and 64, respectively. If nnpfc_parameter_type_idc exists and nnpfc_log2_parameter_bit_length_minus3 does not exist, the neural network may not use parameters with bit length greater than 1.
- nnpfc_num_parameters_idc can represent the maximum number of neural network parameters for NNPF in units of powers of 2 048.
- a value of nnpfc_num_parameters_idc of 0 can indicate that the maximum number of neural network parameters is unknown.
- the value of nnpfc_num_parameters_idc must be in the range of 0 to 52. Values of nnpfc_num_parameters_idc greater than 52 must not be present in the bitstream. Decoders should ignore NNPFC SEI messages with nnpfc_num_parameters_idc greater than 52.
- variable maxNumParameters can be derived as in mathematical expression 9.
- the number of neural network parameters in NNPF can be limited to be less than or equal to maxNumParameters.
- a value of nnpfc_num_kmac_operations_idc greater than 0 may indicate that the maximum number of multiply-accumulate operations per sample of the NNPF is less than or equal to nnpfc_num_kmac_operations_idc * 1 000.
- a value of nnpfc_num_kmac_operations_idc of 0 may indicate that the maximum number of multiply-accumulate operations of the network is not known.
- the value of nnpfc_num_kmac_operations_idc must be in the range of 0 to 2 32 - 2, inclusive.
- a value of nnpfc_total_kilobyte_size greater than 0 can indicate the total size (in kilobytes) required to store the uncompressed parameters of the neural network.
- the total size in bits can be a number greater than or equal to the sum of the bits used to store each parameter.
- nnpfc_total_kilobyte_size can be the total size (in bits) divided by 8 000, rounded up.
- a value of nnpfc_total_kilobyte_size of 0 can indicate that the total size required to store the parameters for the neural network is not known.
- the value of nnpfc_total_kilobyte_size must be in the range 0 to 2 32 - 2, inclusive.
- a value of nnpfc_metadata_extension_num_bits of 0 can indicate that no nnpfc_reserved_metadata_extension exists.
- a value of nnpfc_metadata_extension_num_bits greater than 0 can indicate the length (in bits) of the nnpfc_reserved_metadata_extension.
- nnpfc_metadata_extension_num_bits must be equal to 0. Values in the range 1 to 2 048 for nnpfc_metadata_extension_num_bits are reserved for future use and may not be present in the bitstream.
- Decoders may accept any value of nnpfc_metadata_extension_num_bits in the range 0 to 2 048. Values of nnpfc_metadata_extension_num_bits greater than 2 048 are not present in the bitstream and are reserved for future use.
- nnpfc_reserved_metadata_extension is not present in the bitstream. However, decoders MUST ignore the presence and value of nnpfc_reserved_metadata_extension. When nnpfc_reserved_metadata_extension is present, the length of nnpfc_reserved_metadata_extension can be equal to nnpfc_metadata_extension_num_bits.
- nnpfc_reserved_zero_bit_b must be equal to 0 in the bitstream. Decoders must ignore NNPFC SEI messages where nnpfc_reserved_zero_bit_b is not 0.
- nnpfc_payload_byte[ i ] may contain the ith byte of the bitstream. For all existing values of i, the byte sequence nnpfc_payload_byte[ i ] must be a complete bitstream conforming to ISO/IEC 15938-17.
- NPFPA Neural-network post-filter activation
- the syntax structure for NNFPA is shown in Table 20.
- the NNPFA syntax structure of Table 20 can be signaled in the form of an SEI message.
- An SEI message signaling the NNPFA syntax structure of Table 20 may be referred to as an NNPFA SEI message.
- the NNPFA SEI message can enable or disable the possible use of a target neural network post-processing filter (NNPF) identified by nnpfa_target_id for post-processing filtering of a picture set.
- NNPF neural network post-processing filter
- the target NNPF can be derived as follows:
- the target NNPF can be a base NNPF with nnpfc_id equal to nnpfa_target_id.
- the target NNPF can be the NNPF specified by the last NNPFC SEI message with nnpfc_id equal to nnpfa_target_id, where the last NNPFC SEI message precedes the first VCL NAL unit of the current picture in decoding order and may not be a repeat of the NNPFC SEI message containing the base NNPF.
- NNPFA SEI messages There may be multiple NNPFA SEI messages for the same picture if NNPF is used for other purposes or filters other color components.
- nnpfa_target_id may indicate a target NNPF associated with the current picture and specified by one or more NNPFC SEI messages having an nnpfc_id equal to nnfpa_target_id.
- the value of nnpfa_target_id must be in the range 0 to 232 - 2, inclusive.
- NNPFA SEI message with an nnpfa_target_id of a particular value shall not be present on the current PU unless one or both of the following conditions are true:
- NNPFC SEI message with nnpfc_id equal to the nnpfa_target_id of a specific value of the current PU.
- a PU contains both an NNPFC SEI message with an nnpfc_id of a particular value and an NNPFA SEI message with an nnpfa_target_id equal to the nnpfc_id of a particular value, the NNPFC SEI message shall precede the NNPFA SEI message in decoding order.
- a value of nnpfa_cancel_flag of 1 may indicate that the persistence of the target NNPF established by any previous NNPFA SEI message with the same nnpfa_target_id as the current SEI message is canceled. That is, the target NNPF is no longer used unless it is activated by another NNPFA SEI message with the same nnpfa_target_id as the current SEI message and an nnpfa_cancel_flag equal to 0.
- a value of nnpfa_cancel_flag of 0 may indicate that npfa_target_base_flag, nnpfa_persistence_flag and nnpfa_num_output_entries follow.
- a value of nnpfa_target_base_flag of 1 may indicate that the target NNPF is a base NNPF having nnpfc_id equal to nnpfa_target_id.
- a value of nnpfa_target_base_flag of 0 may indicate that the target NNPF is an NNPF specified by the last NNPFC SEI message having nnpfc_id equal to nnpfa_target_id, where the last NNPFC SEI message may not correspond to a repetition of an NNPFC SEI message that precedes the first VCL NAL unit of the current picture in decoding order and contains the base NNPF.
- nnpfa_persistence_flag can indicate the persistence of the target NNPF for the current layer.
- a value of nnpfa_persistence_flag of 0 can indicate that the target NNPF can only be used for post-processing filtering for the current picture.
- a value of nnpfa_persistence_flag of 1 can indicate that the target NNPF can be used for post-processing filtering for the current picture and all subsequent pictures in the current layer in output order until one or more of the following conditions are true:
- the target NNPF does not apply to subsequent pictures within the current layer associated with an NNPFA SEI message that has the same nnpfa_target_id as the current SEI message and an nnpfa_cancel_flag equal to 1.
- nnpfcTargetPictures can be a set of pictures associated with the last NNPFC SEI message that precedes the current NNPFA SEI message in decoding order and has an nnpfc_id equal to nnpfa_target_id.
- nnpfaTargetPictures can be a set of pictures for which the target NNPF is activated by the current NNPFA SEI message. Any picture included in nnpfaTargetPictures must also be included in nnpfcTargetPictures.
- nnpfa_num_output_entries can indicate the number of nnpfa_output_flag[ i ] syntax elements in the NNPFA SEI message.
- the value of nnpfa_output_flag[ i ] must be in the range 0 to NumInpPicsInOutputTensor.
- a value of 1 of nnpfa_output_flag[ i ] may indicate that an NNPF generated picture corresponding to an input picture having an index InpIdx[ i ] is output by an NNPF process activated by the NNPFA SEI message.
- the NNPF process may be specified by the semantics of the NNPFC SEI message.
- a value of 0 of nnpfa_output_flag[ i ] may indicate that an NNPF generated picture corresponding to an input picture having an index InpIdx[ i ] is not output by the NNPF process activated by the NNPFA SEI message.
- nnpfa_num_output_entries is less than NumInpPicsInOutputTensor
- nnpfa_output_flag[ i ] can be inferred to be 1 for each value of i in the range nnpfa_num_output_entries to NumInpPicsInOutputTensor - 1.
- the post-filter hint syntax structure of Table 21 can be signaled in the form of an SEI message.
- An SEI message signaling the post-filter hint syntax structure of Table 21 may be referred to as a post-filter hint SEI message.
- the post-filter hint SEI message can provide post-filter coefficients or correlation information for the design of a post-filter, potentially allowing the decoded and output picture set to be post-processed to achieve improved display quality.
- a value of 1 for filter_hint_cancel_flag may indicate that the SEI message cancels the persistence of a previous post-filter hint SEI message in the output order applied to the current layer.
- a value of 0 for filter_hint_cancel_flag may indicate that post-filter hint information follows.
- filter_hint_persistence_flag may indicate the persistence of the post-filter hint SEI message for the current layer.
- a value of filter_hint_persistence_flag of 0 may indicate that the post-filter hint applies only to the currently decoded picture.
- a value of filter_hint_persistence_flag of 1 may indicate that the post-filter hint SEI message applies to the currently decoded picture and persists for all subsequent pictures in the current layer in output order until one or more of the following conditions are true:
- filter_hint_size_y can indicate the vertical size of the filter coefficients or correlation array.
- the value of filter_hint_size_y must be in the range of 1 to 15.
- filter_hint_size_x can indicate the horizontal size of the filter coefficients or correlation array.
- the value of filter_hint_size_x must be in the range of 1 to 15.
- filter_hint_type can indicate the type of filter hint transmitted as shown in Table 22.
- the value of filter_hint_type must be in the range of 0 to 2.
- a filter_hint_type value equal to 3 is reserved for future use and shall not be present in the bitstream. Decoders must ignore post-filter hint SEI messages with filter_hint_type equal to 3.
- a value of 1 for filter_hint_chroma_coeff_present_flag can indicate that filter coefficients for chroma exist.
- a value of 0 for filter_hint_chroma_coeff_present_flag can indicate that filter coefficients for chroma do not exist.
- filter_hint_value[ cIdx ][ cy ][ cx ] can represent filter coefficients or cross-correlation matrix elements between the original signal and the decoded signal with 16-bit precision.
- the value of filter_hint_value[ cIdx ][ cy ][ cx ] must be in the range of -2 31 + 1 to 2 31 - 1.
- cIdx represents a related color element
- cy represents a vertical counter
- cx represents a horizontal counter. The following can be applied depending on the value of filter_hint_type.
- filter_hint_type If the value of filter_hint_type is 0, the coefficients of a two-dimensional FIR (Finite Impulse Response) filter of the size of filter_hint_size_y * filter_hint_size_x can be transmitted.
- FIR Finite Impulse Response
- filter_hint_type if the value of filter_hint_type is 1, the filter coefficients of two 1-dimensional FIR filters can be transmitted. In this case, the value of filter_hint_size_y must be 2.
- An index cy of 0 can represent the filter coefficients of the horizontal filter, and a cy of 1 can represent the filter coefficients of the vertical filter.
- the horizontal filter In the filtering process, the horizontal filter can be applied first and the result can be filtered by the vertical filter.
- the transmitted hint may represent the cross-correlation matrix between the original signal s and the decoded signal s'.
- the normalized cross-correlation matrix for the relevant color components identified by cIdx of the size of filter_hint_size_y * filter_hint_size_x can be defined as in Equation 10.
- s represents a sample array of the color component cIdx of the original picture
- s' represents an array of the corresponding decoded picture
- h represents a vertical height of the related color component
- w represents a horizontal width of the related color component
- bitDepth represents a bit depth of the color component.
- OffsetY is equal to ( filter_hint_size_y >> 1 )
- OffsetX is equal to ( filter_hint_size_x >> 1 )
- the decoder can derive a Wiener post-filter from the cross-correlation matrix of the original signal and the decoded signal and the auto-cross-correlation matrix of the decoded signal.
- NNPF related messages e.g., Neural-network post-filter characteristics (NNPFC) SEI (Supplemental Enhancement Information) and/or Neural-network post-filter activation (NNPFA) SEI, etc.
- NNPFC Neural-network post-filter characteristics
- NNPFA Neural-network post-filter activation
- multiple input pictures can be used for an activated NNPF, and one or more of the input pictures may be unavailable (e.g., the input picture is not present in the bitstream).
- the case where one or more of the input pictures is unavailable may include the case where NNPF is activated in a picture at the very beginning of the bitstream.
- a flag may be provided to indicate whether the unavailable (e.g., missing) picture is to be replaced with a duplicate of the last available input picture or a picture having a zero value pixel.
- the flag may be nnpfc_absent_input_pic_zero_flag as a flag signaled in the NNPFC SEI message.
- information about whether the filtering process using the NNPF outputs an output picture associated with the input picture for each input picture to the NNPF or not may be signaled.
- the signaling of the output picture associated with the input picture may be included in the NNPFC SEI message, and this signaling may be updated by the signaling in the NNPFA SEI message associated with the NNPFC SEI message, and in some examples, the output of the picture may be canceled (CANCEL).
- the present disclosure proposes various embodiments that can solve the problems of the conventional design including the above.
- the following embodiments can be used independently or in combination with each other or other embodiments, and this will also be considered to be included in the present disclosure.
- an NNPFA SEI message can activate an NNPFC SEI message for a target NNPF (i.e., a target NNPF) that can input multiple input pictures, wherein one or more of the input pictures are not available (e.g., not present in the bitstream, etc.), and there are associated output pictures for the unavailable input pictures (e.g., the value of nnpfc_input_pic_output_flag[ i ] of the input pictures is 1), and for each of the input pictures that have associated output pictures but are not available, nnpfa_output_flag[ i ] must be present, and the value of the corresponding syntax may be a specific value (e.g., 0).
- the NNPFA SEI message may activate an NNPFC SEI message for a target NNPF (i.e., a target NNPF) that can take multiple input pictures as input, and if one or more of the input pictures are not available (e.g., are not present in the bitstream), and there are associated output pictures for the unavailable input pictures (e.g., the value of nnpfc_input_pic_output_flag[ i ] of the input pictures is 1), the following may apply:
- nnpfa_num_output_entries may be required to be greater than a certain value (e.g. 0).
- the values of certain syntaxes may be constrained to be within a certain range.
- the values of certain syntaxes may not be less than a certain value (e.g., X+1), where X may be the index of the last input picture that has an associated output picture (e.g., the picture furthest from the current picture).
- nnpfa_output_flag[ i ], etc. The values of specific syntaxes (e.g., nnpfa_output_flag[ i ], etc.) for input images that are signaled to have associated output images in NNPFC but are not available may be restricted to specific values (e.g., 0).
- the NNPFA SEI message activates an NNPFC SEI message for a target NNPF (i.e., the target NNPF) that can take multiple input pictures as input, and one or more of the input pictures are not available (e.g., are not present in the bitstream), and there are related output pictures for the unavailable input pictures (e.g., the value of nnpfc_input_pic_output_flag[ i ] of the input pictures is 1)
- the NNPF-based filtering process can be restricted not to output output pictures related to these input pictures.
- VVC Versatile Video Coding
- VSEI Versatile Supplemental Enhancement Information Messages for Coded Video Bitstreams
- the NNPF (Neural-network post-filter) SEI message or the NNPF-related SEI message may include an NNPFC (Neural-network post-filter Characteristic) SEI message and/or an NNPFA (Neural-network post-filter activation) SEI message.
- NNPFC Neuronal-network post-filter Characteristic
- NNPFA Neuronal-network post-filter activation
- Example 1 the embodiment of Table of Contents 1 described in the above-mentioned embodiment outline is described in detail. Below, the VSEI message syntax and semantics are described.
- NNPF Neuro-network post-filter
- SEI message e.g., NNPFA SEI message, etc.
- the NNPFA SEI message syntax can be signaled as shown in the following table.
- nnpfa_target_id which is information related to the target id disclosed in the embodiment of Table 23
- nnpfa_cancel_flag which is information related to cancellation of NNPF persistence
- nnpfa_target_base_flag which is information related to base NNPF
- nnpfa_persistence_flag which is information related to NNPF persistence
- nnpfa_output_flag[i] which is information related to the output of an NNPF generated picture, i.e., an output picture corresponding to an NNPF-based input picture
- nnpfa_num_output_entries which is information related to the number of nnpfa_output_flag[i]
- nnpfa_output_flag[ i ] which may be included in information about the output of an output picture (e.g., an NNPF generated picture, etc.) corresponding to an input picture (e.g., output picture output information, etc.), may exist for each input picture, but if the target NNPF (target NNPF) requires multiple input pictures and one or more input pictures do not exist in the bitstream (e.g., are unavailable, etc.), but there is a related output picture for an unavailable input picture (e.g., the value of the related nnpfc_input_pic_output_flag[ i ] of the NNPFC SEI message is 1, etc.), the value of the syntax may be restricted to a specific value. For example, nnpfa_output_flag[ i ] must exist for each unavailable input picture having a related output picture, but the value of the syntax may be restricted to 0.
- Example 2 the embodiment of Table of Contents 2 described in the above embodiment outline is described in detail. Below, the VSEI message syntax and semantics are described.
- syntax such as nnpfa_target_id can be signaled in a VSEI message according to Table 23, and nnpfa_output_flag[ i ] can be included in the SEI message.
- nnpfa_output_flag[ i ] which may be included in information about the output of an output picture (e.g., an NNPF generated picture, etc.) corresponding to an input picture (e.g., output picture output information, etc.), may exist for each input picture, but if a target NNPF (target NNPF) requires multiple input pictures and one or more input pictures do not exist in the bitstream (e.g., are unavailable, etc.) but a related output picture exists for an unavailable input picture (e.g., the value of the related nnpfc_input_pic_output_flag[ i ] of the NNPFC SEI message is 1, etc.), there may be restrictions on nnpfa_output_flag
- nnpfa_num_output_entries which is information related to the number of nnpfa_output_flag[ i ] may be restricted.
- the value of the nnpfa_num_output_entries syntax could be restricted to be less than a certain value (e.g., X+1), where X is the index of the last input picture for which a related output picture exists (e.g., the index of the picture furthest from the current picture).
- the value of the nnpfa_output_flag of input pictures that are not available but are signaled to be included in the NNPFC for a related output picture could be set to a certain value (e.g., 0).
- Example 3 the embodiment of Table of Contents 3 described in the above-mentioned embodiment outline is described in detail. Below, the VSEI message syntax and semantics are described.
- nnpfc_num_input_pics_minus1 which is information related to the number of pictures input to NNPF
- nnpfc_input_pic_output_flag[ i ] which is information related to whether output pictures are generated (e.g., output picture existence information)
- nnpfc_absent_input_pic_zero_flag which is information related to the method of expressing sample values of input pictures that do not exist in the bitstream
- the filtering process should not output the output pictures related to these input pictures.
- the filtering process may be an NNPF-based filtering process, and the output pictures may not exist, i.e., the output pictures may not be generated.
- the image decoding method of FIG. 5 can be performed by an image decoding device (200), and the image encoding method of FIG. 6 can be performed by an image encoding device (100).
- the image decoding and encoding methods of FIG. 5 and FIG. 6 can be based on the embodiments described above (including embodiments 1 to 3), respectively.
- FIG. 5 is a diagram for explaining an image decoding method that can be performed by an image decoding device according to one embodiment of the present disclosure.
- (corresponding) output picture information for an input picture can be obtained (S510) as a neural-network post-filter (NNPF) related SEI (supplemental enhancement information) message (e.g., neural-network post-filter characteristics (NNPFC) message and/or neural-network post-filter activation (NNPFA) message, etc.).
- the post-filter-based (corresponding) output picture information can include NNPF related information.
- the NNPF related information can include information described with reference to the table, etc. above.
- a (corresponding) output picture for the input picture can be acquired (S520).
- the output picture information may include output picture output information, which is information indicating whether the output picture for the input picture is output.
- the output picture output information may have its value determined based on other information, and there may be a constraint for determining the value of the information.
- the output picture output information may include, for example, nnpfa_output_flag[ i ].
- the value of the output picture output information may be determined based on whether the input picture is available (e.g., whether the input picture exists in the bitstream).
- the availability of the input picture may be determined based on input picture presence information, which is information indicating whether the input picture is available.
- the input picture presence information may include inputPresentFlag, and the input picture presence information may be derived based on other information or other syntax.
- the case where the input picture is not available may include the case where the input picture does not exist in the bitstream.
- the output picture output information may indicate that the output picture for the corresponding input picture is not output.
- the number of output picture output information may be determined as a value within a specific range.
- the number of output picture output information may always be determined to be a value greater than a specific value (e.g., 0). Including such a case, certain constraints may exist on the number of output picture output information. For example, the value of nnpfa_num_output_entries, which is information that can indicate the number of output picture output information, may be determined to be a value within a specific range.
- the specific range may be determined based on an index value of a specific input picture
- the specific input picture may be a picture that is farthest from a specific picture, that is, a last input picture.
- the value of the output picture output information may be determined based on output picture existence information (i.e., output picture generation information), which is information that indicates whether an output picture exists for an input picture (i.e., whether an output picture is generated).
- output picture existence information i.e., output picture generation information
- the value of the output picture output information may be determined based on whether an output picture exists and/or whether an input picture exists.
- the value of the output picture output information can be determined based on the output picture existence information and/or the input picture existence information.
- the output picture may not be output. More specifically, the output picture output information may indicate that the output picture is not output based on the input picture existence information indicating that the input picture is not available (e.g., the input picture does not exist in the bitstream, etc.) and the output picture existence information (for the input picture) indicating that the output picture exists (e.g., the value of nnpfc_input_pic_output_flag[ i ] is 1, etc.).
- the fact that the output picture is not output can be expressed by the value of the output picture output information being a specific value (e.g., 0).
- the output of the corresponding output picture may be excluded from the filtering process based on NNPF.
- the output picture existence information may be signaled with the NNPFC SEI message, and the output picture output information may be signaled with the NNPFA SEI message.
- the picture may be restored based on the (corresponding) output picture information, although it is not expressed in the drawing.
- FIG. 6 is a drawing for explaining an image encoding method that can be performed by an image encoding device according to one embodiment of the present disclosure.
- post-filter-based output picture information for an input picture can be determined (S610).
- the post-filter-based output picture information can include NNPF-related information, and the NNPF-related information can be the same as described above with reference to the table, etc.
- the output picture information may be signaled (S620) as an NNPF (neural-network post-filter) related SEI (supplemental enhancement information) message.
- the NNPF related SEI message may include an NNPFC SEI message and/or an NNPFA SEI message. Meanwhile, it may be possible that an output picture for an input picture does not exist (is not generated) or an output picture exists (is generated) but the output picture is not output. Meanwhile, if an output picture for an input picture exists and it is determined that the output picture is to be output, the output picture may be output as is.
- output picture existence information which is information indicating whether the output picture for the input picture is output
- input picture existence information may be included in the output picture information and signaled, but may also be derived as a specific value by another syntax. For example, there may be certain constraints in determining the value of the output picture output information. For example, the value of the output picture output information may be determined based on whether the input picture is available (i.e., whether the input picture exists in the bitstream or whether it will be encoded).
- the value of the output picture output information may be determined to a specific value (e.g., 0) based on, for example, whether the input picture is determined not to exist in the bitstream (i.e., not available on the decoder side). In addition, as an example, whether the input picture exists in the bitstream may be determined based on other information. Meanwhile, an output picture generated based on the determination that the input picture does not exist in the bitstream (a result picture corresponding to the input picture) may not be output, and the output picture output information may indicate this.
- the output picture output information may include, for example, nnpfa_output_flag[ i ].
- the case where the input picture is unavailable may include the case where the input picture does not exist in the bitstream.
- the number of output picture output information may be determined as a value within a specific range.
- the number of output picture output information may always be determined as a value greater than a specific value (e.g., 0). Including such a case, certain constraints may exist on the number of output picture output information. For example, the value of nnpfa_num_output_entries, which is information that may indicate the number of output picture output information, may be determined as a value within a specific range.
- the specific range may be determined based on an index value of a specific input picture, for example, the specific input picture may be the picture furthest from the specific picture, that is, the last input picture.
- the value of the output picture output information may be determined based on whether an output picture exists for the input picture (i.e., whether an output picture is generated). More specifically, the value of the output picture output information may be determined to a specific value based on whether an output picture for the input picture exists. As an example, the value of the output picture output information may be determined based on whether an output picture exists and/or whether an input picture exists.
- whether an input picture exists in a bitstream may be expressed as information on whether an input picture exists and may be expressed as inputPresentFlag.
- the output picture information may include output picture output information, which is information indicating whether an output picture for the input picture is output.
- the output picture output information may have its value determined based on other information, and there may be constraints for determining the value of the information.
- the output picture output information may include, for example, nnpfa_output_flag[ i ].
- the value of the output picture output information may be determined based on whether an input picture is available (for example, whether the input picture exists in a bitstream).
- the availability of the input picture may be determined based on input picture presence information, which is information indicating whether the input picture is available.
- the input picture presence information may include inputPresentFlag, and the input picture presence information may be derived based on other information or other syntax.
- the case where the input picture is not available may include the case where the input picture does not exist in the bitstream.
- the output picture output information may be determined to indicate that the output picture for the corresponding input picture is not output.
- the number of output picture output information may be determined as a value within a specific range.
- the number of output picture output information may be always determined as a value greater than a specific value (for example, 0). Including such a case, certain constraints may exist on the number of output picture output information.
- the value of nnpfa_num_output_entries which is information that may indicate the number of output picture output information, may be determined as a value within a specific range.
- the specific range may be determined based on an index value of a specific input picture, for example, the specific input picture may be a picture farthest from a specific picture, that is, the last input picture.
- the value of the output picture output information may be determined based on whether the output picture exists for the input picture (i.e., whether the output picture is generated).
- the value of the output picture output information may be determined based on whether the output picture exists and/or whether the input picture exists.
- the value of the output picture output information may be determined based on what value the output picture existence information (i.e., output picture generation information) is determined to indicate and/or what value the input picture existence information is determined to indicate. As an example, if the input picture is not available (e.g., the input picture does not exist in the bitstream, etc.) and the output picture (for the input picture) nevertheless exists, the output picture may not be output.
- the output picture existence information i.e., output picture generation information
- the output picture output information may indicate that the output picture is not output based on the fact that the input picture presence information is determined to indicate that the input picture is not available (e.g., that the input picture is determined not to exist in the bitstream, or that the input picture is not encoded in the bitstream, etc.), and that the output picture presence information (for the input picture) is determined to indicate that the output picture exists (e.g., that the value of nnpfc_input_pic_output_flag[ i ] is determined to be 1, etc.).
- the fact that the output picture is not output may be expressed as the value of the output picture output information being a specific value (e.g., 0). In this case, as an example, the output of the corresponding output picture may be excluded in a filtering process based on NNPF.
- output picture presence information can be signaled with the NNPFC SEI message, and output picture output information can be signaled with the NNPFA SEI message.
- the picture may be restored based on the output picture information, although it is not expressed in the drawing.
- a computer-readable medium recording a bitstream generated by an image encoding method may be provided, and a method of transmitting a bitstream generated by the image encoding method may be provided.
- the meaning of information that can be included in VSEI can be clarified, thereby reducing decoder errors and expressing more accurate scenarios, thereby improving coding quality.
- coding efficiency can be improved.
- FIG. 7 is a diagram exemplifying a content streaming system to which an embodiment according to the present disclosure can be applied.
- 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.
- the encoding server compresses content input from multimedia input devices such as smartphones, cameras, camcorders, etc. into digital data to generate a bitstream and transmits it to the streaming server.
- multimedia input devices such as smartphones, cameras, camcorders, etc. directly generate a bitstream
- the encoding server may be omitted.
- the above bitstream can be generated by an image encoding method and/or an image encoding device to which an embodiment of the present disclosure is applied, and the streaming server can temporarily store the bitstream during the process of transmitting or receiving the bitstream.
- the above streaming server transmits multimedia data to a user device based on a user request via a web server, and the web server can act as an intermediary that informs the user of any available services.
- the web server transmits it to the streaming server, and the streaming server can transmit multimedia data to the user.
- the content streaming system may include a separate control server, and in this case, the control server may perform a role of controlling commands/responses between each device within the content streaming system.
- the above 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, in order to provide a smooth streaming service, the streaming server can store the bitstream for a certain period of time.
- Examples of the user devices may include mobile phones, smart phones, laptop computers, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), navigation devices, slate PCs, tablet PCs, ultrabooks, wearable devices (e.g., smartwatches, smart glasses, HMDs (head mounted displays)), digital TVs, desktop computers, digital signage, etc.
- PDAs personal digital assistants
- PMPs portable multimedia players
- navigation devices slate PCs
- tablet PCs tablet PCs
- ultrabooks ultrabooks
- wearable devices e.g., smartwatches, smart glasses, HMDs (head mounted displays)
- digital TVs desktop computers, digital signage, etc.
- Each server within the above content streaming system can be operated as a distributed server, in which case data received from each server can be distributedly processed.
- the scope of the present disclosure includes software or machine-executable instructions (e.g., an operating system, an application, firmware, a program, etc.) that cause operations according to various embodiments of the present disclosure to be executed on a device or a computer, and a non-transitory computer-readable medium having such software or instructions stored thereon and being executable on the device or the computer.
- software or machine-executable instructions e.g., an operating system, an application, firmware, a program, etc.
- Embodiments according to the present disclosure can be used to encode/decode images.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
Claims (13)
- 영상 복호화 장치에 의해 수행되는 영상 복호화 방법으로서,입력 픽처에 대한 포스트 필터 기반의 출력 픽처 정보를 NNPF (neural-network post-filter) 관련 SEI(supplemental enhancement information) 메시지로부터 획득하는 단계; 및상기 출력 픽처 정보에 기반하여, 상기 입력 픽처에 대한 출력 픽처를 획득하는 단계;를 포함하되,상기 출력 픽처 정보는 상기 입력 픽처에 대한 출력 픽처가 출력되는지 여부를 나타내는 정보인 출력 픽처 출력 정보를 포함하는, 영상 복호화 방법.
- 제1 항에 있어서,상기 출력 픽처 출력 정보의 값은 상기 입력 픽처의 존재 여부에 기반하여 결정되는, 영상 복호화 방법.
- 제2 항에 있어서,상기 출력 픽처 출력 정보의 값은 상기 입력 픽처에 대한 상기 출력 픽처의 존재 여부를 나타내는 정보인 출력 픽처 존재 정보에 더 기반하여 결정되는, 영상 복호화 방법.
- 제3 항에 있어서,상기 입력 픽처가 존재하지 않고 상기 출력 픽처 존재 정보가 상기 출력 픽처가 존재함을 나타냄에 기반하여 상기 출력 픽처 출력 정보는 상기 출력 픽처가 출력되지 않음을 나타내는, 영상 복호화 방법.
- 제4 항에 있어서,상기 출력 픽처 출력 정보의 개수는 특정 범위 내의 값으로 결정되는, 영상 복호화 방법.
- 제5 항에 있어서,상기 특정 범위는 특정 입력 픽처의 인덱스 값에 기반하여 결정되는, 영상 복호화 방법.
- 제4 항에 있어서,상기 출력 픽처 출력 정보의 개수는 특정 값보다 항상 큰 값으로 결정되는, 영상 복호화 방법.
- 제4 항에 있어서,상기 NNPF에 기반한 필터링 프로세스에서 상기 존재하지 않는 입력 픽처에 대한 상기 출력 픽처의 출력이 제외되는, 영상 복호화 방법.
- 제3 항에 있어서,상기 출력 픽처 존재 정보는 NNPFC SEI 메시지에서 획득되는, 영상 복호화 방법.
- 제1 항에 있어서,상기 출력 픽처 출력 정보는 NNPFA SEI 메시지에서 획득되는, 영상 복호화 방법.
- 영상 부호화 장치에 의해 수행되는 영상 부호화 방법으로서,입력 픽처에 대한 포스트 필터 기반의 출력 픽처 정보를 결정하는 단계; 및상기 출력 픽처 정보를 NNPF(neural-network post-filter) 관련 SEI(supplemental enhancement information) 메시지로 시그널링하는 단계;를 포함하되,상기 출력 픽처 정보는 상기 입력 픽처에 대한 출력 픽처가 출력되는지 여부를 나타내는 정보인 출력 픽처 출력 정보를 포함하는, 영상 부호화 방법.
- 제11 항의 영상 부호화 방법에 의해 생성된 비트스트림을 기록한 컴퓨터 판독 가능한 매체.
- 영상 부호화 방법에 의해 생성된 비트스트림을 전송하는 방법에 있어서, 상기 영상 부호화 방법은,입력 픽처에 대한 포스트 필터 기반의 출력 픽처 정보를 결정하는 단계; 및상기 출력 픽처 정보를 NNPF(neural-network post-filter) 관련 SEI(supplemental enhancement information) 메시지로 시그널링하는 단계;를 포함하되,상기 출력 픽처 정보는 상기 입력 픽처에 대한 출력 픽처가 출력되는지 여부를 나타내는 정보인 출력 픽처 출력 정보를 포함하는, 방법.
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020267002584A KR20260033551A (ko) | 2023-06-27 | 2024-06-27 | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
| EP24832459.2A EP4738831A1 (en) | 2023-06-27 | 2024-06-27 | Image encoding/decoding method, method for transmitting bitstream, and recording medium having stored bitstream therein |
| CN202480042773.8A CN121399953A (zh) | 2023-06-27 | 2024-06-27 | 图像编码/解码方法、用于发送比特流的方法以及其中存储有比特流的记录介质 |
| MX2025015767A MX2025015767A (es) | 2023-06-27 | 2025-12-19 | Metodo de codificacion/decodificacion de imagenes, metodo para transmitir flujo de bits, y medio de grabacion que tiene flujo de bits almacenado en el mismo |
| US19/427,435 US20260113443A1 (en) | 2023-06-27 | 2025-12-19 | Image encoding/decoding method, method for transmitting bitstream, and recording medium having stored bitstream therein |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363523373P | 2023-06-27 | 2023-06-27 | |
| US63/523,373 | 2023-06-27 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/427,435 Continuation US20260113443A1 (en) | 2023-06-27 | 2025-12-19 | Image encoding/decoding method, method for transmitting bitstream, and recording medium having stored bitstream therein |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025005681A1 true WO2025005681A1 (ko) | 2025-01-02 |
Family
ID=93939314
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2024/008958 Ceased WO2025005681A1 (ko) | 2023-06-27 | 2024-06-27 | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20260113443A1 (ko) |
| EP (1) | EP4738831A1 (ko) |
| KR (1) | KR20260033551A (ko) |
| CN (1) | CN121399953A (ko) |
| MX (1) | MX2025015767A (ko) |
| WO (1) | WO2025005681A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017152905A (ja) * | 2016-02-24 | 2017-08-31 | 沖電気工業株式会社 | 符号化装置及びプログラム、復号装置及びプログラム、並びに、配信システム |
| KR101776448B1 (ko) * | 2013-01-07 | 2017-09-07 | 퀄컴 인코포레이티드 | 비디오 코딩에 있어서의 비-네스팅된 sei 메시지들 |
| KR20200140096A (ko) * | 2019-06-05 | 2020-12-15 | 삼성전자주식회사 | 영상의 ai 부호화 및 ai 복호화 방법, 및 장치 |
| KR20220137552A (ko) * | 2021-04-02 | 2022-10-12 | 현대자동차주식회사 | 전처리 및 후처리를 이용하는 비디오 코딩방법 및 장치 |
| KR20230010259A (ko) * | 2021-05-27 | 2023-01-18 | 텐센트 아메리카 엘엘씨 | 사후-필터링을 위한 콘텐츠-적응형 온라인 트레이닝 방법 및 장치 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4695997A1 (en) * | 2023-04-11 | 2026-02-18 | Nokia Technologies Oy | Signaling information about multiple post processing filters |
-
2024
- 2024-06-27 WO PCT/KR2024/008958 patent/WO2025005681A1/ko not_active Ceased
- 2024-06-27 CN CN202480042773.8A patent/CN121399953A/zh active Pending
- 2024-06-27 EP EP24832459.2A patent/EP4738831A1/en active Pending
- 2024-06-27 KR KR1020267002584A patent/KR20260033551A/ko active Pending
-
2025
- 2025-12-19 MX MX2025015767A patent/MX2025015767A/es unknown
- 2025-12-19 US US19/427,435 patent/US20260113443A1/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101776448B1 (ko) * | 2013-01-07 | 2017-09-07 | 퀄컴 인코포레이티드 | 비디오 코딩에 있어서의 비-네스팅된 sei 메시지들 |
| JP2017152905A (ja) * | 2016-02-24 | 2017-08-31 | 沖電気工業株式会社 | 符号化装置及びプログラム、復号装置及びプログラム、並びに、配信システム |
| KR20200140096A (ko) * | 2019-06-05 | 2020-12-15 | 삼성전자주식회사 | 영상의 ai 부호화 및 ai 복호화 방법, 및 장치 |
| KR20220137552A (ko) * | 2021-04-02 | 2022-10-12 | 현대자동차주식회사 | 전처리 및 후처리를 이용하는 비디오 코딩방법 및 장치 |
| KR20230010259A (ko) * | 2021-05-27 | 2023-01-18 | 텐센트 아메리카 엘엘씨 | 사후-필터링을 위한 콘텐츠-적응형 온라인 트레이닝 방법 및 장치 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20260113443A1 (en) | 2026-04-23 |
| KR20260033551A (ko) | 2026-03-10 |
| EP4738831A1 (en) | 2026-05-06 |
| MX2025015767A (es) | 2026-02-03 |
| CN121399953A (zh) | 2026-01-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2021172912A1 (ko) | 사인 데이터 하이딩 관련 영상 디코딩 방법 및 그 장치 | |
| WO2021201549A1 (ko) | 레지듀얼 코딩에 대한 영상 디코딩 방법 및 그 장치 | |
| WO2020251278A1 (ko) | 크로마 양자화 파라미터 데이터 기반 영상 디코딩 방법 및 그 장치 | |
| WO2020256485A1 (ko) | 크로마 블록의 적응적 크기 제한을 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| WO2020246790A1 (ko) | 맵핑된 루마 성분 및 스케일링된 크로마 성분 기반 비디오 또는 영상 코딩 | |
| WO2020184928A1 (ko) | 루마 맵핑 및 크로마 스케일링 기반 비디오 또는 영상 코딩 | |
| WO2021060845A1 (ko) | 사용자 정의 팔레트 엔트리를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| WO2021182816A1 (ko) | 직사각형 슬라이스의 크기 정보를 선택적으로 부호화 하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| WO2021158051A1 (ko) | 레지듀얼 코딩과 관련한 영상 디코딩 방법 및 그 장치 | |
| WO2021194229A1 (ko) | 비디오 또는 이미지 코딩 시스템에서 디블록킹 필터 파라미터 정보를 시그널링하는 방법 | |
| WO2021182802A1 (ko) | 비디오 또는 영상 코딩 시스템에서의 타일과 관련된 정보 및 슬라이스와 관련된 정보에 기반한 영상 코딩 방법 | |
| WO2021015536A1 (ko) | 팔레트 모드의 적용 여부에 따라 디블로킹 필터링을 수행하는 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법 | |
| WO2021112479A1 (ko) | 비디오 또는 영상 코딩 시스템에서의 서브 픽처와 관련된 정보 및 직사각형 슬라이스와 관련된 정보에 기반한 영상 코딩 방법 | |
| WO2021201548A1 (ko) | 영상 디코딩 방법 및 그 장치 | |
| WO2025005681A1 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2021158048A1 (ko) | Tsrc 가용 플래그의 시그널링 관련 영상 디코딩 방법 및 그 장치 | |
| WO2025005640A1 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2024210651A2 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2024210612A1 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2024210598A2 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2025071318A1 (en) | Method and apparatus for handling intermediary pictures output in a neural-network post-filter group in sei message for coded bitstream | |
| WO2025071301A1 (en) | Method and apparatus for signaling purpose for neural-network post-filter grouping characteristic sei message for coded bitstream | |
| WO2024107028A1 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2025071276A1 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 | |
| WO2025075376A1 (ko) | 영상 부호화/복호화 방법, 비트스트림을 전송하는 방법 및 비트스트림을 저장한 기록 매체 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24832459 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: MX/A/2025/015767 Country of ref document: MX |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2501008818 Country of ref document: TH |
|
| REG | Reference to national code |
Ref country code: BR Ref legal event code: B01A Ref document number: 112025029049 Country of ref document: BR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202617002376 Country of ref document: IN |
|
| WWP | Wipo information: published in national office |
Ref document number: 202617002376 Country of ref document: IN |
|
| ENP | Entry into the national phase |
Ref document number: 1020267002584 Country of ref document: KR Free format text: ST27 STATUS EVENT CODE: A-0-1-A10-A15-NAP-PA0105 (AS PROVIDED BY THE NATIONAL OFFICE) |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024832459 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024832459 Country of ref document: EP Effective date: 20260127 |
|
| WWP | Wipo information: published in national office |
Ref document number: MX/A/2025/015767 Country of ref document: MX |
|
| ENP | Entry into the national phase |
Ref document number: 2024832459 Country of ref document: EP Effective date: 20260127 |

























