Image encoding device, image encoding method and image encoding program, and image decoding device, image decoding method and image decoding program
By introducing a combination of non-angle-in-angle prediction mode and angle-in-angle prediction mode in HEVC, and utilizing the information of adjacent blocks, the problem of insufficient coding efficiency of HEVC under large block size in high-resolution images is solved, and more efficient coding effect is achieved.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- JVC KENWOOD CORP
- Filing Date
- 2026-02-20
- Publication Date
- 2026-05-19
AI Technical Summary
Existing HEVC technology is not efficient enough in intrapredictive coding of high-resolution images such as 4K and 8K images, especially in large block sizes.
By introducing a combination of non-angle-intra-prediction modes and angle-intra-prediction modes, the prediction mode of the target block is determined by utilizing the intra-prediction modes of adjacent blocks, and the selection of prediction modes is controlled by flag bits and candidate indices, thereby reducing coding overhead.
It improves the efficiency of intrapredictive coding, especially the coding efficiency at large block sizes, reduces coding overhead, and improves the coding quality of high-resolution images.
Smart Images

Figure 2026083053000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a technique for encoding and decoding an image using intra prediction.
Background Art
[0002] There are image encoding techniques such as HEVC (H.265). In HEVC, in addition to inter-prediction encoding (inter-picture prediction encoding), intra-prediction encoding (intra-picture prediction encoding) is utilized.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In HEVC, for a square block divided into a quadtree, intra prediction is performed with a maximum block size of 3 2 pixels × 32 pixels. For high-definition images such as 4K images and 8K images or 3 60-degree images, intra prediction with a higher efficiency is provided with a larger block size.
[0005] The present invention has been made in view of such a situation, and an object thereof is to provide a technique for improving the encoding efficiency in intra prediction.
Means for Solving the Problems
[0006] In order to solve the above problems, an image encoding apparatus according to an aspect of the present embodiment is based on an intra prediction mode of a block adjacent to a prediction target block, and the intra of the prediction target block prediction block A first flag is encoded to indicate whether or not to determine the prediction mode for the block to be predicted. A second flag indicates whether the intra prediction mode is a predetermined non-angle intra prediction mode. Encode the second flag to indicate that the predetermined non-angle intra-prediction mode is not used. In the case of a coding unit that encodes a candidate identification index, and in the case of the first flag being true In addition, the prediction is based on the intra prediction mode of the block adjacent to the block to be predicted. Determine the intra prediction mode of the target block, and if the second flag is true, the same Select a fixed non-angle intra prediction mode as the intra prediction mode for the block to be predicted. Furthermore, if the second flag is false, the predetermined based on the candidate identification index From the intra prediction mode candidate list generated so as not to include the intra prediction mode, the above It includes a prediction mode selection unit that selects an intra-prediction mode for the block to be predicted.
[0007] Another aspect of the present invention is an image decoding device. This device is adjacent to the block to be predicted. Based on the intra prediction mode of the block, the intra prediction mode of the block to be predicted is Decode the first flag indicating whether or not to make a decision, and the intra-prediction mode of the block to be predicted. A second flag indicating whether or not the do is in a predetermined non-angle intra prediction mode is decoded, and the aforementioned If the second flag indicates that it is not the predetermined non-angle intra prediction mode, candidate identification A A decoding unit that decodes the index, and if the first flag is true, the predicted block Based on the intra prediction mode of the block adjacent to the block, the intra of the block to be predicted Determine the prediction mode, and if the second flag is true, determine the predetermined non-angle intra prediction Select the measurement mode as the intra prediction mode of the target prediction block, and the second flag If it is false, based on the candidate identification index, the intra prediction mode Excluding the predetermined intra prediction mode, select the intra prediction mode of the target prediction block from the generated intra prediction mode candidate list And a prediction mode selection unit.
[0008] In addition, any combination of the above components, and those obtained by converting the expression of the present invention among methods, apparatuses, systems, computer programs, etc. are also effective as aspects of the present invention.
Advantages of the Invention
Effects of the Invention
[0009] According to the present invention, the encoding efficiency in intra prediction can be improved.
Brief Description of the Drawings
[0010] [Figure 1] It is a diagram for explaining the intra prediction mode of HEVC. [Figure 2] It is a diagram for explaining the syntax related to the intra prediction mode of HEVC. [Figure 3] It is a diagram for explaining the image encoding apparatus and the image decoding apparatus according to Embodiment 1 of the present invention. [Figure 4] It is a diagram showing an example in which a partial region of an image input to the image encoding apparatus is divided into blocks based on the block size determined by the block size determination unit. [Figure 5] It is a diagram showing the configuration of the intra prediction selection unit of Embodiment 1. [Figure 6] It is a flowchart for explaining the operation of the intra prediction selection unit of Embodiment 1. [Figure 7] It is a diagram for explaining the derivation of a predicted value. [Figure 8] It is a diagram for explaining adjacent blocks of a target prediction block. [Figure 9]It is a flowchart for explaining the operation of the generation process of prediction mode candidate list 0. [Figure 10] It is a table showing the priority order of a predetermined prediction mode used in the generation process of prediction mode candidate list 0. [Figure 11] It is a flowchart for explaining the operation of the generation process of prediction mode candidate list 1. [Figure 12] It is a table showing the priority order of a predetermined prediction mode used in the generation process of prediction mode candidate list 1. [Figure 13] It is a diagram for explaining the syntax related to the intra prediction mode of Embodiment 1. [Figure 14] It is a diagram for explaining the syntax related to the intra prediction mode of Modification Example 4 of Embodiment 1. [Figure 15] It is a diagram showing the configuration of the intra prediction selection unit of Embodiment 2. [Figure 16] It is a flowchart for explaining the operation of the intra prediction selection unit of Embodiment 2. [Figure 17] It is a diagram for explaining the syntax related to the intra prediction mode of Embodiment 2. [Figure 18] It is a table showing the relationship between intra_luma_merge_idx and adjacent blocks. [Figure 19] It is a diagram for explaining the syntax related to the intra prediction mode of Modification Example 2 of Embodiment 2. [Figure 20] It is a diagram for explaining another syntax related to the intra prediction mode of Modification Example 2 of Embodiment 2.
Embodiments of the Invention
[0011] First, the intra prediction of HEVC will be described. FIG. 1 is a diagram for explaining the intra prediction mode of HEVC. As shown in FIG. 1, in HEVC a total of 35 modes from prediction mode 0 to prediction mode 34 are defined as intra prediction modes It is set to INTRA_PLANAR, and the adjacent blocks of the block to be predicted are The predicted value is calculated by interpolating and predicting the four reference pixels generated by filtering the raw elements. Mode 1 is INTRA_DC, and the horizontal width is twice the width of the predicted block of the block being predicted. The predicted value is calculated by averaging the adjacent pixels in the direction and the adjacent pixels in the vertical direction, which are twice the height of the prediction block. The following is calculated. Prediction modes 2 to 34 predict the target block according to the respective angle. The predicted value is calculated from the reference pixels generated by filtering the adjacent pixels of the block. Here, Regarding filtering of adjacent pixels in the block to be predicted, the size of the block to be predicted is It is more effective when the size is large, and less effective when the size of the block being predicted is small. Yes, it is. A 1:2:1 3-tap filter is used for filtering.
[0012] Figure 2 is a diagram illustrating the syntax for the HEVC intra-prediction mode. rev_intra_luma_pred_flag is derived for each block being predicted. This flag indicates whether or not to use intra-predictive mode candidates. If luma_pred_flag is 1, intra-prediction mode candidates are used, pr If ev_intra_luma_pred_flag is 0, intra-prediction mode candidate Supplement is not used. If prev_intra_luma_pred_flag is 1 mpm_idx (mpm index) indicates the number of the intra prediction mode candidate, mp The intra prediction mode candidate indicated by m_idx is the intra prediction mode of the block to be predicted. This is the result. The intra prediction mode candidates are the intra prediction modes of adjacent blocks for each block to be predicted. Based on the code, three intra-prediction modes are generated from all 35 intra-prediction modes, and mpm_idx This can be a value of 0, 1, or 2. prev_intra_luma_pred_flag If it is 0, the intra prediction mode is taken from rem_intra_luma_pred_mode. Derive the code number. rem_intra_luma_pred_mode is intra This shows intra prediction modes other than the candidate prediction modes. That is, rem_intra_lu ma_pred_mode is selected from all 35 intra-prediction modes to determine the intra-prediction mode candidate. This indicates one of the 32 intra-prediction modes excluding the supplementary mode. rem_intra_l The intra prediction mode indicated by uma_pred_mode is the intra for the block to be predicted. This is the prediction mode. As described above, HEVC has all 35 intra prediction modes. Encoded in both mpm_idx and rem_intra_luma_pred_mode ( It may be decrypted. prev_intra_luma_pred_flag, m pm_idx and rem_intra_luma_pred_mode are fixed-length 2 It is binary arithmetic encoded by valuation, truncated Rice binarization, and fixed-length binarization. rem_intra_luma_pred_mode is a 5-bit fixed-length binarization for binary calculations. It is coded using a special technique. Truncated Rice binarization improves coding efficiency as the value decreases. do.
[0013] As described above, HEVC's prediction modes 2 through 34 are based on one angle. The predicted value of the intra prediction is calculated. This is because the image contains the cause of the code increase. The code size is reduced by predicting the edge direction and taking the difference. Then, the block to be predicted... If the block size is large, the edge direction will be within the block when predicted from one angle. There is a possibility that the prediction efficiency may not be sufficiently good due to the misalignment. The adjacent pixels are being filtered.
[0014] In HEVC, the maximum size of the predictable block is 32 pixels × 32 pixels (hereafter) (Also written as 32x32). In contrast, 4K video, 8K video, etc., are larger It is known that prediction efficiency can be improved by using a larger size for the target block. Increasing the size of the blocks being predicted is important for improving prediction efficiency.
[0015] Therefore, in the following embodiment, the maximum size of the block to be predicted is larger It provides an optimal intra-prediction when this occurs. Below are several intra-prediction modes, The intra-prediction mode used for measurement is defined as an intra-prediction mode where adjacent pixels do not have angle dependence. This refers to an intra-prediction mode where adjacent pixels used for prediction have angle dependence. This is called the intra prediction mode. The angle intra prediction mode is a horizontal intra prediction mode. This includes a vertical intra-prediction mode.
[0016] In HEVC, prediction mode 0 and prediction mode 1 are non-angle intra prediction modes, and prediction Modes 2 through 34 are prediction modes for angle intra-prediction. More specifically, prediction mode From mode 2, prediction mode 17 is the horizontal intra prediction mode, and from prediction mode 18... Prediction mode 34 is the vertical intra-prediction mode.
[0017] (Embodiment 1) Hereinafter, along with the drawings, an image coding apparatus, an image coding method, and an embodiment of the present invention are described. Image encoding program, image decoding device, image decoding method, and image decoding program I will explain the details.
[0018] Figure 3 illustrates the image encoding device 100 and image decoding device 200 according to Embodiment 1 of the present invention. This is a diagram illustrating the image encoding device 100 according to Embodiment 1, which includes a block size determination unit 11 0, includes an intra-predictive selection unit 120, a conversion unit 130, and an encoding unit 140. Image encoding The device 100 receives an input image and outputs an encoded stream.
[0019] The image decoding device 200 consists of a decoding unit 210, a block size acquisition unit 220, and an intra prediction unit 2 The image decoding device 200 is input to an encoded stream. Then, output the decoded image.
[0020] In the intra prediction unit 230 of Embodiment 1, the same intra prediction mode as HEVC is used. The image encoding device 100 and the image decoding device 200 use a CPU (Central Pro). Information processing system equipped with a cessing unit, frame memory, hard disk, etc. This is achieved through hardware such as placement.
[0021] First, the functions and operation of each part of the image encoding device 100 will be explained. The input image is entered into 100.
[0022] The block size determination unit 110 determines the blocks to be intrapredictively coded based on the input image. Determine the size, and the determined block size and the input pixels corresponding to the block size (input value ) is supplied to the intra prediction selection unit 120. For the method of determining the block size, see I won't go into detail here, but as is the case with HEVC reference software, RDO (Rate Determination Occlusion) compares evaluation values of multiple block sizes to select the optimal block size. Pre-judgment can be done using distortion optimization or evaluation values.
[0023] Now, let's discuss block size. Figure 4 shows that a portion of the image input to the image encoding device 100 determines the block size. An example of division into blocks based on the block size determined in section 110 is shown. The block sizes are 4x4, 8x4, 4x8, 8x8, 16x8, 816, 32x32, ...128x64, 64x128, and 128x128 are available, and the input image is for each size. The blocks are divided using the above block sizes to avoid duplicate locks.
[0024] The intra predictive selection unit 120 selects based on the block size, input pixels, and encoded image. Select one intra prediction mode from among multiple intra prediction modes, and select the intra Based on the prediction mode, predictive values are derived from encoded pixels, and the block size and selection are determined. The intra prediction mode, input value, and predicted value are supplied to the conversion unit 130. The completed pixels are shared by various parts within the image encoding device 100 and are not shown here. Details of the Intra prediction selection unit 120 will be described later.
[0025] The conversion unit 130 calculates a difference value by subtracting the predicted value from the input value, and then applies an orthogonal value to the calculated difference value. The prediction error data is calculated by performing processes such as transformation and quantization, and the block size and intra-prediction are determined. The measurement mode and the calculated prediction error data are supplied to the encoding unit 140.
[0026] The encoding unit 140 encodes the header and other information as needed, and the conversion unit 130 converts it Encode the code sequence for the supplied block size, and use the intra-prediction mode as the code sequence. It encodes the data, encodes the prediction error data, and outputs it as an encoded stream. Details of the encoding process for the measurement mode will be described later.
[0027] The image encoding device 100 repeats the above process until all areas of the input image are encoded. vinegar.
[0028] Here, we will explain the details of the intra-predictive selection unit 120. Figure 5 shows the configuration of the intra prediction selection unit 120 of Embodiment 1. The measurement selection unit 120 includes a mode number determination unit 121, a prediction mode candidate generation unit 122, and a prediction mode selection unit. It includes a unit 123, a predicted value calculation unit 124, and a predicted value weighting unit 125.
[0029] Figure 6 is a flowchart illustrating the operation of the intra predictive selection unit 120 in Embodiment 1. Yes. Hereafter, Figures 5 and 6 will be used to explain the details of the intra-prediction selection unit 120. First, The mode number determination unit 121 determines if the predicted block width is greater than or equal to a predetermined threshold width and the predicted block height is predetermined It is checked whether the threshold height is above or below (S100). Here, a predetermined threshold width and a predetermined threshold height are Let each be 32, but the predetermined threshold width is 64 and the predetermined threshold height is 32, The width and the predetermined threshold height may be set to different values. In addition, as an extended Golomb code sequence, SPS(Sequence_parameter_set It may also be stored after encoding it into a format such as ).
[0030] Next, the mode number determination unit 121 determines if the predicted block width is greater than or equal to a predetermined threshold width and the predicted block If the value is above a predetermined threshold (YES in S100), set the number of prediction modes to 2 (S10 1) The predicted block width must be greater than or equal to a predetermined threshold width and the predicted block height must be greater than or equal to a predetermined threshold height. (NO in S100), set the number of prediction modes to 1 (S102).
[0031] Next, the intra prediction selection unit 120 sets M to 0 if the number of prediction modes is 1, If the number of measurement modes is 2, repeat steps S103 to S107 with M set to 0 and 1. Here, considering the reduction in the number of steps, if the number of prediction modes is 1, only M is processed as 0. However, considering the simplification of the circuit configuration, even when the number of predicted modes is 1, M is set to 0 and 1 You may repeat steps S103 to S107.
[0032] The prediction mode candidate generation unit 122 generates coded adjacent blocks that exist around the block to be predicted. A list of prediction mode candidates M is generated from the block (S104), and the generated list of prediction mode candidates The signal M is supplied to the prediction mode selection unit 123. Details of the prediction mode candidate list generation process are provided below. This will be explained later.
[0033] The prediction mode selection unit 123 calculates evaluation values for prediction modes 0 through 34, respectively. Based on the calculated evaluation values for each prediction mode, from prediction mode 0 to prediction mode 34... Then select one prediction mode M (S105), and calculate the predicted value using the selected prediction mode M. It is supplied to the output unit 124. Here, the selected prediction mode M is from prediction mode 0 to prediction mode 34. One prediction mode will be selected based on RDO (Rate of Determination) criteria.
[0034] The prediction value calculation unit 124 calculates based on the selected prediction mode M input from the prediction mode selection unit 123. Next, the predicted value M of the block to be predicted is calculated (S106), and the calculated predicted value M is used as the predicted value weight. It is supplied to the detection unit 125. Here, the predicted value is derived from the adjacent pixels.
[0035] Figure 7 is a diagram illustrating the derivation of the predicted values. The prediction target block in Figure 7 is 32 x 32. Each pixel within the block to be predicted exists from P(0,0) to P(31,31), and adjacent pixels are adjacent. The pixels used are RH-1 to RH63 and RV0 to RV63. There are no adjacent pixels. If this is not possible, the pixels will be filled with alternative pixels as defined in HEVC. Figure 7 shows the alternative. The number of measurement modes is 2, selected prediction mode 0 corresponds to prediction mode 10, and selected prediction mode 1 corresponds to prediction mode 3. An example where the value is 4 is shown (see Figure 1).
[0036] First, let's derive the predicted value for selected prediction mode 0 when selected prediction mode 0 is prediction mode 10. Let me explain. P(0,0), P(1,0), ..., P(31,0) are predicted values for RV0. P(0,1), ..., P(31,1) are predicted values for RV1, and P(0,31), ... • P(31,31) is the predicted value of RV31. Next, the selected prediction mode 1 is the prediction mode The derivation of the predicted value for selection prediction mode 1 in case 34 is explained. P(0,0) predicts RH1. The values are as follows: P(1,0) and P(0,1) are predicted values for RH2, and P(31,31) is RH The predicted value is 63. Filter adjacent pixels of the block to be predicted, similar to HEVC. In this embodiment, no reference pixels are generated, and adjacent pixels are used as they are, therefore, the form of this embodiment In this state, filtering is unnecessary. Except for calculating the predicted value from the reference pixel, The calculation of the measured values is assumed to be the same as that of HEVC.
[0037] Following S106, it is confirmed that the selected prediction mode M is not a non-angle intra-prediction mode. Check (S110). If the selected prediction mode M is not an angle intra prediction mode (S11 If YES is 0, proceed to S107. If the selected prediction mode M is the non-angle intra prediction mode (NO in S110), proceed to S108. Here, the non-angle intra prediction mode is INT Let's assume that RA_PLANAR and INTRA_DC are used. In this way, INTRA_PLA In addition to using adjacent pixels at a specific angle, like NAR and INTRA_DC, multiple people In the intra-prediction mode using adjacent pixels in the direction, the number of prediction modes is not allowed to be 2. By setting the number of prediction modes to 1, the increase in processing load can be suppressed. In other words, non-angle input A combination of prediction modes belonging to the LA prediction mode and prediction modes belonging to the angle intra prediction mode. There's no need to match.
[0038] Following S107, the prediction value weighting unit 125 selects whether the number of prediction modes is 1. If prediction mode 0 is a non-angle intra prediction mode, the predicted value is supplied from the prediction value calculation unit 124. The predicted value is output as is. The predicted value weighting unit 125 has 2 prediction modes. If so, the first predicted value of selected prediction mode 0 supplied from the predicted value calculation unit 124 and the selected prediction The second predicted value from measurement mode 1 is averaged and output as the third predicted value (S108).
[0039] Next, the functions and operations of each part of the image decoding device 200 will be explained. The decoding unit 210 is: Decode the header and other information from the encoded stream as needed, and adjust the block size accordingly. The code sequence, the code sequence in intra-prediction mode, and the prediction error data are taken from the coded stream. Decoded, the code sequence relating to the decoded block size, the code sequence in intra-prediction mode, and the prediction Measurement error data is supplied to the block size acquisition unit 220. The code sequence in intra prediction mode Decryption is performed based on the syntax for the intra-prediction mode, which will be described later. .
[0040] The block size acquisition unit 220 receives information about the block size supplied from the decoding unit 210. The block size is obtained from the code sequence, and the code sequence of the intra prediction mode is obtained from the block size, and The prediction error data is then supplied to the intra-prediction unit 230.
[0041] The intra prediction unit 230 selects an intra prediction mode from the code sequence of intra prediction modes. Then, based on the selected intra prediction mode, predict the value from the decoded pixel. The value, block size, and prediction error data are supplied to the inverse transform unit 240. Note that the decoded data is... The pixels are shared by various parts within the image decoding device 200 and are not shown here.
[0042] Here, the calculation of the predicted value in the intra prediction unit 230 is performed by the intra prediction selection unit 120. This is the same as the calculation of the predicted value in the image encoding device 100, and the reconstructed image obtained by the image encoding device 100 and the image decoding The reproduced images output by device 200 will be identical. That is, the intra prediction unit 230 and the intra Since the tiger prediction selection unit 120 can have the same configuration, in this embodiment, intra The prediction unit 230 and the intra-prediction selection unit 120 will be described assuming they have the same configuration.
[0043] The flowchart explains the operation of the intra prediction unit 230 and the operation of the intra prediction selection unit 120. Let's explain using Figure 6, which is a diagram. The difference with the intra prediction selection unit 120 is S105. In the intra prediction unit 230, S105D is performed instead of S105.
[0044] The prediction mode selection unit 123 selects one prediction mode based on the code sequence of the intra prediction mode. Select mode M (S105D) and supply the selected prediction mode M to the prediction value calculation unit 124. The code sequence for intra-prediction mode will be described later.
[0045] The inverse transform unit 240 performs an inverse orthogonal transform on the prediction error data supplied from the intra prediction unit 230. Then, processing such as inverse quantization is performed to calculate the difference value, and the difference value and the predicted value are added to calculate the reconstructed pixel. Outputs and reproduces the pixels.
[0046] The image decoding device 200 continues until it has decoded all the code sequences of the input coding stream. Repeat the process.
[0047] Here, we will explain the details of the process for generating the prediction mode candidate list. First, the prediction target This section describes the encoded neighboring blocks surrounding the block. Figure 8 is a diagram illustrating the adjacent blocks to the block being predicted. In Figure 8, the blocks Block X is the block to be predicted, and blocks A through E are adjacent blocks. Now, let's say the adjacent blocks are Block A to Block E, but what about Block A to Block D? Also, the upper left (above block A) and lower left (block C) of the block to be predicted are also good choices. You can also add blocks (below) the one shown.
[0048] Figure 9 is a flowchart illustrating the operation of the process for generating the prediction mode candidate list 0. The process for generating the prediction mode candidate list 0 will be explained based on Figure 9. First, the prediction mode Assume that candidate list 0 is empty, and that the number of candidates in prediction mode candidate list 0 is 0. The prediction mode candidate list 0 will be abbreviated as candidate list 0.
[0049] Block X is placed in the order of Block A, Block B, Block C, Block D, Block E, S Repeat steps 210, S201, S202, and S203 (S200 and S204). .
[0050] Check whether block X is using intraprediction (S210). If intra-prediction is used (YES in S210), proceed to S201. Block X is If you are not using the prediction tool (NO in S210), proceed to S204.
[0051] Following S210, candidate list 0 does not contain the same selection prediction mode 0 as block X. If (YES in S201), add selection prediction mode 0 of block X to candidate list 0 (S 202) Next, check whether the number of prediction modes added to candidate list 0 has reached a predetermined number. Check (S203) and if the number of prediction modes added to candidate list 0 has reached a predetermined number If (YES in S203), the process will be terminated. The number of prediction modes added to candidate list 0 If the predetermined number has not been reached (NO in S203), proceed to S204. Here, the predetermined number is 3. Yes. If the same selection prediction mode 0 as block X exists in candidate list 0, then (S201 NO ), proceed to S204.
[0052] Next, if the number of prediction modes added to candidate list 0 is less than a predetermined number (Y in S205) ES), based on the priority of a given prediction mode, if the same prediction mode is duplicated in candidate list 0 To prevent this, add the prediction mode candidates to candidate list 0 in order of lowest priority (S20 6) The process is terminated. Figure 10 shows a table indicating the priority order of the predetermined prediction modes. If the number of prediction modes added to candidate list 0 is not less than a predetermined number (NO in S205), Processing will now be terminated.
[0053] Figure 11 is a flowchart illustrating the operation of the process for generating the prediction mode candidate list 1. The process for generating the prediction mode candidate list 1 will be explained based on Figure 11. First, prediction Mode candidate list 1 is empty, and the number of candidates in prediction mode candidate list 1 is 0. The list of prediction mode candidates will be abbreviated as the candidate list.
[0054] Place block X in the order of block A, block B, block C, block D, block E. Then repeat steps S310, S301, S302, S303, S304, and S305. (S300 and S306).
[0055] Check whether block X is using the angle intra prediction mode (S310). If LockX is using the angle intra prediction mode (YES in S310), then in S301... Proceed. If block X is not using the angle intra prediction mode (NO in S310), Proceed to S306.
[0056] For block X, the selection prediction mode N is given in the order of selection prediction mode 1 and selection prediction mode 0, S Repeat steps 302, S303, and S304 (S301 and S305).
[0057] If the same selection prediction mode N as block X does not exist in candidate list 1 (YE in S302) S) Add the prediction mode for block X to candidate list 1 (S303). Then, candidate list Check whether the number of prediction modes added to Street 1 has reached a predetermined number (S304), and select candidate models. If the number of prediction modes added to Street 1 reaches a predetermined number (YES in S304), then process Terminate. If the number of prediction modes added to candidate list 1 has not reached a predetermined number, (S Proceed to NO. 304, then to S305. Here, the predetermined number is 3. Block in Candidate List 1. If the same selection prediction mode N as X exists (NO in S302), proceed to S305.
[0058] Next, if the number of prediction modes added to candidate list 1 is less than a predetermined number (Y in S307) ES), based on the priority of the predetermined prediction modes, if the same prediction mode is duplicated in candidate list 1 To prevent this, add the prediction mode candidates to candidate list 1 in order of increasing priority (S30 8) The process is terminated. Figure 12 shows a table indicating the priority order of the predetermined prediction modes. The table in Figure 12 differs from the table in Figure 10 in that it shows the non-angle intra prediction mode (prediction mode 0 and prediction mode 0). Option 1) is not included. Also, the priority is between the vertical intra-prediction mode and the horizontal The intra-prediction modes are set alternately. The number of prediction modes added to the candidate list If the number is less than the specified number (NO in S307), the process will terminate.
[0059] Here, the effects obtained by Embodiment 1 will be explained. When the size is large, there is a higher probability that the block being predicted contains multiple edges. Thus, when there are multiple edges within the block to be predicted, one int Predicting the target block using only the prediction mode is likely to result in decreased prediction efficiency.
[0060] Therefore, as stated above, when the size of the block to be predicted is large, two I When predicting in prediction mode, if there are edges in two directions in the block to be predicted This allows for addressing these issues and improving prediction efficiency.
[0061] Next, we will discuss the details of the coding for intra-prediction mode (the code sequence for intra-prediction mode). explain. Figure 13 is a diagram illustrating the syntax for the intra-prediction mode of Embodiment 1. Figure 13 shows the syntax of the prediction block, where pbWidth is the width of the prediction block. pbHeight indicates the height of the predicted block. pbWThread is a given threshold width, pb HThread exhibits a predetermined threshold height. Intra prediction mode coding and intra prediction mode Decryption is performed based on the syntax shown in Figure 13.
[0062] prev_intra_luma_pred_flag, mpm_idx, and rem _intra_luma_pred_mode is syntax for selection prediction mode 0. The prev_intra_luma_pred_flag is a list of candidate prediction modes. This flag indicates whether to select selection prediction mode 0 from T0. If _luma_pred_flag is 1, select a prediction mode from prediction mode candidate list 0. If code 0 is selected and prev_intra_luma_pred_flag is 0, Select Prediction Mode 0 from the intra-prediction modes that are not included in Prediction Mode Candidate List 0. It is done. mpm_idx is selected from the candidates included in prediction mode candidate list 0. This is an index indicating selection prediction mode 0. rem_intra_luma_pred_ The mode is a selected prediction mode chosen from candidates not included in prediction mode candidate list 0. This is an index that represents 0.
[0063] 2nd_prev_intra_luma_pred_flag, 2nd_mpm_i dx and 2nd_rem_intra_luma_pred_mode are selected predictive modes. This is the syntax for D1. 2nd_prev_intra_luma_pred _flag indicates whether or not to select prediction mode 1 from the prediction mode candidate list 1. It's lag. 2nd_prev_intra_luma_pred_flag is 1. Then, from the list of prediction mode candidates 1, prediction mode 1 is selected, and 2nd_prev_in If tra_luma_pred_flag is 0, it is included in the prediction mode candidate list 1. From the available intra-prediction modes, prediction mode 1 is selected. 2nd_mpm_idx is This indicates the selected prediction mode 1 from the candidates included in the prediction mode candidate list 1. This is DEX. 2nd_rem_intra_luma_pred_mode is predictive mode This index indicates selection prediction mode 1, which is selected from candidates not included in candidate list 1. It's a kus.
[0064] prev_intra_luma_pred_flag, rem_intra_lum a_pred_mode, 2nd_prev_intra_luma_pred_fla g and 2nd_rem_intra_luma_pred_mode are fixed length (FL) Binarized, mpm_idx and 2nd_mpm_idx are truncated rice (TR )It is binarized.
[0065] (Modification 1 of Embodiment 1) The following describes a modification 1 of Embodiment 1. Angle intra prediction mode (prediction mode) In calculating the predicted values from mode 2 to prediction mode 34), the target of prediction varies according to each angle. Instead of calculating the predicted value from the adjacent pixels of the lock, the adjacent pixels of the block to be predicted are used. Alternatively, predicted values may be calculated from reference pixels generated by rethinking.
[0066] Furthermore, if the number of prediction modes is 1, the adjacent pixels of the block to be predicted are filtered and generated The predicted value is calculated from the reference pixels, and if the number of prediction modes is 2, the adjacent blocks to be predicted are... It is also possible to calculate predicted values from pixels. This way, the prediction mode is enabled. The processing load when the number is 1 and the processing load when the number of prediction modes is 2 can be made equal.
[0067] (Modification 2 of Embodiment 1) The following describes a modified example of Embodiment 1. In Embodiment 1, the prediction mode candidate Stroke 1 is generated as shown in Figure 11, which is different from prediction mode candidate list 0, and prediction mode candidate list I selected prediction mode 1 from selection list 1, but I also selected prediction mode 1 from prediction mode candidate list 0. You may choose this option. Doing so eliminates the process of generating the prediction mode candidate list 1. It can be reduced.
[0068] Furthermore, the predetermined number of candidates in prediction mode candidate list 0 can be made greater than 3. Example For example, the predetermined number of candidates in prediction mode candidate list 0 may be set to 5. In this case, the selected prediction mode This increases the probability that code 1 is encoded as 2nd_mpm_idx, thereby improving encoding efficiency. This is possible. If the predetermined number is greater than 3, the priority of the predetermined prediction mode will also be set to the predetermined number. Prepare a total of four or more. In this case, the priority order is vertical intra-prediction mode and water The system alternates between horizontal and horizontal intra-prediction modes.
[0069] (Modification 3 of Embodiment 1) The following describes a modification 3 of Embodiment 1. In Embodiment 1, the selected prediction mode 1 One prediction mode was selected from prediction modes 0 to 34. In modified example 3, the selected prediction mode You may also select 1 from the prediction mode candidate list 1. In this case, see 2nd_pre in Figure 13. v_intra_luma_pred_flag and 2nd_rem_intra_lum a_pred_mode is no longer needed, and only 2nd_mpm_idx is required. This improves the coding efficiency of selection prediction mode 1.
[0070] (Modification 4 of Embodiment 1) The following describes a modification 4 of Embodiment 1. In Embodiment 1, the prediction mode candidate In Figure 11, St1 was generated independently of the selected prediction mode 0. In modified example 4, the prediction mode Candidate list 1 is generated based on selection prediction mode 0.
[0071] Here, as shown in (Equation 1) and (Equation 2) below, the modes adjacent to selected prediction mode 0 are predicted. Add it as candidate list 1. This will result in a prediction that is an intermediate between two adjacent prediction modes. This will allow you to generate modes. Prediction mode candidate list1[0] = (Selected prediction mode 0-1) % 35 ... (Equation 1) Prediction mode candidate list 1[1] = (Selected prediction mode 0 + 1) % 35 ... (Equation 2) "%" is the modulo operator, and "35" is the intra-prediction mode number. That is, (select The remainder when the selection prediction mode (0-1) is divided by 35 is added to the prediction mode candidate list 1[0]. Similarly, the remainder when (selection prediction mode 0+1) is divided by 35 is the prediction mode candidate list 1. It is added to [1]. The remainder will be in the range of 0 to 34. Note that selection prediction mode 0 does not take the non-angle intra prediction mode, therefore selection prediction mode 0 cannot take prediction mode 0 or prediction mode 1. Therefore, the selected prediction mode is 0. If prediction mode is 2, then the prediction mode candidate list 1[0] will be prediction mode 1, but prediction Mode 1 is a non-angle intra-prediction mode and is therefore disabled. Similarly, select prediction mode 0 If the prediction mode is 34, then the prediction mode candidate list 1[1] will be prediction mode 0, Prediction mode 0 is a non-angle intra-prediction mode and will therefore be disabled.
[0072] Furthermore, the syntax for intra-predictive mode is also different. Figure 14 is a diagram illustrating the syntax for the intra-prediction mode in Modification 4. If 2nd_intra_luma_pred_0_flag is 1, then it is in selection prediction mode. Select the prediction mode candidate list 1[0] as 1, and 2nd_intra_luma_pr If ed_0_flag is 0, then the selected prediction mode is 1, and the prediction mode candidate list 1[1 Select ]. Doing so improves the coding efficiency of selected prediction mode 1. This is possible. If the selected prediction mode 0 is prediction mode 2 or prediction mode 34, the intra The prediction mode is uniquely determined to be 0. Therefore, 2nd_intra_luma_pre There is no need to encode or decode d_0_flag. This improves encoding efficiency and processing efficiency. The rate can be further improved.
[0073] (Modification 5 of Embodiment 1) The following describes a modified example 5 of Embodiment 1. Predicted value weighting unit 1 of Embodiment 1 25 is the predicted value for selected prediction mode 0 and selected prediction mode 1 if the number of prediction modes is 2. The measured values were simply averaged to obtain the predicted value. In Modification 5, the predicted value for selected prediction mode 0 and the selected prediction The predicted values for Mode 1 are weighted and averaged according to distance to obtain the final predicted value.
[0074] The distance between the target pixel and the adjacent pixel N0 in selection prediction mode 0 is d0, and the target pixel and selection If d1 is the distance to the adjacent pixel N1 in prediction mode 1, then the weighted average of the predicted value PP is (Equation 3) It is calculated as follows: PP=(N0*d1+N1*d0) / (d0+d1) (Formula 3)
[0075] (Modification 6 of Embodiment 1) The following describes a modification 6 of Embodiment 1. In Embodiment 1, the number of prediction modes Whether to choose 1 or 2 depends on whether the width of the block to be predicted is greater than or equal to a predetermined threshold width and the prediction This was determined by whether the height of the target block was above a predetermined threshold. This was then used, for example, in predictive mode. Specify the prediction mode number flag, which indicates whether the mode number is 1 or 2, by encoding (decoding) it. This is also possible. In this case, the prediction efficiency is improved because it can be controlled more precisely using flags.
[0076] (Embodiment 2) Embodiment 2 will be described below. The configuration of the intra predictive selection unit is different from that of Embodiment 1. The behavior is different.
[0077] Figure 15 shows the configuration of the intra predictive selection unit 120 according to Embodiment 2 of the present invention. The intra prediction selection unit 120 includes a prediction mode candidate generation unit 122, a prediction mode selection unit 123, and It includes a measurement value calculation unit 124 and a predicted value weighting unit 125.
[0078] Figure 16 is a flowchart illustrating the operation of the intra-predictive selection unit 120. Hereafter, Figures 15 and 16 will be used to explain the details of the intra prediction selection unit 120. First, the prediction mode The candidate generation unit 122 repeats steps S501 to S503 for each non-angle intra prediction mode K. Next, calculate the evaluation value of the non-angle intra prediction mode K (S502). If K is 0, If K is 1, calculate the evaluation value of INTRA_DC for INTRA_PLANAR.
[0079] Next, the prediction mode candidate generation unit 122 generates a number of prediction mode candidate list M items from S505. Repeat S508. The prediction mode candidate generation unit 122 is located around the block to be predicted. A list of prediction mode candidates M is generated from the encoded adjacent blocks (S506), and The prediction mode candidate list M is supplied to the prediction mode selection unit 123. M is generated such that if M is 0, it includes a horizontal intra-prediction mode, and if M is 1, If so, it will be generated to include the vertical intra-prediction mode. Prediction mode candidate list M This does not include non-angle intra-prediction mode.
[0080] The prediction mode candidate generation unit 122, if the prediction mode candidate list is 0, then the prediction mode candidate list Prediction modes 2 through 17 are horizontal intra-prediction modes included in Street 0. The predicted and evaluated values for each prediction mode are calculated, and the prediction mode is determined based on the evaluated value of each prediction mode. From the 17 prediction modes in code 2, select one prediction mode, which is mode 0.
[0081] The prediction mode candidate generation unit 122, in the case of prediction mode candidate list 1, generates prediction mode candidate list Prediction modes 18 to 3 are the vertical intra-prediction modes included in Street 1. Calculate the predicted and evaluated values for each of the 4 prediction modes, and then make a prediction based on the evaluated value of each prediction mode. Select one from measurement mode 18 to prediction mode 34. Select prediction mode 1 (S507) As described above, if M is 0, it indicates a horizontal intra-prediction mode, and if M is 1, This indicates the intra-prediction mode in the vertical direction. In other words, M indicates the direction of the intra-prediction mode. vinegar.
[0082] Next, the prediction mode candidate generation unit 122 generates the predicted value for selected prediction mode 0 and selected prediction mode 1 The predicted values are weighted and averaged to calculate an evaluation value for a prediction mode of 2 (S510). Next, the prediction The mode selection unit 123 is based on evaluation values for prediction mode 0, prediction mode 1, and the number of prediction modes being 2. Therefore, one intraprediction is selected from prediction mode 0, prediction mode 1, and prediction mode number 2. Select a mode (S511). Next, the predicted value weighting unit 125 selects the intra The predicted value is output based on the prediction mode (S512).
[0083] Furthermore, Embodiment 2 differs from Embodiment 1 in that the syntax related to the intra-prediction mode is different. different.
[0084] Figure 17 is a diagram illustrating the syntax for the intra-prediction mode of Embodiment 2. The encoding and decoding of intra-predictive mode are performed using the syntax shown in Figure 17. It will continue based on this.
[0085] intra_luma_merge_flag is the number of prediction modes for the block to be predicted and As an intra-prediction mode, the number of prediction modes of adjacent blocks and the intra-prediction mode are used. This is a merge flag indicating whether or not to merge.
[0086] intra_luma_merge_idx is the number of prediction modes for the block to be predicted and input The number of prediction modes to be used as the prediction mode and adjacent blocks having intra-prediction modes. This indicates.
[0087] Figure 18 is a table showing the relationship between intra_luma_merge_idx and adjacent blocks. For example, if intra_luma_merge_idx is 0, then adjacent block A If the number of prediction modes is 1 and the selected prediction mode 0 is prediction mode 3, then the block to be predicted is The number of prediction modes is 1, and selected prediction mode 0 becomes prediction mode 3. In another example, int ra_luma_merge_idx is 2, and the number of prediction modes of adjacent block C is 2, If prediction mode 0 is prediction mode 3 and prediction mode 1 is prediction mode 20, then prediction The target block has 2 prediction modes, and selected prediction mode 0 is prediction mode 3, and selected prediction mode D1 corresponds to prediction mode 20.
[0088] intra_luma_non_angular_pred_flag is non-angular This flag indicates whether or not it is in prediction mode. The flag indicating this is in non-angle intra prediction mode (intra_luma_n If on_angular_pred_flag is 1, then non_angular_idx Encode (decode) the data, and the intra-prediction mode indicated by non_angular_idx is selected. Selected as prediction mode. non_angular_idx is non-angular intra prediction mode Indicates the prediction mode of the code. If non_angular_idx is 0, then INTRA_P LANAR indicates INTRA_DC if it is 1. Is it in non-angle intra prediction mode? The flag indicating whether or not it is not in non-angle intra prediction mode (intra_luma If _non_angular_pred_flag is 0, then prev_intra_ luma_pred_h_flag, mpm_idx_h, rem_intra_lum The index a_pred_mode_h etc. is encoded (decoded), and non-angle intra An intra-prediction mode other than the prediction mode is selected as the selected prediction mode.
[0089] intra_luma_pred_idc indicates the number of prediction modes and the direction of intra-prediction. If intra_luma_pred_idc is 0, the number of prediction modes is 1 and horizontally This indicates that it is an intra prediction mode, and intra_luma_pred_idc is 1 If so, the number of prediction modes is 1, indicating a vertical intra prediction mode, and intra_lu If ma_pred_idc is 2, it indicates that the number of predicted modes is 2.
[0090] prev_intra_luma_pred_h_flag, mpm_idx_h, and rem_intra_luma_pred_mode_h is a horizontal intra-prediction mode This is syntax related to the code. prev_intra_luma_pred_v_f lag, mpm_idx_v, and rem_intra_luma_pred_mode _v is the syntax for the vertical intra-prediction mode. Here, rem_i ntra_luma_pred_mode_h and rem_intra_luma_pre d_mode_v does not include non-angle intra-prediction modes.
[0091] As in Embodiment 2, the intra-prediction mode of the adjacent block to the block to be predicted is By using the merge flag that is used as is, when the number of prediction modes is 2 or the prediction mode This can improve the coding efficiency of prediction modes that are not present in the candidate list.
[0092] Furthermore, the intra prediction mode is divided into prediction mode 0, which is a non-angle intra prediction mode, and prediction mode Prediction mode 1 is the horizontal intra-prediction mode, from prediction mode 2 to prediction mode 17, and the vertical The intra-prediction mode is classified into prediction mode 18 to prediction mode 34, and the intra-prediction The syntax for measurement mode is a syntax element for non-angle intra prediction mode, horizontal Divide the syntax into syntax elements for directional prediction and syntax elements for vertical prediction. Therefore, when selecting a prediction mode that is not in the list of prediction mode candidates, the coding efficiency is improved. It can be done.
[0093] In other words, intra_luma_non_angular_pred_flag re m_intra_luma_pred_mode_h and rem_intra_luma_ By encoding (decoding) before pred_mode_v, rem_intra_lu ma_pred_mode_h and rem_intra_luma_pred_mode_ In addition to the intra prediction mode candidates included in the prediction mode candidate list, v also includes non-angle intra It will no longer be necessary to include the predictive mode. Therefore, rem_intra_luma_pre This can be specified using d_mode_h or rem_intra_luma_pred_mode_v. This allows for an increase in the number of angle-intra prediction modes, thereby improving coding efficiency. Yes, it is possible. The intra-prediction mode to increase is, for example, the horizontal intra-prediction mode. If so, a new one will occur between prediction mode 9 and prediction mode 10, or between prediction mode 10 and prediction mode 11. You can set an angle, and if it's a vertical intra prediction mode, then prediction mode 25 and New angle intra-prediction mode during measurement mode 26 or between prediction mode 26 and prediction mode 27 You may include a "do" (a type of character).
[0094] Furthermore, generally speaking, non-angle intra-prediction modes have a higher selection probability than angle intra-prediction modes. The value is high. Therefore, intr is an independent syntax that indicates non-angle intra prediction mode. a_luma_non_angular_pred_flag and mpm_idx_h and m By encoding (decoding) before pm_idx_v, the prediction mode candidate list 0 and prediction mode It is no longer necessary to include the non-angle intra prediction mode in the candidate list 1. Therefore, the selection If the prediction mode is a non-angle intra prediction mode, then the prediction mode candidate list 0 or prediction mode This reduces the processing cost required to generate candidate list 1.
[0095] Furthermore, the number of non-angle intra prediction modes can be increased to more than 2, or non-angle intra When further classifying the type of prediction mode or the angle of the intra-prediction mode, merge Classifying flags and syntax effectively improves coding efficiency. luma_merge_idx, intra_luma_merge_idx or intr a_luma_non_angular_pred_flag, non_angular_ IDX also applies to the syntax in Figure 2 of the conventional example and Figures 13 and 14 of Embodiment 1, similarly to MPM. It can also be applied before _idx.
[0096] (Modification 1 of Embodiment 2) The following describes a modification 1 of Embodiment 2. In Embodiment 2, the prediction mode candidate List 0 is the horizontal intra prediction mode, and prediction mode candidate list 1 is the vertical intra prediction mode. The intra prediction mode is defined as a list of prediction mode candidates and syntax related to the intra prediction mode. The classification of "S" was aligned, but it is not limited to this.
[0097] The prediction mode candidate list is, as in the prediction mode candidate list of Embodiment 1, non-angle input All of the following modes are available: horizontal prediction mode, horizontal intra prediction mode, and vertical intra prediction mode. It may be included.
[0098] (Modification 2 of Embodiment 2) The prediction mode candidate list includes horizontal intra-prediction modes and vertical intra-prediction modes. This section describes the case including the intra prediction mode. However, it also describes the case of non-angle intra prediction mode. The do is not included in the prediction mode candidate list. Figure 19 shows the input to Modification 2 of Embodiment 2. This is a diagram explaining the syntax related to the prediction mode. Encoding and decoding of intra-prediction mode are based on the syntax shown in Figure 19. It will be carried out.
[0099] If prev_intra_luma_pred_flag is 1, then non-angle intra A prediction mode is selected from the prediction mode or prediction mode candidate list. Non-angle input The flag indicating whether or not it is in prediction mode indicates that it is in non-angle intra prediction mode. In this case, the non-angular intra-prediction mode, indicated by non_angular_idx, is selected for prediction. Selected as a mode. A flag indicating whether or not it is a non-angle intra prediction mode is set to non-angle. If it indicates that it is not in intra predictive mode, the mpm index (mpm_idx) is The encoded (decoded) input is indicated by mpm_idx, which is included in the prediction mode candidate list. The candidate for the tiger prediction mode is selected as the selected prediction mode. prev_intra_lum If a_pred_flag is 0, it is not non-angle intra prediction mode and is prediction mode. From intra prediction mode not included in the candidate list, rem_intra_luma_pre The intra-prediction mode indicated by d_mode is selected as the selected prediction mode.
[0100] Figure 20 shows another syntax for the intra-prediction mode of Modification 2 of Embodiment 2. This is an explanatory diagram. It concerns the encoding of intra prediction mode and intra Decoding in prediction mode is performed based on the syntax shown in Figure 20.
[0101] If intra_luma_non_angular_pred_flag is 1, The non-angular intra prediction mode, indicated by non_angular_idx, is the selected prediction mode. Selected as intra_luma_non_angular_pred_fla If g is 0 and prev_intra_luma_pred_flag is 1, then prediction The intra predictive mode candidate indicated by mpm_idx included in the mode candidate list is selected. Selected as measurement mode: intra_luma_non_angular_pred If _flag is 0 and prev_intra_luma_pred_flag is 0 This refers to an intra-prediction mode that is not a non-angle intra-prediction mode and is not included in the prediction mode candidate list. Intra-pred mode is indicated by rem_intra_luma_pred_mode from the measurement mode. The measurement mode is selected as the prediction mode.
[0102] In the modified example 2 of Embodiment 2, rem_intra_luma_pred_mode is From all 35 intra prediction modes, intra prediction mode candidates and non-angle intra prediction modes It is sufficient to show the 30 intra prediction modes excluding D, and a new intra prediction mode Adding this can improve coding efficiency. Here, a new intra-prediction mode For example, between prediction mode 9 and prediction mode 10, or between prediction mode 10 and prediction mode 11 Between prediction mode 25 and prediction mode 26, and between prediction mode 26 and prediction mode 27, new A non-angle intra prediction mode may be provided. Also, in Figure 20, a non-angle intra prediction mode is provided. The code is intra_luma_non_angular_pred_flag and non_ Since it can be encoded (decoded) with angular_idx, the non-angle intra prediction mode is selected. Processing and coding efficiency improve when the probability is relatively higher than other intra-prediction modes. ru.
[0103] (Modification 3 of Embodiment 2) Next, the list of prediction mode candidates includes INTRA_DC for non-angle intra prediction mode, and horizontal. The intra prediction mode for direction and the intra prediction mode for vertical direction This section explains the cases in which it is included. However, INTRA_PLANAR is the list of prediction mode candidates. It is not included. Embodiment 2 is a flag indicating whether or not it is a non-angle intra prediction mode. Encode the flag (intra_luma_non_angular_pred_flag) (Decoded). Modification 3 of Embodiment 2 indicates whether or not it is a non-angle intra prediction mode. The flag is selected as the intra prediction mode with the highest probability of selection among intra prediction modes. Encode (decode) only the flag indicating whether or not it is TRA_PLANAR. If the measurement mode is INTRA_PLANAR, non_angular_idx is a sign There is no need for encoding (decoding), and the encoding efficiency of INTRA_PLANAR can be improved. The flag indicating whether or not it is NTRA_PLANAR is INTRA_PLANAR. If this is indicated, INTRA_PLANAR is selected as the prediction mode. Figure 19 So, the flag that indicates whether or not it is INTRA_PLANAR is INTRA_PLANAR If it indicates that it is not, mpm_idx is encoded (decoded) and INTRA_PLA An intra-prediction mode other than NAR is selected as the selected prediction mode. In Figure 20, IN The flag indicating whether or not it is TRA_PLANAR is not INTRA_PLANAR. If you want to indicate this, use prev_intra_luma_pred_flag, mpm_idx Indices such as are encoded (decoded), and intra-plans other than INTRA_PLANAR are entered. The measurement mode is selected as the prediction mode.
[0104] In the modified example 3 of Embodiment 2, rem_intra_luma_pred_mode is From all 35 intra prediction modes, intra prediction mode candidates and INTRA_PLANA It is sufficient to show the 31 intra-prediction modes excluding R, and a new intra-prediction mode Adding this can improve coding efficiency. Here, a new intra-prediction mode For example, between prediction mode 9 and prediction mode 10, or between prediction mode 10 and prediction mode 11 Between prediction mode 25 and prediction mode 26, and between prediction mode 26 and prediction mode 27, new A shelf angle intra prediction mode may be provided. Also, in Figure 20, INTRA_PLANA R is one flag of intra_luma_non_angular_pred_flag Because it can be encoded using only the 'g', the selection probability of INTRA_PLANAR is different from other intra-prediction models. When the encoding efficiency and processing efficiency are relatively higher than the code, they can be optimized. Also, in Figure 19, INTRA_PLANAR is prev_intra_luma_pred_flag and i The two flags ntra_luma_non_angular_pred_flag are used to write Because it can be numbered, the selection probability of INTRA_PLANAR is higher than other intra-prediction modes. When the values are relatively high, coding efficiency and processing efficiency improve.
[0105] The encoded stream output by the image encoding device of the above embodiment is, in the embodiment A specific data format can be decoded according to the encoding method used. It has an image encoding device, and the image decoding device corresponding to this specific data format The encoded stream can be decoded.
[0106] To exchange the encoded stream between the image encoding device and the image decoding device, a wired connection is used. Alternatively, when a wireless network is used, the encoded stream should be suitable for the transmission mode of the communication channel. It may be converted to a data format and transmitted. In that case, the encoded data output by the image encoding device will be... The stream is converted into encoded data in a data format suitable for the transmission method of the communication channel and then used for networking. An image transmission device that transmits to, and an image reception device that receives encoded data from a network, restores it to an encoded stream and supplies it to an image decoding device are provided.
[0107] The image transmission device includes a memory that buffers the encoded stream output by the image encoding device , a packet processing unit that packetizes the encoded stream into encoded data, and a transmission unit that transmits the packetized encoded data via a network. The image reception device includes [[ID=1e]]a reception unit that receives the packetized encoded data via a network, a packet processing unit that packet-processes the received encoded data into an encoded stream, and a memory that buffers the encoded stream, and the encoded stream in the buffer is supplied to the image decoding device.
[0108] Also, by adding a display unit that displays the image decoded by the image decoding device to the configuration, it is also possible to make it a display device. In that case, the display unit displays the decoded image signal decoded by the image decoding device on the screen.
[0109] Also, by adding an imaging unit to the configuration and inputting the captured image to the image encoding device, it is also possible to make it an imaging device. In that case, the imaging unit inputs the captured image signal to the block size determination unit 110.
[0110] Of course, the above processing related to encoding and decoding can be realized by using hardware transmission, storage, and reception devices, and can also be realized by firmware stored in a ROM (Read Only Memory), a flash memory, etc., or software such as a computer. The firmware program and the software program It can be provided by recording it on a computer-readable recording medium, or via wired or wireless communication. It can also be provided from a server via the network, or through terrestrial or satellite digital broadcasting. It can also be provided as data broadcasting.
[0111] The present invention has been described above based on embodiments. The embodiments are illustrative and their respective components The fact that various variations are possible in the combination of constituent elements and each processing process, and such variations Those skilled in the art will understand that this also falls within the scope of the present invention. Although variations have been described, each embodiment and variation can be combined in any way.
[0112] The embodiments may be specified by the following items.
[0113] [Item 1] From the intra prediction mode of the block adjacent to the block to be predicted, the first intra prediction mode Prediction mode candidate generation unit generates a list of candidate modes and a second intra-prediction mode candidate list. (122) and, The first intra-prediction mode candidate list and the second intra-prediction mode candidate list Select the first intra prediction mode and the second intra prediction mode from the following options. The selection section (123) and, Based on the first intra prediction mode, the encoded blocks adjacent to the predicted block A first predicted value is calculated from the pixels, and the predicted value is calculated based on the second intra prediction mode. Prediction value calculation unit (12) calculates a second predicted value from the encoded pixels adjacent to the elephant block. 4) and, A prediction value weighting unit calculates a third prediction value based on the first and second prediction values. 125) and, An image encoding device (100) characterized by having the following. [Item 2] The predicted value weighting unit (125) calculates the first predicted value and the second predicted value by taking a simple average of the two predicted values. The image coding described in item 1 is characterized in that the third predicted value is calculated by weighted averaging. Equipment (100). [Item 3] If the number of intra prediction modes is 2, the prediction mode candidate generation unit (122) will... A list of 2 intra-prediction mode candidates is generated, and if the number of intra-prediction modes is 1, the above Without generating a second intra-prediction mode candidate list, The prediction mode selection unit (123) determines the second prediction mode if the number of intra prediction modes is 2. Select the intra prediction mode, and if the number of intra prediction modes is 1, the second intra Do not select prediction mode. The aforementioned prediction value calculation unit (124) calculates the second prediction value if the number of intra prediction modes is 2. If the number of intra-prediction modes is 1, the second prediction value is not calculated. The predicted value weighting unit (125) determines the first prediction mode if the number of intra prediction modes is 2. A third prediction value is calculated based on the first and second prediction values, and the number of intra prediction modes is 1. If so, the first predicted value is used as is, as described in item 1 or 2. Image encoding device (100). [Item 4] The width of the block to be predicted is greater than or equal to a predetermined threshold width and the height of the block to be predicted is predetermined If the threshold is greater than or equal to the threshold, the number of intra prediction modes is set to 2, and the width of the prediction target block is set to If the threshold width is greater than or equal to a predetermined threshold and the height of the block to be predicted is greater than or equal to a predetermined threshold height, then intra The term further comprises a mode number determination unit (121) that determines the number of prediction modes to be 1. Image encoding device (100) as described in item 3. [Item 5] When the number of intra prediction modes is determined by the mode number determination unit (121) and the first intra prediction mode is a non-angular intra prediction mode, the number of intra prediction modes is set to 1. The image encoding apparatus (100) according to Item 4. prediction mode, the number of intra prediction modes is set to 1, and the image encoding apparatus (100) according to Item 4. device. [Item 6] When the number of intra prediction modes is 2, the encoding unit (140) further encodes the information of the second intra prediction mode as a code sequence. The image encoding apparatus (100) according to any one of Items 3 to 5. encoding unit (140) further encodes the information of the second intra prediction mode as a code sequence. The image encoding apparatus (100) according to any one of Items 3 to 5. device. [Item 7] A plurality of intra prediction modes for performing intra prediction using encoded pixels adjacent to the prediction target block are classified into non-angular intra prediction modes and angular intra prediction modes, and the syntax elements of the non-angular intra prediction mode and the angle are classified. The encoding unit (140) further divides the syntax elements of the intra prediction mode and generates a code sequence. The image encoding apparatus (100) according to any one of Items 1 to 5. encoding unit (140) further divides the syntax elements of the intra prediction mode and generates a code sequence. The image encoding apparatus (100) according to any one of Items 1 to 5. 并将所述非角度帧内预测模式的语法元素和所述角度帧内预测模式的语法元素分开,以生成码流。根据项目1至5中任一项所述的图像编码装置(100)。 encoding unit (140) further divides the syntax elements of the intra prediction mode and generates a code sequence. The image encoding apparatus (100) according to any one of Items 1 to 5. encoding unit (140) further divides the syntax elements of the intra prediction mode and generates a code sequence. The image encoding apparatus (100) according to any one of Items 1 to 5. device. [Item 8] 并将所述预测对象块的第一帧内预测模式和第二帧内预测模式作为预测对象块的第一帧内预测模式和第二帧内预测模式进行获取,并编码到一个语法元素中。根据项目1至4中任一项所述的图像编码装置(100)。 encoding unit (140) further encodes the first intra prediction mode and the second intra prediction mode of the block adjacent to the prediction target block as the first intra prediction mode and the second intra prediction mode of the prediction target block into one syntax element. The image encoding apparatus (100) according to any one of Items 1 to 4. encoding unit (140) further encodes the first intra prediction mode and the second intra prediction mode of the block adjacent to the prediction target block as the first intra prediction mode and the second intra prediction mode of the prediction target block into one syntax element. The image encoding apparatus (100) according to any one of Items 1 to 4. encoding unit (140) further encodes the first intra prediction mode and the second intra prediction mode of the block adjacent to the prediction target block as the first intra prediction mode and the second intra prediction mode of the prediction target block into one syntax element. The image encoding apparatus (100) according to any one of Items 1 to 4. encoding unit (140) further encodes the first intra prediction mode and the second intra prediction mode of the block adjacent to the prediction target block as the first intra prediction mode and the second intra prediction mode of the prediction target block into one syntax element. The image encoding apparatus (100) according to any one of Items 1 to 4. device. [Item 9] A prediction mode candidate step that generates a first intra prediction mode candidate list and a second intra prediction mode candidate list from the intra prediction modes of the blocks adjacent to the prediction target block, encoding unit (140) further encodes the first intra prediction mode and the second intra prediction mode of the block adjacent to the prediction target block as the first intra prediction mode and the second intra prediction mode of the prediction target block into one syntax element. The image encoding apparatus (100) according to any one of Items 1 to 4. and The first intra-prediction mode candidate list and the second intra-prediction mode candidate list Select the first intra prediction mode and the second intra prediction mode from the following options. The selection step, Based on the first intra prediction mode, the encoded blocks adjacent to the predicted block A first predicted value is calculated from the pixels, and the predicted value is calculated based on the second intra prediction mode. Prediction calculation step: Calculate a second predicted value from the encoded pixels adjacent to the elephant block. and, A weighted prediction scale calculates a third prediction value based on the first and second prediction values. Top and, An image encoding method characterized by having the following features. [Item 10] From the intra prediction mode of the block adjacent to the block to be predicted, the first intra prediction mode Prediction mode candidate step that generates a list of candidate modes and a second intra-prediction mode candidate list. P and, The first intra-prediction mode candidate list and the second intra-prediction mode candidate list Select the first intra prediction mode and the second intra prediction mode from the following options. The selection step, Based on the first intra prediction mode, the encoded blocks adjacent to the predicted block A first predicted value is calculated from the pixels, and the predicted value is calculated based on the second intra prediction mode. Prediction calculation step: Calculate a second predicted value from the encoded pixels adjacent to the elephant block. and, A weighted prediction scale calculates a third prediction value based on the first and second prediction values. Top and, An image encoding program characterized by causing a computer to execute it. [Item 11] Intra prediction is performed using encoded pixels adjacent to the block to be predicted. An image coding device (100) in which multiple measurement modes are defined, The aforementioned multiple intra prediction modes are defined as non-angle intra prediction mode and angle intra prediction mode. Classified into the syntax elements of the non-angle intra prediction mode and the angle intra prediction It has an encoding unit (140) that divides the code into the syntax elements of the mode and generates a code sequence. An image encoding device (100) characterized by the following. [Item 12] Intra prediction is performed using encoded pixels adjacent to the block to be predicted. An image coding method in which multiple measurement modes are defined, The aforementioned multiple intra prediction modes are defined as non-angle intra prediction mode and angle intra prediction mode. Classified into the syntax elements of the non-angle intra prediction mode and the angle intra prediction The encoding step involves dividing the code into mode syntax elements to generate a code sequence. A characteristic image encoding method. [Item 13] Intra prediction is performed using encoded pixels adjacent to the block to be predicted. An image coding program with multiple measurement modes defined, The aforementioned multiple intra prediction modes are defined as non-angle intra prediction mode and angle intra prediction mode. Classified into the syntax elements of the non-angle intra prediction mode and the angle intra prediction The encoding step involves dividing the code into syntax elements of the mode and generating a code sequence, which is then performed by a computer. An image encoding program characterized by its execution. [Item 14] Intra prediction is performed using encoded pixels adjacent to the block to be predicted. An image coding device (100) in which multiple measurement modes are defined, The first intra prediction mode and the second intra prediction mode of the block adjacent to the block to be predicted The measurement mode is defined as the first intra prediction mode and the second intra prediction mode of the prediction target block. It has an encoding unit (140) that takes it as a code and encodes it into a single syntax element. An image encoding device (100) characterized by the following. [Item 15] Intra prediction is performed using encoded pixels adjacent to the block to be predicted. An image coding method in which multiple measurement modes are defined, The first intra prediction mode and the second intra prediction mode of the block adjacent to the block to be predicted The measurement mode is defined as the first intra prediction mode and the second intra prediction mode of the prediction target block. It has an encoding step that takes the data and encodes it into a single syntax element. A characteristic image encoding method. [Item 16] Intra prediction is performed using encoded pixels adjacent to the block to be predicted. An image coding program with multiple measurement modes defined, The first intra prediction mode and the second intra prediction mode of the block adjacent to the block to be predicted The measurement mode is defined as the first intra prediction mode and the second intra prediction mode of the prediction target block. The computer takes the data as a code and performs an encoding step to encode it into a single syntax element. An image encoding program characterized by its execution. [Item 17] From the intra prediction mode of the block adjacent to the block to be predicted, the first intra prediction mode Prediction mode candidate generation unit generates a list of candidate modes and a second intra-prediction mode candidate list. (122) and, A first intra prediction mode is selected from the code sequence of the first intra prediction mode, Prediction mode that selects the second intra-prediction mode from the code sequence of the second intra-prediction mode. Selection section (123), Based on the first intra prediction mode, the decoded blocks adjacent to the predicted block A first predicted value is calculated from the pixels, and the prediction target is determined based on the second intra prediction mode. Prediction value calculation unit (124) calculates a second predicted value from the decoded pixels adjacent to the block. and, A prediction value weighting unit calculates a third prediction value based on the first and second prediction values. 125) and, An image decoding device (200) characterized by having the following. [Item 18] The predicted value weighting unit (125) calculates the first predicted value and the second predicted value by taking a simple average of the two predicted values. Image decoding according to item 17, characterized in that the third predicted value is calculated by weighted averaging. Equipment (200). [Item 19] If the number of intra prediction modes is 2, the prediction mode candidate generation unit (122) will... A list of 2 intra-prediction mode candidates is generated, and if the number of intra-prediction modes is 1, the above Without generating a second intra-prediction mode candidate list, The prediction mode selection unit (123) determines the second prediction mode if the number of intra prediction modes is 2. Select the intra prediction mode, and if the number of intra prediction modes is 1, the second intra Do not select prediction mode. The aforementioned prediction value calculation unit (124) calculates the second prediction value if the number of intra prediction modes is 2. If the number of intra-prediction modes is 1, the second prediction value is not calculated. The predicted value weighting unit (125) determines the first prediction mode if the number of intra prediction modes is 2. A third prediction value is calculated based on the first and second prediction values, and the number of intra prediction modes is 1. If so, item 17 or 18 is characterized by using the first predicted value as is. The image decoding device (200) described above. [Item 20] The width of the block to be predicted is greater than or equal to a predetermined threshold width and the height of the block to be predicted is predetermined If the threshold is greater than or equal to the threshold, the number of intra prediction modes is set to 2, and the width of the prediction target block is set to If the threshold width is greater than or equal to a predetermined threshold and the height of the block to be predicted is greater than or equal to a predetermined threshold height, then intra The term further comprises a mode number determination unit (121) that determines the number of prediction modes to be 1. Image decoding device (200) as described in item 19. [Item 21] The mode number determination unit (121) determines that the first intra prediction mode is a non-angle intra prediction The item described in item 20 is characterized in that, when in measurement mode, the number of intra prediction modes is set to 1. Image decoding device (200). [Item 22] When the number of intra-prediction modes is 2, the code sequence of the second intra-prediction mode is decoded. The invention further comprises a decoding unit (210) as described in any one of items 17 to 21. The image decoding device (200) described above. [Item 23] Multiple intra-predictions are performed using decoded pixels adjacent to the block to be predicted. The intra prediction mode is classified into non-angle intra prediction mode and angle intra prediction mode. The syntax elements of the non-angle intra prediction mode and the syntax of the angle intra prediction mode The system further includes a decoding unit (210) that decodes the code sequence generated by dividing it into tax elements. An image decoding device (200) as described in any one of items 17 to 21, characterized by the above. [Item 24] The first intra prediction mode and the second prediction mode of the block adjacent to the block to be predicted The intra prediction mode of the prediction target block and the first intra prediction mode of the prediction target block and The code sequence, acquired as the second intra-prediction mode and encoded into a single syntax element. Any of items 17 to 21, further characterized by having a decoding unit (210) that decodes the The image decoding device (200) described in item 1. [Item 25] From the intra prediction mode of the block adjacent to the block to be predicted, the first intra prediction mode Prediction mode candidate generator generates a list of candidate modes and a second intra-prediction mode candidate list. Step and, A first intra prediction mode is selected from the code sequence of the first intra prediction mode, Prediction mode that selects the second intra-prediction mode from the code sequence of the second intra-prediction mode. Selection step, Based on the first intra prediction mode, the decoded blocks adjacent to the predicted block A first predicted value is calculated from the pixels, and the prediction target is determined based on the second intra prediction mode. A prediction value calculation step in which a second prediction value is calculated from the decoded pixels adjacent to the block, A weighted prediction scale calculates a third prediction value based on the first and second prediction values. Top and, An image decoding method characterized by having the following features. [Item 26] From the intra prediction mode of the block adjacent to the block to be predicted, the first intra prediction mode Prediction mode candidate generator generates a list of candidate modes and a second intra-prediction mode candidate list. Step and, A first intra prediction mode is selected from the code sequence of the first intra prediction mode, Prediction mode that selects the second intra-prediction mode from the code sequence of the second intra-prediction mode. Selection step, Based on the first intra prediction mode, the decoded blocks adjacent to the predicted block A first predicted value is calculated from the pixels, and the prediction target is determined based on the second intra prediction mode. A prediction value calculation step in which a second prediction value is calculated from the decoded pixels adjacent to the block, A weighted prediction scale calculates a third prediction value based on the first and second prediction values. Top and, An image decoding program characterized by having a computer execute it. [Item 27] Intra-prediction is performed using decoded pixels adjacent to the block to be predicted. An image decoding device (200) in which multiple modes are defined, The aforementioned multiple intra prediction modes are defined as non-angle intra prediction mode and angle intra prediction mode. Classified into the syntax elements of the non-angle intra prediction mode and the angle intra prediction It has a decoding unit (210) that decodes the code sequence generated by splitting it into the syntax elements of the mode. An image decoding device (200) characterized by doing so. [Item 28] Intra-prediction is performed using decoded pixels adjacent to the block to be predicted. A method for decoding images with multiple defined modes, The aforementioned multiple intra prediction modes are defined as non-angle intra prediction mode and angle intra prediction mode. Classified into the syntax elements of the non-angle intra prediction mode and the angle intra prediction The decoding step involves decoding the code sequence generated by splitting it into the syntax elements of the mode. An image decoding method characterized by the following: [Item 29] Intra-prediction is performed using decoded pixels adjacent to the block to be predicted. An image decoding program with multiple defined modes, The aforementioned multiple intra prediction modes are defined as non-angle intra prediction mode and angle intra prediction mode. Classified into the syntax elements of the non-angle intra prediction mode and the angle intra prediction The decoding step involves decoding the code sequence generated by splitting it into the syntax elements of the mode. An image decoding program characterized by being executed by a computer. [Item 30] Intra-prediction is performed using decoded pixels adjacent to the block to be predicted. An image decoding device (200) in which multiple modes are defined, The first intra prediction mode and the second intra prediction mode of the block adjacent to the block to be predicted The measurement mode is defined as the first intra prediction mode and the second intra prediction mode of the prediction target block. The decoding unit (21) obtains the code as a dot and decodes the code sequence encoded into a single syntax element. An image decoding device (200) characterized by having 0). [Item 31] Intra-prediction is performed using decoded pixels adjacent to the block to be predicted. A method for decoding images with multiple defined modes, The first intra prediction mode and the second intra prediction mode of the block adjacent to the block to be predicted The measurement mode is defined as the first intra prediction mode and the second intra prediction mode of the prediction target block. Decoding step: Obtain as a code and decode the code sequence encoded into a single syntax element. An image decoding method characterized by having the following features. [Item 32] Intra-prediction is performed using decoded pixels adjacent to the block to be predicted. An image decoding program with multiple defined modes, The first intra prediction mode and the second intra prediction mode of the block adjacent to the block to be predicted The measurement mode is defined as the first intra prediction mode and the second intra prediction mode of the prediction target block. Decoding step: Obtain as a code and decode the code sequence encoded into a single syntax element. An image decoding program characterized by having a computer execute it. [Explanation of symbols]
[0114] 100 Image encoding unit, 110 Block size determination unit, 120 Intra prediction Selection unit, 130 Conversion unit, 140 Encoding unit, 200 Image decoding device, 210 Decoding unit, 220 Block size acquisition unit, 230 Intra prediction unit, 240 Inverse transformation Replacement part.
Claims
1. A first flag is encoded to indicate whether or not to determine the intra-prediction mode of the block to be predicted based on the first candidate identification index. If the first flag indicates that the intra prediction mode of the block to be predicted is determined based on the first candidate identification index, the first candidate identification index is encoded, If the first flag does not indicate that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, a second flag is encoded to indicate whether or not the intra-prediction mode of the block to be predicted is a predetermined non-angle intra-prediction mode. If the second flag does not indicate the predetermined non-angle intra prediction mode, an encoding unit encodes a second candidate identification index, If the first flag indicates that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index. If the second flag indicates the predetermined non-angle intra prediction mode, the predetermined non-angle intra prediction mode is selected as the intra prediction mode for the prediction target block. If the second flag does not indicate the predetermined non-angle intra prediction mode, a prediction mode selection unit selects the intra prediction mode for the block to be predicted from an intra prediction mode candidate list generated to include the intra prediction modes of blocks adjacent to the block to be predicted, based on the second candidate identification index. It has, The image coding device is characterized in that the first candidate identification index indicates an intra-prediction mode that is not present in the intra-prediction mode candidate list.
2. A first flag is encoded to indicate whether or not to determine the intra-prediction mode of the block to be predicted based on the first candidate identification index. If the first flag indicates that the intra prediction mode of the block to be predicted is determined based on the first candidate identification index, the first candidate identification index is encoded, If the first flag does not indicate that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, a second flag is encoded to indicate whether or not the intra-prediction mode of the block to be predicted is a predetermined non-angle intra-prediction mode. If the second flag does not indicate the predetermined non-angle intra prediction mode, the encoding step involves encoding a second candidate identification index. If the first flag indicates that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index. If the second flag indicates the predetermined non-angle intra prediction mode, the predetermined non-angle intra prediction mode is selected as the intra prediction mode for the prediction target block. If the second flag does not indicate the predetermined non-angle intra prediction mode, a prediction mode selection step is performed to select the intra prediction mode for the block to be predicted from an intra prediction mode candidate list generated to include the intra prediction modes of blocks adjacent to the block to be predicted, based on the second candidate identification index. It has, The image coding method is characterized in that the first candidate identification index indicates an intra prediction mode that is not present in the intra prediction mode candidate list.
3. A first flag is encoded to indicate whether or not to determine the intra-prediction mode of the block to be predicted based on the first candidate identification index. If the first flag indicates that the intra prediction mode of the block to be predicted is determined based on the first candidate identification index, the first candidate identification index is encoded, If the first flag does not indicate that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, a second flag is encoded to indicate whether or not the intra-prediction mode of the block to be predicted is a predetermined non-angle intra-prediction mode. If the second flag does not indicate the predetermined non-angle intra prediction mode, the encoding step involves encoding a second candidate identification index. If the first flag indicates that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index. If the second flag indicates the predetermined non-angle intra prediction mode, the predetermined non-angle intra prediction mode is selected as the intra prediction mode for the prediction target block. If the second flag does not indicate the predetermined non-angle intra prediction mode, a prediction mode selection step is performed to select the intra prediction mode for the block to be predicted from an intra prediction mode candidate list generated to include the intra prediction modes of blocks adjacent to the block to be predicted, based on the second candidate identification index. It has, The image coding program is characterized in that the first candidate identification index indicates an intra prediction mode that is not present in the intra prediction mode candidate list.
4. A first flag is decoded to indicate whether or not to determine the intra prediction mode for the block to be predicted based on the first candidate identification index. If the first flag indicates that the intra prediction mode of the block to be predicted is determined based on the first candidate identification index, the first candidate identification index is decoded. If the first flag does not indicate that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, then a second flag indicating whether or not the intra-prediction mode of the block to be predicted is a predetermined non-angle intra-prediction mode is decoded. If the second flag does not indicate the predetermined non-angle intra prediction mode, a decoding unit decodes the second candidate identification index, If the first flag indicates that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index. If the second flag indicates the predetermined non-angle intra prediction mode, the predetermined non-angle intra prediction mode is selected as the intra prediction mode for the prediction target block. If the second flag does not indicate the predetermined non-angle intra prediction mode, a prediction mode selection unit selects the intra prediction mode for the block to be predicted from an intra prediction mode candidate list generated to include the intra prediction modes of blocks adjacent to the block to be predicted, based on the second candidate identification index. It has, The image decoding device is characterized in that the first candidate identification index indicates an intra-prediction mode that is not present in the intra-prediction mode candidate list.
5. A first flag is decoded to indicate whether or not to determine the intra prediction mode for the block to be predicted based on the first candidate identification index. If the first flag indicates that the intra prediction mode of the block to be predicted is determined based on the first candidate identification index, the first candidate identification index is decoded. If the first flag does not indicate that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, then a second flag indicating whether or not the intra-prediction mode of the block to be predicted is a predetermined non-angle intra-prediction mode is decoded. If the second flag does not indicate the predetermined non-angle intra prediction mode, a decoding step is performed to decode the second candidate identification index. If the first flag indicates that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index. If the second flag indicates the predetermined non-angle intra prediction mode, the predetermined non-angle intra prediction mode is selected as the intra prediction mode for the prediction target block. If the second flag does not indicate the predetermined non-angle intra prediction mode, a prediction mode selection step is performed to select the intra prediction mode for the block to be predicted from an intra prediction mode candidate list generated to include the intra prediction modes of blocks adjacent to the block to be predicted, based on the second candidate identification index. It has, The image decoding method is characterized in that the first candidate identification index indicates an intra prediction mode that is not present in the intra prediction mode candidate list.
6. A first flag is decoded to indicate whether or not to determine the intra prediction mode for the block to be predicted based on the first candidate identification index. If the first flag indicates that the intra prediction mode of the block to be predicted is determined based on the first candidate identification index, the first candidate identification index is decoded. If the first flag does not indicate that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, then a second flag indicating whether or not the intra-prediction mode of the block to be predicted is a predetermined non-angle intra-prediction mode is decoded. If the second flag does not indicate the predetermined non-angle intra prediction mode, a decoding step is performed to decode the second candidate identification index. If the first flag indicates that the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index, the intra-prediction mode of the block to be predicted is determined based on the first candidate identification index. If the second flag indicates the predetermined non-angle intra prediction mode, the predetermined non-angle intra prediction mode is selected as the intra prediction mode for the prediction target block. If the second flag does not indicate the predetermined non-angle intra prediction mode, a prediction mode selection step is performed to select the intra prediction mode for the block to be predicted from an intra prediction mode candidate list generated to include the intra prediction modes of blocks adjacent to the block to be predicted, based on the second candidate identification index. It has, The image decoding program is characterized in that the first candidate identification index indicates an intra prediction mode that is not present in the intra prediction mode candidate list.
7. A storage method for storing an encoded stream generated according to the image encoding method described in claim 2 into a recording medium.
8. A transmission method for transmitting an encoded stream generated according to the image encoding method described in claim 2.