The present invention relates to a sampling filter process for scalable video coding. More specifically, the present invention relates to re-sampling using video data obtained from an encoder or decoder process, where the encoder or decoder process can be MPEG-4 Advanced Video Coding (AVC) or High Efficiency Video Coding (HEVC). Further, the present invention specifically relates to Scalable HEVC (SHVC) that includes a two layer video coding system.
Scalable video coding (SVC) refers to video coding in which a base layer (BL), sometimes referred to as a reference layer, and one or more scalable enhancement layers (EL) are used. For SVC, the base layer can carry video data with a base level of quality. The one or more enhancement layers can carry additional video data to support higher spatial, temporal, and/or signal-to-noise SNR levels. Enhancement layers may be defined relative to a previously coded layer.
The base layer and enhancement layers can have different resolutions. Upsampling filtering, sometimes referred to as resampling filtering, may be applied to the base layer in order to match a spatial aspect ratio or resolution of an enhancement layer. This process may be called spatial scalability. An upsampling filter set can be applied to the base layer, and one filter can be chosen from the set based on a phase (sometimes referred to as a fractional pixel shift). The phase may be calculated based on the ratio between base layer and enhancement layer picture resolutions.
Embodiments of the present invention provide methods, devices and systems for the upsampling process from BL resolution to EL resolution to implement the upsampling of
Further details of the present invention are explained with the help of the attached drawings in which:
An example of a scalable video coding system using two layers is shown in
The cross-layer CL information provided from the BL to the FR layer shown in
The upsampling block 200 works by interpolating from the BL data to recreate what is modified from the FR data. For instance, if every other pixel is dropped from the FR in block 108 to create the lower resolution BL data, the dropped pixels can be recreated using the upsampling block 200 by interpolation or other techniques to generate the EL resolution output y′ from upsampling block 200. The data y′ is then used to make encoding and decoding of the EL data more efficient.
I. Overview of Upsampling Circuitry
In module 300, a set of input samples in a video signal x is first selected. In general, the samples can be a two-dimensional subset of samples in x, and a two-dimensional filter can be applied to the samples. The module 302 receives the data samples in x from module 300 and identifies the position of each sample from the data it receives, enabling module 302 to select an appropriate filter to direct the samples toward a subsequent filter module 304. The filter in module 304 is selected to filter the input samples, where the selected filter is chosen or configured to have a phase corresponding to the particular output sample location desired.
The filter input samples module 304 can include separate row and column filters. The selection of filters is represented herein as filters h[n; p], where the filters can be separable along each row or column, and p denotes a phase index selection for the filter. The output of the filtering process using the selected filter h[n;p] on the selected input samples produces output value y′.
In
II. Existing Syntax for Signaling Scaled Reference Layer Offsets
In order to accommodate for offset and phase shift differences between the BL and EL samples, phase offset adjustment parameters can be signaled to achieve the desired correspondence between the layers. Let a sample location relative to the top-left sample in the current EL picture be (xP, yP), and a sample location in the BL reference layer in units of 1/16-th sample relative to the top-left sample of the BL be (xRef16, yRef16). In J. Chen, J. Boyce, Y. Ye, M. Hannuksela, G. Sullivan, Y. Wang, “High efficiency video coding (HEVC) scalable extension Draft 5,” JCTVC-P1008_v4, January 2014, the relationship between (xRef16, yRef16) and (xP, yP) is given as follows:
The sample position (xRef16, yRef16) is used to select the input samples and the filters used in computing the output sample values as specified in J. Chen, J. Boyce, Y. Ye, M. Hannuksela. G. Sullivan, Y. Wang, “High efficiency video coding (HEVC) scalable extension Draft 5,” JCTVC-P1008_v4, January 2014.
The variables offsetX, addX, offsetY, and addY specify scaled reference layer offset and phase parameters in the horizontal and vertical directions, variables phaseX and phaseY specify reference layer phase offset parameters in the horizontal and vertical directions, and variables ScaleFactorX and ScaleFactorY are computed based on the ratio of the reference layer to the scaled reference layer width and height. These variables are computed based upon phase offset parameters specified in J. Chen, J. Boyce, Y. Ye, M. Hannuksela, G. Sullivan, Y. Wang, “High efficiency video coding (HEVC) scalable extension Draft 5,” JCTVC-P1008_v4. January 2014. In particular, the offset parameters offsetX and offsetY are computed as:
In U.S. Provisional Patent Application No. 62/661,867, (hereinafter referred to as the “'215”) incorporated by reference in its entirety, syntax elements for scaled reference layer offsets are included in the bitstream syntax at the PPS level (PPS multilayer extension) as shown in Table 1.
In Table 1, num_scaled_ref_layer_offsets indicates the number of sets of scaled reference layer offset parameters for which offsets are signaled, and scaled_ref_layer_id[i] specifies the nuh_layer_id value of the associated inter-layer picture for which offsets are specified.
In J. Chen, J. Boyce, Y. Ye, M. Hannuksela, G. Sullivan, Y. Wang, “High efficiency video coding (HEYC) scalable extension Draft 5,” JCTVC-P1008_v4, January 2014, the syntax elements are defined as follows:
scaled_ref_layer_left_offset[scaled_ref_layer_id[i]] specifies the horizontal offset between the top-left luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the top-left luma sample of the current picture in units of two luma samples. When not present, the value of scaled_ref_layer_left_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_top_offset[scaled_ref_layer_id[i]] specifies the vertical offset between the top-left luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the top-left luma sample of the current picture in units of two luma samples. When not present, the value of scaled_ref_layer_top_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_right_offset[scaled_ref_layer_id[i]] specifies the horizontal offset between the bottom-right luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the bottom-right luma sample of the current picture in units of two luma samples. When not present, the value of scaled_ref_layer_right_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_bottom_offset[scaled_ref_layer_id[i]] specifies the vertical offset between the bottom-right luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the bottom-right luma sample of the current picture in units of two luma samples. When not present, the value of scaled_ref_layer_bottom_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
In '215, additional offsets are signaled to increase the resolution for proper BL and EL alignment at the PPS level in order to accommodate other applications and operations such as interlace/progressive scalability and pan and scan. The following additional phase offset adjustment parameters in Table 1 are signaled.
scaled_ref_layer_left_phase[scaled_ref_layer_id[i]] specifies the horizontal luma offset between nuh_layer_id equal to scaled_ref_layer_id[i] and the current picture in units of ½ luma samples. This is a signed value between −2 to +2. When not present, the value of scaled_ref_layer_left_phase[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_top_phase[scaled_ref_layer_id[i]] specifies the vertical luma offset between nuh_layer_id equal to scaled_ref_layer_id[i] and the current picture in units of ½ luma samples. This is a signed value between −2 to +2. When not present, the value of scaled_ref_layer_top_phase[scaled_ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_horizontal_delta[scaled_ref_layer_id[i]] specifies the horizontal luma offset between nuh_layer_id equal to scaled_ref_layer_id[i] and the current picture in units of ⅛ luma samples. This is a signed value between −8 to 8. When not present, the value of ref_layer_horizontal_delta[scaled_ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_vertical_delta[scaled_ref_layer_id[i]] specifies the vertical luma offset between nuh_layer_id equal to scaled_ref_layer_id[i] and the current picture in units of ⅛ luma samples. This is a signed value between −8 to +8. When not present, the value of ref_layer_vertical_delta[scaled_ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_horizontal_delta_chroma[scaled_ref_layer_id[i]] specifies the horizontal offset between the chroma samples and luma samples in nuh_layer_id equal to scaled_ref_layer_id[i] in units of ¼ luma samples. This is an unsigned value between 0 to 4. When not present, the value of ref_layer_horizontal_delta_chroma[scaled_ref_layer_id[i]] is inferred to be equal to 2.
ref_layer_vertical_delta_chroma[scaled_ref_layer_id[i]] specifies the vertical offset between the chroma samples and luma samples in nuh_layer_id equal to scaled_ref_layer_id[i] in units of ¼ luma samples. This is an unsigned value between 0 to 4. When not present, the value of ref_layer_vertical_delta chroma [scaled_ref_layer_id[i]] is inferred to be equal to 2.
scaled_ref_layer_left_phase_chroma specifies the horizontal chroma offset relative to luma in units of ¼ luma samples. This is an unsigned value between 0 to 4. When not present, the value of scaled_ref_layer_left_phase chroma is inferred to be equal to 2.
scaled_ref_layer_top_phase_chroma specifies the vertical chroma offset relative to luma in units of ¼ luma samples. This is an unsigned value between 0 to 4. When not present, the value of scaled_ref_layer_top_phase chroma is inferred to be equal to 2.
The additional syntax elements are used to provide finer alignment between the layers. One example of the use of the syntax is as follows:
The scaled reference layer phase offset parameters scaled_ref_layer_left_phase, scaled_ref_layer_left_phase_chroma, scaled_ref_layer_top_phase, and scaled_ref_layer_top_phase chroma provide additional independent finer level or resolution over the previous scaled reference layer phase offset parameters, e.g. scaled_ref_layer_left_offset and scaled_ref_layer_top_offset. In addition, the reference layer phase offset parameters ref_layer_horizontal_delta, ref_layer_vertical_delta, ref_layer_horizontal_delta_chroma and ref_layer_vertical_delta_chroma provide finer reference layer phase offset resolution.
III. Embodiments Including Syntax for Signaling Scaled Reference Layer and Reference Layer Offsets
An alternative approach to specify the alignment and offset between layers is given using the syntax elements in Table 2. The syntax disclosed herein provides flexibility and options in signaling offsets for alignment.
In Table 2, num_scaled_ref_layer_offsets indicates the number of sets of scaled reference layer offset parameters for which offsets are signaled, scaled_ref_layer_id[i] (srLId) specifies the nuh_layer_id value of the associated inter-layer picture for which scaled reference layer offsets are specified, num_ref_layer_offsets indicates the number of sets of reference layer offset parameters for which offsets are signaled, and ref_layer_id[i] (rLId) specifies the nuh_layer_id value of the associated inter-layer picture for which reference layer offsets are specified.
The scaled reference layer and reference layer offsets are specified as follows for the decoded pictures, where SubWidthC and SubHeightC represent scaled reference layer chroma subsampling parameters in the horizontal and vertical directions, respectively (e.g. SubWidthC=SubHeightC=2 for 4:2:0 chroma sampling), and RefLayerSubWidthC and RefLayerSubHeightC represent reference layer chroma subsampling parameters in the horizontal and vertical directions, respectively (e.g. RefLayerSubWidthC=RefLayerSubHeightC=2 for 4:2:0 chroma sampling):
scaled_ref_layer_left_offset[scaled_ref_layer_id[i]] specifies the horizontal offset between the top-left luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the top-left luma sample of the current picture in units of SubWidthC luma samples. When not present, the value of scaled_ref_layer_left_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_top_offset[scaled_ref_layer_id[i]] specifies the vertical offset between the top-left luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the top-left luma sample of the current picture in units of SubHeightC luma samples. When not present, the value of scaled_ref_layer_top_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_right_offset[scaled_ref_layer_id[i]] specifies the horizontal offset between the bottom-right luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the bottom-right luma sample of the current picture in units of SubWidthC luma samples. When not present, the value of scaled_ref_layer_right_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_bottom_offset[scaled_ref_layer_id[i]] specifies the vertical offset between the bottom-right luma sample of the associated inter-layer picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the bottom-right luma sample of the current picture in units of SubHeightC luma samples. When not present, the value of scaled_ref_layer_bottom_offset[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_left_phase[scaled_ref_layer_id[i]] specifies the horizontal luma offset between nuh_layer_id equal to scaled_ref_layer_id[i] and the current picture in units of ½ luma samples. When this flag is not present, the value of scaled_ref_layer_left_phase[scaled_ref_layer_id[i]] is inferred to be equal to 0.
scaled_ref_layer_top_phase[scaled_ref_layer_id[i]] specifies the vertical luma offset between nuh_layer_id equal to scaled_ref_layer_id[i] and the current picture in units of ½ luma samples. When this flag is not present, the value of scaled_ref_layer_top_phase[scaled_ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_left_offset[ref_layer id[i]] specifies the horizontal offset between the top-left luma sample of the reference region on the reference picture with nuh_layer_id equal to ref_layer_id[i] and the top-left luma sample of the reference picture in units of RefLayerSubWidthC luma samples. When not present, the value of ref_layer_left_offset[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_top_offset[ref_layer_id[i]] specifies the vertical offset between the top-left luma sample of the reference region on the reference picture with nuh_layer_id equal to ref_layer_id[i] and the top-left luma sample of the reference picture in units of RefLayerSubHeightC luma samples. When not present, the value of ref_layer_top_offset[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_right_offset[ref_layer_id[i]] specifies the horizontal offset between the bottom-right luma sample of the reference region on the reference picture with nuh_layer_id equal to ref_layer_id[i] and the bottom-right luma sample of the reference picture in units of RefLayerSubWidthC luma samples. When not present, the value of ref_layer_right_offset[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_bottom_offset[ref_layer_id[i]] specifies the vertical offset between the bottom-right luma sample of the reference region on the reference picture with nuh_layer_id equal to scaled_ref_layer_id[i] and the bottom-right luma sample of the reference picture in units of RefLayerSubHeightC luma samples. When not present, the value of ref_layer_bottom_offset[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_horizontal_phase[ref_layer_id[i]] specifies the horizontal luma offset between nuh_layer_id equal to ref_layer_id[i] and the current picture in units of ¼ luma samples. This is an unsigned value with 2 bits. When not present, the value of ref_layer_horizontal_phase[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_vertical_phase[ref_layer_id[i]] specifies the vertical luma offset between nuh_layer_id equal to ref_layer_id[i] and the current picture in units of ¼ luma samples. This is an unsigned value with 2 bits. When not present, the value of ref_layer_vertical_phase[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_horizontal_chroma_position[ref_layer_id[i]] specifies the horizontal offset between the chroma samples and luma samples in nuh_layer_id equal to ref_layer_id[i] in units of ¼ luma samples. This is an unsigned value with 2 bits. When not present, the value of ref_layer_horizontal_chroma_position[ref_layer_id[i]] is inferred to be equal to 0.
ref_layer_vertical_chroma_position[ref_layer_id[i]] specifies the vertical offset between the chroma samples and luma samples in nuh_layer_id equal to ref_layer_id[i] in units of ¼ luma samples. This is an unsigned value with 2 bits. When not present, the value of ref_layer_vertical_chroma_position [ref_layer_id[i]] is inferred to be equal to 2.
scaled_ref_layer_left_phase_chroma_position specifies the horizontal chroma offset relative to luma in units of ¼ luma samples. This is an unsigned value. When not present, the value of scaled_ref_layer_left_phase_chroma_postion is inferred to be equal to 0.
scaled_ref_layer_top_phase_chroma_position specifies the vertical chroma offset relative to luma in units of ¼ luma samples. This is an unsigned value. When not present, the value of scaled_ref_layer_top_phase_chroma_position is inferred to be equal to 2.
An example of the use of the syntax elements for determining the alignment between layers is given by the following calculations, where it is assumed that the scaled_ref_layer_id and the ref_layer_id of associated inter-layer picture are the same:
The variables ScaledRefLayerLeftOffset, ScaledRefLayerTopOffset, ScaledRefLayerRightOffset and ScaledRefLayerBottomOffset are derived as follows: ScaledRefLayerLeftOffset=scaled_ref_layer_left_offset[rLId]*SubWidthC ScaledRefLayerTopOffset=scaled_ref_layer_top_offset[rLId]*SubHeightC ScaledRefLayerRightOffset=scaled_ref_layer_right_offset[rLId]*SubWidthC ScaledRefLayerBottomOffset=scaled_ref_layer_bottom_offset[rLId]*SubHeightC
The variables RefLayerLeftOffset, RefLayerTopOffset, RefLayerRightOffset and RefLayerBottomOffset are derived as follows:
The variables ScaledRefLayerPicWidthInSamplesY and ScaledRefLayerPicHeightInSamplesY are derived as follows, where CurPicWidthInSamplesY and CurPicHeightInSamplesY are the width and height, respectively, of the current decoded picture in luma samples:
In one embodiment, the variables RefLayerPicWidthInSamplesY and RefLayerPicHeightInSamplesY are the width and height, respectively, of the current decoded reference layer picture in luma samples, and variables RefLayerRefRegionWidthInSamplesY and RefLayerRefRegionHeightInSamplesY are the width and height, respectively, of the reference region on the decoded reference layer picture rlPic in units of luma samples, respectively, and are derived as follows:
The variables ScaleFactorX and ScaleFactorY are derived as follows:
In order to provide finer alignment for luma and chroma, the following phase offset variables are determined:
The variables ScaledRefLayerLeftPhase, ScaledRefLayerTopPhase, RefLayerHorizontalPhase, RefLayerVerticalPhase, RefLayerHorizontalChromaPhase, and RefLayerVerticalChromaPhase are derived as follows:
The variables offsetX and offsetY are derived as follows:
The variables addX and addY, deltaX and deltaY are derived as follows, where cIdx indicates the color component index (e.g. cIdx=0 for luma, and cIdx=1 for chroma):
If cIdx is equal to 0, the following applies:
The variables xRef16 and yRef16 for specifying the corresponding alignment between the layers are derived as follows:
In the equations above, offsetX and offsetY represent coarse components of the scaled reference alignment and addX and addY represent fine components.
The equations above for reference layer offsets deltaX and deltaY each have two components, a coarse component (e.g. RefLayerLeftOffset) and a fine component (e.g. RefLayerHorizontalPhase). It is possible to constrain these offsets to have only a coarse or fine component. In one embodiment, for example, setting RefLayerHorizontalPhase=0 and RefLayerVerticalPhase=0 for the cIdx=0 case results in the following equations for deltaX and deltaY:
In one embodiment, for example, setting RefLayerHorizontalPhase=0, RefLayerHorizontalChromaPhase=0, RefLayerVerticalPhase=0, and RefLayerVerticalChromaPhase=0 for the cIdx=1 case yields the following equations for deltaX and deltaY:
At block 501 within the Picture Parameter set RBSP syntax, determine if the pps_extension_flag is set. At 502, the PPS multilayer extension flag is read or examined to determine if the pps_multilayer_extension should be parsed. In some cases, for example, when using an encoder, this step is referred to as signaling. It is understood that in the case of an encoder or encoding, the corresponding encoder-appropriate terminology is assumed. At 503, if pps_extension_type_flag[1] is set, specifying that the pps_multilayer_extension syntax structure is present, the method proceeds 504 to the pps_multilayer_extension and the rest of the steps after 503 are processed.
At block 505, ref_layer_id rLId is determined. Continuing to block 506, scaled_ref_layer_left_offset is determined. At block 507, scaled_ref_layer_top_offset is determined. Next, at block 508, scaled_ref_layer_right_offset is determined.
At block 509, scaled_ref_layer_bottom_offset is determined.
At block 511, scaled_ref_layer_left_phase is determined.
At block 513, scaled_ref_layer_top_phase is determined.
At block 515, scaled_ref_layer_left_phase_chroma_position is determined.
At block 517, scaled_ref_layer_top_phase_chroma_position is determined.
Next, at block 520, scaled reference layer offsets are determined using:
At block 522, ref_layer_left_offset is determined.
At block 524, ref_layer_top_offset is determined.
At block 526, ref_layer_right_offset is determined.
At block 528, ref_layer_bottom_offset is determined.
At block 530, Determine reference layer offsets:
At block 532, Determine:
At block 534, Determine:
At block 536, Determine:
At block 538, ref_layer_horizontal_phase is determined
At block 540, ref_layer_vertical_phase is determined.
At block 542, ref_layer_horizontal_chroma_position is determined.
At block 544, ref_layer_vertical_chroma_position is determined.
At block 546, determine reference layer phase offsets using:
At block 548, Determine scaled reference layer offsets (coarse) using:
At block 555, determine if cIdx is equal to 0, and if so, then:
At block 560, determine (fine scaled reference layer, and coarse/fine reference layer) using:
Otherwise, determine if cIdx is not equal to 0, (cIdx is equal to 1), advance to block 562, and determine (fine scaled reference layer, and coarse/fine reference layer):
continuing on to block 564, determine:
Finally, at block 566, provide xRef16 and yRef16 for use in selecting filters and input samples, for example in
Illustrative Operating Environment
As shown in
Destination device 14 may receive encoded video data from source device 12 via a channel 16. Channel 16 may comprise a type of medium or device capable of moving the encoded video data from source device 12 to destination device 14. In one example, channel 16 may comprise a communication medium that enables source device 12 to transmit encoded video data directly to destination device 14 in real-time.
In this example, source device 12 may modulate the encoded video data according to a communication standard, such as a wireless communication protocol, and may transmit the modulated video data to destination device 14. The communication medium may comprise a wireless or wired communication medium, such as a radio frequency (RF) spectrum or one or more physical transmission lines. The communication medium may form part of a packet-based network, such as a local area network, a wide-area network, or a global network such as the Internet. The communication medium may include routers, switches, base stations, or other equipment that facilitates communication from source device 12 to destination device 14. In another example, channel 16 may correspond to a storage medium that stores the encoded video data generated by source device 12.
In the example of
Video encoder 20 may encode the captured, pre-captured, or computer-generated video data. The encoded video data may be transmitted directly to destination device 14 via output interface 22 of source device 12. The encoded video data may also be stored onto a storage medium or a file server for later access by destination device 14 for decoding and/or playback.
In the example of
Display device 32 may be integrated with or may be external to destination device 14. In some examples, destination device 14 may include an integrated display device and may also be configured to interface with an external display device. In other examples, destination device 14 may be a display device. In general, display device 32 displays the decoded video data to a user.
Video encoder 20 includes a resampling module 25 which may be configured to code (e.g., encode) video data in a scalable video coding scheme that defines at least one base layer and at least one enhancement layer. Resampling module 25 may resample at least some video data as part of an encoding process, wherein resampling may be performed in an adaptive manner using resampling filters. Likewise, video decoder 30 may also include a resampling module 35 similar to the resampling module 25 employed in the video encoder 20.
Video encoder 20 and video decoder 30 may operate according to a video compression standard, such as the High Efficiency Video Coding (HEVC) standard. The HEVC standard is being developed by the Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T Video Coding Experts Group (VCEG) and ISO/IEC Motion Picture Experts Group (MPEG). A recent draft of the HEVC standard is described in Recommendation ITU-T H.265| International Standard ISO/IEC 23008-2, High efficiency video coding, version 2, October 2014.
Additionally or alternatively, video encoder 20 and video decoder 30 may operate according to other proprietary or industry standards, such as the ITU-T H.264 standard, alternatively referred to as MPEG-4, Part 10, Advanced Video Coding (AVC), or extensions of such standards. The techniques of this disclosure, however, are not limited to any particular coding standard or technique. Other examples of video compression standards and techniques include MPEG-2, ITU-T H.263 and proprietary or open source compression formats and related formats.
Video encoder 20 and video decoder 30 may be implemented in hardware, software, firmware or any combination thereof. For example, the video encoder 20 and decoder 30 may employ one or more processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), discrete logic, or any combinations thereof. When the video encoder 20 and decoder 30 are implemented partially in software, a device may store instructions for the software in a suitable, non-transitory computer-readable storage medium and may execute the instructions in hardware using one or more processors to perform the techniques of this disclosure. Each of video encoder 20 and video decoder 30 may be included in one or more encoders or decoders, either of which may be integrated as part of a combined encoder/decoder (CODEC) in a respective device.
Aspects of the subject matter described herein may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. Aspects of the subject matter described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
Also, it is noted that some embodiments have been described as a process which is depicted as a flow diagram or block diagram. Although each may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process may have additional steps not included in the figure.
Particular embodiments may be implemented in a non-transitory computer-readable storage medium for use by or in connection with the instruction execution system, apparatus, system, or machine. The computer-readable storage medium contains instructions for controlling a computer system to perform a method described by particular embodiments. The computer system may include one or more computing devices. The instructions, when executed by one or more computer processors, may be configured to perform that which is described in particular embodiments.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above.
This application claims priority under 35 U.S.C. § 119(e) from earlier filed U.S. Provisional Application Ser. No. 62/006,020 filed on May 30, 2014 and U.S. Provisional Application Ser. No. 62/010,433 filed on Jun. 10, 2014, both of which are incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
9491459 | Seregin | Nov 2016 | B2 |
20040008790 | Rodriguez | Jan 2004 | A1 |
20060268991 | Segall et al. | Nov 2006 | A1 |
20070189390 | Pappas et al. | Aug 2007 | A1 |
20090060040 | Jeon et al. | Mar 2009 | A1 |
20090274214 | Yoon et al. | Nov 2009 | A1 |
20100226437 | Robertson et al. | Sep 2010 | A1 |
20130287093 | Hannuksela | Oct 2013 | A1 |
20130329782 | Seregin et al. | Dec 2013 | A1 |
20130342644 | Rusanovskyy | Dec 2013 | A1 |
20140064386 | Chen et al. | Mar 2014 | A1 |
20140098883 | Hannuksela | Apr 2014 | A1 |
20140177718 | Rusert | Jun 2014 | A1 |
20140192886 | François et al. | Jul 2014 | A1 |
20140168362 | Hannuksela | Aug 2014 | A1 |
20140218473 | Hannuksela | Aug 2014 | A1 |
20140254679 | Ramasubramonian | Sep 2014 | A1 |
20140269897 | Baylon et al. | Sep 2014 | A1 |
20140301463 | Rusanovskyy | Oct 2014 | A1 |
20140301488 | Baylon et al. | Oct 2014 | A1 |
20140321560 | Ugur | Oct 2014 | A1 |
20140328398 | Chen | Nov 2014 | A1 |
20140355676 | Seregin | Dec 2014 | A1 |
20150110200 | Nakagami | Apr 2015 | A1 |
20150189298 | Ye | Jul 2015 | A1 |
20150195554 | Misra | Jul 2015 | A1 |
20150195574 | Yu et al. | Jul 2015 | A1 |
20150237376 | Alshina | Aug 2015 | A1 |
20150245063 | Rusanovskyy | Aug 2015 | A1 |
20150304665 | Hannuksela | Oct 2015 | A1 |
20150319447 | Minoo et al. | Nov 2015 | A1 |
20150319477 | Haberman | Nov 2015 | A1 |
20150341661 | Alshina et al. | Nov 2015 | A1 |
20160088303 | Lee | Mar 2016 | A1 |
20160353115 | Samuelsson et al. | Dec 2016 | A1 |
Number | Date | Country |
---|---|---|
2013174254 | Nov 2013 | WO |
2013184954 | Dec 2013 | WO |
WO 2013184954 | Dec 2013 | WO |
2014025741 | Feb 2014 | WO |
2014039547 | Mar 2014 | WO |
2014189300 | Nov 2014 | WO |
Entry |
---|
Kwon et al: “Reference-layer cropping offsets signaling in SHVC”, 13. JCT-VC Meeting; 104. MPEG Meeting; Apr. 18-26, 2013; Incheon; (Joint“Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16); Document No. JCTVC-M0219, Apr. 8, 2013, XP030114176” (hereinafter Kwon). |
Minoo et al: “Report of side activity on reference position derivation”, 17. JCT-VC Meeting; Mar. 27, 2014-Apr. 4, 2014; Valencia; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16); Document No. JCTVC-Q0254, Apr. 3, 2014, XP030116221. |
Kwon et al: “Reference-layer cropping offsets signaling in SHVC”, 13. JCT-VC Meeting; 104. MPEG Meeting; Apr. 18-26, 2013; Incheon; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16); Document No. JCTVC-M0219, Apr. 8, 2013, XP030114176. |
Minoo et al: “AHG13: SHVC Upsampling with phase offset adjustment”, 104. MPEG Meeting; Apr. 22, 2013—260402913; Incheon; (Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11),, No. m28720, Apr. 20, 2013 (Apr. 20, 2013), XP030057253. |
PCT Search Report & Written Opinion, Re: Application No. PCT/US2015/033628; dated Sep. 17, 2015. |
D-K Kwon, et al., “Reference-layer cropping offsets signaling in SHVC”, 13th JCT-VC Meeting, 104th MPEG Meeting (Joint Collaborative Teach on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), Apr. 8, 2013. |
J. Chen, et a., “MV-HEVC/SHVC HLS: On signaling of scaled reference offset”, 5th JCT-3V Meeting (The Joint Collaborative Team on 3D Video Coding Extension Development of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), Jul. 16, 2013. |
K. Minoo, et al., “Report of side activity on reference position derivation”, 17th JCT-VC Meeting (Joint Collaborative Teach on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), Apr. 3, 2014. |
PCT Search Report & Written Opinion, Re: Application #PCT/US2014/033704, dated Jun. 30, 2014. |
J. Chen, et al., “Description of scalable video coding technology proposal by Qualcomm (configuration 2)” 11th JCT-VC Meeting; 102. MPEG Meeting; Oct. 2, 2012, 22 pgs. |
B. Bross, et al., “High Efficiency Video Coding (HEVC) text specification draft 8”, 10th JCT-VC Meeting; 101. MPEG Meeting; Jul. 23, 2012, 286 pgs. |
S-W Park, et al., “Intra BL pred. & phase shift”, 15th JVT Meeting; 72. MPEG Meeting; Apr. 16, 2005, 16 pgs. |
J Dong, et al., “Upsampling based on sampling grid information for aligned inter layer prediction”, 13th JCT-VC Meeting; 104; MPEG Meeting; Apr. 8, 2013, 10 pgs. |
K. Minoo, et al., “AHG13: SHVC Upsampling with phase offset adjustment”, 13th JCT-VC Meeting; 104. MPEG Meeting; Apr. 11, 2013, 8 pgs. |
K. Minoo, et al., “Non SCE1: on handling resampling phase offsets with fixed filters” 14th JCT-VC meeting, Jul. 26, 2013, 6 pgs. |
Andersson, K. et al., “Fix for the computation of scaling factors used in inter-layer prediction”, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 17th Meeting: Valencia, ES, Mar. 27-Apr. 4, 2014. Document JCTVC-Q0104. |
Chen, J., et al., “High efficiency video coding (HEVC) scalable extensions Draft 5”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 16th Meeting: San José, US, Jan. 9-17, 2014. Document JCTVC-P1008_v4. |
U.S. Appl. No. 14/702,007, filed May 1, 2015. |
K. Minoo, et al, “Re-sampling with phase offset adjustment and signaling using phase index re-mapping,” (U.S. Appl. No. 61/923,450, filed Jan. 3, 2014. |
K. Minoo, et al., “SCE1: Results of Test 2.2 on phase compensation by signaling filter coefficients at PPS with sample shift”, JCTVC-N0078, 14th JCT-VC Meeting, Vienna AT, Jul. 2013, 4 pgs. |
K. Minoo, et al., “On handling re-sampling phase offsets with fixed filters”, JCTVC-P0177-R1, 16th JCT-VC Meeting, San Jose, US, Jan. 2014, 6 pgs. |
G.J. Sullivan, et al., “Standardized Extensions of High Efficiency Video Coding (HEVC)”, IEEE Journal of Selected Topics in Signal Processing, vol. 8, No. 6, Dec. 1, 2013, pp. 1001-1016. |
K. Minoo, et al., “Increased resolution for scaled reference layer offset”, 17th JCT-VC Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), Mar. 27, 2014. |
Y. Ye, et al., “SHVC HLS: On picture level resampling phase filter selection”, 17th JCT-VC Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), Mar. 18, 2014. |
PCT Search Report & Written Opinion, Re: Application No. PCT/US2015/021341, dated Jun. 25, 2015. |
PCT Invitation to Pay Additional Fees (Form ISA/206), Re: Application No. PCT/US2015/028828, dated Jul. 21, 2015. |
“High Efficiency Video Coding”, Series H. Audiovisual and Multimedia Systems. Infrastructure of audiovisual services-Coding of Moving Video, ITU-T Telecommunication Standardization Sector of ITU, H.265, Apr. 2013, 317 pgs. |
K. Minoo, et al., “Scalable video coding using increased resolution for scaled reference layer offset”, (U.S. Appl. No. 61/955,123), filed Mar. 18, 2014. |
K. Minoo, et al., “Specification of scaled reference layer in scalable video coding”, (U.S. Appl. No. 61/972,162, filed Mar. 28, 2014. |
E. Alshina, “AHG13: Re-sampling process with generic phase”, 18th JCT-VC Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG16), Jul. 2, 2014. |
J. Boyce, “BoG Report on SHVC upsampling process and phase offset”, 17th JCT-VC Meeting (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG16), Apr. 3, 2014. |
PCT Search Report & Written Opinion, Re: Application No. PCT/US2015/028828, dated Sep. 29, 2015. |
Boyce, “Conditional SPS Extension Syntax for RExt, SHVC, and MV-HEVC”, JVC-VC Meeting; Oct. 23, 2013-Jan. 11, 2013; Geneva, Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16. |
Bross, B., et al., “High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call),” Document of Joint Collaborative Team on Video Coding, JCTVC-L1003_v34, 12th Meeting: Geneva, CH, Jan. 14-23, 2013. |
Flynn, D., et al., “High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 4,” JCTVC-N1005_v3, Aug. 2013. |
Gerhard T., et al, “MV-HEVC Draft Text 6,” Joint Collaborative Team on 3D Video Coding Extension Development ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 6th Meeting: Geneva, JCT3V-F1004-v6, Nov. 2013. |
Yu, Y., et al., “Some Syntax Modifications for HEVC Range Extension”, Joint Collaborative Team on Video Coding Extensions of ITU-T SG 16 WP3 & ISO/IEC JTC VSC 29/WG11, JCTVC-P0166, Jan. 2014. |
PCT International Search Report and Written Opinion, PCT/US2014/072695, dated Mar. 31, 2015. |
Flynn, D., et al., “High Efficiency Video Coding (HEVC) Range Extensions text specification: Draft 5”, Joint Collaborative Team on Video Coding Extensions of ITU-T SG 16 WP3 & ISO/IEC JTC VSC 29/WG11, JCTVC-O1005_v1, Apr. 2013. |
Number | Date | Country | |
---|---|---|---|
20150350662 A1 | Dec 2015 | US |
Number | Date | Country | |
---|---|---|---|
62010433 | Jun 2014 | US | |
62006020 | May 2014 | US |