IP Library Granted Patent US 8,937,997
Granted Patent B2
US 8,937,997 · App. 11/710,183 · Granted Jan 20, 2015

Scalable video coding/multiplexing compatible with non-scalable decoders

Inventors: Barin Geoffry Haskell (Mountain View, CA); David William Singer (San Francisco, CA); Thomas Pun (Kowloon, HK); Hsi-Jung Wu (San Jose, CA); James Oliver Normile (Los Altos, CA)
Assignee: Apple Inc.
H04N19/00369H04N21/234327H04N21/2389H04N21/2662H04N21/4385H04N21/64792H04N21/6582H04N21/8451H04N19/00127H04N19/00321H04N19/00781H04N19/00545H04N19/00436
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 8,937,997
App. No.
11/710,183
Granted
Jan 20, 2015
Kind
B2
Abstract

Scalable video coding and multiplexing compatible with non-scalable decoders is disclosed. In some embodiments, video data is received and encoded in a manner that renders at least a base layer to be compatible with a non-scalable video encoding standard, including by assigning for at least the base layer default values to one or more scalability parameters. In some embodiments, video data is received and encoded to produce an encoded video data that includes a base layer that conforms to a non-scalable video encoding standard and one or more subordinate non-scalable layers, which subordinate non-scalable layers do not by themselves conform to the non-scalable video encoding standard but which can be combined with the base layer to produce a result that does conform to the non-scalable video encoding standard, such that the result can be decoded by a non-scalable decoder. An identification data identifying those portions of the encoded video data that are associated with a subordinate non-scalable layer is included in the encoded video data.

Claims (47)

1. A method of encoding video data, comprising:

receiving a video data;

encoding the video data in accordance with a scalable video coding scheme, in a manner that renders a base layer to be compatible with a non-scalable video encoding standard, including assigning for the base layer default values to one or more scalability parameters;

including in the coded video data, an identification data that identifies those portions of the encoded video data that conform to the non-scalable video encoding standard, said identification provided in a packet separate from the identified portions; and

transmitting the coded video data such that the layer assigned default scalability parameter values is transmitted without scalability parameters associated with the base layer.

2. A method as recited in claim 1 , wherein the one or more scalability parameters include one or more of the following: priority id, dependency id, and temporal level id.

3. A method as recited in claim 1 , wherein the non-scalable video encoding standard comprises the H.264 video encoding standard.

4. A method as recited in claim 1 , further comprising configuring a scalable decoder to use for at least the base layer said default values for said one or more scalability parameters, instead of transmitted scalability parameters.

5. A method as recited in claim 1 , wherein the encoded video data includes more than one layer that conforms to the non-scalable video encoding standard and further comprising assigning for each non-scalable layer, based at least in part on a characteristic of that non-scalable layer, a corresponding set of one or more default scalability parameter values.

6. A method as recited in claim 5 , wherein the characteristic comprises one or more of the following: sequence parameter set and picture parameter set.

7. A method as recited in claim 1 , wherein including in the encoded video data an identification data comprises including in a stream of packets, in a position prior in transmission order to one or more following packets associated with a scalable layer having coding that is compatible with the non-scalable video encoding standard, a special packet that identifies the one or more following packets as being associated with a scalable layer having coding that is compatible with the non-scalable video encoding standard.

8. A method as recited in claim 7 , wherein the special packet includes for the one or more following packets with which the special packet is associated default values for one or more scalability parameters.

9. A method as recited in claim 7 , further comprising configuring a non-scalable decoder to ignore the special packet and select a non-scalable layer to decode.

10. A method as recited in claim 9 , wherein the selection is based at least in part on one or more of the following: profile and level of the non-scalable layers and picture size.

11. A method as recited in claim 7 , further comprising configuring a forwarding node to make a forwarding decision based at least in part on the identification data.

12. A method as recited in claim 11 , wherein the forwarding decision is made based at least in part on a capability of a downstream decoder to which the encoded video data or a portion thereof is to be forwarded.

13. A method as recited in claim 11 , wherein the forwarding decision includes determining which portions of the encoded video data to forward.

14. A method of decoding video data, comprising:

receiving an encoded video data;

receiving in the encoded video data, an identification data that identifies those portions of the encoded video data that conform to the non-scalable video encoding standard, said identification provided in a packet separate from the identified portions; and

decoding the encoded video data according to a scalable decoding scheme, including using for a base layer default values for one or more scalability parameters;

wherein for a layer decoded with default scalability parameter values the coded video data corresponding to the layer is received without scalability parameters associated with the layer.

15. A video encoding system, comprising:

a communication interface configured to receive a video data;

a hardware processor coupled to the communication interface and configured to encode the video data in accordance with a scalable video coding scheme, in a manner that a base layer to be compatible with a non-scalable video encoding standard, including assigning for the base layer default values to one or more scalability parameters, wherein for a layer assigned default scalability parameter values, the coded video data corresponding to the layer is transmitted without the default scalability parameters associated with the layer and to include in the coded video data, an identification data that identifies those portions of the encoded video data that conform to the non-scalable video encoding standard, said identification provided in a packet separate from the identified portions; and

a buffer device to store the coded video data.

16. A system as recited in claim 15 , wherein the one or more scalability parameters include one or more of the following: priority id, dependency id, and temporal level id.

17. A system as recited in claim 15 , wherein the encoded video data includes more than one layer that conforms to the non-scalable video encoding standard and the video encoder is further configured to assign for each non-scalable layer, based at least in part on a characteristic of that non-scalable layer, a corresponding set of one or more default scalability parameter values.

18. A system as recited in claim 15 , wherein the video encoder is configured to include the identification data in the encoded video data at least in part by including in a stream of packets, in a position prior in transmission order to one or more following packets associated with a scalable layer having coding that is compatible with the non-scalable video encoding standard, a special packet that identifies the one or more following packets as being associated with a scalable layer having coding that is compatible with the non-scalable video encoding standard.

19. A system as recited in claim 18 , wherein the special packet includes for the one or more following packets with which the special packet is associated default values for one or more scalability parameters.

20. A system as recited in claim 15 , wherein the video encoder comprises a processor configured to execute computer instructions for encoding the video data.

21. A computer program product for encoding video data, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving a video data;

encoding the video data in accordance with a scalable video coding scheme, in a manner that renders a base layer to be compatible with a non-scalable video encoding standard, including assigning for the base layer default values to one or more scalability parameters,

including in the coded video data, an identification data that identifies those portions of the encoded video data that conform to the non-scalable video encoding standard, said identification provided in a packet separate from the identified portions, and

transmitting the coded video data such that the layer assigned default scalability parameter values is transmitted without scalability parameters associated with the layer.

22. A computer program product as recited in claim 21 , wherein the encoded video data includes more than one layer that conforms to the non-scalable video encoding standard and further comprising computer instructions for assigning for each non-scalable layer, based at least in part on a characteristic of that non-scalable layer, a corresponding set of one or more default scalability parameter values.

23. A computer program product as recited in claim 21 , wherein including in the encoded video data an identification data comprises including in a stream of packets, in a position prior in transmission order to one or more following packets associated with a scalable layer having coding that is compatible with the non-scalable video encoding standard, a special packet that identifies the one or more following packets as being associated with a scalable layer having coding that is compatible with the non-scalable video encoding standard.

24. A video decoding system, comprising:

a communication interface configured to receive an encoded video data;

a buffer device to receive and store the encoded video data; and

a hardware processor coupled to the communication interface and configured to decode the encoded video data according to a scalable decoding scheme, including using for a base layer default values for one or more scalability parameters, wherein for a layer decoded with default scalability parameter values the coded video data corresponding to the layer is received without scalability parameters associated with the layer

wherein included in the coded video data is an identification data that identifies those portions of the encoded video data that conform to the non-scalable video encoding standard, said identification provided in a packet separate from the identified portions.

25. A computer program product for decoding encoded video data, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving an encoded video data; and

receiving with the coded video data, an identification data that identifies those portions of the encoded video data that conform to the non-scalable video encoding standard, said identification provided in a packet separate from the identified portions; and

decoding the encoded video data according to a scalable decoding scheme, including using for a base layer default values for one or more scalability parameters wherein for a layer decoded with default scalability parameter values the coded video data corresponding to the layer is received without scalability parameters associated with the layer.

Assignments (2)
CHANGE OF NAME Recorded Sep 17, 2014
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 033764/0901 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2007
From: HASKELL, BARIN GEOFFRY; SINGER, DAVID WILLIAM; PUN, THOMAS; WU, HSI-JUNG; NORMILE, JAMES OLIVER
To: APPLE COMPUTER, INC.
Reel/Frame 019046/0624 →
Continuity (3)
Provisional Application 60782807 · Mar 16, 2006
Provisional Application 60785796 · Mar 23, 2006
Related Publication 20070217503A1 · Sep 20, 2007