US20170332100A9 - Method of View Synthesis Prediction in 3D Video Coding - Google Patents
Method of View Synthesis Prediction in 3D Video Coding Download PDFInfo
- Publication number
- US20170332100A9 US20170332100A9 US14/503,427 US201414503427A US2017332100A9 US 20170332100 A9 US20170332100 A9 US 20170332100A9 US 201414503427 A US201414503427 A US 201414503427A US 2017332100 A9 US2017332100 A9 US 2017332100A9
- Authority
- US
- United States
- Prior art keywords
- block
- sub
- partition
- depth
- decision
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H04N13/0022—
-
- H04N13/0048—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
Definitions
- the present invention relates to three-dimensional video coding.
- the present invention relates optimized methods for view synthesis prediction (VSP) in a three-dimensional (3D) coding system.
- VSP view synthesis prediction
- Three-dimensional (3D) television has been a technology trend in recent years that intends to bring viewers sensational viewing experience.
- Various technologies have been developed to enable 3D viewing and the multi-view video is a key technology for 3DTV application among others. Since all cameras capture the same scene from different viewpoints, multi-view video data contains a large amount of inter-view redundancy.
- 3D coding tools such as view synthesized prediction (VSP) have been integrated to conventional 3D-HEVC (High Efficiency Video Coding) or 3D-AVC (Advanced Video Coding) codec.
- VSP locates the reconstructed depth data of the reference view and uses it as virtual depth for the current PU.
- a technique named Neighboring Block Disparity Vector (NBDV) is used to locate the reconstructed depth data.
- NBDV Neighboring Block Disparity Vector
- FIG. 1 a current prediction unit (PU) ( 112 ) in a dependent texture picture ( 110 ) is being coded.
- a disparity vector ( 130 ) of neighboring block ( 114 ) of the current block ( 112 ) is identified, where the disparity vector ( 130 ) points to a block ( 124 ) in the reference depth picture ( 120 ).
- the disparity vector ( 130 ′) is then used by the current PU ( 112 ) to location a corresponding reference depth block ( 122 ) in the reference depth picture ( 120 ).
- the reference depth block ( 122 ) is used as the virtual depth block for the current PU ( 112 ).
- prediction signals are generated with a disparity vector derived from the virtual depth for each 8 ⁇ 8 partition in the PU.
- the disparity values derived from the virtual depth block are used to locate corresponding reference samples in the reference texture picture. For example, three samples in the current texture block ( 112 ) are mapped to three samples in the reference texture picture ( 140 ) according to respective disparity values as indicated by three arrows ( 150 a - c ).
- the mapping process is named backward warping.
- each 8 ⁇ 8 block can be partitioned into two 8 ⁇ 4 partitions, or two 4 ⁇ 8 partitions independently as depicted in FIG. 2 for a 32 ⁇ 32 PU.
- a determination process is invoked for each 8 ⁇ 8 block of the PU to select either the 8 ⁇ 4 partition or the 4 ⁇ 8 partition according to
- vdepth[TL], vdepth[BR], vdepth[TR] and vdepth[BL] corresponds to the depth samples at four corners (i.e., top-left, bottom-right, top-right and bottom-left respectively) of each 8 ⁇ 8 depth block.
- the depth value at top-left is compared to the depth sample at bottom-right (i.e. (vdepth[TL] ⁇ vdepth[BR]?0:1)). If vdepth[TL] is smaller than vdepth[BR], a “0” is assigned to the result and, otherwise, a “1” is assigned to the result.
- the depth value at top-right is compared to the depth sample at bottom-left (i.e. (vdepth[TR] ⁇ vdepth[BL]?0:1)).
- vdepth[TR] is smaller than vdepth[BL]
- a “0” is assigned to the result and, otherwise, a “1” is assigned to the result. If both results are not the same, 4 ⁇ 8 partition is used. Otherwise, 8 ⁇ 4 partition is used. As shown in the above test procedure, two comparisons, one Exclusive-Or and one test for final value to be “0” or “1” have to be performed.
- the adaptive block partition by Shimizu presents two problems. First, the determination process may be invoked many times for a large PU. For example, if the PU size is 64 ⁇ 64, the determination process will be invoked 64 times. Second, the memory access method is irregular for a PU, which is unfriendly to paralleling process.
- adaptive block partition that can adaptively select a block size to improve performance over a non-adaptive system while maintaining regular memory access.
- a method and apparatus for three-dimensional or multi-view video encoding and decoding using VSP (view synthesis prediction) with uniform sub-block partition are disclosed.
- VSP view synthesis prediction
- the VSP processing is then applied to each sub-block to derive the inter-view prediction using VSP.
- each partition block is partitioned into multiples sub-blocks horizontally or vertically according to the single partition decision.
- the partition block is partitioned into sub-blocks having the same size, where each sub-block has sub-block width larger than sub-block height when the single partition decision has a first value, and each sub-block has the sub-block width less than the sub-block height when the single partition decision has a second value.
- each partition block is partitioned into sub-blocks horizontally when the single partition decision has a first value, and each partition block is partitioned into sub-blocks vertically when the single partition decision has a second value.
- the single partition decision for the current texture block is derived using four corner depth samples of the depth block, where the four corner depth samples correspond to a left-top depth sample, a right-bottom depth sample, a right-top depth sample and a left-bottom depth sample.
- a first test regarding whether the left-top depth sample is larger than the right-bottom depth sample is performed and a second test regarding whether the right-top depth sample is larger than the left-bottom depth sample is performed.
- the single partition decision has a first value; and when the first test has a different result from the second test, the single partition decision has a second value.
- the single partition decision for the current texture block can be derived using four centric depth samples of the depth block, where the four centric depth samples are determined from center depth samples of a left part, a right part, a top part and a bottom part of the depth block respectively.
- the top-bottom absolute difference (UDD) and left-right absolute difference (LRD) are calculated.
- the UDD corresponds to absolute difference between the centric depth sample of the top part and the centric depth sample of the bottom part
- the LRD corresponds to the absolute difference between the centric depth sample of the left part and the centric depth sample of the right part.
- the current texture block may correspond to a texture PU (prediction unit) or a texture CU (coding unit).
- the current texture block size may be 64 ⁇ 64, 64 ⁇ 32, 32 ⁇ 64, 32 ⁇ 32, 32 ⁇ 16, 16 ⁇ 32, 16 ⁇ 16, 16 ⁇ 8, or 8 ⁇ 16
- the partition block size may be 32 ⁇ 32, 16 ⁇ 16 or 8 ⁇ 8.
- the derived DV can be determined based on one or more disparity vectors of one or more neighboring blocks of the current texture block.
- a flag can be transmitted in a sequence, view, picture, or slice level to indicate VSP type. When the flag is asserted, the partition block of the current texture block is partitioned into multiples sub-blocks according to the single partition decision. If the flag is not asserted, each partition block of the current texture block is partitioned into multiples sub-blocks according to individual decision.
- FIG. 1 illustrates exemplary view synthesis prediction (VSP) process, where a depth block in the reference view is located and the depth values are used to locate the reference samples in the reference view using backward warping for inter-view prediction.
- VSP view synthesis prediction
- FIG. 2 illustrates an example of partitioning each 8 ⁇ 8 block in a PU according to individual partition decision according to a prior art.
- FIG. 3 illustrates an example of partitioning each 8 ⁇ 8 block in a PU according to a single partition decision for the PU according to an embodiment of the present invention.
- FIG. 4 illustrates an example of using four corner depth samples to derive the single partition decision for VSP.
- FIG. 5 illustrates an exemplary flowchart of a coding system incorporating sub-block view synthesis prediction (VSP) process according to an embodiment of the present invention.
- VSP sub-block view synthesis prediction
- FIG. 3 illustrates one embodiment of the present invention, where the partition is uniform for the whole PU according to a single partition decision.
- the 8 ⁇ 8 blocks of the 32 ⁇ 32 PU are all partitioned into 8 ⁇ 4 sub-blocks (shown in the left side of FIG. 3 ) or 4 ⁇ 8 sub-blocks(shown in the right side of FIG. 3 ).
- the unit of block that is subject to splitting is referred as a “partition block” in this disclosure.
- each 8 ⁇ 8 block in the above example is referred as a “partition block”.
- the partition size may also correspond to 32 ⁇ 32 or 16 ⁇ 16.
- the partition may result in sub-block sizes other than 8 ⁇ 4 and 4 ⁇ 8.
- the horizontal splitting may result in sub-block sizes 32 ⁇ 16, 32 ⁇ 8 (i.e. 4 sub-blocks per partition block), and 32 ⁇ 4 (i.e. 8 sub-blocks per partition block).
- partition size 16 ⁇ 16 the horizontal splitting may result in sub-block sizes 16 ⁇ 8 and 16 ⁇ 4 (i.e. 4 sub-blocks per partition block).
- partition size 32 ⁇ 32 may result in sub-block sizes 16 ⁇ 32, 8 ⁇ 32 (i.e. 4 sub-blocks per partition block), and 4 ⁇ 32 (i.e. 8 sub-blocks per partition block).
- Partition size 16 ⁇ 16 may result in sub-block sizes 8 ⁇ 16 and 4 ⁇ 16 (i.e. 4 sub-blocks per partition block).
- a single partition decision is made for a whole prediction unit (PU) or a whole coding unit (CU) instead for each partition block. This will significantly reduce the required operations associated with partition decision.
- the single partition decision is made based on the virtual depth derived.
- VSP view synthesis prediction
- VSP processing is as follows:
- a first test is performed regarding whether refDepPels[LT] is larger than refDepPels[RB] and a second test is performed regarding whether refDepPels[RT] is larger than refDepPels[LB].
- a person skilled in the art may use other similar test to practice the present invention without departing from the spirit of the present invention. For example, instead of testing “greater than”, the test can be modified to “less than”, “no less than”, “no greater”, etc. to achieve similar effect.
- a skilled person may also use vertical split flag (verSplitFlag) based on similar tests to practice the present invention.
- the single partition decision is based on four corner depth samples in the above example.
- the present invention may use other depth samples from the depth block.
- four centric depth samples may be used to derive the single partition decision.
- the two centric depth samples are determined from center depth samples of a left part and a right part of the depth block.
- the other two centric depth samples are determined from center depth samples of a top part and a bottom part of the depth block.
- the top-bottom absolute difference (UDD) is calculated, where UDD corresponds to the absolute difference between the centric depth sample of the top part and the centric depth sample of the bottom part.
- the left-right absolute difference is calculated, where LRD corresponds to the absolute difference between the centric depth sample of the left part and the centric depth sample of the right part. If UDD is larger than LRD, the single partition decision has a first value. In this case, each partition block may be partitioned into sub-blocks having the sub-block width larger than the sub-block height. Otherwise, the single partition decision has a second value. In this case, each partition block may be partitioned into sub-blocks having the sub-block width less than the sub-block height.
- the operations required for a PU partition incorporating an embodiment of the present invention can be substantially reduced compared to a conventional approach (labelled as “Anchor”).
- Table 1 illustrates the comparison for various PU sizes.
- the operations required for PU partition include comparison (Comp.), Exclusive OR (XOR) and Test for whether the value being zero (Test Zero). As shown in Table 1, the operations are significantly reduces particularly for large PU sizes.
- Table 2 illustrates the comparison between a system incorporating an embodiment of the present invention (labelled as “Uniform”) and a conventional approach (labelled as “Anchor”).
- a VSP type flag can be transmitted in a sequence, view, picture, or slice level to indicate whether the uniform PU partition according to the present invention is used or conventional PU partition with individual partition decision is used.
- the partition block of the current texture block is partitioned into multiples sub-blocks according to the single partition decision. If the flag is not asserted, each partition block of the current texture block is partitioned into multiples sub-blocks according to individual decision
- the present invention is intended to reduce complexity as well as to relieve irregular memory access due to conventional 8 ⁇ 8 PU partition for view synthesized prediction (VSP).
- VSP view synthesized prediction
- the performance of a 3D video coding system incorporating the uniform PU partition according to an embodiment of the present invention is compared to the performance of a conventional system as shown in Table 3, where the partition of each 8 ⁇ 8 block for the conventional system is performed independently and the decision is made individually.
- the performance comparison is based on different sets of test data listed in the first column.
- the BD-rate differences are shown for texture pictures in view 1 (video 1 ) and view 2 (video 2 ).
- a negative value in the BD-rate implies that the present invention has a better performance.
- the BD-rate measure for the coded video PSNR with video bitrate, the coded video PSNR with total bitrate (texture bitrate and depth bitrate), and the synthesized video PSNR with total bitrate are also shown.
- Table 3 there is no performance loss compared to the conventional system. Actually, some minor performance improvement has been noted.
- the processing times (encoding time, decoding time and rendering time) are also compared. As shown in Table 3, slight improvement has been noted in all processing times. Accordingly, the system that uses uniform PU partition for VSP according to one embodiment of the present invention incurs no performance loss compared to the conventional system while providing reduced computational complexity and regular memory access.
- FIG. 5 illustrates an exemplary flowchart of a three-dimensional encoding or decoding system incorporating uniform PU partition according to an embodiment of the present invention.
- the system receives input data associated with a current texture block in a dependent view in step 510 , where the current texture block comprises multiple partition blocks.
- the input data corresponds to texture data to be encoded.
- the input data corresponds to coded texture data to be decoded.
- the input data may be retrieved from memory (e.g., computer memory, buffer (RAM or DRAM) or other media) or from a processor.
- a depth block in a reference view corresponding to the current texture block is located using a derived DV (disparity vectors) as shown in step 520 .
- a single partition decision for the current texture block is derived using the depth block as shown in step 530 .
- Each partition block of the current texture block is partitioned into multiples sub-blocks according to the single partition decision as shown in step 540 .
- Each sub-block is then encoded or decoded using VSP process as shown in the loop consisting of steps 560 through step 590 .
- the loop is initialized by pointing to the first sub-block as shown in step 550 .
- Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both.
- an embodiment of the present invention can be a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein.
- An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein.
- DSP Digital Signal Processor
- the invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention.
- the software code or firmware code may be developed in different programming languages and different formats or styles.
- the software code may also be compiled for different target platforms.
- different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
- The present invention claims priority to PCT Patent Application, Serial No. PCT/CN2013/084849, filed on Oct. 8, 2013, entitled “Methods for View Synthesis Prediction”. The PCT Patent Application is hereby incorporated by reference in its entirety.
- The present invention relates to three-dimensional video coding. In particular, the present invention relates optimized methods for view synthesis prediction (VSP) in a three-dimensional (3D) coding system.
- Three-dimensional (3D) television has been a technology trend in recent years that intends to bring viewers sensational viewing experience. Various technologies have been developed to enable 3D viewing and the multi-view video is a key technology for 3DTV application among others. Since all cameras capture the same scene from different viewpoints, multi-view video data contains a large amount of inter-view redundancy. To exploit the inter-view redundancy, 3D coding tools such as view synthesized prediction (VSP) have been integrated to conventional 3D-HEVC (High Efficiency Video Coding) or 3D-AVC (Advanced Video Coding) codec.
- The basic concept of the VSP in current 3D-HEVC Test Model (3DV-HTM) is illustrated in
FIG. 1 . VSP locates the reconstructed depth data of the reference view and uses it as virtual depth for the current PU. A technique named Neighboring Block Disparity Vector (NBDV) is used to locate the reconstructed depth data. InFIG. 1 , a current prediction unit (PU) (112) in a dependent texture picture (110) is being coded. A disparity vector (130) of neighboring block (114) of the current block (112) is identified, where the disparity vector (130) points to a block (124) in the reference depth picture (120). The disparity vector (130′) is then used by the current PU (112) to location a corresponding reference depth block (122) in the reference depth picture (120). The reference depth block (122) is used as the virtual depth block for the current PU (112). Then prediction signals are generated with a disparity vector derived from the virtual depth for each 8×8 partition in the PU. The disparity values derived from the virtual depth block are used to locate corresponding reference samples in the reference texture picture. For example, three samples in the current texture block (112) are mapped to three samples in the reference texture picture (140) according to respective disparity values as indicated by three arrows (150 a-c). The mapping process is named backward warping. - An adaptive block partitioning for VSP is disclosed by Shimizu, entitled Adaptive block partitioning for VSP in Joint Collaborative Team on 3D Video Coding Extensions of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 5th Meeting: Vienna, AT, 27 Jul.-2 Aug. 2013, document: JCT3V-E0207). In JCT3V-E0207, each 8×8 block can be partitioned into two 8×4 partitions, or two 4×8 partitions independently as depicted in
FIG. 2 for a 32×32 PU. A determination process is invoked for each 8×8 block of the PU to select either the 8×4 partition or the 4×8 partition according to - If (vdepth[TL]<vdepth[BR]?0:1)̂ (vdepth[TR]<vdepth[BL]?0:1),
-
- Use 4×8 partition;
- Else,
- Use 8×4 partition,
- where vdepth[TL], vdepth[BR], vdepth[TR] and vdepth[BL] corresponds to the depth samples at four corners (i.e., top-left, bottom-right, top-right and bottom-left respectively) of each 8×8 depth block. The depth value at top-left is compared to the depth sample at bottom-right (i.e. (vdepth[TL]<vdepth[BR]?0:1)). If vdepth[TL] is smaller than vdepth[BR], a “0” is assigned to the result and, otherwise, a “1” is assigned to the result. Similarly, the depth value at top-right is compared to the depth sample at bottom-left (i.e. (vdepth[TR]<vdepth[BL]?0:1)). If vdepth[TR] is smaller than vdepth[BL], a “0” is assigned to the result and, otherwise, a “1” is assigned to the result. If both results are not the same, 4×8 partition is used. Otherwise, 8×4 partition is used. As shown in the above test procedure, two comparisons, one Exclusive-Or and one test for final value to be “0” or “1” have to be performed.
- The adaptive block partition by Shimizu presents two problems. First, the determination process may be invoked many times for a large PU. For example, if the PU size is 64×64, the determination process will be invoked 64 times. Second, the memory access method is irregular for a PU, which is unfriendly to paralleling process.
- Accordingly, it is desirable to develop adaptive block partition that can adaptively select a block size to improve performance over a non-adaptive system while maintaining regular memory access.
- A method and apparatus for three-dimensional or multi-view video encoding and decoding using VSP (view synthesis prediction) with uniform sub-block partition are disclosed. For a current texture block comprising multiple partition blocks, embodiments according to the present invention derive a single partition decision and partition each partition block of the current texture block into multiples sub-blocks according to the single partition decision. The VSP processing is then applied to each sub-block to derive the inter-view prediction using VSP.
- In one embodiment, each partition block is partitioned into multiples sub-blocks horizontally or vertically according to the single partition decision. In another embodiment, the partition block is partitioned into sub-blocks having the same size, where each sub-block has sub-block width larger than sub-block height when the single partition decision has a first value, and each sub-block has the sub-block width less than the sub-block height when the single partition decision has a second value. In yet another embodiment, each partition block is partitioned into sub-blocks horizontally when the single partition decision has a first value, and each partition block is partitioned into sub-blocks vertically when the single partition decision has a second value.
- According to one embodiment, the single partition decision for the current texture block is derived using four corner depth samples of the depth block, where the four corner depth samples correspond to a left-top depth sample, a right-bottom depth sample, a right-top depth sample and a left-bottom depth sample. A first test regarding whether the left-top depth sample is larger than the right-bottom depth sample is performed and a second test regarding whether the right-top depth sample is larger than the left-bottom depth sample is performed. When the first test has the same result as the second test, the single partition decision has a first value; and when the first test has a different result from the second test, the single partition decision has a second value.
- Alternatively, the single partition decision for the current texture block can be derived using four centric depth samples of the depth block, where the four centric depth samples are determined from center depth samples of a left part, a right part, a top part and a bottom part of the depth block respectively. The top-bottom absolute difference (UDD) and left-right absolute difference (LRD) are calculated. The UDD corresponds to absolute difference between the centric depth sample of the top part and the centric depth sample of the bottom part, and the LRD corresponds to the absolute difference between the centric depth sample of the left part and the centric depth sample of the right part. When the UDD is larger than the LRD, the single partition decision has a first value; and when t the UDD is less than the LRD, the single partition decision has a second value.
- The current texture block may correspond to a texture PU (prediction unit) or a texture CU (coding unit). The current texture block size may be 64×64, 64×32, 32×64, 32×32, 32×16, 16×32, 16×16, 16×8, or 8×16, and the partition block size may be 32×32, 16×16 or 8×8. The derived DV can be determined based on one or more disparity vectors of one or more neighboring blocks of the current texture block. A flag can be transmitted in a sequence, view, picture, or slice level to indicate VSP type. When the flag is asserted, the partition block of the current texture block is partitioned into multiples sub-blocks according to the single partition decision. If the flag is not asserted, each partition block of the current texture block is partitioned into multiples sub-blocks according to individual decision.
-
FIG. 1 illustrates exemplary view synthesis prediction (VSP) process, where a depth block in the reference view is located and the depth values are used to locate the reference samples in the reference view using backward warping for inter-view prediction. -
FIG. 2 illustrates an example of partitioning each 8×8 block in a PU according to individual partition decision according to a prior art. -
FIG. 3 illustrates an example of partitioning each 8×8 block in a PU according to a single partition decision for the PU according to an embodiment of the present invention. -
FIG. 4 illustrates an example of using four corner depth samples to derive the single partition decision for VSP. -
FIG. 5 illustrates an exemplary flowchart of a coding system incorporating sub-block view synthesis prediction (VSP) process according to an embodiment of the present invention. - The following description is of the best-contemplated mode of carrying out the invention. The description is intended for the purpose of illustrating the general principles of the invention and shall not be construed as limitation to the invention. The scope of the invention is best determined by reference to the appended claims.
- As mentioned before, the adaptive block partition disclosed in a prior art by Shimizu presents high complexity issue for large PU size and irregular memory access. Accordingly, a method to determine the partitions for VSP of a PU is disclosed.
FIG. 3 illustrates one embodiment of the present invention, where the partition is uniform for the whole PU according to a single partition decision. In the example, the 8×8 blocks of the 32×32 PU are all partitioned into 8×4 sub-blocks (shown in the left side ofFIG. 3 ) or 4×8 sub-blocks(shown in the right side ofFIG. 3 ). For convenience, the unit of block that is subject to splitting is referred as a “partition block” in this disclosure. Accordingly, each 8×8 block in the above example is referred as a “partition block”. The current invention is also applicable to other partition block sizes. For example, the partition size may also correspond to 32×32 or 16×16. Depending on the partition block size, the partition may result in sub-block sizes other than 8×4 and 4×8. For example, forpartition size 32×32, the horizontal splitting may result insub-block sizes 32×16, 32×8 (i.e. 4 sub-blocks per partition block), and 32×4 (i.e. 8 sub-blocks per partition block). Forpartition size 16×16, the horizontal splitting may result insub-block sizes 16×8 and 16×4 (i.e. 4 sub-blocks per partition block). For vertical splitting, thepartition size 32×32 may result insub-block sizes 16×32, 8×32 (i.e. 4 sub-blocks per partition block), and 4×32 (i.e. 8 sub-blocks per partition block).Partition size 16×16 may result insub-block sizes 8×16 and 4×16 (i.e. 4 sub-blocks per partition block). - According to the present invention, a single partition decision is made for a whole prediction unit (PU) or a whole coding unit (CU) instead for each partition block. This will significantly reduce the required operations associated with partition decision. The single partition decision is made based on the virtual depth derived. One embodiment of the present invention to perform PU partition for view synthesis prediction (VSP) is illustrated as follows.
-
- a. First, the Neighboring Block Disparity Vector (NBDV) process for deriving a DV for the current PU based on neighboring blocks is used.
- b. The virtual depth corresponding to the current prediction unit is obtained from the reconstructed depth of the reference view by using the NBDV.
- c. Determining four corner points of the virtual depth corresponding to the current PU, where the four corner points are denoted as refDepPels[LT], refDepPels[RB], refDepPels[RT] and refDepPels[LB] as shown in
FIG. 4 for a 16×32 PU. - d. Determining horizontal splitting flag, horSplitFlag according to horSplitFlag=((refDepPels[LT]>refDepPels[RB])==(refDepPels[RT]>refDepPels[LB])). When both (refDepPels[LT]>refDepPels[RB]) and (refDepPels[RT]>refDepPels[LB]) are true or false, horSplitFlag has a value of “1”. Otherwise, horSplitFlag has a value of “0”.
- e. Partitioning the current PU into W×H sub-blocks according to the horizontal splitting flag, horSplitFlag, where W corresponds to the width of the sub-block and H corresponds to the height of the sub-block. W equals to 8>>(1-horSplitFlag) and H equals to 8>>horSplitFlag. If horSplitFlag equals to 1, the partition line for the 8×8 block is in the horizontal direction to result in 8×4 sub-blocks as shown in the left side of
FIG. 4 . Otherwise, the partition line for the 8×8 block is in the vertical direction to result in 4×8 sub-blocks. The particular W and H derivation shown here is meant to illustrate an example of sub-block partition. The present invention is applicable to partition block size larger than 8×8. Furthermore, the above example only split each partition block into two sub-blocks horizontally or vertically. The present invention may also split a partition block into more than two sub-blocks. For example, a partition block may be partitioned into four or eight sub-blocks horizontally or vertically according to the single partition decision.
- Finally, for each W×H sub-block, the VSP processing is as follows:
-
- 1. The derived virtual depth is converted into corresponding disparity vector;
- 2. The predicted data in the reference view is obtained by using the disparity vector;
- 3. The predicted data from view synthesis prediction is then used for encoding and decoding of the current PU.
- In the above example, a first test is performed regarding whether refDepPels[LT] is larger than refDepPels[RB] and a second test is performed regarding whether refDepPels[RT] is larger than refDepPels[LB]. A person skilled in the art may use other similar test to practice the present invention without departing from the spirit of the present invention. For example, instead of testing “greater than”, the test can be modified to “less than”, “no less than”, “no greater”, etc. to achieve similar effect. Furthermore, a skilled person may also use vertical split flag (verSplitFlag) based on similar tests to practice the present invention.
- The single partition decision is based on four corner depth samples in the above example. However, the present invention may use other depth samples from the depth block. For example, four centric depth samples may be used to derive the single partition decision. The two centric depth samples are determined from center depth samples of a left part and a right part of the depth block. The other two centric depth samples are determined from center depth samples of a top part and a bottom part of the depth block. In this case, the top-bottom absolute difference (UDD) is calculated, where UDD corresponds to the absolute difference between the centric depth sample of the top part and the centric depth sample of the bottom part. Also, the left-right absolute difference (LRD) is calculated, where LRD corresponds to the absolute difference between the centric depth sample of the left part and the centric depth sample of the right part. If UDD is larger than LRD, the single partition decision has a first value. In this case, each partition block may be partitioned into sub-blocks having the sub-block width larger than the sub-block height. Otherwise, the single partition decision has a second value. In this case, each partition block may be partitioned into sub-blocks having the sub-block width less than the sub-block height.
- The operations required for a PU partition incorporating an embodiment of the present invention (labelled as “Uniform”) can be substantially reduced compared to a conventional approach (labelled as “Anchor”). Table 1 illustrates the comparison for various PU sizes. The operations required for PU partition include comparison (Comp.), Exclusive OR (XOR) and Test for whether the value being zero (Test Zero). As shown in Table 1, the operations are significantly reduces particularly for large PU sizes.
-
TABLE 1 Partition decision Anchor Uniform PU Size Comp. XOR Test Zero Comp. XOR Test Zero 64 × 64 128 64 64 2 1 1 64 × 32 64 32 32 2 1 1 32 × 64 64 32 32 2 1 1 32 × 32 32 16 16 2 1 1 32 × 16 16 8 8 2 1 1 16 × 32 16 8 8 2 1 1 16 × 16 8 4 4 2 1 1 16 × 8 4 2 2 2 1 1 8 × 16 4 2 2 2 1 1 8 × 8 2 1 1 2 1 1 8 × 4 0 0 0 0 0 0 4 × 8 0 0 0 0 0 0 - Furthermore, since the partition is uniform for a whole PU, there is no need to transmit individual partition flag for each 8×8 block. Therefore, the bitrate associated with the partition flags can be substantially reduced. Table 2 illustrates the comparison between a system incorporating an embodiment of the present invention (labelled as “Uniform”) and a conventional approach (labelled as “Anchor”).
-
TABLE 2 Flags for partition Anchor Uniform PU Size Num. Num. 64 × 64 64 1 64 × 32 32 1 32 × 64 32 1 32 × 32 16 1 32 × 16 8 1 16 × 32 8 1 16 × 16 4 1 16 × 8 2 1 8 × 16 2 1 8 × 8 1 1 8 × 4 0 0 4 × 8 0 0 - In some embodiments, a VSP type flag can be transmitted in a sequence, view, picture, or slice level to indicate whether the uniform PU partition according to the present invention is used or conventional PU partition with individual partition decision is used. When the flag is asserted, the partition block of the current texture block is partitioned into multiples sub-blocks according to the single partition decision. If the flag is not asserted, each partition block of the current texture block is partitioned into multiples sub-blocks according to individual decision
- As mentioned earlier, the present invention is intended to reduce complexity as well as to relieve irregular memory access due to conventional 8×8 PU partition for view synthesized prediction (VSP). The performance of a 3D video coding system incorporating the uniform PU partition according to an embodiment of the present invention is compared to the performance of a conventional system as shown in Table 3, where the partition of each 8×8 block for the conventional system is performed independently and the decision is made individually. The performance comparison is based on different sets of test data listed in the first column. The BD-rate differences are shown for texture pictures in view 1 (video 1) and view 2 (video 2). A negative value in the BD-rate implies that the present invention has a better performance. The BD-rate measure for the coded video PSNR with video bitrate, the coded video PSNR with total bitrate (texture bitrate and depth bitrate), and the synthesized video PSNR with total bitrate are also shown. As shown in Table 3, there is no performance loss compared to the conventional system. Actually, some minor performance improvement has been noted. The processing times (encoding time, decoding time and rendering time) are also compared. As shown in Table 3, slight improvement has been noted in all processing times. Accordingly, the system that uses uniform PU partition for VSP according to one embodiment of the present invention incurs no performance loss compared to the conventional system while providing reduced computational complexity and regular memory access.
-
TABLE 3 Video Video Synth PSNR/ PSNR/ PSNR/ video total total Enc Dec Ren Video 0 Video 1 Video 2 bitrate bitrate bitrate time time time Balloons 0.0% −0.2% 0.0% 0.0% 0.0% 0.0% 99.3% 100.3% 100.1% Kendo 0.0% 0.1% −0.1% 0.0% 0.0% 0.0% 100.6% 99.6% 100.1% NewspaperCC 0.0% 0.1% 0.1% 0.0% 0.0% 0.0% 99.3% 90.1% 100.7% GhostTownFly 0.0% −0.1% −0.2% 0.0% 0.0% 0.0% 100.7% 91.2% 99.7% PoznanHall2 0.0% 0.2% −0.2% 0.0% 0.0% −0.1% 99.4% 93.6% 98.2% PoznanStreet 0.0% 0.2% 0.0% 0.0% 0.0% 0.0% 99.2% 104.8% 100.5% UndoDancer 0.0% −0.1% −0.3% 0.0% 0.0% 0.0% 99.0% 99.6% 96.3% Shark 0.0% −0.2% 0.0% 0.0% 0.0% 0.0% 100.2% 103.9% 100.4% 1024 × 768 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 99.8% 96.7% 100.3% 1920 × 1088 0.0% 0.1% −0.2% 0.0% 0.0% −0.1% 99.6% 97.3% 98.7% average 0.0% 0.0% −0.1% 0.0% 0.0% 0.0% 99.6% 97.0% 99.3% -
FIG. 5 illustrates an exemplary flowchart of a three-dimensional encoding or decoding system incorporating uniform PU partition according to an embodiment of the present invention. The system receives input data associated with a current texture block in a dependent view instep 510, where the current texture block comprises multiple partition blocks. For encoding, the input data corresponds to texture data to be encoded. For decoding, the input data corresponds to coded texture data to be decoded. The input data may be retrieved from memory (e.g., computer memory, buffer (RAM or DRAM) or other media) or from a processor. A depth block in a reference view corresponding to the current texture block is located using a derived DV (disparity vectors) as shown instep 520. A single partition decision for the current texture block is derived using the depth block as shown in step 530. Each partition block of the current texture block is partitioned into multiples sub-blocks according to the single partition decision as shown instep 540. Each sub-block is then encoded or decoded using VSP process as shown in the loop consisting ofsteps 560 throughstep 590. The loop is initialized by pointing to the first sub-block as shown instep 550. - The flowcharts shown above are intended to illustrate examples 3D or multi-view coding with uniform partition according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention.
- The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
- Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be a circuit integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA). These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
- The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/503,427 US9906813B2 (en) | 2013-10-08 | 2014-10-01 | Method of view synthesis prediction in 3D video coding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/084849 WO2015051498A1 (en) | 2013-10-08 | 2013-10-08 | Methods for view synthesis prediction |
US14/503,427 US9906813B2 (en) | 2013-10-08 | 2014-10-01 | Method of view synthesis prediction in 3D video coding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2013/084849 Continuation-In-Part WO2015051498A1 (en) | 2013-10-08 | 2013-10-08 | Methods for view synthesis prediction |
Publications (3)
Publication Number | Publication Date |
---|---|
US20160100190A1 US20160100190A1 (en) | 2016-04-07 |
US20170332100A9 true US20170332100A9 (en) | 2017-11-16 |
US9906813B2 US9906813B2 (en) | 2018-02-27 |
Family
ID=55633747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/503,427 Active 2035-03-19 US9906813B2 (en) | 2013-10-08 | 2014-10-01 | Method of view synthesis prediction in 3D video coding |
Country Status (1)
Country | Link |
---|---|
US (1) | US9906813B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019234608A1 (en) * | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Partition tree with more than four sub-blocks |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2909550C (en) * | 2013-07-15 | 2018-04-24 | Mediatek Singapore Pte. Ltd. | Method of disparity derived depth coding in 3d video coding |
CN104506871B (en) * | 2014-11-23 | 2017-06-06 | 北京工业大学 | A kind of 3D video fast encoding methods based on HEVC |
US10212444B2 (en) * | 2016-01-15 | 2019-02-19 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
US11223852B2 (en) | 2016-03-21 | 2022-01-11 | Qualcomm Incorporated | Coding video data using a two-level multi-type-tree framework |
US10848788B2 (en) | 2017-01-06 | 2020-11-24 | Qualcomm Incorporated | Multi-type-tree framework for video coding |
KR102578757B1 (en) * | 2017-09-19 | 2023-09-15 | 삼성전자주식회사 | Encoding and decoding method of motion information, and encoding and decoding apparatus of motion information |
WO2020084476A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Sub-block based prediction |
CN111093080B (en) | 2018-10-24 | 2024-06-04 | 北京字节跳动网络技术有限公司 | Sub-block motion candidates in video coding |
CN111436230A (en) | 2018-11-12 | 2020-07-21 | 北京字节跳动网络技术有限公司 | Affine prediction bandwidth control method |
EP3861742A4 (en) | 2018-11-20 | 2022-04-13 | Beijing Bytedance Network Technology Co., Ltd. | Difference calculation based on patial position |
CN113170171B (en) | 2018-11-20 | 2024-04-12 | 北京字节跳动网络技术有限公司 | Prediction refinement combining inter intra prediction modes |
EP4325849A3 (en) | 2018-11-22 | 2024-04-17 | Beijing Bytedance Network Technology Co., Ltd. | Coordination method for sub-block based inter prediction |
CN113396589A (en) * | 2019-02-11 | 2021-09-14 | 北京字节跳动网络技术有限公司 | Video block segmentation based on quinary tree |
JP2022521554A (en) | 2019-03-06 | 2022-04-08 | 北京字節跳動網絡技術有限公司 | Use of converted one-sided prediction candidates |
EP3922014A4 (en) | 2019-04-02 | 2022-04-06 | Beijing Bytedance Network Technology Co., Ltd. | Decoder side motion vector derivation |
JP7277608B2 (en) | 2019-04-23 | 2023-05-19 | 北京字節跳動網絡技術有限公司 | Context modeling and selection of multiple transformation matrices |
KR20220043109A (en) | 2019-08-13 | 2022-04-05 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | Motion precision of sub-block-based inter prediction |
WO2021052505A1 (en) | 2019-09-22 | 2021-03-25 | Beijing Bytedance Network Technology Co., Ltd. | Reference picture resampling in video processing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100278232A1 (en) | 2009-05-04 | 2010-11-04 | Sehoon Yea | Method Coding Multi-Layered Depth Images |
CN102055982B (en) | 2011-01-13 | 2012-06-27 | 浙江大学 | Coding and decoding methods and devices for three-dimensional video |
CN103733628A (en) | 2011-08-08 | 2014-04-16 | 摩托罗拉移动有限责任公司 | Residual tree structure of transform unit partitioning |
JP2014527350A (en) | 2011-08-09 | 2014-10-09 | サムスン エレクトロニクス カンパニー リミテッド | Multi-view video data encoding method and apparatus, decoding method and apparatus |
US9667990B2 (en) * | 2013-05-31 | 2017-05-30 | Qualcomm Incorporated | Parallel derived disparity vector for 3D video coding with neighbor-based disparity vector derivation |
US10244253B2 (en) * | 2013-09-13 | 2019-03-26 | Qualcomm Incorporated | Video coding techniques using asymmetric motion partitioning |
-
2014
- 2014-10-01 US US14/503,427 patent/US9906813B2/en active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019234608A1 (en) * | 2018-06-05 | 2019-12-12 | Beijing Bytedance Network Technology Co., Ltd. | Partition tree with more than four sub-blocks |
US11265584B2 (en) * | 2018-06-05 | 2022-03-01 | Beijing Bytedance Network Technology Co., Ltd. | EQT depth calculation |
US11381848B2 (en) | 2018-06-05 | 2022-07-05 | Beijing Bytedance Network Technology Co., Ltd. | Main concept of EQT, unequally four partitions and signaling |
US11438635B2 (en) | 2018-06-05 | 2022-09-06 | Beijing Bytedance Network Technology Co., Ltd. | Flexible tree partitioning processes for visual media coding |
US11445224B2 (en) | 2018-06-05 | 2022-09-13 | Beijing Bytedance Network Technology Co., Ltd. | Shape of EQT subblock |
US11570482B2 (en) | 2018-06-05 | 2023-01-31 | Beijing Bytedance Network Technology Co., Ltd. | Restriction of extended quadtree |
Also Published As
Publication number | Publication date |
---|---|
US9906813B2 (en) | 2018-02-27 |
US20160100190A1 (en) | 2016-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9906813B2 (en) | Method of view synthesis prediction in 3D video coding | |
US10587859B2 (en) | Method of sub-predication unit inter-view motion prediction in 3D video coding | |
US9918068B2 (en) | Method and apparatus of texture image compress in 3D video coding | |
US9743066B2 (en) | Method of fast encoder decision in 3D video coding | |
JP5970609B2 (en) | Method and apparatus for unified disparity vector derivation in 3D video coding | |
US10116964B2 (en) | Method of sub-prediction unit prediction in 3D video coding | |
US20160073132A1 (en) | Method of Simplified View Synthesis Prediction in 3D Video Coding | |
US9961370B2 (en) | Method and apparatus of view synthesis prediction in 3D video coding | |
US9596484B2 (en) | Method of depth intra prediction using depth map modelling | |
US20150189323A1 (en) | Method of Three-Dimensional and Multiview Video Coding Using a Disparity Vector | |
US10244259B2 (en) | Method and apparatus of disparity vector derivation for three-dimensional video coding | |
US9998760B2 (en) | Method and apparatus of constrained disparity vector derivation in 3D video coding | |
US20150201214A1 (en) | Method and apparatus of disparity vector derivation in 3d video coding | |
US20160234510A1 (en) | Method of Coding for Depth Based Block Partitioning Mode in Three-Dimensional or Multi-view Video Coding | |
US20160057453A1 (en) | Method and Apparatus of Camera Parameter Signaling in 3D Video Coding | |
EP2936815A1 (en) | Method and apparatus of disparity vector derivation in 3d video coding | |
CA2896132C (en) | Method and apparatus of compatible depth dependent coding | |
US20150358643A1 (en) | Method of Depth Coding Compatible with Arbitrary Bit-Depth | |
US10477230B2 (en) | Method and apparatus of disparity vector derivation for three-dimensional and multi-view video coding | |
WO2012177063A2 (en) | Encoding/decoding method and apparatus using a skip mode | |
CN105103543B (en) | Compatible depth relies on coding method | |
GB2520615A (en) | Method of view synthesis prediction in 3D video coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MEDIATEK SINGAPORE PTE. LTD, SINGAPORE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ZHANG, XIANGUO;ZHANG, KAI;AN, JICHENG;AND OTHERS;SIGNING DATES FROM 20140911 TO 20140912;REEL/FRAME:033858/0227 |
|
AS | Assignment |
Owner name: HFI INNOVATION INC., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MEDIATEK SINGAPORE PTE. LTD.;REEL/FRAME:039609/0911 Effective date: 20160713 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |