[go: up one dir, main page]

WO2011086964A1 - 画像処理装置および方法、並びにプログラム - Google Patents

画像処理装置および方法、並びにプログラム Download PDF

Info

Publication number
WO2011086964A1
WO2011086964A1 PCT/JP2011/050101 JP2011050101W WO2011086964A1 WO 2011086964 A1 WO2011086964 A1 WO 2011086964A1 JP 2011050101 W JP2011050101 W JP 2011050101W WO 2011086964 A1 WO2011086964 A1 WO 2011086964A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
prediction
unit
screen
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2011/050101
Other languages
English (en)
French (fr)
Inventor
健治 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to US13/520,384 priority Critical patent/US20130003842A1/en
Priority to CN2011800058435A priority patent/CN102742272A/zh
Publication of WO2011086964A1 publication Critical patent/WO2011086964A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction

Definitions

  • the present invention relates to an image processing apparatus, method, and program, and more particularly, to an image processing apparatus, method, and program capable of improving the prediction accuracy of a B picture, particularly near the edge of a screen.
  • H. H.264 and MPEG-4 Part 10 Advanced Video Coding, hereinafter referred to as H.264 / AVC.
  • inter prediction that focuses on the correlation between frames or fields is performed.
  • a prediction image by inter prediction (hereinafter, referred to as an inter prediction image) is generated using a part of an already stored referenceable image.
  • a part of the inter prediction image of the frame to be inter predicted (original frame) is It is configured with reference to a part of an image of any one reference frame (hereinafter referred to as a reference image). Note that the position of a part of the reference image that is a part of the inter predicted image is determined by a motion vector detected based on the reference frame and the original frame image.
  • the upper left direction opposite to the lower right direction is changed.
  • a motion vector to represent is detected.
  • the part 12 of the face 11 that is not hidden in the original frame is configured with reference to the part 13 of the face 11 in the reference frame at a position where the part 12 is moved by the motion represented by the motion vector. .
  • motion compensation can be performed with a block size of 16 ⁇ 16 pixels to 4 ⁇ 4 pixels.
  • the motion boundary can be formed in a macroblock (for example, 16 ⁇ 16 pixels)
  • the block size can be further divided according to the boundary, so that accurate motion compensation can be performed.
  • a virtual fractional position pixel called Sub ⁇ pel is set between adjacent pixels, and the Sub ⁇ ⁇ pel is generated (hereinafter referred to as interpolation). It is done in addition. That is, in the motion compensation process with fractional accuracy, the minimum resolution of the motion vector is the pixel at the fractional position, and therefore interpolation is performed to generate the pixel at the fractional position.
  • FIG. 4 shows each pixel of the image in which the number of pixels in the vertical direction and the horizontal direction is increased four times by interpolation.
  • a white square represents a pixel at an integer position (Integer (pel (Int. Pel)), and a hatched square represents a pixel at a fractional position (Sub pel).
  • the alphabet in a square represents the pixel value of the pixel which the square represents.
  • the pixel values b, h, j, a, d, f, and r of the pixels at the fractional positions generated by the interpolation are expressed by the following expression (1).
  • pixel values aa, bb, s, gg, and hh are the same as b, cc, dd, m, ee, and ff are the same as h, c is the same as a, and f, n, and q are the same as d.
  • e, p, and g can be obtained in the same manner as r.
  • Equation (1) is an equation adopted in the interpolation such as H.264 / AVC, and this equation differs depending on the standard, but the purpose of the equation is the same.
  • This expression can be realized by a finite impulse response (FIR (Finit-duration Impulse Response)) filter having an even number of taps.
  • FIR Finit-duration Impulse Response
  • a 6-tap interpolation filter is used.
  • the alternate long and short dash line represents the screen edge (image frame), and the area between the alternate long and short dash line and the outer solid line represents the area expanded by copying the screen edge. ing. That is, the reference picture is expanded by copying the screen edge.
  • bi-directional prediction can be used as shown in FIG.
  • the pictures are shown in the display order, and the encoded reference pictures are arranged before and after the display order of the encoding target pictures.
  • the picture to be encoded is a B picture, for example, as shown in the target prediction block of the picture to be encoded, two blocks of the preceding and following (bidirectional) reference pictures are referenced, and the motion vector of the L0 prediction in the forward direction And a backward L1 prediction motion vector.
  • L0 has a display time earlier than that of the target prediction block
  • L1 has a display time later than that of the target prediction block.
  • FIG. 7 is a diagram showing the relationship between the encoding mode, the reference picture, and the motion vector.
  • a reference picture indicates whether or not to use as a reference picture in the encoding mode
  • a motion vector indicates whether or not the encoding mode has motion vector information. .
  • Intra-screen coding mode is a mode that predicts within the screen (ie, intra), does not use an L0 reference picture or an L1 reference picture, and has no motion vector for L0 prediction and no motion vector information for L1 prediction. It is.
  • the L0 prediction mode is a coding mode that performs prediction using only the L0 reference picture and has motion vector information of L0 prediction.
  • the L1 prediction mode is a coding mode in which prediction is performed using only the L1 reference picture and motion vector information for L1 prediction is included.
  • the bi-prediction mode is a coding mode in which prediction is performed using L0 and L1 reference pictures and motion vector information of L0 and L1 predictions is included.
  • the direct mode is a coding mode in which prediction is performed using L0 and L1 reference pictures, but no motion vector information is provided. That is, the direct mode is a coding mode that has no motion vector information but uses the motion vector information of the current target prediction block by predicting it from the motion vector information of the coded block in the reference picture. Note that the direct mode may have only one of the L0 and L1 reference pictures.
  • both the L0 and L1 reference pictures may be used in the bi-prediction mode and the direct mode.
  • a prediction signal in bi-prediction mode or direct mode can be obtained by weighted prediction shown in the following equation (2).
  • Y Bi-Pred W 0 Y 0 + W 1 Y 1 + D (2)
  • Y Bi-Pred is a weighted interpolation signal with offset in bi-prediction mode or direct mode
  • W 0 and W 1 are weight coefficients to L0 and L1, respectively
  • Y 0 and Y 1 are It is a motion compensation prediction signal of L0 and L1.
  • W 0 , W 1 , and D are explicitly included in the bit stream information or implicitly obtained by calculation on the decoding side.
  • the coding degradation of the reference picture is uncorrelated between the two reference pictures L0 and L1
  • the coding degradation is suppressed by this weighted prediction.
  • the residual signal which is the difference between the prediction signal and the input signal is reduced, the bit amount of the residual signal is reduced, and the coding efficiency is improved.
  • Non-Patent Document 1 when the reference area includes the outside of the screen, there is a proposal to use only the other reference picture without using the reference picture. .
  • the macroblock size is 16 ⁇ 16 pixels.
  • the macroblock size of 16 ⁇ 16 pixels is not optimal for a large image frame such as UHD (Ultra High Definition: 4000 ⁇ 2000 pixels) that is the target of the next-generation encoding method.
  • Non-Patent Document 2 it is also proposed to expand the macroblock size to a size of 32 ⁇ 32 pixels, for example.
  • the reference areas of the L0 reference picture and the L1 reference picture are used.
  • the reference region of the L0 reference or the reference region of the L1 reference is outside the screen.
  • the L0 reference picture, the encoding target picture, and the L1 reference picture are shown in order of time.
  • an alternate long and short dash line represents the screen edge
  • an area between the solid line and the alternate long and short dash line represents an area expanded by copying the screen edge described above with reference to FIG.
  • the area surrounded by a broken line in each picture represents the L0 reference reference area in the L0 reference picture, the motion compensation area in the encoding target picture, and the L1 reference reference in the L1 reference picture. Represents an area. Among them, in particular, the reference region for L0 reference and the reference region for L1 reference are shown in the lower part of FIG.
  • the hatched diamond-shaped object P in the encoding target picture is moving from the upper left to the lower right.
  • a part of the object P exceeds the edge of the screen.
  • the reference area is outside the screen
  • the reference area of the L0 reference picture is not a rhombus because the pixel value at the end of the screen is copied.
  • the header information of the macroblock is increased, which may increase the overhead.
  • the header information of the macroblock is increased proportionately as overhead, so there is a concern that the method of dividing the block size may also reduce the coding efficiency.
  • direct mode since direct mode does not require motion vector information, it has the effect of reducing macroblock header information, particularly at low bit rates, contributing to improved coding efficiency.
  • the pixel values outside the screen are different from the actual values, and the difference between the predicted image and the source signal is large. Therefore, it is difficult to select the direct mode, and there is a concern that the encoding efficiency is lowered.
  • Non-Patent Document 1 in the direct mode, when the reference area includes outside the screen, by using only the other reference picture without using the reference picture, Proposals have been made to increase the choice of direct mode.
  • Non-Patent Document 1 only improvement of the direct mode is proposed, and bi-prediction is not mentioned.
  • the present invention has been made in view of such a situation, and can improve the prediction accuracy in the B picture, particularly near the edge of the screen.
  • a reference pixel of the block of the image is outside the screen in the plurality of reference images.
  • Motion prediction compensation means for performing weighted prediction according to whether or not.
  • the motion prediction / compensation unit When the reference destination of the block of the image is a pixel in the screen in the plurality of reference images, the motion prediction / compensation unit performs weighted prediction defined by a standard using the pixel, and the image When the reference destination of the block is a pixel outside the screen in one of the plurality of reference images and a pixel within the screen in the other reference image, the weighted prediction is performed using those pixels. It can be performed.
  • the weight of the weighted prediction is larger for the pixels in the screen than for the pixels outside the screen.
  • the weight of the weighted prediction is 0 or 1.
  • weight calculation means for calculating the weight of the weighted prediction based on discontinuity between pixels in the vicinity of the block of the image.
  • It may further comprise an encoding means for encoding the weight information calculated by the weight calculating means.
  • the apparatus further comprises decoding means for decoding weight information calculated and encoded by discontinuity between pixels in the vicinity of the block of the image, and the motion prediction / compensation means performs the weighted prediction,
  • the weight information decoded by the decoding means can be used.
  • the prediction using the plurality of different reference images is at least one of bi-prediction and direct mode prediction.
  • the motion prediction / compensation unit of the image processing apparatus uses a plurality of different reference images referred to by the processing target image, and the reference destination of the block of the image is the plurality of reference destinations.
  • the program determines whether a reference destination of the block of the image is outside the screen in the plurality of reference images.
  • the computer is caused to function as a motion prediction / compensation unit that performs the corresponding weighted prediction.
  • the above-described image processing apparatus may be an independent apparatus, or may be an internal block constituting one image encoding apparatus or image decoding apparatus.
  • the present invention it is possible to improve the prediction accuracy in the B picture, particularly near the edge of the screen. Thereby, encoding efficiency can be improved.
  • FIG. 9 shows a configuration of an embodiment of an image encoding apparatus as an image processing apparatus to which the present invention is applied.
  • This image encoding device 51 is, for example, H.264.
  • the input image is compressed and encoded based on the H.264 and MPEG-4 Part 10 (Advanced Video Coding) (hereinafter referred to as H.264 / AVC) system.
  • H.264 / AVC Advanced Video Coding
  • the image encoding device 51 includes an A / D conversion unit 61, a screen rearrangement buffer 62, a calculation unit 63, an orthogonal transformation unit 64, a quantization unit 65, a lossless encoding unit 66, a storage buffer 67, Inverse quantization unit 68, inverse orthogonal transform unit 69, operation unit 70, deblock filter 71, frame memory 72, intra prediction unit 73, motion prediction unit 74, motion compensation unit 75, predicted image selection unit 76, and rate control unit 77.
  • the A / D converter 61 A / D converts the input image, outputs it to the screen rearrangement buffer 62, and stores it.
  • the screen rearrangement buffer 62 rearranges the stored frame images in the display order in the order of frames for encoding in accordance with Gop (Group of Picture).
  • the calculation unit 63 subtracts the prediction image from the intra prediction unit 73 or the prediction image from the motion compensation unit 75 selected by the prediction image selection unit 76 from the image read from the screen rearrangement buffer 62, and the difference between them. Information is output to the orthogonal transform unit 64.
  • the orthogonal transform unit 64 subjects the difference information from the calculation unit 63 to orthogonal transform such as discrete cosine transform and Karhunen-Loeve transform, and outputs the transform coefficient.
  • the quantization unit 65 quantizes the transform coefficient output from the orthogonal transform unit 64.
  • the quantized transform coefficient that is the output of the quantization unit 65 is input to the lossless encoding unit 66, where lossless encoding such as variable length encoding and arithmetic encoding is performed and compressed.
  • the lossless encoding unit 66 acquires information indicating intra prediction from the intra prediction unit 73 and acquires information indicating inter prediction mode from the motion compensation unit 75. Note that the information indicating intra prediction and the information indicating inter prediction are also referred to as intra prediction mode information and inter prediction mode information, respectively.
  • the lossless encoding unit 66 encodes the quantized transform coefficient, encodes information indicating intra prediction, information indicating inter prediction mode, and the like, and uses it as a part of header information in the compressed image.
  • the lossless encoding unit 66 supplies the encoded data to the accumulation buffer 67 for accumulation.
  • lossless encoding processing such as variable length encoding or arithmetic encoding is performed.
  • variable length coding include H.264.
  • CAVLC Context-Adaptive Variable Length Coding
  • arithmetic coding include CABAC (Context-Adaptive Binary Arithmetic Coding).
  • the accumulation buffer 67 outputs the data supplied from the lossless encoding unit 66 as an encoded compressed image, for example, to a recording device or a transmission path (not shown) in the subsequent stage.
  • the quantized transform coefficient output from the quantization unit 65 is also input to the inverse quantization unit 68, and after inverse quantization, the inverse orthogonal transform unit 69 further performs inverse orthogonal transform.
  • the output subjected to the inverse orthogonal transform is added to the predicted image supplied from the predicted image selection unit 76 by the calculation unit 70 to be a locally decoded image.
  • the decoded image from the calculation unit 70 is output to the intra prediction unit 73 and the deblock filter 71 as a reference image of an image to be encoded.
  • the deblocking filter 71 removes block distortion from the decoded image, and then supplies the deblocking filter 71 to the frame memory 72 for accumulation.
  • the frame memory 72 outputs the accumulated reference image to the motion prediction unit 74 and the motion compensation unit 75.
  • an I picture, a B picture, and a P picture from the screen rearrangement buffer 62 are supplied to the intra prediction unit 73 as images for intra prediction (also referred to as intra processing).
  • the B picture and the P picture read from the screen rearrangement buffer 62 are supplied to the motion prediction unit 74 as images to be subjected to inter prediction (also referred to as inter processing).
  • the intra prediction unit 73 performs intra prediction processing of all candidate intra prediction modes based on the intra-predicted image read from the screen rearrangement buffer 62 and the reference image from the calculation unit 70, and obtains the predicted image. Generate.
  • the intra prediction unit 73 calculates cost function values for all candidate intra prediction modes, and selects an intra prediction mode in which the calculated cost function value gives the minimum value as the optimal intra prediction mode.
  • the intra prediction unit 73 supplies the predicted image generated in the optimal intra prediction mode and its cost function value to the predicted image selection unit 76.
  • the intra prediction unit 73 supplies information indicating the optimal intra prediction mode to the lossless encoding unit 66.
  • the lossless encoding unit 66 encodes this information and uses it as a part of header information in the compressed image.
  • the motion prediction unit 74 performs motion prediction of all candidate inter prediction modes based on the inter-processed image and the reference image from the frame memory 72, and generates a motion vector of each block.
  • the motion compensation unit 74 outputs the generated motion vector information to the motion compensation unit 75.
  • the motion prediction unit 74 when the predicted image of the target block in the optimal inter prediction mode is selected by the predicted image selection unit 76, the motion prediction unit 74 includes information indicating the optimal inter prediction mode (inter prediction mode information), motion vector information, and reference frame. Information or the like is output to the lossless encoding unit 66.
  • the motion compensation unit 75 performs an interpolation filter on the reference image from the frame memory 72.
  • the motion compensation unit 75 uses the motion vector from the motion prediction unit 74 or the motion vector obtained from the motion vectors of the surrounding blocks to compensate for all candidate inter prediction mode blocks in the filtered reference image. Processing is performed to generate a predicted image.
  • the motion compensation unit 75 selects the reference destination pixels of the target block as those A prediction image is generated by performing weighted prediction according to whether or not the reference image is outside the screen.
  • the weight of one reference image is reduced and the other reference is referred to A weighted prediction with a larger image weight is performed.
  • This weight may be calculated by the motion compensation unit 75, or a fixed value may be used. In addition, when it is calculated, it is supplied to the lossless encoding unit 66, added to the header of the compressed image, and transmitted to the decoding side.
  • the motion compensation unit 75 obtains the cost function value of the block to be processed for all candidate inter prediction modes, and determines the optimal inter prediction mode having the smallest cost function value.
  • the motion compensation unit 75 supplies the predicted image generated in the optimal inter prediction mode and its cost function value to the predicted image selection unit 76.
  • the predicted image selection unit 76 determines the optimal prediction mode from the optimal intra prediction mode and the optimal inter prediction mode based on each cost function value output from the intra prediction unit 73 or the motion compensation unit 75. Then, the predicted image selection unit 76 selects a predicted image in the determined optimal prediction mode and supplies the selected predicted image to the calculation units 63 and 70. At this time, the prediction image selection unit 76 supplies the selection information of the prediction image to the intra prediction unit 73 or the motion prediction unit 74 as indicated by the dotted line.
  • the rate control unit 77 controls the quantization operation rate of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
  • the motion compensation unit 75 in the bi-prediction or direct mode in which weighted prediction is performed using two reference pictures (images), if both reference pixels (pixels) of L0 and L1 are in the screen, H. 264 / AVC format weighted prediction is performed. On the other hand, when one reference pixel (pixel) of L0 or L1 is outside the screen and the other reference pixel is in the screen, prediction is performed using only the reference pixel in the screen.
  • the L0 reference picture, the encoding target picture, and the L1 reference picture are shown from the left in order of time.
  • an alternate long and short dash line represents the screen edge
  • an area between the solid line and the alternate long and short dash line represents an area expanded by copying the screen edge described above with reference to FIG.
  • an area surrounded by a broken line in each picture represents an L0 reference reference area in the L0 reference picture, represents a motion compensation area in the encoding target picture, and refers to an L1 reference in the L1 reference picture. Represents an area.
  • the reference region for L0 reference and the reference region for L1 reference are shown in the lower part of FIG.
  • the hatched diamond-shaped object P in the encoding target picture is moving from the upper left to the lower right.
  • a part of the object P exceeds the edge of the screen.
  • the motion compensator 75 in the reference area of the L0 reference picture, A predicted image is generated by weighted prediction of the H.264 / AVC method, and a predicted image using only the reference region of the L1 reference picture without using the reference region of the L0 reference picture outside the screen. Is generated. That is, in the L0 reference picture, as shown in the L0 reference area, the reference area is the outer dashed square, but only the area within the inner dashed square is actually used for prediction.
  • the weighted prediction with the weight of 0 for the reference area of the L0 reference picture and the weight of 1 for the reference area of the L1 reference picture is performed for the portion outside the screen.
  • the weights need not be 0 or 1, and the weight for the part outside the screen in one reference area is made smaller than the weight for the part in the screen in the other reference area. You can also.
  • the weight in this case may be fixed, or an optimum weight may be calculated.
  • FIG. 11 is a diagram illustrating a configuration example of the motion compensation unit.
  • the motion compensation unit 75 in FIG. 11 includes an interpolation filter 81, a compensation processing unit 82, a selection unit 83, a motion vector prediction unit 84, and a prediction mode determination unit 85.
  • the reference frame (reference image) information from the frame memory 72 is input to the interpolation filter 81.
  • the interpolation filter 81 interpolates between pixels of the reference frame, expands the image by a factor of 4 in the vertical and horizontal directions, and outputs the result to the compensation processing unit 82.
  • the compensation processing unit 82 includes an L0 region selection unit 91, an L1 region selection unit 92, a calculation unit 93, a screen edge determination unit 94, and a weight calculation unit 95. Note that the compensation processing unit 82 in the example of FIG. 11 shows an example of a B picture.
  • the enlarged reference frame information from the interpolation filter 81 is input to the L0 region selection unit 91, the L1 region selection unit 92, and the screen edge determination unit 94.
  • the L0 region selection unit 91 selects a corresponding L0 reference region from the expanded L0 reference frame information according to the prediction mode information and the L0 motion vector information from the selection unit 83, and outputs the selected L0 reference region to the calculation unit 93.
  • the output reference area information is output to the prediction mode determination unit 85 as L0 prediction information.
  • the L1 region selection unit 92 selects a corresponding L1 reference region from the expanded L1 reference frame information according to the prediction mode information and the L1 motion vector information from the selection unit 83, and outputs the selected L1 reference region to the calculation unit 93.
  • the output reference area information is output to the prediction mode determination unit 85 as L1 prediction information.
  • the calculation unit 93 includes a multiplier 93A, a multiplier 93B, and an adder 93C.
  • the multiplier 93A multiplies the L0 reference area information from the L0 area selection unit 91 by the L0 weight information from the screen edge determination unit 94, and outputs the result to the adder 93C.
  • the multiplier 93B multiplies the L1 reference area information from the L1 area selection unit 92 by the L1 weight information from the screen edge determination unit 94, and outputs the result to the adder 93C.
  • the adder 93C adds the L0 reference region and the L1 reference region that are weight-distributed by the L0 and L1 weight information, and outputs the result to the prediction mode determination unit 85 as weighted prediction information (Bi-pred prediction information).
  • the screen edge determination unit 94 is supplied with the enlarged reference frame information from the interpolation filter 81 and the motion vector information from the selection unit 83.
  • the weight calculation unit 95 calculates a weight coefficient used when only one of the L0 reference pixel and the L1 reference pixel is outside the screen according to the characteristics of the input image, and supplies the weight coefficient to the screen edge determination unit 94. .
  • the calculated weighting coefficient is also output to the lossless encoding unit 66 for sending to the decoding side.
  • the selection unit 83 selects one of the motion vector information searched for by the motion prediction unit 74 and the motion vector information obtained by the motion vector prediction unit 84 according to the prediction mode, and selects the selected motion vector information as This is supplied to the screen edge determination unit 94, the L0 region selection unit 91, and the L1 region selection unit 92.
  • the motion vector prediction unit 84 predicts a motion vector according to a mode in which the motion vector is not sent to the decoding side, such as the skip mode or the direct mode, and supplies the motion vector to the selection unit 83.
  • This motion vector prediction method is Similar to the H.264 / AVC system, the motion vector prediction unit 84 performs prediction based on the motion vector of the surrounding block and the motion vector of the co-located block (co-located block). Temporal prediction or the like is performed according to the mode.
  • the co-located block is a block of a picture (picture located before or after) different from the picture of the target block, and is a block at a position corresponding to the target block.
  • the motion vector information of surrounding blocks at the time of obtaining is obtained from the selection unit 83.
  • the weighting factor information supplied according to the determination result by the screen edge determination unit 94 and multiplied by the calculation unit 93 is multiplied by the other reference pixel when one of the reference pixels L0 and L1 is outside the screen. It is a weight. Its value ranges from 0.5 to 1, and becomes 1 when the weight multiplied by one pixel outside the screen is added.
  • the L0 weight coefficient information is W L0
  • the calculation in the calculation unit 93 in FIG. 11 is expressed by the following expression (3).
  • Y W L0 I L0 + (1-W L0 ) I L1 (3)
  • Y is a weighted prediction signal
  • I L0 is an L0 reference pixel
  • I L1 is an L1 reference pixel.
  • this weight coefficient can be calculated by the weight calculation unit 95.
  • the weight is calculated based on the strength of correlation between pixels.
  • the correlation between adjacent pixels in the screen is weak, that is, when there is a large gap between adjacent pixel values, the pixel value obtained by copying a pixel at the screen end is low in reliability, so the weight information W is set to 1.
  • the weight information W approaches 0.5.
  • the method of examining the strength of correlation between pixels is to calculate the average of the absolute values of differences between adjacent pixels within the screen, to calculate the degree of dispersion of pixel values, or to perform high frequency using Fourier transform, etc. There is a method to find out the size of the component.
  • the weight W may be fixed at 1 by not trusting the outside of the screen. In this case, it is not necessary to send the weight information to the decoding side, so it is not necessary to include it in the stream information.
  • the multiplier 93A, multiplier 93B, and adder 93C of the calculation unit 93 are not necessary, and can be replaced with a simpler selection circuit.
  • step S11 the A / D converter 61 A / D converts the input image.
  • step S12 the screen rearrangement buffer 62 stores the images supplied from the A / D conversion unit 61, and rearranges the pictures from the display order to the encoding order.
  • step S13 the calculation unit 63 calculates the difference between the image rearranged in step S12 and the predicted image.
  • the predicted image is supplied from the motion compensation unit 75 in the case of inter prediction and from the intra prediction unit 73 in the case of intra prediction to the calculation unit 63 via the predicted image selection unit 76, respectively.
  • ⁇ Difference data has a smaller data volume than the original image data. Therefore, the data amount can be compressed as compared with the case where the image is encoded as it is.
  • step S14 the orthogonal transformation unit 64 orthogonally transforms the difference information supplied from the calculation unit 63. Specifically, orthogonal transformation such as discrete cosine transformation and Karhunen-Loeve transformation is performed, and transformation coefficients are output.
  • step S15 the quantization unit 65 quantizes the transform coefficient. At the time of this quantization, the rate is controlled as described in the process of step S26 described later.
  • step S ⁇ b> 16 the inverse quantization unit 68 inversely quantizes the transform coefficient quantized by the quantization unit 65 with characteristics corresponding to the characteristics of the quantization unit 65.
  • step S ⁇ b> 17 the inverse orthogonal transform unit 69 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 68 with characteristics corresponding to the characteristics of the orthogonal transform unit 64.
  • step S18 the calculation unit 70 adds the predicted image input via the predicted image selection unit 76 to the locally decoded difference information, and outputs the locally decoded image (for input to the calculation unit 63). Corresponding image).
  • step S ⁇ b> 19 the deblock filter 71 filters the image output from the calculation unit 70. Thereby, block distortion is removed.
  • step S20 the frame memory 72 stores the filtered image.
  • the intra prediction unit 73 performs an intra prediction process. Specifically, the intra prediction unit 73 is a candidate based on the intra-predicted image read from the screen rearrangement buffer 62 and the image (unfiltered image) supplied from the calculation unit 70. Intra prediction processing in the intra prediction mode is performed to generate an intra predicted image.
  • the intra prediction unit 73 calculates cost function values for all candidate intra prediction modes.
  • the intra prediction unit 73 determines the intra prediction mode that gives the minimum value among the calculated cost function values as the optimal intra prediction mode. Then, the intra prediction unit 73 supplies the intra predicted image generated in the optimal intra prediction mode and its cost function value to the predicted image selection unit 76.
  • the processing target image supplied from the screen rearrangement buffer 62 is an image to be inter-processed
  • the referenced image is read from the frame memory 72, and the motion prediction unit 74 and the motion compensation unit 75 are connected via the switch 73. To be supplied.
  • step S22 the motion prediction unit 74 and the motion compensation unit 75 perform motion prediction / compensation processing. Specifically, the motion prediction unit 74 performs motion prediction on all candidate inter prediction mode blocks based on the inter-processed image and the reference image from the frame memory 72, and generates a motion vector for each block. To do. The motion compensation unit 74 outputs the generated motion vector information to the motion compensation unit 75.
  • the motion compensation unit 75 performs an interpolation filter on the reference image from the frame memory 72.
  • the motion compensation unit 75 uses the motion vector from the motion prediction unit 74 or the motion vector obtained from the motion vectors of the surrounding blocks to compensate for all candidate inter prediction mode blocks in the filtered reference image. Processing is performed to generate a predicted image.
  • the motion compensation unit 75 selects the reference destination pixels of the target block as those A prediction image is generated by performing weighted prediction according to whether or not the reference image is outside the screen. Note that the compensation processing in the case of the B picture will be described later with reference to FIG.
  • the motion compensation unit 75 obtains the cost function value of the block to be processed for all candidate inter prediction modes, and determines the optimal inter prediction mode having the smallest cost function value.
  • the motion compensation unit 75 supplies the predicted image generated in the optimal inter prediction mode and its cost function value to the predicted image selection unit 76.
  • step S23 the predicted image selection unit 76 selects one of the optimal intra prediction mode and the optimal inter prediction mode as the optimal prediction mode based on the cost function values output from the intra prediction unit 73 and the motion compensation unit 75. To decide. Then, the predicted image selection unit 76 selects a predicted image in the determined optimal prediction mode and supplies the selected predicted image to the calculation units 63 and 70. As described above, this predicted image is used for the calculations in steps S13 and S18.
  • the prediction image selection information is supplied to the intra prediction unit 73 or the motion prediction unit 74, as indicated by the dotted line in FIG.
  • the intra prediction unit 73 supplies information indicating the optimal intra prediction mode (that is, intra prediction mode information) to the lossless encoding unit 66.
  • the motion prediction unit 74 When the prediction image in the optimal inter prediction mode is selected, the motion prediction unit 74 outputs information indicating the optimal inter prediction mode, motion vector information, and reference frame information to the lossless encoding unit 66. In addition, when the weight is calculated in the motion compensation unit 75, the information that the inter prediction image is selected is also supplied to the motion compensation unit 75. Therefore, the motion compensation unit 75 performs lossless encoding on the calculated weight coefficient information. The data is output to the unit 66.
  • step S24 the lossless encoding unit 66 encodes the quantized transform coefficient output from the quantization unit 65. That is, the difference image is subjected to lossless encoding such as variable length encoding and arithmetic encoding, and is compressed.
  • lossless encoding such as variable length encoding and arithmetic encoding
  • the intra prediction mode information from the intra prediction unit 73, the optimal inter prediction mode from the motion compensation unit 75, each of the above-described information, etc., input to the lossless encoding unit 66 in step S23 described above is also encoded. And added to the header information.
  • information indicating the inter prediction mode is encoded for each macroblock.
  • Motion vector information and reference frame information are encoded for each target block.
  • the weight coefficient information may be for each frame or for each sequence (scene from the start to the end of imaging).
  • step S25 the accumulation buffer 67 accumulates the difference image as a compressed image.
  • the compressed image stored in the storage buffer 67 is appropriately read and transmitted to the decoding side via the transmission path.
  • step S26 the rate control unit 77 controls the quantization operation rate of the quantization unit 65 based on the compressed image stored in the storage buffer 67 so that overflow or underflow does not occur.
  • a typical determination method is based on a multi-pass encoding method, and a motion vector and a reference picture so as to minimize a cost (that is, a cost function value) using the following formula (4) or formula (5): And the prediction mode is determined.
  • SATD Sud of Absolute Transformed Difference
  • SSD Sud of Square Difference
  • GenBit Generated Bit
  • ⁇ Motion and ⁇ Mode are variables called Lagrange multipliers and are determined by the quantization parameter QP, the I / P picture, and the B picture.
  • This prediction mode selection process is a process that focuses on prediction mode selection in steps S21 to S23 of FIG.
  • step S31 the intra prediction unit 73 and the motion compensation unit 75 (prediction mode determination unit 85) calculate ⁇ from the quantization parameter QP and the picture type, respectively. Although the arrow is not shown, the quantization parameter QP is supplied from the quantization unit 65.
  • the intra prediction unit 73 determines the intra 4 ⁇ 4 mode so that the cost function value becomes small.
  • the intra 4 ⁇ 4 mode has nine types of prediction modes, and the one having the smallest cost function value is determined as the intra 4 ⁇ 4 mode.
  • the intra prediction unit 73 determines the intra 16 ⁇ 16 mode so that the cost function value becomes small.
  • the intra 16 ⁇ 16 mode has four types of prediction modes, and the one having the smallest cost function value is determined as the intra 16 ⁇ 16 mode.
  • the intra estimation part 73 determines a mode with a small cost function value among intra 4 * 4 mode and intra 16 * 16 as an optimal intra mode.
  • the intra prediction unit 73 supplies the predicted image obtained in the determined optimal intra mode and its cost function value to the predicted image selection unit 76.
  • steps S32 to S34 described above are processes corresponding to step S21 in FIG.
  • step S35 the motion prediction unit 74 and motion compensation unit 75 reduce the cost function value and the motion vector and reference picture for each of the following modes in the 8 ⁇ 8 macroblock subpartition shown in the lower part of FIG. To decide.
  • Each mode includes direct mode for 8x8, 8x4, 4x8, 4x4, and B pictures.
  • step S36 the motion prediction unit 74 and the motion compensation unit 75 determine whether or not the image being processed is a B picture. If it is determined that the image is a B picture, the process proceeds to step S37. In step S37, the motion prediction unit 74 and the motion compensation unit 75 determine the motion vector and the reference picture so that the cost function value becomes small for bi-prediction.
  • step S36 If it is determined in step S36 that the picture is not a B picture, step S37 is skipped, and the process proceeds to step S38.
  • step S38 the motion prediction unit 74 and the motion compensation unit 75 determine a motion vector and a reference picture for each of the following modes in the macroblock partition shown in the upper part of FIG.
  • Each mode includes 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, direct mode, and skip mode.
  • step S39 the motion prediction unit 74 and the motion compensation unit 75 determine whether or not the image being processed is a B picture. If it is determined that the image is a B picture, the process proceeds to step S40. In step S40, the motion prediction unit 74 and the motion compensation unit 75 determine the motion vector and the reference picture so that the cost function value becomes small for bi-prediction.
  • step S40 is skipped, and the process proceeds to step S41.
  • step S41 the motion compensation unit 75 (prediction mode determination unit 85) determines a mode having a small cost function value as the optimal inter mode from the above-described macroblock partition and sub-macroblock partition.
  • the prediction mode determination unit 85 supplies the prediction image obtained in the determined optimal inter mode and its cost function value to the prediction image selection unit 76.
  • steps S35 to S41 described above are processes corresponding to step S22 in FIG.
  • step S42 the predicted image selection unit 76 determines the mode with the smallest cost function value from among the optimal intra mode and the optimal inter mode.
  • the process of step S42 is a process corresponding to step S23 of FIG.
  • the motion vector, the reference picture (in the case of inter), and the prediction mode are determined.
  • FIG. 14 is a flowchart for explaining compensation processing in the case of a B picture. That is, FIG. 14 shows a process specialized for the B picture of the motion prediction / compensation process in step S22 of FIG. In the example of FIG. 14, for the sake of simplicity, a case will be described in which the weighting factor for the reference pixel outside the screen is 0 and the weighting factor for the reference pixel in the screen is 1.
  • step S51 the selection unit 83 determines whether the processing target mode is the direct mode or the bi-prediction. If it is determined in step S51 that the current mode is not the direct mode or bi-prediction, the process proceeds to step S52.
  • step S52 the compensation processing unit 82 performs prediction according to the mode (L0 prediction or L1 prediction) for the block.
  • the selection unit 83 sends prediction mode information and L0 motion vector information only to the L0 region selection unit 91.
  • the L0 region selection unit 91 selects a corresponding L0 reference region from the expanded L0 reference frame information according to the prediction mode information (indicating L0 prediction) information from the selection unit 83 and the L0 motion vector information, and performs prediction.
  • the data is output to the mode determination unit 85. The same applies to L1.
  • step S51 If it is determined in step S51 that the mode is the direct mode or bi-prediction, the process proceeds to step S53.
  • the prediction mode information and motion vector information from the selection unit 83 are supplied to the L0 region selection unit 91, the L1 region selection unit 92, and the screen edge determination unit 94.
  • the L0 region selection unit 91 responds from the expanded L0 reference frame information according to the prediction mode (indicating direct mode or bi-prediction) information from the selection unit 83 and the L0 motion vector information.
  • the L0 reference area to be selected is selected and output to the calculation unit 93.
  • the L1 region selection unit 92 selects a corresponding L1 reference region from the expanded L1 reference frame information according to the prediction mode information and L1 motion vector information from the selection unit 83, and outputs the selected L1 reference region to the calculation unit 93.
  • the screen edge determination unit 94 determines whether or not the reference pixel is outside the screen in the following steps S53 to S57 and S60.
  • the coordinates of the prediction pixel in the prediction block shown in FIG. 15 are referred to.
  • block_size_x represents the size of the prediction block in the x direction
  • block_size_y represents the size of the prediction block in the y direction.
  • i represents the x coordinate of the prediction pixel in the prediction block
  • j represents the y coordinate of the prediction pixel in the prediction block.
  • step S53 the screen edge determination unit 94 determines whether j whose value starts from 0 is smaller than block_size_y, and when it is determined that j is larger than block_size_y, the process ends. On the other hand, when it is determined in step S53 that j is smaller than block_size_y, that is, when j is 0 to 3, the process proceeds to step S54, and the subsequent processes are repeated.
  • step S54 the screen edge determination unit 94 determines whether i starting from 0 is smaller than block_size_x. If it is determined that i is larger than block_size_x, the process returns to step S53, and the subsequent processing Is repeated. If it is determined in step S54 that i is smaller than block_size_x, that is, if i is 0 to 3, the process proceeds to step S55, and the subsequent processes are repeated.
  • step S55 the screen edge determination unit 94 obtains a reference pixel using the L0 motion vector information mvL0x, mvL0y and the L1 motion vector information mvL1x, mvL1y. That is, the y coordinate yL0, x coordinate xL0 of the reference destination pixel of L0 and the y coordinate yL1, x coordinate xL1 of the reference destination pixel of L1 are obtained by the following equation (6).
  • step S56 the screen edge determination unit 94 determines whether the y coordinate yL0 of the reference pixel of L0 is smaller than 0, or greater than the height of the image frame (height: the size in the y direction of the screen), or It is determined whether the x coordinate xL0 of the reference destination pixel of L0 is less than 0 or greater than the width of the image frame (width: size in the x direction of the screen).
  • step S56 it is determined whether or not the following equation (7) is satisfied.
  • step S57 the screen edge determination unit 94 determines whether the y coordinate yL1 of the reference pixel of L1 is smaller than 0, or greater than the height of the image frame (height: the size in the y direction of the screen), or It is determined whether the x coordinate xL1 of the reference destination pixel of L1 is smaller than 0 or greater than the width of the image frame (width: size in the x direction of the screen).
  • step S57 it is determined whether or not the following equation (8) is satisfied.
  • step S57 If it is determined in step S57 that Expression (8) is satisfied, the process proceeds to step S58.
  • the screen edge determination unit 94 uses the weight coefficient information of the weighted prediction by the H.264 / AVC method for the pixel. Is supplied to the calculation unit 93.
  • the calculation unit 93 performs weighted prediction by the H.264 / AVC method for the pixel.
  • step S57 If it is determined in step S57 that Expression (8) is not satisfied, the process proceeds to step S59.
  • the screen edge determination unit 94 performs L0 weight coefficient information (0), The L1 weight coefficient information (1) is supplied to the calculation unit 93.
  • the calculation unit 93 performs prediction using only the L1 reference pixel for the pixel.
  • step S60 the screen edge determination unit 94 determines whether the y coordinate yL1 of the reference pixel of L1 is smaller than 0, or greater than the height of the image frame (height: the size in the y direction of the screen), or It is determined whether the x coordinate xL1 of the reference destination pixel of L1 is smaller than 0 or greater than the width of the image frame (width: size in the x direction of the screen).
  • step S60 it is determined whether or not the above equation (8) is satisfied. If it is determined in step S60 that Expression (8) is satisfied, the process proceeds to step S61.
  • the screen edge determination unit 94 performs L0 weight coefficient information (1)
  • the L1 weight coefficient information (0) is supplied to the calculation unit 93.
  • the calculation unit 93 performs prediction for the pixel using only the L0 reference pixel.
  • step S60 if it is determined in step S60 that Expression (8) is not satisfied, both pixels are pixels in the screen, and thus the process proceeds to step S58, and H.264 / AVC is performed for the pixel. Weighted prediction by the method is performed.
  • the weighted (Bi-pred) prediction information resulting from the weighted prediction performed by the calculation unit 93 in step S58, S59, or S61 is output to the prediction mode determination unit 85.
  • the weighted prediction is used in which the L0 reference pixel in the screen is weighted more than the L1 reference pixel outside the screen. Note that the example shown in FIG. 14 is an example in which the weighted coefficients are 0 and 1, so prediction using only the L0 reference pixel is used.
  • the reference block of the L0 reference picture indicated by the motion vector MV (L0) searched for in the current picture block is composed of an off-screen part (dashed line part) and an in-screen part (white line part).
  • the reference block of the L1 reference picture indicated by the motion vector MV (L1) searched in this block is composed of an in-screen part (white line part).
  • both reference blocks are used for weighted prediction of the block using the weighting factors w (L0) and w (L1), regardless of whether there is an off-screen part. It had been.
  • the off-screen portion in the L0 reference block is not used for the weighted prediction of the block using the weighting factors w (L0) and w (L1). . Only the pixels of the L1 reference block are used for the weighted prediction of the block only in the off-screen portion of the L0 reference block.
  • the prediction accuracy is improved over the weight prediction of the H.264 / AVC method.
  • the weight prediction is not limited to the example of FIG. 14 in which the weighting factors are set to 0 and 1. Even when the weighting factor for the outside of the screen is lower than the weighting factor of the in-screen portion, the weight prediction of the H.264 / AVC method As a result, the prediction accuracy is improved.
  • the encoded compressed image is transmitted via a predetermined transmission path and decoded by an image decoding device.
  • FIG. 18 shows the configuration of an embodiment of an image decoding apparatus as an image processing apparatus to which the present invention is applied.
  • the image decoding apparatus 101 includes a storage buffer 111, a lossless decoding unit 112, an inverse quantization unit 113, an inverse orthogonal transform unit 114, a calculation unit 115, a deblock filter 116, a screen rearrangement buffer 117, a D / A conversion unit 118, a frame A memory 119, an intra prediction unit 120, a motion compensation unit 121, and a switch 122 are included.
  • the accumulation buffer 111 accumulates the transmitted compressed image.
  • the lossless decoding unit 112 decodes the information supplied from the accumulation buffer 111 and encoded by the lossless encoding unit 66 in FIG. 9 by a method corresponding to the encoding method of the lossless encoding unit 66.
  • the inverse quantization unit 113 inversely quantizes the image decoded by the lossless decoding unit 112 by a method corresponding to the quantization method of the quantization unit 65 of FIG.
  • the inverse orthogonal transform unit 114 performs inverse orthogonal transform on the output of the inverse quantization unit 113 by a method corresponding to the orthogonal transform method of the orthogonal transform unit 64 in FIG.
  • the output subjected to the inverse orthogonal transform is added to the predicted image supplied from the switch 122 by the arithmetic unit 115 and decoded.
  • the deblocking filter 116 removes block distortion of the decoded image, and then supplies the frame to the frame memory 119 for storage and outputs it to the screen rearrangement buffer 117.
  • the screen rearrangement buffer 117 rearranges images. That is, the order of frames rearranged for the encoding order by the screen rearrangement buffer 62 in FIG. 9 is rearranged in the original display order.
  • the D / A conversion unit 118 performs D / A conversion on the image supplied from the screen rearrangement buffer 117, and outputs and displays the image on a display (not shown).
  • the image referred to from the frame memory 119 is supplied to the motion compensation unit 121.
  • the image before the deblocking filter from the calculation unit 115 is supplied to the intra prediction unit 120 as an image used for intra prediction.
  • the information indicating the intra prediction mode obtained by decoding the header information is supplied from the lossless decoding unit 112 to the intra prediction unit 120.
  • the intra prediction unit 120 generates a prediction image based on this information, and outputs the generated prediction image to the switch 122.
  • the motion compensation unit 121 is supplied with inter prediction mode information, motion vector information, reference frame information, and the like from the lossless decoding unit 112.
  • the inter prediction mode information is transmitted for each macroblock. Motion vector information and reference frame information are transmitted for each target block. If the weight coefficient is calculated by the image encoding device 51, the weight coefficient is also sent for each frame or each sequence.
  • the motion compensation unit 121 compensates the reference image using the supplied motion vector information or motion vector information obtained from surrounding blocks, and predicts each block. Generate an image.
  • the motion compensation unit 121 is the target in the B mode in the direct mode or the bi-prediction mode, that is, in the prediction mode using a plurality of different reference images.
  • a prediction image is generated by performing weighted prediction according to whether or not the reference pixel of the block to be used is outside the screen in those reference images. The generated predicted image is output to the calculation unit 115 via the switch 122.
  • the switch 122 selects the prediction image generated by the motion compensation unit 121 or the intra prediction unit 120 and supplies the selected prediction image to the calculation unit 115.
  • FIG. 19 is a block diagram illustrating a detailed configuration example of the motion compensation unit 121.
  • the motion compensation unit 121 includes an interpolation filter 131, a compensation processing unit 132, a selection unit 133, and a motion vector prediction unit 134.
  • the reference frame (reference image) information from the frame memory 119 is input to the interpolation filter 131.
  • the interpolation filter 131 interpolates between the pixels of the reference frame, enlarges the image by four times in the vertical and horizontal directions, and outputs the result to the compensation processing unit 132, similarly to the interpolation filter 81 in FIG.
  • the compensation processing unit 132 includes an L0 region selection unit 141, an L1 region selection unit 142, a calculation unit 143, and a screen edge determination unit 144. In addition, in the compensation processing unit 132 in the example of FIG. 19, an example in the case of a B picture is shown.
  • the enlarged reference frame information from the interpolation filter 131 is input to the L0 region selection unit 141, the L1 region selection unit 142, and the screen edge determination unit 144.
  • the L0 region selection unit 141 selects a corresponding L0 reference region from the expanded L0 reference frame information according to the prediction mode information and the L0 motion vector information from the selection unit 133, and outputs the selected L0 reference region to the calculation unit 143.
  • the output reference area information is output to the switch 122 as L0 prediction information.
  • the L1 region selection unit 142 selects a corresponding L1 reference region from the expanded L1 reference frame information according to the prediction mode information and L1 motion vector information from the selection unit 133, and outputs the selected L1 reference region to the calculation unit 143.
  • the output reference area information is output to the switch 122 as L1 prediction information.
  • the calculation unit 143 includes a multiplier 143A, a multiplier 143B, and an adder 143C, as in the calculation unit 93 of FIG.
  • the multiplier 143A multiplies the L0 reference region information from the L0 region selection unit 141 by the L0 weight information from the screen edge determination unit 144, and outputs the result to the adder 143C.
  • the multiplier 143B multiplies the L1 reference region information from the L1 region selection unit 142 by the L1 weight information from the screen edge determination unit 144, and outputs the result to the adder 143C.
  • the adder 143C adds the L0 reference area and the L1 reference area that are weight-distributed by the L0 and L1 weight information, and outputs the result to the switch 122 as weighted prediction information (Bi-pred prediction information).
  • the screen edge determination unit 144 is supplied with the inter prediction mode information from the lossless decoding unit 112, the enlarged reference frame information from the interpolation filter 131, and the motion vector information from the selection unit 133.
  • the weight coefficient is calculated by the weight calculation unit 95 in FIG. 11, the weight coefficient is also supplied from the lossless decoding unit 112, so the screen edge determination unit 144 determines the weight coefficient as the determination result. In response, the weighting coefficient supplied to the multiplier 143A and the multiplier 143B is output.
  • the selection unit 133 is also supplied with it.
  • the selection unit 133 selects one of the motion vector information from the lossless decoding unit 112 and the motion vector information obtained by the motion vector prediction unit 134 according to the prediction mode, and the selected motion vector information is displayed on the screen edge.
  • the data is supplied to the determination unit 144, the L0 region selection unit 141, and the L1 region selection unit 142.
  • the motion vector prediction unit 134 predicts a motion vector according to a mode in which the motion vector is not sent to the decoding side, such as a skip mode and a direct mode, and a selection unit 133.
  • a mode in which the motion vector is not sent to the decoding side such as a skip mode and a direct mode
  • a selection unit 133 In the example of FIG. 19, the illustration is omitted, but the motion vector information of surrounding blocks at the time of obtaining is obtained from the selection unit 133.
  • step S131 the storage buffer 111 stores the transmitted image.
  • step S132 the lossless decoding unit 112 decodes the compressed image supplied from the accumulation buffer 111. That is, the I picture, P picture, and B picture encoded by the lossless encoding unit 66 in FIG. 9 are decoded.
  • motion vector information, reference frame information, and the like are also decoded for each block.
  • prediction mode information information indicating an intra prediction mode or an inter prediction mode
  • the information is also decoded.
  • step S133 the inverse quantization unit 113 inversely quantizes the transform coefficient decoded by the lossless decoding unit 112 with characteristics corresponding to the characteristics of the quantization unit 65 in FIG.
  • step S134 the inverse orthogonal transform unit 114 performs inverse orthogonal transform on the transform coefficient inversely quantized by the inverse quantization unit 113 with characteristics corresponding to the characteristics of the orthogonal transform unit 64 in FIG. As a result, the difference information corresponding to the input of the orthogonal transform unit 64 of FIG. 9 (the output of the calculation unit 63) is decoded.
  • step S135 the calculation unit 115 adds the prediction image selected in the process of step S141 described later and input via the switch 122 to the difference information. As a result, the original image is decoded.
  • step S136 the deblocking filter 116 filters the image output from the calculation unit 115. Thereby, block distortion is removed.
  • step S137 the frame memory 119 stores the filtered image.
  • step S138 the lossless decoding unit 112 determines whether or not the compressed image is an inter predicted image based on the lossless decoding result of the header portion of the compressed image, that is, information indicating the optimal inter prediction mode is included in the lossless decoding result. Determine if it is included.
  • the lossless decoding unit 112 supplies motion vector information, reference frame information, information indicating the optimal inter prediction mode, and the like to the motion compensation unit 121.
  • the weighting coefficient is decoded, it is also supplied to the motion compensation unit 121.
  • step S139 the motion compensation unit 121 performs a motion compensation process. Based on the inter prediction mode from the lossless decoding unit 112, the motion compensation unit 121 compensates the reference image using the supplied motion vector information or motion vector information obtained from surrounding blocks, and predicts each block. Generate an image.
  • the motion compensation unit 121 is the target in the B mode in the direct mode or the bi-prediction mode, that is, in the prediction mode using a plurality of different reference images.
  • a prediction image is generated by performing weighted prediction according to whether or not the reference pixel of the block to be used is outside the screen in those reference images.
  • the generated predicted image is output to the calculation unit 115 via the switch 122. Note that the compensation processing in the case of the B picture is the same as the compensation processing with reference to FIG.
  • step S138 if it is determined in step S138 that the compressed image is not an inter-predicted image, that is, if the lossless decoding result includes information indicating the optimum intra prediction mode, the lossless decoding unit 112 performs the optimum intra prediction. Information representing the mode is supplied to the intra prediction unit 120.
  • step S140 the intra prediction unit 120 performs an intra prediction process on the image from the frame memory 119 in the optimal intra prediction mode represented by the information from the lossless decoding unit 112, and generates an intra predicted image. Then, the intra prediction unit 120 outputs the intra predicted image to the switch 122.
  • step S141 the switch 122 selects a prediction image and outputs it to the calculation unit 115. That is, the prediction image generated by the intra prediction unit 120 or the prediction image generated by the motion compensation unit 121 is supplied. Therefore, the supplied predicted image is selected and output to the calculation unit 115, and is added to the output of the inverse orthogonal transform unit 114 in step S135 as described above.
  • step S142 the screen rearrangement buffer 117 performs rearrangement. That is, the order of frames rearranged for encoding by the screen rearrangement buffer 62 of the image encoding device 51 is rearranged to the original display order.
  • step S143 the D / A conversion unit 118 D / A converts the image from the screen rearrangement buffer 117. This image is output to a display (not shown), and the image is displayed.
  • one of the L0 or L1 reference pixels is displayed on the screen.
  • weight prediction is performed by increasing the weight for the other pixel with higher reliability than the outside pixel that is likely to be inaccurate information.
  • the prediction accuracy of inter coding in the B picture, particularly in the vicinity of the edge of the screen is improved.
  • the residual signal is reduced, and the bit amount of the residual signal is reduced, thereby improving the coding efficiency.
  • This improvement is more effective for small screens such as mobile devices than when the screen is large. It is also more effective when the bit rate is low.
  • the coefficient after the orthogonal transformation When the residual signal is reduced, the coefficient after the orthogonal transformation also becomes small, and it is expected that many coefficients become 0 after quantization.
  • the number of consecutive zeros In the H.264 / AVC format, the number of consecutive zeros is included in the stream information. In general, it is possible to achieve a much smaller code amount by expressing the number of zeros than replacing a non-zero value with a predetermined code. It leads to reduction.
  • the direct mode since the prediction accuracy of the direct mode is improved, the direct mode is easily selected. Since the direct mode does not have motion vector information, header information based on motion vector information is reduced particularly near the edge of the screen.
  • the motion vector information of each block increases.
  • a large block is selected in the direct mode. Information is reduced.
  • the bit amount of mode information is also reduced.
  • FIG. 21 is a diagram illustrating an example of a block size proposed in Non-Patent Document 2.
  • the macroblock size is expanded to 32 ⁇ 32 pixels.
  • a macro block composed of 32 ⁇ 32 pixels divided into blocks (partitions) of 32 ⁇ 32 pixels, 32 ⁇ 16 pixels, 16 ⁇ 32 pixels, and 16 ⁇ 16 pixels. They are shown in order.
  • blocks composed of 16 ⁇ 16 pixels divided into 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixel blocks are sequentially shown. Yes.
  • an 8 ⁇ 8 pixel block divided into 8 ⁇ 8 pixel, 8 ⁇ 4 pixel, 4 ⁇ 8 pixel, and 4 ⁇ 4 pixel blocks is sequentially shown from the left. .
  • the 32 ⁇ 32 pixel macroblock can be processed in the 32 ⁇ 32 pixel, 32 ⁇ 16 pixel, 16 ⁇ 32 pixel, and 16 ⁇ 16 pixel blocks shown in the upper part of FIG.
  • the 16 ⁇ 16 pixel block shown on the right side of the upper row is H.264. Similar to the H.264 / AVC format, processing in blocks of 16 ⁇ 16 pixels, 16 ⁇ 8 pixels, 8 ⁇ 16 pixels, and 8 ⁇ 8 pixels shown in the middle stage is possible.
  • the 8 ⁇ 8 pixel block shown on the right side of the middle row Similar to the H.264 / AVC format, processing in blocks of 8 ⁇ 8 pixels, 8 ⁇ 4 pixels, 4 ⁇ 8 pixels, and 4 ⁇ 4 pixels shown in the lower stage is possible.
  • H. A larger block is defined as a superset while maintaining compatibility with the H.264 / AVC format.
  • the present invention can also be applied to the extended macroblock size proposed as described above.
  • the encoding method is H.264.
  • the H.264 / AVC format is used as a base, but the present invention is not limited to this, and is applied to an image encoding device / image decoding device that uses an encoding method / decoding method for performing other motion prediction / compensation processing. You can also.
  • the present invention includes, for example, MPEG, H.264, and the like.
  • image information bitstream
  • orthogonal transformation such as discrete cosine transformation and motion compensation, such as 26x
  • network media such as satellite broadcasting, cable television, the Internet, or mobile phones.
  • the present invention can be applied to an image encoding device and an image decoding device used in the above. Further, the present invention can be applied to an image encoding device and an image decoding device used when processing on a storage medium such as an optical, magnetic disk, and flash memory. Furthermore, the present invention can also be applied to motion prediction / compensation devices included in such image encoding devices and image decoding devices.
  • the series of processes described above can be executed by hardware or software.
  • a program constituting the software is installed in the computer.
  • the computer includes a computer incorporated in dedicated hardware, a general-purpose personal computer capable of executing various functions by installing various programs, and the like.
  • FIG. 22 is a block diagram illustrating an example of a hardware configuration of a computer that executes the above-described series of processes using a program.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • an input / output interface 255 is connected to the bus 254.
  • An input unit 256, an output unit 257, a storage unit 258, a communication unit 259, and a drive 260 are connected to the input / output interface 255.
  • the input unit 256 includes a keyboard, a mouse, a microphone, and the like.
  • the output unit 257 includes a display, a speaker, and the like.
  • the storage unit 258 includes a hard disk, a non-volatile memory, and the like.
  • the communication unit 259 includes a network interface or the like.
  • the drive 260 drives a removable medium 261 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 251 loads the program stored in the storage unit 258 into the RAM 253 via the input / output interface 255 and the bus 254 and executes the program, thereby performing the above-described series of processing. Is done.
  • the program executed by the computer (CPU 251) can be provided by being recorded in the removable medium 261 as a package medium, for example.
  • the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
  • the program can be installed in the storage unit 258 via the input / output interface 255 by attaching the removable medium 261 to the drive 260.
  • the program can be received by the communication unit 259 via a wired or wireless transmission medium and installed in the storage unit 258.
  • the program can be installed in advance in the ROM 252 or the storage unit 258.
  • the program executed by the computer may be a program that is processed in time series in the order described in this specification, or in parallel or at a necessary timing such as when a call is made. It may be a program for processing.
  • the image encoding device 51 and the image decoding device 101 described above can be applied to any electronic device. Examples thereof will be described below.
  • FIG. 23 is a block diagram illustrating a main configuration example of a television receiver using the image decoding device to which the present invention has been applied.
  • the television receiver 300 shown in FIG. 23 includes a terrestrial tuner 313, a video decoder 315, a video signal processing circuit 318, a graphic generation circuit 319, a panel drive circuit 320, and a display panel 321.
  • the terrestrial tuner 313 receives a broadcast wave signal of terrestrial analog broadcast via an antenna, demodulates it, acquires a video signal, and supplies it to the video decoder 315.
  • the video decoder 315 performs a decoding process on the video signal supplied from the terrestrial tuner 313 and supplies the obtained digital component signal to the video signal processing circuit 318.
  • the video signal processing circuit 318 performs predetermined processing such as noise removal on the video data supplied from the video decoder 315, and supplies the obtained video data to the graphic generation circuit 319.
  • the graphic generation circuit 319 generates video data of a program to be displayed on the display panel 321, image data based on processing based on an application supplied via a network, and the generated video data and image data to the panel drive circuit 320. Supply.
  • the graphic generation circuit 319 generates video data (graphic) for displaying a screen used by the user for selecting an item, and superimposing the video data on the video data of the program.
  • a process of supplying data to the panel drive circuit 320 is also performed as appropriate.
  • the panel drive circuit 320 drives the display panel 321 based on the data supplied from the graphic generation circuit 319, and causes the display panel 321 to display the video of the program and the various screens described above.
  • the display panel 321 includes an LCD (Liquid Crystal Display) or the like, and displays a program video or the like according to control by the panel drive circuit 320.
  • LCD Liquid Crystal Display
  • the television receiver 300 also includes an audio A / D (Analog / Digital) conversion circuit 314, an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • an audio A / D (Analog / Digital) conversion circuit 3144 an audio signal processing circuit 322, an echo cancellation / audio synthesis circuit 323, an audio amplification circuit 324, and a speaker 325.
  • the terrestrial tuner 313 acquires not only the video signal but also the audio signal by demodulating the received broadcast wave signal.
  • the terrestrial tuner 313 supplies the acquired audio signal to the audio A / D conversion circuit 314.
  • the audio A / D conversion circuit 314 performs A / D conversion processing on the audio signal supplied from the terrestrial tuner 313, and supplies the obtained digital audio signal to the audio signal processing circuit 322.
  • the audio signal processing circuit 322 performs predetermined processing such as noise removal on the audio data supplied from the audio A / D conversion circuit 314 and supplies the obtained audio data to the echo cancellation / audio synthesis circuit 323.
  • the echo cancellation / voice synthesis circuit 323 supplies the voice data supplied from the voice signal processing circuit 322 to the voice amplification circuit 324.
  • the audio amplification circuit 324 performs D / A conversion processing and amplification processing on the audio data supplied from the echo cancellation / audio synthesis circuit 323, adjusts to a predetermined volume, and then outputs the audio from the speaker 325.
  • the television receiver 300 also has a digital tuner 316 and an MPEG decoder 317.
  • the digital tuner 316 receives a broadcast wave signal of digital broadcasting (terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting) via an antenna, demodulates, and MPEG-TS (Moving Picture Experts Group). -Transport Stream) and supply it to the MPEG decoder 317.
  • digital broadcasting terrestrial digital broadcasting, BS (Broadcasting Satellite) / CS (Communications Satellite) digital broadcasting
  • MPEG-TS Motion Picture Experts Group
  • the MPEG decoder 317 releases the scramble applied to the MPEG-TS supplied from the digital tuner 316, and extracts a stream including program data to be played (viewing target).
  • the MPEG decoder 317 decodes the audio packet constituting the extracted stream, supplies the obtained audio data to the audio signal processing circuit 322, decodes the video packet constituting the stream, and converts the obtained video data into the video
  • the signal processing circuit 318 is supplied.
  • the MPEG decoder 317 supplies EPG (Electronic Program Guide) data extracted from the MPEG-TS to the CPU 332 via a path (not shown).
  • the television receiver 300 uses the above-described image decoding device 101 as the MPEG decoder 317 that decodes the video packet in this way. Accordingly, the MPEG decoder 317 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image decoding apparatus 101. Thereby, encoding efficiency can be improved.
  • the video data supplied from the MPEG decoder 317 is subjected to predetermined processing in the video signal processing circuit 318 as in the case of the video data supplied from the video decoder 315.
  • the video data that has been subjected to the predetermined processing is appropriately superposed on the generated video data in the graphic generation circuit 319 and supplied to the display panel 321 via the panel drive circuit 320 to display the image. .
  • the audio data supplied from the MPEG decoder 317 is subjected to predetermined processing in the audio signal processing circuit 322 as in the case of the audio data supplied from the audio A / D conversion circuit 314.
  • the audio data that has been subjected to the predetermined processing is supplied to the audio amplifying circuit 324 via the echo cancel / audio synthesizing circuit 323, and subjected to D / A conversion processing and amplification processing.
  • sound adjusted to a predetermined volume is output from the speaker 325.
  • the television receiver 300 also has a microphone 326 and an A / D conversion circuit 327.
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the echo cancellation / audio synthesis circuit 323.
  • the echo cancellation / audio synthesis circuit 323 When the audio data of the user (user A) of the television receiver 300 is supplied from the A / D conversion circuit 327, the echo cancellation / audio synthesis circuit 323 performs echo cancellation on the audio data of the user A. . The echo cancellation / speech synthesis circuit 323 then outputs voice data obtained by synthesizing with other voice data after echo cancellation from the speaker 325 via the voice amplification circuit 324.
  • the television receiver 300 also includes an audio codec 328, an internal bus 329, an SDRAM (Synchronous Dynamic Random Access Memory) 330, a flash memory 331, a CPU 332, a USB (Universal Serial Bus) I / F 333, and a network I / F 334.
  • SDRAM Serial Dynamic Random Access Memory
  • USB Universal Serial Bus
  • the A / D conversion circuit 327 receives the user's voice signal captured by the microphone 326 provided in the television receiver 300 for voice conversation.
  • the A / D conversion circuit 327 performs A / D conversion processing on the received audio signal, and supplies the obtained digital audio data to the audio codec 328.
  • the audio codec 328 converts the audio data supplied from the A / D conversion circuit 327 into data of a predetermined format for transmission via the network, and supplies the data to the network I / F 334 via the internal bus 329.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335.
  • the network I / F 334 transmits the audio data supplied from the audio codec 328 to another device connected to the network.
  • the network I / F 334 receives, for example, audio data transmitted from another device connected via the network via the network terminal 335, and receives it via the internal bus 329 to the audio codec 328. Supply.
  • the voice codec 328 converts the voice data supplied from the network I / F 334 into data of a predetermined format and supplies it to the echo cancellation / voice synthesis circuit 323.
  • the echo cancellation / speech synthesis circuit 323 performs echo cancellation on the voice data supplied from the voice codec 328 and synthesizes voice data obtained by synthesizing with other voice data via the voice amplification circuit 324. And output from the speaker 325.
  • the SDRAM 330 stores various data necessary for the CPU 332 to perform processing.
  • the flash memory 331 stores a program executed by the CPU 332.
  • the program stored in the flash memory 331 is read out by the CPU 332 at a predetermined timing such as when the television receiver 300 is activated.
  • the flash memory 331 also stores EPG data acquired via digital broadcasting, data acquired from a predetermined server via a network, and the like.
  • the flash memory 331 stores MPEG-TS including content data acquired from a predetermined server via a network under the control of the CPU 332.
  • the flash memory 331 supplies the MPEG-TS to the MPEG decoder 317 via the internal bus 329 under the control of the CPU 332, for example.
  • the MPEG decoder 317 processes the MPEG-TS similarly to the MPEG-TS supplied from the digital tuner 316. In this way, the television receiver 300 receives content data including video and audio via the network, decodes it using the MPEG decoder 317, displays the video, and outputs audio. Can do.
  • the television receiver 300 also includes a light receiving unit 337 that receives an infrared signal transmitted from the remote controller 351.
  • the light receiving unit 337 receives infrared rays from the remote controller 351 and outputs a control code representing the contents of the user operation obtained by demodulation to the CPU 332.
  • the CPU 332 executes a program stored in the flash memory 331, and controls the overall operation of the television receiver 300 according to a control code supplied from the light receiving unit 337.
  • the CPU 332 and each part of the television receiver 300 are connected via a path (not shown).
  • the USB I / F 333 transmits and receives data to and from an external device of the television receiver 300 connected via a USB cable attached to the USB terminal 336.
  • the network I / F 334 is connected to the network via a cable attached to the network terminal 335, and transmits / receives data other than audio data to / from various devices connected to the network.
  • the television receiver 300 can improve the encoding efficiency by using the image decoding device 101 as the MPEG decoder 317. As a result, the television receiver 300 can obtain and display a higher-definition decoded image from a broadcast wave signal received via an antenna or content data obtained via a network.
  • FIG. 24 is a block diagram illustrating a main configuration example of a mobile phone using the image encoding device and the image decoding device to which the present invention is applied.
  • a cellular phone 400 shown in FIG. 24 includes a main control unit 450, a power supply circuit unit 451, an operation input control unit 452, an image encoder 453, a camera I / F unit 454, an LCD control, which are configured to control each unit in an integrated manner.
  • the mobile phone 400 includes an operation key 419, a CCD (Charge Coupled Devices) camera 416, a liquid crystal display 418, a storage unit 423, a transmission / reception circuit unit 463, an antenna 414, a microphone (microphone) 421, and a speaker 417.
  • CCD Charge Coupled Devices
  • the power supply circuit unit 451 starts up the mobile phone 400 to an operable state by supplying power from the battery pack to each unit.
  • the mobile phone 400 transmits / receives voice signals, sends / receives e-mails and image data in various modes such as a voice call mode and a data communication mode based on the control of the main control unit 450 including a CPU, a ROM, a RAM, and the like. Various operations such as shooting or data recording are performed.
  • the cellular phone 400 converts a voice signal collected by the microphone (microphone) 421 into digital voice data by the voice codec 459, performs a spectrum spread process by the modulation / demodulation circuit unit 458, and transmits and receives
  • the unit 463 performs digital / analog conversion processing and frequency conversion processing.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (voice signal) transmitted to the base station is supplied to the mobile phone of the other party via the public telephone line network.
  • the cellular phone 400 amplifies the received signal received by the antenna 414 by the transmission / reception circuit unit 463, further performs frequency conversion processing and analog-digital conversion processing, and performs spectrum despreading processing by the modulation / demodulation circuit unit 458. Then, the audio codec 459 converts it into an analog audio signal. The cellular phone 400 outputs an analog audio signal obtained by the conversion from the speaker 417.
  • the mobile phone 400 when transmitting an e-mail in the data communication mode, receives the text data of the e-mail input by operating the operation key 419 in the operation input control unit 452.
  • the cellular phone 400 processes the text data in the main control unit 450 and displays it on the liquid crystal display 418 as an image via the LCD control unit 455.
  • the cellular phone 400 generates e-mail data in the main control unit 450 based on text data received by the operation input control unit 452, user instructions, and the like.
  • the cellular phone 400 subjects the electronic mail data to spread spectrum processing by the modulation / demodulation circuit unit 458 and performs digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • the transmission signal (e-mail) transmitted to the base station is supplied to a predetermined destination via a network and a mail server.
  • the mobile phone 400 when receiving an e-mail in the data communication mode, receives and amplifies the signal transmitted from the base station by the transmission / reception circuit unit 463 via the antenna 414, and further performs frequency conversion processing and Analog-digital conversion processing.
  • the mobile phone 400 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 458 to restore the original e-mail data.
  • the cellular phone 400 displays the restored e-mail data on the liquid crystal display 418 via the LCD control unit 455.
  • the mobile phone 400 can record (store) the received e-mail data in the storage unit 423 via the recording / playback unit 462.
  • the storage unit 423 is an arbitrary rewritable storage medium.
  • the storage unit 423 may be a semiconductor memory such as a RAM or a built-in flash memory, a hard disk, or a removable disk such as a magnetic disk, a magneto-optical disk, an optical disk, a USB memory, or a memory card. It may be media. Of course, other than these may be used.
  • the mobile phone 400 when transmitting image data in the data communication mode, the mobile phone 400 generates image data with the CCD camera 416 by imaging.
  • the CCD camera 416 includes an optical device such as a lens and a diaphragm and a CCD as a photoelectric conversion element, images a subject, converts the intensity of received light into an electrical signal, and generates image data of the subject image.
  • the image data is converted into encoded image data by compression encoding with a predetermined encoding method such as MPEG2 or MPEG4 by the image encoder 453 via the camera I / F unit 454.
  • the cellular phone 400 uses the above-described image encoding device 51 as the image encoder 453 that performs such processing. Therefore, the image encoder 453 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image encoding device 51. Thereby, encoding efficiency can be improved.
  • the mobile phone 400 converts the sound collected by the microphone (microphone) 421 during imaging by the CCD camera 416 from analog to digital by the audio codec 459 and further encodes it.
  • the cellular phone 400 multiplexes the encoded image data supplied from the image encoder 453 and the digital audio data supplied from the audio codec 459 by a predetermined method.
  • the cellular phone 400 performs spread spectrum processing on the multiplexed data obtained as a result by the modulation / demodulation circuit unit 458 and digital / analog conversion processing and frequency conversion processing by the transmission / reception circuit unit 463.
  • the cellular phone 400 transmits the transmission signal obtained by the conversion process to a base station (not shown) via the antenna 414.
  • a transmission signal (image data) transmitted to the base station is supplied to a communication partner via a network or the like.
  • the mobile phone 400 can also display the image data generated by the CCD camera 416 on the liquid crystal display 418 via the LCD control unit 455 without passing through the image encoder 453.
  • the cellular phone 400 when receiving data of a moving image file linked to a simple homepage or the like, transmits a signal transmitted from the base station via the antenna 414 to the transmission / reception circuit unit 463. Receive, amplify, and further perform frequency conversion processing and analog-digital conversion processing. The cellular phone 400 performs spectrum despreading processing on the received signal by the modulation / demodulation circuit unit 458 to restore the original multiplexed data. In the cellular phone 400, the demultiplexing unit 457 separates the multiplexed data and divides it into encoded image data and audio data.
  • the cellular phone 400 In the image decoder 456, the cellular phone 400 generates reproduction moving image data by decoding the encoded image data with a decoding method corresponding to a predetermined encoding method such as MPEG2 or MPEG4, and this is controlled by the LCD control.
  • the image is displayed on the liquid crystal display 418 via the unit 455.
  • the moving image data included in the moving image file linked to the simple homepage is displayed on the liquid crystal display 418.
  • the mobile phone 400 uses the above-described image decoding device 101 as the image decoder 456 that performs such processing. Therefore, the image decoder 456 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image decoding apparatus 101. Thereby, encoding efficiency can be improved.
  • the cellular phone 400 simultaneously converts the digital audio data into an analog audio signal in the audio codec 459 and causes the speaker 417 to output it.
  • audio data included in the moving image file linked to the simple homepage is reproduced.
  • the mobile phone 400 can record (store) the data linked to the received simplified home page or the like in the storage unit 423 via the recording / playback unit 462. .
  • the mobile phone 400 can analyze the two-dimensional code obtained by the CCD camera 416 by the main control unit 450 and acquire information recorded in the two-dimensional code.
  • the mobile phone 400 can communicate with an external device by infrared rays at the infrared communication unit 481.
  • the mobile phone 400 uses the image encoding device 51 as the image encoder 453, so that the prediction accuracy is improved. As a result, the mobile phone 400 can provide encoded data (image data) with high encoding efficiency to other devices.
  • the mobile phone 400 uses the image decoding device 101 as the image decoder 456, so that the prediction accuracy is improved. As a result, the mobile phone 400 can obtain and display a higher-definition decoded image from a moving image file linked to a simple homepage, for example.
  • the cellular phone 400 uses the CCD camera 416, but instead of the CCD camera 416, an image sensor (CMOS image sensor) using CMOS (Complementary Metal Metal Oxide Semiconductor) is used. May be. Also in this case, the mobile phone 400 can capture the subject and generate image data of the subject image, as in the case where the CCD camera 416 is used.
  • CMOS image sensor Complementary Metal Metal Oxide Semiconductor
  • the mobile phone 400 has been described.
  • an imaging function similar to that of the mobile phone 400 such as a PDA (Personal Digital Assistant), a smartphone, an UMPC (Ultra Mobile Personal Computer), a netbook, a notebook personal computer, or the like.
  • the image encoding device 51 and the image decoding device 101 can be applied to any device as in the case of the mobile phone 400.
  • FIG. 25 is a block diagram illustrating a main configuration example of a hard disk recorder using the image encoding device and the image decoding device to which the present invention is applied.
  • a hard disk recorder 500 shown in FIG. 25 receives audio data and video data of a broadcast program included in a broadcast wave signal (television signal) transmitted from a satellite or a ground antenna received by a tuner.
  • This is an apparatus for storing in a built-in hard disk and providing the stored data to the user at a timing according to the user's instruction.
  • the hard disk recorder 500 can, for example, extract audio data and video data from broadcast wave signals, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 500 can also acquire audio data and video data from other devices via a network, for example, decode them as appropriate, and store them in a built-in hard disk.
  • the hard disk recorder 500 decodes audio data and video data recorded in the built-in hard disk, supplies the decoded data to the monitor 560, and displays the image on the screen of the monitor 560. Further, the hard disk recorder 500 can output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 decodes, for example, audio data and video data extracted from a broadcast wave signal acquired via a tuner, or audio data and video data acquired from another device via a network, and monitors 560. And the image is displayed on the screen of the monitor 560.
  • the hard disk recorder 500 can also output the sound from the speaker of the monitor 560.
  • the hard disk recorder 500 includes a receiving unit 521, a demodulating unit 522, a demultiplexer 523, an audio decoder 524, a video decoder 525, and a recorder control unit 526.
  • the hard disk recorder 500 further includes an EPG data memory 527, a program memory 528, a work memory 529, a display converter 530, an OSD (On Screen Display) control unit 531, a display control unit 532, a recording / playback unit 533, a D / A converter 534, And a communication unit 535.
  • the display converter 530 has a video encoder 541.
  • the recording / playback unit 533 includes an encoder 551 and a decoder 552.
  • the receiving unit 521 receives an infrared signal from a remote controller (not shown), converts it into an electrical signal, and outputs it to the recorder control unit 526.
  • the recorder control unit 526 is constituted by, for example, a microprocessor and executes various processes according to a program stored in the program memory 528. At this time, the recorder control unit 526 uses the work memory 529 as necessary.
  • the communication unit 535 is connected to the network and performs communication processing with other devices via the network.
  • the communication unit 535 is controlled by the recorder control unit 526, communicates with a tuner (not shown), and mainly outputs a channel selection control signal to the tuner.
  • the demodulator 522 demodulates the signal supplied from the tuner and outputs the demodulated signal to the demultiplexer 523.
  • the demultiplexer 523 separates the data supplied from the demodulation unit 522 into audio data, video data, and EPG data, and outputs them to the audio decoder 524, the video decoder 525, or the recorder control unit 526, respectively.
  • the audio decoder 524 decodes the input audio data by, for example, the MPEG system, and outputs it to the recording / playback unit 533.
  • the video decoder 525 decodes the input video data using, for example, the MPEG system, and outputs the decoded video data to the display converter 530.
  • the recorder control unit 526 supplies the input EPG data to the EPG data memory 527 for storage.
  • the display converter 530 encodes the video data supplied from the video decoder 525 or the recorder control unit 526 into video data of, for example, NTSC (National Television Standards Committee) using the video encoder 541 and outputs the video data to the recording / reproducing unit 533.
  • the display converter 530 converts the screen size of the video data supplied from the video decoder 525 or the recorder control unit 526 into a size corresponding to the size of the monitor 560.
  • the display converter 530 further converts the video data whose screen size is converted into NTSC video data by the video encoder 541, converts the video data into an analog signal, and outputs the analog signal to the display control unit 532.
  • the display control unit 532 superimposes the OSD signal output from the OSD (On Screen Display) control unit 531 on the video signal input from the display converter 530 under the control of the recorder control unit 526 and displays the OSD signal on the display of the monitor 560. Output and display.
  • OSD On Screen Display
  • the monitor 560 is also supplied with the audio data output from the audio decoder 524 after being converted into an analog signal by the D / A converter 534.
  • the monitor 560 outputs this audio signal from a built-in speaker.
  • the recording / playback unit 533 has a hard disk as a storage medium for recording video data, audio data, and the like.
  • the recording / playback unit 533 encodes the audio data supplied from the audio decoder 524 by the encoder 551 in the MPEG system. Further, the recording / reproducing unit 533 encodes the video data supplied from the video encoder 541 of the display converter 530 by the MPEG method using the encoder 551. The recording / playback unit 533 combines the encoded data of the audio data and the encoded data of the video data by a multiplexer. The recording / reproducing unit 533 amplifies the synthesized data by channel coding, and writes the data to the hard disk via the recording head.
  • the recording / playback unit 533 plays back the data recorded on the hard disk via the playback head, amplifies it, and separates it into audio data and video data by a demultiplexer.
  • the recording / playback unit 533 uses the decoder 552 to decode the audio data and video data using the MPEG system.
  • the recording / playback unit 533 performs D / A conversion on the decoded audio data and outputs it to the speaker of the monitor 560.
  • the recording / playback unit 533 performs D / A conversion on the decoded video data and outputs it to the display of the monitor 560.
  • the recorder control unit 526 reads the latest EPG data from the EPG data memory 527 based on the user instruction indicated by the infrared signal from the remote controller received via the receiving unit 521, and supplies it to the OSD control unit 531. To do.
  • the OSD control unit 531 generates image data corresponding to the input EPG data, and outputs the image data to the display control unit 532.
  • the display control unit 532 outputs the video data input from the OSD control unit 531 to the display of the monitor 560 for display. As a result, an EPG (electronic program guide) is displayed on the display of the monitor 560.
  • the hard disk recorder 500 can acquire various data such as video data, audio data, or EPG data supplied from other devices via a network such as the Internet.
  • the communication unit 535 is controlled by the recorder control unit 526, acquires encoded data such as video data, audio data, and EPG data transmitted from another device via the network, and supplies it to the recorder control unit 526. To do.
  • the recorder control unit 526 supplies the encoded data of the acquired video data and audio data to the recording / reproducing unit 533 and stores the data in the hard disk.
  • the recorder control unit 526 and the recording / playback unit 533 may perform processing such as re-encoding as necessary.
  • the recorder control unit 526 decodes the acquired encoded data of video data and audio data, and supplies the obtained video data to the display converter 530.
  • the display converter 530 processes the video data supplied from the recorder control unit 526 in the same manner as the video data supplied from the video decoder 525, supplies the processed video data to the monitor 560 via the display control unit 532, and displays the image. .
  • the recorder control unit 526 may supply the decoded audio data to the monitor 560 via the D / A converter 534 and output the sound from the speaker.
  • the recorder control unit 526 decodes the encoded data of the acquired EPG data, and supplies the decoded EPG data to the EPG data memory 527.
  • the hard disk recorder 500 as described above uses the image decoding device 101 as a decoder incorporated in the video decoder 525, the decoder 552, and the recorder control unit 526. Therefore, the decoder incorporated in the video decoder 525, the decoder 552, and the recorder control unit 526 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image decoding apparatus 101. . Thereby, encoding efficiency can be improved.
  • the hard disk recorder 500 can generate a predicted image with high accuracy.
  • the hard disk recorder 500 acquires, for example, encoded data of video data received via a tuner, encoded data of video data read from the hard disk of the recording / playback unit 533, or via a network. From the encoded data of the video data, a higher-definition decoded image can be obtained and displayed on the monitor 560.
  • the hard disk recorder 500 uses the image encoding device 51 as the encoder 551. Therefore, the encoder 551 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image encoding device 51. Thereby, encoding efficiency can be improved.
  • the hard disk recorder 500 can improve the encoding efficiency of the encoded data recorded on the hard disk, for example. As a result, the hard disk recorder 500 can use the storage area of the hard disk more efficiently at a higher speed.
  • the hard disk recorder 500 that records video data and audio data on the hard disk has been described.
  • any recording medium may be used.
  • the image encoding device 51 and the image decoding device 101 are applied as in the case of the hard disk recorder 500 described above. Can do.
  • FIG. 26 is a block diagram illustrating a main configuration example of a camera using the image decoding device and the image encoding device to which the present invention has been applied.
  • the camera 600 shown in FIG. 26 captures a subject and displays an image of the subject on the LCD 616 or records it on the recording medium 633 as image data.
  • the lens block 611 causes light (that is, an image of the subject) to enter the CCD / CMOS 612.
  • the CCD / CMOS 612 is an image sensor using CCD or CMOS, converts the intensity of received light into an electric signal, and supplies it to the camera signal processing unit 613.
  • the camera signal processing unit 613 converts the electrical signal supplied from the CCD / CMOS 612 into Y, Cr, and Cb color difference signals and supplies them to the image signal processing unit 614.
  • the image signal processing unit 614 performs predetermined image processing on the image signal supplied from the camera signal processing unit 613 under the control of the controller 621, and encodes the image signal by the encoder 641 using, for example, the MPEG method. To do.
  • the image signal processing unit 614 supplies encoded data generated by encoding the image signal to the decoder 615. Further, the image signal processing unit 614 acquires display data generated in the on-screen display (OSD) 620 and supplies it to the decoder 615.
  • OSD on-screen display
  • the camera signal processing unit 613 appropriately uses DRAM (Dynamic Random Access Memory) 618 connected via the bus 617, and image data or a code obtained by encoding the image data as necessary.
  • DRAM Dynamic Random Access Memory
  • the digitized data is held in the DRAM 618.
  • the decoder 615 decodes the encoded data supplied from the image signal processing unit 614 and supplies the obtained image data (decoded image data) to the LCD 616. In addition, the decoder 615 supplies the display data supplied from the image signal processing unit 614 to the LCD 616. The LCD 616 appropriately synthesizes the image of the decoded image data supplied from the decoder 615 and the image of the display data, and displays the synthesized image.
  • the on-screen display 620 outputs display data such as menu screens and icons composed of symbols, characters, or figures to the image signal processing unit 614 via the bus 617 under the control of the controller 621.
  • the controller 621 executes various processes based on a signal indicating the content instructed by the user using the operation unit 622, and also via the bus 617, an image signal processing unit 614, a DRAM 618, an external interface 619, an on-screen display. 620, media drive 623, and the like are controlled.
  • the FLASH ROM 624 stores programs and data necessary for the controller 621 to execute various processes.
  • the controller 621 can encode the image data stored in the DRAM 618 or decode the encoded data stored in the DRAM 618 instead of the image signal processing unit 614 or the decoder 615.
  • the controller 621 may perform the encoding / decoding process by a method similar to the encoding / decoding method of the image signal processing unit 614 or the decoder 615, or the image signal processing unit 614 or the decoder 615 can handle this.
  • the encoding / decoding process may be performed by a method that is not performed.
  • the controller 621 reads image data from the DRAM 618 and supplies it to the printer 634 connected to the external interface 619 via the bus 617. Let it print.
  • the controller 621 reads the encoded data from the DRAM 618 and supplies it to the recording medium 633 attached to the media drive 623 via the bus 617.
  • the recording medium 633 is an arbitrary readable / writable removable medium such as a magnetic disk, a magneto-optical disk, an optical disk, or a semiconductor memory.
  • the recording medium 633 may be of any type as a removable medium, and may be a tape device, a disk, or a memory card.
  • a non-contact IC card or the like may be used.
  • media drive 623 and the recording medium 633 may be integrated and configured by a non-portable storage medium such as a built-in hard disk drive or SSD (Solid State Drive).
  • SSD Solid State Drive
  • the external interface 619 includes, for example, a USB input / output terminal and is connected to the printer 634 when printing an image.
  • a drive 631 is connected to the external interface 619 as necessary, and a removable medium 632 such as a magnetic disk, an optical disk, or a magneto-optical disk is appropriately mounted, and a computer program read from them is loaded as necessary. Installed in the FLASH ROM 624.
  • the external interface 619 has a network interface connected to a predetermined network such as a LAN or the Internet.
  • the controller 621 can read the encoded data from the DRAM 618 in accordance with an instruction from the operation unit 622 and supply the encoded data from the external interface 619 to another device connected via the network. Also, the controller 621 acquires encoded data and image data supplied from other devices via the network via the external interface 619 and holds them in the DRAM 618 or supplies them to the image signal processing unit 614. Can be.
  • the camera 600 as described above uses the image decoding device 101 as the decoder 615. Therefore, the decoder 615 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image decoding apparatus 101. Thereby, encoding efficiency can be improved.
  • the camera 600 can generate a predicted image with high accuracy.
  • the camera 600 encodes, for example, image data generated in the CCD / CMOS 612, encoded data of video data read from the DRAM 618 or the recording medium 633, and encoded video data acquired via the network.
  • a higher-resolution decoded image can be obtained from the data and displayed on the LCD 616.
  • the camera 600 uses the image encoding device 51 as the encoder 641. Therefore, the encoder 641 can improve the prediction accuracy in the B picture, particularly near the edge of the screen, as in the case of the image encoding device 51. Thereby, encoding efficiency can be improved.
  • the camera 600 can improve the encoding efficiency of the encoded data recorded on the hard disk. As a result, the camera 600 can use the storage area of the DRAM 618 and the recording medium 633 more efficiently at a higher speed.
  • the decoding method of the image decoding apparatus 101 may be applied to the decoding process performed by the controller 621.
  • the encoding method of the image encoding device 51 may be applied to the encoding process performed by the controller 621.
  • the image data captured by the camera 600 may be a moving image or a still image.
  • image encoding device 51 and the image decoding device 101 can also be applied to devices and systems other than those described above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 本発明は、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる画像処理装置および方法、並びにプログラムに関する。 動き補償部は、L0参照ピクチャの参照領域のうち、画面の中の部分は、H.264/AVC方式の重み付き予測により予測画像を生成し、L0参照ピクチャの参照領域のうち、画面の外の部分については、それを使わずに、L1参照ピクチャの参照領域のみを使って予測画像を生成する。すなわち、L0参照ピクチャにおいては、L0参照の参照領域に示されるように、参照領域は、外側の破線四角であるが、実際には、内側の破線四角内の領域しか予測に用いられない。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。

