IP Library Granted Patent US 9,584,804
Granted Patent B2
US 9,584,804 · App. 13/802,005 · Granted Feb 28, 2017

Coding SEI NAL units for video coding

Inventor: Ye-Kui Wang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/00569H04N19/31H04N19/46H04N19/573H04N19/70
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 9,584,804
App. No.
13/802,005
Granted
Feb 28, 2017
Kind
B2
Abstract

In one example, a device for decoding video data includes a processor configured to determine, for a supplemental enhancement information (SEI) network abstraction layer (NAL) unit of a bitstream, whether a NAL unit type value for the SEI NAL unit indicates that the NAL unit comprises a prefix SEI NAL unit including a prefix SEI message or a suffix SEI NAL unit including a suffix SEI message, and decode video data of the bitstream following the SEI NAL unit based on whether the SEI NAL unit is the prefix SEI NAL unit or the suffix SEI NAL unit and data of the SEI NAL unit.

Claims (94)

1. A method of decoding video data, the method comprising:

determining a first value of a first network abstraction layer (NAL) unit type for a first supplemental enhancement information (SEI) NAL unit of a bitstream and a second value of a second NAL unit type for a second SEI NAL unit of the bitstream, wherein the first NAL unit type value for the first SEI NAL unit indicates that the first SEI NAL unit comprises a prefix SEI NAL unit including a prefix SEI message, and wherein the second NAL unit type for the second SEI NAL unit indicates that the second SEI NAL unit comprises a suffix SEI NAL unit including a suffix SEI message;

decoding video data of the bitstream based on data of the first SEI NAL unit, in accordance with the first SEI NAL unit being the prefix SEI NAL unit, and based on data of the second SEI NAL unit, in accordance with the second SEI NAL unit being the suffix SEI NAL unit, wherein decoding the video data further comprises:

extracting the prefix SEI NAL unit and then extracting first one or more Video Coding Layer (VCL) NAL units from a first access unit including the prefix SEI NAL unit, the first one or more VCL NAL units including a last VCL NAL unit, and the first one or more VCL NAL units succeeding the prefix SEI NAL unit in decoding order in the first access unit; and

extracting second one or more VCL NAL units including a last VCL NAL unit and then extracting the suffix SEI NAL unit from a second access unit, wherein the suffix SEI NAL unit succeeds the second one or more VCL NAL units including the last VCL NAL unit in the second access unit in decoding order.

2. A device for decoding video data, the device comprising:

a memory configured to store video data of a bitstream; and

a processor configured to:

determine a first value of a first network abstraction layer (NAL) unit type for a first supplemental enhancement information (SEI) NAL unit of a bitstream and a second value of a second NAL unit type for a second SEI NAL unit of the bitstream, wherein the first NAL unit type value for the first SEI NAL unit indicates that the first SEI NAL unit comprises a prefix SEI NAL unit including a prefix SEI message, and wherein the second NAL unit type for the second SEI NAL unit indicates that the second SEI NAL unit comprises a suffix SEI NAL unit including a suffix SEI message;

decode video data of the bitstream based on data of the first SEI NAL unit, in accordance with the first SEI NAL unit being the prefix SEI NAL unit, and based on data of the second SEI NAL unit, in accordance with the second SEI NAL unit being the suffix SEI NAL unit, wherein to decode the video data, the processor is further configured to:

extract the prefix SEI NAL unit and then extracting first one or more Video Coding Layer (VCL) NAL units from a first access unit including the prefix SEI NAL unit, the first one or more VCL NAL units including a last VCL NAL unit, and the first one or more VCL NAL units succeeding the prefix SEI NAL unit in decoding order in the first access unit; and

extract second one or more VCL NAL units including a last VCL NAL unit and then extracting the suffix SEI NAL unit from a second access unit, wherein the suffix SEI NAL unit succeeds the second one or more VCL NAL units including the last VCL NAL unit in the second access unit in decoding order.

3. A device for decoding video data, the device comprising:

means for determining a first value of a first network abstraction layer (NAL) unit type for a first supplemental enhancement information (SEI) NAL unit of a bitstream and a second value of a second NAL unit type for a second SEI NAL unit of the bitstream, wherein the first NAL unit type value for the first SEI NAL unit indicates that the first SEI NAL unit comprises a prefix SEI NAL unit including a prefix SEI message, and wherein the second NAL unit type for the second SEI NAL unit indicates that the second SEI NAL unit comprises a suffix SEI NAL unit including a suffix SEI message;

means for video data of the bitstream based on data of the first SEI NAL unit, in accordance with the first SEI NAL unit being the prefix SEI NAL unit, and based on data of the second SEI NAL unit, in accordance with the second SEI NAL unit being the suffix SEI NAL unit, wherein the means for decoding the video data further comprises:

means for extracting the prefix SEI NAL unit and then extracting first one or more Video Coding Layer (VCL) NAL units from a first access unit including the prefix SEI NAL unit, the first one or more VCL NAL units including a last VCL NAL unit, and the first one or more VCL NAL units succeeding the prefix SEI NAL unit in decoding order in the first access unit; and

means for extracting second one or more VCL NAL units including a last VCL NAL unit and then extracting the suffix SEI NAL unit from a second access unit, wherein the suffix SEI NAL unit succeeds the second one or more VCL NAL units including the last VCL NAL unit in the second access unit in decoding order.

4. A computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

determine a first value of a first network abstraction layer (NAL) unit type for a first supplemental enhancement information (SEI) NAL unit of a bitstream and a second value of a second NAL unit type for a second SEI NAL unit of the bitstream, wherein the first NAL unit type value for the first SEI NAL unit indicates that the first SEI NAL unit comprises a prefix SEI NAL unit including a prefix SEI message, and wherein the second NAL unit type for the second SEI NAL unit indicates that the second SEI NAL unit comprises a suffix SEI NAL unit including a suffix SEI message;

decode video data of the bitstream based on data of the first SEI NAL unit, in accordance with the first SEI NAL unit being the prefix SEI NAL unit, and based on data of the second SEI NAL unit, in accordance with the second SEI NAL unit being the suffix SEI NAL unit, wherein the instructions that cause the processor to decoding the video data further comprise instructions that cause the processor to:

extract the prefix SEI NAL unit and then extracting first one or more Video Coding Layer (VCL) NAL units from a first in an access unit including the prefix SEI NAL unit, the first one or more VCL NAL units including a last VCL NAL unit, and the first one or more VCL NAL units succeeding the prefix SEI NAL unit in decoding order in the first access unit; and

extract second one or more VCL NAL units including a last VCL NAL unit and then extracting the suffix SEI NAL unit from a second access unit, wherein the suffix SEI NAL unit succeeds the second one or more VCL NAL units including the last VCL NAL unit in the second access unit in decoding order.

5. A method of generating a bitstream including video data, the method comprising:

encoding a first supplemental enhancement information (SEI) message comprising a prefix SEI message and a second SEI message comprising a suffix SEI message, wherein the prefix SEI message and the suffix SEI message each includes data related to encoded video data;

encapsulating the prefix SEI message in a first SEI network abstraction layer (NAL) unit;

setting a first NAL unit type value for the first SEI NAL unit to a value that indicates that the first SEI NAL unit is a prefix SEI NAL unit;

forming a first access unit such that the first access unit includes the first SEI NAL unit succeeded by a last Video Coding Layer (VCL) NAL unit in decoding order;

encapsulating the suffix SEI message in a second SEI NAL unit;

setting a second NAL unit type value for the second SEI NAL unit to a value that indicates that the second SEI NAL unit is a suffix SEI NAL unit;

forming a second access unit such that the second access unit includes one or more VCL NAL units including a last VCL NAL unit succeeded by the suffix SEI NAL unit in decoding order such that the suffix SEI NAL unit follows all of the VCL NAL units in the second access unit in decoding order; and

generating a bitstream including at least the first access unit and the second access unit.

6. A device for generating a bitstream including video data, the device comprising a processor configured to:

encode a first supplemental enhancement information (SEI) message comprising a prefix SEI message and a second SEI message comprising a suffix SEI message, wherein the prefix SEI message and the suffix SEI message each includes data related to encoded video data;

encapsulate the prefix SEI message in a first SEI network abstraction layer (NAL) unit;

set a first NAL unit type value for the first SEI NAL unit to a value that indicates that the first SEI NAL unit is a prefix SEI NAL unit;

a first access unit such that the first access unit includes the first SEI NAL unit succeeded by a last Video Coding Layer (VCL) NAL unit in decoding order;

encapsulate the suffix SEI message in a second SEI NAL unit;

set a second NAL unit type value for the second SEI NAL unit to a value that indicates that the second SEI NAL unit is a suffix SEI NAL unit;

form a second access unit such that the second access unit includes one or more VCL NAL units including a last VCL NAL unit succeeded by the suffix SEI NAL unit in decoding order such that the suffix SEI NAL unit follows all of the VCL NAL units in the second access unit in decoding order; and

generate a bitstream including at least the first access unit and the second access unit.

7. A device for generating a bitstream including video data, the device comprising:

means for encoding a first supplemental enhancement information (SEI) message comprising a prefix SEI message and a second SEI message comprising a suffix SEI message, wherein the prefix SEI message and the suffix SEI message each includes data related to encoded video data;

means for encapsulating the prefix SEI message in a first SEI network abstraction layer (NAL) unit;

means for setting a first NAL unit type value for the first SEI NAL unit to a value that indicates that the first SEI NAL unit is a prefix SEI NAL unit;

means for forming a first access unit such that the first access unit includes the first SEI NAL unit succeeded by a last Video Coding Layer (VCL) NAL unit in decoding order;

encapsulating the suffix SEI message in a second SEI NAL unit;

setting a second NAL unit type value for the second SEI NAL unit to a value that indicates that the second SEI NAL unit is a suffix SEI NAL unit;

means for forming a second access unit such that the second access unit includes one or more VCL NAL units including a last VCL NAL unit succeeded by the suffix SEI NAL unit in decoding order such that the suffix SEI NAL unit follows all of the VCL NAL units in the second access unit in decoding order; and

means for generating a bitstream including at least the first access unit and the second access unit.

8. A computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:

encode a first supplemental enhancement information (SEI) message comprising a prefix SEI message and a second SEI message comprising a suffix SEI message, wherein the prefix SEI message and the suffix SEI message each includes data related to encoded video data;

encapsulate the prefix SEI message in a first SEI network abstraction layer (NAL) unit;

set a first NAL unit type value for the first SEI NAL unit to a value that indicates that the first SEI NAL unit is a prefix SEI NAL unit;

form a first access unit such that the first access unit includes the first SEI NAL unit succeeded by a last Video Coding Layer (VCL) NAL unit in decoding order;

encapsulate the suffix SEI message in a second SEI NAL unit;

set a second NAL unit type value for the second SEI NAL unit to a value that indicates that the second SEI NAL unit is a suffix SEI NAL unit;

form a second access unit such that the second access unit includes one or more VCL NAL units including a last VCL NAL unit succeeded by the suffix SEI NAL unit in decoding order such that the suffix SEI NAL unit follows all of the VCL NAL units in the second access unit in decoding order; and

generate a bitstream including at least the first access unit and the second access unit.

9. The device of claim 2 , wherein the device comprises at least one of:

one or more integrated circuits;

one or more microprocessors;

one or more digital signal processors (DSPs);

one or more field programmable gate arrays (FPGAs);

a desktop computer;

a laptop computer;

a tablet computer;

a phone;

a television;

a camera;

a display device;

a digital media player;

a video game console;

a video game device;

a video streaming device; or

a wireless communication device.

10. The device of claim 2 , further comprising a display device that is configured to display at least a portion of the video data.

11. The device of claim 3 , wherein the device comprises at least one of:

one or more integrated circuits;

one or more microprocessors;

one or more digital signal processors (DSPs);

one or more field programmable gate arrays (FPGAs);

a desktop computer;

a laptop computer;

a tablet computer;

a phone;

a television;

a camera;

a display device;

a digital media player;

a video game console;

a video game device;

a video streaming device; or

a wireless communication device.

12. The device of claim 3 , further comprising display means for displaying at least a portion of the video data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: WANG, YE-KUI
To: QUALCOMM INCORPORATED
Reel/Frame 030210/0232 →
Continuity (2)
Provisional Application 61670066 · Jul 10, 2012
Related Publication 20140016707A1 · Jan 16, 2014