WO2014107312A1 - Jctvc-l0227: vps_extension with updates of profile-tier-level syntax structure - Google Patents

Jctvc-l0227: vps_extension with updates of profile-tier-level syntax structure Download PDF

Info

Publication number
WO2014107312A1
WO2014107312A1 PCT/US2013/076225 US2013076225W WO2014107312A1 WO 2014107312 A1 WO2014107312 A1 WO 2014107312A1 US 2013076225 W US2013076225 W US 2013076225W WO 2014107312 A1 WO2014107312 A1 WO 2014107312A1
Authority
WO
WIPO (PCT)
Prior art keywords
profile
level
equal
present
flag
Prior art date
Application number
PCT/US2013/076225
Other languages
French (fr)
Inventor
Munsi Haque
Ali Tabatabai
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/035,740 external-priority patent/US10419778B2/en
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to KR1020157017673A priority Critical patent/KR101710290B1/en
Priority to KR1020177004602A priority patent/KR102000373B1/en
Priority to JP2015551696A priority patent/JP6107970B2/en
Priority to CN201380069289.6A priority patent/CN104904211B/en
Priority to EP13870094.3A priority patent/EP2926560A4/en
Publication of WO2014107312A1 publication Critical patent/WO2014107312A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • JCTVC-L0227 VPS_EXTENSION WITH UPDATES OF PROFILE-TIER-LEVEL
  • the present invention relates to the field of video encoding. More specifically, the present invention relates to high efficiency video coding.
  • the Video Parameter Set has been added as metadata to describe the overall characteristics of coded video sequences, including the dependencies between temporal sublayers.
  • the primary purpose of this is to enable the compatible extensibility of the standard in terms of signaling at the systems layer, e.g., when the base layer of a future extended scalable or multiview bitstream would need to be decodable by a legacy decoder, but for which additional information about the bitstream structure that is only relevant for the advanced decoder would be ignored.
  • the profile tier level syntax structure of a High Efficiency Video Coding (HEVC) syntax structure is updated to provide more flexibility for use in the vps_extension() syntax structure for use in each layer or operating point.
  • a new flag 'LevelPresentFlag' is added in profile tier level syntax structure to support the variance of Level parameters separately from the Profile/Tier Paremeter.
  • the update to the profile tier level syntax structure provides flexibility in selecting profile tier and level parameters for HEVC selections in scalable video coding, multi-view coding and 3D video coding areas.
  • a method programmed in a non-transitory memory of a device comprises acquiring content and generating a video parameter set of the content utilizing a level flag indicating a level within the content.
  • the flag is an external passing parameter.
  • the flag is added syntax within a profile tier level syntax structure.
  • Generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number.
  • Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
  • Generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number.
  • Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.
  • the device comprises a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player, a high definition disc writer/player, an ultra high definition disc writer/player), a television, a home entertainment system, or a smart watch.
  • a method programmed in a non-transitory memory of a device comprises acquiring content and generating a video parameter set of the content utilizing a level flag indicating a level within the content, wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be
  • an apparatus comprises a non-transitory memory for storing an application, the application for acquiring content and generating a video parameter set of the content utilizing a level flag indicating a level within the content and a processing component coupled to the memory, the processing component configured for processing the application.
  • the flag is an external passing parameter.
  • the flag is added syntax within a
  • Generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number.
  • Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
  • Generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number.
  • Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
  • Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.
  • FIG. 1 illustrates a flowchart of a method of utilizing a modified VPS syntax according to some embodiments.
  • FIG. 2 illustrates a block diagram of an exemplary computing device configured to implement the modified VPS method according to some embodiments.
  • FIG. 3 illustrates a general diagram of an HEVC encoder according to some embodiments.
  • FIG. 4 illustrates a general diagram of an HEVC decoder according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
  • Described herein are updates for the profile tier level syntax structure to support additional flexibility for HEVC extensions while being used in vps_extensions( ) syntax structure for each layer or operating point.
  • DIS High Efficiency Video Coding
  • profilePresentFlag used as a parameter flag of profilePresentFlag
  • passing parameter in the profile tier level syntax structure in the DIS.
  • the following table shows what parameters are able to be conditioned when this syntax structure is used vps_extension( ) syntax structure to support various HEVC extensions requirements.
  • levelPresentFlag another conditional flag, either as an external passing parameter similar to "profilePresentFlag” or as an added syntax inside the profile tier level syntax structure.
  • Profile and Tier-related parameters may be varied per Layer or Operating Point based upon setting the ProfilePresentFlag to 1 or 0.
  • sub_layer_level_present_flag is present, then sub-layer related level parameters are able to be changed.
  • the Level parameters are able to be common to some profile/tier cases and may change for other cases.
  • Level parameters are able to be varied by setting a new flag of LevelPresentFlag to 1 or 0.
  • profilePresentFlag parameter similar to "profilePresentFlag" or as an added syntax inside the profile tier level syntax structure.
  • profilePresentFlag enables restrictions (presence) of profile and tier syntaxes in the syntax structure above for both general and sub-layer cases
  • LevellDC syntax parameters for both general and sub-layer cases in the current_profile_tier_level syntax structure.
  • LevellDC is able to be imposed either for a layer or an
  • the profile tier level syntax structure is able to be updated as follows: use of "levelPresentFlag” as a passing parameter similar to "profilePresentFlag,” or insert
  • levelPresentFlag as a new 1-bit syntax.
  • profile tier level An updated profile tier level syntax structure is shown below with levelPresent Flag as a passing parameter, similar to profilePresentFlag.
  • profile tier level ( profilePresentFlag, levelPresentFlag, Descriptor maxNumSubLayersMmusl) ⁇
  • vps_extension() uses vps_profile_tier syntax structure with
  • profile tier or level syntax parameters There are no restrictions for profile tier or level syntax parameters in general cases.
  • vps_extension() ⁇ Descriptor while(!byte_aligned( ))
  • vps_profile_present_flag[i] When this flag is equal to 1, this specifies the profile information for Layer i is present in the profile_tier_level( ) syntax structure. When this flag is equal to 0, this specifies that profile information for Layer i is not present in the profile_tier_level( ) syntax structure.
  • vps_profile_ref_layer_num[i] When vps_profile_present_flag[i] is equal to 0, profile information for Layer i is inferred to be equal to the profile information of the Layer indicated by vps_profile_ref_layer_num[i], a Layer-number used as an index to a Reference Profile-Tier Level Lookup table storing such information of previously sent layers.
  • vps_level_present_flag[i] When this flag is equal to 1, this specifies the level information for Layer i is present in the profile_tier_level() syntax structure. When this flag is equal to 0, this specifies that level information for Layer i is not present in the profile_tier_level( ) syntax structure.
  • vps_level_ref_layer_num[i] When vps_level_present_flag[i] is equal to 0, level information for Layer i is inferred to be equal to the level information of the Layer indicated by vps_level_ref_layer_num[i], a Layer-number used as an index to a Reference Profile- Tier-Level Lookup Table storing such information of previously sent Layers.
  • vps_level_present_flag is shown in the chart below, where such syntax parameter flags are present in the modified vps_extension() syntax structure shown above. 0 1 (Reference-Profile/Tier), Levelldc
  • vps_profile_present_flag and "vps_level_present_flag” helps in avoiding unknown conditions.
  • vps_profile_present_flag[i] When this flag is equal to 1, this specifies the profile information for Operation point i (or OP i) is present in the profile_tier_level() syntax structure. When this flag is equal to 0, this specifies that profile information for OP i is not present in the profile_tier_level( ) syntax structure.
  • vps_profile_ref_op_num[i] When vps_profile_present_flag[ i] is equal to 0, profile information for OP i is inferred to be equal to the profile information of the OP indicated by vps_profile_refjayer_num[ i], a OP-number used as an index to a Reference Profile-Tier- Level Lookup Table storing such information of previously sent OPs.
  • vps_level_present_flag[i] When this flag is equal to 1, this specifies the level information for OP i is present in the profile_tier_level() syntax structure. When this flag is equal to 0, this specifies that level information for OP i is not present in the profile_tier_level() syntax structure.
  • vps_level_ref_op_num[ i] When vps_level_present_flag[ i] is equal to 0, level information for OP i is inferred to be equal to the level information of the OP indicated by
  • vps_level_ref_layer_num[ 1] an OP-number used as an index to a Reference Profile-Tier- Level Lookup Table storing such information of previously sent OPs.
  • an update for the profile tier level syntax structure is made to support additional flexibilities in selecting profile tier and level parameters for HEVC extensions in scalable video coding, multi-view coding and 3D video coding areas.
  • this modified syntax structure is used in the vps_extension( ) syntax structure where the profile tier and level syntax parameters are restricted in two possible ways, either for each layer or for each operating point.
  • FIG. 1 illustrates a flowchart of a method of utilizing a modified VPS syntax according to some embodiments.
  • content e.g., a video
  • the content is able to be acquired in any manner such as copied, downloaded, captured using a sensor or any other way.
  • VPS data is generated utilizing a flag indicating a level. Additionally, the VPS data is generated using additional flags and data to indicate levels and/or operation points.
  • the VPS data contains various HEVC Extension
  • FIG. 2 illustrates a block diagram of an exemplary computing device configured to implement the modified VPS method according to some embodiments.
  • the computing device 200 is able to be used to acquire, store, compute, process, communicate and/or display information such as images and videos.
  • a hardware structure suitable for implementing the computing device 200 includes a network interface 202, a memory 204, a processor 206, I/O device(s) 208, a bus 210 and a storage device 212.
  • the choice of processor is not critical as long as a suitable processor with sufficient speed is chosen.
  • the memory 204 is able to be any conventional computer memory known in the art.
  • the storage device 212 is able to include a hard drive, CDROM, CDRW, DVD, DVDRW, Blu- ray®, flash memory card or any other storage device.
  • the computing device 200 is able to include one or more network interfaces 202.
  • An example of a network interface includes a network card connected to an Ethernet or other type of LAN.
  • the I/O device(s) 208 are able to include one or more of the following: keyboard, mouse, monitor, screen, printer, modem, touchscreen, button interface and other devices.
  • Modified VPS application(s) 230 used to perform the modified VPS method are likely to be stored in the storage device 212 and memory 204 and processed as applications are typically processed. More or fewer components shown in Figure 2 are able to be included in the computing device 200.
  • modified VPS hardware 220 is included.
  • the computing device 200 in Figure 2 includes applications 230 and hardware 220 for the modified VPS method, the modified VPS method is able to be implemented on a computing device in hardware, firmware, software or any combination thereof.
  • the modified VPS applications 230 are programmed in a memory and executed using a processor.
  • the modified VPS hardware 220 is programmed hardware logic including gates specifically designed to implement the modified VPS method.
  • the modified VPS application(s) 230 include several applications and/or modules. In some embodiments, modules include one or more sub- modules as well. In some embodiments, fewer or additional modules are able to be included.
  • Suitable computing devices include a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player (e.g., DVD writer/player, high definition disc writer/player, ultra high definition disc
  • a television a home entertainment system
  • smart jewelry e.g., smart watch
  • any other suitable computing device any other suitable computing device.
  • FIG. 3 illustrates a general diagram of an HEVC encoder according to some embodiments.
  • the encoder 300 includes a general coder control component, a transform scaling and quantization component, a scaling and inverse transform component, an intra- picture estimation component, a filter control analysis component, an intra-picture prediction component, a deblocking and SAO filters component, a motion compensation component, a motion estimation component, and a header formatting and CAB AC component.
  • An input video signal is received by the encoder 300 and is split into Coding Tree Units (CTUs).
  • the HEVC encoder components process the video data using the modified VPS and generate a coded bitstream.
  • FIG. 4 illustrates a general diagram of an HEVC decoder according to some embodiments.
  • the decoder 400 includes an entropy decoding component, an inverse quantization component, an inverse transform component, a current frame component, an intra prediction component, a previous frames component, a motion compensation component, a deblocking filter, an SAO component and an adaptive loop filter.
  • An input bitstream (e.g., a coded video) is received by the decoder 400, and a decoded bitstream is generated for display.
  • the modified VPS is utilized while decoding.
  • devices are able to access parameters in VPS and its extension for scalable video coding, multi-view coding, 3D video coding and mixed video sequences.
  • the modified VPS method is automatically used when performing video processing or other times.
  • the modified VPS method is able to be implemented
  • VPS and vps_extension( ) syntax structures are updated with some cleanups for the HEVC Extensions in scalable video coding, multi-view coding and 3D video coding areas.
  • the VPS is generated using the modified syntax structure.
  • a method programmed in a non-transitory memory of a device comprising:
  • generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
  • generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number.
  • generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.
  • the device comprises a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player, a high definition disc writer/player, an ultra high definition disc writer/player), a television, a home entertainment system, or a smart watch.
  • a method programmed in a non-transitory memory of a device comprising:
  • generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
  • An apparatus comprising:
  • a. a non-transitory memory for storing an application, the application for: i. acquiring content;
  • a processing component coupled to the memory, the processing component configured for processing the application.
  • the flag is an external passing parameter.
  • the apparatus of clause 14 wherein the flag is added syntax within a
  • generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number.
  • generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
  • generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number.
  • generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
  • generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The profile_tier_level syntax structure of a High Efficiency Video Coding (HEVC) syntax structure is updated to provide more flexibility for use in the vps_extension() syntax structure for use in each layer or operating point. A new flag 'LevelPresentFlag' is added in profile_tier_level syntax structure to support the variance of Level parameters separately from the Profile/Tier Paremeter. The update to the profile_tier_level syntax structure provides flexibility in selecting profile_tier and level parameters for HEVC selections in scalable video coding, multi-view coding and 3D video coding areas.

