WO2014055222A1 - Hybrid video coding techniques - Google Patents

Hybrid video coding techniques Download PDF

Info

Publication number
WO2014055222A1
WO2014055222A1 PCT/US2013/059730 US2013059730W WO2014055222A1 WO 2014055222 A1 WO2014055222 A1 WO 2014055222A1 US 2013059730 W US2013059730 W US 2013059730W WO 2014055222 A1 WO2014055222 A1 WO 2014055222A1
Authority
WO
WIPO (PCT)
Prior art keywords
nal unit
temporal
coding technology
derivation
layer
Prior art date
Application number
PCT/US2013/059730
Other languages
French (fr)
Inventor
Jill Boyce
Stephan Wenger
Danny Hong
Original Assignee
Vidyo, Inc.
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
Application filed by Vidyo, Inc. filed Critical Vidyo, Inc.
Publication of WO2014055222A1 publication Critical patent/WO2014055222A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/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

  • the disclosed subject matter relates to techniques for encoding and decoding layered video where the non-temporal enhancement layers and their respective temporal enhancement layers use a scalable video coding technique, and the base layer and its respective temporal enhancement layers does not comply with the same scalable video coding technique.
  • Video compression using scalable techniques can allow a digital video signal to be represented in the form of multiple layers.
  • Scalable video coding techniques have been standardized, including, temporal, spatial, and quality (SNR) scalability.
  • SNR spatial and quality
  • Spatial and SNR scalability can be closely related in the sense that SNR scalability, at least in some implementations and for some video compression schemes and standards, can be viewed as spatial scalability with an spatial scaling factor of 1 in both X and Y dimensions, whereas spatial scalability can enhance the picture size of a base layer to a larger format by, for example, factors of 1.5 to 2.0 in each dimension. Due to this close relation, described henceforth is only spatial scalability.
  • ITU-T Rec. H.264 version 2 (2005) and later available from International Telecommunication Union (ITU), Place des Nations, 1211 Geneva 20, Switzerland, and incorporated herein by reference in its entirety
  • ISO/IEC 14496 Part 10 includes scalability mechanisms known as Scalable Video Coding or SVC, in their Annex G. All or substantially all features of temporal scalability are supported by various versions of H.264, whereas spatial or SNR scalability are specified in the SVC extension.
  • High Efficiency Video Coding (HEVC) specified in ITU-T Rec. H.26S, available from the ITU) and incorporated herein by reference in its entirety, in its first version, also includes support for temporal scalability, whereas it lacks support for spatial or SNR scalability.
  • HEVC High Efficiency Video Coding
  • one exemplary implementation strategy for a scalable encoder configured to encode a base layer and one spatial or SNR enhancement layer, includes two encoding loops: one for the base layer, the other for the enhancement layer.
  • Additional enhancement layers can be added by adding more coding loops.
  • a scalable decoder can be implemented by a base decoder and one or more enhancement decoders). This has been discussed, for example, in Dugad, R, and Ahuja, N, "A Scheme for Spatial Scalability Using Nonscalable Encoders", IEEE CSVT, Vol 13 No. 10, Oct. 2003, which is incorporated by reference herein in its entirety.
  • FIG. 1 illustrates a block diagram of such a prior art scalable encoder. It includes a video signal input (101), a downsample unit (102), a base layer coding loop (103), a base layer reference picture buffer (104), which can be part of the base layer coding loop but can also serve as an input to a reference picture upsample unit (105), an enhancement layer coding loop (106), and a bitstream generator (107).
  • a video signal input 101
  • a downsample unit 102
  • a base layer coding loop 103
  • a base layer reference picture buffer which can be part of the base layer coding loop but can also serve as an input to a reference picture upsample unit (105), an enhancement layer coding loop (106), and a bitstream generator (107).
  • the video signal input (101) can receive the to-be-coded video in any suitable digital format, for example according to ITU-R Rec. BT.601, March 1982 (available from International Telecommunication Union (ITU), Place des Nations, 1211 Geneva 20, Switzerland, and incorporated herein by reference in its entirety).
  • the term "receive” can involve pre-processing actions such as filtering, resampling to, for example, the intended enhancement layer spatial resolution, and other operations.
  • the spatial picture size of the input signal can be assumed to be the same as the spatial picture size of the enhancement layer.
  • the input signal can be used in unmodified form (108) in the enhancement layer coding loop (106), which is coupled to the video signal input.
  • the video signal input can also be coupled to a downsample unit (102).
  • a purpose of the downsample unit (102) is to down-sample the pictures received by the video signal input (101) in enhancement layer resolution, to a base layer resolution.
  • the downsample factor can be, for example, 1.0, in which case the spatial dimensions of the base layer pictures are the same as the spatial dimensions of the enhancement layer pictures, resulting in a quality scalability, also known as SNR scalability.
  • the operation of the downsample unit (102) can be a forwarding of the samples without modification.
  • Downsample factors larger than 1.0 lead to base layer spatial resolutions lower than the enhancement layer resolution, which enables spatial scalability.
  • Various downsample filters useful for different downsample factors are known to those skilled in the art.
  • Video coding standards as well as application constraints can set constraints for the base layer resolution in relation to the enhancement layer resolution.
  • the scalable baseline profile of H.264/SVC allows downsample ratios of 1.5 or 2.0 in both X and Y dimensions.
  • a downsample ratio of 2.0 means that the downsampled picture includes only one quarter of the samples of the non-downsampled picture.
  • the details of the downsampling mechanism can be chosen freely, independently of the upsampling mechanism.
  • the aforementioned video coding standards can specify the filter used for up-sampling, so to avoid drift in the enhancement layer coding loop (106).
  • the output of the downsampling unit (102) can be a downsampled version of the picture as produced by the video signal input (109).
  • the base layer coding loop (103) can take the downsampled picture (109) produced by the
  • Inter picture prediction allows for the use of information related to one or more previously decoded or otherwise processed pictures, known as reference pictures, in the decoding of the current picture.
  • Examples for inter picture prediction mechanisms include motion compensation, where during reconstruction blocks of pixels from a previously decoded picture are copied or otherwise employed after being moved according to a motion vector, or residual coding, where, instead of decoding pixel values, the potentially quantized difference between a pixel (including in some cases motion compensated pixel) of a reference picture and the reconstructed pixel value is contained in the bitstream and used for reconstruction.
  • Inter picture prediction is a technology that can enable coding efficiency in modern video coding.
  • an encoder can also create reference picture(s) in its coding loop. While in non-scalable coding, the use of reference pictures can have relevance in inter picture prediction, in case of scalable coding, reference pictures can also be relevant for cross-layer prediction.
  • Cross-layer prediction can involve the use of a base layer's reconstructed picture, as well as other base layer reference picture(s) as a reference picture in the prediction of an enhancement layer picture. This reconstructed picture or reference picture can be the same as the reference picture(s) used for inter picture prediction.
  • the generation of such a base layer reference picture can be required even if the base layer is coded in a manner, such as intra picture only coding, that would, without the use of scalable coding, not require a reference picture.
  • FIG. 1 depicts the use of the reconstructed picture (i.e., the most recent reference picture) (111) for use by the enhancement layer coding loop.
  • the base layer coding loop (103) can generate reference picture(s) in the aforementioned sense, and store it in the reference picture buffer (104).
  • the picture(s) stored in the reconstructed picture buffer (111) can be upsampled by the upsample unit (105) into the resolution used by the enhancement layer coding loop (106).
  • the enhancement layer coding loop (106) can use the upsampled base layer reference picture as produced by the upsample unit (105) in conjunction with the input picture coming from the video input (101), and reference pictures (112) created by the enhancement layer coding loop in its coding process. The nature of these uses depends on the video coding standard, and has already been briefly introduced for some video compression standards above.
  • the enhancement layer coding loop (106) can create an enhancement layer bitstream (113), which can be processed together with the base layer bitstream (110) and control information (not shown in FIG. 1 ) so as to create a scalable bitstream (114).
  • Multi-standard video coding can refer to mechanisms that allow a base layer bitstream (110) to be of a different coding technique than the enhancement layer(s) bitstream(s) (113).
  • the base layer bitstream (110) (including its temporal enhancement layers, if any) conforms to H.264
  • the at least one enhancement layer(s) bitstreams (113) including their respective temporal enhancement layers conform to a future extension of HEVC that can be based on techniques disclosed in aforementioned patent applications.
  • the base layer coding loop (103) that creates an H.264 compliant bitstream (110) uses a coding technology different than the enhancement layer coding loop (106), which creates HEVC scalable extension compliant enhancement layer bitstream(s) (113).
  • the disclosed subject matter provides techniques for encoding and decoding layered video where the non-temporal enhancement layers and their respective temporal enhancement layers, comply with a scalable video coding standard or technology, and the base layer and its respective temporal enhancement layers does not comply with the same scalable video coding standard or technology.
  • an indication in a high level syntax structure tying together layers such as a dependency parameter set or video parameter set, is used to indicate the standard(s) or technology(s) used for base and/or enhancement layer coding.
  • an encapsulation mechanism can be provided which allows the inclusion of syntax of one coding technology into the syntax of another coding technology.
  • a mechanism is disclosed that can be used to indicate the temporal id of the encapsulating NAL unit based on information that can be available in the encapsulated NAL units.
  • FIG. 1 is a schematic illustration of an exemplary scalable video encoder in accordance with the prior art
  • FIG. 2 is a schematic illustration of an exemplary scalable video encoder in accordance with the disclosed subject matter
  • FIG. 3 is a schematic illustration of an exemplary video parameter set in accordance with an embodiment of the disclosed subject matter
  • FIG. 4 is a schematic illustration of an exemplary encapsulation NAL unit in accordance with an embodiment of the disclosed subject matter.
  • FIG. 5 is a schematic illustration of an exemplary decoder in accordance with the disclosed subject matter.
  • FIG. 6 shows an exemplary computer system in accordance with an embodiment of the disclosed subject matter.
  • the disclosed subject matter relates to techniques to improve multistandard scalable encoding/decoding as disclosed in co-pending U.S. Patent Application Serial Nos. 13/529,159, 13/414,075, and 13/528,010.
  • the generation of the scalable bitstream (214) from the, for example. H.264 compliant base layer bitstream (210) and the, for example, HEVC compliant enhancement layer bitstream(s) (213), created by the enhancement layer coding loop (206), in the scalable bitstream generator (207) will now be described.
  • a parameter set (such as a dependency parameter set or a video parameter set) or other high level syntax structure (such as a sequence header or a scalability information SEI message) (301) that, among other things, tie together layers using, for example, layer dependency information (302) can include information pertaining to the video coding technology in use. Technologies that tie together layers (302) in a parameter set have been disclosed, for example, in US patent application Serial number 13/414,075, entitled “Dependency Parameter Set for Scalable Video Coding", which is incorporated herein by reference in its entirety.
  • HEVC's video parameter set can also contains other information, denoted here as baseline information (303).
  • the SNR and/or spatial enhancement layers and their respective temporal enhancement layers can be coded in accordance with an extension of HEVC that includes a video parameter set (301), which in turn can include functionalities of the dependency parameter set (302) as described in US 13/414,075.
  • the base layer, and its respective temporal enhancement layers can be coded in accordance with H.264.
  • the video parameter set can include information (304) of the video coding technology used to encode base layer and or non-temporal enhancement layer(s). There are different options for representing this information.
  • a registry can be set up that includes codewords for base layer and/or enhancement layer technologies, and a corresponding codeword can be placed into the description of the base layer and each enhancement layer, or (assuming that all enhancement layers are using the same coding technology), once for all enhancement layers together.
  • Shown in FIG. 3 is an approach that satisfies some use cases that are discussed in JCT-VC, e.g., an H.264 (AVC or SVC with only temporal enhancement layers) base layer, and an HEVC enhancement layer.
  • H.264 AVC or SVC with only temporal enhancement layers
  • HEVC enhancement layer an H.264 (AVC or SVC with only temporal enhancement layers) base layer
  • HEVC enhancement layer an HEVC enhancement layer.
  • One coding mechanism addressing this use case in the context of an HEVC scalable extension which implies that non-temporal enhancement layers are coded in HEVC-style, whereas the base layer can either be coded in H.264 or in HEVC.
  • avc_base_layer_flag (305) can indicate, for example to a decoder, that the base layer bitstream (210) (and its temporal enhancement layers, if any) are coded in H.264 syntax, whereas the non-temporal enhancement layers (213) and their respective temporal enhancement layers are coded in HEVC syntax.
  • HEVC and H.264 specify a different high level syntax, and different NAL unit headers.
  • FIG. 4 shows one exemplary encapsulation NAL unit.
  • An HEVC NAL unit (401) can contain a header (402) including, among other fields, a nal unit type (403) and a nuh_temporal_id_plusl (404).
  • the nal unit type field (403) can indicate through the use of a standardized value that the NAL unit is an encapsulation NAL unit.
  • An example use of the nuh_temporal_id_plusl (404) is disclosed below.
  • the payload (405) of the HEVC NAL unit (401) (which can be all parts of the NAL unit (401) except for the header (402) can include one or more H.264 NAL units; shown are two (406) (407).
  • the payload can include a prefix NAL unit (406) as specified in H.264/SVC or H.264 MVC, and a VCL NAL unit (407) as specified in H.264, with or without the SVC or MVC extension.
  • the prefix NAL unit may or may not be present.
  • nuh_temporal_id__plusl field (404) in its NAL unit header (402) can indicate a temporal level for the decoding of which the content of the NAL unit is required.
  • Lower values for nuh_temporal_id_plusl can indicate a lower temporal layer. Under certain circumstances, all lower temporal layers can be required to decode a higher temporal layer.
  • a value of nuh_temporal_id konus 1 of 1 can indicate the temporal base layer.
  • An H.264 encoder has flexibility in the use of the reference picture list construction and management, which complicates temporal layering.
  • the NAL unit header of H.264 NAL units (407) without the SVC or MVC extensions do not include a temporal ID field.
  • a temporal ID field was introduced for the SVC compliant NAL units, and a so-called prefix NAL unit was introduced that a legacy H.264 decoder could discard, but a more modern decoder or MANE can use to derive, among other things, the temporal layer of the NAL unit immediately following the prefix NAL unit.
  • nuh_temporal_id_plusl Two exemplary options for the use of nuh_temporal_id_plusl (404) are described below.
  • the choice between the two options can be made by standardization (i.e. the HEVC extension specification could specify and use only one of the options), or could be dependent on a codepoint, for example a nuh_temporal_id_derivation_flag (306) that can be located, for example, in the video parameter set (301) or a similar high level syntax structure that pertains to multiple layers.
  • the presence of the nuh_temporal_id_derivation_flag can be conditioned on the avc_base_layer_flag being set, or other information indicating hybrid layered coding.
  • the value of nuh_temporal_id_plusl (404) can be set to the value of temporal id + 1 in the prefix NAL unit, if such a prefix NAL unit is present in the payload of the HEVC NAL unit. If a prefix NAL unit is not present, and the H.264 NAL unit is an SVC NAL unit, then the value of nuh_temporal_id_plus 1 can be set to (by, for example, the enhancement layer coding loop of the encoder (206)) , and can be restricted to (by, for example, the bitstream conformance), the value of tempora d + 1 of the SVC NAL unit header.
  • nuh_temporal_id_plusl (404) can be set to, and restricted to a value of 1, indicating the temporal base layer.
  • a second option requires encoder cooperation with respect to the coding options chosen by the base layer coding loop (203) and may, at least in some cases, not be implemented in scenarios where an already pre-encoded (H.264) base layer is augmented with HEVC. At least some H.264 encoders use a strict temporal layering structure as part of their coding algorithm, even if they lack the syntax to express such a restriction in the bitstream.
  • the H.264 encoder that is part of a multistandard H.264/HEVC layered encoder (that uses HEVC NAL unit encapsulation as described above) uses temporal layering, it can use the nuh_temporal_id_plusl (404) field to express the temporal layering of the encapsulated H.264 NAL units even if the H.264 syntax does not include mechanisms to express such a relationship. This allows the temporal layering structure to be aligned between the base and the enhancement layer.
  • the first option works with all H.264 bitstreams, even with those not observing any temporal layering. Further, the encapsulation can be applied even without the cooperation of the H.264 encoder. However, it may not allow a MANE or decoder to prune NAL units of temporal enhancement layers of the base layer.
  • the second option requires encoder cooperation, but allows a MANE or decoder to prune NAL units of a temporal enhancement layer not needed for decoding.
  • FIG. 5 shows a decoder according to an embodiment of the disclosed subject matter.
  • a demultiplexer (S01) can split a received scalable bitstream (502) into, for example, a base layer bitstream (503) and an enhancement layer bitstream (504).
  • the demultiplexer (501) can include a NAL unit extractor that extracts base layer NAL units (for example H.264 NAL units) that make up the base layer bitstream (503) from the NAL units that form the scalable bitstream (501), which can be in HEVC syntax.
  • base layer NAL units for example H.264 NAL units
  • the reverse mechanism of the encapsulation as already described, can apply.
  • the demultiplexer can recreate, from the scalable bitstream or out- of-band information, a video parameter set (505) that can contain the same information as the video parameter set generated by the encoder. It can therefore contain information pertaining to the layering structure of the scalable bitstream and, according to the same or another embodiment, can also include, for at least one layer, an indication of the coding mechanism used to decode the bitstream of the layer in question: for example an avc_base_layer_flag and/or a nuh temporal id derivation flag. This information can, for example, be used in the reverse fashion as used in the encoder, which has already been described.
  • a base layer decoder (506) can create a reconstructed picture sequence that can be output (507) if so desired by the system design. Parts or all of the reconstructed picture sequence (508) can also be used by cross-layer prediction after being upsampled in an upsample unit (509). Similarly, side information (510) can be created during the decoding process and can be upscaled by an upscale unit (511). Upscale unit and upsample unit have already been described in the context of the encoder, and should operate such that, for a given input, the output is substantially similar to the output of the encoder's upsample/upscale units so to avoid drift between encoder and decoder. This can be achieved by standardizing the upsample/upscale mechanisms, and requiring conformance of the upsample/upscale units of both encoder and decoder with the standard.
  • the decoded base layer picture corresponding to the same picture output time should be available to the enhancement layer decoder. This can be achieved by aligning the picture coding order of corresponding pictures in the base layer and the enhancement layer and arranging the base layer coded picture immediately preceding its corresponding enhancement layer coded picture in the coded bitstream.
  • the enhancement layer decoder ( 12) can create enhancement layer pictures (513) that can be output for use by the application.
  • the methods for hybrid video coding can be implemented as computer software using computer-readable instructions and physically stored in computer-readable medium.
  • the computer software can be encoded using any suitable computer languages.
  • the software instructions can be executed on various types of computers.
  • FIG. 6 illustrates a computer system 600 suitable for implementing embodiments of the present disclosure.
  • Computer system 400 can have many physical forms including an integrated circuit, a printed circuit board, a small handheld device (such as a mobile telephone or PDA), a personal computer or a super computer.
  • Computer system 600 includes a display 632, one or more input devices 633 (e.g., keypad, keyboard, mouse, stylus, etc.), one or more output devices 634 (e.g., speaker), one or more storage devices 635, various types of storage medium 636.
  • input devices 633 e.g., keypad, keyboard, mouse, stylus, etc.
  • output devices 634 e.g., speaker
  • storage devices 635 various types of storage medium 636.
  • the system bus 640 link a wide variety of subsystems.
  • a "bus” refers to a plurality of digital signal lines serving a common function.
  • the system bus 640 can be any of several types of bus structures including a memory bus, a peripheral bus, and a local bus using any of a variety of bus architectures.
  • bus architectures include the Industry Standard Architecture (ISA) bus.
  • EISA Enhanced ISA
  • MCA Micro Channel Architecture
  • VLB Video Electronics Standards Association local
  • PCI Peripheral Component Interconnect
  • PCI-X PCI-Express bus
  • AGP Accelerated Graphics Port
  • Processor(s) 601 also referred to as central processing units, or CPUs optionally contain a cache memory unit 602 for temporary local storage of instructions, data, or computer addresses.
  • Processor(s) 601 are coupled to storage devices including memory 603.
  • Memory 603 includes random access memory (RAM) 604 and read-only memory (ROM) 60S.
  • RAM random access memory
  • ROM read-only memory
  • RAM 604 acts to transfer data and instructions uni-directionally to the processor(s) 601
  • RAM 604 is used typically to transfer data and instructions in a bi-directional manner. Both of these types of memories can include any suitable of the computer-readable media described below.
  • a fixed storage 608 is also coupled bi-directionally to the processor(s) 601, optionally via a storage control unit 607. It provides additional data storage capacity and can also include any of the computer-readable media described below.
  • Storage 608 can be used to store operating system 609, EXECs 610, application programs 612, data 611 and the like and is typically a secondary storage medium (such as a hard disk) that is slower than primary storage. It should be appreciated that the information retained within storage 608, can, in appropriate cases, be incorporated in standard fashion as virtual memory in memory 603.
  • Processor(s) 601 is also coupled to a variety of interfaces such as graphics control 621, video interface 622, input interface 623, output interface 624, storage interface 62S, and these interfaces in turn are coupled to the appropriate devices.
  • an input/output device can be any of: video displays, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, biometrics readers, or other computers.
  • Processor(s) 601 can be coupled to another computer or telecommunications network 630 using network interface 620.
  • the CPU 601 might receive information from the network 630, or might output information to the network in the course of performing the above-described method.
  • method embodiments of the present disclosure can execute solely upon CPU 601 or can execute over a network 630 such as the Internet in conjunction with a remote CPU 601 that shares a portion of the processing.
  • computer system 600 when in a network environment, i.e., when computer system 600 is connected to network 630, computer system 600 can communicate with other devices that are also connected to network 630. Communications can be sent to and from computer system 600 via network interface 620. For example, incoming communications, such as a request or a response from another device, in the form of one or more packets, can be received from network 630 at network interface 620 and stored in selected sections in memory 603 for processing. Outgoing communications, such as a request or a response to another device, again in the form of one or more packets, can also be stored in selected sections in memory 603 and sent out to network 630 at network interface 620. Processor(s) 601 can access these communication packets stored in memory 603 for processing.
  • incoming communications such as a request or a response from another device, in the form of one or more packets
  • Outgoing communications such as a request or a response to another device, again in the form of one or more packets, can also be stored in selected sections in memory 603
  • embodiments of the present disclosure further relate to computer storage products with a computer-readable medium that have computer code thereon for performing various computer-implemented operations.
  • the media and computer code can be those specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those having skill in the computer software arts.
  • Examples of computer-readable media include, but are not limited to: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and holographic devices; magneto- optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs) and ROM and RAM devices.
  • ASICs application-specific integrated circuits
  • PLDs programmable logic devices
  • Examples of computer code include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter.
  • machine code such as produced by a compiler
  • files containing higher-level code that are executed by a computer using an interpreter.
  • the computer system having architecture 600 can provide functionality as a result of processor(s) 601 executing software embodied in one or more tangible, computer-readable media, such as memory 603.
  • the software implementing various embodiments of the present disclosure can be stored in memory 603 and executed by processor(s) 601.
  • a computer-readable medium can include one or more memory devices, according to particular needs.
  • Memory 603 can read the software from one or more other computer-readable media, such as mass storage device(s) 635 or from one or more other sources via communication interface.
  • the software can cause processor(s) 601 to execute particular processes or particular parts of particular processes described herein, including defining data structures stored in memory 603 and modifying such data structures according to the processes defined by the software.
  • the computer system can provide functionality as a result of logic hardwired or otherwise embodied in a circuit, which can operate in place of or together with software to execute particular processes or particular parts of particular processes described herein.
  • Reference to software can encompass logic, and vice versa, where appropriate.
  • Reference to a computer-readable media can encompass a circuit (such as an integrated circuit (IC)) storing software for execution, a circuit embodying logic for execution, or both, where appropriate.
  • IC integrated circuit
  • the present disclosure encompasses any suitable combination of hardware and software. While this disclosure has described several exemplary embodiments, there are alterations, permutations, and various substitute equivalents, which fall within the scope of the disclosure. It will thus be appreciated that those skilled in the art will be able to devise numerous systems and methods which, although not explicitly shown or described herein, embody the principles of the disclosure and are thus within the spirit and scope thereof.

