WO2020054060A1 - 動画像符号化方法及び動画像符号化装置 - Google Patents

動画像符号化方法及び動画像符号化装置 Download PDF

Info

Publication number
WO2020054060A1
WO2020054060A1 PCT/JP2018/034232 JP2018034232W WO2020054060A1 WO 2020054060 A1 WO2020054060 A1 WO 2020054060A1 JP 2018034232 W JP2018034232 W JP 2018034232W WO 2020054060 A1 WO2020054060 A1 WO 2020054060A1
Authority
WO
WIPO (PCT)
Prior art keywords
mode
candidate
group
selection unit
encoding
Prior art date
Application number
PCT/JP2018/034232
Other languages
English (en)
French (fr)
Inventor
山口 哲
北川 昌生
Original Assignee
株式会社ソシオネクスト
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社ソシオネクスト filed Critical 株式会社ソシオネクスト
Priority to JP2020546655A priority Critical patent/JP7243732B2/ja
Priority to PCT/JP2018/034232 priority patent/WO2020054060A1/ja
Publication of WO2020054060A1 publication Critical patent/WO2020054060A1/ja
Priority to US17/198,045 priority patent/US11516481B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/127Prioritisation of hardware or computational resources
    • 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/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/156Availability of hardware or computational resources, e.g. encoding based on power-saving 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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Definitions

  • the present invention relates to a moving picture coding method and a moving picture coding apparatus, and more particularly, to a method for determining a mode in moving picture coding.
  • Video codecs MPEG-2, H.264 264, H .; There are a plurality of standards such as H.265, VP9, and AV1 (hereinafter, video codec standards are also simply referred to as “codecs”). In the future, new standards may be developed.
  • a plurality of hardware that is, a dedicated electronic circuit
  • a corresponding one is selected from the plurality of hardware according to the corresponding standard. Is working.
  • Patent Literature 1 when it becomes necessary to support a standard that the moving picture coding apparatus does not support, for example, when it becomes necessary to support a standard that has been formulated later, a new hardware is required. Has to be re-created, and there is a problem that enormous cost and time are required.
  • the present invention reduces the cost and time required for recreating a moving picture encoding device that supports a new standard even when it becomes necessary to support a non-supported standard. It is an object of the present invention to provide a moving picture coding method and a moving picture coding apparatus capable of performing the above.
  • a moving image encoding method provides a method for encoding a moving image from a predetermined first mode group, wherein at least one mode is set as a first candidate mode.
  • First mode selection step to select, based on the selected first candidate mode, from a predetermined second mode group, a second mode selection step to select one mode as the encoding mode, Encoding the moving image in the selected encoding mode.
  • a video encoding device provides a video encoding device that includes at least one mode as a first candidate mode from a predetermined first mode group for video encoding.
  • a first mode selection unit to select, based on the selected first candidate mode, from a predetermined second mode group, a second mode selection unit to select one mode as the encoding mode,
  • An encoding unit that encodes the moving image in the selected encoding mode.
  • FIG. 1 is a block diagram showing a configuration of the moving picture coding apparatus according to the embodiment.
  • FIG. 2 is a flowchart showing the operation of the video encoding device according to the embodiment.
  • FIG. 3A is a diagram illustrating a mode of intra-frame prediction in encoding of a moving image.
  • FIG. 264 is a diagram illustrating the types of intra prediction modes in H.264.
  • FIG. 265 is a diagram illustrating types of intra prediction modes in H.265.
  • FIG. 3D is a diagram showing types of intra prediction modes in VP9.
  • FIG. 3E is a diagram showing types of intra prediction modes in AV1.
  • FIG. 3A is a diagram illustrating a mode of intra-frame prediction in encoding of a moving image.
  • FIG. 264 is a diagram illustrating the types of intra prediction modes in H.264.
  • FIG. 265 is a diagram illustrating types of intra prediction modes in H.265.
  • FIG. 3D is a diagram showing types of intra
  • FIG. 3F is a diagram showing the correspondence between the intra-frame prediction mode selected by the first mode selection unit and the intra-frame prediction mode of AV1 whose direction is closest to that.
  • FIG. 3G is a diagram illustrating another example (six examples) of the first mode group included in the first mode selection unit of the video encoding device according to the embodiment.
  • FIG. 4 is a diagram illustrating a transition of a mode selected in determining a mode of intra prediction by the video encoding device according to the first embodiment.
  • FIG. 265 is a view for explaining a reference image in H.265.
  • FIG. 5B is a diagram illustrating a reference image in VP9.
  • FIG. 5C is a diagram illustrating a reference image in AV1.
  • FIG. 6A is a diagram illustrating an example of the accuracy of the motion vector (1/4 accuracy).
  • FIG. 6B is a diagram illustrating an example of the accuracy of the motion vector (1/8 accuracy).
  • FIG. 6C is a diagram illustrating an example of a second candidate mode selected by the candidate selection unit of the video encoding device according to the second embodiment.
  • FIG. FIG. 265 is a diagram illustrating two candidate motion vectors in H.265.
  • FIG. 265 is a diagram illustrating a cost calculation method in search for a motion vector in H.265.
  • FIG. 8A is a diagram showing three candidate motion vectors in AV1.
  • FIG. 8B is a diagram illustrating a method of calculating a cost in a search for a motion vector in AV1.
  • FIG. 265 is a diagram for describing the size of an encoded block in H.265.
  • FIG. 9B is a diagram illustrating the size of an encoded block in VP9.
  • FIG. 9C is a diagram illustrating the size of an encoded block in AV1.
  • FIG. 10 is a diagram illustrating an example of a second candidate mode selected by the candidate selection unit of the video encoding device according to the third embodiment.
  • FIG. 1 is a block diagram showing a configuration of a moving picture coding apparatus 10 according to the embodiment.
  • the moving picture coding apparatus 10 is a moving picture encoder having an architecture capable of reducing the cost and time required for recreating a moving picture coding apparatus corresponding to a new standard as compared with the related art.
  • a first mode selection unit 11, a second mode selection unit 12, and an encoding unit 15 are provided.
  • the first mode selection unit 11 is a processing unit that selects at least one mode as a first candidate mode 11b from a predetermined first mode group 11a for encoding a moving image, and does not include a processor.
  • the mode is a specific processing method in various kinds of processing in encoding of a moving image, and includes a mode of intra-frame (intra) prediction (that is, a method of processing a predicted image in intra-frame prediction) and a motion prediction. (That is, the reference image and the reference direction), the mode for the size of the coding block (that is, the size of the coding block), and the like.
  • the first mode group 11a is a group of modes (for example, intra-frame prediction modes) defined by a first standard (for example, H.265).
  • the first mode selection unit 11 performs a cost calculation on each of the modes constituting the first mode group 11a with respect to the target image data, and preferentially selects a mode having the obtained low cost. Thereby, the first candidate mode 11b is selected.
  • the second mode selection unit 12 selects one mode as the encoding mode 14a from the predetermined second mode group 13a based on the first candidate mode 11b selected by the first mode selection unit 11.
  • a second electronic circuit 19 including a processor together with the encoding unit 15 eg, a one-chip semiconductor including a CPU, a ROM, a RAM storing a program, an I / O (input / output circuit), etc.
  • the second mode group 13a is a mode group (for example, an intra prediction mode) defined by a second standard (for example, AV1) different from the first standard corresponding to the first mode group 11a. . Therefore, the first mode group 11a includes modes that do not belong to the second mode group 13a.
  • the number of modes constituting the first mode group 11a is equal to the number of modes constituting the second mode group 13a. Less than the number. This is because the first mode selection unit 11 makes a rough mode selection, and the second mode selection unit 12 makes a more detailed mode selection depending on the mode selection in the first mode selection unit 11. This is to avoid the cost calculation for all the modes of the second mode group 13a by the stepwise processing and to reduce the processing load as a whole.
  • the second electronic circuit 19 is mounted on a semiconductor substrate different from the first electronic circuit 18.
  • the second mode selection unit 12 includes a candidate selection unit 13 and a final selection unit 14.
  • the candidate selection unit 13 assigns at least one (typically, a plurality) mode to the second mode group 13a based on the first candidate mode 11b selected by the first mode selection unit 11. It is selected as the second candidate mode 13b.
  • the candidate selection unit 13 selects a mode that is at least close to the first candidate mode 11b selected by the first mode selection unit 11 from the second mode group 13a, Mode 13b is selected.
  • ⁇ Final selection section 14 selects one final encoding mode 14a from second candidate modes 13b selected by candidate selection section 13. Specifically, the final selection unit 14 performs cost calculation for each mode constituting the second candidate mode 13b selected by the candidate selection unit 13, and preferentially selects the mode with the obtained low cost. To select the encoding mode 14a.
  • the encoding unit 15 is a processing unit that encodes a moving image in the encoding mode 14a selected by the second mode selection unit 12, and a second electronic circuit including a processor together with the second mode selection unit 12. 19 is realized. More specifically, the encoding unit 15 performs orthogonal transformation and quantization on the target image data, then performs entropy encoding, and outputs the result as a bit stream. Further, the encoding unit 15 performs inverse quantization and inverse orthogonal transformation on the image data after the orthogonal transformation and the quantization, and then performs processing of a loop filter such as deblocking on the reference image obtained therein. Store in frame memory.
  • the predicted image obtained by performing the motion compensation processing is used to subtract from the target image data prior to the orthogonal transformation and quantization, or the inverse quantization and It is used to add to image data that has undergone inverse orthogonal transformation prior to loop filter processing.
  • FIG. 2 is a flowchart showing an operation (that is, a moving picture coding method) of the moving picture coding apparatus 10 according to the embodiment.
  • the first mode selection unit 11 selects at least one mode as a first candidate mode 11b from a predetermined first mode group 11a for encoding a moving image (first mode selection step). S10). More specifically, the first mode selection unit 11 performs a cost calculation on each of the modes constituting the first mode group 11a with respect to the target image data, and preferentially selects a mode having the obtained low cost. Thereby, the first candidate mode 11b is selected.
  • the second mode selection unit 12 converts one mode from the predetermined second mode group 13a into the encoding mode. 14a (second mode selection step S11).
  • the candidate selecting unit 13 determines at least one of the second mode group 13a based on the first candidate mode 11b selected by the first mode selecting unit 11.
  • One (typically, a plurality) of modes is selected as the second candidate mode 13b (candidate selection step S11a).
  • the candidate selection unit 13 selects a mode that is at least close to the first candidate mode 11b selected in the first mode selection step S10 from the second mode group 13a, and Mode 13b is selected.
  • the final selection unit 14 selects one final encoding mode 14a from the second candidate modes 13b selected by the candidate selection unit 13 (final selection step S11b).
  • the final selection unit 14 performs cost calculation for each mode constituting the second candidate mode 13b selected by the candidate selection unit 13, and preferentially selects the mode with the obtained low cost. To select the encoding mode 14a.
  • the encoding unit 15 encodes the moving image in the encoding mode 14a selected by the second mode selection unit 12 (encoding step S12). More specifically, the encoding unit 15 performs orthogonal transformation and quantization on the target image data, then performs entropy encoding, and outputs the result as a bit stream.
  • the moving picture coding apparatus 10 selects at least one mode as the first candidate mode 11b from the predetermined first mode group 11a for coding a moving picture.
  • a first mode selection unit 11 and a second mode selection unit that selects one mode as an encoding mode 14a from a predetermined second mode group 13a based on the selected first candidate mode 11b. 12 and an encoding unit 15 that encodes a moving image in the selected encoding mode 14a.
  • the moving image encoding method includes a first method for selecting at least one mode as a first candidate mode 11b from a predetermined first mode group 11a for encoding a moving image.
  • a mode selection step S10 a second mode selection step S11 of selecting one mode as the encoding mode 14a from a predetermined second mode group 13a based on the selected first candidate mode 11b, Encoding step S12 for encoding a moving image in the selected encoding mode 14a.
  • the process of mode determination in encoding is separated into two stages.
  • a first mode group 11a a group of representative modes independent of the target standard is set
  • a second mode group 13a By adopting a configuration corresponding to the target standard, when it becomes necessary to support a new standard, it can be dealt with by recreating only a portion (hardware or software) related to the selection of the second mode group 13a. Therefore, the cost and time required for recreating the moving picture encoding device 10 corresponding to the new standard can be reduced as compared with the related art in which the entire process related to the mode determination needs to be recreated.
  • the first mode selection unit 11 is a first electronic circuit 18 that does not include a processor
  • the second mode selection unit 12 is a second electronic circuit 19 that includes a processor. That is, the first mode selection step S10 is performed by the first electronic circuit 18 that does not include a processor, and the second mode selection step S11 is performed by the second electronic circuit 19 that includes a processor.
  • the first mode group 11a is a group of representative modes that do not depend on the target standard
  • the second mode group 13a is a group corresponding to the target standard. If it becomes necessary to do so, it can be dealt with by recreating only the portion (that is, software) related to the selection of the second mode group 13a. Therefore, the cost and time required to recreate the moving picture encoding device 10 corresponding to the new standard can be reduced as compared with the conventional case where the hardware needs to be recreated.
  • the first electronic circuit 18 and the second electronic circuit 19 are mounted on different semiconductor substrates.
  • the hardware related to the selection of the first mode group 11a and the software related to the selection of the second mode group 13a are mounted on different semiconductor chips. It only needs to be modified.
  • the second mode selection step S11 is based on the first candidate mode 11b selected in the first mode selection step S10, and at least one mode is selected from the second mode group 13a as a second candidate mode. 13b, and a final selection step S11b of selecting the encoding mode 14a from the second candidate mode 13b selected in the candidate selection step S11a.
  • the encoding mode 14a is selected from the second candidate modes 13b, so that the final encoding mode 14a can be determined without evaluating all the modes constituting the second mode group 13a. Mode determination is speeded up.
  • the cost calculation is performed for each mode constituting the first mode group 11a, and the mode having the lower cost obtained is preferentially selected, so that the first candidate mode 11b is selected.
  • the candidate selection step S11a the cost calculation is performed for each of the modes constituting the second candidate mode 13b selected in the candidate selection step S11a, and the mode with the obtained low cost is preferentially selected.
  • the first mode group 11a is a mode group defined by a first standard
  • the second mode group 13a is a mode group defined by a second standard different from the first standard.
  • the number of modes constituting the first mode group 11a is smaller than the number of modes constituting the second mode group 13a.
  • the mode determination for example, it is possible to make a general mode selection in the first stage, and to make a detailed mode selection in the second stage using the result, thereby constituting the second mode group 13a.
  • the processing load is reduced as compared with the case where the encoding mode 14a is selected after evaluating all the modes.
  • the first mode group 11a includes modes that do not belong to the second mode group 13a. Thereby, in the mode determination, for example, it is possible to make a general mode selection in the first stage, and to make a detailed mode selection in the second stage using the result, thereby constituting the second mode group 13a.
  • the processing load is reduced as compared with the case where the encoding mode 14a is selected after evaluating all the modes.
  • the first electronic circuit 18 that executes the first mode selection step S10 is realized by hardware (that is, a dedicated electronic circuit that does not include a processor).
  • the second electronic circuit 19 that executes S11 is realized by software (that is, a general-purpose electronic circuit including a processor), but is not limited to such a configuration.
  • Both the first mode selection step S10 and the second mode selection step S11 may be realized by hardware or software. In any case, a two-step process of rough mode selection and detailed mode selection depending on the selection result is performed, and cost calculation is avoided for all modes of the second mode group 13a.
  • the advantage is that the processing load is reduced as a whole, and the first mode group 11a is a group of representative modes independent of the target standard, and the second mode group 13a is compatible with the target standard. By doing so, when it becomes necessary to support a new standard, it is possible to enjoy a merit that it is possible to cope by re-creating only a portion (hardware or software) related to the selection of the second mode group 13a.
  • the first electronic circuit 18 and the second electronic circuit 19 are mounted on different semiconductor substrates, but the present invention is not limited to such a mounting form.
  • the first electronic circuit 18 and the second electronic circuit 19 may be mounted on the same semiconductor substrate.
  • the first mode group 11a is a group of representative modes that do not depend on the target standard
  • the second mode group 13a is a group corresponding to the target standard. If it becomes necessary to comply with a different standard, it can be dealt with by recreating only the portion (software) related to the selection of the second mode group 13a.
  • the second mode selection unit 12 and the encoding unit 15 are realized by a common electronic circuit (that is, the second electronic circuit 19), but the present invention is not limited to this.
  • the second mode selection unit 12 and the encoding unit 15 may be realized by independent electronic circuits. In that case, even if it is necessary to comply with the new standard, if the processing of the encoding unit 15 does not change, only the electronic circuit on which the second mode selection unit 12 is mounted Can be dealt with by recreating
  • the first mode group 11a is the mode group defined by the first standard, but is not limited to this.
  • the first mode group 11a may be, for example, a part (that is, a subset) of the second mode group 13a corresponding to the second standard, instead of the mode group corresponding to the standard. Even in such a case, a two-step process of rough mode selection and detailed mode selection depending on the selection result is performed, and cost calculation for all modes of the second mode group 13a is avoided, The merit that the processing load is reduced as a whole, and the second mode group 13a corresponding to the target standard allows the second mode group 13a to cope with the new standard when it becomes necessary to support a new standard. It is possible to enjoy a merit that it can be dealt with by recreating only a part (hardware or software) related to the selection of the mode group 13a.
  • Example 1 As Example 1 of the above embodiment, a case will be described in which the moving picture coding apparatus 10 and the moving picture coding method according to the above embodiment are applied to determination of a mode of intra prediction.
  • Intra-plane prediction is an intra-frame prediction process, which is a technique for greatly improving the coding efficiency of an intra-frame coded block by generating a predicted image from pixels adjacent to the coded block and performing differential coding. .
  • FIG. 3A is a diagram illustrating a mode of intra-frame prediction (hereinafter, also referred to as a “prediction direction”) in video coding.
  • a mode of intra-frame prediction having a direction such that a predicted image is generated based on adjacent pixels in directions of 45 ° and 90 °
  • an intra-plane prediction mode having no direction in which an average value of adjacent pixels is used as a prediction image.
  • FIG. 264 is a diagram illustrating the types of intra prediction modes in H.264. As shown in FIG. In H.264, there are eight modes of intra-prediction with directions and one mode of intra-prediction without directions.
  • FIG. FIG. 265 is a diagram illustrating types of intra prediction modes in H.265. (A) of FIG. FIG. 3B shows the prediction directions and the like of the mode numbers 0 to 34 of the in-plane prediction in H.265.
  • FIG. 3C shows the definition of the angle in the prediction direction of each mode of the intra-frame prediction in H.265. The correspondence between each mode number of the intra prediction in H.265 and the definition of the angle is shown.
  • FIG. 3D is a diagram showing types of intra prediction modes in VP9.
  • FIG. 3E is a diagram showing types of intra prediction modes in AV1.
  • AV1 has a maximum of 56 modes of intra-frame prediction with directions, and five modes of intra-frame prediction without directions.
  • Each codec has a different number of directions and different angles, and even if there is a mode with the same angle, a filter calculation for generating a predicted image is different depending on the codec. Therefore, a generated predicted image is different for each codec.
  • the basic concept of generating a predicted image from adjacent pixels according to the direction is common.
  • the determination of the intra prediction mode is performed in two steps of the first mode selecting unit 11 and the second mode selecting unit 12 (strictly speaking, the first mode selecting unit 11). , The candidate selecting unit 13 and the final selecting unit 14).
  • the processing of the first mode group 11a may be any processing for searching for a prediction method for generating a prediction image from adjacent pixels according to the direction.
  • processing contents existing in the world are exemplified. This will be described in detail below.
  • the 33 modes of the intra-frame prediction mode having the direction defined by H.265 are defined as the first mode group 11a
  • the 56 modes of the intra-frame prediction mode having the direction defined by AV1 are defined as the second mode group 13a.
  • the first mode selection unit 11 outputs It is assumed that the second mode selection unit 12 has a function of selecting a mode of intra-frame prediction defined by AV1.
  • the second mode selection unit 12 has a function of selecting a mode of intra-frame prediction defined by AV1.
  • FIG. 4 is a diagram illustrating a transition of the mode selected in determining the mode of the intra prediction by the video encoding device 10 according to the first embodiment.
  • FIG. 4A illustrates an example of a first mode group 11a and a first candidate mode 11b selected from the first mode group 11a by the first mode selection unit 11
  • FIG. 4B shows an example of the selected first candidate mode 11b and the second mode group 13a
  • FIG. 4C shows the second mode group 13a selected by the candidate selection unit 13 from the second mode group 13a
  • 4D shows an example of an encoding mode 14a selected by the final selection unit 14 from the second candidate mode 13b.
  • First Mode Selection Unit 11 As shown in FIG. In H.265, there are modes of intra prediction with 33 types of directions (mode numbers 2 to 34), and modes of intra prediction with no directions such as DC (mode number 1) and Planar (mode number 0).
  • the first mode selection unit 11 sets the intra prediction modes in the 33 directions as a first mode group 11a, and selects one intra prediction mode from the first mode group 11a as a first candidate mode 11b. Choose as.
  • Distortion indicates coding distortion, and uses the absolute value sum (SAD) of the difference between the original image and the predicted image in the coding block.
  • Rate is a constant, and sets the amount of coded bits necessary for a mode related to the intra prediction mode.
  • is called a Lagrange multiplier and is a parameter for optimizing the coding distortion and the bit amount.
  • the first mode selecting unit 11 actually uses the H.264 mode by using adjacent pixels. The cost of the coded block when the prediction processing is performed according to the processing contents of H.265 is calculated, and the mode of intra prediction that minimizes Cost is selected as the first candidate mode 11b.
  • the prediction direction of AV1 does not have an intra-plane prediction mode having 56 types of directions (mode numbers 1 to 8 and additional angle setting), and no direction such as DC / SMOOTH.
  • There are modes of intra prediction (mode numbers 0, 9 to 12).
  • the number of directions of the mode of the intra-prediction having a direction is described in H.A. 265, and the angle is different from that of the filter calculation formula for generating the predicted image. Therefore, the mode selected by the first mode selection unit 11 (that is, the first candidate mode 11b) may not be the optimal mode.
  • the candidate selecting unit 13 selects, as the second candidate mode 13b, a mode having the closest direction to the mode selected by the first mode selecting unit 11 and a peripheral mode thereof from the second mode group 13a.
  • 3F shows the mode of the intra-frame prediction selected by the first mode selection unit 11 (that is, the mode number of the intra-frame prediction of H.265) and the mode number of the intra-frame prediction of AV1 whose direction is closest to that. It is a figure showing correspondence.
  • the peripheral mode refers to H.264.
  • the candidate selecting unit 13 selects the H.264 selected by the first mode selecting unit 11.
  • H.265 in-plane prediction mode that is, the first candidate mode 11b
  • the intra-plane prediction mode of AV1 whose direction is closest to that of the first candidate mode 11b
  • Seven intra-frame prediction modes including the prediction mode are selected and output as the second candidate mode 13b.
  • FIG. 14 (D157 of mode number 6, additional angle +9) is the first candidate mode 11b selected by the first mode selection unit 11, the candidate selection unit 13
  • the intra prediction modes 11 to 17 are selected as the second candidate modes 13b.
  • the candidate selection unit 13 determines these Nos.
  • a mode obtained by adding an intra-plane prediction mode having no direction such as DC / SMOOTH (mode numbers 0, 9 to 12) to the intra-plane prediction modes 11 to 17 is selected as a second candidate mode 13b.
  • Output is the candidate mode 13b.
  • the encoding unit 15 encodes the target image data according to the encoding mode 14a selected by the final selection unit 14.
  • the first mode selection unit 11 depends on the corresponding codec. Since it can be processed by an arbitrary processing method without using it, it is possible to support a plurality of codecs.
  • the final selection unit 14 evaluates a 62-mode evaluation in which the conventional intra-frame prediction mode having a direction (that is, 56 modes) and the intra-plane prediction mode having no direction (that is, 6 modes) are combined.
  • the mode is changed to 13 modes, so that the processing can be greatly reduced.
  • the first mode selection unit 11 is an implementation mode (that is, hardware or software) that requires performance
  • the second mode selection unit 12 that is, the candidate selection unit 13 and the final selection unit 14
  • the performance can be improved in an implementation that makes a simple implementation (that is, software).
  • the first mode selection unit 11 When all of the first mode selection unit 11, the candidate selection unit 13, the final selection unit 14, and the encoding unit 15 are implemented by hardware, the first mode selection unit 11, which requires the largest processing amount, Since it is not necessary to design a hardware that supports a plurality of codecs, costs can be reduced.
  • the first mode selection unit 11 performs It does not have to correspond to H.265.
  • the second mode selection unit 12 may not be compatible with AV1. That is, the video encoding device 10 is not limited to the AV1 encoder.
  • the first mode selection unit 11 may not use a cost function. For example, only the difference between the predicted image and the original image such as SAD (sum of absolute difference values) and SATD (sum of absolute value of difference conversion coefficient) and the difference between the original image and the reconstructed image such as SSE (accumulated square error) are used as indices. Mode may be selected.
  • SAD sum of absolute difference values
  • SATD sum of absolute value of difference conversion coefficient
  • SSE accumulated square error
  • the first mode selection unit 11 may select the first candidate mode 11b by a method that does not perform an intra-plane prediction process such as image edge detection (Sobel filter or the like). Further, the first mode selection unit 11 may be a mode determination unit that has been machine-learned.
  • FIG. 3G is a diagram illustrating another example (six examples) of the first mode group 11a included in the first mode selection unit 11 of the video encoding device 10 according to the embodiment.
  • the first mode group 11a may be a mode in 2, 5, 9, 17, 33, 65 directions obtained by dividing 180 °.
  • the first candidate mode 11b selected by the first mode selection unit 11 is not limited to a mode having a direction.
  • DC / Planar may be included.
  • the candidate selecting unit 13 selects the mode of the intra-frame prediction having the direction. Any one of the modes of intra-prediction having no direction and the one in which Cost is smaller may be selected. Thereby, the processing in the final selection unit 14 can be further reduced.
  • the number of first candidate modes 11b output by the first mode selection unit 11 may be two or more, and a plurality of modes may be output in ascending order of Cost.
  • the candidate selection unit 13 may select a mode group including a plurality of modes. For example, in FIG. 14 (D157 of mode number 6, additional angle +9) and No. 14 23 (D135 of mode number 4, additional angle +3) is the first candidate mode 11b selected by the first mode selection unit 11, the candidate selection unit 13 Nos. 11 to 17 and No. 20 to 26 may be selected as the second candidate mode 13b.
  • the number of second candidate modes 13b selected by the candidate selection unit 13 may be one. If there is more than one, the possibility of choosing the best increases, so it is good for coding efficiency, but one may be used to reduce the processing amount, which is a trade-off, and it can be implemented according to the required level in the market. desirable.
  • the final selection unit 14 outputs one second candidate mode 13b selected by the candidate selection unit 13 as the encoding mode 14a as it is.
  • ⁇ Circle around (3) ⁇ which is the range of candidates to be selected by the candidate selecting unit 13, is merely an example, and the present invention is not limited to this.
  • the number of directions other than 3 may be used, or the range of candidates to be selected based on the angle may be determined, for example, the number of directions included within ⁇ 22.5 °.
  • Example 2 Next, as Example 2 of the above-described embodiment, the moving picture coding apparatus 10 and the moving picture coding method according to the above-described embodiment are set to a mode for motion prediction (here, a method for specifying a reference picture and a motion vector). An example applied to the determination of (accuracy) will be described.
  • a mode for motion prediction here, a method for specifying a reference picture and a motion vector.
  • Motion prediction is an inter-frame prediction process, in which a predicted image is generated based on pixel data at a position indicated by a motion vector of a past or future image, and differential encoding is performed on the target image.
  • This is a technique for greatly improving the coding efficiency of inter-coded blocks.
  • the mode for motion prediction indicates a combination of a reference image number and a motion vector.
  • the reference image number is an identifier indicating from which image of the past or future image the image is to be predicted.
  • FIG. 265 is a view for explaining a reference image in H.265.
  • H.265 it is possible to predict temporally both in the forward direction (past) and the backward direction (future), and 16 reference images are defined before and after. Further, both the forward direction and the backward direction need not be continuous images, and an arbitrary image can be selected as a reference image.
  • FIG. 5B is a diagram illustrating a reference image in VP9. As shown in the figure, in VP9, which is a representative codec that appeared thereafter, three reference images only in the forward direction are defined.
  • FIG. 5C is a diagram illustrating a reference image in AV1.
  • AV1 defines seven reference images only in the forward direction. The image need not be a continuous image in the forward direction, and an arbitrary image can be selected as the reference image.
  • the motion vector is a coordinate indicating which pixel of the image indicated by the reference image number is to be predicted.
  • FIG. 6A is a diagram illustrating an example of the accuracy of the motion vector (1/4 accuracy).
  • FIG. 6B is a diagram illustrating an example of the accuracy of the motion vector (1/8 accuracy).
  • the motion vector can indicate a decimal point position. In that case, a pixel is generated by performing a filtering process based on peripheral pixels at the position indicated by the motion vector.
  • This decimal precision varies for each codec, and H.264 has 1/4 precision, and the next generation H.264 In the case of H.265, the precision is 1/4 precision, in the case of VP9, which is a representative codec that has appeared thereafter, the precision is 1/8 precision, and in the case of AV1, the precision is 1/8 precision.
  • each codec has different decimal precision and a different filter calculation when generating a predicted image
  • the predicted image generated for each codec is different.
  • the basic concept of selecting a close image from a past or future picture and generating a predicted image is common.
  • the determination of the mode for motion prediction is performed in two steps of the first mode selection unit 11 and the second mode selection unit 12 (strictly speaking, the first mode selection unit 11). , The candidate selecting unit 13 and the final selecting unit 14).
  • the processing of the first mode group 11a may be any processing for searching for a prediction method for generating a predicted image from a past or future picture, but in order to make it easier to understand, processing contents existing in the world are taken as an example. I will.
  • the first mode group 11a includes the H.264 mode.
  • H.265 is a mode group for motion prediction defined by H.265
  • the second mode group 13a is a mode group for motion prediction defined by AV1. That is, the first mode selection unit 11 outputs
  • the second mode selection unit 12 has a function of selecting a mode for motion prediction defined by AV1.
  • the second mode selection unit 12 has a function of selecting a mode for motion prediction defined by AV1.
  • details of the operation of the video encoding device 10 according to the present embodiment will be described for each processing unit.
  • first mode selection unit 11 As shown in FIG. In H.265, it is possible to temporally predict from both the forward direction and the backward direction as motion prediction, and 16 reference images are defined before and after. On the other hand, as shown in FIG. 5C, in AV1, seven reference images only in the forward direction are defined.
  • the reference relation is only in the forward direction, and the immediately preceding three sheets can be referred to.
  • search for a motion vector a motion vector in a range of ⁇ 128 pixels with integer precision is searched.
  • the first mode selection unit 11 also outputs the intra prediction mode (reference image + motion vector) of the reference image having the second best cost as the first candidate mode 11b.
  • the candidate selection unit 13 Since the motion vector of the AV1 has 1/8 accuracy and the filter calculation when generating a predicted image is different, the mode selected by the first mode selection unit 11 (that is, the first mode Candidate mode 11b) is close to the best but may not be the best. Therefore, the candidate selection unit 13 selects, as the second candidate mode 13b, a motion vector having the closest direction to the mode selected by the first mode selection unit 11 and its periphery in the second mode group 13a.
  • FIG. 6C is a diagram illustrating an example of the second candidate mode 13b selected by the candidate selection unit 13 of the video encoding device 10 according to the second embodiment.
  • the candidate selecting unit 13 generates a motion vector (49 points) of ⁇ 3 points around the motion vector (first candidate mode 11b) of each reference image selected by the first mode selecting unit 11 with 1/8 accuracy. Is selected and output as the second candidate mode 13b.
  • Cost Cost
  • the encoding unit 15 encodes the target image data according to the encoding mode 14a selected by the final selection unit 14.
  • the first mode selection unit 11 depends on the corresponding codec. Since it can be processed by an arbitrary processing method without using it, it is possible to support a plurality of codecs.
  • the final selection unit 14 it is necessary to evaluate the number of reference images ⁇ the number of motion vector search points (for example, 16 planes ⁇ 65536 ⁇ 128) in the related art. Since this is 49 (the number of motion vector search points), processing can be greatly reduced.
  • the first mode selection unit 11 is an implementation mode (that is, hardware or software) that requires performance
  • the second mode selection unit 12 that is, the candidate selection unit 13 and the final selection unit 14
  • the performance can be improved in an implementation that makes a simple implementation (that is, software).
  • the candidate selection unit 13, the final selection unit 14, and the encoding unit 15 are implemented by hardware, the first mode selection unit 11, which requires the largest processing amount, Since there is no need to design a hardware that supports a plurality of codecs, cost can be reduced.
  • the first mode selection unit 11 outputs It does not have to correspond to H.265.
  • the second mode selection unit 12 may not be compatible with AV1. That is, the video encoding device 10 is not limited to the AV1 encoder.
  • the accuracy of the candidates in the first mode selection unit 11 is such that the motion vector for the ⁇ ⁇ accuracy standard is finally obtained by the hardware for 8 accuracy.
  • the accuracy of the motion vector to be selected by the second mode selection unit 12 may be higher.
  • the first mode selection unit 11 selects the first mode of decimal precision (ie, 1/2 precision, 1/4 precision, 1/8 precision, etc.) from candidates of integer precision (ie, 1/1 precision).
  • the output as the unit 11 may be obtained, and based on the output, the second mode selection unit 12 may obtain the output as the second mode selection unit 12 with decimal precision from integer precision candidates.
  • the first mode selection unit 11 may not use a cost function. For example, only the difference between the predicted image and the original image such as SAD (sum of absolute difference values) and SATD (sum of absolute value of difference conversion coefficient) and the difference between the original image and the reconstructed image such as SSE (accumulated square error) are used as indices. Mode may be selected. Further, a motion such as an optical flow may be estimated. Further, the first mode selection unit 11 may be a mode determination unit that has been machine-learned.
  • the first candidate mode 11b selected by the first mode selection unit 11 may include one reference image or three or more reference images.
  • the number of MVs calculated by the first mode selection unit 11 may be two or more, and a plurality of modes may be output in the best order, and the candidate selection unit 13 may select a mode group including the plurality of modes.
  • the number of motion vectors selected by the candidate selection unit 13 may be one. If there are a plurality of motion vectors selected by the candidate selection unit 13, the possibility that the final selection unit 14 can select the best increases, so that the coding efficiency is good. However, only one motion vector may be used to reduce the processing amount. This is a trade-off, and it is desirable to implement it according to the level required in the market.
  • the ⁇ 3 points in the second candidate mode 13b selected by the candidate selection unit 13 are merely examples, and the present invention is not limited to this.
  • the mode for the motion prediction is a combination of the method of specifying the reference image and the accuracy of the motion vector.
  • a mode of cost calculation in the search for the motion vector may be included.
  • FIG. 265 is a diagram illustrating two candidate motion vectors in H.265.
  • a candidate A that is one of the two candidates
  • a motion vector of a block that is not between planes is selected from the candidate blocks A0 to A1.
  • a candidate B which is another one of the two candidates
  • a motion vector of a block that is not between planes is selected from the candidate blocks B0 to B2.
  • FIG. 265 is a diagram illustrating a cost calculation method in search for a motion vector in H.265.
  • FIG. H. In 265 cost calculation is performed in consideration of the difference between the two candidates A and B (“candidate residual MV”). That is, cost calculation for searching for a motion vector that is the smallest candidate residual is performed.
  • FIG. 8A is a diagram showing three candidate motion vectors in AV1. As three candidates (first to third candidates), the three highest-priority motion vectors from candidate blocks 0 to 17 are selected.
  • FIG. 8B is a diagram illustrating a method of calculating a cost in a search for a motion vector in AV1. In AV1, cost calculation is performed in consideration of the difference between the first to third candidates ("candidate residual MV"). That is, cost calculation for searching for a motion vector that is the smallest candidate residual is performed.
  • the cost calculation method in the search for the motion vector is set as one of the modes for the motion prediction according to the present embodiment.
  • the present invention may be applied to determination of a mode by the moving picture coding device 10 and the moving picture coding method.
  • Example 3 the moving picture coding apparatus 10 and the moving picture coding method according to the above-described embodiment are described in terms of the size of a coding block (hereinafter, also simply referred to as a “block”). An example applied to determination of a mode will be described.
  • H.264 the number of pixels is fixed at 16 ⁇ 16.
  • the maximum size is 64 ⁇ 64, and in the case of AV1, the size is 128 ⁇ 128.
  • FIG. 265 is a diagram for describing the size of an encoded block in H.265. As shown in FIG. In H.265, the blocks are only square and small blocks can be made.
  • the minimum block size is 8x8. In selecting between an intra-plane and an inter-plane, the minimum block size is 8 ⁇ 8, and the block size is further divided into a minimum of 4 ⁇ 4, and an intra-frame prediction mode and an inter-plane prediction mode can be individually designated.
  • FIG. 9B is a diagram illustrating the size of an encoded block in VP9. As shown in the figure, in the VP9, a small block including a rectangle can be created as a block. The minimum block size is 8x8.
  • FIG. 9C is a diagram illustrating the size of an encoded block in AV1.
  • AV1 various combinations of blocks can be created.
  • the minimum block size is 4x4.
  • Each codec has a different size, and the mode of intra prediction differs for each standard, so the predicted image generated differs for each codec.
  • the basic idea that one intra prediction mode is selected for each coding block is common.
  • the encoding block size is determined in two stages of the first mode selection unit 11 and the second mode selection unit 12 (strictly speaking, the first mode selection unit 11, The processing is divided into three stages (a candidate selecting unit 13 and a final selecting unit 14).
  • the processing of the first mode group 11a may be any processing for searching for an optimal coding block size. However, in order to make it easier to understand, processing that exists in the world will be described as an example. In the present embodiment, processing in an in-plane frame will be described.
  • the size group of the coding block defined by H.265 is a first mode group 11a
  • the size group of the coding block defined by AV1 is a second mode group 13a. That is, the first mode selection unit 11 outputs It has a function of selecting the size of the coding block defined by H.265, and the first mode selection unit 11 has a function of selecting the size of the coding block defined by AV1.
  • the video encoding device 10 according to the present embodiment will be described for each processing unit.
  • first mode selection unit 11 As shown in FIG. In H.265, the size of the coding block ranges from 64x64 to 8x8.
  • intra prediction modes intra prediction modes having 33 types of directions (mode numbers 2 to 34) and an intra plane having no direction such as DC (mode number 1) / Planar (mode number 0) are used. There is a prediction mode.
  • the coding block size is determined by comparing the cost of each coding block size. That is, the first mode selection unit 11 compares each Cost in a case where four 8 ⁇ 8 encoded block sizes are selected with each Cost in a case where a 16 ⁇ 16 encoded block size is selected, and then determines the smaller Cost The respective Costs when the selected block size and the coding block size of 32 ⁇ 32 are selected are compared, and then the respective Costs when the smaller Cost is selected and when the coding block size of 64 ⁇ 64 is selected. By selecting the smaller Cost, the optimal coded block size is determined. The determined size of the encoded block becomes the first candidate mode 11b.
  • the size of a coded block ranges from 128 ⁇ 128 to 4 ⁇ 4.
  • the mode selected by the first mode selection unit 11 (that is, the first candidate mode 11b) may not be the optimal mode for AV1. Therefore, the candidate selecting unit 13 selects, as the second candidate mode 13b, a mode having the closest direction to the mode selected by the first mode selecting unit 11 and a peripheral mode thereof, among the second mode group 13a.
  • FIG. 10 is a diagram illustrating an example of the second candidate mode 13b selected by the candidate selection unit 13 of the video encoding device 10 according to the third embodiment.
  • the candidate selection unit 13 selects, as the peripheral mode, a mode including the surrounding ⁇ 1 layer.
  • AV1 also has a rectangular shape as a coding block. Therefore, the selected mode includes a rectangle.
  • the prediction directions in AV1 are the intra-frame prediction mode having 56 kinds of directions, (mode numbers 1 to 8 + addition angle setting), and the intra-frame prediction having no direction such as DC / SMOOTH. There are modes (mode numbers 0, 9 to 12).
  • the final selection unit 14 calculates the cost of the coded block when performing the prediction process (all 61 modes) according to the processing content of AV1 for the second candidate mode 13b, one layer above and below the size. Is selected as the encoding mode 14a.
  • the final selection unit 14 determines the coding block size by comparing Cost of each coding block size.
  • the block size that has not been calculated is previously set as Cost and MAX (maximum value).
  • the final selecting unit 14 compares each Cost in a case where four 8 ⁇ 8 coding block sizes are selected with each Cost in a case where a 16 ⁇ 16 coding block size is selected, and subsequently, selects a smaller Cost block.
  • each cost when a smaller cost is selected is compared with each cost when a coding block size of 64 ⁇ 64 is selected.
  • the final selection unit 14 outputs the determined coding block size as the finally determined coding mode 14a.
  • the encoding unit 15 encodes the target image data according to the encoding mode 14a selected by the final selection unit 14.
  • the first mode selection unit 11 depends on the corresponding codec. Since it can be processed by an arbitrary processing method without using it, it is possible to support a plurality of codecs.
  • the present embodiment adopts the 1872 mode. it can.
  • the first mode selection unit 11 is an implementation form (that is, hardware or software) that requires performance
  • the second mode selection unit 12 that is, the candidate selection unit 13 and the final selection unit 14
  • performance can be improved.
  • the candidate selection unit 13, the final selection unit 14, and the encoding unit 15 are implemented by hardware, the first mode selection unit 11, which requires the largest processing amount, Since there is no need to design a hardware that supports a plurality of codecs, cost can be reduced.
  • the first mode selection unit 11 outputs It does not have to correspond to H.265.
  • the second mode selection unit 12 may not be compatible with AV1. That is, the video encoding device 10 is not limited to the AV1 encoder.
  • the first mode selection unit 11 may not use a cost function. For example, only a difference between a predicted image such as SAD (sum of absolute difference values) and SATD (sum of absolute value of difference conversion coefficient) and an original image, and a difference between an original image such as SSE (accumulated squared error) and a reconstructed image is used as an index. May be selected.
  • SAD sum of absolute difference values
  • SATD sum of absolute value of difference conversion coefficient
  • the first mode selection unit 11 may determine the first candidate mode 11b by a method that does not perform intra-plane prediction, such as determining the coding block size so as to reduce the variance of the image.
  • the first mode selection unit 11 may be a mode determination unit that has been machine-learned.
  • the first mode group 11a only needs to have two or more encoded block sizes.
  • the shape of the coding block is preferably a combination of a square and a rectangle.
  • the number of second candidate modes 13b selected by the candidate selection unit 13 may be one.
  • the number of second candidate modes 13b selected by the candidate selection unit 13 is good for coding efficiency because there is a high possibility that the best can be selected if there are a plurality of second candidate modes 13b.
  • one second mode may be used to reduce the processing amount. This is a trade-off, and it is desirable to implement it according to the level required in the market.
  • the ⁇ 1 layer in the second candidate mode 13b selected by the candidate selection unit 13 is merely an example, and is not limited to this.
  • the moving picture coding method and the moving picture coding apparatus according to the present invention have been described based on the embodiment and the first to third embodiments.
  • the present invention is based on these embodiments and the first to third embodiments.
  • the present invention is not limited to this.
  • Various modifications conceivable by those skilled in the art may be applied to the embodiment and the first to third embodiments, or a combination of some components in the embodiment and the first to third embodiments without departing from the gist of the present invention.
  • Other forms to be performed are also included in the scope of the present invention.
  • the present invention provides, as a moving picture coding method and a moving picture coding apparatus, an architecture that can reduce the cost and time required for recreating a moving picture coding apparatus compliant with a new standard as compared with the conventional method.
  • the present invention can be used as an encoder and a codec implemented by a semiconductor integrated circuit.

Abstract

動画像符号化方法は、動画像の符号化のための所定の第一のモード群(11a)から、少なくとも一つのモードを第一の候補モード(11b)として選択する第一のモード選択ステップ(S10)と、選択された第一の候補モード(11b)に基づいて、所定の第二のモード群(13a)から、一つのモードを符号化モード(14a)として選択する第二のモード選択ステップ(S11)と、選択された符号化モード(14a)で動画像を符号化する符号化ステップ(S12)とを含む。

Description

動画像符号化方法及び動画像符号化装置
 本発明は、動画像符号化方法及び動画像符号化装置に関し、特に、動画像の符号化におけるモードの決定方法に関する。
 ビデオコーデックに関して、MPEG-2、H.264、H.265、VP9、AV1等の複数の規格(以下、ビデオコーデックの規格を単に「コーデック」ともいう)が存在する。将来には、さらに新しい規格が策定される可能性もある。
 このような状況において、従来、共通の処理系で、複数の規格に対応した動画像の符号化を行うことができる動画像符号化装置が提案されている(例えば、特許文献1参照)。
 特許文献1の動画像符号化装置では、複数の規格に対応した複数のハードウェア(つまり、専用の電子回路)を組み込んでおき、対応すべき規格に従って、複数のハードウェアから対応するものを選択的に動作させている。
特許第6223323号公報
 しかしながら、特許文献1では、動画像符号化装置が対応していない規格に対応する必要が生じた場合、例えば、後に策定された規格に対応しなければならなくなった場合には、新たにハードウェアを作り直す必要があり、膨大な費用と時間を要するという問題がある。
 そこで、本発明は、対応していない規格に対応する必要が生じた場合であっても、新たな規格に対応した動画像符号化装置を作り直すのに要する費用及び時間を、従来よりも削減することができる動画像符号化方法及び動画像符号化装置を提供することを目的とする。
 上記目的を達成するために、本発明の一形態に係る動画像符号化方法は、動画像の符号化のための所定の第一のモード群から、少なくとも一つのモードを第一の候補モードとして選択する第一のモード選択ステップと、選択された前記第一の候補モードに基づいて、所定の第二のモード群から、一つのモードを符号化モードとして選択する第二のモード選択ステップと、選択された前記符号化モードで前記動画像を符号化する符号化ステップとを含む。
 上記目的を達成するために、本発明の一形態に係る動画像符号化装置は、動画像の符号化のための所定の第一のモード群から、少なくとも一つのモードを第一の候補モードとして選択する第一のモード選択部と、選択された前記第一の候補モードに基づいて、所定の第二のモード群から、一つのモードを符号化モードとして選択する第二のモード選択部と、選択された前記符号化モードで前記動画像を符号化する符号化部とを備える。
 本発明により、対応していない規格に対応する必要が生じた場合であっても、新たな規格に対応した動画像符号化装置を作り直すのに要する費用及び時間を、従来よりも削減することができる動画像符号化方法及び動画像符号化装置が実現される。
図1は、実施の形態に係る動画像符号化装置の構成を示すブロック図である。 図2は、実施の形態に係る動画像符号化装置の動作を示すフローチャートである。 図3Aは、動画像の符号化における面内予測のモードを説明する図である。 図3Bは、H.264における面内予測のモードの種類を示す図である。 図3Cは、H.265における面内予測のモードの種類を示す図である。 図3Dは、VP9における面内予測のモードの種類を示す図である。 図3Eは、AV1における面内予測のモードの種類を示す図である。 図3Fは、第一のモード選択部が選択する面内予測のモードとそれに最も方向が近いAV1の面内予測のモードとの対応を示す図である。 図3Gは、実施の形態に係る動画像符号化装置の第一のモード選択部が有する第一のモード群の他の例(6例)を示す図である。 図4は、実施例1に係る動画像符号化装置よる面内予測のモードの決定において選択されるモードの変遷を示す図である。 図5Aは、H.264及びH.265における参照画像を説明する図である。 図5Bは、VP9における参照画像を説明する図である。 図5Cは、AV1における参照画像を説明する図である。 図6Aは、動きベクトルの精度の一例(1/4精度)を説明する図である。 図6Bは、動きベクトルの精度の一例(1/8精度)を説明する図である。 図6Cは、実施例2に係る動画像符号化装置の候補選択部が選択する第二の候補モードの例を示す図である。 図7Aは、H.265における2個の候補となる動きベクトルを示す図である。 図7Bは、H.265における動きベクトルの探索におけるコスト計算の方法を説明する図である。 図8Aは、AV1における3個の候補となる動きベクトルを示す図である。 図8Bは、AV1における動きベクトルの探索におけるコスト計算の方法を説明する図である。 図9Aは、H.265における符号化ブロックのサイズを説明する図である。 図9Bは、VP9における符号化ブロックのサイズを説明する図である。 図9Cは、AV1における符号化ブロックのサイズを説明する図である。 図10は、実施例3に係る動画像符号化装置の候補選択部が選択する第二の候補モードの例を説明する図である。
 以下、本発明の実施の形態及び実施例について、図面を用いて詳細に説明する。なお、以下で説明する実施の形態及び実施例は、いずれも本発明の一具体例を示す。以下の実施の形態及び実施例で示される数値、形状、材料、規格、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態及び実施例における構成要素のうち、本発明の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する場合がある。
 (実施の形態)
 図1は、実施の形態に係る動画像符号化装置10の構成を示すブロック図である。動画像符号化装置10は、新たな規格に対応した動画像符号化装置を作り直すのに要する費用及び時間を、従来よりも削減することができるアーキテクチャを有する動画像のエンコーダであり、機能的なブロックとして、第一のモード選択部11、第二のモード選択部12及び符号化部15を備える。
 第一のモード選択部11は、動画像の符号化のための所定の第一のモード群11aから、少なくとも一つのモードを第一の候補モード11bとして選択する処理部であり、プロセッサを含まない第一の電子回路18(例えば、ゲートアレイ等の1チップの半導体集積回路)によって実現される。ここで、モードとは、動画像の符号化での各種処理における具体的な処理方法であり、面内(イントラ)予測のモード(つまり、面内予測における予測画像の処理方法)、動き予測についてのモード(つまり、参照画像と参照方向)、符号化ブロックのサイズについてのモード(つまり、符号化ブロックのサイズ)等がある。第一のモード群11aは、第一の規格(例えば、H.265)で定義されたモード(例えば、面内予測のモード)の集まりである。
 より詳しくは、第一のモード選択部11は、対象画像データに対して、第一のモード群11aを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、第一の候補モード11bを選択する。
 第二のモード選択部12は、第一のモード選択部11で選択された第一の候補モード11bに基づいて、所定の第二のモード群13aから、一つのモードを符号化モード14aとして選択する処理部であり、符号化部15とともに、プロセッサを含む第二の電子回路19(例えば、CPU、プログラムが格納されたROM、RAM、I/O(入出力回路)等を含む1チップの半導体集積回路)によって実現される。第二のモード群13aは、第一のモード群11aに対応する第一の規格とは異なる第二の規格(例えば、AV1)で定義されるモード群(例えば、面内予測のモード)である。したがって、第一のモード群11aは、第二のモード群13aに属さないモードを含む。第一のモード群11aと第二のモード群13aとを比較した場合に、典型的には、第一のモード群11aを構成するモードの数は、第二のモード群13aを構成するモードの数よりも小さい。これは、第一のモード選択部11で大まかなモード選択をし、第二のモード選択部12で、第一のモード選択部11でのモード選択に依存してさらに詳細なモード選択をする二段階処理によって、第二のモード群13aの全てのモードについてコスト計算することを避け、全体として処理負荷を軽減するためである。なお、本実施の形態では、第二の電子回路19は、第一の電子回路18とは異なる半導体基板上に実装されている。
 より詳しくは、第二のモード選択部12は、候補選択部13及び最終選択部14を有する。候補選択部13は、第一のモード選択部11で選択された第一の候補モード11bに基づいて、第二のモード群13aから、少なくとも一つ(典型的には、複数)のモードを第二の候補モード13bとして選択する。具体的には、候補選択部13は、第二のモード群13aから、少なくとも第一のモード選択部11で選択された第一の候補モード11bに近いモードを選択することにより、第二の候補モード13bを選択する。
 また、最終選択部14は、候補選択部13で選択された第二の候補モード13bから、一つの最終的な符号化モード14aを選択する。具体的には、最終選択部14は、候補選択部13で選択された第二の候補モード13bを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、符号化モード14aを選択する。
 符号化部15は、第二のモード選択部12で選択された符号化モード14aで動画像を符号化する処理部であり、第二のモード選択部12とともに、プロセッサを含む第二の電子回路19によって実現される。より詳しくは、符号化部15は、対象画像データに対して、直交変換及び量子化をした後に、エントロピー符号化をし、ビットストリームとして、出力する。さらに、符号化部15は、直交変換及び量子化後の画像データに対して、逆量子化及び逆直交変換をした後に、デブロッキング等のループフィルタの処理を施して得られる参照画像を内部のフレームメモリに格納する。フレームメモリに格納した参照画像に対しては、動き補償の処理を施すことで得られた予測画像を、対象画像データから、直交変換及び量子化に先立って差し引くために用いたり、逆量子化及び逆直交変換を終えた画像データに対して、ループフィルタの処理に先立って加算するために用いたりする。
 次に、以上のように構成された本実施の形態に係る動画像符号化装置10の動作について説明する。
 図2は、実施の形態に係る動画像符号化装置10の動作(つまり、動画像符号化方法)を示すフローチャートである。
 まず、第一のモード選択部11は、動画像の符号化のための所定の第一のモード群11aから、少なくとも一つのモードを第一の候補モード11bとして選択する(第一のモード選択ステップS10)。より詳しくは、第一のモード選択部11は、対象画像データに対して、第一のモード群11aを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、第一の候補モード11bを選択する。
 次に、第二のモード選択部12は、第一のモード選択部11で選択された第一の候補モード11bに基づいて、所定の第二のモード群13aから、一つのモードを符号化モード14aとして選択する(第二のモード選択ステップS11)。
 第二のモード選択ステップS11では、より詳しくは、候補選択部13は、第一のモード選択部11で選択された第一の候補モード11bに基づいて、第二のモード群13aから、少なくとも一つ(典型的には、複数)のモードを第二の候補モード13bとして選択する(候補選択ステップS11a)。具体的には、候補選択部13は、第二のモード群13aから、少なくとも第一のモード選択ステップS10で選択された第一の候補モード11bに近いモードを選択することにより、第二の候補モード13bを選択する。続いて、最終選択部14は、候補選択部13で選択された第二の候補モード13bから、一つの最終的な符号化モード14aを選択する(最終選択ステップS11b)。具体的には、最終選択部14は、候補選択部13で選択された第二の候補モード13bを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、符号化モード14aを選択する。
 最後に、符号化部15は、第二のモード選択部12で選択された符号化モード14aで動画像を符号化する(符号化ステップS12)。より詳しくは、符号化部15は、対象画像データに対して、直交変換及び量子化をした後に、エントロピー符号化をし、ビットストリームとして、出力する。
 以上のように、本実施の形態に係る動画像符号化装置10は、動画像の符号化のための所定の第一のモード群11aから、少なくとも一つのモードを第一の候補モード11bとして選択する第一のモード選択部11と、選択された第一の候補モード11bに基づいて、所定の第二のモード群13aから、一つのモードを符号化モード14aとして選択する第二のモード選択部12と、選択された符号化モード14aで動画像を符号化する符号化部15とを備える。
 また、本実施の形態に係る動画像符号化方法は、動画像の符号化のための所定の第一のモード群11aから、少なくとも一つのモードを第一の候補モード11bとして選択する第一のモード選択ステップS10と、選択された第一の候補モード11bに基づいて、所定の第二のモード群13aから、一つのモードを符号化モード14aとして選択する第二のモード選択ステップS11と、選択された符号化モード14aで動画像を符号化する符号化ステップS12とを含む。
 これにより、符号化におけるモード決定のプロセスが二段階に分離されるので、例えば、第一のモード群11aとして、対象の規格に依存しない代表的なモードの集まりとし、第二のモード群13aとして、対象の規格に対応したものとしておくことで、新たな規格に対応する必要が生じた場合に、第二のモード群13aの選択に関する箇所(ハードウェア又はソフトウェア)だけを作り直すことで対応できる。よって、モード決定に関する全工程について作り直す必要がある従来に比べ、新たな規格に対応した動画像符号化装置10を作り直すのに要する費用及び時間を、従来よりも削減することができる。
 ここで、第一のモード選択部11は、プロセッサを含まない第一の電子回路18であり、第二のモード選択部12は、プロセッサを含む第二の電子回路19である。つまり、第一のモード選択ステップS10は、プロセッサを含まない第一の電子回路18によって実行され、第二のモード選択ステップS11は、プロセッサを含む第二の電子回路19によって実行される。
 これにより、第一のモード群11aとして、対象の規格に依存しない代表的なモードの集まりとし、第二のモード群13aとして、対象の規格に対応したものとしておくことで、新たな規格に対応する必要が生じた場合に、第二のモード群13aの選択に関する箇所(つまり、ソフトウェア)だけを作り直すことで対応できる。よって、ハードウェアを作り直す必要がある従来に比べ、新たな規格に対応した動画像符号化装置10を作り直すのに要する費用及び時間を、従来よりも削減することができる。
 また、第一の電子回路18及び第二の電子回路19は、異なる半導体基板上に実装されている。これにより、第一のモード群11aの選択に関するハードウェアと、第二のモード群13aの選択に関するソフトウェアとが異なる半導体チップに実装されるので、ソフトウェアを改訂する場合には、一部の半導体チップに対する改変だけで済む。
 また、第二のモード選択ステップS11は、第一のモード選択ステップS10で選択された第一の候補モード11bに基づいて、第二のモード群13aから、少なくとも一つのモードを第二の候補モード13bとして選択する候補選択ステップS11aと、候補選択ステップS11aで選択された第二の候補モード13bから、符号化モード14aを選択する最終選択ステップS11bとを含む。
 これにより、第二の候補モード13bの中から符号化モード14aが選択されるので、第二のモード群13aを構成する全てのモードについて評価することなく最終の符号化モード14aを決定できるので、モード決定が高速化される。
 また、第一のモード選択ステップS10では、第一のモード群11aを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、第一の候補モード11bを選択し、候補選択ステップS11aでは、第二のモード群13aから、少なくとも第一のモード選択ステップS10で選択された第一の候補モード11bに近いモードを選択することにより、第二の候補モード13bを選択し、最終選択ステップS11bでは、候補選択ステップS11aで選択された第二の候補モード13bを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、符号化モード14aを選択する。
 これにより、第二のモード群13aが対象の規格に対応したものであっても、第二のモード群13aを構成する全てのモードについてコスト計算をすることが回避されるので、モード決定が高速化される。
 また、第一のモード群11aは、第一の規格で定義されるモード群であり、第二のモード群13aは、第一の規格とは異なる第二の規格で定義されるモード群である。これにより、第二の規格を動画像符号化装置10の対象の規格とすることで、第二のモード群13aの選択に関する箇所(ハードウェア又はソフトウェア)だけを作り直すことで、新たな規格に対応できる。
 また、第一のモード群11aを構成するモードの数は、第二のモード群13aを構成するモードの数よりも小さい。これにより、モード決定において、例えば、第一段階で概括的なモード選択をし、その結果を用いて第二段階で詳細なモード選択をすることが可能となり、第二のモード群13aを構成する全てのモードを評価したうえで符号化モード14aを選択する場合に比べ、処理負荷が軽減される。
 また、第一のモード群11aは、第二のモード群13aに属さないモードを含む。これにより、モード決定において、例えば、第一段階で概括的なモード選択をし、その結果を用いて第二段階で詳細なモード選択をすることが可能となり、第二のモード群13aを構成する全てのモードを評価したうえで符号化モード14aを選択する場合に比べ、処理負荷が軽減される。
 なお、上記実施の形態では、第一のモード選択ステップS10を実行する第一の電子回路18は、ハードウェア(つまり、プロセッサを含まない専用の電子回路)で実現され、第二のモード選択ステップS11を実行する第二の電子回路19は、ソフトウェア(つまり、プロセッサを含む汎用の電子回路)によって実現されたが、このような構成に限定されない。第一のモード選択ステップS10及び第二のモード選択ステップS11のいずれも、ハードウェアで実現されてもよいし、ソフトウェアで実現されてもよい。いずれの形態であっても、大まかなモード選択と、その選択結果に依存した詳細なモード選択という二段階処理が行われ、第二のモード群13aの全てのモードについてコスト計算することが回避され、全体としても処理負荷が軽減されるというメリット、及び、第一のモード群11aとして、対象の規格に依存しない代表的なモードの集まりとし、第二のモード群13aとして、対象の規格に対応したものとしておくことで、新たな規格に対応する必要が生じた場合に、第二のモード群13aの選択に関する箇所(ハードウェア又はソフトウェア)だけを作り直すことで対応できるというメリットを享受できる。
 また、上記実施の形態では、第一の電子回路18及び第二の電子回路19は、異なる半導体基板上に実装されたが、このような実装形態に限定されない。第一の電子回路18及び第二の電子回路19は、同一の半導体基板上に実装されてもよい。その場合であっても、第一のモード群11aとして、対象の規格に依存しない代表的なモードの集まりとし、第二のモード群13aとして、対象の規格に対応したものとしておくことで、新たな規格に対応する必要が生じた場合に、第二のモード群13aの選択に関する箇所(ソフトウェア)だけを作り直すことで対応できる。
 また、上記実施の形態では、第二のモード選択部12と符号化部15とは、共通の電子回路(つまり、第二の電子回路19)によって実現されたが、これに限定されない。第二のモード選択部12と符号化部15とは、独立した電子回路で実現されてもよい。その場合には、新たな規格に対応する必要が生じた場合であっても、符号化部15の処理に変更が生じない場合には、第二のモード選択部12が実装された電子回路だけを作り直すことで対応できる。
 また、上記実施の形態では、第一のモード群11aは、第一の規格で定義されるモード群であったが、これに限定されない。第一のモード群11aは、例えば、規格に対応したモード群ではなく、第二の規格に対応する第二のモード群13aの一部(つまり、サブセット)であってもよい。その場合であっても、大まかなモード選択と、その選択結果に依存した詳細なモード選択という二段階処理が行われ、第二のモード群13aの全てのモードについてコスト計算することが回避され、全体としても処理負荷が軽減されるというメリット、及び、第二のモード群13aとして、対象の規格に対応したものとしておくことで、新たな規格に対応する必要が生じた場合に、第二のモード群13aの選択に関する箇所(ハードウェア又はソフトウェア)だけを作り直すことで対応できるというメリットを享受できる。
 (実施例1)
 次に、上記実施の形態の実施例1として、上記実施の形態に係る動画像符号化装置10及び動画像符号化方法を、面内予測のモードの決定に適用した事例を説明する。
 面内予測とは面内予測処理のことであり、符号化ブロックに隣接する画素から予測画像を生成して差分符号化することで面内符号化ブロックの符号化効率を大きく改善する技術である。
 図3Aは、動画像の符号化における面内予測のモード(以下、「予測方向」ともいう)を説明する図である。本図に示されるように、面内予測のモードは、いろいろあり、45°、90°といった方向にある隣接画素をもとに予測画像を生成するような方向を持つ面内予測のモードと、隣接する画素の平均値を予測画像とするような方向を持たない面内予測のモードとがある。
 面内予測のモードの種類(つまり、モード群)はコーデック(つまり、規格)によって異なる。図3Bは、H.264における面内予測のモードの種類を示す図である。本図に示されるように、H.264では、方向を持つ面内予測のモードが8モード、方向を持たない面内予測のモードが1モードある。図3Cは、H.265における面内予測のモードの種類を示す図である。図3Cの(a)は、H.265における面内予測のモード番号0~34の予測方向等を示し、図3Cの(b)は、H.265における面内予測の各モードの予測方向についての角度の定義を示し、図3Cの(c)は、H.265における面内予測の各モード番号と角度の定義との対応を示す。図3Cに示されるように、H.265では、方向を持つ面内予測のモードが33モード(モード番号2~34)、方向を持たない面内予測のモードが2モード(モード番号0(Planar)、モード番号1(DC))ある。図3Dは、VP9における面内予測のモードの種類を示す図である。本図に示されるように、VP9では、方向を持つ面内予測のモードが8モード、方向を持たない面内予測のモードが2モードある。図3Eは、AV1における面内予測のモードの種類を示す図である。本図に示されるように、AV1は方向を持つ面内予測のモードが最大56モード、方向を持たない面内予測のモードが5モードある。いずれのコーデックも方向数や角度が違っており、同じ角度のモードがあったとしても予測画像を生成するときのフィルタ計算がコーデックによって異なるため、生成される予測画像はコーデックごとに異なる。ところが、方向に従って隣接画素から予測画像を生成するという基本的な考え方は共通している。
 本実施例では、この共通性に着目して面内予測のモードの決定を第一のモード選択部11と第二のモード選択部12の二段階(厳密には、第一のモード選択部11、候補選択部13及び最終選択部14の三段階)にわけて処理をする。
 なお、第一のモード群11aの処理は、方向に従って隣接画素から予測画像を生成するための予測方法を探索する任意の処理でよいが、理解しやすくするため、世の中に存在する処理内容を例に挙げて説明する。ここでは、H.265で定義される方向をもつ面内予測のモードの33モードを第一のモード群11aとし、AV1で定義される方向をもつ面内予測のモードの56モードを第二のモード群13aとする。つまり、第一のモード選択部11は、H.265で定義される面内予測のモードを選択する機能を有し、第二のモード選択部12は、AV1で定義される面内予測のモードを選択する機能を有しているものとする。
 図4は、実施例1に係る動画像符号化装置10よる面内予測のモードの決定において選択されるモードの変遷を示す図である。図4の(a)は、第一のモード群11a、及び、第一のモード群11aから第一のモード選択部11によって選択される第一の候補モード11bの例を示し、図4の(b)は、選択された第一の候補モード11b及び第二のモード群13aの例を示し、図4の(c)は、第二のモード群13aから候補選択部13によって選択される第二の候補モード13bの例を示し、図4の(d)は、第二の候補モード13bから最終選択部14によって選択される符号化モード14aの例を示す。以下、本実施例に係る動画像符号化装置10の動作の詳細について、処理部ごとに、説明する。
 ・第一のモード選択部11の動作
 図3Cに示すとおり、H.265では33種の方向をもつ面内予測のモード(モード番号2~34)と、DC(モード番号1)及びPlanar(モード番号0)といった方向を持たない面内予測のモードとがある。第一のモード選択部11は、これらうち33方向の面内予測のモードを第一のモード群11aとし、その第一のモード群11aから一つの面内予測のモードを第一の候補モード11bとして選ぶ。
 本実施例においては、第一のモード選択部11は、モードの選択を、各面内予測のモードにおけるR-D最適化のための一般的なコスト関数(つまり、Cost=Distortion+λ*Rate)を用いて行う。ここで、Distortionは、符号化歪を指し、符号化ブロックにおける原画像と予測画像の差分値の絶対値和(SAD)を用いる。Rateは、定数であり、面内予測のモードにかかわるモードに必要な符号化ビット量が設定される。λは、ラグランジュ乗数と呼ばれ、符号化歪とビット量の最適化のためのパラメータである。第一のモード選択部11は、33方向の各面内予測のモードにおいて、実際に隣接画素を用いてH.265の処理内容に従って予測処理を行ったときの符号化ブロックのCostをそれぞれ算出し、最もCostが小さくなる面内予測のモードを第一の候補モード11bとして選択する。
 ・候補選択部13の動作
 図3Eに示すとおり、AV1の予測方向は56種の方向を持つ面内予測のモードと(モード番号1~8及び追加角度設定)、DC/SMOOTHといった方向を持たない面内予測のモード(モード番号0、9~12)とがある。方向を持つ面内予測のモードの方向数は、H.265より多く、その角度も予測画像を生成するときのフィルタ計算式も異なる。したがって、第一のモード選択部11が選択したモード(つまり、第一の候補モード11b)は最適なモードではない可能性がある。そのため、候補選択部13は、第二のモード群13aのうち、第一のモード選択部11が選択したモードと最も方向が近いモードとその周辺モードを第二の候補モード13bとして選択する。図3Fは、第一のモード選択部11が選択する面内予測のモード(つまり、H.265の面内予測のモード番号)と、それに最も方向が近いAV1の面内予測のモード番号との対応を示す図である。ここで、周辺モードとは、H.265の面内予測のモードと最も方向が近いAV1の面内予測のモードに近いものから±3方向の面内予測のモードである。よって、本実施例では、候補選択部13は、第一のモード選択部11が選択したH.265の面内予測のモード(つまり、第一の候補モード11b)と最も方向が近いAV1の面内予測のモード、及び、そのAV1の面内予測のモードに近いものから±3方向の面内予測のモードを含めた7個の面内予測のモードを、第二の候補モード13bとして選択して出力する。
 例えば、図3EにおけるNo.14(モード番号6のD157、追加角度+9)が第一のモード選択部11が選択した第一の候補モード11bであった場合は、候補選択部13は、No.11~17の面内予測のモードを第二の候補モード13bとして選ぶ。本実施例では、候補選択部13は、これらのNo.11~17の面内予測のモードに、DC/SMOOTHなどの方向を持たない面内予測のモード(モード番号0、9~12)を加えたものを、第二の候補モード13bとして選択して出力する。
 ・最終選択部14の動作
 本実施例においては、最終選択部14は、第一のモード選択部11と同様に、符号化モード14aの選択を、各面内予測のモードにおけるR-D最適化のための一般的なコスト関数(Cost=Distortion+λ*Rate)を用いて行う。具体的には、最終選択部14は、第二の候補モード13bである、方向を持つ面内予測のモード(つまり、7モード)と方向を持たない面内予測のモード(つまり、6モード)とを合わせた13モードについて、実際に隣接画素を用いてAV1の処理内容に従って予測処理を行ったときのCostをそれぞれ算出し、最もCostが小さくなる面内予測のモードを符号化モード14aとして選択する。
 ・符号化部15の動作
 符号化部15は、最終選択部14で選択された符号化モード14aにしたがって対象の画像データを符号化する。
 以上のように、本実施例に係る動画像符号化装置10及び動画像符号化方法によれば、実装においてハードウェア実装を考えた場合、第一のモード選択部11は対応するコーデックに依存せずに任意の処理方法で処理できるので、複数のコーデックへの対応が可能である。
 また、最終選択部14において、従来であれば方向を持つ面内予測のモード(つまり、56モード)と方向を持たない面内予測のモード(つまり、6モード)とを合わせた62モードの評価が必要であったところが、本実施例では13モードになるため、大幅に処理を減らすことができる。また、第一のモード選択部11を、性能が必要な実装形態(つまり、ハードウェア又はソフトウェア)とし、第二のモード選択部12(つまり、候補選択部13及び最終選択部14)を、柔軟な実装形態(つまり、ソフトウェア)とするような実装形態において、性能向上をすることができる。
 なお、第一のモード選択部11、候補選択部13、最終選択部14及び符号化部15すべてをハードウェアで実装する場合には、もっとも処理量が多く必要な第一のモード選択部11が複数コーデック対応したハードウェア設計としなくてよくなるため、コスト削減することができる。
 なお、本実施例において、第一のモード選択部11は、H.265に対応したものでなくてもよい。
 また、第二のモード選択部12は、AV1に対応したものでなくてもよい。つまり、動画像符号化装置10は、AV1エンコーダに限定されない。
 また、第一のモード選択部11は、コスト関数を用いなくてもよい。例えば、SAD(差分絶対値和)、SATD(差分変換係数絶対値和)などの予測画像と原画像との差分、SSE(二乗誤差累積)などの原画像と再構築画像との差分のみを指標にモードを選択してもよい。
 また、第一のモード選択部11は、画像のエッジ検出(Sobelフィルタなど)など面内予測処理をしない方法によって第一の候補モード11bを選択してもよい。さらに、第一のモード選択部11は、機械学習させたモード判定部であってもよい。
 また、第一のモード群11aは、2以上の方向であればよい。図3Gは、実施の形態に係る動画像符号化装置10の第一のモード選択部11が有する第一のモード群11aの他の例(6例)を示す図である。本図に示されるように、第一のモード群11aは、180°を分割して得られる2、5、9、17、33、65方向などのモードであってもよい。
 また、第一のモード選択部11が選択する第一の候補モード11bは、方向を持つモードだけでなくてもよく、本実施例のように、H.265では、DC/Planarを含めてもよい。そのときに、DC/Planarの面内予測のモードと方向をもつ面内予測のモードとのコスト差が大きい場合には、候補選択部13は、選択するモードは方向をもつ面内予測のモードと方向を持たない面内予測のモードのいずれかCostが小さいほうを選択すればよい。これにより、最終選択部14における処理をさらに削減することができる。
 また、第一のモード選択部11が出力する第一の候補モード11bは、2個以上でもよく、Costが小さい順に複数のモードを出力してもよい。その場合、候補選択部13は、複数のモードを含むモード群を選択してもよい。例えば、図3EにおけるNo.14(モード番号6のD157、追加角度+9)及びNo.23(モード番号4のD135、追加角度+3)が第一のモード選択部11が選択した第一の候補モード11bであった場合は、候補選択部13は、No.11~17及びNo.20~26までを第二の候補モード13bとして選んでもよい。
 また、候補選択部13で選択する第二の候補モード13bは、1個でもよい。複数個あればよりベストを選べる可能性が増えるので符号化効率にとってはよいが、処理量を減らすには1個でもよく、そこはトレードオフであり、市場における要求レベルに合わせて実装することが望ましい。この場合には、最終選択部14は、候補選択部13が選択した1個の第二の候補モード13bを、そのまま、符号化モード14aとして出力する。
 また、候補選択部13で選択する候補の範囲である±3方向は、あくまで例であり、これに限定されない。3以外の方向数でもよいし、たとえば±22.5°以内に含まれる方向数といったように、角度を基準に選択する候補の範囲を決めてもよい。
 (実施例2)
 次に、上記実施の形態の実施例2として、上記実施の形態に係る動画像符号化装置10及び動画像符号化方法を、動き予測についてのモード(ここでは、参照画像の特定方法及び動きベクトルの精度)の決定に適用した事例を説明する。
 動き予測とは面間予測処理のことであり、過去又は未来の画像の動きベクトルが指す位置にある画素データをもとに予測画像を生成して対象画像に対して差分符号化をすることで面間(インター)符号化ブロックの符号化効率を大きく改善する技術である。ここで、動き予測についてのモードとは、参照画像番号と動きベクトルの組み合わせを指すものとする。参照画像番号は、過去又は未来の画像の複数の画像のうちどの画像から予測するかを示す識別子である。
 図5Aは、H.264及びH.265における参照画像を説明する図である。本図に示されるように、H.264及びH.265では、時間的に前方向(過去)及び後ろ方向(未来)の両方から予測することが可能であり、前後合わせて16面の参照画像が定義されている。また前方向及び後ろ方向いずれも、連続した画像でなくてもよく、任意の画像を参照画像として選ぶことができる。
 図5Bは、VP9における参照画像を説明する図である。本図に示されるように、その後に出現した代表的なコーデックであるVP9では、前方向のみの3面の参照画像が定義されている。
 図5Cは、AV1における参照画像を説明する図である。本図に示されるように、AV1では、前方向のみの7面の参照画像が定義されている。また前方向に連続した画像でなくてもよく、任意の画像を参照画像として選ぶことができる。
 動きベクトルは、参照画像番号が示す画像のどの画素から予測するかを示す座標である。
 図6Aは、動きベクトルの精度の一例(1/4精度)を説明する図である。図6Bは、動きベクトルの精度の一例(1/8精度)を説明する図である。図6A及び図6Bに示されるように、動きベクトルは、小数点位置を指し示すことができる。その場合、動きベクトルが指した位置の周辺画素をもとにフィルタ処理を行って画素を生成する。この小数精度は、各コーデックでさまざまであり、H.264では1/4精度、その次の世代のH.265では1/4精度、またその後出現した代表的なコーデックであるVP9では1/8精度、AV1では1/8精度となっている。
 いずれのコーデックも小数精度や予測画像を生成するときのフィルタ計算などが異なるため、コーデックごとに生成される予測画像は異なる。ところが、過去又は未来の絵から近い画像を選んで予測画像を生成するという基本的な考え方は共通している。
 本実施例では、この共通性に着目して動き予測についてのモードの決定を第一のモード選択部11と第二のモード選択部12の二段階(厳密には、第一のモード選択部11、候補選択部13及び最終選択部14の三段階)にわけて処理をする。
 第一のモード群11aの処理は、過去又は未来の絵から予測画像を生成するための予測方法を探索する任意の処理でよいが、理解しやすくするため、世の中に存在する処理内容を例に挙げる。具体的には、本実施例では、第一のモード群11aは、H.265で定義される動き予測についてのモード群であり、第二のモード群13aは、AV1で定義される動き予測についてのモード群である。つまり、第一のモード選択部11は、H.265で定義される動き予測についてのモードを選択する機能を有し、第二のモード選択部12は、AV1で定義される動き予測についてのモードを選択する機能を有している。以下、本実施例に係る動画像符号化装置10の動作の詳細について、処理部ごとに、説明する。
 ・第一のモード選択部11の動作
 図5Aに示されるように、H.265では、動き予測として、時間的に前方向及び後ろ方向の両方から予測することが可能であり、前後合わせて16面の参照画像が定義されている。一方で、図5Cに示されるように、AV1では、前方向のみの7面の参照画像が定義されている。
 本実施例においては、前方向のみの参照関係とし、直前の3枚を参照可能とする。また動きベクトルの探索については、整数精度で±128画素の範囲の動きベクトルを探索するものとする。
 本実施例においては、第一のモード選択部11は、モードの選択を、R-D最適化のためのコスト関数(Cost=Distortion+λ*Rate)を用いて行う。つまり、第一のモード選択部11は、3つの参照画像及び各動きベクトルにおいて実際に予測処理を行ったときのCostをそれぞれ算出し、最もCostが小さくなる面内予測のモード(参照画像+動きベクトル)を選択する。ここでは、第一のモード選択部11は、2番目にCostがよい異なる参照画像の面内予測のモード(参照画像+動きベクトル)も併せて、第一の候補モード11bとして出力する。
 ・候補選択部13の動作
 AV1の動きベクトルは1/8精度であり、また予測画像を生成するときのフィルタ計算などが異なるため、第一のモード選択部11が選択したモード(つまり、第一の候補モード11b)はベストに近いがベストではない可能性がある。そのため、候補選択部13は、第二のモード群13aのうち、第一のモード選択部11が選択したモードと最も方向が近い動きベクトルとその周辺を第二の候補モード13bとして選択する。
 図6Cは、実施例2に係る動画像符号化装置10の候補選択部13が選択する第二の候補モード13bの例を示す図である。候補選択部13は、第一のモード選択部11が選んだ参照画像それぞれの動きベクトル(第一の候補モード11b)に対して、1/8精度で周辺±3点の動きベクトル(49点)を第二の候補モード13bとして選択して出力する。
 ・最終選択部14の動作
 本実施例においては、最終選択部14は、第一のモード選択部11と同様に、符号化モード14aの選択を、R-D最適化のためのコスト関数(Cost=Distortion+λ*Rate)を用いて行う。具体的には、最終選択部14は、第二の候補モード13bについて、実際に予測処理を行ったときのCostをそれぞれ算出し、最もCostが小さくなる面内予測のモードを選択して、最終的に決定した符号化モード14aとして出力する。
 ・符号化部15の動作
 符号化部15は、最終選択部14で選択された符号化モード14aにしたがって対象の画像データを符号化する。
 以上のように、本実施例に係る動画像符号化装置10及び動画像符号化方法によれば、実装においてハードウェア実装を考えた場合、第一のモード選択部11は対応するコーデックに依存せずに任意の処理方法で処理できるので、複数のコーデックへの対応が可能である。
 また、最終選択部14において、従来であれば参照画像数×動きベクトル探索点数(例えば16面×65536±128)の評価が必要であったところが、本実施例では、2(参照画像数)×49(動きベクトル探索点数)になるため、大幅に処理を減らすことができる。また、第一のモード選択部11を、性能が必要な実装形態(つまり、ハードウェア又はソフトウェア)とし、第二のモード選択部12(つまり、候補選択部13及び最終選択部14)を、柔軟な実装形態(つまり、ソフトウェア)とするような実装形態において、性能向上をすることができる。
 なお、第一のモード選択部11、候補選択部13、最終選択部14及び符号化部15すべてをハードウェアで実装する場合には、もっとも処理量が多く必要な第一のモード選択部11が複数コーデック対応したハードウェア設計としなくてよくなるため、コスト削減をすることができる。
 なお、第一のモード選択部11は、H.265に対応したものでなくてもよい。
 また、第二のモード選択部12は、AV1に対応したものでなくてもよい。つまり、動画像符号化装置10は、AV1エンコーダに限定されない。
 すなわち、本実施例では、第一のモード選択部11で1/4精度に対する規格(H.265)用のハードウェアを想定し、第二のモード選択部12で1/8精度に対する規格(AV1)に対する動きベクトルを求めたが、1/8精度用のハードウェアで、最終的に1/4精度の規格に対する動きベクトルを求めるというように、第一のモード選択部11での候補の精度が、第二のモード選択部12で選択されるべき動きベクトルの精度より高くてもよい。また、第一のモード選択部11で、整数精度(すなわち1/1精度)の候補から小数精度(すなわち、1/2精度、1/4精度、1/8精度など)の第一のモード選択部11としての出力を得て、その出力に基づいて、第二のモード選択部12で、整数精度の候補から小数精度の第二のモード選択部12としての出力を得る、ということでもよい。
 また、第一のモード選択部11は、コスト関数を用いなくてもよい。例えば、SAD(差分絶対値和)、SATD(差分変換係数絶対値和)などの予測画像と原画像との差分、SSE(二乗誤差累積)などの原画像と再構築画像との差分のみを指標にモードを選択してもよい。また、オプティカルフローなどの動きを推定してもよい。さらに、第一のモード選択部11は、機械学習させたモード判定部であってもよい。
 また、第一のモード選択部11が選択する第一の候補モード11bは、参照画像が1枚でもよいし、3枚以上でもよい。
 また、第一のモード選択部11が算出するMVは2個以上でもよく、ベスト順に複数モードを出力し、候補選択部13で複数モードを含むモード群を選択してもよい。
 また、候補選択部13が選択する動きベクトルは、1個でもよい。候補選択部13が選択する動きベクトルは、複数個あれば、最終選択部14がよりベストを選べる可能性が増えるから符号化効率にとってはよいが、処理量を減らすには1個でもよい。そこはトレードオフであり、市場における要求レベルに合わせて実装することが望ましい。
 また、候補選択部13が選択する第二の候補モード13bにおける±3点は、あくまで例であり、これに限定されない。
 また、本実施例では、動き予測についてのモードとして、参照画像の特定方法及び動きベクトルの精度の組み合わせをモードとしたが、動きベクトルの探索におけるコスト計算の方法を含めてもよい。
 つまり、H.265では、動きベクトルの探索におけるコスト計算では、2個の候補となる動きベクトルを算出する。図7Aは、H.265における2個の候補となる動きベクトルを示す図である。2個の候補のうちの1個である候補Aとして、候補ブロックA0~A1から面間ではないブロックの動きベクトルを選択する。2個の候補のうちの他の1個である候補Bとして、候補ブロックB0~B2から面間ではないブロックの動きベクトルを選択する。図7Bは、H.265における動きベクトルの探索におけるコスト計算の方法を説明する図である。H.265では、2個の候補A及び候補Bとの差分(「候補残差MV」)を考慮したコスト計算を行う。つまり、最も小さい候補残差となる動きベクトルを探索するコスト計算を行う。
 一方、AV1では、動きベクトルの探索におけるコスト計算では、3個の候補となる動きベクトルを算出する。図8Aは、AV1における3個の候補となる動きベクトルを示す図である。3個の候補(候補1位~候補3位)として、候補ブロック0~17から優先度の高い上位3つの動きベクトルを選択する。図8Bは、AV1における動きベクトルの探索におけるコスト計算の方法を説明する図である。AV1では、3個の候補1位~候補3位との差分(「候補残差MV」)を考慮したコスト計算を行う。つまり、最も小さい候補残差となる動きベクトルを探索するコスト計算を行う。
 このように、規格によって動きベクトルの探索におけるコスト計算の方法が異なるので、動きベクトルの探索におけるコスト計算の方法を、本実施例における動き予測についてのモードの一つとして、上記実施の形態に係る動画像符号化装置10及び動画像符号化方法によるモードの決定に適用してもよい。
 (実施例3)
 次に、上記実施の形態の実施例3として、上記実施の形態に係る動画像符号化装置10及び動画像符号化方法を、符号化ブロック(以下、単に「ブロック」ともいう)のサイズについてのモードの決定に適用した事例を説明する。
 面内予測や動き予測をするブロックサイズは、H.264では、画素数で、16x16で固定である。H.265以降で拡張され、H.265及びVP9では、最大で、64x64、AV1では、128x128である。これらのH.265以降の規格では、最大ブロックの中でさらに細かく分割することが可能である。
 図9Aは、H.265における符号化ブロックのサイズを説明する図である。本図に示されるように、H.265では、ブロックは、正方形のみであり、小さいブロックを作ることができる。最小のブロックサイズは、8x8である。面内か面間かの選択では、最小のブロックサイズが8x8であり、さらに最小4x4までブロックサイズを分割して、面内予測のモードや面間予測のモードを個別に指定できる。
 図9Bは、VP9における符号化ブロックのサイズを説明する図である。本図に示されるように、VP9では、ブロックとして、長方形も含めて小さいブロックを作ることができる。最小のブロックサイズは、8x8である。
 図9Cは、AV1における符号化ブロックのサイズを説明する図である。AV1では、さらにいろんな組み合わせのブロックを作ることができる。最小のブロックサイズは、4x4である。
 いずれのコーデックもサイズが違っており、面内予測のモードが規格ごとにことなるので生成される予測画像もコーデックごとに異なる。ところが、符号化ブロック単位で一つの面内予測のモードが選ばれるという基本的な考え方は共通している。
 本実施例では、この共通性に着目して符号化ブロックサイズの決定を第一のモード選択部11と第二のモード選択部12の二段階(厳密には、第一のモード選択部11、候補選択部13及び最終選択部14の三段階)にわけて処理をする。
 なお、第一のモード群11aの処理は、最適な符号化ブロックサイズを探索する任意の処理でよいが、理解しやすくするため、世の中に存在する処理内容を例に挙げて説明する。また、本実施例では、面内フレームでの処理を説明する。
 本実施例では、H.265で定義される符号化ブロックのサイズ群を第一のモード群11aとし、AV1で定義される符号化ブロックのサイズ群を第二のモード群13aとする。つまり、第一のモード選択部11は、H.265で定義される符号化ブロックのサイズを選択する機能を有し、第一のモード選択部11は、AV1で定義される符号化ブロックのサイズを選択する機能を有しているものとする。以下、本実施例に係る動画像符号化装置10の動作の詳細について、処理部ごとに、説明する。
 ・第一のモード選択部11の動作
 図9Aに示されるように、H.265では、符号化ブロックのサイズは、64x64~8x8まである。また、図3Cに示されるように、H.265では、面内予測のモードとして、33種の方向をもつ面内予測のモード(モード番号2~34)と、DC(モード番号1)/Planar(モード番号0)といった方向を持たない面内予測のモードとがある。
 本実施例では、第一のモード選択部11は、符号化ブロックのサイズについてのモードの選択では、各面内予測のモードにおけるR-D最適化のための一般的なコスト関数(Cost=Distortion+λ*Rate)を用いて行う。具体的には、第一のモード選択部11は、各面内予測のモード(35モード)において実際に隣接画素を用いてH.265の処理内容に従って予測処理を行ったときの符号化ブロックのCostをそれぞれ算出し、最もCostが小さくなる面内予測のモードを選択して、当該符号化ブロックサイズにおける最適なCostとする。この処理を64x64~8x8までの符号化ブロックサイズのすべてについて行う。
 そして、各符号化ブロックサイズのCostを比べて符号化ブロックサイズを決定する。つまり、第一のモード選択部11は、8x8の符号化ブロックサイズを4つ選択した場合と16x16の符号化ブロックサイズを選択した場合の各Costを比較し、続いて、より小さなCostの方を選択した場合と32x32の符号化ブロックサイズを選択した場合の各Costを比較し、続いて、より小さなCostを選択した場合と64x64の符号化ブロックサイズを選択した場合の各Costを比較し、より小さなCostの方を選択することで、最適な符号化ブロックのサイズを決定する。決定した符号化ブロックのサイズが、第一の候補モード11bとなる。
 ・候補選択部13の動作
 図9Cに示されるように、AV1では、符号化ブロックのサイズは、128x128~4x4まである。第一のモード選択部11が選択したモード(つまり、第一の候補モード11b)は、AV1にとって最適なモードではない可能性がある。そのため、候補選択部13は、第二のモード群13aのうち、第一のモード選択部11が選択したモードと最も方向が近いモードとその周辺モードを第二の候補モード13bとして選択する。
 図10は、実施例3に係る動画像符号化装置10の候補選択部13が選択する第二の候補モード13bの例を説明する図である。本図に示されるように、候補選択部13は、周辺モードとして、周辺±1階層含めたモードを選択する。なお、AV1には、符号化ブロックとして、長方形もある。よって、選択されるモードには、長方形も含まれる。
 ・最終選択部14の動作
 本実施例においては、最終選択部14は、第一のモード選択部11と同様に、符号化ブロックのサイズについてのモードの選択を、各面内予測のモードにおけるR-D最適化のための一般的なコスト関数(Cost=Distortion+λ*Rate)を用いて行う。
 図3Eに示されるように、AV1での予測方向は、56種の方向を持つ面内予測のモードと(モード番号1~8+追加角度設定)、DC/SMOOTHといった方向を持たない面内予測のモード(モード番号0、9~12)がある。
 最終選択部14は、第二の候補モード13bである、サイズ上下一階層について、AV1の処理内容に従って予測処理(全61モード)を行ったときの符号化ブロックのCostをそれぞれ算出し、最もCostが小さくなる面内予測のモードを符号化モード14aとして選択する。
 具体的には、最終選択部14は、各符号化ブロックサイズのCostを比べて符号化ブロックサイズを決定する。計算していないブロックサイズは、予めCostとして、MAX(最大値)としておく。そして、最終選択部14は、8x8の符号化ブロックサイズを4つ選択した場合と16x16の符号化ブロックサイズを選択した場合の各Costを比較し、続いて、より小さなCostの方を選択した場合と32x32の符号化ブロックサイズを選択した場合の各Costを比較し、続いて、より小さなCostを選択した場合と64x64の符号化ブロックサイズを選択した場合の各Costを比較し、より小さなCostを選択することで、最適な符号化ブロックサイズを決定する。最終選択部14は、決定した符号化ブロックのサイズを、最終的に決定した符号化モード14aとして出力する。
 ・符号化部15の動作
 符号化部15は、最終選択部14で選択された符号化モード14aにしたがって対象の画像データを符号化する。
 以上のように、本実施例に係る動画像符号化装置10及び動画像符号化方法によれば、実装においてハードウェア実装を考えた場合、第一のモード選択部11は対応するコーデックに依存せずに任意の処理方法で処理できるので、複数のコーデックへの対応が可能である。
 また、最終選択部14において、従来であれば128x128~4x4の符号化ブロックサイズまでの4421モードの評価が必要であったところが、本実施例では1872モードになるため、大幅に処理を減らすことができる。また、第一のモード選択部11を、性能が必要な実装形態(つまり、ハードウェア又はソフトウェア)とし、第二のモード選択部12(つまり、候補選択部13及び最終選択部14)を柔軟な実装形態(つまり、ソフトウェア)とするような実装形態において、性能向上することができる。
 なお、第一のモード選択部11、候補選択部13、最終選択部14及び符号化部15すべてをハードウェアで実装する場合には、もっとも処理量が多く必要な第一のモード選択部11が複数コーデック対応したハードウェア設計としなくてよくなるため、コスト削減をすることができる。
 なお、第一のモード選択部11は、H.265に対応したものでなくてもよい。
 また、第二のモード選択部12は、AV1に対応したものでなくてもよい。つまり、動画像符号化装置10は、AV1エンコーダに限定されない。
 また、第一のモード選択部11は、コスト関数を用いなくてもよい。例えば、SAD(差分絶対値和)、SATD(差分変換係数絶対値和)などの予測画像と原画像差分、SSE(二乗誤差累積)などの原画像と再構築画像との差分のみを指標にモードを選択してもよい。
 また、第一のモード選択部11は、画像の分散が小さくなるように符号化ブロックサイズを決めるなど、面内予測をしない方法によって第一の候補モード11bを決定してもよい。
 また、第一のモード選択部11は、機械学習させたモード判定部でもよい。
 また、第一のモード群11aは、2以上の符号化ブロックのサイズがあればよい。このとき、符号化ブロックの形状として、正方形及び長方形の組み合わせであることが望ましい。
 また、候補選択部13が選択する第二の候補モード13bは、1個でもよい。候補選択部13が選択する第二の候補モード13bは、複数個あればよりベストを選べる可能性が増えるから符号化効率にとってはよいが、処理量を減らすには1個でもよい。そこはトレードオフであり、市場における要求レベルに合わせて実装することが望ましい。
 また、候補選択部13で選択する第二の候補モード13bにおける±1階層は、あくまで例であり、これに限定されない。
 また、長方形の符号化ブロックについては、すべて探索しなくてもいい。例えば、上の階層については、全部の符号化ブロックを探索し、下の階層については、正方形の符号化ブロックのみを探索してもよい。
 以上、本発明に係る動画像符号化方法及び動画像符号化装置について、実施の形態及び実施例1~3に基づいて説明したが、本発明は、これらの実施の形態及び実施例1~3に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を実施の形態及び実施例1~3に施したものや、実施の形態及び実施例1~3における一部の構成要素を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
 本発明は、動画像符号化方法及び動画像符号化装置として、特に、新たな規格に対応した動画像符号化装置を作り直すのに要する費用及び時間を、従来よりも削減することができるアーキテクチャを有する動画像符号化装置として、例えば、半導体集積回路で実現されるエンコーダ及びコーデックとして、利用できる。
 10 動画像符号化装置
 11 第一のモード選択部
 11a 第一のモード群
 11b 第一の候補モード
 12 第二のモード選択部
 13 候補選択部
 13a 第二のモード群
 13b 第二の候補モード
 14 最終選択部
 14a 符号化モード
 15 符号化部
 18 第一の電子回路
 19 第二の電子回路
 S10 第一のモード選択ステップ
 S11 第二のモード選択ステップ
 S11a 候補選択ステップ
 S11b 最終選択ステップ
 S12 符号化ステップ

Claims (15)

  1.  動画像の符号化のための所定の第一のモード群から、少なくとも一つのモードを第一の候補モードとして選択する第一のモード選択ステップと、
     選択された前記第一の候補モードに基づいて、所定の第二のモード群から、一つのモードを符号化モードとして選択する第二のモード選択ステップと、
     選択された前記符号化モードで前記動画像を符号化する符号化ステップと
     を含む動画像符号化方法。
  2.  前記第一のモード選択ステップは、プロセッサを含まない第一の電子回路によって実行され、
     前記第二のモード選択ステップは、プロセッサを含む第二の電子回路によって実行される
     請求項1記載の動画像符号化方法。
  3.  前記第一の電子回路及び前記第二の電子回路は、異なる半導体基板上に実装されている
     請求項2記載の動画像符号化方法。
  4.  前記第二のモード選択ステップは、
     前記第一のモード選択ステップで選択された前記第一の候補モードに基づいて、前記第二のモード群から、少なくとも一つのモードを第二の候補モードとして選択する候補選択ステップと、
     前記候補選択ステップで選択された前記第二の候補モードから、前記符号化モードを選択する最終選択ステップとを含む
     請求項1~3のいずれか1項に記載の動画像符号化方法。
  5.  前記第一のモード選択ステップでは、前記第一のモード群を構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、前記第一の候補モードを選択し、
     前記候補選択ステップでは、前記第二のモード群から、少なくとも前記第一のモード選択ステップで選択された前記第一の候補モードに近いモードを選択することにより、前記第二の候補モードを選択し、
     前記最終選択ステップでは、前記候補選択ステップで選択された前記第二の候補モードを構成する各モードについてコスト計算を行い、得られたコストが低いモードを優先して選択することにより、前記符号化モードを選択する
     請求項4記載の動画像符号化方法。
  6.  前記第一のモード群は、第一の規格で定義されるモード群であり、
     前記第二のモード群は、前記第一の規格とは異なる第二の規格で定義されるモード群である
     請求項1~5のいずれか1項に記載の動画像符号化方法。
  7.  前記第一のモード群を構成するモードの数は、前記第二のモード群を構成するモードの数よりも小さい
     請求項1~6のいずれか1項に記載の動画像符号化方法。
  8.  前記第一のモード群は、前記第二のモード群に属さないモードを含む
     請求項1~7のいずれか1項に記載の動画像符号化方法。
  9.  前記第一のモード群及び第二のモード群は、面内予測のモードの集まりである
     請求項1~8のいずれか1項に記載の動画像符号化方法。
  10.  前記第一のモード群及び第二のモード群は、動き予測についてのモードの集まりである
     請求項1~8のいずれか1項に記載の動画像符号化方法。
  11.  前記動き予測についてのモードは、参照画像の特定方法及び動きベクトルの精度の少なくとも一方によって定義される
     請求項10記載の動画像符号化方法。
  12.  前記第一のモード群及び第二のモード群は、符号化ブロックのサイズについてのモードの集まりである
     請求項1~8のいずれか1項に記載の動画像符号化方法。
  13.  動画像の符号化のための所定の第一のモード群から、少なくとも一つのモードを第一の候補モードとして選択する第一のモード選択部と、
     選択された前記第一の候補モードに基づいて、所定の第二のモード群から、一つのモードを符号化モードとして選択する第二のモード選択部と、
     選択された前記符号化モードで前記動画像を符号化する符号化部と
     を備える動画像符号化装置。
  14.  前記第一のモード選択部は、プロセッサを含まない第一の電子回路であり、
     前記第二のモード選択部は、プロセッサを含む第二の電子回路である
     請求項13記載の動画像符号化装置。
  15.  前記第一の電子回路及び前記第二の電子回路は、異なる半導体基板上に実装されている
     請求項14記載の動画像符号化装置。
PCT/JP2018/034232 2018-09-14 2018-09-14 動画像符号化方法及び動画像符号化装置 WO2020054060A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020546655A JP7243732B2 (ja) 2018-09-14 2018-09-14 動画像符号化方法及び動画像符号化装置
PCT/JP2018/034232 WO2020054060A1 (ja) 2018-09-14 2018-09-14 動画像符号化方法及び動画像符号化装置
US17/198,045 US11516481B2 (en) 2018-09-14 2021-03-10 Video encoding method and video encoding device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/034232 WO2020054060A1 (ja) 2018-09-14 2018-09-14 動画像符号化方法及び動画像符号化装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/198,045 Continuation US11516481B2 (en) 2018-09-14 2021-03-10 Video encoding method and video encoding device

Publications (1)

Publication Number Publication Date
WO2020054060A1 true WO2020054060A1 (ja) 2020-03-19

Family

ID=69776527

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/034232 WO2020054060A1 (ja) 2018-09-14 2018-09-14 動画像符号化方法及び動画像符号化装置

Country Status (3)

Country Link
US (1) US11516481B2 (ja)
JP (1) JP7243732B2 (ja)
WO (1) WO2020054060A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389763A (zh) * 2023-06-05 2023-07-04 瀚博半导体(上海)有限公司 基于多种编码器的视频编码方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042860A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路
WO2013172074A1 (ja) * 2012-05-15 2013-11-21 ソニー株式会社 画像処理装置及び画像処理方法
US20140161172A1 (en) * 2012-12-11 2014-06-12 Jason N. Wang Software hardware hybrid video encoder
JP2015035659A (ja) * 2013-08-07 2015-02-19 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、及び画像符号化プログラム
WO2017094298A1 (ja) * 2015-12-04 2017-06-08 ソニー株式会社 画像処理装置、画像処理方法及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1679590B1 (en) * 2001-01-31 2011-03-23 Renesas Electronics Corporation Data processing system
JP4576930B2 (ja) * 2004-08-26 2010-11-10 カシオ計算機株式会社 動きベクトル検出装置、および、プログラム
US7830960B2 (en) 2005-01-13 2010-11-09 Qualcomm Incorporated Mode selection techniques for intra-prediction video encoding
KR101353301B1 (ko) * 2008-04-11 2014-01-21 에스케이 텔레콤주식회사 인트라 예측 모드 결정 방법 및 그 장치와 이를 이용한영상 부호화/복호화 방법 및 그 장치
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
US8411756B2 (en) * 2009-05-21 2013-04-02 Ecole De Technologie Superieure Method and system for generating block mode conversion table for efficient video transcoding
KR101702553B1 (ko) * 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
KR101452860B1 (ko) * 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
BR112013016095B1 (pt) * 2010-12-23 2022-08-16 Samsung Electronics Co., Ltd. Método de decodificar uma imagem, e método de codificar uma imagem
JP6223323B2 (ja) 2014-12-12 2017-11-01 Nttエレクトロニクス株式会社 小数画素生成方法
US10171819B2 (en) 2015-08-03 2019-01-01 Arris Enterprises Llc Intra prediction mode selection in video coding
WO2017073362A1 (ja) 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
EP3459244A4 (en) * 2016-01-12 2020-03-04 Telefonaktiebolaget LM Ericsson (publ) VIDEO CODING WITH HYBRID INTRAPREDICTION
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
US10574999B2 (en) * 2016-05-05 2020-02-25 Intel Corporation Method and system of video coding with a multi-pass prediction mode decision pipeline

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012042860A1 (ja) * 2010-09-30 2012-04-05 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラム、及び集積回路
WO2013172074A1 (ja) * 2012-05-15 2013-11-21 ソニー株式会社 画像処理装置及び画像処理方法
US20140161172A1 (en) * 2012-12-11 2014-06-12 Jason N. Wang Software hardware hybrid video encoder
JP2015035659A (ja) * 2013-08-07 2015-02-19 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、及び画像符号化プログラム
WO2017094298A1 (ja) * 2015-12-04 2017-06-08 ソニー株式会社 画像処理装置、画像処理方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TSUKUBA, TAKESHI ET AL.: "Coding mode decision for MPEG-2 to H.264 video transcoding", IEICE TECHNICAL REPORT, vol. 105, no. 463, 6 December 2005 (2005-12-06), pages 37 - 42, ISSN: 0913-5685 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389763A (zh) * 2023-06-05 2023-07-04 瀚博半导体(上海)有限公司 基于多种编码器的视频编码方法和装置
CN116389763B (zh) * 2023-06-05 2023-08-11 瀚博半导体(上海)有限公司 基于多种编码器的视频编码方法和装置

Also Published As

Publication number Publication date
JP7243732B2 (ja) 2023-03-22
JPWO2020054060A1 (ja) 2021-09-09
US20210195210A1 (en) 2021-06-24
US11516481B2 (en) 2022-11-29

Similar Documents

Publication Publication Date Title
US9451255B2 (en) Image encoding apparatus, image encoding method, image decoding apparatus, and image decoding method
RU2544799C2 (ru) Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
KR101927283B1 (ko) 비디오 코딩을 위한 저 복잡성 인트라 예측
JP5795525B2 (ja) 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラムおよび画像復号プログラム
CN104994386A (zh) 通过帧内预测来对图像进行编码和解码的方法和设备
CN112567743A (zh) 图像编码装置、图像解码装置及程序
JPWO2012086829A1 (ja) 動き推定装置、動き推定方法、動き推定プログラム、および動画像符号化装置
JP2007013298A (ja) 画像符号化装置
CN110691241A (zh) 应用加速
US20090028241A1 (en) Device and method of coding moving image and device and method of decoding moving image
JP2023168518A (ja) 予測ブロック生成装置、画像符号化装置、画像復号装置、及びプログラム
US11736721B2 (en) Methods and devices for coding and decoding a data stream representative of at least one image
WO2019189904A1 (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
WO2020054060A1 (ja) 動画像符号化方法及び動画像符号化装置
JP2023138826A (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
KR100771640B1 (ko) 고속 모드 결정 기능을 구비한 h.264 인코더
JP4797999B2 (ja) 画像符号化・復号化装置
KR100790757B1 (ko) H.264 동영상 부호화기의 적응적 고속 움직임 추정 방법
JP2006165699A (ja) 画像符号化装置および画像符号化方法
JP7444599B2 (ja) イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
JP2018186456A (ja) 画像符号化装置、画像符号化方法及びプログラム
WO2021111595A1 (ja) フィルタ生成方法、フィルタ生成装置及びプログラム
JP2023005868A (ja) 画像復号装置、画像復号方法及びプログラム
JP6485045B2 (ja) インデックス演算装置、プログラム及び方法
JP2007243859A (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: 18933296

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020546655

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18933296

Country of ref document: EP

Kind code of ref document: A1