Description

JCTVC-L0227: VPS_EXTENSION WITH UPDATES OF PROFILE-TIER-LEVEL
SYNTAX STRUCTURE
CROSS-REFERENCE TO RELATED APPLICATION(S)
This application claims priority to the U.S. Provisional Patent Application Ser. No.
61/748,878, filed January 4, 2013 and titled, "JCTVC-LOXXX: VPS_EXTENSION WITH UPDATES OF PROFILE-TIER-LEVEL SYNTAX STRUCTURE," and U.S. Patent Application Ser. No. 14/035,740, filed September 24, 2013 and titled, "JCTVC-L0227: VPS EXTENSION WITH UPDATES OF PROFILE-TIER-LEVEL SYNTAX
STRUCTURE". Each of the above referenced applications is hereby incorporated herein by reference in its entirety for all purposes..
FIELD OF THE INVENTION
The present invention relates to the field of video encoding. More specifically, the present invention relates to high efficiency video coding.
BACKGROUND OF THE INVENTION
The Video Parameter Set (VPS) has been added as metadata to describe the overall characteristics of coded video sequences, including the dependencies between temporal sublayers. The primary purpose of this is to enable the compatible extensibility of the standard in terms of signaling at the systems layer, e.g., when the base layer of a future extended scalable or multiview bitstream would need to be decodable by a legacy decoder, but for which additional information about the bitstream structure that is only relevant for the advanced decoder would be ignored.
SUMMARY OF THE INVENTION
The profile tier level syntax structure of a High Efficiency Video Coding (HEVC) syntax structure is updated to provide more flexibility for use in the vps_extension() syntax structure for use in each layer or operating point. A new flag 'LevelPresentFlag' is added in profile tier level syntax structure to support the variance of Level parameters separately from the Profile/Tier Paremeter. The update to the profile tier level syntax structure provides flexibility in selecting profile tier and level parameters for HEVC selections in scalable video coding, multi-view coding and 3D video coding areas. In one aspect, a method programmed in a non-transitory memory of a device. The method comprises acquiring content and generating a video parameter set of the content utilizing a level flag indicating a level within the content. The flag is an external passing parameter. The flag is added syntax within a profile tier level syntax structure. Generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure. Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number. Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure. Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number. Generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure. Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number. Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure. Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number. The device comprises a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player, a high definition disc writer/player, an ultra high definition disc writer/player), a television, a home entertainment system, or a smart watch.
In another aspect, a method programmed in a non-transitory memory of a device comprises acquiring content and generating a video parameter set of the content utilizing a level flag indicating a level within the content, wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
In another aspect, an apparatus comprises a non-transitory memory for storing an application, the application for acquiring content and generating a video parameter set of the content utilizing a level flag indicating a level within the content and a processing component coupled to the memory, the processing component configured for processing the application.
The flag is an external passing parameter. The flag is added syntax within a
profile tier level syntax structure. Generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure. Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number. Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure. Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number. Generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure. Generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number. Generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure. Generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number. BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a flowchart of a method of utilizing a modified VPS syntax according to some embodiments.
FIG. 2 illustrates a block diagram of an exemplary computing device configured to implement the modified VPS method according to some embodiments.
FIG. 3 illustrates a general diagram of an HEVC encoder according to some embodiments.
FIG. 4 illustrates a general diagram of an HEVC decoder according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
Described herein are updates for the profile tier level syntax structure to support additional flexibility for HEVC extensions while being used in vps_extensions( ) syntax structure for each layer or operating point.
Below is the profile tier level syntax structure presented in the current Draft
International Standard (DIS) specification for High Efficiency Video Coding (HEVC).
Figure imgf000007_0001
for(j=0; j<32; j++) sub_layer_profile_compatibility_flag[i][j] u(l) sub_layer_reserved_zero_ 16bits [i] u(16)
}
if( sub_layer_level_present_flag[i]) sub lay er le vel idc [i] u(8)
}
}
The presence of the profile tier level related syntax parameters is currently conditioned (restricted) by an external parameter flag of profilePresentFlag used as a
"passing" parameter in the profile tier level syntax structure in the DIS. The following table shows what parameters are able to be conditioned when this syntax structure is used vps_extension( ) syntax structure to support various HEVC extensions requirements.
Selectable syntax parameters in the Current profile tier level (DIS)
Figure imgf000008_0001
1 1 - 1 general_profi sub- le tier level layer_profile tier level
It is apparent that one of the parameter-group, called "general_profile_tier" that contains general syntaxes for "profile tier only," cannot be a probable selection for use in vps_extension() syntax structure. In other words, all possible choices may not be possible with the existing profile tier level syntax structure. This is because of the absence of
"levelPresentFlag," another conditional flag, either as an external passing parameter similar to "profilePresentFlag" or as an added syntax inside the profile tier level syntax structure.
In the current HEVC specifications, Profile and Tier-related parameters may be varied per Layer or Operating Point based upon setting the ProfilePresentFlag to 1 or 0.
The Level parameters are always adapted in the General case, and if
sub_layer_level_present_flag is present, then sub-layer related level parameters are able to be changed.
However, from the Profile/Tier/Level descriptions, the Level parameters are able to be common to some profile/tier cases and may change for other cases. There is the
possibility that for the general case, Level parameters may change separately from
Profile/Tier Parameter changes. In other words, Level parameters are able to be varied by setting a new flag of LevelPresentFlag to 1 or 0.
The following chart shows how all possible combinations of profile tier and level parameters in a modified profile tier level syntax structure are possible during its
application in vps_extension( ) when the "levelPresentFlag" is present as a passing
parameter similar to "profilePresentFlag" or as an added syntax inside the profile tier level syntax structure.
Selectable syntax parameters in the updated profile tier level profilePresent sub- levelPresentF sub_layer_lev syntax syntax Flag layer_profile lag el_present_fl parameters- parameters s
_present_flag ag general ub-layer
0 0
0 1 0 general level
idc
0 1 1 general level sub_layer_lev idc el ide
1 0 0 general_profi
le tier 1 1 0 - general_profi sub_layer_pr le tier ofile tier
1 0 1 0 general_profi - le tier level
1 1 1 1 general_profi sub- le tier level layer_profile tier level
1) profilePresentFlag enables restrictions (presence) of profile and tier syntaxes in the syntax structure above for both general and sub-layer cases
2) no such flag is present to affect (restrict) the LevellDC syntax parameters for both general and sub-layer cases in the current_profile_tier_level syntax structure. Thus, no restrictions on the presence of LevellDC is able to be imposed either for a layer or an
Operating Point (OP) in vps_extension().
3) The profile tier level syntax structure is able to be updated as follows: use of "levelPresentFlag" as a passing parameter similar to "profilePresentFlag," or insert
levelPresentFlag as a new 1-bit syntax.
An updated profile tier level syntax structure is shown below with levelPresent Flag as a passing parameter, similar to profilePresentFlag. profile tier level( profilePresentFlag, levelPresentFlag, Descriptor maxNumSubLayersMmusl) {
if(profilePresentFlag) {
general_profile_space u(2) general tier flag u(l) general_profile idc u(5) for (i= 0; i < 32; i++)
general_profile compatibility flag[i] u(l) general_reserved_zero_ 16bits u(16)
}
if(levelPresentFlag)
general_level_idc u(8) for (i= 0; i < maxNumSubLayersMmusl; i++) {
if(profilePresentFlag)
sub_layer_profile_present_flag[i] u(l) sub_layer_level_present_flag[i] u(l) if(profilePresentFlag && sub_layer_profile_present_flag[i] {
sub_layer_profile_space [i] u(2) sub_lay er_tier_flag [i] u(l) sub_layer_profile_idc[i] u(5) for0'=0; j<32; j++)
sub_layer_profile_compatibility_flag[i][j] u(l) sub_layer_reserved_zero_ 16bits [i] u(16)
} if(levelPresentFlag && sub_layer_level_present_flag[i]) sub lay er le vel idc [i] u(8)
}
}
The previously defined vps_extension() uses vps_profile_tier syntax structure with
profilePresentFlag always set to 1 for all layers (i=l to vps max layers minus 1) as shown below. There are no restrictions for profile tier or level syntax parameters in general cases. vps_extension() { Descriptor while(!byte_aligned( )) vps extension byte alignment reserved one bit u(l) avc_base_codec_flag u(l) scalability mask u(16) for(i=0;i<NumScalabilityTypes;i++) { dimension id len minus l [i] u(3)
}
vps_nuh_layer_id_present_flag u(l)
//layer specific information for (i=l ; i<=vps_max_layers_minusl; i++) {
//mapping of layer ID to scalability dimension Ids if (vps_nuh_layer_id_present_flag) layer id in nuh[i] u(6) for (j=0; j<=num_dimensions_minusl; j++) dimension_id[i] [j ] u(v) }
for(i= 1 ;i<vps_max_layers_minus 1 ;i++) { profile_tier_level( 1 ,vps_max_sub_layers_minus 1 ) for(i= 1 ;i<vps_max_layers_minus 1 ;i++) {
//layer dependency num direct ref layers [i] u(6) for(j =0 ; j <num_direct_ref_lay ers [i] ;j ++) ref_layer_id[i][j] u(6)
}
}
In the following sections, two ways of restricting such syntax parameters of profile tier and/or levels while the modified profile tier level syntax structure being used in vps_extension() with either layer-specific or operation-point (OP) specific updates are implemented.
-specific updates of profile tier level in vps extensionQ
Figure imgf000014_0001
vps_profile ref layer num[i] = i if (!vps_level_present_flag[i]) vps level ref layer num[i] u(8) else vps level ref layer num[i] = i Edited
}
In the above syntax structure, four new syntax parameters are introduced:
vps_profile_present_flag[i]: When this flag is equal to 1, this specifies the profile information for Layer i is present in the profile_tier_level( ) syntax structure. When this flag is equal to 0, this specifies that profile information for Layer i is not present in the profile_tier_level( ) syntax structure.
vps_profile_ref_layer_num[i] : When vps_profile_present_flag[i] is equal to 0, profile information for Layer i is inferred to be equal to the profile information of the Layer indicated by vps_profile_ref_layer_num[i], a Layer-number used as an index to a Reference Profile-Tier Level Lookup table storing such information of previously sent layers.
vps_level_present_flag[i]: When this flag is equal to 1, this specifies the level information for Layer i is present in the profile_tier_level() syntax structure. When this flag is equal to 0, this specifies that level information for Layer i is not present in the profile_tier_level( ) syntax structure.
vps_level_ref_layer_num[i]: When vps_level_present_flag[i] is equal to 0, level information for Layer i is inferred to be equal to the level information of the Layer indicated by vps_level_ref_layer_num[i], a Layer-number used as an index to a Reference Profile- Tier-Level Lookup Table storing such information of previously sent Layers.
The combined effect of the values of vps_profile_present_f ag and
vps_level_present_flag is shown in the chart below, where such syntax parameter flags are present in the modified vps_extension() syntax structure shown above.
Figure imgf000015_0001
0 1 (Reference-Profile/Tier), Levelldc
1 0 Profile/Tier, (Reference-Levelldc)
1 1 Profile/Tier,LevelIdc
As an example, in case of both "vps_profile_present_fiag" and
"vps_level_present_flag" being 0 (above chart), the available syntax parameters are "(Reference - Profile/Tier, Levelldc)", and this means all such parameters are available from the stored or "Reference" lookup tables when such parameters are sent earlier. Such reference parameters are already explained in the two syntax parameters of
vps_profile_ref_layer_num and vps level ref layer num. Use of such
"vps_profile_present_flag" and "vps_level_present_flag" helps in avoiding unknown conditions.
OP-specific updates of profile tier level in vps_extension()
Figure imgf000016_0001
vps_level_ref_op_num[i] = i Edited
}
In the above syntax structure, four new syntax parameters are introduced, similar to
"Level-specific update" case in the previous section.
vps_profile_present_flag[i]: When this flag is equal to 1, this specifies the profile information for Operation point i (or OP i) is present in the profile_tier_level() syntax structure. When this flag is equal to 0, this specifies that profile information for OP i is not present in the profile_tier_level( ) syntax structure.
vps_profile_ref_op_num[i] : When vps_profile_present_flag[ i] is equal to 0, profile information for OP i is inferred to be equal to the profile information of the OP indicated by vps_profile_refjayer_num[ i], a OP-number used as an index to a Reference Profile-Tier- Level Lookup Table storing such information of previously sent OPs.
vps_level_present_flag[i]: When this flag is equal to 1, this specifies the level information for OP i is present in the profile_tier_level() syntax structure. When this flag is equal to 0, this specifies that level information for OP i is not present in the profile_tier_level() syntax structure. vps_level_ref_op_num[ i]: When vps_level_present_flag[ i] is equal to 0, level information for OP i is inferred to be equal to the level information of the OP indicated by
vps_level_ref_layer_num[ 1], an OP-number used as an index to a Reference Profile-Tier- Level Lookup Table storing such information of previously sent OPs.
If this new flag of "LevelPresentFlag" is used for the "profile_tier_level" syntax structure, then it is initialized in VPS and SPS as follows:
Figure imgf000017_0001
seq_parameter_set_rbsp( ) { Descriptor Edited if (nuh layer id == 0) profile_tier_level(l, 1, sps_max_sub_layers_minusl) Edited
}
As described herein, an update for the profile tier level syntax structure is made to support additional flexibilities in selecting profile tier and level parameters for HEVC extensions in scalable video coding, multi-view coding and 3D video coding areas. After this, this modified syntax structure is used in the vps_extension( ) syntax structure where the profile tier and level syntax parameters are restricted in two possible ways, either for each layer or for each operating point.
Figure 1 illustrates a flowchart of a method of utilizing a modified VPS syntax according to some embodiments. In the step 100, content (e.g., a video) is acquired. The content is able to be acquired in any manner such as copied, downloaded, captured using a sensor or any other way. In the step 102, VPS data is generated utilizing a flag indicating a level. Additionally, the VPS data is generated using additional flags and data to indicate levels and/or operation points. The VPS data contains various HEVC Extension
information in scalable video coding, multi-view coding and 3D video coding areas. In some embodiments, the VPS data provides flexibility in profiles/tiers/levels information. In some embodiments, additional or fewer steps are implemented. In some embodiments, the order of the steps is modified. Figure 2 illustrates a block diagram of an exemplary computing device configured to implement the modified VPS method according to some embodiments. The computing device 200 is able to be used to acquire, store, compute, process, communicate and/or display information such as images and videos. In general, a hardware structure suitable for implementing the computing device 200 includes a network interface 202, a memory 204, a processor 206, I/O device(s) 208, a bus 210 and a storage device 212. The choice of processor is not critical as long as a suitable processor with sufficient speed is chosen. The memory 204 is able to be any conventional computer memory known in the art. The storage device 212 is able to include a hard drive, CDROM, CDRW, DVD, DVDRW, Blu- ray®, flash memory card or any other storage device. The computing device 200 is able to include one or more network interfaces 202. An example of a network interface includes a network card connected to an Ethernet or other type of LAN. The I/O device(s) 208 are able to include one or more of the following: keyboard, mouse, monitor, screen, printer, modem, touchscreen, button interface and other devices. Modified VPS application(s) 230 used to perform the modified VPS method are likely to be stored in the storage device 212 and memory 204 and processed as applications are typically processed. More or fewer components shown in Figure 2 are able to be included in the computing device 200. In some embodiments, modified VPS hardware 220 is included. Although the computing device 200 in Figure 2 includes applications 230 and hardware 220 for the modified VPS method, the modified VPS method is able to be implemented on a computing device in hardware, firmware, software or any combination thereof. For example, in some embodiments, the modified VPS applications 230 are programmed in a memory and executed using a processor. In another example, in some embodiments, the modified VPS hardware 220 is programmed hardware logic including gates specifically designed to implement the modified VPS method.
In some embodiments, the modified VPS application(s) 230 include several applications and/or modules. In some embodiments, modules include one or more sub- modules as well. In some embodiments, fewer or additional modules are able to be included.
Examples of suitable computing devices include a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player (e.g., DVD writer/player, high definition disc writer/player, ultra high definition disc
writer/player), a television, a home entertainment system, smart jewelry (e.g., smart watch) or any other suitable computing device.
Figure 3 illustrates a general diagram of an HEVC encoder according to some embodiments. The encoder 300 includes a general coder control component, a transform scaling and quantization component, a scaling and inverse transform component, an intra- picture estimation component, a filter control analysis component, an intra-picture prediction component, a deblocking and SAO filters component, a motion compensation component, a motion estimation component, and a header formatting and CAB AC component. An input video signal is received by the encoder 300 and is split into Coding Tree Units (CTUs). The HEVC encoder components process the video data using the modified VPS and generate a coded bitstream.
Figure 4 illustrates a general diagram of an HEVC decoder according to some embodiments. The decoder 400 includes an entropy decoding component, an inverse quantization component, an inverse transform component, a current frame component, an intra prediction component, a previous frames component, a motion compensation component, a deblocking filter, an SAO component and an adaptive loop filter. An input bitstream (e.g., a coded video) is received by the decoder 400, and a decoded bitstream is generated for display. In some embodiments, the modified VPS is utilized while decoding.
To utilize the modified VPS method, devices are able to access parameters in VPS and its extension for scalable video coding, multi-view coding, 3D video coding and mixed video sequences. The modified VPS method is automatically used when performing video processing or other times. The modified VPS method is able to be implemented
automatically without user involvement.
In operation, the VPS and vps_extension( ) syntax structures are updated with some cleanups for the HEVC Extensions in scalable video coding, multi-view coding and 3D video coding areas. The VPS is generated using the modified syntax structure.
U.S. Patent Application No. 14/035,680, filed September 24, 2013, titled "VIDEO PARAMETER SET (VPS) SYNTAX RE-ORDERING FOR EASY ACCESS OF
EXTENSION PARAMETERS", and U.S. Patent Application No. 14/035,711, filed September 24, 2013, titled "JCTVC-L0226: VPS AND VPS EXTENSION UPDATES" are hereby incorporated by reference in their entireties for all purposes. SOME EMBODIMENTS OF JCTVC-L0227: VPS EXTENSION WITH UPDATES OF PROFILE-TIER-LEVEL SYNTAX STRUCTURE
1. A method programmed in a non-transitory memory of a device comprising:
a. acquiring content; and
b. generating a video parameter set of the content utilizing a level flag
indicating a level within the content.
2. The method of clause 1 wherein the flag is an external passing parameter.
3. The method of clause 1 wherein the flag is added syntax within a profile tier level syntax structure.
4. The method of clause 1 wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
5. The method of clause 4 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number.
6. The method of clause 1 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
7. The method of clause 1 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number. The method of clause 1 wherein generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure. The method of clause 8 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number. The method of clause 1 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure. The method of clause 1 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number. The method of clause 1 wherein the device comprises a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player, a high definition disc writer/player, an ultra high definition disc writer/player), a television, a home entertainment system, or a smart watch. A method programmed in a non-transitory memory of a device comprising:
a. acquiring content; and
b. generating a video parameter set of the content utilizing a level flag
indicating a level within the content, wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number. An apparatus comprising:
a. a non-transitory memory for storing an application, the application for: i. acquiring content; and
ii. generating a video parameter set of the content utilizing a level flag indicating a level within the content; and
b. a processing component coupled to the memory, the processing component configured for processing the application. The apparatus of clause 14 wherein the flag is an external passing parameter. The apparatus of clause 14 wherein the flag is added syntax within a
profile tier level syntax structure. The apparatus of clause 14 wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure. The apparatus of clause 17 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number. The apparatus of clause 14 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure. The apparatus of clause 14 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number. The apparatus of clause 14 wherein generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure. The apparatus of clause 21 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number. 23. The apparatus of clause 14 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
24. The apparatus of clause 14 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.
The present invention has been described in terms of specific embodiments incorporating details to facilitate the understanding of principles of construction and operation of the invention. Such reference herein to specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. It will be readily apparent to one skilled in the art that other various modifications may be made in the embodiment chosen for illustration without departing from the spirit and scope of the invention as defined by the claims.

Claims

C L A I M S What is claimed is:
1. A method programmed in a non-transitory memory of a device comprising:
a. acquiring content; and
b. generating a video parameter set of the content utilizing a level flag
indicating a level within the content.
2. The method of claim 1 wherein the flag is an external passing parameter.
3. The method of claim 1 wherein the flag is added syntax within a profile tier level syntax structure.
4. The method of claim 1 wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
5. The method of claim 4 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number.
6. The method of claim 1 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
7. The method of claim 1 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
8. The method of claim 1 wherein generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure.
9. The method of claim 8 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number.
10. The method of claim 1 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
11. The method of claim 1 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.
12. The method of claim 1 wherein the device comprises a personal computer, a laptop computer, a computer workstation, a server, a mainframe computer, a handheld computer, a personal digital assistant, a cellular/mobile telephone, a smart appliance, a gaming console, a digital camera, a digital camcorder, a camera phone, a smart phone, a portable music player, a tablet computer, a mobile device, a video player, a video disc writer/player, a high definition disc writer/player, an ultra high definition disc writer/player), a television, a home entertainment system, or a smart watch.
13. A method programmed in a non-transitory memory of a device comprising:
a. acquiring content; and
b. generating a video parameter set of the content utilizing a level flag
indicating a level within the content, wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
14. An apparatus comprising:
a. a non-transitory memory for storing an application, the application for: i. acquiring content; and
ii. generating a video parameter set of the content utilizing a level flag indicating a level within the content; and
b. a processing component coupled to the memory, the processing component configured for processing the application.
15. The apparatus of claim 14 wherein the flag is an external passing parameter.
16. The apparatus of claim 14 wherein the flag is added syntax within a
profile tier level syntax structure.
17. The apparatus of claim 14 wherein generating the video parameter set includes using a profile present flag, further wherein when the profile present flag is equal to 1 , then profile information for a layer is present in a profile tier level syntax structure, and when the profile present flag is equal to 0, then the profile information for the layer is not present in the profile tier level syntax structure.
18. The apparatus of claim 17 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the layer is inferred to be equal to the profile information of the layer indicated by the profile reference layer number.
19. The apparatus of claim 14 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a layer is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for layer is not present in the profile tier level syntax structure.
20. The apparatus of claim 14 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a layer is inferred to be equal to the level information of the layer indicated by the level reference layer number.
21. The apparatus of claim 14 wherein generating the video parameter set includes using a profile present flag, further wherein when this flag is equal to 1 , then profile information for an operation point is present in a profile tier level syntax structure, and when this flag is equal to 0, then the profile information for the operation point is not present in the profile tier level syntax structure.
22. The apparatus of claim 21 wherein generating the video parameter set includes using a profile reference layer number, further wherein when the profile present flag is equal to 0, then profile information for the operation point is inferred to be equal to the profile information of the operation point indicated by the profile reference layer number.
23. The apparatus of claim 14 wherein generating the video parameter set includes using a level present flag, further wherein when the level present flag is equal to 1 , then level information for a operation point is present in a profile tier level syntax structure, and when the level present flag is equal to 0, then the level information for the operation point is not present in the profile tier level syntax structure.
24. The apparatus of claim 14 wherein generating the video parameter set includes using a level reference layer number, further wherein the level reference layer number is equal to 0, level information for a operation point is inferred to be equal to the level information of the operation point indicated by the level reference layer number.
PCT/US2013/076225 2013-01-04 2013-12-18 Jctvc-l0227: vps_extension with updates of profile-tier-level syntax structure WO2014107312A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020157017673A KR101710290B1 (en) 2013-01-04 2013-12-18 Decoder and decoding method
KR1020177004602A KR102000373B1 (en) 2013-01-04 2013-12-18 Encoder and encoding method
JP2015551696A JP6107970B2 (en) 2013-01-04 2013-12-18 JCTVC-L0227: VPS_EXTENSION with profile-hierarchy-level syntax structure update
CN201380069289.6A CN104904211B (en) 2013-01-04 2013-12-18 JCTVC-L0227:Newer VPS_EXTENSION with PROFILE-TIER-LEVEL syntactic structures
EP13870094.3A EP2926560A4 (en) 2013-01-04 2013-12-18 Jctvc-l0227: vps_extension with updates of profile-tier-level syntax structure

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361748878P 2013-01-04 2013-01-04
US61/748,878 2013-01-04
US14/035,740 2013-09-24
US14/035,740 US10419778B2 (en) 2013-01-04 2013-09-24 JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure

Publications (1)

Publication Number Publication Date
WO2014107312A1 true WO2014107312A1 (en) 2014-07-10

Family

ID=51062421

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/076225 WO2014107312A1 (en) 2013-01-04 2013-12-18 Jctvc-l0227: vps_extension with updates of profile-tier-level syntax structure

Country Status (5)

Country Link
EP (1) EP2926560A4 (en)
JP (2) JP6107970B2 (en)
KR (2) KR102000373B1 (en)
CN (2) CN108337520A (en)
WO (1) WO2014107312A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016057884A1 (en) * 2014-10-10 2016-04-14 Qualcomm Incorporated Operation point for carriage of layered hevc bitstreams

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019199025A1 (en) 2018-04-09 2019-10-17 에스케이텔레콤 주식회사 Method and device for encoding/decoding image
KR102648468B1 (en) * 2018-04-10 2024-03-18 에스케이텔레콤 주식회사 Level setting method and apparatus using the same
US11509937B2 (en) 2018-04-09 2022-11-22 Sk Telecom Co., Ltd. Method and apparatus for encoding/decoding video
CN116325759A (en) * 2020-09-16 2023-06-23 Lg 电子株式会社 Method for processing media file and apparatus thereof

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415069B2 (en) * 2003-12-09 2008-08-19 Lsi Corporation Method for activation and deactivation of infrequently changing sequence and picture parameter sets
US20060008009A1 (en) * 2004-07-09 2006-01-12 Nokia Corporation Method and system for entropy coding for scalable video codec
CN101120593A (en) * 2005-04-13 2008-02-06 诺基亚公司 Coding, storage and signalling of scalability information
JP2009538084A (en) * 2006-11-17 2009-10-29 エルジー エレクトロニクス インコーポレイティド Video signal decoding / encoding method and apparatus
US8238439B2 (en) * 2007-01-04 2012-08-07 Thomson Licensing Methods and apparatus for multi-view information conveyed in high level syntax

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP2926560A4 *
SULLIVAN, GJ ET AL.: "OVERVIEW OF THE HIGH EFFICIENCY VIDEO CODING (HEVC) STANDARD", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, December 2012 (2012-12-01), pages 1649 - 1668, XP011486324 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016057884A1 (en) * 2014-10-10 2016-04-14 Qualcomm Incorporated Operation point for carriage of layered hevc bitstreams
US20160105688A1 (en) * 2014-10-10 2016-04-14 Qualcomm Incorporated Operation point for carriage of layered hevc bitstream
CN106797480A (en) * 2014-10-10 2017-05-31 高通股份有限公司 Operating point for being layered the delivery of HEVC bit streams
KR20170069214A (en) * 2014-10-10 2017-06-20 퀄컴 인코포레이티드 Operation point for carriage of layered hevc bitstreams
US10306269B2 (en) 2014-10-10 2019-05-28 Qualcomm Incorporated Operation point for carriage of layered HEVC bitstream
KR102140860B1 (en) 2014-10-10 2020-08-03 퀄컴 인코포레이티드 Operation point for carriage of layered hevc bitstreams