Abstract

Disclosed are techniques for encoding and decoding layered video where the non-temporal enhancement layers and their respective temporal enhancement layers, comply with a scalable video coding standard or technology, and the base layer and its respective temporal enhancement layers does not comply with the same scalable video coding standard or technology. A Video Parameter Set that comprises information about the relationship of layers includes a syntax element indicative of the derivation mechanism for a temporal layer associated with a NAL unit coded in a first coding technology, for example HEVC. For one value of the syntax element, the derivation mechanism is to set the temporal layer of the base layer NAL unit to the value coded in the header of the encapsulating NAL unit, which can be an HEVC NAL unit. For another value, the derivation mechanism is to imply the value of temporal base layer for the first NAL unit.

Description

HYBRID VIDEO CODING TECHNIQUES
SPECIFICATION
FIELD
The disclosed subject matter relates to techniques for encoding and decoding layered video where the non-temporal enhancement layers and their respective temporal enhancement layers use a scalable video coding technique, and the base layer and its respective temporal enhancement layers does not comply with the same scalable video coding technique.
BACKGROUND INFORMATION
Subject matter related to the present application can be found in copending U.S. Patent Application Serial No. 13/528,010, entitled "Scalable Coding Video Using Multiple Coding Technologies"; co-pending U.S. Patent Application Serial No. 13/529,159, entitled "Scalable Video Coding Techniques"; and Serial number 13/414,075, entitled "Dependency Parameter Set for Scalable Video Coding", all of which are incorporated herein by reference in their entireties.
Video compression using scalable techniques can allow a digital video signal to be represented in the form of multiple layers. Scalable video coding techniques have been standardized, including, temporal, spatial, and quality (SNR) scalability. Spatial and SNR scalability can be closely related in the sense that SNR scalability, at least in some implementations and for some video compression schemes and standards, can be viewed as spatial scalability with an spatial scaling factor of 1 in both X and Y dimensions, whereas spatial scalability can enhance the picture size of a base layer to a larger format by, for example, factors of 1.5 to 2.0 in each dimension. Due to this close relation, described henceforth is only spatial scalability.
ITU-T Rec. H.264 version 2 (2005) and later (available from International Telecommunication Union (ITU), Place des Nations, 1211 Geneva 20, Switzerland, and incorporated herein by reference in its entirety), and their respective ISO-IEC counterpart ISO/IEC 14496 Part 10 includes scalability mechanisms known as Scalable Video Coding or SVC, in their Annex G. All or substantially all features of temporal scalability are supported by various versions of H.264, whereas spatial or SNR scalability are specified in the SVC extension. High Efficiency Video Coding (HEVC), specified in ITU-T Rec. H.26S, available from the ITU) and incorporated herein by reference in its entirety, in its first version, also includes support for temporal scalability, whereas it lacks support for spatial or SNR scalability.
The specifications of spatial scalability in all aforementioned standards can vary, for example, due to different terminology, different coding tools of the non- scalable specification basis and/or different tools used for implementing scalability. However, one exemplary implementation strategy for a scalable encoder, configured to encode a base layer and one spatial or SNR enhancement layer, includes two encoding loops: one for the base layer, the other for the enhancement layer.
Additional enhancement layers can be added by adding more coding loops.
Conversely, a scalable decoder can be implemented by a base decoder and one or more enhancement decoders). This has been discussed, for example, in Dugad, R, and Ahuja, N, "A Scheme for Spatial Scalability Using Nonscalable Encoders", IEEE CSVT, Vol 13 No. 10, Oct. 2003, which is incorporated by reference herein in its entirety.
FIG. 1 illustrates a block diagram of such a prior art scalable encoder. It includes a video signal input (101), a downsample unit (102), a base layer coding loop (103), a base layer reference picture buffer (104), which can be part of the base layer coding loop but can also serve as an input to a reference picture upsample unit (105), an enhancement layer coding loop (106), and a bitstream generator (107).
The video signal input (101) can receive the to-be-coded video in any suitable digital format, for example according to ITU-R Rec. BT.601, March 1982 (available from International Telecommunication Union (ITU), Place des Nations, 1211 Geneva 20, Switzerland, and incorporated herein by reference in its entirety). The term "receive" can involve pre-processing actions such as filtering, resampling to, for example, the intended enhancement layer spatial resolution, and other operations. The spatial picture size of the input signal can be assumed to be the same as the spatial picture size of the enhancement layer. The input signal can be used in unmodified form (108) in the enhancement layer coding loop (106), which is coupled to the video signal input.
The video signal input can also be coupled to a downsample unit (102). A purpose of the downsample unit (102) is to down-sample the pictures received by the video signal input (101) in enhancement layer resolution, to a base layer resolution. The downsample factor can be, for example, 1.0, in which case the spatial dimensions of the base layer pictures are the same as the spatial dimensions of the enhancement layer pictures, resulting in a quality scalability, also known as SNR scalability. In this case, the operation of the downsample unit (102) can be a forwarding of the samples without modification. Downsample factors larger than 1.0 lead to base layer spatial resolutions lower than the enhancement layer resolution, which enables spatial scalability. Various downsample filters useful for different downsample factors are known to those skilled in the art.
Video coding standards as well as application constraints can set constraints for the base layer resolution in relation to the enhancement layer resolution. The scalable baseline profile of H.264/SVC, for example, allows downsample ratios of 1.5 or 2.0 in both X and Y dimensions. A downsample ratio of 2.0 means that the downsampled picture includes only one quarter of the samples of the non-downsampled picture. In the aforementioned video coding standards, the details of the downsampling mechanism can be chosen freely, independently of the upsampling mechanism. In contrast, the aforementioned video coding standards can specify the filter used for up-sampling, so to avoid drift in the enhancement layer coding loop (106). The output of the downsampling unit (102) can be a downsampled version of the picture as produced by the video signal input (109). The base layer coding loop (103) can take the downsampled picture (109) produced by the
downsample unit (102), and encode it into a base layer bitstream (110).
Certain video compression technologies rely, among others, on inter picture prediction techniques to achieve high compression efficiency. Inter picture prediction allows for the use of information related to one or more previously decoded or otherwise processed pictures, known as reference pictures, in the decoding of the current picture. Examples for inter picture prediction mechanisms include motion compensation, where during reconstruction blocks of pixels from a previously decoded picture are copied or otherwise employed after being moved according to a motion vector, or residual coding, where, instead of decoding pixel values, the potentially quantized difference between a pixel (including in some cases motion compensated pixel) of a reference picture and the reconstructed pixel value is contained in the bitstream and used for reconstruction. Inter picture prediction is a technology that can enable coding efficiency in modern video coding.
Conversely, an encoder can also create reference picture(s) in its coding loop. While in non-scalable coding, the use of reference pictures can have relevance in inter picture prediction, in case of scalable coding, reference pictures can also be relevant for cross-layer prediction. Cross-layer prediction can involve the use of a base layer's reconstructed picture, as well as other base layer reference picture(s) as a reference picture in the prediction of an enhancement layer picture. This reconstructed picture or reference picture can be the same as the reference picture(s) used for inter picture prediction. However, the generation of such a base layer reference picture can be required even if the base layer is coded in a manner, such as intra picture only coding, that would, without the use of scalable coding, not require a reference picture.
While base layer reference pictures can be used in the enhancement layer coding loop, FIG. 1 depicts the use of the reconstructed picture (i.e., the most recent reference picture) (111) for use by the enhancement layer coding loop. The base layer coding loop (103) can generate reference picture(s) in the aforementioned sense, and store it in the reference picture buffer (104).
The picture(s) stored in the reconstructed picture buffer (111) can be upsampled by the upsample unit (105) into the resolution used by the enhancement layer coding loop (106). The enhancement layer coding loop (106) can use the upsampled base layer reference picture as produced by the upsample unit (105) in conjunction with the input picture coming from the video input (101), and reference pictures (112) created by the enhancement layer coding loop in its coding process. The nature of these uses depends on the video coding standard, and has already been briefly introduced for some video compression standards above. The enhancement layer coding loop (106) can create an enhancement layer bitstream (113), which can be processed together with the base layer bitstream (110) and control information (not shown in FIG. 1 ) so as to create a scalable bitstream (114).
US patent application Serial No. 13/529, 159, entitled "Scalable Video Coding Technique", and incorporated herein by reference in its entirety, discloses scalable video coding techniques suitable for HEVC and other basing video coding technologies, including multi-standard video coding. Multi-standard video coding, as outlined, for example in US patent application Serial No. 13/528,010 can refer to mechanisms that allow a base layer bitstream (110) to be of a different coding technique than the enhancement layer(s) bitstream(s) (113). As an example, throughout this specification, it is assumed that the base layer bitstream (110) (including its temporal enhancement layers, if any) conforms to H.264, whereas the at least one enhancement layer(s) bitstreams (113) including their respective temporal enhancement layers conform to a future extension of HEVC that can be based on techniques disclosed in aforementioned patent applications.
Accordingly, the base layer coding loop (103) that creates an H.264 compliant bitstream (110) uses a coding technology different than the enhancement layer coding loop (106), which creates HEVC scalable extension compliant enhancement layer bitstream(s) (113).
SUMMARY
The disclosed subject matter provides techniques for encoding and decoding layered video where the non-temporal enhancement layers and their respective temporal enhancement layers, comply with a scalable video coding standard or technology, and the base layer and its respective temporal enhancement layers does not comply with the same scalable video coding standard or technology. In one embodiment, an indication in a high level syntax structure tying together layers, such as a dependency parameter set or video parameter set, is used to indicate the standard(s) or technology(s) used for base and/or enhancement layer coding. In the same or another embodiment, in order to allow for the creation of a single scalable bitstream that includes syntax according to more than one coding technology, an encapsulation mechanism can be provided which allows the inclusion of syntax of one coding technology into the syntax of another coding technology. In the same or another embodiment, for such cases where different base and non-temporal enhancement layer coding technologies are in use and where both base and enhancement layer coding technologies support temporal scalability, a mechanism is disclosed that can be used to indicate the temporal id of the encapsulating NAL unit based on information that can be available in the encapsulated NAL units. BRIEF DESCRIPTION OF THE DRAWINGS
Further features, the nature, and various advantages of the disclosed subject matter will be more apparent from the following detailed description and the accompanying drawings in which:
FIG. 1 is a schematic illustration of an exemplary scalable video encoder in accordance with the prior art;
FIG. 2 is a schematic illustration of an exemplary scalable video encoder in accordance with the disclosed subject matter
FIG. 3 is a schematic illustration of an exemplary video parameter set in accordance with an embodiment of the disclosed subject matter;
FIG. 4 is a schematic illustration of an exemplary encapsulation NAL unit in accordance with an embodiment of the disclosed subject matter; and
FIG. 5 is a schematic illustration of an exemplary decoder in accordance with the disclosed subject matter.
FIG. 6 shows an exemplary computer system in accordance with an embodiment of the disclosed subject matter.
The Figures are incorporated and constitute part of this disclosure. Throughout the Figures the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components or portions of the illustrated embodiments. Moreover, while the disclosed subject matter will now be described in detail with reference to the Figures, it is done so in connection with the illustrative embodiments.
DETAILED DESCRIPTION
The disclosed subject matter relates to techniques to improve multistandard scalable encoding/decoding as disclosed in co-pending U.S. Patent Application Serial Nos. 13/529,159, 13/414,075, and 13/528,010.
Referring to FIG. 2, the generation of the scalable bitstream (214) from the, for example. H.264 compliant base layer bitstream (210) and the, for example, HEVC compliant enhancement layer bitstream(s) (213), created by the enhancement layer coding loop (206), in the scalable bitstream generator (207) will now be described. Disclosed herein are three exemplary aspects of this generation mechanism and of the resulting scalable bitstream (214): (1) : Signalling mechanisms to indicate the nature of the scalable bitstream (214) as being a hybrid of an, for example, H.264 base layer (103) and HEVC enhancement layer(s) (213) bitstreams;
(2) : Encapsulation of the H.264 syntax of the base layer bitstream (210) into the HEVC compliant scalable bitstream (214); and
(3) : The support of temporal scalability, and especially the temporal scalability fields of the NAL unit header of the scalable bitstream (214).
In an embodiment, as shown in FIG. 3, a parameter set (such as a dependency parameter set or a video parameter set) or other high level syntax structure (such as a sequence header or a scalability information SEI message) (301) that, among other things, tie together layers using, for example, layer dependency information (302) can include information pertaining to the video coding technology in use. Technologies that tie together layers (302) in a parameter set have been disclosed, for example, in US patent application Serial number 13/414,075, entitled "Dependency Parameter Set for Scalable Video Coding", which is incorporated herein by reference in its entirety. HEVC's video parameter set can also contains other information, denoted here as baseline information (303).
As an example, the SNR and/or spatial enhancement layers and their respective temporal enhancement layers can be coded in accordance with an extension of HEVC that includes a video parameter set (301), which in turn can include functionalities of the dependency parameter set (302) as described in US 13/414,075. In this example, the base layer, and its respective temporal enhancement layers can be coded in accordance with H.264. According to an embodiment, the video parameter set can include information (304) of the video coding technology used to encode base layer and or non-temporal enhancement layer(s). There are different options for representing this information. For example, a registry can be set up that includes codewords for base layer and/or enhancement layer technologies, and a corresponding codeword can be placed into the description of the base layer and each enhancement layer, or (assuming that all enhancement layers are using the same coding technology), once for all enhancement layers together.
Shown in FIG. 3 is an approach that satisfies some use cases that are discussed in JCT-VC, e.g., an H.264 (AVC or SVC with only temporal enhancement layers) base layer, and an HEVC enhancement layer. One coding mechanism addressing this use case in the context of an HEVC scalable extension, which implies that non-temporal enhancement layers are coded in HEVC-style, whereas the base layer can either be coded in H.264 or in HEVC. In this scenario, a single flag, the avc_base_layer_flag (305) can indicate, for example to a decoder, that the base layer bitstream (210) (and its temporal enhancement layers, if any) are coded in H.264 syntax, whereas the non-temporal enhancement layers (213) and their respective temporal enhancement layers are coded in HEVC syntax.
HEVC and H.264 specify a different high level syntax, and different NAL unit headers. In order to include both H.264 and HEVC NAL units in a single, scalable HEVC bitstream, it may be necessary to encapsulate the H.264 NAL units into HEVC NAL units. Techniques for such an encapsulation have been disclosed, for example, in JCT-VC contribution JCTVC-F290 (Hong, D., et. al, "Scalability Support in HEVC", 7/1/2011, available from http://phenix.int- evry.fr/jct/doc_end_user/current_document.php?id=2756), which is incorporated herein by reference in its entirety.
FIG. 4 shows one exemplary encapsulation NAL unit. An HEVC NAL unit (401) can contain a header (402) including, among other fields, a nal unit type (403) and a nuh_temporal_id_plusl (404). The nal unit type field (403) can indicate through the use of a standardized value that the NAL unit is an encapsulation NAL unit. An example use of the nuh_temporal_id_plusl (404) is disclosed below.
The payload (405) of the HEVC NAL unit (401) (which can be all parts of the NAL unit (401) except for the header (402) can include one or more H.264 NAL units; shown are two (406) (407). In the same or another embodiment, the payload can include a prefix NAL unit (406) as specified in H.264/SVC or H.264 MVC, and a VCL NAL unit (407) as specified in H.264, with or without the SVC or MVC extension. Depending on the encoder, and its capability of encoding SVC or MVC, the prefix NAL unit may or may not be present.
In HEVC, even without its scalable extension, the nuh_temporal_id__plusl field (404) in its NAL unit header (402) can indicate a temporal level for the decoding of which the content of the NAL unit is required. Lower values for nuh_temporal_id_plusl can indicate a lower temporal layer. Under certain circumstances, all lower temporal layers can be required to decode a higher temporal layer. A value of nuh_temporal_id jplus 1 of 1 can indicate the temporal base layer.
An H.264 encoder has flexibility in the use of the reference picture list construction and management, which complicates temporal layering. The NAL unit header of H.264 NAL units (407) without the SVC or MVC extensions do not include a temporal ID field. In order to cure that deficit, during the design of SVC, a temporal ID field was introduced for the SVC compliant NAL units, and a so-called prefix NAL unit was introduced that a legacy H.264 decoder could discard, but a more modern decoder or MANE can use to derive, among other things, the temporal layer of the NAL unit immediately following the prefix NAL unit. The use of different temporal ID values in the NAL unit header in the SVC or MVC extensions implies restrictions on the flexibility of the encoder's reference picture list construction and management, so that higher temporal layers can be removed from the bitstream without impacting the decoding of lower temporal layers.
Two exemplary options for the use of nuh_temporal_id_plusl (404) are described below. The choice between the two options can be made by standardization (i.e. the HEVC extension specification could specify and use only one of the options), or could be dependent on a codepoint, for example a nuh_temporal_id_derivation_flag (306) that can be located, for example, in the video parameter set (301) or a similar high level syntax structure that pertains to multiple layers. The presence of the nuh_temporal_id_derivation_flag can be conditioned on the avc_base_layer_flag being set, or other information indicating hybrid layered coding.
In the first option, according to the same or another embodiment, the value of nuh_temporal_id_plusl (404) can be set to the value of temporal id + 1 in the prefix NAL unit, if such a prefix NAL unit is present in the payload of the HEVC NAL unit. If a prefix NAL unit is not present, and the H.264 NAL unit is an SVC NAL unit, then the value of nuh_temporal_id_plus 1 can be set to (by, for example, the enhancement layer coding loop of the encoder (206)) , and can be restricted to (by, for example, the bitstream conformance), the value of tempora d + 1 of the SVC NAL unit header. If the prefix NAL unit is not included and the H.264 NAL unit is a legacy H.264 NAL unit (not containing a temporal ID) then the value of nuh_temporal_id_plusl (404) can be set to, and restricted to a value of 1, indicating the temporal base layer.
A second option requires encoder cooperation with respect to the coding options chosen by the base layer coding loop (203) and may, at least in some cases, not be implemented in scenarios where an already pre-encoded (H.264) base layer is augmented with HEVC. At least some H.264 encoders use a strict temporal layering structure as part of their coding algorithm, even if they lack the syntax to express such a restriction in the bitstream. However, if the H.264 encoder that is part of a multistandard H.264/HEVC layered encoder (that uses HEVC NAL unit encapsulation as described above) uses temporal layering, it can use the nuh_temporal_id_plusl (404) field to express the temporal layering of the encapsulated H.264 NAL units even if the H.264 syntax does not include mechanisms to express such a relationship. This allows the temporal layering structure to be aligned between the base and the enhancement layer.
The first option works with all H.264 bitstreams, even with those not observing any temporal layering. Further, the encapsulation can be applied even without the cooperation of the H.264 encoder. However, it may not allow a MANE or decoder to prune NAL units of temporal enhancement layers of the base layer.
The second option requires encoder cooperation, but allows a MANE or decoder to prune NAL units of a temporal enhancement layer not needed for decoding.
FIG. 5 shows a decoder according to an embodiment of the disclosed subject matter. A demultiplexer (S01) can split a received scalable bitstream (502) into, for example, a base layer bitstream (503) and an enhancement layer bitstream (504). The demultiplexer (501) can include a NAL unit extractor that extracts base layer NAL units (for example H.264 NAL units) that make up the base layer bitstream (503) from the NAL units that form the scalable bitstream (501), which can be in HEVC syntax. The reverse mechanism of the encapsulation, as already described, can apply. Further, the demultiplexer can recreate, from the scalable bitstream or out- of-band information, a video parameter set (505) that can contain the same information as the video parameter set generated by the encoder. It can therefore contain information pertaining to the layering structure of the scalable bitstream and, according to the same or another embodiment, can also include, for at least one layer, an indication of the coding mechanism used to decode the bitstream of the layer in question: for example an avc_base_layer_flag and/or a nuh temporal id derivation flag. This information can, for example, be used in the reverse fashion as used in the encoder, which has already been described.
A base layer decoder (506) can create a reconstructed picture sequence that can be output (507) if so desired by the system design. Parts or all of the reconstructed picture sequence (508) can also be used by cross-layer prediction after being upsampled in an upsample unit (509). Similarly, side information (510) can be created during the decoding process and can be upscaled by an upscale unit (511). Upscale unit and upsample unit have already been described in the context of the encoder, and should operate such that, for a given input, the output is substantially similar to the output of the encoder's upsample/upscale units so to avoid drift between encoder and decoder. This can be achieved by standardizing the upsample/upscale mechanisms, and requiring conformance of the upsample/upscale units of both encoder and decoder with the standard.
When decoding an enhancement layer picture, the decoded base layer picture corresponding to the same picture output time should be available to the enhancement layer decoder. This can be achieved by aligning the picture coding order of corresponding pictures in the base layer and the enhancement layer and arranging the base layer coded picture immediately preceding its corresponding enhancement layer coded picture in the coded bitstream.
The enhancement layer decoder ( 12) can create enhancement layer pictures (513) that can be output for use by the application.
Computer system
The methods for hybrid video coding, described above, can be implemented as computer software using computer-readable instructions and physically stored in computer-readable medium. The computer software can be encoded using any suitable computer languages. The software instructions can be executed on various types of computers. For example, FIG. 6 illustrates a computer system 600 suitable for implementing embodiments of the present disclosure.
The components shown in FIG. 6 for computer system 600 are exemplary in nature and are not intended to suggest any limitation as to the scope of use or functionality of the computer software implementing embodiments of the present disclosure. Neither should the configuration of components be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary embodiment of a computer system. Computer system 400 can have many physical forms including an integrated circuit, a printed circuit board, a small handheld device (such as a mobile telephone or PDA), a personal computer or a super computer.
Computer system 600 includes a display 632, one or more input devices 633 (e.g., keypad, keyboard, mouse, stylus, etc.), one or more output devices 634 (e.g., speaker), one or more storage devices 635, various types of storage medium 636.
The system bus 640 link a wide variety of subsystems. As understood by those skilled in the art, a "bus" refers to a plurality of digital signal lines serving a common function. The system bus 640 can be any of several types of bus structures including a memory bus, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include the Industry Standard Architecture (ISA) bus. Enhanced ISA (EISA) bus, the Micro Channel Architecture (MCA) bus, the Video Electronics Standards Association local (VLB) bus, the Peripheral Component Interconnect (PCI) bus, the PCI-Express bus (PCI-X), and the Accelerated Graphics Port (AGP) bus.
Processor(s) 601 (also referred to as central processing units, or CPUs) optionally contain a cache memory unit 602 for temporary local storage of instructions, data, or computer addresses. Processor(s) 601 are coupled to storage devices including memory 603. Memory 603 includes random access memory (RAM) 604 and read-only memory (ROM) 60S. As is well known in the art, ROM 60S acts to transfer data and instructions uni-directionally to the processor(s) 601, and RAM 604 is used typically to transfer data and instructions in a bi-directional manner. Both of these types of memories can include any suitable of the computer-readable media described below.
A fixed storage 608 is also coupled bi-directionally to the processor(s) 601, optionally via a storage control unit 607. It provides additional data storage capacity and can also include any of the computer-readable media described below. Storage 608 can be used to store operating system 609, EXECs 610, application programs 612, data 611 and the like and is typically a secondary storage medium (such as a hard disk) that is slower than primary storage. It should be appreciated that the information retained within storage 608, can, in appropriate cases, be incorporated in standard fashion as virtual memory in memory 603.
Processor(s) 601 is also coupled to a variety of interfaces such as graphics control 621, video interface 622, input interface 623, output interface 624, storage interface 62S, and these interfaces in turn are coupled to the appropriate devices. In general, an input/output device can be any of: video displays, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, biometrics readers, or other computers. Processor(s) 601 can be coupled to another computer or telecommunications network 630 using network interface 620. With such a network interface 620, it is contemplated that the CPU 601 might receive information from the network 630, or might output information to the network in the course of performing the above-described method. Furthermore, method embodiments of the present disclosure can execute solely upon CPU 601 or can execute over a network 630 such as the Internet in conjunction with a remote CPU 601 that shares a portion of the processing.
According to various embodiments, when in a network environment, i.e., when computer system 600 is connected to network 630, computer system 600 can communicate with other devices that are also connected to network 630. Communications can be sent to and from computer system 600 via network interface 620. For example, incoming communications, such as a request or a response from another device, in the form of one or more packets, can be received from network 630 at network interface 620 and stored in selected sections in memory 603 for processing. Outgoing communications, such as a request or a response to another device, again in the form of one or more packets, can also be stored in selected sections in memory 603 and sent out to network 630 at network interface 620. Processor(s) 601 can access these communication packets stored in memory 603 for processing.
In addition, embodiments of the present disclosure further relate to computer storage products with a computer-readable medium that have computer code thereon for performing various computer-implemented operations. The media and computer code can be those specially designed and constructed for the purposes of the present disclosure, or they can be of the kind well known and available to those having skill in the computer software arts. Examples of computer-readable media include, but are not limited to: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and holographic devices; magneto- optical media such as optical disks; and hardware devices that are specially configured to store and execute program code, such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs) and ROM and RAM devices. Examples of computer code include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. Those skilled in the art should also understand that term "computer readable media" as used in connection with the presently disclosed subject matter does not encompass transmission media, carrier waves, or other transitory signals.
As an example and not by way of limitation, the computer system having architecture 600 can provide functionality as a result of processor(s) 601 executing software embodied in one or more tangible, computer-readable media, such as memory 603. The software implementing various embodiments of the present disclosure can be stored in memory 603 and executed by processor(s) 601. A computer-readable medium can include one or more memory devices, according to particular needs. Memory 603 can read the software from one or more other computer-readable media, such as mass storage device(s) 635 or from one or more other sources via communication interface. The software can cause processor(s) 601 to execute particular processes or particular parts of particular processes described herein, including defining data structures stored in memory 603 and modifying such data structures according to the processes defined by the software. In addition or as an alternative, the computer system can provide functionality as a result of logic hardwired or otherwise embodied in a circuit, which can operate in place of or together with software to execute particular processes or particular parts of particular processes described herein. Reference to software can encompass logic, and vice versa, where appropriate. Reference to a computer-readable media can encompass a circuit (such as an integrated circuit (IC)) storing software for execution, a circuit embodying logic for execution, or both, where appropriate. The present disclosure encompasses any suitable combination of hardware and software. While this disclosure has described several exemplary embodiments, there are alterations, permutations, and various substitute equivalents, which fall within the scope of the disclosure. It will thus be appreciated that those skilled in the art will be able to devise numerous systems and methods which, although not explicitly shown or described herein, embody the principles of the disclosure and are thus within the spirit and scope thereof.

Claims

CLAIMS What is claimed is:
1. A method for decoding a base layer conforming to a second coding technology from a hybrid scalable bitstream, the hybrid scalable bitstream comprising the base layer conforming to the second coding technology and at least one enhancement layer conforming to a first coding technology, wherein the first and second coding technology are not the same, and wherein both first and second coding technologies use Network Abstraction Layer (NAL) units, the method comprising: extracting at least one second NAL unit conforming to the second coding technology from a first nAL unit of the hybrid bitstream identified by a predetermined value of a nal_unit_type indicating the NAL unit is an encapsulation NAL unit, and
decoding, in a decoding device compliant with the second coding technology, the at least one second NAL unit,
wherein the second coding technology is identified by a syntax element in a Video Parameter Set (VPS); and
wherein both the first and second coding technology support temporal layers, and the VPS further includes information indicative of a derivation of the temporal layer associated with the second NAL unit from the temporal layer associated with the first NAL unit.
2. The method of claim 1, wherein the information indicative of the derivation comprises: a flag nuh_temporal_id_derivation_flag indicative of one of: (1) no derivation, in which case the temporal layer of the second NAL unit is the temporal base layer; or (2) derivation, in which case the temporal layer of the second nal unit is equal to the temporal layer of the first NAL unit
3. The method of claim 2, wherein the presence of the
nuh_temporal_id_derivation_flag is conditioned on the value of the syntax element in the Video Parameter set identifying the second coding technology.
4. A method for encoding a base layer conforming to a second coding technology in a hybrid scalable bitstream, the hybrid scalable bitstream comprising the base layer conforming to the second coding technology and at least one enhancement layer conforming to a first coding technology, wherein the first and second coding technology are not the same, and wherein both first and second coding technologies use Network Abstraction Layer (NAL) units, the method comprising: encoding, in a base layer encoding device compliant with the second coding technology, the at least one second NAL unit, and
encapsulating at least one second NAL unit conforming to the second coding technology into a first NAL unit of the hybrid bitstream identified by a predetermined value of a nal unit type indicating the NAL unit is an encapsulation NAL unit,
wherein the second coding technology is identified by a syntax element in a Video Parameter Set (VPS); and
wherein both the first and second coding technology support temporal layers, and the VPS further includes information indicative of a derivation of the temporal layer associated with the second NAL unit from the temporal layer associated with the first NAL unit.
5. The method of claim 4, wherein the information indicative of the derivation comprises: a flag nuh_temporal_id_derivation_flag indicative of one of: (1) no derivation, in which case the temporal layer of the second NAL unit is the temporal base layer; or (2) derivation, in which case the temporal layer of the second nal unit is equal to the temporal layer of the first NAL unit.
6. The method of claim 5, wherein the presence of the
nuh_temporal_id_derivation_flag is conditioned on the value of the syntax element in the Video Parameter set identifying the second coding technology.
7. A system for decoding a base layer conforming to a second coding technology from a hybrid scalable bitstream, the hybrid scalable bitstream comprising the base layer conforming to the second coding technology and at least one enhancement layer conforming to a first coding technology, wherein the first and second coding technology are not the same, and wherein both first and second coding technologies use Network Abstraction Layer (NAL) units, the system comprising: a decoding device, the decoding device being compliant with the second coding technology and being configured to:
extract at least one second NAL unit conforming to the second coding technology from a first NAL unit of the hybrid bitstream identified by a pre- determined value of a nal_unit_type indicating the NAL unit is an encapsulation NAL unit, and
decode the at least one second NAL unit,
wherein the second coding technology is identified by a syntax element in a Video Parameter Set (VPS); and
wherein both the first and second coding technology support temporal layers, and the VPS further includes information indicative of a derivation of the temporal layer associated with the second NAL unit from the temporal layer associated with the first NAL unit.
8. The system of claim 7, wherein the information indicative of the derivation comprises: a flag nuh temporal id derivation flag indicative of one of: (1) no derivation, in which case the temporal layer of the second NAL unit is the temporal base layer; or (2) derivation, in which case the temporal layer of the second nal unit is equal to the temporal layer of the first NAL unit.
9. The system of claim 8, wherein the presence of the nuh temporal id derivation flag is conditioned on the value of the syntax element in the Video Parameter set identifying the second coding technology.
10. A system for encoding a base layer conforming to a second coding technology in a hybrid scalable bitstream, the hybrid scalable bitstream comprising the base layer conforming to the second coding technology and at least one enhancement layer conforming to a first coding technology, wherein the first and second coding technology are not the same, and wherein both first and second coding technologies use Network Abstraction Layer (NAL) units, the system comprising: an encoding device, the encoding device being configured to:
encode, in a base layer encoding device compliant with the second coding technology, the at least one second NAL unit, and
encapsulate at least one second NAL unit conforming to the second coding technology into a first NAL unit of the hybrid bitstream identified by a predetermined value of a nal_unit_type indicating the NAL unit is an encapsulation NAL unit,
wherein the second coding technology is identified by a syntax element in a Video Parameter Set (VPS); and
wherein both the first and second coding technology support temporal layers, and the VPS further includes information indicative of a derivation of the temporal layer associated with the second NAL unit from the temporal layer associated with the first NAL unit.
11. The system of claim 10, wherein the information indicative of the derivation comprises: a flag nuh_temporal_id_derivation_flag indicative of one of: (1) no derivation, in which case the temporal layer of the second NAL unit is the temporal base layer; or (2) derivation, in which case the temporal layer of the second nal unit is equal to the temporal layer of the first NAL unit.
12. The system of claim 11, wherein the presence of the
nuh temporal id derivation flag is conditioned on the value of the syntax element in the Video Parameter set identifying the second coding technology.
13. A non-transitory computer readable medium comprising a set of executable instructions to direct a processor to perform the method in one of claims 1 to 6.
PCT/US2013/059730 2012-10-01 2013-09-13 Hybrid video coding techniques WO2014055222A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261708341P 2012-10-01 2012-10-01
US61/708,341 2012-10-01

Publications (1)

Publication Number Publication Date
WO2014055222A1 true WO2014055222A1 (en) 2014-04-10

Family

ID=50435320

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2013/059730 WO2014055222A1 (en) 2012-10-01 2013-09-13 Hybrid video coding techniques

Country Status (1)

Country Link
WO (1) WO2014055222A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3050300A4 (en) * 2013-09-26 2016-08-03 Ericsson Telefon Ab L M Hybrid codec scalable video
CN109672885A (en) * 2019-01-08 2019-04-23 中国矿业大学(北京) A kind of video image encoding and decoding method for mine intelligent monitoring

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163211A1 (en) * 2002-03-05 2005-07-28 Tamer Shanableh Scalable video transmission
US20110013701A1 (en) * 2009-07-17 2011-01-20 Canon Kabushiki Kaisha Method and device for reconstructing a sequence of video data after transmission over a network
US8126054B2 (en) * 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
US20120075436A1 (en) * 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
US20120269275A1 (en) * 2010-10-20 2012-10-25 Nokia Corporation Method and device for video coding and decoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050163211A1 (en) * 2002-03-05 2005-07-28 Tamer Shanableh Scalable video transmission
US8126054B2 (en) * 2008-01-09 2012-02-28 Motorola Mobility, Inc. Method and apparatus for highly scalable intraframe video coding
US20110013701A1 (en) * 2009-07-17 2011-01-20 Canon Kabushiki Kaisha Method and device for reconstructing a sequence of video data after transmission over a network
US20120075436A1 (en) * 2010-09-24 2012-03-29 Qualcomm Incorporated Coding stereo video data
US20120269275A1 (en) * 2010-10-20 2012-10-25 Nokia Corporation Method and device for video coding and decoding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3050300A4 (en) * 2013-09-26 2016-08-03 Ericsson Telefon Ab L M Hybrid codec scalable video
US10257527B2 (en) 2013-09-26 2019-04-09 Telefonaktiebolaget Lm Ericsson (Publ) Hybrid codec scalable video
CN109672885A (en) * 2019-01-08 2019-04-23 中国矿业大学(北京) A kind of video image encoding and decoding method for mine intelligent monitoring

Similar Documents

Publication Publication Date Title
US9313486B2 (en) Hybrid video coding techniques
JP6169273B2 (en) Video encoding / decoding device, method, and computer program
AU2012225513B2 (en) Dependency parameter set for scalable video coding
KR102079803B1 (en) Image decoding method and apparatus using same
JP6057395B2 (en) Video encoding method and apparatus
AU2013243822B2 (en) Level signaling for layered video coding
US20130016776A1 (en) Scalable Video Coding Using Multiple Coding Technologies
US20130163660A1 (en) Loop Filter Techniques for Cross-Layer prediction
KR102420153B1 (en) Video-encoding method, video-decoding method, and apparatus implementing same
EP2727362A2 (en) Motion prediction in scalable video coding
US20130003833A1 (en) Scalable Video Coding Techniques
US9179145B2 (en) Cross layer spatial intra prediction
US20130195169A1 (en) Techniques for multiview video coding
WO2014049210A1 (en) An apparatus, a method and a computer program for video coding and decoding
KR102160242B1 (en) Image decoding method and apparatus using same
WO2014055222A1 (en) Hybrid video coding techniques

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: 13843773

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13843773

Country of ref document: EP

Kind code of ref document: A1