Description

画像処理装置および方法、並びにプログラム
 本発明は画像処理装置および方法、並びにプログラムに関し、特に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができるようにした画像処理装置および方法、並びにプログラムに関する。
 画像情報を圧縮する標準規格として、H.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)がある。
 H.264/AVCにおいては、フレームまたはフィールド間の相関に注目したインター予測が行われる。そして、このインター予測で行われる動き補償処理では、既に保存されている参照可能な画像内の一部の領域を用いて、インター予測による予測画像(以下、インター予測画像という)が生成される。
 例えば、図1に示すように、既に保存されている参照可能な画像の5フレームが参照フレームとされた場合、インター予測するフレーム(原フレーム)のインター予測画像の一部は、5つのうちのいずれか1つの参照フレームの画像(以下、参照画像という)の一部を参照して構成される。なお、インター予測画像の一部となる参照画像の一部の位置は、参照フレームと原フレームの画像に基づいて検出された動きベクトルによって決定される。
 より詳細には、図2に示すように、参照フレーム内の顔11が、原フレームにおいて右下方向に移動し、下部の約1/3が隠れた場合、右下方向の逆の左上方向を表す動きベクトルが検出される。そして、原フレーム内の隠れていない顔11の一部12は、その一部12を動きベクトルが表す動きだけ移動させた位置の参照フレーム内の顔11の一部13を参照して構成される。
 また、H.264/AVCにおいては、図3に示されるように、16×16画素乃至4×4画素のブロックサイズで動き補償を行うことができる。これにより、動きの境界がマクロブロック(例えば、16×16画素)の中にできる際、ブロックサイズを境界に応じてより小さく分割することができるので、正確な動き補償を行うことができる。
 さらに、H.264/AVCにおいては、動き補償処理において、動きベクトルの分解能を2分の1または4分の1といった分数精度に向上させることが考えられている。
 このような分数精度の動き補償処理においては、隣接する画素の間に、Sub pelと呼ばれる仮想的な分数位置の画素を設定し、そのSub pelを生成する処理(以下、インターポーレーションという)が追加して行われる。すなわち、分数精度の動き補償処理では、動きベクトルの最小分解能が分数位置の画素になるため、分数位置の画素を生成するためのインターポーレーションが行われる。
 図4は、インターポーレーションによって縦方向と横方向の画素数が4倍に増加された画像の各画素を示している。なお、図4において、白色の正方形は、整数位置の画素(Integer pel(Int. pel))を表し、斜線が付された正方形は、分数位置の画素(Sub pel)を表している。また、正方形内のアルファベットは、その正方形が表す画素の画素値を表している。
 インターポーレーションによって生成される分数位置の画素の画素値b,h,j,a,d,f,rは、以下に示す式(1)で表される。
 b=(E-5F+20G+20H-5I+J)/32
 h=(A-5C+20G+20M-5R+T)/32
 j=(aa-5bb+20b+20s-5gg+hh)/32
 a=(G+b)/2
 d=(G+h)/2
 f=(b+j)/2
 r=(m+s)/2
                          ・・・(1)
 なお、画素値aa,bb,s,gg,hhはbと同様に、cc,dd,m,ee,ffはhと同様に、cはaと同様に、f,n,qはdと同様に、e,p,gはrと同様に、それぞれ求めることができる。
 上述した式(1)は、H.264/AVCなどのインターポーレーションで採用される式であり、この式は規格の違いによって異なるが、式の目的は同一である。この式は、偶数のタップ数を有する有限インパルス応答(FIR(Finit-duration Impulse Response))フィルタで実現することができる。例えば、H.264/AVCにおいては、6タップの補間フィルタが用いられている。
 また、H.264/AVCにおいては、動きベクトルの参照領域が画面端(画枠)の外になる場合、図5に示されるように、画面の端の画素値がコピーされる。
 図5の例に示される参照ピクチャにおいては、一点鎖線が画面端(画枠)を表しており、一点鎖線と外側の実線との間の領域が、画面端のコピーにより拡張された領域を表している。すなわち、参照ピクチャは、画面端のコピーにより拡張されていることになる。
 ところで、H.264/AVCにおいては、特に、Bピクチャの場合、図6に示されるように、双方向予測が使用できる。図6においては、表示順序でピクチャが示されており、符号化対象ピクチャの表示順序の前後に符号化済みの参照ピクチャが並んでいる。符号化対象ピクチャがBピクチャの場合、例えば、符号化対象ピクチャの対象予測ブロックに示されるように、前後(双方向)の参照ピクチャの2つのブロックを参照し、前方向のL0予測の動きベクトルと、後方向のL1予測の動きベクトルを持つことができる。
 すなわち、L0は、主に対象予測ブロックよりも表示時刻が早いもので、L1は、主に対象予測ブロックよりも表示時刻が遅いものとなる。それらの区別された参照ピクチャを符号化モード別に使い分けることができる。符号化モードには、図7に示されるように、画面内符号化(イントラ予測)、L0予測、L1予測、双予測、ダイレクト・モードの5種類がある。
 図7は、符号化モードと参照ピクチャおよび動きベクトルの関係を示す図である。なお、図7において、参照ピクチャは、その符号化モードで参照ピクチャとして使うか使わないかを示し、動きベクトルは、その符号化モードが動きベクトル情報を持っているか持っていないかを示している。
 画面内符号化モードは、画面内(すなわち、イントラ)で予測するモードであり、L0参照ピクチャもL1参照ピクチャも使わず、L0予測の動きベクトルもL1予測の動きベクトル情報も持たない符号化モードである。L0予測モードは、L0参照ピクチャのみを使って予測を行い、L0予測の動きベクトル情報を持っている符号化モードである。L1予測モードでは、L1参照ピクチャのみを使って予測を行い、L1予測の動きベクトル情報を持っている符号化モードである。
 双予測モードでは、L0およびL1参照ピクチャを使って予測を行い、L0およびL1予測の動きベクトル情報を持っている符号化モードである。ダイレクト・モードでは、L0およびL1参照ピクチャを使って予測を行うが、動きベクトル情報は持っていない符号化モードである。すなわち、ダイレクト・モードは、動きベクトル情報を持っていないが、参照ピクチャにおける符号化済みブロックの動きベクトル情報から、現時の対象予測ブロックの動きベクトル情報を予測して使用する符号化モードである。なお、ダイレクト・モードにも、L0またはL1参照ピクチャのどちらか一方しか持たない場合もありうる。
 以上のように、双予測モードおよびダイレクト・モードにおいては、L0およびL1参照ピクチャを両方用いる場合がある。参照ピクチャが2枚の場合、次の式(2)に示される重み付き予測によって、双予測モードまたはダイレクト・モードの予測信号を得ることができる。
 YBi-Pred = W+W+D        ・・・(2)
 ここで、YBi-Predは、双予測モードあるいはダイレクト・モードのオフセット付き重み補間信号であり、W、Wは、それぞれL0、L1への重み係数であり、Y、Yは、L0、L1の動き補償予測信号である。このW、W、Dは、明示的にビットストリーム情報に含められたり、復号側で暗黙的に計算によって得られたりするものが用いられる。
 参照ピクチャの符号化劣化がL0およびL1の2枚の参照ピクチャで無相関ならば、この重み付き予測によって符号化劣化が抑制される。その結果、予測信号と入力信号との差分である残差信号が減り、残差信号のビット量が削減され、符号化効率が改善される。
 なお、ダイレクト・モードについては、非特許文献1において、参照領域が画面の外を含んでいる場合は、その参照ピクチャは使用せずに、もう一方のみの参照ピクチャを使用する提案がなされている。
 ところで、H.264/AVC方式において、マクロブロックサイズは16×16画素である。しかしながら、マクロブロックサイズを16×16画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
 そこで、非特許文献2などにおいては、マクロブロックサイズを、例えば、32×32画素といった大きさに拡張することも提案されている。
