Spatial prediction method, image decoding method, and image coding method
First Claim
1. A non-transitory recording medium having a computer program stored thereon, which codes an image per block included in the image, the computer program causing a processor to execute operations comprising:
- calculating an integer slope indicating an integer value of a slope, based on at least one of a horizontal gradient and a vertical gradient;
determining, for each of pixel positions within a current block to be coded, a sub-pel position that is an intersection between a line having the integer slope and passing through the pixel position within the current block and a boundary of a block adjacent to the current block;
generating a predicted block by predicting, for each of the pixel positions within the current block, a pixel value at the pixel position, based on a pixel value interpolated in the sub-pel position determined for the pixel position; and
coding the current block by subtracting the predicted block from the current block,wherein in the calculating, a result of a division with reference to a division table stored in a memory is obtained, and the integer slope is calculated using the obtained result of the division, the division using, as a divisor, a value indicating the one of the horizontal gradient and the vertical gradient, the division table indicating, for each predetermined value, a result of a division of a value scaled by a c-th power of 2, using the predetermined value as a divisor, where c is a positive integer, andwherein in the generating, the pixel value interpolated in the sub-pel position is calculated by multiplying the integer slope generated by scaling by a coordinate value horizontal or vertical to a pixel position to be predicted within the current block, and shifting the multiplied integer slope right by c bits.
0 Assignments
0 Petitions
Accused Products
Abstract
A spatial prediction method capable of reducing the complexity of spatial prediction includes: detecting an edge (E) overlapping the current block by obtaining a horizontal gradient (Gy) and a vertical gradient (Gx) between pixels within a block adjacent to the current block; calculating an integer slope of the edge; determining, for each pixel position within the current block, a sub-pel position being an intersection between (i) a line that has the integer slope and passes through the pixel position and (ii) a boundary of the adjacent block; and predicting, for each pixel position, a pixel value at the pixel position based on a pixel value interpolated in the sub-pel position, wherein the boundary of the adjacent block is a row or a column that is the closest to the current block, among rows or columns of pixels included in the adjacent block.
22 Citations
1 Claim
-
1. A non-transitory recording medium having a computer program stored thereon, which codes an image per block included in the image, the computer program causing a processor to execute operations comprising:
-
calculating an integer slope indicating an integer value of a slope, based on at least one of a horizontal gradient and a vertical gradient; determining, for each of pixel positions within a current block to be coded, a sub-pel position that is an intersection between a line having the integer slope and passing through the pixel position within the current block and a boundary of a block adjacent to the current block; generating a predicted block by predicting, for each of the pixel positions within the current block, a pixel value at the pixel position, based on a pixel value interpolated in the sub-pel position determined for the pixel position; and coding the current block by subtracting the predicted block from the current block, wherein in the calculating, a result of a division with reference to a division table stored in a memory is obtained, and the integer slope is calculated using the obtained result of the division, the division using, as a divisor, a value indicating the one of the horizontal gradient and the vertical gradient, the division table indicating, for each predetermined value, a result of a division of a value scaled by a c-th power of 2, using the predetermined value as a divisor, where c is a positive integer, and wherein in the generating, the pixel value interpolated in the sub-pel position is calculated by multiplying the integer slope generated by scaling by a coordinate value horizontal or vertical to a pixel position to be predicted within the current block, and shifting the multiplied integer slope right by c bits.
-
Specification