WO2012164902A1 - Dispositif de codage d'image, procédé de codage d'image et programme de codage d'image ainsi que dispositif de décodage d'image, procédé de décodage d'image et programme de décodage d'image - Google Patents

Dispositif de codage d'image, procédé de codage d'image et programme de codage d'image ainsi que dispositif de décodage d'image, procédé de décodage d'image et programme de décodage d'image Download PDF

Info

Publication number
WO2012164902A1
WO2012164902A1 PCT/JP2012/003472 JP2012003472W WO2012164902A1 WO 2012164902 A1 WO2012164902 A1 WO 2012164902A1 JP 2012003472 W JP2012003472 W JP 2012003472W WO 2012164902 A1 WO2012164902 A1 WO 2012164902A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction mode
intra
priority
prediction
encoding
Prior art date
Application number
PCT/JP2012/003472
Other languages
English (en)
Japanese (ja)
Inventor
徹 熊倉
Original Assignee
株式会社Jvcケンウッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2011134558A external-priority patent/JP5481698B2/ja
Priority claimed from JP2011134559A external-priority patent/JP5482735B2/ja
Application filed by 株式会社Jvcケンウッド filed Critical 株式会社Jvcケンウッド
Publication of WO2012164902A1 publication Critical patent/WO2012164902A1/fr
Priority to US14/091,018 priority Critical patent/US9843799B2/en
Priority to US15/807,353 priority patent/US10015487B2/en
Priority to US15/958,271 priority patent/US10200686B2/en
Priority to US15/958,214 priority patent/US10165268B2/en
Priority to US15/958,298 priority patent/US10298922B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes

Definitions

  • the present invention relates to image coding and decoding technology, and more particularly to intra-screen coding and decoding technology.
  • MPEG-4 AVC which is an international standard for moving picture coding
  • Intra prediction is to create a predicted image of a processing target block by duplicating a decoded sample value adjacent to the processing target block in a designated prediction direction.
  • nine types of prediction directions shown in FIGS. 1A and 1B are defined, and an appropriate prediction direction is transmitted by transmitting the mode number of the intra prediction mode indicating the prediction direction in each block. It is configured to specify.
  • ⁇ ⁇ Predictive image quality can be improved by extending the number of prediction direction definitions.
  • symbol 201 of Fig.2 (a) shows the example of a definition of 17 types of prediction directions
  • symbol 202 of FIG.2 (b) shows the example of a definition of 34 types of prediction directions.
  • an increase in the number of definitions in the prediction direction leads to an increase in the amount of transmission information in the intra prediction mode.
  • the proportion of the intra prediction mode in the total amount of generated codes increases, so the need for an efficient transmission method increases.
  • Patent Document 1 describes means for reducing the code amount of the intra prediction mode by reducing the total number of intra prediction modes to be transmitted.
  • the method of Patent Literature 1 scans the intra prediction modes of a plurality of blocks for a predetermined integration unit, and when all the intra prediction modes in the integration unit are the same, one intra prediction mode for each integration unit. Is transmitted to reduce the in-screen prediction mode to be transmitted.
  • an intra prediction mode occurrence probability model that assumes that the same intra prediction mode as the intra prediction mode of the block adjacent to the encoding target block of the image is likely to be selected in the encoding target block.
  • the intra prediction mode is encoded on the assumption of In reality, however, the intra-prediction mode generation distribution varies from block to block, so that encoding with the same probability model set for all blocks always achieves more efficient encoding of the intra-prediction mode. difficult.
  • Patent Document 1 Since the method of Patent Document 1 does not consider the frequency of occurrence of the intra prediction mode of each block, the above-mentioned problem is still not solved.
  • the present invention has been made in view of such circumstances, and an object thereof is to provide an image coding technique capable of reducing the amount of generated codes in the intra prediction mode and further improving the coding efficiency. .
  • an image encoding apparatus encodes an image signal using an intra-screen prediction mode selected from a plurality of intra-screen prediction modes on a block basis and selects the image signal.
  • An image encoding device that encodes information for specifying a predicted intra prediction mode, an intra prediction mode selection unit (509) for selecting an intra prediction mode of an encoding target block, and encoding
  • An intra-screen prediction mode storage unit (601) that stores an intra-screen prediction mode of a block, and intra-screen prediction modes of a plurality of reference blocks used for intra-screen prediction processing of the encoding target block from the intra-screen prediction mode storage unit.
  • a prediction direction difference deriving unit (604) that obtains and derives a prediction direction difference indicating a degree of difference in the prediction direction of the obtained in-screen prediction mode; and derivation of the prediction direction difference Based on the intra-screen prediction mode of the plurality of reference blocks used and the prediction direction difference, a priority prediction mode that is a candidate for the intra-screen prediction mode of the coding target block is determined, and the determined priority prediction mode
  • a coding tree creation unit (603, 605) that creates a coding tree to which a code string having a shorter code length than other prediction modes is assigned; and an intra-screen prediction mode of the coding target block according to the coding tree.
  • an encoding unit (606) that encodes information for specifying.
  • Another aspect of the present invention is an image encoding method.
  • an image signal is encoded using an intra-screen prediction mode selected from a plurality of intra-screen prediction modes in units of blocks, and information for specifying the selected intra-screen prediction mode is encoded.
  • An image encoding method wherein an intra-screen prediction mode of an encoding target block is selected, and a memory that stores the intra-screen prediction mode of an encoded block is referred to, and the intra-screen prediction of the encoding target block is referred to Obtaining an intra-screen prediction mode of a plurality of reference blocks used for processing from the intra-screen prediction mode storage unit, and deriving a prediction direction difference indicating a degree of difference in the prediction direction of the acquired intra-screen prediction mode; Based on the intra prediction mode of the plurality of reference blocks used for deriving the prediction direction difference and the prediction direction difference, the intra prediction mode of the encoding target block is determined.
  • Still another aspect of the present invention is an image encoding device.
  • the apparatus encodes an image signal and information for identifying the selected intra prediction mode using an intra prediction mode selected from a plurality of intra prediction modes in units of blocks.
  • An image encoding apparatus an intra-screen prediction mode selection unit (509) for selecting an intra-screen prediction mode of an encoding target block, and an intra-screen prediction mode storage unit (for storing an intra-screen prediction mode of an encoded block) 2601) and the intra prediction mode storage modes of the plurality of reference blocks used for intra prediction of the encoding target block from the intra prediction mode storage unit, and the degree of difference in prediction direction of the acquired intra prediction mode
  • a prediction direction difference deriving unit (2610) for deriving a prediction direction difference indicating the prediction direction difference, an intra-screen prediction mode of a plurality of reference blocks used for deriving the prediction direction difference, and the prediction.
  • a priority prediction mode list creation unit (2602) for creating a list of priority prediction modes that are candidates for the intra prediction mode of the encoding target block, and an intra prediction mode of the encoding target block are A priority prediction mode determination flag calculation unit (2603) that calculates information indicating whether or not it is a priority prediction mode, and information that indicates whether or not the intra prediction mode of the coding target block is a priority prediction mode.
  • Priority prediction mode determination flag encoding unit (2604) and when the intra prediction mode of the encoding target block is the priority prediction mode, specify the intra prediction mode of the encoding target block based on the created list
  • Still another aspect of the present invention is an image encoding method.
  • an image signal is encoded using an intra-screen prediction mode selected from a plurality of intra-screen prediction modes in units of blocks, and information for specifying the selected intra-screen prediction mode is encoded.
  • An image encoding method wherein an intra-screen prediction mode of an encoding target block is selected, and a memory that stores the intra-screen prediction mode of an encoded block is referred to, and the intra-screen prediction of the encoding target block is referred to Obtaining an intra-screen prediction mode of a plurality of reference blocks used in the intra-screen prediction mode storage unit, deriving a prediction direction difference indicating a degree of a difference in the prediction direction of the obtained intra-screen prediction mode, and the prediction Based on the intra prediction mode of the plurality of reference blocks used to derive the direction difference and the prediction direction difference, the intra prediction mode of the encoding target block Creating a list of complementary priority prediction modes; calculating information indicating whether the intra prediction mode of the encoding target block is a priority prediction mode; and intra prediction of the encoding target block A step of encoding information indicating whether the mode is a priority prediction mode; and when the intra prediction mode of the encoding target block is a priority prediction mode, the encoding target block of the
  • An image decoding device decodes information for specifying an intra prediction mode in units of blocks from an encoded stream, and uses the decoded information for specifying an intra prediction mode to generate an image.
  • An image decoding apparatus that decodes a signal, an intra-screen prediction mode storage unit (901) that stores an intra-screen prediction mode of a decoded block, and an intra-screen of a plurality of reference blocks used for intra-screen prediction processing of a decoding target block
  • a prediction direction difference deriving unit (904) for obtaining a prediction mode from the intra prediction mode storage unit and deriving a prediction direction difference indicating the degree of difference in the prediction direction of the acquired intra prediction mode; and the prediction direction difference Priority prediction that is a candidate for the intra-screen prediction mode of the block to be decoded based on the intra-screen prediction mode of the plurality of reference blocks and the prediction direction difference
  • a decoding tree generation unit (903, 905) for generating a decoding tree in which a code string having a code length shorter than that of the
  • Still another aspect of the present invention is an image decoding method.
  • This method decodes information for specifying an intra prediction mode in units of blocks from an encoded stream, and decodes an image signal using information for specifying the decoded intra prediction mode.
  • the intra-screen prediction mode of a plurality of reference blocks used for the intra-screen prediction process of the decoding target block is obtained from the intra-screen prediction mode storage unit by referring to the memory storing the intra-screen prediction mode of the decoded block.
  • a step of deriving a prediction direction difference indicating a degree of difference in the prediction direction of the obtained intra-screen prediction mode, and an intra-screen prediction mode of the plurality of reference blocks used for deriving the prediction direction difference and the prediction direction difference Based on this, a priority prediction mode that is a candidate for the intra prediction mode of the decoding target block is determined, and another prediction mode is determined for the determined priority prediction mode.
  • Comprising the steps of creating a decoding tree Doyori also assigned a code sequence of a short code length, and decoding the information for specifying an intra prediction mode of the current block according to said decoding tree.
  • Still another aspect of the present invention is an image decoding device.
  • This apparatus decodes information for specifying an intra prediction mode in units of blocks from an encoded stream, and decodes an image signal using information for specifying the decoded intra prediction mode
  • An intra-screen prediction mode storage unit (2901) that stores an intra-screen prediction mode of a decoded block, and intra-screen prediction modes of a plurality of reference blocks used for intra-screen prediction processing of a decoding target block.
  • a non-priority prediction mode decoding unit (2906) for decoding information for specifying the intra-screen prediction mode of the decoding target block based on the list when the intra-screen prediction mode of the decoding target block is a non-priority prediction mode; Is provided.
  • Still another aspect of the present invention is an image decoding method.
  • This method decodes information for specifying an intra prediction mode in units of blocks from an encoded stream, and decodes an image signal using information for specifying the decoded intra prediction mode.
  • the intra-screen prediction mode of a plurality of reference blocks used for the intra-screen prediction process of the decoding target block is obtained from the intra-screen prediction mode storage unit by referring to the memory storing the intra-screen prediction mode of the decoded block.
  • a step of deriving a prediction direction difference indicating a degree of difference in the prediction direction of the obtained intra-screen prediction mode, and an intra-screen prediction mode of the plurality of reference blocks used for deriving the prediction direction difference and the prediction direction difference A step of creating a list of priority prediction modes that are candidates for the intra-screen prediction mode of the decoding target block, based on the image of the decoding target block; A step of decoding information indicating whether the intra prediction mode is the priority prediction mode, and the screen of the decoding target block based on the created list when the intra prediction mode of the decoding target block is the priority prediction mode. Decoding the information for specifying the intra prediction mode, and specifying the intra prediction mode of the decoding target block based on the list when the intra prediction mode of the decoding target block is a non-priority prediction mode. Decoding the information for the purpose.
  • the amount of generated codes in the intra prediction mode can be reduced and the encoding efficiency can be improved.
  • processing target block refers to an encoding target block in the case of encoding processing by an image encoding device, and refers to a decoding target block in the case of decoding processing by an image decoding device. is there.
  • Processed block refers to a decoded block that has been encoded in the case of encoding processing by the image encoding device, and a decoded block in the case of decoding processing by the image decoding device. is there.
  • this meaning is used.
  • FIG. 3 is a diagram illustrating a coding tree for coding the nine patterns of intra prediction modes in FIG.
  • the transmission method in the intra prediction mode in MPEG-4 AVC follows the coding tree indicated by reference numeral 301 in FIG.
  • an internal node (circle) is assigned a code
  • a leaf (square) is assigned an intra prediction mode number.
  • reference numeral 302 denotes a priority prediction mode. The priority prediction mode will be described later. For example, “1” is assigned to the priority prediction mode, and code “0111” is assigned to mode 7.
  • FIG. 4 is a diagram illustrating an encoding syntax for transmitting the intra prediction mode according to the encoding tree of FIG.
  • the prev_intra_pred_flag shown in FIGS. 4A and 4B is a syntax element that specifies whether the mode is the priority prediction mode
  • rem_intra_pred_mode is a syntax element that represents a mode number.
  • prev_intra_pred_flag 1-bit prev_intra_pred_flag is read from the encoded sequence, and when prev_intra_pred_flag is 1, the intra prediction mode is set as the priority prediction mode, and the next syntax is started. Otherwise, 3-bit prev_intra_pred_flag is read, and the intra prediction mode is set as the prediction mode indicated by rem_intra_pred_mode.
  • the already processed adjacent block is adjacent to the left side of the processing target block and located on the uppermost side (referred to as “reference block A”), and adjacent to the upper side of the processing target block and positioned on the leftmost side (see “Reference”). It is referred to as “Block B”.
  • An example of an already processed adjacent reference block will be described with reference to FIG. All the blocks (reference numerals 1802 to 1811) located on the upper side and / or the left side of the processing target block 1801 in the figure are already processed, and the other blocks (reference numerals 1812 to 1815) are not processed.
  • the block adjacent to the upper side of the processing target block 1801 is only the block 1803, and this block 1803 is referred to as a reference block B.
  • bits opt 3.2 (bits)
  • the above method sets a probability model based on the global occurrence probability of the intra prediction mode that matches the intra prediction mode of the adjacent block.
  • each block has a different distribution of intra prediction modes, and an appropriate probability model can be set for each block.
  • the same probability model is always set for all blocks, it cannot be said that efficient coding is performed.
  • intra prediction replicates the decoded sample value in the designated prediction direction, and all frequency components along the prediction direction are lost, while frequency components in the direction orthogonal to the prediction direction are preserved. Therefore, for an image having a characteristic frequency component, it is appropriate to select an intra prediction mode that can reflect the frequency component as much as possible. In other words, it can be said that there is a correlation between the image and the intra prediction mode, and the following properties can be used when selecting the intra prediction mode.
  • Intra prediction with a close prediction direction derives a similar prediction image.
  • the intra prediction mode that expresses the minute change is appropriate, and the probability of occurrence of the intra prediction mode that is close in direction is high.
  • the coding tree is obtained.
  • the amount of generated code in the intra prediction mode can be reduced, and the encoding efficiency can be improved.
  • FIG. 5 is a block diagram showing a configuration of the image coding apparatus according to the embodiment.
  • the image coding apparatus according to the embodiment includes a subtracting unit 501, an orthogonal transform / quantization unit 502, an inverse quantization / inverse transform unit 503, an adder 504, a decoded image memory 505, and an intra prediction unit 506.
  • the intra prediction mode selection unit 509 selects an optimal intra prediction mode for each block of the image, and provides the selected intra prediction mode to the intra prediction unit 506 and the intra prediction mode encoding unit 508.
  • the intra prediction mode encoding unit 508 performs variable length encoding on the input intra prediction mode and outputs an intra prediction mode bitstream. The detailed configuration and operation of the intra prediction mode encoding unit 508 will be described later.
  • the intra prediction unit 506 generates an intra prediction image using the input intra prediction mode and the decoded image of the adjacent block stored in the decoded image memory 505, and gives the generated intra prediction image to the subtraction unit 501.
  • the subtraction unit 501 generates a difference image by subtracting the intra prediction image from the original image to be encoded, and gives the generated difference signal to the orthogonal transform / quantization unit 502.
  • the orthogonal transform / quantization unit 502 generates texture information by performing orthogonal transform / quantization on the difference image, and provides the generated texture information to the inverse quantization / inverse transform unit 503 and the texture information encoding unit 507.
  • Texture information encoding unit 507 entropy encodes texture information and outputs a texture information bitstream.
  • the inverse quantization / inverse transform unit 503 generates a decoded differential signal by performing inverse quantization / inverse orthogonal transform on the texture information received from the orthogonal transform / quantization unit 502, and adds the generated decoded differential signal to the adder 504. To give.
  • the addition unit 504 generates the decoded image by adding the intra-predicted image and the decoded differential signal, and stores the generated decoded image in the decoded image memory 505.
  • FIG. 8 is a block diagram showing the configuration of the image decoding apparatus according to the embodiment.
  • the image decoding apparatus according to the embodiment includes a texture information decoding unit 801, an inverse quantization / inverse conversion unit 802, an intra prediction mode decoding unit 803, an addition unit 804, a decoded image memory 805, and an intra prediction unit 806. Is provided. Since the embodiment of the present invention focuses on intra-screen prediction, constituent elements related to inter-screen prediction are not shown and description thereof is omitted.
  • the decoding process of the image decoding apparatus in FIG. 8 corresponds to the decoding process provided in the image encoding apparatus in FIG. 5, so the inverse quantization / inverse conversion unit 802 and the addition unit 804 in FIG. 8.
  • Each configuration of the decoded image memory 805 and the intra prediction unit 806 includes each of the inverse quantization / inverse transform unit 503, the addition unit 504, the decoded image memory 505, and the intra prediction unit 506 of the image encoding device in FIG. And corresponding functions.
  • the intra prediction mode decoding unit 803 generates an intra prediction mode by entropy decoding the input intra prediction mode bitstream, and provides the generated intra prediction mode to the intra prediction unit 806.
  • the detailed configuration and operation of the intra prediction mode decoding unit 803 will be described later.
  • the intra prediction unit 806 generates an intra prediction image using the input intra prediction mode and the decoded image of the adjacent block stored in the decoded image memory 805, and provides the generated intra prediction image to the adding unit 804.
  • Texture information decoding unit 801 generates texture information by entropy decoding the texture information.
  • the generated texture information is given to the inverse quantization / inverse transform unit 802.
  • the inverse quantization / inverse transform unit 802 performs inverse quantization / inverse orthogonal transform on the texture information received from the texture information decoding unit 801 to generate a decoded differential signal, and provides the generated decoded differential signal to the adding unit 804 .
  • the addition unit 804 generates a decoded image by adding the intra-predicted image and the decoded differential signal, stores the generated decoded image in the decoded image memory 805, and outputs the decoded image.
  • the intra prediction mode encoding and decoding processing according to the embodiment of the present invention is performed by the intra prediction mode encoding unit 508 of the video encoding device in FIG. 5 and the intra prediction mode decoding unit 803 of the video decoding device in FIG. To be implemented.
  • the intra prediction mode encoding and decoding processing according to the embodiment will be described.
  • Encoding block In the embodiment, as shown in FIG. 18, the screen is hierarchically divided into rectangular blocks, and each block is sequentially processed in a predetermined processing order. Each block to be divided is called a coding block.
  • a block 1817 in FIG. 18 is a maximum unit of division in the embodiment, and this is called a maximum encoding block.
  • a block 1816 in FIG. 18 is a minimum unit of division in the embodiment, and this is called a minimum coding block. In the following description, the minimum encoding block is 4 ⁇ 4 pixels and the maximum encoding block is 16 ⁇ 16 pixels.
  • a unit for performing intra prediction is called a prediction block.
  • the prediction block has a size of not less than the minimum coding block and not more than the maximum coding block.
  • blocks 1802, 1803 and 1804 are 16 ⁇ 16 blocks
  • blocks 1805, 1810, 1811 and 1801 are 8 ⁇ 8 blocks
  • blocks 1806, 1807, 1808 and 1809 are 4 ⁇ 4 blocks.
  • Blocks 1812, 1813, 1814, and 1815 are unprocessed blocks, and the encoding block size is not fixed.
  • an optimal prediction block size is determined and the prediction block size is transmitted.
  • the predicted block size is obtained from the bit stream.
  • the prediction block is described as a processing unit.
  • the intra prediction mode configuration is switched according to the size of the prediction block.
  • 17 patterns of intra prediction modes shown by reference numeral 201 in FIG. 2A are defined.
  • 34 shown in reference numeral 202 in FIG. 2B are defined.
  • the intra prediction mode of the pattern This is because, even if an intra prediction mode having an excessive number of patterns is defined for a prediction block of a small size, quality improvement sufficient for an increase in the amount of generated codes cannot be obtained.
  • the reference block is a block A that is adjacent to the left side of the processing target block and located on the uppermost side, and a block B that is adjacent to the upper side of the processing target block and is positioned on the leftmost side.
  • the prediction mode of block A is refModeA
  • the prediction mode of block B is refModeB.
  • the intra prediction mode of each reference block is referred to as “reference intra prediction mode”.
  • the reference intra prediction mode when no reference block exists is set to a DC prediction mode (also referred to as “average value mode”).
  • FIG. 6 is a block diagram of a detailed configuration of the first exemplary embodiment of the intra prediction mode encoding unit 508 of FIG.
  • the intra prediction mode encoding unit 508 according to the first embodiment includes an intra prediction mode memory 601, a reference mode determination unit 602, a priority mode determination unit 603, a prediction direction difference calculation unit 604, a coding tree selection unit 605, and a variable length.
  • An encoding unit 606 is provided.
  • the encoding procedure in the intra prediction mode will be described with reference to the flowchart of FIG.
  • the intra prediction mode memory 601 stores and stores the intra prediction mode input from the intra prediction mode selection unit 509.
  • the reference mode determination unit 602 acquires the intra prediction mode of the encoded reference block adjacent to the encoding target block from the intra prediction mode memory 601 and determines the reference intra prediction mode (step S701). Details of the reference intra prediction mode determination procedure will be described later.
  • the prediction direction difference calculation unit 604 acquires the reference intra prediction mode from the reference mode determination unit 602, and calculates the prediction direction difference (step S702). Details of the prediction direction difference calculation procedure will be described later.
  • the priority mode determination unit 603 acquires the prediction direction difference from the prediction direction difference calculation unit 604, and acquires the reference intra prediction mode from the reference mode determination unit 602.
  • the priority mode determination unit 603 determines a priority mode based on the acquired prediction direction difference and the reference intra prediction mode (step S703). Details of the priority mode determination procedure will be described later.
  • the coding tree selection unit 605 acquires the prediction direction difference from the prediction direction difference calculation unit 604, and determines a coding tree according to the prediction direction difference (step S704). Details of the coding tree selection procedure will be described later.
  • the variable length coding unit 606 receives the intra prediction mode input of the current block, obtains the priority mode from the priority mode determination unit 603, and obtains the coding tree from the coding tree selection unit 605.
  • the variable length coding unit 606 performs variable length coding on the intra prediction mode of the block to be coded using the priority mode and the coding tree (step S705).
  • the variable length coding unit 606 outputs the generated bit sequence, and ends the series of intra prediction mode coding processing.
  • step S1101 The number of patterns of the intra prediction mode of the reference block A adjacent to the left of the encoding target block and the intra prediction mode of the encoding target block are compared.
  • the intra prediction mode of the reference block A is set to “reference mode A” as it is (step S1102).
  • step S1103 When the number of intra prediction mode patterns of the encoding target block is smaller than the number of intra prediction mode patterns of the reference block A, reference mode conversion is performed (step S1103). The conversion of the reference mode will be described later.
  • step S1104 The number of patterns of the intra prediction mode of the reference block B adjacent on the encoding target block and the intra prediction mode of the encoding target block are compared.
  • the intra prediction mode of the reference block B is set as “reference mode B” as it is (step S1105).
  • reference mode conversion is performed (step S1106).
  • the reference mode conversion is performed when the sizes of the reference block A 1902 and the reference block B 1901 are larger than the encoding target block 1901 as shown in FIG.
  • the encoding target block 1901 is a 4 ⁇ 4 pixel block
  • the reference block A 1902 and the reference block B 1903 are 8 ⁇ 8 pixel blocks.
  • 17 patterns of intra prediction modes indicated by reference numeral 201 in FIG. 2A are defined.
  • 34 patterns of intra prediction modes indicated by reference numeral 202 in FIG. 2B are defined.
  • the intra prediction mode of the reference block is encoded when the intra prediction mode of the encoding target block is encoded. It is necessary to degenerate the pattern into an intra prediction mode pattern of the encoding target block in some form.
  • the reference mode conversion is a process of converting an intra prediction mode of a reference block having a large number of patterns into an intra prediction mode of an encoding target block having a small number of patterns.
  • Reference numeral 1501 in FIG. 15 indicates the prediction direction of the 34 patterns of intra prediction modes as a point on the horizontal axis.
  • Reference numeral 1502 in FIG. 15 indicates the prediction direction of the 17 patterns of intra prediction modes as a point on the horizontal axis.
  • the position of the point indicated by the broken line 1502 in FIG. 15 is a prediction direction that is included in the 34 pattern intra prediction mode but not included in the 17 pattern intra prediction mode.
  • the prediction direction of reference mode A is the position indicated by reference numeral 1503
  • the prediction direction of reference mode B is the position indicated by reference numeral 1504.
  • points (reference numerals 1505 and 1506) adjacent to the points corresponding to the prediction directions of the reference modes A and B are selected as the converted prediction modes instead.
  • the prediction direction difference calculation unit 604 acquires the reference modes A and B from the reference mode determination unit 602, and compares the reference mode A and the reference mode B (step S1201).
  • a special value ⁇ 2 indicating that both are in the average value mode is set as the prediction direction difference (step S1202).
  • a special value -1 indicating that one of them is the average value mode is set (step S1203).
  • the prediction direction number is determined by referring to the table in which the prediction mode and the prediction direction number in FIG. 13 are associated with each of the reference modes A and B.
  • FIG. 13 is a table in which intra prediction mode numbers are associated with prediction direction numbers. As shown in FIG. 1 and FIG. 2, the intra prediction mode numbers are not assigned in the order of azimuth, and cannot be used for calculating the prediction direction difference as they are. Therefore, a table is prepared in which the prediction mode number is associated with the prediction direction number assigned in the direction of the direction. When calculating the prediction direction difference, the prediction direction number is used.
  • the prediction direction numbers DiffDir of the reference mode A and the reference mode B are set as dirA and dirB, respectively, and the degree of difference between the prediction directions of the reference mode A and the reference mode B is calculated by the following calculation formula (step S1204).
  • DiffDir min (16 ⁇ abs (dirA ⁇ dirB), abs (dirA ⁇ dirB))
  • abs () is a function for calculating the absolute value of the argument
  • min () is a function for selecting the minimum value of the two arguments.
  • the prediction direction difference DiffDir is compared with a predetermined upper limit value, and if the prediction direction difference DiffDir exceeds the upper limit value, the prediction direction difference DiffDir is replaced with the upper limit value (step S1205).
  • the maximum value of the prediction direction difference is 8
  • the upper limit value is set to 4, for example, and when the prediction direction difference exceeds 4, it is rounded to 4.
  • the priority mode determination unit 603 acquires the prediction direction difference from the prediction direction difference calculation unit 604, and acquires the reference mode from the reference mode determination unit 602.
  • the priority mode determination unit 603 refers to the table in which the prediction direction difference illustrated in FIG. 14 is associated with the priority prediction mode and the coding tree, and determines the number of priority modes and the mode number of the priority mode.
  • FIG. 14 shows the priority mode number, the priority mode number, and the coding tree number in association with the prediction direction difference.
  • FIG. 14 shows a case where 17 patterns of intra prediction modes are used.
  • the prediction direction difference takes a value from 0 to 8 and special values ⁇ 1 and ⁇ 2. As the prediction direction difference increases, the number of priority modes increases.
  • modes adjacent to reference modes A and B and average value modes are used as priority modes.
  • the prediction direction difference is 1
  • the prediction direction of the reference mode A and the prediction direction of the reference mode B are adjacent to each other.
  • the number of priority modes is four
  • the first priority mode is the reference mode A
  • the second priority mode is the reference mode B
  • the third priority mode is the fourth priority mode are the first.
  • the prediction mode is set to a direction adjacent to the first priority mode and the second priority mode.
  • Reference numeral 1605 in FIG. 16 is a conceptual diagram of the priority mode when the prediction direction difference is 1.
  • the first priority mode is a prediction direction represented by reference numeral 1606, the second priority mode is represented by reference numeral 1607, the third priority mode is represented by reference numeral 1608, and the fourth priority mode is represented by reference numeral 1609.
  • the first priority mode is a prediction direction represented by reference numeral 1611
  • the second priority mode is represented by reference numeral 1612
  • the third priority mode is represented by reference numeral 1613
  • the fourth priority mode is represented by reference numeral 1614
  • the fifth priority mode is represented by a reference numeral 1615.
  • the prediction direction difference is -1 (when only one of the reference modes is in the average value mode)] This is a case where only one of the reference mode A and the reference mode B is the average value mode. From the table shown in FIG. 14, in this case, the number of priority modes is four, the first priority mode is the reference mode A, the second priority mode is the reference mode B, the third priority mode, and the fourth priority mode are the first.
  • the prediction mode in the direction adjacent to the prediction direction of the prediction mode that is not the average value mode among the first priority mode and the second priority mode is used.
  • the coding tree selection unit 605 acquires the prediction direction difference from the prediction direction difference calculation unit 604.
  • the encoding tree is selected with reference to the table shown in FIG. In the table of FIG. 14, the number of the coding tree is associated with the number of priority modes.
  • FIG. 17 is an example of a coding tree.
  • Reference numeral 1701 denotes an encoding tree having an encoding tree number 0 (referred to as “encoding tree 0”), reference numeral 1702 an encoding tree having an encoding tree number 1 (referred to as “encoding tree 1”), and reference numeral 1703 an encoding tree.
  • This is a coding tree of number 2 (referred to as “coding tree 2”).
  • Other coding trees are omitted.
  • Each coding tree is classified into either a leaf indicating the priority mode or a leaf indicating the prediction mode number, and the priority mode determined in the priority mode determination procedure is adaptively assigned to the leaf indicating the priority mode. .
  • the prediction mode number of the prediction mode to be processed is fixedly assigned (after conversion excluding the priority mode).
  • a code having a shorter code length than the other prediction modes is assigned to the priority mode. Therefore, if the intra prediction mode of the block to be encoded corresponds to any priority mode, the generated code amount is Get smaller.
  • coding tree 0 is selected. In the coding tree 0, three leaves are set as the priority mode. From the priority mode determination procedure, the first priority mode is the same mode as the reference mode A and the reference mode B, the second priority mode, and the third priority mode are prediction modes in the prediction direction adjacent to the first priority mode, respectively.
  • the coding tree 1 is selected. In the coding tree 1, four leaves are set as the priority mode. From the priority mode determination procedure, the first priority mode is the reference mode A, the second priority mode is the reference mode B, the third priority mode, the fourth priority mode is the first priority mode, and the second priority mode is an adjacent prediction mode. It is.
  • the coding tree 2 is selected.
  • five leaves are set as the priority mode.
  • the first priority mode is the reference mode A
  • the second priority mode is the reference mode B
  • the third priority mode is the prediction mode indicating the prediction direction between the first priority mode and the second priority mode
  • the 4-priority mode and the fifth-priority mode are prediction modes in a prediction direction that are adjacent to the first-priority mode and the second-priority mode and are not the third-priority mode, respectively.
  • the prediction mode indicating the direction adjacent to the prediction direction of the intra prediction mode of the reference block is set to the priority prediction mode.
  • the prediction mode indicating the direction adjacent to the prediction direction of the intra prediction mode of the reference block is set to the priority prediction mode.
  • a plurality of coding trees having different numbers of priority prediction modes are prepared in advance, and the coding trees are switched based on the difference in the prediction direction of the prediction mode of the reference block in the screen. The encoding efficiency of the prediction mode can be improved.
  • a coding tree having a smaller number of priority prediction modes is selected as the prediction direction difference is smaller, and a block to be coded using a coding tree in which a code string having a shorter code length than the other prediction modes is assigned to the priority prediction mode. Intra prediction mode is encoded.
  • the image correlation between the reference blocks is high, and there is a high possibility that the image correlation between the processing target block and the reference block is also high.
  • the prediction direction of the processing target block tends to concentrate particularly in the vicinity of the prediction direction of the reference block.
  • the prediction directions indicated by the plurality of reference blocks are separated from each other, the image correlation between the reference blocks is low, and the image correlation between the processing target block and the reference block is likely to be low.
  • the degree of concentration of the prediction direction of the processing target block in the vicinity of the prediction direction of the reference block is lower than that in the case where a plurality of reference blocks indicate the near prediction direction.
  • the prediction mode occurrence probability of each processing target block is determined by adopting a configuration in which the encoding tree is switched based on the prediction direction difference between the prediction modes of a plurality of reference blocks. It is possible to accurately estimate and reduce the amount of generated codes in the intra prediction mode.
  • FIG. 9 is a block diagram of a detailed configuration of the first exemplary embodiment of the intra prediction mode decoding unit 803 in FIG.
  • the intra prediction mode decoding unit 803 according to the first embodiment includes an intra prediction mode memory 901, a reference mode determination unit 902, a priority mode determination unit 903, a prediction direction difference calculation unit 904, a decoding tree selection unit 905, and a variable length decoding unit. 906.
  • the intra prediction mode memory 901 in FIG. A reference mode determination unit 902, a priority mode determination unit 903, a prediction direction difference calculation unit 904, and a decoding tree selection unit 905 are configured with the intra prediction mode memory 601, the reference mode determination unit 602, and the priority mode determination unit in FIG. 603, a prediction direction difference calculation unit 604, and a coding tree selection unit 605 have functions corresponding respectively.
  • the reference mode determination unit 902 acquires the intra prediction mode of the decoded reference block adjacent to the decoding target block from the intra prediction mode memory 901, and determines the reference intra prediction mode (step S1001).
  • the reference intra prediction mode determination procedure follows the procedure shown in the flowchart of FIG. 11 in the same manner as the reference intra prediction mode determination procedure in the reference mode determination unit 602 of FIG.
  • the prediction direction difference calculation unit 904 acquires the reference intra prediction mode from the reference mode determination unit 902, and calculates the prediction direction difference (step S1002). Since the prediction direction difference calculation procedure follows the procedure shown in the flowchart of FIG. 12 in the same manner as the prediction direction calculation procedure in the prediction direction difference calculation unit 604 of FIG. 6, detailed description thereof is omitted.
  • the priority mode determination unit 903 acquires the prediction direction difference from the prediction direction difference calculation unit 904, and acquires the reference intra prediction mode from the reference mode determination unit 902.
  • the priority mode determination unit 903 determines a priority mode based on the acquired prediction direction difference and the reference intra prediction mode (step S1003).
  • the priority mode determination procedure follows the same procedure as the priority mode determination procedure in the priority mode determination unit 603 in FIG.
  • the decoding tree selection unit 905 acquires the prediction direction difference from the prediction direction difference calculation unit 904, and determines a decoding tree according to the prediction direction difference (step S1004).
  • the decoding tree selection procedure follows the same procedure as the coding tree selection procedure in the coding tree selection unit 605 in FIG. However, “encoding tree” is read as “decoding tree”.
  • the variable length decoding unit 906 receives an intra prediction mode bitstream, acquires a priority mode from the priority mode determination unit 903, and acquires a decoding tree from the decoding tree selection unit 905.
  • the variable length decoding unit 906 performs variable length decoding using the priority mode and the decoding tree for the intra prediction mode of the decoding target block (step S1005).
  • the variable length decoding unit 906 stores the decoded intra prediction mode in the intra prediction mode memory 901 and outputs it to the outside, and ends the series of intra prediction mode decoding processes.
  • FIG. 20 is a block diagram of a detailed configuration of the second example of the intra prediction mode encoding unit 508 of FIG.
  • the intra prediction mode encoding unit 508 according to the second embodiment includes an intra prediction mode memory 2601, a priority prediction mode list creation unit 2602, a priority prediction mode determination flag calculation unit 2603, a priority prediction mode determination flag encoding unit 2604, and priority prediction.
  • a mode index calculation unit 2605, a priority prediction mode index encoding unit 2606, a non-priority prediction mode index calculation unit 2607, a non-priority prediction mode index encoding unit 2608, a priority prediction mode determination unit 2609, and a prediction direction difference calculation unit 2610 are provided.
  • the encoding procedure in the intra prediction mode will be described with reference to the flowchart of FIG.
  • the prediction direction difference calculation unit 2610 acquires the intra prediction modes refModeA and refModeB of the adjacent blocks from the intra prediction mode memory 2601 and calculates the prediction direction difference diffDir between refModeA and refModeB (step S2701). Details of the prediction direction difference calculation procedure will be described later.
  • the priority prediction mode list creation unit 2602 acquires the prediction direction difference diffDir from the prediction direction difference calculation unit 2610, and acquires the intra prediction modes refModeA and refModeB of adjacent blocks from the intra prediction mode memory 2601.
  • the priority prediction mode list creation unit 2602 creates a priority prediction mode list mpmlist based on diffDir, refModeA, and refModeB, and determines a priority prediction mode list size mpmlistsize (step S2702). Details of the procedure for creating the priority prediction mode list will be described later. Further, the target intra prediction mode is stored in the intra prediction mode memory 2601.
  • the priority prediction mode determination flag calculation unit 2603 acquires the target prediction mode and the priority prediction mode list mpmList, and calculates a priority prediction mode determination flag mpmFlag.
  • the priority prediction mode index calculation unit 2605 calculates a priority prediction mode index mpmIndex (step S2703), and the priority prediction mode determination flag encoding unit 2604 encodes the priority prediction mode determination flag ppmFlag (step S2704). Details of the priority prediction mode determination flag and the priority prediction mode index calculation procedure will be described later.
  • the priority prediction mode determination unit 2609 determines a priority prediction mode determination flag mpmFlag (step S2705).
  • the priority prediction mode index encoding unit 2606 encodes the priority prediction mode index mpmIndex (step S2706), and the process ends. Details of the priority prediction mode index encoding procedure will be described later.
  • the non-priority prediction mode index calculation unit 2607 calculates a non-priority prediction mode index remModeIndex (step S2707), and the non-priority prediction mode index encoding unit 2608 calculates The non-priority prediction mode remModeIndex is encoded (step S2708). Details of the non-priority prediction mode index calculation procedure and the non-priority prediction mode encoding procedure will be described later.
  • the prediction direction difference calculation unit 2610 acquires the intra prediction modes refModeA and refModeB of the adjacent blocks from the intra prediction mode memory 2601. It is determined whether or not the values of refModeA and refModeB are both 2 (average value mode) (step S3201).
  • the prediction direction difference diffDir is set to ⁇ 2 (step S3202).
  • -2 is a special value indicating that the values of refModeA and refModeB are both 2 (average value mode).
  • refModeA and refModeB are not 2 (average value mode). If at least one of the values of refModeA and refModeB is not 2 (average value mode), it is further determined whether either refModeA or refModeB is 2 (average value mode) (step S3203). If either refModeA or refModeB is 2 (average value mode), the prediction direction difference diffDir is set to ⁇ 1 (S3205). ⁇ 1 is a special value indicating that one of the values of refModeA and refModeB is 2 (average value mode).
  • the difference between the prediction directions of refModeA and refModeB is calculated (step S3204).
  • the prediction direction number is determined by referring to the table of FIG.
  • the prediction direction difference diffDir is calculated by the following formula, where the prediction direction number of refModeA is dirA and the prediction direction number of refModeB is dirB.
  • DiffDir min (16 ⁇ abs (dirA ⁇ dirB), abs (dirA ⁇ dirB))
  • the prediction direction number is determined by the same method as in the case of the 4 ⁇ 4 block, and the prediction direction difference diffDir is calculated by the following calculation formula.
  • DiffDir min (33 ⁇ abs (dirA ⁇ dirB), abs (dirA ⁇ dirB))
  • the priority prediction mode list creation unit 2602 acquires the prediction direction difference diffDir from the prediction direction difference calculation unit 2610, acquires the intra prediction modes refModeA and refModeB of the adjacent blocks from the intra prediction mode memory 2601, and sets the value of the prediction direction difference diffDir. Determination is made (step S3901).
  • mpmlistsize is set to 2 as indicated by reference numeral 4001 in FIG. Further, mpmList [0] is set to refModeA, and mpmList [1] is set to 0 (vertical prediction mode).
  • mpMlist [1] is set to 0 (vertical prediction mode) is that the occurrence frequency of the vertical prediction mode is high on average, and on average, the average value only becomes the priority prediction mode. This is because the frequency of the mode is not high.
  • mpmlistsize is set to 4 as indicated by reference numeral 4002 in FIG. Further, mpmList [0] is min (refModeA, refModeB), mpmList [1] is max (refModeA, refModeB), mpmList [2] is left (dirMode), and mpmList [3] is right (dirMode).
  • dirMode is a prediction mode which is not the average value mode of refModeA and refModeB
  • left (dirMode) is a prediction mode adjacent to the left direction of dirMode
  • right (dirMode) is a prediction mode adjacent to the right direction of dirMode.
  • step S3904 When the value of the prediction direction difference diffDir is 0 (step S3904), that is, when refModeA and refModeB are the same and both are in the average value mode, as shown by reference numeral 4003 in FIG. To do. Further, mpmList [0] is refModeA, mpmList [1] is left (refModeA), and mpmList [2] is right (refModeA). However, left (refModeA) is a prediction mode adjacent to the left direction of refModeA, and right (refModeA) is a prediction mode adjacent to the right direction of refModeA.
  • mpmlistsize is set to 4, as indicated by reference numeral 4004 in FIG. Further, mpmList [0] is min (refModeA, refModeB), mpmList [1] is max (refModeA, refModeB), mpmList [2] is left (leftMode), and mpmList [3] is right (rightMode).
  • leftMode is the prediction mode in the left direction of refModeA and refModeB
  • rightMode is the prediction mode in the right direction of refModeA and refModeB
  • left (leftMode) is the prediction mode adjacent to the left direction of leftMode
  • right (rightMode) is ,
  • the prediction mode is adjacent to the right direction of rightMode.
  • mpmList [0] is min (refModeA, refModeB, interMode)
  • mpmList [1] is median (refModeA, refModeB, interMode)
  • mpmList [2] is max (refModeA, refModeB, interMode)
  • mpmList [3] is flemtist [3].
  • LeftMode mpmList [4] is set to right (rightMode).
  • interMode is a prediction mode sandwiched between refModeA and refModeB
  • median (refModeA, refModeB, and interMode) is an intermediate value of refModeA, refModeB, and interMode
  • leftMode is the prediction mode in the left direction of refModeA and refModeB
  • refModeArightMode Of refModeB a prediction mode in the right direction is used
  • left (leftMode) is a prediction mode adjacent to the left direction of leftMode
  • right (rightMode) is a prediction mode adjacent to the right direction of rightMode.
  • step S3907 When none of the above conditions is satisfied (step S3907), that is, when the value of the prediction direction difference diffDir is 3 or more, the block size of the target block is referred to in addition to the prediction direction difference diffDir.
  • mpmlistsize is set to 5 as indicated by reference numeral 4006 in FIG. Further, mpmList [0] is min (refModeA, refModeB), mpmList [1] is max (refModeA, refModeB), mpmList [2] is min (left (refModeA), right (refModeA)), and mpmList [3] is min. (Left (refModeB), right (refModeB)), and mpmList [4] are set to the average value mode, and then mpmList is sorted in ascending order.
  • mpmlistsize is set to 7 as indicated by reference numeral 4007 in FIG. Further, mpmList [0] is min (refModeA, refModeB), mpmList [1] is max (refModeA, refModeB), mpmList [2] is left (refModeA), mpmList [3] is right (refModeA), and mpmList [4]. Is left (refModeB), mpmList [5] is right (refModeB), and mpmList [6] is in the average value mode, and then mpmList is sorted in ascending order.
  • Step S3907 the reason why the average value mode is added to the priority prediction mode list in addition to the prediction mode adjacent to the reference prediction mode is as follows.
  • Step S3907 is when the prediction direction difference is 3 or more.
  • the direction difference between refModeA and refModeB is far, it is estimated that the image correlation between the reference block A and the reference block B is low.
  • the degree of concentration in the vicinity of refModeA and refModeB decreases compared to the case where the prediction direction differences are close, and the average value mode frequency increases on average.
  • the process proceeds by scanning mpMlist in ascending order.
  • the priority prediction mode determination flag calculation unit 2603 and the priority prediction mode index calculation unit 2605 initialize the priority prediction mode determination flag mpmFlag and the priority prediction mode index mpmIndex with false and 0, respectively.
  • a variable i for scanning mpMlist is initialized with 0 (step S3201).
  • step S3202 If the variable i is less than mpmListSize (step S3202), that is, if all the elements of mpmList have not been scanned yet, mpmList [i] is compared with currModeIndex (step S3203). When mpmList [i] and currModeIndex are equal, it indicates that the target prediction mode is equal to the i-th element of the priority prediction mode list, and mpmFlag is set to true and mpmIndex is set to i (step S3204). The process proceeds to step S2704. If mpmList [i] and currModeIndex are different, i is incremented by one (step S3205) and scanning is continued.
  • step S3202 when the variable i is greater than or equal to mpmListSize, that is, when all elements of mpmList have been scanned, the priority prediction mode determination flag and priority prediction mode index calculation procedure ends, and the process proceeds to step S2704 in FIG. move on.
  • the priority prediction mode index encoding unit 2606 obtains mpmlist and mpmlistsize from the priority prediction mode list creation unit 2602.
  • the priority prediction mode index encoding unit 2606 selects an encoding tree to be used for encoding the priority prediction mode index mpmIndex based on mpmlistsize (step S4101).
  • FIG. 34 shows a coding tree as a selection candidate.
  • Reference numeral 4201 in FIG. 34 is an encoding tree when mpmlistsize is 2.
  • Reference numeral 4202 in FIG. 34 is an encoding tree when mpmlistsize is 3.
  • Reference numeral 4203 in FIG. 34 is an encoding tree when mpmlistsize is 4.
  • a reference numeral 4204 in FIG. 34 is an encoding tree when mpmlistsize is 5.
  • a reference numeral 4205 in FIG. 34 is an encoding tree when mpmlistsize is 7.
  • a code string having a shorter code length is assigned to a priority prediction mode having a higher priority (smaller mode number).
  • the priority prediction mode index encoding unit 2606 encodes mpmIndex using the selected encoding tree (step S4102), and ends the process.
  • Non-priority prediction mode index calculation procedure Details of the non-priority prediction mode index calculation procedure in step S2707 of FIG. 21 will be described with reference to the flowchart of FIG.
  • the process proceeds by scanning mpMlist in descending order of the index.
  • the non-priority prediction mode index calculation unit 2607 initializes the non-priority prediction mode index remModeIndex with the target prediction mode currModeIndex, initializes a variable i for scanning mpmList with mpmListSize-1 (step S3301), and sets mpmList in ascending order of values. (Step S3302).
  • step S3303 If the variable i is 0 or more (step S3303), that is, if all the elements of mpmList have not been scanned yet, remModeIndex and mpmList [i] are compared (step S3304). If remModeIndex is larger than mpmList [i], 1 is subtracted from the value of remModeIndex (step S3305). 1 is subtracted from the value of the variable i (step S3306), and scanning is continued.
  • step S3303 when the variable i is less than 0, that is, when all the elements of mpmList have been scanned, the non-priority prediction mode index calculation procedure is terminated, and the process proceeds to step S2708 in FIG.
  • Non-priority prediction mode index encoding procedure Details of the non-priority prediction mode index encoding procedure in step S2708 of FIG. 21 will be described with reference to the flowchart of FIG.
  • the non-priority prediction mode index encoding unit 2608 determines the target block size (step S3401).
  • the non-priority prediction mode index encoding unit 2608 compares the values of remModeIndex and mpmListSize-1 (step S3402). When remModeIndex is smaller than mpmListSize-1, remModeIndex is encoded with 3 bits, and the process ends (step S3403). If not, that is, if remModeIndex is greater than or equal to mpmListSize-1, mpModeSize-1 is added to remModeIndex (step S3404), and the upper 3 bits of remModeIndex are encoded (step S3405). Further, the least significant bit of remModeIndex is encoded (step S3406), and the process is terminated.
  • the target block is a 4 ⁇ 4 block
  • 17 patterns of intra prediction are defined.
  • the non-priority prediction mode index remModeIndex is converted to any value of [0, 14]. Therefore, when fixed-length encoding is performed on the non-priority prediction mode index remModeIndex, conversion to a 4-bit codeword is performed.
  • the number of priority prediction modes mpmListSize increases, the number of candidates that can be taken by the non-priority prediction mode index decreases, so that it is redundant to express all remModeIndex with 4 bits. Therefore, in this procedure, remModeIndex is converted into a 3-bit or 4-bit codeword and variable length coding is performed.
  • the non-priority prediction mode index encoding unit 2608 compares the values of remModeIndex and mpmListSize-1 (step S3407). When remModeIndex is smaller than mpmListSize-2, remModeIndex is encoded with 4 bits, and the process ends (step S3408). If not, that is, if remModeIndex is greater than or equal to mpmListSize-2, mpModeSize-2 is added to remModeIndex (step S3409), and the upper 4 bits of remModeIndex are encoded (step S3410). Further, the least significant 1 bit of remModeIndex is encoded (step S3411), and the process ends.
  • the target block is an 8 ⁇ 8 block or a 16 ⁇ 16 block
  • 34 patterns of intra prediction are defined.
  • the non-priority prediction mode index remModeIndex is converted to any value of [0, 31]. Therefore, when fixed-length encoding is performed on the non-priority prediction mode index remModeIndex, conversion to a 5-bit codeword is performed. As in the case of a 4 ⁇ 4 block, it is redundant to represent all remModeIndex with 5 bits. Therefore, in this procedure, remModeIndex is converted into a 4-bit or 5-bit codeword, and variable length coding is performed.
  • FIG. 22 is a block diagram of a detailed configuration of the second example of the intra prediction mode decoding unit 803 of FIG.
  • the intra prediction mode decoding unit 803 according to the second embodiment includes an intra prediction mode memory 2901, a priority prediction mode list creation unit 2902, a priority prediction mode determination flag decoding unit 2903, a priority prediction mode index decoding unit 2904, and a priority prediction mode calculation unit. 2905, a non-priority prediction mode index decoding unit 2906, a non-priority prediction mode calculation unit 2907, and a prediction direction difference calculation unit 2908.
  • the intra prediction mode memory 2901 in FIG. Each configuration of the priority prediction mode list creation unit 2902 and the prediction direction difference calculation unit 2908 is the same as each configuration of the intra prediction mode memory 2601, the priority prediction mode list creation unit 2602, and the prediction direction difference calculation unit 2610 in FIG. Has the same function.
  • the prediction direction difference calculation unit 2908 acquires the intra prediction modes refModeA and refModeB of the adjacent blocks from the intra prediction mode memory 2901, and calculates the prediction direction difference diffDir (step S3001).
  • the prediction direction difference calculation procedure follows the procedure shown in FIG. 30 as in the case of the prediction direction difference calculation unit 2610 in FIG.
  • the priority prediction mode list creation unit 2902 acquires the intra prediction modes refModeA and refModeB of adjacent blocks from the intra prediction mode memory 2901, and acquires the prediction direction difference diffDir from the prediction direction difference calculation unit 2908.
  • the priority prediction mode list creation unit 2902 creates a priority prediction mode list mpmList based on the acquired refModeA, refModeB, and diffDir, and determines the size mpmListSize of the priority prediction mode list (step S3002). Similar to the priority prediction mode list creation procedure in the priority prediction mode list creation unit 2602 of FIG. 20, the priority prediction mode list creation procedure follows the procedure shown in the flowchart of FIG.
  • the priority prediction mode determination flag decoding unit 2903 reads 1 bit from the encoded sequence, decodes the priority prediction mode determination flag ppmFlag (step S3003), and determines the value of the priority prediction mode determination flag ppmFlag (step S3004).
  • the priority prediction mode index decoding unit 2904 decodes the priority prediction mode index mpmIndex (step S3005). Details of the priority prediction mode index decoding procedure will be described later. Further, the priority prediction mode calculation unit 2905 sets the mpmIndex-th element mpmList [mpmIndex] of the priority prediction mode list mpmList as the target prediction mode currModeIndex (step S3006).
  • the target prediction mode currModeIndex is stored in the intra prediction mode memory 2901, and the process ends.
  • the non-priority prediction mode index decoding unit 2906 decodes the non-priority prediction mode index remModeIndex (step S3007), and the non-priority prediction mode calculation unit 2907 calculates the calculated remModeIndex.
  • the target prediction mode currModeIndex is calculated based on the original (step S3008).
  • the target prediction mode currModeIndex is stored in the intra prediction mode memory 2901, and the process ends. The decoding procedure of the non-priority prediction mode index and the target prediction mode calculation procedure will be described later.
  • the priority prediction mode index decoding unit 2904 obtains mpmlist and mpmlistsize from the priority prediction mode list creation unit 2902.
  • the priority prediction mode index decoding unit 2904 selects a decoding tree to be used for decoding the priority prediction mode index mpmIndex based on mpmlistsize (step S3101).
  • FIG. 34 shows a decoding tree as a selection candidate.
  • Reference numeral 4201 in FIG. 34 denotes a decoding tree when mpmlistsize is 2.
  • Reference numeral 4202 in FIG. 34 denotes a decoding tree when mpmlistsize is 3.
  • Reference numeral 4203 in FIG. 34 is a decoding tree when mpmlistsize is 4.
  • Reference numeral 4204 in FIG. 34 is a decoding tree when mpmlistsize is 5.
  • Reference numeral 4205 in FIG. 34 is decoding when mpmlistsize is 7.
  • the priority prediction mode index decoding unit 2904 decodes mpmIndex using the selected decoding tree (step S3102), and ends the process.
  • Non-priority prediction mode index decoding procedure Details of the non-priority prediction mode index decoding procedure in step S3007 in FIG. 23 will be described with reference to the flowchart in FIG.
  • the non-priority prediction mode index decoding unit 2906 determines the target block size (step S3501).
  • remModeIndex When the target block is a 4 ⁇ 4 block, 3-bit fixed length decoding is performed to obtain remModeIndex (step S3502). The value of remModeIndex is determined (step S3503). When remModeIndex is smaller than mpmListSize-1, remModeIndex is determined and the process ends. Otherwise, remModeIndex is shifted right by 1 bit (step S3504), and 1 bit is further read from the encoded sequence and added to remModeIndex (step S3505). pmListSize-1 is subtracted from remModeIndex to determine the final remModeIndex (step S3506), and the process ends.
  • remModeIndex When the target block is an 8 ⁇ 8 block or a 16 ⁇ 16 block, 4-bit fixed length decoding is performed to obtain remModeIndex (step S3507). The value of remModeIndex is determined (step S3508). When remModeIndex is smaller than mpmListSize-2, remModeIndex is determined and the process ends. Otherwise, remModeIndex is shifted right by 1 bit (step S3509), and 1 bit is read from the encoded sequence and added to remModeIndex (step S3510). pmListSize-2 is subtracted from remModeIndex to determine the final remModeIndex (step S3511), and the process ends.
  • the process proceeds by scanning mpmList in ascending order of the index.
  • the non-priority prediction mode calculation unit 2907 initializes the target prediction mode currModeIndex with the non-priority prediction mode index remModeIndex, initializes a variable i for scanning mpMlist with 0 (step S3601), and sorts mpMlist in ascending order of values. (Step S3602).
  • currModeIndex and mpmList [i] are compared (step S3604). If currModeIndex is greater than or equal to mpmList [i], 1 is added to the value of currModeIndex (step S3605). 1 is added to the value of the variable i (step S3606), and scanning is continued.
  • step S3603 when i becomes equal to or greater than mpmListSize, that is, when all elements of mpmList have been scanned, the process is terminated.
  • the image encoding device and image decoding device of the first embodiment described above have the following operational effects.
  • the coding tree is switched based on the prediction direction difference between the plurality of processed screen prediction modes. Since the prediction direction indicated by the intra prediction mode has a correlation with the target image, the correlation between the decoded images of a plurality of reference blocks is estimated from the prediction direction difference of the intra prediction mode, and based on the correlation Therefore, it is possible to set an appropriate probability model and reduce the amount of generated codes in the prediction mode of the target image.
  • the number of coding trees to be created is at most half of the prediction directions that can be taken in the intra prediction mode. Compared to a configuration that considers all combinations of a plurality of prediction modes, the complexity can be greatly reduced.
  • the image encoding device and image decoding device of the second embodiment have the following operational effects.
  • the coding tree of the priority prediction mode is switched based on the prediction direction difference between the plurality of processed screen prediction modes. Since the prediction direction indicated by the intra prediction mode has a correlation with the target image, the correlation between the decoded images of a plurality of reference blocks is estimated from the prediction direction difference of the intra prediction mode, and based on the correlation Therefore, an appropriate probability model can be set, and the amount of generated codes can be reduced.
  • the amount of generated codes can be reduced by setting the average value mode to the priority prediction mode in addition to the prediction direction adjacent to the prediction direction of the reference prediction mode. Furthermore, in switching the coding tree in the priority prediction mode, the block size of the target block is used in addition to the prediction direction difference. If the defined intra prediction modes are different, the distribution of intra prediction modes is also different. In a configuration in which the defined intra prediction mode depends on the block size, a more appropriate coding tree can be selected by using the block size of the target block, and the generated code amount can be reduced.
  • the moving image encoded stream output from the moving image encoding apparatus of the embodiment described above has a specific data format so that it can be decoded according to the encoding method used in the embodiment. Therefore, the moving picture decoding apparatus corresponding to the moving picture encoding apparatus can decode the encoded stream of this specific data format.
  • the encoded stream When a wired or wireless network is used to exchange an encoded stream between a moving image encoding device and a moving image decoding device, the encoded stream is converted into a data format suitable for the transmission form of the communication path. It may be transmitted.
  • a video transmission apparatus that converts the encoded stream output from the video encoding apparatus into encoded data in a data format suitable for the transmission form of the communication channel and transmits the encoded data to the network, and receives the encoded data from the network Then, a moving image receiving apparatus that restores the encoded stream and supplies the encoded stream to the moving image decoding apparatus is provided.
  • the moving image transmitting apparatus is a memory that buffers the encoded stream output from the moving image encoding apparatus, a packet processing unit that packetizes the encoded stream, and transmission that transmits the packetized encoded data via the network.
  • the moving image receiving apparatus generates a coded stream by packetizing the received data, a receiving unit that receives the packetized coded data via a network, a memory that buffers the received coded data, and packet processing. And a packet processing unit provided to the video decoding device.
  • the above processing relating to encoding and decoding can be realized as a transmission, storage, and reception device using hardware, and is also stored in a ROM (Read Only Memory), a flash memory, or the like. It can also be realized by firmware or software such as a computer.
  • the firmware program and software program can be provided by recording them on a computer-readable recording medium, provided from a server through a wired or wireless network, or provided as a data broadcast of terrestrial or satellite digital broadcasting. Is also possible.
  • the present invention can be used for image encoding and decoding technologies, particularly intra-screen encoding and decoding technologies.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Selon la présente invention, une unité de calcul de la différence de direction de prédiction (604) trouve des différences de direction de prédiction pour des modes de prédiction intra-écran pour une pluralité de blocs de référence utilisés dans un traitement de prédiction intra-écran d'un bloc qui doit être codé. Une unité de détermination d'un mode de priorité (603) et une unité de sélection d'arbre de codage (605) déterminent, sur la base des modes de prédiction intra-écran pour la pluralité de blocs de référence utilisés dans l'obtention des différences de direction de prédiction et des différences de direction de prédiction, des modes de prédiction de priorité qui sont possibles pour les modes de prédiction intra-écran du bloc qui doit être codé afin de créer des arbres de codage, les séquences de code des longueurs de code qui sont plus courtes que les autres modes de prédiction, étant attribuées aux modes de prédiction de priorité déterminés. Une unité de codage à longueur variable (606) code des informations pour identifier le mode de prédiction intra-écran pour le bloc qui doit être codé selon l'arbre de codage.
