IP Library › Granted Patent US 12,256,074
Granted Patent B2
US 12,256,074 · App. 18/472,486 · Granted Mar 18, 2025

Processing a video frame having slices and tiles

Inventors: Kiran Misra (Vancouver, WA); Christopher Segall (Camas, WA)
Assignee: VELOS MEDIA, LLC
H04N19/124H04N19/105H04N19/117H04N19/13H04N19/159H04N19/174H04N19/176H04N19/43H04N19/436H04N19/44H04N19/513H04N19/55H04N19/61H04N19/615H04N19/63H04N19/70H04N19/91H04N19/172H04N19/184
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,256,074
App. No.
18/472,486
Granted
Mar 18, 2025
Kind
B2
Abstract

A method for decoding video includes receiving a frame of the video that includes at least one slice and at least one time. Each of the at least one slice and the at least one tile are not all aligned with one another. Each of the at least one slice is characterized that it is decoded independently of the other the at least one slice. Each of the at least one tile is characterized that it is a rectangular region of the frame and having coding units for the decoding arranged in a raster scan order. The at least one tile of the frame are collectively arranged in a raster scan order of the frame.

Claims (68)

1. A method for decoding a video frame, the method comprising:

receiving a bitstream representative of the video frame, where the video frame comprises a plurality of slices and a plurality of tiles,

wherein the plurality of slices comprise independently codable portions of the video frame, and

wherein the plurality of tiles comprise rectangular regions of the video frame that include a plurality of rows of coding units arranged in a raster scan order;

decoding a first syntax element from a picture parameter set of the video frame, the first syntax element indicating that the plurality of tiles is present in the video frame;

decoding, based on the first syntax element indicating that the plurality of tiles is present in the video frame, a second syntax element from a slice header of at least one slice of the plurality of slices, the second syntax element indicating that a bitstream location information for at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;

decoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element from the slice header of the at least one slice, the third syntax element indicating a bit length for a bitstream location value, whereby the bit length represents a number of bits used to identify the bitstream location value; and

decoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit length for the bitstream location value, the bitstream location value for a tile of the plurality of tiles.

2. The method of claim 1 , wherein the bitstream location value indicates a byte location of the tile in the bitstream.

3. The method of claim 1 further comprising:

decoding the tile by decoding the plurality of rows of coding units in the tile in the raster scan order.

4. A decoding device for decoding a video frame comprising:

circuitry configured to:

receive a bitstream representative of the video frame, where the video frame comprises a plurality of slices and a plurality of tiles,

wherein the plurality of slices comprise independently codable portions of the video frame, and

wherein the plurality of tiles comprise rectangular regions of the video frame that include a plurality of rows of coding units arranged in a raster scan order;

decode a first syntax element from a picture parameter set of the video frame, the first syntax element indicating that the plurality of tiles is present in the video frame;

decode, based on the first syntax element indicating that the plurality of tiles is present in the video frame, a second syntax element from a slice header of at least one slice of the plurality of slices, the second syntax element indicating that a bitstream location information for at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;

decode, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element from the slice header of the at least one slice, the third syntax element indicating a bit length for a bitstream location value, whereby the bit length represents a number of bits used to identify the bitstream location value; and

decode, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit length for the bitstream location value, the bitstream location value for a tile of the plurality of tiles.

5. The decoding device of claim 4 , wherein the bitstream location value indicates a byte location of the tile in the bitstream.

6. The decoding device of claim 4 , wherein the circuitry is further configured to:

decode the tile by decoding the plurality of rows of coding units included in the tile in the raster scan order.

7. A non-transitory computer readable medium storing instructions which when executed cause a computer to perform operations comprising:

receiving a bitstream representative of a video frame, where the video frame comprises a plurality of slices and a plurality of tiles,

wherein the plurality of slices comprise independently codable portions of the video frame, and

wherein the plurality of tiles comprise rectangular regions of the video frame that include a plurality of rows of coding units arranged in a raster scan order;

decoding a first syntax element from a picture parameter set of the video frame, the first syntax element indicating that the plurality of tiles is present in the video frame;

decoding, based on the first syntax element indicating that the plurality of tiles is present in the video frame, a second syntax element from a slice header of at least one slice of the plurality of slices, the second syntax element indicating that a bitstream location information for at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;

decoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element from the slice header of the at least one slice, the third syntax element indicating a bit length for a bitstream location value, whereby the bit length represents a number of bits used to identify the bitstream location value; and

decoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit length for the bitstream location value, the bitstream location value for a tile of the plurality of tiles.

8. The non-transitory computer readable medium of claim 7 , wherein the bitstream location value indicates a byte location of the tile in the bitstream.

9. The non-transitory computer readable medium of claim 7 , the operations further comprising:

decoding the tile by decoding the plurality of rows of coding units in the tile in the raster scan order.

10. A method for encoding a video frame, the method comprising:

generating a bitstream representative of the video frame, where the video frame comprises a plurality of slices and a plurality of tiles,

wherein the plurality of slices comprise independently codable portions of the video frame, and

wherein the plurality of tiles comprise rectangular regions of the video frame that include a plurality of rows of coding units arranged in a raster scan order;

encoding a first syntax element into a picture parameter set portion of the bitstream, the first syntax element indicating that the plurality of tiles is present in the video frame;

encoding, based on the first syntax element indicating that the plurality of tiles is present in the video frame, a second syntax element into a portion of the bitstream corresponding to a slice header of at least one slice of the plurality of slices, the second syntax element indicating that a bitstream location information for at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;

encoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element into the slice header of the bitstream, the third syntax element indicating a bit length for a bitstream location value, whereby the bit length represents a number of bits used to identify the bitstream location value; and

encoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit length for the bitstream location value, the bitstream location value for a tile of the plurality of tiles.

11. The method of claim 10 , wherein the bitstream location value indicates a byte location of the tile in the bitstream.

12. The method of claim 10 further comprising:

encoding the video frame by encoding the plurality of rows of coding units in each tile of the video frame in the raster scan order.

13. An encoding device for encoding a video frame comprising:

circuitry configured to:

generate a bitstream representative of the video frame, where the video frame comprises a plurality of slices and a plurality of tiles,

wherein the plurality of slices comprise independently codable portions of the video frame, and

wherein the plurality of tiles comprise rectangular regions of the video frame that include a plurality of rows of coding units arranged in a raster scan order;

encode a first syntax element into a picture parameter set portion of the bitstream, the first syntax element indicating whether or not a plurality of tiles are used in the video frame;

encode, based on the first syntax element indicating that the plurality of tiles is present in the video frame, a second syntax element into a portion of the bitstream corresponding to a slice header of at least one slice of the plurality of slices, the second syntax element indicating that a bitstream location information for at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;

encode, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element into the slice header of the bitstream, the third syntax element indicating a bit length for a bitstream location value, whereby the bit length represents a number of bits used to identify the bitstream location value; and

encode, based on the second syntax element indicating that bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit length for the bitstream location value, the bitstream location value for a tile of the plurality of tiles.

14. The encoding device of claim 13 , wherein the bitstream location value indicates a byte location of the tile in the bitstream.

15. The encoding device of claim 13 , wherein the circuitry is further configured to:

encode the video frame by encoding the plurality of rows of coding units included in each tile of the video frame in the raster scan order.

16. A non-transitory computer readable medium storing instructions which when executed cause a computer to perform operations comprising:

generating a bitstream representative of a video frame where the video frame comprises a plurality of slices and a plurality of tiles,

wherein the plurality of slices comprise independently codable portions of the video frame, and

wherein the plurality of tiles comprise rectangular regions of the video frame that include a plurality of rows of coding units arranged in a raster scan order;

encoding a first syntax element into a picture parameter set portion of the bitstream, the first syntax element indicating that the plurality of tiles is present in the video frame;

encoding, based on the first syntax element indicating that the plurality of tiles is present in the video frame, a second syntax element into a portion of the bitstream corresponding to a slice header of at least one slice of the plurality of slices, the second syntax element indicating that a bitstream location information for at least one tile of the plurality of tiles is transmitted in the slice header of the at least one slice;

encoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, a third syntax element into the slice header of the bitstream, the third syntax element indicating a bit length for a bitstream location value, whereby the bit length represents a number of bits used to identify the bitstream location value; and

encoding, based on the second syntax element indicating that the bitstream location information for the at least one tile of the plurality of tiles is transmitted in the slice header, and based on the bit length for the bitstream location value, the bitstream location value for a tile of the plurality of tiles.

17. The non-transitory computer readable medium of claim 16 , wherein the bitstream location value indicates a byte location of the tile in the bitstream.

18. The non-transitory computer readable medium of claim 15 , the operations further comprising:

encoding the video frame by encoding the plurality of rows of coding units in each tile in the video frame in the raster scan order.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2023
From: MISRA, KIRAN; SEGALL, CHRISTOPHER A.
To: SHARP LABORATORIES OF AMERICA, INC.
Reel/Frame 064994/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2023
From: SHARP LABORATORIES OF AMERICA, INC.
To: SHARP KABUSHIKI KAISHA
Reel/Frame 064994/0898 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2023
From: SHARP CORPORATION
To: VELOS MEDIA, LLC
Reel/Frame 064994/0955 →
Continuity (7)
Continuation 17895159 · Aug 25, 2022
Continuation 17020595 · Sep 14, 2020
Continuation 16458644 · Jul 1, 2019
Continuation 15334461 · Oct 26, 2016
Continuation 14279745 · May 16, 2014
Continuation 13180419 · Jul 11, 2011
Related Publication 20240015291A1 · Jan 11, 2024
References Cited (138)
US 5166684A · Juri et al. · 1992 [cited by applicant]
US 5220325A · Ackland et al. · 1993 [cited by applicant]
US 5663725A · Jang · 1997 [cited by applicant]
US 5703793A · Wise et al. · 1997 [cited by applicant]
US 5767797A · Yogeshwar et al. · 1998 [cited by applicant]
US 5959690A · Toebes et al. · 1999 [cited by applicant]
US 5963154A · Wise et al. · 1999 [cited by applicant]
US 6481012B1 · Gordon et al. · 2002 [cited by applicant]
US 6614442B1 · Ouyang et al. · 2003 [cited by applicant]
US 7529302B2 · Mukerjee · 2009 [cited by applicant]
US 8374238B2 · Xiong et al. · 2013 [cited by applicant]
US 8542737B2 · Dvir et al. · 2013 [cited by applicant]
US 8767824B2 · Misra et al. · 2014 [cited by applicant]
US 8780972B2 · He · 2014 [cited by applicant]
US 9185411B2 · Misra · 2015 [cited by applicant]
US 9215473B2 · Coban · 2015 [cited by applicant]
US 9398307B2 · Segall · 2016 [cited by applicant]
US 9432687B2 · Cho · 2016 [cited by applicant]
US 9525877B2 · Misra et al. · 2016 [cited by applicant]
US 10390013B2 · Misra · 2019 [cited by examiner]
US 10623780B2 · Norkin · 2020 [cited by examiner]
US 10812799B2 · Misra et al. · 2020 [cited by applicant]
US 10986351B2 · Kim · 2021 [cited by examiner]
US 11019340B2 · Ji · 2021 [cited by examiner]
US 11057627B2 · Kim · 2021 [cited by examiner]
US 11240526B2 · Jeong · 2022 [cited by examiner]
US 20030031128A1 · Kim et al. · 2003 [cited by applicant]
US 20030079117A1 · Wise et al. · 2003 [cited by applicant]
US 20030118102A1 · Li · 2003 [cited by applicant]
US 20030156652A1 · Wise · 2003 [cited by applicant]
US 20040005007A1 · Viscito · 2004 [cited by applicant]
US 20050053156A1 · Lin · 2005 [cited by applicant]
US 20050111546A1 · Seo · 2005 [cited by applicant]
US 20050163227A1 · Sullivan · 2005 [cited by applicant]
US 20050256916A1 · Srinivasan · 2005 [cited by applicant]
US 20050276329A1 · Adiletta · 2005 [cited by applicant]
US 20060050971A1 · Page · 2006 [cited by applicant]
US 20060233239A1 · Sethi et al. · 2006 [cited by applicant]
US 20060268990A1 · Lin · 2006 [cited by applicant]
US 20070147497A1 · Bao · 2007 [cited by applicant]
US 20070280345A1 · Tu · 2007 [cited by applicant]
US 20080131079A1 · Toma · 2008 [cited by applicant]
US 20080199091A1 · Srinivasan · 2008 [cited by applicant]
US 20080219349A1 · Huang · 2008 [cited by applicant]
US 20080246637A1 · Chen et al. · 2008 [cited by applicant]
US 20080260041A1 · Au · 2008 [cited by applicant]
US 20090002379A1 · Baeza et al. · 2009 [cited by applicant]
US 20090003446A1 · Wu et al. · 2009 [cited by applicant]
US 20090003447A1 · Christoffersen et al. · 2009 [cited by applicant]
US 20090028427A1 · Yamada · 2009 [cited by applicant]
US 20090074073A1 · Srinivasan et al. · 2009 [cited by applicant]
US 20090074075A1 · Au · 2009 [cited by applicant]
US 20090245349A1 · Zhao · 2009 [cited by applicant]
US 20090323809A1 · Raveendran · 2009 [cited by applicant]
US 20100061447A1 · Tu · 2010 [cited by applicant]
US 20100061455A1 · Xu · 2010 [cited by applicant]
US 20100061645A1 · Wilkins · 2010 [cited by applicant]
US 20100080285A1 · Lee · 2010 [cited by applicant]
US 20100135416A1 · Huang · 2010 [cited by applicant]
US 20100142618A1 · Pandit et al. · 2010 [cited by applicant]
US 20100208796A1 · Luo · 2010 [cited by applicant]
US 20100226438A1 · Saunders et al. · 2010 [cited by applicant]
US 20100226441A1 · Tung et al. · 2010 [cited by applicant]
US 20100232504A1 · Feng · 2010 [cited by applicant]
US 20100313030A1 · Yang · 2010 [cited by applicant]
US 20110026600A1 · Kenji · 2011 [cited by examiner]
US 20110038424A1 · Luo · 2011 [cited by applicant]
US 20110050935A1 · Mukherjee · 2011 [cited by applicant]
US 20110142132A1 · Tourapis · 2011 [cited by applicant]
US 20110150085A1 · Andrijanic et al. · 2011 [cited by applicant]
US 20110194613A1 · Chen · 2011 [cited by examiner]
US 20110206289A1 · Dikbas · 2011 [cited by applicant]
US 20110280314A1 · Sankaran et al. · 2011 [cited by applicant]
US 20110317757A1 · Coban · 2011 [cited by applicant]
US 20110317764A1 · Joshi · 2011 [cited by applicant]
US 20110317771A1 · Chen · 2011 [cited by applicant]
US 20120140821A1 · Drugeon · 2012 [cited by applicant]
US 20120155532A1 · Puri et al. · 2012 [cited by applicant]
US 20120155533A1 · Puri et al. · 2012 [cited by applicant]
US 20120163453A1 · Horowitz · 2012 [cited by applicant]
US 20120183074A1 · Fuldseth · 2012 [cited by applicant]
US 20120207220A1 · Kim · 2012 [cited by applicant]
US 20120230398A1 · Segall · 2012 [cited by applicant]
US 20120230399A1 · Segall · 2012 [cited by applicant]
US 20120230428A1 · Segall et al. · 2012 [cited by applicant]
US 20120307894A1 · Chien · 2012 [cited by applicant]
US 20120314767A1 · Wang · 2012 [cited by applicant]
US 20120328004A1 · Coban · 2012 [cited by applicant]
US 20130016771A1 · Misra et al. · 2013 [cited by applicant]
US 20130016786A1 · Segall · 2013 [cited by applicant]
US 20130101035A1 · Wang · 2013 [cited by applicant]
US 20130107952A1 · Coban · 2013 [cited by examiner]
US 20130182774A1 · Wang · 2013 [cited by applicant]
US 20130182775A1 · Wang · 2013 [cited by applicant]
US 20130194386A1 · Leontaris · 2013 [cited by applicant]
US 20140254671A1 · Misra et al. · 2014 [cited by applicant]
US 20140301469A1 · Wang · 2014 [cited by applicant]
US 20150016543A1 · Rapaka · 2015 [cited by applicant]
US 20150023405A1 · Joshi · 2015 [cited by applicant]
US 20150237367A1 · Cho · 2015 [cited by applicant]
US 20150237368A1 · Cho · 2015 [cited by applicant]
US 20150237369A1 · Cho · 2015 [cited by applicant]
US 20170048523A1 · Misra et al. · 2017 [cited by applicant]
US 20190327469A1 · Misra et al. · 2019 [cited by applicant]
US 20200413060A1 · Misra et al. · 2020 [cited by applicant]
US 20220408090A1 · Misra et al. · 2022 [cited by applicant]
CN 102055963A · 2011 [cited by applicant]
EP 0891094A2 · 1999 [cited by applicant]
Segall, Andrew et al., Document: JCTVC-A105, A Highly Efficient and Highly Parallel System for Video Coding, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC TC1/SC29/WG11, 1st Meeting: Dr… [cited by applicant]
EP Communication mailed Mar. 19, 2018 in EP Application 12810956.8. [cited by applicant]
Wiegand et al., “WD1: Working draft 1 of High-Efficiency Video Coding,” JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 3rd Meeting: Guangzhou, CN, Oct. 7-15, 2010, 50 pgs., Part1. [cited by applicant]
Wiegand et al., “WD1: Working draft 1 of High-Efficiency Video Coding,” JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 3rd Meeting: Guangzhou, CN, Oct. 7-15, 2010, 50 pgs., Part2. [cited by applicant]
Wiegand et al., “WD1: Working draft 1 of High-Efficiency Video Coding,” JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 3rd Meeting: Guangzhou, CN, Oct. 7-15, 2010, 37 pgs., Part3. [cited by applicant]
Segall et al., “Video Decoder for Slices,” U.S. Appl. No. 13/194,677, filed Jul. 29, 2011. [cited by applicant]
Segall et al., “Video Decoder Parallelization Including a Bitstream Signal,” U.S. Appl. No. 13/045,442, filed Mar. 10, 2011. [cited by applicant]
Segall et al., “Video Decoder for Tiles,” U.S. Appl. No. 13/355,139, filed Jan. 20, 2012. [cited by applicant]
Misra et al., “New results for parallel decoding for Tiles,” JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-F594, 6th Meeting: Torino, IT, Jul. 14-22, 2011, 6 pgs. [cited by applicant]
Bross et al., “WD4: Working Draft 4 of High-Efficiency Video Coding, ” JCT-VC of ITU-T SG16 WP3 and ISO/IEC JTC1/ SC29/WG11, JCTVC-F803, 6th Meeting: Torino, IT, Jul. 14-22, 2011, pp. 1, v., vi, 29-30, 34-35, 59-62. [cited by applicant]
International Search Report, dated Oct. 9, 2012, for PCT International Application No. PCT/JP2012/068041, filed Jul. 10, 2012 by Sharp Kabushiki Kaisha, 5 pgs. [cited by applicant]
Segall et al.; “Video Decoder for Slices”; U.S. Appl. No. 15/068,784; filed Mar. 14, 2016. [cited by applicant]
Misra, et al.; “Video Decoder Parallelization for Tiles”; U.S. Appl. No. 14/279,741, filed May 16, 2014. [cited by applicant]
Japanese Notice of Rejection and English translation thereof mailed Jan. 23, 2018 in Japanese Application 2016-230306. [cited by applicant]
Fuldseth et al., “Tiles”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, Jul. 1, 2011, [JCTV-F335] (version 1) Document JCTVC-F335. [cited by applicant]
MIsra et al., “TIles for parallel decoding”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 5th Meeting: Geneva, CH, Mar. 16-23, 2011, [JCTVC-E412], Document JCTVC-E412. [cited by applicant]
Segall et al., “Video Decoder Parallelization Including Slices,” U.S. Appl. No. 13/045,425, filed Mar. 10, 2011. [cited by applicant]
Misra, et al.; “Video Decoder Parallelization for Tiles”; U.S. Appl. No. 14/279,745, filed May 16, 2014. [cited by applicant]
Misra et al., “Video Decoder Parallelization for Tiles”, U.S. Appl. No. 13/180,419, filed Jul. 11, 2011. [cited by applicant]
Girod et al., A scalable Codec for Internet Video Streaming, 1997. [cited by applicant]
Request for Ex Parte Reexamination Transmittal Form dated May 26, 2023 filed in connection with U.S. Pat. No. 10,390,013 (U.S. Appl. No. 15/334,461), 4 pp. [cited by applicant]
Request for Ex Parte Reexamination dated May 26, 2023 filed in connection with U.S. Pat. No. 10,390,013 (U.S. Appl. No. 15/334,461), 107 pp. [cited by applicant]
Information Disclosure Statement dated May 26, 2023 filed in connection with U.S. Pat. No. 10,390,013 (U.S. Appl. No. 15/334,461), 2 pp. [cited by applicant]
File History of U.S. Pat. No. 10,390,013. [cited by applicant]
Declaration of Dr. Lina Karam. [cited by applicant]
“H.264 and MPEG-4 Video Compression,” Iain E.G. Richardson, 2004 (Relevant Sections). [cited by applicant]
“H.264: Advanced video coding for generic audiovisual services,” ITU-T Rec. H.264 and ISO/11-C 14496-10 (MPEG4—Part 10), Nov. 2007 (Relevant Sections). [cited by applicant]
“Replacing slices with tiles for high level parallelism,” JCTVC-D227 (Written Propasal). [cited by applicant]
“Replacing slices with tiles for high level parallelism,” JCTVC-D227 (Slideshow Presentation). [cited by applicant]
Final Written Decision (Paper 45) from [cited by applicant]