WO2012164902A1 - 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム - Google Patents

画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム 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
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2012/003472
Other languages
English (en)
French (fr)
Inventor
徹 熊倉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JVCKenwood Corp
Original Assignee
JVCKenwood Corp
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 JP2011134559A external-priority patent/JP5482735B2/ja
Priority claimed from JP2011134558A external-priority patent/JP5481698B2/ja
Application filed by JVCKenwood Corp filed Critical JVCKenwood Corp
Publication of WO2012164902A1 publication Critical patent/WO2012164902A1/ja
Priority to US14/091,018 priority Critical patent/US9843799B2/en
Anticipated expiration legal-status Critical
Priority to US15/807,353 priority patent/US10015487B2/en
Priority to US15/958,298 priority patent/US10298922B2/en
Priority to US15/958,271 priority patent/US10200686B2/en
Priority to US15/958,214 priority patent/US10165268B2/en
Ceased legal-status Critical Current

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

 予測方向差算出部604は、符号化対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードの予測方向差を導出する。優先モード決定部603および符号化木選択部605は、予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと予測方向差にもとづいて、符号化対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を作成する。可変長符号化部606は、符号化木にしたがって符号化対象ブロックの画面内予測モードを特定するための情報を符号化する。

Description

画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
 本発明は、画像符号化及び復号技術に関し、特に画面内符号化及び復号技術に関する。
 動画像符号化の国際標準であるMPEG-4 AVCでは、一画面内で処理を完結させる画面内符号化の方式としてイントラ予測と呼ばれる方式を採用している。イントラ予測は、処理対象となるブロックに隣接した既復号サンプル値を、指定された予測方向に複製することにより処理対象ブロックの予測画像を作り出すものである。MPEG-4 AVCでは図1(a)、(b)に示す9種類の予測方向が定義されており、各ブロックにおいて予測方向を示すイントラ予測モードのモード番号を伝送することにより、適切な予測方向を指定する構成をとる。
 予測方向の定義数を拡張することにより予測画像品質を高めることができる。図2(a)の符号201は、17種類の予測方向の定義例を示したものであり、図2(b)の符号202は、34種類の予測方向の定義例を示したものである。しかしながら予測方向の定義数の増加はイントラ予測モードの伝送情報量の増加につながる。予測方向の定義数が増加するにつれ、全発生符号量のうちイントラ予測モードの占める割合が増加するため、効率的な伝送方法の必要性が高まる。
 特許文献1には、伝送する画面内予測モードの総数を減らすことにより、画面内予測モードの符号量を削減する手段が記載されている。特許文献1の方法は、複数のブロックの画面内予測モードを所定の統合単位分走査して、統合単位内のすべての画面内予測モードが同一である場合に統合単位で一つの画面内予測モードを伝送することにより、伝送する画面内予測モードを減らすものである。
特開2009-246975号公報
ISO/IEC 14496-10 Information technology -- Coding of audio-visual objects -- Part 10: Advanced Video Coding
 一般に、イントラ予測では、画像の符号化対象ブロックに隣接するブロックのイントラ予測モードと同一のイントラ予測モードが符号化対象ブロックにおいても選択される可能性が高いと仮定したイントラ予測モードの発生確率モデルを前提にイントラ予測モードを符号化している。しかし、現実的にはブロック毎にイントラ予測モードの発生分布は異なるため、すべてのブロックに対し常に同一の確率モデルを設定した符号化ではイントラ予測モードのさらなる効率的な符号化を達成することは難しい。
 特許文献1の方法は、各ブロックの画面内予測モードの発生頻度を考慮したものではないから、上述の課題は依然として解決されない。
 本発明はこうした状況に鑑みてなされたものであり、その目的は、イントラ予測モードの発生符号量を削減し、符号化効率をより一層向上させることのできる画像符号化技術を提供することにある。
 上記課題を解決するために、本発明のある態様の画像符号化装置は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部(509)と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部(601)と、前記符号化対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部(604)と、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を作成する符号化木作成部(603、605)と、前記符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する符号化部(606)とを備える。
 本発明の別の態様は、画像符号化方法である。この方法は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を作成するステップと、前記符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備える。
 本発明のさらに別の態様は、画像符号化装置である。この装置は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部(509)と、符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部(2601)と、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部(2610)と、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成する優先予測モードリスト作成部(2602)と、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出する優先予測モード判定フラグ算出部(2603)と、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化する優先予測モード判定フラグ符号化部(2604)と、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する優先予測モード符号化部(2606)と、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する非優先予測モード符号化部(2608)とを備える。
 本発明のさらに別の態様は、画像符号化方法である。この方法は、ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、符号化対象ブロックの画面内予測モードを選択するステップと、符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップと、前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備える。
 本発明のある態様の画像復号装置は、符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号装置であって、復号済みブロックの画面内予測モードを記憶する画面内予測モード記憶部(901)と、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部(904)と、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた復号木を作成する復号木作成部(903、905)と、前記復号木にしたがって前記復号対象ブロックの画面内予測モードを特定するための情報を復号する復号部(906)とを備える。
 本発明のさらに別の態様は、画像復号方法である。この方法は、符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号方法であって、復号済みブロックの画面内予測モードを記憶するメモリを参照して、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた復号木を作成するステップと、前記復号木にしたがって前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップとを備える。
 本発明のさらに別の態様は、画像復号装置である。この装置は、符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号装置であって、復号済みブロックの画面内予測モードを記憶する画面内予測モード記憶部(2901)と、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部(2908)と、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成する優先予測モードリスト作成部(2902)と、前記復号対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を復号する優先予測モード判定フラグ復号部(2903)と、前記復号対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号する優先予測モード復号部(2904)と、前記復号対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号する非優先予測モード復号部(2906)とを備える。
 本発明のさらに別の態様は、画像復号方法である。この方法は、符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号方法であって、復号済みブロックの画面内予測モードを記憶するメモリを参照して、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成するステップと、前記復号対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を復号するステップと、前記復号対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップと、前記復号対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップとを備える。
 なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
 本発明によれば、イントラ予測モードの発生符号量を削減し、符号化効率を向上させることができる。
9パターンのイントラ予測モードの予測方向を説明する図である。 17パターンと34パターンのイントラ予測モードの予測方向を説明する図である。 9パターンのイントラ予測モードを符号化するための符号化木を説明する図である。 図3の符号化木に従いイントラ予測モードを伝送するための符号化構文を説明する図である。 実施の形態に係るイントラ予測モードの符号化方法を実行するための画像符号化装置の構成を示すブロック図である。 図5のイントラ予測モード符号化部の第1の実施例の詳細な構成を示すブロック図である。 図6のイントラ予測モード符号化部によるイントラ予測モード符号化手順を説明するフローチャートである。 実施の形態に係るイントラ予測モードの復号方法を実行するための画像復号装置の構成を示すブロック図である。 図8のイントラ予測モード復号部の第1の実施例の詳細な構成を示すブロック図である。 図9のイントラ予測モード復号部によるイントラ予測モード復号手順を説明するフローチャートである。 実施の形態における参照イントラ予測モードを決定する手順を説明するフローチャートである。 実施の形態における予測方向差を算出する手順を説明するフローチャートである。 予測モードと予測方向番号を対応づけたテーブルを説明する図である。 予測方向差に優先予測モードと符号化木を対応づけたテーブルを説明する図である。 イントラ予測モードの予測方向の変換処理を説明する図である。 予測方向差に応じて決定される優先予測モードを説明する概念図である。 実施の形態で使用される符号化木の例を示す図である。 画像のブロック構成と参照ブロックを説明する図である。 処理対象ブロックと参照ブロックの関係を説明する図である。 図5のイントラ予測モード符号化部の第2の実施例の詳細な構成を示すブロック図である。 図20のイントラ予測モード符号化部によるイントラ予測モード符号化手順を説明するフローチャートである。 図8のイントラ予測モード復号部の第2の実施例の詳細な構成を示すブロック図である。 図21のイントラ予測モード復号部によるイントラ予測モード復号手順を説明するフローチャートである。 第2の実施例における優先予測モードを復号する動作を説明するフローチャートである。 第2の実施例における優先予測モード判定フラグと優先予測モードインデックスを算出する動作を説明するフローチャートである。 第2の実施例における非優先予測モードインデックスを算出する動作を説明するフローチャートである。 第2の実施例における非優先予測モードインデックスを符号化する動作を説明するフローチャートである。 第2の実施例における非優先予測モードインデックスを復号する動作を説明するフローチャートである。 第2の実施例における対象予測モードを算出する動作を説明するフローチャートである。 第2の実施例における予測方向差を算出する動作を説明するフローチャートである。 第2の実施例における優先予測モードリストを作成する動作を説明するフローチャートである。 第2の実施例の予測方向差と優先予測モードリストの対応関係を説明する図である。 第2の実施例における優先予測モードを符号化する動作を説明するフローチャートである。 第2の実施例における優先予測モードを符号化/復号するための符号化木/復号木を説明するための図である。
 まず、本発明の実施の形態の前提となる技術を説明する。
 以下の説明において、「処理対象ブロック」とは、画像符号化装置による符号化処理の場合は、符号化対象ブロックのことであり、画像復号装置による復号処理の場合は、復号対象ブロックのことである。「既処理ブロック」とは、画像符号化装置による符号化処理の場合は、符号化済みの復号されたブロックのことであり、画像復号装置による復号処理の場合は、復号済みのブロックのことである。以下、断りのない限り、この意味で用いる。
 [符号化木]
 図3は、図1の9パターンのイントラ予測モードを符号化するための符号化木を説明する図である。MPEG-4 AVCにおけるイントラ予測モードの伝送方法は、図3(a)の符号301に示す符号化木に従う。図中、内部節点(円)は符号を、葉(四角)はイントラ予測のモード番号を割り当てる。葉のうち符号302は優先予測モードである。優先予測モードについては後述する。例えば、優先予測モードに対しては“1”が、モード7に対しては符号“0111”が割り当てられる。
 図4は、図3の符号化木に従いイントラ予測モードを伝送するための符号化構文を説明する図である。図4(a)、(b)に示すprev_intra_pred_flagは優先予測モードかどうかを特定する構文要素、rem_intra_pred_modeはモード番号を表す構文要素である。復号時にはまず1ビットのprev_intra_pred_flagを符号化系列から読み出し、prev_intra_pred_flagが1であるときにはイントラ予測モードを優先予測モードと設定し次の構文へ移る。そうでないときはさらに3ビットのprev_intra_pred_flagの読み出しを行い、イントラ予測モードをrem_intra_pred_modeが示す予測モードとして設定する。
 図2の17パターンのイントラ予測モードを符号化するためには、図3(b)の符号303で示す符号化木に従い、同様の伝送方法を用いることができる。
 [優先予測モード]
 優先予測モードを決定するために、処理対象ブロックに隣接する既処理隣接ブロックを参照する。既処理隣接ブロックは、処理対象ブロックの左側に隣接しかつ最も上側に位置するブロック(「参照ブロックA」と呼ぶ)と、処理対象ブロックの上側に隣接しかつ最も左側に位置するブロック(「参照ブロックB」と呼ぶ)とする。
 既処理隣接参照ブロックの例について図18を用いて説明する。図中の処理対象ブロック1801に対し空間的に上側または/および左側に位置するブロック(符号1802から1811)はすべて既処理であり、そうでないブロック(符号1812から1815)は未処理となる。処理対象ブロック1801の左側に隣接するブロックはブロック1807とブロック1809の2つであるが、そのうち上側に位置するブロック1807を参照ブロックAとする。また処理対象ブロック1801の上側に隣接するブロックはブロック1803のみであり、このブロック1803を参照ブロックBとする。
 参照ブロックA、参照ブロックBのイントラ予測モード番号をそれぞれmodeIdxA,modeIdxBとするとき、処理対象ブロックの優先予測モードのインデックスmpmIdxを以下の式で表す。
 mpmIdx=min(modeIdxA,modeIdxB)
 すなわち優先予測モードは参照ブロックのイントラ予測モードのどちらかと一致する。
 [優先予測モードと符号化木の関係]
 図3の符号化木は、優先予測モードに対しては1ビットの符号を、そうでないモードには一様に1+3=4ビットの符号を割り当てるものであり、次の確率モデルに従うものである。
 p(mpm)≧0.5, ただしmpmは優先モードを表す。
 p(m)=0.0625=(1-p(mpm))/8, ただしm≠mpm
 しかしながら実際のイントラ予測モードの発生頻度の統計をとると優先予測モードの発生確率は平均p(mpm)=0.2程度であり、図3の符号化木は必ずしも現実のイントラ予測モードの発生分布に即したものであるとは言えない。
 図3の符号化木を用いた場合の統計上の優先予測モードの発生確率に従う平均発生符号量の期待値bitsfactは、bitsfact=3.4(=0.2×1+0.8×4)(ビット)である。一方、p(mpm)=0.2と仮定して最適な符号化木を設計した場合の平均発生符号量の期待値bitsoptを算出すると、bitsopt=3.2(ビット)であり、平均発生符号量の見積もりからも図3の符号化木が最適ではないことが分かる。
 上記手法は隣接ブロックのイントラ予測モードと一致するイントラ予測モードの大域的な発生確率に基づく確率モデルを設定するものである。現実的には各ブロックにおいてイントラ予測モードの発生分布は異なり、それぞれに適切な確率モデルが設定できると考えられる。しかしながら上記手法はすべてのブロックに対し常に同一の確率モデルを設定するためにやはり効率的な符号化がなされているとは言えない。
 適切な確率モデルを設定することのみを考慮するのであれば、例えば全ての参照ブロックのイントラ予測モードを取得し、そのすべての組合せに対してそれぞれ異なる適切な確率モデルを設定することも可能である。しかしながら複数の予測モードの組合せの数は予測モード数に対し指数関数的に増加するため、そのような手法は処理の複雑化と言う観点からは現実的な解とは言えない。
 ところでイントラ予測は既復号サンプル値を指定された予測方向に複製するものであり、予測方向に沿う周波数成分はすべて失われる一方、予測方向に直交する方向の周波数成分は保存される。そのため、特徴的な周波数成分を有する画像に対しては、その周波数成分をできる限り反映できるイントラ予測モードを選択することが適切である。言い換えると画像とイントラ予測モードとの間に相関があると言え、イントラ予測モードの選択に際し、以下の性質を利用できる。
 (1)予測方向が近いイントラ予測は、類似した予測画像を導出する。対象画像が微小な変化を伴うときは、微小な変化を表現するイントラ予測モードが適切となり、方向が近いイントラ予測モードの発生確率は高くなる。
 (2)隣接ブロックのイントラ予測の予測方向が互いに近い場合、隣接ブロック間の画像相関が高いと考えられる。そのとき、処理対象ブロックの画像も隣接ブロックとの相関が高い可能性が高く、処理対象ブロックのイントラ予測の予測方向は、隣接ブロックの予測方向の周辺方向に特に集中しやすい。
 (3)隣接ブロックのイントラ予測の予測方向が互いに遠い場合、隣接ブロック間の画像相関が低いと考えられる。そのときは、隣接ブロックのイントラ予測の予測方向が互いに近い場合に比べ、処理対象ブロックの画像と隣接ブロックとの相関が低くなる傾向にあり、処理対象ブロックのイントラ予測の予測方向は、隣接ブロックの予測方向の周辺方向へ集中しにくくなる。
 本実施の形態では、この性質に鑑み、確率モデルに応じた符号化木を複数用意し、参照ブロックのイントラ予測モードの予測方向差に応じて確率モデルの切り替えを行うことにより、符号化木の増加に伴う符号化処理の複雑化を制限した上で、イントラ予測モードの発生符号量削減を実現し、符号化効率を向上させる。
 [符号化装置]
 本発明を実施する好適な画像符号化装置について図面を参照して説明する。図5は実施の形態に係る画像符号化装置の構成を示すブロック図である。実施の形態の画像符号化装置は、減算部501と、直交変換・量子化部502と、逆量子化・逆変換部503と、加算部504と、復号画像メモリ505と、イントラ予測部506と、テクスチャ情報符号化部507と、イントラ予測モード符号化部508と、イントラ予測モード選択部509とを備える。本発明の実施の形態は画面内予測に注目したものであるため、画面間予測に関連する構成要素については図示せず、説明を省略する。
 イントラ予測モード選択部509は、画像のブロック毎に最適なイントラ予測モードを選択し、選択されたイントラ予測モードをイントラ予測部506と、イントラ予測モード符号化部508に与える。
 イントラ予測モード符号化部508は、入力されたイントラ予測モードを可変長符号化してイントラ予測モードビットストリームを出力する。イントラ予測モード符号化部508の詳細な構成と動作については後述する。
 イントラ予測部506は、入力されたイントラ予測モードと、復号画像メモリ505に記憶した隣接ブロックの既復号画像を用いてイントラ予測画像を生成し、生成したイントラ予測画像を減算部501へ与える。
 減算部501は、符号化対象の原画像からイントラ予測画像を減ずることにより差分画像を生成し、生成した差分信号を直交変換・量子化部502に与える。
 直交変換・量子化部502は、差分画像に対し直交変換・量子化をしてテクスチャ情報を生成し、生成したテクスチャ情報を逆量子化・逆変換部503とテクスチャ情報符号化部507に与える。
 テクスチャ情報符号化部507は、テクスチャ情報をエントロピー符号化してテクスチャ情報ビットストリームを出力する。
 逆量子化・逆変換部503は、直交変換・量子化部502から受け取ったテクスチャ情報に対し逆量子化・逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部504に与える。
 加算部504は、イントラ予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ505に格納する。
 [復号装置]
 本発明を実施する好適な画像復号装置について図面を参照して説明する。図8は実施の形態に係る画像復号装置の構成を示すブロック図である。実施の形態の画像復号装置は、テクスチャ情報復号部801と、逆量子化・逆変換部802と、イントラ予測モード復号部803と、加算部804と、復号画像メモリ805と、イントラ予測部806とを備える。本発明の実施の形態は画面内予測に注目したものであるため、画面間予測に関連する構成要素は図示せず、説明を省略する。
 図8の画像復号装置の復号処理は、図5の画像符号化装置の内部に設けられている復号処理に対応するものであるから、図8の逆量子化・逆変換部802、加算部804、復号画像メモリ805、およびイントラ予測部806の各構成は、図5の画像符号化装置の逆量子化・逆変換部503、加算部504、復号画像メモリ505、およびイントラ予測部506の各構成とそれぞれ対応する機能を有する。
 イントラ予測モード復号部803は、入力されたイントラ予測モードビットストリームをエントロピー復号してイントラ予測モードを生成し、生成したイントラ予測モードをイントラ予測部806に与える。イントラ予測モード復号部803の詳細な構成と動作については後述する。
 イントラ予測部806は、入力されたイントラ予測モードと、復号画像メモリ805に記憶した隣接ブロックの既復号画像を用いてイントラ予測画像を生成し、生成したイントラ予測画像を加算部804へ与える。
 テクスチャ情報復号部801は、テクスチャ情報をエントロピー復号してテクスチャ情報を生成する。生成したテクスチャ情報を逆量子化・逆変換部802に与える。
 逆量子化・逆変換部802は、テクスチャ情報復号部801から受け取ったテクスチャ情報に対し逆量子化・逆直交変換をして復号差分信号を生成し、生成した復号差分信号を加算部804に与える。
 加算部804は、イントラ予測画像と復号差分信号を加算して復号画像を生成し、生成した復号画像を復号画像メモリ805に格納し、出力する。
 本発明の実施の形態に係るイントラ予測モード符号化及び復号処理は、図5の動画像符号化装置のイントラ予測モード符号化部508及び図8の動画像復号装置のイントラ予測モード復号部803において実施される。以下、実施の形態に係るイントラ予測モード符号化及び復号処理の詳細を説明する。
 [符号化ブロック]
 実施の形態では、図18で示されるように、画面を矩形ブロックにて階層的に分割するとともに、各ブロックに対し所定の処理順による逐次処理を行う。分割する各ブロックを符号化ブロックとよぶ。図18のブロック1817は、実施の形態において分割の最大単位であり、これを最大符号化ブロックとよぶ。図18のブロック1816は、実施の形態において分割の最小単位であり、これを最小符号化ブロックとよぶ。以下最小符号化ブロックを4×4画素、最大符号化ブロックを16×16画素として説明を行う。
 [予測ブロック]
 符号化ブロックのうち、イントラ予測を行う単位を予測ブロックと呼ぶ。予測ブロックは最小符号化ブロック以上、最大符号化ブロック以下のいずれかの大きさを持つ。図18ではブロック1802、1803、および1804が16×16ブロック、ブロック1805、1810、1811、および1801が8×8ブロック、ブロック1806、1807、1808、1809が4×4ブロックである。ブロック1812、1813、1814、1815は未処理ブロックであり、符号化ブロックサイズが確定していない。符号化手順においては最適な予測ブロックサイズを決定し、予測ブロックサイズを伝送する。復号手順においてはビットストリームより予測ブロックサイズを取得する。以下、予測ブロックを処理単位として説明を行う。
 [予測ブロックサイズとイントラ予測モード]
 予測ブロックのサイズに応じて、イントラ予測モードの構成を切り替える。4×4ブロックでは図2(a)の符号201に示す17パターンのイントラ予測モードを定義し、8×8ブロックと16×16ブロックに対しては、図2(b)の符号202に示す34パターンのイントラ予測モードを定義する。これは、小さいサイズの予測ブロックに対して過剰なパターン数のイントラ予測モードを定義しても、発生符号量の増加に見合うだけの品質向上が得られないためである。
 [参照ブロックと参照イントラ予測モード]
 参照ブロックは、処理対象ブロックの左側に隣接しかつ最も上側に位置するブロックであるブロックAと、処理対象ブロックの上側に隣接しかつ最も左側に位置するブロックであるブロックBである。ブロックAの予測モードをrefModeA、ブロックBの予測モードをrefModeBとする。各参照ブロックのイントラ予測モードを「参照イントラ予測モード」と呼ぶ。参照ブロックが存在しないときの参照イントラ予測モードは直流予測モード(「平均値モード」ともいう)に設定する。
 (第1の実施例)
 [符号化手順]
 本発明の実施の形態に係るイントラ予測モードの符号化方法の第1の実施例を説明する。図6は図5のイントラ予測モード符号化部508の第1の実施例の詳細な構成のブロック図である。第1の実施例のイントラ予測モード符号化部508は、イントラ予測モードメモリ601、参照モード決定部602、優先モード決定部603、予測方向差算出部604、符号化木選択部605、及び可変長符号化部606を備える。以下、図7のフローチャートも参照しながら、イントラ予測モードの符号化手順を説明する。
 イントラ予測モードメモリ601には、イントラ予測モード選択部509から入力されるイントラ予測モードが格納されて記憶される。
 参照モード決定部602は、イントラ予測モードメモリ601から符号化対象ブロックに隣接する符号化済みの参照ブロックのイントラ予測モードを取得し、参照イントラ予測モードを決定する(ステップS701)。参照イントラ予測モード決定手順の詳細については後述する。
 予測方向差算出部604は、参照モード決定部602から参照イントラ予測モードを取得し、予測方向差を算出する(ステップS702)。予測方向差算出手順の詳細については後述する。
 優先モード決定部603は、予測方向差算出部604から予測方向差を取得し、また参照モード決定部602から参照イントラ予測モードを取得する。優先モード決定部603は、取得した予測方向差と参照イントラ予測モードを元に優先モードを決定する(ステップS703)。優先モード決定手順の詳細については後述する。
 符号化木選択部605は、予測方向差算出部604から予測方向差を取得し、予測方向差に応じて符号化木を決定する(ステップS704)。符号化木選択手順の詳細については後述する。
 可変長符号化部606は、符号化対象ブロックのイントラ予測モードの入力を受け、また優先モード決定部603から優先モードを、符号化木選択部605から符号化木を取得する。可変長符号化部606は、符号化対象ブロックのイントラ予測モードに対して優先モードと符号化木を用いて可変長符号化を行う(ステップS705)。可変長符号化部606は、生成したビット系列を出力し、一連のイントラ予測モードの符号化処理を終了する。
 [参照イントラ予測モード決定手順]
 図7のステップS701の参照イントラ予測モード決定手順の詳細を図11のフローチャートを参照して説明する。
 図6の参照モード決定部602は、イントラ予測モードメモリ601から符号化対象ブロックに隣接する参照ブロックのイントラ予測モードを取得する。
 符号化対象ブロックの左に隣接する参照ブロックAのイントラ予測モードと符号化対象ブロックのイントラ予測モードのパターン数を比較する(ステップS1101)。
 符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックAのイントラ予測モードのパターン数以上である場合、参照ブロックAのイントラ予測モードをそのまま「参照モードA」とする(ステップS1102)。
 符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックAのイントラ予測モードのパターン数より小さい場合、参照モードの変換を行う(ステップS1103)。参照モードの変換については後述する。
 符号化対象ブロックの上に隣接する参照ブロックBのイントラ予測モードと符号化対象ブロックのイントラ予測モードのパターン数を比較する(ステップS1104)。
 符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックBのイントラ予測モードのパターン数以上である場合、参照ブロックBのイントラ予測モードをそのまま「参照モードB」とする(ステップS1105)。
 符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックBのイントラ予測モードのパターン数より小さい場合、参照モードの変換を行う(ステップS1106)。
 参照モードの変換について説明する。参照モードの変換を実施するのは図19で示すように、符号化対象ブロック1901に比べて、参照ブロックA1902、参照ブロックB1901のサイズが大きい場合である。ここで、符号化対象ブロック1901は4×4画素ブロックであり、参照ブロックA1902と参照ブロックB1903は8×8画素ブロックである。符号化対象ブロック1901に対しては図2(a)の符号201で示す17パターンのイントラ予測モードが定義されている。参照ブロックA1902と参照ブロックB1903に対しては図2(b)の符号202に示す34パターンのイントラ予測モードが定義されている。
 このように、符号化対象ブロックのイントラ予測モードのパターン数が参照ブロックのイントラ予測モードのパターン数より小さい場合、符号化対象ブロックのイントラ予測モードを符号化するにあたって、参照ブロックのイントラ予測モードのパターンを何らかの形で符号化対象ブロックのイントラ予測モードのパターンに縮退させる必要がある。参照モード変換は、パターン数の多い参照ブロックのイントラ予測モードを、パターン数の少ない符号化対象ブロックのイントラ予測モードに変換する処理である。
 図15を参照して、イントラ予測モードの変換処理を説明する。図15の符号1501は、34パターンのイントラ予測モードの予測方向を横軸上の点で示したものである。図15の符号1502は、17パターンのイントラ予測モードの予測方向を横軸上の点で示したものである。図15の符号1502の破線で表される点の位置は、34パターンのイントラ予測モードには含まれるが、17パターンのイントラ予測モードには含まれない予測方向である。
 符号1501で示す34パターンのイントラ予測モードにおいて、参照モードAの予測方向が符号1503に示す位置であり、参照モードBの予測方向が符号1504に示す位置であるとする。このとき、符号1502で示す17パターンのイントラ予測モードでは、参照モードA、Bの予測方向に対応する点(破線で表される点)には予測モードが存在しない。そこで、17パターンのイントラ予測モードにおいて、参照モードA、Bの予測方向に対応する点に隣接する点(符号1505、1506)を代わりに変換後の予測モードとして選択する。
 [予測方向差算出手順]
 図7のステップS702の予測方向差算出手順の詳細を図12のフローチャートを参照して説明する。
 予測方向差算出部604は、参照モード決定部602から参照モードA、Bを取得し、参照モードAと参照モードBを比較する(ステップS1201)。
 参照モードA、Bがともに平均値モードのときは、予測方向差として両方が平均値モードであることを示す特殊値-2を設定する(ステップS1202)。
 参照モードA、Bのどちらかが平均値モードのときは、片方が平均値モードであることを示す特殊値-1を設定する(ステップS1203)。
 参照モードA、Bがともに平均値モードでないときは、参照モードA、Bそれぞれに対し、図13の予測モードと予測方向番号を対応づけたテーブルを参照することにより予測方向番号を決定する。
 図13は、イントラ予測モードの番号と予測方向番号を対応づけたテーブルである。イントラ予測モードの番号は、図1や図2で示すように、方位の順につけられたものではないため、そのままでは予測方向差を算出するために用いることができない。そこで、予測モード番号に、方位の順につけられた予測方向番号を対応づけたテーブルを用意して。予測方向差を算出するときは、予測方向番号を用いることにする。
 参照モードA、参照モードBの予測方向番号をそれぞれdirA、dirBとし、以下の計算式により参照モードAと参照モードBの予測方向の違いの程度を示す予測方向差DiffDirを算出する(ステップS1204)。
 DiffDir=min(16-abs(dirA-dirB),abs(dirA-dirB))
 ここで、abs()は引数の絶対値を計算する関数であり、min()は2つの引数の最小値を選択する関数である。
 次に予測方向差DiffDirを所定の上限値と比較し、予測方向差DiffDirが上限値を超えるなら、予測方向差DiffDirを上限値に置き換える(ステップS1205)。たとえば、17パターンのイントラ予測モードの場合、予測方向差の最大値は8であり、上限値をたとえば4に設定しておき、予測方向差が4を超える場合は、4に丸める。
 [優先モード決定手順]
 図7のステップS703の優先モード決定手順の詳細を説明する。
 優先モード決定部603は、予測方向差算出部604から予測方向差を取得し、また参照モード決定部602から参照モードを取得する。優先モード決定部603は、図14に示す予測方向差に優先予測モードと符号化木を対応づけたテーブルを参照し、優先モードの数と優先モードのモード番号を決定する。
 図14は、予測方向差に対応づけて、優先モード数、優先モード番号、符号化木番号を対応づけたものである。図14は、17パターンのイントラ予測モードを用いる場合であり、予測方向差は0から8までの値と、特殊値の-1、-2を取る。予測方向差が大きくなるほど、優先モード数は増える。優先モード数を増やすために、優先モードとして参照モードA、B以外に、参照モードA、Bに隣接するモードや平均値モードを利用する。
 以下図16の例を用いながら、各予測方向差に対する優先モードを説明する。
 [予測方向差が0のとき]
 参照モードA、参照モードBがともに平均値モードでなく、予測方向が一致する場合である。図14に示すテーブルより、この場合、優先モードの数は3つであり、第1優先モードを参照モードAおよび参照モードBと同一のモード、第2優先モード、第3優先モードをそれぞれ第1優先モードに隣接する方向の予測モードとする。図16の符号1601は予測方向差が0のときの優先モードの概念図である。第1優先モードの予測方向は符号1602の点、第2優先モードの予測方向は符号1603の点、第3優先モードの予測方向は符号1604の点であり、互いに隣接している。
 [予測方向差が1のとき]
 参照モードAの予測方向と参照モードBの予測方向が互いに隣接している場合である。図14に示すテーブルより、この場合、優先モードの数は4つであり、第1優先モードを参照モードA、第2優先モードを参照モードB、第3優先モード、第4優先モードをそれぞれ第1優先モード、第2優先モードに隣接する方向の予測モードとする。図16の符号1605は予測方向差が1のときの優先モードの概念図である。第1優先モードは符号1606、第2優先モードは符号1607、第3優先モードは符号1608、第4優先モードは符号1609でそれぞれ表される予測方向である。
 [予測方向差が2のとき]
 参照モードAの予測方向と参照モードBの予測方向に挟まれる別の予測方向が存在する場合である。図14に示すテーブルより、この場合、優先モードの数は5つであり、第1優先モードを参照モードA、第2優先モードを参照モードB、第3優先モードを第1優先モードと第2優先モードに挟まれた予測方向を示す予測モード、第4優先モード、第5優先モードをそれぞれ第1優先モード、第2優先モードに隣接し第3優先モードでない予測方向の予測モードとする。図16の符号1610は予測方向差が2のときの優先モードの概念図である。第1優先モードは符号1611、第2優先モードは符号1612、第3優先モードは符号1613、第4優先モードは符号1614、第5優先モードは符号1615でそれぞれ表される予測方向である。
 [予測方向差が3以上のとき]
 同様の手順に従うため予測方向差が3以上のときの説明を省略する。
 [予測方向差が-2のとき(参照モードがどちらも平均値モードのとき)]
 参照モードA、参照モードBがともに平均値モードの場合である。図14に示すテーブルより、この場合、優先モードの数は1つであり、第1優先モードを平均値モードとする。
 [予測方向差が-1のとき(参照モードのどちらか一方のみが平均値モードのとき)]
 参照モードA、参照モードBのどちらか一方のみが平均値モードの場合である。図14に示すテーブルより、この場合、優先モードの数は4つであり、第1優先モードを参照モードA、第2優先モードを参照モードB、第3優先モード、第4優先モードをそれぞれ第1優先モードと第2優先モードのうち平均値モードでない方の予測モードの予測方向に隣接する方向の予測モードとする。
 [符号化木選択手順]
 図7のステップS704の符号化木選択手順の詳細を説明する。ここでは17パターンのイントラ予測モードを例とする。
 符号化木選択部605は、予測方向差算出部604から予測方向差を取得する。図14に示すテーブルを参照し、符号化木を選択する。図14のテーブルでは、優先モード数に符号化木の番号が対応づけられている。
 図17は符号化木の例である。符号1701は符号化木番号0の符号化木(「符号化木0」という)、符号1702は符号化木番号1の符号化木(「符号化木1」という)、符号1703は符号化木番号2の符号化木(「符号化木2」という)である。他の符号化木は省略する。各符号化木は、優先モードを示す葉と、予測モード番号を示す葉のどちらかに分類され、優先モードを示す葉に対しては、優先モード決定手順で決定した優先モードを適応的に割り当てる。一方予測モード番号を示す葉に対しては、処理対象の予測モードの予測モード番号を(優先モードを除いた変換を行った上で)固定的に割り当てる。いずれの符号化木においても優先モードには他の予測モードよりも短い符号長の符号が割り当てられるため、符号化対象ブロックのイントラ予測モードがいずれかの優先モードに該当すれば、発生符号量は小さくなる。
 以下図17を用いて、予測方向差に応じた符号化木の選択について説明をする。
 [予測方向差が0のとき]
 図14を参照して、符号化木0を選択する。符号化木0は3つの葉が優先モードとして設定される。優先モード決定手順より、第1優先モードは参照モードAおよび参照モードBと同一のモード、第2優先モード、第3優先モードはそれぞれ第1優先モードに隣接する予測方向の予測モードである。
 [予測方向差が1のとき]
 図14を参照して、符号化木1を選択する。符号化木1は4つの葉が優先モードとして設定される。優先モード決定手順より、第1優先モードは参照モードA、第2優先モードは参照モードB、第3優先モード、第4優先モードはそれぞれ第1優先モード、第2優先モードに隣接方向の予測モードである。
 [予測方向差が2のとき]
 図14を参照して、符号化木2を選択する。符号化木2は5つの葉が優先モードとして設定される。優先モード決定手順より、第1優先モードは参照モードA、第2優先モードは参照モードB、第3優先モードは第1優先モードと第2優先モードに挟まれた予測方向は示す予測モード、第4優先モード、第5優先モードはそれぞれ第1優先モード、第2優先モードに隣接し第3優先モードでない予測方向の予測モードである。
 [予測方向差が3以上のとき]
 同様の手順に従うため説明を省略する。
 [予測方向差が-2のとき]
 図14を参照して、符号化木9を選択する。
 [予測方向差が-1のとき]
 図14を参照して、符号化木10を選択する。
 以上述べたように、本実施の形態の画像符号化装置では、参照ブロックの画面内予測モードに加えて、参照ブロックの画面内予測モードの予測方向に隣接する方向を示す予測モードを優先予測モードとして用いる。そして、優先予測モード数の異なる複数の符号化木をあらかじめ用意しておき、参照ブロックの画面内予測モードの予測方向の差を元に符号化木を切り替えることにより、符号化対象ブロックの画面内予測モードの符号化効率を向上させることができる。
 予測方向差が小さいほど優先予測モード数の少ない符号化木が選択され、優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を用いて符号化対象ブロックのイントラ予測モードが符号化される。
 複数の参照ブロックが互いに近い予測方向を示す場合は、参照ブロック間の画像相関が高く、処理対象ブロックと参照ブロックとの画像相関も高い可能性が高い。そのとき、処理対象ブロックの予測方向が参照ブロックの予測方向の近傍に特に集中しやすい。一方、複数の参照ブロックの示す予測方向が互いに離れている場合は、参照ブロック間の画像相関が低く、処理対象ブロックと参照ブロックとの画像相関も低い可能性が高い。そのとき、処理対象ブロックの予測方向の、参照ブロックの予測方向の近傍への集中度は、複数の参照ブロックが近い予測方向を示す場合と比べて低くなる。
 本実施の形態のイントラ予測モードの符号化処理では、複数の参照ブロックの予測モードの予測方向差を元に符号化木を切り替える構成を取ることにより、各処理対象ブロックの予測モードの発生確率を的確に推定し、画面内予測モードの発生符号量を減らすことができる。
 [復号手順]
 本発明の実施の形態に係るイントラ予測モードの復号方法の第1の実施例を説明する。図9は図8のイントラ予測モード復号部803の第1の実施例の詳細な構成のブロック図である。第1の実施例のイントラ予測モード復号部803は、イントラ予測モードメモリ901、参照モード決定部902、優先モード決定部903、予測方向差算出部904、復号木選択部905、及び可変長復号部906を備える。
 図9のイントラ予測モード復号部803におけるイントラ予測モード復号処理は、図6のイントラ予測モード符号化部508におけるイントラ予測モード符号化処理に対応するものであるから、図9のイントラ予測モードメモリ901、参照モード決定部902、優先モード決定部903、予測方向差算出部904、及び復号木選択部905の各構成は、図6のイントラ予測モードメモリ601、参照モード決定部602、優先モード決定部603、予測方向差算出部604、及び符号化木選択部605の各構成とそれぞれ対応する機能を有する。
 以下、図10のフローチャートも参照しながら、イントラ予測モードの復号手順を説明する。
 参照モード決定部902は、イントラ予測モードメモリ901から復号対象ブロックに隣接する復号済みの参照ブロックのイントラ予測モードを取得し、参照イントラ予測モードを決定する(ステップS1001)。参照イントラ予測モード決定手順は、図6の参照モード決定部602における参照イントラ予測モード決定手順と同様、図11のフローチャートで示す手続きに従うため、詳細な説明を省略する。
 予測方向差算出部904は、参照モード決定部902から参照イントラ予測モードを取得し、予測方向差を算出する(ステップS1002)。予測方向差算出手順は、図6の予測方向差算出部604における予測方向算出手順と同様、図12のフローチャートで示す手続きに従うため、詳細な説明を省略する。
 優先モード決定部903は、予測方向差算出部904から予測方向差を取得し、また参照モード決定部902から参照イントラ予測モードを取得する。優先モード決定部903は、取得した予測方向差と参照イントラ予測モードを元に優先モードを決定する(ステップS1003)。優先モード決定手順は、図6の優先モード決定部603における優先モード決定手順と同様の手続きに従うため、詳細な説明を省略する。
 復号木選択部905は、予測方向差算出部904から予測方向差を取得し、予測方向差に応じて復号木を決定する(ステップS1004)。復号木選択手順は、図6の符号化木選択部605における符号化木選択手順と同様の手続きに従うため、詳細説明を省略する。ただし、「符号化木」は「復号木」と読み替える。
 可変長復号部906は、イントラ予測モードのビットストリームの入力を受け、また優先モード決定部903から優先モードを、復号木選択部905から復号木を取得する。可変長復号部906は、復号対象ブロックのイントラ予測モードに対して優先モードと復号木を用いて可変長復号を行う(ステップS1005)。可変長復号部906は、復号したイントラ予測モードをイントラ予測モードメモリ901に記憶するとともに、外部に出力し、一連のイントラ予測モードの復号処理を終了する。
 (第2の実施例)
 [符号化手順]
 本発明に係る実施の形態によるイントラ予測モードの符号化方法の第2の実施例について説明する。図20は図5のイントラ予測モード符号化部508の第2の実施例の詳細な構成のブロック図である。第2の実施例のイントラ予測モード符号化部508は、イントラ予測モードメモリ2601、優先予測モードリスト作成部2602、優先予測モード判定フラグ算出部2603、優先予測モード判定フラグ符号化部2604、優先予測モードインデックス算出部2605、優先予測モードインデックス符号化部2606、非優先予測モードインデックス算出部2607、非優先予測モードインデックス符号化部2608、優先予測モード判定部2609、及び予測方向差算出部2610を備える。以下、図21のフローチャートも参照しながら、イントラ予測モードの符号化手順を説明する。
 予測方向差算出部2610は、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、refModeAとrefModeBの予測方向差diffDirを算出する(ステップS2701)。予測方向差算出手順の詳細については後述する。
 優先予測モードリスト作成部2602は、予測方向差算出部2610から予測方向差diffDirを取得し、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得する。優先予測モードリスト作成部2602は、diffDir、refModeA、及びrefModeBを元に優先予測モードリストmpmListを作成し、優先予測モードリストサイズmpmlistsizeを決定する(ステップS2702)。優先予測モードリスト作成手順の詳細については後述する。また、対象イントラ予測モードをイントラ予測モードメモリ2601に記憶する。
 優先予測モード判定フラグ算出部2603は、対象予測モードと優先予測モードリストmpmListを取得し、優先予測モード判定フラグmpmFlagを算出する。また、優先予測モードインデックス算出部2605は、優先予測モードインデックスmpmIndexを算出し(ステップS2703)、優先予測モード判定フラグ符号化部2604は、優先予測モード判定フラグmpmFlagを符号化する(ステップS2704)。優先予測モード判定フラグ、優先予測モードインデックス算出手順の詳細については後述する。
 優先予測モード判定部2609は、優先予測モード判定フラグmpmFlagを判定する(ステップS2705)。
 優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス符号化部2606は、優先予測モードインデックスmpmIndexを符号化し(ステップS2706)、処理を終了する。優先予測モードインデックス符号化手順の詳細については後述する。
 優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス算出部2607は、非優先予測モードインデックスremModeIndexを算出し(ステップS2707)、非優先予測モードインデックス符号化部2608は、算出した非優先予測モードremModeIndexの符号化を行う(ステップS2708)。非優先予測モードインデックス算出手順、および非優先予測モード符号化手順の詳細については後述する。
 [予測方向差算出手順]
 図21のステップS2701の予測方向差算出手順の詳細を図30のフローチャートを参照して説明する。
 予測方向差算出部2610は、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得する。refModeAとrefModeBの値がともに2(平均値モード)であるかどうかを判定する(ステップS3201)。
 refModeAとrefModeBの値がともに2(平均値モード)である場合は、予測方向差diffDirを-2と設定する(ステップS3202)。-2はrefModeAとrefModeBの値がともに2(平均値モード)であることを示す特殊値である。
 refModeAとrefModeBの値が少なくともどちらかが2(平均値モード)でない場合は、さらにrefModeAとrefModeBのどちらかが2(平均値モード)であるかどうかを判定する(ステップS3203)。refModeAとrefModeBのどちらかが2(平均値モード)である場合は、予測方向差diffDirを-1と設定する(S3205)。-1はrefModeAとrefModeBの値のどちらかが2(平均値モード)であることを示す特殊値である。
 refModeAとrefModeBの値がともに2(平均値モード)でない場合は、refModeAとrefModeBの予測方向の差を算出する(ステップS3204)。対象ブロックが4×4ブロックである場合は、図13の表を参照することにより、予測方向番号を決定する。refModeAの予測方向番号をdirA、refModeBの予測方向番号をdirBとし、以下の計算式により予測方向差diffDirを算出する。
 DiffDir=min(16-abs(dirA-dirB),abs(dirA-dirB))
対象ブロックが8×8、16×16ブロックである場合も4×4ブロックの場合と同様、の方法で予測方向番号を決定し、以下の計算式により予測方向差diffDirを算出する。
 DiffDir=min(33-abs(dirA-dirB),abs(dirA-dirB))
 [優先予測モードリスト作成手順]
 図21のステップS2702の優先予測モードリスト作成手順の詳細を図31のフローチャートを参照して説明する。
 優先予測モードリスト作成部2602は、予測方向差算出部2610から予測方向差diffDirを取得し、イントラ予測モードメモリ2601から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、予測方向差diffDirの値を判定する(ステップS3901)。
 予測方向差diffDirの値が-2のとき、すなわちrefModeAとrefModeBがともに平均値モードのときは(ステップS3902)、図32の符号4001に示すように、mpmlistsizeを2とする。さらにmpmList[0]をrefModeA、mpmList[1]を0(垂直方向予測モード)とする。mpmList[1]を0(垂直方向予測モード)とするのは、垂直方向予測モードの発生頻度は平均的に高いことと、平均的には、平均値モードのみを優先予測モードとするほど平均値モードの発生頻度が高くないことによる。
 予測方向差diffDirの値が-1のとき、すなわちrefModeAとrefModeBのどちらか一方が平均値モードのときは(ステップS3903)、図32の符号4002に示すように、mpmlistsizeを4とする。さらに、mpmList[0]をmin(refModeA,refModeB)、mpmList[1]をmax(refModeA,refModeB)、mpmList[2]をleft(dirMode)、mpmList[3]をright(dirMode)とする。ただし、dirModeはrefModeAとrefModeBのうち平均値モードでない方の予測モードとし、left(dirMode)は、dirModeの左方向に隣接する予測モード、right(dirMode)は、dirModeの右方向に隣接する予測モードとする。
 予測方向差diffDirの値が0のときは(ステップS3904)、すなわちrefModeAとrefModeBが同一であり、かつどちらも平均値モードでいときは、図32の符号4003に示すように、mpmlistsizeを3とする。さらに、mpmList[0]をrefModeA、mpmList[1]をleft(refModeA)、mpmList[2]をright(refModeA)とする。ただし、left(refModeA)は、refModeAの左方向に隣接する予測モード、right(refModeA)は、refModeAの右方向に隣接する予測モードとする。
 予測方向差diffDirの値が1のときは(ステップS3905)、すなわちrefModeAとrefModeBが隣接するときは、図32の符号4004に示すように、mpmlistsizeを4とする。さらに、mpmList[0]をmin(refModeA,refModeB)、mpmList[1]をmax(refModeA,refModeB)、mpmList[2]をleft(leftMode)、mpmList[3]をright(rightMode)とする。ただし、leftModeはrefModeAとrefModeBのうち左方向の予測モード、rightModeはrefModeAとrefModeBのうち右方向の予測モードとし、left(leftMode)は、leftModeの左方向に隣接する予測モード、right(rightMode)は、rightModeの右方向に隣接する予測モードとする。
 予測方向差diffDirの値が2のときは(ステップS3906)、図32の符号4005に示すように、mpmlistsizeを5とする。さらに、mpmList[0]をmin(refModeA,refModeB,interMode)、mpmList[1]をmedian(refModeA,refModeB,interMode)、mpmList[2]をmax(refModeA,refModeB,interMode)、mpmList[3]をleft(leftMode)、mpmList[4]をright(rightMode)とする。ただし、interModeはrefModeA,refModeBの間に挟まれる予測モード、median(refModeA,refModeB,interMode)はrefModeA,refModeB,interModeの中間値、leftModeはrefModeAとrefModeBのうち左方向の予測モード、rightModeはrefModeAとrefModeBのうち右方向の予測モードとし、left(leftMode)は、leftModeの左方向に隣接する予測モード、right(rightMode)は、rightModeの右方向に隣接する予測モードとする。
 上記の条件のいずれにも該当しないとき(ステップS3907)、すなわち予測方向差diffDirの値が3以上のときは、予測方向差diffDirに加え、対象ブロックのブロックサイズを参照する。
 ブロックサイズが4×4のときは、図32の符号4006に示すように、mpmlistsizeを5とする。さらに、mpmList[0]をmin(refModeA,refModeB)、mpmList[1]をmax(refModeA,refModeB)、mpmList[2]をmin(left(refModeA),right(refModeA))、mpmList[3]をmin(left(refModeB),right(refModeB))、mpmList[4]を平均値モードとした後、mpmListを昇順にソートする。
 ブロックサイズが4×4でないときは、図32の符号4007に示すように、mpmlistsizeを7とする。さらに、mpmList[0]をmin(refModeA,refModeB)、mpmList[1]をmax(refModeA,refModeB)、mpmList[2]をleft(refModeA)、mpmList[3]をright(refModeA)、mpmList[4]をleft(refModeB)、mpmList[5]をright(refModeB)、mpmList[6]を平均値モードとした後、mpmListを昇順にソートする。
 ステップS3907において、参照予測モードに隣接する予測モードに加え平均値モードを優先予測モードリストに加える理由は以下のとおりである。ステップS3907は、予測方向の差が3以上のときである。refModeAとrefModeBとの方向差が離れているときは、参照ブロックA、参照ブロックBの画像相関が低いと推定する。そのとき、予測方向差が近い場合と比べ、refModeA、refModeBの近傍への集中度が減少し、平均的には平均値モードの発生頻度が高まるためである。
 [優先予測モード判定フラグ、優先予測モードインデックス算出手順]
 図21のステップS2703の優先予測モード判定フラグと優先予測モードインデックス算出手順の詳細を図25のフローチャートを参照して説明する。
 本手順においては、mpmListを昇順に走査することにより処理を進める。優先予測モード判定フラグ算出部2603、及び優先予測モードインデックス算出部2605は、優先予測モード判定フラグmpmFlagと、優先予測モードインデックスmpmIndexをそれぞれfalse、0で初期化する。mpmListを走査するための変数iを0で初期化する(ステップS3201)。
 変数iがmpmListSize未満であるなら(ステップS3202)、すなわちまだmpmListのすべての要素を走査し終えていないなら、mpmList[i]とcurrModeIndexを比較する(ステップS3203)。mpmList[i]とcurrModeIndexが等しい場合は、対象予測モードが優先予測モードリストのi番目の要素と等しいことを示し、mpmFlagをtrueに、mpmIndexをiにそれぞれ設定し(ステップS3204)、図21のステップS2704へ進む。mpmList[i]とcurrModeIndexが異なる場合は、iを一つ増やし(ステップS3205)、走査を継続する。
 ステップS3202において、変数iがmpmListSize以上であるとき、すなわち、mpmListのすべての要素を走査し終えたときに、優先予測モード判定フラグ、優先予測モードインデックス算出手順を終了し、図21のステップS2704へ進む。このときは対象予測モードが優先予測モードリストに含まれないことを示し、mpmFlagとmpmIndexの再設定は行われない。すなわち、mpmFlag=false、mpmIndex=0となる。
 [優先予測モードインデックス符号化手順]
 図21のステップS2706の優先予測モードインデックス符号化手順の詳細を図33のフローチャートを参照して説明する。
 優先予測モードインデックス符号化部2606は、優先予測モードリスト作成部2602からmpmlistとmpmlistsizeを取得する。
 優先予測モードインデックス符号化部2606は、mpmlistsizeを元に優先予測モードインデックスmpmIndexの符号化に使用する符号化木の選択を行う(ステップS4101)。
 図34に選択候補となる符号化木を示す。図34の符号4201はmpmlistsizeが2のときの符号化木である。図34の符号4202はmpmlistsizeが3のときの符号化木である。図34の符号4203はmpmlistsizeが4のときの符号化木である。図34の符号4204はmpmlistsizeが5のときの符号化木である。図34の符号4205はmpmlistsizeが7のときの符号化木である。優先予測モード符号化木では、優先予測モードの優先順位が高い(モード番号が小さい)ものほど短い符号長の符号列が割り当てられている。
 優先予測モードインデックス符号化部2606は、選択した符号化木を用いて、mpmIndexの符号化を行い(ステップS4102)、処理を終了する。
 [非優先予測モードインデックス算出手順]
 図21のステップS2707の非優先予測モードインデックス算出手順の詳細を図26のフローチャートを参照して説明する。
 本手順においては、mpmListをインデックスの降順に走査することにより処理を進める。非優先予測モードインデックス算出部2607は、非優先予測モードインデックスremModeIndexを対象予測モードcurrModeIndexで初期化し、mpmListを走査するための変数iをmpmListSize-1で初期化し(ステップS3301)、mpmListを値の昇順にソートする(ステップS3302)。
 変数iが0以上であるなら(ステップS3303)、すなわちまだmpmListのすべての要素を走査し終えていないなら、remModeIndexとmpmList[i]を比較する(ステップS3304)。remModeIndexがmpmList[i]より大きいなら、remModeIndexの値から1を減ずる(ステップS3305)。変数iの値から1を減じて(ステップS3306)、走査を継続する。
 ステップS3303において、変数iが0未満であるとき、すなわちmpmListのすべての要素を走査し終えたときに、非優先予測モードインデックス算出手順を終了し、図21のステップS2708へ進む。
 [非優先予測モードインデックス符号化手順]
 図21のステップS2708の非優先予測モードインデックス符号化手順の詳細を図27のフローチャートを参照して説明する。
 非優先予測モードインデックス符号化部2608は、対象ブロックサイズを判定する(ステップS3401)。
 対象ブロックが4×4ブロックであるとき、非優先予測モードインデックス符号化部2608は、remModeIndexとmpmListSize-1の値を比較する(ステップS3402)。remModeIndexがmpmListSize-1よりも小さいときは、remModeIndexを3ビットで符号化し、処理を終了する(ステップS3403)。そうでないときは、すなわちremModeIndexがmpmListSize-1以上であるときは、remModeIndexにmpmListSize-1を足し(ステップS3404)、remModeIndexの上位3ビットを符号化する(ステップS3405)。さらに、remModeIndexの最下位1ビットを符号化し(ステップS3406)、処理を終了する。
 対象ブロックが4×4ブロックであるとき、17パターンのイントラ予測が定義されている。本実施例においては、優先予測モードの数mpmListSizeは少なくとも2であるため、非優先予測モードインデックスremModeIndexは[0,14]のいずれかの値に変換されている。よって、非優先予測モードインデックスremModeIndexに対し、固定長符号化を行う場合は、4ビットの符号語に変換を行うことになる。しかしながら優先予測モードの数mpmListSizeが大きくなるに従い、非優先予測モードインデックスが取り得る候補は減るため、すべてのremModeIndexを4ビットで表現するのは冗長となる。よって本手順においては、remModeIndexを3ビットもしくは4ビットの符号語に変換し、可変長符号化を行う。
 対象ブロックが8×8ブロックまたは16×16ブロックであるときは、非優先予測モードインデックス符号化部2608は、remModeIndexとmpmListSize-1の値を比較する(ステップS3407)。remModeIndexがmpmListSize-2よりも小さいときは、remModeIndexを4ビットで符号化し、処理を終了する(ステップS3408)。そうでないときは、すなわちremModeIndexがmpmListSize-2以上であるときは、remModeIndexにmpmListSize-2を足し(ステップS3409)、remModeIndexの上位4ビットを符号化する(ステップS3410)。さらに、remModeIndexの最下位1ビットを符号化し(ステップS3411)、処理を終了する。
 対象ブロックが8×8ブロックまたは16×16ブロックであるとき、34パターンのイントラ予測が定義されている。本実施例においては、優先予測モードの数mpmListSizeは少なくとも2であるため、非優先予測モードインデックスremModeIndexは[0,31]のいずれかの値に変換されている。よって、非優先予測モードインデックスremModeIndexに対し、固定長符号化を行う場合は、5ビットの符号語に変換を行うことになる。4×4ブロックであるときと同様、すべてのremModeIndexを5ビットで表現するのは冗長となる。よって本手順においては、remModeIndexを4ビットもしくは5ビットの符号語に変換し、可変長符号化を行う。
 [復号手順]
 本発明に係る実施の形態によるイントラ予測モードの復号方法の第2の実施例について説明する。図22は図8のイントラ予測モード復号部803の第2の実施例の詳細な構成のブロック図である。第2の実施例のイントラ予測モード復号部803は、イントラ予測モードメモリ2901、優先予測モードリスト作成部2902、優先予測モード判定フラグ復号部2903、優先予測モードインデックス復号部2904、優先予測モード算出部2905、非優先予測モードインデックス復号部2906、非優先予測モード算出部2907、及び予測方向差算出部2908を備える。
 図22のイントラ予測モード復号部803におけるイントラ予測モード復号処理は、図20のイントラ予測モード符号化部508におけるイントラ予測モード符号化処理に対応するものであるから、図22のイントラ予測モードメモリ2901、優先予測モードリスト作成部2902、及び予測方向差算出部2908の各構成は、図20のイントラ予測モードメモリ2601、優先予測モードリスト作成部2602、及び予測方向差算出部2610の各構成とそれぞれ同一の機能を有する。
 以下、図23のフローチャートも参照しながら、イントラ予測モードの復号手順を説明する。
 予測方向差算出部2908は、イントラ予測モードメモリ2901から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、予測方向差diffDirを算出する(ステップS3001)。予測方向差算出手順については、図20の予測方向差算出部2610と同様、図30に示す手続きに従うため、詳細説明を省略する。
 優先予測モードリスト作成部2902は、イントラ予測モードメモリ2901から隣接ブロックのイントラ予測モードrefModeAとrefModeBを取得し、また予測方向差算出部2908から予測方向差diffDirを取得する。優先予測モードリスト作成部2902は、取得したrefModeAとrefModeB、及びdiffDirを元に優先予測モードリストmpmListを作成し、また優先予測モードリストのサイズmpmListSizeを決定する(ステップS3002)。優先予測モードリスト作成手順は図20の優先予測モードリスト作成部2602における優先予測モードリスト作成手順と同様、図31のフローチャートで示す手続きに従うため、詳細説明を省略する。
 優先予測モード判定フラグ復号部2903は、符号化系列から1ビット読み込み、優先予測モード判定フラグmpmFlagを復号し(ステップS3003)、優先予測モード判定フラグmpmFlagの値を判定する(ステップS3004)。
 優先予測モード判定フラグmpmFlagがtrueである場合は、優先予測モードインデックス復号部2904は、優先予測モードインデックスmpmIndexを復号する(ステップS3005)。優先予測モードインデックス復号手順の詳細は後述する。さらに、優先予測モード算出部2905は、優先予測モードリストmpmListのmpmIndex番目の要素mpmList[mpmIndex]を対象予測モードcurrModeIndexとする(ステップS3006)。対象予測モードcurrModeIndexをイントラ予測モードメモリ2901に格納し、処理を終了する。
 優先予測モード判定フラグmpmFlagがfalseである場合は、非優先予測モードインデックス復号部2906は、非優先予測モードインデックスremModeIndexを復号し(ステップS3007)、非優先予測モード算出部2907は、算出したremModeIndexを元に対象予測モードcurrModeIndexを算出する(ステップS3008)。対象予測モードcurrModeIndexをイントラ予測モードメモリ2901に格納し、処理を終了する。非優先予測モードインデックスの復号手順、および対象予測モード算出手順については後述する。
 [優先予測モードインデックス復号手順]
 図23のステップS3005の優先予測モードインデックス復号手順の詳細を図24のフローチャートを参照して説明する。
 優先予測モードインデックス復号部2904は、優先予測モードリスト作成部2902からmpmlistとmpmlistsizeを取得する。
 優先予測モードインデックス復号部2904は、mpmlistsizeを元に優先予測モードインデックスmpmIndexの復号に使用する復号木の選択を行う(ステップS3101)。
 図34に選択候補となる復号木を示す。図34の符号4201はmpmlistsizeが2のときの復号木である。図34の符号4202はmpmlistsizeが3のときの復号木である。図34の符号4203はmpmlistsizeが4のときの復号木である。図34の符号4204はmpmlistsizeが5のときの復号木である。図34の符号4205はmpmlistsizeが7のときの復号である。
 優先予測モードインデックス復号部2904は、選択した復号木を用いて、mpmIndexの復号を行い(ステップS3102)、処理を終了する。
 [非優先予測モードインデックス復号手順]
 図23のステップS3007の非優先予測モードインデックス復号手順の詳細を図28のフローチャートを参照して説明する。
 非優先予測モードインデックス復号部2906は、対象ブロックサイズを判定する(ステップS3501)。
 対象ブロックが4×4ブロックであるとき、3ビットの固定長復号を行い、remModeIndexとする(ステップS3502)。remModeIndexの値を判定する(ステップS3503)。remModeIndexがmpmListSize-1より小さいときは、remModeIndexを確定し、処理を終了する。そうでないときは、remModeIndexを1ビット右シフトした上(ステップS3504)、さらに符号化系列から1ビットを読み込み、remModeIndexに足しこむ(ステップS3505)。remModeIndexからmpmListSize-1を減じ、最終的なremModeIndexと決定し(ステップS3506)、処理を終了する。
 対象ブロックが8×8ブロックまたは16×16ブロックであるとき、4ビットの固定長復号を行い、remModeIndexとする(ステップS3507)。remModeIndexの値を判定する(ステップS3508)。remModeIndexがmpmListSize-2より小さいときは、remModeIndexを確定し、処理を終了する。そうでないときは、remModeIndexを1ビット右シフトした上(ステップS3509)、さらに符号化系列から1ビットを読み込み、remModeIndexに足しこむ(ステップS3510)。remModeIndexからmpmListSize-2を減じ、最終的なremModeIndexと決定し(ステップS3511)、処理を終了する。
 [非優先予測モード算出手順]
 図23のステップS3008の予測モード算出手順の詳細を図29のフローチャートを参照して説明する。
 本手順においては、mpmListをインデックスの昇順に走査することにより処理を進める。非優先予測モード算出部2907は、対象予測モードcurrModeIndexを非優先予測モードインデックスremModeIndexで初期化し、mpmListを走査するための変数iを0で初期化し(ステップS3601)、mpmListを値の昇順にソートする(ステップS3602)。
 変数iがmpmListSize未満であるなら(ステップS3603)、すなわちまだmpmListのすべての要素を走査していないのであれば、currModeIndexとmpmList[i]を比較する(ステップS3604)。currModeIndexがmpmList[i]以上であれば、currModeIndexの値に1を加える(ステップS3605)。変数iの値に1を加えて(ステップS3606)、走査を継続する。
 ステップS3603において、iがmpmListSize以上になったとき、すなわちmpmListのすべての要素を走査し終えたときに処理を終了する。
 以上述べた第1の実施例の画像符号化装置および画像復号装置は、以下の作用効果を奏する。
 (1)複数の既処理画面予測モードの予測方向差による符号化木の切り替えを行う。画面内予測モードの示す予測方向は対象画像との相関性を有するために、画面内予測モードの予測方向差から、複数の参照ブロックの復号画像間の相関性を推定し、その相関性に基づいた適切な確率モデルの設定が可能となり、対象画像の予測モードの発生符号量を削減できる。
 (2)予測方向差が小さいときは、複数の参照ブロックの復号画像間の相関性が高く、処理対象ブロックも参照ブロックとの相関性が高いと推定される。発生するイントラ予測モードは、参照予測モードと一致するモードの示す予測方向周辺に集中するため、参照予測モードの予測方向と近い予測方向を示す画面内予測モードの符号長を短くすることにより、全体的な発生符号量を削減できる。
 (3)予測方向差が大きいときは、複数の参照ブロックの復号画像間の相関性が低く、処理対象ブロックも参照ブロックとの相関は、予測方向差が近い時と比べ低くなると推定される。この場合、各予測モードの符号長の偏りを少なくすることにより、発生符号量を削減できる。
 (4)複数の既処理ブロックの画面予測モードの予測方向差による符号化木の切り替えを行うため、作成する符号化木の数は高々画面内予測モードで取り得る予測方向の半分となる。複数の予測モードのすべての組合せを考慮する構成と比べ大幅に複雑度を削減することができる。
 第2の実施例の画像符号化装置および画像復号装置は、以下の作用効果を奏する。
 (1)複数の既処理画面予測モードの予測方向差により、優先予測モードの符号化木の切り替えを行う。画面内予測モードの示す予測方向は対象画像との相関性を有するために、画面内予測モードの予測方向差から、複数の参照ブロックの復号画像間の相関性を推定し、その相関性に基づいた適切な確率モデルの設定が可能となり、発生符号量を削減できる。
 (2)予測方向差が小さいときは、複数の参照ブロックの復号画像間の相関性が高く、処理対象ブロックも参照ブロックとの相関性が高いと推定される。発生するイントラ予測モードは、参照予測モードと一致するモードの示す予測方向周辺に集中するため、参照予測モードの予測方向と隣接する予測方向を示す画面内予測モードを優先予測モードに設定することにより、全体的な発生符号量を削減できる。
 (3)予測方向差が大きいときは、複数の参照ブロックの復号画像間の相関性が低く、処理対象ブロックも参照ブロックとの相関は、予測方向差が近い時と比べ低くなると推定される。この場合、参照予測モードの予測方向と隣接する予測方向に加え、平均値モードを優先予測モードに設定することにより、発生符号量を削減できる。
 さらに、優先予測モードの符号化木の切り替えにおいて、予測方向差に加え、対象ブロックのブロックサイズを用いる。定義されるイントラ予測モードが異なれば、イントラ予測モードの発生分布も異なるものとなる。定義されるイントラ予測モードがブロックサイズに依存する構成においては、対象ブロックのブロックサイズを用いることにより、より適切な符号化木の選択が可能となり、発生符号量を削減できる。
 (4)複数の既処理画面予測モードの予測方向差による符号化木の切り替えを行うため、作成する符号化木の数は高々画面内予測モードで取り得る予測方向の半分となる。すべての組合せを実施する構成と比べ大幅に複雑度を削減することができる。
 以上述べた実施の形態の動画像符号化装置が出力する動画像の符号化ストリームは、実施の形態で用いられた符号化方法に応じて復号することができるように特定のデータフォーマットを有しており、動画像符号化装置に対応する動画像復号装置がこの特定のデータフォーマットの符号化ストリームを復号することができる。
 動画像符号化装置と動画像復号装置の間で符号化ストリームをやりとりするために、有線または無線のネットワークが用いられる場合、符号化ストリームを通信路の伝送形態に適したデータ形式に変換して伝送してもよい。その場合、動画像符号化装置が出力する符号化ストリームを通信路の伝送形態に適したデータ形式の符号化データに変換してネットワークに送信する動画像送信装置と、ネットワークから符号化データを受信して符号化ストリームに復元して動画像復号装置に供給する動画像受信装置とが設けられる。
 動画像送信装置は、動画像符号化装置が出力する符号化ストリームをバッファするメモリと、符号化ストリームをパケット化するパケット処理部と、パケット化された符号化データをネットワークを介して送信する送信部とを含む。動画像受信装置は、パケット化された符号化データをネットワークを介して受信する受信部と、受信された符号化データをバッファするメモリと、符号化データをパケット処理して符号化ストリームを生成し、動画像復号装置に提供するパケット処理部とを含む。
 以上の符号化及び復号に関する処理は、ハードウェアを用いた伝送、蓄積、受信装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバから提供することも、地上波あるいは衛星ディジタル放送のデータ放送として提供することも可能である。
 以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
 501 減算部、 502 直交変換・量子化部、 503 逆量子化・逆変換部、 504 加算部、 505 復号画像メモリ、 506 イントラ予測部、 507 テクスチャ情報符号化部、 508 イントラ予測モード符号化部、 509 イントラ予測モード選択部、 601 イントラ予測モードメモリ、 602 参照モード決定部、 603 優先モード決定部、 604 予測方向差算出部、 605 符号化木選択部、 606 可変長符号化部、 801 テクスチャ情報復号部、 802 逆量子化・逆変換部、 803 イントラ予測モード復号部、 804 加算部、 805 復号画像メモリ、 806 イントラ予測部、 901 イントラ予測モードメモリ、 902 参照モード決定部、 903 優先モード決定部、 904 予測方向差算出部、 905 復号木選択部、 906 可変長復号部、 2601 イントラ予測モードメモリ、 2602 優先予測モードリスト作成部、 2603 優先予測モード判定フラグ算出部、 2604 優先予測モード判定フラグ符号化部、 2605 優先予測モードインデックス算出部、 2606 優先予測モードインデックス符号化部、 2607 非優先予測モードインデックス算出部、 2608 非優先予測モードインデックス符号化部、 2609 優先予測モード判定部、 2610 予測方向差算出部、 2901 イントラ予測モードメモリ、 2902 優先予測モードリスト作成部、 2903 優先予測モード判定フラグ復号部、 2904 優先予測モードインデックス復号部、 2905 優先予測モード算出部、 2906 非優先予測モードインデックス復号部、 2907 非優先予測モード算出部、 2908 予測方向差算出部。
 本発明は、画像符号化及び復号技術、特に画面内符号化及び復号技術に利用できる。

Claims (22)

  1.  ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、
     符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部と、
     符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、
     前記符号化対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部と、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を作成する符号化木作成部と、
     前記符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する符号化部とを備えることを特徴とする画像符号化装置。
  2.  前記符号化木作成部は、前記参照ブロックの画面内予測モードと同一の画面内予測モードに加え、前記参照ブロックの画面内予測モードの予測方向に隣接した予測方向を持つ画面内予測モードを優先予測モードとすることを特徴とする請求項1に記載の画像符号化装置。
  3.  前記符号化木作成部は、前記予測方向差の所定の上限値を有し、前記予測方向差が前記上限値よりも大きい場合は、前記予測方向差の値を前記上限値に置き換えることを特徴とする請求項1または2に記載の画像符号化装置。
  4.  ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、
     符号化対象ブロックの画面内予測モードを選択するステップと、
     符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を作成するステップと、
     前記符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備えることを特徴とする画像符号化方法。
  5.  ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化プログラムであって、
     符号化対象ブロックの画面内予測モードを選択するステップと、
     符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた符号化木を作成するステップと、
     前記符号化木にしたがって前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとをコンピュータに実行させることを特徴とする画像符号化プログラム。
  6.  ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化装置であって、
     符号化対象ブロックの画面内予測モードを選択する画面内予測モード選択部と、
     符号化済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、
     前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部と、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成する優先予測モードリスト作成部と、
     前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出する優先予測モード判定フラグ算出部と、
     前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化する優先予測モード判定フラグ符号化部と、
     前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する優先予測モード符号化部と、
     前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化する非優先予測モード符号化部とを備えることを特徴とする画像符号化装置。
  7.  前記優先予測モードリスト作成部は、前記参照ブロックの画面内予測モードと同一の画面内予測モードに加え、前記参照ブロックの画面内予測モードの予測方向に隣接した予測方向を持つ画面内予測モードおよび平均値モードの内の少なくとも一方を優先予測モードとすることを特徴とする請求項6に記載の画像符号化装置。
  8.  前記非優先予測モード符号化部は、前記リストに含まれる要素を、各画面内予測モードに予め設定されている画面内予測モードインデックスの順に並び替え、その並べ替え済みのリストに含まれる前記優先予測モードを、最後の要素から先頭の要素へという走査順に従い走査し、前記符号対象ブロックを符号化するための画面内予測モードが前記優先予測モードを示す画面内予測モードインデックス以上である場合は、前記非優先予測モードインデックスから1を減ずる減算処理を繰り返し、前記優先予測モードリストの先頭の要素の走査が終了したときの前記減算処理された非優先予測モードインデックスを符号化することを特徴とする請求項6に記載の画像符号化装置。
  9.  前記非優先予測モード符号化部は、前記優先予測モードの総数に基づき非優先予測モードの符号割当を切り替えることを特徴とする請求項6または7に記載の画像符号化装置。
  10.  ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化方法であって、
     符号化対象ブロックの画面内予測モードを選択するステップと、
     符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成するステップと、
     前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出するステップと、
     前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化するステップと、
     前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップと、
     前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとを備えることを特徴とする画像符号化方法。
  11.  ブロック単位で複数の画面内予測モードから選択された画面内予測モードを用いて、画像信号を符号化するとともにその選択された画面内予測モードを特定するための情報を符号化する画像符号化プログラムであって、
     符号化対象ブロックの画面内予測モードを選択するステップと、
     符号化済みブロックの画面内予測モードを記憶するメモリを参照して、前記符号化対象ブロックの画面内予測に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記符号化対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成するステップと、
     前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を算出するステップと、
     前記符号化対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を符号化するステップと、
     前記符号化対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップと、
     前記符号化対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記符号化対象ブロックの画面内予測モードを特定するための情報を符号化するステップとをコンピュータに実行させることを特徴とする画像符号化プログラム。
  12.  符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号装置であって、
     復号済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、
     復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部と、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた復号木を作成する復号木作成部と、
     前記復号木にしたがって前記復号対象ブロックの画面内予測モードを特定するための情報を復号する復号部とを備えることを特徴とする画像復号装置。
  13.  前記復号木作成部は、前記参照ブロックの画面内予測モードと同一の画面内予測モードに加え、前記参照ブロックの画面内予測モードの予測方向に隣接した予測方向を持つ画面内予測モードを優先予測モードとすることを特徴とする請求項12に記載の画像復号装置。
  14.  前記復号木作成部は、前記予測方向差の所定の上限値を有し、前記予測方向差が前記上限値よりも大きい場合は、前記予測方向差の値を前記上限値に置き換えることを特徴とする請求項12または13に記載の画像復号装置。
  15.  符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号方法であって、
     復号済みブロックの画面内予測モードを記憶するメモリを参照して、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた復号木を作成するステップと、
     前記復号木にしたがって前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップとを備えることを特徴とする画像復号方法。
  16.  符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号プログラムであって、
     復号済みブロックの画面内予測モードを記憶するメモリを参照して、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードを決定し、その決定した優先予測モードに対して他の予測モードよりも短い符号長の符号列を割り当てた復号木を作成するステップと、
     前記復号木にしたがって前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップとをコンピュータに実行させることを特徴とする画像復号プログラム。
  17.  符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号装置であって、
     復号済みブロックの画面内予測モードを記憶する画面内予測モード記憶部と、
     復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出する予測方向差導出部と、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成する優先予測モードリスト作成部と、
     前記復号対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を復号する優先予測モード判定フラグ復号部と、
     前記復号対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号する優先予測モード復号部と、
     前記復号対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号する非優先予測モード復号部とを備えることを特徴とする画像復号装置。
  18.  前記優先予測モードリスト作成部は、前記参照ブロックの画面内予測モードと同一の画面内予測モードに加え、前記参照ブロックの画面内予測モードの予測方向に隣接した予測方向を持つ画面内予測モードおよび平均値モードの内の少なくとも一方を優先予測モードとすることを特徴とする請求項17に記載の画像復号装置。
  19.  前記非優先予測モード復号部は、前記リストに含まれる要素を、各画面内予測モードに予め設定されている画面内予測モードインデックスの昇順に並び替え、その並べ替え済みのリストに含まれる前記優先予測モードを先頭から走査し、前記符号化ストリームから復号して直接取得した非優先予測モードインデックスが前記優先予測モードを示す画面内予測モードインデックス以上である場合は、前記非優先予測モードインデックスに1を加える加算処理を繰り返し、前記優先予測モードリストの最後の要素の走査が終了したときの前記加算処理された非優先予測モードインデックスの示す画面内予測モードを前記復号対象ブロックの画面内予測モードとすることを特徴とする請求項17に記載の画像復号装置。
  20.  前記非優先予測モード復号部は、前記優先予測モードの総数に基づき非優先予測モードの符号割当を切り替えることを特徴とする請求項17または18に記載の画像復号装置。
  21.  符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号方法であって、
     復号済みブロックの画面内予測モードを記憶するメモリを参照して、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成するステップと、
     前記復号対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を復号するステップと、
     前記復号対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップと、
     前記復号対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップとを備えることを特徴とする画像復号方法。
  22.  符号化ストリームからブロック単位で画面内予測モードを特定するための情報を復号し、復号された画面内予測モードを特定するための情報を用いて、画像信号を復号する画像復号プログラムであって、
     復号済みブロックの画面内予測モードを記憶するメモリを参照して、復号対象ブロックの画面内予測処理に用いる複数の参照ブロックの画面内予測モードを前記画面内予測モード記憶部から取得し、その取得した画面内予測モードの予測方向の相違の程度を示す予測方向差を導出するステップと、
     前記予測方向差の導出に用いた複数の参照ブロックの画面内予測モードと前記予測方向差にもとづいて、前記復号対象ブロックの画面内予測モードの候補となる優先予測モードのリストを作成するステップと、
     前記復号対象ブロックの画面内予測モードが優先予測モードであるかどうかを示す情報を復号するステップと、
     前記復号対象ブロックの画面内予測モードが優先予測モードである場合に、作成した前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップと、
     前記復号対象ブロックの画面内予測モードが非優先予測モードである場合に、前記リストにもとづき前記復号対象ブロックの画面内予測モードを特定するための情報を復号するステップとをコンピュータに実行させることを特徴とする画像復号プログラム。
PCT/JP2012/003472 2011-05-30 2012-05-28 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム Ceased WO2012164902A1 (ja)

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,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
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

Applications Claiming Priority (8)

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

Family

ID=47258778

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/003472 Ceased WO2012164902A1 (ja) 2011-05-30 2012-05-28 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム

Country Status (1)

Country Link
WO (1) WO2012164902A1 (ja)

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 (ja) * 2009-01-29 2010-08-05 パナソニック株式会社 画像符号化方法及び画像復号方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087157A1 (ja) * 2009-01-29 2010-08-05 パナソニック株式会社 画像符号化方法及び画像復号方法

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
TWI612801B (zh) 影像編碼裝置、影像編碼方法及影像編碼程式
CN112292854B (zh) 影像编码/解码方法及装置
CN109348232B (zh) 图像解码装置以及图像解码方法
JP5983721B2 (ja) 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
JP5679004B2 (ja) 画像復号装置、画像復号方法、及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
WO2012164902A1 (ja) 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
JP5252032B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP2019050618A (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664681B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664682B2 (ja) 画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム
JP5664683B2 (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