Image encoding/decoding method and device using intra prediction
View Patent ↗The image encoding/decoding method and device according to the present invention may determine an intra prediction mode of a current block and perform intra prediction on the current block on the basis of the intra prediction mode, wherein the intra prediction mode of the current block is determined for each of a luminance block and a color difference block.
1. A method of decoding an image, comprising:
determining an intra prediction mode of a current block, wherein the intra prediction mode of the current block is determined for each of a luma block and a chroma block respectively,
performing intra prediction on the current block based on the intra prediction mode,
wherein performing the intra prediction comprises:
specifying a luma region for inter-components reference of the chroma block;
performing down-sampling for the luma region;
deriving a parameter for the inter-components reference of the chroma block; and
predicting the chroma block based on the down-sampled luma region and the parameter,
wherein the luma region comprises a luma block and a neighboring region adjacent to the luma block, and performing down-sampling for the luma region comprises:
when the neighboring region belongs to a same CTU as the luma block, performing down-sampling for the neighboring region adjacent to the luma block based on:
pTopDsY
[
x
]
=
(
pY
[
2
×
x
]
[
-
3
]
+
p
Y
[
2
×
x
-
1
]
[
-
2
]
+
4
×
p
Y
[
2
×
x
]
[
-
2
]
+
p
Y
[
2
×
x
+
1
]
[
-
2
]
+
p
Y
[
2
×
x
]
[
-
1
]
+
4
)
>>
3
,
wherein x represents a horizontal coordinate value of a sample in the neighboring region adjacent to the luma block.
2. The method of claim 1 , wherein performing down-sampling for the luma region comprises:
performing down-sampling for the luma block based on:
pDsY
[
x
]
[
y
]
=
(
pY
[
2
×
x
]
[
2
×
y
-
1
]
+
pY
[
2
×
x
-
1
]
[
2
×
y
]
+
4
×
pY
[
2
×
x
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
[
2
×
y
]
+
pY
[
2
×
x
]
[
2
×
y
+
1
]
+
4
)
≫
3.
3. The method of claim 1 , wherein performing down-sampling for the luma region comprises:
performing down-sampling for the luma block based on:
pDsY
[
x
]
[
y
]
=
(
pY
[
2
×
x
-
1
]
[
2
×
y
]
+
pY
[
2
×
x
-
1
]
[
2
×
y
+
1
]
+
2
×
pY
[
2
×
x
[
2
×
y
]
+
2
×
pY
[
2
×
x
]
[
2
×
y
+
1
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
+
1
]
+
4
)
≫
3.
4. The method of claim 1 , wherein performing down-sampling for the luma region comprises:
performing down-sampling for the neighboring region adjacent to the luma block based on:
pLeftDsY
[
y
]
=
(
pY
[
-
2
]
[
2
×
y
-
1
]
+
pY
[
-
3
]
[
2
×
y
]
+
4
×
pY
[
-
2
]
[
2
×
y
]
+
pY
[
-
1
]
[
2
×
y
]
+
pY
[
-
2
]
[
2
×
y
+
1
]
+
4
)
≫
3.
5. The method of claim 1 , wherein the current block is divided into a plurality of sub-blocks, and
wherein the division is performed based on a size of the current block, and
when the size of the current block is smaller than a pre-determined threshold size, the current block is divided into two vertically or horizontally, and
when the size of the current block is greater than or equal to the pre-determined threshold size, the current block is divided into four vertically or horizontally.
6. A method of encoding an image, comprising:
determining an intra prediction mode of a current block, wherein the intra prediction mode of the current block is determined for each of a luma block and a chroma block respectively;
performing intra prediction on the current block based on the intra prediction mode; and
encoding the MPM index into a bitstream,
wherein performing the intra prediction comprises:
specifying a luma region for inter-components reference of the chroma block;
performing down-sampling for the luma region;
deriving a parameter for the inter-components reference of the chroma block; and
predicting the chroma block based on the down-sampled luma region and the parameter,
wherein the luma region comprises a luma block and a neighboring region adjacent to the luma block, and performing down-sampling for the luma region comprises:
when the neighboring region belongs to a same CTU as the luma block, performing down-sampling for the neighboring region adjacent to the luma block based on:
pTopDsY
[
x
]
=
(
pU
[
2
×
x
]
[
-
3
]
+
pY
[
2
×
x
-
1
]
[
-
2
]
+
4
×
pY
[
2
×
x
]
[
-
2
]
+
pY
[
2
×
x
+
1
]
[
-
2
]
+
pY
[
2
×
x
]
[
-
1
]
+
4
)
≫
3.
wherein x represents a horizontal coordinate value of a sample in the neighboring region adjacent to the luma block.
7. The method of claim 6 , wherein performing down-sampling for the luma region comprises:
performing down-sampling for the luma block based on:
p
D
s
Y
[
x
]
[
y
]
=
(
pY
[
2
×
x
]
[
2
×
y
-
1
]
+
p
Y
[
2
×
x
-
1
]
[
2
×
y
]
+
4
×
p
Y
[
2
×
x
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
]
+
p
Y
[
2
×
x
]
[
2
×
y
+
1
]
+
4
)
≫
3.
8. The method of claim 6 , wherein performing down-sampling for the luma region comprises:
performing down-sampling for the luma block based on:
p
D
s
Y
[
x
]
[
y
]
=
(
pY
[
2
×
x
-
1
]
[
2
×
y
]
+
p
Y
[
2
×
x
-
1
]
[
2
×
y
+
1
]
+
2
×
p
Y
[
2
×
x
]
[
2
×
y
]
+
2
×
p
Y
[
2
×
x
]
[
2
×
y
+
1
]
+
p
Y
[
2
×
x
+
1
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
+
1
]
+
4
)
≫
3.
9. The method of claim 6 , wherein performing down-sampling for the luma region comprises:
performing down-sampling for the neighboring region adjacent to the luma block based on:
pLeftDsY
[
y
]
=
(
pY
[
-
2
]
[
2
×
y
-
1
]
+
pY
[
-
3
]
[
2
×
y
]
+
4
×
pY
[
-
2
]
[
2
×
y
]
+
pY
[
-
1
]
[
2
×
y
]
+
pY
[
-
2
]
[
2
×
y
+
1
]
+
4
)
≫
3.
10. The method of claim 6 , wherein the current block is divided into a plurality of sub-blocks, and
wherein the division is performed based on a size of the current block, and
when the size of the current block is smaller than a pre-determined threshold size, the current block is divided into two vertically or horizontally, and
when the size of the current block is greater than or equal to the pre-determined threshold size, the current block is divided into four vertically or horizontally.
11. A decoder, comprising a memory and a processor, wherein
the memory is configured to store computer programs capable of running in the processor; and
the processor is configured to run the computer programs to execute:
determining an intra prediction mode of a current block, wherein the intra prediction mode of the current block is determined for each of a luma block and a chroma block respectively; and
performing intra prediction on the current block based on the intra prediction mode;
wherein the processor is further configured to run the computer programs to execute:
specifying a luma region for inter-components reference of the chroma block;
performing down-sampling for the luma region;
deriving a parameter for the inter-components reference of the chroma block; and
predicting the chroma block based on the down-sampled luma region and the parameter,
wherein the luma region comprises a luma block and a neighboring region adjacent to the luma block, and performing down-sampling for the luma region comprises:
when the neighboring region belongs to a same CTU as the luma block, performing down-sampling for the neighboring region adjacent to the luma block based on:
p
T
o
p
D
s
Y
[
x
]
=
(
p
Y
[
2
×
x
]
[
-
3
]
+
p
Y
[
2
×
x
-
1
]
[
-
2
]
+
4
×
p
Y
[
2
×
x
]
[
-
2
]
+
p
Y
[
2
×
x
+
1
]
[
-
2
]
+
p
Y
[
2
×
x
]
[
-
1
]
+
4
)
≫
3
,
wherein x represents a horizontal coordinate value of a sample in the neighboring region adjacent to the luma block.
12. The decoder of claim 11 , wherein the processor is further configured to run the computer programs to execute:
performing down-sampling for the luma block based on:
p
D
s
Y
[
x
]
[
y
]
=
(
pY
[
2
×
x
]
[
2
×
y
-
1
]
+
p
Y
[
2
×
x
-
1
]
[
2
×
y
]
+
4
×
p
Y
[
2
×
x
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
]
+
p
Y
[
2
×
x
]
[
2
×
y
+
1
]
+
4
)
≫
3.
13. The decoder of claim 11 , wherein the processor is further configured to run the computer programs to execute:
performing down-sampling for the luma block based on:
p
D
s
Y
[
x
]
[
y
]
=
(
p
Y
[
2
×
x
-
1
]
[
2
×
y
]
+
p
Y
[
2
×
x
-
1
]
[
2
×
y
+
1
]
+
2
×
p
Y
[
2
×
x
]
[
2
×
y
]
+
2
×
p
Y
[
2
×
x
]
[
2
×
y
+
1
]
+
p
Y
[
2
×
x
+
1
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
+
1
]
+
4
)
≫
3.
14. The decoder of claim 11 , wherein the processor is further configured to run the computer programs to execute:
performing down-sampling for the neighboring region adjacent to the luma block based on:
pLeftDsY
[
y
]
=
(
pY
[
-
2
]
[
2
×
y
-
1
]
+
pY
[
-
3
]
[
2
×
y
]
+
4
×
pY
[
-
2
]
[
2
×
y
]
+
pY
[
-
1
]
[
2
×
y
]
+
pY
[
-
2
]
[
2
×
y
+
1
]
+
4
)
≫
3.
15. The decoder of claim 11 , wherein the current block is divided into a plurality of sub-blocks, and
wherein the division is performed based on a size of the current block, and
when the size of the current block is smaller than a pre-determined threshold size, the current block is divided into two vertically or horizontally, and
when the size of the current block is greater than or equal to the pre-determined threshold size, the current block is divided into four vertically or horizontally.
16. An encoder, comprising a memory and a processor, wherein
the memory is configured to store computer programs capable of running in the processor; and
the processor is configured to run the computer programs to execute:
determining an intra prediction mode of a current block, wherein the intra prediction mode of the current block is determined for each of a luma block and a chroma block respectively;
performing intra prediction on the current block based on the intra prediction mode; and
encoding an MPM index into a bitstream,
wherein the processor is further configured to run the computer programs to execute:
specifying a luma region for inter-components reference of the chroma block;
performing down-sampling for the luma region;
deriving a parameter for the inter-components reference of the chroma block; and
predicting the chroma block based on the down-sampled luma region and the parameter,
wherein the luma region comprises a luma block and a neighboring region adjacent to the luma block, and performing down-sampling for the luma region comprises:
when the neighboring region belongs to a same CTU as the luma block, performing down-sampling for the neighboring region adjacent to the luma block based on:
p
T
o
p
D
s
Y
[
x
]
=
(
p
Y
[
2
×
x
]
[
-
3
]
+
p
Y
[
2
×
x
-
1
]
[
-
2
]
+
4
×
p
Y
[
2
×
x
]
[
-
2
]
+
p
Y
[
2
×
x
+
1
]
[
-
2
]
+
p
Y
[
2
×
x
]
[
-
1
]
+
4
)
≫
3
,
wherein x represents a horizontal coordinate value of a sample in the neighboring region adjacent to the luma block.
17. The encoder of claim 16 , wherein the processor is further configured to run the computer programs to execute:
performing down-sampling for the luma block based on:
p
D
s
Y
[
x
]
[
y
]
=
(
p
Y
[
2
×
x
]
[
2
×
y
-
1
]
+
p
Y
[
2
×
x
-
1
]
[
2
×
y
]
+
4
×
p
Y
[
2
×
x
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
]
+
p
Y
[
2
×
x
]
[
2
×
y
+
1
]
+
4
)
≫
3.
18. The encoder of claim 15 , wherein the processor is further configured to run the computer programs to execute:
performing down-sampling for the luma block based on:
p
D
s
Y
[
x
]
[
y
]
=
(
p
Y
[
2
×
x
-
1
]
[
2
×
y
]
+
p
Y
[
2
×
x
-
1
]
[
2
×
y
+
1
]
+
2
×
p
Y
[
2
×
x
]
[
2
×
y
]
+
2
×
p
Y
[
2
×
x
]
[
2
×
y
+
1
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
]
+
pY
[
2
×
x
+
1
]
[
2
×
y
+
1
]
+
4
)
≫
3.
19. The encoder of claim 16 , wherein the processor is further configured to run the computer programs to execute:
performing down-sampling for the neighboring region adjacent to the luma block based on:
pLeftDsY
[
y
]
=
(
pY
[
-
2
]
[
2
×
y
-
1
]
+
pY
[
-
3
]
[
2
×
y
]
+
4
×
pY
[
-
2
]
[
2
×
y
]
+
pY
[
-
1
]
[
2
×
y
]
+
pY
[
-
2
]
[
2
×
y
+
1
]
+
4
)
≫
3.
20. The encoder of claim 16 , wherein the current block is divided into a plurality of sub-blocks, and
wherein the division is performed based on a size of the current block, and
when the size of the current block is smaller than a pre-determined threshold size, the current block is divided into two vertically or horizontally, and
when the size of the current block is greater than or equal to the pre-determined threshold size, the current block is divided into four vertically or horizontally.