U.S. patent application number 15/299939 was filed with the patent office on 2017-02-09 for method and apparatus for intra coding for a block in a coding system.
The applicant listed for this patent is HFI Innovation Inc.. Invention is credited to Yi-Wen CHEN, Jian-Liang LIN.
Application Number | 20170041623 15/299939 |
Document ID | / |
Family ID | 52826142 |
Filed Date | 2017-02-09 |
United States Patent
Application |
20170041623 |
Kind Code |
A1 |
LIN; Jian-Liang ; et
al. |
February 9, 2017 |
Method and Apparatus for Intra Coding for a Block in a Coding
System
Abstract
A method and apparatus of Intra coding for a block in a coding
system. The method includes receiving input data associated with a
current block; determining a current Intra prediction mode for the
current block; deriving prediction samples for the current block
based on reconstructed neighboring samples according to the current
Intra prediction mode, wherein a predicting value representing a
single prediction value for the current block is determined based
on at least two corner samples corresponding to the current block
according to the current Intra prediction mode; and applying
encoding or decoding to the input data associated with the current
block using the prediction samples derived for the current
block.
Inventors: |
LIN; Jian-Liang; (Su'ao
Township, TW) ; CHEN; Yi-Wen; (Taichung, TW) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
HFI Innovation Inc. |
Zhubei City |
|
TW |
|
|
Family ID: |
52826142 |
Appl. No.: |
15/299939 |
Filed: |
October 21, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14480788 |
Sep 9, 2014 |
9503751 |
|
|
15299939 |
|
|
|
|
61892240 |
Oct 17, 2013 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
H04N 19/11 20141101;
H04N 19/176 20141101; H04N 19/593 20141101; H04N 19/597
20141101 |
International
Class: |
H04N 19/176 20060101
H04N019/176; H04N 19/593 20060101 H04N019/593 |
Claims
1. A method of Intra coding for a block in a coding system, the
method comprising: receiving input data associated with a current
block; determining a current Intra prediction mode for the current
block; deriving prediction samples for the current block based on
reconstructed neighboring samples according to the current Intra
prediction mode, wherein a predicting value representing a single
prediction value for the current block is determined based on at
least two corner samples corresponding to the current block
according to the current Intra prediction mode; and applying
encoding or decoding to the input data associated with the current
block using the prediction samples derived for the current
block.
2. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise two corner prediction
samples of a left-most column of the current block if the
Horizontal mode is selected.
3. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise two corner
reconstructed samples of the reconstructed neighboring column
adjacent to a left block boundary of the current block if the
Horizontal mode is selected.
4. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise two corner prediction
samples of a top row of the current block if the Vertical mode is
selected.
5. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise two corner
reconstructed samples of the reconstructed neighboring row adjacent
to a top block boundary of the current block if the Vertical mode
is selected.
6. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise four corner prediction
samples of the current block.
7. The method of claim 6, wherein predicting value is determined
using a mean median, maximum, minimum, or linear combination of
said four corner prediction samples of the current block.
8. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise two corner prediction
samples of a line of the current block adjacent to a block boundary
of the current block according to the current Intra prediction mode
for the current block.
9. The method of claim 1, wherein the at least two corner samples
corresponding to the current block comprise two corner
reconstructed samples of reconstructed neighboring line adjacent to
a block boundary of the current block according to the current
Intra prediction mode for the current block.
10. An apparatus for Intra coding of a block in a coding system,
the apparatus comprising one or more electronic circuits configured
to: receive input data associated with a current block; determine a
current Intra prediction mode for the current block; derive
prediction samples for the current block based on reconstructed
neighboring samples according to the current Intra prediction mode,
wherein a predicting value representing a single prediction value
for the current block is determined based on at least two corner
samples corresponding to the current block according to the current
Intra prediction mode; and apply encoding or decoding to the input
data associated with the current block using the prediction samples
derived for the current block.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is a Continuation of pending U.S.
patent application No. 14/480,788, filed on Sep. 9, 2014, which
claims priority to U.S. Provisional Patent Application, Ser. No.
61/892,240, filed on Oct. 17, 2013, entitled "Methods of Intra
Coding Improvement". The priority applications are hereby
incorporated by reference in their entireties.
FIELD OF THE INVENTION
[0002] The present invention relates to video coding. In
particular, the present invention relates to Intra coding.
BACKGROUND AND RELATED ART
[0003] Three-dimensional (3D) television has been a technology
trend in recent years that is targeted to bring viewers sensational
viewing experience. Multi-view video is a technique to capture and
render 3D video. The multi-view video is typically created by
capturing a scene using multiple cameras simultaneously, where the
multiple cameras are properly located so that each camera captures
the scene from one viewpoint. The multi-view video with a large
number of video sequences associated with the views represents a
massive amount data. Accordingly, the multi-view video will require
a large storage space to store and/or a high bandwidth to transmit.
Therefore, multi-view video coding techniques have been developed
in the field to reduce the required storage space and the
transmission bandwidth. In three-dimensional and multi-view coding
systems, the texture data as well as depth data are coded.
[0004] For depth map, the Simplified Depth Coding (SDC), which is
also termed as Segment-wise DC Coding, is an alternative Intra
coding mode. Whether SDC is used is signalled by a SDC flag at
coding unit (CU) level. For SDC, the depth block is Intra predicted
by a conventional Intra mode or depth modelling mode 1. The
partition size of SDC-coded CU is always 2N.times.2N and therefore
there is no need for signaling in the bitstream regarding the block
size of SDC-coded CU. Furthermore, instead of coded as quantized
transform coefficients, the SDC-coded residuals are represented by
one or two constant residual values depending on whether the depth
block is divided into one or two segments.
[0005] According to existing three-dimensional video coding based
on HEVC (3D-HEVC), certain information is signalled for SDC-coded
blocks. The information signalled includes:
[0006] 1. type of segmentation/prediction of the current block.
Possible values are [0007] i. DMM (Depth Modelling Mode) Mode
1--Explicit Wedgelets (2 segments) [0008] ii. Planar (1
segment)
[0009] 2. For the DMM, additional prediction information (e.g.,
partition information) is coded.
[0010] 3. For each resulting segment, a residual value (in the
pixel domain) is signalled in the bitstream
[0011] In the depth coding process, the depth samples are first
mapped to limited depth values. The limited depth values are
represented by a Depth Lookup Table (DLT), and after mapping depth
samples into limited depth values, these limited depth values are
used as the indexes pointing to entries of the DLT. Consequently,
residuals can be generated by taking the difference between the DLT
index of the predictor and the original depth samples; the index
residual can then be coded and sent to the decoder. The depth
values present in a depth map are usually limited to a number
smaller than the total number that can be represented by a depth
capture device. Therefore, the use of DLT can reduces the bit depth
required for residual magnitudes. This mapping table is transmitted
to the decoder so that the inverse lookup from an index to a valid
depth value can be performed at the decoder.
[0012] At the encoder side, the residual index i.sub.resi to be
coded into the bitstream, is determined according to:
i.sub.resi=I(d.sub.orig)-I(d.sub.pred), (1)
where d.sub.orig denotes an original depth value determined for the
depth block (e.g., the mean value of the original depth block),
d.sub.pred denotes the predicting depth value (e.g., the mean value
of the prediction samples for the depth block), and I(.) denotes
the Index Lookup Table. The computed residual index i.sub.resi is
then coded with a significance flag, a sign flag and with .left
brkt-top.log.sub.2 d.sub.valid.right brkt-bot. bits for the
magnitude of the residual index, where d.sub.valid denotes the
number of valid depth values and .left brkt-top.x.right brkt-bot.
is a ceiling function corresponding to the smallest integer not
less than x.
[0013] The Depth Lookup Table takes advantage of the sparse
property of the depth map, where only a small number of depth
values out of a full available depth range (e.g., 2.sup.8) will
typically be present in the depth map. In the encoder, a dynamic
depth lookup-table is constructed by analyzing a number of frames
(e.g. one Intra period) of the input sequence. This depth
lookup-table is used during the coding process to reduce the
effective signal bit-depth of the residual signal.
[0014] In order to reconstruct the lookup table, the encoder reads
a pre-defined number of frames from the input video sequence to be
coded and scans all samples for presence of the depth values.
During this process a mapping table is generated that maps depth
values to existing depth values based on the original uncompressed
depth map.
[0015] The Depth Lookup Table D(.), the index Lookup Table I(.),
the Depth Mapping Table M(.) and the number of valid depth values
d.sub.valid are derived by the following process that analyses the
depth map D.sub.t: [0016] 1. Initialization [0017] boolean vector
B(d)=FALSE for all depth values d, [0018] index counter i=0. [0019]
2. Process each pixel position p in D.sub.t for multiple time
instances t: [0020] Set B(D.sub.t(p))=TRUE to mark valid depth
values. [0021] 3. Count the number of TRUE values in B(d). The
result is set to the value for d.sub.valid. [0022] 4. For each d
with B(d)==TRUE: [0023] Set D(i)=d, [0024] Set M(d)=d, [0025] Set
I(d)=i, and [0026] i=i+1. [0027] 5. For each d with B(d)==FALSE:
[0028] Find {circumflex over (d)}=arg min|d-{circumflex over (d)}|
and B({circumflex over (d)})==TRUE [0029] Set M(d)={circumflex over
(d)}. [0030] 6. Set I(d)=I({circumflex over (d)}) .
[0031] As mentioned above, there are two types of segmentation and
prediction in the existing SDC. The respective processes for the
two types of segmentation and prediction are described as follows.
[0032] DMM mode: [0033] Edge information is defined by start/end
side and corresponding index. [0034] The DC prediction value (i.e.,
predicting depth value (d.sub.pred)) for each segment are predicted
by neighboring depth values (also referred as neighboring depth
samples or neighboring samples in this disclosure) as shown in FIG.
1. Two examples of depth blocks (110 and 120) are shown in FIG. 1,
where each depth block is divided into two segments as shown by the
dashed line. The reconstructed neighboring depth samples used to
generate prediction samples for block 110 are indicated by
reference numbers 112 and 114, and the reconstructed neighboring
depth samples used to generate prediction samples for block 120 are
indicated by reference numbers 122 and 124 in FIG. 1. [0035] Planar
mode: [0036] Generate the predictors (i.e., prediction samples) of
the Planar mode as shown in FIG. 2. Linear interpolation is used to
generate predictors for the right column and the bottom row as
shown in FIG. 2A. For the right column, the linear interpolation is
based on depth values at A and Z. For the bottom row, the linear
interpolation is based on depth values at B and Z. After the right
column and the bottom row are interpolated, the predictors for the
rest of depth positions are bilinear interpolated using four
respective depth samples from four sides as shown in FIG. 2B.
[0037] The DC prediction value (i.e., a single predicting depth
value (d.sub.pred) for the block) is the mean of the predictors of
the Planar mode.
[0038] In the above derivation processes, prediction sample refers
to the predicted value generated by the Intra coding mode, which
may be DMM Mode 1 or the Planar mode in the existing 3D-HEVC. The
reconstruction process for the Planar mode at the decoder side is
illustrated in FIG. 3. The DC prediction value (Pred.sub.DC) for
the current depth block (310) is determined based on the mean of
the predicted depth samples for the current depth block. The
predicted depth values for the current depth block are derived
using linear interpolation (right column and bottom row) and
bilinear interpolation (other depth samples) of neighboring
reconstructed depth values. In FIG. 3, the predicted depth values
are shown in the current depth block (310). To reconstruct the
depth value (Rec.sub.DC) for the current depth block, a DLT index
is first obtained by adding residual index to the DLT index of
Pred.sub.DC. The reconstructed depth value (Rec.sub.DC) for the
current depth block is then obtained by applying inverse lookup on
this derived index. The residual pixel value (pixel domain) is then
obtained by taking difference of Rec.sub.DC and Pred.sub.DC. The
final reconstructed depth block (320) is derived by adding this
residual pixel value to each prediction sample of the current
block.
[0039] The reconstruction process for the DMM Mode 1 at the decoder
side is illustrated in FIG. 4. The current depth block (410) is
divided into two segments. The DC prediction values (Pred.sub.DC1
and Pred.sub.DC2) for the two segments of the current depth block
(410) are determined based on respective neighboring reconstructed
depth values. In FIG. 4, the predicted depth values are shown in
the current depth block (410). To reconstructed depth values
(Rec.sub.DC1and Rec.sub.DC2) for the two segments of the current
depth block, two DLT indexes are first obtained by adding
corresponding residual index to the DLT index of Pred.sub.DC1 and
Pred.sub.DC2. The reconstructed depth value (Rec.sub.DC1 and
Rec.sub.DC2) for the current depth block is then obtained by
applying inverse lookup on this derived index. The residual pixel
value (pixel domain) is then obtained by taking difference of
Rec.sub.DC1 and Pred.sub.DC1, and Rec.sub.DC2 and Pred.sub.DC2,
respectively. The final reconstructed depth block (420) is derived
by adding this residual pixel value to each prediction sample of
each segment of the current block.
[0040] In the conventional SDC for depth block coding, only limited
prediction modes are provided. It is desirable to extend the
prediction modes to improve coding efficiency.
BRIEF SUMMARY OF THE INVENTION
[0041] A method and apparatus for a block in a coding system are
disclosed. In certain embodiments, a method of Intra coding for a
block in a coding system comprises: receiving input data associated
with a current block; determining a current Intra prediction mode
for the current block; deriving prediction samples for the current
block based on reconstructed neighboring samples according to the
current Intra prediction mode, wherein a predicting value
representing a single prediction value for the current block is
determined based on at least two corner samples corresponding to
the current block according to the current Intra prediction mode;
and applying encoding or decoding to the input data associated with
the current block using the prediction samples derived for the
current block.
[0042] In other embodiments, an apparatus for Intra coding of a
block in a coding system comprises one or more electronic circuits
configured to: receive input data associated with a current block;
determine a current Intra prediction mode for the current block;
derive prediction samples for the current block based on
reconstructed neighboring samples according to the current Intra
prediction mode, wherein a predicting value representing a single
prediction value for the current block is determined based on at
least two corner samples corresponding to the current block
according to the current Intra prediction mode; and apply encoding
or decoding to the input data associated with the current block
using the prediction samples derived for the current block.
BRIEF DESCRIPTION OF THE DRAWINGS
[0043] FIG. 1 illustrates two examples of Depth Modelling Mode
(DMM) for depth coding based on Simplified Depth Coding (SDC),
where the depth block is divided into two segments and each segment
is modelled as a uniform area.
[0044] FIG. 2A and FIG. 2B illustrate the linear interpolation and
bilinear interpolation used to generate prediction samples for the
depth block based on reconstructed neighboring depth samples
according to the Planar mode in SDC.
[0045] FIG. 3 illustrates an exemplary reconstruction process for
Simplified Depth Coding (SDC) using the Planar mode.
[0046] FIG. 4 illustrates an exemplary reconstruction process for
Simplified Depth Coding (SDC) using the Depth Modelling Mode (DMM)
Mode 1.
[0047] FIG. 5 illustrates an example of sample-based Simplified
Depth Coding (SDC) for Horizontal mode.
[0048] FIG. 6 illustrates an example of sample-based Simplified
Depth Coding (SDC) for the Vertical mode.
[0049] FIG. 7 illustrates an exemplary reconstruction process in
the decoder side for sample-based Simplified Depth Coding (SDC)
using the Horizontal mode according to an embodiment of the present
invention.
[0050] FIG. 8 illustrates an exemplary reconstruction process in
the decoder side for sample-based Simplified Depth Coding (SDC)
using the Vertical mode according to an embodiment of the present
invention.
[0051] FIG. 9 illustrates an example of using different subsets of
prediction samples for calculating predicting depth value in the
Horizontal Intra modes for SDC.
[0052] FIG. 10 illustrates an example of using different subsets of
prediction samples for calculating predicting depth values in the
Vertical Intra modes for SDC.
[0053] FIG. 11 illustrates an example of using all samples, a
single sample, partial samples, or two corner samples of a
reconstructed neighboring depth column to calculate predicting
depth values in the Horizontal Intra mode.
[0054] FIG. 12 illustrates an example of using all samples, a
single sample, partial samples, or two corner samples of a
reconstructed neighboring depth row to calculate predicting depth
values in the Vertical Intra mode.
[0055] FIG. 13 illustrates an exemplary flowchart of Simplified
Depth Coding (SDC) for depth data using extended Intra prediction
mode set according to an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0056] In order to improve the coding efficiency of SDC coding,
embodiments according to the present invention uses extended
prediction modes for SDC coding, where the extended prediction
modes includes Horizontal Intra mode, Vertical Intra mode or both
in additional to the conventional Planar mode and DMM Mode 1. The
Intra prediction mode for SDC is also referred as Intra prediction
type in this disclosure. The Horizontal Intra mode and the Vertical
Intra mode are also referred as Horizontal mode and Vertical mode
in this disclosure. For example, the set of extended Intra
prediction types, of segmentation/prediction for the current block
may correspond to:
[0057] a. DMM Mode 1--Explicit Wedgelets (2 segments)
[0058] b. Planar (1 segment)
[0059] c. Horizontal (1 segment)
[0060] d. Vertical (1 segment)
[0061] For the DMM mode, additional prediction information is coded
to indicate the partition. For each resulting segment, a residual
value (in the pixel domain) is signalled in the bitstream. The two
additional types or modes, i.e., Horizontal and Vertical Intra
prediction process is described as follows [0062] Horizontal Mode:
[0063] Generate the predictors of the Horizontal Intra mode as
shown in FIG. 5, where the reconstructed neighboring depth column
(510) adjacent to the current left block boundary of the current
block (520) is used to generate the prediction samples. Each sample
in the neighboring column is used to generate the prediction
samples for a corresponding row of the current block. [0064] The DC
prediction value (i.e., a single predicting depth value
(d.sub.pred) for the block) is the mean of the predictors or the
mean of the subset of the predictors of the Horizontal mode as
shown in FIG. 5. [0065] Vertical Mode: [0066] Generate the
predictors of the Vertical Intra mode as shown in FIG. 6, where the
reconstructed neighboring depth row (610) adjacent to the current
top block boundary of the current block (620) is used to generate
the prediction samples. Each sample in the neighboring row is used
to generate the prediction samples for a corresponding column of
the current block. [0067] The DC prediction value (i.e., a single
predicting depth value (d.sub.pred) for the block) is the mean of
the predictors or the mean of the subset of the predictors of the
Vertical mode as shown in FIG. 6.
[0068] An example of the reconstruction process for the Horizontal
mode and the Vertical mode at the decoder side is illustrated in
FIG. 7 and FIG. 8 respectively. In FIG. 7, block 710 corresponds to
the predicted depth values and block 720 corresponds to the
reconstructed block using the Horizontal mode. The DC prediction
value (i.e., predicting depth value), Pred.sub.DC is derived for
the current block 710. The Pred.sub.DC is added to the residual
received to form the reconstructed residual value for the block,
Rec.sub.DC. This reconstructed residual value is then updated by
the individual prediction samples derived according to Horizontal
mode to form reconstructed depth samples for the block 720. In FIG.
8, block 810 corresponds to the predicted depth values and block
820 corresponds to the reconstructed block using the Vertical mode.
The process to reconstruct DC prediction value for the block,
Rec.sub.DC is similar to the case for the Horizontal mode. The
reconstructed depth value for the block 820 is derived from
d.sub.rec=I.sup.-1(i.sub.resi+I(d.sub.pred)), (2)
with I.sup.-1(.) denoting the inverse Index Lookup table. At the
decoder side, the reconstructed residual R, is derived by
R.sub.rec=d.sub.rec-d.sub.pred. (3)
[0069] Each prediction sample of the current block or prediction
unit (PU) is then updated with the reconstructed residual, i.e.,
the reconstructed residual is added to each prediction sample as
the new prediction sample. Accordingly, the prediction samples of
Horizontal/Vertical mode will be the prediction samples of the
Horizontal/Vertical mode plus an offset value, where the offset
value is derived from the residual index.
[0070] In another example, all the prediction samples of the
current block or PU will be replaced by a same reconstructed depth
value derived from
d.sub.rec=I.sup.-1(i.sub.resi+I(d.sub.pred)),
with I.sup.-1(.) denoting the inverse Index Lookup table.
[0071] In the above example, the set of extended Intra prediction
types of segmentation/prediction corresponds to {DMM Mode 1, Planar
mode, Horizontal mode, Vertical mode}. However, other sets of
extended Intra prediction types may also be used to practice the
present invention. For example, the set of extended Intra
prediction types may correspond to: [0072] {DC mode, DMM Mode 1,
Horizontal mode, Vertical mode} [0073] {Planar mode, DMM Mode 1,
Horizontal mode, Vertical mode} [0074] {Planar mode, DC Mode,
Horizontal mode, Vertical mode} [0075] {DMM mode 1, Planar mode,
Horizontal mode, Vertical mode, Diagonal Mode 2, Diagonal Mode 8}
where Diagonal Mode 2 and Diagonal Mode 8 are the Intra prediction
modes for texture video data as described in the HEVC standard
(H.265: High efficiency video coding, Recommendation ITU-T H.265.
April 2013).
[0076] The order of the type for generating prediction samples may
also be changed. Based on this order, a truncated unary code can be
used to signal the type selected for the current block. An example
of the modified coding table with these two additional modes, i.e.,
Horizontal and Vertical modes are shown in Table 1.
TABLE-US-00001 TABLE 1 depthIntraModeSet 0 1 2 3
depthIntraModeMaxLen 1 3 3 2 DepthIntraMode Associated name
depth_intra_mode 0 INTRA_DEP_SDC_PLANAR 0 -- 0 -- 1 INTRA_DEP_NONE
1 0 -- 0 2 INTRA_DEP_SDC_DMM_WFULL -- -- -- 1 3 INTRA_DEP_DMM_WFULL
-- 1 3 -- 4 INTRA_DEP_DMM_CPREDTEX -- -- -- 2 5
INTRA_DEP_DMM_WPREDTEX -- 2 2 -- 6 INTRA_DEP_CHAIN -- 3 1 -- 7
INTRA_DEP_SDC_HOR 2 3 8 INTRA_DEP_SDC_VER 3 4
[0077] An example of the binarization for depth Intra mode with
additional Horizontal and
[0078] Vertical modes is shown in Table 2.
TABLE-US-00002 TABLE 2 Bin String (cLog2CbSize == 3 &&
PartMode[xC][yC] == PART_2N .times. 2N) || cLog2CbSize ==
(cLog2CbSize >3 && cLog2CbSize <6) 3 &&
PartMode cLog2Cb Name of depth_intra_mode
!depth_intra_mode_offset_flag depth_intra_mode_offset_flag [xC][yC]
== PART_N .times. N Size == 6 INTRA_DEP_SDC_PLANAR 0 -- 0
INTRA_DEP_CHAIN 10 111 -- INTRA_DEP_DMM_WPREDTEX 110 110 --
INTRA_DEP_DMM_WFULL 111 10 INTRA_DEP_NONE 0 0 10
INTRA_DEP_SDC_DMM_WFULL 10 -- -- INTRA_DEP_DMM_CPREDIEX 110 -- --
INTRA_DEP_SDC_HORIZONTAL 1110 110 INTRA_DEP_SDC_VERTICAL 1111
111
[0079] For the set of extended Intra prediction types for SDC
coding according to embodiments of the present invention, the
predicting depth value (d .sub.pred) in those Intra prediction
modes can be calculated from all prediction samples, or the
prediction samples after sub-sampling, or a subset of the
prediction samples. Since the prediction samples are derived based
on reconstructed neighboring depth samples, the predicting depth
value (d .sub.pred) may also be derived directly using the
reconstructed neighboring depth samples of the current coding
block. The function used to derive the predicting depth value can
be the mean, median, maximum, minimum, or a linear combination of
the prediction samples, the prediction samples after sub-sampling,
the subset of the prediction samples, or the neighboring
reconstructed samples of the current coding block.
[0080] When a subset of the prediction samples is used to derive
the predicting depth value (d.sub.pred) for the Intra prediction
modes, any of the following subsets can be used:
[0081] The first row and first column of current coding block,
[0082] The center prediction sample of current coding block,
[0083] The four corner samples of current coding block,
[0084] The two corner samples of the first/last/one row of current
coding block, and
[0085] The two corner samples of the left-most/right-most/one
column of current coding block.
[0086] In another example, different subsets of the prediction
samples can be used for difference Intra prediction modes for SDC.
For example, for the Horizontal Intra mode, the two corner samples
(shown as two black dots) of the left-most column can be used to
calculate the predicting depth value as shown in FIG. 9.
Alternatively, any other column such as the right-most column may
also be used for Horizontal Intra mode to derive the predicting
depth value (d.sub.pred). As for the Vertical Intra mode, the two
corner samples (shown as two black dots) of the first row can be
used to calculate the predicting depth value as shown in FIG. 10.
Alternatively, any other row such as the last row can also be used
to determine for the Vertical Intra mode to derive the predicting
depth value (d.sub.pred).
[0087] In another embodiment of the present invention, the
neighboring reconstructed samples are used to derive the predicting
depth value. For example, for the Horizontal Intra mode, all
samples, a single sample, partial samples, or two corner samples of
the reconstructed neighboring depth column (1110) adjacent to the
left block boundary of the current block 1120 can be used to
calculate the predicting depth value as shown in FIG. 11. As for
the Vertical Intra mode, all samples, a single sample, partial
samples, or two corner samples of the reconstructed neighboring
depth row (1210) adjacent to the top block boundary of the current
block (1220) can be used to derive the predicting depth value as
shown in FIG. 12.
[0088] The performance of a 3D video coding system incorporating an
extended Intra prediction mode set according to an embodiment of
the present invention is compared to that of a conventional system
based on HTM-8.0 (High Efficiency Video Coding based 3D Coding Test
Model, version 8.0). The types of Intra prediction for the HTM-8.0
include DMM Mode 1 and Planar mode. The embodiment according to the
present invention further includes Horizontal mode and Vertical
mode. The performance comparison is based on different sets of test
data listed in the first column. The test results of the system
incorporating an embodiment of the present invention under the
common test conditions (CTC) and under the all-Intra (AI) test
conditions are shown in Table 3 and Table 4, respectively. As shown
in the tables, the system with extended Intra prediction mode set
according to the present invention can achieve over 0.1% BD-rate
saving in some cases. The average decoding time can be reduced by
more than 3%.
TABLE-US-00003 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.00% -0.16% -0.04% -0.06% -0.09%
-0.05% 101.4% 98.8% 99.8% Kendo 0.00% 0.14% -0.18% 0.00% -0.08%
-0.10% 100.1% 96.7% 100.2% Newspapercc 0.00% 0.04% 0.05% 0.01%
-0.04% 0.04% 100.7% 93.9% 98.9% GhostTownFly 0.00% 0.16% -0.03%
0.02% -0.15% -0.19% 101.6% 93.3% 98.6% PoznanHall2 0.00% 0.22%
-0.19% 0.00% -0.03% -0.16% 99.5% 97.9% 100.4% PoznanStreet 0.00%
0.15% 0.13% 0.05% -0.02% -0.10% 100.4% 98.2% 100.5% UndoDancer
0.00% -0.02% -0.26% -0.04% -0.07% -0.20% 100.4% 95.8% 96.1% 1024
.times. 768 0.00% 0.01% -0.06% -0.02% -0.07% -0.04% 100.8% 96.5%
99.6% 1920 .times. 1088 0.00% 0.13% -0.09% 0.01% -0.07% -0.16%
100.5% 96.3% 98.9% average 0.00% 0.07% -0.08% 0.00% -0.07% -0.11%
100.6% 96.4% 99.2%
TABLE-US-00004 TABLE 4 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.00% 0.00% 0.00% 0.00% -0.01%
-0.04% 100.3% 94.4% 99.4% Kendo 0.00% 0.00% 0.00% 0.00% -0.02%
-0.02% 100.6% 99.1% 102.9% Newspapercc 0.00% 0.00% 0.00% 0.00%
-0.02% -0.05% 100.9% 101.2% 102.5% GhostTownFly 0.00% 0.00% 0.00%
0.00% -0.35% -0.32% 101.9% 90.4% 101.3% PoznanHall2 0.00% 0.00%
0.00% 0.00% -0.12% -0.17% 101.8% 97.8% 98.8% PoznanStreet 0.00%
0.00% 0.00% 0.00% -0.15% -0.17% 101.7% 99.0% 94.6% UndoDancer 0.00%
0.00% 0.00% 0.00% -0.07% -0.10% 101.8% 94.8% 100.6% 1024 .times.
768 0.00% 0.00% 0.00% 0.00% -0.02% -0.04% 100.6% 98.2% 101.6% 1920
.times. 1088 0.00% 0.00% 0.00% 0.00% -0.17% -0.19% 101.8% 95.5%
98.8% average 0.00% 0.00% 0.00% 0.00% -0.11% -0.13% 101.3% 96.7%
100.0%
[0089] FIG. 13 illustrates an exemplary flowchart of Simplified
Depth Coding (SDC) for depth data using extended Intra prediction
mode set according to an embodiment of the present invention. The
system receives input data associated with a current depth block as
shown in step 1310. For encoding, the input data associated with
the depth block corresponds to the depth samples to be coded. For
decoding, the input data associated with the current depth block
corresponds to the coded depth data to be decoded. The input data
associated with the current depth block may be retrieved from
memory (e.g., computer memory, buffer (RAM or DRAM) or other media)
or from a processor. A current Intra prediction mode for the
current depth block is determined in step 1320, where the current
Intra prediction mode belongs to a mode set comprising a Horizontal
mode and a Vertical mode. A test "Mode=Horizontal?" is perform in
step 1330. If the result is "Yes", the process goes to step 1350.
If the result is "No", the process goes to step 1340. In step 1350,
the prediction samples are derived based on a reconstructed
neighboring depth column adjacent to a left block boundary of the
current depth block by generating rows of the prediction samples
from the reconstructed neighboring depth column. In step 1340, the
process further tests "Mode=Vertical?". If the result is "Yes", the
process goes to step 1360. If the result is "No", the process goes
to step 1370. In step 1360, the prediction samples are derived
based on a reconstructed neighboring depth row adjacent to a top
block boundary of the current depth block by generating columns of
the prediction samples from the reconstructed neighboring depth. In
step 1370, the prediction samples are derived for other modes.
After the prediction samples are derived, Simplified Depth Coding
(SDC) is applied to the current depth block using the prediction
samples derived for the current depth block as shown in step
1380.
[0090] The flowchart shown above is intended to illustrate an
example of Simplified Depth Coding (SDC) with an extended Intra
prediction mode set. 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.
[0091] 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.
[0092] 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.
[0093] 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.
* * * * *