IP Library Granted Patent US 12,581,096
Granted Patent B2
US 12,581,096 · App. 18/773,056 · Granted Mar 17, 2026

Method and apparatus for encoding or decoding video

Inventors: Jie Chen (Beijing, CN); Ru-Ling Liao (Beijing, CN); Yan Ye (San Mateo, CA); Jiancong Luo (San Mateo, CA)
Assignee: ALIBABA GROUP HOLDING LIMITED
H04N19/46H04N19/172
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,581,096
App. No.
18/773,056
Granted
Mar 17, 2026
Kind
B2
Abstract

The present disclosure provides a computer-implemented method for encoding video. The method includes coding one or more first flags in a sequence parameter set (SPS) of a bitstream, and coding at least one second flag in the SPS if one or more coding modes are enabled for a video sequence associated with the SPS. The one or more first flags indicate whether the one or more coding modes are enabled for the video sequence. The at least one second flag indicates whether a multi-level control is activated for the one or more coding modes.

Claims (60)

1 . A method of decoding a bitstream to output one or more pictures for a video stream, the method comprising:

receiving a bitstream; and

decoding, using coded information of the bitstream, one or more pictures, wherein the decoding comprises:

determining whether a first plurality of sequence level flags are present in the bitstream, based on a second plurality of sequence level flags, respectively;

determining whether one or more picture level flags are present in the bitstream, based on the first plurality of sequence level flags, respectively; and

enabling or disabling one or more coding modes for a target picture based on the one or more picture level flags, respectively.

2 . The method according to claim 1 , wherein the second plurality of sequence level flags comprises a first sequence level flag indicating whether a coding mode is enabled for a video sequence, the one or more picture level flags comprise a picture level flag indicating whether the coding mode is enabled for the target picture, the first plurality of sequence level flags comprises a second sequence level flag indicating whether the picture level flag is present, and the method further comprises:

in response to the first sequence level flag indicating the coding mode is enabled for the video sequence, decoding a value of the second sequence level flag;

in response to the value of the second sequence level flag indicating the picture level flag is present, decoding a value of the picture level flag; and

in response to the value of the picture level flag indicating the coding mode is disabled for the targe picture, disabling the coding mode for the target picture; and

in response to the first sequence level flag indicating the coding mode is disabled for the video sequence, determining the second sequence level flag is not present; and

disabling the coding mode for the video sequence.

3 . The method according to claim 2 , wherein the one or more coding modes comprise at least one of:

a prediction refinement with optical flow (PROF) mode, a bi-directional optical flow (BDOF) mode, or a decoder side motion vector refinement (DMVR) mode.

4 . The method according to claim 2 , wherein the first plurality of sequence level flags and the second plurality of sequence level flags are present in a Sequence Parameter Set (SPS) of the bitstream.

5 . The method according to claim 2 , wherein the one or more picture level flags are present in a picture header; and the target picture refers to the picture header.

6 . The method according to claim 1 , wherein the second plurality of sequence level flags comprises a first sequence level flag associated with a prediction refinement with optical flow (PROF) mode, and the method further comprises:

determining, based on a second sequence level flag, whether an affine mode is enabled for a video sequence; and

in response to the affine mode being enabled, determining that the first sequence level flag is signaled in the bitstream and determining, based on the first sequence level flag, whether the PROF mode is enabled for the video sequence.

7 . A method according to encoding a video sequence into a bitstream, the method comprising:

receiving a video sequence;

encoding one or more pictures of the video sequence; and

generating a bitstream,

wherein the encoding comprises:

encoding a second plurality of sequence level flags in the bitstream, the second plurality of sequence level flags respectively indicating whether a first plurality of sequence level flags are present in the bitstream;

in response to one or more of the first plurality of sequence level flags are present in the bitstream, encoding the first plurality of sequence level flags in the bitstream, the first plurality of sequence level flags respectively indicating whether one or more picture level flags are present in the bitstream; and

in response to the one or more picture level flags being present in the bitstream, encoding the one or more picture level flags based on one or more coding modes associated with a target picture, respectively.

8 . The method according to claim 7 , wherein the second plurality of sequence level flags comprises a first sequence level flag indicating whether a coding mode is enabled for a video sequence, the one or more picture level flags comprise a picture level flag indicating whether the coding mode is enabled for the target picture, the first plurality of sequence level flags comprises a second sequence level flag indicating whether the picture level flag is present, and the method further comprises:

in response to the first sequence level flag indicating the coding mode is enabled for the video sequence, encoding the second sequence level flag in the bitstream; and

in response to the second sequence level flag indicating the picture level flag is present, encoding the picture level flag in the bitstream; and

in response to the first sequence level flag indicating the coding mode is disabled for the video sequence, skipping the encoding of the first plurality of sequence level flags and the one or more picture level flags.

9 . The method according to claim 8 , wherein the one or more coding modes comprise at least one of:

a prediction refinement with optical flow (PROF) mode, a bi-directional optical flow (BDOF) mode, or a decoder side motion vector refinement (DMVR) mode.

10 . The method according to claim 8 , wherein the first plurality of sequence level flags and the second plurality of sequence level flags are encoded in a Sequence Parameter Set (SPS) of the bitstream.

11 . The method according to claim 8 , wherein:

the one or more picture level flags are encoded in a picture header that the target picture refers to.

12 . The method according to claim 8 , wherein encoding the one or more o picture level flags comprises:

setting values of the one or more picture level flags based on whether the respective coding modes are enabled or disabled for the target picture.

13 . The method according to claim 7 , wherein the second plurality of sequence level flags comprises a first sequence level flag indicating whether a prediction refinement with optical flow (PROF) mode is enabled for the video sequence, and the method further comprises:

encoding a second sequence level flag indicating whether an affine mode is enabled for the video sequence; and

in response to the affine mode being enabled for the video sequence, encoding the first sequence level flag, or

in response to the affine mode being disabled for the video sequence, skipping the encoding of the first sequence level flag.

14 . A non-transitory computer-readable storage medium storing a bitstream of a video, the non-transitory computer-readable storage medium being part of a computing device configured to execute a set of instructions to cause the computing device to decode the bitstream according to operations comprising:

determining whether a first plurality of sequence level flags are present in the bitstream, based on a second plurality of sequence level flags, respectively;

determining whether one or more picture level flags are present in the bitstream, based on the first plurality of sequence level flags, respectively; and

enabling or disabling one or more coding modes for a target picture based on the one or more picture level flags, respectively.

15 . The non-transitory computer-readable storage medium according to claim 14 , wherein the second plurality of sequence level flags comprises a first sequence level flag indicating whether a coding mode is enabled for a video sequence, the one or more picture level flags comprise a picture level flag indicating whether the coding mode is enabled for the target picture, the first plurality of sequence level flags comprises a second sequence level flag indicating whether the picture level flag is present, and the operations further comprise:

in response to the first sequence level flag indicating the coding mode is enabled for the video sequence, decoding a value of the second sequence level flag;

in response to the value of the second sequence level flag indicating the picture level flag is present, decoding a value of the picture level flag; and

in response to the value of the picture level flag indicating the coding mode is disabled for the targe picture, disabling the coding mode for the target picture; and

in response to the first sequence level flag indicating the coding mode is disabled for the video sequence, determining the second sequence level flag is not present; and

disabling the coding mode for a video sequence.

16 . The non-transitory computer-readable storage medium according to claim 15 , wherein the one or more coding modes comprises at least one of:

a prediction refinement with optical flow (PROF) mode, a bi-directional optical flow (BDOF) mode, or a decoder side motion vector refinement (DMVR) mode.

17 . The non-transitory computer-readable storage medium according to claim 15 , wherein the first plurality of sequence level flags and the second plurality of sequence level flags are present in a Sequence Parameter Set (SPS) of the bitstream.

18 . The non-transitory computer-readable storage medium according to claim 15 , wherein:

the one or more picture level flags are present in a picture header; and the target picture refers to the picture header.

19 . The non-transitory computer-readable storage medium according to claim 14 , wherein the second plurality of sequence level flags comprises a first sequence level flag associated with a prediction refinement with optical flow (PROF) mode, and the operations further comprise:

determining, based on a second sequence level flag, whether an affine mode is enabled for a video sequence; and

in response to the affine mode being enabled, determining that the first sequence level flag is signaled in the bitstream and determining, based on the first sequence level flag, whether the PROF mode is enabled for the video sequence.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2026
From: ALIBABA INNOVATION PRIVATE LIMITED
To: HFI INNOVATION INC.
Reel/Frame 075499/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: ALIBABA INNOVATION PRIVATE LIMITED
Reel/Frame 074832/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2024
From: CHEN, JIE; LIAO, RU-LING; YE, YAN; LUO, JIANCONG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 067994/0482 →
Continuity (5)
Continuation 18187356 · Mar 21, 2023
Continuation 16998221 · Aug 20, 2020
Provisional Application 62902921 · Sep 19, 2019
Provisional Application 62899169 · Sep 12, 2019
Related Publication 20260019611A1 · Jan 15, 2026
References Cited (47)
US 8290038B1 · Wang et al. · 2012 [cited by applicant]
US 11641475B2 · Chen · 2023 [cited by examiner]
US 20050013372A1 · Srinivasan · 2005 [cited by examiner]
US 20120207227A1 · Tsai et al. · 2012 [cited by applicant]
US 20130077696A1 · Zhou · 2013 [cited by applicant]
US 20130272377A1 · Karczewicz · 2013 [cited by examiner]
US 20140003492A1 · Chen et al. · 2014 [cited by applicant]
US 20140029670A1 · Kung et al. · 2014 [cited by applicant]
US 20140092984A1 · Fang et al. · 2014 [cited by applicant]
US 20160234494A1 · Seregin et al. · 2016 [cited by applicant]
US 20160330481A1 · Zhang et al. · 2016 [cited by applicant]
US 20170374369A1 · Chuang et al. · 2017 [cited by applicant]
US 20190238883A1 · Chen et al. · 2019 [cited by applicant]
US 20200304805A1 · Li et al. · 2020 [cited by applicant]
US 20200366888A1 · Seregin et al. · 2020 [cited by applicant]
US 20210044833A1 · Yang · 2021 [cited by applicant]
US 20210058634A1 · Li et al. · 2021 [cited by applicant]
US 20210185338A1 · Xiu et al. · 2021 [cited by applicant]
US 20210368198A1 · Zhang et al. · 2021 [cited by applicant]
US 20220038713A1 · Li · 2022 [cited by examiner]
US 20220116619A1 · Chen · 2022 [cited by applicant]
US 20220182659A1 · Xiu et al. · 2022 [cited by applicant]
US 20220210431A1 · Xiu et al. · 2022 [cited by applicant]
US 20220210462A1 · Luo et al. · 2022 [cited by applicant]
CN 105493505A · 2016 [cited by applicant]
CN 105765974A · 2016 [cited by applicant]
CN 107409227A · 2017 [cited by applicant]
CN 108781294A · 2018 [cited by applicant]
WO 2018143496A1 · 2018 [cited by applicant]
WO WO2019089933A1 · 2019 [cited by applicant]
WO WO2019238008A1 · 2019 [cited by applicant]
WO WO2020253858A1 · 2020 [cited by applicant]
Bross et al., “Versatile Video Coding (Draft 4),” JVET-N1001-v10, 13 [cited by applicant]
Bross et al., “Versatile Video Coding (Draft 6),”JVET-O2001-vE, 15 [cited by applicant]
Chen et al., “Algorithm description for Versatile Vide Coding and Test Model 6 (VTM 6),” JVET-O2002-v2, 15 [cited by applicant]
Chen et al., “Algorithm Description of Joint Exploration Test Model 7 (JEM 7),” JVET-G1001-v1, 7 [cited by applicant]
International Telecommunications Union “Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services—Coding of moving video”, ITU-T Telecommunication Standardization Sector of ITU, Apr. 2013, 317 … [cited by applicant]
PCT International Search Report and Written Opinion mailed Dec. 21, 2020, issued in corresponding International Application No. PCT/US2020/047139 (11 pgs.). [cited by applicant]
PCT International Search Report and Written Opinion mailed Nov. 9, 2020, issued in corresponding International Application No. PCT/US2020/047113 (6 pgs.). [cited by applicant]
Schafer et al., “Digital Video Coding Standards and Their Role in Video Communications,” Proceedings of the IEEE, vol. 83, No. 6, pp. 907-924 (1995). [cited by applicant]
Segall et al., “Joint Call for Proposals on Video Compression with Capability beyond HEVC,” JVET-H1002 (v6), 8 [cited by applicant]
Sullivan et al., “Overview of the High Efficiency Video Coding (HEVC) Standard,” IEE Transactions on Circuits and Systems for Video Technology, vol. 22, No. 12, pp. 1649-1668 (2012). [cited by applicant]
He et al., “Unified syntax for JVET-00184/00250/00504 on DMVR and BDOF flag” 5th Meeting: Gothenburg, SE, Jul. 3-12, 2019, 3 pages. [cited by applicant]
Search Report issued in corresponding Chinese Application No. 202510428488.6 (1 page), Jan. 6, 2026. [cited by applicant]
Search Report issued in corresponding Chinese Application No. 202510428247.1 (2 pages), Jan. 8, 2026. [cited by applicant]
Search Report issued in corresponding Chinese Application No. 202510428252.2 (2 pages), Jan. 9, 2026. [cited by applicant]
Search Report issued in corresponding Chinese Application No. 202510428386.4 (1 page), Jan. 8, 2026. [cited by applicant]