伊谷 裕介、出原 優一、関口 俊一、山田 悦久(三菱電機)、" 動画像符号化におけるダイレクトモード改善手法の一検討", 電子情報通信学科主催 画像符号化シンポジウム 第24回シンポジウム資料P3-20、静岡県伊豆市大平、平成21年10月7日・8日・9日 "Video Coding Using Extended Block Sizes",VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
 上述したように、ダイレクト・モードあるいは双予測が使用される場合、L0参照ピクチャとL1参照ピクチャの参照領域が用いられる。ここで、L0参照の参照領域、あるいは、L1参照の参照領域のいずれか一方が画面の外になる場合が起こり得る。
 図8の例においては、左から、L0参照ピクチャ、符号化対象ピクチャ、L1参照ピクチャが時間経過の順に示されている。各ピクチャにおいて、一点鎖線は画面端を表しており、実線と一点鎖線の間の領域は、図5で上述した画面端のコピーにより拡張された領域を表している。
 また、各ピクチャにおける破線で囲まれた領域は、L0参照ピクチャにおいては、L0参照の参照領域を表し、符号化対象ピクチャにおいては、動き補償領域を表し、L1参照ピクチャにおいては、L1参照の参照領域を表している。そのうち、特に、L0参照の参照領域とL1参照の参照領域が、図8の下部に示されている。
 そして、図8においては、符号化対象ピクチャにおけるハッチングされた菱形の物体Pが左上から右下に動いている状態にあり、L0参照ピクチャにおいては、その物体Pの一部が画面の端を超えて外にある例が示されている。
 図5を参照して上述したように、参照領域が画面の外にあるときは、H.264/AVC方式においては、画面端の画素値をコピーして用いることが定められている。その結果、L0参照ピクチャの参照領域は、画面端の画素値がコピーされるため、形状が菱形ではなくなっている。
 L0およびL1の参照領域を重み付き予測により予測画像を生成する場合、図8のL0参照の参照領域のように、画面の外の画素値が実際とは異なってしまうと、予測画像と源信号の差分が大きくなることが予測される。また、当然、差分が大きいことは、残差信号のビット量が増大するため、符号化効率の低下が懸念される。
 これに対して、動き補償のブロックサイズを小さくする方法が考えられるが、ブロックサイズが小さく分割されることは、そのマクロブロックのヘッダ情報の増大を招き、オーバーヘッドが増えてしまう恐れがある。量子化パラメータQPが大きい時(あるいは低ビットレート時)においては、特にマクロブロックのヘッダ情報がオーバーヘッドとして割合的に大きくなることから、ブロックサイズを小さく分割する方法も符号化効率の低下が懸念される。
 また、ダイレクト・モードは動きベクトル情報が不要なため、マクロブロックのヘッダ情報を減らす効果があり、特に低ビットレート時においては、符号化効率の改善に寄与している。しかしながら、上述したように、L0およびL1の参照領域を重み付き予測により予測画像を生成する場合、画面の外の画素値が実際とは異なってしまって、予測画像と源信号との差が大きくなるために、ダイレクト・モードが選択されにくくなり、符号化効率の低下が懸念される。
 これに対して、上述した非特許文献1においては、ダイレクト・モードにおいて、参照領域が画面の外を含んでいる場合、その参照ピクチャは使用しないでもう一方のみの参照ピクチャを使用することで、ダイレクト・モードの選択が増えるように提案されている。
 しかしながら、この提案では、片方の参照ピクチャが完全に使用されなくなるため、重み付き予測が行われなくなり、重み付き予測における予測性能の改善はあまり期待できない。すなわち、非特許文献1の提案では、参照領域のほとんどが画面の中で、一部だけが画面の外である場合でも、その参照領域は全て使われなくなる。
 また、非特許文献1においては、ダイレクト・モードの改善のみが提案されており、双予測については言及されていない。
 本発明は、このような状況に鑑みてなされたものであり、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができるものである。
 本発明の一側面の画像処理装置は、処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先の画素が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測を行う動き予測補償手段を備える。
 前記動き予測補償手段は、前記画像のブロックの参照先が、前記複数の参照画像において画面内の画素である場合、それらの画素を用いて、規格で定められている重み付け予測を行い、前記画像のブロックの参照先が、前記複数の参照画像のどちらか一方の参照画像において画面外の画素であり、他方の参照画像において画面内の画素である場合、それらの画素を用いて、前記重み付け予測を行うことができる。
 前記重み付け予測の重みは、前記画面外の画素に対する重みより、前記画面内の画素に対する重みの方がより大きい。
 前記重み付け予測の重みは、0または1である。
 前記重み付け予測の重みを、前記画像のブロックの近傍の画素間の不連続性によって算出する重み算出手段をさらに備えることができる。
 前記重み算出手段により算出された前記重みの情報を符号化する符号化手段をさらに備えることができる。
 前記画像のブロックの近傍の画素間の不連続性によって算出されて、符号化されている重みの情報を復号する復号手段をさらに備え、前記動き予測補償手段は、前記重み付け予測を行う場合、前記復号手段により復号された重みの情報を用いることができる。
 前記異なる複数の参照画像を用いる予測は、双予測およびダイレクト・モード予測の少なくとも一方である。
 本発明の一側面の画像処理方法は、画像処理装置の動き予測補償手段が、処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測を行うステップを含む。
 本発明の一側面のプログラムは、処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測を行う動き予測補償手段として、コンピュータを機能させる。
 本発明の一側面においては、処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測が行われる。
 なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
 本発明によれば、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
従来のインター予測について説明する図である。 従来のインター予測について詳細に説明する図である。 ブロックサイズについて説明する図である。 インターポーレーションについて説明する図である。 画面端の処理を説明する図である。 双方向予測を説明する図である。 符号化モードと参照ピクチャおよび動きベクトルの関係を示す図である。 従来の重み付き予測を説明する図である。 本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。 図9の画像符号化装置の重み付き予測を説明する図である。 動き補償部の構成例を示すブロック図である。 図9の画像符号化装置の符号化処理を説明するフローチャートである。 図9の画像符号化装置の予測モード選択処理を説明するフローチャートである。 図9の画像符号化装置のBピクチャの補償処理を説明するフローチャートである。 予測ブロックを説明する図である。 参照ピクセル位置と処理方法の対応関係を示す図である。 図14の例の場合の効果を説明する図である。 本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。 図18の動き補償部の構成例を示すブロック図である。 図18の画像復号装置の復号処理を説明するフローチャートである。 拡張されたブロックサイズの例を示す図である。 コンピュータのハードウエアの構成例を示すブロック図である。 本発明を適用したテレビジョン受像機の主な構成例を示すブロック図である。 本発明を適用した携帯電話機の主な構成例を示すブロック図である。 本発明を適用したハードディスクレコーダの主な構成例を示すブロック図である。 本発明を適用したカメラの主な構成例を示すブロック図である。
 以下、図を参照して本発明の実施の形態について説明する。
[画像符号化装置の構成例]
 図9は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
 この画像符号化装置51は、例えば、H.264及びMPEG-4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式をベースに、入力された画像を圧縮符号化する。
 図9の例において、画像符号化装置51は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、蓄積バッファ67、逆量子化部68、逆直交変換部69、演算部70、デブロックフィルタ71、フレームメモリ72、イントラ予測部73、動き予測部74、動き補償部75、予測画像選択部76、およびレート制御部77により構成されている。
 A/D変換部61は、入力された画像をA/D変換し、画面並べ替えバッファ62に出力し、記憶させる。画面並べ替えバッファ62は、記憶した表示の順番のフレームの画像を、Gop(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
 演算部63は、画面並べ替えバッファ62から読み出された画像から、予測画像選択部76により選択されたイントラ予測部73からの予測画像または動き補償部75からの予測画像を減算し、その差分情報を直交変換部64に出力する。直交変換部64は、演算部63からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部65は直交変換部64が出力する変換係数を量子化する。
 量子化部65の出力となる、量子化された変換係数は、可逆符号化部66に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
 可逆符号化部66は、イントラ予測を示す情報をイントラ予測部73から取得し、インター予測モードを示す情報などを動き補償部75から取得する。なお、イントラ予測を示す情報およびインター予測を示す情報は、以下、それぞれ、イントラ予測モード情報およびインター予測モード情報とも称する。
 可逆符号化部66は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部66は、符号化したデータを蓄積バッファ67に供給して蓄積させる。
 例えば、可逆符号化部66においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
 蓄積バッファ67は、可逆符号化部66から供給されたデータを、符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
 また、量子化部65より出力された、量子化された変換係数は、逆量子化部68にも入力され、逆量子化された後、さらに逆直交変換部69において逆直交変換される。逆直交変換された出力は演算部70により予測画像選択部76から供給される予測画像と加算されて、局部的に復号された画像となる。
 演算部70からの復号された画像は、これから符号化される画像の参照画像として、イントラ予測部73とデブロックフィルタ71に出力される。デブロックフィルタ71は、復号された画像のブロック歪を除去した後、フレームメモリ72に供給し、蓄積させる。フレームメモリ72は、蓄積された参照画像を動き予測部74および動き補償部75に出力する。
 この画像符号化装置51においては、例えば、画面並べ替えバッファ62からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部73に供給される。また、画面並べ替えバッファ62から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測部74に供給される。
 イントラ予測部73は、画面並べ替えバッファ62から読み出されたイントラ予測する画像と演算部70からの参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
 その際、イントラ予測部73は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
 イントラ予測部73は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部76に供給する。イントラ予測部73は、予測画像選択部76により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部66に供給する。可逆符号化部66は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
 動き予測部74は、インター処理する画像とフレームメモリ72からの参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。動き補償部74は、生成した動きベクトルの情報を、動き補償部75に出力する。
 また、動き予測部74は、予測画像選択部76により最適インター予測モードの対象ブロックの予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報)、動きベクトル情報、参照フレーム情報などを可逆符号化部66に出力する。
 動き補償部75は、フレームメモリ72からの参照画像に補間フィルタを行う。動き補償部75は、動き予測部74からの動きベクトルまたは周囲のブロックの動きベクトルから求められた動きベクトルを用いて、候補となる全てのインター予測モードのブロックについて、フィルタ後の参照画像に補償処理を行い、予測画像を生成する。このとき、動き補償部75は、Bピクチャにおいて、ダイレクト・モードまたは双予測モードの場合、すなわち、異なる複数の参照画像を用いる予測モードの場合、対象となるブロックの参照先の画素が、それらの参照画像において画面外であるか否かに応じた重み付け予測を行って、予測画像を生成する。
 例えば、動き補償部75においては、対象ブロックの参照先が、一方の参照画像において画面外であり、他方の参照画像において画面内である場合、一方の参照画像の重みを小さくし、他方の参照画像の重みを大きくした重み付け予測が行われる。
 この重みは動き補償部75において算出されてもよいし、固定の値が用いられてもよい。なお、算出される場合には、可逆符号化部66に供給され、圧縮画像のヘッダに付加されて復号側へ送信される。
 さらに、動き補償部75は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、最もコスト関数値の小さい最適インター予測モードを決定する。動き補償部75は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部76に供給する。
 予測画像選択部76は、イントラ予測部73または動き補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部76は、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部76は、点線に示されるように、予測画像の選択情報を、イントラ予測部73または動き予測部74に供給する。
 レート制御部77は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[動き補償部の特徴]
 次に、図10を参照して、動き補償部75の特徴について説明する。
 動き補償部75においては、参照ピクチャ(画像)を2枚使って重み付き予測が行われる双予測またはダイレクト・モードにおいて、L0およびL1の両方の参照ピクセル(画素)が画面の中にあれば、H.264/AVC方式の重み付き予測が行われる。これに対して、L0またはL1の一方の参照ピクセル(画素)が画面の外で、他方の参照ピクセルが画面の中であれば、画面の中の参照ピクセルだけを使って予測が行われる。
 図10の例においては、図8の例と同様に、左から、L0参照ピクチャ、符号化対象ピクチャ、L1参照ピクチャが時間経過順に示されている。各ピクチャにおいて、一点鎖線は画面端を表しており、実線と一点鎖線の間の領域は、図5で上述した画面端のコピーにより拡張された領域を表している。
 また、各ピクチャにおける破線で囲まれた領域は、L0参照ピクチャにおいては、L0参照の参照領域を表し、符号化対象ピクチャにおいては、動き補償領域を表し、L1参照ピクチャにおいては、L1参照の参照領域を表している。そのうち、特に、L0参照の参照領域とL1参照の参照領域が、図10の下部に示されている。
 そして、図10においては、符号化対象ピクチャにおけるハッチングされた菱形の物体Pが左上から右下に動いている状態にあり、L0参照ピクチャにおいては、その物体Pの一部が画面の端を超えて外にある例が示されている。すなわち、L0参照ピクチャの参照領域は、その一部が画面の外にあり、L1参照ピクチャの参照領域は、すべて画面の中にある。
 そこで、動き補償部75は、L0参照ピクチャの参照領域のうち、画面の中の部分は、H.264/AVC方式の重み付き予測により予測画像を生成し、L0参照ピクチャの参照領域のうち、画面の外の部分については、それを使わずに、L1参照ピクチャの参照領域のみを使って予測画像を生成する。すなわち、L0参照ピクチャにおいては、L0参照の参照領域に示されるように、参照領域は、外側の破線四角であるが、実際には、内側の破線四角内の領域しか予測に用いられない。
 例えば、L0参照ピクチャの参照領域のうち、画面の外の部分については、L0参照ピクチャの参照領域に対する重みが0で、L1参照ピクチャの参照領域に対する重みが1の重み付き予測が行われる。なお、重みは、0、1でなくてもよく、一方の参照領域における画面の外の部分についての重みが、他方の参照領域における画面の中の部分についての重みより小さくされるようにすることもできる。この場合の重みは、固定であってもよいし、最適な重みが算出されてもよい。
 これにより、画面の外にあって画面内の画素値のコピーであった不正確な情報が使われない、あるいは、その重みが小さくされるので、画面端における予測性能を改善することができる。
[動き補償部の構成例]
 図11は、動き補償部の構成例を示す図である。
 図11の動き補償部75は、補間フィルタ81、補償処理部82、選択部83、動きベクトル予測部84、および予測モード決定部85により構成されている。
 補間フィルタ81には、フレームメモリ72からの参照フレーム(参照画像)情報が入力される。補間フィルタ81は、参照フレームの画素の間を補間して、縦横4倍に拡大し、補償処理部82に出力する。
 補償処理部82は、L0領域選択部91、L1領域選択部92、演算部93、画面端判定部94、重み算出部95により構成されている。なお、図11の例の補償処理部82においては、Bピクチャの場合の例が示されている。
 補間フィルタ81からの拡大された参照フレーム情報は、L0領域選択部91、L1領域選択部92、および画面端判定部94に入力される。
 L0領域選択部91は、選択部83からの予測モード情報とL0動きベクトル情報に応じて、拡大されたL0参照フレーム情報から、対応するL0参照領域を選択して、演算部93に出力する。この出力された参照領域の情報は、L0予測モードの場合、L0予測情報として、予測モード決定部85に出力される。
 L1領域選択部92は、選択部83からの予測モード情報とL1動きベクトル情報に応じて、拡大されたL1参照フレーム情報から、対応するL1参照領域を選択して、演算部93に出力する。この出力された参照領域の情報は、L1予測モードの場合、L1予測情報として、予測モード決定部85に出力される。
 演算部93は、乗算器93A、乗算器93B、および加算器93Cにより構成される。乗算器93Aは、L0領域選択部91からのL0参照領域情報に、画面端判定部94からのL0重み情報を乗算し、その結果を、加算器93Cに出力する。乗算器93Bは、L1領域選択部92からのL1参照領域情報に、画面端判定部94からのL1重み情報を乗算し、その結果を、加算器93Cに出力する。加算器93Cは、L0およびL1重み情報で重み配分されたL0参照領域およびL1参照領域を加算して、重み付き予測情報(Bi-pred予測情報)として、予測モード決定部85に出力する。
 画面端判定部94には、補間フィルタ81からの拡大された参照フレーム情報と選択部83からの動きベクトル情報が供給される。画面端判定部94は、それらの情報に基づいて、L0参照ピクセルまたはL1参照ピクセルが画面の外であるか否かを判定し、その判定結果に応じて、乗算器93Aおよび乗算器93Bに供給する重み係数を出力する。例えば、どちらも画面の中または外の場合、重み係数W=0.5が出力される。どちらか一方が画面の外で、他方が画面内である場合、少なくとも、画面の外の参照ピクセルに対しては、画面の中の参照ピクセルよりも小さい重み係数が与えられる。
 重み算出部95は、入力画像の特性に応じて、L0参照ピクセルおよびL1参照ピクセルのどちらか一方だけが画面の外である場合に用いられる重み係数を算出し、画面端判定部94に供給する。また、この算出された重み係数は、復号側に送るために、可逆符号化部66にも出力される。
 選択部83は、予測モードに応じて、動き予測部74により探索された動きベクトル情報および動きベクトル予測部84により求められた動きベクトル情報のどちらか一方を選択し、選択した動きベクトル情報を、画面端判定部94、L0領域選択部91、およびL1領域選択部92に供給する。
 動きベクトル予測部84は、スキップ・モードやダイレクト・モードのように、動きベクトルを復号側に送らないモードに応じて動きベクトルを予測し、選択部83に供給する。
 この動きベクトルの予測方法は、H.264/AVC方式と同様であり、動きベクトル予測部84においては、周囲のブロックの動きベクトルからメディアン予測で予測する空間予測や、コ・ロケーティッドブロック(co-located block)の動きベクトルから予測するテンポラル予測などが、モードに応じて行われる。コ・ロケーティッドブロックとは、対象ブロックのピクチャと異なるピクチャ(前または後に位置するピクチャ)のブロックであって、対象ブロックに対応する位置のブロックである。
 なお、図11の例において、その図示は省略するが、求める際の周囲のブロックの動きベクトル情報などは選択部83より得られる。
[重み係数の説明]
 画面端判定部94による判定結果に応じて供給され、演算部93において乗算される重み係数情報は、L0およびL1のうち一方の参照ピクセルが画面の外にある場合に、他方の参照ピクセルに乗ずる重みである。その値は、0.5から1の間をとり、画面の外にある一方のピクセルに乗じる重みを足し合わせると、1になる。
 したがって、L0重み係数情報がWL0ならば、L1重み係数情報はWL1=1-WL0となる。これらの結果、図11の演算部93における演算は、次の式(3)となる。
 Y = WL0IL0 + (1-WL0)IL1              ・・・(3)
 ここで、Yは、重み付き予測信号であり、IL0は、L0参照ピクセルであり、IL1は、L1参照ピクセルである。
 また、この重み係数は、重み算出部95により算出可能である。重み算出部95においては、例えば、画素間の相関の強弱に基づいて重みが算出される。画面内で隣り合う画素に相関が弱いとき、すなわち、隣り合う画素値に隔たりが大きいことが多いときは、画面端のピクセルをコピーしたピクセル値は信頼度が低いため、重み情報Wは1に近づき、相関が強いときは、H.264/AVC方式のとおり、画面端のピクセルをコピーしたピクセル値も信頼できるため、重み情報Wは0.5に近づく。
 この画素間の相関の強弱を調べる方法は、隣り合う画素の差分の絶対値の画面内の平均を計算する方法や、画素値の分散の大きさを算出する方法、フーリエ変換などを用いて高周波成分の大きさを求めて調べる方法などがある。
 最も簡単な例として、画面の外は信頼しないことにして、重みWを1で固定するようにしてもよい。この場合、重み情報を復号側に送る必要がなくなるので、ストリーム情報に含めなくてもよい。
 また、画面の外の重みが0になるので、演算部93の乗算器93A、乗算器93B、加算器93Cが不要になり、より簡単な選択回路に置き換えることができる。
[画像符号化装置の符号化処理の説明]
 次に、図12のフローチャートを参照して、図9の画像符号化装置51の符号化処理について説明する。
 ステップS11において、A/D変換部61は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ62は、A/D変換部61より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
 ステップS13において、演算部63は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き補償部75から、イントラ予測する場合はイントラ予測部73から、それぞれ予測画像選択部76を介して演算部63に供給される。
 差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
 ステップS14において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS26の処理で説明されるように、レートが制御される。
 以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部68は量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部69は逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
 ステップS18において、演算部70は、予測画像選択部76を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部63への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ71は、演算部70より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ72は、フィルタリングされた画像を記憶する。
 ステップS21において、イントラ予測部73は、イントラ予測処理を行う。具体的には、イントラ予測部73は、画面並べ替えバッファ62から読み出されたイントラ予測する画像と、演算部70から供給された画像(フィルタリングされてない画像)に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、イントラ予測画像を生成する。
 イントラ予測部73は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部73は、算出されたコスト関数値のうち、最小値を与えるイントラ予測モードを、最適イントラ予測モードとして決定する。そして、イントラ予測部73は、最適イントラ予測モードで生成されたイントラ予測画像とそのコスト関数値を、予測画像選択部76に供給する。
 画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73を介して動き予測部74および動き補償部75に供給される。
 ステップS22において、動き予測部74と動き補償部75は、動き予測・補償処理を行う。具体的には、動き予測部74は、インター処理する画像とフレームメモリ72からの参照画像に基づいて、候補となる全てのインター予測モードのブロックの動き予測を行い、各ブロックの動きベクトルを生成する。動き補償部74は、生成した動きベクトルの情報を、動き補償部75に出力する。
 動き補償部75は、フレームメモリ72からの参照画像に補間フィルタを行う。動き補償部75は、動き予測部74からの動きベクトルまたは周囲のブロックの動きベクトルから求められた動きベクトルを用いて、候補となる全てのインター予測モードのブロックについて、フィルタ後の参照画像に補償処理を行い、予測画像を生成する。
 このとき、動き補償部75は、Bピクチャにおいて、ダイレクト・モードまたは双予測モードの場合、すなわち、異なる複数の参照画像を用いる予測モードの場合、対象となるブロックの参照先の画素が、それらの参照画像において画面外であるか否かに応じた重み付け予測を行って、予測画像を生成する。なお、このBピクチャの場合の補償処理については、図14を参照して後述する。
 さらに、動き補償部75は、候補となる全てのインター予測モードに対して、処理対象のブロックのコスト関数値を求め、最もコスト関数値の小さい最適インター予測モードを決定する。動き補償部75は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部76に供給する。
 ステップS23において、予測画像選択部76は、イントラ予測部73および動き補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部76は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
 なお、この予測画像の選択情報は、図9の点線に示されるように、イントラ予測部73または動き予測部74に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部73は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部66に供給する。
 最適インター予測モードの予測画像が選択された場合、動き予測部74は、最適インター予測モードを示す情報、動きベクトル情報や参照フレーム情報を、可逆符号化部66に出力する。なお、動き補償部75において重みが算出される場合、動き補償部75にもインター予測画像が選択された情報が供給されるので、動き補償部75は、算出した重み係数情報を、可逆符号化部66に出力する。
 ステップS24において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS23において可逆符号化部66に入力された、イントラ予測部73からのイントラ予測モード情報、または、動き補償部75からの最適インター予測モードや、上述した各情報なども符号化され、ヘッダ情報に付加される。
 例えば、インター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。なお、重み係数の情報は、フレーム毎であってもよいし、シーケンス(撮像開始から終了までのシーン)毎であってもよい。
 ステップS25において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
 ステップS26においてレート制御部77は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[予測モード選択処理の説明]
 図9の画像符号化装置51においては、当該マクロブロックを符号化する際、複数の予測モードの中から最適なモードを決定する必要がある。代表的な決定方法は、マルチパス・エンコード方式によるもので、次の式(4)または式(5)を用いてコスト(すなわち、コスト関数値)を最小化するように動きベクトルと参照ピクチャ、および予測モードが決定される。
 Cost = SATD + λMotionGenBit            ・・・(4)

 Cost = SSD + λModeGenBit              ・・・(5)
 ここで、SATD(Sum of Absolute Transformed Difference)は、予測誤差にアダマール変換を施し、その絶対値和である。SSD ( Sum of Square Difference ) は2乗誤差和で、各ピクセルの予測誤差の2乗の総和である。GenBit (Generated Bit) は、当該マクロブロックを、当該候補モードで符号化した場合の発生ビット量である。 λMotion、λModeは、ラグランジュ乗数と呼ばれる変数で量子化パラメータQP、I/PピクチャおよびBピクチャによって決まる。
 上述した式(4)または式(5)を用いた画像符号化装置51の予測モード選択処理を、図13を参照して説明する。なお、この予測モード選択処理は、図12のステップS21乃至S23において、予測モード選択に着目した処理である。
 ステップS31において、イントラ予測部73および動き補償部75(予測モード決定部85)は、それぞれ、量子化パラメータQPおよびピクチャタイプからλを算出する。その矢印は図示しないが、量子化パラメータQPは、量子化部65より供給される。
 ステップS32において、イントラ予測部73は、イントラ4×4モードを、コスト関数値が小さくなるように決定する。イントラ4×4モードには、9種類の予測モードがあり、その中から、コスト関数値の最も小さいものがイントラ4×4モードとして決定される。
 ステップS33において、イントラ予測部73は、イントラ16×16モードを、コスト関数値が小さくなるように決定する。イントラ16×16モードには、4種類の予測モードがあり、その中から、コスト関数値の最も小さいものがイントラ16×16モードとして決定される。
 そして、ステップS34において、イントラ予測部73は、イントラ4×4モードおよびイントラ16×16のうち、コスト関数値の小さいモードを、最適イントラモードとして決定する。イントラ予測部73は、決定した最適イントラモードで求めた予測画像と、そのコスト関数値を予測画像選択部76に供給する。
 以上のステップS32乃至S34の処理は、図12のステップS21に対応する処理である。
 ステップS35において、動き予測部74および動き補償部75は、図3の下部に示される8×8マクロブロックサブパーティションにおいて、次の各モードについて動きベクトルおよび参照ピクチャを、コスト関数値が小さくなるように決定する。各モードには、8×8、8×4、4×8、4×4、およびBピクチャの場合ダイレクト・モードが含まれる。
 ステップS36において、動き予測部74および動き補償部75は、処理中の画像がBピクチャであるか否かを判定し、Bピクチャであると判定した場合、処理は、ステップS37に進む。動き予測部74および動き補償部75は、ステップS37において、双予測についても動きベクトルおよび参照ピクチャをコスト関数値が小さくなるように決定する。
 ステップS36において、Bピクチャではないと判定された場合、ステップS37はスキップされ、処理は、ステップS38に進む。
 ステップS38において、動き予測部74および動き補償部75は、図3の上部に示されるマクロブロックパーティションにおいて、次の各モードについて動きベクトルおよび参照ピクチャを、コスト関数値が小さくなるように決定する。各モードには、16×16、16×8、8×16、ダイレクト・モード、およびスキップ・モードが含まれる。
 ステップS39において、動き予測部74および動き補償部75は、処理中の画像がBピクチャであるか否かを判定し、Bピクチャであると判定した場合、処理は、ステップS40に進む。動き予測部74および動き補償部75は、ステップS40において、双予測についても動きベクトルおよび参照ピクチャをコスト関数値が小さくなるように決定する。
 ステップS39において、Bピクチャではないと判定された場合、ステップS40はスキップされ、処理は、ステップS41に進む。
 ステップS41において、動き補償部75(の予測モード決定部85)は、上述したマクロブロックパーティションおよびサブマクロブロックパーティションの中から、コスト関数値の小さいモードを、最適インターモードとして決定する。予測モード決定部85は、決定した最適インターモードで求めた予測画像と、そのコスト関数値を予測画像選択部76に供給する。
 以上のステップS35乃至S41の処理は、図12のステップS22に対応する処理である。
 ステップS42において、予測画像選択部76は、最適イントラモードおよび最適インターモードの中から、最もコスト関数値の小さいモードを決定する。このステップS42の処理は、図12のステップS23に対応する処理である。
 以上のようにして、動きベクトルおよび参照ピクチャ(インターの場合)、および予測モードが決定される。ここで、例えば、図13のステップS37やステップS40のBピクチャの場合の双予測およびダイレクト・モードにおいて、動きベクトルを決定する際、次に説明する図14の処理により補償された予測画像が使用される。
 図14は、Bピクチャの場合の補償処理を説明するフローチャートである。すなわち、図14は、図12のステップS22における動き予測・補償処理のBピクチャに特化した処理を表している。なお、図14の例においては、簡単のため、画面外の参照ピクセルに対する重み係数が0で、画面内の参照ピクセルに対する重み係数が1の場合を説明する。
 ステップS51において、選択部83は、処理対象のモードが、ダイレクト・モードあるいは双予測であるか否かを判定する。ステップS51において、ダイレクト・モードおよび双予測ではないと判定された場合、処理は、ステップS52に進む。
 ステップS52において、補償処理部82は、当該ブロックに対して、モード(L0予測またはL1予測)に応じた予測を行う。
 すなわち、選択部83は、L0予測の場合、L0領域選択部91のみに、予測モード情報とL0動きベクトル情報を送る。L0領域選択部91は、選択部83からの予測モード(L0予測を示す)情報とL0動きベクトル情報に応じて、拡大されたL0参照フレーム情報から、対応するL0参照領域を選択して、予測モード決定部85に出力する。L1の場合も同様である。
 ステップS51において、ダイレクト・モードまたは双予測であると判定された場合、処理は、ステップS53に進む。この場合、選択部83からの予測モード情報と動きベクトル情報は、L0領域選択部91、L1領域選択部92、および画面端判定部94に供給される。
 これに対応して、L0領域選択部91は、選択部83からの予測モード(ダイレクト・モードまたは双予測を示す)情報とL0動きベクトル情報に応じて、拡大されたL0参照フレーム情報から、対応するL0参照領域を選択して、演算部93に出力する。L1領域選択部92は、選択部83からの予測モード情報とL1動きベクトル情報に応じて、拡大されたL1参照フレーム情報から、対応するL1参照領域を選択して、演算部93に出力する。
 そして、画面端判定部94は、以下のステップS53乃至S57、およびS60において、参照ピクセルが画面の外であるか否かを判定する。以下の説明においては、図15に示される当該予測ブロックにおける当該予測ピクセルの座標が参照される。
 図15において、block_size_xは、当該予測ブロックのx方向の大きさを表し、block_size_yは、当該予測ブロックのy方向の大きさを表している。また、iは、当該予測ブロックにおける当該予測ピクセルのx座標を表し、jは、当該予測ブロックにおける当該予測ピクセルのy座標を表している。
 ここで、図15の場合、当該予測ブロックが4×4画素の例が示されているので、(block_size_x , block_size_y) = (4,4)、0≦i,j≦3となる。したがって、図15に示される当該予測ピクセルは、x=i=2,y=j=0の座標であることがわかる。
 ステップS53において、画面端判定部94は、値が0から始まるjがblock_size_yより小さいか否かを判定し、jがblock_size_yより大きいと判定した場合、処理を終了する。一方、ステップS53において、jがblock_size_yより小さいと判定された場合、すなわち、jが0乃至3の間、処理はステップS54に進み、それ以降の処理が繰り返される。
 ステップS54において、画面端判定部94は、値が0から始まるiがblock_size_xより小さいか否かを判定し、iがblock_size_xより大きいと判定した場合、処理は、ステップS53に戻り、それ以降の処理が繰り返される。また、ステップS54において、iがblock_size_xより小さいと判定された場合、すなわち、iが0乃至3の間、処理はステップS55に進み、それ以降の処理が繰り返される。
 ステップS55において、画面端判定部94は、L0動きベクトル情報mvL0x,mvL0yと、L1動きベクトル情報mvL1x,mvL1yを用いて、参照ピクセルを求める。すなわち、L0の参照先ピクセルのy座標yL0,x座標xL0およびL1の参照先ピクセルのy座標yL1,x座標xL1は、次の式(6)で求められる。
 yL0 = mvL0y + j
  xL0 = mvL0x + i
 yL1 = mvL1y + j
  xL1 = mvL1x + i                  ・・・(6)
 ステップS56において、画面端判定部94は、L0の参照先ピクセルのy座標yL0が0より小さいか、あるいは画枠の高さ(height:画面のy方向の大きさ)以上であるか、または、L0の参照先ピクセルのx座標xL0が0より小さいか、あるいは画枠の幅(width:画面のx方向の大きさ)以上であるかを判定する。
 すなわち、ステップS56において、次の式(7)が満たされるか否かが判定される。
Figure JPOXMLDOC01-appb-M000001
 ステップS56において、式(7)が満たされると判定された場合、処理は、ステップS57に進む。ステップS57において、画面端判定部94は、L1の参照先ピクセルのy座標yL1が0より小さいか、あるいは画枠の高さ(height:画面のy方向の大きさ)以上であるか、または、L1の参照先ピクセルのx座標xL1が0より小さいか、あるいは画枠の幅(width:画面のx方向の大きさ)以上であるかを判定する。
 すなわち、ステップS57において、次の式(8)が満たされるか否かが判定される。
Figure JPOXMLDOC01-appb-M000002
 ステップS57において、式(8)が満たされると判定された場合、処理は、ステップS58に進む。この場合、L0参照先ピクセルも、L1参照先ピクセルも、画面外のピクセルであるので、画面端判定部94は、当該ピクセルに対して、H.264/AVC方式による重み付き予測の重み係数情報を、演算部93に供給する。これに対応して、ステップS58において、演算部93は、当該ピクセルに対して、H.264/AVC方式による重み付き予測を行う。
 ステップS57において、式(8)が満たされないと判定された場合、処理は、ステップS59に進む。この場合、L0参照先ピクセルが、画面外のピクセルであり、L1参照先ピクセルが画面内のピクセルであるので、画面端判定部94は、当該ピクセルに対して、L0重み係数情報(0)、L1重み係数情報(1)を、演算部93に供給する。これに対応して、ステップS59において、演算部93は、当該ピクセルに対して、L1参照ピクセルのみを使って予測を行う。
 ステップS56において、式(7)が満たされないと判定された場合、処理は、ステップS60に進む。ステップS60において、画面端判定部94は、L1の参照先ピクセルのy座標yL1が0より小さいか、あるいは画枠の高さ(height:画面のy方向の大きさ)以上であるか、または、L1の参照先ピクセルのx座標xL1が0より小さいか、あるいは画枠の幅(width:画面のx方向の大きさ)以上であるかを判定する。
 すなわち、ステップS60においても、上述した式(8)が満たされるか否かが判定される。ステップS60において、式(8)が満たされると判定された場合、処理は、ステップS61に進む。
 この場合、L1参照先ピクセルが、画面外のピクセルであり、L0参照先ピクセルが画面内のピクセルであるので、画面端判定部94は、当該ピクセルに対して、L0重み係数情報(1)、L1重み係数情報(0)を、演算部93に供給する。これに対応して、ステップS61において、演算部93は、当該ピクセルに対して、L0参照ピクセルのみを使って予測を行う。
 一方、ステップS60において、式(8)が満たされないと判定された場合、どちらのピクセルも画面内のピクセルであるので、処理は、ステップS58に進み、当該ピクセルに対して、H.264/AVC方式による重み付き予測が行われる。
 ステップS58、S59、またはS61において演算部93により重み付き予測が行われた結果の重み付き(Bi-pred)予測情報は、予測モード決定部85に出力される。
 以上の処理をまとめると、図16に示されるようになる。図16の例においては、参照ピクセル位置と処理方法の対応関係が示されている。
 すなわち、L0参照領域における当該参照ピクセルの位置も、L1参照領域における当該参照ピクセルの位置も、画面内である場合、すなわち、図14のステップS57のYesの場合、当該ピクセルに対する処理方法として、H.264/AVC方式の重み付き予測が用いられる。
 L0参照領域における当該参照ピクセルの位置が画面の外であり、L1参照領域における当該参照ピクセルの位置が画面内である場合、すなわち、図14のステップS57のNoの場合、当該ピクセルに対する処理方法として、画面外のL0参照ピクセルよりも画面内のL1参照ピクセルに重みを置く重み付き予測が用いられる。なお、図14に示される例は、重み付き係数が0と1の例であるので、L1参照ピクセルのみ使う予測が用いられる。
 L1参照領域における当該参照ピクセルの位置が画面の外であり、L0参照領域における当該参照ピクセルの位置が画面内である場合、すなわち、図14のステップS60のYesの場合、当該ピクセルに対する処理方法として、画面外のL1参照ピクセルよりも画面内のL0参照ピクセルに重みを置く重み付き予測が用いられる。なお、図14に示される例は、重み付き係数が0と1の例であるので、L0参照ピクセルのみ使う予測が用いられる。
 L0参照領域における当該参照ピクセルの位置も、L1参照領域における当該参照ピクセルの位置も、画面外である場合、すなわち、図14のステップS60のNoの場合、当該ピクセルに対する処理方法として、H.264/AVC方式の重み付き予測が用いられる。
 次に、図17を参照して、図14の例の場合の効果について説明する。図17の例において、左から順に、L0参照ピクチャ、Currentピクチャ、L1参照ピクチャの画面内が示されている。なお、L0参照ピクチャにおける破線部分は、画面外を表している。
 すなわち、Currentピクチャの当該ブロックで探索された動きベクトルMV(L0)が示すL0参照ピクチャの参照ブロックは、画面外部分(破線部分)と画面内部分(白線部分)で構成されており、Currentピクチャの当該ブロックで探索された動きベクトルMV(L1)が示すL1参照ピクチャの参照ブロックは、画面内部分(白線部分)で構成されている。
 従来、すなわちH.264/AVC方式においては、画面外部分があろうがなかろうが、重み係数w(L0)およびw(L1)を用いる当該ブロックの重み付き予測に、両方の参照ブロックが使用されていた。
 これに対して、本発明において(特に、図14の例の場合)、重み係数w(L0)およびw(L1)を用いる当該ブロックの重み付き予測に、L0参照ブロックにおける画面外部分は使用されない。L0参照ブロックにおける画面外部分のみは、当該ブロックの重み付き予測に、L1参照ブロックのピクセルしか使用されない。
 すなわち、不正確な情報である可能性が高い画面外部分のピクセルは予測に使用されないので、H.264/AVC方式の重み予測よりも、予測精度が改善される。もちろん、重み係数を0、1にした図14の例に限らず、画面外部分の重み係数を画面内部分の重み係数よりも低くした場合であっても、H.264/AVC方式の重み予測よりも、予測精度が改善される。
 符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
 図18は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
 画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、イントラ予測部120、動き補償部121、およびスイッチ122により構成されている。
 蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図9の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図9の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図9の直交変換部64の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
 逆直交変換された出力は演算部115によりスイッチ122から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
 画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図9の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
 参照される画像をフレームメモリ119からの画像は、動き補償部121に供給される。演算部115からのデブロックフィルタ前の画像は、イントラ予測に用いられる画像として、イントラ予測部120に供給される。
 イントラ予測部120には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部112から供給される。イントラ予測部120は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ122に出力する。
 動き補償部121には、ヘッダ情報を復号して得られた情報のうち、インター予測モード情報、動きベクトル情報、参照フレーム情報などが可逆復号部112から供給される。インター予測モード情報は、マクロブロック毎に送信されてくる。動きベクトル情報や参照フレーム情報は、対象ブロック毎に送信されてくる。なお、画像符号化装置51で重み係数が算出されている場合には、その重み係数も、フレーム毎またはシーケンス毎に送られてくる。
 動き補償部121は、可逆復号部112からのインター予測モードに基づいて、供給された動きベクトル情報または周囲のブロックから求められる動きベクトル情報を用いて、参照画像に補償を行い、各ブロックの予測画像を生成する。このとき、動き補償部121は、図9の動き予測補償部75と同様に、Bピクチャにおいて、ダイレクト・モードまたは双予測モードの場合、すなわち、異なる複数の参照画像を用いる予測モードの場合、対象となるブロックの参照先の画素が、それらの参照画像において画面外であるか否かに応じた重み付け予測を行って、予測画像を生成する。生成された予測画像は、スイッチ122を介して、演算部115に出力される。
 スイッチ122は、動き補償部121またはイントラ予測部120により生成された予測画像を選択し、演算部115に供給する。
[動き補償部の構成例]
 図19は、動き補償部121の詳細な構成例を示すブロック図である。
 図19の例においては、動き補償部121は、補間フィルタ131、補償処理部132、選択部133、および動きベクトル予測部134により構成されている。
 補間フィルタ131には、フレームメモリ119からの参照フレーム(参照画像)情報が入力される。補間フィルタ131は、図11の補間フィルタ81と同様に、参照フレームの画素の間を補間して、縦横4倍に拡大し、補償処理部132に出力する。
 補償処理部132は、L0領域選択部141、L1領域選択部142、演算部143、および画面端判定部144により構成されている。なお、図19の例の補償処理部132においては、Bピクチャの場合の例が示されている。
 補間フィルタ131からの拡大された参照フレーム情報は、L0領域選択部141、L1領域選択部142、および画面端判定部144に入力される。
 L0領域選択部141は、選択部133からの予測モード情報とL0動きベクトル情報に応じて、拡大されたL0参照フレーム情報から、対応するL0参照領域を選択して、演算部143に出力する。この出力された参照領域の情報は、L0予測モードの場合、L0予測情報として、スイッチ122に出力される。
 L1領域選択部142は、選択部133からの予測モード情報とL1動きベクトル情報に応じて、拡大されたL1参照フレーム情報から、対応するL1参照領域を選択して、演算部143に出力する。この出力された参照領域の情報は、L1予測モードの場合、L1予測情報として、スイッチ122に出力される。
 演算部143は、図11の演算部93と同様に、乗算器143A、乗算器143B、および加算器143Cにより構成される。乗算器143Aは、L0領域選択部141からのL0参照領域情報に、画面端判定部144からのL0重み情報を乗算し、その結果を、加算器143Cに出力する。乗算器143Bは、L1領域選択部142からのL1参照領域情報に、画面端判定部144からのL1重み情報を乗算し、その結果を、加算器143Cに出力する。加算器143Cは、L0およびL1重み情報で重み配分されたL0参照領域およびL1参照領域を加算して、重み付き予測情報(Bi-pred予測情報)として、スイッチ122に出力する。
 画面端判定部144には、可逆復号部112からのインター予測モード情報、補間フィルタ131からの拡大された参照フレーム情報、および選択部133からの動きベクトル情報が供給される。
 画面端判定部144は、双予測またはダイレクト・モードの場合、参照フレーム情報と動きベクトル情報に基づいて、L0参照ピクセルまたはL1参照ピクセルが画面の外であるか否かを判定し、その判定結果に応じて、乗算器143Aおよび乗算器143Bに供給する重み係数を出力する。例えば、どちらも画面の中または外の場合、重み係数W=0.5が出力される。少なくとも、画面の外の参照ピクセルに対しては、画面の中の参照ピクセルよりも小さい重み係数が与えられる。
 また、図11の重み算出部95により重み係数が算出されている場合には、その重み係数も、可逆復号部112から供給されるので、画面端判定部144は、その重み係数を、判定結果に応じて、乗算器143Aおよび乗算器143Bに供給する重み係数を出力する。
 選択部133には、可逆復号部112からのインター予測情報と、動きベクトル情報がある場合には、それも供給される。選択部133は、予測モードに応じて、可逆復号部112からの動きベクトル情報および動きベクトル予測部134に求めさせた動きベクトル情報のどちらか一方を選択し、選択した動きベクトル情報を、画面端判定部144、L0領域選択部141、およびL1領域選択部142に供給する。
 動きベクトル予測部134は、図11の動きベクトル予測部84と同様に、スキップ・モードやダイレクト・モードのように、動きベクトルを復号側に送らないモードに応じて動きベクトルを予測し、選択部133に供給する。なお、図19の例において、その図示は省略するが、求める際の周囲のブロックの動きベクトル情報などは選択部133より得られる。
[画像復号装置の復号処理の説明]
 次に、図20のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
 ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図9の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
 このとき、ブロック毎に、動きベクトル情報、参照フレーム情報なども復号される。また、マクロブロック毎に、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)なども復号される。さらに、図9の符号化側において重み係数が算出されている場合には、その情報も復号される。
 ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図9の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図9の直交変換部64の特性に対応する特性で逆直交変換する。これにより図9の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
 ステップS135において、演算部115は、後述するステップS141の処理で選択され、スイッチ122を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
 ステップS138において、可逆復号部112は、圧縮画像のヘッダ部の可逆復号結果に基づいて、圧縮画像がインター予測された画像であるかどうか、即ち、可逆復号結果に最適インター予測モードを表す情報が含まれているかどうかを判定する。
 ステップS138で圧縮画像がインター予測された画像であると判定された場合、可逆復号部112は、動きベクトル情報、参照フレーム情報、最適インター予測モードを表す情報などを動き補償部121に供給する。重み係数が復号された場合には、それも動き補償部121に供給される。
 そして、ステップS139において、動き補償部121は、動き補償処理を行う。動き補償部121は、可逆復号部112からのインター予測モードに基づいて、供給された動きベクトル情報または周囲のブロックから求められる動きベクトル情報を用いて、参照画像に補償を行い、各ブロックの予測画像を生成する。
 このとき、動き補償部121は、図9の動き予測補償部75と同様に、Bピクチャにおいて、ダイレクト・モードまたは双予測モードの場合、すなわち、異なる複数の参照画像を用いる予測モードの場合、対象となるブロックの参照先の画素が、それらの参照画像において画面外であるか否かに応じた重み付け予測を行って、予測画像を生成する。生成された予測画像は、スイッチ122を介して、演算部115に出力される。なお、このBピクチャの場合の補償処理については、図14を参照した補償処理と同様であるので、その説明を省略する。
 一方、ステップS138で圧縮画像がインター予測された画像ではないと判定された場合、すなわち、可逆復号結果に最適イントラ予測モードを表す情報が含まれている場合、可逆復号部112は、最適イントラ予測モードを表す情報をイントラ予測部120に供給する。
 そして、ステップS140において、イントラ予測部120は、可逆復号部112からの情報が表す最適イントラ予測モードで、フレームメモリ119からの画像に対してイントラ予測処理を行い、イントラ予測画像を生成する。そして、イントラ予測部120は、イントラ予測画像をスイッチ122に出力する。
 ステップS141において、スイッチ122は予測画像を選択し、演算部115に出力する。すなわち、イントラ予測部120により生成された予測画像、または動き補償部121により生成された予測画像が供給される。したがって、供給された予測画像が選択されて演算部115に出力され、上述したように、ステップS135において逆直交変換部114の出力と加算される。
 ステップS142において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
 ステップS143において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
 以上のように、画像符号化装置51および画像復号装置101においては、複数の異なる参照ピクチャを用いた重み付き予測を行う双予測よびダイレクト・モードにおいて、L0またはL1参照ピクセルのどちらか一方が画面の外を参照する場合、不正確な情報である可能性が高い外のピクセルよりも、信頼性の高い他方のピクセルに対しての重みを大きくした重み予測が行われる。
 すなわち、本発明の場合、特許文献1の提案の場合には、全く使われなかったブロックのうち、画面内に存在するピクセルが用いられる。
 したがって、本発明によれば、Bピクチャにおける、特に、画面の端の付近のインター符号化の予測精度が改善される。これにより、残差信号が削減され、残差信号のビット量が減ることにより、符号化効率が改善される。
 なお、この改善は、画面が大きい場合よりも携帯端末などの小さい画面の方により効果がある。また、ビットレートが低い場合も、さらに効果的である。
 残差信号が削減されると、その直交変換後の係数も小さくなり、量子化後には多くの係数が0になることが期待される。H.264/AVC方式では、連続した0の個数をストリーム情報に含める。通常、0以外の値を決められた符号で置き換えるよりも、0の個数で表現する方がはるかに少ない符号量にできるため、本発明により多くの係数が0になることは、符号ビット量の削減につながる。
 また、本発明によれば、ダイレクト・モードの予測精度が改善されるため、ダイレクト・モードが選択されやすくなる。ダイレクト・モードは、動きベクトル情報を持たないため、特に画面の端付近で動きベクトル情報によるヘッダ情報が削減される。
 すなわち、従来は、L0またはL1参照ピクチャの参照領域が画面の外になっている場合に、ダイレクト・モードを選択しようとしても、上述したコスト関数値が増大してしまい、ダイレクト・モードが選択されにくいためである。
 さらに、これを避けるために、双予測で小さいブロックが選択された場合、各ブロックの動きベクトル情報が増えてしまうが、本発明により、ダイレクト・モードで大きいブロックが選択されることで、動きベクトル情報が削減される。また、大きいブロックに対してはビット長が少なくなるようにビット列が定められているので、本発明により大きいブロックが選択されやすくなれば、モード情報のビット量も削減される。
 また、低ビットレートでは、大きな量子化パラメータQPを用いて量子化されるため、予測精度が画質に直接的に影響するようになってしまうので、予測精度が改善されると、画面の端付近での画質が改善される。
 なお、上記説明では、双予測およびダイレクト・モードの場合の動き補償において、L0またはL1参照ピクセルのどちらか一方が画面の外を参照する場合、不正確な情報である可能性が高い外のピクセルよりも、信頼性の高い他方のピクセルに対しての重みを大きくした重み予測が行われるようにしたが、双予測においては、この重み予測を、動き探索の際に用いるようにしてもよい。動き探索の際に、本発明の重み予測を適用することにより、動き探索の精度が高くなるので、動き補償の際よりもさらに予測精度を改善することができる。
[拡張マクロブロックサイズへの適用の説明]
 図21は、非特許文献2で提案されているブロックサイズの例を示す図である。非特許文献2では、マクロブロックサイズが32×32画素に拡張されている。
 図21の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図21の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図21の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
 すなわち、32×32画素のマクロブロックは、図21の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
 上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
 中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
 このような階層構造を採用することにより、非特許文献2の提案では、16×16画素のブロック以下に関しては、H.264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
 以上のように提案される拡張されたマクロブロックサイズにも本発明を適用することができる。
 また、以上においては、符号化方式としてH.264/AVC方式をベースに用いるようにしたが、本発明はこれに限らず、その他の動き予測・補償処理を行う符号化方式/復号方式を用いる画像符号化装置/画像復号装置に適用することもできる。
 なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
 上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
[パーソナルコンピュータの構成例]
 図22は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
 コンピュータにおいて、CPU(Central Processing Unit)251、ROM(Read Only Memory)252、RAM(Random Access Memory)253は、バス254により相互に接続されている。
 バス254には、さらに、入出力インタフェース255が接続されている。入出力インタフェース255には、入力部256、出力部257、記憶部258、通信部259、およびドライブ260が接続されている。
 入力部256は、キーボード、マウス、マイクロホンなどよりなる。出力部257は、ディスプレイ、スピーカなどよりなる。記憶部258は、ハードディスクや不揮発性のメモリなどよりなる。通信部259は、ネットワークインタフェースなどよりなる。ドライブ260は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア261を駆動する。
 以上のように構成されるコンピュータでは、CPU251が、例えば、記憶部258に記憶されているプログラムを入出力インタフェース255及びバス254を介してRAM253にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU251)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア261に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディア261をドライブ260に装着することにより、入出力インタフェース255を介して、記憶部258にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部259で受信し、記憶部258にインストールすることができる。その他、プログラムは、ROM252や記憶部258に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、上述した画像符号化装置51や画像復号装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
[テレビジョン受像機の構成例]
 図23は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
 図23に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
 地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
 映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
 グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
 パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
 表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
 また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
 地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
 音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
 音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
 音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
 さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
 デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
 テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した画像復号装置101を用いる。したがって、MPEGデコーダ317は、画像復号装置101の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
 MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
 また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
 A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
 音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
 ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
 音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
 エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
 SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
 フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
 例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
 MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
 また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
 受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
 CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
 USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
 テレビジョン受像機300は、MPEGデコーダ317として画像復号装置101を用いることにより、符号化効率を向上することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
[携帯電話機の構成例]
 図24は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
 図24に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
 また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
 電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
 携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
 例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
 また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
 更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
 また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
 また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
 なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
 さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
 携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した画像符号化装置51を用いる。したがって、画像エンコーダ453は、画像符号化装置51の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
 携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
 なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
 また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
 携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
 携帯電話機400は、このような処理を行う画像デコーダ456として、上述した画像復号装置101を用いる。したがって、画像デコーダ456は、画像復号装置101の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
 なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
 また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
 さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
 携帯電話機400は、画像エンコーダ453として画像符号化装置51を用いることにより、予測精度が改善される。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
 また、携帯電話機400は、画像デコーダ456として画像復号装置101を用いることにより、予測精度が改善される。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
 なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
 また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
[ハードディスクレコーダの構成例]
 図25は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
 図25に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
 ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
 さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
 ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
 もちろん、この他の動作も可能である。
 図25に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
 また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
 受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
 通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
 復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
 オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
 ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換する。ディスプレイコンバータ530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
 ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
 モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
 記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
 記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
 記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
 レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
 また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
 通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
 また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
 また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
 さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
 以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして画像復号装置101を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置101の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 したがって、ハードディスクレコーダ500は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
 また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置51を用いる。したがって、エンコーダ551は、画像符号化装置51の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 したがって、ハードディスクレコーダ500は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、より高速に、ハードディスクの記憶領域をより効率よく使用することができる。
 なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
[カメラの構成例]
 図26は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
 図26に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
 レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
 カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
 以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
 デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
 オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
 コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
 例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
 また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
 さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
 記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
 また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
 外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
 さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
 以上のようなカメラ600は、デコーダ615として画像復号装置101を用いる。したがって、デコーダ615は、画像復号装置101の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 したがって、カメラ600は、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616に表示させることができる。
 また、カメラ600は、エンコーダ641として画像符号化装置51を用いる。したがって、エンコーダ641は、画像符号化装置51の場合と同様に、Bピクチャにおける、特に画面の端の付近の予測精度を改善することができる。これにより、符号化効率を改善することができる。
 したがって、カメラ600は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、より高速に、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
 なお、コントローラ621が行う復号処理に画像復号装置101の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
 また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
 もちろん、画像符号化装置51および画像復号装置101は、上述した装置以外の装置やシステムにも適用可能である。
 51 画像符号化装置, 66 可逆符号化部, 75 動き予測・補償部, 81 補間フィルタ, 82 補償処理部, 83 選択部, 84 動きベクトル予測部, 85 予測モード決定部, 91 L0領域選択部, 92 L1領域選択部, 93 演算部, 93A,93B 乗算器,  93C 加算器, 94 画面端判定部, 95 重み算出部, 101 画像復号装置, 112 可逆復号部, 121 動き補償部, 131 補間フィルタ, 132 補償処理部, 133 選択部, 134 動きベクトル予測部, 141 L0領域選択部, 142 L1領域選択部, 143 演算部, 143A,143B 乗算器,  143C 加算器, 144 画面端判定部

Claims (10)

  1.  処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先の画素が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測を行う動き予測補償手段を
     備える画像処理装置。
  2.  前記動き予測補償手段は、前記画像のブロックの参照先が、前記複数の参照画像において画面内の画素である場合、それらの画素を用いて、規格で定められている重み付け予測を行い、
     前記画像のブロックの参照先が、前記複数の参照画像のどちらか一方の参照画像において画面外の画素であり、他方の参照画像において画面内の画素である場合、それらの画素を用いて、前記重み付け予測を行う
     請求項1に記載の画像処理装置。
  3.  前記重み付け予測の重みは、前記画面外の画素に対する重みより、前記画面内の画素に対する重みの方がより大きい
     請求項2に記載の画像処理装置。
  4.  前記重み付け予測の重みは、0または1である
     請求項3に記載の画像処理装置。
  5.  前記重み付け予測の重みを、前記画像のブロックの近傍の画素間の不連続性によって算出する重み算出手段を
     さらに備える請求項3に記載の画像処理装置。
  6.  前記重み算出手段により算出された前記重みの情報を符号化する符号化手段を
     さらに備える請求項5に記載の画像処理装置。
  7.  前記画像のブロックの近傍の画素間の不連続性によって算出されて、符号化されている重みの情報を復号する復号手段をさらに備え、
     前記動き予測補償手段は、前記重み付け予測を行う場合、前記復号手段により復号された重みの情報を用いる
     請求項3に記載の画像処理装置。
  8.  前記異なる複数の参照画像を用いる予測は、双予測およびダイレクト・モード予測の少なくとも一方である
     請求項2に記載の画像処理装置。
  9.  画像処理装置の動き予測補償手段が、
     処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測を行うステップを
     含む画像処理方法。
  10.  処理対象の画像により参照される異なる複数の参照画像を用いる予測において、前記画像のブロックの参照先が、前記複数の参照画像において画面外であるか否かに応じた重み付け予測を行う動き予測補償手段と
     して、コンピュータを機能させるためのプログラム。
PCT/JP2011/050101 2010-01-18 2011-01-06 画像処理装置および方法、並びにプログラム Ceased WO2011086964A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/520,384 US20130003842A1 (en) 2010-01-18 2011-01-06 Apparatus and method for image processing, and program
CN2011800058435A CN102742272A (zh) 2010-01-18 2011-01-06 用于图像处理的设备和方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010-007806 2010-01-18
JP2010007806A JP2011147049A (ja) 2010-01-18 2010-01-18 画像処理装置および方法、並びにプログラム

Publications (1)

Publication Number Publication Date
WO2011086964A1 true WO2011086964A1 (ja) 2011-07-21

Family

ID=44304237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/050101 Ceased WO2011086964A1 (ja) 2010-01-18 2011-01-06 画像処理装置および方法、並びにプログラム

Country Status (6)

Country Link
US (1) US20130003842A1 (ja)
JP (1) JP2011147049A (ja)
KR (1) KR20120118463A (ja)
CN (1) CN102742272A (ja)
TW (1) TW201143450A (ja)
WO (1) WO2011086964A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089326B2 (en) 2017-10-20 2021-08-10 Fujitsu Limited Moving image encoding device, moving image encoding method, moving image decoding device, and moving image decoding method

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104869292B (zh) * 2015-05-21 2019-04-19 深圳市拓普视频科技发展有限公司 在视频信号中叠加智能信号的模拟监控摄像方法和摄像机
CN105681809B (zh) * 2016-02-18 2019-05-21 北京大学 针对双前向预测单元的运动补偿方法
WO2019135447A1 (ko) * 2018-01-02 2019-07-11 삼성전자 주식회사 움직임 예측에 의한 패딩 기법을 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR102499187B1 (ko) * 2018-02-12 2023-02-13 삼성전자주식회사 카메라를 이용하여 획득한 이미지를 압축 처리하는 전자 장치 및 그 동작 방법
WO2019234598A1 (en) * 2018-06-05 2019-12-12 Beijing Bytedance Network Technology Co., Ltd. Interaction between ibc and stmvp
CN113115046A (zh) 2018-06-21 2021-07-13 北京字节跳动网络技术有限公司 分量相关的子块分割
CN110636298B (zh) 2018-06-21 2022-09-13 北京字节跳动网络技术有限公司 对于Merge仿射模式和非Merge仿射模式的统一约束
WO2020065518A1 (en) 2018-09-24 2020-04-02 Beijing Bytedance Network Technology Co., Ltd. Bi-prediction with weights in video coding and decoding
CN111028357B (zh) * 2018-10-09 2020-11-17 北京嘀嘀无限科技发展有限公司 增强现实设备的软阴影处理方法和装置
JP7324841B2 (ja) 2018-11-10 2023-08-10 北京字節跳動網絡技術有限公司 ビデオ・データ処理方法、装置、記憶媒体及び記憶方法
CN114846797A (zh) * 2019-12-19 2022-08-02 交互数字Vc控股公司 编码和解码方法及装置
US20250211775A1 (en) * 2022-03-07 2025-06-26 Sharp Kabushiki Kaisha Systems and methods for handling out of boundary motion compensation predictors in video coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010052838A1 (ja) * 2008-11-07 2010-05-14 三菱電機株式会社 動画像符号化装置及び動画像復号装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2725577B1 (fr) * 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
US7376186B2 (en) * 2002-07-15 2008-05-20 Thomson Licensing Motion estimation with weighting prediction
US7903742B2 (en) * 2002-07-15 2011-03-08 Thomson Licensing Adaptive weighting of reference pictures in video decoding
JP4756573B2 (ja) * 2002-12-04 2011-08-24 トムソン ライセンシング 重み付け予測を用いたビデオ・クロス・フェードの符号器および符号化方法
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
US7515637B2 (en) * 2004-05-21 2009-04-07 Broadcom Advanced Compression Group, Llc Video decoding for motion compensation with weighted prediction
US7933335B2 (en) * 2004-11-30 2011-04-26 Panasonic Corporation Moving picture conversion apparatus
JP2007067731A (ja) * 2005-08-30 2007-03-15 Sanyo Electric Co Ltd 符号化方法
US20090316786A1 (en) * 2006-04-14 2009-12-24 Nxp B.V. Motion estimation at image borders
US8942505B2 (en) * 2007-01-09 2015-01-27 Telefonaktiebolaget L M Ericsson (Publ) Adaptive filter representation
US8995526B2 (en) * 2009-07-09 2015-03-31 Qualcomm Incorporated Different weights for uni-directional prediction and bi-directional prediction in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010052838A1 (ja) * 2008-11-07 2010-05-14 三菱電機株式会社 動画像符号化装置及び動画像復号装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YUSUKE ITANI ET AL.: "A Study on Improvement of Direct Mode for Video Coding", PICTURE CODING SYMPOSIUM OF JAPAN (PCSJ2009) DAI 24 KAI SIMPOSIUM SHIRYO, October 2009 (2009-10-01), pages 63 - 64 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11089326B2 (en) 2017-10-20 2021-08-10 Fujitsu Limited Moving image encoding device, moving image encoding method, moving image decoding device, and moving image decoding method
US11778228B2 (en) 2017-10-20 2023-10-03 Fujitsu Limited Moving image encoding device, moving image encoding method, moving image decoding device, and moving image decoding method

Also Published As

Publication number Publication date
CN102742272A (zh) 2012-10-17
KR20120118463A (ko) 2012-10-26
JP2011147049A (ja) 2011-07-28
TW201143450A (en) 2011-12-01
US20130003842A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
JP5597968B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
WO2011086964A1 (ja) 画像処理装置および方法、並びにプログラム
WO2010101064A1 (ja) 画像処理装置および方法
WO2011024685A1 (ja) 画像処理装置および方法
WO2010035731A1 (ja) 画像処理装置および方法
JPWO2010095560A1 (ja) 画像処理装置および方法
WO2011078002A1 (ja) 画像処理装置および方法、並びにプログラム
WO2010035733A1 (ja) 画像処理装置および方法
WO2010035734A1 (ja) 画像処理装置および方法
WO2011040302A1 (ja) 画像処理装置および方法
WO2010095559A1 (ja) 画像処理装置および方法
WO2011089972A1 (ja) 画像処理装置および方法
WO2010035730A1 (ja) 画像処理装置および方法
JP2011151683A (ja) 画像処理装置および方法
WO2010035732A1 (ja) 画像処理装置および方法
WO2013065572A1 (ja) 符号化装置および方法、並びに、復号装置および方法
JPWO2010064674A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
JPWO2010064675A1 (ja) 画像処理装置および画像処理方法、並びにプログラム
WO2011086963A1 (ja) 画像処理装置および方法
WO2010010943A1 (ja) 画像処理装置および方法
WO2011078001A1 (ja) 画像処理装置および方法、並びにプログラム
JPWO2010038858A1 (ja) 画像処理装置および方法
JPWO2010035735A1 (ja) 画像処理装置および方法
JP5429582B2 (ja) 画像処理装置および方法
WO2011125625A1 (ja) 画像処理装置および方法

Legal Events

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

Ref document number: 201180005843.5

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 13520384

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20127017864

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11732834

Country of ref document: EP

Kind code of ref document: A1