Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
INDIVIDUAL BUFFER MANAGEMENT IN VIDEO CODING
Document Type and Number:
WIPO Patent Application WO/2014/168890
Kind Code:
A1
Abstract:
In one embodiment, a method determines buffer parameter settings for a plurality of layers in a scalable video stream for a video. Each layer includes a respective buffer parameter setting. Then, the method applies respective buffer parameter settings to individual buffers for respective layers in the plurality of layers. The respective layers are buffered in the individual buffers according to the respective buffer parameter settings where the respective layers are combined after the buffers to form a combined bitstream including the respective layers for decoding.

Inventors:
NARASIMHAN MANDAYAM A (US)
LUTHRA AJAY K (US)
Application Number:
PCT/US2014/033231
Publication Date:
October 16, 2014
Filing Date:
April 07, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
GEN INSTRUMENT CORP (US)
International Classes:
H04N19/152; H04N19/70; H04N19/30
Domestic Patent References:
WO2008084184A22008-07-17
WO2008085433A22008-07-17
Foreign References:
US20050254575A12005-11-17
Other References:
ANONYMOUS: "Text ISO/IEC 13818-1:2007/FPDAM3.2 Carriage of SVC in MPEG-2 Systems", 83. MPEG MEETING;14-1-2008 - 18-1-2008; ANTALYA; (MOTION PICTUREEXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. N9669, 7 February 2008 (2008-02-07), XP030016163, ISSN: 0000-0043
SAM NARASIMHAN ET AL: "Signaling framework to support HEVC scalability", 101. MPEG MEETING; 16-7-2012 - 20-7-2012; STOCKHOLM; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m26141, 11 July 2012 (2012-07-11), XP030054474
Y-K WANG ET AL: "SVC HRD", 21. JVT MEETING; 78. MPEG MEETING; 20-10-2006 - 27-10-2006; HANGZHOU,CN; (JOINT VIDEO TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ),, no. JVT-U111, 20 October 2006 (2006-10-20), XP030006757, ISSN: 0000-0407
CHEN J ET AL: "SHVC Working Draft 1", 12. JCT-VC MEETING; 103. MPEG MEETING; 14-1-2013 - 23-1-2013; GENEVA; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-L1008, 20 March 2013 (2013-03-20), XP030113953
BOYCE J ET AL: "VPS support for out-of-band signaling and hybrid codec scalability", 11. JCT-VC MEETING; 102. MPEG MEETING; 10-10-2012 - 19-10-2012; SHANGHAI; (JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JCTVC-SITE/,, no. JCTVC-K0206, 1 October 2012 (2012-10-01), XP030113088
CHOU P A ET AL: "A generalized hypothetical reference decoder for H.264/AVC", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 13, no. 7, 1 July 2003 (2003-07-01), pages 674 - 687, XP011099259, ISSN: 1051-8215, DOI: 10.1109/TCSVT.2003.814965
Attorney, Agent or Firm:
WARD, Thomas, A. et al. (Suwanee, GA, US)
Download PDF:
Claims:
CLAIMS

What.. is claimed is:

1. A method comprising:

detenainittg, by a computing device, buffer parameter settings for a plurality of layers in a scalable video stream for a video, wherein, each layer includes a. respective buffer parameter setting;

applying, by the computing device, respective buffer parameter settings to individual buffers for respecti e layers in the plurality of layers; and

buffering, by the computing device, die respective layers in the individual buffers according to the respective buffer parameter settings, wherein the respective layers are combined after the buffers to form a combined bHstream including the respective layers for decoding.

2. The method of claim I , wherein buffer parameter settings each specify a bitrate for an individual buffer.

3. The method of claim 1, wherein each buffer parameter settings each specify a buffer size for an individual buffer.

4. The method of claim 1, further comprising:

combining the respective layers into die combined biistream; and

decoding the combined biistream..

5. The method of claim 4, further comprising:

after combining, buffering the combined bitstream in a combined biistream buffer before decoding the combined biistream.

6. The method of claim 1 , wherein the buffer parameter settings indicate thai individual buffer parameters settings are included in a video layer and/or a transport layer.

7. The method, of claim .1 , wherei the boiler parameter settings received from art encoder are encoded in a video layer including the plurality of layers,

8. The method of claim 7, wherein a supplemental enhancement information field includes the buffer parameter settings.

9. The method of claim i„ wherein the buffer parameter settings received from aa encoder are included in a transport layer used to send the plurality of layers.

10. The method of claim 9, wherein the buffer parameter settings received from the encoder are included in a video descriptor including the plurality of layers.

1.1. The method of claim I, wherein determining the buffer parameter settings comprises:

pre-setting the buffer parameter settings in a decoder.

12. The method of claim 1 , wherein applying respecti ve buffer parameter settings comprises :

applying the respective buffer parameter settings to an input of the individual buffers and an output of the individual buffers.

13 An apparatus comprising: one or more computer processors; and

a »on-tra»sitory compu er-readable storage medium composing instructions thai, when executed, control the one or more computer processors to be configured determining buffer parameter settings for a plurality of layers in a scalable video stream for a video, wherein each layer includes a respective buffer parameter setting;

sending respective buffer parameter settings to individual buffers for respective layers in the plurality oi" layers to a decoder, wherein the decoder buffers the respective layers in the individual buffers according to the respective buffer parameter settings, and wherein the respective layers are combined after the buffers to form a combined bitstream including the respective layers for decoding,

14, Tire apparatus of claim 13, wherein sending comprises sending the buffer parameter settings in a video layer including th plurality of layers.

15, The apparatus of claim 14, wherein a supplemental enhancement information field includes the buffer parameter settings,

.16. The apparatus of claim 13, wherein sending comprises sending the buffer parameter settings in a transport layer used to send the plurality of layers.

17. The apparatus of claim 13, wherein the buffer parameter settings are included in a video descrip tor including the plurality of layers.

18, An apparatus comprising;

one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions that, when executed, control the one or more computer processor's to be configured for:

determining buffer parameter settings for a plurality of layers in a scalable video stream for a video, wherein each layer includes a respective buffer parameter setting;

applying respective buffer parameter settings to individual buffers for respective layers in the plurality' of layers; and.

buffering the respective layers in the individual buffers according to the respective buffer parameter settings, wherein the respective layers are combined after the buffers to form a combined biisiream including the respecti e layers for decoding.

19. The apparatus of claim 18, wherein the buffer parameter settings received from an encoder are encoded in a video layer including the plurality of layers.

20. "The apparatus of claim 18, wherein the buffer parameter settings received from the encoder are included in a transport layer used to send the plurality of layers.

Description:
INDIVIDUAL BUFFER MANAGEMENT IN VIDEO CODING

CLAIM FOR PRIORITY

(ΘΘΘ 1 ] The present disclosure claims priority to U.S. Provisional App. No. 61/809,741, entitled "Consideration of Buffer Management Issues and Layer Management in HEVC Scalability", filed April 8, 2013, the contents of which is incorporated herein by reference in its entirety.

BACKGROUND

f0002j Scalable video coding supports decoders with different capabilities. An encoder generates multiple encoded bitstreams for an input video. This is in contrast to single layer coding, which only uses one encoded bitstream for a video. In the scalable video coding, one of the output encoded bitstreams, referred to as the base layer (BL), cart be decoded, by itself and this encoded bitstream provides the lowest scalability level of the video output To achieve a higher level of video output, the decoder can process the base layer bitstream together with other encoded bitstreams, referred to as enhancement layers (EL)- ' The enhancement layer may be added to the base layer to generate higher scalability levels. One example is spatial scalability, where the base layer represents the lowest resolution video and the decoder can generate higher resolution video ' using the base layer bitstream together with additional, enhancement layer bitstreams. Thus, using additional enhancement layer bitstreams produce a better quality video output, such as by achieving temporal, signal-to-noise ratio (SN ), and spatial improvements.

(0003] In a transmission model, such as a simulcast, a video on demand, or a streaming model, the encoder may transmit the video stream over various mediums to various decoders of different capabilities. Buffer management requires sending the compressed bytes of video data for each picture (also called access unit) into a video buffer whose size and input rate is defined by a video standard and a scheme where the picture data is removed at a specified time from the video buffer. Standards require that the video buffer never overflow (that is the video pictiire data is removed at correct time before new data enters the buffer thus making it overflow).

[0ΘΘ ] Decoders buffer the combined encoded bitstreara before decoding unless only the base layer is being used. If only the base layer is being decoded, the decoder would buffer just the base layer. The buffer management may become difficult among decoders thai are combining a different number of layers of the scalable video. For example, some of the decoders may request just the base layer, and some decoders may request the base layer and any number of enhancement layers. Decoders thai request more than the base layer would combine the base layer and any enhancement layers, and then subsequently decode the combined bitstream. Because the buffers include different layers combined into encoded bitstreanis, such as some buffers ma include just the base layer, and other buffers may include a different number of layers (e.g., a base layer plus any number of enhancement layers), the management of the buffers may be difficult. For example, removal of the base layer plus enhancement layer data after combining them adds complexity and is a burden to the buffer management systems and many transport processing systems that are used for base layer processing need t be re-designed and modified. This also imposes a burden on other applications such as re- multiplexing and transcoding.

SUMMARY

[OOOSJ la oae embodiment, a method determines buffer parameter settings for a plurality of layers in a scalable video stream for a video. Each layer includes a respective buffer parameter setting. Then, the method applies respective buffer parameter settings to individual buffers For respecti ve layer's in the plurality of layers. The respective layers are buffered in the individual, buffers according to the respective buffer parameter settings where the respective layers are combined after the buffers to form a combined bitstream including the respective layers for decoding.

10006 j In one embodiment, an apparatus includes: one or more computer processors; and a non-transiiory computer-readable storage medium comprisin instructions that, when executed, control the one or more computer processors to be configured for; determining buffer parameter settings for a plurality of layers in a scalable video stream for a video, wherein each layer includes a respective buffer parameter setting; sending respective buffer parameter settings to individual buffers for respective layers in the plurality of Iayers to a decoder, wherein the decoder buffers the respective layers in the individual buffers according to the respective buffer parameter settings, and wherein the respective layers are combined after the buffers to form a combined hilstream including the respective layers for decoding.

|0007j in one embodiment, an apparatus includes: one or more computer processors; and a non-transitory computer-readable storage medium comprising instructions that, when executed, control the one or more computer processors to be configured for: determining buffer parameter settings fo a plurality of Iayers in a scalable video stream for a video, wherein each layer includes a respective buffer parameter setting; applying respective buffer parameter settings to individual buffers for respective layers in the plurality of layers; and buffering the respective iayers in the individual buffers according to the respective buffer parameter settings, wherein the respective layers are combined after the buffers to form a combined bitstream including the respective layers for decoding.

(0ΘΘ8) The following detailed description and accompanying drawings provide a better understanding of the na ture and ad vantages of parti cular embodiments,

BRIEF DESCRIPTION OF THE DRAWINGS

{0ΘΘ ) FIG. 1 depicts a simplified system for providing scalable video according to one embodiment.

[0010} FIG. 2A depicts a simplified example of individual buffers for a base layer and enhancement layers according to one embodiment.

[O ll ' j FIG. 2B depicts a more detailed example of a destination device according to one embodiment,

[0012] FIG, 3 depicts a more detailed example of the buffers for the destination, device according to one embodiment. (0013} FiG. 4 depicts an example of signaling the ' buffer parameter settings according to one embodiment.

[0014] FIG. 5 depicts a second, example of configuring buffer parameter settings according to one embodiment.

1 . 00151 FiG. 6 depicts a simplified flowchart for encoding a video stream according to one embodiment.

[0016] FIG, 7 depicts a simplified flowchart of a method for decoding a video stream according to one embodiment.

DETAILED DESCRIPTION

[0017] Described herein are techniques for a buffer management system, in the following description, for purposes of explanation, numerous examples and specific details are set .forth in order to provide a thorough understanding of particular embodiments. Particular embodiments as defined by the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include modifications and equivalents of the features and concepts described herein.

1001.8 ' j Particular embodiments provide individual buffer management for layers in a scalable video coding scheme, such as high efficiency scalable video coding for high efficiency video coding (HEVC). HEVC scalability may support adding scalability to pre-eoropressed base layers and/or other enhancement layers. In all these eases, it may be difficult to manage base layer and base+ nhancment layer] buffers in parallel to achieve conformant buffer behaviour. Accordingly,, in one embodiment, buffer parameter settings manage buffer parameters, such as the buffer size and bitrate of individual buffers that store individual layers. That is, each layer may be stored in an individual buffer that- can he managed with a respecii e buffer parameter setting. For example, a base layer is stored in a first buffer and an enhancement layer is stored in a secon buffer, and other enhancement layers are stored in other respective buffers. Each buffer may be managed with a buffer parameter setting that specifies parameters, such as the bitrate and size for each respective buffer. Managing the individual buffers simplifies the management of the buffers and also provides flexibility in allowing addition of additional enhancement layers or the changing of parameters for a layer,

1 . 001.?! FIG. 1 depicts a simplified system 100 for providing scalable video according to one embodiment System 100 includes a source device .102 and a plurality of destination devices 104-1 - 104-N, Source device 102 includes an encoder 106 and each destination device 104- 1 - 104-N includes a respective decoder 1 8-1 - 108-N. Source device 102 may be a device that transmits encoded video to destination devices 1 4. In one embodiment, source device 102 may include a server or any other networking device or system that can encode video and transmit encoded video. Destination devices 104 may include devices that are capable of decoding the encoded video. Destination devices 104 may include .networking devices, set top boxes, cellular phones, televisions, and any other computing devices.

|0020j 1° one embodiment, in scalable video coding, encoder 106 may generate multiple bitstreams for an. input video. As mentioned above, the base layer may be decoded by itself and provides the lowest scalability level of the video output, and additional enhancement layers may be combined with the base layer to generate higher scalability levels. The enhancement layers enhance other layers, such as zero or more enhancement layers and the base layer. As shown, encoder 106 may generate a base layer (BL) .1 10 and any number of enhancement layers (EL) 1 1.2-1 - 1 12- .

[0021] Destination devices 104 ma request different layer from source device 102 depending on the destination device's capabilities. Source device 1 2 always needs to send base layer 11.0 to destination devices 104. However,, source device 102 may send any number of enhancement layers 1 12 to destination devices 104 including no enhancement layers 1 12, As shown in FIG, 1, destination device 104-1 only receives base layer 3 10. in this case, destination device 1 4-1 may only have the capability of generating the lowest resolution video. Destination device .1 4-2 receives the base layer 1 10 and one enhancement layer ! 12-1 . Decoder 108-2 can combine the base layer I S O and enhancement, layer 112- 1 to generate a higher resolution video. Also, destination device 104-N receives base layer H O and ea aacemeni layers 1 12-1 -

1 12-N. Decoder 108-N combines base layer 1 1 and the received enhancement layers 1 12- 1 - ! 12-N . The above process ma save bandwidth . For example, decoder 1 8- 1 may only be able to decode the base layer and thus not receiving the enhancement layers may reduce the bandwidth required to send the video stream to destination device 104-L The same is true for destination device 104-2 as less enhancement layers are sent to destination device 104-2 than to device 104-N.

(0022) Encoder 106 and decoders 108 manage the buffers (not shown.) in decoders 108 that store the bitstreams received for base layer 1 10 and enhancement layers 1 12. For example, encoder 106 includes an encoder buffer manager 1 14 and each decoder 1 8 includes respective decoder buffer managers 1 16-1 - 1 16-N. in one embodiment, encoder buffer manager 1 14 may signal buffer parameter settings to decoders 1 8. In other embodiments, encoder buffer manager 1 14 may not send the buffer parameter settings to decoder buffer manager 1 16; rather, as will be discussed in more detail below, the buffer parameter settings may be preset in decoder buffer manager 1 16. Decoder buffer managers 11.6 ma then manage the individual buffers that store base layer 11.0 and enhancement layers 1 12 using the buffer parameter settings.

10023] The buffer parameter settings may manage characteristics of the buffer, such as the bitrate and the buffer size allocated for each layer. For example, the maximum bitrate and the maximum buffer size are managed. Although "settings" are described, the settings may include a setting for one single parameter or multiple parameters.

[0024] As described above, particular embodiments manage the individual buffers for each layer (base layer 1 10 and enhancement layers 1 12) before the combining of the bitstreams for the base layer 110 and enhancement layers 112. FIG. 2A depicts a simplified example of individual buffers 202 .for base layer 1.1.0 and enhancement layers 1 12 according to one embodiment. A base layer buffer 202- 1 and an enhancement layer buffer 202-2 buffer the base layer and the enhancement layer, respectively. A coded picture buffer 206- 1 buffers the encoded hiistream of the base layer. A base layer decoder 108-1 only decodes the base layer. If enhancement layers are to be decoded, a coded picture buffer 206-2 buffers a combination of the base layer and the enhancement layers. An enhancement Saver decoder 108-2 decodes the output of coded picture buffer 206-2, i.e., the combined base layer and enhancement layers. A first video stream at 204- i is output by a first decoder 1 2- 1 and a second video stream at 204-2 is output by a second * decoder 102-2, First decoder 108-1 and second decoder 108-2 ma be in different destination devices 104, or could be in the same destination device 104.

(0025) Decoder buffer managers 1 16 manage buffers 202 at various points. For example, decoder buffer managers I i 6 manage the input to buffers 202 and the output of buffers 202, This may simplify the buffer management by defining buffer parameter settings for a buffer for each enhancement layer independently and thus moving the buffer management before re-assembly of base and enhancement layers. This makes the buffer management simitar for all the layers including base layer. In contrast to the Background, decoder buffer managers 1 16 manage the input to enhancement layer buffer 202-2 and also the output of enhancement layer buffer 202- 2. This is in contrast io managing just the output of coded picture buffer 206-2, which outputs the combination of the base layer and the enhancement layers.

|O026j In one embodiment, buffer management in the video layer is called H D (Hypothetical reference decoder). The video layer may also be transported in a transport stream. The corresponding buffer management in the transport stream (MPEG transport stream) is called T-STD (Transport - System Target Decoder). For a majority of the applications that use vide such as broadcast, streaming, or VOD, the video is usually encapsulated in the transpor stream and transmitted. Buffer management requires sending the compressed bytes of video data- (e.g., the encoded bitstreara) for each picture (also called access unit). The video data is stored in buffers 202 whose size and input rate is defined by the buffer parameter settings, such as a scheme where the picture data is removed at a specified time from buffers 202. Managing individual buffers 202 simplifies the complexity of the system target decoder's buffer management and makes it easier to implement. Also, managing the buffers for the individual base layer and enhancement layers independently before reassembly of the lay ers simplifies the hypothetical reference decoder model. (0Θ27] FIG. 2B depicts a more detailed example of destination device 104 according to one embodiment. Buffers 202-1- 202-N are included in a single destination device 1 4. Buffer 202-1 receives base layer 1 10 from encoder 1 6, and buffers 202-2 - 202-N receive respective enhancement layers 112-1 , 1 12-2, . . 1 12- , respectively. As will be discussed in more detail below, destination device 104 may receive a transport stream, that includes packets for encoded bitstreams of the base layer and enhancement layers. Destination device 1.04 demultiplexes the transport stream and stores respeciive bitstreams for base layer 1 10 and enhancement layers 1 12 from, the transport, stream in the proper buffers 202.

[0028] The bitstreams may be then multiplexed together to form, a combined bitstream. For example, a reassembly device 205 receives the encoded, bitstreams for base layer 1 10 and enhancement layers 1 12 from buffers 202, and then combines base layer 110 with enhancement layers 1 12 to form a combined bitstream. Reassembly device 205 stores the combined bitstream in a coded picture buffer 206, Decoder 1.08 reads the coded pictures out of coded pict ure buffer 206 for decoding,

(0029] Decoder buffer manager 1 16 receives buffer parameter settings for each layer. For example, decoder buffer manager 1 16 receives a first buffer parameter setting for base layer i 10, a second buffer parameter setting for enhancement layer 1 12-1 , a third buffer parameter setting for enhancement layer 1 12-2, and so on. Although buffer parameter settings for each layer are described, it will be understood that some buffer parameter settings may apply to multiple layers, or a single buffer parameter setting may apply to all layers.

(0630] Decoder buffer manager 1 16 ma appl buffer parameter settings to the input and output of individual buffers 202 that are buffering each individual layer, in this case, decoder buffer manager 1 16 applies buffer parameter setting #1 t buffer 202- 1 , buffer parameter setting #2 to buffer 202-2, buffer parameter setting #3 to buffer 202-3, and buffer parameter setting #N to buffer 202-N, This manages the buffers for each individual layer independently. That is, the buffers are managed for each individual layer before any combination of the layers occurs.

S (0031) Managing individual buffers 202 also makes management of the coded picture buffer 206, which stored the combined bitsiream, not necessary. Managing the bitrate and buffer size for each of the layers in buffers 202 may indirectly manage the coded picture buffer 206. That is, if the bitstream read out of buffers 202 is controlled, the combined bitsiream for coded picture buffer 206 is indirectly controlled.

(0Θ32) In the T-STD, there may be other buffers where the transport, stream (e.g., the encapsulated video data) is buffered, FIG. 3 depicts a more detailed example of the buffers for destination device 104 according to one embodiment Destination device 1.04 ma use various types of buffers to buffer the transport stream, with each buffer serving a different function. The output of the buffers may be the encoded bitstream for a layer that is extracted from the transport stream. However, it will be understood that although these buffers are shown, the buffers may he configured differently.

(0033) As encoded bitstream is received at a transport stream (TS) demultiplexer 302. The transport stream may include packets that include the encoded bitstream for all layers where packets for different layers are intermixed. Each packet may include information for a single layer, however, and are identified via a. packet identifier (PID) for the respective layer. TS demultiplexer 302 uses the packet identifier to demultiplex the transport stream. That is, TS demultiplexer 302 forwards transport stream packets to various buffers that handle respective layers. In one example, TS demultiplexer 302 sends the packets for base layer HO in a stream, shown at 304- 1. and TS demultiplexer 302 sends packets for enhancements layers 1 12 in streams shown at 304-2 - 304- , respectively.

[ΘΘ34] Transport stream, buffers (TB) 306-1 - 306-N store the transport packets for each respective layer. Then, the data is transferred to respective multiplexing buffers (MB) 308- 1 - 308-N with the headers removed from the transport packets. In each multiplexing buffer, additional processing of the data may be performed, such as removing the packetized elementary stream (PES) packet header data. The resulting data is transferred, to an EB buffer 310, which includes respective SB buffers 3 12-1 ~ 312-N. SB buffers 332- 1 - 312-N may correspond to buffers 202 as described previously. In each SB buffer 312, the encoded streams for each layer are reconstructed and output to reassembly device 205, which may be a multiplexer. Reassembly device 205 then reassembles base layer 1 10 and any enhancemeitt layers 1 12 and outputs the combined bUstream t decoder 108 thai performs the decoding process. Once the encoded combined bitstream is decoded, decoded pictures are stored in a decoded picture buffer (DPB) 316.

(0035) As mentioned above, decoder buffer manager 1 16 may manage individual buffers independently. In tins case, decoder buffer manager 1 16 may manage the input and the output of SB buffers 312-1. - 312-N using buffer parameter settings; however, TB buffers 306 or MB buffers 308 may also be managed individually.

|0036j As discussed above, particular embodiments may provide the buffer parameter settings to decoder buffer manager .5 16 in different ways. In one embodiment, encoder buffer manager .1 14 may signal the buffer parameter settings in the video stream or the transport stream, in another embodiment, the buffer parameter settings may be predetermined and preset in decoder buffer manager 1 16. The following will describe the two different ways.

(003?) FIG. 4 depicts an example of signaling the buffer parameter settings according to one embodiment. First, the signaling in the video stream may indicate that the encoded bitstream can be managed for each layer (where the bitrate and buffer size is signaled for each layer separately)., in one embodiment, the signaling is done using two methods - the first is in the video layer and may use a new 'SET * (supplemental enhancement information.) that first signals the ability to do individual layer buffer management and also provides the buffer parameters such as input video rate to decoder buffer managers .1 .16 and the layer-specific buffer size. The second method is in the video layer and may use HRD parameters in the video VUl (video usability information) that signals the same information as in the SEi. In the transport layer, the corresponding signaling is a specific 'video descriptor' in the program map table (PMT) for each video layer that maps the parameters from the video to this descriptor. f 0Θ38) Table includes a se prefix SEI payloa type value in H ' EVC to signal layer specific information such as maximum bit rate, average bit. rate and maximum CPB buffer size. Table I provides an example of ie SEI message syntax where the parameters can be signaled for a single layer or multiple layers. Although HEVC is discussed, the syntax ' may be applied to other video coding standards.

HEVC Scalability information SEI message syntax

Table I

(0039) The following describe the syntax in more detail;

active ... vps id: identifies an active video parameter set (VPS) that contaias the layer information. The value of active__vps_id shall be equal to the value of video . parameter ..... sef jd of the active VPS for the video coding layer (V ' CL) network abstraction layer ( AL) units of the access unit containing the SEI message.

layer_level_info_presentJflag[i]: specifies whether the level information about layer index i.

layer JeveHdc[i] : indicates a level to which iih layer in the CVS conforms as specified in Annex A of the HEVC specification. layer hrd iofo present fiagp]: specifies whether the hrd information about layer index i is present.

layer jn xJjt 'atej duej i j: specifies the maximum bit rate value of layer index i. layer av bit rate , yaluef i ; specifies average bit rate value of layer index i layer jraaxj:pbjsize_vaiue|ij: specifies maximum cpb size value of layer index i. Iayer_avg_cpb_si .e_va1ue[i|: specifies average cpb size value of layer index i.

max_burate_ca1c jw.rado | ί j: specifies the window to calculate maximum bit rate for layer index i.

[0040] In die above syntax, the individual buffer parameters are set, such as the average bitrate and maximum buffer size. This may set the bitrate and size for buffers 202 as described above (or SB buffers 312).

(0041 ] Encoder buffer manager 11 may determine the buffer parameter settings for base layer 1 10 and enhancement layers 1 12, Encoder 106 may include these parameters for each of the layers in the video layer. Also, individual packets may include buffer parameter settings 404 in the transport layer to send the buffer parameter settings 404. In this case, the packets that do not include the encoded bitsiream include the buffer management settings.

(0Θ 2] Table 11 shows a syntax for signaling using HRD extension for each layer; vps_extension() syntax

Table II

|0043| Decoder 108 receives the transport stream, and can determine the buffer parameter settings 404 from the transport layer or video layer wheo. individual buffer parameter settings are enabled. Decoder buffer manager 1 16 then, uses the buffer parameter settings to apply the parameters to buffers 202,

(0Θ44) FIG. 5 depicts a second example of configuring buffer parameter settings according to one embodiment. In this case, decoder buffer manager 1 16 receives the buffer parameter settings as pre-determined settings, ϊη this case, independent buffer sizes and bitrates may be set for each layer by a specification, such as the HEVC scalability specification. A user or computer tnay set the buffer parameter settings in decoder buffer manager 1 1.6. Then, decoder buffer manager 1 16 ma apply the buffer parameter settings to individual buffers 202, In this case, decoder buffer manager 1 16 applies the buffer parameter settings implicitly without any communication from encoder 106 that includes the buffer parameter settings. (0Θ45] The following describes the encoding and decoding processes. FIG. 6 depicts a simplified flowchart 600 for encoding a video stream according to one embodiment. At 602, encoder 1 6 determines which layers to send, to a specific destination device 104, As discussed above, encoder 1 6 may send base layer 1 10 and any number of enhancement layers 112 to different destination devices 104.

[0046] A 604, encoder 106 encodes base layer 1 10 and enhancement layers 1 12 into encoded bitstreams. At 606, encoder 106 packeiizes the encoded bitstreams for base layer 110 and enhancement layers 1 12 into a paeketaed elementary stream

(PES). At 608, encoder 106 includes buffer parameter settings m the video layer or the transport layer. Encoder 106 then transmits the packets including the encoded bitstreams for base layer 110 and enhancement layers i 12 to destination device 1 4.

§0047] FIG. 7 depicts a simplified flowchart 700 of a method for decoding a video stream according to one embodiment. At 702, decoder 108 receives the packets including the encoded bitstreams for base layer 1 10 and enhancement layers 112. At. 704, decoder 1 8 determines the buffer parameter settings for the included layers in the packets. For example, the buffer parameter settings may be determined from the video layer or the transport layer when the individual buffer parameter settings are enabled, l ' 0048 ' l At 706, decoder 108 buffers the individual layers in buffers 202 for each respective layer. At 70S, decoder buffer manager 1 1 applies the buffer parameter settings to each respective buffer 202. At 710, decoder 108 reads the data for each layer out of buffers 202, combines the encoded bitstreams, and then buffers the combined bitstrearo for decoding. At 712, decoder 108 then decodes the combined bitstreara.

(0Θ49) Particular embodiments may be implemented in a non-transitory computer- readable storage medium for use by or in. connection with the instruction execution system, apparatus, system, or machine. The computer-readable storage medium contains instructions for controlling a computer system to perform a method described by particular embodiments. The computer system may include one or more computing devices. The instructions, when executed by one or more computer processors, may be operable to perform that which is described in particular embodiments.

(0050] As used in the description herein and. throughout the claims that follow, "a", "an", and "the" includes plural references unless the context clearly dictates otherwise. Also, as used in the description herein and throughout the claims that follow, the meaning of "in" includes "in" and "on" unless the context clearly dictates otherwise.

(0051] The above description illustrates various embodiments along with examples of how aspects of particular embodiments may be implemented. The above examples and embodiments should not be deemed to be the onl embodiments, and are presented to illustrate the iiexibiiity and advantages of particular embodiments as defined by the following claims. Based on (he above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents may be employed without departing from the scope hereof as defined by the claims.