Method of generating image data
Abstract
[Subject] The efficiency of the Intra prediction of each subblock is increased, and the generation method of image data which shortened time to spend on the Intra prediction is offered. A [solution means] -- time is required to perform all 9 kinds of prediction Mohd although simple Intra prediction to the subblock of No. N is performed in a block processing cycle (n) -- a block processing cycle (n) -- a whole period is spent mostly and simple Intra prediction is performed. And prediction Mohd is narrowed down by choosing some in order of what has a small value from the absolute value sums of the difference of the prediction picture and the original pixel value of the coding subject pixel UP which were acquired in each mode. [Selection figure] Fig. 13
Term
No projected expiry on record.
- Priority and filed
- Published
- Today
6 claims: 2 independent, 4 dependent
- 1A method for generating image data having an intra-prediction for predicting an image of a second sub-block to be encoded by using the pixel values of a plurality of encoded first sub-blocks, wherein the intra-prediction is performed. Prior to, when the coding of the first subblock is not completed, the pixel value before coding of the first subblock is set as the first predicted value, and the first predicted value is set as the first predicted value. The second subblock is used to perform interpolation for each of the plurality of prediction modes, and based on the results of the interpolation for each of the plurality of prediction modes, at least one of the plurality of prediction modes is selected and optimized. A method for generating image data, which has a simple intra prediction as a prediction mode candidate, and the intra prediction performs the image prediction using at least one optimum prediction mode candidate. 符号化済みの複数の第1のサブブロックの画素値を用いて、符号化対象となる第2のサブブロックの画像予測を行うイントラ予測を有した画像データの生成方法であって、 前記イントラ予測に先立って、 前記第1のサブブロックの符号化が完了していない場合に、前記第1のサブブロックの符号化前の前記画素値を第1の予測値とし、該第1の予測値を用いて前記第2のサブブロックに対して複数の予測モードごとに補間を実行し、 前記複数の予測モードごとの補間の結果に基づいて、前記複数の予測モードから少なくとも1つを選択して最適予測モード候補とする簡易イントラ予測を有し、 前記イントラ予測は、前記少なくとも1つの最適予測モード候補を用いて前記画像予測を行う、画像データの生成方法。
- 2The first aspect of the simple intra-prediction, wherein the pixel value after coding of the first sub-block is used as the first predicted value for the first sub-block whose coding has been completed. Image data generation method. 前記簡易イントラ予測において、 符号化が完了している前記第1のサブブロックについては、前記第1のサブブロックの符号化後の前記画素値を前記第1の予測値として用いる、請求項1記載の画像データの生成方法。
Independent claims2
86 paragraphs, as filed
The present invention relates to a method for generating image data, and more particularly to a method for generating image data including intra-prediction for easily determining a prediction mode.
The latest international standard for video coding by VCEG (Video Coding Experts Group) of ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) and MPEG (Moving Picture Expetrts Group) of ISO / IEC. H.264 has been developed and put into practical use.
Compared to MPEG-2 and MPEG-4, H.264 can perform twice the compression with the same image quality, and is applicable to a wide range of applications from low bit rate video conferencing to HDTV (High Definition Television). It is possible.
One of the features of H.264 is a method called intra-frame prediction (intra-prediction). This is a method for improving the compression rate by using pixel correlation, and is a method for generating a predicted image by interpolating data between subblocks, and is a coded sub block adjacent to a coded subblock. The prediction is made by comparing at the pixel level with reference to the block.
Intra-prediction is also used in MPEG-4, where MPEG-4 refers to the left, upper, and upper left subblocks of the subblock to be encoded, whereas in H.264, the left side, Since the upper, upper left, and upper right subblocks are referred to, a more accurate prediction image can be obtained.
Also, in MPEG-4, prediction is performed in units of 8 x 8 pixels, whereas in H.264, prediction is performed in units of 4 x 4 pixels for complex images, and prediction is performed in units of 16 x 16 pixels for simple images. Therefore, efficient prediction becomes possible.
In such intra-prediction in H.264, the optimum prediction mode is determined using four prediction methods (prediction modes) in the prediction in units of 16 × 16 pixels, and in units of 4 × 4 pixels. In prediction, since the optimum prediction mode is determined using nine prediction modes, there is a problem that a huge amount of calculation processing is required and it takes time to obtain a prediction result.
For example, Patent Document 1 discloses a technique for achieving a reduction in the time required for intra-prediction by simultaneously performing intra-prediction for a plurality of coded sub-blocks.
<patcit num="1"><text>Japanese Patent Application Laid-Open No. 2005-130509</text></patcit>
<p> As explained above, H.264 is required to reduce the time spent on intra-prediction as much as possible, and Patent Document 1 proposes one of the solutions, but the calculation for intra-prediction is performed. Providing multiple vessels shortened the overall time, and none of them shortened the time spent on intra-prediction of individual subblocks.</p><p> The present invention has been made to solve the above-mentioned problems, and an object of the present invention is to provide a method for generating image data by improving the efficiency of intra-prediction of individual sub-blocks and shortening the time spent on intra-prediction. And.</p>
<p> The method for generating image data according to claim 1 according to the present invention is an interpolation that predicts an image of a second subblock to be encoded by using pixel values of a plurality of encoded first subblocks. In the method of generating image data having a prediction, when the coding of the first sub-block is not completed prior to the intra-prediction, the pixel before the coding of the first sub-block. The value is set as the first predicted value, the first predicted value is used to perform interpolation for each of the plurality of prediction modes for the second subblock, and based on the result of interpolation for each of the plurality of prediction modes. Therefore, it has a simple intra-prediction in which at least one of the plurality of prediction modes is selected as an optimum prediction mode candidate, and the intra-prediction performs the image prediction using the at least one optimum prediction mode candidate.</p><p> The method for generating image data according to claim 2 according to the present invention is that in the simple intra-prediction, the first sub-block whose coding has been completed is described after the encoding of the first sub-block. The pixel value is used as the first predicted value.</p><p> The image data generation method according to claim 3 according to the present invention includes, in the simple intra-prediction, the first prediction image of the second sub-block obtained as a result of interpolation for each of the plurality of prediction modes. The absolute sum of the differences from the pixel values before the interpolation of the second subblock is executed is acquired for each of the plurality of prediction modes, and the sum of the absolute values is selected in ascending order from the smallest sum of the absolute values. Select at least one candidate for optimal prediction mode.</p><p> The method for generating image data according to claim 4 according to the present invention is executed after the intra-prediction is completed for all of the first sub-blocks, and the coding is completed for the first sub-block. The pixel value after encoding is used as the second predicted value, and the second predicted value is used to perform interpolation for each of the at least one optimum prediction mode candidate for the second subblock. Based on the result of interpolation for each of at least one optimum prediction mode candidate, the optimum prediction mode is determined from the at least one optimum prediction mode candidate, and the image prediction is performed.</p><p> In the image data generation method according to claim 5, according to the present invention, the intra prediction is the second prediction image of the second subblock obtained as a result of interpolation for each of the at least one optimum prediction mode candidates. , The absolute sum of the differences from the pixel values before the interpolation of the second subblock is executed is acquired for each of the at least one optimum prediction mode candidates, and the one with the smallest absolute sum is selected. This determines the optimum prediction mode.</p><p> In the method for generating image data according to claim 6 according to the present invention, the simple intra prediction and the intra prediction are executed by pipeline processing, and the pipeline processing performs the simple intra prediction for the nth subblock. In the nth processing cycle in which the above is executed, the intra prediction is executed for the n-1th subblock in which the simple intra prediction was executed in the n-1th processing cycle, and the intra prediction is executed. Using the optimum prediction mode determined by prediction, local decoding is performed for the n-1 subblock.</p>
<p> According to the method for generating image data according to claim 1 according to the present invention, when the coding of the first subblock is not completed, the pixel value before coding of the first subblock is set to the first. As a prediction value, the first prediction value is used to perform interpolation for each of a plurality of prediction modes for the second subblock, and based on the results of interpolation for each of the plurality of prediction modes, from a plurality of prediction modes. Since it has a simple intra-prediction that selects at least one as a candidate for the optimum prediction mode, it is possible to start image prediction even when all of the first sub-blocks that are the reference target sub-blocks have not been encoded. , It is possible to improve the efficiency of intra-prediction of individual sub-blocks.</p><p> According to the image data generation method according to claim 2 according to the present invention, even if there are some that have been encoded and some that have not been encoded in the first subblock, the optimum prediction mode is appropriately used. Candidates can be selected.</p><p> According to the image data generation method according to claim 3 according to the present invention, the optimum prediction mode candidate can be appropriately selected in the simple intra prediction.</p><p> According to the method for generating image data according to claim 4 according to the present invention, the time spent on intra-prediction can be shortened.</p><p> According to the image data generation method according to claim 5 of the present invention, the optimum prediction mode can be appropriately determined in the intra prediction.</p><p> According to the image data generation method according to claim 6 of the present invention, the image data coding process can be efficiently performed by executing the simple intra-prediction and the intra-prediction by the pipeline process.</p>
<Intra Prediction Mode> Prior to the description of the embodiment of the invention, nine prediction modes used for prediction in units of 4 × 4 pixels will be described in the intra prediction in H.264.
FIG. 1 is a diagram schematically showing a macroblock MB composed of 16 × 16 pixels, and the macroblock MB is composed of 16 subblock SBs.
Each sub-block SB is composed of 4 × 4 pixels, and intra-prediction and coding are performed in sub-block units. In Fig. 1, the numbers assigned to each sub-block SB indicate the order of coding, and the sub-block in the upper left corner is number 0, the right side is number 1, the number below 0 is number 2, and so on. Has been.
In addition, 4 sub-block SBs form a block BL in units of 8 x 8 pixels, and 0 to 3 sub-block SBs, 4 to 7 sub-block SBs, and 8 to 11 sub-block SBs. And the 12th to 15th sub-block SBs each make up one block BL.
Hereinafter, nine prediction modes will be described with reference to FIGS. 2 to 11, assuming a case where intra-prediction is performed for the 12th sub-block SB.
FIG. 2 is a diagram in which symbols a to p are assigned to each of the 16 encoding target pixels UP constituting the 12th subblock SB described above for convenience, and the pixel in the upper left corner is designated as a number. , The right side is the b number, and thereafter, the c and d numbers are assigned consecutively, the pixel below the a number is the e number, and thereafter, the p number is assigned according to the same rule.
In addition, among the coded pixel EPs in the coded subblock adjacent to the 12th subblock SB, the pixels used as reference pixels in the intra prediction are given the symbols A to M for convenience. Assigned.
That is, A to D are assigned to the coded pixel EP in the 6th subblock SB (upper block) shown in FIG. 1 in order from the left, and the coded pixel in the 7th subblock SB (upper right block) is assigned. E to H are assigned to EP in order from the left, I to L are assigned to the encoded pixel EP in the 9th subblock SB (left block) in order from the top, and the 3rd subblock SB (upper left side) is assigned. M is assigned to the encoded pixel EP in the block).
FIG. 3 is a diagram schematically showing a prediction method called prediction mode 0, and as shown by an arrow, the pixel values of the encoded pixel EPs A to D are set to A to D. A predicted image is obtained by performing interpolation by using it as a predicted value of the pixel to be coded UP existing in each vertical direction of the coded pixel EP of. The suitability of the predicted image is determined by calculating the difference from the initial pixel value (pixel value before interpolation is executed) of the pixel to be encoded UP and determining the sum of their absolute values.
FIG. 4 is a diagram schematically showing a prediction method called prediction mode 1, and as shown by an arrow, the pixel values of the encoded pixel EPs of I to L are set to I to L. A predicted image is obtained by performing interpolation by using it as a predicted value of the pixel to be coded UP existing in each horizontal direction of the coded pixel EP of. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
FIG. 5 is a diagram schematically showing a prediction method called prediction mode 2, in which the average value of each pixel value of the encoded pixel EPs A to D and I to L is set to all the codes. A predicted image is obtained by performing interpolation using it as a predicted value of the pixel to be converted UP, and it is also called a DC (DC) mode. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
FIG. 6 is a diagram schematically showing a prediction method called prediction mode 3, and as shown by an arrow, the pixel values of the encoded pixel EPs B to H are set to B to H. A predicted image is obtained by performing interpolation by using it as a predicted value of a pixel to be coded UP existing at a position in the diagonally downward-sloping direction of each of the coded pixel EPs. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
FIG. 7 is a diagram schematically showing a prediction method called prediction mode 4, and as shown by an arrow, each pixel value of the encoded pixel EPs A to C, M, I, and J is shown. Is used as the predicted value of the pixel to be encoded UP existing at the position of each of the coded pixel EPs A to C, M, I, and J in the downward-sloping direction on the diagonal line, and the predicted image is obtained by performing interpolation. obtain. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
FIG. 8 is a diagram schematically showing a prediction method called prediction mode 5, in which pixel values of M, J, and A to C encoded pixel EPs are set as shown by arrows. A predicted image is obtained by performing interpolation by using it as a predicted value of the pixel to be coded UP existing at a position on the right side of the vertical direction of each of the coded pixels EPs M, J, and A to C. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
FIG. 9 is a diagram schematically showing a prediction method called prediction mode 6, in which pixel values of M and I to K encoded pixel EPs are set to M and, respectively, as shown by arrows. A predicted image is obtained by performing interpolation by using it as a predicted value of the pixel to be coded UP existing at a position lower than the horizontal direction of each of the coded pixels EP of Nos. I to K. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
FIG. 10 is a diagram schematically showing a prediction method called prediction mode 7, and as shown by an arrow, the pixel values of the encoded pixel EPs B to E are set to B to E. A predicted image is obtained by performing interpolation by using it as a predicted value of the pixel to be coded UP, which exists at a position on the left side of each of the encoded pixel EPs in the vertical direction. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of their absolute values.
FIG. 11 is a diagram schematically showing a prediction method called prediction mode 8, and as shown by an arrow, the pixel values of the encoded pixel EPs of J to L are set to J to L. A predicted image is obtained by performing interpolation by using it as a predicted value of a pixel to be coded UP existing at a position above each horizontal direction of the coded pixel EP of. The suitability of the predicted image is determined by calculating the difference from the initial pixel value of the pixel to be coded UP and determining the sum of the absolute values.
In the intra-prediction in H.264, prediction is performed using the above-mentioned nine prediction modes, and it is determined that the prediction mode with the smallest absolute sum of the differences obtained in each mode is the optimum prediction mode. Then, the coding target pixel UP is encoded using the mode.
Further, as described with reference to FIGS. 3 to 11, in order to perform intra-prediction, the left, upper, upper left, and upper right subblocks of the subblock to be encoded are referred to, and the encoding included in them is referred to. Since the pixel value of the completed pixel EP is used as the predicted value, it is necessary that all of these subblocks are encoded.
However, in coding, as will be described later, it is necessary to perform the processes of conversion, quantization, dequantization, and reverse conversion in order, and in order to encode all the pixels to be coded in one subblock SB. Requires a large amount of processing time. This will increase as the quality of moving images increases, and it is expected that it will take longer for HDTV.
Further, referring to FIG. 1, for example, when performing intra-prediction for the 12th sub-block SB, as described above, the 3rd, 6th, 7th and 9th sub-block SBs are used. As referred to, these are encoded at the time of intra-prediction of the 12th sub-block SB, and there is no problem in the intra-prediction of the 12th sub-block SB, but for example, for the 13th sub-block SB. When performing intra-prediction, all nine prediction modes cannot be executed until the coding of subblock SB No. 12 is completed.
Further, regarding the 14th subblock SB, if the 13th subblock SB has not been encoded, the mode for referring to the subblock SB, that is, the prediction modes 3 and 7, cannot be executed.
In addition, in the 0th and 1st subblock SBs, the situation differs depending on the position of the macroblock MB on the screen.
That is, when the macroblock MB constitutes the upper left part of the screen, since there is no subblock that can be referred to in the subblock SB of No. 0, the reference value is set to 128, for example, and the image is set in the prediction mode 2. You will make a prediction.
In addition, since there are no upper, upper left, and upper right subblocks in the 1st subblock SB, the prediction modes 1 and 8 referring only to the left side, that is, the 0th subblock SB, and the average value (0th). Only the prediction mode 2 using the average value of the four pixels on the right end of the subblock SB of No. 0 can be used, and none of the prediction modes can be used until the coding of the subblock SB No. 0 is completed. This also applies to the 5th subblock SB.
However, if the macroblock MB constitutes the part to the right of the upper left corner of the screen, the subblock SB No. 0 is the subblock SB No. 5 that constitutes the macroblock MB at the upper left corner of the screen. You will be able to refer to it.
If the macroblock MB constitutes the lower left part of the upper left corner of the screen, the 0th subblock SB is the 9th and 11th subblocks that make up the upper left macroblock MB of the screen. The block SB can be referred to, and the 1st subblock SB can refer to the 9th, 11th, and 14th subblock SBs that make up the macroblock MB at the upper left of the screen.
In this way, in intra-prediction, all nine prediction modes cannot be executed or all available prediction modes cannot be executed unless the subblock SB to be referenced is coded. Therefore, there is a problem that it is not efficient because intra-prediction cannot be started for the sub-block SB to be encoded until all the sub-block SBs to be referenced are encoded. ..
Therefore, the inventors think that efficiency can be improved if intra-prediction can be performed at the stage where the coding for the immediately preceding subblock SB is not completed, and the process until the optimum prediction mode is determined is divided into two stages. In the first stage, not only the encoded pixel value but also the unencoded pixel value (unencoded pixel value) is used as the prediction value for intra-prediction (hereinafter referred to as simple intra-prediction). In the second stage, we reached the technical idea of performing normal intra-prediction for the narrowed-down prediction mode and determining the optimum prediction mode.
<Method of generating image data having simple intra-prediction> Hereinafter, a method of generating image data having simple intra-prediction will be described as an embodiment of the present invention.
<Encoder Configuration and Operation> FIG. 12 is a block diagram showing the configuration of the H.264 encoder 100 that generates image data with simple intra-prediction.
As shown in FIG. 12, the encoder 100 includes a simple intra prediction unit 1, an intra prediction unit 2, a conversion unit 3, a quantization unit 4, an entropy coding unit 5, an inverse quantization unit 6, an inverse conversion unit 7, and a loop filter 8. , Frame memory 9, inter-frame prediction unit 10 and motion prediction unit 11 are provided.
The input image signal input to the encoder 100 is given to the simple intra prediction unit 1 and the motion prediction unit 11, and is also used to take a difference from the prediction image output from the inter-frame prediction unit 10.
In the simple intra prediction unit 1, not only the encoded pixel value of the reference target subblock (first subblock) but also the unencoded pixel value is used as the predicted value (first predicted value). , A maximum of 9 prediction modes are executed to obtain a prediction image (first prediction image) in each prediction mode, and the pixel value of the encoding target pixel of the encoding target subblock (second subblock). Get the absolute sum of the differences from. Then, from the sum of the absolute values, some of them are selected in ascending order from the smallest value to narrow down the prediction mode and select the optimum prediction mode candidate.
If there are few prediction modes available, as a result, only one prediction mode may be selected as the optimum prediction mode candidate.
The result of the narrowing down by the simple intra-prediction unit 1 is given to the intra-prediction unit 1 together with the input image signal, and the intra-prediction unit 1 executes a normal intra-prediction for the optimum prediction mode candidate obtained by the narrowing down. Determine the optimal prediction mode.
Here, the normal intra-prediction is to make a prediction using the encoded pixel value as a predicted value (second predicted value), and at this stage, the coding for the immediately preceding subblock is completed. Therefore, there is no inconvenience in performing normal intra-prediction. The simple intra-prediction and intra-prediction will be further described later.
The difference data between each coded pixel and the predicted image (second predicted image) obtained by the optimum prediction mode determined by the intra prediction unit 2 is given to the conversion unit 3. The conversion unit 3 has a configuration in which the difference data obtained in the in-frame mode for performing the above-mentioned intra-frame prediction and the difference data obtained in the inter-frame mode for performing the inter-frame prediction are switched and given depending on the mode. ing.
The transform unit 3 performs the discrete cosine transform (DCT) on the given difference data and outputs the transform coefficient, but in H.264, the integer transform (Integer Transform), which is an integer version of the floating-point calculation, is used. The unit of conversion is a unit of 4 × 4 pixels.
The quantization unit 4 performs quantization on the DCT conversion coefficient given by the conversion unit 3 and outputs the quantized conversion coefficient.
The quantized conversion coefficient is given to the entropy coding unit 5. In the entropy coding unit 5, the baseline profile and the X profile have an exponential Golomb coding and CAVLC (Context) that applies it. -based Adaptive Variable Length Coding) is used, and in the main profile and high profile, an arithmetic code called CABAC (Context-based Adaptive Binary Arithmetic Coding) is used to perform entropy coding on the quantized conversion coefficient. Then, the compressed image data is output as a bit stream.
The quantized conversion coefficient is also given to the inverse quantization unit 6, and is further returned to the difference data via the inverse conversion unit 7.
In the inter-frame mode, the switch SW1 is turned on, the difference data is added to the pixel value of the immediately preceding frame created by the inter-frame prediction unit 10, and then the difference data is accumulated in the frame memory 9 via the loop filter 8. To. The data of this frame is the same as the encoded image reproduced on the decoder side, and is used when creating the next frame as the immediately preceding frame.
On the other hand, in the in-frame mode, the switch SW2 is turned on, and the difference data after the inverse conversion is added to the pixel values of the predicted image obtained by the optimum prediction mode determined by the intra prediction unit 2. As encoded image data, it is given to the simple intra prediction unit 1 and the intra prediction unit 2, and is used for the simple intra prediction and the intra prediction. The encoded image data is the same as the image data reproduced on the decoder side.
Here, the image data reproduced on the decoder side by the conversion process, the quantization process, the inverse conversion process, and the inverse quantization process in the conversion unit 3, the quantization unit 4, the inverse quantization unit 6, and the inverse conversion unit 7. The process of obtaining the same image data is called local decoding.
The loop filter 8 is a deblocking filter that smoothes only the block boundaries of integer conversion and suppresses the generation of block noise.
The inter-frame prediction unit 10 uses the image data of the immediately preceding frame stored in the frame memory 9 to perform motion compensation for creating a prediction image of the next frame in consideration of screen movement. The predicted image created here is used to take a difference from the input image in the inter-frame mode.
Further, the motion prediction unit 11 detects a motion vector from the input image signal, predicts the motion of the screen, and gives the result to the inter-frame prediction unit 10.
<Pipeline processing> Next, with reference to FIG. 12, a simple intra prediction and an intra prediction will be described with reference to FIG. 13 which schematically shows the pipeline processing.
In FIG. 13, the passage of time is shown on the horizontal axis, and one processing cycle is shown as a block processing cycle. In FIG. 13, three block processings (n-1), (n), and (n + 1) are performed. Shows the cycle.
Here, assuming that the nth subblock is a subblock to be encoded, the prediction mode 0 to described with reference to FIGS. 3 to 11 in the simple intra-prediction unit 1 for the nth subblock. Perform 8 9 prediction modes.
In the simple intra prediction, when the coding of the subblock to be referred to is not completed, the pixel value of the input image signal is used as the prediction value.
For example, when the 13th subblock SB shown in FIG. 1 is the nth subblock, all 9 prediction modes are executed unless the coding of the 12th subblock SB is completed in the normal intra-prediction. Although it is not possible, in the simple intra-prediction, all nine prediction modes can be executed by using the pixel value of the uncoded pixel of the 12th subblock SB, that is, the pixel to be encoded. ..
Further, for the No. 1 subblock SB in FIG. 1, by using the pixel value of the pixel to be coded of the No. 0 subblock SB, the prediction mode is performed in a state where the coding of the No. 0 subblock SB is not completed. You can run 1, 2 and 8.
As shown in FIG. 13, simple intra prediction for the nth subblock is performed in the block processing cycle (n), but it takes time to execute all nine prediction modes, and the block processing cycle (n). Spend almost the entire period of performing a simple intra-prediction.
Then, the prediction mode is narrowed down by selecting some of the absolute value sums of the differences between the prediction image and the initial pixel value of the pixel to be coded UP obtained in each mode in ascending order of value. I do.
In this way, instead of determining one prediction mode, narrowing down to several optimal prediction mode candidates is because simple intra-prediction is not as accurate as normal intra-prediction.
Further, in the block processing cycle (n), in parallel with the simple intra prediction, the intra prediction unit 2 executes a normal intra prediction for the n-1 subblock.
For the n-1 subblock, simple intra prediction is executed in the block processing cycle (n-1) to narrow down the prediction mode, so the result of the narrowing down is reflected in the block processing cycle (n). ), The optimum prediction mode can be determined within the processing cycle period.
That is, in the intra-prediction executed here, it is sufficient to execute the prediction again only for the optimum prediction mode candidates narrowed down in some ways by the simple intra-prediction, and the optimum prediction mode is executed in a shorter time than the simple intra-prediction. Can be decided. Further, in the intra prediction executed here, since all the reference target pixels are encoded, highly accurate prediction is possible.
In the block processing cycle (n-1), the local decoding for the n-2 subblock has been completed, so there is a problem in executing the normal intra prediction for the n-1 subblock. Does not occur.
After performing normal intra-prediction for the n-1 subblock to determine the optimal prediction mode, the optimal prediction mode is used in the block processing cycle (n-1) to n-1. Perform local decoding of the number subblock.
The pixel data of the n-1 subblock encoded by the local decoding is stored in the memory in the intra prediction unit 2 and used in the normal intra prediction for the n subblock.
Similarly, in the block processing cycle (n + 1), a simple intra prediction is executed for the n + 1 subblock, and a normal intra prediction is executed for the n subblock to make an optimum prediction. The mode is determined, and then the difference data obtained in the optimum prediction mode is used to perform local decoding of the nth subblock.
FIG. 14 is a flowchart showing the flow of simple intra-prediction, normal intra-prediction, and local decoding executed for the sub-block to be encoded.
In FIG. 14, when the data of the image to be encoded is input to the encoder 100, the simple intra prediction unit 1 executes the simple intra prediction (step S1), and then the predicted image obtained in each mode and the coding. The prediction mode is narrowed down by selecting some of the absolute value sums of the differences from the initial pixel values of the target pixels in ascending order of values (step S2). The data of the pixel to be encoded is also given to the intra prediction unit 2.
Then, the intra-prediction unit 2 executes intra-prediction using the encoded pixel values for the optimum prediction mode candidates narrowed down in step S2 (step S3), and then obtains in each mode. The optimum prediction mode is determined by selecting the one with the smallest value from the absolute value sum of the difference between the prediction image (first prediction image) and the initial pixel value of the pixel to be encoded. (Step S4).
Next, the transform unit 3 performs orthogonal transform (for example, DCT) on the difference data between the predicted image (second predicted image) obtained by the determined optimum prediction mode and the initial pixel value of each coded target pixel. (Step S5), followed by quantization in the quantization unit 4 (step S6), inverse quantization in the inverse quantization unit 6 (step S7), and inverse transformation in the inverse transform unit 7 (step S8).
Then, by adding the inversely converted data (difference data) to the predicted image obtained by the optimum prediction mode, encoded image data is generated (step ST9) and fed back to the intra prediction unit 2.
<Effect> As described above, the encoder 100 is provided with a simple intra prediction unit 1 that uses the pixel value before coding as a prediction value to perform intra prediction, and the coding for the immediately preceding subblock is not completed. Image prediction can be started even at the stage, the time spent for intra prediction can be shortened, and the efficiency of intra prediction can be improved.
In addition, simple intra-prediction and normal intra-prediction for the same coded sub-block are processed in different processing cycles by pipeline processing, and local decoding is performed after normal intra-prediction. Data coding processing can be performed efficiently.
<figref num="1">It is a figure which represents typically the macro block composed of 16 × 16 pixels.</figref><figref num="2">It is a figure which shows typically the 16 coding target pixels which make up a subblock, and the reference pixel used in intra prediction.</figref><figref num="3">It is a figure which represents the prediction mode 0 schematically.</figref><figref num="4">It is a figure which represents the prediction mode 1 schematically.</figref><figref num="5">It is a figure which represents the prediction mode 2 schematically.</figref><figref num="6">It is a figure which represents the prediction mode 3 schematically.</figref><figref num="7">It is a figure which represents the prediction mode 4 schematically.</figref><figref num="8">It is a figure which represents the prediction mode 5 schematically.</figref><figref num="9">It is a figure which represents the prediction mode 6 schematically.</figref><figref num="10">It is a figure which represents the prediction mode 7 schematically.</figref><figref num="11">It is a figure which represents the prediction mode 8 schematically.</figref><figref num="12">It is a block diagram which shows the structure of the encoder of H.264 which executes the method of generating the image data which has the simple intra prediction which concerns on this invention.</figref><figref num="13">It is a figure which shows typically the pipeline processing.</figref><figref num="14">It is a flowchart explaining the method of generating the image data which has the simple intra prediction which concerns on this invention.</figref>
Code description
MB Macroblock SB Subblock EP Encoded Pixel UP Encoded Pixel BL Block
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP2012124564A | Cited by | Japan | Examiner |
| US7725577B2 | Cited by | United States of America | Applicant |
| JP2016007055A | Cited by | Japan | Search report |
| US10805610B2 | Cited by | United States of America | Applicant |
| US9516320B2 | Cited by | United States of America | Applicant |
| US11212534B2 | Cited by | United States of America | Applicant |
| WO2012077634A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| JP2016007055A | Cited by | Japan | Search report |
| US10080024B2 | Cited by | United States of America | Applicant |
| JP2004140473A | Cites | Japan | Examiner |
| JP2004304724A | Cites | Japan | Examiner |
| JP2005151017A | Cites | Japan | Examiner |
| JP2006237765A | Cites | Japan | Examiner |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 2006107394 | Japan | A | |
| JP20060107394 | – | – | – |
18 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Receipt of annual feesR250 | R250 | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Certificate of patent or registration of utility modelR150 | R150 | |
| Certificate of patent or registration of utility modelR150 | R150 | |
| First payment of annual fees (during grant procedure)A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Written amendmentA521 | A521 | |
| Notification of reasons for refusalA131 | A131 | |
| Written request for application examinationA621 | A621 | |
| Notification of change in applicantA711 | A711 | |
| Notification of resignation of power of attorneyRD04 | RD04 |
Numbers
- Publication
- 2007282014
- Publication, DOCDB
- 2007282014
- Publication, EPODOC
- JP2007282014
- Application
- 107394
- Application, DOCDB
- 2006107394
- Application, EPODOC
- JP20060107394
Titles3
- English
- METHOD OF GENERATING IMAGE DATA
- Japanese
- 画像データの生成方法
- English
- Image data generation method
Classification
- CPC, 5
- H04N19/436
- H04N19/11
- H04N19/14
- H04N19/176
- H04N19/61
- IPC, 14
- H04N19 50
- H04N19 103
- H04N19 11
- H04N19 127
- H04N19 134
- H04N19 137
- H04N19 182
- H04N19 196
- H04N19 59
- H04N19 593
- H04N19 60
- H04N19 61
- H04N19 91
- H04N7 32