Also Published As

Publication number Publication date
JP2017153087A (en) 2017-08-31
CN104904211B (en) 2018-06-12
JP6107970B2 (en) 2017-04-05
KR101710290B1 (en) 2017-02-24
EP2926560A1 (en) 2015-10-07
KR20170021908A (en) 2017-02-28
KR102000373B1 (en) 2019-07-15
CN108337520A (en) 2018-07-27
JP2016508332A (en) 2016-03-17
CN104904211A (en) 2015-09-09
JP6399125B2 (en) 2018-10-03
KR20150092250A (en) 2015-08-12
EP2926560A4 (en) 2016-10-26

Similar Documents

Publication Publication Date Title
US10419778B2 (en) JCTVC-L0227: VPS_extension with updates of profile-tier-level syntax structure
AU2019200028B2 (en) JCTVC-L0226: VPS and vps_extension updates
KR102107270B1 (en) Extensions of motion-constrained tile sets sei message for interactivity
US20190200025A1 (en) Coded-block-flag coding and derivation
TW202046739A (en) Adaptation parameter sets (aps) for adaptive loop filter (alf) parameters
US10873751B2 (en) Video parameter set (VPS) syntax re-ordering for easy access of extension parameters
JP6399125B2 (en) Encoding apparatus and encoding method
KR101476532B1 (en) Extension of hevc nal unit syntax structure
WO2015136945A1 (en) Systems and methods for constraining a bitstream

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13870094

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20157017673

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2015551696

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2013870094

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE