WO2012102024A1 - 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置 - Google Patents

動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置 Download PDF

Info

Publication number
WO2012102024A1
WO2012102024A1 PCT/JP2012/000429 JP2012000429W WO2012102024A1 WO 2012102024 A1 WO2012102024 A1 WO 2012102024A1 JP 2012000429 W JP2012000429 W JP 2012000429W WO 2012102024 A1 WO2012102024 A1 WO 2012102024A1
Authority
WO
WIPO (PCT)
Prior art keywords
reference picture
prediction
block
motion vector
mode
Prior art date
Application number
PCT/JP2012/000429
Other languages
English (en)
French (fr)
Inventor
敏康 杉尾
西 孝啓
陽司 柴原
寿郎 笹井
Original Assignee
パナソニック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パナソニック株式会社 filed Critical パナソニック株式会社
Publication of WO2012102024A1 publication Critical patent/WO2012102024A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers

Definitions

  • the present invention relates to a moving image coding method for coding an input image in units of blocks using inter-frame prediction that refers to an encoded picture, and to decode a bit stream in units of blocks using inter-frame prediction.
  • the present invention relates to a moving picture decoding method.
  • the amount of information is compressed using redundancy in the spatial direction and temporal direction of a moving image.
  • a method of using redundancy in the spatial direction conversion to the frequency domain is used, and as a method of using redundancy in the temporal direction, inter-picture prediction (hereinafter referred to as inter prediction) encoding is used. Processing is used.
  • inter prediction encoding process when a certain picture is encoded, an encoded picture that is ahead or behind in the display time order with respect to the encoding target picture is used as a reference picture. Then, a motion vector is detected by detecting the motion of the encoding target picture with respect to the reference picture.
  • An I picture is a picture that does not perform inter prediction encoding processing, that is, performs intra prediction (hereinafter referred to as intra prediction) encoding processing.
  • a P picture is a picture that is subjected to inter prediction encoding with reference to one already encoded picture in front of or behind the current picture in display time order.
  • the B picture is a picture that performs inter prediction encoding with reference to two already encoded pictures that are in front of or behind the encoding target picture in display time order.
  • a reference picture list for specifying a reference picture is generated.
  • the reference picture list is a list in which a reference picture index is assigned to an encoded reference picture that is referred to in inter prediction.
  • two reference picture lists (L0, L1) are held.
  • FIG. 1A is a diagram for explaining reference picture index assignment to reference pictures
  • FIGS. 1B and 1C are diagrams illustrating examples of reference picture lists in B pictures.
  • FIG. 1A assumes a case where, for example, reference picture 3, reference picture 2, reference picture 1, and encoding target picture are arranged in the order of display.
  • the reference picture list 1 (L0) is an example of the reference picture list in the prediction direction 1 in the bi-directional prediction
  • the reference picture in the display order 2 is set to the value “0” of the reference picture index 1 as shown in FIG. 1B.
  • Reference picture 2 in display order 1 is assigned to value “1” of reference picture index 1
  • reference picture 3 in display order 0 is assigned to value “2” in reference picture index 1. That is, the reference picture index is assigned to the encoding target picture in the order of time in display order.
  • the reference picture list 2 (L1) is an example of the reference picture list in the prediction direction 2 in the bi-directional prediction
  • the reference picture 2 in the display order 1 is set to the value “0” of the reference picture index 2 as shown in FIG. 1C.
  • the reference picture 1 in the display order 2 is assigned to the value “1” of the reference picture index 2
  • the reference picture 3 in the display order 0 is assigned to the value “2” of the reference picture index 2.
  • the inter prediction coding mode of each coding target block in the B picture the difference value between the prediction image data and the coding target block and the prediction image data generation are used.
  • the motion vector detection mode that encodes the motion vector, and only the difference value of the image data are encoded, the direct mode that predicts the motion vector from the peripheral blocks, and the difference value and motion vector of the image data are not encoded.
  • There is a skip mode in which a predicted image at a position indicated by a motion vector predicted from a peripheral block or the like is a decoded image as it is.
  • a motion vector is predicted from a spatial direct mode in which a motion vector is predicted from the peripheral blocks of the encoding target block in the encoding target picture including the encoding target block and a co-located block of the encoding target block
  • the co-located block is a block in a picture different from the encoding target picture, and a position in the picture at the same position as the encoding target block.
  • the motion vector detection mode for the B picture includes two-way prediction in which a prediction image is generated with reference to two already-encoded pictures ahead or behind the current picture as a prediction direction, and forward or backward.
  • the one-way prediction for generating the predicted image with reference to one already encoded picture in (1) can be selected.
  • the prediction direction of the block to be encoded is determined according to the prediction mode of the neighboring blocks and the like.
  • the encoded block adjacent to the left of the encoding target block is adjacent block A
  • the encoded block adjacent above the encoding target block is adjacent block B
  • the encoded block adjacent to the upper right of the encoding target block is Is an adjacent block C.
  • the adjacent block A is bi-directional prediction, and has a motion vector MvL0_A in the prediction direction 1 and a motion vector MvL1_A in the prediction direction 2.
  • MvL0 is a motion vector that refers to the reference picture specified by the reference picture list 1 (L0)
  • MvL1 is a motion vector that refers to the reference picture specified by the reference picture list (L1).
  • Adjacent block B is unidirectional prediction and has motion vector MvL0_B in prediction direction 1.
  • the adjacent block C is unidirectional prediction and has a motion vector MvL0_C in the prediction direction 1.
  • motion vectors MvL0_A, MvL0_B, and MvL0_C of each adjacent block refer to the same reference picture RefIdxL0
  • MvL1_A refers to the reference picture RefIdxL1.
  • the prediction directions in the skip mode and the direct mode are RefIdxL0 and RefIdxL1 in any one of the adjacent blocks. If there is a bi-directional prediction that refers to, bi-directional prediction. In the case of FIG. 2, since the adjacent block A satisfies the above condition, bi-directional prediction is selected as the prediction direction of the encoding target block.
  • An object of the present invention is to solve the above-described problem, and a moving picture coding method and a moving picture that can derive a motion vector most suitable for a picture to be coded and improve coding efficiency.
  • An object is to provide a decryption method.
  • a moving picture coding method performs a reference picture candidate for specifying a reference picture to be referred to when coding a coding target block included in a coding target picture.
  • the at least one motion vector and the reference picture index used in the coding target block are determined from the first candidate and the second candidate, and the determined at least one motion vector and the reference picture are determined.
  • the encoding target block is encoded using the index value.
  • the second adjacent block is included in an encoded picture different from the encoding target picture, and a position in the picture corresponds to a position of the encoding target block in the encoding target picture It may be a block.
  • the moving image encoding method may further include at least one of the candidate lists assigned with candidate indexes to the first candidate and the second candidate to be used in the encoding target block.
  • the value of the candidate index corresponding to the value of the motion vector and the reference picture index may be specified.
  • the identified candidate index value may be added to a bitstream obtained by encoding the encoding target picture.
  • the motion vector included in the second candidate is the motion vector obtained by scaling the motion vector used in the reference block according to a reference distance between the encoding target picture and the reference picture. It may be.
  • the value of the reference picture index of the second candidate the value of the reference picture index used in the adjacent block on the left of the encoding target block may be determined.
  • the value of the reference picture index of the second candidate may be determined as a minimum value.
  • the moving picture decoding method provides a reference picture index for a reference picture candidate in order to identify a reference picture to be referenced when decoding a decoding target block included in the decoding target picture.
  • a moving picture decoding method for decoding the decoding target block by inter prediction using an assigned reference picture list wherein at least one motion used in a first adjacent block of the decoding target block A vector and a value of the reference picture index are determined as at least one first candidate, and at least one of the motion vectors used in a second neighboring block of the decoding target block, and the first neighboring Determining the value of the reference picture index used in the block as a second candidate, and the first candidate And determining at least one motion vector and reference picture index value to be used in the decoding target block from among the second candidates, and using the determined at least one motion vector and reference picture index value.
  • the decoding target block is decoded.
  • the second adjacent block is included in a decoded picture different from the decoding target picture, and a position in the picture corresponds to a position of the decoding target block in the decoding target picture It may be a block.
  • the moving picture decoding method further acquires a value of a candidate index from a bitstream including a decoding target picture, and uses the acquired value of the candidate index to acquire the first candidate and the second candidate
  • a value of at least one of the motion vector and the reference picture index used in the decoding target block may be determined from a candidate list in which the candidate index is assigned to the candidate.
  • the motion vector included in the second candidate is obtained by scaling the motion vector used in the reference block according to a reference distance between the decoding target picture and the reference picture. It may be.
  • the value of the reference picture index used in the adjacent block on the left of the decoding target block may be determined as the value of the reference picture index of the second candidate.
  • the value of the reference picture index of the second candidate may be determined as a minimum value.
  • the present invention can be realized not only as such a moving image encoding method and a moving image decoding method, but also including the characteristic steps included in such a moving image encoding method and a moving image decoding method. It can also be realized as a moving image encoding device, a moving image decoding device, and a moving image encoding / decoding device as a means, or as a program for causing a computer to execute these steps.
  • a program can be realized as a recording medium such as a computer-readable CD-ROM, or can be realized as information, data, or a signal indicating the program.
  • These programs, information, data, and signals may be distributed via a communication network such as the Internet.
  • the present invention it is possible to derive a motion vector and a reference picture that are most suitable for a picture to be coded, and to improve coding efficiency.
  • FIG. 1A is a diagram for explaining assignment of a reference picture index to a reference picture.
  • FIG. 1B is a diagram illustrating an example of a reference picture list in a B picture.
  • FIG. 1C is a diagram illustrating an example of a reference picture list in a B picture.
  • FIG. 2 is a diagram illustrating the relationship between the encoding target block, adjacent blocks, and motion vectors of adjacent blocks.
  • FIG. 3 is a block diagram showing a configuration of an embodiment of a moving picture coding apparatus using the moving picture coding method according to the present invention.
  • FIG. 4 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 1A is a diagram for explaining assignment of a reference picture index to a reference picture.
  • FIG. 1B is a diagram illustrating an example of a reference picture list in a B picture.
  • FIG. 1C is a diagram illustrating an example of a reference picture list in a B picture.
  • FIG. 5 is a flowchart showing a flow of determining the skip mode prediction direction in the skip mode prediction direction determination unit.
  • FIG. 6 is a flowchart illustrating the inter prediction mode determination flow in the inter prediction control unit 109.
  • FIG. 7 is a flowchart showing a processing flow for calculating the cost CostInter in the motion vector detection mode.
  • FIG. 8 is a flowchart showing a processing flow for calculating the cost CostDirect in the direct mode.
  • FIG. 9 is a diagram illustrating the relationship between the encoding target block, the adjacent block, and the motion vector of the adjacent block.
  • FIG. 10 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • FIG. 11A is a diagram illustrating an example of a motion vector predictor candidate.
  • FIG. 11A is a diagram illustrating an example of a motion vector predictor candidate.
  • FIG. 11B is a diagram illustrating an example of a code table used when the motion vector predictor index is variable length encoded.
  • FIG. 12 is a diagram illustrating the relationship between the encoding target block and adjacent blocks.
  • FIG. 13 is a diagram illustrating the relationship between the co-located block and the motion vector of the co-located block of the encoding target block.
  • FIG. 14 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 15 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 16 is a flowchart illustrating a determination flow of a skip mode prediction direction addition flag in the skip mode prediction direction addition determination unit.
  • FIG. 17 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • FIG. 18 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 19 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 20 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 21 is a flowchart showing an outline of the processing flow of the moving picture encoding method according to the present invention.
  • FIG. 22 is a block diagram showing a configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • FIG. 23 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 24 is a diagram showing an example of bitstream syntax in the video decoding method according to the present invention.
  • FIG. 25 is a block diagram showing the configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • FIG. 26 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 27 is a diagram illustrating an example of the syntax of a bitstream in the video decoding method according to the present invention.
  • FIG. 28 is a block diagram showing a configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • FIG. 29 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 30A is a diagram illustrating an example of a bitstream syntax in the video decoding method according to the present invention.
  • FIG. 30B is a diagram illustrating an example of a bitstream syntax in the video decoding method according to the present invention.
  • FIG. 31 is a block diagram showing a configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • FIG. 32 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 33A is a diagram illustrating an example of bitstream syntax in the video decoding method according to the present invention.
  • FIG. 33B is a diagram illustrating an example of the bitstream syntax in the video decoding method according to the present invention.
  • FIG. 34 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 35 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 36 is a flowchart illustrating a flow of determining the direct mode prediction direction in the direct mode prediction direction determination unit.
  • FIG. 37 is a flowchart illustrating a determination flow of the inter prediction mode in the inter prediction control unit.
  • FIG. 38 is a flowchart showing a processing flow for calculating the cost CostInter in the motion vector detection mode.
  • FIG. 39 is a flowchart showing a processing flow for calculating the cost CostDirect in the direct mode.
  • FIG. 40 is a flowchart illustrating a processing flow for calculating the cost CostSkip in the skip mode.
  • FIG. 41 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 42 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 43 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 44 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 45 is a block diagram showing a configuration of an embodiment of a video decoding apparatus using the video decoding method according to the present invention.
  • FIG. 46 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 47 is a diagram showing an example of the bitstream syntax in the video decoding method according to the present invention.
  • FIG. 48 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to the present invention.
  • FIG. 49 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 45 is a block diagram showing a configuration of an embodiment of a video decoding apparatus using the video decoding method according to the present invention.
  • FIG. 46 is a flowchart showing an outline of the processing flow of the moving picture decoding method according
  • FIG. 50A is a diagram illustrating an example of a bitstream syntax in the video decoding method according to the present invention.
  • FIG. 50B is a diagram showing an example of bitstream syntax in the video decoding method according to the present invention.
  • FIG. 51 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to the present invention.
  • FIG. 52 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 53A is a diagram illustrating an example of a bitstream syntax in the video decoding method according to the present invention.
  • FIG. 53B is a diagram showing an example of the bitstream syntax in the video decoding method according to the present invention.
  • FIG. 54 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • FIG. 55 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • FIG. 56 is a flowchart illustrating a merge mode prediction direction determination flow in the merge mode prediction direction determination unit.
  • FIG. 57 is a flowchart illustrating a determination flow of the inter prediction mode in the inter prediction control unit.
  • FIG. 58 is a flowchart showing a processing flow for calculating the cost CostInter in the motion vector detection mode.
  • FIG. 59 is a flowchart showing a processing flow for calculating the cost CostMerge in the merge mode.
  • FIG. 60 is a diagram illustrating an example in which a merge index is assigned to a motion vector and a reference picture index used in the merge mode.
  • FIG. 61 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • FIG. 62 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to the present invention.
  • FIG. 63 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • FIG. 64 is a diagram showing an example of the bitstream syntax in the video decoding method according to the present invention.
  • FIG. 65 is an overall configuration diagram of a content supply system that implements a content distribution service.
  • FIG. 61 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • FIG. 62 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to
  • FIG. 66 is an overall configuration diagram of a digital broadcasting system.
  • FIG. 67 is a block diagram illustrating a configuration example of a television.
  • FIG. 68 is a block diagram illustrating a configuration example of an information reproducing / recording unit that reads and writes information from and on a recording medium that is an optical disk.
  • FIG. 69 is a diagram illustrating a structure example of a recording medium that is an optical disk.
  • FIG. 70A illustrates an example of a mobile phone.
  • FIG. 70B is a block diagram illustrating a configuration example of a mobile phone.
  • FIG. 71 is a diagram showing a structure of multiplexed data.
  • FIG. 72 is a diagram schematically showing how each stream is multiplexed in the multiplexed data.
  • FIG. 73 is a diagram showing in more detail how the video stream is stored in the PES packet sequence.
  • FIG. 74 is a diagram showing the structure of TS packets and source packets in multiplexed data.
  • FIG. 75 is a diagram illustrating a data structure of the PMT.
  • FIG. 76 shows the internal structure of multiplexed data information.
  • FIG. 77 shows the internal structure of stream attribute information.
  • FIG. 78 is a diagram showing steps for identifying video data.
  • FIG. 79 is a block diagram illustrating a configuration example of an integrated circuit that realizes the moving image encoding method and the moving image decoding method according to each embodiment.
  • FIG. 80 is a diagram showing a configuration for switching drive frequencies.
  • FIG. 81 is a diagram showing steps for identifying video data and switching between driving frequencies.
  • FIG. 82 is a diagram showing an example of a look-up table in which video data standards are associated with drive frequencies.
  • FIG. 83A is a diagram illustrating an example of a configuration for sharing a module of a signal processing unit.
  • FIG. 83B is a diagram illustrating another example of a configuration for sharing a module of a signal processing unit.
  • a coding mode called a merge mode can be selected as an inter prediction mode for each coding target block in a B picture or a P picture.
  • a motion vector or a reference picture index is copied from an adjacent block of the encoding target block, and the encoding target block is encoded.
  • the motion vector and the reference picture index can be selected by attaching the index of the adjacent block used for copying to the bit stream.
  • the temporal prediction motion obtained using the motion vectors and reference picture indexes of adjacent blocks A, B, and C and the co-located block as the motion vector and reference picture index of the encoding target block.
  • the motion vector and reference picture index of the block to be encoded are selected from the motion vector and reference picture index in the vector mode with the highest encoding efficiency.
  • a merge index representing the selected adjacent block is attached to the bitstream.
  • the encoding target block is encoded using the prediction direction 1 motion vector MvL0_A, the prediction direction 2 motion vector MvL1_A of the adjacent block A, and the reference picture index of the reference picture referenced by each motion vector.
  • FIG. 3 is a block diagram showing a configuration of an embodiment of a moving picture coding apparatus using the moving picture coding method according to the present invention.
  • the moving image encoding apparatus 100 includes an orthogonal transform unit 101, a quantization unit 102, an inverse quantization unit 103, an inverse orthogonal transform unit 104, a block memory 105, a frame memory 106, an intra prediction unit 107, An inter prediction unit 108, an inter prediction control unit 109, a picture type determination unit 110, a reference picture list management unit 111, a skip mode prediction direction determination unit 112, and a variable length coding unit 113 are provided.
  • the orthogonal transform unit 101 transforms prediction image data generated as described later and prediction error data between an input image sequence from an image region to a frequency region.
  • the quantization unit 102 performs a quantization process on the prediction error data converted into the frequency domain.
  • the inverse quantization unit 103 performs inverse quantization processing on the prediction error data quantized by the quantization unit 102.
  • the inverse orthogonal transform unit 104 performs transform from the frequency domain to the image domain on the prediction error data subjected to the inverse quantization process.
  • the block memory 105 stores the decoded image obtained from the predicted image data and the prediction error data subjected to the inverse quantization process in units of blocks.
  • the frame memory 106 stores the decoded image in units of frames.
  • the picture type determination unit 110 determines which of the I picture, B picture, and P picture is used to encode the input image sequence, and generates picture type information.
  • the intra prediction unit 107 uses the decoded image in units of blocks stored in the block memory 105 to generate predicted image data based on intra prediction of the encoding target block.
  • the inter prediction unit 108 generates predicted image data by inter prediction of the encoding target block, using the decoded image in units of frames stored in the frame memory 106.
  • the inter prediction control unit 109 includes a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result, a direct mode for generating a predicted image using a predicted motion vector generated from an adjacent block, and a skip mode.
  • generated according to the prediction direction determined by the prediction direction determination part 112 is performed, and more efficient inter prediction mode is determined.
  • the reference picture list management unit 111 assigns a reference picture index to an encoded reference picture that is referred to in inter prediction, and creates a reference picture list together with a display order and the like.
  • the reference picture is managed in the reference picture index and the display order.
  • the reference picture may be managed in the reference picture index and the encoding order.
  • the skip mode prediction direction determination unit 112 uses the reference picture list 1 and the reference picture list 2 created by the reference picture list management unit 111 to determine the prediction direction of the skip mode of the encoding target block by a method described later. .
  • variable length encoding unit 113 generates a bitstream by performing variable length encoding processing on the quantized prediction error data, inter prediction mode, inter prediction direction flag, skip flag, and picture type information. .
  • FIG. 4 is a flowchart showing an outline of the processing flow of the moving picture encoding method according to the present invention.
  • the skip mode prediction direction determination unit 112 determines a prediction direction when the block to be encoded is encoded in the skip mode (step S101).
  • the inter prediction control unit 109 includes a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result, a direct mode for generating a predicted image using a predicted motion vector generated from an adjacent block, and a skip mode.
  • the cost comparison of the skip mode for generating a predicted image using the predicted motion vector generated according to the prediction direction determined by the prediction direction determination unit 112 is performed, and a more efficient inter prediction mode is determined (step S102). The cost calculation method will be described later.
  • the inter prediction control unit 109 determines whether or not the determined inter prediction mode is a skip mode (step S103).
  • the inter prediction control unit 109 As a result of this determination, if the inter prediction mode is the skip mode (Yes in step S103), the inter prediction control unit 109 generates a predicted image in the skip mode and sets the skip flag to 1. Then, the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block (step S104). On the other hand, as a result of the determination, if the inter prediction mode is not the skip mode (No in step S103), the inter prediction control unit 109 performs inter prediction according to the determined inter prediction mode, generates predicted image data, and skip flag. Is set to 0.
  • the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block. Further, the inter prediction control unit 109 outputs an inter prediction mode and an inter prediction direction flag indicating whether the motion vector detection mode or the direct mode is associated with the bit stream of the encoding target block to the variable length encoding unit 113. (Step S105).
  • FIG. 5 is a flowchart showing a determination flow of the skip mode prediction direction in the skip mode prediction direction determination unit 112.
  • motion vectors in the prediction direction 1 and the prediction direction 2 are selected in the two-way prediction.
  • the direction prediction only the motion vector in the prediction direction 1 may be used, and the motion vector in the prediction direction 2 may decrease as a whole.
  • the unidirectional prediction using the reference picture list 2 is prohibited, thereby encoding the inter prediction direction flag code. Coding efficiency can be improved by reducing the amount. In this case, since only the motion vector in the prediction direction 1 is used in the unidirectional prediction, the motion vector in the prediction direction 2 is reduced as a whole.
  • the skip mode prediction direction determination unit 112 uses the reference picture list 1 and the reference picture list 2 to determine whether or not the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2. Determination is made (step S201). For example, the display order of the reference picture indicated by each reference picture index 1 is obtained from the reference picture list 1, and compared with the display order of the reference picture indicated by each reference picture index 2 from the reference picture list 2. It can be determined that they are the same. As a result of this determination, if the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 (Yes in step S201), the skip mode prediction direction determination unit 112 determines the skip mode. A prediction direction flag is set to one direction prediction (step S202).
  • skip mode prediction direction determination unit 112 sets a skip mode prediction direction flag. Two-way prediction is set (step S203).
  • step S201 it is determined in step S201 whether the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 using the display order. You may determine using order etc.
  • the prediction direction of the skip mode is fixed to one direction.
  • the prediction direction in the skip mode is set to one direction. It may be fixed.
  • the display order of the reference picture indicated by the reference picture index 1 is obtained from the reference picture list 1 and is compared with the display order of the reference picture indicated by the reference picture index 2 from the reference picture list 2. it can.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 is reduced, encoding efficiency can be improved by fixing the prediction direction of the skip mode to one-way prediction.
  • the prediction direction of the skip mode is fixed to uni-directional prediction.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, or the prediction direction 1 reference in the skip mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 are the same picture.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 is reduced, encoding efficiency can be improved by fixing the prediction direction of the skip mode to one-way prediction.
  • the prediction direction of the skip mode is fixed to unidirectional prediction.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, and the reference in the prediction direction 1 in the skip mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 may be the same picture.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 is reduced, encoding efficiency can be improved by fixing the prediction direction of the skip mode to one-way prediction.
  • FIG. 6 is a flowchart showing the determination flow of the inter prediction mode in the inter prediction control unit 109.
  • the inter prediction control unit 109 calculates a cost CostInter in a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result by a method described later (step S301).
  • the inter prediction control unit 109 generates a prediction vector using a motion vector of an adjacent block or the like, and calculates a cost CostDirect in a direct mode for generating a prediction image using the prediction vector by a method described later (step S302).
  • the inter prediction control unit 109 calculates the cost CostSkip of the skip mode for generating a predicted image according to the method described later according to the skip mode prediction direction flag determined by the skip mode prediction direction determination unit 112 (step S303).
  • the inter prediction control unit 109 compares the cost CostInter of the motion vector detection mode, the cost CostDirect of the direct mode, and the cost CostSkip of the skip mode, and determines whether or not the cost CostInter of the motion vector detection mode is the minimum (Step S304). ). If the cost CostInter of the motion vector detection mode is the minimum as a result of this determination (Yes in step S304), the inter prediction control unit 109 determines the inter prediction mode as the motion vector detection mode, and sets the inter prediction mode as the motion vector detection mode. (Step S305).
  • the inter prediction control unit 109 compares the cost CostDirect of the direct mode with the cost CostSkip of the skip mode, and the cost CostDirect of the direct mode is It is determined whether it is small (step S306). If the cost CostDirect of the direct mode is small as a result of this determination (Yes in step S306), the inter prediction control unit 109 determines the inter prediction mode to the direct mode, and sets the inter prediction mode information to the direct mode (step S307). ). On the other hand, if the cost CostDirect of the direct mode is not small (No in step S306), the inter prediction control unit 109 sets the inter prediction mode to the skip mode and sets the skip mode in the inter prediction mode information (step S308).
  • FIG. 7 is a flowchart showing a processing flow for calculating the cost CostInter in the motion vector detection mode.
  • the inter prediction control unit 109 performs motion detection on the reference picture 1 indicated by the reference picture index 1 in the prediction direction 1 and the reference picture 2 indicated by the reference picture index 2 in the prediction direction 2, and motion vectors for the respective reference pictures 1 and motion vector 2 are generated (step S401).
  • motion detection a difference value between a coding target block in a coded picture and a block in a reference picture is calculated, and a block in the reference picture having the smallest difference value is set as a reference block.
  • a motion vector is obtained from the encoding target block position and the reference block position.
  • the inter prediction control unit 109 generates a prediction image in the prediction direction 1 using the obtained motion vector 1, and calculates the cost CostInterUni1 using, for example, the following equation 1 of the RD optimization model. (Step S402).
  • Equation 1 D represents encoding distortion, a pixel value obtained by encoding and decoding a block to be encoded using a prediction image generated with a certain motion vector, and an original pixel value of the block to be encoded The sum of absolute differences is used.
  • R represents the amount of generated code, and the amount of code necessary for encoding the motion vector used for predictive image generation is used.
  • is Lagrange's undetermined multiplier.
  • the inter prediction control unit 109 generates a prediction image in two directions using the obtained motion vector 1 and motion vector 2, and calculates the cost CostInterBi from Equation 1 (step S404).
  • the bi-directional predicted image is, for example, a bi-directional predicted image obtained by performing addition averaging for each pixel of the predicted image obtained from the motion vector 1 and the predicted image obtained from the motion vector 2.
  • the inter prediction control unit 109 compares the values of the cost CostInterUni1, the cost CostInterUni2, and the cost CostInterBi, and determines whether or not the cost CostInterBi is minimum (step S405).
  • the inter prediction control unit 109 determines the prediction direction of the motion vector detection mode to be bi-directional prediction, and uses the cost CostInterBi as the cost of the motion vector detection mode. Set to CostInter (step S406). On the other hand, if the cost CostInterBi is not minimum (No in step S405), the cost CostInterUni1 and the cost CostInterUni2 are compared to determine whether or not the value of the cost CostInterUni1 is small (step S407).
  • step S407 determines the motion vector detection mode as one-way prediction 1 in the prediction direction 1, and sets the cost CostInterUni1 as the motion vector detection mode. To the cost CostInter (step S408). On the other hand, if the value of cost CostInterUni1 is not small (No in step S407), the inter prediction control unit 109 determines the motion vector detection mode as one-way prediction 2 in the prediction direction 2, and sets the cost CostInterUni2 as the cost of the motion vector detection mode. Set to CostInter (step S409).
  • the addition average for every pixel was performed at the time of the prediction image generation
  • FIG. 8 is a flowchart showing a processing flow for calculating the cost CostDirect in the direct mode.
  • the inter prediction control unit 109 calculates the direct vector 1 in the prediction direction 1 and the direct vector 2 in the prediction direction 2 (step S501).
  • the direct vector is calculated using, for example, a motion vector of an adjacent block. A specific example will be described with reference to FIG.
  • FIG. 9 is a diagram showing the relationship between the encoding target block, adjacent blocks, and motion vectors of adjacent blocks.
  • the encoded block adjacent to the left of the encoding target block is adjacent block A
  • the encoded block adjacent above the encoding target block is adjacent block B
  • the encoded block adjacent to the upper right of the encoding target block Is an adjacent block C.
  • the adjacent block A is bi-directional prediction, and has a motion vector MvL0_A in the prediction direction 1 with respect to the reference picture indicated by the reference picture index RefIdxL0_A in the prediction direction 1, and the reference picture index RefIdxL1_A in the prediction direction 2 is
  • the reference picture shown has a motion vector MvL1_A in the prediction direction 2.
  • the adjacent block B is unidirectionally predicted and has a motion vector MvL0_B in the prediction direction 1 with respect to the reference picture indicated by the reference picture index RefIdxL0_B in the prediction direction 1.
  • the adjacent block C is unidirectional prediction, and has a motion vector MvL0_C in the prediction direction 1 with respect to the reference picture indicated by the reference picture index in the prediction direction 1.
  • the values of the reference picture index RefIdxL0 in the prediction direction 1 and the reference picture index RefIdxL1 in the prediction direction 2 of the encoding target block are determined.
  • the value “0” is always used as the reference picture index value of the encoding target block in the direct mode.
  • the reference picture index value of the adjacent block or the like is referred to more frequently in the adjacent block.
  • a reference picture index indicating the reference picture may be calculated.
  • the median value of RefIdxL0_A, RefIdxL0_B, and RefIdxL0_C is used as the reference picture index RefIdxL0 in the prediction direction 1 of the current block. It can be calculated from (RefIdxL0_A, RefIdxL0_B, RefIdxL0_C).
  • the intermediate value is derived as in the following formulas 2 to 4.
  • the coding efficiency can be improved by improving the prediction accuracy of the direct vector by making the reference picture index of the block to be coded a reference picture index indicating a reference picture that has been referred to more frequently by neighboring blocks.
  • a reference picture index indicating a reference picture that has been referred to more frequently in an adjacent block is obtained using an intermediate value is not necessarily limited thereto. For example, it may be calculated by checking the same relationship between the reference picture indexes of adjacent blocks. If the reference picture index values of adjacent blocks are all different, the reference picture index that represents the reference picture that is closest to the encoding target picture in the display order among the reference pictures indicated by each reference picture index is encoded.
  • the reference picture index of the conversion target block may be used.
  • the reference picture index RefIdxL0 in the prediction direction 1 of the encoding target block is calculated from the minimum value Min (RefIdxL0_A, RefIdxL0_B, RefIdxL0_C) of RefIdxL0_A, RefIdxL0_B, and RefIdxL0_C.
  • Min RefIdxL0_A, RefIdxL0_B, RefIdxL0_C
  • a reference picture that is closer to the encoding target picture in display order is more likely to be assigned a smaller reference picture index value. Therefore, by obtaining the minimum value, the closest distance in display order to the encoding target picture is obtained.
  • a reference picture index indicating a reference picture can be calculated. Note that the display order of each reference picture may be obtained from the reference picture index of the adjacent block and the reference picture list, and the reference picture index indicating the reference picture closest to the encoding target picture may be calculated.
  • the direct vector is calculated from the calculated reference picture index of the encoding target block, the motion vector of the adjacent block, and the reference picture index. For example, it is calculated from median values (MvL0_A, MvL0_B, MvL0_C) of MvL0_A, MvL0_B, and MvL0_C that are motion vectors of adjacent blocks.
  • the direct vector 1 in the prediction direction 1 is calculated from Equation 2 using the motion vector in the prediction direction 1 of the adjacent block.
  • the direct vector 2 in the prediction direction 2 is calculated from Equation 2 using the motion vector in the prediction direction 2 of the adjacent block.
  • the intermediate value may be calculated using the motion vector of the adjacent block as the motion vector of the value “0”.
  • a motion vector having a value “0” or the like may be used as the direct vector.
  • the inter prediction control unit 109 generates a prediction image in two directions using the obtained direct vector 1 and direct vector 2, and calculates the cost CostDirectBi from Equation 1 (step S502).
  • the predicted image in two directions is, for example, a prediction image obtained from the direct vector 1 and a predicted image obtained from the direct vector 2 that is obtained by performing averaging for each pixel as the two-way predicted image.
  • the inter prediction control unit 109 generates a prediction image in the prediction direction 1 using the obtained direct vector 1, and calculates the cost CostDirectUni1 from Equation 1 (step S503).
  • the inter prediction control unit 109 generates a prediction image in the prediction direction 2 using the obtained direct vector 2, and calculates the cost CostDirectUni2 from Equation 1 (step S504).
  • the inter prediction control unit 109 compares the values of the cost CostDirectUni1, the cost CostDirectUni2, and the cost CostDirectBi, and determines whether or not the cost CostDirectBi is the minimum (step S505). If the cost CostDirectBi is the minimum as a result of this determination (Yes in step S505), the inter prediction control unit 109 determines the prediction direction of the direct mode to be bi-directional prediction, and sets the cost CostDirctBi to the cost CostDirect of the direct mode. (Step S506).
  • the inter prediction control unit 109 compares the cost CostDirectUni1 and the cost CostDirectUni2, and determines whether or not the value of the cost CostDirectUni1 is small (step S507). If the value of cost CostDirectUni1 is small as a result of this determination (Yes in step S507), the inter prediction control unit 109 determines the direct mode as one-way prediction 1 in the prediction direction 1, and sets the cost CostDirectUni1 as the cost CostDirect in the direct mode. It sets (step S508).
  • the inter prediction control unit 109 determines the direct mode as one-way prediction 2 in the prediction direction 2, and sets the cost and CostDirectUni2 as the cost CostDirect of the direct mode. (Step S509).
  • FIG. 10 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • the inter prediction control unit 109 determines whether or not the skip mode prediction direction flag determined by the skip mode prediction direction determination unit 112 is unidirectional prediction (step S601). As a result of this determination, if the skip mode prediction direction flag is unidirectional prediction (Yes in step S601), the inter prediction control unit 109 uses the direct vector 1 obtained in step S501 of FIG. 8 to predict the prediction direction 1. An image is generated, and the cost CostSkip of the skip mode is calculated from Equation 1 (step S602). On the other hand, if the skip mode prediction direction flag is not unidirectional prediction (No in step S601), the inter prediction control unit 109 uses the direct vector 1 and the direct vector 2 obtained in step S501 of FIG.
  • a predicted image is generated, and the cost CostSkip in the skip mode is calculated from Equation 1 (step S603).
  • the predicted image in two directions is, for example, a prediction image obtained from the direct vector 1 and a predicted image obtained from the direct vector 2 that is obtained by performing averaging for each pixel as the two-way predicted image.
  • a prediction image for unidirectional prediction may be generated using the vector 2.
  • a direct vector an example of calculating an intermediate value Median (MvL0_A, MvL0_B, MvL0_C) of MvL0_A, MvL0_B, and MvL0_C has been described, but is not limited to this calculation method.
  • a predicted motion vector having the smallest Cost is selected as a direct vector used for encoding from a plurality of predicted motion vector candidates, and a predicted motion vector index representing the selected predicted motion vector is attached to the bitstream. I do not care.
  • Cost is calculated using Equation 1, for example.
  • FIG. 11A is a diagram illustrating an example of a motion vector predictor candidate.
  • the predicted motion vector index value is “0” for a value corresponding to Median (MvL0_A, MvL0_B, MvL0_C), “1” for a value corresponding to the motion vector MvL0_A, and “2” for a value corresponding to MvL0_B.
  • the value corresponding to MvL0_C is “3”.
  • the method of assigning the motion vector predictor index is not limited to this example. FIG.
  • 11B shows an example of a code table used when the motion vector predictor index corresponding to the motion vector predictor candidate having the smallest Cost is subjected to variable length coding. Codes with short code lengths are assigned in ascending order of predicted motion vector index values. Therefore, it is possible to improve the encoding efficiency by reducing the value of the motion vector predictor index corresponding to a motion vector predictor candidate that is likely to have good prediction accuracy.
  • an example is shown in which the reference picture index and motion vector of adjacent block A, adjacent block B, and adjacent block C in FIG.
  • an adjacent block D or an adjacent block E may be used.
  • the motion vector of the adjacent block D or the adjacent block E is used depending on whether the reference picture index in the prediction direction 1 of the adjacent block D or the adjacent block E matches the reference picture index of the encoding target block. You can decide whether or not.
  • a co-located block of an encoding target block may be used.
  • the co-located block is a block in a picture different from the picture including the encoding target block, and is a block whose position in the picture is the same as that of the encoding target block.
  • the co-located block is a block included in a picture located in front of the encoding target picture in display time order (hereinafter referred to as a forward reference block) or a block included in a picture located behind ( Hereinafter, it is possible to switch which one of the rear reference blocks is a co-located block by a flag or the like.
  • FIG. 13 shows a case where the co-located block is a backward reference block.
  • reference picture indexes RefIdxL0_A, RefIdxL0_B, RefIdxL0_C of adjacent blocks A, B, and C in FIG. 9 and co- Of the reference pictures indicated by the reference picture index RefIdxL0_Col of the located block a reference picture index value indicating the reference picture most frequently referenced may be assigned to the reference picture index of the encoding target block.
  • the reference pictures indicated by the reference picture indexes of the adjacent block and the co-located block are all different, the reference picture closest to the encoding target picture in the display order is selected from the reference pictures indicated by each reference picture index.
  • the reference picture index to be represented may be used as the reference picture index of the encoding target block.
  • a reference picture index value of an encoding target block in the direct mode a reference indicating a reference picture that is closest to the encoding target picture in the display order among the reference pictures referenced in the adjacent block and the co-located block.
  • a picture index may be assigned. For example, it can be obtained from the minimum value of the reference picture index of the adjacent block and the co-located block.
  • the motion vector of the co-located block is scaled according to the reference distance to obtain the direct vector of the encoding target block. It is done. More specifically, when the direct vector in the prediction direction 1 of the encoding target block in FIG. 13 is obtained, the prediction direction 1 motion vector of the co-located block is encoded with the prediction direction 1 reference picture index RfIdxL0_Col of the co-located block. It is conceivable to perform a scaling process using the reference picture index of the encoding target block to obtain a direct vector for the reference picture indicated by the reference picture index of the encoding target block.
  • the direct mode is used as an example of how to obtain the reference picture index and the motion vector of the encoding target block using the adjacent block and the co-located block.
  • the present invention is not limited to this.
  • the skip mode and the merge mode the same method may be used.
  • the encoding target picture is a specific B picture (reference picture list). 1 and the reference picture list 2 in the reference picture list 2 have been described in the case where the reference picture index is assigned to the same reference picture index (B picture), but is not necessarily limited thereto.
  • the present invention may be applied to a case where the encoding target picture is another B picture (a B picture in which the reference picture index is assigned differently to each reference picture list in the reference picture list 1 and the reference picture list 2).
  • the reference picture index values of the reference picture list 1 and the reference picture list 2 are derived using the present embodiment.
  • the reference picture index value indicating the most frequently referenced reference picture is assigned to the reference picture index of the reference picture list 1 of the encoding target block.
  • a reference picture index value indicating a reference picture that has been referred to most frequently is assigned to a reference picture index in the reference picture list 2 of the encoding target block.
  • the present embodiment may be applied when the encoding target picture is a P picture.
  • the present embodiment when determining the prediction direction of the skip mode, it is possible to select the optimal prediction direction for the block to be encoded, so that the encoding efficiency can be improved. Become. In particular, when the reference picture index allocation for each reference picture is the same in the reference picture list 1 and the reference picture list 2, the quality of the predicted image is improved by selecting the one-way prediction regardless of the prediction direction of the adjacent block. And encoding efficiency can be improved.
  • FIG. 14 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving picture coding apparatus 200 according to the present embodiment newly includes a skip mode prediction direction addition determination unit instead of the skip mode prediction direction determination unit according to the first embodiment.
  • the skip mode prediction direction addition flag is on, the configuration is different from that of the first embodiment in that the inter prediction direction is attached to each encoding target block even in the skip mode.
  • symbol is attached
  • the skip mode prediction direction addition determination unit 201 uses the reference picture lists 1 and 2 created by the reference picture list management unit 111 to set the inter prediction direction for each encoding target block even in the skip mode by a method described later. It is determined whether to accompany it.
  • FIG. 15 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • the skip mode prediction direction addition determination unit 201 determines whether or not to add a prediction direction when the encoding target block is encoded in the skip mode, and turns on the skip mode prediction direction addition flag when adding.
  • the inter prediction control unit 109 includes a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result, a direct mode for generating a predicted image using a predicted motion vector generated from an adjacent block, and a skip mode.
  • generated according to the prediction direction added by the prediction direction addition determination part 201 is performed, and more efficient inter prediction mode is determined (step S702).
  • Formula 1 etc. are utilized for the cost calculation method.
  • the inter prediction control unit 109 determines whether or not the determined inter prediction mode is a skip mode (step S703). If the inter prediction mode is the skip mode as a result of this determination (Yes in step S703), the inter prediction control unit 109 determines whether or not the skip mode prediction direction addition flag is on (step S704). If the result of this determination is that the skip mode prediction direction addition flag is on (Yes in step S704), the inter prediction control unit 109 generates a predicted image in skip mode and sets the skip flag to 1. Then, the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block.
  • the inter prediction control unit 109 outputs the inter prediction direction flag in the skip mode to the variable length coding unit 113 in order to accompany the bit stream (step S705).
  • the inter prediction mode is not the skip mode (No in step S704), a predicted image in the skip mode is generated and the skip flag is set to 1.
  • the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block (step S706). If the result of determination in step S703 is that the skip mode prediction direction addition flag is not on (No in step S703), the inter prediction control unit 109 performs inter prediction according to the determined inter prediction mode to generate predicted image data. The skip flag is set to 0.
  • the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block. Further, the inter prediction control unit 109 outputs an inter prediction mode and an inter prediction direction flag indicating whether the motion vector detection mode or the direct mode is associated with the bit stream of the encoding target block to the variable length encoding unit 113. (Step S707).
  • FIG. 16 is a flowchart illustrating a flow of determining a skip mode prediction direction addition flag in the skip mode prediction direction addition determination unit 201.
  • motion vectors in the prediction direction 1 and the prediction direction 2 are selected in the two-way prediction.
  • the direction prediction only the motion vector in the prediction direction 1 may be used, and the motion vector in the prediction direction 2 may decrease as a whole.
  • the unidirectional prediction using the reference picture list 2 is prohibited, thereby encoding the inter prediction direction flag code. Coding efficiency can be improved by reducing the amount. In this case, since only the motion vector in the prediction direction 1 is used in the unidirectional prediction, the motion vector in the prediction direction 2 is reduced as a whole.
  • the skip mode prediction direction addition determination unit 201 uses the reference picture list 1 and the reference picture list 2 to determine whether the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2. (Step S801). For example, the display order of the reference picture indicated by each reference picture index 1 is obtained from the reference picture list 1, and compared with the display order of the reference picture indicated by each reference picture index 2 from the reference picture list 2. It can be determined that they are the same. As a result of this determination, if the reference picture index assignment for each reference picture is the same in the reference picture list 1 and the reference picture list 2 (Yes in step S801), the skip mode prediction direction addition determination unit 201 determines the skip mode. Is set to ON (step S802).
  • the skip mode prediction direction addition determination unit 201 determines the prediction direction of the skip mode.
  • the additional flag is set to off (step S803).
  • step S801 it is determined in step S801 whether the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 using the display order. You may determine using order etc.
  • the skip direction prediction direction addition flag is turned on.
  • the prediction direction addition flag in the skip mode is turned on. It may be.
  • the display order of the reference picture indicated by the reference picture index 1 is obtained from the reference picture list 1 and is compared with the display order of the reference picture indicated by the reference picture index 2 from the reference picture list 2. it can.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 is reduced, by attaching the prediction direction of the skip mode to the stream, when the accuracy of the prediction motion vector of the prediction direction 2 is low, the one-way prediction is selected, and the prediction motion vector of the prediction direction 2 is selected. When the accuracy is high, bi-directional prediction can be selected, and coding efficiency can be improved.
  • the prediction direction of the skip mode is fixed to uni-directional prediction.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, or the prediction direction 1 reference in the skip mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 are the same picture. Even in such a case, the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction.
  • the motion vector of 2 is reduced, by attaching the prediction direction of the skip mode to the stream, when the accuracy of the prediction motion vector of the prediction direction 2 is low, the one-way prediction is selected, and the prediction motion vector of the prediction direction 2 is selected.
  • the accuracy is high, bi-directional prediction can be selected, and coding efficiency can be improved.
  • the prediction direction of the skip mode is fixed to unidirectional prediction.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, and the reference in the prediction direction 1 in the skip mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 may be the same picture.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction.
  • the motion vector of 2 is reduced, by attaching the prediction direction of the skip mode to the stream, when the accuracy of the prediction motion vector of the prediction direction 2 is low, the one-way prediction is selected, and the prediction motion vector of the prediction direction 2 is selected.
  • the accuracy is high, bi-directional prediction can be selected, and coding efficiency can be improved.
  • FIG. 17 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode. Note that the determination flow of the inter prediction mode, the cost CostInter of the motion vector detection mode, and the calculation method of the cost CostDirect of the direct mode are the same as those in FIG. 6, FIG. 7, and FIG. To do.
  • Inter prediction control section 109 calculates direct vector 1 in prediction direction 1 and direct vector 2 in prediction direction 2 by the method described in the first embodiment. Then, using the obtained direct vector 1 and direct vector 2, a predicted image in two directions is generated, and the cost CostSkipBi is calculated from Equation 1 (step S901).
  • the predicted image in two directions is, for example, a prediction image obtained from the direct vector 1 and a predicted image obtained from the direct vector 2 that is obtained by performing averaging for each pixel as the two-way predicted image.
  • the inter prediction control unit 109 determines whether or not the skip mode prediction direction addition flag is on (step S902).
  • the inter prediction control unit 109 As a result of this determination, if the skip mode prediction direction addition flag is on (Yes in step S902), the inter prediction control unit 109 generates a prediction image in the prediction direction 1 using the direct vector 1, and its cost. CostSkipUni1 is calculated from Equation 1 (step S903). The inter prediction control unit 109 generates a prediction image in the prediction direction 2 using the direct vector 2, and calculates the cost CostSkipUni2 from Equation 1 (step S904). The inter prediction control unit 109 compares the values of the cost CostSkipUni1, the cost CostSkipUni2, and the cost CostSkipBi, and determines whether or not the cost CostSkipUni1 is the minimum (step S905).
  • step S905 If the cost CostSkipUni1 is the minimum as a result of this determination (Yes in step S905), the inter prediction control unit 109 determines the skip mode as one-way prediction 1 in the prediction direction 1, and sets the cost CostSkipUni1 as the cost CostSkip in the skip mode. Setting is made (step S906). On the other hand, if the cost CostSkipUni1 is not the minimum (No in step S905), the cost CostSkipUni2 and the cost CostSkipBi are compared to determine whether the value of the cost CostSkipUni2 is small (step S907).
  • the inter prediction control unit 109 determines the skip mode as one-way prediction 2 in the prediction direction 2, and sets the cost CostSkipUni2 as the cost CostSkip in the skip mode. Setting is made (step S908).
  • the inter prediction control unit 109 sets the skip mode. The bi-directional prediction is determined, and the cost CostSkipBi is set to the cost CostSkip in the skip mode (step S909).
  • the prediction direction of the skip mode when determining the prediction direction of the skip mode, it is possible to select the optimal prediction direction for the block to be encoded, so that the encoding efficiency can be improved.
  • the prediction direction is attached to the bitstream even in the skip mode regardless of the prediction direction of adjacent blocks.
  • FIG. 18 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving picture coding apparatus 300 according to the present embodiment includes header information (for example, H.264) that adds a skip mode prediction direction flag generated by a skip mode prediction direction determination unit to a bitstream for each processing unit such as a picture.
  • the configuration differs from that of the first embodiment in that it is attached to a picture parameter set, a slice header, and the like.
  • symbol is attached
  • the skip mode prediction direction determination unit 301 determines the prediction mode of the skip mode of the block to be encoded, and sets a skip mode prediction direction flag, as in the first embodiment. Also, the skip mode prediction direction determination unit 301 adds the set skip mode prediction direction flag to the inter prediction control unit 109 and outputs the flag to the variable length coding unit 302.
  • variable length coding unit 302 performs variable length coding processing on the quantized prediction error data, inter prediction mode, inter prediction direction flag, skip flag, picture type information, and skip mode prediction direction flag. A bit stream is generated.
  • FIG. 19 is a flowchart showing an outline of the processing flow of the moving picture encoding method according to the present invention.
  • the skip mode prediction direction determination unit 301 determines a prediction direction when the block to be encoded is encoded in the skip mode, and a variable length encoding unit to attach the determined skip mode prediction direction flag to the picture header or the like It outputs to 302 (step S1001).
  • the method for determining the prediction direction of the skip mode is the same as the flow of FIG. 5 of the first embodiment.
  • the inter prediction control unit 109 includes a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result, a direct mode for generating a predicted image using a predicted motion vector generated from an adjacent block, and a skip mode.
  • the cost comparison of the skip mode for generating a predicted image using the predicted motion vector generated according to the prediction direction determined by the prediction direction determination unit 301 is performed, and a more efficient inter prediction mode is determined (step S1002).
  • Formula 1 etc. are utilized for the cost calculation method.
  • the inter prediction control unit 109 determines whether or not the determined inter prediction mode is a skip mode (step S1003). As a result of this determination, if the inter prediction mode is the skip mode (Yes in step S1003), the inter prediction control unit 109 generates a predicted image in the skip mode and sets the skip flag to 1. Then, the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 302 in order to accompany the bit stream of the coding target block (step S1004).
  • the inter prediction control unit 109 performs inter prediction according to the determined inter prediction mode, generates predicted image data, and skip flag. Is set to 0. Then, the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 302 in order to accompany the bit stream of the coding target block. Further, the inter prediction control unit 109 outputs an inter prediction mode and an inter prediction direction flag indicating whether the motion vector detection mode or the direct mode is associated with the bit stream of the encoding target block to the variable length encoding unit 302. (Step S1005).
  • the inter prediction mode determination method etc. are the same as that of Embodiment 1, description is abbreviate
  • the skip mode prediction direction flag is explicitly added to the picture header or the like, the skip mode prediction direction can be flexibly switched for each picture. It is possible to improve the efficiency.
  • FIG. 20 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving picture coding apparatus 400 according to the present embodiment includes header information (for example, H.264) that adds a skip mode prediction direction addition flag generated by the skip mode prediction direction addition determination unit to a bitstream for each processing unit such as a picture. H.264 picture parameter set, slice header, etc.) is different from the third embodiment.
  • symbol is attached
  • the skip mode prediction direction addition determination unit 401 determines whether or not the inter prediction direction is attached to each encoding target block even in the skip mode as in the third embodiment, and sets a skip mode prediction direction addition flag. . Further, the skip mode prediction direction addition determination unit 401 adds the set skip mode prediction direction addition flag to the inter prediction control unit 109 and outputs the flag to the variable length coding unit 402.
  • variable length coding unit 402 performs variable length coding processing on the quantized prediction error data, inter prediction mode, inter prediction direction flag, skip flag, picture type information, and skip mode prediction direction addition flag. Thus, a bit stream is generated.
  • FIG. 21 is a flowchart showing an outline of the processing flow of the moving picture encoding method according to the present invention.
  • the skip mode prediction direction addition determination unit 401 determines whether or not to add a prediction direction when the encoding target block is encoded in the skip mode, and when adding, sets the skip mode prediction direction addition flag to ON. To do. Then, the skip mode prediction direction addition determination unit 401 outputs the set skip mode prediction direction addition flag to the variable length coding unit 402 in order to accompany the picture header or the like (step S1101).
  • the prediction direction addition determination method is the same as that in FIG. 16 of the second embodiment.
  • the inter prediction control unit 109 includes a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result, a direct mode for generating a predicted image using a predicted motion vector generated from an adjacent block, and a skip mode.
  • step S1102 The cost comparison of the skip mode which produces
  • Formula 1 etc. are utilized for the cost calculation method.
  • the inter prediction control unit 109 determines whether or not the determined inter prediction mode is the skip mode (step S1103). If the inter prediction mode is the skip mode as a result of this determination (Yes in step S1103), the inter prediction control unit 109 determines whether or not the skip mode prediction direction addition flag is on (step S1104).
  • the inter prediction control unit 109 If the result of this determination is that the skip mode prediction direction addition flag is on (Yes in step S1104), the inter prediction control unit 109 generates a predicted image in skip mode and sets the skip flag to 1. Then, the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block. In addition, the inter prediction control unit 109 outputs the inter prediction direction flag in the skip mode to the variable length coding unit 113 in order to accompany the bit stream (step S1105). On the other hand, if the inter prediction mode is not the skip mode (No in step S1104), a predicted image in the skip mode is generated and the skip flag is set to 1.
  • the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 402 in order to accompany the bit stream of the coding target block (step S1106). If the result of determination in step S1103 is that the skip mode prediction direction addition flag is not on (No in step S1103), the inter prediction control unit 109 performs inter prediction according to the determined inter prediction mode, and generates predicted image data. The skip flag is set to 0. Then, the inter prediction control unit 109 outputs the skip flag to the variable length coding unit 402 so as to accompany the bit stream of the coding target block.
  • the inter prediction control unit 109 outputs an inter prediction mode and an inter prediction direction flag indicating whether the motion vector detection mode or the direct mode is associated with the bit stream of the encoding target block to the variable length encoding unit 402. (Step S1107).
  • the inter prediction mode determination method etc. are the same as that of Embodiment 2, description is abbreviate
  • the skip mode prediction direction addition flag is explicitly added to the picture header or the like, whether to add the prediction mode of the skip mode can be flexibly switched for each picture. As a result, encoding efficiency can be improved.
  • FIG. 22 is a block diagram showing a configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • the moving picture decoding apparatus 500 includes a variable length decoding unit 501, an inverse quantization unit 502, an inverse orthogonal transform unit 503, a block memory 504, a frame memory 505, an intra prediction unit 506, and an inter prediction unit. 507, an inter prediction control unit 508, a reference picture list management unit 509, and a skip mode prediction direction determination unit 510.
  • the variable length decoding unit 501 performs a variable length decoding process on the input bitstream, and performs the picture type information, the inter prediction mode, the inter prediction direction, the skip flag, and the quantized coefficient that has been subjected to the variable length decoding process. Is generated.
  • the inverse quantization unit 502 performs inverse quantization processing on the quantized coefficients that have been subjected to variable length decoding processing.
  • the inverse orthogonal transform unit 503 transforms the orthogonal transform coefficient that has been subjected to the inverse quantization process from the frequency domain to the image domain to obtain prediction error image data.
  • the block memory 504 stores prediction error image data and an image sequence generated by adding the prediction image data in units of blocks.
  • the frame memory 505 stores the image sequence in units of frames.
  • the intra prediction unit 506 generates predicted image data of the decoding target block by performing intra prediction using the block-by-block image sequence stored in the block memory 504.
  • the inter prediction unit 507 generates predicted image data of the decoding target block by performing inter prediction using the frame-by-frame image sequence stored in the frame memory 505.
  • the inter prediction control unit 508 controls the motion vector and the prediction image data generation method in the inter prediction according to the inter prediction mode, the inter prediction direction flag, and the skip flag.
  • the reference picture list management unit 509 assigns a reference picture index to an encoded reference picture that is referred to in inter prediction, and creates a reference picture list together with a display order and the like. Since B picture can be encoded with reference to two pictures, it holds two reference picture lists.
  • the reference picture is managed in the reference picture index and the display order.
  • the reference picture may be managed in the reference picture index and the encoding order.
  • the skip mode prediction direction determination unit 510 uses the reference picture list 1 and the reference picture list 2 created by the reference picture list management unit 509 to determine the prediction direction of the skip mode of the encoding target block. Note that the flow for determining the skip mode prediction direction flag is the same as that in FIG.
  • a decoded image sequence is generated by adding the decoded prediction error image data and the prediction image data.
  • FIG. 23 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 508 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 501 is 1 (step S1201). If the result of this determination is that the skip flag is 1 (Yes in step S1201), the inter prediction control unit 508 determines whether or not the skip mode prediction direction flag decoded by the variable length decoding unit 501 is one-way prediction. Is determined (step S1202). If the result of this determination is that the skip mode prediction direction flag is unidirectional prediction (Yes in step S1202), the inter prediction control unit 508 calculates the direct vector 1 by the same method as in step S501 in FIG. A predicted image is generated (step S1203).
  • step S1202 if the skip mode prediction direction flag is not unidirectional prediction (No in step S1202), the inter prediction control unit 508 calculates the direct vector 1 and the direct vector 2 by the same method as step S501 in FIG. A direction prediction image is generated (step S1204).
  • step S1201 if the skip flag is not 1 in the determination in step S1201, that is, if it is not the skip mode (No in step S1201), the inter prediction control unit 508 indicates that the inter prediction mode decoded by the variable length decoding unit 501 is a motion vector. It is determined whether or not the detection mode is set (step S1205).
  • the inter prediction control unit 508 uses the inter prediction direction flag and the motion vector decoded by the variable length decoding unit 501. A predicted image is generated (step S1206).
  • the inter prediction mode is not the motion vector detection mode, that is, if it is the direct mode (No in step S1205), the inter prediction control unit 508 uses the same method as step S501 in FIG. 8 according to the inter prediction direction flag. To calculate the direct vector 1 and the direct vector 2, and generate a predicted image (step S1208).
  • step S1203 in FIG. 23 the unidirectional prediction image in the skip mode is generated using the direct vector 1, but the direct vector 2 is used together with the moving image encoding method.
  • a direction prediction image may be generated.
  • FIG. 24 is a diagram showing an example of bitstream syntax in the moving picture decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • the direct vector is calculated by the same method as in step S501 in FIG. 8, but a candidate list composed of a plurality of motion vector predictor candidates is created as shown in FIG. 11A.
  • a prediction motion vector index may be extracted from the stream, and a prediction motion vector candidate indicated by the prediction motion vector index among prediction motion vector candidates in the candidate list may be used as a direct vector for decoding.
  • FIG. 25 is a block diagram showing the configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • the moving picture decoding apparatus 600 according to the present embodiment newly includes a skip mode prediction direction addition determination unit instead of the skip mode prediction direction determination unit according to the fifth embodiment.
  • the skip mode prediction direction addition flag is on, the configuration is different from that of the fifth embodiment in that a bitstream with an inter prediction direction associated with each encoding target block can be decoded even in the skip mode.
  • symbol is attached
  • the skip mode prediction direction addition determination flow is the same as that of FIG.
  • the skip mode prediction direction addition determination unit 601 uses the reference picture lists 1 and 2 created by the reference picture list management unit 509 to set the inter prediction direction for each encoding target block even in the skip mode using the method described later. It is determined whether to accompany it.
  • FIG. 26 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 603 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 602 is 1 (step S1301). As a result of this determination, if the skip flag is 1 (Yes in step S1301), the inter prediction control unit 603 determines whether or not the skip mode prediction direction addition flag decoded by the variable length decoding unit 602 is on. Determination is made (step S1302). If the result of this determination is that the skip mode prediction direction addition flag is on (Yes in step S1302), the variable length decoding unit 602 decodes the inter prediction direction flag.
  • the inter prediction control unit 603 calculates at least one of the direct vector 1 and the direct vector 2 according to the decoded inter prediction direction flag, and generates a prediction image in one direction or two directions (step S1303).
  • the inter prediction control unit 603 calculates the direct vector 1 and the direct vector 2 to generate a bi-directional prediction image (step S1304).
  • the skip flag is not 1 in the determination in step S1301, that is, if it is not the skip mode (No in step S1301), the inter prediction control unit 603 determines that the inter prediction mode decoded by the variable length decoding unit 602 is a motion vector.
  • step S1305 It is determined whether or not the detection mode is set (step S1305). As a result of this determination, if the inter prediction mode is the motion vector detection mode (Yes in step S1305), the inter prediction control unit 603 uses the inter prediction direction flag and the motion vector decoded by the variable length decoding unit 602. A predicted image is generated (step S1306). On the other hand, if the inter prediction mode is not the motion vector detection mode, that is, if it is the direct mode (No in step S1305), the inter prediction control unit 603 calculates the direct vector 1 and the direct vector 2 according to the inter prediction direction flag. Then, a predicted image is generated (step S1307).
  • FIG. 27 is a diagram showing an example of the bitstream syntax in the video decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • the present embodiment when the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2, even in the skip mode regardless of the prediction direction of adjacent blocks.
  • the prediction direction By attaching the prediction direction to the bitstream, it is possible to appropriately decode the bitstream with improved encoding efficiency.
  • FIG. 28 is a block diagram showing a configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • the moving picture decoding apparatus 700 according to the present embodiment includes header information (for example, H.264) that gives the skip mode prediction direction flag generated by the skip mode prediction direction determination unit to the bitstream for each processing unit such as a picture.
  • the configuration is different from that of the fifth embodiment in that a bitstream attached to a picture parameter set or a slice header can be decoded.
  • symbol is attached
  • FIG. 29 is a flowchart showing an outline of a processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 702 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 701 is 1 (step S1401). If the result of this determination is that the skip flag is 1 (Yes in step S1401), the inter prediction control unit 702 determines whether or not the skip mode prediction direction flag decoded from the bitstream by the variable length decoding unit 701 is one-way prediction. Is determined (step S1402). As a result of this determination, if the skip mode prediction direction flag is unidirectional prediction (Yes in step S1402), the inter prediction control unit 702 calculates the direct vector 1 and generates a unidirectional prediction image (step S1403).
  • the inter prediction control unit 702 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step S1404). .
  • the skip flag is not 1 in the determination in step S1401, that is, if it is not the skip mode (No in step S1401), the inter prediction control unit 702 indicates that the inter prediction mode decoded by the variable length decoding unit 701 is a motion vector. It is determined whether or not the detection mode is set (step S1405).
  • the inter prediction control unit 702 uses the inter prediction direction flag and the motion vector decoded by the variable length decoding unit 701. A predicted image is generated (step S1406).
  • the inter prediction mode is not the motion vector detection mode, that is, if it is the direct mode (No in step S1405), the inter prediction control unit 702 calculates the direct vector 1 and the direct vector 2 according to the inter prediction direction flag. Then, a predicted image is generated (step S1408).
  • step S1403 of FIG. 29 the one-way predicted image in the skip mode is generated using the direct vector 1, but the direct vector 2 is used together with the moving image encoding method.
  • a direction prediction image may be generated.
  • 30A and 30B are diagrams showing an example of the syntax of a bitstream in the moving picture decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • skip_pred_idc added to the picture header or the like represents a skip flag prediction direction flag.
  • the coding efficiency is improved by flexibly switching the prediction direction of the skip mode for each picture by explicitly adding the skip mode prediction direction flag to the picture header or the like. It is possible to appropriately decode the generated bit stream.
  • FIG. 31 is a block diagram showing a configuration of an embodiment of a moving picture decoding apparatus using the moving picture decoding method according to the present invention.
  • the moving picture decoding apparatus 800 according to the present embodiment includes header information (for example, H.264) that adds a skip mode prediction direction addition flag generated by the skip mode prediction direction addition determination unit to a bitstream for each processing unit such as a picture. H.264 picture parameter set, slice header, etc.), and the bit stream can be decoded.
  • header information for example, H.264
  • symbol is attached
  • FIG. 32 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 802 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 801 is 1 (step S1501). If the result of this determination is that the skip flag is 1 (Yes in step S1501), the inter prediction control unit 802 determines whether the skip mode prediction direction addition flag decoded from the bitstream by the variable length decoding unit 801 is on. It is determined whether or not (step S1502). If the result of this determination is that the skip mode prediction direction addition flag is on (Yes in step S1502), the inter prediction control unit 802 decodes the inter prediction direction flag, and determines the direct vector 1 according to the decoded inter prediction direction.
  • At least one of the direct vectors 2 is calculated, and a prediction image in one direction or two directions is generated (step S1503).
  • the inter prediction control unit 802 calculates a direct vector 1 and a direct vector 2 to generate a bi-directional prediction image (step S1504).
  • the skip flag is not 1 in the determination in step S1501, that is, if it is not the skip mode (No in step S1501), the inter prediction control unit 802 indicates that the inter prediction mode decoded by the variable length decoding unit 801 is a motion vector. It is determined whether or not the detection mode is set (step S1505).
  • the inter prediction control unit 802 uses the inter prediction direction flag and the motion vector decoded by the variable length decoding unit 801. A predicted image is generated (step S1506).
  • the inter prediction mode is not the motion vector detection mode, that is, if it is the direct mode (No in step S1505), the inter prediction control unit 802 calculates the direct vector 1 and the direct vector 2 according to the inter prediction direction flag. Then, a predicted image is generated (step S1507).
  • 33A and 33B are diagrams showing an example of the bitstream syntax in the moving picture decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • skip_add_dir added to the picture header or the like represents a skip flag prediction direction addition flag.
  • whether or not to add the prediction direction of the skip mode can be flexibly switched for each picture by explicitly adding the skip mode prediction direction addition flag to the picture header or the like.
  • FIG. 34 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving image coding apparatus 900 includes an orthogonal transform unit 101, a quantization unit 102, an inverse quantization unit 103, an inverse orthogonal transform unit 104, a block memory 105, a frame memory 106, an intra prediction unit 107, An inter prediction unit 108, an inter prediction control unit 902, a picture type determination unit 110, a reference picture list management unit 111, a direct mode prediction direction determination unit 901, and a variable length encoding unit 113 are provided.
  • the orthogonal transform unit 101 transforms prediction image data generated as described later and prediction error data between an input image sequence from an image region to a frequency region.
  • the quantization unit 102 performs a quantization process on the prediction error data converted into the frequency domain.
  • the inverse quantization unit 103 performs inverse quantization processing on the prediction error data quantized by the quantization unit 102.
  • the inverse orthogonal transform unit 104 performs transform from the frequency domain to the image domain on the prediction error data subjected to the inverse quantization process.
  • the block memory 105 stores the decoded image obtained from the predicted image data and the prediction error data subjected to the inverse quantization process in units of blocks.
  • the frame memory 106 stores the decoded image in units of frames.
  • the picture type determination unit 110 determines which of the I picture, B picture, and P picture is used to encode the input image sequence, and generates picture type information.
  • the intra prediction unit 107 uses the decoded image in units of blocks stored in the block memory 105 to generate predicted image data based on intra prediction of the encoding target block.
  • the inter prediction unit 108 generates predicted image data by inter prediction of the encoding target block, using the decoded image in units of frames stored in the frame memory 106.
  • the reference picture list management unit 111 assigns a reference picture index to an encoded reference picture that is referred to in inter prediction, and creates a reference picture list together with a display order and the like. Since B picture can be encoded with reference to two pictures, it holds two reference picture lists. In this embodiment, the reference picture is managed in the reference picture index and the display order. However, the reference picture may be managed in the reference picture index and the encoding order.
  • the direct mode prediction direction determination unit 901 uses the reference picture lists 1 and 2 created by the reference picture list management unit 111 to determine the direct mode prediction direction of the block to be encoded by a method described later.
  • variable length encoding unit 113 generates a bitstream by performing variable length encoding processing on the quantized prediction error data, inter prediction mode, inter prediction direction flag, skip flag, and picture type information. .
  • FIG. 35 is a flowchart showing an outline of the processing flow of the moving picture encoding method according to the present invention.
  • the direct mode prediction direction determination unit 901 determines a prediction direction when the encoding target block is encoded in the direct mode (step S1601).
  • the inter prediction control unit 902 includes a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result, a direct mode for generating a predicted image using a predicted motion vector generated from an adjacent block, and a direct mode.
  • the cost comparison of the skip mode for generating a prediction image using the prediction motion vector generated according to the prediction direction determined by the prediction direction determination unit 901 is performed, and a more efficient inter prediction mode is determined (step S1602). The cost calculation method will be described later.
  • the inter prediction control unit 902 determines whether or not the determined inter prediction mode is a skip mode (step S1603).
  • the inter prediction control unit 902 As a result of this determination, if the inter prediction mode is the skip mode (Yes in step S1603), the inter prediction control unit 902 generates a predicted image in the skip mode and sets the skip flag to 1. Then, the inter prediction control unit 902 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block (step S1604). On the other hand, as a result of this determination, if the inter prediction mode is not the skip mode (No in step S1603), the inter prediction control unit 902 indicates that the determined inter prediction mode is the direct mode and the direct mode prediction direction determined by the method described later. It is determined whether or not the fixed flag is on (step S1605).
  • the inter prediction control unit 902 As a result of this determination, if the inter prediction mode is the direct mode and the direct mode prediction direction fixed flag is on (Yes in step S1605), the inter prediction control unit 902 generates a direct mode bi-directional prediction image and skips it. Set the flag to 0. Then, the inter prediction control unit 902 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block. Also, the inter prediction control unit 902 outputs an inter prediction mode indicating the motion vector detection mode or the direct mode to the variable length coding unit 113 so as to accompany the bit stream of the coding target block (step S1606).
  • the inter prediction control unit 902 outputs the skip flag to the variable length coding unit 113 in order to accompany the bit stream of the coding target block.
  • the inter prediction control unit 902 includes an inter prediction mode indicating whether the motion vector detection mode or the direct mode, and a one-way prediction in which the inter prediction direction is the prediction direction 1, or a one-way prediction in the prediction direction 2, or a prediction direction.
  • An inter prediction direction flag indicating whether or not bi-directional prediction using 1 and prediction direction 2 is output to the variable-length encoding unit 113 in order to accompany the bit stream of the encoding target block (step S1608).
  • FIG. 36 is a flowchart showing a determination flow of the direct mode prediction direction in the direct mode prediction direction determination unit.
  • the cost of the two-way prediction and the one-way prediction tends to be relatively close, and thus either By fixing to one prediction direction, it is not necessary to accompany the inter prediction direction flag for each encoding target block.
  • the following description will be given using an example in which prediction is fixed to bi-directional prediction that can generate a prediction image with relatively little noise due to the influence of addition averaging or the like. In the case of an image with little influence of noise or the like, it may be fixed to unidirectional prediction from the viewpoint of processing amount.
  • the direct mode prediction direction determination unit 901 uses the reference picture lists 1 and 2 to determine whether or not the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 ( Step S1701). For example, the display order of the reference picture indicated by each reference picture index 1 is obtained from the reference picture list 1, and compared with the display order of the reference picture indicated by each reference picture index 2 from the reference picture list 2. It can be determined that they are the same. As a result of this determination, if the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 (Yes in step S1701), the direct mode prediction direction determination unit 901 determines the direct mode.
  • step S1702 the direct mode prediction direction fixed flag is set to ON (step S1702).
  • the direct mode prediction direction fixed flag is set to off (step S1703).
  • step S1701 it is determined in step S1701 whether the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 using the display order. You may determine using order etc.
  • the direct mode prediction direction is determined to be bi-directional prediction, and the direct mode prediction is performed.
  • the direction fixed flag is set to ON, but the reference picture indicated by the reference picture index 1 in the prediction direction 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 in the direct mode of the current block are the same picture
  • the direct mode prediction direction may be determined to be bi-directional prediction, and the direct mode prediction direction fixed flag may be set to ON.
  • the display order of the reference picture indicated by the reference picture index 1 is obtained from the reference picture list 1 and is compared with the display order of the reference picture indicated by the reference picture index 2 from the reference picture list 2. it can.
  • the inter-prediction direction flag is attached to each encoding target block by fixing to one of the prediction directions. This is unnecessary, and the encoding efficiency can be improved.
  • the direct mode prediction direction is determined to be bi-directional prediction, and the direct mode You may make it set a prediction direction fixed flag to ON.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, or the reference in the prediction direction 1 in the direct mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 may be the same picture. Even in such a case, the costs of the bi-directional prediction and the uni-directional prediction tend to be relatively close. Therefore, the inter-prediction direction flag is attached to each encoding target block by fixing to one of the prediction directions. This is unnecessary, and the encoding efficiency can be improved.
  • the direct mode prediction direction is determined to be bi-directional prediction, and the direct mode You may make it set a prediction direction fixed flag to ON.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, or the reference in the prediction direction 1 in the direct mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 may be the same picture. Even in such a case, the costs of the bi-directional prediction and the uni-directional prediction tend to be relatively close. Therefore, the inter-prediction direction flag is attached to each encoding target block by fixing to one of the prediction directions. This is unnecessary, and the encoding efficiency can be improved.
  • FIG. 37 is a flowchart showing the determination flow of the inter prediction mode in the inter prediction control unit.
  • the inter prediction control unit 902 calculates a cost CostInter in a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result by a method described later (step S1801).
  • the inter prediction control unit 902 generates a prediction vector using a motion vector such as an adjacent block in accordance with the direct mode prediction direction fixed flag determined by the direct mode prediction direction determination unit 901, and generates a prediction image using the prediction vector.
  • the cost CostDirect of the direct mode to be calculated is calculated by the method described later (step S1802).
  • the inter prediction control unit 902 calculates the cost CostSkip in the skip mode in which the predicted image at the position indicated by the motion vector predicted from the peripheral block or the like is the decoded image as it is (step S1803).
  • the inter prediction control unit 902 compares the cost CostInter of the motion vector detection mode, the cost CostDirect of the direct mode, and the cost CostSkip of the skip mode, and determines whether or not the cost CostInter of the motion vector detection mode is the minimum (step S1804). ). If the cost CostInter of the motion vector detection mode is the minimum as a result of this determination (Yes in step S1804), the inter prediction control unit 902 determines the inter prediction mode as the motion vector detection mode, and sets the inter prediction mode to the motion vector detection mode. (Step S1805).
  • the inter prediction control unit 902 compares the cost CostDirect of the direct mode with the cost CostSkip of the skip mode, and whether the cost CostDirect of the direct mode is small. It is determined whether or not (step S1806). If the cost CostDirect of the direct mode is small as a result of this determination (Yes in step S1806), the inter prediction control unit 902 determines the inter prediction mode to be the direct mode, and sets the inter prediction mode to the direct mode (step S1807). . On the other hand, if the cost CostDirect of the direct mode is not small, the inter prediction control unit 902 sets the inter prediction mode to the skip mode and sets the skip mode to the inter prediction mode (step S1808).
  • FIG. 38 is a flowchart showing a processing flow for calculating the cost CostInter in the motion vector detection mode.
  • the inter prediction control unit 902 performs motion detection on the reference picture 1 indicated by the reference picture index 1 in the prediction direction 1 and the reference picture 2 indicated by the reference picture index 2 in the prediction direction 2, and the motion vector for each reference picture 1 and motion vector 2 are generated (step S1901).
  • motion detection a difference value between a coding target block in a coded picture and a block in a reference picture is calculated, and a block in the reference picture having the smallest difference value is set as a reference block.
  • a motion vector is obtained from the encoding target block position and the reference block position.
  • the inter prediction control unit 902 generates a prediction image in the prediction direction 1 using the obtained motion vector 1, and calculates the cost CostInterUni1 by, for example, Equation 1 of the RD optimization model (step S1). S1902).
  • the inter prediction control unit 902 generates a prediction image in the prediction direction 2 using the motion vector 2, and calculates the cost CostInterUni2 from Equation 1 (step S1903).
  • the inter prediction control unit 902 generates a prediction image in two directions using the obtained motion vector 1 and motion vector 2, and calculates the cost CostInterBi from Equation 1 (step S1904).
  • the bi-directional predicted image is, for example, a bi-directional predicted image obtained by performing addition averaging for each pixel of the predicted image obtained from the motion vector 1 and the predicted image obtained from the motion vector 2.
  • the inter prediction control unit 902 compares the values of the cost CostInterUni1, the cost CostInterUni2, and the cost CostInterBi, and determines whether or not the cost CostInterBi is the minimum (step S1905). If the cost CostInterBi is the minimum as a result of this determination (Yes in step S1905), the inter prediction control unit 902 determines the prediction direction of the motion vector detection mode to be bi-directional prediction, and uses the cost CostInterBi as the cost of the motion vector detection mode. Set to CostInter (step S1906).
  • the inter prediction control unit 902 compares the cost CostInterUni1 and the cost CostInterUni2 and determines whether or not the value of the cost CostInterUni1 is small (step S1907). If the cost CostInterUni1 value is small as a result of this determination (Yes in step S1907), the inter prediction control unit 902 determines the motion vector detection mode as one-way prediction 1 in the prediction direction 1, and sets the cost CostInterUni1 as the motion vector detection mode. To the cost CostInter (step S1908).
  • inter prediction control section 902 determines the motion vector detection mode as one-way prediction 2 in prediction direction 2, and uses cost CostInterUni2 as the cost of motion vector detection mode. Set to CostInter (step S1909).
  • the addition average for every pixel was performed at the time of the prediction image generation
  • FIG. 39 is a flowchart showing a processing flow for calculating the cost CostDirect in the direct mode.
  • the inter prediction control unit 902 calculates the direct vector 1 in the prediction direction 1 and the direct vector 2 in the prediction direction 2 (step S2001).
  • the direct vector is calculated, for example, by the method described in step S501 of FIG. 8 of the first embodiment.
  • the inter prediction control unit 902 generates a prediction image in two directions using the obtained direct vector 1 and direct vector 2, and calculates the cost CostDirectBi from Equation 1 (step S2002).
  • the predicted image in two directions is, for example, a prediction image obtained from the direct vector 1 and a predicted image obtained from the direct vector 2 that is obtained by performing averaging for each pixel as the two-way predicted image.
  • the inter prediction control unit 902 determines whether or not the direct mode prediction direction fixed flag is off (step S2003).
  • the inter prediction control unit 902 If the direct mode prediction direction fixed flag is OFF as a result of this determination (Yes in step S2003), the inter prediction control unit 902 generates a prediction image in the prediction direction 1 using the direct vector 1, and its cost CostDirectUni1. Is calculated from Equation 1 (step S2004). The inter prediction control unit 902 generates a prediction image in the prediction direction 2 using the obtained direct vector 2, and calculates the cost CostDirectUni2 from Equation 1 (step S2005). Next, the inter prediction control unit 902 compares the values of the cost CostDirectUni1, the cost CostDirectUni2, and the cost CostDirectBi, and determines whether or not the cost CostDirectBi is the minimum (step S2006).
  • the inter prediction control unit 902 determines the prediction direction of the direct mode to be bi-directional prediction, and sets the cost CostDirctBi to the cost CostDirect of the direct mode. (Step S2007). On the other hand, if the cost CostDirectBi is not minimum (No in step S2006), the inter prediction control unit 902 compares the cost CostDirectUni1 and the cost CostDirectUni2, and determines whether or not the value of the cost CostDirectUni1 is small (step S2008).
  • the inter prediction control unit 902 determines the direct mode as one-way prediction 1 in the prediction direction 1, and sets the cost CostDirectUni1 as the cost CostDirect in the direct mode. Setting is performed (step S2009). On the other hand, if the value of cost CostDirectUni1 is not small (No in step S2008), inter prediction control section 902 determines direct mode as unidirectional prediction 2 in prediction direction 2, and sets cost CostDirectUni2 as cost CostDirect in the direct mode. (Step S2010).
  • step S2003 if the direct prediction direction fixed flag is on (No in step S2003), the inter prediction control unit 902 determines the prediction direction of the direct mode to be bi-directional prediction, and directs the cost CostDirctBi directly.
  • the mode cost is set to CostDirect (step S2007).
  • FIG. 40 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • the inter prediction control unit 902 calculates the direct vector 1 in the prediction direction 1 and the direct vector 2 in the prediction direction 2 (step S2101).
  • the direct vector is calculated, for example, by the method described in step S501 of FIG. 8 of the first embodiment.
  • the inter prediction control unit 902 generates a prediction image in two directions using the direct vector 1 and the direct vector 2, and calculates the cost CostSkip of the skip mode from Equation 1 (step S2102).
  • the predicted image in two directions is, for example, a prediction image obtained from the direct vector 1 and a predicted image obtained from the direct vector 2 that is obtained by performing averaging for each pixel as the two-way predicted image.
  • the optimal prediction direction for the encoding target block is selected and attached to the bitstream regardless of the prediction direction of the neighboring blocks.
  • the cost of the two-way prediction and the one-way prediction tends to be relatively close.
  • the prediction direction is fixed to bi-directional prediction that can generate a prediction image with relatively little noise. As a result, it is not necessary to always associate the prediction direction flag in the direct mode for each block to be encoded, and it is possible to improve the encoding efficiency by suppressing the amount of extra information.
  • FIG. 41 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving picture coding apparatus 1000 according to the present embodiment includes header information (for example, H.264) that adds a direct mode prediction direction fixed flag generated by the direct mode prediction direction determination unit to a bitstream for each processing unit such as a picture.
  • the configuration differs from that of the ninth embodiment in that it is attached to the picture parameter set, slice header, and the like.
  • symbol is attached
  • the direct mode prediction direction determination unit 1001 determines the direct mode prediction direction of the current block using the reference picture lists 1 and 2 as in the first embodiment. Also, the direct mode prediction direction determination unit 1001 adds the set direct mode prediction direction fixed flag to the inter prediction control unit 902 and outputs the flag to the variable length coding unit 1002.
  • variable length coding unit 1002 performs variable length coding processing on the quantized prediction error data, inter prediction mode, inter prediction direction flag, skip flag, picture type information, and direct mode prediction direction fixed flag. Thus, a bit stream is generated.
  • FIG. 42 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • the direct mode prediction direction determination unit 1001 determines a prediction direction when encoding the current block in the direct mode, and performs variable length encoding so that the determined direct mode prediction direction fixed flag is attached to the picture header or the like.
  • the data is output to the unit 1002 (step S2201).
  • the method for determining the prediction direction in the direct mode is the same as the flow in FIG. 36 of the ninth embodiment.
  • the inter prediction control unit 902 includes a motion vector detection mode for generating a prediction image using a motion vector based on a motion detection result, a direct mode for generating a prediction image using a prediction motion vector generated from an adjacent block, and a direct mode.
  • the cost comparison of the skip mode for generating a predicted image using the predicted motion vector generated according to the prediction direction determined by the prediction direction determination unit 1001 is performed, and a more efficient inter prediction mode is determined (step S2202).
  • a more efficient inter prediction mode is determined (step S2202).
  • Formula 1 etc. are utilized for the cost calculation method.
  • the inter prediction control unit 902 determines whether or not the determined inter prediction mode is a skip mode (step S2203). As a result of this determination, if the inter prediction mode is the skip mode (Yes in step S2203), the inter prediction control unit 902 generates a predicted image in the skip mode and sets the skip flag to 1. Then, the inter prediction control unit 902 outputs the skip flag to the variable length coding unit 1002 to accompany the bit stream of the coding target block (step S2204).
  • the inter prediction control unit 902 determines whether the determined inter prediction mode is the direct mode and the direct prediction direction fixed flag is on. It is determined whether or not (step S2205). As a result of this determination, if the inter prediction mode is the direct mode and the direct prediction direction fixed flag is on (Yes in step S2205), the inter prediction control unit 902 generates a direct mode bi-directional prediction image, and skip flag Is set to 0. Then, the inter prediction control unit 902 outputs the skip flag to the variable length coding unit 1002 to accompany the bit stream of the coding target block.
  • the inter prediction mode indicating whether the motion vector detection mode or the direct mode is output to the variable length coding unit 1002 in order to accompany the bit stream of the block to be coded (step S2206).
  • the inter prediction control unit 902 performs inter prediction according to the determined inter prediction mode, Predictive image data is generated and the skip flag is set to 0. Then, the inter prediction control unit 902 outputs the skip flag to the variable length coding unit 1002 to accompany the bit stream of the coding target block.
  • the inter prediction control unit 902 includes an inter prediction mode indicating whether the motion vector detection mode or the direct mode, and one-way prediction in which the inter prediction direction is the prediction direction 1, or one-way prediction in the prediction direction 2, or a prediction direction.
  • An inter prediction direction flag indicating whether or not bi-directional prediction using 1 and prediction direction 2 is output to the variable-length encoding unit 1002 to accompany the bit stream of the encoding target block (step S2207). Note that the inter prediction mode determination method and the like are the same as those in Embodiment 9, and thus the description thereof is omitted.
  • the direct mode prediction direction fixed flag is explicitly given to the picture header or the like, whether or not the direct mode prediction direction is fixed to bi-directional prediction is determined for each picture. It becomes possible to switch flexibly and improve the coding efficiency.
  • FIG. 43 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving image encoding apparatus 1100 according to the present embodiment includes a header that adds the direct mode prediction direction flag generated by the direct mode prediction direction determination unit and the direct mode prediction direction fixed flag to the bitstream for each processing unit such as a picture.
  • the configuration is different from that of the ninth embodiment in that it is attached to information (for example, H.264 picture parameter set and slice header).
  • symbol is attached
  • FIG. 44 is a flowchart showing an outline of the processing flow of the moving picture encoding method according to the present invention.
  • the direct mode prediction direction determination unit 1101 determines the prediction direction when the encoding target block is encoded in the direct mode, and attaches the determined direct mode prediction direction fixed flag and the direct prediction direction flag to the picture header or the like. Therefore, the data is output to the variable length coding unit 1102 (step S2301).
  • the method for determining the prediction direction in the direct mode is the same as the flow in FIG. 36 of the ninth embodiment.
  • the inter prediction control unit 1103 includes a motion vector detection mode for generating a prediction image using a motion vector based on a motion detection result, a direct mode for generating a prediction image using a prediction motion vector generated from an adjacent block, and a direct mode.
  • the cost comparison of the skip mode for generating a predicted image using the predicted motion vector generated according to the prediction direction determined by the prediction direction determination unit 1101 is performed, and a more efficient inter prediction mode is determined (step S2302).
  • Formula 1 etc. are utilized for the cost calculation method.
  • the inter prediction control unit 1103 determines whether or not the determined inter prediction mode is the skip mode (step S2303). As a result of this determination, if the inter prediction mode is the skip mode (Yes in step S2303), the inter prediction control unit 1103 generates a predicted image of the skip mode and sets the skip flag to 1. Then, the inter prediction control unit 1103 outputs the skip flag to the variable length coding unit 1102 in order to accompany the bit stream of the coding target block (step S2304).
  • the inter prediction control unit 1103 determines whether or not the determined inter prediction mode is the direct mode and the direct prediction direction fixed flag is on (Ste S2305). As a result of this determination, if the inter prediction mode is the direct mode and the direct prediction direction fixed flag is on (Yes in step S2305), the inter prediction control unit 1103 generates a prediction image according to the determined direct mode prediction direction. The skip flag is set to 0. Then, the inter prediction control unit 1103 outputs the skip flag to the variable length coding unit 1102 to accompany the bit stream of the coding target block.
  • the inter prediction control unit 1103 outputs an inter prediction mode indicating the motion vector detection mode or the direct mode to the variable length coding unit 1102 in order to accompany the bit stream of the coding target block (step S2306).
  • the inter prediction mode is the direct mode and the direct prediction direction fixed flag is not on (No in step S2305)
  • the inter prediction control unit 1103 performs inter prediction according to the determined inter prediction mode, and generates predicted image data.
  • the skip flag is set to 0.
  • the inter prediction control unit 1103 outputs the skip flag to the variable length coding unit 1102 to accompany the bit stream of the coding target block.
  • the inter prediction control unit 1103 outputs an inter prediction mode and an inter prediction direction flag indicating whether the motion vector detection mode or the direct mode is attached to the variable length coding unit 1102 so as to accompany the bit stream of the coding target block. (Step S2307). Note that the inter prediction mode determination method and the like are the same as those in Embodiment 9, and thus the description thereof is omitted.
  • the direct mode prediction direction fixed flag and the direct prediction direction flag are explicitly added to the picture header or the like, so that the direct mode prediction direction is fixed to a certain prediction direction. Whether or not can be flexibly switched for each picture, and the encoding efficiency can be improved.
  • FIG. 45 is a block diagram showing a configuration of an embodiment of a video decoding apparatus using the video decoding method according to the present invention.
  • the moving picture decoding apparatus 1200 includes a variable length decoding unit 501, an inverse quantization unit 502, an inverse orthogonal transform unit 503, a block memory 504, a frame memory 505, an intra prediction unit 506, and an inter prediction unit. 507, an inter prediction control unit 1202, a reference picture list management unit 509, and a direct mode prediction direction determination unit 1201.
  • the variable length decoding unit 501 performs variable length decoding processing on the input bitstream, and performs quantization on which picture type information, inter prediction mode, inter prediction direction flag, skip flag, and variable length decoding processing are performed. Generate coefficients.
  • the inverse quantization unit 502 performs inverse quantization processing on the quantized coefficients that have been subjected to variable length decoding processing.
  • the inverse orthogonal transform unit 503 transforms the orthogonal transform coefficient that has been subjected to the inverse quantization process from the frequency domain to the image domain to obtain prediction error image data.
  • the block memory 504 stores prediction error image data and an image sequence generated by adding the prediction image data in units of blocks.
  • the frame memory 505 stores the image sequence in units of frames.
  • the intra prediction unit 506 generates predicted image data of the decoding target block by performing intra prediction using the block-by-block image sequence stored in the block memory 504.
  • the inter prediction unit 507 generates predicted image data of the decoding target block by performing inter prediction using the frame-by-frame image sequence stored in the frame memory 505.
  • the inter prediction control unit 1202 controls the motion vector and the prediction image data generation method in the inter prediction according to the inter prediction mode, the inter prediction direction, and the skip flag.
  • the reference picture list management unit 509 assigns a reference picture index to an encoded reference picture that is referred to in inter prediction, and creates a reference picture list together with a display order and the like. Since B picture can be encoded with reference to two pictures, it holds two reference picture lists.
  • the reference picture is managed in the reference picture index and the display order.
  • the reference picture may be managed in the reference picture index and the encoding order.
  • the direct mode prediction direction determination unit 1201 uses the reference picture lists 1 and 2 created by the reference picture list management unit 509 to determine the direct mode prediction direction of the encoding target block, and sets a direct mode prediction direction fixed flag. Set. Note that the determination flow of the direct mode prediction direction fixed flag is the same as that of FIG.
  • a decoded image sequence is generated by adding the decoded prediction error image data and the prediction image data.
  • FIG. 46 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 1202 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 501 is 1 (step S2401). If the skip flag is 1 as a result of this determination (Yes in step S2401), the inter prediction control unit 1202 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step S2402). Here, the direct vector is calculated, for example, by the method described in step S501 of FIG. 8 of the first embodiment. On the other hand, if the skip flag is not 1, that is, if it is not the skip mode (No in step S2401), the inter prediction control unit 1202 determines whether or not the inter prediction mode decoded by the variable length decoding unit 501 is the direct mode.
  • step S2403 If the inter prediction mode is the direct mode as a result of this determination (Yes in step S2403), the inter prediction control unit 1202 determines whether or not the direct mode prediction direction fixed flag is on (step S2404). As a result of this determination, if the direct mode prediction direction fixed flag is on (Yes in step S2404), the inter prediction control unit 1202 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step S2404). S2405). On the other hand, if the direct mode prediction direction fixed flag is not on (No in step S2404), the inter prediction control unit 1202 direct vector 1, direct vector 2 according to the inter prediction direction decoded by the variable length decoding unit 501.
  • step S2406 Is calculated and a predicted image is generated.
  • the inter prediction mode is not the direct mode, that is, if it is the motion vector detection mode (No in step S2403)
  • the inter prediction direction and the motion vector decoded by the variable length decoding unit 501 are used.
  • the prediction image is generated using the prediction image (step S2407).
  • the direct mode prediction direction fixed flag is turned on in step S2405
  • a bidirectional prediction image is generated.
  • a unidirectional prediction image is generated in accordance with the encoding method. You may make it.
  • FIG. 47 is a diagram showing an example of the bitstream syntax in the video decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • the optimal prediction direction for the encoding target block is selected and attached to the bitstream regardless of the prediction direction of the neighboring blocks. As a result, it becomes possible to appropriately decode the bit stream with improved encoding efficiency.
  • the direct mode prediction direction is fixed to bi-directional prediction, and the direct mode prediction direction flag is set to bit stream. Therefore, it is possible to appropriately decode a bit stream in which the amount of extra information is suppressed and the encoding efficiency is improved.
  • FIG. 48 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to the present invention.
  • the moving picture decoding apparatus 1300 according to the present embodiment includes header information (for example, H.264) that adds a direct mode prediction direction fixed flag generated by the direct mode prediction direction determination unit to a bitstream for each processing unit such as a picture.
  • the configuration is different from that of the twelfth embodiment in that the bitstream attached to the picture parameter set, slice header, etc.) can be decoded.
  • symbol is attached
  • FIG. 49 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 1302 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 1301 is 1 (step S2501). As a result of this determination, if the skip flag is 1 (Yes in step S2501), the inter prediction control unit 1302 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step S2502). On the other hand, if the skip flag is not 1, that is, if it is not the skip mode (No in step S2501), the inter prediction control unit 1302 determines whether or not the inter prediction mode decoded by the variable length decoding unit 1301 is the direct mode. Is determined (step S2503).
  • the inter prediction control unit 1302 has the direct mode prediction direction fixed flag decoded from the bitstream by the variable length decoding unit 1301 turned on. It is determined whether or not there is (step S2504). If the direct mode prediction direction fixed flag is on as a result of this determination (Yes in step S2504), the inter prediction control unit 1302 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step) S2505).
  • the inter prediction control unit 1302 determines the direct vector 1 and the direct vector according to the inter prediction direction flag decoded by the variable length decoding unit 1301. 2 is calculated and a predicted image is generated (step S2506).
  • the inter prediction mode is not the direct mode, that is, if it is the motion vector detection mode (No in step S2503)
  • the inter prediction control unit 1302 is decoded by the variable length decoding unit 1301. A prediction image is generated using the inter prediction direction flag and the motion vector (step S2507).
  • the direct mode prediction direction fixed flag is turned on in step S2505, a bi-directional prediction image is generated.
  • a uni-directional prediction image is generated. You may make it.
  • FIG. 50A and FIG. 50B are diagrams showing an example of the syntax of the bitstream in the moving picture decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • fixed_direct_pred added to the picture header or the like represents a direct mode prediction direction fixed flag.
  • whether or not the direct mode prediction direction is fixed to the bi-directional prediction by explicitly assigning the direct mode prediction direction fixed flag to the picture header or the like is determined for each picture. It is possible to appropriately decode a bit stream with improved encoding efficiency by switching to a flexible manner.
  • FIG. 51 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to the present invention.
  • the direct prediction direction flag generated by the direct mode prediction direction determination unit and the direct mode prediction direction fixed flag are added to the bitstream for each processing unit such as a picture.
  • the configuration is different from that of the twelfth embodiment in that a bitstream attached to header information (for example, H.264 picture parameter set, slice header, etc.) can be decoded.
  • symbol is attached
  • FIG. 52 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 1402 determines whether or not the skip flag decoded from the bitstream by the variable length decoding unit 1401 is 1 (step S2601). If the skip flag is 1 as a result of this determination (Yes in step S2601), the inter prediction control unit 1402 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step S2602). On the other hand, if the skip flag is not 1, that is, if it is not the skip mode (No in step S2601), the inter prediction control unit 1402 determines whether or not the inter prediction mode decoded by the variable length decoding unit 1401 is the direct mode. Is determined (step S2603).
  • the inter prediction control unit 1402 has the direct mode prediction direction fixed flag decoded from the bitstream by the variable length decoding unit 1401 turned on. It is determined whether or not there is (step S2604). As a result of this determination, if the direct mode prediction direction fixed flag is on (Yes in step S2604), the inter prediction control unit 1402 responds to the direct mode prediction flag decoded from the bitstream by the variable length decoding unit 1401. The direct vector 1 and the direct vector 2 are calculated, and a predicted image is generated (step S2605).
  • the inter prediction control unit 1402 calculates the direct vector 1 and the direct vector 2 according to the inter prediction direction flag decoded by the variable length decoding unit 1401, and performs prediction. An image is generated (step S2606).
  • the inter prediction mode is not the direct mode, that is, if it is the motion vector detection mode (No in step S2603), the inter prediction control unit 1402 is decoded by the variable length decoding unit 1401. A prediction image is generated using the inter prediction direction flag and the motion vector (step S2607).
  • 53A and 53B are diagrams showing an example of the syntax of a bitstream in the moving picture decoding method according to the present invention.
  • skip_flag represents a skip flag
  • pred_mode represents an inter prediction mode
  • inter_pred_idc represents an inter prediction direction flag.
  • fixed_direct_pred added to a picture header or the like represents a direct mode prediction direction fixed flag
  • direct_pred_idc represents a direct prediction direction flag.
  • the direct mode prediction direction fixed flag and the direct prediction direction flag are explicitly added to the picture header or the like, so that the direct mode prediction direction is fixed to a certain prediction direction. It is possible to appropriately decode a bitstream with improved coding efficiency by flexibly switching whether or not to perform each picture.
  • Embodiment 15 In this embodiment, a case where Embodiment 1 and Embodiment 9 are combined will be described.
  • the encoding is performed by fixing the prediction direction of the skip mode to unidirectional prediction. An example of improving efficiency was given.
  • Embodiment 9 when the reference picture index assignment for each reference picture is the same in reference picture list 1 and reference picture list 2, the costs of direct mode bi-directional prediction and uni-directional prediction are relatively close. Therefore, by fixing the prediction direction of the direct mode to either one of the two-way prediction or the one-way prediction, there is no need to always attach the prediction mode flag of the direct mode for each encoding target block. An example of improving the coding efficiency by suppressing the amount of extra information has been shown.
  • the prediction direction of the skip mode is set to one-way prediction.
  • some coding target blocks whose bi-directional prediction costs are lower than those in the unidirectional prediction in the skip mode are encoded as the bi-directional prediction in the direct mode. Therefore, by fixing the direct mode prediction direction to bi-directional prediction, it is not necessary to always include more direct mode prediction direction flags for each encoding target block, and the amount of extra information is suppressed. Thus, encoding efficiency can be improved.
  • FIG. 54 is a block diagram showing a configuration of an embodiment of a video encoding apparatus using the video encoding method according to the present invention.
  • the moving image encoding apparatus 1500 includes an orthogonal transform unit 101, a quantization unit 102, an inverse quantization unit 103, an inverse orthogonal transform unit 104, a block memory 105, a frame memory 106, an intra prediction unit 107, An inter prediction unit 108, an inter prediction control unit 1502, a picture type determination unit 110, a reference picture list management unit 111, a merge mode prediction direction determination unit 1501, and a variable length encoding unit 113 are provided.
  • the orthogonal transform unit 101 transforms prediction image data generated as described later and prediction error data between an input image sequence from an image region to a frequency region.
  • the quantization unit 102 performs a quantization process on the prediction error data converted into the frequency domain.
  • the inverse quantization unit 103 performs inverse quantization processing on the prediction error data quantized by the quantization unit 102.
  • the inverse orthogonal transform unit 104 performs transform from the frequency domain to the image domain on the prediction error data subjected to the inverse quantization process.
  • the block memory 105 stores the decoded image obtained from the prediction image data and the prediction error data subjected to the inverse quantization process in units of blocks, and the frame memory 106 stores the decoded image in units of frames.
  • the picture type determination unit 110 determines which of the I picture, B picture, and P picture is used to encode the input image sequence, and generates picture type information.
  • the intra prediction unit 107 uses the decoded image in units of blocks stored in the block memory 105 to generate predicted image data based on intra prediction of the encoding target block.
  • the inter prediction unit 108 generates predicted image data by inter prediction of the encoding target block, using the decoded image in units of frames stored in the frame memory 106.
  • the reference picture list management unit 110 assigns a reference picture index to an encoded reference picture to be referred to in inter prediction, and creates a reference picture list together with a display order and the like. Since B picture can be encoded with reference to two pictures, it holds two reference picture lists. In this embodiment, the reference picture is managed in the reference picture index and the display order. However, the reference picture may be managed in the reference picture index and the encoding order.
  • the merge mode prediction direction determination unit 1501 uses the reference picture lists 1 and 2 created by the reference picture list management unit 110 to determine the prediction direction of the merge mode of the block to be encoded by a method described later.
  • variable length encoding unit 113 generates a bitstream by performing variable length encoding processing on the quantized prediction error data, inter prediction mode, inter prediction direction flag, skip flag, and picture type information. .
  • FIG. 55 is a flowchart showing an outline of the processing flow of the moving picture coding method according to the present invention.
  • the merge mode prediction direction determination unit 1501 determines a prediction direction when the encoding target block is encoded in the merge mode (step S2701).
  • the inter prediction control unit 1502 includes a motion vector detection mode that generates a predicted image using a motion vector based on a motion detection result, a merge mode that generates a predicted image using a predicted motion vector such as an adjacent block, and a merge mode prediction direction.
  • the cost comparison of the skip mode for generating a predicted image using the predicted motion vector generated according to the prediction direction determined by the determination unit 1501 is performed, and a more efficient inter prediction mode is determined (step S2702). The cost calculation method will be described later.
  • the inter prediction control unit 1502 determines whether or not the inter prediction mode determined in step S2702 is the skip mode (step S2703). If the result of this determination is true (Yes in step S2703), the inter prediction control unit 1502 generates a predicted image in the skip mode and sets the skip flag to 1. Then, the inter prediction control unit 1502 outputs the skip flag to the variable length coding unit 113 to accompany the bit stream of the coding target block (step S2704). If the determination result is false (No in step S2703), the inter prediction control unit 1502 determines whether or not the determined inter prediction mode is the merge mode (step S2705).
  • the inter prediction control unit 1502 If the result of this determination is true (Yes in step S2705), the inter prediction control unit 1502 generates a merge mode prediction image according to the merge mode prediction direction fixed flag obtained by the method described later, and skip flag Is set to 0. Then, the inter prediction control unit 1502 outputs the skip flag to the variable length encoding unit 113 in order to accompany the bit stream of the encoding target block. Also, the inter prediction control unit 1502 associates the inter prediction mode indicating the motion vector detection mode or the merge mode and the adjacent block information used for merging obtained by the method described later with the bit stream of the encoding target block. Therefore, the data is output to the variable length coding unit 113 (step S2706).
  • the inter prediction control unit 1502 determines whether or not bi-directional prediction using 1 and prediction direction 2 is output to the variable length encoding unit 113 in order to accompany the bit stream of the encoding target block (step S2707).
  • FIG. 56 is a flowchart showing a merge mode prediction direction determination flow in the merge mode prediction direction determination unit 1501.
  • the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2
  • motion vectors in the prediction direction 1 and the prediction direction 2 are selected in the two-way prediction.
  • the direction prediction only the motion vector in the prediction direction 1 may be used, and the motion vector in the prediction direction 2 may decrease as a whole.
  • the reference picture index assignment for each reference picture is the same in the reference picture list 1 and the reference picture list 2
  • the unidirectional prediction using the reference picture list 2 is prohibited, thereby encoding the inter prediction direction flag code. Coding efficiency can be improved by reducing the amount.
  • the motion vector in the prediction direction 2 is reduced as a whole, and the accuracy of the prediction motion vector in the prediction direction 2 may be lowered. Therefore, when the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2, the encoding efficiency is improved by fixing the prediction direction of the merge mode to one-way prediction. be able to.
  • the merge mode prediction direction determination unit 1501 uses the reference picture list 1 and the reference picture list 2 to determine whether or not the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2. Determination is made (step S2801). For example, the display order of the reference picture indicated by each reference picture index 1 is obtained from the reference picture list 1, and compared with the display order of the reference picture indicated by each reference picture index 2 from the reference picture list 2. It can be determined that they are the same. As a result of this determination, if the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2 (Yes in step S2801), the merge mode prediction direction determination unit 1501 determines the merge mode.
  • step S2802 the merge mode prediction direction fixed flag is set to ON (step S2802).
  • the merge mode prediction direction fixed flag is set to OFF (step S2803).
  • step S2801 it is determined in step S2801 whether or not the reference picture index allocation to each reference picture is the same in the reference picture list 1 and the reference picture list 2 using the display order. You may judge using.
  • step S2801 when the reference picture index assignment to each reference picture is the same in the reference picture list 1 and the reference picture list 2, the prediction direction of the merge mode is determined to be one-way prediction.
  • the merge mode prediction direction fixed flag is set to ON, the reference picture indicated by the reference picture index 1 in the prediction direction 1 and the reference indicated by the reference picture index 2 in the prediction direction 2 in the merge mode of the encoding target block.
  • the merge mode prediction direction may be determined to be bi-directional prediction, and the merge mode prediction direction fixed flag may be set to ON.
  • the display order of the reference picture indicated by the reference picture index 1 is obtained from the reference picture list 1 and is compared with the display order of the reference picture indicated by the reference picture index 2 from the reference picture list 2.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 decreases, encoding efficiency can be improved by fixing the prediction direction of merge mode to 1 direction prediction.
  • the prediction direction of the merge mode is fixed to one-way prediction.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, or the reference in the prediction direction 1 in the merge mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 may be the same picture.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 decreases, encoding efficiency can be improved by fixing the prediction direction of merge mode to 1 direction prediction.
  • the prediction direction of the merge mode is fixed to one-way prediction.
  • the reference picture index assignment to each reference picture may be the same in the reference picture list 1 and the reference picture list 2, and the reference in the prediction direction 1 in the skip mode of the encoding target block
  • the reference picture indicated by the picture index 1 and the reference picture indicated by the reference picture index 2 in the prediction direction 2 may be the same picture.
  • the motion vector in the prediction direction 1 and the prediction direction 2 is selected in the two-way prediction, but only the motion vector in the prediction direction 1 may be used in the one-way prediction. Since the motion vector of 2 decreases, encoding efficiency can be improved by fixing the prediction direction of merge mode to 1 direction prediction.
  • FIG. 57 is a flowchart showing the determination flow of the inter prediction mode in the inter prediction control unit 1502.
  • the inter prediction control unit 1502 calculates a cost CostInter of a motion vector detection mode for generating a predicted image using a motion vector based on a motion detection result by a method described later (step S2901). Next, the inter prediction control unit 1502 generates a prediction vector using a motion vector such as an adjacent block, and calculates a cost CostMerge in a merge mode in which a prediction image is generated using the prediction vector by a method described later (step S2902). The inter prediction control unit 1502 calculates a cost CostSkip of a skip mode for generating a predicted image according to the determined skip mode prediction direction flag by a method described later (step S2903).
  • the inter prediction control unit 1502 compares the cost CostInter of the motion vector detection mode, the cost CostMerge of the merge mode, and the cost CostSkip of the skip mode, and determines whether or not the cost CostInter of the motion vector detection mode is the minimum (step S2904). If the cost CostInter of the motion vector detection mode is the minimum as a result of this determination (Yes in step S2904), the inter prediction control unit 1502 determines the inter prediction mode as the motion vector detection mode, and detects the inter prediction mode as a motion vector. The mode is set (step S2905).
  • the inter prediction control unit 1502 compares the cost CostMerge in the merge mode with the cost CostSkip in the skip mode. It is determined whether or not the cost CostMerge in the merge mode is small (step S2906). If the result of this determination is that the cost CostMerge in the merge mode is small (Yes in step S2906), the inter prediction control unit 1502 determines the inter prediction mode as the merge mode, and sets the inter prediction mode as the merge mode (step S2907). . On the other hand, if the determination in step S2906 is false (No in step S2906), the inter prediction control unit 1502 sets the inter prediction mode to the skip mode and sets the skip mode to the inter prediction mode (step S2908).
  • FIG. 58 is a flowchart showing a processing flow for calculating the cost CostInter in the motion vector detection mode.
  • the inter prediction control unit 1502 performs motion detection on the reference picture 1 indicated by the reference picture index 1 in the prediction direction 1 and the reference picture 2 indicated by the reference picture index 2 in the prediction direction 2, and the motion vector for each reference picture 1 and motion vector 2 are generated (step S3001).
  • motion detection a difference value between a coding target block in a coded picture and a block in a reference picture is calculated, and a block in the reference picture having the smallest difference value is set as a reference block. Then, a motion vector is obtained from the encoding target block position and the reference block position.
  • the inter prediction control unit 1502 uses the obtained motion vector 1 to generate a prediction image in the prediction direction 1, and calculates the cost CostInterUni1 using, for example, the above equation 1 of the RD optimization model (Ste S3002).
  • the inter prediction control unit 1502 generates a prediction image in the prediction direction 2 using the obtained motion vector 2, and calculates the cost CostInterUni2 from Equation 1 (step S3003).
  • the inter prediction control unit 1502 generates a prediction image in two directions using the obtained motion vector 1 and motion vector 2, and calculates the cost CostInterBi from Equation 1 above (step S3004).
  • the bi-directional predicted image is, for example, a bi-directional predicted image obtained by performing addition averaging for each pixel of the predicted image obtained from the motion vector 1 and the predicted image obtained from the motion vector 2.
  • the inter prediction control unit 1502 compares the values of the cost CostInterUni1, the cost CostInterUni2, and the cost CostInterBi, and determines whether or not the cost CostInterBi is the minimum (step S3005). If the cost CostInterBi is the minimum as a result of this determination (Yes in step S3005), the inter prediction control unit 1502 determines the prediction direction of the motion vector detection mode to be bi-directional prediction, and uses the cost CostInterBi as the cost of the motion vector detection mode. Set to CostInter (step S3006).
  • the inter prediction control unit 1502 compares the cost CostInterUni1 and the cost CostInterUni2 and determines whether the cost CostInterUni1 is small (Ste S3007). If the cost CostInterUni1 value is small as a result of this determination (Yes in step S3007), the inter prediction control unit 1502 determines the motion vector detection mode as one-way prediction 1 in the prediction direction 1, and sets the cost CostInterUni1 as the motion vector detection mode. Cost CostInter (step S3008).
  • step S3007 determines the motion vector detection mode as one-way prediction 2 in the prediction direction 2, and sets the cost CostInterUni2 as the motion vector detection mode.
  • the cost is set to CostInter (step S3009).
  • the addition average for every pixel was performed at the time of the prediction image generation
  • FIG. 59 is a flowchart showing a processing flow for calculating the cost CostMerge in the merge mode.
  • the inter prediction control unit 1502 determines the reference picture index of the encoding target block (step S3102). For example, the reference picture index of the adjacent block N is set. Next, the inter prediction control unit 1502 determines whether or not the merge mode prediction direction fixed flag is on (step S3103). As a result of this determination, if the merge mode prediction direction fixed flag is on (Yes in step S3103), the inter prediction control unit 1502 generates a one-way prediction image using the motion vector in the prediction direction 1 of the adjacent block N. Then, the cost TmpCostMerge is calculated from the above equation 1 (step S3104). Next, the inter prediction control unit 1502 determines whether or not the cost TmpCostMerge is smaller than the cost CostMerge (step S3105).
  • the inter prediction control unit 1502 copies the cost TmpCostMerge to the cost CostMerge and updates the information MinN of the neighboring block that generated the minimum cost (step S3106).
  • the inter prediction control unit 1502 determines whether or not the prediction direction of the adjacent block N is bi-directional prediction. Determination is made (step S3107).
  • step S3107 the inter prediction control unit 1502 generates a bi-directional prediction image using the motion vectors in the prediction direction 1 and the prediction direction 2 of the adjacent block N.
  • the cost TmpCostMerge is calculated from the above equation 1 (step S3108).
  • step S3109 the inter prediction control unit 1502 uses the motion vector in the prediction direction 1 or prediction direction 2 of the adjacent block N to perform one-way prediction. An image is generated, and its cost TmpCostMerge is calculated from the above equation 1 (step S3109).
  • the reference picture index of the adjacent block is used as the reference picture index value of the encoding target block in the merge mode.
  • a reference picture index indicating the referenced reference picture may be calculated. For example, in FIG. 9, when the possible values of each reference picture index are “0” or “1”, the median value of RefIdxL0_A, RefIdxL0_B, and RefIdxL0_C is used as the reference picture index RefIdxL0 in the prediction direction 1 of the current block. It can be calculated from (RefIdxL0_A, RefIdxL0_B, RefIdxL0_C).
  • the intermediate value is derived from Equation 2 above.
  • the reference picture index of the block to be encoded is a reference picture index that indicates a reference picture that has been referred to more frequently in adjacent blocks, thereby improving the prediction accuracy of vectors used in the merge mode, thereby improving the encoding efficiency.
  • an example in which a reference picture index indicating a reference picture that has been referred to more frequently in an adjacent block is obtained using an intermediate value is not necessarily limited thereto. For example, it may be calculated by checking the same relationship between the reference picture indexes of adjacent blocks. If the reference picture index values of adjacent blocks are all different, the reference picture index that represents the reference picture that is closest to the encoding target picture in the display order among the reference pictures indicated by each reference picture index is encoded.
  • the reference picture index of the conversion target block may be used.
  • a reference picture index value of an encoding target block in the merge mode a reference picture index indicating a reference picture that is closest to the encoding target picture in display order among reference pictures referenced in adjacent blocks is assigned. Also good.
  • the reference picture index RefIdxL0 in the prediction direction 1 of the encoding target block is calculated from the minimum value Min (RefIdxL0_A, RefIdxL0_B, RefIdxL0_C) of RefIdxL0_A, RefIdxL0_B, and RefIdxL0_C.
  • the minimum value is derived from Equation 5.
  • a reference picture that is closer to the encoding target picture in display order is more likely to be assigned a smaller reference picture index value. Therefore, by obtaining the minimum value, the closest distance in display order to the encoding target picture is obtained.
  • a reference picture index indicating a reference picture can be calculated. Note that the display order of each reference picture may be obtained from the reference picture index of the adjacent block and the reference picture list, and the reference picture index indicating the reference picture closest to the encoding target picture may be calculated.
  • the reference picture index is a reference picture index that indicates a reference picture that has been referenced more frequently in the adjacent block, or a reference picture that is closest to the current picture in the display order among the reference pictures that are referenced in the adjacent block.
  • the motion vector used in the merge mode may be scaled according to the distance to the reference picture indicated by the determined reference picture index.
  • FIG. 60 is a diagram illustrating an example in which a merge index is assigned to a motion vector and a reference picture index used in the merge mode.
  • the adjacent block A, the adjacent block B, the adjacent block C, and the co-located block have a motion vector and a reference picture index as illustrated in FIGS. 9 and 13 described in the first embodiment.
  • the motion vector MvL0_A, the reference picture index RefIdxL0_A, the motion vector MvL1_A, and the reference picture index RefIdxL1_A of the adjacent block A are added to the merge index value “0”. Assigned.
  • the motion vector MvL0_B and the reference picture index RefIdxL0_B which are the motion vector of the adjacent block B and the reference picture index are assigned to the merge index value “1”.
  • the motion vector MvL0_C and the reference picture index RefIdxL0_C which are the motion vector of the adjacent block C and the reference picture index are assigned to the merge index value “2”. Also, the motion vector scaleMvL0 obtained by scaling the motion vector of the co-located block to the merge index value “3” according to the reference distance, the reference picture index RefIdxL0_A that is the reference picture index of the adjacent block A, the motion vector scaleMvL1, A reference picture index RefIdxL1_A is assigned.
  • the motion vector scaleMvL0 is subjected to scaling processing using the reference picture index RfIdxL0_Col in the prediction direction 1 of the co-located block and the reference picture index of the encoding target block, and the reference picture index of the encoding target block (in the above example)
  • the direct vector for the reference picture indicated by the reference picture index RefIdxL0_A) of the adjacent block A is obtained.
  • FIG. 61 is a flowchart showing a processing flow for calculating the cost CostSkip in the skip mode.
  • Inter prediction control unit 1502 calculates direct vector 1 in prediction direction 1 and direct vector 2 in prediction direction 2 (step S3201).
  • the direct vector is calculated, for example, by the method described in step S501 of FIG. 8 of the first embodiment.
  • the inter prediction control unit 1502 generates a prediction image in two directions using the direct vector 1 and the direct vector 2, and calculates the cost CostSkip of the skip mode from the above equation 1 (step S3202).
  • the predicted image in two directions is, for example, a prediction image obtained from the direct vector 1 and a predicted image obtained from the direct vector 2 that is obtained by performing averaging for each pixel as the two-way predicted image.
  • an example in which an intermediate value Median (MvL0_A, MvL0_B, MvL0_C) of MvL0_A, MvL0_B, and MvL0_C is described is not limited to this calculation method.
  • a predicted motion vector having the smallest Cost is selected as a direct vector used for encoding from a plurality of predicted motion vector candidates, and a predicted motion vector index representing the selected predicted motion vector is attached to the bitstream. I do not care.
  • Cost is calculated using, for example, Equation 1 above.
  • FIG. 11A shows an example of a motion vector predictor candidate.
  • the predicted motion vector index value is “0” for a value corresponding to Median (MvL0_A, MvL0_B, MvL0_C), “1” for a value corresponding to the motion vector MvL0_A, and “2” for a value corresponding to MvL0_B.
  • the value corresponding to MvL0_C is “3”.
  • the method of assigning the motion vector predictor index is not limited to this example.
  • 11B shows an example of a code table used when the motion vector predictor index corresponding to the motion vector predictor candidate having the smallest Cost is subjected to variable length coding. Codes with short code lengths are assigned in ascending order of predicted motion vector index values. Therefore, it is possible to improve the encoding efficiency by reducing the value of the motion vector predictor index corresponding to a motion vector predictor candidate that is likely to have good prediction accuracy.
  • the reference picture index of the block to be encoded and the reference picture index and motion vector of adjacent block A, adjacent block B, and adjacent block C in FIG. 9 are used in calculating the adjacent block used for merging.
  • the present invention is not necessarily limited thereto.
  • an adjacent block D or an adjacent block E may be used.
  • the optimal prediction direction for the encoding target block is selected and attached to the bitstream regardless of the prediction direction of the neighboring blocks.
  • the quality of the prediction image in the merge mode can be improved, and the encoding efficiency can be improved.
  • the reference picture index allocation for each reference picture is the same in the reference picture list 1 and the reference picture list 2
  • the quality of the predicted image is improved by selecting the one-way prediction regardless of the prediction direction of the adjacent block.
  • encoding efficiency can be improved.
  • FIG. 62 is a block diagram showing a configuration of an embodiment of a video decoding device using the video decoding method according to the present invention.
  • the moving image decoding apparatus 1600 includes a variable length decoding unit 501, an inverse quantization unit 502, an inverse orthogonal transform unit 503, a block memory 504, a frame memory 505, an intra prediction unit 506, and an inter prediction unit. 507, an inter prediction control unit 1602, a reference picture list management unit 509, and a merge mode prediction direction determination unit 1601.
  • the variable length decoding unit 501 performs variable length decoding processing on the input bitstream, and performs quantization on which picture type information, inter prediction mode, inter prediction direction flag, skip flag, and variable length decoding processing are performed. Generate coefficients.
  • the inverse quantization unit 502 performs inverse quantization processing on the quantized coefficients that have been subjected to variable length decoding processing.
  • the inverse orthogonal transform unit 503 transforms the orthogonal transform coefficient that has been subjected to the inverse quantization process from the frequency domain to the image domain to obtain prediction error image data.
  • the block memory 504 stores prediction error image data and an image sequence generated by adding the prediction image data in units of blocks.
  • the frame memory 505 stores the image sequence generated by adding the predicted image data in units of frames.
  • the intra prediction unit 506 generates predicted image data of the decoding target block by performing intra prediction using the block-by-block image sequence stored in the block memory 504.
  • the inter prediction unit 507 generates predicted image data of the decoding target block by performing inter prediction using the frame-by-frame image sequence stored in the frame memory 505.
  • the inter prediction control unit 1602 controls the motion vector and the prediction image data generation method in the inter prediction according to the inter prediction mode, the inter prediction direction, and the skip flag.
  • the reference picture list management unit 509 assigns a reference picture index to a decoded reference picture to be referred to in inter prediction, and creates a reference picture list together with a display order and the like. Since the B picture is decoded with reference to two pictures, it holds two reference picture lists.
  • the reference pictures are managed in the reference picture index and the display order.
  • the reference pictures may be managed in the reference picture index and the decoding order.
  • the merge mode prediction direction determination unit 1601 determines the merge mode prediction direction of the decoding target block using the reference picture list 1 and the reference picture list 2 created by the reference picture list management unit 509, and merge mode prediction direction Set a fixed flag. Note that the determination flow of the merge mode prediction direction fixed flag is the same as that in FIG.
  • a decoded image sequence is generated by adding the decoded prediction error image data and the prediction image data.
  • FIG. 63 is a flowchart showing an outline of the processing flow of the moving picture decoding method according to the present invention.
  • the inter prediction control unit 1602 determines whether or not the skip flag decoded from the bitstream is 1 (step S3301). As a result of this determination, if the skip flag is 1 (Yes in step S3301), the inter prediction control unit 1602 calculates the direct vector 1 and the direct vector 2, and generates a bi-directional prediction image (step S3302). Here, the direct vector is calculated, for example, by the method described in step S501 of FIG. 8 of the first embodiment. On the other hand, as a result of the determination, if the skip flag is not 1 (No in step S3301), that is, if it is not the skip mode, the inter prediction control unit 1602 determines whether or not the decoded prediction mode is the merge mode. (Step S3303).
  • the inter prediction control unit 1602 determines whether or not the merge mode prediction direction fixed flag is on (step S3304). As a result of this determination, if the merge mode prediction direction fixed flag is on, the inter prediction control unit 1602 decodes adjacent block information used for merging, and performs one-way prediction using a motion vector in the prediction direction 1 of the adjacent block. An image is generated (step S3305). On the other hand, if the result of determination is that the merge mode prediction direction fixed flag is off (No in step S3304), the neighboring block information used for merging is decoded, and prediction direction 1 or prediction direction is determined according to the prediction direction of the adjacent block.
  • a predicted image is generated using at least one motion vector of 2 (step S3306).
  • the prediction mode is not the merge mode (No in step S3303), that is, if it is the motion vector detection mode, a predicted image is generated using the decoded inter prediction direction and motion vector. (Step S3307).
  • step S3305 if the merge mode prediction direction fixed flag is turned on in step S3305, a one-way prediction image of prediction direction 1 is generated. Two one-way predicted images may be generated.
  • FIG. 64 is a diagram showing an example of the bitstream syntax in the video decoding method according to the present invention.
  • skip_flag is a skip flag
  • pred_mode is an inter prediction mode
  • inter_pred_idc is an inter prediction direction flag
  • merge_idx is a flag indicating adjacent block information used for merging.
  • merge_idx takes a value of “0” to “3”.
  • the value of merge_idx is an example, and may be a value of “0” to “4”, for example.
  • the storage medium may be any medium that can record a program, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor memory.
  • the system has an image encoding / decoding device including an image encoding device using an image encoding method and an image decoding device using an image decoding method.
  • image encoding / decoding device including an image encoding device using an image encoding method and an image decoding device using an image decoding method.
  • Other configurations in the system can be appropriately changed according to circumstances.
  • FIG. 65 is a diagram showing an overall configuration of a content supply system ex100 that realizes a content distribution service.
  • a communication service providing area is divided into desired sizes, and base stations ex106, ex107, ex108, ex109, and ex110, which are fixed wireless stations, are installed in each cell.
  • This content supply system ex100 includes a computer ex111, a PDA (Personal Digital Assistant) ex112, a camera ex113, a mobile phone ex114, a game machine ex115 via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex106 to ex110. Etc. are connected.
  • PDA Personal Digital Assistant
  • each device may be directly connected to the telephone network ex104 without going from the base station ex106, which is a fixed wireless station, to ex110.
  • the devices may be directly connected to each other via short-range wireless or the like.
  • the camera ex113 is a device that can shoot moving images such as a digital video camera
  • the camera ex116 is a device that can shoot still images and movies such as a digital camera.
  • the mobile phone ex114 is a GSM (registered trademark: Global System for Mobile Communications) system, a CDMA (Code Division Multiple Access) system, a W-CDMA (Wideband-Code Division Multiple Access) system, or an LTE (Long Terminal Evolution) system.
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access
  • LTE Long Terminal Evolution
  • HSPA High-Speed-Packet-Access
  • PHS Personal-Handyphone-System
  • the camera ex113 and the like are connected to the streaming server ex103 through the base station ex109 and the telephone network ex104, thereby enabling live distribution and the like.
  • live distribution the content (for example, music live video) captured by the user using the camera ex113 is encoded as described in the above embodiments (that is, the image encoding of the present invention).
  • Function as a device Function as a device) and transmit to the streaming server ex103.
  • the streaming server ex103 stream-distributes the content data transmitted to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and a game machine ex115 that can decode the encoded data.
  • Each device that receives the distributed data decodes the received data and reproduces it (that is, functions as the image decoding device of the present invention).
  • the captured data may be encoded by the camera ex113, the streaming server ex103 that performs data transmission processing, or may be shared with each other.
  • the decryption processing of the distributed data may be performed by the client, the streaming server ex103, or may be performed in common with each other.
  • still images and / or moving image data captured by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111.
  • the encoding process in this case may be performed by any of the camera ex116, the computer ex111, and the streaming server ex103, or may be performed in a shared manner.
  • these encoding / decoding processes are generally performed in the computer ex111 and the LSI ex500 included in each device.
  • the LSI ex500 may be configured as a single chip or a plurality of chips.
  • moving image encoding / decoding software is incorporated into some recording medium (CD-ROM, flexible disk, hard disk, etc.) that can be read by the computer ex111, etc., and encoding / decoding processing is performed using the software. May be.
  • moving image data acquired by the camera may be transmitted.
  • the moving image data at this time is data encoded by the LSI ex500 included in the mobile phone ex114.
  • the streaming server ex103 may be a plurality of servers or a plurality of computers, and may process, record, and distribute data in a distributed manner.
  • the encoded data can be received and reproduced by the client.
  • the information transmitted by the user can be received, decrypted and reproduced by the client in real time, and personal broadcasting can be realized even for a user who does not have special rights or facilities.
  • the digital broadcasting system ex200 also includes at least the moving image encoding device (image encoding device) or the moving image decoding according to each of the above embodiments. Any of the devices (image decoding devices) can be incorporated.
  • the broadcast station ex201 multiplexed data obtained by multiplexing music data and the like on video data is transmitted to a communication or satellite ex202 via radio waves.
  • This video data is data encoded by the moving image encoding method described in the above embodiments (that is, data encoded by the image encoding apparatus of the present invention).
  • the broadcasting satellite ex202 transmits a radio wave for broadcasting, and this radio wave is received by a home antenna ex204 capable of receiving satellite broadcasting.
  • the received multiplexed data is decoded and reproduced by an apparatus such as the television (receiver) ex300 or the set top box (STB) ex217 (that is, functions as the image decoding apparatus of the present invention).
  • a reader / recorder ex218 that reads and decodes multiplexed data recorded on a recording medium ex215 such as a DVD or a BD, or encodes a video signal on the recording medium ex215 and, in some cases, multiplexes and writes it with a music signal. It is possible to mount the moving picture decoding apparatus or moving picture encoding apparatus described in the above embodiments. In this case, the reproduced video signal is displayed on the monitor ex219, and the video signal can be reproduced in another device or system using the recording medium ex215 on which the multiplexed data is recorded.
  • a moving picture decoding apparatus may be mounted in a set-top box ex217 connected to a cable ex203 for cable television or an antenna ex204 for satellite / terrestrial broadcasting and displayed on the monitor ex219 of the television.
  • the moving picture decoding apparatus may be incorporated in the television instead of the set top box.
  • FIG. 67 is a diagram illustrating a television (receiver) ex300 that uses the video decoding method and the video encoding method described in each of the above embodiments.
  • the television ex300 obtains or outputs multiplexed data in which audio data is multiplexed with video data via the antenna ex204 or the cable ex203 that receives the broadcast, and demodulates the received multiplexed data.
  • the modulation / demodulation unit ex302 that modulates multiplexed data to be transmitted to the outside, and the demodulated multiplexed data is separated into video data and audio data, or the video data and audio data encoded by the signal processing unit ex306 Is provided with a multiplexing / demultiplexing unit ex303.
  • the television ex300 decodes each of the audio data and the video data, or encodes the respective information, the audio signal processing unit ex304, the video signal processing unit ex305 (function as the image encoding device or the image decoding device of the present invention). ), A speaker ex307 for outputting the decoded audio signal, and an output unit ex309 having a display unit ex308 such as a display for displaying the decoded video signal.
  • the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation.
  • the television ex300 includes a control unit ex310 that performs overall control of each unit, and a power supply circuit unit ex311 that supplies power to each unit.
  • the interface unit ex317 includes a bridge unit ex313 connected to an external device such as a reader / recorder ex218, a recording unit ex216 such as an SD card, and an external recording unit such as a hard disk.
  • a driver ex315 for connecting to a medium, a modem ex316 for connecting to a telephone network, and the like may be included.
  • the recording medium ex216 is capable of electrically recording information by using a nonvolatile / volatile semiconductor memory element to be stored.
  • Each part of the television ex300 is connected to each other via a synchronous bus.
  • the television ex300 receives a user operation from the remote controller ex220 or the like, and demultiplexes the multiplexed data demodulated by the modulation / demodulation unit ex302 by the multiplexing / demultiplexing unit ex303 based on the control of the control unit ex310 having a CPU or the like. Furthermore, in the television ex300, the separated audio data is decoded by the audio signal processing unit ex304, and the separated video data is decoded by the video signal processing unit ex305 using the decoding method described in each of the above embodiments.
  • the decoded audio signal and video signal are output from the output unit ex309 to the outside. At the time of output, these signals may be temporarily stored in the buffers ex318, ex319, etc. so that the audio signal and the video signal are reproduced in synchronization. Also, the television ex300 may read multiplexed data from recording media ex215 and ex216 such as a magnetic / optical disk and an SD card, not from broadcasting. Next, a configuration in which the television ex300 encodes an audio signal or a video signal and transmits the signal to the outside or to a recording medium will be described.
  • the television ex300 receives a user operation from the remote controller ex220 and the like, encodes an audio signal with the audio signal processing unit ex304, and converts the video signal with the video signal processing unit ex305 based on the control of the control unit ex310. Encoding is performed using the encoding method described in (1).
  • the encoded audio signal and video signal are multiplexed by the multiplexing / demultiplexing unit ex303 and output to the outside. When multiplexing, these signals may be temporarily stored in the buffers ex320, ex321, etc. so that the audio signal and the video signal are synchronized.
  • a plurality of buffers ex318, ex319, ex320, and ex321 may be provided as illustrated, or one or more buffers may be shared. Further, in addition to the illustrated example, data may be stored in the buffer as a buffer material that prevents system overflow and underflow, for example, between the modulation / demodulation unit ex302 and the multiplexing / demultiplexing unit ex303.
  • the television ex300 has a configuration for receiving AV input of a microphone and a camera, and performs encoding processing on the data acquired from them. Also good.
  • the television ex300 has been described as a configuration capable of the above-described encoding processing, multiplexing, and external output, but these processing cannot be performed, and only the above-described reception, decoding processing, and external output are possible. It may be a configuration.
  • the decoding process or the encoding process may be performed by either the television ex300 or the reader / recorder ex218,
  • the reader / recorder ex218 may share with each other.
  • FIG. 68 shows a configuration of the information reproducing / recording unit ex400 when data is read from or written to an optical disk.
  • the information reproducing / recording unit ex400 includes elements ex401, ex402, ex403, ex404, ex405, ex406, and ex407 described below.
  • the optical head ex401 irradiates a laser spot on the recording surface of the recording medium ex215 that is an optical disk to write information, and detects reflected light from the recording surface of the recording medium ex215 to read the information.
  • the modulation recording unit ex402 electrically drives a semiconductor laser built in the optical head ex401 and modulates the laser beam according to the recording data.
  • the reproduction demodulator ex403 amplifies the reproduction signal obtained by electrically detecting the reflected light from the recording surface by the photodetector built in the optical head ex401, separates and demodulates the signal component recorded on the recording medium ex215, and is necessary To play back information.
  • the buffer ex404 temporarily holds information to be recorded on the recording medium ex215 and information reproduced from the recording medium ex215.
  • the disk motor ex405 rotates the recording medium ex215.
  • the servo controller ex406 moves the optical head ex401 to a predetermined information track while controlling the rotational drive of the disk motor ex405, and performs a laser spot tracking process.
  • the system control unit ex407 controls the entire information reproduction / recording unit ex400.
  • the system control unit ex407 uses various kinds of information held in the buffer ex404, and generates and adds new information as necessary, and the modulation recording unit ex402, the reproduction demodulation unit This is realized by recording / reproducing information through the optical head ex401 while operating the ex403 and the servo control unit ex406 in a coordinated manner.
  • the system control unit ex407 is composed of, for example, a microprocessor, and executes these processes by executing a read / write program.
  • the optical head ex401 has been described as irradiating a laser spot.
  • a configuration in which higher-density recording is performed using near-field light may be used.
  • FIG. 69 shows a schematic diagram of a recording medium ex215 that is an optical disk.
  • Guide grooves grooves
  • address information indicating the absolute position on the disc is recorded in advance on the information track ex230 by changing the shape of the groove.
  • This address information includes information for specifying the position of the recording block ex231 that is a unit for recording data, and the recording block is specified by reproducing the information track ex230 and reading the address information in a recording or reproducing apparatus.
  • the recording medium ex215 includes a data recording area ex233, an inner peripheral area ex232, and an outer peripheral area ex234.
  • the area used for recording user data is the data recording area ex233, and the inner circumference area ex232 and the outer circumference area ex234 arranged on the inner or outer circumference of the data recording area ex233 are used for specific purposes other than user data recording. Used.
  • the information reproducing / recording unit ex400 reads / writes encoded audio data, video data, or multiplexed data obtained by multiplexing these data with respect to the data recording area ex233 of the recording medium ex215.
  • an optical disk such as a single-layer DVD or BD has been described as an example.
  • the present invention is not limited to these, and an optical disk having a multilayer structure and capable of recording other than the surface may be used.
  • an optical disc with a multi-dimensional recording / reproducing structure such as recording information using light of different wavelengths in the same place on the disc, or recording different layers of information from various angles. It may be.
  • the car ex210 having the antenna ex205 can receive data from the satellite ex202 and the like, and the moving image can be reproduced on a display device such as the car navigation ex211 that the car ex210 has.
  • the configuration of the car navigation ex211 may be, for example, a configuration in which a GPS receiving unit is added in the configuration illustrated in FIG.
  • FIG. 70A is a diagram showing the mobile phone ex114 using the video decoding method and the video encoding method described in the above embodiment.
  • the mobile phone ex114 includes an antenna ex350 for transmitting and receiving radio waves to and from the base station ex110, a camera unit ex365 capable of capturing video and still images, a video captured by the camera unit ex365, a video received by the antenna ex350, and the like Is provided with a display unit ex358 such as a liquid crystal display for displaying the decrypted data.
  • the mobile phone ex114 further includes a main body unit having an operation key unit ex366, an audio output unit ex357 such as a speaker for outputting audio, an audio input unit ex356 such as a microphone for inputting audio, a captured video,
  • an audio input unit ex356 such as a microphone for inputting audio
  • a captured video In the memory unit ex367 for storing encoded data or decoded data such as still images, recorded audio, received video, still images, mails, or the like, or an interface unit with a recording medium for storing data
  • a slot ex364 is provided.
  • the mobile phone ex114 has a power supply circuit part ex361, an operation input control part ex362, and a video signal processing part ex355 with respect to a main control part ex360 that comprehensively controls each part of the main body including the display part ex358 and the operation key part ex366.
  • a camera interface unit ex363, an LCD (Liquid Crystal Display) control unit ex359, a modulation / demodulation unit ex352, a multiplexing / demultiplexing unit ex353, an audio signal processing unit ex354, a slot unit ex364, and a memory unit ex367 are connected to each other via a bus ex370. ing.
  • the power supply circuit unit ex361 starts up the mobile phone ex114 in an operable state by supplying power from the battery pack to each unit.
  • the cellular phone ex114 converts the audio signal collected by the audio input unit ex356 in the voice call mode into a digital audio signal by the audio signal processing unit ex354 based on the control of the main control unit ex360 having a CPU, a ROM, a RAM, and the like. Then, this is subjected to spectrum spread processing by the modulation / demodulation unit ex352, digital-analog conversion processing and frequency conversion processing are performed by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the mobile phone ex114 also amplifies the received data received via the antenna ex350 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation unit ex352, and performs voice signal processing unit After being converted into an analog audio signal by ex354, this is output from the audio output unit ex357.
  • the text data of the e-mail input by operating the operation key unit ex366 of the main unit is sent to the main control unit ex360 via the operation input control unit ex362.
  • the main control unit ex360 performs spread spectrum processing on the text data in the modulation / demodulation unit ex352, performs digital analog conversion processing and frequency conversion processing in the transmission / reception unit ex351, and then transmits the text data to the base station ex110 via the antenna ex350.
  • almost the reverse process is performed on the received data and output to the display unit ex358.
  • the video signal processing unit ex355 compresses the video signal supplied from the camera unit ex365 by the moving image encoding method described in the above embodiments. Encode (that is, function as the image encoding apparatus of the present invention), and send the encoded video data to the multiplexing / demultiplexing unit ex353.
  • the audio signal processing unit ex354 encodes the audio signal picked up by the audio input unit ex356 while the camera unit ex365 images a video, a still image, etc., and sends the encoded audio data to the multiplexing / separating unit ex353. To do.
  • the multiplexing / demultiplexing unit ex353 multiplexes the encoded video data supplied from the video signal processing unit ex355 and the encoded audio data supplied from the audio signal processing unit ex354 by a predetermined method, and is obtained as a result.
  • the multiplexed data is subjected to spread spectrum processing by the modulation / demodulation unit (modulation / demodulation circuit unit) ex352, digital-analog conversion processing and frequency conversion processing by the transmission / reception unit ex351, and then transmitted via the antenna ex350.
  • the multiplexing / separating unit ex353 separates the multiplexed data into a video data bit stream and an audio data bit stream, and performs video signal processing on the video data encoded via the synchronization bus ex370.
  • the encoded audio data is supplied to the audio signal processing unit ex354 while being supplied to the unit ex355.
  • the video signal processing unit ex355 decodes the video signal by decoding using the video decoding method corresponding to the video encoding method shown in each of the above embodiments (that is, functions as the image decoding device of the present invention).
  • video and still images included in the moving image file linked to the home page are displayed from the display unit ex358 via the LCD control unit ex359.
  • the audio signal processing unit ex354 decodes the audio signal, and the audio is output from the audio output unit ex357.
  • the terminal such as the mobile phone ex114 is referred to as a transmission terminal having only an encoder and a receiving terminal having only a decoder.
  • a transmission terminal having only an encoder
  • a receiving terminal having only a decoder.
  • multiplexed data in which music data or the like is multiplexed with video data is received and transmitted, but data in which character data or the like related to video is multiplexed in addition to audio data It may be video data itself instead of multiplexed data.
  • the moving picture encoding method or the moving picture decoding method shown in each of the above embodiments can be used in any of the above-described devices / systems. The described effect can be obtained.
  • multiplexed data obtained by multiplexing audio data or the like with video data is configured to include identification information indicating which standard the video data conforms to.
  • identification information indicating which standard the video data conforms to.
  • FIG. 71 shows a structure of multiplexed data.
  • multiplexed data is obtained by multiplexing one or more of a video stream, an audio stream, a presentation graphics stream (PG), and an interactive graphics stream.
  • the video stream indicates the main video and sub-video of the movie
  • the audio stream (IG) indicates the main audio portion of the movie and the sub-audio mixed with the main audio
  • the presentation graphics stream indicates the subtitles of the movie.
  • the main video indicates a normal video displayed on the screen
  • the sub-video is a video displayed on a small screen in the main video.
  • the interactive graphics stream indicates an interactive screen created by arranging GUI components on the screen.
  • the video stream is encoded by the moving image encoding method or apparatus shown in the above embodiments, or the moving image encoding method or apparatus conforming to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1. ing.
  • the audio stream is encoded by a method such as Dolby AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD, or linear PCM.
  • Each stream included in the multiplexed data is identified by PID. For example, 0x1011 for video streams used for movie images, 0x1100 to 0x111F for audio streams, 0x1200 to 0x121F for presentation graphics, 0x1400 to 0x141F for interactive graphics streams, 0x1B00 to 0x1B1F are assigned to video streams used for sub-pictures, and 0x1A00 to 0x1A1F are assigned to audio streams used for sub-audio mixed with the main audio.
  • FIG. 72 is a diagram schematically showing how multiplexed data is multiplexed.
  • a video stream ex235 composed of a plurality of video frames and an audio stream ex238 composed of a plurality of audio frames are converted into PES packet sequences ex236 and ex239, respectively, and converted into TS packets ex237 and ex240.
  • the data of the presentation graphics stream ex241 and interactive graphics ex244 are converted into PES packet sequences ex242 and ex245, respectively, and further converted into TS packets ex243 and ex246.
  • the multiplexed data ex247 is configured by multiplexing these TS packets into one stream.
  • FIG. 73 shows in more detail how the video stream is stored in the PES packet sequence.
  • the first row in FIG. 73 shows a video frame sequence of the video stream.
  • the second level shows a PES packet sequence.
  • a plurality of Video Presentation Units in the video stream are divided into pictures, B pictures, and P pictures, and are stored in the payload of the PES packet.
  • Each PES packet has a PES header, and a PTS (Presentation Time-Stamp) that is a display time of a picture and a DTS (Decoding Time-Stamp) that is a decoding time of a picture are stored in the PES header.
  • PTS Presentation Time-Stamp
  • DTS Decoding Time-Stamp
  • FIG. 74 shows the format of TS packets that are finally written in the multiplexed data.
  • the TS packet is a 188-byte fixed-length packet composed of a 4-byte TS header having information such as a PID for identifying a stream and a 184-byte TS payload for storing data.
  • the PES packet is divided and stored in the TS payload.
  • a 4-byte TP_Extra_Header is added to a TS packet, forms a 192-byte source packet, and is written in multiplexed data.
  • TP_Extra_Header information such as ATS (Arrival_Time_Stamp) is described.
  • ATS indicates the transfer start time of the TS packet to the PID filter of the decoder.
  • Source packets are arranged in the multiplexed data as shown in the lower part of FIG. 74, and the number incremented from the head of the multiplexed data is called SPN (source packet number).
  • TS packets included in the multiplexed data include PAT (Program Association Table), PMT (Program Map Table), PCR (Program Clock Reference), and the like in addition to each stream such as video / audio / caption.
  • PAT indicates what the PID of the PMT used in the multiplexed data is, and the PID of the PAT itself is registered as 0.
  • the PMT has the PID of each stream such as video / audio / subtitles included in the multiplexed data and the attribute information of the stream corresponding to each PID, and has various descriptors related to the multiplexed data.
  • the descriptor includes copy control information for instructing permission / non-permission of copying of multiplexed data.
  • the PCR corresponds to the ATS in which the PCR packet is transferred to the decoder. Contains STC time information.
  • FIG. 75 is a diagram for explaining the data structure of the PMT in detail.
  • a PMT header describing the length of data included in the PMT is arranged at the head of the PMT.
  • a plurality of descriptors related to multiplexed data are arranged.
  • the copy control information and the like are described as descriptors.
  • a plurality of pieces of stream information regarding each stream included in the multiplexed data are arranged.
  • the stream information includes a stream descriptor in which a stream type, a stream PID, and stream attribute information (frame rate, aspect ratio, etc.) are described to identify a compression codec of the stream.
  • the multiplexed data is recorded together with the multiplexed data information file.
  • the multiplexed data information file is management information of multiplexed data, has a one-to-one correspondence with the multiplexed data, and includes multiplexed data information, stream attribute information, and an entry map.
  • the multiplexed data information is composed of a system rate, a reproduction start time, and a reproduction end time.
  • the system rate indicates a maximum transfer rate of multiplexed data to a PID filter of a system target decoder described later.
  • the ATS interval included in the multiplexed data is set to be equal to or less than the system rate.
  • the playback start time is the PTS of the first video frame of the multiplexed data
  • the playback end time is set by adding the playback interval for one frame to the PTS of the video frame at the end of the multiplexed data.
  • attribute information about each stream included in the multiplexed data is registered for each PID.
  • the attribute information has different information for each video stream, audio stream, presentation graphics stream, and interactive graphics stream.
  • the video stream attribute information includes the compression codec used to compress the video stream, the resolution of the individual picture data constituting the video stream, the aspect ratio, and the frame rate. It has information such as how much it is.
  • the audio stream attribute information includes the compression codec used to compress the audio stream, the number of channels included in the audio stream, the language supported, and the sampling frequency. With information. These pieces of information are used for initialization of the decoder before the player reproduces it.
  • the stream type included in the PMT is used.
  • video stream attribute information included in the multiplexed data information is used.
  • the video encoding shown in each of the above embodiments for the stream type or video stream attribute information included in the PMT.
  • FIG. 78 shows the steps of the moving picture decoding method according to the present embodiment.
  • step exS100 the stream type included in the PMT or the video stream attribute information included in the multiplexed data information is acquired from the multiplexed data.
  • step exS101 it is determined whether or not the stream type or the video stream attribute information indicates multiplexed data generated by the moving picture encoding method or apparatus described in the above embodiments. To do.
  • step exS102 the above embodiments are performed. Decoding is performed by the moving picture decoding method shown in the form.
  • the conventional information Decoding is performed by a moving image decoding method compliant with the standard.
  • FIG. 79 shows a configuration of an LSI ex500 that is made into one chip.
  • the LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508, and ex509 described below, and each element is connected via a bus ex510.
  • the power supply circuit unit ex505 is activated to an operable state by supplying power to each unit when the power supply is on.
  • the LSI ex500 when performing the encoding process, performs the microphone ex117 and the camera ex113 by the AV I / O ex509 based on the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like.
  • the AV signal is input from the above.
  • the input AV signal is temporarily stored in an external memory ex511 such as SDRAM.
  • the accumulated data is divided into a plurality of times as appropriate according to the processing amount and the processing speed and sent to the signal processing unit ex507, and the signal processing unit ex507 encodes an audio signal and / or video. Signal encoding is performed.
  • the encoding process of the video signal is the encoding process described in the above embodiments.
  • the signal processing unit ex507 further performs processing such as multiplexing the encoded audio data and the encoded video data according to circumstances, and outputs the result from the stream I / Oex 506 to the outside.
  • the output multiplexed data is transmitted to the base station ex107 or written to the recording medium ex215. It should be noted that data should be temporarily stored in the buffer ex508 so as to be synchronized when multiplexing.
  • the memory ex511 is described as an external configuration of the LSI ex500.
  • a configuration included in the LSI ex500 may be used.
  • the number of buffers ex508 is not limited to one, and a plurality of buffers may be provided.
  • the LSI ex500 may be made into one chip or a plurality of chips.
  • control unit ex501 includes the CPU ex502, the memory controller ex503, the stream controller ex504, the drive frequency control unit ex512, and the like, but the configuration of the control unit ex501 is not limited to this configuration.
  • the signal processing unit ex507 may further include a CPU.
  • the CPU ex502 may be configured to include a signal processing unit ex507 or, for example, an audio signal processing unit that is a part of the signal processing unit ex507.
  • the control unit ex501 is configured to include a signal processing unit ex507 or a CPU ex502 having a part thereof.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • the method of circuit integration is not limited to LSI, and implementation with a dedicated circuit or a general-purpose processor is also possible.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • FIG. 80 shows a configuration ex800 in the present embodiment.
  • the drive frequency switching unit ex803 sets the drive frequency high when the video data is generated by the moving image encoding method or apparatus described in the above embodiments.
  • the decoding processing unit ex801 that executes the moving picture decoding method described in each of the above embodiments is instructed to decode the video data.
  • the video data is video data compliant with the conventional standard, compared to the case where the video data is generated by the moving picture encoding method or apparatus shown in the above embodiments, Set the drive frequency low. Then, it instructs the decoding processing unit ex802 compliant with the conventional standard to decode the video data.
  • the drive frequency switching unit ex803 includes a CPU ex502 and a drive frequency control unit ex512 in FIG.
  • the decoding processing unit ex801 that executes the moving picture decoding method shown in each of the above embodiments and the decoding processing unit ex802 that complies with the conventional standard correspond to the signal processing unit ex507 in FIG.
  • the CPU ex502 identifies which standard the video data conforms to.
  • the drive frequency control unit ex512 sets the drive frequency.
  • the signal processing unit ex507 decodes the video data.
  • the identification information described in the nineteenth embodiment may be used for identifying the video data.
  • the identification information is not limited to that described in the nineteenth embodiment, and any information that can identify which standard the video data conforms to may be used. For example, it is possible to identify which standard the video data conforms to based on an external signal that identifies whether the video data is used for a television or a disk. In some cases, identification may be performed based on such an external signal.
  • the selection of the driving frequency in the CPU ex502 may be performed based on, for example, a lookup table in which video data standards and driving frequencies are associated with each other as shown in FIG. The look-up table is stored in the buffer ex508 or the internal memory of the LSI, and the CPU ex502 can select the drive frequency by referring to the look-up table.
  • FIG. 81 shows steps for executing the method of the present embodiment.
  • the signal processing unit ex507 acquires identification information from the multiplexed data.
  • the CPU ex502 identifies whether the video data is generated by the encoding method or apparatus described in each of the above embodiments based on the identification information.
  • the CPU ex502 sends a signal for setting the drive frequency high to the drive frequency control unit ex512. Then, the drive frequency control unit ex512 sets a high drive frequency.
  • step exS203 the CPU ex502 drives the signal for setting the drive frequency low. This is sent to the frequency control unit ex512. Then, in the drive frequency control unit ex512, the drive frequency is set to be lower than that in the case where the video data is generated by the encoding method or apparatus described in the above embodiments.
  • the power saving effect can be further enhanced by changing the voltage applied to the LSI ex500 or the device including the LSI ex500 in conjunction with the switching of the driving frequency. For example, when the drive frequency is set low, it is conceivable that the voltage applied to the LSI ex500 or the device including the LSI ex500 is set low as compared with the case where the drive frequency is set high.
  • the setting method of the driving frequency may be set to a high driving frequency when the processing amount at the time of decoding is large, and to a low driving frequency when the processing amount at the time of decoding is small. It is not limited to the method.
  • the amount of processing for decoding video data compliant with the MPEG4-AVC standard is larger than the amount of processing for decoding video data generated by the moving picture encoding method or apparatus described in the above embodiments. It is conceivable that the setting of the driving frequency is reversed to that in the case described above.
  • the method for setting the drive frequency is not limited to the configuration in which the drive frequency is lowered.
  • the voltage applied to the LSIex500 or the apparatus including the LSIex500 is set high.
  • the driving of the CPU ex502 is stopped.
  • the CPU ex502 is temporarily stopped because there is room in processing. Is also possible. Even when the identification information indicates that the video data is generated by the moving image encoding method or apparatus described in each of the above embodiments, if there is a margin for processing, the CPU ex502 is temporarily driven. It can also be stopped. In this case, it is conceivable to set the stop time shorter than in the case where the video data conforms to the conventional standards such as MPEG-2, MPEG4-AVC, and VC-1.
  • a plurality of video data that conforms to different standards may be input to the above-described devices and systems such as a television and a mobile phone.
  • the signal processing unit ex507 of the LSI ex500 needs to support a plurality of standards in order to be able to decode even when a plurality of video data complying with different standards is input.
  • the signal processing unit ex507 corresponding to each standard is used individually, there is a problem that the circuit scale of the LSI ex500 increases and the cost increases.
  • a decoding processing unit for executing the moving picture decoding method shown in each of the above embodiments and a decoding conforming to a standard such as MPEG-2, MPEG4-AVC, or VC-1
  • the processing unit is partly shared.
  • An example of this configuration is shown as ex900 in FIG. 83A.
  • the moving picture decoding method shown in each of the above embodiments and the moving picture decoding method compliant with the MPEG4-AVC standard are processed in processes such as entropy coding, inverse quantization, deblocking filter, and motion compensation. Some contents are common.
  • the decoding processing unit ex902 corresponding to the MPEG4-AVC standard is shared, and for the other processing content unique to the present invention not corresponding to the MPEG4-AVC standard, the dedicated decoding processing unit ex901 is used.
  • Configuration is conceivable.
  • the decoding processing unit for executing the moving picture decoding method described in each of the above embodiments is shared, and the processing content specific to the MPEG4-AVC standard As for, a configuration using a dedicated decoding processing unit may be used.
  • ex1000 in FIG. 83B shows another example in which processing is partially shared.
  • a dedicated decoding processing unit ex1001 corresponding to processing content unique to the present invention
  • a dedicated decoding processing unit ex1002 corresponding to processing content specific to other conventional standards
  • a moving picture decoding method of the present invention A common decoding processing unit ex1003 corresponding to processing contents common to other conventional video decoding methods is used.
  • the dedicated decoding processing units ex1001 and ex1002 are not necessarily specialized in the processing content specific to the present invention or other conventional standards, and may be capable of executing other general-purpose processing.
  • the configuration of the present embodiment can be implemented by LSI ex500.
  • the circuit scale of the LSI is reduced, and the cost is reduced. It is possible to reduce.
  • the moving picture encoding method and the moving picture decoding method according to the present invention can be applied to any multimedia data, and can improve the compression rate.
  • a mobile phone, a DVD device, a personal computer, etc. It is useful as a moving image encoding method and a moving image decoding method in storage, transmission, communication, etc.

Abstract

 符号化対象ピクチャに最も適した動きベクトルを導出するとともに、符号化効率を向上させることができる動画像符号化方法および動画像復号化方法を提供する。動画像符号化装置(100)は、参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する参照ピクチャリスト管理部(111)、参照ピクチャリスト1および参照ピクチャリスト2を用いて、符号化対象ブロックのスキップモードの予測方向を決定するスキップモード予測方向決定部(112)、および、動きベクトル検出モードと、ダイレクトモードと、スキップモード予測方向決定部(112)によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定するインター予測制御部(109)を備える。

Description

動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
 本発明は、符号化済みのピクチャを参照する画面間予測を用いて、入力画像をブロック単位で符号化する動画像符号化方法、および画面間予測を用いてビットストリームをブロック単位で復号化する動画像復号化方法に関する。
 動画像符号化処理では、一般に、動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮が行われる。ここで一般に、空間方向の冗長性を利用する方法としては、周波数領域への変換が用いられ、時間方向の冗長性を利用する方法としては、ピクチャ間予測(以降、インター予測と呼ぶ)符号化処理が用いられる。インター予測符号化処理では、あるピクチャを符号化する際に、符号化対象ピクチャに対して表示時間順で前方または後方にある符号化済みのピクチャを、参照ピクチャとして用いる。そして、その参照ピクチャに対する符号化対象ピクチャの動き検出により、動きベクトルを検出する。検出した動きベクトルに基づいて動き補償を行って得られた予測画像データと符号化対象ピクチャの画像データとの差分を取ることにより、時間方向の冗長性を取り除く。ここで、動き検出では、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックを参照ブロックとする。そして、符号化対象ブロックと、参照ブロックとを用いて、動きベクトルを検出する。
 既に標準化されている、H.264と呼ばれる動画像符号化方式では、情報量の圧縮のために、Iピクチャ、Pピクチャ、Bピクチャという3種類のピクチャタイプを用いている。Iピクチャは、インター予測符号化処理を行わない、すなわち、ピクチャ内予測(以降、イントラ予測と呼ぶ)符号化処理を行うピクチャである。Pピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの1つのピクチャを参照してインター予測符号化を行うピクチャである。Bピクチャは、表示時間順で、符号化対象ピクチャの前方または後方にある既に符号化済みの2つのピクチャを参照してインター予測符号化を行うピクチャである。
 インター予測符号化においては、参照ピクチャを特定するための参照ピクチャリストを生成する。参照ピクチャリストは、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当てたリストである。例えば、Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照ピクチャリスト(L0、L1)を保持する。図1Aは、参照ピクチャへの参照ピクチャインデックスの割り当てを説明するための図であり、図1Bおよび図1Cは、Bピクチャにおける参照ピクチャリストの一例を示す図である。
 図1Aは、例えば、表示順で参照ピクチャ3、参照ピクチャ2、参照ピクチャ1、符号化対象ピクチャの順に並んでいる場合を想定している。この場合、参照ピクチャリスト1(L0)は、2方向予測における予測方向1の参照ピクチャリストの例であり、図1Bに示すように参照ピクチャインデックス1の値「0」に表示順2の参照ピクチャ1、参照ピクチャインデックス1の値「1」に表示順1の参照ピクチャ2、参照ピクチャインデックス1の値「2」に表示順0の参照ピクチャ3を割り当てている。つまり、符号化対象ピクチャに対して、表示順で時間的に近い順に参照ピクチャインデックスを割り当てている。一方、参照ピクチャリスト2(L1)は、2方向予測における予測方向2の参照ピクチャリストの例であり、図1Cに示すように参照ピクチャインデックス2の値「0」に表示順1の参照ピクチャ2、参照ピクチャインデックス2の値「1」に表示順2の参照ピクチャ1、参照ピクチャインデックス2の値「2」に表示順0の参照ピクチャ3を割り当てている。このように、各参照ピクチャに対して、予測方向毎に異なる参照ピクチャインデックスを割り当てることや(図1Aに示す参照ピクチャ1、2)、同じ参照ピクチャインデックスを割り当てることが可能である(図1Aに示す参照ピクチャ3)。
 また、H.264と呼ばれる動画像符号化方式では、Bピクチャにおける各符号化対象ブロックのインター予測の符号化モードとして、予測画像データと符号化対象ブロックとの画像データの差分値および予測画像データ生成に用いた動きベクトルを符号化する動きベクトル検出モードと、画像データの差分値のみ符号化を行い、動きベクトルは周辺ブロック等から予測するダイレクトモードと、画像データの差分値も動きベクトルも符号化せず、周辺ブロック等から予測した動きベクトルの示す位置の予測画像をそのまま復号化画像とするスキップモードが存在する。さらに、ダイレクトモードは、符号化対象ブロックを含む符号化対象ピクチャにおける符号化対象ブロックの周辺ブロックから動きベクトルを予測する空間ダイレクトモードと、符号化対象ブロックのco-locatedブロックから動きベクトルを予測する時間ダイレクトモードとがある。ここで、co-locatedブロックとは、符号化対象ピクチャとは異なるピクチャ内のブロックで、かつ、ピクチャ内における位置が、符号化対象ブロックと同じ位置になるブロックである。
 また、Bピクチャの動きベクトル検出モードは、予測方向として、符号化対象ピクチャの前方または後方にある既に符号化済みの2つのピクチャを参照して予測画像を生成する2方向予測と、前方または後方にある既に符号化済みの1つのピクチャを参照して予測画像を生成する1方向予測を選択することができる。
 一方、Bピクチャのスキップモード、ダイレクトモードは、周辺ブロック等の予測モードに従って、符号化対象ブロックの予測方向を決定する。具体的な例として、図2を参照して説明する。図2において、符号化対象ブロックの左隣接の符号化済みブロックを隣接ブロックA、符号化対象ブロックの上隣接の符号化済みブロックを隣接ブロックB、符号化対象ブロックの右上隣接の符号化済みブロックを隣接ブロックCとする。
 また、図2において、隣接ブロックAは2方向予測であり、予測方向1の動きベクトルMvL0_Aと、予測方向2の動きベクトルMvL1_Aを持つ。ここで、MvL0とは、参照ピクチャリスト1(L0)により特定した参照ピクチャを参照する動きベクトルであり、MvL1とは、参照ピクチャリスト(L1)により特定した参照ピクチャを参照する動きベクトルである。また、隣接ブロックBは1方向予測であり、予測方向1の動きベクトルMvL0_Bを持つ。また、隣接ブロックCは1方向予測であり、予測方向1の動きベクトルMvL0_Cを持つ。また、ここでは、各隣接ブロックの動きベクトルMvL0_A、MvL0_B、MvL0_Cは同一の参照ピクチャRefIdxL0を参照し、MvL1_Aは参照ピクチャRefIdxL1を参照するとする。
 符号化対象ブロックのスキップモード、ダイレクトモードにおける予測方向1と予測方向2の参照ピクチャをそれぞれ、RefIdxL0およびRefIdxL1とすると、スキップモードおよびダイレクトモードの予測方向は、隣接ブロックのうち一つでもRefIdxL0およびRefIdxL1を参照する2方向予測が存在すれば2方向予測となる。図2の場合は、隣接ブロックAが上記条件に該当するため、符号化対象ブロックの予測方向として2方向予測が選択される。
 しかしながら、従来のスキップモード、ダイレクトモードの予測方向の決定方法では、例えば図2の隣接ブロックAにおける予測方向1動きベクトルMvL1_Aの検出精度が悪いにもかかわらず、常に2方向予測が選択されるため、スキップモード、ダイレクトモードの予測画像が劣化し、符号化効率の劣化を招くという課題が生じる。
 本発明は、上記課題を解決することを目的とするものであり、符号化対象ピクチャに最も適した動きベクトルを導出するとともに、符号化効率を向上させることができる動画像符号化方法および動画像復号化方法を提供することを目的とする。
 上記目的を達成するため、本発明に係る動画像符号化方法は、符号化対象ピクチャに含まれる符号化対象ブロックを符号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記符号化対象ブロックを画面間予測で符号化する動画像符号化方法であって、前記符号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定し、前記符号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定し、前記第一の候補および前記第二の候補の中から前記符号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定し、決定した少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記符号化対象ブロックを符号化する。
 これによって、符号化対象ピクチャに最も適した動きベクトルおよび参照ピクチャを導出することが可能になるとともに、符号化効率を向上せることができる。
 また、前記第2の隣接ブロックは、前記符号化対象ピクチャとは異なる符号化済みピクチャに含まれ、ピクチャ内における位置が、前記符号化対象ピクチャ内の前記符号化対象ブロックの位置と対応する参照ブロックであってもよい。
 また、前記動画像符号化方法は、さらに、前記第一の候補および前記第二の候補に対して候補インデックスを割り当てた候補リストをから、前記符号化対象ブロックで用いると決定した少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値に対応する前記候補インデックスの値を特定してもよい。
 また、前記動画像符号化方法は、さらに、特定した前記候補インデックスの値を、符号化対象ピクチャを符号化したビットストリームに付加してもよい。
 また、前記第二の候補に含まれる前記動きベクトルは、前記参照ブロックで用いられた前記動きベクトルを前記符号化対象ピクチャおよび前記参照ピクチャの参照距離に応じてスケーリングすることで得られる前記動きベクトルであってもよい。
 また、前記第二の候補の前記参照ピクチャインデックスの値として、前記符号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値を決定してもよい。
 また、前記符号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値がない場合、前記第二の候補の前記参照ピクチャインデックスの値を最小値に決定してもよい。
 また、本発明に係る動画像復号化方法は、復号化対象ピクチャに含まれる復号化対象ブロックを復号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記復号化対象ブロックを画面間予測で復号化する動画像復号化方法であって、前記復号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定し、前記復号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの前記動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定し、前記第一の候補および前記第二の候補の中から前記復号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定し、決定した少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記復号化対象ブロックを復号化する。
 これによって、最も適した動きベクトルおよび参照ピクチャを用いて符号化されたビットストリーム復号化することができる。
 また、前記第2の隣接ブロックは、前記復号化対象ピクチャとは異なる復号化済みピクチャに含まれ、ピクチャ内における位置が、前記復号化対象ピクチャ内の前記復号化対象ブロックの位置と対応する参照ブロックであってもよい。
 また、前記動画像復号化方法は、さらに、復号化対象ピクチャを含むビットストリームから候補インデックスの値を取得し、取得した前記候補インデックスの値を用いて、前記第一の候補および前記第二の候補に対して前記候補インデックスを割り当てた候補リストから、前記復号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定してもよい。
 また、前記第二の候補に含まれる前記動きベクトルは、前記参照ブロックで用いられた前記動きベクトルを前記復号化対象ピクチャおよび前記参照ピクチャの参照距離に応じてスケーリングすることで得られる前記動きベクトルであってもよい。
 また、前記第二の候補の前記参照ピクチャインデックスの値として、前記復号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値を決定してもよい。
 また、前記復号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値がない場合、前記第二の候補の前記参照ピクチャインデックスの値を最小値に決定してもよい。
 なお、本発明は、このような動画像符号化方法および動画像復号化方法として実現することができるだけでなく、このような動画像符号化方法および動画像復号化方法が含む特徴的なステップを手段とする動画像符号化装置、動画像復号化装置、および動画像符号化復号化装置として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、コンピュータ読み取り可能なCD-ROMなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
 本発明によれば、符号化対象ピクチャに最も適した動きベクトルおよび参照ピクチャを導出することが可能になるとともに、符号化効率を向上せることが可能になる。
図1Aは、参照ピクチャへの参照ピクチャインデックスの割り当てを説明するための図である。 図1Bは、Bピクチャにおける参照ピクチャリストの一例を示す図である。 図1Cは、Bピクチャにおける参照ピクチャリストの一例を示す図である。 図2は、符号化対象ブロック、隣接ブロックおよび隣接ブロックが有する動きベクトルの関係を示す図である。 図3は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図4は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図5は、スキップモード予測方向決定部における、スキップモード予測方向の決定フローを示すフローチャートである。 図6は、インター予測制御部109における、インター予測モードの決定フローを示すフローチャートである。 図7は、動きベクトル検出モードのコストCostInter算出の処理フローを示すフローチャートである。 図8は、ダイレクトモードのコストCostDirect算出の処理フローを示すフローチャートである。 図9は、符号化対象ブロック、隣接ブロックおよび隣接ブロックが有する動きベクトルの関係を示す図である。 図10は、スキップモードのコストCostSkip算出の処理フローを示すフローチャートである。 図11Aは、予測動きベクトル候補の例を示す図である。 図11Bは、予測動きベクトルインデックスを可変長符号化する際に用いる符号表の一例を示す図である。 図12は、符号化対象ブロックおよび隣接ブロックの関係を示す図である。 図13は、符号化対象ブロックのco-locatedブロックおよびco-locatedブロックが有する動きベクトルの関係を示す図である。 図14は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図15は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図16は、スキップモード予測方向追加判定部における、スキップモード予測方向追加フラグの決定フローを示すフローチャートである。 図17は、スキップモードのコストCostSkip算出の処理フローを示すフローチャートである。 図18は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図19は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図20は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図21は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図22は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図23は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図24は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図25は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図26は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図27は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図28は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図29は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図30Aは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図30Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図31は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図32は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図33Aは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図33Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図34は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図35は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図36は、ダイレクトモード予測方向決定部における、ダイレクトモード予測方向の決定フローを示すフローチャートである。 図37は、インター予測制御部における、インター予測モードの決定フローを示すフローチャートである。 図38は、動きベクトル検出モードのコストCostInter算出の処理フローを示すフローチャートである。 図39は、ダイレクトモードのコストCostDirect算出の処理フローを示すフローチャートである。 図40は、スキップモードのコストCostSkip算出の処理フローを示すフローチャートである。 図41は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図42は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図43は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図44は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図45は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図46は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図47は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図48は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図49は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図50Aは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図50Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図51は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図52は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図53Aは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図53Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図54は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。 図55は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。 図56は、マージモード予測方向決定部における、マージモード予測方向の決定フローを示すフローチャートである。 図57は、インター予測制御部における、インター予測モードの決定フローを示すフローチャートである。 図58は、動きベクトル検出モードのコストCostInter算出の処理フローを示すフローチャートである。 図59は、マージモードのコストCostMerge算出の処理フローを示すフローチャートである。 図60は、マージモードで用いる動きベクトルおよび参照ピクチャインデックスへマージインデックスを割り当てた一例を示す図である。 図61は、スキップモードのコストCostSkip算出の処理フローを示すフローチャートである。 図62は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。 図63は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。 図64は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。 図65は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成図である。 図66は、デジタル放送用システムの全体構成図である。 図67は、テレビの構成例を示すブロック図である。 図68は、光ディスクである記録メディアに情報の読み書きを行う情報再生/記録部の構成例を示すブロック図である。 図69は、光ディスクである記録メディアの構造例を示す図である。 図70Aは、携帯電話の一例を示す図である。 図70Bは、携帯電話の構成例を示すブロック図である。 図71は、多重化データの構成を示す図である。 図72は、各ストリームが多重化データにおいてどのように多重化されているかを模式的に示す図である。 図73は、PESパケット列に、ビデオストリームがどのように格納されるかを更に詳しく示した図である。 図74は、多重化データにおけるTSパケットとソースパケットの構造を示す図である。 図75は、PMTのデータ構成を示す図である。 図76は、多重化データ情報の内部構成を示す図である。 図77は、ストリーム属性情報の内部構成を示す図である。 図78は、映像データを識別するステップを示す図である。 図79は、各実施の形態の動画像符号化方法および動画像復号化方法を実現する集積回路の構成例を示すブロック図である。 図80は、駆動周波数を切り替える構成を示す図である。 図81は、映像データを識別し、駆動周波数を切り替えるステップを示す図である。 図82は、映像データの規格と駆動周波数を対応づけたルックアップテーブルの一例を示す図である。 図83Aは、信号処理部のモジュールを共有化する構成の一例を示す図である。 図83Bは、信号処理部のモジュールを共有化する構成の他の一例を示す図である。
 以下、本発明の実施の形態について、図面を参照しながら説明する。
 動画像符号化方式では、BピクチャやPピクチャにおける各符号化対象ブロックのインター予測モードとして、マージモードと呼ぶ符号化モードを選択することができる。マージモードでは、符号化対象ブロックの隣接ブロックから動きベクトルや参照ピクチャインデックスをコピーして、符号化対象ブロックの符号化を行う。この際に、コピーに用いた隣接ブロックのインデックス等をビットストリームに付随させることによって、動きベクトルや参照ピクチャインデックスを選択できるようにする。
 例えば、図2の場合では、符号化対象ブロックの動きベクトルや参照ピクチャインデックスとして、隣接ブロックA、B、Cの動きベクトルおよび参照ピクチャインデックス、および、co-locatedブロックを用いて求めた時間予測動きベクトルモードによる動きベクトルおよび参照ピクチャインデックスの中から、符号化対象ブロックの動きベクトルおよび参照ピクチャインデックスとして、最も符号化効率の良いもの選択する。そして、選択した隣接ブロックを表すマージインデックスをビットストリームに付随させる。例えば、隣接ブロックAを選択した場合、隣接ブロックAの予測方向1動きベクトルMvL0_A、予測方向2動きベクトルMvL1_Aおよび、各動きベクトルが参照する参照ピクチャの参照ピクチャインデックスを用いて符号化対象ブロックを符号化し、隣接ブロックAを用いたことを表すマージインデックスのみをビットストリームに付随させることで、動きベクトルや参照ピクチャインデックスの情報量を削減できる。
 しかしながら、マージモードの予測方向の決定方法では、例えば図2の隣接Aをコピー元とする場合、隣接ブロックAにおける予測方向1動きベクトルMvL1_Aの検出精度が悪いにもかかわらず、常に2方向予測が選択されるため、マージモードの予測画像が劣化し、符号化効率の劣化を招くという課題が生じる。
 (実施の形態1)
 図3は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。
 動画像符号化装置100は、図3に示すように、直交変換部101、量子化部102、逆量子化部103、逆直交変換部104、ブロックメモリ105、フレームメモリ106、イントラ予測部107、インター予測部108、インター予測制御部109、ピクチャタイプ決定部110、参照ピクチャリスト管理部111、スキップモード予測方向決定部112、および可変長符号化部113を備えている。
 直交変換部101は、後述するように生成された予測画像データと、入力画像列との予測誤差データに対し、画像領域から、周波数領域への変換を行う。量子化部102は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。逆量子化部103は、量子化部102により、量子化処理された予測誤差データに対し、逆量子化処理を行う。逆直交変換部104は、逆量子化処理された予測誤差データに対し、周波数領域から、画像領域への変換を行う。ブロックメモリ105は、予測画像データと逆量子化処理された予測誤差データから求めた復号画像をブロック単位で保存する。フレームメモリ106は、復号画像をフレーム単位で保存する。ピクチャタイプ決定部110は、Iピクチャ、Bピクチャ、Pピクチャのいずれのピクチャタイプで入力画像列を符号化するかを決定し、ピクチャタイプ情報を生成する。イントラ予測部107は、ブロックメモリ105に保存されているブロック単位の復号画像を用いて、符号化対象ブロックのイントラ予測による予測画像データを生成する。インター予測部108は、フレームメモリ106に保存されているフレーム単位の復号画像を用いて、符号化対象ブロックのインター予測による予測画像データを生成する。
 インター予測制御部109は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、スキップモード予測方向決定部112によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する。
 参照ピクチャリスト管理部111は、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する。
 なお、本実施の形態では、参照ピクチャインデックスと表示順で参照ピクチャを管理したが、参照ピクチャインデックスと符号化順などで参照ピクチャを管理しても構わない。
 スキップモード予測方向決定部112は、参照ピクチャリスト管理部111によって作成された参照ピクチャリスト1および参照ピクチャリスト2を用いて、後述する方法で、符号化対象ブロックのスキップモードの予測方向を決定する。
 可変長符号化部113は、量子化処理された予測誤差データ、インター予測モード、インター予測方向フラグ、スキップフラグ、ピクチャタイプ情報に対し、可変長符号化処理を行うことで、ビットストリームを生成する。
 図4は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 スキップモード予測方向決定部112は、符号化対象ブロックをスキップモードで符号化する場合の予測方向を決定する(ステップS101)。インター予測制御部109は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、スキップモード予測方向決定部112によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS102)。コスト算出方法に関しては、後述する。次に、インター予測制御部109は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS103)。この判定の結果、インター予測モードがスキップモードであれば(ステップS103でYes)、インター予測制御部109は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS104)。一方、この判定の結果、インター予測モードがスキップモードでなければ(ステップS103でNo)、インター予測制御部109は、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部109は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよびインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS105)。
 図5は、スキップモード予測方向決定部112における、スキップモード予測方向の決定フローを示すフローチャートである。
 一般的に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなる場合がある。例えば、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合は、参照ピクチャリスト2を用いた1方向予測を禁止することにより、インター予測方向フラグの符号量を削減することによって符号化効率を向上できる。この場合、1方向予測では予測方向1の動きベクトルのみが使用されるため、全体的に予測方向2の動きベクトルが少なくなる。この場合に、スキップモードの予測方向として2方向予測を選択すると、予測方向2の予測動きベクトルの生成に用いることができる隣接ブロックの予測方向2の動きベクトルが少ない傾向にあるため、予測方向2の予測動きベクトルの精度が低くなる可能性がある。そのため、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合には、スキップモードの予測方向を1方向予測に固定することにより、符号化効率を向上させることができる。
 スキップモード予測方向決定部112は、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを、参照ピクチャリスト1および参照ピクチャリスト2を用いて判定する(ステップS201)。例えば、参照ピクチャリスト1から各参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から各参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、すべて同じ値であれば、同一であると判定できる。この判定の結果、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一である場合(ステップS201でYes)には、スキップモード予測方向決定部112は、スキップモード予測方向フラグを1方向予測に設定する(ステップS202)。一方、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一でない場合(ステップS201でNo)には、スキップモード予測方向決定部112は、スキップモード予測方向フラグを2方向予測に設定する(ステップS203)。
 なお、本実施の形態では、ステップS201において表示順を用いて各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを判定したが、符号化順などを用いて判定しても構わない。
 また、本実施の形態では、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、スキップモードの予測方向を1方向に固定するようにしたが、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャの場合に、スキップモードの予測方向を1方向に固定するようにしてもよい。例えば、参照ピクチャリスト1から参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、同じ値であれば同一ピクチャと判定できる。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、スキップモードの予測方向を1方向予測に固定することによって、符号化効率を向上させることができる。
 また、符号化対象ピクチャが前方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、スキップモードの予測方向を1方向予測に固定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、または、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、スキップモードの予測方向を1方向予測に固定することによって、符号化効率を向上させることができる。
 また、符号化対象ピクチャが後方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、スキップモードの予測方向を1方向予測に固定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、また、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、スキップモードの予測方向を1方向予測に固定することによって、符号化効率を向上させることができる。
 図6は、インター予測制御部109における、インター予測モードの決定フローを示すフローチャートである。
 インター予測制御部109は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードのコストCostInterを、後述する方法で算出する(ステップS301)。インター予測制御部109は、隣接ブロック等の動きベクトルを用いて予測ベクトルを生成し、予測ベクトルを用いて予測画像を生成するダイレクトモードのコストCostDirectを、後述する方法で算出する(ステップS302)。インター予測制御部109は、スキップモード予測方向決定部112によって決定されたスキップモード予測方向フラグに従って、予測画像を生成するスキップモードのコストCostSkipを、後述する方法で算出する(ステップS303)。インター予測制御部109は、動きベクトル検出モードのコストCostInter、ダイレクトモードのコストCostDirect、スキップモードのコストCostSkipを比較し、動きベクトル検出モードのコストCostInterが最小であるか否かを判定する(ステップS304)。この判定の結果、動きベクトル検出モードのコストCostInterが最小であれば(ステップS304でYes)、インター予測制御部109はインター予測モードを動きベクトル検出モードに決定し、インター予測モードを動きベクトル検出モードに設定する(ステップS305)。一方、動きベクトル検出モードのコストCostInterが最小でなければ(ステップS304でNo)、インター予測制御部109は、ダイレクトモードのコストCostDirectとスキップモードのコストCostSkipの比較を行い、ダイレクトモードのコストCostDirectが小さいか否かを判定する(ステップS306)。この判定の結果、ダイレクトモードのコストCostDirectが小さければ(ステップS306でYes)、インター予測制御部109は、インター予測モードをダイレクトモードに決定し、インター予測モード情報をダイレクトモードに設定する(ステップS307)。一方、ダイレクトモードのコストCostDirectが小さくなければ(ステップS306でNo)、インター予測制御部109は、インター予測モードをスキップモードに設定し、インター予測モード情報にスキップモードを設定する(ステップS308)。
 次に、図6におけるステップS301の動きベクトル検出モードのコストCostInter算出の方法について図7を用いて詳細に説明する。図7は動きベクトル検出モードのコストCostInter算出の処理フローを示すフローチャートである。
 インター予測制御部109は、予測方向1の参照ピクチャインデックス1の示す参照ピクチャ1、および予測方向2の参照ピクチャインデックス2の示す参照ピクチャ2に対し、動き検出を行い、それぞれの参照ピクチャに対する動きベクトル1および動きベクトル2を生成する(ステップS401)。ここで動き検出は、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックを参照ブロックとする。そして、符号化対象ブロック位置と、参照ブロック位置から、動きベクトルを求める。次に、インター予測制御部109は、求めた動きベクトル1を用いて、予測方向1の予測画像を生成し、そのコストCostInterUni1を、例えば、R-D最適化モデルの以下の式1で算出する(ステップS402)。
Figure JPOXMLDOC01-appb-M000001
 式1において、Dは符号化歪を表し、ある動きベクトルで生成した予測画像を用いて符号化対象ブロックを符号化および復号化して得られた画素値と、符号化対象ブロックの元の画素値との差分絶対値和などを用いる。また、Rは発生符号量を表し、予測画像生成に用いた動きベクトルを符号化することに必要な符号量などを用いる。またλはラグランジュの未定乗数である。次に、インター予測制御部109は、求めた動きベクトル2を用いて、予測方向2の予測画像を生成し、式1よりコストCostInterUni2を算出する(ステップS403)。次に、インター予測制御部109は、求めた動きベクトル1と動きベクトル2を用いて、2方向の予測画像を生成し、式1よりコストCostInterBiを算出する(ステップS404)。ここで、2方向の予測画像は、例えば、動きベクトル1から求めた予測画像と、動きベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。インター予測制御部109は、コストCostInterUni1、コストCostInterUni2、コストCostInterBiの値を比較し、コストCostInterBiが最小であるか否かを判定する(ステップS405)。この判定の結果、コストCostInterBiが最小であれば(ステップS405でYes)、インター予測制御部109は、動きベクトル検出モードの予測方向を2方向予測に決定し、コストCostInterBiを動きベクトル検出モードのコストCostInterに設定する(ステップS406)。一方、コストCostInterBiが最小でなければ(ステップS405でNo)、コストCostInterUni1とコストCostInterUni2を比較し、コストCostInterUni1の値が小さいか否かを判定する(ステップS407)。この判定の結果、コストCostInterUni1の値が小さければ(ステップS407でYes)、インター予測制御部109は、動きベクトル検出モードを予測方向1の1方向予測1に決定し、コストCostInterUni1を動きベクトル検出モードのコストCostInterに設定する(ステップS408)。一方、コストCostInterUni1の値が小さくなければ(ステップS407でNo)、インター予測制御部109は、動きベクトル検出モードを予測方向2の1方向予測2に決定し、コストCostInterUni2を動きベクトル検出モードのコストCostInterに設定する(ステップS409)。
 なお、本実施の形態では、2方向の予測画像生成時に、画素毎の加算平均を行ったが、重みつき加算平均等を行っても構わない。
 次に、図6におけるステップS302のダイレクトモードのコストCostDirect算出の方法について図8を用いて詳細に説明する。図8はダイレクトモードのコストCostDirect算出の処理フローを示すフローチャートである。
 インター予測制御部109は、予測方向1のダイレクトベクトル1および予測方向2のダイレクトベクトル2を算出する(ステップS501)。ここで、ダイレクトベクトルは、例えば隣接ブロックの動きベクトルを用いて算出する。具体的な例を、図9を用いて説明する。
 図9は、符号化対象ブロック、隣接ブロックおよび隣接ブロックが有する動きベクトルの関係を示す図である。図9において、符号化対象ブロックの左隣接の符号化済みブロックを隣接ブロックA、符号化対象ブロックの上隣接の符号化済みブロックを隣接ブロックB、符号化対象ブロックの右上隣接の符号化済みブロックを隣接ブロックCとする。
 また、図9において、隣接ブロックAは2方向予測であり、予測方向1の参照ピクチャインデックスRefIdxL0_Aが示す参照ピクチャに対し、予測方向1の動きベクトルMvL0_Aを持ち、予測方向2の参照ピクチャインデックスRefIdxL1_Aが示す参照ピクチャに対し、予測方向2の動きベクトルMvL1_Aを持つ。また、隣接ブロックBは1方向予測であり、予測方向1の参照ピクチャインデックスRefIdxL0_Bが示す参照ピクチャに対し、予測方向1の動きベクトルMvL0_Bを持つ。また、隣接ブロックCは1方向予測であり、予測方向1の参照ピクチャインデックスの示す参照ピクチャに対し、予測方向1の動きベクトルMvL0_Cを持つ。
 ダイレクトベクトル算出にあたり、まずは符号化対象ブロックの予測方向1の参照ピクチャインデックスRefIdxL0および、予測方向2の参照ピクチャインデックスRefIdxL1の値を決定する。例えば、ダイレクトモードでは常に値「0」の参照ピクチャインデックスRefIdxL0および参照ピクチャインデックスRefIdxL1を使用することが考えられる。
 なお、本実施の形態では、ダイレクトモードにおける符号化対象ブロックの参照ピクチャインデックスの値として常に値「0」を使用したが、隣接ブロック等の参照ピクチャインデックス値などから、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスを算出してもよい。例えば、図9において、各参照ピクチャインデックスの取り得る値が「0」か「1」かの場合、符号化対象ブロックの予測方向1の参照ピクチャインデックスRefIdxL0として、RefIdxL0_A,RefIdxL0_B,RefIdxL0_Cの中間値Median(RefIdxL0_A,RefIdxL0_B,RefIdxL0_C)から算出することが考えられる。ここで、中間値は、以下の式2~式4のように導出される。
Figure JPOXMLDOC01-appb-M000002
 符号化対象ブロックの参照ピクチャインデックスを、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスにすることにより、ダイレクトベクトルの予測精度を向上することで、符号化効率を向上できる。なお、本例では、中間値を用いて、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスを求める例を示したが、必ずしもこれに限らない。例えば、隣接ブロックの参照ピクチャインデックスの同一関係を調べて算出するようにしても構わない。また、隣接ブロックの参照ピクチャインデックスの値がすべて異なる場合は、各参照ピクチャデックスの示す参照ピクチャの中で、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを表す参照ピクチャインデックスを、符号化対象ブロックの参照ピクチャインデックスとするようにしても構わない。
 また、ダイレクトモードにおける符号化対象ブロックの参照ピクチャインデックスの値として、隣接ブロックで参照された参照ピクチャのうち、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを示す参照ピクチャインデックスを割り当てても良い。例えば、図9の場合、符号化対象ブロックの予測方向1の参照ピクチャインデックスRefIdxL0として、RefIdxL0_A,RefIdxL0_B,RefIdxL0_Cの最小値Min(RefIdxL0_A,RefIdxL0_B,RefIdxL0_C)から算出することが考えられる。ここで、最小値は、以下の式5のように導出される。
Figure JPOXMLDOC01-appb-M000003
 一般に、符号化対象ピクチャと表示順の距離が近い参照ピクチャほど、小さい参照ピクチャインデックス値が割り当てられる可能性が高いため、最小値を求めることで、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを示す参照ピクチャインデックスを算出することができる。なお、隣接ブロックの参照ピクチャインデックスと参照ピクチャリストから、各参照ピクチャの表示順を求め、符号化対象ピクチャに最も距離が近い参照ピクチャを示す参照ピクチャインデックスを算出しても構わない。
 ダイレクトベクトルは、算出した符号化対象ブロックの参照ピクチャインデックスと、隣接ブロックの動きベクトルおよび参照ピクチャインデックスから算出される。例えば、隣接ブロックの動きベクトルであるMvL0_A、MvL0_B、MvL0_Cの中間値Median(MvL0_A、MvL0_B、MvL0_C)から算出される。予測方向1のダイレクトベクトル1は、隣接ブロックの予測方向1の動きベクトルを用いて式2より算出される。また、予測方向2のダイレクトベクトル2は、隣接ブロックの予測方向2の動きベクトルを用いて式2より算出される。ここで、符号化対象ブロックの参照ピクチャインデックスと、隣接ブロックの参照ピクチャインデックスの値が異なる場合は、その隣接ブロックの動きベクトルを値「0」の動きベクトルとして中間値を算出してもよい。
 また、符号化対象ブロックの参照ピクチャインデックスの値と同じ参照ピクチャインデックスの値を持つ隣接ブロックがなければ、ダイレクトベクトルとして値「0」の動きベクトルなどを用いても構わない。
 次に、インター予測制御部109は、求めたダイレクトベクトル1とダイレクトベクトル2を用いて、2方向の予測画像を生成し、式1よりコストCostDirectBiを算出する(ステップS502)。ここで、2方向の予測画像は、例えば、ダイレクトベクトル1から求めた予測画像と、ダイレクトベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。インター予測制御部109は、求めたダイレクトベクトル1を用いて、予測方向1の予測画像を生成し、そのコストCostDirectUni1を式1より算出する(ステップS503)。インター予測制御部109は、求めたダイレクトベクトル2を用いて、予測方向2の予測画像を生成し、式1よりコストCostDirectUni2を算出する(ステップS504)。次に、インター予測制御部109は、コストCostDirectUni1、コストCostDirectUni2、コストCostDirectBiの値を比較し、コストCostDirectBiが最小であるか否かを判定する(ステップS505)。この判定の結果、コストCostDirectBiが最小であれば(ステップS505でYes)、インター予測制御部109は、ダイレクトモードの予測方向を2方向予測に決定し、コストCostDirctBiをダイレクトモードのコストCostDirectに設定する(ステップS506)。一方、コストCostDirectBiが最小でなければ(ステップS505でNo)、インター予測制御部109は、コストCostDirectUni1とコストCostDirectUni2を比較し、コストCostDirectUni1の値が小さいか否かを判定する(ステップS507)。この判定の結果、コストCostDirectUni1の値が小さければ(ステップS507でYes)、インター予測制御部109は、ダイレクトモードを予測方向1の1方向予測1に決定し、コストCostDirectUni1をダイレクトモードのコストCostDirectに設定する(ステップS508)。一方、コストCostDirectUni1の値が小さくなければ(ステップS507でNo)、インター予測制御部109は、ダイレクトモードを予測方向2の1方向予測2に決定しコスト、CostDirectUni2をダイレクトモードのコストCostDirectに設定する(ステップS509)。
 次に、図6におけるステップS303のスキップモードのコストCostSkip算出の方法について図10を用いて詳細に説明する。図10はスキップモードのコストCostSkip算出の処理フローを示すフローチャートである。
 インター予測制御部109は、スキップモード予測方向決定部112によって決定されたスキップモード予測方向フラグが1方向予測であるか否かを判定する(ステップS601)。この判定の結果、スキップモード予測方向フラグが1方向予測であれば(ステップS601でYes)、インター予測制御部109は、図8のステップS501で求めたダイレクトベクトル1を用いて予測方向1の予測画像を生成し、そのスキップモードのコストCostSkipを式1より算出する(ステップS602)。一方、スキップモード予測方向フラグが1方向予測でなければ(ステップS601でNo)、インター予測制御部109は、図8のステップS501で求めたダイレクトベクトル1とダイレクトベクトル2を用いて、2方向の予測画像を生成し、式1よりスキップモードのコストCostSkipを算出する(ステップS603)。ここで、2方向の予測画像は、例えば、ダイレクトベクトル1から求めた予測画像と、ダイレクトベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。
 なお、本実施の形態では、スキップモード予測方向フラグが1方向予測の場合、ダイレクトベクトル1を用いて1方向予測の予測画像を生成する例を用いて説明したが、実施の形態全体を通して、ダイレクトベクトル2を用いて1方向予測の予測画像を生成するようにしても構わない。
 なお、本実施の形態では、ダイレクトベクトルの算出方法として、MvL0_A、MvL0_B、MvL0_Cの中間値Median(MvL0_A、MvL0_B、MvL0_C)を算出する例について説明したが、この算出方法に限られない。例えば、複数の予測動きベクトル候補から、最もCostの小さい予測動きベクトルを、符号化に用いるダイレクトベクトルとして選択し、選択した予測動きベクトルを表す予測動きベクトルインデックスをビットストリームに付随するようにしても構わない。ここで、Costは、例えば、式1を用いて算出する。このように、複数の候補から、符号化に用いるダイレクトベクトルを選択することにより、よりCostの小さいダイレクトベクトルを導出することが可能となる。図11Aは、予測動きベクトル候補の例を示す図である。予測動きベクトルインデックスの値は、Median(MvL0_A,MvL0_B,MvL0_C)に対応する値を「0」とし、動きベクトルMvL0_Aに対応する値を「1」とし、MvL0_Bに対応する値を「2」とし、MvL0_Cに対応する値を「3」としている。予測動きベクトルインデックスの割り当て方は、この例に限らない。図11Bは、最もCostの小さい予測動きベクトル候補に対応する予測動きベクトルインデックスを可変長符号化する際に用いる、符号表の例を示している。予測動きベクトルインデックスの値の小さい順に、符号長の短い符号を割り当てている。従って、予測精度が良い可能性の高い予測動きベクトル候補に対応する、予測動きベクトルインデックスの値を小さくすることにより、符号化効率を向上させることができる。
 また、本実施の形態では、符号化対象ブロックの参照ピクチャインデックスおよび、ダイレクトベクトル算出にあたり、図9の隣接ブロックA、隣接ブロックBおよび隣接ブロックCの参照ピクチャインデックスおよび動きベクトルを利用する例を示したが、必ずしもこれに限らない。例えば、図12に示すように、隣接ブロックDや隣接ブロックEを利用するようにしても構わない。例えば、隣接ブロックCの予測方向1における参照ピクチャインデックスが、符号化対象ブロックの予測方向1における参照ピクチャインデックスと異なるために、隣接ブロックCの予測方向1の動きベクトルを利用しない場合には、その代わりに隣接ブロックDや隣接ブロックEを利用することが考えられる。この場合も、隣接ブロックDや隣接ブロックEの予測方向1の参照ピクチャインデックスが、符号化対象ブロックの参照ピクチャインデックスと一致するかに応じて、隣接ブロックDや隣接ブロックEの動きベクトルを利用するかどうかを決定しても構わない。
 また、本実施の形態では、符号化対象ブロックの参照ピクチャインデックスおよび、ダイレクトベクトル算出にあたり、図9の隣接ブロックA、隣接ブロックBおよび隣接ブロックCの参照ピクチャインデックスおよび動きベクトルを利用する例を示したが、必ずしもこれに限らず、例えば、図13に示すように、符号化対象ブロックのco-locatedブロックを利用するようにしても構わない。ここで、co-locatedブロックとは、符号化対象ブロックを含むピクチャとは異なるピクチャ内のブロックで、かつ、ピクチャ内における位置が、符号化対象ブロックと同じ位置になるブロックである。また、co-locatedブロックは、符号化対象ピクチャより、表示時間順で、前方に位置するピクチャに含まれるブロック(以降、前方参照ブロックと呼ぶ)、または、後方に位置するピクチャに含まれるブロック(以降、後方参照ブロックと呼ぶ)のいずれをco-locatedブロックとするかをフラグ等で切替えることができる。図13は、co-locatedブロックが後方参照ブロックである場合を示している。図13のco-locatedブロックおよび、隣接ブロック等から参照ピクチャインデックス値を求める場合には、例えば、隣接ブロックおよびco-locatedブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスを、符号化対象ピクチャの参照ピクチャインデックスとするなどが考えられる。より具体的には、符号化対象ブロックの予測方向1の参照ピクチャインデックスを算出する場合、図9の隣接ブロックA,B,Cの参照ピクチャインデックスRefIdxL0_A,RefIdxL0_B,RefIdxL0_C、および、図13のco-locatedブロックの参照ピクチャインデックスRefIdxL0_Colが示す参照ピクチャのうち、最も多く参照された参照ピクチャを示す参照ピクチャインデックス値を、符号化対象ブロックの参照ピクチャインデックスに割り当てるなどが考えられる。また、隣接ブロックおよびco-locatedブロックの参照ピクチャインデックスが示す参照ピクチャがすべて異なる場合は、各参照ピクチャデックスの示す参照ピクチャの中で、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを表す参照ピクチャインデックスを、符号化対象ブロックの参照ピクチャインデックスとするようにしても構わない。また、ダイレクトモードにおける符号化対象ブロックの参照ピクチャインデックスの値として、隣接ブロックおよびco-locatedブロックで参照された参照ピクチャのうち、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを示す参照ピクチャインデックスを割り当てても良い。例えば、隣接ブロックとco-locatedブロックの参照ピクチャインデックスの最小値等から求めることができる。
 また、図13のco-locatedブロックからダイレクトベクトルを求める場合には、例えば、co-locatedブロックの動きベクトルを参照距離に合わせてスケーリング等を行い、符号化対象ブロックのダイレクトベクトルとすることが考えられる。より具体的には、図13の符号化対象ブロックの予測方向1のダイレクトベクトルを求める場合、co-locatedブロックの予測方向1動きベクトルを、co-locatedブロックの予測方向1参照ピクチャインデックスRfIdxL0_Colと符号化対象ブロックの参照ピクチャインデックスを用いてスケーリング処理を行い、符号化対象ブロックの参照ピクチャインデックスの示す参照ピクチャに対するダイレクトベクトルを求めることが考えられる。
 また、本実施の形態では、隣接ブロックおよびco-locatedブロックを用いた符号化対象ブロックの参照ピクチャインデックスや動きベクトルの求め方の例として、ダイレクトモードを用いて説明したが、必ずしもこれに限らず、スキップモードやマージモードでも、同様の方法で算出しても構わない。
 また、本実施の形態では、隣接ブロックおよびco-locatedブロックを用いた符号化対象ブロックの参照ピクチャインデックスや動きベクトルの求め方の例として、符号化対象ピクチャが、特定のBピクチャ(参照ピクチャリスト1と参照ピクチャリスト2における、各参照ピクチャに対する参照ピクチャインデックスの割当が同一であるBピクチャ)である場合について説明したが、必ずしもこれに限らない。例えば、符号化対象ピクチャが他のBピクチャ(参照ピクチャリスト1と参照ピクチャリスト2における各参照ピクチャリストに対する参照ピクチャインデックスの割当が異なるBピクチャ)である場合に適用しても構わない。符号化対象ピクチャが他のBピクチャである場合には、参照ピクチャリスト1、及び、参照ピクチャリスト2のそれぞれの参照ピクチャインデックス値を、本実施の形態を用いて導出する。具体的には、符号化対象ブロックの隣接ブロックA,B,Cの参照ピクチャインデックスRefIdxL0_A,RefIdxL0_B,RefIdxL0_C、および、参照ピクチャリスト1で特定されるco-locatedブロックの参照ピクチャインデックスRefIdxL0_Colが示す参照ピクチャのうち、最も多く参照された参照ピクチャを示す参照ピクチャインデックス値を、符号化対象ブロックの参照ピクチャリスト1の参照ピクチャインデックスに割り当てる。また、符号化対象ブロックの隣接ブロックA,B,Cの参照ピクチャインデックスRefIdxL1_A,RefIdxL1_B,RefIdxL1_C、および、参照ピクチャリスト2で特定されるco-locatedブロックの参照ピクチャインデックスRefIdxL1_Colが示す参照ピクチャのうち、最も多く参照された参照ピクチャを示す参照ピクチャインデックス値を、符号化対象ブロックの参照ピクチャリスト2の参照ピクチャインデックスに割り当てる。更に、符号化対象ピクチャが、Pピクチャである場合に、本実施の形態を適用しても構わない。
 このように、本実施の形態によれば、スキップモードの予測方向を決定する際に、符号化対象ブロックに最適な予測方向を選択することができるため、符号化効率を向上させることが可能になる。特に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、隣接ブロックの予測方向に関わらず、1方向予測を選択することにより予測画像の質を向上し、符号化効率を向上させることができる。
 (実施の形態2)
 図14は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像符号化装置200は、実施の形態1のスキップモード予測方向決定部の代わりに、スキップモード予測方向追加判定部を新たに設けている。そして、スキップモード予測方向追加フラグがオンの場合は、スキップモードの場合でもインター予測方向を符号化対象ブロック毎に付随させる点において、実施の形態1と構成が異なる。なお、実施の形態1と同様の構成については、同じ符号を付し、説明を省略する。
 スキップモード予測方向追加判定部201は、参照ピクチャリスト管理部111によって作成された参照ピクチャリスト1および2を用いて、後述する方法で、スキップモードの場合でもインター予測方向を符号化対象ブロック毎に付随させるか否かを判定する。
 図15は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 スキップモード予測方向追加判定部201は、符号化対象ブロックをスキップモードで符号化する場合に、予測方向を追加するか否かを判定し、追加する場合はスキップモード予測方向追加フラグをオンにする(ステップS701)。インター予測制御部109は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、スキップモード予測方向追加判定部201によって追加された予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS702)。ここで、コスト算出方法は、式1などを利用する。次に、インター予測制御部109は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS703)。この判定の結果、インター予測モードがスキップモードであれば(ステップS703でYes)、インター予測制御部109は、スキップモード予測方向追加フラグがオンであるか否かを判定する(ステップS704)。この判定の結果、スキップモード予測方向追加フラグがオンであれば(ステップS704でYes)、インター予測制御部109は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部109は、スキップモードのインター予測方向フラグもビットストリームに付随させるために可変長符号化部113へ出力する(ステップS705)。一方、インター予測モードがスキップモードでなければ(ステップS704でNo)、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS706)。また、ステップS703における判定の結果、スキップモード予測方向追加フラグがオンでなければ(ステップS703でNo)、インター予測制御部109は、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部109は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよびインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS707)。
 図16は、スキップモード予測方向追加判定部201における、スキップモード予測方向追加フラグの決定フローを示すフローチャートである。
 一般的に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなる場合がある。例えば、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合は、参照ピクチャリスト2を用いた1方向予測を禁止することにより、インター予測方向フラグの符号量を削減することによって符号化効率を向上できる。この場合、1方向予測では予測方向1の動きベクトルのみが使用されるため、全体的に予測方向2の動きベクトルが少なくなる。この場合に、スキップモードの予測方向として2方向予測を選択すると、予測方向2の予測動きベクトルの生成に用いることができる隣接ブロックの予測方向2の動きベクトルが少ない傾向にあるため、予測方向2の予測動きベクトルの精度が低くなる可能性がある。そのため、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合には、スキップモードの予測方向をストリームに付随させることにより、予測方向2の予測動きベクトルの精度が低い場合には1方向予測を選択し、予測方向2の予測動きベクトルの精度が高い場合には2方向予測を選択することができ、符号化効率を向上させることができる。
 スキップモード予測方向追加判定部201は、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを、参照ピクチャリスト1および照ピクチャリスト2を用いて判定する(ステップS801)。例えば、参照ピクチャリスト1から各参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から各参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、すべて同じ値であれば、同一であると判定できる。この判定の結果、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一である場合(ステップS801でYes)には、スキップモード予測方向追加判定部201はスキップモードの予測方向追加フラグをオンに設定する(ステップS802)。一方、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一でない場合(ステップS801でNo)には、スキップモード予測方向追加判定部201は、スキップモードの予測方向追加フラグをオフに設定する(ステップS803)。
 なお、本実施の形態では、ステップS801において表示順を用いて各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを判定したが、符号化順などを用いて判定しても構わない。
 また、本実施の形態では、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、スキップモードの予測方向追加フラグをオンにしたが、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャの場合に、スキップモードの予測方向追加フラグをオンにするようにしてもよい。例えば、参照ピクチャリスト1から参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、同じ値であれば同一ピクチャと判定できる。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、スキップモードの予測方向をストリームに付随させることにより、予測方向2の予測動きベクトルの精度が低い場合には1方向予測を選択し、予測方向2の予測動きベクトルの精度が高い場合には2方向予測を選択することができ、符号化効率を向上させることができる。
 また、符号化対象ピクチャが前方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、スキップモードの予測方向を1方向予測に固定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、または、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、スキップモードの予測方向をストリームに付随させることにより、予測方向2の予測動きベクトルの精度が低い場合には1方向予測を選択し、予測方向2の予測動きベクトルの精度が高い場合には2方向予測を選択することができ、符号化効率を向上させることができる。
 また、符号化対象ピクチャが後方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、スキップモードの予測方向を1方向予測に固定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、また、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、スキップモードの予測方向をストリームに付随させることにより、予測方向2の予測動きベクトルの精度が低い場合には1方向予測を選択し、予測方向2の予測動きベクトルの精度が高い場合には2方向予測を選択することができ、符号化効率を向上させることができる。
 次に、本実施の形態におけるスキップモードのコストCostSkip算出の方法について図17を用いて詳細に説明する。図17はスキップモードのコストCostSkip算出の処理フローを示すフローチャートである。なお、インター予測モードの決定フローおよび、動きベクトル検出モードのコストCostInter、ダイレクトモードのコストCostDirectの算出方法は、実施の形態1の図6、図7、図8と同様であるため、説明を省略する。
 インター予測制御部109は、予測方向1のダイレクトベクトル1および予測方向2のダイレクトベクトル2を、実施の形態1で説明した方法で算出する。そして、求めたダイレクトベクトル1とダイレクトベクトル2を用いて、2方向の予測画像を生成し、式1よりコストCostSkipBiを算出する(ステップS901)。ここで、2方向の予測画像は、例えば、ダイレクトベクトル1から求めた予測画像と、ダイレクトベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。次に、インター予測制御部109は、スキップモード予測方向追加フラグがオンであるか否かを判定する(ステップS902)。この判定の結果、スキップモード予測方向追加フラグがオンであるならば(ステップS902でYes)、インター予測制御部109は、ダイレクトベクトル1を用いて、予測方向1の予測画像を生成し、そのコストCostSkipUni1を式1より算出する(ステップS903)。インター予測制御部109は、ダイレクトベクトル2を用いて、予測方向2の予測画像を生成し、式1よりコストCostSkipUni2を算出する(ステップS904)。インター予測制御部109は、コストCostSkipUni1、コストCostSkipUni2、コストCostSkipBiの値を比較し、コストCostSkipUni1が最小であるか否かを判定する(ステップS905)。この判定の結果、コストCostSkipUni1が最小であれば(ステップS905でYes)、インター予測制御部109は、スキップモードを予測方向1の1方向予測1に決定し、コストCostSkipUni1をスキップモードのコストCostSkipに設定する(ステップS906)。一方、コストCostSkipUni1が最小でなければ(ステップS905でNo)、コストCostSkipUni2とコストCostSkipBiを比較し、コストCostSkipUni2の値が小さいか否かを判定する(ステップS907)。この判定の結果、コストCostSkipUni2の値が小さければ(ステップS907でYes)、インター予測制御部109は、スキップモードを予測方向2の1方向予測2に決定し、コストCostSkipUni2をスキップモードのコストCostSkipに設定する(ステップS908)。一方、コストCostSkipUni2の値が小さくない場合(ステップS907でNo)、およびステップS902の判定においてスキップモード予測方向追加フラグがオンでない場合(ステップS902でNo)、インター予測制御部109は、スキップモードを2方向予測に決定し、コストCostSkipBiをスキップモードのコストCostSkipに設定する(ステップS909)。
 このように、本実施の形態によれば、スキップモードの予測方向を決定する際に、符号化対象ブロックに最適な予測方向を選択することができるため、符号化効率を向上させることが可能になる。特に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、隣接ブロックの予測方向に関わらず、スキップモードでも予測方向をビットストリームに付随させることで、符号化対象ブロックに最適な予測方向を選択することにより、予測画像の質を向上し、符号化効率を改善することができる。
 (実施の形態3)
 図18は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像符号化装置300は、スキップモード予測方向決定部が生成したスキップモード予測方向フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随させる点において、実施の形態1と構成が異なる。なお、実施の形態1と同様の構成については、同じ符号を付し、説明を省略する。
 スキップモード予測方向決定部301は、実施の形態1と同様に符号化対象ブロックのスキップモードの予測方向を決定し、スキップモード予測方向フラグを設定する。また、スキップモード予測方向決定部301は、設定したスキップモード予測方向フラグをインター予測制御部109に加えて、可変長符号化部302にも出力する。
 可変長符号化部302は、量子化処理された予測誤差データ、インター予測モード、インター予測方向フラグ、スキップフラグ、ピクチャタイプ情報、およびスキップモード予測方向フラグに対し、可変長符号化処理を行うことで、ビットストリームを生成する。
 図19は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 スキップモード予測方向決定部301は、符号化対象ブロックをスキップモードで符号化する場合の予測方向を決定し、決定したスキップモード予測方向フラグを、ピクチャヘッダ等に付随させるために可変長符号化部302へ出力する(ステップS1001)。ここで、スキップモードの予測方向の決定方法は、実施の形態1の図5のフローなどと同様である。インター予測制御部109は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、スキップモード予測方向決定部301によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS1002)。ここで、コスト算出方法は、式1などを利用する。次に、インター予測制御部109は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS1003)。この判定の結果、インター予測モードがスキップモードであれば(ステップS1003でYes)、インター予測制御部109は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部302へ出力する(ステップS1004)。一方、この判定の結果、インター予測モードがスキップモードでなければ(ステップS1003でNo)、インター予測制御部109は、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部302へ出力する。また、インター予測制御部109は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよびインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部302へ出力する(ステップS1005)。なお、インター予測モード決定方法等は、実施の形態1と同様であるため説明を省略する。
 このように、本実施の形態によれば、スキップモード予測方向フラグを、ピクチャヘッダ等に明示的に付与するため、スキップモードの予測方向をピクチャ毎に柔軟に切り替えることができるようになり、符号化効率を向上させることが可能になる。
 (実施の形態4)
 図20は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像符号化装置400は、スキップモード予測方向追加判定部が生成したスキップモード予測方向追加フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随させる点において、実施の形態3と構成が異なる。なお、実施の形態3と同様の構成については、同じ符号を付し、説明を省略する。
 スキップモード予測方向追加判定部401は、実施の形態3と同様にスキップモードの場合でもインター予測方向を符号化対象ブロック毎に付随させるか否かを判定し、スキップモード予測方向追加フラグを設定する。また、スキップモード予測方向追加判定部401は、設定したスキップモード予測方向追加フラグをインター予測制御部109に加えて、可変長符号化部402にも出力する。
 可変長符号化部402は、量子化処理された予測誤差データ、インター予測モード、インター予測方向フラグ、スキップフラグ、ピクチャタイプ情報、およびスキップモード予測方向追加フラグに対し、可変長符号化処理を行うことで、ビットストリームを生成する。
 図21は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 スキップモード予測方向追加判定部401は、符号化対象ブロックをスキップモードで符号化する場合に、予測方向を追加するか否かを判定し、追加する場合はスキップモード予測方向追加フラグをオンに設定する。そして、スキップモード予測方向追加判定部401は、設定したスキップモード予測方向追加フラグをピクチャヘッダ等に付随させるために可変長符号化部402へ出力する(ステップS1101)。ここで、予測方向追加の決定方法は、実施の形態2の図16などと同様である。インター予測制御部109は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、スキップモード予測方向追加判定部401によって追加した予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS1102)。ここで、コスト算出方法は、式1などを利用する。次に、インター予測制御部109は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS1103)。この判定の結果、インター予測モードがスキップモードであれば(ステップS1103でYes)、インター予測制御部109は、スキップモード予測方向追加フラグがオンであるか否かを判定する(ステップS1104)。この判定の結果、スキップモード予測方向追加フラグがオンであれば(ステップS1104でYes)、インター予測制御部109は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部109は、スキップモードのインター予測方向フラグもビットストリームに付随させるために可変長符号化部113へ出力する(ステップS1105)。一方、インター予測モードがスキップモードでなければ(ステップS1104でNo)、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部402へ出力する(ステップS1106)。また、ステップS1103における判定の結果、スキップモード予測方向追加フラグがオンでなければ(ステップS1103でNo)、インター予測制御部109は、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部109は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部402へ出力する。また、インター予測制御部109は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよびインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部402へ出力する(ステップS1107)。なお、インター予測モード決定方法等は、実施の形態2と同様であるため説明を省略する。
 このように、本実施の形態によれば、スキップモード予測方向追加フラグを、ピクチャヘッダ等に明示的に付与するため、スキップモードの予測方向を追加するかどうかをピクチャ毎に柔軟に切り替えることができるようになり、符号化効率を向上させることが可能になる。
 (実施の形態5)
 図22は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。
 動画像復号化装置500は、図22に示すように、可変長復号化部501、逆量子化部502、逆直交変換部503、ブロックメモリ504、フレームメモリ505、イントラ予測部506、インター予測部507、インター予測制御部508、参照ピクチャリスト管理部509、およびスキップモード予測方向決定部510を備えている。
 可変長復号化部501は、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報、インター予測モード、インター予測方向、スキップフラグ、可変長復号化処理を行った量子化係数を生成する。逆量子化部502は、可変長復号化処理を行った量子化係数に対し、逆量子化処理を行う。逆直交変換部503は、逆量子化処理を行った直交変換係数を、周波数領域から、画像領域への変換し、予測誤差画像データとする。ブロックメモリ504は、予測誤差画像データと、予測画像データが加算されて生成された画像列を、ブロック単位で保存する。フレームメモリ505は、画像列を、フレーム単位で保存する。イントラ予測部506は、ブロックメモリ504に保存されているブロック単位の画像列を用いて、イントラ予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測部507は、フレームメモリ505に保存されているフレーム単位の画像列を用いて、インター予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測制御部508は、インター予測モード、インター予測方向フラグ、スキップフラグに応じて、インター予測における動きベクトルと予測画像データ生成方法を制御する。
 参照ピクチャリスト管理部509は、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する。Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照ピクチャリストを保持する。
 なお、本実施の形態では、参照ピクチャインデックスと表示順で参照ピクチャを管理したが、参照ピクチャインデックスと符号化順などで参照ピクチャを管理しても構わない。
 スキップモード予測方向決定部510は、参照ピクチャリスト管理部509によって作成された参照ピクチャリスト1および参照ピクチャリスト2を用いて、符号化対象ブロックのスキップモードの予測方向を決定する。なお、スキップモード予測方向フラグの決定フローは実施の形態1の図5と同様であるため、説明を省略する。
 最後に、復号化した予測誤差画像データと、予測画像データとを加算することにより、復号画像列を生成する。
 図23は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部508は、可変長復号化部501によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS1201)。この判定の結果、スキップフラグが1であれば(ステップS1201でYes)、インター予測制御部508は、可変長復号化部501によって復号されたスキップモード予測方向フラグが1方向予測であるか否かを判定する(ステップS1202)。この判定の結果、スキップモード予測方向フラグが1方向予測であれば(ステップS1202でYes)、インター予測制御部508は、図8のステップS501と同様の方法でダイレクトベクトル1を算出し、1方向予測画像を生成する(ステップS1203)。一方、スキップモード予測方向フラグが1方向予測でなければ(ステップS1202でNo)、インター予測制御部508は、図8のステップS501と同様の方法でダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS1204)。一方、ステップS1201の判定でスキップフラグが1でない、つまり、スキップモードでなければ(ステップS1201でNo)、インター予測制御部508は、可変長復号化部501によって復号されたインター予測モードが動きベクトル検出モードであるか否かを判定する(ステップS1205)。この判定の結果、インター予測モードが動きベクトル検出モードであれば(ステップS1205でYes)、インター予測制御部508は、可変長復号化部501によって復号されたインター予測方向フラグおよび動きベクトルを用いて予測画像を生成する(ステップS1206)。一方、インター予測モードが動きベクトル検出モードでない、つまり、ダイレクトモードであれば(ステップS1205でNo)、インター予測制御部508は、インター予測方向フラグに応じて、図8のステップS501と同様の方法でダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS1208)。
 なお、本実施の形態では、図23のステップS1203において、ダイレクトベクトル1を用いてスキップモードの1方向予測画像を生成するとしたが、動画像符号化方法と合わせて、ダイレクトベクトル2を用いて1方向予測画像を生成するようにしても構わない。
 図24は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図24において、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。
 なお、本実施の形態では、図8のステップS501と同様の方法でダイレクトベクトルを算出するとしているが、図11Aのように、複数の予測動きベクトル候補から構成される候補リストを作成するとともに、ストリーム中から予測動きベクトルインデックスを抽出し、候補リストの予測動きベクトル候補のうち、予測動きベクトルインデックスが示す予測動きベクトル候補を復号化に用いるダイレクトベクトルとしてもよい。
 このように、本実施の形態によれば、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、隣接ブロックの予測方向に関わらず、1方向予測を選択することにより符号化効率を向上したビットストリームを適切に復号することが可能になる。
 (実施の形態6)
 図25は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像復号化装置600は、実施の形態5のスキップモード予測方向決定部の代わりに、スキップモード予測方向追加判定部を新たに設けている。そして、スキップモード予測方向追加フラグがオンの場合は、スキップモードの場合でもインター予測方向を符号化対象ブロック毎に付随させたビットストリームを復号できる点において、実施の形態5と構成が異なる。なお、実施の形態5と同様の構成については、同じ符号を付し、説明を省略する。また、スキップモード予測方向追加判定フローに関しては、実施の形態2の図16と同様のため、説明を省略する。
 スキップモード予測方向追加判定部601は、参照ピクチャリスト管理部509によって作成された参照ピクチャリスト1および2を用いて、後述する方法で、スキップモードの場合でもインター予測方向を符号化対象ブロック毎に付随させるか否かを判定する。
 図26は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部603は、可変長復号化部602によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS1301)。この判定の結果、スキップフラグが1であれば(ステップS1301でYes)、インター予測制御部603は、可変長復号化部602によって復号されたスキップモード予測方向追加フラグがオンであるか否かを判定する(ステップS1302)。この判定の結果、スキップモード予測方向追加フラグがオンであれば(ステップS1302でYes)、可変長復号化部602は、インター予測方向フラグを復号する。そして、インター予測制御部603は、復号されたインター予測方向フラグに応じてダイレクトベクトル1とダイレクトベクトル2の少なくとも一つを算出し、1方向もしくは2方向の予測画像を生成する(ステップS1303)。一方、スキップモード予測方向追加フラグがオンでなければ(ステップS1302でNo)、インター予測制御部603は、ダイレクトベクトル1とダイレクトベクトル2を算出して2方向予測画像を生成する(ステップS1304)。一方、ステップS1301の判定でスキップフラグが1でない、つまり、スキップモードでなければ(ステップS1301でNo)、インター予測制御部603は、可変長復号化部602によって復号されたインター予測モードが動きベクトル検出モードであるか否かを判定する(ステップS1305)。この判定の結果、インター予測モードが動きベクトル検出モードであれば(ステップS1305でYes)、インター予測制御部603は、可変長復号化部602によって復号されたインター予測方向フラグおよび動きベクトルを用いて予測画像を生成する(ステップS1306)。一方、インター予測モードが動きベクトル検出モードでない、つまり、ダイレクトモードであれば(ステップS1305でNo)、インター予測制御部603は、インター予測方向フラグに応じてダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS1307)。
 図27は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図27において、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。
 このように、本実施の形態によれば、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、隣接ブロックの予測方向に関わらず、スキップモードでも予測方向をビットストリームに付随させることにより、符号化効率を向上したビットストリームを適切に復号することが可能になる。
 (実施の形態7)
 図28は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像復号化装置700は、スキップモード予測方向決定部が生成したスキップモード予測方向フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随されたビットストリームを復号できる点において、実施の形態5と構成が異なる。なお、実施の形態5と同様の構成については、同じ符号を付し、説明を省略する。
 図29は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部702は、可変長復号化部701によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS1401)。この判定の結果、スキップフラグが1であれば(ステップS1401でYes)、インター予測制御部702は、可変長復号化部701によってビットストリームから復号されたスキップモード予測方向フラグが1方向予測かどうかを判定する(ステップS1402)。この判定の結果、スキップモード予測方向フラグが1方向予測であれば(ステップS1402でYes)、インター予測制御部702は、ダイレクトベクトル1を算出し、1方向予測画像を生成する(ステップS1403)。一方、スキップモード予測方向フラグが1方向予測でなければ(ステップS1402でNo)、インター予測制御部702は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS1404)。一方、ステップS1401の判定でスキップフラグが1でない、つまり、スキップモードでなければ(ステップS1401でNo)、インター予測制御部702は、可変長復号化部701によって復号されたインター予測モードが動きベクトル検出モードかどうかを判定する(ステップS1405)。この判定の結果、インター予測モードが動きベクトル検出モードであれば(ステップS1405でYes)、インター予測制御部702は、可変長復号化部701によって復号されたインター予測方向フラグおよび動きベクトルを用いて予測画像を生成する(ステップS1406)。一方、インター予測モードが動きベクトル検出モードでない、つまり、ダイレクトモードであれば(ステップS1405でNo)、インター予測制御部702は、インター予測方向フラグに応じてダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS1408)。
 なお、本実施の形態では、図29のステップS1403において、ダイレクトベクトル1を用いてスキップモードの1方向予測画像を生成するとしたが、動画像符号化方法と合わせて、ダイレクトベクトル2を用いて1方向予測画像を生成するようにしても構わない。
 図30Aおよび図30Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図30Aおよび図30Bにおいて、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。また、ピクチャヘッダ等に付加されるskip_pred_idcはスキップフラグ予測方向フラグを表す。
 このように、本実施の形態によれば、スキップモード予測方向フラグを、ピクチャヘッダ等に明示的に付与することにより、スキップモードの予測方向をピクチャ毎に柔軟に切り替えることで符号化効率を向上させたビットストリームを適切に復号することが可能になる。
 (実施の形態8)
 図31は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像復号化装置800は、スキップモード予測方向追加判定部が生成したスキップモード予測方向追加フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随させビットストリームを復号できる点において、他の実施の形態と構成が異なる。なお、実施の形態5と同様の構成については、同じ符号を付し、説明を省略する。
 図32は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部802は、可変長復号化部801によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS1501)。この判定の結果、スキップフラグが1であれば(ステップS1501でYes)、インター予測制御部802は、可変長復号化部801によってビットストリームから復号されたスキップモード予測方向追加フラグがオンであるか否かを判定する(ステップS1502)。この判定の結果、スキップモード予測方向追加フラグがオンであれば(ステップS1502でYes)、インター予測制御部802は、インター予測方向フラグを復号し、復号したインター予測方向に応じてダイレクトベクトル1とダイレクトベクトル2の少なくとも一つを算出し、1方向もしくは2方向の予測画像を生成する(ステップS1503)。一方、スキップモード予測方向追加フラグがオンでなければ(ステップS1502でNo)、インター予測制御部802は、ダイレクトベクトル1とダイレクトベクトル2を算出して2方向予測画像を生成する(ステップS1504)。一方、ステップS1501の判定でスキップフラグが1でない、つまり、スキップモードでなければ(ステップS1501でNo)、インター予測制御部802は、可変長復号化部801によって復号されたインター予測モードが動きベクトル検出モードであるか否かを判定する(ステップS1505)。この判定の結果、インター予測モードが動きベクトル検出モードであれば(ステップS1505でYes)、インター予測制御部802は、可変長復号化部801によって復号されたインター予測方向フラグおよび動きベクトルを用いて予測画像を生成する(ステップS1506)。一方、インター予測モードが動きベクトル検出モードでない、つまり、ダイレクトモードであれば(ステップS1505でNo)、インター予測制御部802は、インター予測方向フラグに応じてダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS1507)。
 図33Aおよび図33Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図33Aおよび図33Bにおいて、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。また、ピクチャヘッダ等に付加されるskip_add_dirはスキップフラグ予測方向追加フラグを表す。
 このように、本実施の形態によれば、スキップモード予測方向追加フラグを、ピクチャヘッダ等に明示的に付与することにより、スキップモードの予測方向を追加するかどうかをピクチャ毎に柔軟に切り替えることで符号化効率を向上させたビットストリームを適切に復号することが可能になる。
 (実施の形態9)
 図34は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。
 動画像符号化装置900は、図34に示すように、直交変換部101、量子化部102、逆量子化部103、逆直交変換部104、ブロックメモリ105、フレームメモリ106、イントラ予測部107、インター予測部108、インター予測制御部902、ピクチャタイプ決定部110、参照ピクチャリスト管理部111、ダイレクトモード予測方向決定部901、可変長符号化部113を備えている。
 直交変換部101は、後述するように生成された予測画像データと、入力画像列との予測誤差データに対し、画像領域から、周波数領域への変換を行う。量子化部102は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。逆量子化部103は、量子化部102により、量子化処理された予測誤差データに対し、逆量子化処理を行う。逆直交変換部104は、逆量子化処理された予測誤差データに対し、周波数領域から、画像領域への変換を行う。ブロックメモリ105は、予測画像データと逆量子化処理された予測誤差データから求めた復号画像をブロック単位で保存する。フレームメモリ106は、復号画像をフレーム単位で保存する。ピクチャタイプ決定部110は、Iピクチャ、Bピクチャ、Pピクチャのいずれのピクチャタイプで入力画像列を符号化するかを決定し、ピクチャタイプ情報を生成する。イントラ予測部107は、ブロックメモリ105に保存されているブロック単位の復号画像を用いて、符号化対象ブロックのイントラ予測による予測画像データを生成する。インター予測部108は、フレームメモリ106に保存されているフレーム単位の復号画像を用いて、符号化対象ブロックのインター予測による予測画像データを生成する。
 参照ピクチャリスト管理部111は、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する。Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照ピクチャリストを保持する。なお、本実施の形態では、参照ピクチャインデックスと表示順で参照ピクチャを管理したが、参照ピクチャインデックスと符号化順などで参照ピクチャを管理しても構わない。
 ダイレクトモード予測方向決定部901は、参照ピクチャリスト管理部111によって作成された参照ピクチャリスト1および2を用いて、後述する方法で、符号化対象ブロックのダイレクトモードの予測方向を決定する。
 可変長符号化部113は、量子化処理された予測誤差データ、インター予測モード、インター予測方向フラグ、スキップフラグ、ピクチャタイプ情報に対し、可変長符号化処理を行うことで、ビットストリームを生成する。
 図35は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 ダイレクトモード予測方向決定部901は、符号化対象ブロックをダイレクトモードで符号化する場合の予測方向を決定する(ステップS1601)。インター予測制御部902は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、ダイレクトモード予測方向決定部901によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS1602)。コスト算出方法に関しては、後述する。次に、インター予測制御部902は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS1603)。この判定の結果、インター予測モードがスキップモードであれば(ステップS1603でYes)、インター予測制御部902は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部902は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS1604)。一方、この判定の結果、インター予測モードがスキップモードでなければ(ステップS1603でNo)、インター予測制御部902は、決定したインター予測モードがダイレクトモードかつ、後述する方法で決定したダイレクトモード予測方向固定フラグがオンであるか否かを判定する(ステップS1605)。この判定の結果、インター予測モードがダイレクトモードかつ、ダイレクトモード予測方向固定フラグがオンであれば(ステップS1605でYes)、インター予測制御部902は、ダイレクトモードの2方向予測画像を生成し、スキップフラグを0とする。そして、インター予測制御部902は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部902は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS1606)。一方、インター予測モードがダイレクトモードかつ、ダイレクトモード予測方向固定フラグがオンでなければ(ステップS1605でNo)、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部902は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部902は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよび、インター予測方向が予測方向1の1方向予測、または、予測方向2の1方向予測、または、予測方向1と予測方向2を用いた2方向予測かどうかを示すインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS1608)。
 図36は、ダイレクトモード予測方向決定部における、ダイレクトモード予測方向の決定フローを示すフローチャートである。
 一般的に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合、2方向予測と1方向予測のコストが比較的近くなる傾向があるため、どちらか一方の予測方向に固定することにより、インター予測方向フラグを符号化対象ブロックごとに付随させる必要がなくなる。本実施の形態では、加算平均等の影響で比較的ノイズの少ない予測画像を生成することができる2方向予測に固定する例を用いて、以下、説明を行う。なお、ノイズの影響等の少ない画像の場合などは、処理量の観点などから、1方向予測に固定するようにしても構わない。
 ダイレクトモード予測方向決定部901は、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを、参照ピクチャリスト1および2を用いて判定する(ステップS1701)。例えば、参照ピクチャリスト1から各参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から各参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、すべて同じ値であれば、同一であると判定できる。この判定の結果、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一である場合(ステップS1701でYes)には、ダイレクトモード予測方向決定部901は、ダイレクトモードの予測方向を2方向予測に決定し、ダイレクトモード予測方向固定フラグをオンに設定する(ステップS1702)。一方、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一でない場合(ステップS1701でNo)には、ダイレクトモード予測方向固定フラグをオフに設定する(ステップS1703)。
 なお、本実施の形態では、ステップS1701において表示順を用いて各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを判定したが、符号化順などを用いて判定しても構わない。
 また、本実施の形態では、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、ダイレクトモードの予測方向を2方向予測に決定し、ダイレクトモード予測方向固定フラグをオンに設定するようにしたが、符号化対象ブロックのダイレクトモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャの場合に、ダイレクトモードの予測方向を2方向予測に決定し、ダイレクトモード予測方向固定フラグをオンに設定するようにしてもよい。例えば、参照ピクチャリスト1から参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、同じ値であれば同一ピクチャと判定できる。このような場合でも、2方向予測と1方向予測のコストが比較的近くなる傾向があるため、どちらか一方の予測方向に固定することにより、インター予測方向フラグを符号化対象ブロックごとに付随させる必要がなくなり、符号化効率を向上させることができる。
 また、符号化対象ピクチャが前方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、ダイレクトモードの予測方向を2方向予測に決定し、ダイレクトモード予測方向固定フラグをオンに設定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、または、符号化対象ブロックのダイレクトモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測と1方向予測のコストが比較的近くなる傾向があるため、どちらか一方の予測方向に固定することにより、インター予測方向フラグを符号化対象ブロックごとに付随させる必要がなくなり、符号化効率を向上させることができる。
 また、符号化対象ピクチャが後方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、ダイレクトモードの予測方向を2方向予測に決定し、ダイレクトモード予測方向固定フラグをオンに設定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、または、符号化対象ブロックのダイレクトモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測と1方向予測のコストが比較的近くなる傾向があるため、どちらか一方の予測方向に固定することにより、インター予測方向フラグを符号化対象ブロックごとに付随させる必要がなくなり、符号化効率を向上させることができる。
 図37は、インター予測制御部における、インター予測モードの決定フローを示すフローチャートである。
 インター予測制御部902は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードのコストCostInterを、後述する方法で算出する(ステップS1801)。インター予測制御部902は、ダイレクトモード予測方向決定部901によって決定されたダイレクトモード予測方向固定フラグに従って、隣接ブロック等の動きベクトルを用いて予測ベクトルを生成し、予測ベクトルを用いて予測画像を生成するダイレクトモードのコストCostDirectを、後述する方法で算出する(ステップS1802)。インター予測制御部902は、周辺ブロック等から予測した動きベクトルの示す位置の予測画像をそのまま復号化画像とするスキップモードのコストCostSkipを、後述する方法で算出する(ステップS1803)。インター予測制御部902は、動きベクトル検出モードのコストCostInter、ダイレクトモードのコストCostDirect、スキップモードのコストCostSkipを比較し、動きベクトル検出モードのコストCostInterが最小であるか否かを判定する(ステップS1804)。この判定の結果、動きベクトル検出モードのコストCostInterが最小であれば(ステップS1804でYes)、インター予測制御部902はインター予測モードを動きベクトル検出モードに決定し、インター予測モードを動きベクトル検出モードに設定する(ステップS1805)。一方、動きベクトル検出モードのコストCostInterが最小でなければ(ステップS1804No)、インター予測制御部902は、ダイレクトモードのコストCostDirectとスキップモードのコストCostSkipの比較を行い、ダイレクトモードのコストCostDirectが小さいか否かを判定する(ステップS1806)。この判定の結果、ダイレクトモードのコストCostDirectが小さければ(ステップS1806でYes)、インター予測制御部902は、インター予測モードをダイレクトモードに決定し、インター予測モードをダイレクトモードに設定する(ステップS1807)。一方、ダイレクトモードのコストCostDirectが小さくなければ、インター予測制御部902は、インター予測モードをスキップモードに設定し、インター予測モードにスキップモードを設定する(ステップS1808)。
 次に、図37におけるステップS1801の動きベクトル検出モードのコストCostInter算出の方法について図38を用いて詳細に説明する。図38は動きベクトル検出モードのコストCostInter算出の処理フローを示すフローチャートである。
 インター予測制御部902は、予測方向1の参照ピクチャインデックス1の示す参照ピクチャ1、および予測方向2の参照ピクチャインデックス2の示す参照ピクチャ2に対し、動き検出を行い、それぞれの参照ピクチャに対する動きベクトル1および動きベクトル2を生成する(ステップS1901)。ここで動き検出は、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックを参照ブロックとする。そして、符号化対象ブロック位置と、参照ブロック位置から、動きベクトルを求める。次に、インター予測制御部902は、求めた動きベクトル1を用いて、予測方向1の予測画像を生成し、そのコストCostInterUni1を、例えば、R-D最適化モデルの式1で算出する(ステップS1902)。
 インター予測制御部902は、動きベクトル2を用いて、予測方向2の予測画像を生成し、式1よりコストCostInterUni2を算出する(ステップS1903)。インター予測制御部902は、求めた動きベクトル1と動きベクトル2を用いて、2方向の予測画像を生成し、式1よりコストCostInterBiを算出する(ステップS1904)。ここで、2方向の予測画像は、例えば、動きベクトル1から求めた予測画像と、動きベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。次に、インター予測制御部902は、コストCostInterUni1、コストCostInterUni2、コストCostInterBiの値を比較し、コストCostInterBiが最小であるか否かを判定する(ステップS1905)。この判定の結果、コストCostInterBiが最小であれば(ステップS1905でYes)、インター予測制御部902は、動きベクトル検出モードの予測方向を2方向予測に決定し、コストCostInterBiを動きベクトル検出モードのコストCostInterに設定する(ステップS1906)。一方、コストCostInterBiが最小でなければ(ステップS1905でNo)、インター予測制御部902は、コストCostInterUni1とコストCostInterUni2を比較し、コストCostInterUni1の値が小さいか否かを判定する(ステップS1907)。この判定の結果、コストCostInterUni1の値が小さければ(ステップS1907でYes)、インター予測制御部902は、動きベクトル検出モードを予測方向1の1方向予測1に決定し、コストCostInterUni1を動きベクトル検出モードのコストCostInterに設定する(ステップS1908)。一方、コストCostInterUni1の値が小さくなければ(ステップS1907でNo)、インター予測制御部902は、動きベクトル検出モードを予測方向2の1方向予測2に決定し、コストCostInterUni2を動きベクトル検出モードのコストCostInterに設定する(ステップS1909)。
 なお、本実施の形態では、2方向の予測画像生成時に、画素毎の加算平均を行ったが、重みつき加算平均等を行っても構わない。
 次に、図37におけるステップS1802のダイレクトモードのコストCostDirect算出の方法について図39を用いて詳細に説明する。図39はダイレクトモードのコストCostDirect算出の処理フローを示すフローチャートである。
 インター予測制御部902は、予測方向1のダイレクトベクトル1および予測方向2のダイレクトベクトル2を算出する(ステップS2001)。ここで、ダイレクトベクトルは、例えば実施の形態1の図8のステップS501で説明した方法で算出する。インター予測制御部902は、求めたダイレクトベクトル1とダイレクトベクトル2を用いて、2方向の予測画像を生成し、式1よりコストCostDirectBiを算出する(ステップS2002)。ここで、2方向の予測画像は、例えば、ダイレクトベクトル1から求めた予測画像と、ダイレクトベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。次に、インター予測制御部902は、ダイレクトモード予測方向固定フラグがオフであるか否かを判定する(ステップS2003)。この判定の結果、ダイレクトモード予測方向固定フラグがオフであれば(ステップS2003でYes)、インター予測制御部902は、ダイレクトベクトル1を用いて、予測方向1の予測画像を生成し、そのコストCostDirectUni1を式1より算出する(ステップS2004)。インター予測制御部902は、求めたダイレクトベクトル2を用いて、予測方向2の予測画像を生成し、式1よりコストCostDirectUni2を算出する(ステップS2005)。次に、インター予測制御部902は、コストCostDirectUni1、コストCostDirectUni2、コストCostDirectBiの値を比較し、コストCostDirectBiが最小であるか否かを判定する(ステップS2006)。この判定の結果、コストCostDirectBiが最小であれば(ステップS2006でYes)、インター予測制御部902は、ダイレクトモードの予測方向を2方向予測に決定し、コストCostDirctBiをダイレクトモードのコストCostDirectに設定する(ステップS2007)。一方、コストCostDirectBiが最小でなければ(ステップS2006でNo)、インター予測制御部902は、コストCostDirectUni1とコストCostDirectUni2を比較し、コストCostDirectUni1の値が小さいか否かを判定する(ステップS2008)。この判定の結果、コストCostDirectUni1の値が小さければ(ステップS2008でYes)、インター予測制御部902は、ダイレクトモードを予測方向1の1方向予測1に決定し、コストCostDirectUni1をダイレクトモードのコストCostDirectに設定する(ステップS2009)。一方、コストCostDirectUni1の値が小さくなければ(ステップS2008でNo)、インター予測制御部902は、ダイレクトモードを予測方向2の1方向予測2に決定し、コストCostDirectUni2をダイレクトモードのコストCostDirectに設定する(ステップS2010)。また、ステップS2003の判定において、ダイレクト予測方向固定フラグがオンであるならば(ステップS2003でNo)、インター予測制御部902は、ダイレクトモードの予測方向を2方向予測に決定し、コストCostDirctBiをダイレクトモードのコストCostDirectに設定する(ステップS2007)。
 次に、図37におけるステップS1803のスキップモードのコストCostSkip算出の方法について図40を用いて詳細に説明する。図40はスキップモードのコストCostSkip算出の処理フローを示すフローチャートである。
 インター予測制御部902は、予測方向1のダイレクトベクトル1および予測方向2のダイレクトベクトル2を算出する(ステップS2101)。ここで、ダイレクトベクトルは、例えば実施の形態1の図8のステップS501で説明した方法で算出する。次に、インター予測制御部902は、ダイレクトベクトル1とダイレクトベクトル2を用いて、2方向の予測画像を生成し、式1よりスキップモードのコストCostSkipを算出する(ステップS2102)。ここで、2方向の予測画像は、例えば、ダイレクトベクトル1から求めた予測画像と、ダイレクトベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。
 このように、本実施の形態によれば、ダイレクトモードの予測方向を決定する際に、周辺ブロックの予測方向に関わらず、符号化対象ブロックに最適な予測方向を選択してビットストリームに付随させることで、ダイレクトモードの予測画像の質を向上でき、符号化効率を向上させることが可能になる。
 また、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合は、2方向予測と1方向予測のコストが比較的近くなる傾向があるため、ダイレクトモードの予測方向を、比較的ノイズの少ない予測画像を生成することができる2方向予測に固定する。これにより、ダイレクトモードの予測方向フラグを、符号化対象ブロック毎に常に付随させる必要がなくなり、余分な情報量を抑制することで符号化効率を向上させることが可能になる。
 (実施の形態10)
 図41は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像符号化装置1000は、ダイレクトモード予測方向決定部が生成したダイレクトモード予測方向固定フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随させる点において、実施の形態9と構成が異なる。なお、実施の形態9と同様の構成については、同じ符号を付し、説明を省略する。
 ダイレクトモード予測方向決定部1001は、実施の形態1と同様に参照ピクチャリスト1および2を用いて、符号化対象ブロックのダイレクトモードの予測方向を決定する。また、ダイレクトモード予測方向決定部1001は、設定したダイレクトモード予測方向固定フラグをインター予測制御部902に加えて、可変長符号化部1002にも出力する。
 可変長符号化部1002は、量子化処理された予測誤差データ、インター予測モード、インター予測方向フラグ、スキップフラグ、ピクチャタイプ情報、およびダイレクトモード予測方向固定フラグに対し、可変長符号化処理を行うことで、ビットストリームを生成する。
 図42は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 ダイレクトモード予測方向決定部1001は、符号化対象ブロックをダイレクトモードで符号化する場合の予測方向を決定し、決定したダイレクトモード予測方向固定フラグを、ピクチャヘッダ等に付随させるために可変長符号化部1002へ出力する(ステップS2201)。ここで、ダイレクトモードの予測方向の決定方法は、実施の形態9の図36のフローなどと同様である。インター予測制御部902は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、ダイレクトモード予測方向決定部1001によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS2202)。ここで、コスト算出方法は、式1などを利用する。次に、インター予測制御部902は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS2203)。この判定の結果、インター予測モードがスキップモードであれば(ステップS2203でYes)、インター予測制御部902は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部902は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部1002へ出力する(ステップS2204)。一方、この判定の結果、インター予測モードがスキップモードでなければ(ステップS2203でNo)、インター予測制御部902は、決定したインター予測モードがダイレクトモードかつ、ダイレクト予測方向固定フラグがオンであるか否かを判定する(ステップS2205)。この判定の結果、インター予測モードがダイレクトモードかつ、ダイレクト予測方向固定フラグがオンであれば(ステップS2205でYes)、インター予測制御部902は、ダイレクトモードの2方向予測画像を生成し、スキップフラグを0とする。そして、インター予測制御部902は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部1002へ出力する。また、動きベクトル検出モードかダイレクトモードかを示すインター予測モードを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部1002へ出力する(ステップS2206)。一方、この判定の結果、インター予測モードがダイレクトモードかつ、ダイレクト予測方向固定フラグがオンでなければ(ステップS2205でNo)、インター予測制御部902は、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部902は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部1002へ出力する。また、インター予測制御部902は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよび、インター予測方向が予測方向1の1方向予測、または、予測方向2の1方向予測、または、予測方向1と予測方向2を用いた2方向予測かどうかを示すインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部1002へ出力する(ステップS2207)。なお、インター予測モード決定方法等は、実施の形態9と同様であるため説明を省略する。
 このように、本実施の形態によれば、ダイレクトモード予測方向固定フラグを、ピクチャヘッダ等に明示的に付与するため、ダイレクトモードの予測方向を2方向予測に固定するかどうかを、ピクチャ毎に柔軟に切り替えることができるようになり、符号化効率を向上させることが可能になる。
 (実施の形態11)
 図43は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像符号化装置1100は、ダイレクトモード予測方向決定部が生成したダイレクトモード予測方向フラグと、ダイレクトモード予測方向固定フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随させる点において、実施の形態9と構成が異なる。なお、実施の形態9と同様の構成については、同じ符号を付し、説明を省略する。
 図44は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。
 ダイレクトモード予測方向決定部1101は、符号化対象ブロックをダイレクトモードで符号化する場合の予測方向を決定し、決定したダイレクトモード予測方向固定フラグおよび、ダイレクト予測方向フラグを、ピクチャヘッダ等に付随させるために可変長符号化部1102へ出力する(ステップS2301)。ここで、ダイレクトモードの予測方向の決定方法は、実施の形態9の図36のフローなどと同様である。インター予測制御部1103は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等から生成した予測動きベクトルを用いて予測画像を生成するダイレクトモードと、ダイレクトモード予測方向決定部1101によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS2302)。ここで、コスト算出方法は、式1などを利用する。インター予測制御部1103は、決定したインター予測モードがスキップモードであるか否かを判定する(ステップS2303)。この判定の結果、インター予測モードがスキップモードであれば(ステップS2303でYes)、インター予測制御部1103は、スキップモードの予測画像生成を行い、スキップフラグを1とする。そして、インター予測制御部1103は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部1102へ出力する(ステップS2304)。一方、この判定の結果、インター予測モードがスキップモードでなければ、インター予測制御部1103は、決定したインター予測モードがダイレクトモードかつ、ダイレクト予測方向固定フラグがオンであるか否かを判定する(ステップS2305)。この判定の結果、インター予測モードがダイレクトモードかつ、ダイレクト予測方向固定フラグがオンであれば(ステップS2305でYes)、インター予測制御部1103は、決定したダイレクトモードの予測方向に従って予測画像を生成し、スキップフラグを0とする。そして、インター予測制御部1103は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部1102へ出力する。また、インター予測制御部1103は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部1102へ出力する(ステップS2306)。一方、インター予測モードがダイレクトモードかつ、ダイレクト予測方向固定フラグがオンでなければ(ステップS2305でNo)、インター予測制御部1103は、決定したインター予測モードに従ってインター予測を行い、予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部1103は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部1102へ出力する。また、インター予測制御部1103は、動きベクトル検出モードかダイレクトモードかを示すインター予測モードおよびインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部1102へ出力する(ステップS2307)。なお、インター予測モード決定方法等は、実施の形態9と同様であるため説明を省略する。
 このように、本実施の形態によれば、ダイレクトモード予測方向固定フラグおよび、ダイレクト予測方向フラグを、ピクチャヘッダ等に明示的に付与するため、ダイレクトモードの予測方向を、ある予測方向に固定するかどうかを、ピクチャ毎に柔軟に切り替えることができるようになり、符号化効率を向上させることが可能になる。
 (実施の形態12)
 図45は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。
 動画像復号化装置1200は、図45に示すように、可変長復号化部501、逆量子化部502、逆直交変換部503、ブロックメモリ504、フレームメモリ505、イントラ予測部506、インター予測部507、インター予測制御部1202、参照ピクチャリスト管理部509、ダイレクトモード予測方向決定部1201を備えている。
 可変長復号化部501は、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報、インター予測モード、インター予測方向フラグ、スキップフラグ、可変長復号化処理を行った量子化係数を生成する。逆量子化部502は、可変長復号化処理を行った量子化係数に対し、逆量子化処理を行う。逆直交変換部503は、逆量子化処理を行った直交変換係数を、周波数領域から、画像領域への変換し、予測誤差画像データとする。ブロックメモリ504は、予測誤差画像データと、予測画像データが加算されて生成された画像列を、ブロック単位で保存する。フレームメモリ505は、画像列を、フレーム単位で保存する。イントラ予測部506は、ブロックメモリ504に保存されているブロック単位の画像列を用いて、イントラ予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測部507は、フレームメモリ505に保存されているフレーム単位の画像列を用いて、インター予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測制御部1202は、インター予測モード、インター予測方向、スキップフラグに応じて、インター予測における動きベクトルと予測画像データ生成方法を制御する。
 参照ピクチャリスト管理部509は、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する。Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照ピクチャリストを保持する。
 なお、本実施の形態では、参照ピクチャインデックスと表示順で参照ピクチャを管理したが、参照ピクチャインデックスと符号化順などで参照ピクチャを管理しても構わない。
 ダイレクトモード予測方向決定部1201は、参照ピクチャリスト管理部509によって作成された参照ピクチャリスト1および2を用いて、符号化対象ブロックのダイレクトモードの予測方向を決定し、ダイレクトモード予測方向固定フラグを設定する。なお、ダイレクトモード予測方向固定フラグの決定フローは実施の形態9の図36と同様であるため、説明を省略する。
 最後に、復号化した予測誤差画像データと、予測画像データとを加算することにより、復号画像列を生成する。
 図46は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部1202は、可変長復号化部501によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS2401)。この判定の結果、スキップフラグが1であれば(ステップS2401でYes)、インター予測制御部1202は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS2402)。ここで、ダイレクトベクトルは、例えば実施の形態1の図8のステップS501で説明した方法で算出する。一方、スキップフラグが1でない、つまり、スキップモードでなければ(ステップS2401でNo)、インター予測制御部1202は、可変長復号化部501によって復号されたインター予測モードがダイレクトモードであるか否かを判定する(ステップS2403)。この判定の結果、インター予測モードがダイレクトモードであれば(ステップS2403でYes)、インター予測制御部1202は、ダイレクトモード予測方向固定フラグがオンであるか否かを判定する(ステップS2404)。この判定の結果、ダイレクトモード予測方向固定フラグがオンであれば(ステップS2404でYes)、インター予測制御部1202は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS2405)。一方、ダイレクトモード予測方向固定フラグがオンでなければ(ステップS2404でNo)、インター予測制御部1202は、可変長復号化部501によって復号されたインター予測方向に応じてダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS2406)。一方、ステップS2403における判定の結果、インター予測モードがダイレクトモードでない、つまり、動きベクトル検出モードであれば(ステップS2403でNo)、可変長復号化部501によって復号されたインター予測方向および動きベクトルを用いて予測画像を生成する(ステップS2407)。なお、本実施の形態では、ステップS2405において、ダイレクトモード予測方向固定フラグがオンならば、2方向予測画像を生成するようにしたが、符号化方法に合わせて、例えば、1方向予測画像を生成するようにしても構わない。
 図47は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図47において、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。
 このように、本実施の形態によれば、ダイレクトモードの予測方向を決定する際に、周辺ブロックの予測方向に関わらず、符号化対象ブロックに最適な予測方向を選択してビットストリームに付随させることにより符号化効率を向上したビットストリームを適切に復号することが可能になる。
 また、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合は、ダイレクトモードの予測方向を2方向予測に固定し、ダイレクトモードの予測方向フラグをビットストリームに付随させないことで、余分な情報量を抑制して符号化効率を向上したビットストリームを適切に復号することが可能になる。
 (実施の形態13)
 図48は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像復号化装置1300は、ダイレクトモード予測方向決定部が生成したダイレクトモード予測方向固定フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随されたビットストリームを復号できる点において、実施の形態12と構成が異なる。なお、実施の形態12と同様の構成については、同じ符号を付し、説明を省略する。
 図49は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部1302は、可変長復号化部1301によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS2501)。この判定の結果し、スキップフラグが1であれば(ステップS2501でYes)、インター予測制御部1302は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS2502)。一方、スキップフラグが1でない、つまり、スキップモードでなければ(ステップS2501でNo)、インター予測制御部1302は、可変長復号化部1301によって復号されたインター予測モードがダイレクトモードであるか否かを判定する(ステップS2503)。この判定の結果、インター予測モードがダイレクトモードであれば(ステップS2503でYes)、インター予測制御部1302は、可変長復号化部1301によってビットストリームから復号されたダイレクトモード予測方向固定フラグがオンであるか否かを判定する(ステップS2504)。この判定の結果、ダイレクトモード予測方向固定フラグがオンであれば(ステップS2504でYes)、インター予測制御部1302は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS2505)。一方、ダイレクトモード予測方向固定フラグがオンでなければ(ステップS2504でNo)、インター予測制御部1302は、可変長復号化部1301によって復号されたインター予測方向フラグに応じてダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS2506)。一方、ステップS2503における判定の結果、インター予測モードがダイレクトモードでない、つまり、動きベクトル検出モードであれば(ステップS2503でNo)、インター予測制御部1302は、可変長復号化部1301によって復号されたインター予測方向フラグおよび動きベクトルを用いて予測画像を生成する(ステップS2507)。なお、本実施の形態では、ステップS2505において、ダイレクトモード予測方向固定フラグがオンならば、2方向予測画像を生成するようにしたが、符号化方法に合わせて、例えば、1方向予測画像を生成するようにしても構わない。
 図50Aおよび図50Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図50Aおよび図50Bにおいて、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。また、ピクチャヘッダ等に付加されるfixed_direct_predはダイレクトモード予測方向固定フラグを表す。
 このように、本実施の形態によれば、ダイレクトモード予測方向固定フラグを、ピクチャヘッダ等に明示的に付与することにより、ダイレクトモードの予測方向を2方向予測に固定するかどうかを、ピクチャ毎に柔軟に切り替えることで符号化効率を向上させたビットストリームを適切に復号することが可能になる。
 (実施の形態14)
 図51は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。本実施の形態における動画像復号化装置1400いては、ダイレクトモード予測方向決定部が生成したダイレクト予測方向フラグ、および、ダイレクトモード予測方向固定フラグを、ピクチャなどの処理単位毎にビットストリームに付与するヘッダ情報(例えば、H.264のピクチャパラメータセットやスライスヘッダなど)に付随されたビットストリームを復号できる点において、実施の形態12と構成が異なる。なお、実施の形態12と同様の構成については、同じ符号を付し、説明を省略する。
 図52は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部1402は、可変長復号化部1401によってビットストリームから復号されたスキップフラグが1であるか否かを判定する(ステップS2601)。この判定の結果、スキップフラグが1であれば(ステップS2601でYes)、インター予測制御部1402は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS2602)。一方、スキップフラグが1でない、つまり、スキップモードでなければ(ステップS2601でNo)、インター予測制御部1402は、可変長復号化部1401によって復号されたインター予測モードがダイレクトモードであるか否かを判定する(ステップS2603)。この判定の結果、インター予測モードがダイレクトモードであれば(ステップS2603でYes)、インター予測制御部1402は、可変長復号化部1401によってビットストリームから復号されたダイレクトモード予測方向固定フラグがオンであるか否かを判定する(ステップS2604)。この判定の結果、ダイレクトモード予測方向固定フラグがオンであれば(ステップS2604でYes)、インター予測制御部1402は、可変長復号化部1401によってビットストリームから復号されたダイレクトモード予測フラグに応じて、ダイレクトベクトル1およびダイレクトベクトル2を算出し、予測画像を生成する(ステップS2605)。一方、ダイレクトモード予測方向固定フラグがオンでなければ、インター予測制御部1402は、可変長復号化部1401によって復号されたインター予測方向フラグに応じてダイレクトベクトル1、ダイレクトベクトル2を算出し、予測画像を生成する(ステップS2606)。一方、ステップS2603における判定の結果、インター予測モードがダイレクトモードでない、つまり、動きベクトル検出モードであれば(ステップS2603でNo)、インター予測制御部1402は、可変長復号化部1401によって復号されたインター予測方向フラグおよび動きベクトルを用いて予測画像を生成する(ステップS2607)。
 図53Aおよび図53Bは、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図53Aおよび図53Bにおいて、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグを表す。また、ピクチャヘッダ等に付加されるfixed_direct_predはダイレクトモード予測方向固定フラグ、direct_pred_idcはダイレクト予測方向フラグを表す。
 このように、本実施の形態によれば、ダイレクトモード予測方向固定フラグおよび、ダイレクト予測方向フラグを、ピクチャヘッダ等に明示的に付与することにより、ダイレクトモードの予測方向を、ある予測方向に固定するかどうかを、ピクチャ毎に柔軟に切り替えることで符号化効率を向上させたビットストリームを適切に復号することが可能になる。
 (実施の形態15)
 本実施の形態では、実施の形態1と、実施の形態9を組み合わせる場合について説明する。実施の形態1では、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合には、スキップモードの予測方向を1方向予測に固定することにより、符号化効率を向上させる例を示した。
 また、実施の形態9では、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合は、ダイレクトモードの2方向予測と1方向予測のコストが比較的近くなる傾向があるため、ダイレクトモードの予測方向を、2方向予測か1方向予測のどちらか一方に固定することで、ダイレクトモードの予測方向フラグを、符号化対象ブロック毎に常に付随させる必要がなくなり、余分な情報量を抑制することで符号化効率を向上させる例を示した。
 実施の形態1と実施の形態9を組み合わせる場合、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合には、スキップモードの予測方向を1方向予測に固定することで、スキップモードの符号化効率を向上させることができる。一方、スキップモードにおいて1方向予測よりも2方向予測のコストが低かった一部の符号化対象ブロックは、ダイレクトモードの2方向予測として符号化されるようになる。そのため、ダイレクトモードの予測方向を、2方向予測に固定することにより、より多くのダイレクトモードの予測方向フラグを、符号化対象ブロック毎に常に付随させる必要がなくなり、余分な情報量を抑制することで符号化効率を向上させることができる。
 (実施の形態16)
 図54は、本発明に係る動画像符号化方法を用いた動画像符号化装置の一実施の形態の構成を示すブロック図である。
 動画像符号化装置1500は、図54に示すように、直交変換部101、量子化部102、逆量子化部103、逆直交変換部104、ブロックメモリ105、フレームメモリ106、イントラ予測部107、インター予測部108、インター予測制御部1502、ピクチャタイプ決定部110、参照ピクチャリスト管理部111、マージモード予測方向決定部1501、可変長符号化部113を備えている。
 直交変換部101は、後述するように生成された予測画像データと、入力画像列との予測誤差データに対し、画像領域から、周波数領域への変換を行う。量子化部102は、周波数領域に変換された予測誤差データに対し、量子化処理を行う。逆量子化部103は、量子化部102により、量子化処理された予測誤差データに対し、逆量子化処理を行う。逆直交変換部104は、逆量子化処理された予測誤差データに対し、周波数領域から、画像領域への変換を行う。ブロックメモリ105は、予測画像データと逆量子化処理された予測誤差データから求めた復号画像をブロック単位で保存し、フレームメモリ106は、復号画像をフレーム単位で保存する。ピクチャタイプ決定部110は、Iピクチャ、Bピクチャ、Pピクチャのいずれのピクチャタイプで入力画像列を符号化するかを決定し、ピクチャタイプ情報を生成する。イントラ予測部107は、ブロックメモリ105に保存されているブロック単位の復号画像を用いて、符号化対象ブロックのイントラ予測による予測画像データを生成する。インター予測部108は、フレームメモリ106に保存されているフレーム単位の復号画像を用いて、符号化対象ブロックのインター予測による予測画像データを生成する。
 参照ピクチャリスト管理部110は、インター予測で参照する符号化済みの参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する。Bピクチャでは、2つのピクチャを参照して符号化を行えるため、2つの参照ピクチャリストを保持する。なお、本実施の形態では、参照ピクチャインデックスと表示順で参照ピクチャを管理したが、参照ピクチャインデックスと符号化順などで参照ピクチャを管理しても構わない。
 マージモード予測方向決定部1501は、参照ピクチャリスト管理部110によって作成された参照ピクチャリスト1および2を用いて、後述する方法で、符号化対象ブロックのマージモードの予測方向を決定する。
 可変長符号化部113は、量子化処理された予測誤差データ、インター予測モード、インター予測方向フラグ、スキップフラグ、ピクチャタイプ情報に対し、可変長符号化処理を行うことで、ビットストリームを生成する。
 図55は、本発明に係る動画像符号化方法の処理フローの概要を示すフローチャートである。マージモード予測方向決定部1501は、符号化対象ブロックをマージモードで符号化する場合の予測方向を決定する(ステップS2701)。インター予測制御部1502は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードと、隣接ブロック等の予測動きベクトルを用いて予測画像を生成するマージモードと、マージモード予測方向決定部1501によって決められた予測方向に従って生成した予測動きベクトルを用いて予測画像を生成するスキップモードのコスト比較を行い、より効率のよいインター予測モードを決定する(ステップS2702)。コスト算出方法に関しては、後述する。次に、インター予測制御部1502は、ステップS2702で決定したインター予測モードがスキップモードであるか否かを判定する(ステップS2703)。この判定の結果が真であれば(ステップS2703でYes)、インター予測制御部1502は、スキップモードで予測画像の生成を行い、スキップフラグを1とする。そして、インター予測制御部1502は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS2704)。判定の結果が偽であれば(ステップS2703でNo)、インター予測制御部1502は、決定したインター予測モードがマージモードであるか否かを判定する(ステップS2705)。この判定の結果が真であれば(ステップS2705でYes)、インター予測制御部1502は、後述する方法で求めたマージモード予測方向固定フラグに応じて、マージモードの予測画像を生成し、スキップフラグを0とする。そして、インター予測制御部1502は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部1502は、動きベクトル検出モードかマージモードかを示すインター予測モードおよび、後述する方法で求めた、マージに用いた隣接ブロック情報を、符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS2706)。一方、ステップS2705における判定の結果が偽であれば(ステップS2705でNo)、インター予測制御部1502は、動きベクトル検出モードの予測画像データを生成し、スキップフラグを0とする。そして、インター予測制御部1502は、スキップフラグを符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する。また、インター予測制御部1502は、動きベクトル検出モードかマージモードかを示すインター予測モードおよび、インター予測方向が予測方向1の1方向予測、または、予測方向2の1方向予測、または、予測方向1と予測方向2を用いた2方向予測かどうかを示すインター予測方向フラグを、符号化対象ブロックのビットストリームに付随させるために可変長符号化部113へ出力する(ステップS2707)。
 図56は、マージモード予測方向決定部1501における、マージモード予測方向の決定フローを示すフローチャートである。一般的に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなる場合がある。例えば、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合は、参照ピクチャリスト2を用いた1方向予測を禁止することにより、インター予測方向フラグの符号量を削減することによって符号化効率を向上できる。この場合、1方向予測では予測方向1の動きベクトルのみが使用されるため、全体的に予測方向2の動きベクトルが少なくなり、予測方向2の予測動きベクトルの精度が低くなる可能性がある。そのため、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合には、マージモードの予測方向を1方向予測に固定することにより、符号化効率を向上させることができる。
 マージモード予測方向決定部1501は、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一であるか否かを、参照ピクチャリスト1および参照ピクチャリスト2を用いて判定する(ステップS2801)。例えば、参照ピクチャリスト1から各参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から各参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、すべて同じ値であれば、同一であると判定できる。この判定の結果、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一である場合(ステップS2801でYes)には、マージモード予測方向決定部1501は、マージモードの予測方向を1方向予測に決定し、マージモード予測方向固定フラグをオンに設定する(ステップS2802)。一方、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一でない場合(ステップS2801でNo)には、マージモード予測方向固定フラグをオフに設定する(ステップS2803)。
 なお、本実施の形態では、ステップS2801において表示順を用いて各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一かどうかを判定したが、符号化順などを用いて判定しても構わない。
 また、本実施の形態では、ステップS2801において、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、マージモードの予測方向を1方向予測に決定し、マージモード予測方向固定フラグをオンに設定するようにしたが、符号化対象ブロックのマージモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャの場合に、マージモードの予測方向を2方向予測に決定し、マージモード予測方向固定フラグをオンに設定するようにしてもよい。例えば、参照ピクチャリスト1から参照ピクチャインデックス1の示す参照ピクチャの表示順を求め、参照ピクチャリスト2から参照ピクチャインデックス2の示す参照ピクチャの表示順と比較し、同じ値であれば同一ピクチャと判定できる。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、マージモードの予測方向を1方向予測に固定することによって、符号化効率を向上させることができる。
 また、符号化対象ピクチャが前方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、マージモードの予測方向を1方向予測に固定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、または、符号化対象ブロックのマージモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、マージモードの予測方向を1方向予測に固定することによって、符号化効率を向上させることができる。
 また、符号化対象ピクチャが後方にある既に符号化済みの2つのピクチャを参照して2方向予測画像を生成するBピクチャの場合に、マージモードの予測方向を1方向予測に固定するようにしてもよい。このようなBピクチャでは、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一になる場合があり、また、符号化対象ブロックのスキップモードにおける予測方向1の参照ピクチャインデックス1が示す参照ピクチャと、予測方向2の参照ピクチャインデックス2が示す参照ピクチャが同一ピクチャになる場合がある。このような場合でも、2方向予測では予測方向1と予測方向2の動きベクトルが選択されるが、1方向予測では予測方向1の動きベクトルのみが使用される場合があり、全体的に予測方向2の動きベクトルが少なくなるため、マージモードの予測方向を1方向予測に固定することによって、符号化効率を向上させることができる。
 図57は、インター予測制御部1502における、インター予測モードの決定フローを示すフローチャートである。
 インター予測制御部1502は、動き検出結果による動きベクトルを用いて予測画像を生成する動きベクトル検出モードのコストCostInterを、後述する方法で算出する(ステップS2901)。次に、インター予測制御部1502は、隣接ブロック等の動きベクトルを用いて予測ベクトルを生成し、予測ベクトルを用いて予測画像を生成するマージモードのコストCostMergeを、後述する方法で算出する(ステップS2902)。インター予測制御部1502は、決定したスキップモード予測方向フラグに従って、予測画像を生成するスキップモードのコストCostSkipを、後述する方法で算出する(ステップS2903)。インター予測制御部1502は、動きベクトル検出モードのコストCostInter、マージモードのコストCostMerge、スキップモードのコストCostSkipを比較し、動きベクトル検出モードのコストCostInterが最小か否かを判定する(ステップS2904)。この判定の結果、動きベクトル検出モードのコストCostInterが最小であれば(ステップS2904でYes)、インター予測制御部1502は、インター予測モードを動きベクトル検出モードに決定し、インター予測モードを動きベクトル検出モードに設定する(ステップS2905)。一方、ステップS2904における判定の結果、動きベクトル検出モードのコストCostInterが最小でなければ(ステップS2904でNo)、インター予測制御部1502は、マージモードのコストCostMergeとスキップモードのコストCostSkipとの比較を行い、マージモードのコストCostMergeが小さいか否かを判定する(ステップS2906)。この判定の結果、マージモードのコストCostMergeが小さければ(ステップS2906でYes)、インター予測制御部1502は、インター予測モードをマージモードに決定し、インター予測モードをマージモードに設定する(ステップS2907)。一方、ステップS2906における判定が偽であれば(ステップS2906でNo)、インター予測制御部1502は、インター予測モードをスキップモードに設定し、インター予測モードにスキップモードを設定する(ステップS2908)。
 次に、図57におけるステップS2901の動きベクトル検出モードのコストCostInter算出の方法について、図58を用いて詳細に説明する。図58は、動きベクトル検出モードのコストCostInter算出の処理フローを示すフローチャートである。
 インター予測制御部1502は、予測方向1の参照ピクチャインデックス1の示す参照ピクチャ1、および予測方向2の参照ピクチャインデックス2の示す参照ピクチャ2に対し、動き検出を行い、それぞれの参照ピクチャに対する動きベクトル1および動きベクトル2を生成する(ステップS3001)。ここで動き検出は、符号化ピクチャ内の符号化対象ブロックと、参照ピクチャ内のブロックとの差分値を算出し、最も差分値の小さい参照ピクチャ内のブロックを参照ブロックとする。そして、符号化対象ブロック位置と、参照ブロック位置から、動きベクトルを求める。次に、インター予測制御部1502は、求めた動きベクトル1を用いて、予測方向1の予測画像を生成し、そのコストCostInterUni1を、例えば、R-D最適化モデルの上記式1で算出する(ステップS3002)。インター予測制御部1502は、求めた動きベクトル2を用いて、予測方向2の予測画像を生成し、上記式1よりコストCostInterUni2を算出する(ステップS3003)。インター予測制御部1502は、求めた動きベクトル1と動きベクトル2を用いて、2方向の予測画像を生成し、上記式1よりコストCostInterBiを算出する(ステップS3004)。ここで、2方向の予測画像は、例えば、動きベクトル1から求めた予測画像と、動きベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。次に、インター予測制御部1502は、コストCostInterUni1、コストCostInterUni2、コストCostInterBiの値を比較し、コストCostInterBiが最小か否かを判定する(ステップS3005)。この判定の結果、コストCostInterBiが最小であれば(ステップS3005でYes)、インター予測制御部1502は、動きベクトル検出モードの予測方向を2方向予測に決定し、コストCostInterBiを動きベクトル検出モードのコストCostInterに設定する(ステップS3006)。一方、ステップS3005の判定の結果、コストCostInterBiが最小でなければ(ステップS3005でNo)、インター予測制御部1502は、コストCostInterUni1とコストCostInterUni2を比較し、コストCostInterUni1が小さいか否かを判定する(ステップS3007)。この判定の結果、コストCostInterUni1の値が小さければ(ステップS3007でYes)、インター予測制御部1502は、動きベクトル検出モードを予測方向1の1方向予測1に決定し、コストCostInterUni1を動きベクトル検出モードのコストCostInterに設定する(ステップS3008)。一方、ステップS3007における判定が偽であれば(ステップS3007でNo)、インター予測制御部1502は、動きベクトル検出モードを予測方向2の1方向予測2に決定し、コストCostInterUni2を動きベクトル検出モードのコストCostInterに設定する(ステップS3009)。
 なお、本実施の形態では、2方向の予測画像生成時に、画素毎の加算平均を行ったが、重みつき加算平均等を行っても構わない。
 次に、図57におけるステップS2902のマージモードのコストCostMerge算出の方法について、図59を用いて詳細に説明する。図59は、マージモードのコストCostMerge算出の処理フローを示すフローチャートである。
 インター予測制御部1502は、符号化対象ブロックの左隣接ブロックA、上隣接ブロックB、右上隣接ブロックCを決定する(ステップS3101)。例えば、符号化対象ブロックの最も左上位置にある画素の左隣の画素が所属するブロックを左隣接ブロックA、最も左上位置にある画素の上隣の画素が所属するブロックを上隣接ブロックB、最も右上位置にある画素の右上隣の画素が所属するブロックを右上隣ブロックC、などとする。そして、以下の処理(ステップS3102~ステップS3109)を、各隣接ブロックN(=AorBorC)に対して、以降、繰り返して行う。インター予測制御部1502は、符号化対象ブロックの参照ピクチャインデックスを決定する(ステップS3102)。例えば、隣接ブロックNの参照ピクチャインデックスに設定する。次に、インター予測制御部1502は、マージモード予測方向固定フラグがオンであるか否かを判定する(ステップS3103)。この判定の結果、マージモード予測方向固定フラグがオンであれば(ステップS3103でYes)、インター予測制御部1502は、隣接ブロックNの予測方向1の動きベクトルを用いて、1方向予測画像を生成し、そのコストTmpCostMergeを上記式1より算出する(ステップS3104)。次に、インター予測制御部1502は、コストTmpCostMergeがコストCostMergeよりも小さいかどうかを判定する(ステップS3105)。この判定の結果、コストTmpCostMergeが小さければ、インター予測制御部1502は、コストTmpCostMergeをコストCostMergeにコピーし、また、最小コストを生成した隣接ブロックの情報MinNを更新する(ステップS3106)。一方、ステップS3103における判定の結果、マージモード予測方向固定フラグがオフであれば(ステップS3103でNo)、インター予測制御部1502は、隣接ブロックNの予測方向が2方向予測であるか否かを判定する(ステップS3107)。この判定の結果、2方向予測であれば(ステップS3107でYes)、インター予測制御部1502は、隣接ブロックNの予測方向1および予測方向2の動きベクトルを用いて、2方向予測画像を生成し、そのコストTmpCostMergeを上記式1より算出する(ステップS3108)。一方、ステップS3107における判定の結果、2方向予測でなければ(ステップS3107でNo)、インター予測制御部1502は、隣接ブロックNの予測方向1または予測方向2の動きベクトルを用いて、1方向予測画像を生成し、そのコストTmpCostMergeを上記式1より算出する(ステップS3109)。上記ステップS3102~ステップS3109までの処理を隣接ブロック毎に処理することによって、マージモードのコストMergeCostおよび、最小コストを生成したマージに用いた隣接ブロック情報MinNを算出する。
 なお、本実施の形態では、マージモードにおける符号化対象ブロックの参照ピクチャインデックスの値として、隣接ブロックの参照ピクチャインデックスを使用したが、隣接ブロック等の参照ピクチャインデックス値などから、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスを算出してもよい。例えば、図9において、各参照ピクチャインデックスの取り得る値が「0」か「1」かの場合、符号化対象ブロックの予測方向1の参照ピクチャインデックスRefIdxL0として、RefIdxL0_A,RefIdxL0_B,RefIdxL0_Cの中間値Median(RefIdxL0_A,RefIdxL0_B,RefIdxL0_C)から算出することが考えられる。ここで、中間値は、上記式2で導出される。
 このように符号化対象ブロックの参照ピクチャインデックスを、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスにすることにより、マージモードで用いるベクトルの予測精度を向上することで、符号化効率を向上できる。なお、本例では、中間値を用いて、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスを求める例を示したが、必ずしもこれに限らない。例えば、隣接ブロックの参照ピクチャインデックスの同一関係を調べて算出するようにしても構わない。また、隣接ブロックの参照ピクチャインデックスの値がすべて異なる場合は、各参照ピクチャデックスの示す参照ピクチャの中で、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを表す参照ピクチャインデックスを、符号化対象ブロックの参照ピクチャインデックスとするようにしても構わない。
 また、マージモードにおける符号化対象ブロックの参照ピクチャインデックスの値として、隣接ブロックで参照された参照ピクチャのうち、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを示す参照ピクチャインデックスを割り当てても良い。例えば、図9に示す例の場合、符号化対象ブロックの予測方向1の参照ピクチャインデックスRefIdxL0として、RefIdxL0_A,RefIdxL0_B,RefIdxL0_Cの最小値Min(RefIdxL0_A,RefIdxL0_B,RefIdxL0_C)から算出することが考えられる。ここで、最小値は、式5で導出される。
 一般に、符号化対象ピクチャと表示順の距離が近い参照ピクチャほど、小さい参照ピクチャインデックス値が割り当てられる可能性が高いため、最小値を求めることで、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを示す参照ピクチャインデックスを算出することができる。なお、隣接ブロックの参照ピクチャインデックスと参照ピクチャリストから、各参照ピクチャの表示順を求め、符号化対象ピクチャに最も距離が近い参照ピクチャを示す参照ピクチャインデックスを算出しても構わない。
 また、参照ピクチャインデックスを、隣接ブロックでより多く参照された参照ピクチャを示す参照ピクチャインデックスや、隣接ブロックで参照された参照ピクチャのうち、符号化対象ピクチャに表示順で最も距離が近い参照ピクチャを示す参照ピクチャインデックスを用いる場合は、マージモードで用いる動きベクトルを、決定した参照ピクチャインデックスの示す参照ピクチャまでの距離に合わせてスケーリングするようにしても構わない。
 ここで、上記のようなことから考えられるマージモードで用いる動きベクトルおよび参照ピクチャインデックスへ、隣接ブロック情報MinNであるマージインデックス(候補インデックス)を割り当てた例について説明する。図60は、マージモードで用いる動きベクトルおよび参照ピクチャインデックスへマージインデックスを割り当てた一例を示す図である。
 例えば、上記実施の形態1で説明した図9および図13に示すように隣接ブロックA、隣接ブロックB、隣接ブロックC、およびco-locatedブロックが、動きベクトルおよび参照ピクチャインデックスを有する場合を想定する。この場合、例えば図60に示すように、マージインデックスの値「0」に隣接ブロックAの有する動きベクトルおよび参照ピクチャインデックスである動きベクトルMvL0_A、参照ピクチャインデックスRefIdxL0_A、動きベクトルMvL1_A、参照ピクチャインデックスRefIdxL1_Aを割り当てている。また、マージインデックスの値「1」に隣接ブロックBの有する動きベクトルおよび参照ピクチャインデックスである動きベクトルMvL0_B、参照ピクチャインデックスRefIdxL0_Bを割り当てている。また、マージインデックスの値「2」に隣接ブロックCの有する動きベクトルおよび参照ピクチャインデックスである動きベクトルMvL0_C、参照ピクチャインデックスRefIdxL0_Cを割り当てている。また、マージインデックスの値「3」にco-locatedブロックの有する動きベクトルを参照距離に応じてスケーリングした動きベクトルscaleMvL0、隣接ブロックAの有する参照ピクチャインデックスである参照ピクチャインデックスRefIdxL0_A、同じく動きベクトルscaleMvL1、参照ピクチャインデックスRefIdxL1_Aを割り当てている。
 ここでは、動きベクトルscaleMvL0は、co-locatedブロックの予測方向1の参照ピクチャインデックスRfIdxL0_Colと符号化対象ブロックの参照ピクチャインデックスを用いてスケーリング処理を行い、符号化対象ブロックの参照ピクチャインデックス(上記例では隣接ブロックAの有する参照ピクチャインデックスRefIdxL0_A)の示す参照ピクチャに対するダイレクトベクトルを求めている。
 次に、図57におけるステップS2903のスキップモードのコストCostSkip算出の方法について、図61を用いて詳細に説明する。図61は、スキップモードのコストCostSkip算出の処理フローを示すフローチャートである。
 インター予測制御部1502は、予測方向1のダイレクトベクトル1および予測方向2のダイレクトベクトル2を算出する(ステップS3201)。ここで、ダイレクトベクトルは、例えば実施の形態1の図8のステップS501で説明した方法で算出する。次に、インター予測制御部1502は、ダイレクトベクトル1とダイレクトベクトル2を用いて、2方向の予測画像を生成し、上記式1よりスキップモードのコストCostSkipを算出する(ステップS3202)。ここで、2方向の予測画像は、例えば、ダイレクトベクトル1から求めた予測画像と、ダイレクトベクトル2から求めた予測画像の、画素毎に加算平均を行ったものを2方向予測画像とする。
 なお、本実施の形態では、マージモード予測方向固定フラグがオンの場合、予測方向1の予測画像を生成する例を用いて説明したが、実施の形態全体を通して、予測方向2の予測画像を生成するようにしても構わない。
 また、本実施の形態では、ダイレクトベクトルの算出方法として、MvL0_A、MvL0_B、MvL0_Cの中間値Median(MvL0_A、MvL0_B、MvL0_C)を算出する例について説明したが、この算出方法に限られない。例えば、複数の予測動きベクトル候補から、最もCostの小さい予測動きベクトルを、符号化に用いるダイレクトベクトルとして選択し、選択した予測動きベクトルを表す予測動きベクトルインデックスをビットストリームに付随するようにしても構わない。ここで、Costは、例えば、上記式1を用いて算出する。このように、複数の候補から、符号化に用いるダイレクトベクトルを選択することにより、よりCostの小さいダイレクトベクトルを導出することが可能となる。図11Aは、予測動きベクトル候補の例を示している。予測動きベクトルインデックスの値は、Median(MvL0_A,MvL0_B,MvL0_C)に対応する値を「0」とし、動きベクトルMvL0_Aに対応する値を「1」とし、MvL0_Bに対応する値を「2」とし、MvL0_Cに対応する値を「3」としている。予測動きベクトルインデックスの割り当て方は、この例に限らない。図11Bは、最もCostの小さい予測動きベクトル候補に対応する予測動きベクトルインデックスを可変長符号化する際に用いる、符号表の例を示している。予測動きベクトルインデックスの値の小さい順に、符号長の短い符号を割り当てている。従って、予測精度が良い可能性の高い予測動きベクトル候補に対応する、予測動きベクトルインデックスの値を小さくすることにより、符号化効率を向上させることができる。
 また、本実施の形態では、符号化対象ブロックの参照ピクチャインデックスおよび、マージに用いる隣接ブロック算出にあたり、図9の隣接ブロックA、隣接ブロックBおよび隣接ブロックCの参照ピクチャインデックスおよび動きベクトルを利用する例を示したが、必ずしもこれに限らず、例えば、図12に示すように、隣接ブロックDや隣接ブロックEを利用するようにしても構わない。
 このように、本実施の形態によれば、マージモードの予測方向を決定する際に、周辺ブロックの予測方向に関わらず、符号化対象ブロックに最適な予測方向を選択してビットストリームに付随させることで、マージモードの予測画像の質を向上でき、符号化効率を向上させることが可能になる。特に、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、隣接ブロックの予測方向に関わらず、1方向予測を選択することにより予測画像の質を向上し、符号化効率を向上させることができる。
 (実施の形態17)
 図62は、本発明に係る動画像復号化方法を用いた動画像復号化装置の一実施の形態の構成を示すブロック図である。
 動画像復号化装置1600は、図62に示すように、可変長復号化部501、逆量子化部502、逆直交変換部503、ブロックメモリ504、フレームメモリ505、イントラ予測部506、インター予測部507、インター予測制御部1602、参照ピクチャリスト管理部509、マージモード予測方向決定部1601を備えている。
 可変長復号化部501は、入力されたビットストリームに対し、可変長復号化処理を行い、ピクチャタイプ情報、インター予測モード、インター予測方向フラグ、スキップフラグ、可変長復号化処理を行った量子化係数を生成する。逆量子化部502は、可変長復号化処理を行った量子化係数に対し、逆量子化処理を行う。逆直交変換部503は、逆量子化処理を行った直交変換係数を、周波数領域から、画像領域への変換し、予測誤差画像データとする。ブロックメモリ504は、予測誤差画像データと、予測画像データが加算されて生成された画像列を、ブロック単位で保存する。フレームメモリ505は、予測画像データが加算されて生成された画像列を、フレーム単位で保存する。イントラ予測部506は、ブロックメモリ504に保存されているブロック単位の画像列を用いて、イントラ予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測部507は、フレームメモリ505に保存されているフレーム単位の画像列を用いて、インター予測することにより、復号化対象ブロックの予測画像データを生成する。インター予測制御部1602は、インター予測モード、インター予測方向、スキップフラグに応じて、インター予測における動きベクトルと予測画像データ生成方法を制御する。
 参照ピクチャリスト管理部509は、インター予測で参照する復号化済みの参照ピクチャに参照ピクチャインデックスを割り当て、表示順等とともに参照ピクチャリストを作成する。Bピクチャでは、2つのピクチャを参照して復号化されているため、2つの参照ピクチャリストを保持する。
 なお、本実施の形態では、参照ピクチャインデックスと表示順で参照ピクチャを管理したが、参照ピクチャインデックスと復号化順などで参照ピクチャを管理しても構わない。
 マージモード予測方向決定部1601は、参照ピクチャリスト管理部509によって作成された参照ピクチャリスト1および参照ピクチャリスト2を用いて、復号化対象ブロックのマージモードの予測方向を決定し、マージモード予測方向固定フラグを設定する。なお、マージモード予測方向固定フラグの決定フローは実施の形態16の図56と同様であるため、説明を省略する。
 最後に、復号化した予測誤差画像データと、予測画像データとを加算することにより、復号画像列を生成する。
 図63は、本発明に係る動画像復号化方法の処理フローの概要を示すフローチャートである。
 インター予測制御部1602は、ビットストリームから復号したスキップフラグが1であるか否かを判定する(ステップS3301)。この判定の結果、スキップフラグが1であれば(ステップS3301でYes)、インター予測制御部1602は、ダイレクトベクトル1およびダイレクトベクトル2を算出し、2方向予測画像を生成する(ステップS3302)。ここで、ダイレクトベクトルは、例えば実施の形態1の図8のステップS501で説明した方法で算出する。一方、判定の結果、スキップフラグが1でなければ(ステップS3301でNo)、つまり、スキップモードでなければ、インター予測制御部1602は、復号した予測モードがマージモードであるか否かを判定する(ステップS3303)。この判定の結果、予測モードがマージモードであれば(ステップS3303でYes)、インター予測制御部1602は、マージモード予測方向固定フラグがオンであるか否かを判定する(ステップS3304)。この判定の結果、マージモード予測方向固定フラグがオンであれば、インター予測制御部1602は、マージに用いた隣接ブロック情報を復号し、隣接ブロックの予測方向1の動きベクトルを用いて1方向予測画像を生成する(ステップS3305)。一方、判定の結果、マージモード予測方向固定フラグがオフであれば(ステップS3304でNo)、マージに用いた隣接ブロック情報を復号し、隣接ブロックの予測方向に応じて、予測方向1または予測方向2の動きベクトルを少なくとも一つ用いて予測画像を生成する(ステップS3306)。また、ステップS3303における判定の結果、予測モードがマージモードでなければ(ステップS3303でNo)、つまり、動きベクトル検出モードであれば、復号したインター予測方向および動きベクトルを用いて予測画像を生成する(ステップS3307)。
 なお、本実施の形態では、ステップS3305において、マージモード予測方向固定フラグがオンならば、予測方向1の1方向予測画像を生成するようにしたが、符号化方法に合わせて、例えば、予測方向2の1方向予測画像を生成するようにしても構わない。
 図64は、本発明に係る動画像復号化方法におけるビットストリームのシンタックスの一例を示す図である。図64において、skip_flagはスキップフラグ、pred_modeはインター予測モード、inter_pred_idcはインター予測方向フラグ、merge_idxはマージに用いた隣接ブロック情報を示すフラグである。ここで、図60に示した例では、merge_idxは「0」~「3」の値をとることになる。なお、このmerge_idxの値は一例であって、例えば「0」~「4」の値等であっても構わない。
 このように、本実施の形態によれば、各参照ピクチャに対する参照ピクチャインデックスの割当が、参照ピクチャリスト1と参照ピクチャリスト2で同一の場合に、隣接ブロックの予測方向に関わらず、マージモードにおいて1方向予測を選択することにより符号化効率を向上したビットストリームを適切に復号することが可能になる。
 (実施の形態18)
 上記各実施の形態で示した動画像符号化方法(画像符号化方法)または動画像復号化方法(画像復号方法)の構成を実現するためのプログラムを記憶メディアに記録することにより、上記各実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
 さらにここで、上記各実施の形態で示した動画像符号化方法(画像符号化方法)や動画像復号化方法(画像復号方法)の応用例とそれを用いたシステムを説明する。当該システムは、画像符号化方法を用いた画像符号化装置、及び画像復号方法を用いた画像復号装置からなる画像符号化復号装置を有することを特徴とする。システムにおける他の構成について、場合に応じて適切に変更することができる。
 図65は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106、ex107、ex108、ex109、ex110が設置されている。
 このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex106からex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
 しかし、コンテンツ供給システムex100は図65のような構成に限定されず、いずれかの要素を組合せて接続するようにしてもよい。また、固定無線局である基地局ex106からex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
 カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(登録商標:Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W-CDMA(Wideband-Code Division Multiple Access)方式、若しくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
 コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記各実施の形態で説明したように符号化処理を行い(即ち、本発明の画像符号化装置として機能する)、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号化処理して再生する(即ち、本発明の画像復号装置として機能する)。
 なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号化処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像および/または動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
 また、これら符号化・復号化処理は、一般的にコンピュータex111や各機器が有するLSIex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、動画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD-ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化・復号化処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
 また、ストリーミングサーバex103は複数のサーバや複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
 以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号化し、再生することができ、特別な権利や設備を有さないユーザでも個人放送を実現できる。
 なお、コンテンツ供給システムex100の例に限らず、図66に示すように、デジタル放送用システムex200にも、上記各実施の形態の少なくとも動画像符号化装置(画像符号化装置)または動画像復号化装置(画像復号装置)のいずれかを組み込むことができる。具体的には、放送局ex201では映像データに音楽データなどが多重化された多重化データが電波を介して通信または衛星ex202に伝送される。この映像データは上記各実施の形態で説明した動画像符号化方法により符号化されたデータである(即ち、本発明の画像符号化装置によって符号化されたデータである)。これを受けた放送衛星ex202は、放送用の電波を発信し、この電波を衛星放送の受信が可能な家庭のアンテナex204が受信する。受信した多重化データを、テレビ(受信機)ex300またはセットトップボックス(STB)ex217等の装置が復号化して再生する(即ち、本発明の画像復号装置として機能する)。
 また、DVD、BD等の記録メディアex215に記録した多重化データを読み取り復号化する、または記録メディアex215に映像信号を符号化し、さらに場合によっては音楽信号と多重化して書き込むリーダ/レコーダex218にも上記各実施の形態で示した動画像復号化装置または動画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示され、多重化データが記録された記録メディアex215により他の装置やシステムにおいて映像信号を再生することができる。また、ケーブルテレビ用のケーブルex203または衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に動画像復号化装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に動画像復号化装置を組み込んでもよい。
 図67は、上記各実施の形態で説明した動画像復号化方法および動画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204またはケーブルex203等を介して映像データに音声データが多重化された多重化データを取得、または出力するチューナex301と、受信した多重化データを復調する、または外部に送信する多重化データに変調する変調/復調部ex302と、復調した多重化データを映像データと、音声データとに分離する、または信号処理部ex306で符号化された映像データ、音声データを多重化する多重/分離部ex303を備える。
 また、テレビex300は、音声データ、映像データそれぞれを復号化する、またはそれぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305(本発明の画像符号化装置または画像復号装置として機能する)を有する信号処理部ex306と、復号化した音声信号を出力するスピーカex307、復号化した映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインタフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インタフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
 まず、テレビex300がアンテナex204等により外部から取得した多重化データを復号化し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した多重化データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号化し、分離した映像データを映像信号処理部ex305で上記各実施の形態で説明した復号化方法を用いて復号化する。復号化した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から多重化データを読み出してもよい。次に、テレビex300が音声信号や映像信号を符号化し、外部に送信または記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記各実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318、ex319、ex320、ex321は図示しているように複数備えていてもよいし、1つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302や多重/分離部ex303の間等でもシステムのオーバフロー、アンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
 また、テレビex300は、放送等や記録メディア等から音声データ、映像データを取得する以外に、マイクやカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は上記の符号化処理、多重化、および外部出力ができる構成として説明したが、これらの処理を行うことはできず、上記受信、復号化処理、外部出力のみが可能な構成であってもよい。
 また、リーダ/レコーダex218で記録メディアから多重化データを読み出す、または書き込む場合には、上記復号化処理または符号化処理はテレビex300、リーダ/レコーダex218のいずれで行ってもよいし、テレビex300とリーダ/レコーダex218が互いに分担して行ってもよい。
 一例として、光ディスクからデータの読み込みまたは書き込みをする場合の情報再生/記録部ex400の構成を図68に示す。情報再生/記録部ex400は、以下に説明する要素ex401、ex402、ex403、ex404、ex405、ex406、ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報および記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出しや書き込みの処理はシステム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成・追加を行うと共に、変調記録部ex402、再生復調部ex403、サーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
 以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
 図69に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録や再生を行う装置において情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233より内周または外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データまたはそれらのデータを多重化した多重化データの読み書きを行う。
 以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所にさまざまな異なる波長の色の光を用いて情報を記録したり、さまざまな角度から異なる情報の層を記録したりなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
 また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図67に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111や携帯電話ex114等でも考えられる。
 図70Aは、上記実施の形態で説明した動画像復号化方法および動画像符号化方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex350、映像、静止画を撮ることが可能なカメラ部ex365、カメラ部ex365で撮像した映像、アンテナex350で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex358を備える。携帯電話ex114は、さらに、操作キー部ex366を有する本体部、音声を出力するためのスピーカ等である音声出力部ex357、音声を入力するためのマイク等である音声入力部ex356、撮影した映像、静止画、録音した音声、または受信した映像、静止画、メール等の符号化されたデータもしくは復号化されたデータを保存するメモリ部ex367、又は同様にデータを保存する記録メディアとのインタフェース部であるスロット部ex364を備える。
 さらに、携帯電話ex114の構成例について、図70Bを用いて説明する。携帯電話ex114は、表示部ex358及び操作キー部ex366を備えた本体部の各部を統括的に制御する主制御部ex360に対して、電源回路部ex361、操作入力制御部ex362、映像信号処理部ex355、カメラインタフェース部ex363、LCD(Liquid Crystal Display)制御部ex359、変調/復調部ex352、多重/分離部ex353、音声信号処理部ex354、スロット部ex364、メモリ部ex367がバスex370を介して互いに接続されている。
 電源回路部ex361は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話ex114を動作可能な状態に起動する。
 携帯電話ex114は、CPU、ROM、RAM等を有する主制御部ex360の制御に基づいて、音声通話モード時に音声入力部ex356で収音した音声信号を音声信号処理部ex354でデジタル音声信号に変換し、これを変調/復調部ex352でスペクトラム拡散処理し、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex350を介して受信した受信データを増幅して周波数変換処理およびアナログデジタル変換処理を施し、変調/復調部ex352でスペクトラム逆拡散処理し、音声信号処理部ex354でアナログ音声信号に変換した後、これを音声出力部ex357から出力する。
 さらにデータ通信モード時に電子メールを送信する場合、本体部の操作キー部ex366等の操作によって入力された電子メールのテキストデータは操作入力制御部ex362を介して主制御部ex360に送出される。主制御部ex360は、テキストデータを変調/復調部ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex350を介して基地局ex110へ送信する。電子メールを受信する場合は、受信したデータに対してこのほぼ逆の処理が行われ、表示部ex358に出力される。
 データ通信モード時に映像、静止画、または映像と音声を送信する場合、映像信号処理部ex355は、カメラ部ex365から供給された映像信号を上記各実施の形態で示した動画像符号化方法によって圧縮符号化し(即ち、本発明の画像符号化装置として機能する)、符号化された映像データを多重/分離部ex353に送出する。また、音声信号処理部ex354は、映像、静止画等をカメラ部ex365で撮像中に音声入力部ex356で収音した音声信号を符号化し、符号化された音声データを多重/分離部ex353に送出する。
 多重/分離部ex353は、映像信号処理部ex355から供給された符号化された映像データと音声信号処理部ex354から供給された符号化された音声データを所定の方式で多重化し、その結果得られる多重化データを変調/復調部(変調/復調回路部)ex352でスペクトラム拡散処理をし、送信/受信部ex351でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex350を介して送信する。
 データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、または映像およびもしくは音声が添付された電子メールを受信する場合、アンテナex350を介して受信された多重化データを復号化するために、多重/分離部ex353は、多重化データを分離することにより映像データのビットストリームと音声データのビットストリームとに分け、同期バスex370を介して符号化された映像データを映像信号処理部ex355に供給するとともに、符号化された音声データを音声信号処理部ex354に供給する。映像信号処理部ex355は、上記各実施の形態で示した動画像符号化方法に対応した動画像復号化方法によって復号化することにより映像信号を復号し(即ち、本発明の画像復号装置として機能する)、LCD制御部ex359を介して表示部ex358から、例えばホームページにリンクされた動画像ファイルに含まれる映像、静止画が表示される。また音声信号処理部ex354は、音声信号を復号し、音声出力部ex357から音声が出力される。
 また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器・復号化器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号化器のみの受信端末という3通りの実装形式が考えられる。さらに、デジタル放送用システムex200において、映像データに音楽データなどが多重化された多重化データを受信、送信するとして説明したが、音声データ以外に映像に関連する文字データなどが多重化されたデータであってもよいし、多重化データではなく映像データ自体であってもよい。
 このように、上記各実施の形態で示した動画像符号化方法あるいは動画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記各実施の形態で説明した効果を得ることができる。
 また、本発明はかかる上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。
 (実施の形態19)
 上記各実施の形態で示した動画像符号化方法または装置と、MPEG-2、MPEG4-AVC、VC-1など異なる規格に準拠した動画像符号化方法または装置とを、必要に応じて適宜切替えることにより、映像データを生成することも可能である。
 ここで、それぞれ異なる規格に準拠する複数の映像データを生成した場合、復号する際に、それぞれの規格に対応した復号方法を選択する必要がある。しかしながら、復号する映像データが、どの規格に準拠するものであるか識別できないため、適切な復号方法を選択することができないという課題を生じる。
 この課題を解決するために、映像データに音声データなどを多重化した多重化データは、映像データがどの規格に準拠するものであるかを示す識別情報を含む構成とする。上記各実施の形態で示す動画像符号化方法または装置によって生成された映像データを含む多重化データの具体的な構成を以下説明する。多重化データは、MPEG-2トランスポートストリーム形式のデジタルストリームである。
 図71は、多重化データの構成を示す図である。図71に示すように多重化データは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム(PG)、インタラクティブグラフィックスストリームのうち、1つ以上を多重化することで得られる。ビデオストリームは映画の主映像および副映像を、オーディオストリーム(IG)は映画の主音声部分とその主音声とミキシングする副音声を、プレゼンテーショングラフィックスストリームは、映画の字幕をそれぞれ示している。ここで主映像とは画面に表示される通常の映像を示し、副映像とは主映像の中に小さな画面で表示する映像のことである。また、インタラクティブグラフィックスストリームは、画面上にGUI部品を配置することにより作成される対話画面を示している。ビデオストリームは、上記各実施の形態で示した動画像符号化方法または装置、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠した動画像符号化方法または装置によって符号化されている。オーディオストリームは、ドルビーAC-3、Dolby Digital Plus、MLP、DTS、DTS-HD、または、リニアPCMのなどの方式で符号化されている。
 多重化データに含まれる各ストリームはPIDによって識別される。例えば、映画の映像に利用するビデオストリームには0x1011が、オーディオストリームには0x1100から0x111Fまでが、プレゼンテーショングラフィックスには0x1200から0x121Fまでが、インタラクティブグラフィックスストリームには0x1400から0x141Fまでが、映画の副映像に利用するビデオストリームには0x1B00から0x1B1Fまで、主音声とミキシングする副音声に利用するオーディオストリームには0x1A00から0x1A1Fが、それぞれ割り当てられている。
 図72は、多重化データがどのように多重化されるかを模式的に示す図である。まず、複数のビデオフレームからなるビデオストリームex235、複数のオーディオフレームからなるオーディオストリームex238を、それぞれPESパケット列ex236およびex239に変換し、TSパケットex237およびex240に変換する。同じくプレゼンテーショングラフィックスストリームex241およびインタラクティブグラフィックスex244のデータをそれぞれPESパケット列ex242およびex245に変換し、さらにTSパケットex243およびex246に変換する。多重化データex247はこれらのTSパケットを1本のストリームに多重化することで構成される。
 図73は、PESパケット列に、ビデオストリームがどのように格納されるかをさらに詳しく示している。図73における第1段目はビデオストリームのビデオフレーム列を示す。第2段目は、PESパケット列を示す。図73の矢印yy1,yy2, yy3, yy4に示すように、ビデオストリームにおける複数のVideo Presentation UnitであるIピクチャ、Bピクチャ、Pピクチャは、ピクチャ毎に分割され、PESパケットのペイロードに格納される。各PESパケットはPESヘッダを持ち、PESヘッダには、ピクチャの表示時刻であるPTS(Presentation Time-Stamp)やピクチャの復号時刻であるDTS(Decoding Time-Stamp)が格納される。
 図74は、多重化データに最終的に書き込まれるTSパケットの形式を示している。TSパケットは、ストリームを識別するPIDなどの情報を持つ4ByteのTSヘッダとデータを格納する184ByteのTSペイロードから構成される188Byte固定長のパケットであり、上記PESパケットは分割されTSペイロードに格納される。BD-ROMの場合、TSパケットには、4ByteのTP_Extra_Headerが付与され、192Byteのソースパケットを構成し、多重化データに書き込まれる。TP_Extra_HeaderにはATS(Arrival_Time_Stamp)などの情報が記載される。ATSは当該TSパケットのデコーダのPIDフィルタへの転送開始時刻を示す。多重化データには図74下段に示すようにソースパケットが並ぶこととなり、多重化データの先頭からインクリメントする番号はSPN(ソースパケットナンバー)と呼ばれる。
 また、多重化データに含まれるTSパケットには、映像・音声・字幕などの各ストリーム以外にもPAT(Program Association Table)、PMT(Program Map Table)、PCR(Program Clock Reference)などがある。PATは多重化データ中に利用されるPMTのPIDが何であるかを示し、PAT自身のPIDは0で登録される。PMTは、多重化データ中に含まれる映像・音声・字幕などの各ストリームのPIDと各PIDに対応するストリームの属性情報を持ち、また多重化データに関する各種ディスクリプタを持つ。ディスクリプタには多重化データのコピーを許可・不許可を指示するコピーコントロール情報などがある。PCRは、ATSの時間軸であるATC(Arrival Time Clock)とPTS・DTSの時間軸であるSTC(System Time Clock)の同期を取るために、そのPCRパケットがデコーダに転送されるATSに対応するSTC時間の情報を持つ。
 図75はPMTのデータ構造を詳しく説明する図である。PMTの先頭には、そのPMTに含まれるデータの長さなどを記したPMTヘッダが配置される。その後ろには、多重化データに関するディスクリプタが複数配置される。上記コピーコントロール情報などが、ディスクリプタとして記載される。ディスクリプタの後には、多重化データに含まれる各ストリームに関するストリーム情報が複数配置される。ストリーム情報は、ストリームの圧縮コーデックなどを識別するためストリームタイプ、ストリームのPID、ストリームの属性情報(フレームレート、アスペクト比など)が記載されたストリームディスクリプタから構成される。ストリームディスクリプタは多重化データに存在するストリームの数だけ存在する。
 記録媒体などに記録する場合には、上記多重化データは、多重化データ情報ファイルと共に記録される。
 多重化データ情報ファイルは、図76に示すように多重化データの管理情報であり、多重化データと1対1に対応し、多重化データ情報、ストリーム属性情報とエントリマップから構成される。
 多重化データ情報は図76に示すようにシステムレート、再生開始時刻、再生終了時刻から構成されている。システムレートは多重化データの、後述するシステムターゲットデコーダのPIDフィルタへの最大転送レートを示す。多重化データ中に含まれるATSの間隔はシステムレート以下になるように設定されている。再生開始時刻は多重化データの先頭のビデオフレームのPTSであり、再生終了時刻は多重化データの終端のビデオフレームのPTSに1フレーム分の再生間隔を足したものが設定される。
 ストリーム属性情報は図77に示すように、多重化データに含まれる各ストリームについての属性情報が、PID毎に登録される。属性情報はビデオストリーム、オーディオストリーム、プレゼンテーショングラフィックスストリーム、インタラクティブグラフィックスストリーム毎に異なる情報を持つ。ビデオストリーム属性情報は、そのビデオストリームがどのような圧縮コーデックで圧縮されたか、ビデオストリームを構成する個々のピクチャデータの解像度がどれだけであるか、アスペクト比はどれだけであるか、フレームレートはどれだけであるかなどの情報を持つ。オーディオストリーム属性情報は、そのオーディオストリームがどのような圧縮コーデックで圧縮されたか、そのオーディオストリームに含まれるチャンネル数は何であるか、何の言語に対応するか、サンプリング周波数がどれだけであるかなどの情報を持つ。これらの情報は、プレーヤが再生する前のデコーダの初期化などに利用される。
 本実施の形態においては、上記多重化データのうち、PMTに含まれるストリームタイプを利用する。また、記録媒体に多重化データが記録されている場合には、多重化データ情報に含まれる、ビデオストリーム属性情報を利用する。具体的には、上記各実施の形態で示した動画像符号化方法または装置において、PMTに含まれるストリームタイプ、または、ビデオストリーム属性情報に対し、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示す固有の情報を設定するステップまたは手段を設ける。この構成により、上記各実施の形態で示した動画像符号化方法または装置によって生成した映像データと、他の規格に準拠する映像データとを識別することが可能になる。
 また、本実施の形態における動画像復号化方法のステップを図78に示す。ステップexS100において、多重化データからPMTに含まれるストリームタイプ、または、多重化データ情報に含まれるビデオストリーム属性情報を取得する。次に、ステップexS101において、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成された多重化データであることを示しているか否かを判断する。そして、ストリームタイプ、または、ビデオストリーム属性情報が上記各実施の形態で示した動画像符号化方法または装置によって生成されたものであると判断された場合には、ステップexS102において、上記各実施の形態で示した動画像復号方法により復号を行う。また、ストリームタイプ、または、ビデオストリーム属性情報が、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠するものであることを示している場合には、ステップexS103において、従来の規格に準拠した動画像復号方法により復号を行う。
 このように、ストリームタイプ、または、ビデオストリーム属性情報に新たな固有値を設定することにより、復号する際に、上記各実施の形態で示した動画像復号化方法または装置で復号可能であるかを判断することができる。従って、異なる規格に準拠する多重化データが入力された場合であっても、適切な復号化方法または装置を選択することができるため、エラーを生じることなく復号することが可能となる。また、本実施の形態で示した動画像符号化方法または装置、または、動画像復号方法または装置を、上述したいずれの機器・システムに用いることも可能である。
 (実施の形態20)
 上記各実施の形態で示した動画像符号化方法および装置、動画像復号化方法および装置は、典型的には集積回路であるLSIで実現される。一例として、図79に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501、ex502、ex503、ex504、ex505、ex506、ex507、ex508、ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
 例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117やカメラex113等からAV信号を入力する。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは処理量や処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られ、信号処理部ex507において音声信号の符号化および/または映像信号の符号化が行われる。ここで映像信号の符号化処理は上記各実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力された多重化データは、基地局ex107に向けて送信されたり、または記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
 なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も1つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
 また、上記では、制御部ex501が、CPUex502、メモリコントローラex503、ストリームコントローラex504、駆動周波数制御部ex512等を有するとしているが、制御部ex501の構成は、この構成に限らない。例えば、信号処理部ex507がさらにCPUを備える構成であってもよい。信号処理部ex507の内部にもCPUを設けることにより、処理速度をより向上させることが可能になる。また、他の例として、CPUex502が信号処理部ex507、または信号処理部ex507の一部である例えば音声信号処理部を備える構成であってもよい。このような場合には、制御部ex501は、信号処理部ex507、またはその一部を有するCPUex502を備える構成となる。
 なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
 (実施の形態21)
 上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データを復号する場合、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データを復号する場合に比べ、処理量が増加することが考えられる。そのため、LSIex500において、従来の規格に準拠する映像データを復号する際のCPUex502の駆動周波数よりも高い駆動周波数に設定する必要がある。しかし、駆動周波数を高くすると、消費電力が高くなるという課題が生じる。
 この課題を解決するために、テレビex300、LSIex500などの動画像復号化装置は、映像データがどの規格に準拠するものであるかを識別し、規格に応じて駆動周波数を切替える構成とする。図80は、本実施の形態における構成ex800を示している。駆動周波数切替え部ex803は、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合には、駆動周波数を高く設定する。そして、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801に対し、映像データを復号するよう指示する。一方、映像データが、従来の規格に準拠する映像データである場合には、映像データが、上記各実施の形態で示した動画像符号化方法または装置によって生成されたものである場合に比べ、駆動周波数を低く設定する。そして、従来の規格に準拠する復号処理部ex802に対し、映像データを復号するよう指示する。
 より具体的には、駆動周波数切替え部ex803は、図79のCPUex502と駆動周波数制御部ex512から構成される。また、上記各実施の形態で示した動画像復号化方法を実行する復号処理部ex801、および、従来の規格に準拠する復号処理部ex802は、図79の信号処理部ex507に該当する。CPUex502は、映像データがどの規格に準拠するものであるかを識別する。そして、CPUex502からの信号に基づいて、駆動周波数制御部ex512は、駆動周波数を設定する。また、CPUex502からの信号に基づいて、信号処理部ex507は、映像データの復号を行う。ここで、映像データの識別には、例えば、実施の形態19で記載した識別情報を利用することが考えられる。識別情報に関しては、実施の形態19で記載したものに限られず、映像データがどの規格に準拠するか識別できる情報であればよい。例えば、映像データがテレビに利用されるものであるか、ディスクに利用されるものであるかなどを識別する外部信号に基づいて、映像データがどの規格に準拠するものであるか識別可能である場合には、このような外部信号に基づいて識別してもよい。また、CPUex502における駆動周波数の選択は、例えば、図82のような映像データの規格と、駆動周波数とを対応付けたルックアップテーブルに基づいて行うことが考えられる。ルックアップテーブルを、バッファex508や、LSIの内部メモリに格納しておき、CPUex502がこのルックアップテーブルを参照することにより、駆動周波数を選択することが可能である。
 図81は、本実施の形態の方法を実施するステップを示している。まず、ステップexS200では、信号処理部ex507において、多重化データから識別情報を取得する。次に、ステップexS201では、CPUex502において、識別情報に基づいて映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものであるか否かを識別する。映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合には、ステップexS202において、駆動周波数を高く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、高い駆動周波数に設定される。一方、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、ステップexS203において、駆動周波数を低く設定する信号を、CPUex502が駆動周波数制御部ex512に送る。そして、駆動周波数制御部ex512において、映像データが上記各実施の形態で示した符号化方法または装置によって生成されたものである場合に比べ、低い駆動周波数に設定される。
 さらに、駆動周波数の切替えに連動して、LSIex500またはLSIex500を含む装置に与える電圧を変更することにより、省電力効果をより高めることが可能である。例えば、駆動周波数を低く設定する場合には、これに伴い、駆動周波数を高く設定している場合に比べ、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することが考えられる。
 また、駆動周波数の設定方法は、復号する際の処理量が大きい場合に、駆動周波数を高く設定し、復号する際の処理量が小さい場合に、駆動周波数を低く設定すればよく、上述した設定方法に限らない。例えば、MPEG4-AVC規格に準拠する映像データを復号する処理量の方が、上記各実施の形態で示した動画像符号化方法または装置により生成された映像データを復号する処理量よりも大きい場合には、駆動周波数の設定を上述した場合の逆にすることが考えられる。
 さらに、駆動周波数の設定方法は、駆動周波数を低くする構成に限らない。例えば、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を高く設定し、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、LSIex500またはLSIex500を含む装置に与える電圧を低く設定することも考えられる。また、他の例としては、識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合には、CPUex502の駆動を停止させることなく、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合には、処理に余裕があるため、CPUex502の駆動を一時停止させることも考えられる。識別情報が、上記各実施の形態で示した動画像符号化方法または装置によって生成された映像データであることを示している場合であっても、処理に余裕があれば、CPUex502の駆動を一時停止させることも考えられる。この場合は、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する映像データであることを示している場合に比べて、停止時間を短く設定することが考えられる。
 このように、映像データが準拠する規格に応じて、駆動周波数を切替えることにより、省電力化を図ることが可能になる。また、電池を用いてLSIex500またはLSIex500を含む装置を駆動している場合には、省電力化に伴い、電池の寿命を長くすることが可能である。
 (実施の形態22)
 テレビや、携帯電話など、上述した機器・システムには、異なる規格に準拠する複数の映像データが入力される場合がある。このように、異なる規格に準拠する複数の映像データが入力された場合にも復号できるようにするために、LSIex500の信号処理部ex507が複数の規格に対応している必要がある。しかし、それぞれの規格に対応する信号処理部ex507を個別に用いると、LSIex500の回路規模が大きくなり、また、コストが増加するという課題が生じる。
 この課題を解決するために、上記各実施の形態で示した動画像復号方法を実行するための復号処理部と、従来のMPEG-2、MPEG4-AVC、VC-1などの規格に準拠する復号処理部とを一部共有化する構成とする。この構成例を図83Aのex900に示す。例えば、上記各実施の形態で示した動画像復号方法と、MPEG4-AVC規格に準拠する動画像復号方法とは、エントロピー符号化、逆量子化、デブロッキング・フィルタ、動き補償などの処理において処理内容が一部共通する。共通する処理内容については、MPEG4-AVC規格に対応する復号処理部ex902を共有し、MPEG4-AVC規格に対応しない、本発明特有の他の処理内容については、専用の復号処理部ex901を用いるという構成が考えられる。復号処理部の共有化に関しては、共通する処理内容については、上記各実施の形態で示した動画像復号化方法を実行するための復号処理部を共有し、MPEG4-AVC規格に特有の処理内容については、専用の復号処理部を用いる構成であってもよい。
 また、処理を一部共有化する他の例を図83Bのex1000に示す。この例では、本発明に特有の処理内容に対応した専用の復号処理部ex1001と、他の従来規格に特有の処理内容に対応した専用の復号処理部ex1002と、本発明の動画像復号方法と他の従来規格の動画像復号方法とに共通する処理内容に対応した共用の復号処理部ex1003とを用いる構成としている。ここで、専用の復号処理部ex1001、ex1002は、必ずしも本発明、または、他の従来規格に特有の処理内容に特化したものではなく、他の汎用処理を実行できるものであってもよい。また、本実施の形態の構成を、LSIex500で実装することも可能である。
 このように、本発明の動画像復号方法と、従来の規格の動画像復号方法とで共通する処理内容について、復号処理部を共有することにより、LSIの回路規模を小さくし、かつ、コストを低減することが可能である。
 本発明に係る動画像符号化方法および動画像復号化方法は、あらゆるマルチメディアデータに適用することができ、圧縮率を向上させることが可能であり、例えば携帯電話、DVD装置、およびパーソナルコンピュータ等を用いた蓄積、伝送、通信等における動画像符号化方法および動画像復号化方法として有用である。
 100 動画像符号化装置
 101 直交変換部
 102 量子化部
 103 逆量子化部
 104 逆直交変換部
 105 ブロックメモリ
 106 フレームメモリ
 107 イントラ予測部
 108 インター予測部
 109 インター予測制御部
 110 ピクチャタイプ決定部
 111 参照ピクチャリスト管理部
 112 スキップモード予測方向決定部
 113 可変長符号化部
 500 動画像復号化装置
 501 可変長復号化部
 502 逆量子化部
 503 逆直交変換部
 504 ブロックメモリ
 505 フレームメモリ
 506 イントラ予測部
 507 インター予測部
 508 インター予測制御部
 509 参照ピクチャリスト管理部
 510 スキップモード予測方向決定部
 

Claims (16)

  1.  符号化対象ピクチャに含まれる符号化対象ブロックを符号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記符号化対象ブロックを画面間予測で符号化する動画像符号化方法であって、
     前記符号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定し、
     前記符号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定し、
     前記第一の候補および前記第二の候補の中から前記符号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定し、
     決定した少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記符号化対象ブロックを符号化する
     動画像符号化方法。
  2.  前記第2の隣接ブロックは、前記符号化対象ピクチャとは異なる符号化済みピクチャに含まれ、ピクチャ内における位置が、前記符号化対象ピクチャ内の前記符号化対象ブロックの位置と対応する参照ブロックである
     請求項1記載の動画像符号化方法。
  3.  前記動画像符号化方法は、さらに、
     前記第一の候補および前記第二の候補に対して候補インデックスを割り当てた候補リストをから、前記符号化対象ブロックで用いると決定した少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値に対応する前記候補インデックスの値を特定する
     請求項1記載の動画像符号化方法。
  4.  前記動画像符号化方法は、さらに、
     特定した前記候補インデックスの値を、符号化対象ピクチャを符号化したビットストリームに付加する
     請求項3記載の動画像符号化方法。
  5.  前記第二の候補に含まれる前記動きベクトルは、前記参照ブロックで用いられた前記動きベクトルを前記符号化対象ピクチャおよび前記参照ピクチャの参照距離に応じてスケーリングすることで得られる前記動きベクトルである
     請求項1記載の動画像符号化方法。
  6.  前記第二の候補の前記参照ピクチャインデックスの値として、前記符号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値を決定する
     請求項1記載の動画像符号化方法。
  7.  前記符号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値がない場合、前記第二の候補の前記参照ピクチャインデックスの値を最小値に決定する
     請求項6記載の動画像符号化方法。
  8.  復号化対象ピクチャに含まれる復号化対象ブロックを復号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記復号化対象ブロックを画面間予測で復号化する動画像復号化方法であって、
     前記復号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定し、
     前記復号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの前記動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定し、
     前記第一の候補および前記第二の候補の中から前記復号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定し、
     決定した少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記復号化対象ブロックを復号化する
     動画像復号化方法。
  9.  前記第2の隣接ブロックは、前記復号化対象ピクチャとは異なる復号化済みピクチャに含まれ、ピクチャ内における位置が、前記復号化対象ピクチャ内の前記復号化対象ブロックの位置と対応する参照ブロックである
     請求項8記載の動画像復号化方法。
  10.  前記動画像復号化方法は、さらに、
     復号化対象ピクチャを含むビットストリームから候補インデックスの値を取得し、
     取得した前記候補インデックスの値を用いて、前記第一の候補および前記第二の候補に対して前記候補インデックスを割り当てた候補リストから、前記復号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定する
     請求項8記載の動画像復号化方法。
  11.  前記第二の候補に含まれる前記動きベクトルは、前記参照ブロックで用いられた前記動きベクトルを前記復号化対象ピクチャおよび前記参照ピクチャの参照距離に応じてスケーリングすることで得られる前記動きベクトルである
     請求項8記載の動画像復号化方法。
  12.  前記第二の候補の前記参照ピクチャインデックスの値として、前記復号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値を決定する
     請求項8記載の動画像復号化方法。
  13.  前記復号化対象ブロックの左の隣接ブロックで用いられた前記参照ピクチャインデックスの値がない場合、前記第二の候補の前記参照ピクチャインデックスの値を最小値に決定する
     請求項12記載の動画像復号化方法。
  14.  符号化対象ピクチャに含まれる符号化対象ブロックを符号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記符号化対象ブロックを画面間予測で符号化する動画像符号化装置であって、
     前記符号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定する第一決定部と、
     前記符号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定する第二決定部と、
     前記第一の候補および前記第二の候補の中から前記符号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定する第三決定部と、
     第三決定部によって決定された少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記符号化対象ブロックを符号化する符号化部とを備える
     動画像符号化装置。
  15.  復号化対象ピクチャに含まれる復号化対象ブロックを復号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記復号化対象ブロックを画面間予測で復号化する動画像復号化装置であって、
     前記復号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定する第一決定部と、
     前記復号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの前記動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定する第二決定部と、
     前記第一の候補および前記第二の候補の中から前記復号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定する第三決定部と、
     第三決定部によって決定された少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記復号化対象ブロックを復号化する復号化部とを備える
     動画像復号化装置。
  16.  符号化対象ピクチャに含まれる符号化対象ブロックを符号化する際に参照する参照ピクチャを特定するために、参照ピクチャ候補に対して参照ピクチャインデックスを割り当てた参照ピクチャリストを用いて、前記符号化対象ブロックを画面間予測で符号化するとともに、復号化対象ピクチャに含まれる復号化対象ブロックを復号化する際に参照する参照ピクチャを特定するために、前記参照ピクチャリストを用いて、前記復号化対象ブロックを画面間予測で復号化する動画像符号化復号化装置であって、
     前記符号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定する第一決定部と、
     前記符号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定する第二決定部と、
     前記第一の候補および前記第二の候補の中から前記符号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定する第三決定部と、
     第三決定部によって決定された少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記符号化対象ブロックを符号化する符号化部と、
     前記復号化対象ブロックの第1の隣接ブロックで用いられた少なくとも一つの動きベクトルおよび前記参照ピクチャインデックスの値を、少なくとも一つの第一の候補として決定する第四決定部と、
     前記復号化対象ブロックの第2の隣接ブロックで用いられた少なくとも一つの前記動きベクトル、および、前記第1の隣接ブロックで用いられた前記参照ピクチャインデックスの値を第二の候補として決定する第五決定部と、
     前記第一の候補および前記第二の候補の中から前記復号化対象ブロックで用いる少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を決定する第六決定部と、
     第六決定部によって決定された少なくとも一つの前記動きベクトルおよび前記参照ピクチャインデックスの値を用いて前記復号化対象ブロックを復号化する復号化部とを備える
     動画像符号化復号化装置。
     
PCT/JP2012/000429 2011-01-26 2012-01-24 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置 WO2012102024A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161436358P 2011-01-26 2011-01-26
US61/436,358 2011-01-26

Publications (1)

Publication Number Publication Date
WO2012102024A1 true WO2012102024A1 (ja) 2012-08-02

Family

ID=46544162

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/000429 WO2012102024A1 (ja) 2011-01-26 2012-01-24 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置

Country Status (3)

Country Link
US (1) US20120189062A1 (ja)
TW (1) TW201246943A (ja)
WO (1) WO2012102024A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101478959B1 (ko) 2010-11-25 2015-01-06 엘지전자 주식회사 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법
US11284081B2 (en) 2010-11-25 2022-03-22 Lg Electronics Inc. Method for signaling image information, and method for decoding image information using same
US9473789B2 (en) * 2010-12-14 2016-10-18 M&K Holdings Inc. Apparatus for decoding a moving picture
US9609349B2 (en) * 2010-12-14 2017-03-28 M & K Holdings Inc. Apparatus for decoding a moving picture
CN107071461B (zh) * 2010-12-14 2019-11-12 M&K控股株式会社 用于解码运动画面的设备
US9924188B2 (en) * 2011-01-07 2018-03-20 Lg Electronics Inc. Method for encoding and decoding image information to determine reference index in skip mode or merge mode and device using same
JP5982734B2 (ja) 2011-03-11 2016-08-31 ソニー株式会社 画像処理装置および方法
US9648334B2 (en) * 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
WO2013001749A1 (ja) * 2011-06-29 2013-01-03 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
WO2013005966A2 (ko) 2011-07-01 2013-01-10 한국전자통신연구원 비디오 부호화 방법 및 복호화 방법과 이를 이용한 장치
US20140126645A1 (en) * 2011-07-01 2014-05-08 Electronics And Telecommunications Research Institute Video encoding and decoding methods and device using same
EP2777276B1 (en) * 2011-11-08 2019-05-01 Nokia Technologies Oy Reference picture handling
CA2855777C (en) 2011-12-23 2017-10-24 Electronics And Telecommunications Research Institute Method and apparatus for setting reference picture index of temporal merging candidate
US9900615B2 (en) 2011-12-28 2018-02-20 Microsoft Technology Licensing, Llc Representative motion information for temporal motion prediction in video encoding and decoding
US10863170B2 (en) * 2012-04-16 2020-12-08 Nokia Technologies Oy Apparatus, a method and a computer program for video coding and decoding on the basis of a motion vector
WO2014087861A1 (ja) * 2012-12-06 2014-06-12 ソニー株式会社 画像処理装置、画像処理方法、およびプログラム
CN108337525B (zh) 2012-09-28 2020-08-25 杜比国际公司 图像解码装置
US9485515B2 (en) * 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
CN104717510B (zh) * 2013-12-13 2018-08-17 华为技术有限公司 用于图像处理的方法和装置
GB201405649D0 (en) * 2014-03-28 2014-05-14 Sony Corp Data encoding and decoding
WO2017107072A1 (en) 2015-12-22 2017-06-29 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
US11394992B2 (en) * 2018-03-14 2022-07-19 Hfi Innovation Inc. Methods and apparatuses of generating average candidates in video coding systems
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
JP2004032355A (ja) * 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置
JP2004208259A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HUE045566T2 (hu) * 2002-04-19 2020-01-28 Panasonic Ip Corp America Mozgásvektor-számítási eljárás
WO2004008773A1 (ja) * 2002-07-11 2004-01-22 Matsushita Electric Industrial Co., Ltd. フィルタリング強度の決定方法、動画像符号化方法、および動画像復号化方法
US7362804B2 (en) * 2003-11-24 2008-04-22 Lsi Logic Corporation Graphical symbols for H.264 bitstream syntax elements

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004208259A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
JP2004023458A (ja) * 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
JP2004032355A (ja) * 2002-06-26 2004-01-29 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Test Model under Consideration Output Document (draft007), Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 2nd Meeting", DOCUMENT: JCTVC-B205, ITU-T, October 2010 (2010-10-01), GENEVA, CH, pages 78 - 93, 153-155 *
BYEONG-MOON JEON: "Direct mode in B pictures, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6) 4th Meeting", CONTRIBUTION: JVT-D056, ITU-T, July 2002 (2002-07-01), KLAGENFURT, AUSTRIA *

Also Published As

Publication number Publication date
US20120189062A1 (en) 2012-07-26
TW201246943A (en) 2012-11-16

Similar Documents

Publication Publication Date Title
JP7253709B2 (ja) 動画像復号方法及び動画像符号化方法
WO2012102024A1 (ja) 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
JP6008291B2 (ja) 画像符号化方法および画像符号化装置
JP5858953B2 (ja) 動画像復号方法、及び動画像復号装置
WO2015166639A1 (ja) 符号化方法、復号方法、符号化装置および復号装置
JP6422011B2 (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
WO2012160803A1 (ja) 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
WO2013051209A1 (ja) 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
JP5893570B2 (ja) 画像符号化方法および画像復号化方法
WO2012117728A1 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
JPWO2011129100A1 (ja) 画像符号化方法および画像復号化方法
WO2012114694A1 (ja) 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
JP5883431B2 (ja) 画像符号化方法および画像復号化方法
JP5331944B2 (ja) 画像復号化方法および画像復号化装置
WO2012102021A1 (ja) 動画像符号化方法および動画像復号化方法
WO2012090495A1 (ja) 画像符号化方法および画像復号方法
WO2012081246A1 (ja) 画像符号化方法および画像復号化方法
WO2012098866A1 (ja) 動画像符号化方法および動画像復号化方法
WO2015015681A1 (ja) 画像符号化方法および画像符号化装置
WO2012081225A1 (ja) 画像符号化方法、及び画像復号方法
WO2012114717A1 (ja) 動画像符号化方法および動画像復号化方法
WO2012073481A1 (ja) 動画像符号化方法および動画像復号化方法
WO2012090478A1 (ja) 動画像符号化方法、および、動画像復号化方法
JP2019213242A (ja) 符号化方法、復号方法、符号化装置および復号装置

Legal Events

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

Ref document number: 12739734

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12739734

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP