WO2012005099A1 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
WO2012005099A1
WO2012005099A1 PCT/JP2011/063906 JP2011063906W WO2012005099A1 WO 2012005099 A1 WO2012005099 A1 WO 2012005099A1 JP 2011063906 W JP2011063906 W JP 2011063906W WO 2012005099 A1 WO2012005099 A1 WO 2012005099A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
unit
image
shape
prediction
Prior art date
Application number
PCT/JP2011/063906
Other languages
English (en)
French (fr)
Inventor
鵬 王
佐藤 数史
Original Assignee
ソニー株式会社
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
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to RU2012157086/08A priority Critical patent/RU2012157086A/ru
Priority to MX2013000064A priority patent/MX2013000064A/es
Priority to BR112013000103A priority patent/BR112013000103A2/pt
Priority to US13/807,830 priority patent/US20130156328A1/en
Priority to KR20127033971A priority patent/KR20130098187A/ko
Priority to CN2011800330701A priority patent/CN102972026A/zh
Priority to EP11803435.4A priority patent/EP2592834A1/en
Publication of WO2012005099A1 publication Critical patent/WO2012005099A1/ja

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/57Motion estimation characterised by a search window with variable size or shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present disclosure relates to an image processing apparatus and an image processing method.
  • compression is intended to efficiently transmit or store digital images, and compresses the amount of information of an image using orthogonal transform such as discrete cosine transform and motion compensation, for example, using redundancy unique to the image.
  • orthogonal transform such as discrete cosine transform and motion compensation
  • Technology is widespread.
  • H.264 developed by ITU-T.
  • Image encoding devices and image decoding devices compliant with standard technologies such as the 26x standard or the MPEG-y standard established by the Moving Picture Experts Group (MPEG), store and distribute images by broadcast stations, and receive images by general users It is widely used in various situations such as storage.
  • MPEG Moving Picture Experts Group
  • MPEG2 (ISO / IEC 13818-2) is one of the MPEG-y standards defined as a general-purpose image coding system. MPEG2 can handle both interlaced (interlaced) images and progressively scanned (non-interlaced) images, and is intended for high-definition images in addition to standard resolution digital images. MPEG2 is currently widely used for a wide range of applications including professional and consumer applications. According to MPEG2, for example, a standard resolution interlaced scanning image having 720 ⁇ 480 pixels has a code amount (bit rate) of 4 to 8 Mbps, and a high resolution interlaced scanning image having 1920 ⁇ 1088 pixels has 18 to 22 Mbps. By assigning the code amount, both a high compression rate and good image quality can be realized.
  • bit rate code amount
  • MPEG2 is mainly intended for high-quality encoding suitable for broadcasting use, and does not correspond to a lower code amount (bit rate) than MPEG1, that is, a higher compression rate.
  • bit rate code amount
  • MPEG4 encoding system was newly advanced.
  • image coding system which is a part of the MPEG4 coding system
  • the standard was approved as an international standard (ISO / IEC 14496-2) in December 1998.
  • the 26x standard (ITU-T Q6 / 16 VCEG) is a standard originally developed for the purpose of encoding suitable for communication applications such as videophone or videoconferencing. H.
  • the 26x standard is known to be able to realize a higher compression ratio while requiring a larger amount of calculation for encoding and decoding than the MPEG-y standard.
  • Joint Model of Enhanced-Compression Video Coding as part of MPEG4 activities Based on the 26x standard, a standard that can achieve a higher compression ratio has been established by incorporating new functions. This standard was approved in March 2003 by H.264. H.264 and MPEG-4 Part 10 (Advanced Video Coding; AVC) have become international standards.
  • Non-Patent Document 1 discloses that the macroblock size is MPEG2 or H.264. It is proposed that intra prediction is performed with a size larger than H.264 / AVC (for example, 32 ⁇ 32 pixels).
  • Non-Patent Document 2 describes the macroblock size as MPEG2 or H.264. It is proposed that inter prediction is performed with a size larger than H.264 / AVC (for example, 32 ⁇ 32 pixels).
  • the expansion of the maximum macroblock size means that the size of the line memory required for image encoding or decoding also increases.
  • H.M. In H.264 / AVC, since a maximum macroblock (LMB: Large Macro Block) of 16 ⁇ 16 pixels can be used, the size of the line memory required for encoding or decoding is 16 pixels.
  • LMB Large Macro Block
  • the maximum macroblock of 32 ⁇ 32 pixels can be used, so a line memory having a size of 32 pixels is required.
  • the technology according to the present disclosure is intended to provide an image processing apparatus and an image processing method that can handle larger blocks while suppressing redundancy of the line memory.
  • the shape determination information for determining the shape of the block according to the size is used to determine the shape of the block set in the image, and the shape determination unit determines the block shape.
  • a motion vector setting unit that arranges a prediction unit in each block in an image and sets a motion vector used for prediction of an image in the prediction unit for each arranged prediction unit, and the motion vector setting described above
  • An image processing apparatus includes an encoding unit that encodes the image using a motion vector set by the unit.
  • the image processing apparatus can typically be realized as an image encoding apparatus that encodes an image.
  • the shape determination information may include information regarding a boundary value of a block size that distinguishes a square block and a non-square block.
  • the shape determination unit may determine that the shape of a block having a size larger than the boundary value is a non-square, and the shape of a block having a size smaller than the boundary value is a square.
  • each block in the image may be a square or a rectangle having a fixed ratio of long side to short side.
  • each block in the image may be a square or a rectangle
  • the shape determination information may include ratio information that defines the ratio between the long side and the short side of the block.
  • the shape determination information includes layer number information that defines the number of layers having different ratios between the long side and the short side of the block, and the ratio information is information that defines the ratio for each layer. May be.
  • the motion vector setting unit may output, for each block, information indicating the size of each block set in the image and prediction mode information for designating a pattern of arrangement of prediction units in the block.
  • each block in the image is a square or a rectangle
  • the prediction unit arrangement candidate for the square block may be different from the prediction unit arrangement candidate for the rectangular block.
  • the shape determination information may be input by a user.
  • the image processing apparatus may further include transmission means for transmitting the encoded stream generated by the encoding unit and the shape determination information.
  • the encoding unit may multiplex the shape determination information on a sequence parameter set, a picture parameter set, or a slice header of the encoded stream.
  • an image processing method for processing an image and the shape of the block set in the image is determined using the shape determination information for determining the shape of the block according to the size. Determining, placing a prediction unit in each block in the image according to the determined shape, and setting a motion vector used for prediction of the image in the prediction unit for each arranged prediction unit; An image processing method including encoding the image using a set motion vector.
  • each block in an image is determined using shape determination information for determining the shape of the block according to the size, and the block size set in the image at the time of encoding the image.
  • the shape determination unit for determining the shape of the block the prediction unit determination unit for determining the arrangement of the prediction unit in each block, and the prediction unit determination unit according to the shape of each block determined by the shape determination unit.
  • the prediction unit generates a prediction image for each block using the arrangement of the prediction unit and the motion vector acquired for each prediction unit, and the prediction image generated by the prediction unit is used to encode the image.
  • a decoding unit that decodes the encoded stream.
  • the image processing apparatus can typically be realized as an image decoding apparatus that decodes an image.
  • the shape determination information may include information regarding a boundary value of a block size that distinguishes a square block and a non-square block.
  • each block in the image may be a square or a rectangle having a fixed ratio of long side to short side.
  • each block in the image may be a square or a rectangle
  • the shape determination information may include ratio information that defines the ratio between the long side and the short side of the block.
  • the shape determination information includes layer number information that defines the number of layers having different ratios between the long side and the short side of the block, and the ratio information is information that defines the ratio for each layer. May be.
  • the shape determination unit may acquire the shape determination information from a sequence parameter set, a picture parameter set, or a slice header multiplexed in the encoded stream.
  • the shape determination unit may acquire information for determining the size of each block from the block header included in the encoded stream.
  • each block in the image is a square or a rectangle
  • the prediction unit arrangement candidate for the square block may be different from the prediction unit arrangement candidate for the rectangular block.
  • the shape determination information may be information acquired based on user input in an apparatus that encodes an image.
  • the image processing apparatus may further include receiving means for receiving the encoded stream and the shape determination information.
  • an image processing method for processing an image which is set in the image at the time of encoding the image, and shape determination information for determining the shape of the block according to the size. Determining the shape of each block in the image using the block size, determining the arrangement of the prediction unit in each block according to the determined shape of each block, and the determined prediction unit And a motion vector acquired for each prediction unit, a predicted image for each block is generated, and an encoded stream in which the image is encoded is generated using the generated predicted image.
  • An image processing method comprising: decoding.
  • FIG. 1 is a block diagram illustrating an example of a configuration of an image encoding device 10 according to an embodiment.
  • an image encoding device 10 includes an A / D (Analogue to Digital) conversion unit 11, a rearrangement buffer 12, a subtraction unit 13, an orthogonal transformation unit 14, a quantization unit 15, a lossless encoding unit 16, Accumulation buffer 17, rate control unit 18, inverse quantization unit 21, inverse orthogonal transform unit 22, addition unit 23, deblock filter 24, frame memory 25, selector 26, intra prediction unit 30, motion search unit 40, and mode selection Part 50 is provided.
  • a / D Analogue to Digital
  • the A / D converter 11 converts an image signal input in an analog format into image data in a digital format, and outputs a series of digital image data to the rearrangement buffer 12.
  • the rearrangement buffer 12 rearranges the images included in the series of image data input from the A / D conversion unit 11.
  • the rearrangement buffer 12 rearranges the images according to the GOP (Group of Pictures) structure related to the encoding process, and then outputs the rearranged image data to the subtraction unit 13, the intra prediction unit 30, and the motion search unit 40. To do.
  • GOP Group of Pictures
  • the subtraction unit 13 is supplied with image data input from the rearrangement buffer 12 and predicted image data selected by the mode selection unit 50 described later.
  • the subtraction unit 13 calculates prediction error data that is a difference between the image data input from the rearrangement buffer 12 and the prediction image data input from the mode selection unit 50, and sends the calculated prediction error data to the orthogonal transformation unit 14. Output.
  • the orthogonal transform unit 14 performs orthogonal transform on the prediction error data input from the subtraction unit 13 for each transform unit (Transform Unit: TU) described later.
  • the orthogonal transformation performed by the orthogonal transformation part 14 may be discrete cosine transformation (Discrete Cosine Transform: DCT) or Karoonen-Labe transformation, for example.
  • the orthogonal transform unit 14 outputs transform coefficient data acquired by the orthogonal transform process to the quantization unit 15.
  • the quantization unit 15 is supplied with transform coefficient data input from the orthogonal transform unit 14 and a rate control signal from the rate control unit 18 described later.
  • the quantizing unit 15 quantizes the transform coefficient data and outputs the quantized transform coefficient data (hereinafter referred to as quantized data) to the lossless encoding unit 16 and the inverse quantization unit 21. Further, the quantization unit 15 changes the bit rate of the quantized data input to the lossless encoding unit 16 by switching the quantization parameter (quantization scale) based on the rate control signal from the rate control unit 18.
  • the lossless encoding unit 16 includes quantized data input from the quantization unit 15, and intra prediction or inter prediction generated by the intra prediction unit 30 or the motion search unit 40 described later and selected by the mode selection unit 50. Information about is provided. Further, the lossless encoding unit 16 is supplied with definition information regarding the shape of the block output from the motion search unit 40.
  • the information regarding intra prediction may include, for example, prediction mode information indicating an optimal intra prediction mode for each block.
  • information related to inter prediction includes, for example, size designation information that specifies the size of a block set in an image, prediction mode information that specifies the arrangement of prediction units in each block, Motion vector information and reference image information may be included.
  • the definition information related to the shape of the block may include, for example, maximum size information, minimum size information, and shape determination information described later.
  • the lossless encoding unit 16 generates an encoded stream by performing lossless encoding processing on the quantized data.
  • the lossless encoding by the lossless encoding unit 16 may be variable length encoding or arithmetic encoding, for example.
  • the lossless encoding unit 16 multiplexes the above-described information related to intra prediction or information related to inter prediction in a header (for example, a block header or a slice header) of an encoded stream. Further, the lossless encoding unit 16 multiplexes the definition information supplied from the motion search unit 40 into, for example, a sequence parameter set, a picture parameter set, or a slice header of the encoded stream. Then, the lossless encoding unit 16 outputs the generated encoded stream to the accumulation buffer 17.
  • the accumulation buffer 17 temporarily accumulates the encoded stream input from the lossless encoding unit 16 using a storage medium such as a semiconductor memory.
  • the accumulation buffer 17 outputs the accumulated encoded stream at a rate corresponding to the bandwidth of the transmission path (or the output line from the image encoding device 10).
  • the rate control unit 18 monitors the free capacity of the accumulation buffer 17. Then, the rate control unit 18 generates a rate control signal according to the free capacity of the accumulation buffer 17 and outputs the generated rate control signal to the quantization unit 15. For example, the rate control unit 18 generates a rate control signal for reducing the bit rate of the quantized data when the free capacity of the storage buffer 17 is small. For example, when the free capacity of the accumulation buffer 17 is sufficiently large, the rate control unit 18 generates a rate control signal for increasing the bit rate of the quantized data.
  • the inverse quantization unit 21 performs an inverse quantization process on the quantized data input from the quantization unit 15. Then, the inverse quantization unit 21 outputs transform coefficient data acquired by the inverse quantization process to the inverse orthogonal transform unit 22.
  • the inverse orthogonal transform unit 22 restores the prediction error data by performing an inverse orthogonal transform process on the transform coefficient data input from the inverse quantization unit 21. Then, the inverse orthogonal transform unit 22 outputs the restored prediction error data to the addition unit 23.
  • the addition unit 23 generates decoded image data by adding the restored prediction error data input from the inverse orthogonal transform unit 22 and the predicted image data input from the mode selection unit 50. Then, the addition unit 23 outputs the generated decoded image data to the deblock filter 24 and the frame memory 25.
  • the deblocking filter 24 performs a filtering process for reducing block distortion that occurs during image coding.
  • the deblocking filter 24 removes block distortion by filtering the decoded image data input from the adding unit 23, and outputs the decoded image data after filtering to the frame memory 25.
  • the frame memory 25 stores the decoded image data input from the adder 23 and the decoded image data after filtering input from the deblock filter 24 using a storage medium.
  • the selector 26 reads out the decoded image data before filtering used for intra prediction from the frame memory 25 and supplies the read decoded image data to the intra prediction unit 30 as reference image data. Further, the selector 26 reads out the filtered decoded image data used for inter prediction from the frame memory 25 and supplies the read decoded image data to the motion search unit 40 as reference image data.
  • the intra prediction unit 30 is based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26. Intra prediction processing of each intra prediction mode defined by H.264 / AVC is performed. For example, the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function. Then, the intra prediction unit 30 selects an intra prediction mode in which the cost function value is minimum, that is, an intra prediction mode in which the compression rate (encoding efficiency) is the highest as the optimal intra prediction mode. Further, the intra prediction unit 30 outputs information related to intra prediction, such as prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value, to the mode selection unit 50.
  • intra prediction mode information indicating the optimal intra prediction mode, predicted image data, and cost function value
  • the intra prediction unit 30 performs H.264 based on the encoding target image data input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26.
  • the intra prediction process may be performed with a block having a size larger than each intra prediction mode defined by H.264 / AVC.
  • the intra prediction unit 30 evaluates the prediction result in each intra prediction mode using a predetermined cost function, and outputs information related to the intra prediction about the optimal intra prediction mode to the mode selection unit 50.
  • the motion search unit 40 is based on the image data to be encoded input from the rearrangement buffer 12 and the decoded image data supplied via the selector 26.
  • a motion search process using a maximum block size larger than a macroblock defined by H.264 / AVC is performed.
  • the motion search unit 40 arranges prediction units in a plurality of prediction modes in each of the maximum settable block and each block obtained by dividing the maximum block.
  • the motion search part 40 determines a motion vector for every prediction unit arrange
  • the motion search unit 40 evaluates each prediction mode using a predetermined cost function.
  • the motion search unit 40 sets the block size and the prediction mode with the smallest cost function value, that is, the block size and the prediction mode with the highest compression rate (encoding efficiency) as the optimum block size and the optimum prediction mode. select.
  • the motion search process by the motion search unit 40 will be described in detail later.
  • the motion search unit 40 includes size specification information that specifies a block size that minimizes the cost function value, prediction mode information that specifies the arrangement of prediction units, motion vector information, reference image information, prediction image data, cost function values, and the like.
  • the information regarding the inter prediction is output to the mode selection unit 50.
  • the mode selection unit 50 compares the cost function value related to intra prediction input from the intra prediction unit 30 with the cost function value related to inter prediction input from the motion search unit 40. And the mode selection part 50 selects the prediction method with few cost function values among intra prediction and inter prediction.
  • the mode selection unit 50 selects intra prediction
  • the mode selection unit 50 outputs information on intra prediction to the lossless encoding unit 16 and outputs predicted image data to the subtraction unit 13.
  • the mode selection unit 50 outputs size designation information, prediction mode information, motion vector information, and reference image information related to inter prediction to the lossless encoding unit 16 and predictive image data. Output to the subtracting unit 13.
  • FIG. 2 is a block diagram illustrating an example of a detailed configuration of the motion search unit 40 of the image encoding device 10 illustrated in FIG. 1.
  • the motion search unit 40 includes an information holding unit 41, a shape determination unit 42, a motion vector setting unit 43, and a motion compensation unit 44.
  • the information holding unit 41 holds the maximum size information, the minimum size information, and the shape determination information in advance using a storage medium such as a semiconductor memory.
  • the maximum size information is information that defines the maximum block size that can be set in an image.
  • the maximum block size that can be set in an image in H264 / AVC is 16 ⁇ 16 pixels.
  • the maximum size information may indicate a value greater than 16 (eg, 32, 64 or 128, etc.).
  • the minimum size information is information that defines the size of the minimum block that can be set in the image.
  • the shape determination information is information defined to determine the shape of the block according to the size. That is, the shape determination information is information that can determine the shape of a block according to the shape determination information and the specified size when a size is specified for a certain block. Specific examples of the shape determination information will be described in detail later with three examples.
  • the size of a block used for encoding an image can be represented by the number of divisions from the largest block. For example, if the number of divisions is zero, the size of the block is equal to the size of the largest block. If the number of divisions from the largest block is 1 or more, the size of the block is smaller than the largest block. In this specification, the number of divisions from the largest block for each block is referred to as the “depth” of the block (or layer).
  • the shape determination unit 42 determines the shapes of blocks that can be set in the image using the above-described shape determination information held by the information holding unit 41.
  • the shape of each block in the image is either square or rectangular. Accordingly, the shape determination unit 42 refers to the shape determination information, and determines, for example, that the shape of a block having a certain size is a rectangle, and the shape of a block having another size is a square. .
  • the information held by the information holding unit 41 is a user who uses the image encoding device 10 (for example, a developer who incorporates the image encoding device 10 into an electronic device as an encoder). Can be entered or updated. That is, the user who uses the image encoding device 10 specifies the maximum size information, the minimum size information, and the shape determination information to be used in the image encoding process according to the use of the image encoding device 10. Can do.
  • the user may specify the shape determination information so that the shape of the block having the maximum size is a rectangle.
  • H.I As a block having a size exceeding the maximum macroblock size (16 ⁇ 16 pixels) defined in H.264 / AVC, for example, a block of 32 ⁇ 16 pixels can be used. In this case, since the length of the short side of the block does not change, a line memory having the same scale (16 pixels) as that of the conventional method can be used. On the other hand, since the block size is expanded, the image compression rate is reduced. It can be improved further.
  • the user designates the shape determination information so that the shape of the block having the maximum size is also a square. May be.
  • the definition information designated by the user and held by the information holding unit 41 is output to the lossless encoding unit 16 shown in FIG.
  • the motion vector setting unit 43 includes a prediction unit arrangement unit that arranges a prediction unit in each block in the image according to the shape of the block determined by the shape determination unit 42. Then, the motion vector setting unit 43 sets, for example, a motion vector used for prediction of an image in the prediction unit for each prediction unit arranged according to the shape of the block.
  • the motion vector setting unit 43 first arranges prediction units in a plurality of prediction modes (prediction unit arrangement patterns) in a block having the depth of zero (maximum block), and the prediction unit Each motion vector is determined.
  • the motion vector setting unit 43 arranges prediction units in a plurality of prediction modes in a block having a depth of 1, and determines a motion vector for each prediction unit.
  • the motion vector setting unit 43 arranges a prediction unit in a plurality of prediction modes in a corresponding block, and determines a motion vector for each prediction unit.
  • a set of a plurality of motion vectors corresponding to each combination of depth and prediction mode is determined.
  • the motion vector setting unit 43 uses a predetermined cost function to select an optimal combination of the depth at which the cost function value is minimum and the prediction mode. Then, the motion vector setting unit 43 converts the size designation information (information corresponding to the depth), the prediction mode information, the motion vector information, the reference image information, and the cost function value that designate the block size related to the selected combination into the motion Output to the compensation unit 44.
  • each block has either a square shape or a rectangular shape depending on the size of the block. Therefore, the prediction unit arrangement candidate for the square block in the motion vector setting unit 43 is different from the prediction unit arrangement candidate for the rectangular block. Such prediction unit arrangement candidates will be further described later.
  • the motion compensation unit 44 generates predicted image data using the optimal motion vector set by the motion vector setting unit 43 and the reference image data (decoded image data after filtering) input from the frame memory 25. Then, the motion compensation unit 44 outputs the generated predicted image data and information regarding inter prediction such as size designation information, prediction mode information, motion vector information, and reference image information to the mode selection unit 50.
  • FIG. 3 is an explanatory diagram for describing a first example of shape determination information.
  • definition information 41a that can be held by the information holding unit 41 in the first embodiment is shown.
  • the definition information 41a includes maximum size information “high_layer”, minimum size information “low_layer”, and shape determination information “high_square_layer”. Note that the individual parameter names shown here are only examples, and other parameter names can also be used.
  • the maximum size information “high_layer” represents the maximum block size that can be set in the image.
  • the value of the maximum size information is, for example, 64, 32, 16, 8, or 4.
  • the minimum size information “low_layer” represents the size of the smallest block that can be set in the image.
  • the value of the minimum size information is, for example, 64, 32, 16, 8, or 4.
  • “High_square_layer” that is shape determination information according to the present embodiment represents a boundary value of the size of a block that distinguishes a square block and a non-square block.
  • “High_square_layer” can take a block size value within the range defined by “high_layer” and “low_layer” (64, 32, 16, 8, or 4 in the example of FIG. 3).
  • the shape of the non-square block is a rectangle having a fixed ratio of long side to short side.
  • the ratio of the long side to the short side is 2 to 1 will be described.
  • the present invention is not limited to this example, and other ratios may be used as the ratio between the long side and the short side of the non-square block.
  • the size values of “high_layer”, “low_layer”, and “high_square_layer” correspond to the block sizes shown in the lower table of FIG. 3, for example. That is, when the size value (N) is 64, the size of the square block is 128 ⁇ 128 pixels, and the size of the rectangular block is 128 ⁇ 64 pixels. When the size value (N) is 32, the size of the square block is 64 ⁇ 64 pixels, and the size of the rectangular block is 64 ⁇ 32 pixels. When the size value (N) is 16, the size of the square block is 32 ⁇ 32 pixels, and the size of the rectangular block is 32 ⁇ 16 pixels.
  • the size of the square block is 16 ⁇ 16 pixels, and the size of the rectangular block is 16 ⁇ 8 pixels.
  • the size value (N) is 4, the size of the square block is 8 ⁇ 8 pixels, and there is no rectangular block.
  • such definition of the size value is only an example, and other size value definitions may be used.
  • “HighSQsize” and “LowSQsize” are variables indicating the upper and lower limits of the size of a block whose shape is a square, respectively.
  • “HighNSsize” and “LowNSsize” are variables indicating the upper and lower limits of the size of a block whose shape is non-square, respectively:
  • FIG. 4 is an explanatory diagram illustrating a first example of a hierarchical structure of encoded blocks that can be defined by the first embodiment.
  • “high_square_layer” “high_layer””
  • blocks of all depths (all sizes) are square. That is, as shown in FIG. 4, the maximum size (128 ⁇ 128) block having a depth of zero, the second size (64 ⁇ 64) block having a depth of 1, and a depth of 4
  • FIG. 5 is an explanatory diagram showing a second example of the hierarchical structure of the encoded block that can be defined by the first embodiment.
  • “high_square_layer” ⁇ “low_layer” blocks of all depths (all sizes) are non-square. That is, as shown in FIG. 5, the maximum size (128 ⁇ 64) block whose depth (number of divisions) is zero, the second size block (64 ⁇ 32) whose depth is 1, and All blocks of minimum size (16 ⁇ 8) with a depth of 3 are all non-square.
  • FIG. 6 is an explanatory diagram showing a third example of the hierarchical structure of the encoded block that can be defined by the first embodiment.
  • both a non-square block and a square block can be set according to the block size. That is, as shown in FIG. 6, the maximum size (64 ⁇ 32) block having a depth of zero and the second size block (32 ⁇ 16) having a depth of 1 are non-square.
  • the third size (16 ⁇ 16) block having a depth of 2 and the minimum size (8 ⁇ 8) block having a depth of 3 are square.
  • the block when the block is divided without changing the shape of the block (for example, when the shapes of the blocks before and after the division are both rectangular or square), the block is For example, it can be divided into four parts with the central line in the vertical direction and the horizontal direction as a delimiter.
  • the block when a rectangular block is divided into square blocks across the boundary value represented by “high_square_layer”, the block is divided into, for example, two (long side and short side) with a vertical line as a delimiter. Can be divided into four) when the ratio is 4 to 1.
  • FIG. 7 is an explanatory diagram for explaining the arrangement of prediction units in a block having a shape of 2N ⁇ 2N, that is, a square block. Referring to FIG. 7, nine types of prediction modes from Mode 0 to Mode 8 are illustrated.
  • Mode 0 is a special prediction mode that is selected when the skipped macroblock mode or the direct mode is used.
  • Mode 0 one prediction unit having a size of 2N ⁇ 2N is arranged in the block.
  • Mode 1 is a prediction mode in which one prediction unit having a size of 2N ⁇ 2N is arranged in a block.
  • Mode 2 is a prediction mode in which two prediction units having a size of 2N ⁇ N are arranged in the block in the vertical direction.
  • Mode 3 is a prediction mode in which two prediction units of size N ⁇ 2N are arranged side by side in a block.
  • Mode 4 is a prediction mode in which four prediction units each having an N ⁇ N size are arranged side by side in a block in a vertical direction and a horizontal direction.
  • These Mode0 to Mode4 are prediction modes adopted in H264 / AVC.
  • Mode 5 is a prediction mode in which two prediction units having a size of 2N ⁇ nU (N / 2, 3N / 2) are arranged in the block in the vertical direction.
  • Mode 6 is a prediction mode in which the arrangement of prediction units of Mode 5 is inverted upside down.
  • Mode 7 is a prediction mode in which two prediction units having a size of nL (N / 2, 3N / 2) ⁇ 2N are arranged in the horizontal direction in the block.
  • Mode 8 is a prediction mode in which the arrangement of prediction units in Mode 7 is reversed left and right. These Mode 5 to Mode 8 may also be used as prediction mode candidates for square blocks.
  • FIG. 8 is an explanatory diagram for explaining the arrangement of prediction units in a block having a rectangular shape in which the ratio of the long side to the short side is 2: 1. Referring to FIG. 8, nine types of prediction modes from Mode 0 to Mode 8 are illustrated. Further, a partition mode is shown as Mode9.
  • Mode 0 is a special prediction mode that is selected when the skipped macroblock mode or the direct mode is used.
  • Mode 0 one prediction unit having a size of 2N ⁇ N is arranged in the block.
  • Mode 1 is a prediction mode in which one prediction unit having a size of 2N ⁇ N is arranged in a block.
  • Mode 2 is a prediction mode in which two prediction units having a size of 2N ⁇ N / 2 are arranged in the vertical direction in a block.
  • Mode 3 is a prediction mode in which two prediction units of size N ⁇ N are arranged side by side in a block.
  • Mode 4 is a prediction mode in which four prediction units having a size of N ⁇ N / 2 are arranged side by side in a block in a vertical direction and a horizontal direction.
  • Mode 5 is a prediction mode in which two prediction units of size N / 2 ⁇ N and 3N / 2 ⁇ N are arranged side by side in a block.
  • Mode 6 is a prediction mode in which the arrangement of prediction units in Mode 5 is reversed left and right.
  • Mode 7 and Mode 8 are prediction modes in which two triangular prediction units separated by a diagonal line of the block are arranged in the block.
  • Mode 9 is a partition mode indicating that the block is further divided.
  • the partition mode is indicated as the prediction mode in a certain depth block, the block is divided into smaller blocks. Therefore, the number of partition modes specified for a certain maximum size block represents the number of divisions from the maximum size block. This means that the number of partition modes has a role as size designation information for designating the size of a block set in an image.
  • the size designation information and the prediction mode information are distinguished from each other, but the size designation information may also be handled as a part of the prediction mode information.
  • the block when the block is divided without changing the shape of the block, the block can be divided into four, for example, with the center line in the vertical direction and the horizontal direction as a delimiter.
  • the blocks can be divided, for example, with a vertical line as a delimiter.
  • FIG. 9 is an explanatory diagram for explaining a search range of motion vectors in the first embodiment of the shape determination information.
  • the topmost first layer of the tree structure includes nine prediction modes from Mode 0 to Mode 8 that can be applied to non-square blocks with a maximum size of 128 ⁇ 64 pixels.
  • the second layer following the first layer includes nine prediction modes from Mode 0 to Mode 8 that can be applied to non-square blocks having a size of 64 ⁇ 32 pixels.
  • the third layer following the second layer includes nine prediction modes from Mode 0 to Mode 8 that can be applied to non-square blocks having a size of 32 ⁇ 16 pixels.
  • the fourth layer following the third layer includes prediction modes from Mode 0 to Mode M that can be applied to square blocks having a size of 16 ⁇ 16 pixels.
  • the fifth layer following the fourth layer includes prediction modes from Mode 0 to Mode M that can be applied to square blocks having a minimum size of 8 ⁇ 8 pixels.
  • the motion vector setting unit 43 of the motion search unit 40 illustrated in FIG. 2 includes, for example, the first layer included in such a tree structure according to the block shape for each block size determined by the shape determination unit 42. To motion vectors in all prediction modes from the first layer to the fifth layer. Then, the motion vector setting unit 43 selects a prediction mode that minimizes the cost function value within the search range as a prediction mode that specifies the arrangement of prediction units to be used for encoding. Such an optimal prediction mode is uniquely specified by the prediction mode number and the layer depth exemplified in FIG. 7 or FIG. The depth (Depth) represents the number of divisions from the maximum size block, and is information for designating the size of the divided block.
  • prediction mode information and size designation information are multiplexed as prediction mode information and size designation information, for example, in the block header of the encoded stream.
  • maximum size information and the shape determination information are multiplexed, for example, in a sequence parameter set, a picture parameter set, or a slice header of the encoded stream. Therefore, a device that decodes an encoded image can recognize the size and shape of the block used at the time of encoding and the arrangement of prediction units by acquiring the multiplexed information from the encoded stream. it can.
  • FIG. 10 is an explanatory diagram for explaining the arrangement of transform units (TUs) that are units of orthogonal transform processing in a block having a 2N ⁇ N shape.
  • the type T0 is a pattern in which one conversion unit having a size of 2N ⁇ N is arranged in a block having a shape of 2N ⁇ N.
  • Type T1 is a pattern in which two conversion units of size N ⁇ N are arranged side by side in a block.
  • Type T2 is a pattern in which four conversion units having a size of N ⁇ N / 2 are arranged side by side in a block in a vertical direction and a horizontal direction.
  • Type T3 is a pattern in which four conversion units having a size of N / 2 ⁇ N are arranged side by side in a block.
  • Type T4 is a pattern in which eight conversion units of size N / 2 ⁇ N / 2 are arranged side by side in the vertical direction and two in the horizontal direction.
  • the orthogonal transform unit 14 performs orthogonal transform for each of these five types of transform units and outputs transform coefficient data.
  • Table 1 shows the mapping between the prediction unit (PU) illustrated in FIG. 8 and the conversion unit (TU) illustrated in FIG. “ ⁇ ” in Table 1 indicates that each corresponding conversion unit can be used when the prediction unit in the leftmost column is selected. “X” indicates that each corresponding conversion unit cannot be used when the prediction unit in the leftmost column is selected.
  • the unit of orthogonal transformation can generally be executed in units of 32 ⁇ 32 pixels at the maximum. Therefore, it should be noted that even if “ ⁇ ” is given in Table 1, there may be a conversion unit that cannot be used depending on the block size.
  • FIG. 11 is an explanatory diagram showing an example of a coded block pattern (Coded Block Pattern: CBP) for a conversion unit having a 2N ⁇ N shape.
  • CBP Coded Block Pattern
  • a transform coefficient of 2N ⁇ N is generated from the luminance signal (Y)
  • N is obtained from each of the color difference signals (Cb, Cr).
  • a conversion coefficient of ⁇ N / 2 is generated.
  • the encoded bit pattern for example, the transform coefficients for the luminance signal (Y) are grouped into four groups (Y0, Y1, Y2, and Y3), and each group has four bits (b0, b1, b2, and b3) is assigned. Also, one bit (b4 and b5) is assigned to each conversion coefficient for the color difference signals (Cb, Cr). In this way, whether or not a significant conversion coefficient other than the direct current value has been generated can be indicated by the value of each bit.
  • the shape determination information includes information on the boundary value of the block size that divides the square block and the non-square block. Then, the shape determining unit 42 determines that the shape of the block having a size larger than the boundary value is a non-square, and the shape of the block having a size smaller than the boundary value is a square.
  • the largest macroblock is a 16 ⁇ 16 pixel square. While supporting the H.264 / AVC scheme, schemes that handle larger sizes such as 32 ⁇ 16 pixels, or 64 ⁇ 32 pixels and 32 ⁇ 16 pixels can also be covered.
  • the shape of these larger blocks is rectangular. Therefore, by making the size of the line memory required for image processing equal to the size of the short side, the redundancy of the line memory accompanying the expansion of the block size is avoided.
  • the maximum size information and minimum size information described above are H.264.
  • the information that is already available in the H.264 / AVC format and the like and should be newly defined in the first embodiment is only “high_square_layer” that is shape determination information. Therefore, it is easy to introduce such a new block size framework, and there is little possibility that the compression rate will decrease due to an increase in header information.
  • FIG. 12 is an explanatory diagram for describing a second example of the shape determination information.
  • definition information 41b that can be held by the information holding unit 41 in the second embodiment.
  • the definition information 41b includes maximum size information “high_layer”, minimum size information “low_layer”, and shape determination information “width_to_height_ratio”.
  • “Width_to_height_ratio” which is the shape determination information according to the present embodiment represents the ratio between the long side and the short side of the block of the maximum size.
  • the value of “width_to_height_ratio” may be 1, 2, or 4, for example. When 1 is designated as the value of “width_to_height_ratio”, only a square block can be set in the image. On the other hand, when a value other than 1 is designated as the value of “width_to_height_ratio”, the shape of the maximum size block is a rectangle.
  • the shape of the largest size block is a square or a rectangle
  • the shape of a smaller size block is a square.
  • FIG. 13 is an explanatory diagram showing an example of a hierarchical structure of encoded blocks that can be defined by the second embodiment.
  • both a non-square block and a square block can be set according to the block size. That is, as shown in FIG. 13, the block of the maximum size (64 ⁇ 16) having a depth of zero is a rectangle having a ratio of the long side to the short side of 4 (4 to 1). Each block having a depth of 1 or more is a square.
  • FIG. 14 is an explanatory diagram for explaining the arrangement of prediction units in a block having a rectangular shape in which the ratio of the long side to the short side is 4: 1. Referring to FIG. 14, nine types of prediction modes from Mode 0 to Mode 8 are illustrated. Further, a partition mode is shown as Mode9.
  • Mode 0 is a special prediction mode that is selected when the skipped macroblock mode or the direct mode is used.
  • Mode 0 one prediction unit having a size of 4N ⁇ N is arranged in the block.
  • Mode 1 is a prediction mode in which one prediction unit having a size of 4N ⁇ N is arranged in a block.
  • Mode 2 is a prediction mode in which two prediction units having a size of 4N ⁇ N / 2 are arranged in the vertical direction in a block.
  • Mode 3 is a prediction mode in which two prediction units of 2N ⁇ N size are arranged side by side in a block.
  • Mode 4 is a prediction mode in which four prediction units of size N ⁇ N are arranged side by side in a block.
  • Mode 5 is a prediction mode in which two prediction units of N ⁇ N and 3N ⁇ N sizes are arranged side by side in the block.
  • Mode 6 is a prediction mode in which the arrangement of prediction units in Mode 5 is reversed left and right.
  • Mode 7 and Mode 8 are prediction modes in which two triangular prediction units separated by a diagonal line of the block are arranged in the block.
  • Mode 9 is a partition mode indicating that the block is further divided.
  • the 4-to-1 rectangular block is divided into, for example, four square blocks with a vertical quadrant as a partition. Further, when the rectangular block can be set across a plurality of layers, the 4-to-1 rectangular block can be divided into four, for example, with the center line in the vertical direction and the horizontal direction as a partition.
  • the motion vector setting unit 43 of the motion search unit 40 can search for a motion vector for all prediction modes of all layers included in the hierarchical structure illustrated in FIG.
  • FIG. 15 is an explanatory diagram for explaining the arrangement of transform units (TUs) that are units of orthogonal transform processing in a block having a 4N ⁇ N shape.
  • the type T0 is a pattern in which one conversion unit having a size of 4N ⁇ N is arranged in a block having a shape of 4N ⁇ N.
  • the type T1 is a pattern in which two conversion units having a size of 2N ⁇ N are arranged side by side in a block.
  • Type T2 is a pattern in which four conversion units having a size of 2N ⁇ N / 2 are arranged side by side in a block in a vertical direction and a horizontal direction.
  • Type T3 is a pattern in which four conversion units of size N ⁇ N are arranged side by side in a block.
  • Type T4 is a pattern in which eight conversion units of size N ⁇ N / 2 are arranged side by side in the vertical direction and two in the horizontal direction.
  • the orthogonal transform unit 14 performs orthogonal transform for each of these five types of transform units and outputs transform coefficient data.
  • Table 2 shows the mapping between the prediction unit (PU) illustrated in FIG. 14 and the conversion unit (TU) illustrated in FIG.
  • FIG. 16 is an explanatory diagram showing an example of a coded block pattern (CBP) for a transform unit having a 4N ⁇ N shape.
  • CBP coded block pattern
  • a transform coefficient of 4N ⁇ N is generated from the luminance signal (Y), whereas 2N from the color difference signals (Cb, Cr), respectively.
  • a conversion coefficient of ⁇ N / 2 is generated.
  • the encoded bit pattern for example, the transform coefficients for the luminance signal (Y) are grouped into four groups (Y0, Y1, Y2, and Y3), and each group has four bits (b0, b1, b2, and b3) is assigned. Also, one bit (b4 and b5) is assigned to each conversion coefficient for the color difference signals (Cb, Cr). In this way, whether or not a significant conversion coefficient other than the direct current value has been generated can be indicated by the value of each bit.
  • the shape of each block in the image is a square or a rectangle
  • the shape determination information includes ratio information that defines the ratio between the long side and the short side of the block.
  • the shape of the block having the maximum size can be determined from the ratio information.
  • the largest macroblock is a 16 ⁇ 16 pixel square. While supporting the H.264 / AVC format, it is possible to handle blocks of various shapes having larger sizes such as 32 ⁇ 16 pixels or 64 ⁇ 16 pixels.
  • the user can specify the ratio of the long side to the short side of the rectangular block, so that the variety of users regarding the size, compression rate, and image quality of the line memory can be specified. Can respond flexibly to various needs.
  • information to be newly defined is only “width_to_height_ratio” which is shape determination information. Therefore, it is easy to introduce such a new block size framework, and a reduction in compression rate due to an increase in header information can be avoided.
  • both “high_square_layer” according to the first example and “width_to_height_ratio” according to the second example may be used as the shape determination information.
  • the user can flexibly specify the number of layers of the rectangular block and the shape of the rectangular block.
  • FIG. 17 is an explanatory diagram for explaining a third example of the shape determination information.
  • FIG. 17 shows definition information 41c that can be held by the information holding unit 41 in the third embodiment.
  • the definition information 41c includes three data items “number_of_layers”, “width_to_height_ratio []”, and “low_level []” as shape determination information in addition to the maximum size information “max_high_level”.
  • the maximum size information “max_high_level” represents the maximum block size that can be set in the image.
  • the value of the maximum size information is, for example, 128, 64, 32, 16 or 8.
  • “Number_of_layers” represents the number of layers having different ratios between the long side and the short side included in the hierarchical structure of the encoded block. For example, in the hierarchical structure of the encoded block, the value of “number_of_layers” is 1 if the shapes of the blocks of all layers are the same. Further, as in the hierarchical structure illustrated in FIG. 13, there is a layer in which the ratio of the long side to the short side is 4 (4 to 1) and the layer in which the ratio of the long side to the short side is 1 The value of “number_of_layers” is 2.
  • “Width_to_height_ratio []” is a data array representing the ratio for each layer in which the ratio of the long side and the short side of the block is different from each other.
  • Low_level [] is a data array representing the minimum block size to which each ratio defined by “width_to_height_ratio []” is applied. The number of elements in the array is equal to the value of “number_of_layers”.
  • High_level [k] and low_level [k] are variables respectively indicating the level of the largest layer and the level of the smallest layer among the k-th layer groups having different ratios. Is:
  • FIG. 18 is an explanatory diagram showing a first example of a hierarchical structure of encoded blocks that can be defined by the third embodiment.
  • two layer groups having different ratios can be set according to the block size. That is, as shown in FIG. 18, the block of the maximum size (32 ⁇ 16) having a depth of zero is a rectangle having a ratio of the long side to the short side of 2. Each block having a depth of 1 or more is a square.
  • FIG. 19 is an explanatory diagram showing a second example of a hierarchical structure of encoded blocks that can be defined by the third embodiment.
  • two layer groups having different ratios can be set according to the block size. That is, as shown in FIG. 19, the block of the maximum size (64 ⁇ 16) having a depth of zero is a rectangle with a ratio of long side to short side of 4. Each block having a depth of 1 or more is a square.
  • FIG. 20 is an explanatory diagram showing a third example of the hierarchical structure of the encoded block that can be defined by the third embodiment.
  • two layer groups having different ratios can be set according to the block size. That is, as shown in FIG. 20, the maximum size (128 ⁇ 32) block having a depth of zero and the second size block (64 ⁇ 16) having a depth of 1 have a long side and a short side. It is a rectangle with a ratio of 4 to the side. Each block having a depth of 2 or more is a square.
  • FIG. 21 is an explanatory diagram showing a fourth example of the hierarchical structure of the encoded blocks that can be defined by the third embodiment.
  • three layer groups having different ratios can be set according to the block size. That is, as shown in FIG. 21, the block of the maximum size (64 ⁇ 16) having a depth of zero is a rectangle with a ratio of the long side to the short side of 4.
  • the second size (32 ⁇ 16) block with a depth of 1 is a rectangle with a ratio of 2 to long side. Each block having a depth of 2 or more is a square.
  • the block when the block is divided without changing the shape of the block, the block is, for example, the center line in the vertical direction and the horizontal direction as in the first embodiment. Can be divided into four parts.
  • the block when a block is divided so as to transit from one layer group to another layer group having a different ratio, the block can be divided into two or four, for example, with a vertical line as a partition.
  • the motion vector setting unit 43 of the motion search unit 40 can search for motion vectors in all prediction modes of all layers included in such a hierarchical structure.
  • the shape of each block in the image is a square or a rectangle
  • the shape determination information indicates the number of layers having different ratios between the long side and the short side of the block. It includes information on the number of layers to be defined and information defining the ratio for each layer.
  • the largest macroblock is a 16 ⁇ 16 pixel square. While supporting the H.264 / AVC format, it is possible to handle blocks of various sizes having various ratios of long sides and short sides.
  • the third embodiment since it is possible to specify a plurality of ratios between the long side and the short side of the rectangular block, the size of the line memory, the compression rate, the image quality, and the like are taken into consideration. The flexibility in designing the image processing apparatus is further improved.
  • FIGS. 22 and 23 are flowcharts illustrating an example of a flow of motion search processing by the motion search unit 40 of the image encoding device 10 according to the present embodiment.
  • the shape determination unit 42 acquires shape determination information from the information holding unit 41 (step S102).
  • the shape determination information acquired here is, for example, “high_square_layer” illustrated in FIG. 3, “width_to_height_ratio” illustrated in FIG. 12, or “number_of_layers”, “width_to_height_ratio []”, and “low_level []” illustrated in FIG. It may be.
  • the shape determination unit 42 acquires information such as maximum size information and minimum size information from the information holding unit 41.
  • the shape determining unit 42 sets a block having the maximum settable size in the image (step S104).
  • step S108 the motion vector setting unit 43 arranges a prediction unit in the prediction mode of each non-square block and determines a motion vector for each arranged prediction unit (step S108).
  • the prediction modes used here are, for example, the nine types of prediction modes illustrated in FIG. 8 when the block shape is a 2: 1 rectangle, and the block shape is a 4: 1 rectangle.
  • Nine types of prediction modes illustrated in FIG. 14 may be used.
  • the motion vector setting unit 43 calculates a cost function value for each prediction mode (step S110).
  • the motion vector determined in step S108 is a provisional motion vector for selecting an arrangement of prediction units (that is, an optimal prediction mode) to be set for generating a predicted pixel value of the block. .
  • step S112 the motion vector setting unit 43 arranges a prediction unit in the block in each prediction mode of the square block, and determines a motion vector for each arranged prediction unit (step S112).
  • the prediction modes used here may be, for example, the nine types of prediction modes illustrated in FIG.
  • the motion vector setting unit 43 calculates a cost function value for each prediction mode (step S114). Note that the motion vector determined in step S112 is also a provisional motion vector for selecting an optimal prediction mode.
  • the motion vector setting unit 43 determines whether or not the size of the block is the minimum size that can be set (step S116). Here, if the size of the block is not the minimum size, the process proceeds to step S118. On the other hand, if the size of the block is the minimum size, the process proceeds to step S120 in FIG.
  • step S118 the motion vector setting unit 43 divides the block into a plurality of smaller blocks (step S118).
  • the partition mode can be selected as the prediction mode for the layer before division. And the process from step S106 to step S116 mentioned above is repeated with respect to the block after a division
  • the motion vector setting unit 43 compares the cost function values calculated for the respective prediction modes, and selects the optimal prediction mode having the smallest cost function value (step S120). Then, the motion vector setting unit 43 predicts prediction mode information indicating the selected optimal prediction mode, size designation information (for example, the number of partition mode selections that means the number of block divisions), corresponding motion vector information, and reference image information. Is output to the motion compensation unit 44.
  • the motion compensation unit 44 generates a prediction pixel value in the optimal prediction mode selected by the motion vector setting unit 43 (step S122). Then, the motion compensation unit 44 outputs the predicted image data including the generated predicted pixel value to the mode selection unit 50, and uses the prediction mode information, size designation information, motion vector information, and reference image information as information related to inter prediction. It outputs to the mode selection part 50 (step S124).
  • FIG. 24 is a block diagram illustrating an example of the configuration of the image decoding device 60 according to an embodiment.
  • the image decoding device 60 includes an accumulation buffer 61, a lossless decoding unit 62, an inverse quantization unit 63, an inverse orthogonal transform unit 64, an addition unit 65, a deblock filter 66, a rearrangement buffer 67, a D / A (Digital to Analogue) conversion unit 68, frame memory 69, selectors 70 and 71, intra prediction unit 80, and motion compensation unit 90 are provided.
  • the accumulation buffer 61 temporarily accumulates the encoded stream input via the transmission path using a storage medium.
  • the lossless decoding unit 62 decodes the encoded stream input from the accumulation buffer 61 according to the encoding method used at the time of encoding. In addition, the lossless decoding unit 62 decodes information multiplexed in the header area of the encoded stream.
  • the information multiplexed in the header region of the encoded stream can include, for example, shape determination information in a sequence parameter set, a picture parameter set, or a slice header.
  • the information multiplexed in the header area of the encoded stream can include, for example, information related to intra prediction and information related to inter prediction in the block header.
  • the lossless decoding unit 62 outputs information related to intra prediction to the intra prediction unit 80. In addition, the lossless decoding unit 62 outputs shape determination information and information related to inter prediction to the motion compensation unit 90.
  • the inverse quantization unit 63 performs inverse quantization on the quantized data decoded by the lossless decoding unit 62.
  • the inverse orthogonal transform unit 64 generates prediction error data by performing inverse orthogonal transform on the transform coefficient data input from the inverse quantization unit 63 in accordance with the orthogonal transform method used at the time of encoding. Then, the inverse orthogonal transform unit 64 outputs the generated prediction error data to the addition unit 65.
  • the addition unit 65 adds the prediction error data input from the inverse orthogonal transform unit 64 and the prediction image data input from the selector 71 to generate decoded image data. Then, the addition unit 65 outputs the generated decoded image data to the deblock filter 66 and the frame memory 69.
  • the deblocking filter 66 removes block distortion by filtering the decoded image data input from the adding unit 65, and outputs the decoded image data after filtering to the rearrangement buffer 67 and the frame memory 69.
  • the rearrangement buffer 67 rearranges the images input from the deblock filter 66 to generate a series of time-series image data. Then, the rearrangement buffer 67 outputs the generated image data to the D / A conversion unit 68.
  • the D / A converter 68 converts the digital image data input from the rearrangement buffer 67 into an analog image signal. Then, the D / A conversion unit 68 displays an image by outputting an analog image signal to a display (not shown) connected to the image decoding device 60, for example.
  • the frame memory 69 stores the decoded image data before filtering input from the adding unit 65 and the decoded image data after filtering input from the deblocking filter 66 using a storage medium.
  • the selector 70 switches the output destination of the image data from the frame memory 69 between the intra prediction unit 80 and the motion compensation unit 90 for each block in the image according to the mode information acquired by the lossless decoding unit 62. .
  • the selector 70 outputs the decoded image data before filtering supplied from the frame memory 69 to the intra prediction unit 80 as reference image data.
  • the selector 70 outputs the decoded image data after filtering supplied from the frame memory 69 to the motion compensation unit 90 as reference image data.
  • the selector 71 sets the output source of the predicted image data to be supplied to the adding unit 65 for each block in the image according to the mode information acquired by the lossless decoding unit 62 between the intra prediction unit 80 and the motion compensation unit 90. Switch between. For example, the selector 71 supplies the prediction image data output from the intra prediction unit 80 to the adding unit 65 when the intra prediction mode is designated. The selector 71 supplies the predicted image data output from the motion compensation unit 90 to the adding unit 65 when the inter prediction mode is designated.
  • the intra prediction unit 80 performs in-screen prediction of pixel values based on information related to intra prediction input from the lossless decoding unit 62 and reference image data from the frame memory 69, and generates predicted image data. Then, the intra prediction unit 80 outputs the generated predicted image data to the selector 71.
  • the motion compensation unit 90 performs motion compensation processing based on the inter prediction information input from the lossless decoding unit 62 and the reference image data from the frame memory 69, and generates predicted image data. Then, the motion compensation unit 90 outputs the generated predicted image data to the selector 71.
  • FIG. 25 is a block diagram illustrating an example of a detailed configuration of the motion compensation unit 90 of the image decoding device 60 illustrated in FIG.
  • the motion compensation unit 90 includes a shape determination unit 91, a prediction unit determination unit 92, and a prediction unit 93.
  • the shape determination unit 91 determines the shape of each block set in the image at the time of image encoding using the shape determination information and the size designation information included in the information related to inter prediction input from the lossless encoding unit 62. To do.
  • width_to_height_ratio 4 is defined as the shape determination information, and when the size of the block specified by the size specification information is equal to the maximum size, the shape determination unit 91 The shape of the block can be determined to be a rectangle having a ratio of long side to short side of 4: 1. Further, for example, in the third embodiment, shape determination information as illustrated in FIG. 21 is defined, and when the size of the block specified by the size specification information is equal to the minimum size, the shape determination unit 91 Can determine that the shape of the block is square. As described above, the size designation information can be represented by the number of divisions of blocks from the largest block.
  • the prediction unit determination unit 92 uses the prediction mode information input from the lossless encoding unit 62 to determine the arrangement of prediction units in each block.
  • the prediction unit arrangement candidate for the square block is different from the prediction unit arrangement candidate for the rectangular block.
  • the prediction unit arrangement candidates for the rectangular blocks differ depending on the ratio of the long side to the short side of the rectangle. Therefore, the prediction unit determination unit 92 determines the arrangement of the prediction units in each block according to the shape of each block determined by the shape determination unit 91. For example, when the block shape is a square and the prediction mode information indicates Mode 2, the arrangement of the prediction units can be determined to be Mode 2 (2N ⁇ N) in FIG.
  • the arrangement of the prediction unit is determined to be Mode 4 (N ⁇ N / 2) in FIG. Can be done.
  • the arrangement of the prediction units may be determined to be Mode 3 (2N ⁇ N) in FIG. .
  • the prediction unit 93 receives the arrangement of the prediction units determined by the prediction unit determination unit 92, the motion vector and reference image information for each prediction unit input from the lossless encoding unit 62, and the reference image data input from the frame memory. To generate a predicted pixel value for each block. Then, the prediction unit 93 outputs predicted image data including the generated predicted pixel value to the selector 71.
  • FIG. 26 is a flowchart illustrating an example of a flow of motion compensation processing by the motion compensation unit 90 of the image decoding device 60 according to the present embodiment.
  • the shape determination unit 91 acquires shape determination information and size designation information included in the information regarding inter prediction input from the lossless decoding unit 62 (step S202).
  • the shape determination information acquired here is, for example, “high_square_layer” illustrated in FIG. 3, “width_to_height_ratio” illustrated in FIG. 12, or “number_of_layers”, “width_to_height_ratio []”, and “low_level []” illustrated in FIG. It may be.
  • the shape determination unit 91 determines the size of the block set at the time of image encoding using the acquired size designation information (step S204).
  • the size designation information can be acquired, for example, as a partition mode indicating the number of divisions of blocks from the largest block. Such a partition mode may be part of the prediction mode information.
  • the block size set at the time of image coding can be determined based on the maximum block size and the number of block divisions.
  • the shape determining unit 91 determines whether or not the block shape set at the time of image encoding is a square, based on the acquired shape determination information and the block size (step S206).
  • An example of shape determination by the shape determination unit 91 is the same as the example described above with reference to step 106 in FIG. If the block shape is non-square, the process proceeds to step S208. On the other hand, when the shape of the block is a square, the process proceeds to step S210.
  • step S208 the prediction unit determination unit 92 recognizes the prediction mode indicated by the prediction mode information input from the lossless encoding unit 62 as the prediction mode of the non-square block, and arranges the prediction unit for the block of interest. Determination is made (step S208).
  • step S210 the prediction unit determination unit 92 recognizes the prediction mode indicated by the prediction mode information input from the lossless encoding unit 62 as the prediction mode of the square block, and arranges the prediction unit for the block of interest. Is determined (step S210).
  • the prediction unit 93 generates a prediction pixel value for a pixel in each block using the motion vector and the reference image data for each prediction unit based on the arrangement of the prediction unit determined by the prediction unit determination unit 92. (Step S212). Then, the prediction unit 93 outputs predicted image data including the generated predicted pixel value to the selector 71 (step S214).
  • the image encoding device 10 and the image decoding device 60 include a transmitter or a receiver in satellite broadcasting, cable broadcasting such as cable TV, distribution on the Internet, and distribution to terminals by cellular communication,
  • the present invention can be applied to various electronic devices such as a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory, or a reproducing apparatus that reproduces an image from the storage medium.
  • a recording apparatus that records an image on a medium such as an optical disk, a magnetic disk, and a flash memory
  • a reproducing apparatus that reproduces an image from the storage medium.
  • FIG. 27 illustrates an example of a schematic configuration of a television apparatus to which the above-described embodiment is applied.
  • the television apparatus 900 includes an antenna 901, a tuner 902, a demultiplexer 903, a decoder 904, a video signal processing unit 905, a display unit 906, an audio signal processing unit 907, a speaker 908, an external interface 909, a control unit 910, a user interface 911, And a bus 912.
  • Tuner 902 extracts a signal of a desired channel from a broadcast signal received via antenna 901, and demodulates the extracted signal. Then, the tuner 902 outputs the encoded bit stream obtained by the demodulation to the demultiplexer 903. That is, the tuner 902 has a role as a transmission unit in the television apparatus 900 that receives an encoded stream in which an image is encoded and the shape determination information described above.
  • the demultiplexer 903 separates the video stream and audio stream of the viewing target program from the encoded bit stream, and outputs each separated stream to the decoder 904. In addition, the demultiplexer 903 extracts auxiliary data such as EPG (Electronic Program Guide) from the encoded bit stream, and supplies the extracted data to the control unit 910. Note that the demultiplexer 903 may perform descrambling when the encoded bit stream is scrambled.
  • EPG Electronic Program Guide
  • the decoder 904 decodes the video stream and audio stream input from the demultiplexer 903. Then, the decoder 904 outputs the video data generated by the decoding process to the video signal processing unit 905. In addition, the decoder 904 outputs audio data generated by the decoding process to the audio signal processing unit 907.
  • the video signal processing unit 905 reproduces the video data input from the decoder 904 and causes the display unit 906 to display the video.
  • the video signal processing unit 905 may cause the display unit 906 to display an application screen supplied via a network.
  • the video signal processing unit 905 may perform additional processing such as noise removal on the video data according to the setting.
  • the video signal processing unit 905 may generate a GUI (Graphical User Interface) image such as a menu, a button, or a cursor, and superimpose the generated image on the output image.
  • GUI Graphic User Interface
  • the display unit 906 is driven by a drive signal supplied from the video signal processing unit 905, and displays a video or an image on a video screen of a display device (for example, a liquid crystal display, a plasma display, or an OLED).
  • a display device for example, a liquid crystal display, a plasma display, or an OLED.
  • the audio signal processing unit 907 performs reproduction processing such as D / A conversion and amplification on the audio data input from the decoder 904, and outputs audio from the speaker 908.
  • the audio signal processing unit 907 may perform additional processing such as noise removal on the audio data.
  • the external interface 909 is an interface for connecting the television apparatus 900 to an external device or a network.
  • a video stream or an audio stream received via the external interface 909 may be decoded by the decoder 904. That is, the external interface 909 also has a role as a transmission unit in the television apparatus 900 that receives the encoded stream in which the image is encoded and the shape determination information described above.
  • the control unit 910 has a processor such as a CPU (Central Processing Unit) and a memory such as a RAM (Random Access Memory) and a ROM (Read Only Memory).
  • the memory stores a program executed by the CPU, program data, EPG data, data acquired via a network, and the like.
  • the program stored in the memory is read and executed by the CPU when the television device 900 is activated, for example.
  • the CPU controls the operation of the television device 900 according to an operation signal input from the user interface 911, for example, by executing the program.
  • the user interface 911 is connected to the control unit 910.
  • the user interface 911 includes, for example, buttons and switches for the user to operate the television device 900, a remote control signal receiving unit, and the like.
  • the user interface 911 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 910.
  • the bus 912 connects the tuner 902, the demultiplexer 903, the decoder 904, the video signal processing unit 905, the audio signal processing unit 907, the external interface 909, and the control unit 910 to each other.
  • the decoder 904 has the function of the image decoding apparatus 60 according to the above-described embodiment.
  • the television apparatus 900 can enjoy various effects such as improvement of the compression rate by expanding the block size for motion prediction while suppressing the redundancy of the line memory.
  • FIG. 28 shows an example of a schematic configuration of a mobile phone to which the above-described embodiment is applied.
  • a mobile phone 920 includes an antenna 921, a communication unit 922, an audio codec 923, a speaker 924, a microphone 925, a camera unit 926, an image processing unit 927, a demultiplexing unit 928, a recording / reproducing unit 929, a display unit 930, a control unit 931, an operation A portion 932 and a bus 933.
  • the antenna 921 is connected to the communication unit 922.
  • the speaker 924 and the microphone 925 are connected to the audio codec 923.
  • the operation unit 932 is connected to the control unit 931.
  • the bus 933 connects the communication unit 922, the audio codec 923, the camera unit 926, the image processing unit 927, the demultiplexing unit 928, the recording / reproducing unit 929, the display unit 930, and the control unit 931 to each other.
  • the mobile phone 920 has various operation modes including a voice call mode, a data communication mode, a shooting mode, and a videophone mode, and is used for sending and receiving voice signals, sending and receiving e-mail or image data, taking images, and recording data. Perform the action.
  • the analog voice signal generated by the microphone 925 is supplied to the voice codec 923.
  • the audio codec 923 converts an analog audio signal into audio data, A / D converts the compressed audio data, and compresses it. Then, the audio codec 923 outputs the compressed audio data to the communication unit 922.
  • the communication unit 922 encodes and modulates the audio data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921. In addition, the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to generate audio data, and outputs the generated audio data to the audio codec 923.
  • the audio codec 923 expands the audio data and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the control unit 931 generates character data constituting the e-mail in response to an operation by the user via the operation unit 932.
  • the control unit 931 causes the display unit 930 to display characters.
  • the control unit 931 generates e-mail data in response to a transmission instruction from the user via the operation unit 932, and outputs the generated e-mail data to the communication unit 922.
  • the communication unit 922 encodes and modulates email data and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • the communication unit 922 demodulates and decodes the received signal to restore the email data, and outputs the restored email data to the control unit 931.
  • the control unit 931 displays the content of the electronic mail on the display unit 930 and stores the electronic mail data in the storage medium of the recording / reproducing unit 929.
  • the recording / reproducing unit 929 has an arbitrary readable / writable storage medium.
  • the storage medium may be a built-in storage medium such as a RAM or a flash memory, or an externally mounted storage medium such as a hard disk, a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. May be.
  • the camera unit 926 images a subject to generate image data, and outputs the generated image data to the image processing unit 927.
  • the image processing unit 927 encodes the image data input from the camera unit 926 and stores the encoded stream in the storage medium of the recording / playback unit 929.
  • the demultiplexing unit 928 multiplexes the video stream encoded by the image processing unit 927 and the audio stream input from the audio codec 923, and the multiplexed stream is the communication unit 922. Output to.
  • the communication unit 922 encodes and modulates the stream and generates a transmission signal. Then, the communication unit 922 transmits the generated transmission signal to a base station (not shown) via the antenna 921.
  • the communication unit 922 amplifies a radio signal received via the antenna 921 and performs frequency conversion to acquire a received signal.
  • These transmission signal and reception signal may include the encoded bit stream and the shape determination information described above.
  • the communication unit 922 demodulates and decodes the received signal to restore the stream, and outputs the restored stream to the demultiplexing unit 928.
  • the demultiplexing unit 928 separates the video stream and the audio stream from the input stream, and outputs the video stream to the image processing unit 927 and the audio stream to the audio codec 923.
  • the image processing unit 927 decodes the video stream and generates video data.
  • the video data is supplied to the display unit 930, and a series of images is displayed on the display unit 930.
  • the audio codec 923 decompresses the audio stream and performs D / A conversion to generate an analog audio signal. Then, the audio codec 923 supplies the generated audio signal to the speaker 924 to output audio.
  • the image processing unit 927 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment.
  • the cellular phone 920 can enjoy various effects such as improvement of the compression rate by expanding the block size for motion prediction while suppressing the redundancy of the line memory.
  • FIG. 29 shows an example of a schematic configuration of a recording / reproducing apparatus to which the above-described embodiment is applied.
  • the recording / reproducing device 940 encodes audio data and video data of a received broadcast program and records the encoded data on a recording medium.
  • the recording / reproducing device 940 may encode audio data and video data acquired from another device and record them on a recording medium, for example.
  • the recording / reproducing device 940 reproduces data recorded on the recording medium on a monitor and a speaker, for example, in accordance with a user instruction. At this time, the recording / reproducing device 940 decodes the audio data and the video data.
  • the recording / reproducing device 940 includes a tuner 941, an external interface 942, an encoder 943, an HDD (Hard Disk Drive) 944, a disk drive 945, a selector 946, a decoder 947, an OSD (On-Screen Display) 948, a control unit 949, and a user interface. 950.
  • Tuner 941 extracts a signal of a desired channel from a broadcast signal received via an antenna (not shown), and demodulates the extracted signal. Then, the tuner 941 outputs the encoded bit stream obtained by the demodulation to the selector 946. That is, the tuner 941 has a role as a transmission unit in the recording / reproducing apparatus 940.
  • the external interface 942 is an interface for connecting the recording / reproducing apparatus 940 to an external device or a network.
  • the external interface 942 may be, for example, an IEEE 1394 interface, a network interface, a USB interface, or a flash memory interface.
  • video data and audio data received via the external interface 942 are input to the encoder 943. That is, the external interface 942 serves as a transmission unit in the recording / reproducing device 940.
  • the encoder 943 encodes video data and audio data when the video data and audio data input from the external interface 942 are not encoded. Then, the encoder 943 outputs the encoded bit stream to the selector 946.
  • the HDD 944 records an encoded bit stream in which content data such as video and audio is compressed, various programs, and other data on an internal hard disk. Also, the HDD 944 reads out these data from the hard disk when playing back video and audio.
  • the disk drive 945 performs recording and reading of data to and from the mounted recording medium.
  • the recording medium loaded in the disk drive 945 may be, for example, a DVD disk (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, etc.) or a Blu-ray (registered trademark) disk. .
  • the selector 946 selects an encoded bit stream input from the tuner 941 or the encoder 943 when recording video and audio, and outputs the selected encoded bit stream to the HDD 944 or the disk drive 945. In addition, the selector 946 outputs the encoded bit stream input from the HDD 944 or the disk drive 945 to the decoder 947 during video and audio reproduction.
  • the decoder 947 decodes the encoded bit stream and generates video data and audio data. Then, the decoder 947 outputs the generated video data to the OSD 948. The decoder 904 outputs the generated audio data to an external speaker.
  • the OSD 948 reproduces the video data input from the decoder 947 and displays the video. Further, the OSD 948 may superimpose a GUI image such as a menu, a button, or a cursor on the video to be displayed.
  • a GUI image such as a menu, a button, or a cursor
  • the control unit 949 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the recording / reproducing apparatus 940 is activated, for example.
  • the CPU controls the operation of the recording / reproducing device 940 according to an operation signal input from the user interface 950, for example, by executing the program.
  • the user interface 950 is connected to the control unit 949.
  • the user interface 950 includes, for example, buttons and switches for the user to operate the recording / reproducing device 940, a remote control signal receiving unit, and the like.
  • the user interface 950 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 949.
  • the encoder 943 has the function of the image encoding apparatus 10 according to the above-described embodiment.
  • the decoder 947 has the function of the image decoding device 60 according to the above-described embodiment.
  • the recording / reproducing apparatus 940 can enjoy various effects such as improvement of the compression rate by expanding the block size for motion prediction while suppressing the redundancy of the line memory.
  • FIG. 30 illustrates an example of a schematic configuration of an imaging apparatus to which the above-described embodiment is applied.
  • the imaging device 960 images a subject to generate an image, encodes the image data, and records it on a recording medium.
  • the imaging device 960 includes an optical block 961, an imaging unit 962, a signal processing unit 963, an image processing unit 964, a display unit 965, an external interface 966, a memory 967, a media drive 968, an OSD 969, a control unit 970, a user interface 971, and a bus. 972.
  • the optical block 961 is connected to the imaging unit 962.
  • the imaging unit 962 is connected to the signal processing unit 963.
  • the display unit 965 is connected to the image processing unit 964.
  • the user interface 971 is connected to the control unit 970.
  • the bus 972 connects the image processing unit 964, the external interface 966, the memory 967, the media drive 968, the OSD 969, and the control unit 970 to each other.
  • the optical block 961 includes a focus lens and a diaphragm mechanism.
  • the optical block 961 forms an optical image of the subject on the imaging surface of the imaging unit 962.
  • the imaging unit 962 includes an image sensor such as a CCD or a CMOS, and converts an optical image formed on the imaging surface into an image signal as an electrical signal by photoelectric conversion. Then, the imaging unit 962 outputs the image signal to the signal processing unit 963.
  • the signal processing unit 963 performs various camera signal processing such as knee correction, gamma correction, and color correction on the image signal input from the imaging unit 962.
  • the signal processing unit 963 outputs the image data after the camera signal processing to the image processing unit 964.
  • the image processing unit 964 encodes the image data input from the signal processing unit 963 and generates encoded data. Then, the image processing unit 964 outputs the generated encoded data to the external interface 966 or the media drive 968. The image processing unit 964 also decodes encoded data input from the external interface 966 or the media drive 968 to generate image data. Then, the image processing unit 964 outputs the generated image data to the display unit 965. In addition, the image processing unit 964 may display the image by outputting the image data input from the signal processing unit 963 to the display unit 965. Further, the image processing unit 964 may superimpose display data acquired from the OSD 969 on an image output to the display unit 965.
  • the OSD 969 generates a GUI image such as a menu, a button, or a cursor, for example, and outputs the generated image to the image processing unit 964.
  • the external interface 966 is configured as a USB input / output terminal, for example.
  • the external interface 966 connects the imaging device 960 and a printer, for example, when printing an image.
  • a drive is connected to the external interface 966 as necessary.
  • a removable medium such as a magnetic disk or an optical disk is attached to the drive, and a program read from the removable medium can be installed in the imaging device 960.
  • the external interface 966 may be configured as a network interface connected to a network such as a LAN or the Internet. That is, the external interface 966 has a role as a transmission unit in the imaging device 960.
  • the recording medium mounted on the media drive 968 may be any readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory. Further, a recording medium may be fixedly attached to the media drive 968, and a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • a non-portable storage unit such as an internal hard disk drive or an SSD (Solid State Drive) may be configured.
  • the control unit 970 includes a processor such as a CPU and memories such as a RAM and a ROM.
  • the memory stores a program executed by the CPU, program data, and the like.
  • the program stored in the memory is read and executed by the CPU when the imaging device 960 is activated, for example.
  • the CPU controls the operation of the imaging device 960 according to an operation signal input from the user interface 971, for example, by executing the program.
  • the user interface 971 is connected to the control unit 970.
  • the user interface 971 includes, for example, buttons and switches for the user to operate the imaging device 960.
  • the user interface 971 detects an operation by the user via these components, generates an operation signal, and outputs the generated operation signal to the control unit 970.
  • the image processing unit 964 has the functions of the image encoding device 10 and the image decoding device 60 according to the above-described embodiment. As a result, the imaging device 960 can enjoy various effects such as improvement of the compression rate by expanding the block size for motion prediction while suppressing the redundancy of the line memory.
  • the image encoding device 10 and the image decoding device 60 according to an embodiment have been described with reference to FIGS.
  • the shape of the block set in the image is determined using the shape determination information for determining the shape of the block according to the size, and the shape A motion vector used for prediction of an image in the prediction unit is set for each prediction unit arranged according to the above.
  • the shape determination information and the block size are used to determine the shape of each block in the image, and based on the prediction unit arrangement and the motion vector according to the shape, A predicted image for each block is generated. Therefore, a block having a shape other than a square can be used for motion prediction. Thereby, for example, even when the block size for motion prediction is expanded in order to improve the compression rate, the redundancy of the line memory can be suppressed.
  • the maximum block shape that can be set in the image can be a non-square shape, and the smaller block shape can be a square shape.
  • the encoding scheme proposed in this specification can be realized while maintaining compatibility with an existing encoding scheme in which the largest block is a square.
  • the shape determination information can be input by the user.
  • the shape determination information input by the user is multiplexed on the sequence parameter set, picture parameter set, or slice header of the encoded stream, and transmitted from the encoding side to the decoding side.
  • users who adopt the coding method proposed in this specification can flexibly define the block shape and encode the definition according to various needs for line memory size, compression rate and image quality. It can be used on both the decoding side and the decoding side.
  • various prediction modes are provided even for non-square blocks. Therefore, even when a block having a shape other than a square is used, motion prediction can be effectively performed according to the content of the image.
  • shape determination information is multiplexed in, for example, a sequence parameter set, a picture parameter set, or a slice header of an encoded stream, and the encoded stream is mainly transmitted from the encoding side to the decoding side.
  • the method for transmitting the shape determination information is not limited to such an example.
  • the shape determination information may be transmitted or recorded as separate data associated with the encoded bitstream without being multiplexed into the encoded bitstream.
  • the term “associate” means that an image (which may be a part of an image such as a slice or a block) included in the bitstream and information corresponding to the image can be linked at the time of decoding. Means.
  • the shape determination information may be transmitted on a different transmission path from the image (or bit stream). Further, the shape determination information may be recorded on a recording medium different from the image (or bit stream) (or another recording area of the same recording medium). Further, the shape determination information and the image (or bit stream) may be associated with each other in an arbitrary unit such as a plurality of frames, one frame, or a part of the frame.
  • Image encoding device (image processing device) 16 Coding unit 42 Shape determination unit 43 Motion vector setting unit 60 Image decoding device (image processing device) 62 Decoding Unit 91 Shape Determination Unit 92 Prediction Unit Determination Unit 93 Prediction Unit

Abstract

画像処理装置のラインメモリの冗長化を抑制しながら、より大きいサイズのブロックを扱うことを可能とするために、ブロックのサイズに応じたブロックの形状を判定するための形状判定情報を用いて、予測単位のブロックの形状(正方形/非正方形)を判定する。サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定されるブロックの形状を判定する形状判定部と、上記形状判定部により判定される形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルを設定する動きベクトル設定部と、上記動きベクトル設定部により設定される動きベクトルを用いて、上記画像を符号化する符号化部と、を備える画像処理装置を提供する。

Description

画像処理装置及び画像処理方法
 本開示は、画像処理装置及び画像処理方法に関する。
 従来、デジタル画像を効率的に伝送し又は蓄積することを目的とし、画像に特有の冗長性を利用して、例えば離散コサイン変換などの直交変換と動き補償とにより画像の情報量を圧縮する圧縮技術が普及している。例えば、ITU-Tの策定したH.26x標準又はMPEG(Moving Picture Experts Group)の策定したMPEG-y標準などの標準技術に準拠した画像符号化装置及び画像復号装置は、放送局による画像の蓄積及び配信、並びに一般ユーザによる画像の受信及び蓄積など、様々な場面で広く利用されている。
 MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されたMPEG-y標準の1つである。MPEG2は、飛び越し走査(インターレース)画像及び順次走査(ノン・インターレース)画像の双方を扱うことが可能であり、標準解像度のデジタル画像に加えて、高精細画像をも対象としている。MPEG2は、現在、プロフェッショナル用途及びコンシューマー用途を含む広範なアプリケーションに広く用いられている。MPEG2によれば、例えば、720×480画素を持つ標準解像度の飛び越し走査画像には4~8Mbpsの符号量(ビットレート)、1920×1088画素を持つ高解像度の飛び越し走査画像には18~22Mbpsの符号量を割り当てることで、高い圧縮率及び良好な画質を共に実現することができる。
 MPEG2は、主として、放送の用途に適合する高画質符号化を目的としており、MPEG1よりも低い符号量(ビットレート)、即ちより高い圧縮率には対応するものではなかった。しかし、近年の携帯端末の普及により、高い圧縮率を可能とする符号化方式のニーズは高まっている。そこで、新たにMPEG4符号化方式の標準化が進められた。MPEG4符号化方式の一部である画像符号化方式に関しては、1998年12月に、その規格が国際標準(ISO/IEC 14496-2)として承認された。
 H.26x標準(ITU-T Q6/16 VCEG)は、当初、テレビ電話又はテレビ会議などの通信の用途に適合する符号化を目的として策定された標準規格である。H.26x標準は、MPEG-y標準と比較して、符号化及び復号により多くの演算量を要する一方、より高い圧縮率を実現できることが知られている。また、MPEG4の活動の一環としてのJoint Model of Enhanced-Compression Video Codingでは、H.26x標準をベースとしながら新たな機能をも取り入れることで、より高い圧縮率を実現可能な標準規格が策定された。この標準規格は、2003年3月に、H.264及びMPEG-4 Part10(Advanced Video Coding;AVC)という名称で国際標準となった。
 また、昨今、例えば、4000×2000画素といったサイズの大きい画像の圧縮、又はインターネットのような伝送容量に制限のある環境におけるハイビジョン画像の配信などを目的とする、圧縮率をさらに向上させた符号化方式についてのニーズも認識されている。そこで、非特許文献1は、マクロブロックのサイズをMPEG2又はH.264/AVCよりも大きいサイズ(例えば32×32画素)に設定してイントラ予測を行うことを提案している。また、非特許文献2は、マクロブロックのサイズをMPEG2又はH.264/AVCよりも大きいサイズ(例えば32×32画素)に設定してインター予測を行うことを提案している。より大きいサイズを有するマクロブロックを用いて動き予測を行うことで、動き予測によるデータ量の圧縮の効果が高められるため、画像の圧縮率はさらに向上し得る。
Sung-Chang Lim, Hahyun Lee, Jinho Lee, Jongho Kim, Haechul Choi, Seyoon Jeong, Jin Soo Choi、"Intra coding using extended block size"、 (ITU-Telecommunications Standardization Sector, Study Group16 Question6, Video Coding Experts Group, 38th Meeting: London, UK/Geneva, CH, 1-8 July,2009,D) Qualcomm Inc、 "Video Coding Using Extended Block1 Sizes" (STUDY GROUP16-CONTRIBUTION 123, ITU-Telecommunications Standardization Sector 2009年1月)
 しかしながら、マクロブロックの最大サイズが拡張されるということは、画像の符号化又は復号のために要するラインメモリのサイズも大きくなることを意味する。例えば、H.264/AVCでは、16×16画素の最大マクロブロック(LMB:Largest Macro Block)が使用され得ることから、符号化又は復号のために要するラインメモリのサイズは16画素である。これに対し、上記非特許文献1又は2により提案された手法では、32×32画素の最大マクロブロックが使用され得ることから、32画素のサイズのラインメモリが必要である。しかし、ラインメモリのサイズを徒に冗長化することは、ハードウェアのコストの観点において不利である。また、メモリリソースに制約のあるハードウェアにとっては、ラインメモリを可能な限り拡張することなく、高い圧縮率で符号化された画像を再生できることがより望ましい。
 そこで、本開示に係る技術は、ラインメモリの冗長化を抑制しながら、より大きいブロックを扱うことを可能とする、画像処理装置及び画像処理方法を提供しようとするものである。
 本開示によれば、サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定されるブロックの形状を判定する形状判定部と、上記形状判定部により判定される形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルを設定する動きベクトル設定部と、上記動きベクトル設定部により設定される動きベクトルを用いて、上記画像を符号化する符号化部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
 また、上記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含んでもよい。
 また、上記形状判定部は、上記境界値よりも大きいサイズを有するブロックの形状は非正方形であり、上記境界値よりも小さいサイズを有するブロックの形状は正方形であると判定してもよい。
 また、画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形であってもよい。
 また、画像内の各ブロックの形状は、正方形又は長方形であり、上記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含んでもよい。
 また、上記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、上記比率情報は、上記レイヤごとに上記比率を定義する情報であってもよい。
 また、上記動きベクトル設定部は、画像内に設定した各ブロックのサイズを示す情報と当該ブロックにおける予測単位の配置のパターンを指定する予測モード情報とをブロックごとに出力してもよい。
 また、画像内の各ブロックの形状は、正方形又は長方形であり、正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なってもよい。
 また、上記形状判定情報は、ユーザにより入力可能であってもよい。
 また、上記画像処理装置は、上記符号化部により生成される符号化ストリームと上記形状判定情報とを伝送する伝送手段、をさらに備えてもよい。
 また、上記符号化部は、上記符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダに上記形状判定情報を多重化してもよい。
 また、本開示によれば、画像を処理するための画像処理方法であって、サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定されるブロックの形状を判定することと、判定された形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルを設定することと、設定された動きベクトルを用いて、前記画像を符号化することと、を含む画像処理方法が提供される。
 また、本開示によれば、サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定する形状判定部と、上記形状判定部により判定される各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定する予測単位判定部と、上記予測単位判定部により判定される予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画像を生成する予測部と、上記予測部により生成される予測画像を用いて、上記画像が符号化されている符号化ストリームを復号する復号部と、を備える画像処理装置が提供される。
 上記画像処理装置は、典型的には、画像を復号する画像復号装置として実現され得る。
 また、上記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含んでもよい。
 また、画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形であってもよい。
 また、画像内の各ブロックの形状は、正方形又は長方形であり、上記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含んでもよい。
 また、上記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、上記比率情報は、上記レイヤごとに上記比率を定義する情報であってもよい。
 また、上記形状判定部は、上記符号化ストリームに多重化されたシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダから上記形状判定情報を取得してもよい。
 また、上記形状判定部は、各ブロックのサイズを判定するための情報を上記符号化ストリームに含まれるブロックヘッダから取得してもよい。
 また、画像内の各ブロックの形状は、正方形又は長方形であり、正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なってもよい。
 また、上記形状判定情報は、画像を符号化した装置においてユーザ入力に基づいて取得された情報であってもよい。
 また、上記画像処理装置は、上記符号化ストリームと上記形状判定情報とを受け取る受け取り手段、をさらに備えてもよい。
 また、本開示によれば、画像を処理するための画像処理方法であって、サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定することと、判定された各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定することと、判定された予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画像を生成することと、生成された予測画像を用いて、上記画像が符号化されている符号化ストリームを復号することと、を含む画像処理方法が提供される。
 以上説明したように、本開示に係る画像処理装置及び画像処理方法によれば、ラインメモリの冗長化を抑制しながら、より大きいブロックを扱うことが可能となる。
一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。 一実施形態に係る画像符号化装置の動き探索部の詳細な構成の一例を示すブロック図である。 形状判定情報の第1の実施例について説明するための説明図である。 形状判定情報の第1の実施例により定義され得る符号化ブロックの階層構造の第1の例を示す説明図である。 形状判定情報の第1の実施例により定義され得る符号化ブロックの階層構造の第2の例を示す説明図である。 形状判定情報の第1の実施例により定義され得る符号化ブロックの階層構造の第3の例を示す説明図である。 正方形のブロックにおける予測単位の配置について説明するための説明図である。 2N×Nの形状を有するブロックにおける予測単位の配置について説明するための説明図である。 形状判定情報の第1の実施例における動きベクトルの探索範囲について説明するための説明図である。 2N×Nの形状を有するブロックにおける変換単位の配置について説明するための説明図である。 2N×Nの形状を有する変換単位についての符号化ブロックパターンの一例を示す説明図である。 形状判定情報の第2の実施例について説明するための説明図である。 形状判定情報の第2の実施例により定義され得る符号化ブロックの階層構造の一例を示す説明図である。 4N×Nの形状を有するブロックにおける予測単位の配置について説明するための説明図である。 4N×Nの形状を有するブロックに設定され得る変換単位について説明するための説明図である。 4N×Nの形状を有するブロックの符号化ブロックパターンの一例を示す説明図である。 形状判定情報の第3の実施例について説明するための説明図である。 形状判定情報の第3の実施例により定義され得る符号化ブロックの階層構造の第1の例を示す説明図である。 形状判定情報の第3の実施例により定義され得る符号化ブロックの階層構造の第2の例を示す説明図である。 形状判定情報の第3の実施例により定義され得る符号化ブロックの階層構造の第3の例を示す説明図である。 形状判定情報の第3の実施例により定義され得る符号化ブロックの階層構造の第4の例を示す説明図である。 一実施形態に係る動き探索処理の流れの一例を示すフローチャートの前半部である。 一実施形態に係る動き探索処理の流れの一例を示すフローチャートの後半部である。 一実施形態に係る画像復号装置の構成の一例を示すブロック図である。 一実施形態に係る画像復号装置の動き補償部の詳細な構成の一例を示すブロック図である。 一実施形態に係る動き補償処理の流れの一例を示すフローチャートである。 テレビジョン装置の概略的な構成の一例を示すブロック図である。 携帯電話機の概略的な構成の一例を示すブロック図である。 記録再生装置の概略的な構成の一例を示すブロック図である。 撮像装置の概略的な構成の一例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
 また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
  1.一実施形態に係る画像符号化装置の構成例
  2.形状判定情報の例
  3.一実施形態に係る符号化時の処理の流れ
  4.一実施形態に係る画像復号装置の構成例
  5.一実施形態に係る復号時の処理の流れ
  6.応用例
  7.まとめ
 <1.一実施形態に係る画像符号化装置の構成例>
 まず、図1及び図2を用いて、一実施形態に係る画像符号化装置の構成例について説明する。
  [1-1.全体的な構成例]
 図1は、一実施形態に係る画像符号化装置10の構成の一例を示すブロック図である。図1を参照すると、画像符号化装置10は、A/D(Analogue to Digital)変換部11、並べ替えバッファ12、減算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、レート制御部18、逆量子化部21、逆直交変換部22、加算部23、デブロックフィルタ24、フレームメモリ25、セレクタ26、イントラ予測部30、動き探索部40、及びモード選択部50を備える。
 A/D変換部11は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ12へ出力する。
 並べ替えバッファ12は、A/D変換部11から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ12は、符号化処理に係るGOP(Group of Pictures)構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部13、イントラ予測部30及び動き探索部40へ出力する。
 減算部13には、並べ替えバッファ12から入力される画像データ、及び後に説明するモード選択部50により選択される予測画像データが供給される。減算部13は、並べ替えバッファ12から入力される画像データとモード選択部50から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部14へ出力する。
 直交変換部14は、減算部13から入力される予測誤差データについて、後に説明する変換単位(Transform Unit:TU)ごとに直交変換を行う。直交変換部14により実行される直交変換は、例えば、離散コサイン変換(Discrete Cosine Transform:DCT)又はカルーネン・レーベ変換などであってよい。直交変換部14は、直交変換処理により取得される変換係数データを量子化部15へ出力する。
 量子化部15には、直交変換部14から入力される変換係数データ、及び後に説明するレート制御部18からのレート制御信号が供給される。量子化部15は、変換係数データを量子化し、量子化後の変換係数データ(以下、量子化データという)を可逆符号化部16及び逆量子化部21へ出力する。また、量子化部15は、レート制御部18からのレート制御信号に基づいて量子化パラメータ(量子化スケール)を切り替えることにより、可逆符号化部16に入力される量子化データのビットレートを変化させる。
 可逆符号化部16には、量子化部15から入力される量子化データ、及び、後に説明するイントラ予測部30又は動き探索部40により生成されモード選択部50により選択されるイントラ予測又はインター予測に関する情報が供給される。さらに、可逆符号化部16には、動き探索部40から出力されるブロックの形状に関する定義情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、後により詳細に説明するように、インター予測に関する情報は、例えば、画像内に設定されるブロックのサイズを指定するサイズ指定情報、各ブロック内の予測単位の配置を指定する予測モード情報、動きベクトル情報及び参照画像情報を含み得る。また、ブロックの形状に関する定義情報は、例えば、最大サイズ情報、最小サイズ情報、及び後述する形状判定情報を含み得る。
 可逆符号化部16は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部16による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部16は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ(例えばブロックヘッダ又はスライスヘッダなど)内に多重化する。さらに、可逆符号化部16は、動き探索部40から供給される定義情報を、符号化ストリームの例えばシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に多重化する。そして、可逆符号化部16は、生成した符号化ストリームを蓄積バッファ17へ出力する。
 蓄積バッファ17は、可逆符号化部16から入力される符号化ストリームを半導体メモリなどの記憶媒体を用いて一時的に蓄積する。そして、蓄積バッファ17は、蓄積した符号化ストリームを、伝送路(又は画像符号化装置10からの出力線)の帯域に応じたレートで出力する。
 レート制御部18は、蓄積バッファ17の空き容量を監視する。そして、レート制御部18は、蓄積バッファ17の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部15へ出力する。例えば、レート制御部18は、蓄積バッファ17の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部18は、蓄積バッファ17の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
 逆量子化部21は、量子化部15から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部21は、逆量子化処理により取得される変換係数データを、逆直交変換部22へ出力する。
 逆直交変換部22は、逆量子化部21から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部22は、復元した予測誤差データを加算部23へ出力する。
 加算部23は、逆直交変換部22から入力される復元された予測誤差データとモード選択部50から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部23は、生成した復号画像データをデブロックフィルタ24及びフレームメモリ25へ出力する。
 デブロックフィルタ24は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタリング処理を行う。デブロックフィルタ24は、加算部23から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データをフレームメモリ25へ出力する。
 フレームメモリ25は、加算部23から入力される復号画像データ、及びデブロックフィルタ24から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ26は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部30に供給する。また、セレクタ26は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ25から読み出し、読み出した復号画像データを参照画像データとして動き探索部40に供給する。
 イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、H.264/AVCにより規定されている各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部30は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率(符号化効率)が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部30は、当該最適なイントラ予測モードを示す予測モード情報、予測画像データ、及びコスト関数値などのイントラ予測に関する情報を、モード選択部50へ出力する。さらに、イントラ予測部30は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、H.264/AVCにより規定されている各イントラ予測モードよりもサイズの大きいブロックでイントラ予測処理を行ってもよい。その場合にも、イントラ予測部30は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価し、最適なイントラ予測モードについてのイントラ予測に関する情報をモード選択部50へ出力する。
 動き探索部40は、並べ替えバッファ12から入力される符号化対象の画像データ、及びセレクタ26を介して供給される復号画像データに基づいて、H.264/AVCにより規定されているマクロブロックよりも大きい最大のブロックサイズを用いた動き探索処理を行う。動き探索部40は、例えば、設定可能な最大のブロック及び当該最大のブロックを分割した各ブロックに、それぞれ複数の予測モードで予測単位を配置する。また、動き探索部40は、各予測モードにより配置される予測単位ごとに動きベクトルを決定する。次に、動き探索部40は、各予測モードを所定のコスト関数を用いて評価する。そして、動き探索部40は、コスト関数値が最小となるブロックサイズ及び予測モード、即ち圧縮率(符号化効率)が最も高くなるブロックサイズ及び予測モードを、最適なブロックサイズ及び最適な予測モードとして選択する。動き探索部40による動き探索処理については、後により詳細に説明する。動き探索部40は、コスト関数値が最小となるブロックサイズを指定するサイズ指定情報、予測単位の配置を指定する予測モード情報、動きベクトル情報、参照画像情報、予測画像データ、及びコスト関数値などのインター予測に関する情報を、モード選択部50へ出力する。
 モード選択部50は、イントラ予測部30から入力されるイントラ予測に関するコスト関数値と動き探索部40から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部50は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部50は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13へ出力する。また、モード選択部50は、インター予測を選択した場合には、インター予測に関するサイズ指定情報、予測モード情報、動きベクトル情報及び参照画像情報を可逆符号化部16へ出力すると共に、予測画像データを減算部13へ出力する。
  [1-2.動き探索部の構成例]
 図2は、図1に示した画像符号化装置10の動き探索部40の詳細な構成の一例を示すブロック図である。図2を参照すると、動き探索部40は、情報保持部41、形状判定部42、動きベクトル設定部43、及び動き補償部44を有する。
 情報保持部41は、半導体メモリなどの記憶媒体を用いて、最大サイズ情報、最小サイズ情報、及び形状判定情報を予め保持する。最大サイズ情報は、画像内に設定可能な最大のブロックのサイズを定義する情報である。例えば、H264/AVCにおいて画像内に設定可能な最大のブロックのサイズは16×16画素である。一方、より拡張された規格においては、最大サイズ情報は、16を超える値(例えば、32、64又は128など)を示し得る。最小サイズ情報は、画像内に設定可能な最小のブロックのサイズを定義する情報である。
 形状判定情報は、サイズに応じたブロックの形状を判定するために定義される情報である。即ち、形状判定情報は、あるブロックについてサイズが指定された場合に、形状判定情報とその指定されたサイズとに応じてブロックの形状を定めることのできる情報である。形状判定情報の具体的な例については、後に3つの例を挙げて詳細に説明する。
 なお、本実施形態において、画像の符号化のために使用されるブロックのサイズは、最大のブロックからの分割回数により表され得る。例えば、分割回数がゼロであれば、当該ブロックのサイズは最大のブロックのサイズに等しい。最大のブロックからの分割回数が1以上であれば、当該ブロックのサイズは最大のブロックのサイズよりも小さい。本明細書では、各ブロックについての最大のブロックからの分割回数を、ブロック(あるいはレイヤ)の「深さ(depth)」という。
 形状判定部42は、情報保持部41により保持されている上述した形状判定情報を用いて、画像内に設定可能なブロックの形状を判定する。本実施形態において、画像内の各ブロックの形状は、正方形又は長方形のいずれかである。従って、形状判定部42は、形状判定情報を参照し、例えば、あるサイズを有するブロックについてはその形状は長方形であり、他のサイズを有するブロックについてはその形状は正方形である、などと判定する。
 なお、図2に示しているように、情報保持部41により保持される情報は、画像符号化装置10を利用するユーザ(例えば、画像符号化装置10をエンコーダとして電子機器に組み込む開発者など)により入力され又は更新され得る。即ち、画像符号化装置10を利用するユーザは、画像符号化装置10の用途に応じて、画像符号化処理の際に使用すべき最大サイズ情報、最小サイズ情報、及び形状判定情報を指定することができる。
 例えば、ユーザは、最大のサイズを有するブロックの形状が長方形となるように、形状判定情報を指定してもよい。それにより、例えば、H.264/AVCにおいて規定されている最大マクロブロックサイズ(16×16画素)を超えるサイズを有するブロックとして、例えば32×16画素のブロックを使用することが可能となる。この場合、ブロックの短辺の長さが変わらないことから、従来方式と同等の規模(16画素)のラインメモリを使用することができる一方、ブロックサイズが拡張されるため、画像の圧縮率をより向上させることができる。また、例えば、ユーザは、規模の大きいラインメモリを確保し得る機器に画像符号化装置10を組み込む場合には、最大のサイズを有するブロックの形状も正方形となるように、形状判定情報を指定してもよい。ユーザにより指定され、情報保持部41により保持されるこれら定義情報は、図1に示した可逆符号化部16へ出力される。
 動きベクトル設定部43は、形状判定部42により判定される上述したブロックの形状に応じて、画像内の各ブロックに予測単位を配置する予測単位配置手段を含む。そして、動きベクトル設定部43は、例えば、ブロックの形状に応じて配置した予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルを設定する。
 より具体的には、例えば、動きベクトル設定部43は、まず、深さがゼロであるブロック(最大のブロック)に複数の予測モード(予測単位の配置パターン)で予測単位を配置し、予測単位ごとの動きベクトルを決定する。また、動きベクトル設定部43は、深さが1であるブロックに複数の予測モードで予測単位を配置し、予測単位ごとの動きベクトルを決定する。同様に、動きベクトル設定部43は、最小のブロックのサイズに至るまでの各深さについて、対応するブロックに複数の予測モードで予測単位を配置し、予測単位ごとの動きベクトルを決定する。その結果、深さと予測モードとの組合せにそれぞれ対応する、複数の動きベクトルのセットが決定される。なお、予測単位ごとの動きベクトルの決定に際しては、予測単位内の原画像の画素値、及びフレームメモリ25から入力される参照画像の画素値が使用される。次に、動きベクトル設定部43は、所定のコスト関数を用いて、コスト関数値が最小となる深さと予測モードとの最適な組合せを選択する。そして、動きベクトル設定部43は、選択した組合せに係るブロックサイズを指定するサイズ指定情報(深さに相当する情報)、予測モード情報、動きベクトル情報、参照画像情報、及びコスト関数値を、動き補償部44へ出力する。
 ここで、本実施形態において、上述したように、各ブロックは、当該ブロックのサイズに応じて正方形又は長方形のいずれかの形状を有する。そのため、動きベクトル設定部43における正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる。かかる予測単位の配置の候補については、後にさらに説明する。
 動き補償部44は、動きベクトル設定部43により設定された最適な動きベクトル、及びフレームメモリ25から入力される参照画像データ(フィルタリング後の復号画像データ)を用いて、予測画像データを生成する。そして、動き補償部44は、生成した予測画像データ、並びに、サイズ指定情報、予測モード情報、動きベクトル情報及び参照画像情報などのインター予測に関する情報を、モード選択部50へ出力する。
 <2.形状判定情報の例>
 次に、図3~図21を用いて、形状判定情報の典型的な3つの実施例について説明する。
  [2-1.第1の実施例]
  (データの説明)
 図3は、形状判定情報の第1の実施例について説明するための説明図である。図3を参照すると、第1の実施例において情報保持部41により保持され得る定義情報41aが示されている。定義情報41aは、最大サイズ情報「high_layer」、最小サイズ情報「low_layer」及び形状判定情報「high_square_layer」を含む。なお、ここに示す個々のパラメータ名は一例に過ぎず、他のパラメータ名もまた使用され得る。
 最大サイズ情報「high_layer」は、画像内に設定可能な最大のブロックのサイズを表す。最大サイズ情報の値は、例えば、64、32、16、8又は4である。最小サイズ情報「low_layer」は、画像内に設定可能な最小のブロックのサイズを表す。最小サイズ情報の値は、例えば、64、32、16、8又は4である。これら最大サイズ情報及び最小サイズ情報は、例えばH264/AVCにおいても利用可能な情報である。
 本実施例に係る形状判定情報である「high_square_layer」は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値を表す。「high_square_layer」は、「high_layer」及び「low_layer」により規定される範囲内のブロックサイズの値(図3の例では、64、32、16、8又は4)をとり得る。境界値「high_square_layer」は、ブロックサイズがその値を超える場合には当該ブロックが非正方形であり、ブロックサイズがその値以下である場合には当該ブロックが正方形であることを意味する。従って、「high_square_layer」=「high_layer」である場合には、全ての深さ(全てのサイズ)のブロックは正方形である。一方、「high_square_layer」<「low_layer」である場合には、全ての深さ(全てのサイズ)のブロックは非正方形である。
 本実施例において、非正方形のブロックの形状は、固定的な長辺と短辺との比率を有する長方形である。以下の説明では、長辺と短辺との比率が2対1である場合について説明する。しかしながら、かかる例に限定されず、非正方形のブロックの長辺と短辺との比率として他の比率が用いられてもよい。
 なお、「high_layer」、「low_layer」及び「high_square_layer」のサイズ値は、例えば、図3の下部のテーブルに示した各ブロックサイズに対応する。即ち、サイズ値(N)が64である場合、正方形のブロックのサイズは128×128画素、長方形のブロックのサイズは128×64画素である。サイズ値(N)が32である場合、正方形のブロックのサイズは64×64画素、長方形のブロックのサイズは64×32画素である。サイズ値(N)が16である場合、正方形のブロックのサイズは32×32画素、長方形のブロックのサイズは32×16画素である。サイズ値(N)が8である場合、正方形のブロックのサイズは16×16画素、長方形のブロックのサイズは16×8画素である。サイズ値(N)が4である場合、正方形のブロックのサイズは8×8画素であり、長方形のブロックは存在しない。但し、このようなサイズ値の定義は一例に過ぎず、他のサイズ値の定義が用いられてもよい。
 定義情報41aについてのセマンティクスを以下に示す。なお、以下のセマンティクスにおいて、「HighSQsize」及び「LowSQsize」は、形状が正方形であるブロックのサイズの上限及び下限をそれぞれ示す変数である。また、「HighNSsize」及び「LowNSsize」は、形状が非正方形であるブロックのサイズの上限及び下限をそれぞれ示す変数である:
Figure JPOXMLDOC01-appb-M000001
  (符号化ブロックの階層構造)
 図4は、第1の実施例により定義され得る符号化ブロックの階層構造の第1の例を示す説明図である。図4の例において、定義情報41aは、「high_layer」=64、「low_layer」=4、「high_square_layer」=64を示す。この場合、「high_square_layer」=「high_layer」であるため、全ての深さ(全てのサイズ)のブロックは正方形である。即ち、図4に示しているように、深さがゼロである最大サイズ(128×128)のブロック、深さが1である2番目のサイズ(64×64)のブロック、及び深さが4である最小サイズ(8×8)のブロックは、全て正方形である。
 図5は、第1の実施例により定義され得る符号化ブロックの階層構造の第2の例を示す説明図である。図5の例において、定義情報41aは、「high_layer」=64、「low_layer」=8、「high_square_layer」=-1を示す。この場合、「high_square_layer」<「low_layer」であるため、全ての深さ(全てのサイズ)のブロックは非正方形である。即ち、図5に示しているように、深さ(分割回数)がゼロである最大サイズ(128×64)のブロック、深さが1である2番目のサイズ(64×32)のブロック、及び深さが3である最小サイズ(16×8)のブロックは、全て非正方形である。
 図6は、第1の実施例により定義され得る符号化ブロックの階層構造の第3の例を示す説明図である。図6の例において、定義情報41aは、「high_layer」=32、「low_layer」=4、「high_square_layer」=8を示す。この場合、ブロックサイズに応じて、非正方形のブロックと正方形のブロックの双方が設定され得る。即ち、図6に示しているように、深さがゼロである最大サイズ(64×32)のブロック及び深さが1である2番目のサイズ(32×16)のブロックは非正方形である。また、深さが2である3番目のサイズ(16×16)のブロック及び深さが3である最小サイズ(8×8)のブロックは正方形である。
 なお、図4~図6から理解されるように、ブロックの形状を変えずにブロックを分割する場合(例えば、分割前後のブロックの形状が共に長方形又は共に正方形である場合)には、ブロックは、例えば縦方向及び横方向の中央の線を区切りとして4つに分割され得る。一方、「high_square_layer」により表される境界値をまたいで長方形のブロックが正方形のブロックへと分割される場合には、ブロックは、例えば縦方向の線を区切りとして2つ(長辺と短辺との比率が4対1である場合には4つ)に分割され得る。
  (予測単位:正方形ブロック)
 図7は、2N×2Nの形状を有するブロック、即ち正方形のブロックにおける予測単位の配置について説明するための説明図である。図7を参照すると、Mode0からMode8までの9種類の予測モードが例示されている。
 このうち、Mode0は、スキップトマクロブロックモード又はダイレクトモードが使用される場合に選択される特殊な予測モードである。Mode0においては、2N×2Nのサイズの1つの予測単位がブロック内に配置される。Mode1は、2N×2Nのサイズの1つの予測単位をブロック内に配置する予測モードである。Mode2は、2N×Nのサイズの2つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Mode3は、N×2Nのサイズの2つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode4は、N×Nのサイズの4つの予測単位をブロック内に縦方向及び横方向に2つずつ並べて配置する予測モードである。これらMode0~Mode4は、H264/AVCにおいて採用されている予測モードである。
 Mode5は、2N×nU(N/2、3N/2)のサイズの2つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Mode6は、Mode5の予測単位の配置を上下反転させた予測モードである。Mode7は、nL(N/2、3N/2)×2Nのサイズの2つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode8は、Mode7の予測単位の配置を左右反転させた予測モードである。これらMode5~Mode8もまた、正方形のブロックについての予測モードの候補として使用されてよい。
  (予測単位:2対1長方形ブロック)
 図8は、長辺と短辺との比率が2対1である長方形の形状を有するブロックにおける予測単位の配置について説明するための説明図である。図8を参照すると、Mode0からMode8までの9種類の予測モードが例示されている。また、Mode9として、パーティションモードが示されている。
 このうち、Mode0は、スキップトマクロブロックモード又はダイレクトモードが使用される場合に選択される特殊な予測モードである。Mode0においては、2N×Nのサイズの1つの予測単位がブロック内に配置される。Mode1は、2N×Nのサイズの1つの予測単位をブロック内に配置する予測モードである。Mode2は、2N×N/2のサイズの2つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Mode3は、N×Nのサイズの2つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode4は、N×N/2のサイズの4つの予測単位をブロック内に縦方向及び横方向に2つずつ並べて配置する予測モードである。Mode5は、N/2×N及び3N/2×Nのサイズの2つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode6は、Mode5の予測単位の配置を左右反転させた予測モードである。Mode7及びMode8は、ブロックの対角線により区切られる三角形の2つの予測単位をブロック内に配置する予測モードである。
 Mode9は、当該ブロックがさらに分割されることを示すパーティションモードである。ある深さのブロックにおける予測モードとしてパーティションモードが示された場合には、当該ブロックはより小さいブロックに分割される。従って、ある最大サイズのブロックについて指定されるパーティションモードの数は、その最大サイズのブロックからの分割回数を表す。これは、パーティションモードの数が、画像内に設定されたブロックのサイズを指定するサイズ指定情報としての役割を有することを意味する。なお、本明細書の説明では、サイズ指定情報と予測モード情報とを区別しているが、サイズ指定情報もまた予測モード情報の一部として扱われてもよい。なお、上述したように、ブロックの形状を変えずにブロックが分割される場合には、ブロックは、例えば縦方向及び横方向の中央の線を区切りとして4つに分割され得る。一方、「high_square_layer」により表される境界値をまたいで長方形のブロックが正方形のブロックへと分割される場合には、ブロックは、例えば縦方向の線を区切りとして分割され得る。
  (動きベクトルの探索範囲)
 図9は、形状判定情報の第1の実施例における動きベクトルの探索範囲について説明するための説明図である。
 図9を参照すると、「high_layer」=64、「low_layer」=4、「high_square_layer」=8である場合の、動きベクトルの探索範囲を表すツリー構造が示されている。ツリー構造の最上位の第1のレイヤは、128×64画素の最大サイズを有する非正方形ブロックに適用され得る、Mode0からMode8までの9つの予測モードを含む。また、第1のレイヤに続く第2のレイヤは、64×32画素のサイズを有する非正方形ブロックに適用され得る、Mode0からMode8までの9つの予測モードを含む。また、第2のレイヤに続く第3のレイヤは、32×16画素のサイズを有する非正方形ブロックに適用され得る、Mode0からMode8までの9つの予測モードを含む。第3のレイヤに続く第4のレイヤは、16×16画素のサイズを有する正方形ブロックに適用され得る、Mode0からModeMまでの予測モードを含む。第4のレイヤに続く第5のレイヤは、8×8画素の最小サイズを有する正方形ブロックに適用され得る、Mode0からModeMまでの予測モードを含む。
 図2に示した動き探索部40の動きベクトル設定部43は、例えば、形状判定部42により判定されるブロックサイズごとのブロックの形状に応じて、このようなツリー構造に含まれる第1のレイヤから第5のレイヤまでの全ての予測モードを対象として、動きベクトルを探索する。そして、動きベクトル設定部43は、探索範囲内でコスト関数値を最小にする予測モードを、符号化に使用すべき予測単位の配置を特定する予測モードとして選択する。かかる最適な予測モードは、図7又は図8に例示した予測モードの番号とレイヤの深さとにより一意に特定される。深さ(Depth)は、最大サイズのブロックからの分割回数を表し、分割後のブロックのサイズを指定する情報である。これら予測モードの番号及び深さは、予測モード情報及びサイズ指定情報として、例えば符号化ストリームのブロックヘッダ内に多重化される。また、最大サイズ情報及び形状判定情報は、例えば符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に多重化される。従って、符号化された画像を復号する装置は、これら多重化された情報を符号化ストリームから取得することにより、符号化時に使用されたブロックのサイズ、形状及び予測単位の配置を認識することができる。
  (変換単位:2対1長方形ブロック)
 図10は、2N×Nの形状を有するブロックにおける直交変換処理の単位である変換単位(TU)の配置について説明するための説明図である。
 図10を参照すると、タイプT0からT4までの5つの変換単位の配置のパターンが例示されている。このうち、タイプT0は、2N×Nのサイズの1つの変換単位を2N×Nの形状を有するブロック内に配置するパターンである。タイプT1は、N×Nのサイズの2つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプT2は、N×N/2のサイズの4つの変換単位をブロック内に縦方向及び横方向に2つずつ並べて配置するパターンである。タイプT3は、N/2×Nのサイズの4つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプT4は、N/2×N/2のサイズの8つの変換単位を縦方向に2つずつ及び横方向に4つずつ並べて配置するパターンである。直交変換部14は、例えば、これら5つのタイプのいずれかの変換単位ごとに直交変換を実行し、変換係数データを出力する。
 表1は、図8に例示した予測単位(PU)と図10に例示した変換単位(TU)とのマッピングを示している。表1における「○」は、左端の列の予測単位が選択された場合に、対応する各変換単位を使用し得ることを示している。「×」は、左端の列の予測単位が選択された場合に、対応する各変換単位を使用し得ないことを示している。
Figure JPOXMLDOC01-appb-T000002
 なお、直交変換の単位は、一般的に最大で32×32画素の単位で実行され得る。従って、表1において「○」が付与されている場合であっても、ブロックサイズに応じて使用することのできない変換単位が存在する可能性があることに留意すべきである。
 図11は、2N×Nの形状を有する変換単位についての符号化ブロックパターン(Coded Block Pattern:CBP)の一例を示す説明図である。2N×Nの形状を有する変換単位で直交変換を行う場合、例えば、輝度信号(Y)から2N×Nの変換係数が生成されるのに対して、色差信号(Cb、Cr)からはそれぞれN×N/2の変換係数が生成される。この場合、符号化ビットパターンとして、例えば、輝度信号(Y)についての変換係数を4つのグループ(Y0、Y1、Y2及びY3)にグループ化し、各グループに4つのビット(b0、b1、b2及びb3)を割り当てる。また、色差信号(Cb、Cr)についての変換係数には、それぞれ1つのビット(b4及びb5)を割り当てる。このようにして、直流値以外の有意な変換係数が生成されたか否かを各ビットの値により示すことができる。
  (第1の実施例のまとめ)
 以上説明したような第1の実施例によれば、形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含む。そして、形状判定部42は、当該境界値よりも大きいサイズを有するブロックの形状は非正方形であり、当該境界値よりも小さいサイズを有するブロックの形状は正方形であると判定する。このようなブロック形状の段階的な定義を可能とすることにより、例えば、最大のマクロブロックが16×16画素の正方形であるH.264/AVC方式をサポートしながら、32×16画素、又は64×32画素及び32×16画素などのより大きいサイズを扱う方式をもカバーすることができる。
 また、サイズのより大きいこれらブロックの形状は長方形である。従って、画像処理に要するラインメモリのサイズを短辺のサイズと同等とすることにより、ブロックサイズの拡張に伴うラインメモリの冗長化が回避される。
 また、上述した最大サイズ情報及び最小サイズ情報はH.264/AVC方式などにおいて既に利用可能であり、第1の実施例において新たに定義すべき情報は形状判定情報である「high_square_layer」のみである。従って、このような新たなブロックサイズの枠組みの導入は容易であり、ヘッダ情報の増加を原因として圧縮率が低下する可能性も小さい。
  [2-2.第2の実施例]
  (データの説明)
 図12は、形状判定情報の第2の実施例について説明するための説明図である。図12を参照すると、第2の実施例において情報保持部41により保持され得る定義情報41bが示されている。定義情報41bは、最大サイズ情報「high_layer」、最小サイズ情報「low_layer」及び形状判定情報「width_to_height_ratio」を含む。
 本実施例に係る形状判定情報である「width_to_height_ratio」は、最大サイズのブロックの長辺と短辺との比率を表す。「width_to_height_ratio」の値は、例えば、1、2又は4などであってよい。「width_to_height_ratio」の値として1が指定された場合には、画像内に正方形のブロックのみが設定可能となる。一方、「width_to_height_ratio」の値として1以外の値が指定された場合には、最大サイズのブロックの形状は長方形となる。
 本実施例において、最大サイズのブロックの形状は正方形又は長方形であり、より小さいサイズのブロックの形状は正方形であるものとする。定義情報41bについてのセマンティクスを以下に示す:
Figure JPOXMLDOC01-appb-M000003
  (符号化ブロックの階層構造)
 図13は、第2の実施例により定義され得る符号化ブロックの階層構造の一例を示す説明図である。図13の例において、定義情報41bは、「high_layer」=16、「low_layer」=4、「width_to_height_ratio」=4を示す。この場合、ブロックサイズに応じて、非正方形のブロックと正方形のブロックの双方が設定され得る。即ち、図13に示しているように、深さがゼロである最大サイズ(64×16)のブロックは、長辺と短辺との比率が4(4対1)である長方形である。また、深さが1以上のサイズの各ブロックは正方形である。
  (予測単位:4対1長方形ブロック)
 図14は、長辺と短辺との比率が4対1である長方形の形状を有するブロックにおける予測単位の配置について説明するための説明図である。図14を参照すると、Mode0からMode8までの9種類の予測モードが例示されている。また、Mode9として、パーティションモードが示されている。
 このうち、Mode0は、スキップトマクロブロックモード又はダイレクトモードが使用される場合に選択される特殊な予測モードである。Mode0においては、4N×Nのサイズの1つの予測単位がブロック内に配置される。Mode1は、4N×Nのサイズの1つの予測単位をブロック内に配置する予測モードである。Mode2は、4N×N/2のサイズの2つの予測単位をブロック内に縦方向に並べて配置する予測モードである。Mode3は、2N×Nのサイズの2つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode4は、N×Nのサイズの4つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode5は、N×N及び3N×Nのサイズの2つの予測単位をブロック内に横方向に並べて配置する予測モードである。Mode6は、Mode5の予測単位の配置を左右反転させた予測モードである。Mode7及びMode8は、ブロックの対角線により区切られる三角形の2つの予測単位をブロック内に配置する予測モードである。
 Mode9は、当該ブロックがさらに分割されることを示すパーティションモードである。図13の例では、4対1の長方形ブロックは、例えば縦方向の4等分線を区切りとして4つの正方形ブロックに分割される。また、長方形ブロックが複数のレイヤにわたって設定可能である場合には、4対1の長方形ブロックは、例えば縦方向及び横方向の中央の線を区切りとして4つに分割され得る。
 本実施例においても、動き探索部40の動きベクトル設定部43は、例えば図13に例示したような階層構造に含まれる全てのレイヤの全ての予測モードを対象として、動きベクトルを探索し得る。
  (変換単位:4対1長方形ブロック)
 図15は、4N×Nの形状を有するブロックにおける直交変換処理の単位である変換単位(TU)の配置について説明するための説明図である。
 図15を参照すると、タイプT0からT4までの5つの変換単位の配置のパターンが例示されている。このうち、タイプT0は、4N×Nのサイズの1つの変換単位を4N×Nの形状を有するブロック内に配置するパターンである。タイプT1は、2N×Nのサイズの2つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプT2は、2N×N/2のサイズの4つの変換単位をブロック内に縦方向及び横方向に2つずつ並べて配置するパターンである。タイプT3は、N×Nのサイズの4つの変換単位をブロック内に横方向に並べて配置するパターンである。タイプT4は、N×N/2のサイズの8つの変換単位を縦方向に2つずつ及び横方向に4つずつ並べて配置するパターンである。直交変換部14は、例えば、これら5つのタイプのいずれかの変換単位ごとに直交変換を実行し、変換係数データを出力する。
 表2は、図14に例示した予測単位(PU)と図15に例示した変換単位(TU)とのマッピングを示している。
Figure JPOXMLDOC01-appb-T000004
 なお、2対1長方形ブロックの場合と同様、表2において「○」が付与されている場合であっても、ブロックサイズに応じて使用することのできない変換単位が存在する可能性があることに留意すべきである。
 図16は、4N×Nの形状を有する変換単位についての符号化ブロックパターン(CBP)の一例を示す説明図である。4N×Nの形状を有する変換単位で直交変換を行う場合、例えば、輝度信号(Y)から4N×Nの変換係数が生成されるのに対して、色差信号(Cb、Cr)からはそれぞれ2N×N/2の変換係数が生成される。この場合、符号化ビットパターンとして、例えば、輝度信号(Y)についての変換係数を4つのグループ(Y0、Y1、Y2及びY3)にグループ化し、各グループに4つのビット(b0、b1、b2及びb3)を割り当てる。また、色差信号(Cb、Cr)についての変換係数には、それぞれ1つのビット(b4及びb5)を割り当てる。このようにして、直流値以外の有意な変換係数が生成されたか否かを各ビットの値により示すことができる。
  (第2の実施例のまとめ)
 以上説明したような第2の実施例によれば、画像内の各ブロックの形状は正方形又は長方形であり、形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含む。そして、最大サイズを有するブロックの形状は、上記比率情報から判定され得る。このようなブロック形状の段階的な定義を可能とすることにより、例えば、最大のマクロブロックが16×16画素の正方形であるH.264/AVC方式をサポートしながら、32×16画素、又は64×16画素など、よりサイズの大きい様々な形状のブロックを扱うことができる。
 また、第2の実施例によれば、長方形のブロックについての長辺と短辺との比率をユーザが指定することが可能であるため、ラインメモリのサイズ、圧縮率及び画質についてのユーザの多様なニーズに柔軟に応えることができる。
 また、第2の実施例においても、新たに定義すべき情報は形状判定情報である「width_to_height_ratio」のみである。従って、このような新たなブロックサイズの枠組みの導入は容易であり、ヘッダ情報の増加を原因とする圧縮率の低下も回避され得る。
 なお、形状判定情報として第1の実施例に係る「high_square_layer」及び第2の実施例に係る「width_to_height_ratio」の双方が使用されてもよい。その場合には、例えば、長方形のブロックのレイヤ数とその長方形のブロックの形状とをユーザが柔軟に指定することができる。
  [2-3.第3の実施例]
  (データの説明)
 図17は、形状判定情報の第3の実施例について説明するための説明図である。図17を参照すると、第3の実施例において情報保持部41により保持され得る定義情報41cが示されている。定義情報41cは、最大サイズ情報「max_high_level」に加えて、形状判定情報として「number_of_layers」、「width_to_height_ratio[]」及び「low_level[]」という3つのデータ項目を含む。
 最大サイズ情報「max_high_level」は、画像内に設定可能な最大のブロックのサイズを表す。最大サイズ情報の値は、例えば、128、64、32、16又は8である。
 「number_of_layers」は、符号化ブロックの階層構造に含まれる長辺と短辺との比率が異なるレイヤの数を表す。例えば、符号化ブロックの階層構造において、全てのレイヤのブロックの形状が同一であれば、「number_of_layers」の値は1である。また、図13に例示した階層構造のように、長辺と短辺との比率が4(4対1)であるレイヤ及び長辺と短辺との比率が1であるレイヤが存在する場合には、「number_of_layers」の値は2である。
 「width_to_height_ratio[]」は、ブロックの長辺と短辺との比率が互いに異なるレイヤごとの当該比率を表すデータ配列である。配列の要素数は、「number_of_layers」の値に等しい。例えば、図13に例示した階層構造のように、第1のレイヤにおける比率が4、第2のレイヤにおける比率が1である場合には、「width_to_height_ratio[]」の配列の内容は(4,1)、即ち、width_to_height_ratio[1]=4、width_to_height_ratio[2]=1である。
 「low_level[]」は、「width_to_height_ratio[]」により定義される各比率が適用される最小のブロックサイズを表すデータ配列である。配列の要素数は、「number_of_layers」の値に等しい。
 定義情報41cについてのセマンティクスを以下に示す。なお、以下のセマンティクスにおいて、High_level[k]及びlow_level[k]は、比率が互いに異なるk番目のレイヤ群のうちの、サイズの最も大きいレイヤのレベル及びサイズの最も小さいレイヤのレベルをそれぞれ示す変数である:
Figure JPOXMLDOC01-appb-M000005
  (符号化ブロックの階層構造)
 図18は、第3の実施例により定義され得る符号化ブロックの階層構造の第1の例を示す説明図である。図18の例において、定義情報41cは、「max_high_level」=16、「number_of_layers」=2、「width_to_height_ratio[]」=(2,1)、「low_level[]」=(16,8)を示す。この場合、ブロックサイズに応じて、比率の互いに異なる2つのレイヤ群が設定され得る。即ち、図18に示しているように、深さがゼロである最大サイズ(32×16)のブロックは、長辺と短辺との比率が2の長方形である。また、深さが1以上のサイズの各ブロックは正方形である。
 図19は、第3の実施例により定義され得る符号化ブロックの階層構造の第2の例を示す説明図である。図19の例において、定義情報41cは、「max_high_level」=16、「number_of_layers」=2、「width_to_height_ratio[]」=(4,1)、「low_level[]」=(16,8)を示す。この場合、ブロックサイズに応じて、比率の互いに異なる2つのレイヤ群が設定され得る。即ち、図19に示しているように、深さがゼロである最大サイズ(64×16)のブロックは、長辺と短辺との比率が4の長方形である。また、深さが1以上のサイズの各ブロックは正方形である。
 図20は、第3の実施例により定義され得る符号化ブロックの階層構造の第3の例を示す説明図である。図20の例において、定義情報41cは、「max_high_level」=32、「number_of_layers」=2、「width_to_height_ratio[]」=(4,1)、「low_level[]」=(16,8)を示す。この場合、ブロックサイズに応じて、比率の互いに異なる2つのレイヤ群が設定され得る。即ち、図20に示しているように、深さがゼロである最大サイズ(128×32)のブロック及び深さが1である2番目のサイズ(64×16)のブロックは、長辺と短辺との比率が4の長方形である。また、深さが2以上のサイズの各ブロックは正方形である。
 図21は、第3の実施例により定義され得る符号化ブロックの階層構造の第4の例を示す説明図である。図21の例において、定義情報41cは、「max_high_level」=16、「number_of_layers」=3、「width_to_height_ratio[]」=(4,2,1)、「low_level[]」=(16,16,8)を示す。この場合、ブロックサイズに応じて、比率の互いに異なる3つのレイヤ群が設定され得る。即ち、図21に示しているように、深さがゼロである最大サイズ(64×16)のブロックは、長辺と短辺との比率が4の長方形である。深さが1である2番目のサイズ(32×16)のブロックは、長辺と短辺との比率が2の長方形である。また、深さが2以上のサイズの各ブロックは正方形である。
 なお、図18~図21から理解されるように、ブロックの形状を変えずにブロックを分割する場合には、第1の実施例と同様、ブロックは、例えば縦方向及び横方向の中央の線を区切りとして4つに分割され得る。一方、あるレイヤ群から比率の異なる他のレイヤ群へ遷移するようにブロックが分割される場合には、ブロックは、例えば縦方向の線を区切りとして2つ又は4つに分割され得る。
 本実施例においても、動き探索部40の動きベクトル設定部43は、このような階層構造に含まれる全てのレイヤの全ての予測モードを対象として、動きベクトルを探索し得る。
  (第3の実施例のまとめ)
 以上説明したような第3の実施例によれば、画像内の各ブロックの形状は正方形又は長方形であり、形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報と、レイヤごとに上記比率を定義する情報とを含む。このようなブロック形状の段階的な定義を可能とすることにより、例えば、最大のマクロブロックが16×16画素の正方形であるH.264/AVC方式をサポートしながら、様々な長辺と短辺との比率を有する多様なサイズのブロックを扱うことができる。
 また、第3の実施例によれば、長方形のブロックについての長辺と短辺との比率を複数指定することが可能であるため、ラインメモリのサイズ、圧縮率及び画質などを考慮に入れた画像処理装置の設計に際しての柔軟性はさらに向上する。
 <3.一実施形態に係る符号化時の処理の流れ>
 次に、図22及び図23を用いて、符号化時の処理の流れを説明する。図22及び図23は、本実施形態に係る画像符号化装置10の動き探索部40による動き探索処理の流れの一例を示すフローチャートである。
 図22を参照すると、まず、形状判定部42は、情報保持部41から形状判定情報を取得する(ステップS102)。ここで取得される形状判定情報は、例えば、図3に例示した「high_square_layer」、図12に例示した「width_to_height_ratio」、又は図17に例示した「number_of_layers」、「width_to_height_ratio[]」及び「low_level[]」であってよい。さらに、形状判定部42は、情報保持部41から最大サイズ情報及び最小サイズ情報などの情報を取得する。
 次に、形状判定部42は、設定可能な最大のサイズを有するブロックを画像内に設定する(ステップS104)。
 次に、形状判定部42は、取得した形状判定情報と現在設定されているブロックのサイズとに応じて、当該ブロックの形状が正方形であるか否かを判定する(ステップS106)。例えば、図4に例示した定義情報41aが定義されており、当該ブロックのサイズが128×128画素(N=64)である場合には、当該ブロックの形状は正方形であると判定される。また、例えば、図6に例示した定義情報41aが定義されており、当該ブロックのサイズが64×32画素(N=32)である場合には、当該ブロックの形状は正方形ではないと判定される。当該ブロックの形状が正方形でないと判定されると、処理はステップS108へ進む。一方、当該ブロックの形状が正方形であると判定されると、処理はステップS112へ進む。
 ステップS108では、動きベクトル設定部43は、非正方形ブロックの各予測モードで当該ブロックに予測単位を配置し、配置した予測単位ごとに動きベクトルを決定する(ステップS108)。ここで使用される予測モードは、例えば、ブロックの形状が2対1の長方形である場合には図8に例示した9種類の予測モード、ブロックの形状が4対1の長方形である場合には図14に例示した9種類の予測モードであってよい。次に、動きベクトル設定部43は、各予測モードについてのコスト関数値を算出する(ステップS110)。なお、ステップS108において決定される動きベクトルは、当該ブロックの予測画素値の生成のために設定すべき予測単位の配置(即ち、最適な予測モード)を選択するための暫定的な動きベクトルである。
 ステップS112では、動きベクトル設定部43は、正方形ブロックの各予測モードで当該ブロックに予測単位を配置し、配置した予測単位ごとに動きベクトルを決定する(ステップS112)。ここで使用される予測モードは、例えば、図7に例示した9種類の予測モードであってよい。次に、動きベクトル設定部43は、各予測モードについてのコスト関数値を算出する(ステップS114)。なお、ステップS112において決定される動きベクトルもまた、最適な予測モードを選択するための暫定的な動きベクトルである。
 次に、動きベクトル設定部43は、当該ブロックのサイズが設定可能な最小のサイズであるか否かを判定する(ステップS116)。ここで、当該ブロックのサイズが最小のサイズでない場合には、処理はステップS118へ進む。一方、当該ブロックのサイズが最小のサイズである場合には、処理は図23のステップS120へ進む
 ステップS118では、動きベクトル設定部43は、当該ブロックをより小さいサイズの複数のブロックに分割する(ステップS118)。この場合、分割前のレイヤについての予測モードとして、パーティションモードが選択され得る。そして、分割後のブロックに対して上述したステップS106からステップS116までの処理が繰り替えされる。
 図23のステップS120では、動きベクトル設定部43は、各予測モードについて算出されたコスト関数値を比較し、コスト関数値の最も小さい最適な予測モードを選択する(ステップS120)。そして、動きベクトル設定部43は、選択した最適な予測モードを表す予測モード情報、サイズ指定情報(例えば、ブロックの分割回数を意味するパーティションモードの選択回数)、対応する動きベクトル情報及び参照画像情報を、動き補償部44へ出力する。
 次に、動き補償部44は、動きベクトル設定部43により選択された最適な予測モードによる予測画素値を生成する(ステップS122)。そして、動き補償部44は、生成した予測画素値を含む予測画像データをモード選択部50へ出力すると共に、予測モード情報、サイズ指定情報、動きベクトル情報及び参照画像情報を、インター予測に関する情報としてモード選択部50へ出力する(ステップS124)。
 <4.一実施形態に係る画像復号装置の構成例>
 本節では、図24及び図25を用いて、一実施形態に係る画像復号装置の構成例について説明する。
  [4-1.全体的な構成例]
 図24は、一実施形態に係る画像復号装置60の構成の一例を示すブロック図である。図24を参照すると、画像復号装置60は、蓄積バッファ61、可逆復号部62、逆量子化部63、逆直交変換部64、加算部65、デブロックフィルタ66、並べ替えバッファ67、D/A(Digital to Analogue)変換部68、フレームメモリ69、セレクタ70及び71、イントラ予測部80、並びに動き補償部90を備える。
 蓄積バッファ61は、伝送路を介して入力される符号化ストリームを記憶媒体を用いて一時的に蓄積する。
 可逆復号部62は、蓄積バッファ61から入力される符号化ストリームを、符号化時に使用された符号化方式に従って復号する。また、可逆復号部62は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、シーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内の形状判定情報を含み得る。また、符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部62は、イントラ予測に関する情報をイントラ予測部80へ出力する。また、可逆復号部62は、形状判定情報及びインター予測に関する情報を動き補償部90へ出力する。
 逆量子化部63は、可逆復号部62による復号後の量子化データを逆量子化する。逆直交変換部64は、符号化時に使用された直交変換方式に従い、逆量子化部63から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部64は、生成した予測誤差データを加算部65へ出力する。
 加算部65は、逆直交変換部64から入力される予測誤差データと、セレクタ71から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部65は、生成した復号画像データをデブロックフィルタ66及びフレームメモリ69へ出力する。
 デブロックフィルタ66は、加算部65から入力される復号画像データをフィルタリングすることによりブロック歪みを除去し、フィルタリング後の復号画像データを並べ替えバッファ67及びフレームメモリ69へ出力する。
 並べ替えバッファ67は、デブロックフィルタ66から入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ67は、生成した画像データをD/A変換部68へ出力する。
 D/A変換部68は、並べ替えバッファ67から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、D/A変換部68は、例えば、画像復号装置60と接続されるディスプレイ(図示せず)にアナログ画像信号を出力することにより、画像を表示させる。
 フレームメモリ69は、加算部65から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ66から入力されるフィルタリング後の復号画像データを記憶媒体を用いて記憶する。
 セレクタ70は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ69からの画像データの出力先をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ70は、イントラ予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部80へ出力する。また、セレクタ70は、インター予測モードが指定された場合には、フレームメモリ69から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部90へ出力する。
 セレクタ71は、可逆復号部62により取得されるモード情報に応じて、画像内のブロックごとに、加算部65へ供給すべき予測画像データの出力元をイントラ予測部80と動き補償部90との間で切り替える。例えば、セレクタ71は、イントラ予測モードが指定された場合には、イントラ予測部80から出力される予測画像データを加算部65へ供給する。セレクタ71は、インター予測モードが指定された場合には、動き補償部90から出力される予測画像データを加算部65へ供給する。
 イントラ予測部80は、可逆復号部62から入力されるイントラ予測に関する情報とフレームメモリ69からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部80は、生成した予測画像データをセレクタ71へ出力する。
 動き補償部90は、可逆復号部62から入力されるインター予測に関する情報とフレームメモリ69からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部90は、生成した予測画像データをセレクタ71へ出力する。
  [4-2.動き補償部の構成例]
 図25は、図24に示した画像復号装置60の動き補償部90の詳細な構成の一例を示すブロック図である。図25を参照すると、動き補償部90は、形状判定部91、予測単位判定部92及び予測部93を有する。
 形状判定部91は、可逆符号化部62から入力されるインター予測に関する情報に含まれる形状判定情報及びサイズ指定情報を用いて、画像の符号化時に画像内に設定された各ブロックの形状を判定する。形状判定部91により取得される形状判定情報は、例えば、上述した第1、第2又は第3の実施例において説明した情報であってよい。例えば、第1の実施例において、形状判定情報として「high_square_layer」=8が定義されており、サイズ指定情報により指定されるブロックのサイズが16である場合には、形状判定部91は、当該ブロックの形状は長辺と短辺との比率が2対1の長方形であると判定し得る。また、例えば、第2の実施例において、形状判定情報として「width_to_height_ratio」=4が定義されており、サイズ指定情報により指定されるブロックのサイズが最大サイズに等しい場合には、形状判定部91は、当該ブロックの形状は長辺と短辺との比率が4対1の長方形であると判定し得る。また、例えば、第3の実施例において、図21に例示したような形状判定情報が定義されており、サイズ指定情報により指定されるブロックのサイズが最小サイズに等しい場合には、形状判定部91は、当該ブロックの形状は正方形であると判定し得る。なお、上述したように、サイズ指定情報は、最大のブロックからのブロックの分割回数により表され得る。
 予測単位判定部92は、可逆符号化部62から入力される予測モード情報を用いて、各ブロックにおける予測単位の配置を判定する。ここで、図7、図8及び図14に例示したように、本実施形態において、正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる。また、長方形のブロックについての予測単位の配置の候補は、長方形の長辺と短辺との比率によっても異なる。そこで、予測単位判定部92は、形状判定部91により判定された各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定する。例えば、ブロックの形状が正方形であって、予測モード情報がMode2を示している場合には、予測単位の配置は図7のMode2(2N×N)であると判定され得る。また、例えば、ブロックの形状が2対1の長方形であって、予測モード情報がMode4を示している場合には、予測単位の配置は図8のMode4(N×N/2)であると判定され得る。また、例えば、ブロックの形状が4対1の長方形であって、予測モード情報がMode3を示している場合には、予測単位の配置は図14のMode3(2N×N)であると判定され得る。
 予測部93は、予測単位判定部92により判定された予測単位の配置、可逆符号化部62から入力される予測単位ごとの動きベクトル及び参照画像情報、並びにフレームメモリから入力される参照画像データを用いて、各ブロックについての予測画素値を生成する。そして、予測部93は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する。
 <5.一実施形態に係る復号時の処理の流れ>
 次に、図26を用いて、復号時の処理の流れを説明する。図26は、本実施形態に係る画像復号装置60の動き補償部90による動き補償処理の流れの一例を示すフローチャートである。
 図26を参照すると、まず、形状判定部91は、可逆復号部62から入力されるインター予測に関する情報に含まれる形状判定情報及びサイズ指定情報を取得する(ステップS202)。ここで取得される形状判定情報は、例えば、図3に例示した「high_square_layer」、図12に例示した「width_to_height_ratio」、又は図17に例示した「number_of_layers」、「width_to_height_ratio[]」及び「low_level[]」であってよい。
 次に、形状判定部91は、取得したサイズ指定情報を用いて、画像の符号化時に設定されたブロックのサイズを判定する(ステップS204)。サイズ指定情報は、例えば、最大のブロックからのブロックの分割回数を表すパーティションモードとして取得され得る。かかるパーティションモードは、予測モード情報の一部であってもよい。この場合には、最大のブロックサイズとブロックの分割回数とに基づいて、画像の符号化時に設定されたブロックのサイズを判定することができる。
 次に、形状判定部91は、取得した形状判定情報とブロックサイズとに応じて、画像の符号化時に設定されたブロックの形状が正方形であるか否かを判定する(ステップS206)。形状判定部91による形状の判定の例は、図22のステップ106に関連して上述した例と同様である。ここで、ブロックの形状が非正方形である場合には、処理はステップS208へ進む。一方、ブロックの形状が正方形である場合には、処理はステップS210へ進む。
 ステップS208では、予測単位判定部92は、可逆符号化部62から入力される予測モード情報が示す予測モードを非正方形ブロックの予測モードとして認識し、注目しているブロックについての予測単位の配置を判定する(ステップS208)。また、ステップS210では、予測単位判定部92は、可逆符号化部62から入力される予測モード情報が示す予測モードを正方形ブロックの予測モードとして認識し、注目しているブロックについての予測単位の配置を判定する(ステップS210)。
 次に、予測部93は、予測単位判定部92により判定された予測単位の配置に基づき、予測単位ごとの動きベクトル及び参照画像データを用いて、各ブロック内の画素についての予測画素値を生成する(ステップS212)。そして、予測部93は、生成した予測画素値を含む予測画像データをセレクタ71へ出力する(ステップS214)。
 <6.応用例>
 上述した実施形態に係る画像符号化装置10及び画像復号装置60は、衛星放送、ケーブルTVなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、4つの応用例について説明する。
  [6-1.第1の応用例]
 図27は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置900は、アンテナ901、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、表示部906、音声信号処理部907、スピーカ908、外部インタフェース909、制御部910、ユーザインタフェース911、及びバス912を備える。
 チューナ902は、アンテナ901を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ902は、復調により得られた符号化ビットストリームをデマルチプレクサ903へ出力する。即ち、チューナ902は、画像が符号化されている符号化ストリームと上述した形状判定情報とを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 デマルチプレクサ903は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ904へ出力する。また、デマルチプレクサ903は、符号化ビットストリームからEPG(Electronic Program Guide)などの補助的なデータを抽出し、抽出したデータを制御部910に供給する。なお、デマルチプレクサ903は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
 デコーダ904は、デマルチプレクサ903から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ904は、復号処理により生成される映像データを映像信号処理部905へ出力する。また、デコーダ904は、復号処理により生成される音声データを音声信号処理部907へ出力する。
 映像信号処理部905は、デコーダ904から入力される映像データを再生し、表示部906に映像を表示させる。また、映像信号処理部905は、ネットワークを介して供給されるアプリケーション画面を表示部906に表示させてもよい。また、映像信号処理部905は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部905は、例えばメニュー、ボタン又はカーソルなどのGUI(Graphical User Interface)の画像を生成し、生成した画像を出力画像に重畳してもよい。
 表示部906は、映像信号処理部905から供給される駆動信号により駆動され、表示デバイス(例えば、液晶ディスプレイ、プラズマディスプレイ又はOLEDなど)の映像面上に映像又は画像を表示する。
 音声信号処理部907は、デコーダ904から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ908から音声を出力させる。また、音声信号処理部907は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
 外部インタフェース909は、テレビジョン装置900と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース909を介して受信される映像ストリーム又は音声ストリームが、デコーダ904により復号されてもよい。即ち、外部インタフェース909もまた、画像が符号化されている符号化ストリームと上述した形状判定情報とを受信する、テレビジョン装置900における伝送手段としての役割を有する。
 制御部910は、CPU(Central Processing Unit)などのプロセッサ、並びにRAM(Random Access Memory)及びROM(Read Only Memory)などのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置900の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース911から入力される操作信号に応じて、テレビジョン装置900の動作を制御する。
 ユーザインタフェース911は、制御部910と接続される。ユーザインタフェース911は、例えば、ユーザがテレビジョン装置900を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース911は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部910へ出力する。
 バス912は、チューナ902、デマルチプレクサ903、デコーダ904、映像信号処理部905、音声信号処理部907、外部インタフェース909及び制御部910を相互に接続する。
 このように構成されたテレビジョン装置900において、デコーダ904は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、テレビジョン装置900において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
  [6-2.第2の応用例]
 図28は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機920は、アンテナ921、通信部922、音声コーデック923、スピーカ924、マイクロホン925、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、制御部931、操作部932、及びバス933を備える。
 アンテナ921は、通信部922に接続される。スピーカ924及びマイクロホン925は、音声コーデック923に接続される。操作部932は、制御部931に接続される。バス933は、通信部922、音声コーデック923、カメラ部926、画像処理部927、多重分離部928、記録再生部929、表示部930、及び制御部931を相互に接続する。
 携帯電話機920は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
 音声通話モードにおいて、マイクロホン925により生成されるアナログ音声信号は、音声コーデック923に供給される。音声コーデック923は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック923は、圧縮後の音声データを通信部922へ出力する。通信部922は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック923へ出力する。音声コーデック923は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 また、データ通信モードにおいて、例えば、制御部931は、操作部932を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部931は、文字を表示部930に表示させる。また、制御部931は、操作部932を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部922へ出力する。通信部922は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部922は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部931へ出力する。制御部931は、表示部930に電子メールの内容を表示させると共に、電子メールデータを記録再生部929の記憶媒体に記憶させる。
 記録再生部929は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、RAM又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
 また、撮影モードにおいて、例えば、カメラ部926は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部927へ出力する。画像処理部927は、カメラ部926から入力される画像データを符号化し、符号化ストリームを記録再生部929の記憶媒体に記憶させる。
 また、テレビ電話モードにおいて、例えば、多重分離部928は、画像処理部927により符号化された映像ストリームと、音声コーデック923から入力される音声ストリームとを多重化し、多重化したストリームを通信部922へ出力する。通信部922は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部922は、生成した送信信号をアンテナ921を介して基地局(図示せず)へ送信する。また、通信部922は、アンテナ921を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームと上述した形状判定情報とが含まれ得る。そして、通信部922は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部928へ出力する。多重分離部928は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部927、音声ストリームを音声コーデック923へ出力する。画像処理部927は、映像ストリームを復号し、映像データを生成する。映像データは、表示部930に供給され、表示部930により一連の画像が表示される。音声コーデック923は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック923は、生成した音声信号をスピーカ924に供給して音声を出力させる。
 このように構成された携帯電話機920において、画像処理部927は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、携帯電話機920において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
  [6-3.第3の応用例]
 図29は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置940は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置940は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置940は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置940は、音声データ及び映像データを復号する。
 記録再生装置940は、チューナ941、外部インタフェース942、エンコーダ943、HDD(Hard Disk Drive)944、ディスクドライブ945、セレクタ946、デコーダ947、OSD(On-Screen Display)948、制御部949、及びユーザインタフェース950を備える。
 チューナ941は、アンテナ(図示せず)を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ941は、復調により得られた符号化ビットストリームをセレクタ946へ出力する。即ち、チューナ941は、記録再生装置940における伝送手段としての役割を有する。
 外部インタフェース942は、記録再生装置940と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース942は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース942を介して受信される映像データ及び音声データは、エンコーダ943へ入力される。即ち、外部インタフェース942は、記録再生装置940における伝送手段としての役割を有する。
 エンコーダ943は、外部インタフェース942から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ943は、符号化ビットストリームをセレクタ946へ出力する。
 HDD944は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD944は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
 ディスクドライブ945は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ945に装着される記録媒体は、例えばDVDディスク(DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等)又はBlu-ray(登録商標)ディスクなどであってよい。
 セレクタ946は、映像及び音声の記録時には、チューナ941又はエンコーダ943から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD944又はディスクドライブ945へ出力する。また、セレクタ946は、映像及び音声の再生時には、HDD944又はディスクドライブ945から入力される符号化ビットストリームをデコーダ947へ出力する。
 デコーダ947は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ947は、生成した映像データをOSD948へ出力する。また、デコーダ904は、生成した音声データを外部のスピーカへ出力する。
 OSD948は、デコーダ947から入力される映像データを再生し、映像を表示する。また、OSD948は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
 制御部949は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置940の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース950から入力される操作信号に応じて、記録再生装置940の動作を制御する。
 ユーザインタフェース950は、制御部949と接続される。ユーザインタフェース950は、例えば、ユーザが記録再生装置940を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース950は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部949へ出力する。
 このように構成された記録再生装置940において、エンコーダ943は、上述した実施形態に係る画像符号化装置10の機能を有する。また、デコーダ947は、上述した実施形態に係る画像復号装置60の機能を有する。それにより、記録再生装置940において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
  [6-4.第4の応用例]
 図30は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置960は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
 撮像装置960は、光学ブロック961、撮像部962、信号処理部963、画像処理部964、表示部965、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、制御部970、ユーザインタフェース971、及びバス972を備える。
 光学ブロック961は、撮像部962に接続される。撮像部962は、信号処理部963に接続される。表示部965は、画像処理部964に接続される。ユーザインタフェース971は、制御部970に接続される。バス972は、画像処理部964、外部インタフェース966、メモリ967、メディアドライブ968、OSD969、及び制御部970を相互に接続する。
 光学ブロック961は、フォーカスレンズ及び絞り機構などを有する。光学ブロック961は、被写体の光学像を撮像部962の撮像面に結像させる。撮像部962は、CCD又はCMOSなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部962は、画像信号を信号処理部963へ出力する。
 信号処理部963は、撮像部962から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部963は、カメラ信号処理後の画像データを画像処理部964へ出力する。
 画像処理部964は、信号処理部963から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部964は、生成した符号化データを外部インタフェース966又はメディアドライブ968へ出力する。また、画像処理部964は、外部インタフェース966又はメディアドライブ968から入力される符号化データを復号し、画像データを生成する。そして、画像処理部964は、生成した画像データを表示部965へ出力する。また、画像処理部964は、信号処理部963から入力される画像データを表示部965へ出力して画像を表示させてもよい。また、画像処理部964は、OSD969から取得される表示用データを、表示部965へ出力する画像に重畳してもよい。
 OSD969は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部964へ出力する。
 外部インタフェース966は、例えばUSB入出力端子として構成される。外部インタフェース966は、例えば、画像の印刷時に、撮像装置960とプリンタとを接続する。また、外部インタフェース966には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置960にインストールされ得る。さらに、外部インタフェース966は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース966は、撮像装置960における伝送手段としての役割を有する。
 メディアドライブ968に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ968に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD(Solid State Drive)のような非可搬性の記憶部が構成されてもよい。
 制御部970は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置960の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース971から入力される操作信号に応じて、撮像装置960の動作を制御する。
 ユーザインタフェース971は、制御部970と接続される。ユーザインタフェース971は、例えば、ユーザが撮像装置960を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース971は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部970へ出力する。
 このように構成された撮像装置960において、画像処理部964は、上述した実施形態に係る画像符号化装置10及び画像復号装置60の機能を有する。それにより、撮像装置960において、ラインメモリの冗長化を抑制しながら、動き予測のためのブロックサイズの拡張による圧縮率の向上などの様々な効果を享受することができる。
 <7.まとめ>
 ここまで、図1~図30を用いて、一実施形態に係る画像符号化装置10及び画像復号装置60について説明した。本実施形態によれば、画像の符号化の際には、サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定されるブロックの形状が判定され、その形状に応じて配置される予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルが設定される。また、画像の復号の際には、上記形状判定情報とブロックサイズとを用いて、画像内の各ブロックの形状が判定され、その形状に応じた予測単位の配置と動きベクトルとに基づいて、各ブロックについての予測画像が生成される。従って、正方形以外の形状を有するブロックを、動き予測のために使用することが可能となる。それにより、例えば、圧縮率の向上のために動き予測のためのブロックサイズを拡張する場合にも、ラインメモリの冗長化を抑制することができる。
 また、本実施形態によれば、画像内に設定可能な最大のブロックの形状を非正方形とする共に、より小さいブロックの形状を正方形とすることができる。それにより、最大のブロックが正方形である既存の符号化方式との互換性を維持しながら、本明細書で提案した符号化方式を実現することができる。
 また、本実施形態によれば、形状判定情報は、ユーザにより入力可能である。そして、ユーザにより入力された形状判定情報は、符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダに多重化され、符号化側から復号側へ伝達される。それにより、本明細書で提案した符号化方式を採用するユーザが、ラインメモリのサイズ、圧縮率及び画質についての様々なニーズに応じて、ブロックの形状を柔軟に定義し、その定義を符号化側及び復号側の双方で利用することができる。
 また、本実施形態によれば、非正方形のブロックについても多様な予測モード(予測単位の配置の候補)が提供される。それにより、正方形以外の形状を有するブロックを使用する場合にも、画像の内容に応じて効果的に動き予測をすることができる。
 なお、本明細書では、符号化ストリームの例えばシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に形状判定情報が多重化され、符号化ストリームが符号化側から復号側へ伝送される例について主に説明した。しかしながら、形状判定情報を伝送する手法はかかる例に限定されない。例えば、形状判定情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像(スライス若しくはブロックなど、画像の一部であってもよい)と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、形状判定情報は、画像(又はビットストリーム)とは別の伝送路上で伝送されてもよい。また、形状判定情報は、画像(又はビットストリーム)とは別の記録媒体(又は同一の記録媒体の別の記録エリア)に記録されてもよい。さらに、形状判定情報と画像(又はビットストリーム)とは、例えば、複数フレーム、1フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 10   画像符号化装置(画像処理装置)
 16   符号化部
 42   形状判定部
 43   動きベクトル設定部
 60   画像復号装置(画像処理装置)
 62   復号部
 91   形状判定部
 92   予測単位判定部
 93   予測部

Claims (23)

  1.  サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定されるブロックの形状を判定する形状判定部と、
     前記形状判定部により判定される形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルを設定する動きベクトル設定部と、
     前記動きベクトル設定部により設定される動きベクトルを用いて、前記画像を符号化する符号化部と、
     を備える画像処理装置。
  2.  前記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含む、請求項1に記載の画像処理装置。
  3.  前記形状判定部は、前記境界値よりも大きいサイズを有するブロックの形状は非正方形であり、前記境界値よりも小さいサイズを有するブロックの形状は正方形であると判定する、請求項2に記載の画像処理装置。
  4.  画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形である、請求項3に記載の画像処理装置。
  5.  画像内の各ブロックの形状は、正方形又は長方形であり、
     前記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含む、
     請求項1に記載の画像処理装置。
  6.  前記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、
     前記比率情報は、前記レイヤごとに前記比率を定義する情報である、
     請求項5に記載の画像処理装置。
  7.  前記動きベクトル設定部は、画像内に設定した各ブロックのサイズを示す情報と当該ブロックにおける予測単位の配置のパターンを指定する予測モード情報とをブロックごとに出力する、請求項1に記載の画像処理装置。
  8.  画像内の各ブロックの形状は、正方形又は長方形であり、
     正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる、
     請求項1に記載の画像処理装置。
  9.  前記形状判定情報は、ユーザにより入力可能である、請求項1に記載の画像処理装置。
  10.  前記画像処理装置は、前記符号化部により生成される符号化ストリームと前記形状判定情報とを伝送する伝送手段、をさらに備える、請求項1に記載の画像処理装置。
  11.  前記符号化部は、前記符号化ストリームのシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダに前記形状判定情報を多重化する、請求項10に記載の画像処理装置。
  12.  画像を処理するための画像処理方法であって、
     サイズに応じたブロックの形状を判定するための形状判定情報を用いて、画像内に設定されるブロックの形状を判定することと、
     判定された形状に応じて、画像内の各ブロックに予測単位を配置し、配置した予測単位ごとに当該予測単位内の画像の予測に使用される動きベクトルを設定することと、
     設定された動きベクトルを用いて、前記画像を符号化することと、
     を含む画像処理方法。
  13.  サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定する形状判定部と、
     前記形状判定部により判定される各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定する予測単位判定部と、
     前記予測単位判定部により判定される予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画像を生成する予測部と、
     前記予測部により生成される予測画像を用いて、前記画像が符号化されている符号化ストリームを復号する復号部と、
     を備える画像処理装置。
  14.  前記形状判定情報は、正方形のブロックと非正方形のブロックとを区分するブロックのサイズの境界値に関する情報を含む、請求項13に記載の画像処理装置。
  15.  画像内の各ブロックの形状は、正方形又は固定的な長辺と短辺との比率を有する長方形である、請求項14に記載の画像処理装置。
  16.  画像内の各ブロックの形状は、正方形又は長方形であり、
     前記形状判定情報は、ブロックの長辺と短辺との比率を定義する比率情報を含む、
     請求項13に記載の画像処理装置。
  17.  前記形状判定情報は、ブロックの長辺と短辺との比率が互いに異なるレイヤの数を定義するレイヤ数情報を含み、
     前記比率情報は、前記レイヤごとに前記比率を定義する情報である、
     請求項16に記載の画像処理装置。
  18.  前記形状判定部は、前記符号化ストリームに多重化されたシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダから前記形状判定情報を取得する、請求項13に記載の画像処理装置。
  19.  前記形状判定部は、各ブロックのサイズを判定するための情報を前記符号化ストリームに含まれるブロックヘッダから取得する、請求項13に記載の画像処理装置。
  20.  画像内の各ブロックの形状は、正方形又は長方形であり、
     正方形のブロックについての予測単位の配置の候補と、長方形のブロックについての予測単位の配置の候補とは異なる、
     請求項13に記載の画像処理装置。
  21.  前記形状判定情報は、画像を符号化した装置においてユーザ入力に基づいて取得された情報である、請求項13に記載の画像処理装置。
  22.  前記画像処理装置は、前記符号化ストリームと前記形状判定情報とを受け取る受け取り手段、をさらに備える、請求項13に記載の画像処理装置。
  23.  画像を処理するための画像処理方法であって、
     サイズに応じたブロックの形状を判定するための形状判定情報と、画像の符号化時に当該画像内に設定されたブロックのサイズとを用いて、画像内の各ブロックの形状を判定することと、
     判定された各ブロックの形状に応じて、各ブロックにおける予測単位の配置を判定することと、
     判定された予測単位の配置、及び予測単位ごとに取得される動きベクトルを用いて、各ブロックについての予測画像を生成することと、
     生成された予測画像を用いて、前記画像が符号化されている符号化ストリームを復号することと、
     を含む画像処理方法。
PCT/JP2011/063906 2010-07-09 2011-06-17 画像処理装置及び画像処理方法 WO2012005099A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
RU2012157086/08A RU2012157086A (ru) 2010-07-09 2011-06-17 Устройство обработки изображений и способ обработки изображений
MX2013000064A MX2013000064A (es) 2010-07-09 2011-06-17 Dispositivo de proceso de imagenes y metodo de proceso de imagenes.
BR112013000103A BR112013000103A2 (pt) 2010-07-09 2011-06-17 dispositivo e método de processamento de imagem
US13/807,830 US20130156328A1 (en) 2010-07-09 2011-06-17 Image processing device and image processing method
KR20127033971A KR20130098187A (ko) 2010-07-09 2011-06-17 화상 처리 장치 및 화상 처리 방법
CN2011800330701A CN102972026A (zh) 2010-07-09 2011-06-17 图像处理装置和图像处理方法
EP11803435.4A EP2592834A1 (en) 2010-07-09 2011-06-17 Image processing device, and image processing method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-157328 2010-07-09
JP2010157328A JP2012019490A (ja) 2010-07-09 2010-07-09 画像処理装置及び画像処理方法

Publications (1)

Publication Number Publication Date
WO2012005099A1 true WO2012005099A1 (ja) 2012-01-12

Family

ID=45441085

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/063906 WO2012005099A1 (ja) 2010-07-09 2011-06-17 画像処理装置及び画像処理方法

Country Status (9)

Country Link
US (1) US20130156328A1 (ja)
EP (1) EP2592834A1 (ja)
JP (1) JP2012019490A (ja)
KR (1) KR20130098187A (ja)
CN (1) CN102972026A (ja)
BR (1) BR112013000103A2 (ja)
MX (1) MX2013000064A (ja)
RU (1) RU2012157086A (ja)
WO (1) WO2012005099A1 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012077332A1 (ja) * 2010-12-06 2012-06-14 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US10462472B2 (en) 2013-02-11 2019-10-29 Google Llc Motion vector dependent spatial transformation in video coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716641B (zh) * 2012-09-29 2018-11-09 浙江大学 预测图像生成方法和装置
JP6130648B2 (ja) * 2012-11-08 2017-05-17 日本放送協会 画像符号化装置及び画像符号化プログラム
WO2018141116A1 (zh) * 2017-02-06 2018-08-09 华为技术有限公司 编解码方法及装置
WO2019141012A1 (en) * 2018-01-18 2019-07-25 Mediatek Inc. Video processing methods and apparatuses for processing video data coded in large size coding units
CN111050184A (zh) * 2018-10-15 2020-04-21 华为技术有限公司 图像块的划分方法和装置
CN113170183B (zh) * 2018-11-22 2024-04-02 北京字节跳动网络技术有限公司 用于具有几何分割的帧间预测的修剪方法
CN113261290B (zh) 2018-12-28 2024-03-12 北京字节跳动网络技术有限公司 基于修改历史的运动预测
CN111083490B (zh) * 2019-01-02 2022-05-06 北京达佳互联信息技术有限公司 一种视频解码中运动补偿的方法及装置
WO2020143774A1 (en) * 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd based on geometry partition
WO2021056219A1 (zh) * 2019-09-24 2021-04-01 北京大学 视频编解码的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004008772A1 (ja) * 2002-07-15 2004-01-22 Mitsubishi Denki Kabushiki Kaisha 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170095B2 (en) * 1998-12-21 2012-05-01 Zin Stai Pte. In, Llc Faster image processing
JP2005031709A (ja) * 2001-06-08 2005-02-03 Naoto Morikawa 3次元形状の符号化方法及びそれを利用した造形器具
US20040012700A1 (en) * 2002-06-25 2004-01-22 Minolta Co., Ltd. Image processing device, image processing program, and digital camera
HUP0301368A3 (en) * 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
BRPI0413979A (pt) * 2003-08-26 2006-11-07 Thomson Licensing método e aparelho para minimizar o número de imagens de referência usadas para inter-codificação
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
EP2525575A4 (en) * 2010-01-12 2016-03-16 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING VIDEO SIGNALS

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004008772A1 (ja) * 2002-07-15 2004-01-22 Mitsubishi Denki Kabushiki Kaisha 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
WO2007034918A1 (ja) * 2005-09-26 2007-03-29 Mitsubishi Electric Corporation 動画像符号化装置及び動画像復号装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"STUDY GROUP16-CONTRIBUTION 123, ITU-Telecommunications Standardization Sector", January 2009, QUALCOMM INC, article "Video Coding Using Extended Blockl Sizes"
ANDREAS KRUTZ ET AL.: "Tool Experiment 4: Inter Prediction in HEVC", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A303, 1ST MEETING, April 2010 (2010-04-01), DRESDEN, DE, pages 1 - 8, XP008161481 *
JEONGYEON LIM ET AL.: "Description of video coding technology proposal by SK telecom, Sejong Univ. and Sungkyunkwan Univ.", JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-A113, April 2010 (2010-04-01), DRESDEN, DE, pages 1 - 8, XP008161479 *
SUNG-CHANG LIM; HAHYUN LEE; JINHO LEE; JONGHO KIM; HAECHUL CHOI; SEYOON JEONG; JIN SOO CHOI: "Intra coding using extended block size", ITU-TELECOMMUNICATIONS STANDARDIZATION SECTOR, 1 July 2009 (2009-07-01)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838723B2 (en) 2010-12-06 2017-12-05 Sun Patent Trust Image coding method and image coding device for partitioning an image into processing units and coding the partitioned image to generate a code sequence
JP5744060B2 (ja) * 2010-12-06 2015-07-01 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像符号化方法及び画像符号化装置
JP2015164347A (ja) * 2010-12-06 2015-09-10 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像復号方法及び画像復号装置
JP2016187219A (ja) * 2010-12-06 2016-10-27 サン パテント トラスト システム
US10659820B2 (en) 2010-12-06 2020-05-19 Sun Patent Trust Image coding method and image coding device for partitioning an image into processing units and coding the partitioned image to generate a code sequence
US10390051B2 (en) 2010-12-06 2019-08-20 Sun Patent Trust Image coding method and image coding device for partitioning an image into processing units and coding the partitioned image to generate a code sequence
WO2012077332A1 (ja) * 2010-12-06 2012-06-14 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
US10123054B2 (en) 2010-12-06 2018-11-06 Sun Patent Trust Image coding method and image coding device for partitioning an image into processing units and coding the partitioned image to generate a code sequence
US9894389B2 (en) 2010-12-06 2018-02-13 Sun Patent Trust Image coding method and image coding device for partitioning an image into processing units and coding the partitioned image to generate a code sequence
US10142628B1 (en) 2013-02-11 2018-11-27 Google Llc Hybrid transform in video codecs
US10462472B2 (en) 2013-02-11 2019-10-29 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression

Also Published As

Publication number Publication date
US20130156328A1 (en) 2013-06-20
BR112013000103A2 (pt) 2016-05-17
JP2012019490A (ja) 2012-01-26
RU2012157086A (ru) 2014-07-20
MX2013000064A (es) 2013-02-15
CN102972026A (zh) 2013-03-13
EP2592834A1 (en) 2013-05-15
KR20130098187A (ko) 2013-09-04

Similar Documents

Publication Publication Date Title
WO2012005099A1 (ja) 画像処理装置及び画像処理方法
AU2019203367B2 (en) Decoding device and decoding method, and encoding device and encoding method
JP6070870B2 (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
TWI519138B (zh) An image processing apparatus, an image processing method, a program, and a recording medium
JP6358475B2 (ja) 画像復号装置および方法、並びに、画像符号化装置および方法
WO2014002896A1 (ja) 符号化装置および符号化方法、復号装置および復号方法
WO2012153578A1 (ja) 画像処理装置及び画像処理方法
JP6287035B2 (ja) 復号装置および復号方法
US20140086501A1 (en) Image processing device and image processing method
WO2013164922A1 (ja) 画像処理装置及び画像処理方法
JP2019149835A (ja) 画像処理装置、画像処理方法、プログラム及び記録媒体
WO2015098561A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP2015076861A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP2015005899A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2013108688A1 (ja) 画像処理装置および方法
JP2013150164A (ja) 符号化装置および符号化方法、並びに、復号装置および復号方法
JP2013126157A (ja) 画像処理装置及び画像処理方法
JP2012028858A (ja) 画像処理装置及び画像処理方法
WO2014156708A1 (ja) 画像復号装置および方法
WO2012043166A1 (ja) 画像処理装置及び画像処理方法
WO2015053112A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
WO2015098559A1 (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法
JP6477930B2 (ja) 符号化装置および符号化方法
WO2014002900A1 (ja) 画像処理装置および画像処理方法
JP2015050738A (ja) 復号装置および復号方法、並びに、符号化装置および符号化方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180033070.1

Country of ref document: CN

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

Ref document number: 11803435

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011803435

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012157086

Country of ref document: RU

ENP Entry into the national phase

Ref document number: 20127033971

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: MX/A/2013/000064

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13807830

Country of ref document: US

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112013000103

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112013000103

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20130102