Methods and systems for image intra-prediction mode estimation, communication, and organization
Abstract
An image decoding system for decoding a digital image, comprising: means for decoding each of the blocks into which an image is divided; intra-prediction means for predicting a pixel value of a target block to be decoded, by using a pixel value of an adjacent block; and means of estimating the prediction mode, to estimate a prediction mode for the target block; wherein the intra-prediction means includes a vertical prediction mode that uses a prediction value that is a pixel value of a first block located next to and above the target block; a horizontal prediction mode that uses a prediction value that is a pixel value of a second block located next to the left side of the target block; a DC prediction mode that uses a prediction value that is an average of the pixel values of the first and second blocks; a diagonal prediction mode down / left that uses the specified direction being descending diagonally to the left at an angle of 45 degrees from the horizontal; a diagonal prediction mode down / right that uses the specified direction being descending diagonally to the right at an angle of 45 degrees from the horizontal; a right vertical prediction mode that uses the specified direction being descending diagonally to the right at an angle of 67.5 degrees from the horizontal; a horizontal prediction mode below that uses the specified direction being descending diagonally to the right at an angle of 22.5 degrees from the horizontal; a left vertical prediction mode that uses the specified direction being descending diagonally to the left at an angle of 67.5 degrees from the horizontal and; a horizontal prediction mode above that uses the specified direction being diagonally ascending to the right at an angle of 22.5 degrees from the horizontal; the prediction modes are numbered with increasing numbers, in the order of the vertical prediction mode, the horizontal prediction mode and the DC prediction mode, the diagonal prediction mode down / left, the diagonal prediction mode down / right, the right vertical prediction mode, horizontal prediction mode below, left vertical prediction mode and horizontal prediction mode above, the prediction mode estimation means determines a prediction mode that has the lowest mode number between the prediction mode of the first block and the prediction mode of the second block, such as the prediction mode for the target block; and the intra-prediction means decodes the first information and the second information; The first information shows whether or not the actual prediction mode is equal to the prediction mode that has been estimated in the estimation medium; and the second information is decoded in a case where the actual prediction mode is different from the prediction mode that has been estimated in the estimation medium, to show the actual prediction mode.
Term
Term ended
Projected expiry passed 27 May 2023, 3.3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
2 claims: 2 independent, 0 dependent
- 1REIVINDICACIONES 1. Un sistema de descodificación de imágenes para descodificar una imagen digital, que comprende:medios para descodificar cada uno de los bloques en los que está dividida una imagen;medios intra-predicción para predecir un valor de píxel de un bloque objetivo a descodificar, mediante utilizar un valor de píxel de un bloque adyacente;y medios de estimación del modo de predicción, para estimar un modo de predicción para el bloque objetivo;en el que los medios de intra-predicción incluyen un modo de predicción vertical que utiliza un valor de predicción que es un valor de píxel de un primer bloque situado junto al bloque objetivo y por encima del mismo;un modo de predicción horizontal que utiliza un valor de predicción que es un valor de píxel de un segundo bloque situado junto al lado izquierdo del bloque objetivo;un modo de predicción DC que utiliza un valor de predicción que es un promedio de los valores de píxel del primer y el segundo bloques;un modo de predicción diagonal abajo/izquierda que utiliza la dirección especificada siendo descendente diagonalmente hacia la izquierda a un ángulo de 45 grados respecto de la horizontal;un modo de predicción diagonal abajo/derecha que utiliza la dirección especificada siendo descendente diagonalmente hacia la derecha a un ángulo de 45 grados respecto de la horizontal;un modo de predicción vertical derecha que utiliza la dirección especificada siendo descendente diagonalmente hacia la derecha a un ángulo de 67,5 grados respecto de la horizontal;un modo de predicción horizontal abajo que utiliza la dirección especificada siendo descendente diagonalmente hacia la derecha a un ángulo de 22,5 grados respecto de la horizontal;un modo de predicción vertical izquierda que utiliza la dirección especificada siendo descendente diagonalmente hacia la izquierda a un ángulo de 67,5 grados respecto de la horizontal y;un modo de predicción horizontal arriba que utiliza la dirección especificada siendo diagonalmente ascendente hacia la derecha a un ángulo de 22,5 grados respecto de la horizontal;los modos de predicción están numerados con números crecientes, en el orden del modo de predicción vertical, el modo de predicción horizontal y el modo de predicción DC, el modo de predicción diagonal abajo/izquierda, el modo de predicción diagonal abajo/derecha, el modo de predicción vertical derecha, el modo de predicción horizontal abajo, el modo de predicción vertical izquierda y el modo de predicción horizontal arriba, el medio de estimación del modo de predicción determina un modo de predicción que tenga el menor número de modo entre el modo de predicción del primer bloque y el modo de predicción del segundo bloque, como el modo de predicción para el bloque objetivo;y los medios de intra-predicción descodifican la primera información y la segunda información;la primera información muestra si el modo de predicción real es o no igual al modo de predicción que ha sido estimado en el medio de estimación;y la segunda información se descodifica en un caso en el que el modo de predicción real es diferente del modo de predicción que ha sido estimado en el medio de estimación, para mostrar el modo de predicción real.
- 2Un método de descodificación de imágenes para descodificar una imagen digital mediante descodificar cada uno de los bloques en los que está dividida la imagen, comprendiendo el método:una etapa intra-predicción, de predicción de un valor de píxel de un bloque objetivo a predecir, mediante utilizar un valor de píxel de un bloque adyacente;y una etapa de estimación del modo de predicción, de estimación de un modo de predicción para el bloque objetivo;en el que la etapa intra-predicción utiliza por lo menos un modo de predicción vertical que utiliza un valor de predicción que es un valor de píxel de un primer bloque situado junto al bloque objetivo y por encima del mismo;un modo de predicción horizontal que utiliza un valor de predicción que es un valor de píxel de un segundo bloque situado junto al lado izquierdo del bloque objetivo;un modo de predicción DC que utiliza un valor de predicción que es un promedio de los valores de píxel del primer y el segundo bloques;un modo de predicción diagonal abajo/izquierda que utiliza la dirección especificada siendo descendente diagonalmente hacia la izquierda a un ángulo de 45 grados respecto de la horizontal;un modo de predicción diagonal abajo/derecha que utiliza la dirección especificada siendo descendente diagonalmente hacia la derecha a un ángulo de 45 grados respecto de la horizontal;un modo de predicción vertical derecha que utiliza la dirección especificada siendo descendente diagonalmente hacia la derecha a un ángulo de 67,5 grados respecto de la horizontal;un modo de predicción horizontal abajo que utiliza la dirección especificada siendo descendente diagonalmente hacia la derecha a un ángulo de 22,5 grados respecto de la horizontal;un modo de predicción vertical izquierda que utiliza la dirección especificada siendo descendente diagonalmente hacia la izquierda a un ángulo de 67,5 grados respecto de la horizontal y;un modo de predicción horizontal arriba que utiliza la dirección especificada siendo diagonalmente ascendente hacia la derecha a un ángulo 5 de 22,5 grados respecto de la horizontal;los modos de predicción están numerados con números crecientes, en el orden del modo de predicción vertical, el modo de predicción horizontal y el modo de predicción DC, el modo de predicción diagonal abajo/izquierda, el modo de predicción diagonal abajo/derecha, el modo de predicción vertical derecha, el modo de predicción horizontal abajo, el modo de predicción vertical izquierda y el modo de predicción horizontal arriba, 10 la etapa de estimación del modo de predicción determina un modo de predicción que tenga el menor número de modo entre el modo de predicción del primer bloque y el modo de predicción del segundo bloque, como el modo de predicción para el bloque objetivo;y la etapa de intra-predicción descodifica la primera información y la segunda información;la primera información muestra si el modo de predicción real es o no igual al modo de predicción que ha sido 15 estimado en la etapa de estimación;y la segunda información se descodifica en un caso en el que el modo de predicción real es diferente del modo de predicción que ha sido estimado en la etapa de estimación, para mostrar el modo de predicción real.
Independent claims2
119 paragraphs in 3 sections, as filed
p00001Methods and systems for the estimation, communication and organization of intra-prediction modes of images
BACKGROUND
p00003The embodiments of the present invention relate to intra-prediction for an image.
p00004Digital video needs a large amount of data to represent each and every one of the images in a digital video sequence (for example, series of images) in a decompressed way. For most applications, it is not feasible to stream decompressed digital video through computer networks, due to bandwidth limitations. Additionally, decompressed digital video needs a large amount of storage space. Normally digital video is encoded in some way, to reduce storage needs and reduce bandwidth needs.
p00005One technique for encoding digital video is encoding between images. Encoding between images exploits the fact that different video images typically include regions of pixels, normally selected as blocks of x by x, that remain substantially the same. During the coding process, a motion vector interrelates the movement of a block of pixels in one image, with a block of similar pixels in another image. Therefore, it is not necessary for the system to encode the pixel block twice, but rather to encode the pixel block once and provide a motion vector to predict the other pixel block.
p00006Another technique for encoding digital video is intra-image coding. Intra-image encoding encodes an image or a part of it, without reference to pixels in other images. Intra-image coding typically encodes the image, or portions thereof, on a block by block basis. For example in MPEG-2, intra-image coding makes use of discrete cosine transformations, of a block of pixels, and subsequent coding of the transformed coefficients. There are other intra-image coding techniques, such as small wave coding.
p00007In general, these techniques use relatively large data tables to refer to prediction modes. The memory for these data tables can be excessively expensive for many low cost machines. In addition, it is also excessively expensive to provide enough memory within the processing devices to store the data tables. In addition, the resulting system has increased complexity with large data tables.
p00008The document by Karczewicz, M. and others: "Analysis and Simplification of Intra Prediction", JVT (ISO / IEC JCTC1 / SC29 / WG11 and ITU-T SG16 Q.6), JVT-D025, discloses intra-prediction in the context of the JVT standard. Intra-prediction modes are ordered as follows:
p00009Mode 0: Vertical prediction
p00010Mode 1: Horizontal prediction
p00011Mode 2: DC prediction
p00012Mode 3: Diagonal prediction Down / Left
p00013Mode 4: Diagonal prediction Down / Right
p00014Mode 5: Left Vertical prediction
p00015Mode 6: Horizontal Prediction Down
p00016Mode 7: Right Vertical prediction
p00017Mode 8: Horizontal Prediction Up
p00018An estimated prediction mode for block C is chosen as the minimum of the modes used for adjacent blocks A and B. If the estimated prediction mode is used, the encoder sends a value of one bit. If the estimated prediction mode is not used, a code number from 0 to 7 is sent to indicate which of the remaining 8 modes should be used.
p00019The document of Sun, S. and others: "Intra-Prediction-Mode Ordering end Coding", JVT (ISO / IEC JCTC1 / SC29 / WG11 e
p00020ITU-T SG16 Q.6), JVT-D027, announces the following mode arrangement:
p00021Mode 0: Horizontal prediction
p00022Mode 1: Vertical prediction
p00023Mode 2: DC prediction
p00024Mode 3: Diagonal prediction Down / Left
p00025Mode 4: Horizontal Prediction Down
p00026Mode 5: Diagonal prediction Down / Right
p00027Mode 6: Right Vertical prediction
p00028Mode 7: Left Vertical prediction
p00029Mode 8: Horizontal prediction Top The invention discloses an improvement on what is disclosed in each of the documents identified above. The invention discloses an image decoding system according to claim 1, and an image decoding method according to claim 2.
BRIEF DESCRIPTION OF THE DRAWINGS
p00031The following drawings describe embodiments of the present invention, and therefore should not be considered
p00032limiting its scope, and the invention will be described and explained with additional specificity and detail, by means of use of the attached drawings, in which: Figure 1 illustrates some forms of block adjacency; Figure 2 illustrates a block of pixels and adjacent pixels, for prediction; Figure 3 illustrates general directions of the prediction mode; Figure 4 illustrates the general directions of the prediction modes of a comparative example; Figure 5 illustrates the general directions of the prediction modes of a comparative example; Figure 6 illustrates the general directions of the prediction modes, in an embodiment of the present invention; Figure 7 illustrates the general directions of the prediction modes of a comparative example; Figure 8 illustrates the general directions of the prediction modes of a comparative example; Figure 9 is a block diagram illustrating the mode estimation, in some embodiments of the present.
p00033invention;
p00034Figure 10 is a block diagram illustrating the mode estimation, in embodiments with a set order of prediction modes; Figure 11 is a block diagram illustrating mode estimation, with ordered sets associated with
p00035numerical values;
p00036Figure 12 is a block diagram illustrating the mode estimation options, when they are not some adjacent block data available; Figure 13 is a block diagram illustrating the modification of the order of modes, in some embodiments of
p00037the present invention,
p00038Figure 14 is a block diagram illustrating the methods of an embodiment of the present invention, in which an estimated mode is used to modify the use of the order of modes; and
p00039Figure 15 is a block diagram illustrating the method of an embodiment of the present invention, in which an estimated mode is used to modify the order of modes using specific designators.
DETAILED DESCRIPTION
p00041The embodiments of the present invention comprise methods and systems related to intra-prediction of images. Since all embodiments are related to intra-prediction, the terms "intraprediction" and "prediction" can be used interchangeably to refer to intra-prediction processes.
p00042The embodiments of the present invention use intra-image coding or intra-coding, to exploit spatial redundancies within a video image. Since adjacent blocks generally have similar attributes, the efficiency of the coding process is improved by relating to the spatial correlation between adjacent blocks. This correlation can be exploited by predicting an objective block, based on the prediction modes used in the adjacent blocks.
p00043A digital image can be divided into blocks for more efficient processing, or for other reasons. As illustrated in Figure 1, an objective block "C" 12 may be located next to or adjacent to an "A" block 14, which is located immediately above the target block "C" 12. Another adjacent block "B" 16, It is located immediately to the left of the target block "C" 12. Other blocks that share boundaries with the target block "C" 12, may be considered blocks adjacent to block "C" 12.
p00044The blocks can comprise different numbers of pixels in different configurations. For example, a block can comprise a set of 4 x 4 pixels. A block may also comprise a set of 16 x 16 pixels or a set of 8 x 8. Other pixel configurations, including both square and rectangular sets, may also constitute a block.
p00045Each pixel in a target block can be predicted with reference to the data of the related pixels, in the adjacent blocks. This adjacent pixel data or adjacent block data comprises the prediction modes used to predict such adjacent blocks or adjacent pixels. The adjacent concrete pixels and the pixels within a target block can be referred to using an alphanumeric index as illustrated in Figure 2. Figure 2 illustrates a 4x4 target block, such as block "C" 12, comprising 16 pixels designated by lowercase alphabetic characters 22. Pixels in an adjacent block immediately above the target block, are designated by alphabetic characters uppercase 24. Pixels in an adjacent block immediately to the left of the target block are designated by uppercase alphabetic characters 26.
p00046The prediction modes may comprise instructions or algorithms to predict specific pixels in a target block. These modes may refer to one or more adjacent block pixels, as described in the following mode descriptions.
p00047Prediction Modes
p00048Mode 0: vertical prediction
p00049a, e, i can be predicted by A
p00050b, f, j, n can be predicted by B
p00051c, g, k, or can be predicted by C
p00052d, j, l, p can be predicted by D
p00053Mode 1: horizontal prediction
p00054a, b, c, d can be predicted by I
p00055e, f, g, h can be predicted by J
p00056i, j, k, l can be predicted by K
p00057m, n, o, p can be predicted by L Mode 2: DC prediction If all samples A, B, C, D, I, J, K, L are available, all samples can be predicted by (A + B
p00058+ C + I + J + K + L + 4) >> 3. If A, B, C and D are not available and I, J, K and L are available, all samples can be predicted by (I + J + K + L + 2) >> 2. If I, J, K and L are not available and A, B, C and D are available, all samples can be predicted by (A + B + C + D + 2)> > 2. If none of the eight samples are available, the prediction for all samples in the block can be 128. A block can always be predicted in this way.
p00059Mode 3: diagonal prediction down / left a can be predicted by (A + 2B + C + I + 2J + K + 4) >> 3 b, and can be predicted by (B + 2C + D + J + 2K + L + 4 ) >> 3 c, f, i can be predicted by (C + 2D + E + K + 2L + M + 4) >> 3 d, g, j, m can be predicted by (D + 2E + F + L + 2M + N + 4) >> 3 h, k, n can be predicted by (E + 2F + G + M + 2N + O + 4) >> 3 l, or can be predicted by (F + 2G + H + N + 2O + P + 4) >> 3 p can be predicted by (G + H + O + P + 2) >> 2 Mode 4: diagonal prediction down / right m can be predicted by (J + 2K + L + 2) >> 2 i, n can be predicted by (I + 2J + K + 2) >> 2 e, j, or can be predicted by (Q + 2I + J + 2) >> 2 a, f, k, p can be predicted by (A + 2Q + I + 2) >> 2 b, g, l can be predicted by (Q + 2A + B + 2) >> 2 c, h can be predicted by (A + 2B + C + 2) >> 2 d can be predicted by (B + 2C + D + 2) >> 2 Mode 5: vertical prediction - left a, j can be predicted by (Q + A + 1) >> 1 b, k can be predicted by (A + B + 1) >> 1 c, l can be predicted by (B + C + 1)> > 1 d can be predicted by (C + D + 1) >> 1 e, n can be predicted by (I + 2Q + A + 2) >> 2 f, or can be predicted by (Q + 2A + B + 2)> > 2 g, p can be predicted by (A + 2B + C + 2) >> 2 h can be predicted by (B + 2C + D + 2) >> 2 i can be predicted by (Q + 2I + J + 2)> > 2 m can be predicted by (I + 2J + K + 2) >> 2 Mode 6: horizontal prediction - below a, g can be predicted by (Q + I + 1) >> 1 b, h can be predicted by (I + 2Q + A + 2) >> 2 c can be predicted by (Q + 2A + B + 2 ) >> 2 d can be predicted by (A + 2B + C + 2) >> 2 e, k can be predicted by (I + J + 1) >> 1 f, l can be predicted by (Q + 2I + J + 2 ) >> 2 i, or can be predicted by (J + K + 1) >> 1 j, p can be predicted by (I + 2J + K + 2) >> 2 m can be predicted by (K + L + 1)> > 1 z can be predicted by (J + 2K + L + 2) >> 2 Mode 7: vertical prediction - right a can be predicted by (2A + 2B + J + 2K + L + 4) >> 3 b, i can be predicted by (B + C + 1) >> 1 c, j can be predicted by (C + D +1) >> 1 d, k can be predicted by (D + E + 1) >> 1 I can be predicted by (E + F + 1) >> 1 and can be predicted by (A + 2B + C + K + 2L + M + 4) >> 3 f, m can be predicted by (B + 2C + D + 2) >> 2 g, n can be predicted by (C + 2D + E + 2) >> 2 h, or can be predicted by (D + 2E + F + 2) >> 2 p can be predicted by (E + 2F + G + 2) >> 2 Mode 8: horizontal prediction - above a can be predicted by (B + 2C + D + 2I + 2J + 4) >> 3 b can be predicted by (C + 2D + E + I + 2J + K + 4) >> 3 c, and can predicted by (J + K + 1) >> 1 d, f can be predicted by (J + 2K + L + 2) >> 2 g, i can be predicted by (K + L + 1) >> 1 h, j can predicted by (K + 2L + M + 2) >> 2
p00060l, n can be predicted by (L + 2M + N + 2) >> 2
p00061k, m can be predicted by (L + M + 1) >> 1
p00062or can be predicted by (M + N + 1) >> 1
p00063p can be predicted by (M + 2N + O + 2) >> 2
p00064The sorting process, which is based on the probability of producing a lower prediction error for each of the modes, increases the coding efficiency, reduces memory needs and can, at least partially, be defined mathematically.
p00065Each prediction mode can be described by a general prediction direction, as described verbally in each of the previous mode titles (ie, horizontal above, vertical and diagonal below left). A prediction mode can also be described graphically by an angular direction. This angular direction can be expressed through a diagram with oriented arrows, outward from a central point, as shown in Figure 3. In this type of diagram, each arrow and the center point can represent a prediction mode. The angle corresponding to a prediction mode has a general relationship with the direction from the heavy average location, of the adjacent pixels used to predict the target pixel, to the actual location of the target pixel. However, the modes are defined more precisely in the previous definitions and the JVT standard. In Fig. 3, the center point 32 does not represent any direction, so that this point can be associated with a prediction mode DC. A horizontal arrow 34 may represent a horizontal prediction mode. A vertical arrow 36 may represent a vertical prediction mode. An arrow that extends from the center point, diagonally downward and to the right, approximately at an angle of 45 degrees from horizontal 38, may represent a Diagonal Down / Right Prediction (DDR) mode. An arrow that extends from the center point, descending diagonally to the left, approximately at an angle of 45 degrees from the horizontal 40, may represent a Diagonal Down / Left (DDL) prediction mode. Both DDR and DDL prediction modes can be referred to as diagonal prediction modes.
p00066An arrow extending from the center point, ascending diagonally to the right, at an angle of approximately 22.5 degrees from the horizontal 42, may represent a Horizontal Up (HU) prediction mode. A date that extends from the center point descending diagonally to the right, at an angle of approximately 22.5 degrees from the horizontal 44, can represent a Horizontal Down (HD) prediction mode. A date that extends from the center point descending to the right at an angle of approximately 67.5 degrees from horizontal 46, may represent a Right Vertical (VR) prediction mode. An arrow extending from the center point, descending diagonally to the left at an angle of approximately 67.5 degrees from the horizontal 48, may represent a Left Vertical (VL) prediction mode. The prediction modes HU, HD, VR and VL can be referred to collectively as intermediate angle prediction modes.
p00067Many other prediction modes can be created and described, using this angular description scheme.
p00068Prediction Mode Order
p00069The present inventors have determined that the prediction modes can be ordered, in a manner generally consistent with their probability of producing a reduced prediction error. With prediction modes ordered according to their overall probability of producing a lower prediction error, the resulting data itself may have a greater tendency to be ordered more consistently. In addition, mode communication can take advantage of coding techniques, which reduce memory and bandwidth needs. For example, the present inventors have determined that the horizontal prediction mode and the vertical prediction mode are generally more likely than the diagonal prediction modes, which are generally more likely than the intermediate angle prediction modes. Additionally, a DC prediction mode (for example when an adjacent block is encoded in an inter-mode) is generally less likely than horizontal and vertical prediction modes, and generally more likely than diagonal prediction modes.
p00070For blocks that do not limit with discontinuities such as the edges of the image, or with limits of curves / bands, the order established in some embodiments of the present invention can be expressed, in general terms, as follows: vertical and horizontal prediction modes are more likely to produce a reduced prediction error, than a DC prediction mode, and such a DC prediction mode is more likely to produce a reduced prediction error, than diagonal prediction modes, and Such diagonal prediction modes are more likely to produce a reduced prediction error, than intermediate angle prediction modes.
p00071For blocks near boundaries or edges, or where data is not available from the adjacent block mode or pixel prediction mode, the order established in some embodiments of the present invention can be expressed, in general terms, as follows: the DC prediction mode is more likely to produce a reduced prediction error, than the vertical and horizontal prediction modes, and the vertical and horizontal prediction modes are more likely to produce a prediction error, than the diagonal prediction modes, and diagonal prediction modes are more likely to produce a reduced prediction error, than intermediate angle prediction modes.
p00072In one embodiment, as shown in Figure 6, the modes are defined in the following order:
p00073Mode 0: Vertical prediction
p00074Mode 1: Horizontal prediction
p00075Mode 2: DC prediction
p00076Mode 3: Diagonal prediction Down / Left
p00077Mode 4: Diagonal prediction Down / Right
p00078Mode 5: Right Vertical prediction
p00079Mode 6: Horizontal Prediction Down
p00080Mode 7: Left Vertical prediction
p00081Mode 8: Horizontal Prediction Up
p00082Some embodiments of the present invention may comprise one or more data tables, for the organization of mode data. With the arrangement of the modes in a generally orderly manner, this can be used with each cell in a data table, to provide a more orderly set. For example, each entry in the data table may include the ordered set of numbers 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. Alternatively, the set of numbers ordered in the data table may include 5, 6, 7, 8 or 9 sets of numbers ordered for each entry in the data table. For example, the entries in the data table may include the following sets of data entries {1, 2, 3, 5, 7}; {0, 1, 2, 3, 4, 5, 6}; {0, 1, 3, 5, 6, 7, 8}, where each of the numbers in the set are of increasing numerical value. Alternatively, for example the entries in the data table may include the following sets of data entries {1, 2, 3, 5, 7}; {0, 1, 2, 3, 4, 5, 6}; {0, 1, 3, 5, 6, 7, 8}, where each set is included in at least 25%, or 35%, or 50%, or 75%, or 90% or more, of the cells. In this way, the table will be significantly more predictive than known data table methods, which reduces memory needs.
p00083The default way to sort the sets of data entries must be independent of the prediction modes of adjacent sets of pixels (for example macro-blocks). It should be understood that the data table can be of a "static" nature, or when necessary it can be generated dynamically effectively, in part or in whole, based on data patterns. Therefore, a mathematical equation or an algorithm can be used to determine the inputs, in which case the "table" could be generated by such a technique. Therefore, a "data table" as used herein is not simply limited to a static table, but also includes a similar set of values, determined nonetheless, that are used for such prediction.
p00084Unfortunately, replacing the previous mode numbers with the new mode numbers (for example a substitution of the numbers in the cells of known data tables), although perhaps an improvement, still results in a messy data set in general.
p00085Estimation of a Pixel Prediction Mode Based on Adjacent Block Data
p00086In contrast to the data set shown, generally messy, even with substitutions, the present inventors arrived at the additional realization that the most likely prediction mode must be ordered first, the second most likely prediction mode to be ordered the second, if it is desired followed by the remaining modes in a predetermined manner. The default form must be independent of the prediction modes of adjacent macro-blocks. The preferred order of the remaining modes should be in a decreasing probability of incidence, of the remaining modes (the most likely prediction mode and, if desired, the second most likely prediction mode).
p00087Based on the intra-prediction modes of block A and block B, as shown in Figure 1, the order of the intra-prediction mode for block C can be defined as follows:
<dl><dt>(1)</dt><dd> If block A and block B are "out" (for example not available), only the prediction mode DC (mode 2) is allowed, therefore the order of the intra-prediction mode for block C is {2 } </dd></dl>
<dl><dt>(2)</dt><dd> If block A is "outside" (for example not available) and block B is not "outside", only the DC prediction (mode 2) and horizontal prediction (mode 0) for block C are allowed, therefore ; </dd></dl>
<dl><dt>(i)</dt><dd> if block D is 2, the order of the intra-prediction mode for block C is {2, 0}; </dd></dl>
<dl><dt>(ii)</dt><dd> otherwise, the order of the intra-prediction mode for block C is {0, 2}. </dd></dl>
<dl><dt>(3)</dt><dd> If block A is not "outside" but block B is "outside", only DC prediction (mode 2) and vertical prediction (mode 1) are allowed for block C, therefore, </dd></dl>
<dl><dt>(i)</dt><dd> if block A is 2, the order of the intra-prediction mode for block C is {2, 1}; </dd></dl>
<dl><dt>(ii)</dt><dd> otherwise, the order of the intra-prediction mode for block C is {1, 2}. </dd></dl>
<dl><dt>(4)</dt><dd> If neither block A nor block B are "out", </dd></dl>
<dl><dt>(i)</dt><dd> if the prediction mode of block A is smaller than the prediction mode of block B, then the order of the intra-prediction mode for block C is {mode A of the intra-prediction block, mode B of the intraprediction block, other modes in ascending order}; </dd></dl>
<dl><dt>(ii)</dt><dd> if the prediction mode of block A is greater than the prediction mode of block B, then the order of the intra-prediction mode for block C is {mode B of the intra-prediction block, mode A of the intra-prediction block, other modes in ascending order}; </dd></dl>
p00088(iii) if the prediction mode of block A is equal to the prediction mode of block B, then the order of the intra-prediction mode for block C is {mode A of the intra prediction block, other modes in ascending order} .
p00089For example, if the prediction mode of block A is 3 and the prediction mode of block B is 1, then the order of the intra-prediction mode for block C is {1, 3, 0, 2, 4, 5 , 6, -7, 8}. With the modes arranged in a generally decreasing (or increasing) incidence probability, then the automatic arrangement of the remaining incidence modes will generally be arranged in the appropriate sequence. Sequencing the sequence from higher to lower probabilities increases the probability of proper prediction forward. With entropic coding this reduces the resulting flow of encoded bits. Similarly, other provisions may be used.
p00090Conceptually, the mentioned selection scheme is based on the principle that if the prediction of block A is X and the prediction of block B is Y, then it is likely that the prediction of block C is X or Y. The prediction for X and / or Y is located at the beginning of the list, and the remaining modes are listed below sequentially.
p00091In other words, when the prediction modes of A and B are known (including the case in which A or B, or both, are outside the sector), the most likely mode of C is given, namely, by the minimum of the modes used for blocks A and B. If one of blocks A or D is "out", the most likely mode is equal to prediction mode 2. The order of prediction modes assigned to blocks C is , therefore, the most likely mode followed by the remaining modes in ascending order.
p00092Embodiments of the present invention can be described, with reference to Figure 9. In these embodiments, an objective block 50 is selected for prediction. Then, a prediction mode used for the prediction of a first adjacent block is determined, which is immediately adjacent to said target block. A prediction mode used for the prediction of a second adjacent block is also determined, which is also adjacent to the said target block. Then, these adjacent block prediction modes are examined 56 to determine which one is less likely to produce a lower error prediction.
p00093In other embodiments of the present invention, as illustrated in Figure 10, a set of prediction modes is ordered 58 according to the probability of the modes, to produce a lower prediction error. A target block is selected 60. The prediction mode used for a first adjacent block is determined 62, and the prediction mode used for a second adjacent block is also determined 64. Then 66 these are examined
p00094two prediction modes, to determine which one occurs first in the ordered set of modes, thus corresponding to the mode with the highest probability of producing a lower prediction error.
p00095In other embodiments of the present invention, as illustrated in Figure 11, a set of prediction modes is ordered, according to their probability of producing a lower prediction error. Then, these modes are associated in the ordered set, with numerical values, so that the modes with a higher probability of producing a lower prediction error are associated with smaller numerical values. Then the mode used to predict a first adjacent block is determined 72, and 74 the mode used to predict a second adjacent block is also determined. These modes of the adjacent block are then examined, to determine which mode is associated with a smaller numerical value. This mode is designated as the estimated mode for prediction of the target block.
p00096Also in other embodiments, as illustrated in Figure 12, 78 a set of prediction modes are ordered, according to their probability of producing a minor prediction error. Then, 80 these modes are associated in the ordered set, with numerical values, so that the modes with a higher probability of producing a lower prediction error are associated with smaller numerical values. An attempt 82 is made to determine the mode used, in order to predict a first adjacent block, and an attempt 84 is made to determine the mode used, in order to predict a second adjacent block. If the prediction mode used to predict the first adjacent block is not available 86, a default prediction mode, such as a DC prediction mode, may be designated as the estimated prediction mode for the target block. In addition, if the prediction mode used to predict the second adjacent block is not available 88, a default prediction mode, such as a DC prediction mode, may be designated as an estimated prediction mode for the target block. When the prediction modes of the adjacent block are available, these modes of the adjacent block can be examined to determine which mode is associated with a smaller numerical value. This mode is then designated 92, as the estimated mode for prediction of the target block.
p00097Modification of the Order of the Prediction Mode, depending on the Data of the Adjacent Block
p00098In some embodiments of the present invention, the prediction mode commands described above, which have been determined independently of the adjacent block data, can be modified with the adjacent block data. The prediction mode estimates, determined with reference to the adjacent block data, can be inserted in the prediction mode orders, to modify the orders in order to reflect the additional information obtained from the adjacent block data.
p00099In some of these embodiments, an estimate of the prediction mode based on the data of the adjacent block can be inserted directly into a set of the order of the prediction mode. Typically, the prediction of the prediction mode will be inserted or preset at the beginning of the order of the prediction mode, at the position of the mode most likely to produce a reduced prediction error. However, in some embodiments the estimate may be inserted in different positions in the order of the modes.
p00100In some embodiments of the present invention, as shown in Figure 13, an order of the prediction mode is selected, in which the elements of the order of the prediction mode can be arranged according to their probability of producing a lower error of prediction. In other words, the first element in the order represents the prediction mode with the highest probability of providing a lower prediction error, the next element in the order represents the prediction mode with the following greater probability of providing a lower prediction error, and so on until the last element in the order, which represents the prediction mode in the order, which has the least probability of providing a lower prediction error.
p00101An estimate of the prediction mode is also determined 104, as described above. This estimate is determined using adjacent block data. Generally, the estimate is the prediction mode used in one or more adjacent blocks, which are likely to produce a lower prediction error. However, the estimate can be determined in other ways. When sufficient prediction mode data of the adjacent block is available, such as at an edge of the image or at a sector boundary, a prediction mode for the target block can be estimated, based on the absence of one or more adjacent blocks , or your prediction mode data. In many cases, a DC prediction mode will be estimated when adjacent block data is limited, or unavailable.
p00102In some embodiments, once the estimated prediction mode has been estimated, the estimated prediction mode may be 106 in the order of modes, as the mode most likely to produce a lower prediction error. In some embodiments this will be the first mode in the order, or the mode associated with the smallest numerical value.
p00103In other embodiments, the estimated prediction mode may take precedence over the order of the preselected mode. In some of these embodiments, as illustrated in Figure 14, an order of mode
p00104Preselected is designated 110 in the encoder and decoder. This order comprises a set of prediction modes, arranged in the order of probability of producing a lower prediction error, or in some other order. An estimated prediction mode is also determined 112, based on data from the adjacent block. This estimated prediction mode is determined in the encoder and decoder, according to the same method or algorithm. The encoder also determines the best real prediction mode 114, to predict a pixel based on motion vectors or other known techniques. Then, this encoder can compare 116 the best real prediction mode with the estimated prediction mode, to determine if they are the same. If the estimated prediction mode is the same mode as the best real prediction mode, the encoder can send a signal to the decoder indicating that the estimated prediction mode will be used. In some embodiments, the estimated prediction mode signal can be carried out with a 1-bit indicator, to indicate whether or not the estimated mode is to be used.
p00105If the estimated prediction mode is not the best real prediction mode, the encoder can send a signal to the decoder indicating that another mode 120 can be used. This can be carried out in reference to the preset order of modes. The encoder can determine which mode, in the order of modes, is the most equivalent to the best real prediction mode, and send a signal to the decoder to use such a mode.
p00106When an ordered set of prediction modes is used, the order of the set can be rearranged once additional data has been obtained. For example, an ordered set of prediction modes can be rearranged when an estimated prediction mode is determined, or when a better real prediction mode is determined. In these cases, the modification mode can be interleaved in the ordered set, placed in front of the ordered set or, in some cases, removed from the ordered set.
p00107In some embodiments of the present invention, each mode in the order of modes may be associated with a numerical value according to the order. In these embodiments, the numerical value associated with the mode to be used may be sent to the decoder to instruct the decoder to use that prediction mode. In some of these embodiments, as illustrated in Figure 15, an order of modes comprising 9 of prediction modes can be selected 130. An estimated prediction mode, based on data from the adjacent block, and that is one of 9 modes in the order, can also be determined 132. A better prediction mode can also be determined 134, by motion vector methods or other methods . Then, the best prediction mode can be compared with the estimated prediction mode 136. If the estimated prediction mode is substantially the same as the best prediction mode, a signal with a 1-bit number designator can be sent to the decoder to use the estimated prediction mode, which is already identified in the decoder. If the estimated prediction mode is equivalent to the best prediction mode, the estimated prediction mode is essentially eliminated from the order of mode 140. This elimination can be carried out by rearranging the set, skipping the estimated mode in the order, or by other means. The remaining order will effectively comprise 8 modes, which can be represented by a 3-bit designator. The 3-bit designator can be sent to decoder 142, to designate which mode to use for prediction.
p00108The terms and expressions used in the preceding specification, are used here as descriptive and non-limiting terms, and there is no intention with the use of such terms and expressions, to exclude their equivalents from the characteristics shown and described of parts thereof, recognizing that the scope of the invention is only defined and unlimited by the following claims.
p00109Aspects of the invention are set forth below.
p00110In a first aspect, the invention discloses an image decoding system for decoding a digital image, comprising: means for decoding each of the blocks into which the image is divided; intra-prediction means for predicting a pixel value for a target block to be decoded by using a pixel value of an adjacent block; and means of estimating the prediction mode, to estimate a prediction mode for the target block; wherein the intra-prediction means includes a vertical prediction mode that uses a prediction value that is a pixel value of a first block located next to and above the target block; a horizontal prediction mode that uses a prediction value that is a pixel value of a second block located next to the left side of the target block; a DC prediction mode that uses a prediction value that is an average of the pixel values of the first and second blocks; a diagonal prediction mode down / left that uses the specified direction being descending diagonally to the left at an angle of 45 degrees from the horizontal; a diagonal prediction mode down / right that uses the specified direction being descending diagonally to the right at an angle of 45 degrees from the horizontal; a right vertical prediction mode that uses the specified direction being descending diagonally to the right at an angle of 67.5 degrees from the horizontal; a horizontal prediction mode below that uses the specified direction being descending diagonally to the right at an angle of 22.5 degrees from the horizontal; a left vertical prediction mode that uses the specified direction being descending diagonally to the left at an angle of 67.5 degrees from the horizontal and; a horizontal prediction mode above that uses the specified direction being diagonally ascending to the right at an angle of 22.5 degrees from the horizontal; prediction modes are
p00112numbered with increasing numbers, in the order of vertical prediction mode, horizontal prediction mode and DC prediction mode, diagonal prediction mode down / left, diagonal prediction mode down / right, vertical prediction mode right , the horizontal prediction mode below, the left vertical prediction mode and the horizontal prediction mode above, the prediction mode estimation means determines a prediction mode that has the lowest mode number between the prediction mode of the first block and the prediction mode of the second block, such as the prediction mode for the target block; and the intra-prediction means decodes the first information and the second information; The first information shows whether or not the actual prediction mode is equal to the prediction mode that has been estimated in the estimation medium; and the second information is decoded in a case where the actual prediction mode is different from the prediction mode that has been estimated in the estimation medium, to show the actual prediction mode.
p00113In a second aspect, the invention discloses an image decoding method for decoding a digital image, by decoding each of the blocks into which an image is divided, the method comprising; an intra-prediction step of predicting a pixel value of a target block to be predicted by using a pixel value of an adjacent block; and a stage of estimating the prediction mode, of estimating a prediction mode for the target block; wherein the intraprediction stage uses at least one vertical prediction mode that uses a prediction value that is a pixel value of a first block located next to and above the target block; a horizontal prediction mode that uses a prediction value that is a pixel value of a second block located next to the left side of the target block; a DC prediction mode that uses a prediction value that is an average of the pixel values of the first and second blocks; a diagonal prediction mode down / left that uses the specified direction being descending diagonally to the left at an angle of 45 degrees from the horizontal; a diagonal prediction mode down / right that uses the specified direction being descending diagonally to the right at an angle of 45 degrees from the horizontal; a right vertical prediction mode that uses the specified direction being descending diagonally to the right at an angle of 67.5 degrees from the horizontal; a horizontal prediction mode below that uses the specified direction being descending diagonally to the right at an angle of 22.5 degrees from the horizontal; a left vertical prediction mode that uses the specified direction being descending diagonally to the left at an angle of 67.5 degrees from the horizontal and; a horizontal prediction mode above that uses the specified direction being diagonally ascending to the right at an angle of 22.5 degrees from the horizontal; the prediction modes are numbered with increasing numbers, in the order of the vertical prediction mode, the horizontal prediction mode and the DC prediction mode, the diagonal prediction mode down / left, the diagonal prediction mode down / right, the right vertical prediction mode, horizontal prediction mode below, left vertical prediction mode and horizontal prediction mode above, the prediction mode estimation stage determines a prediction mode that has the lowest mode number between the prediction mode of the first block and the prediction mode of the second block, such as the prediction mode for the target block; and the intra-prediction stage decodes the first information and the second information; the first information shows whether or not the actual prediction mode is equal to the prediction mode that has been estimated in the estimation stage; and the second information is decoded in a case where the actual prediction mode is different from the prediction mode that has been estimated in the estimation stage, to show the actual prediction mode.
Contents3
100 members in 11 offices
Priority claims10
| Document | Office | Kind | Date |
|---|---|---|---|
| 319272P | United States of America | – | |
| 31927202 | United States of America | P | |
| 319390P | United States of America | – | |
| 31939002 | United States of America | P | |
| 404211 | United States of America | – | |
| 40421103 | United States of America | A | |
| 404293 | United States of America | – | |
| 40429303 | United States of America | A | |
| 404298 | United States of America | – | |
| 40429803 | United States of America | A |
Members100
| Document | Office | Kind | |
|---|---|---|---|
| US2003223495A1 | United States of America | A1 | |
| US2003223496A1 | United States of America | A1 | |
| US2003223645A1 | United States of America | A1 | |
| WO03101117A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003241177A1 | Australia | A1 | |
| TW200402661A | Taiwan Province of China | A | |
| WO03101117B1 | World Intellectual Property Organization (WIPO) | B1 | |
| KR20050012762A | Republic of Korea | A | |
| EP1510078A1 | European Patent Office (EPO) | A1 | |
| EP1510078A4 | European Patent Office (EPO) | A4 | |
| JP2005184857A | Japan | A | |
| EP1553782A2 | European Patent Office (EPO) | A2 | |
| JP2005192232A | Japan | A | |
| EP1553782A3 | European Patent Office (EPO) | A3 | |
| CN1656818A | China | A | |
| JP2005528047A | Japan | A | |
| TWI241532B | Taiwan Province of China | B | |
| JP3734492B2 | Japan | B2 | |
| JP3734494B2 | Japan | B2 | |
| KR20060115404A | Republic of Korea | A | |
| EP1746843A2 | European Patent Office (EPO) | A2 | |
| KR100685264B1 | Republic of Korea | B1 | |
| EP1510078B1 | European Patent Office (EPO) | B1 | |
| KR20070051807A | Republic of Korea | A | |
| DE60313454D1 | Germany | D1 | |
| US7236524B2 | United States of America | B2 | |
| KR100754972B1 | Republic of Korea | B1 | |
| EP1746843A3 | European Patent Office (EPO) | A3 | |
| JP2007282256A | Japan | A | |
| US7289672B2 | United States of America | B2 | |
| ES2283776T3 | Spain | T3 | |
| CN101087422A | China | A | |
| CN101087423A | China | A | |
| CN101087424A | China | A | |
| DE60313454T2 | Germany | T2 | |
| KR100820132B1 | Republic of Korea | B1 | |
| US7386048B2 | United States of America | B2 | |
| EP1944977A2 | European Patent Office (EPO) | A2 | |
| US2008175318A1 | United States of America | A1 | |
| US2008175319A1 | United States of America | A1 | |
| US2008175320A1 | United States of America | A1 | |
| US2008175321A1 | United States of America | A1 | |
| HK1111547A1 | Hong Kong, China | A1 | |
| HK1111548A1 | Hong Kong, China | A1 | |
| HK1111549A1 | Hong Kong, China | A1 | |
| CN100473164C | China | C | |
| JP2009147968A | Japan | A | |
| CN101489136A | China | A | |
| CN101568035A | China | A | |
| JP4357427B2 | Japan | B2 | |
| JP4357543B2 | Japan | B2 | |
| JP4357590B2 | Japan | B2 | |
| CN100591135C | China | C | |
| CN101087423B | China | B | |
| HK1136430A1 | Hong Kong, China | A1 | |
| CN101873493A | China | A | |
| EP1944977A3 | European Patent Office (EPO) | A3 | |
| EP2290989A1 | European Patent Office (EPO) | A1 | |
| EP2290990A1 | European Patent Office (EPO) | A1 | |
| EP2309757A1 | European Patent Office (EPO) | A1 | |
| CN101087422B | China | B | |
| CN101568035B | China | B | |
| US8228986B2 | United States of America | B2 | |
| US8233538B2 | United States of America | B2 | |
| USRE43567E | United States of America | E | |
| US8279927B2 | United States of America | B2 | |
| US8331450B2 | United States of America | B2 | |
| US2013064296A1 | United States of America | A1 | |
| CN101873493B | China | B | |
| EP2290990B1 | European Patent Office (EPO) | B1 | |
| ES2467696T3This record | Spain | T3 | |
| CN101489136B | China | B | |
| EP2309757B1 | European Patent Office (EPO) | B1 | |
| ES2525557T3 | Spain | T3 | |
| EP1944977B1 | European Patent Office (EPO) | B1 | |
| EP2290989B1 | European Patent Office (EPO) | B1 | |
| ES2530204T3 | Spain | T3 | |
| ES2532326T3 | Spain | T3 | |
| EP2860977A1 | European Patent Office (EPO) | A1 | |
| EP2860978A1 | European Patent Office (EPO) | A1 | |
| EP2860979A1 | European Patent Office (EPO) | A1 | |
| US2016044318A1 | United States of America | A1 | |
| HK1209543A1 | Hong Kong, China | A1 | |
| HK1209544A1 | Hong Kong, China | A1 | |
| HK1209546A1 | Hong Kong, China | A1 | |
| US2016150246A1 | United States of America | A1 | |
| US9374590B2 | United States of America | B2 | |
| US2016295212A1 | United States of America | A1 | |
| EP3139606A1 | European Patent Office (EPO) | A1 | |
| US2017142423A1 | United States of America | A1 | |
| US9774868B2 | United States of America | B2 | |
| US2018007368A1 | United States of America | A1 | |
| US9973762B2 | United States of America | B2 | |
| US9979963B2 | United States of America | B2 | |
| EP3139606B1 | European Patent Office (EPO) | B1 | |
| US10368066B2 | United States of America | B2 | |
| ES2747368T3 | Spain | T3 | |
| EP2860978B1 | European Patent Office (EPO) | B1 | |
| US10715799B2 | United States of America | B2 | |
| ES2788534T3 | Spain | T3 |
Numbers
- Publication
- 2467696
- Application
- 10179572
Titles2
- Spanish
- Métodos y sistemas para la estimación, comunicación y organización de modos de intra-predicción de imágenes
- English
- Methods and systems for the estimation, communication and organization of intra-prediction modes of images
Classification
- CPC, 10
- H04N19/11
- H04N19/198
- H04N19/105
- H04N19/154
- H04N19/176
- H04N19/197
- H04N19/593
- H04N19/60
- H04N19/63
- H04N19/51
- IPC, 4
- H04N19 51
- H04N19 593
- H03M7 36
- H04N1 41