PCT/JP2012/003472 2011-05-30 2012-05-28 Dispositif de codage d'image, procédé de codage d'image et programme de codage d'image ainsi que dispositif de décodage d'image, procédé de décodage d'image et programme de décodage d'image WO2012164902A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US14/091,018 US9843799B2 (en) 2011-05-30 2013-11-26 Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program
US15/807,353 US10015487B2 (en) 2011-05-30 2017-11-08 Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program
US15/958,271 US10200686B2 (en) 2011-05-30 2018-04-20 Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program
US15/958,214 US10165268B2 (en) 2011-05-30 2018-04-20 Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program
US15/958,298 US10298922B2 (en) 2011-05-30 2018-04-20 Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2011120783 2011-05-30
JP2011120782 2011-05-30
JP2011-120782 2011-05-30
JP2011-120783 2011-05-30
JP2011134558A JP5481698B2 (ja) 2011-05-30 2011-06-16 画像符号化装置、画像符号化方法及び画像符号化プログラム
JP2011-134558 2011-06-16
JP2011134559A JP5482735B2 (ja) 2011-05-30 2011-06-16 画像復号装置、画像復号方法及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP2011-134559 2011-06-16

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/091,018 Continuation US9843799B2 (en) 2011-05-30 2013-11-26 Picture coding device, picture coding method and picture coding program as well as picture decoding device, picture decoding method, and picture decoding program

Publications (1)

Publication Number Publication Date
WO2012164902A1 true WO2012164902A1 (fr) 2012-12-06

Family

ID=47258778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/003472 WO2012164902A1 (fr) 2011-05-30 2012-05-28 Dispositif de codage d'image, procédé de codage d'image et programme de codage d'image ainsi que dispositif de décodage d'image, procédé de décodage d'image et programme de décodage d'image

Country Status (1)

Country Link
WO (1) WO2012164902A1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10264280B2 (en) 2011-06-09 2019-04-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
US11700384B2 (en) 2011-07-17 2023-07-11 Qualcomm Incorporated Signaling picture size in video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087157A1 (fr) * 2009-01-29 2010-08-05 パナソニック株式会社 Procédé de codage d'image et procédé de décodage d'image

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087157A1 (fr) * 2009-01-29 2010-08-05 パナソニック株式会社 Procédé de codage d'image et procédé de décodage d'image

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
EHSAN MAANI ET AL.: "Differential Coding of Intra Modes (DCIM)", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 2ND MEETING, 16 July 2010 (2010-07-16), GENEVA, CH *
MEI GUO ET AL.: "Context Dependent Intra Mode Coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 5TH MEETING, 15 March 2011 (2011-03-15), GENEVA, SWITZERLAND *
MEI GUO ET AL.: "Improved Intra Mode Coding", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT- VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/ WG11 4TH MEETING, 15 January 2011 (2011-01-15), DAEGU, KOREA *
TOMOYUKI YAMAMOTO ET AL.: "Flexible Representation of Intra Prediction Modes", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 2ND MEETING, 16 July 2010 (2010-07-16), GENEVA, CH *
TORU KUMAKURA ET AL.: "Intra prediction mode coding based on direction difference", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11 6TH MEETING, 1 July 2011 (2011-07-01), TORINO, IT *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10264280B2 (en) 2011-06-09 2019-04-16 Qualcomm Incorporated Enhanced intra-prediction mode signaling for video coding using neighboring mode
US11700384B2 (en) 2011-07-17 2023-07-11 Qualcomm Incorporated Signaling picture size in video coding

Similar Documents

Publication Publication Date Title
EP3809701A1 (fr) Procédé et appareil de codage/décodage d'image
TWI612801B (zh) 影像編碼裝置、影像編碼方法及影像編碼程式
CN109348232B (zh) 图像解码装置以及图像解码方法
JP5983721B2 (ja) 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5679004B2 (ja) 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
WO2012164902A1 (fr) Dispositif de codage d'image, procédé de codage d'image et programme de codage d'image ainsi que dispositif de décodage d'image, procédé de décodage d'image et programme de décodage d'image
JP6620867B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664684B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5252032B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664681B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664682B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664683B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP2013106313A (ja) 画像復号装置、画像復号方法及び画像復号プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12792974

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12792974

Country of ref document: EP

Kind code of ref document: A1