Indication of first coded picture for video coding
By selecting a specific picture as the first coded picture in a video sequence and using adaptive prediction flags, the method addresses inefficient intra-coded picture distribution, enhancing compression efficiency and reducing distortion in video coding.
Patent Information
- Application Number
- PCT/CN2025/098718
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-03
- Filing Date
- 2025-06-03
- Publication Date
- 2025-12-11
AI Technical Summary
Existing video coding standards struggle with inefficient distribution of intra-coded pictures, leading to accumulation of coding distortion and suboptimal compression efficiency.
The method involves selecting a particular picture as the first coded picture in a video sequence, which can be intra-coded, and encoding or decoding the sequence to ensure even distribution of intra-coded pictures, using additional syntax elements to indicate this first coded picture, and applying adaptive prediction flags to manage reference picture usage.
This approach enhances compression efficiency by evenly distributing intra-coded pictures, reducing coding distortion, and improving overall video coding performance.
Smart Images

Figure CN2025098718_11122025_PF_FP_ABST
Abstract
Description
INDICATION OF FIRST CODED PICTURE FOR VIDEO CODINGCROSS REFERENCE TO RELATED PATENT APPLICATION (S)
[0001] The present disclosure is part of a non-provisional application that claims the priority benefit of U.S. Provisional Patent Application No. 63 / 655,118, filed on 3 June 2024. Content of above-listed application is herein incorporated by reference.TECHNICAL FIELD
[0002] The present disclosure relates generally to video coding.BACKGROUND
[0003] Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted as prior art by inclusion in this section.
[0004] In video coding, the coding pictures are divided into smaller units called "slices" for efficient encoding and transmission. A slice is an area of the picture that contains one or more basic coding blocks. In HEVC and VVC, the basic coding blocks are termed as coding tree units (CTUs) . The slice type is a syntax element that indicates the type of coded data in a particular slice. In most video coding standards, including H. 264 / AVC, HEVC, and VVC, there are three types of slices:
[0005] I-slice (Intra-coded slice) : The slice is coded independently of all other pictures. All the blocks in the slice are intra-coded, meaning that they are predicted using only information from the same picture.
[0006] P-slice (Predictive-coded slice) : The slice is coded using inter prediction based on a previous picture (either an I-frame or a previously decoded inter-frame) . Some of the blocks in the slice are inter-coded, meaning that they are predicted using information from a previous picture.
[0007] B-slice (Bidirectional-coded slice) : The slice is coded using inter prediction based on both a previous picture and a future picture. Some of the blocks in the slice are inter-coded, meaning that they are predicted using information from both a previous picture and a future picture.
[0008] The slice type is signaled using a syntax element in the slice header. The specific syntax for signaling the slice type may differ between video coding standards, but the general concept is the same.SUMMARY
[0009] The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce concepts, highlights, benefits and advantages of the novel and non-obvious techniques described herein. Select and not all implementations are further described below in the detailed description. Thus, the following summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
[0010] Some embodiments of the disclosure provide a method for coding a video sequence by indicating the first coded picture. A video coder receives data to be encoded or decoded as a video sequence comprising a plurality of video pictures. The video coder encodes or decodes an indication in a bitstream to identify a particular picture as the first coded picture to be coded before any other pictures in the video sequence. There may be one or more other pictures in the video sequence that are leading pictures scheduled to be displayed before the first coded picture. The particular picture may be selected to be the first coded picture to make the benefit of using Intra-coded picture more evenly distributed throughout the video sequence. The video coder encodes or decodes the plurality of video pictures in an order in accordance with the coded indication.
[0011] In some embodiments, the video coder selects the particular picture to be the first coded picture to make the benefit of using Intra-coded picture more evenly distributed throughout the video sequence. In some embodiments, the first coded picture is selected based on a size of a group of pictures (GOP) for the video sequence. In some embodiments, the first coded picture is selected based on a specified maximum interval of intra-coded pictures.
[0012] In some embodiments, the indication coded to identify the first coded picture is a picture order count (POC) indicating a display order of the first coded picture in the video sequence. The POC of the first displayed picture of the video sequence may be non-zero, and the POC of the first coded picture of the video sequence may be greater than the POC of the first displayed picture. In some embodiments, the indication identifying the first coded picture may be signaled at a video level at a video parameter set (VPS) , or signaled at a sequence level at a sequence parameter set (SPS) .
[0013] In some embodiments, the first coded picture is encoded as an intra-coded picture, and the leading pictures are encoded after the first coded picture. The leading pictures may include one or more inter-coded pictures, and each of these inter-coded pictures may reference only the first coded picture or another leading picture. In some embodiments, the leading pictures may include an intra-coded picture.
[0014] In some embodiments, the video coder may derive or signal a flag (e.g., “NoForwardPred” ) to indicate whether forward prediction is used for encoding a current picture. The flag may be asserted to indicate whether only future pictures (e.g., the first coded picture) are used as reference and that no past pictures are used as reference.BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The accompanying drawings are included to provide a further understanding of the present disclosure, and are incorporated in and constitute a part of the present disclosure. The drawings illustrate implementations of the present disclosure and, together with the description, serve to explain the principles of the present disclosure. It is appreciable that the drawings are not necessarily in scale as some components may be shown to be out of proportion than the size in actual implementation in order to clearly illustrate the concept of the present disclosure.
[0016] FIG. 1 illustrates the prediction structure of a video sequence having video pictures.
[0017] FIG. 2 illustrates an example video sequence in which the first picture coded is also the first picture scheduled to be displayed.
[0018] FIG. 3 illustrates another example video sequence in which the first picture coded is not the first picture scheduled to be displayed.
[0019] FIG. 4 illustrates an example video encoder.
[0020] FIG. 5 illustrates portions of the video encoder that implement indication of first coded picture.
[0021] FIG. 6 conceptually illustrates a process that for encoding a video sequence using an indication for the first coded picture.
[0022] FIG. 7 illustrates an example video decoder.
[0023] FIG. 8 conceptually illustrates a process for decoding a video sequence with indication for the first coded picture.
[0024] FIG. 9 conceptually illustrates an electronic system with which some embodiments of the present disclosure are implemented.DETAILED DESCRIPTION
[0025] In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. Any variations, derivatives and / or extensions based on teachings described herein are within the protective scope of the present disclosure. In some instances, well-known methods, procedures, components, and / or circuitry pertaining to one or more example implementations disclosed herein may be described at a relatively high level without detail, in order to avoid unnecessarily obscuring aspects of teachings of the present disclosure. I. Video Sequence
[0026] In a video sequence, the first coding picture is generally an I-picture / I-frame (Intra-coded picture) , which is encoded independently without reference to any coded picture. Once the first picture has been designated as an I-picture, subsequent pictures can be encoded using inter prediction based on the coded pictures including the first intra coded picture. This enables more effective compression by leveraging temporal redundancy in the video sequence.
[0027] The order of encoding or decoding processing of pictures may vary from the order in which they are received from the source, necessitating a contrast between the decoding order (i.e., bitstream order) and the output order (i.e., display order) for a decoder. FIG. 1 illustrates the prediction structure of a video sequence 100 having video pictures 110-114. The figure shows picture order count (POC) values, decoding order, and reference picture sets (RPSs) for a sample temporal prediction structure for the pictures. The POC values are assigned to each frame or picture in the video sequence 100, and they are utilized to specify the order in which the frames should be displayed. The figure also illustrates forward prediction (using earlier frames or pictures as reference to predict later frames or pictures) and backward prediction (using later frames or pictures as reference to predict earlier frames or pictures) . In the example, the picture 110 intra coded. The pictures 111-114 are inter coded. The pictures 111-113 are bidirectionally predicted pictures. The picture 114 is forward predicted based on the picture 110, which is intra-coded.
[0028] In H. 264 / MPEG-4 AVC, the beginning of a bitstream is always marked as an IDR access unit, which contains an independently coded picture that can be decoded without referencing any preceding pictures. This IDR access unit signals that subsequent pictures in the bitstream can be decoded without needing to refer back to the previously coded pictures. The IDR picture plays a key role within a closed GOP (Group of Pictures) coding structure. The new clean random access (CRA) picture syntax specifies the use of an independently coded picture at a random access point (RAP) , where decoding can initiate successfully without decoding earlier pictures, supporting an efficient temporal coding order called open GOP operation.
[0029] Support for random access is used for functions such as channel switching, seeking operations, and dynamic streaming services. Following a CRA picture, some pictures in the decoding order may reference non-decodable pictures, which are identified as random access skipped leading (RASL) pictures. Broken link access (BLA) pictures indicate splice points between different coded bitstreams.
[0030] VVC, like HEVC, identifies leading pictures (LPs) following an IRAP picture, including random access decodable leading (RADL) pictures and random access skipped leading (RASL) pictures. RADL pictures can be decoded when starting at the associated IRAP picture, while RASL pictures are typically discarded as they may not be decodable. Some picture types from HEVC, such as BLA and TSA, and distinctions between reference pictures and sublayer non-reference pictures (e.g., TRAIL_N, TRAIL_R) , are not present in VVC. II. Inter Prediction
[0031] In HEVC, for each inter PU, one of three prediction modes including inter, skip, and merge, can be selected. Generally speaking, a motion vector competition (MVC) scheme is introduced to select a motion candidate from a given candidate set that includes spatial and temporal motion candidates. Multiple references to the motion estimation allows finding the best reference in 2 possible reconstructed reference picture list (namely List 0 and List 1) . For the inter mode (unofficially termed AMVP mode, where AMVP stands for advanced motion vector prediction) , inter prediction indicators (List 0, List 1, or bi-directional prediction) , reference indices, motion candidate indices, motion vector differences (MVDs) and prediction residual are transmitted. As for the skip mode and the merge mode, only merge indices are transmitted, and the current PU inherits the inter prediction indicator, reference indices, and motion vectors from a neighboring PU referred by the coded merge index. In the case of a skip coded CU, the residual signal is also omitted.
[0032] In VVC, AMVP mode is further improved by the new modes such as symmetric motion vector difference (SMVD) mode, adaptive motion vector resolution (AMVR) and affine AMVP mode; Merge / Skip modes are further improved by enhanced merge candidates, combined inter-intra prediction (CIIP) , affine merge mode, subblock temporal motion vector predictor (SbTMVP) , merge mode with motion vector difference (MMVD) and geometric partition mode (GPM) . In VVC, a decoder-side motion vector refinement (DMVR) , Bi-directional optical flow (BDOF) and prediction refinement with optical flow (PROF) are utilized to refine the motion vectors or the motion-compensated predictors at the decoder.
[0033] There are several new coding tools being developed to further improve the AMVP, Merge and Skip mode such as Bilateral matching AMVP-Merge mode, multi-hypothesis prediction (MHP) , overlapped block motion compensation (OBMC) and so on. Furthermore, templating matching based decoder side motion vector refinement is also proposed to enhanced the coding efficiency of the inter prediction.
[0034] Beyond the inter coding features in HEVC, VVC includes a number of new and refined inter prediction coding tools listed as follows: -Extended merge prediction -Merge mode with MVD (MMVD) -Symmetric MVD (SMVD) signalling -Affine motion compensated prediction -Subblock-based temporal motion vector prediction (SbTMVP) -Adaptive motion vector resolution (AMVR) -Motion field storage: 1 / 16th luma sample MV storage and 8x8 motion field compression -Bi-prediction with CU-level weight (BCW) -Bi-directional optical flow (BDOF) -Decoder side motion vector refinement (DMVR) -Geometric partitioning mode (GPM) -Combined inter and intra prediction (CIIP)
[0035] There are several inter-prediction coding tools that can be used to provide further BD-rate savings: -Local illumination compensation (LIC) -Non-adjacent spatial candidate -Template Matching (TM) -Overlapped Block Motion Compensation (OBMC) -Multi-hypothesis prediction (MHP) -Bilateral matching AMVP-Merge Mode -and so some other tools under development
[0036] At the beginning of the decoding process for each P or B slice, a flag (NoBackwardPredFlag) indicating no backward prediction may be derived (to indicate that future pictures are not used as reference to predict the current picture) . The variable NoBackwardPredFlag may be derived as follows: if DiffPicOrderCnt (aPic, currPic ) is less than or equal to 0 for each active picture aPic in RefPicList0 or RefPicList1 of the current slice (if the display order of the reference pictures are less than or equal to the display order of the current picture) , NoBackwardPredFlag is set equal to 1. Otherwise, NoBackwardPredFlag is set equal to 0. This flag NoBackwardPredFlag may then be used in the derivation of the temporal motion vector predictors (TMVP) .
[0037] A coding process for collocated picture (ColPic) and no backward prediction may be invoked at the beginning of the decoding process for each P or B slice, after decoding of the slice header as well as the invocation of the decoding process for RPL construction for the slice but prior to the decoding of any coding unit.
[0038] When ph_temporal_mvp_enabled_flag is equal to 1, the variable ColPic is derived as follows: if sh_slice_type is equal to B and sh_collocated_from_l0_flag is equal to 0, ColPic is set equal to RefPicList1 [sh_collocated_ref_idx ] . Otherwise (sh_slice_type is equal to B and sh_collocated_from_l0_flag is equal to 1, or sh_slice_type is equal to P) , ColPic is set equal to RefPicList0 [sh_collocated_ref_idx ] .
[0039] The variable NoBackwardPredFlag is derived as follows: if DiffPicOrderCnt (aPic, currPic ) is less than or equal to 0 for each active picture aPic in RefPicList0 or RefPicList1 of the current slice, NoBackwardPredFlag is set equal to 1. Otherwise, NoBackwardPredFlag is set equal to 0.
[0040] The motion vector mvCol, the reference index refIdxCol and the reference list identifier listCol are derived as follows: if sbFlag is equal to 0, availableFlagLXCol is set equal to 1 and the following applies: –If predFlagColL0 [xColCb ] [yColCb ] is equal to 0, mvCol, refIdxCol and listCol are set equal to mvL1Col [xColCb ] [yColCb ] , refIdxL1Col [xColCb ] [yColCb ] and L1, respectively. –Otherwise, if predFlagColL0 [xColCb ] [yColCb ] is equal to 1 and predFlagColL1 [xColCb ] [yColCb ] is equal to 0, mvCol, refIdxCol and listCol are set equal to mvL0Col [xColCb ] [yColCb ] , refIdxL0Col [xColCb ] [yColCb ] and L0, respectively. –Otherwise (predFlagColL0 [xColCb ] [yColCb ] is equal to 1 and predFlagColL1 [xColCb ] [yColCb ] is equal to 1) , the following assignments are made: –If NoBackwardPredFlag is equal to 1, mvCol, refIdxCol and listCol are set equal to mvLXCol [xColCb ] [yColCb ] , refIdxLXCol [xColCb ] [yColCb ] and LX, respectively. –Otherwise, mvCol, refIdxCol and listCol are set equal to mvLNCol [xColCb ] [yColCb ] , refIdxLNCol [xColCb ] [yColCb ] and LN, respectively, with N being the value of sh_collocated_from_l0_flag. –Otherwise (sbFlag is equal to 1) , the following applies: –If predFlagColLX [xColCb ] [yColCb ] is equal to 1, mvCol, refIdxCol, and listCol are set equal to mvLXCol [xColCb ] [yColCb ] , refIdxLXCol [xColCb ] [yColCb ] , and LX, respectively, availableFlagLXCol is set equal to 1. –Otherwise (predFlagColLX [xColCb ] [yColCb ] is equal to 0) , the following applies: –If NoBackwardPredFlag is equal to 1 and predFlagColLY [xColCb ] [yColCb ] is equal to 1, mvCol, refIdxCol, and listCol are set equal to mvLYCol [xColCb ] [yColCb ] , refIdxLYCol [xColCb ] [yColCb ] and LY, respectively, with Y being equal to 1 -X, with X being the value of X that this process is invoked for. availableFlagLXCol is set equal to 1. –Otherwise, both components of mvLXCol are set equal to 0 and availableFlagLXCol is set equal to 0.
[0041] The flag “NoBackwardPredFlag” may also used to determine the syntax element coding of the BCW. (Bi-prediction with CU-level Weight (BCW) is a coding tool that is used to enhance bidirectional prediction. BCW allows applying different weights to L0 prediction and L1 prediction before combining them to produce the bi-prediction for the CU. ) III. Indication of First Coded Picture
[0042] Some embodiments of the disclosure provide a flexible prediction structure by optionally adding one or more additional syntax elements in the bitstream to indicate or identify the first coded picture in the bitstream. The first coded picture is the video picture that is coded before any other video picture in the video sequence. In some embodiments, the first coded picture may or may not be the first displayed picture (POC=0) in the video sequence.
[0043] In some embodiments, a video encoder may choose to encode a picture with POC equal to N (N being an integer number) as the first intra picture. The pictures with POC less than N may be defined as the “leading pictures” of the video sequence. Each leading picture may be either coded as an intra picture (e.g., only contain intra slices) or an inter picture (e.g., contain at least one inter slice) . In some embodiments, when a leading picture is coded as an inter picture, it can only refer to other coded leading picture (s) and / or the first intra coded picture as its reference picture (s) . In some embodiments, when a leading picture is coded as an inter picture, the inter picture may refer to other coded leading picture (s) , the first intra coded picture, and / or the coded pictures following the first intra coded picture as its reference picture (s) .
[0044] FIG. 2 illustrates an example video sequence 200 in which the first picture coded is also the first picture scheduled to be displayed. The first picture 210 is an intra coded picture. For the video sequence 200, the GOP size is 32 and the intra period is 64 (i.e., one intra picture is coded every 64 picture) . In this example, there are 43 remaining pictures after the last intra coded picture.
[0045] FIG. 3 illustrates another example video sequence 300 in which the first picture coded is not the first picture scheduled to be displayed. The video sequence 300 starts at a video picture 320, which is a picture scheduled to be displayed first and has the lowest POC (e.g., POC=0) in the sequence. The first picture 320 may not be an intra picture. The first coded picture 310, which is also the first intra picture, has POC=16. There are 16 pictures in the video sequence that are scheduled to be displayed ahead of the first coded picture 310, including the first displayed picture 320. The 16 pictures ahead of the first coded picture in display order, which may or may not include intra coded pictures, are also referred to as “leading pictures” . There are also 27 remaining pictures following a last intra coded picture 319.
[0046] In some embodiments, the GOP size or the intra period is used as a constraint on the value of N (the POC or position of the first coded picture) . In the example of FIG. 3, the GOP size is 32 and the intra period is 64 (which means encoding one intra picture every 64 picture) . In some embodiments, the POC of the first coded picture 310 may be constrained to be less than 32 (if the first coded picture is limited by GOP size) or less than 64 (if the first coded picture is limited by intra period) from the POC of the first picture 320 scheduled to be displayed. Thus, for example, if the POC of the first picture 320 is 0, then the POC of the first coded picture 310 may be constrained to be less than 32 or 64.
[0047] By comparing the prediction structure in the FIG. 2 and the one in the FIG. 3, it can be seen that the intra picture is distributed more evenly among all the coded pictures in the example of FIG. 3. This allows the benefit of using intra pictures to be better propagated through inter prediction. Such benefits include limiting accumulation of coding distortion.
[0048] Conventionally, the first picture of a video sequence (in display order) is by default coded first (e.g., picture with POC equal to 0) in a video coding bitstream and is normally coded using I-slice. In some embodiments, the first coded picture of a video sequence may be indicated to not be the picture with POC = 0. In some embodiments, one or more syntax elements used to indicate the first coded picture is signaled into the bitstream at video level and / or sequence level such as video parameter set (VPS) and sequence parameter set (SPS) .
[0049] In some embodiments, the first coded picture is indicated by signaling the POC of the specific picture determined or designated to be the first coded picture. In the example illustrated in FIG. 3, the picture with POC=16 is selected to be coded as the first coded picture. After the first picture (POC=16) is coded, the other pictures in the video sequence are coded according to the existing mechanism such as the reference picture set (RPS) to indicate each picture’s reference pictures for its picture coding.
[0050] In some embodiments, an additional condition “NoForwardPredicton” is determined, based on the condition “NoForwardPrediction” , different operations may be applied. Specifically, a variable NoForwardPredFlag is derived as follows: if the display order (e.g., POC) of the reference pictures are larger than or equal to the display order of the current picture, NoForwardPredFlag is set equal to 1, meaning the condition “NoForwadPrediction” is true (to indicate past pictures are not used to predict the current picture) . Otherwise, NoForwardPredFlag is set equal to 0, meaning the condition “NoForwadPrediction” is false.
[0051] In some embodiments, adaptive operations may be applied depending on the flag NoForwardPredFlag and the adaptive scheme may be aligned with the adaptive operation based on the flag “NoBackwardPredFlag” used in HEVC and / or VVC. For example, this flag NoForwardPredFlag may be used in the derivation of the temporal motion vector predictors (TMVP) following the same logic of the flag “NoBackwardPredFlag” used in HEVC and / or VVC. Moreover, in some embodiments, this flag can also be used to adaptive determine the coding of the syntax element related to the coding tools BCW.
[0052] Any of the foregoing proposed methods could be applied independently or jointly. Moreover, any of the foregoing proposed methods can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in inter prediction module of an encoder and / or a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to inter prediction module of the encoder and / or the decoder. IV. Example Video Encoder
[0053] FIG. 4 illustrates an example video encoder 400. As illustrated, the video encoder 400 receives input video signal from a video source 405 and encodes the signal into bitstream 495. The video encoder 400 has several components or modules for encoding the signal from the video source 405, at least including some components selected from a transform module 410, a quantization module 411, an inverse quantization module 414, an inverse transform module 415, an intra-picture estimation module 424, an intra-prediction module 425, a motion compensation module 430, a motion estimation module 435, an in-loop filter 445, a reconstructed picture buffer 450, a MV buffer 465, and a MV prediction module 475, and an entropy encoder 490. The motion compensation module 430 and the motion estimation module 435 are part of an inter-prediction module 440. The intra-prediction module 425 and the intra-prediction estimation module 424 are part of a current picture prediction module 420, which uses current picture reconstructed samples as reference samples for prediction of the current block.
[0054] In some embodiments, the modules 410 –490 are modules of software instructions being executed by one or more processing units (e.g., a processor) of a computing device or electronic apparatus. In some embodiments, the modules 410 –490 are modules of hardware circuits implemented by one or more integrated circuits (ICs) of an electronic apparatus. Though the modules 410 –490 are illustrated as being separate modules, some of the modules can be combined into a single module.
[0055] The video source 405 provides a raw video signal that presents pixel data of each video frame without compression. A subtractor 408 computes the difference between the raw video pixel data of the video source 405 and the predicted pixel data 413 from the motion compensation module 430 or intra-prediction module 425 as prediction residual 409. The transform module 410 converts the difference (or the residual pixel data or residual signal 408) into transform coefficients (e.g., by performing Discrete Cosine Transform, or DCT) . The quantization module 411 quantizes the transform coefficients into quantized data (or quantized coefficients) 412, which is encoded into the bitstream 495 by the entropy encoder 490.
[0056] The inverse quantization module 414 de-quantizes the quantized data (or quantized coefficients) 412 to obtain transform coefficients 418, and the inverse transform module 415 performs inverse transform on the transform coefficients 418 to produce reconstructed residual 419. The reconstructed residual 419 is added with the predicted pixel data 413 to produce reconstructed pixel data 417. In some embodiments, the reconstructed pixel data 417 is temporarily stored in a line buffer 427 (or intra prediction buffer) for intra-picture prediction and spatial MV prediction. The reconstructed pixels are filtered by the in-loop filter 445 and stored in the reconstructed picture buffer 450. In some embodiments, the reconstructed picture buffer 450 is a storage external to the video encoder 400. In some embodiments, the reconstructed picture buffer 450 is a storage internal to the video encoder 400.
[0057] The intra-picture estimation module 424 performs intra-prediction based on the reconstructed pixel data 417 to produce intra prediction data. The intra-prediction data is provided to the entropy encoder 490 to be encoded into bitstream 495. The intra-prediction data is also used by the intra-prediction module 425 to produce the predicted pixel data 413.
[0058] The motion estimation module 435 performs inter-prediction by producing MVs to reference pixel data of previously decoded frames stored in the reconstructed picture buffer 450. These MVs are provided to the motion compensation module 430 to produce predicted pixel data.
[0059] Instead of encoding the complete actual MVs in the bitstream, the video encoder 400 uses MV prediction to generate predicted MVs, and the difference between the MVs used for motion compensation and the predicted MVs is encoded as residual motion data and stored in the bitstream 495.
[0060] The MV prediction module 475 generates the predicted MVs based on reference MVs that were generated for encoding previously video frames, i.e., the motion compensation MVs that were used to perform motion compensation. The MV prediction module 475 retrieves reference MVs from previous video frames from the MV buffer 465. The video encoder 400 stores the MVs generated for the current video frame in the MV buffer 465 as reference MVs for generating predicted MVs.
[0061] The MV prediction module 475 uses the reference MVs to create the predicted MVs. The predicted MVs can be computed by spatial MV prediction or temporal MV prediction. The difference between the predicted MVs and the motion compensation MVs (MC MVs) of the current frame (residual motion data) are encoded into the bitstream 495 by the entropy encoder 490.
[0062] The entropy encoder 490 encodes various parameters and data into the bitstream 495 by using entropy-coding techniques such as context-adaptive binary arithmetic coding (CABAC) or Huffman encoding. The entropy encoder 490 encodes various header elements, flags, along with the quantized transform coefficients 412, and the residual motion data as syntax elements into the bitstream 495. The bitstream 495 is in turn stored in a storage device or transmitted to a decoder over a communications medium such as a network.
[0063] The in-loop filter 445 performs filtering or smoothing operations on the reconstructed pixel data 417 to reduce the artifacts of coding, particularly at boundaries of pixel blocks. In some embodiments, the filtering or smoothing operations performed by the in-loop filter 445 include deblock filter (DBF) , sample adaptive offset (SAO) , and / or adaptive loop filter (ALF) . In some embodiments, luma mapping chroma scaling (LMCS) is performed before the loop filters.
[0064] FIG. 5 illustrates portions of the video encoder 400 that implement indication of first coded picture. Specifically, the figure illustrates a video delay buffer 510 that is used to buffer the input video signal from the video source 405. For a video sequence that may have one or more non-intra coded pictures as leading pictures prior to the first coded picture, the buffer 510 may be used to store the raw video signal data for the leading pictures of the video sequence. The encoder 400 may select a picture that may or may not be the first picture in the sequence as the first picture to be coded, based on considerations or factors such as intra-coding balancing, rate-distortion, etc. In the figure, this selection is shown as a “first coded picture” indicator. In some embodiments, the “first coded picture” indicator indicates the POC (or a value based on the display order) of the first code picture.
[0065] An encoding start selector 520 identifies the video data in the video delay buffer 510 that is to be coded first. The encoding start selector 520 may make such a selection based on the first coded picture indicator. The video data of the first coded picture is then provided to the encoding pipeline (i.e., the subtractor 408, the transform module 410, the reconstructed picture buffer 450, etc. ) to be encoded as the first coded picture, using intra coding. The video data of the leading pictures are then coded by inter-prediction by referencing the first coded picture, or by intra-coding. The video data of the video data subsequent to the first coded picture in display order are then encoded.
[0066] In some embodiments, the first coded picture indicator is provided to the entropy encoder 490 to be encoded into the bitstream 495 as a syntax element to be conveyed to the decoder. In some embodiments, the first coded picture indicator is provided to one or more modules of the encoding pipeline. For example, the reconstructed picture buffer 450 may use the first coded picture indicator to perform storage allocation for reference pictures.
[0067] FIG. 6 conceptually illustrates a process 600 that for encoding a video sequence using an indication for the first coded picture. In some embodiments, one or more processing units (e.g., a processor) of a computing device implementing the encoder 400 performs the process 600 by executing instructions stored in a computer readable medium. In some embodiments, an electronic apparatus implementing the encoder 400 performs the process 600.
[0068] The encoder receives (at block 610) data to be encoded as a video sequence having a plurality of video pictures. The encoder selects (at block 620) a particular picture to be the first coded picture of the video sequence. The first coded picture is a picture that is to be coded before any other pictures in the video sequence. There may be one or more other pictures in the video sequence that are leading pictures scheduled to be displayed before the first coded picture.
[0069] In some embodiments, the encoder selects the particular picture to be the first coded picture to make the benefit of using Intra-coded picture more evenly distributed throughout the video sequence. In some embodiments, the first coded picture is selected based on a size of a group of pictures (GOP) for the video sequence. In some embodiments, the first coded picture is selected based on a specified maximum interval of intra-coded pictures.
[0070] The encoder encodes (at block 630) an indication in a bitstream to identify the first coded picture. In some embodiments, the indication coded is a picture order count (POC) indicating a display order of the first coded picture in the video sequence. The POC of the first displayed picture of the video sequence may be non-zero, and the POC of the first coded picture of the video sequence may be greater than the POC of the first displayed picture. In some embodiments, the indication identifying the first coded picture may be signaled at a video level at a video parameter set (VPS) , or signaled at a sequence level at a sequence parameter set (SPS) .
[0071] The encoder encodes (at block 640) the plurality of video pictures in an order in accordance with the coded indication. In some embodiments, the first coded picture is encoded as an intra-coded picture, and the leading pictures are encoded after the first coded picture. The leading pictures may include one or more inter-coded pictures, and each of these inter-coded pictures may reference only the first coded picture or another leading picture. In some embodiments, the leading pictures may include an intra-coded picture.
[0072] In some embodiments, the encoder may derive or signal a flag (e.g., “NoForwardPred” ) to indicate whether forward prediction is used for encoding a current picture. The flag may be asserted to indicate whether only future pictures (e.g., the first coded picture) are used as reference and that no past pictures are used as reference. V. Example Video Decoder
[0073] In some embodiments, an encoder may signal (or generate) one or more syntax element in a bitstream, such that a decoder may parse said one or more syntax element from the bitstream.
[0074] FIG. 7 illustrates an example video decoder 700. As illustrated, the video decoder 700 is an image-decoding or video-decoding circuit that receives a bitstream 795 and decodes the content of the bitstream into pixel data of video frames for display. The video decoder 700 has several components or modules for decoding the bitstream 795, including some components selected from an inverse quantization module 714, an inverse transform module 715, an intra-prediction module 725, a motion compensation module 730, an in-loop filter 745, a decoded picture buffer 750, a MV buffer 765, a MV prediction module 775, and a parser 790. The motion compensation module 730 is part of an inter-prediction module 740. The intra-prediction module 725 is part of a current picture prediction module 720, which uses current picture reconstructed samples as reference samples for prediction of the current block.
[0075] In some embodiments, the modules 714 –790 are modules of software instructions being executed by one or more processing units (e.g., a processor) of a computing device. In some embodiments, the modules 714 –790 are modules of hardware circuits implemented by one or more ICs of an electronic apparatus. Though the modules 714 –790 are illustrated as being separate modules, some of the modules can be combined into a single module.
[0076] The parser 790 (or entropy decoder) receives the bitstream 795 and performs initial parsing according to the syntax defined by a video-coding or image-coding standard. The parsed syntax element includes various header elements, flags, as well as quantized data (or quantized coefficients) 712. The parser 790 parses out the various syntax elements by using entropy-coding techniques such as context-adaptive binary arithmetic coding (CABAC) or Huffman encoding.
[0077] The inverse quantization module 714 de-quantizes the quantized data (or quantized coefficients) 712 to obtain transform coefficients, and the inverse transform module 715 performs inverse transform on the transform coefficients 718 to produce reconstructed residual signal 719. The reconstructed residual signal 719 is added with predicted pixel data 713 from the intra-prediction module 725 or the motion compensation module 730 to produce decoded pixel data 717. The decoded pixels data are filtered by the in-loop filter 745 and stored in the decoded picture buffer 750. In some embodiments, the decoded picture buffer 750 is a storage external to the video decoder 700. In some embodiments, the decoded picture buffer 750 is a storage internal to the video decoder 700.
[0078] The intra-prediction module 725 receives intra-prediction data from bitstream 795 and according to which, produces the predicted pixel data 713 from the decoded pixel data 717 stored in the decoded picture buffer 750. In some embodiments, the decoded pixel data 717 is also stored in a line buffer 727 (or intra prediction buffer) for intra-picture prediction and spatial MV prediction.
[0079] In some embodiments, the content of the decoded picture buffer 750 is used for display. A display device 705 either retrieves the content of the decoded picture buffer 750 for display directly, or retrieves the content of the decoded picture buffer to a display buffer. In some embodiments, the display device receives pixel values from the decoded picture buffer 750 through a pixel transport.
[0080] The motion compensation module 730 produces predicted pixel data 713 from the decoded pixel data 717 stored in the decoded picture buffer 750 according to motion compensation MVs (MC MVs) . These motion compensation MVs are decoded by adding the residual motion data received from the bitstream 795 with predicted MVs received from the MV prediction module 775.
[0081] The MV prediction module 775 generates the predicted MVs based on reference MVs that were generated for decoding previous video frames, e.g., the motion compensation MVs that were used to perform motion compensation. The MV prediction module 775 retrieves the reference MVs of previous video frames from the MV buffer 765. The video decoder 700 stores the motion compensation MVs generated for decoding the current video frame in the MV buffer 765 as reference MVs for producing predicted MVs.
[0082] The in-loop filter 745 performs filtering or smoothing operations on the decoded pixel data 717 to reduce the artifacts of coding, particularly at boundaries of pixel blocks. In some embodiments, the filtering or smoothing operations performed by the in-loop filter 745 include deblock filter (DBF) , sample adaptive offset (SAO) , and / or adaptive loop filter (ALF) . In some embodiments, luma mapping chroma scaling (LMCS) is performed before the loop filters.
[0083] In some embodiments, the entropy decoder 790 parses out a syntax element in the bitstream that corresponds to an indicator identifying a picture that is to be coded first in a video sequence. Such a video sequence may have one or more non-intra coded pictures as leading pictures prior to the first coded picture. In some embodiments, the “first coded picture” indicator indicates the POC (or a value based on the display order) of the first code picture. In some embodiments, the first coded picture indicator may be used by the decoding pipeline (e.g., inverse quantization module 714, inverse transform module 715, decoded picture buffer 750, etc. ) For example, in some embodiments, the decoded picture buffer 750 may allocate storage usage based on the first coded picture indicator.
[0084] FIG. 8 conceptually illustrates a process 800 for decoding a video sequence with indication for the first coded picture. In some embodiments, one or more processing units (e.g., a processor) of a computing device implementing the decoder 700 performs the process 800 by executing instructions stored in a computer readable medium. In some embodiments, an electronic apparatus implementing the decoder 700 performs the process 800.
[0085] The decoder receives (at block 810) data to be decoded as a video sequence having a plurality of video pictures. A particular picture is selected to be the first coded picture of the video sequence. The first coded picture is a picture that is to be coded before any other pictures in the video sequence. There may be one or more other pictures in the video sequence that are leading pictures scheduled to be displayed before the first coded picture. The particular picture may be selected to be the first coded picture to make the benefit of using Intra-coded picture more evenly distributed throughout the video sequence. In some embodiments, the first coded picture is selected based on a size of a group of pictures (GOP) for the video sequence. In some embodiments, the first coded picture is selected based on a specified maximum interval of intra-coded pictures.
[0086] The decoder decodes (at block 830) an indication in a bitstream to identify the first coded picture. In some embodiments, the indication coded is a picture order count (POC) indicating a display order of the first coded picture in the video sequence. The POC of the first displayed picture of the video sequence may be non-zero, and the POC of the first coded picture of the video sequence may be greater than the POC of the first displayed picture. In some embodiments, the indication identifying the first coded picture may be signaled at a video level at a video parameter set (VPS) , or signaled at a sequence level at a sequence parameter set (SPS) .
[0087] The decoder reconstructs (at block 840) the plurality of video pictures in an order in accordance with the coded indication. The decoder may then provide the reconstructed video pictures of the video sequence for display. In some embodiments, the first coded picture is coded as an intra-coded picture, and the leading pictures are decoded or reconstructed after the first coded picture. The leading pictures may include one or more inter-coded pictures, and each of these inter-coded pictures may reference only the first coded picture or another leading picture. In some embodiments, the leading pictures may include an intra-coded picture.
[0088] In some embodiments, the decoder may derive a flag (e.g., “NoForwardPred” ) to indicate whether forward prediction is used for decoding a current picture. The flag may be asserted to indicate whether only future pictures (e.g., the first coded picture) are used as reference and that no past pictures are used as reference. The NoForwardPred flag may be used in the derivation of the temporal motion vector predictors (TMVP) . VI. Example Electronic System
[0089] Many of the above-described features and applications are implemented as software processes that are specified as a set of instructions recorded on a computer readable storage medium (also referred to as computer readable medium) . When these instructions are executed by one or more computational or processing unit (s) (e.g., one or more processors, cores of processors, or other processing units) , they cause the processing unit (s) to perform the actions indicated in the instructions.
[0090] In this specification, the term “software” is meant to include firmware residing in read-only memory or applications stored in magnetic storage which can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while remaining distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described here is within the scope of the present disclosure. In some embodiments, the software programs, when installed to operate on one or more electronic systems, define one or more specific machine implementations that execute and perform the operations of the software programs.
[0091] FIG. 9 conceptually illustrates an electronic system 900 with which some embodiments of the present disclosure are implemented. The electronic system 900 may be a computer (e.g., a desktop computer, personal computer, tablet computer, etc. ) , phone, PDA, or any other sort of electronic device. Such an electronic system includes various types of computer readable media and interfaces for various other types of computer readable media. Electronic system 900 includes a bus 905, processing unit (s) 910, a graphics-processing unit (GPU) 915, a system memory 920, a network 925, a read-only memory 930, a permanent storage device 935, input devices 940, and output devices 945.
[0092] The bus 905 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 900. For instance, the bus 905 communicatively connects the processing unit (s) 910 with the GPU 915, the read-only memory 930, the system memory 920, and the permanent storage device 935.
[0093] From these various memory units, the processing unit (s) 910 retrieves instructions to execute and data to process in order to execute the processes of the present disclosure. The processing unit (s) may be a single processor or a multi-core processor in different embodiments. Some instructions are passed to and executed by the GPU 915. The GPU 915 can offload various computations or complement the image processing provided by the processing unit (s) 910.
[0094] The read-only-memory (ROM) 930 stores static data and instructions that are used by the processing unit (s) 910 and other modules of the electronic system. The permanent storage device 935, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when the electronic system 900 is off. Some embodiments of the present disclosure use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as the permanent storage device 935.
[0095] Other embodiments use a removable storage device (such as a floppy disk, flash memory device, etc., and its corresponding disk drive) as the permanent storage device. Like the permanent storage device 935, the system memory 920 is a read-and-write memory device. However, unlike storage device 935, the system memory 920 is a volatile read-and-write memory, such a random access memory. The system memory 920 stores some of the instructions and data that the processor uses at runtime. In some embodiments, processes in accordance with the present disclosure are stored in the system memory 920, the permanent storage device 935, and / or the read-only memory 930. For example, the various memory units include instructions for processing multimedia clips in accordance with some embodiments. From these various memory units, the processing unit (s) 910 retrieves instructions to execute and data to process in order to execute the processes of some embodiments.
[0096] The bus 905 also connects to the input and output devices 940 and 945. The input devices 940 enable the user to communicate information and select commands to the electronic system. The input devices 940 include alphanumeric keyboards and pointing devices (also called “cursor control devices” ) , cameras (e.g., webcams) , microphones or similar devices for receiving voice commands, etc. The output devices 945 display images generated by the electronic system or otherwise output data. The output devices 945 include printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD) . Some embodiments include devices such as a touchscreen that function as both input and output devices.
[0097] Finally, as shown in FIG. 9, bus 905 also couples electronic system 900 to a network 925 through a network adapter (not shown) . In this manner, the computer can be a part of a network of computers (such as a local area network ( “LAN” ) , a wide area network ( “WAN” ) , or an Intranet, or a network of networks, such as the Internet. Any or all components of electronic system 900 may be used in conjunction with the present disclosure.
[0098] Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media) . Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM) , recordable compact discs (CD-R) , rewritable compact discs (CD-RW) , read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM) , a variety of recordable / rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc. ) , flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc. ) , magnetic and / or solid state hard drives, read-only and recordable discs, ultra-density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.
[0099] While the above discussion primarily refers to microprocessor or multi-core processors that execute software, many of the above-described features and applications are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) . In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself. In addition, some embodiments execute software stored in programmable logic devices (PLDs) , ROM, or RAM devices.
[0100] While the present disclosure has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the present disclosure can be embodied in other specific forms without departing from the spirit of the present disclosure. In addition, a number of the figures (including FIG. 6 and FIG. 8) conceptually illustrate processes. The specific operations of these processes may not be performed in the exact order shown and described. The specific operations may not be performed in one continuous series of operations, and different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro process. Thus, one of ordinary skill in the art would understand that the present disclosure is not to be limited by the foregoing illustrative details, but rather is to be defined by the appended claims. Additional Notes
[0101] The herein-described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely examples, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as "associated with" each other such that the desired functionality is achieved, irrespective of architectures or intermediate components. Likewise, any two components so associated can also be viewed as being "operably connected" , or "operably coupled" , to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being "operably couplable" , to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and / or physically interacting components and / or wirelessly interactable and / or wirelessly interacting components and / or logically interacting and / or logically interactable components.
[0102] Further, with respect to the use of substantially any plural and / or singular terms herein, those having skill in the art can translate from the plural to the singular and / or from the singular to the plural as is appropriate to the context and / or application. The various singular / plural permutations may be expressly set forth herein for sake of clarity.
[0103] Moreover, it will be understood by those skilled in the art that, in general, terms used herein, and especially in the appended claims, e.g., bodies of the appended claims, are generally intended as “open” terms, e.g., the term “including” should be interpreted as “including but not limited to, ” the term “having” should be interpreted as “having at least, ” the term “includes” should be interpreted as “includes but is not limited to, ” etc. It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to implementations containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an, " e.g., “a” and / or “an” should be interpreted to mean “at least one” or “one or more; ” the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted to mean at least the recited number, e.g., the bare recitation of "two recitations, " without other modifiers, means at least two recitations, or two or more recitations. Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc. ” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc. In those instances where a convention analogous to “at least one of A, B, or C, etc. ” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention, e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc. It will be further understood by those within the art that virtually any disjunctive word and / or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B. ”
[0104] From the foregoing, it will be appreciated that various implementations of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various implementations disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
Claims
1.A video coding method comprising:receiving data to be encoded or decoded as a video sequence comprising a plurality of video pictures;coding an indication in a bitstream to identify a particular picture to be coded before any other pictures in the video sequence, wherein one or more other pictures in the video sequence are leading pictures scheduled to be displayed before the particular picture; andencoding or decoding the plurality of video pictures in an order in accordance with the coded indication.2.The video coding method of claim 1, wherein the indication coded is a picture order count (POC) indicating a display order of the particular picture in the video sequence.3.The video coding method of claim 1, wherein the particular picture is an intra-coded picture.4.The video coding method of claim 1, wherein the leading pictures comprise one or more inter-coded pictures.5.The video coding method of claim 4, wherein each inter-coded picture of the leading pictures references only the particular picture or another leading picture.6.The video coding method of claim 1, wherein the indication identifying the particular picture is signaled at a video level at a video parameter set (VPS) .7.The video coding method of claim 1, wherein the indication identifying the particular picture is signaled at a sequence level at a sequence parameter set (SPS) .8.The video coding method of claim 1, further comprising deriving or signaling a flag to indicate whether forward prediction is used for encoding or decoding a current picture.9.The video coding method of claim 1, wherein the particular picture is selected based on a size of a group of pictures (GOP) for the video sequence.10.The video coding method of claim 1, wherein the particular picture is selected based on a specified maximum interval of intra-coded pictures.11.An electronic apparatus comprising:a video coder circuit configured to perform operations comprising:receiving data to be encoded or decoded as a video sequence comprising a plurality of video pictures;coding an indication in a bitstream to identify a particular picture to be coded before any other pictures in the video sequence, wherein one or more other pictures in the video sequence are leading pictures scheduled to be displayed before the particular picture; andencoding or decoding the plurality of video pictures in an order in accordance with the coded indication.12.A video decoding method comprising:receiving data to be decoded as a video sequence comprising a plurality of video pictures;decoding an indication in a bitstream to identify a particular picture to be coded before any other pictures in the video sequence, wherein one or more other pictures in the video sequence are leading pictures scheduled to be displayed before the particular picture; andreconstructing the plurality of video pictures in an order in accordance with the coded indication.13.A video encoding method comprising:receiving data to be encoded as a video sequence comprising a plurality of video pictures;encoding an indication in a bitstream to identify a particular picture to be coded before any other pictures in the video sequence, wherein one or more other pictures in the video sequence are leading pictures scheduled to be displayed before the particular picture; andencoding the plurality of video pictures in an order in accordance with the coded indication.14.A video encoding method comprising:receiving data to be encoded as a video sequence comprising a plurality of video pictures; andencoding a particular picture to be coded before any other pictures in the video sequence, wherein one or more other pictures in the video sequence are leading pictures scheduled to be displayed before the particular picture.
Citation Information
Patent Citations
Signaling of clock tick derivation information for video timing in video coding
US20140192902A1
Signaling of Non-Picture-Level Syntax Elements at the Picture Level
US20220217380A1
Image coding method and device therefor
US20230188707A1
Signaling of reference picture lists in video coding
WO2020112488A1