[go: up one dir, main page]

WO2017010073A1 - 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 - Google Patents

動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 Download PDF

Info

Publication number
WO2017010073A1
WO2017010073A1 PCT/JP2016/003258 JP2016003258W WO2017010073A1 WO 2017010073 A1 WO2017010073 A1 WO 2017010073A1 JP 2016003258 W JP2016003258 W JP 2016003258W WO 2017010073 A1 WO2017010073 A1 WO 2017010073A1
Authority
WO
WIPO (PCT)
Prior art keywords
merge
block
encoding
vector
motion
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2016/003258
Other languages
English (en)
French (fr)
Inventor
芙美代 鷹野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to US15/742,964 priority Critical patent/US10462479B2/en
Priority to JP2017528284A priority patent/JP6962193B2/ja
Publication of WO2017010073A1 publication Critical patent/WO2017010073A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/436Methods 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 using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Definitions

  • the present invention relates to a moving image encoding device, a moving image encoding method, and a moving image encoding program, and in particular, a moving image encoding device and a moving image encoding method that operate with high parallel processing efficiency without lowering the encoding efficiency. And a moving image encoding program.
  • H.264 H.264
  • H.265 H.265
  • HEVC H.265
  • Non-Patent Document 1 describes the contents of processing based on the H.265 standard.
  • video encoding processing based on the H.265 standard an image (picture) is divided into block units called CTU (Coding Tree Unit), and the divided CTUs are displayed in raster scan order (upper left to right in the screen). Processed in the order lined down).
  • the maximum size of CTU is 64x64 pixels.
  • the CTU is further divided into quadtrees in block units called CU (Coding Unit).
  • CU Coding Unit
  • the encoding process is performed for each CU.
  • CTU is composed of CTB (Coding Tree Block) of luminance signal and color difference signal.
  • the CU is composed of a luminance signal and a color difference signal CB (Coding Block).
  • Motion compensation prediction that compresses information between frames is a technology that compresses moving picture information by the following method.
  • motion compensated prediction motion information between an encoding target frame and an encoded reference frame is used to correct an image of the reference frame.
  • the difference information between the corrected image (predicted image) and the current image of the encoding target frame and information representing the motion between frames are encoded.
  • the motion between the frames is expressed by a motion vector representing the amount of movement.
  • D is the amount of distortion generated in the difference image
  • R is the amount of code generated by encoding the motion information
  • is a weighting factor that depends on the complexity of the image.
  • each piece of motion information of a block (neighboring block) located in a spatial neighborhood or each piece of motion information of a block located in a temporal neighborhood has a higher correlation than each piece of motion information of a normal block.
  • AMVP Adaptive Motion Vector Prediction
  • merge mode in which motion information is copied from motion information of neighboring blocks Is used.
  • FIG. 16 shows a spatial neighborhood block that is located in the spatial neighborhood of the encoding target block among the neighborhood blocks.
  • FIG. 16 is an explanatory diagram showing spatial neighboring blocks of the encoding target block.
  • the spatial neighborhood blocks are blocks A, B, C, D, and E shown in FIG.
  • the neighboring blocks include temporal neighboring blocks that belong to temporal neighboring frames of the frame to which the encoding target block belongs and are blocks having the same position as the encoding target block.
  • the encoder In the merge mode, only the index of the list of motion information of neighboring blocks is encoded, and the encoded index is transmitted.
  • the encoder can arbitrarily select a block used in merge mode or AMVP from a list of neighboring blocks.
  • the neighboring block motion information obtained by the encoder is the same as the information obtained by the decoder. That is, in merge mode, transmission of an encoded index corresponds to transmission of motion information. In the merge mode, the amount of code generated by encoding motion information is further reduced.
  • the index in the merge mode is not fixed information for each block position, but coding of neighboring blocks. It is set according to the mode.
  • the merge mode is a technique that has a great effect on the reduction of the code amount. In order to achieve higher coding efficiency, it is important that the merge mode is used appropriately.
  • FIG. 17 is a block diagram illustrating a configuration example of a general moving image encoding apparatus.
  • 17 includes a transform / quantization unit 1100, a subtraction unit 1200, an encoding unit 1300, an inverse transform / inverse quantization unit 1400, an addition unit 1210, a loop filter 1500, and the like.
  • the subtraction unit 1200 subtracts the prediction image input from the intra-screen prediction unit 1800 or the motion compensation prediction unit 1900 from the image signal input from the outside.
  • the subtracting unit 1200 sets an image obtained by subtracting the predicted image as a difference image, and inputs the difference image to the transform / quantization unit 1100.
  • the transform / quantization unit 1100 orthogonally transforms the input difference image and quantizes the generated transform coefficient.
  • the transform / quantization unit 1100 inputs the quantized transform coefficient to the encoding unit 1300.
  • the encoding unit 1300 performs lossless encoding such as variable length encoding or arithmetic encoding on the input quantized transform coefficient to generate a bitstream.
  • the generated bit stream is output from the moving image encoding apparatus 1000.
  • the quantized transform coefficient is input to the inverse transform / inverse quantization unit 1400.
  • the inverse transform / inverse quantization unit 1400 performs inverse quantization on the input quantized transform coefficient, and performs inverse orthogonal transform on the generated transform coefficient.
  • the inverse transform / inverse quantization unit 1400 inputs the information subjected to the inverse orthogonal transform to the addition unit 1210.
  • the addition unit 1210 adds the inversely orthogonally transformed information and the predicted image to generate a reconstructed image.
  • the adding unit 1210 inputs the generated reconstructed image to the loop filter 1500.
  • the loop filter 1500 removes block distortion of the input reconstructed image.
  • the loop filter 1500 stores the reconstructed image from which block distortion has been removed in the frame buffer 1600.
  • the reconstructed image stored in the frame buffer 1600 is used as a reference image for another frame.
  • the predictive coding information determination unit 1700 uses the input image, the reconstructed image, and the reference image of another frame to determine whether to predict the input image in the prediction mode of the in-screen prediction mode or the motion compensation prediction mode. . Also, the predictive coding information determination unit 1700 determines predictive coding information for the determined prediction mode.
  • the in-screen prediction unit 1800 the reconstructed image before the block distortion is removed is input.
  • the intra-screen prediction unit 1800 performs intra-screen prediction processing on the input reconstructed image, and outputs the intra-screen prediction image generated by the intra-screen prediction processing.
  • the motion compensation prediction unit 1900 detects the position change of the image block of the input image corresponding to the image block of the reconstructed image stored in the frame buffer 1600. Next, the motion compensation prediction unit 1900 obtains a motion vector corresponding to the detected position change. In addition, the motion compensation prediction unit 1900 performs motion compensation prediction processing using the obtained motion vector, and outputs a motion compensation prediction image generated by the motion compensation prediction processing.
  • the in-screen prediction unit 1800 and the motion compensation prediction unit 1900 each create a prediction image according to the determination content of the prediction coding information determination unit 1700.
  • FIG. 18 shows a configuration example of the predictive coding information determination unit 1700 that determines predictive coding information including motion information.
  • FIG. 18 is a block diagram illustrating a configuration example of a general predictive coding information determination unit. 18 includes a motion vector search unit 1710, a merge vector / merge index determination unit 1720, an in-screen prediction mode determination unit 1730, a prediction encoding mode determination unit 1740, and prediction information. Buffer 1750.
  • the motion vector search unit 1710 has a function of determining a provisional motion vector having a minimum cost from a large number of motion vector candidates within the search range by performing block matching or the like.
  • block matching is a method of searching for a motion vector having a minimum cost on a reference pixel by using a cost function such as SAD (Sum of Absolute ⁇ ⁇ Difference, absolute value error sum).
  • the merge vector / merge index determination unit 1720 has a function of determining a merge vector having a minimum cost from a plurality of merge vector candidates derived from motion vectors of neighboring blocks by performing block matching or the like. Further, the merge vector / merge index determination unit 1720 has a function of determining a merge index corresponding to the merge vector that minimizes the determined cost.
  • the in-screen prediction mode determination unit 1730 has a function of determining a mode with the lowest cost among a plurality of in-screen prediction modes.
  • the predictive coding mode determination unit 1740 receives the provisional motion vector and the cost related to the provisional motion vector output from the motion vector search unit 1710. Also, the prediction encoding mode determination unit 1740 receives the merge information and the cost related to the merge information output from the merge vector / merge index determination unit 1720.
  • the merge information includes a merge vector and a merge index.
  • the prediction coding mode determination unit 1740 receives the cost related to the screen mode information and the screen mode information output from the screen prediction mode determination unit 1730.
  • the predictive coding mode determination unit 1740 sets the predictive coding mode for the block to be coded as a prediction vector mode, a merge mode, or an intra-screen prediction mode in which a provisional motion vector is used. Decide whether to switch to mode. Note that the prediction vector mode and the merge mode are included in the motion compensation prediction mode.
  • the prediction information buffer 1750 has a function of holding predictive coding information such as determined motion information. Prediction coding information determined from the prediction coding mode determination unit 1740 is input to the prediction information buffer 1750.
  • FIG. 19 is a block diagram illustrating a configuration example of a general merge vector / merge index determination unit.
  • the merge vector / merge index determination unit 1720 shown in FIG. 19 includes a merge vector candidate list generation unit 1721 and a merge vector / index selection unit 1722.
  • the merge vector candidate list generation unit 1721 has a function of generating a list of motion vectors which are merge vector candidates from the motion vectors of neighboring blocks held in a motion information buffer (not shown).
  • the merge vector / index selection unit 1722 calculates an evaluation cost for each merge vector candidate included in the list generated by the merge vector candidate list generation unit 1721 based on the current image and the reference image.
  • the merge vector / index selection unit 1722 selects a merge vector having the smallest calculated evaluation cost, and selects an index of the selected merge vector.
  • the merge vector / index selection unit 1722 outputs the merge information including the selected merge vector and the merge index, and the evaluation cost related to the selected merge vector.
  • There is a large amount of computation related to the motion estimation process in which the costs for many vectors are compared. That is, speeding up of the motion estimation process is required.
  • a many-core processor such as a GPU (Graphic Processing Unit) having a large number of processor cores executes motion estimation processing in parallel, so that there is a high possibility that processing speed will be increased.
  • WPP Widefront Parallel Processing
  • FIG. 20 is an explanatory diagram showing an example of WPP.
  • a video encoding apparatus encodes image blocks in each row in parallel using WPP
  • an encoding target block in a predetermined row is an encoding target in a row immediately above a predetermined row.
  • the block is shifted to the left by 2 blocks from the block. Therefore, when encoding a block to be encoded in a predetermined row, the video encoding apparatus can refer to the processing results of the left block and the upper right block.
  • Patent Document 1 divides an image into a plurality of regions, and encodes a block in contact with the boundary of the region by using only information on the block in the region to which the block in contact with the boundary belongs. An encoding processing apparatus that performs encoding processing in parallel is described.
  • Non-Patent Document 1 employs a function called parallel merge that improves the parallelism of encoding processing.
  • parallel merge the CTU is divided into a plurality of square regions called MER (Motion Estimation Region).
  • the encoding device can encode, for example, four 8x8 size blocks or 16 4x4 size blocks belonging to the same MER in parallel.
  • Patent Document 2 and Patent Document 3 when a block belonging to a CU is encoded, reference to other blocks belonging to the same CU is prohibited, so that blocks belonging to the same CU are parallel to each other. The technology to be processed is described.
  • the above task corresponds to the encoding processing of each block in parallel processing such as WPP and the techniques described in Patent Document 2 and Patent Document 3.
  • the above task corresponds to the encoding processing of each divided area.
  • the amount of processing processed by each processor is the amount of processing related to the processing of the allocated task.
  • the encoding device can perform tasks according to the processing amount, such as a task with a large amount of processing and a task with a small amount, or a task with the same processing amount. This is because tasks can be distributed to the processor cores after combining the above.
  • the maximum size of MER is 64x64 size which is the same as the maximum size of CTU.
  • the maximum number of PUs in the CU is 4.
  • the maximum number of tasks that can be processed in parallel is four, and the number of tasks is insufficient to sufficiently operate the many-core processor. It is.
  • the many-core processor is expected to perform the encoding process at high speed.
  • the merge vector candidate list generation unit 1721 generates a list of motion vectors that are merge vector candidates from the motion vectors of neighboring blocks.
  • the merge vector candidate list generation unit 1721 refers to both the block in the predetermined area to which the encoding target block belongs and the block outside the predetermined area.
  • the present invention provides a moving picture coding apparatus, a moving picture coding method, and a moving picture coding program that can solve a number of tasks in parallel without reducing the coding efficiency and solve the above-described problems. With the goal.
  • the moving picture coding apparatus compensates for motion compensation from motion vectors of adjacent blocks included in a reference area among adjacent blocks that are adjacent to a target block to be encoded included in a reference area constituting an image. It is characterized by comprising a motion vector determining means for determining a motion vector of an encoding target block used for prediction.
  • the moving picture coding method is a motion compensation method based on motion vectors of adjacent blocks included in a reference area among adjacent blocks that are adjacent to an encoding target block included in a reference area constituting an image. It is characterized in that a motion vector of an encoding target block used for prediction is determined.
  • the recording medium compensates for motion compensation from a motion vector of an adjacent block included in a reference area among adjacent blocks that are adjacent to an encoding target block included in the reference area included in the image.
  • a moving picture coding program is stored which executes a determination process for determining a motion vector of a coding target block used for prediction.
  • the present invention is also realized by the moving image encoding program.
  • FIG. 10 is a block diagram illustrating a configuration example of a first embodiment of a predictive coding information determination unit 2700.
  • FIG. FIG. 11 is a block diagram showing a configuration example of a merge vector / merge index determination unit 2720. It is a flowchart which shows the operation
  • FIG. 38 is a flowchart showing an operation of merge vector candidate list generation processing by a merge vector candidate list generation unit 2721.
  • FIG. 12 is a block diagram illustrating a configuration example of a second exemplary embodiment of a predictive coding information determination unit 2700.
  • FIG. 7 is a block diagram illustrating a configuration example of a merge vector determination unit 2760.
  • FIG. 10 is a block diagram illustrating a configuration example of a merge index determination unit 2770.
  • FIG. It is a flowchart which shows the operation
  • 24 is a flowchart showing an operation of merge vector candidate list generation processing by a merge vector candidate list generation unit 2771.
  • FIG. 12 is a flowchart showing an operation of a merge index selection process by a merge index selection unit 2772. It is a flowchart which shows the operation
  • FIG. 1 is a block diagram showing a configuration example of a first embodiment of a moving picture coding apparatus according to the present invention.
  • the moving picture coding apparatus 1000 of the present embodiment is different from the moving picture coding apparatus 1000 shown in FIG. 17 in that a predictive coding information determination unit 2700 is used instead of the prediction coding information determination unit 1700. Different points are included.
  • the configuration of the moving picture encoding apparatus 1000 shown in FIG. 1 other than the predictive coding information determining unit 2700 is the same as that of the moving picture encoding apparatus 1000 shown in FIG.
  • the predictive coding information determination unit 2700 is characterized in that it does not refer to a block outside a specific area in a frame (screen) to which a block to be coded belongs when creating a merge vector candidate list.
  • the specific area in the present embodiment is a CTB that includes the encoding target block. That is, the predictive coding information determination unit 2700 does not refer to a block that does not belong to the CTB to which the coding target block belongs when creating the merge vector candidate list.
  • the specific area may be an area other than the CTB.
  • FIG. 2 is a block diagram illustrating a configuration example of the first embodiment of the predictive coding information determination unit 2700.
  • a motion vector search unit 2710 includes a motion vector search unit 2710, a merge vector / merge index determination unit 2720, an in-screen prediction mode determination unit 2730, a prediction encoding mode determination unit 2740, and prediction information.
  • buffer 2750 includes a motion vector search unit 2710, a merge vector / merge index determination unit 2720, an in-screen prediction mode determination unit 2730, a prediction encoding mode determination unit 2740, and prediction information.
  • buffer 2750 includes a motion vector search unit 2710, a merge vector / merge index determination unit 2720, an in-screen prediction mode determination unit 2730, a prediction encoding mode determination unit 2740, and prediction information.
  • buffer 2750 includes a motion vector search unit 2710, a merge vector / merge index determination unit 2720, an in-screen prediction mode determination unit 2730, a prediction encoding mode determination unit 2740, and prediction information.
  • the motion vector search unit 2710 has a function of determining a provisional motion vector having a minimum cost from a large number of motion vector candidates within the search range by performing block matching or the like.
  • the merge vector / merge index determination unit 2720 has a function of determining a merge vector having a minimum cost from a plurality of merge vector candidates derived from motion vectors of neighboring blocks by performing block matching or the like. Further, the merge vector / merge index determination unit 2720 has a function of determining a merge index corresponding to a merge vector that minimizes the determined cost.
  • the in-screen prediction mode determination unit 2730 has a function of determining a mode with the lowest cost among a plurality of in-screen prediction modes.
  • the predictive coding mode determination unit 2740 receives the provisional motion vector and the cost related to the provisional motion vector output from the motion vector search unit 2710. Further, the prediction encoding mode determination unit 2740 receives the merge information and the cost related to the merge information output from the merge vector / merge index determination unit 2720. In addition, the predictive coding mode determination unit 2740 receives the intra-screen mode information and the cost related to the intra-screen mode information output from the intra-screen prediction mode determination unit 2730.
  • the predictive coding mode determination unit 2740 sets the predictive coding mode for the block to be coded as a prediction vector mode in which a provisional motion vector is used, a merge mode, or an intra prediction mode. Decide whether to switch to mode.
  • the prediction information buffer 2750 has a function of holding predictive coding information such as determined motion information. Prediction coding information determined from the prediction coding mode determination unit 2740 is input to the prediction information buffer 2750.
  • FIG. 3 is a block diagram showing a configuration example of the merge vector / merge index determination unit 2720.
  • the merge vector / merge index determination unit 2720 shown in FIG. 3 includes a merge vector candidate list generation unit 2721 and a merge vector / index selection unit 2722.
  • the merge vector candidate list generation unit 2721 has a function of generating a list of motion vectors that are merge vector candidates from the prediction coding information of spatial neighboring blocks or the prediction coding information of temporal neighboring blocks.
  • the spatial neighborhood block is, for example, a block adjacent to the encoding target block.
  • the temporally neighboring block is, for example, a block having the same position as the encoding target block in another frame.
  • the merge vector / index selection unit 2722 calculates an evaluation cost for each merge vector candidate included in the list generated by the merge vector candidate list generation unit 2721 based on the current image and the reference image.
  • the merge vector / index selection unit 2722 selects a merge vector having the smallest calculated evaluation cost, and selects an index of the selected merge vector.
  • the merge vector / index selection unit 2722 outputs merge information including the selected merge vector and merge index, and an evaluation cost related to the selected merge vector.
  • FIG. 4 is a flowchart illustrating the operation of the predictive coding mode determination process by the predictive coding information determination unit 2700 according to the first embodiment.
  • intra-frame prediction mode determination processing, motion vector search processing, merge vector / merge index determination processing, and prediction encoding mode determination processing are continuously performed on one coding target block for each CTB. It is an example of operation to be performed.
  • the prediction encoding information determination unit 2700 receives one CTB that has not yet been processed among the CTBs constituting the input image. That is, the CTB loop is entered (step S101).
  • the prediction encoding information determination unit 2700 selects one block for which the prediction encoding mode has not yet been determined from among the blocks in the input CTB. That is, the CTB block loop is entered (step S102).
  • the in-screen prediction mode determination unit 2730 determines the in-screen prediction mode that minimizes the cost for the selected block (step S103).
  • the motion vector search unit 2710 determines, for the selected block, a provisional motion vector having a minimum cost from among a large number of motion vector candidates within the search range (step S104).
  • the merge vector / merge index determination unit 2720 determines, for the selected block, a merge vector having a minimum cost from among a plurality of merge vector candidates derived from the motion vectors of neighboring blocks. Further, the merge vector / merge index determination unit 2720 determines a merge index corresponding to the determined merge vector (step S105).
  • the prediction coding mode determination unit 2740 predicts the selected block based on the information input from each of the intra-screen prediction mode determination unit 2730, the motion vector search unit 2710, and the merge vector / merge index determination unit 2720.
  • An encoding mode is determined (step S106).
  • the predictive coding information determination unit 2700 repeats the processes of steps S103 to S106 while there are blocks for which the predictive coding mode has not been determined among the blocks in the input CTB. When the predictive coding mode of all blocks in the CTB is determined, the predictive coding information determining unit 2700 exits the intra-CTB block loop (step S107).
  • the predictive coding information determination unit 2700 repeats the processes of steps S102 to S107 while there is an unprocessed CTB among the CTBs constituting the input image. When all the CTBs constituting the input image have been processed, the predictive coding information determination unit 2700 exits the CTB loop (step S108) and ends the predictive coding mode determination process.
  • FIG. 5 is a flowchart illustrating another operation of the predictive coding mode determination process by the predictive coding information determination unit 2700 according to the first embodiment.
  • the example illustrated in FIG. 5 is an operation example in which an intra-screen prediction mode determination process, a motion vector search process, a merge vector / merge index determination process, and a predictive coding mode determination process are sequentially performed on one input image. .
  • the intra-screen prediction mode determination unit 2730 one CTB that has not yet been processed is input from among the CTBs that constitute the input image. That is, the CTB loop is entered (step S201). In addition, the intra-screen prediction mode determination unit 2730 selects one block for which the intra-screen prediction mode has not yet been determined from among the blocks in the input CTB. That is, the CTB block loop is entered (step S202).
  • step S203 is the same as the process of step S103 shown in FIG.
  • the intra-screen prediction mode determination unit 2730 repeatedly performs the process of step S203 while there is a block for which the intra-screen prediction mode is not determined among the blocks in the input CTB.
  • the intra-screen prediction mode determination unit 2730 exits the intra-CTB block loop (step S204). In addition, the intra-screen prediction mode determination unit 2730 repeatedly performs the processes of steps S202 to S204 while there is an unprocessed CTB among the CTBs constituting the input image. When all CTBs constituting the input image have been processed, the intra-screen prediction mode determination unit 2730 exits the CTB loop (step S205).
  • the motion vector search unit 2710 receives one CTB that has not yet been processed among the CTBs constituting the input image. That is, the CTB loop is entered (step S206). Also, the motion vector search unit 2710 selects one block for which a provisional motion vector has not yet been determined from among the blocks in the input CTB. That is, the CTB block loop is entered (step S207).
  • step S208 is the same as the processing in step S104 shown in FIG.
  • the motion vector search unit 2710 repeats the process of step S208 while there is a block in which the provisional motion vector is not determined among the blocks in the input CTB.
  • the motion vector search unit 2710 exits the block loop in the CTB (step S209).
  • the motion vector search unit 2710 repeatedly performs the processes of steps S207 to S209 while there is an unprocessed CTB among the CTBs constituting the input image.
  • the motion vector search unit 2710 exits the CTB loop (step S210).
  • one CTB that has not yet been processed among the CTBs constituting the input image is input to the merge vector / merge index determination unit 2720. That is, the CTB loop is entered (step S211).
  • the merge vector / merge index determination unit 2720 selects one block whose merge vector and merge index have not yet been determined from among the blocks in the input CTB. That is, the CTB block loop is entered (step S212).
  • step S213 is the same as the process of step S105 shown in FIG.
  • the merge vector / merge index determination unit 2720 repeats the process of step S213 while there are blocks in which the merge vector and the merge index are not determined among the blocks in the input CTB.
  • the merge vector / merge index determining unit 2720 exits the block loop in the CTB (step S214).
  • the merge vector / merge index determination unit 2720 repeats the processes of steps S212 to S214 while there is an unprocessed CTB among the CTBs constituting the input image.
  • the merge vector / merge index determination unit 2720 exits the CTB loop (step S215).
  • the prediction coding mode determination unit 2740 receives one CTB that has not yet been processed among the CTBs that constitute the input image. That is, the CTB loop is entered (step S216). Also, the predictive coding mode determination unit 2740 selects one block for which the predictive coding mode has not yet been determined from among the blocks in the input CTB. That is, the CTB block loop is entered (step S217).
  • step S218 is the same as the processing in step S106 shown in FIG.
  • the predictive coding mode determination unit 2740 repeats the process of step S218 while there is a block for which the predictive coding mode is not determined among the blocks in the input CTB.
  • the predictive coding mode determining unit 2740 exits the block loop in the CTB (step S219). Also, the predictive coding mode determination unit 2740 repeatedly performs the processing of steps S217 to S219 while there is an unprocessed CTB among the CTBs constituting the input image. When all the CTBs constituting the input image have been processed, the predictive coding mode determining unit 2740 exits the CTB loop (step S220) and ends the predictive coding mode determining process.
  • each of the motion vector search process, the merge vector / merge index determination process, and the predictive coding mode determination process is an independent process for each CTB, the processes related to each CTB may be executed in parallel. That is, the predictive coding information determination unit 2700 may execute each process of the CTB loop shown in FIGS. 4 and 5 in parallel for each CTB.
  • FIG. 6 is a flowchart showing the operation of merge vector candidate list generation processing by the merge vector candidate list generation unit 2721.
  • the process shown in FIG. 6 corresponds to a part of the process of step S105 shown in FIG. 4 or a part of the process of step S213 shown in FIG.
  • the merge vector candidate list generation unit 2721 sets, for example, blocks A, B, C, D, and E around the processing target block illustrated in FIG. 16 and blocks having the same position as the processing target block in temporally neighboring frames. .
  • the merge vector candidate list generation unit 2721 selects one of the candidate blocks that has not been verified yet. That is, the candidate block loop is entered (step S301).
  • the merge vector candidate list generation unit 2721 confirms whether or not the selected candidate block exists in the same CTB as the processing target block (step S302).
  • the merge vector candidate list generation unit 2721 does not add the motion information of the selected candidate block to the merge vector candidate list.
  • the merge vector candidate list generation unit 2721 ends the verification of the selected candidate block, and selects the next candidate block (step S301).
  • merge vector candidate list generation unit 2721 confirms whether or not the selected candidate block is a valid block (step S303).
  • the selected candidate block exists in the same CTB, the case where the frame to which the candidate block belongs and the frame to which the processing target block belongs is different is included.
  • Effective blocks are blocks that exist in the screen and are not encoded in the in-screen prediction mode.
  • the reason why a block that exists in the screen and is not coded in the intra prediction mode is made a valid block is that a block that exists outside the screen or a block that is coded in the intra prediction mode uses a motion vector. It is because it does not have.
  • the merge vector candidate list generation unit 2721 does not add the motion information of the selected candidate block to the merge vector candidate list.
  • the merge vector candidate list generation unit 2721 ends the verification of the selected candidate block, and selects the next candidate block (step S301).
  • merge vector candidate list generation unit 2721 adds the motion information of the selected candidate block as a merge vector candidate to the merge vector candidate list ( Step S304).
  • the merge vector candidate list generation unit 2721 confirms whether or not the number of merge vector candidates in the merge vector candidate list is the maximum number of merge candidates (step S305).
  • the merge vector candidate list generation unit 2721 exits the candidate block loop and ends the merge vector candidate list generation process.
  • the merge vector candidate list generation unit 2721 selects the next candidate block (step S301).
  • the merge vector candidate list generation unit 2721 repeats the processes of steps S302 to S305 while there are candidate blocks that are not verified among the candidate blocks. When all candidate blocks are verified, merge vector candidate list generation unit 2721 exits the candidate block loop (step S306), and ends the merge vector candidate list generation process.
  • the merge vector candidate list generation unit of the present embodiment determines whether the candidate block exists in the same CTB as the encoding target block in the process of step S302 shown in FIG.
  • the merge vector candidate list generation unit adds only motion information of candidate blocks existing in the same CTB to the list as merge vector candidates, and thus does not require predictive coding information of candidate blocks existing in other CTBs. .
  • the general merge vector candidate list generation unit adds motion information of candidate blocks existing outside the same CTB to the list as merge vector candidates, so that motion information of blocks existing in other CTBs is also added at the time of addition. It needs to be decided. Therefore, there is a dependency between the processes related to each CTB, and the processes are not executed in parallel. Since the merge vector / merge index determination unit 2720 of the present embodiment does not refer to predictive coding information of candidate blocks existing in other CTBs, it can execute processes related to the CTBs in parallel.
  • the moving picture coding apparatus when the moving picture coding apparatus according to the present embodiment is realized by a many-core processor, more processor cores are utilized and the processing time related to the coding process is shortened.
  • the motion information of the candidate block in the CTB is used in the same manner as a general moving image encoding apparatus, a decrease in encoding efficiency can be suppressed. Since the moving image encoding apparatus of this embodiment can process many tasks in parallel while suppressing a decrease in encoding efficiency, it can perform encoding processing at high speed.
  • the prediction encoding mode of each CTB is determined in parallel. This is because there is no need to refer to different CTB information at the time of decoding, that is, there is no dependency between CTBs.
  • FIG. [Description of configuration] Next, a second embodiment of the present invention will be described with reference to the drawings.
  • the configuration of the moving image encoding apparatus 1000 of the present embodiment is the same as the configuration of the moving image encoding apparatus 1000 shown in FIG.
  • the moving picture coding apparatus 1000 according to the present embodiment is characterized in that a merge index conforming to the H.265 standard is derived.
  • FIG. 7 shows the configuration of the predictive coding information determination unit 2700 in the moving picture coding apparatus according to the present embodiment.
  • FIG. 7 is a block diagram illustrating a configuration example of the second embodiment of the predictive coding information determination unit 2700.
  • the predictive coding information determining unit 2700 of this embodiment is different from the predictive coding information determining unit 2700 shown in FIG. 2 in that a merge vector determining unit 2760 is used instead of the merge vector / merge index determining unit 2720. And the merge index determination unit 2770 is included.
  • the configuration of the prediction encoding information determination unit 2700 shown in FIG. 7 other than the merge vector determination unit 2760 and the merge index determination unit 2770 is the same as the configuration of the prediction encoding information determination unit 2700 shown in FIG. Further, the predictive coding mode determining unit 2740 of the present embodiment has a function different from that of the predictive coding mode determining unit 2740 of the first embodiment.
  • the merge vector determination unit 2760 has a function of determining a merge vector having a minimum cost from a plurality of merge vector candidates derived from motion vectors of neighboring blocks by performing block matching or the like. When generating the merge vector candidate list, the merge vector determination unit 2760 does not refer to the block outside the CTB to which the encoding target block belongs.
  • the prediction coding mode determination unit 2740 determines whether the prediction coding mode of the coding target block is set to the prediction mode of the intra prediction mode or the motion compensation prediction mode based on the input information.
  • the predictive coding mode determination unit 2740 outputs the determined mode information.
  • the predictive coding mode is determined to be the motion compensation prediction mode
  • the predictive coding mode determination unit 2740 outputs only the motion vector and does not determine merge information.
  • the mode information output from the predictive coding mode determination unit 2740 is input to the merge index determination unit 2770.
  • the merge index determination unit 2770 has a function of determining merge indexes corresponding to a plurality of merge vector candidates derived from motion vectors of neighboring blocks based on the input mode information. When generating the merge vector candidate list, the merge index determination unit 2770 refers to a block outside the CTB to which the encoding target block belongs.
  • FIG. 8 is a block diagram illustrating a configuration example of the merge vector determination unit 2760.
  • the merge vector determination unit 2760 illustrated in FIG. 8 includes a merge vector candidate list generation unit 2761 and a merge vector selection unit 2762.
  • the merge vector candidate list generation unit 2761 has the same function as the merge vector candidate list generation unit 2721 shown in FIG.
  • the merge vector selection unit 2762 calculates an evaluation cost for each merge vector candidate included in the list generated by the merge vector candidate list generation unit 2761 based on the current image and the reference image.
  • Merge vector selection section 2762 selects the merge vector with the smallest calculated evaluation cost, and outputs the selected merge vector and the evaluation cost related to the merge vector. That is, unlike the merge vector / index selection unit 2722, the merge vector selection unit 2762 does not output a merge index.
  • FIG. 9 is a block diagram illustrating a configuration example of the merge index determination unit 2770.
  • the merge index determination unit 2770 illustrated in FIG. 9 includes a merge vector candidate list generation unit 2771 and a merge index selection unit 2772.
  • the merge vector candidate list generation unit 2771 has a function of generating a list of motion vectors which are merge vector candidates from the prediction coding information of spatial neighboring blocks or the prediction coding information of temporal neighboring blocks.
  • the merge vector candidate list generation unit 2771 does not check whether the neighboring block exists in the same CTB as the processing target block when generating the list.
  • the merge index selection unit 2772 has a function of selecting a merge index corresponding to the list generated by the merge vector candidate list generation unit 2771.
  • the merge index selection unit 2772 uses the mode information input from the predictive coding mode determination unit 2740.
  • the merge index selection unit 2772 outputs the selected merge index.
  • FIG. 10 is a flowchart illustrating the operation of the predictive coding mode determination process by the predictive coding information determination unit 2700 according to the second embodiment.
  • the motion vector search process, the merge vector determination process, and the prediction encoding mode determination process are continuously performed on one encoding target block for each CTB.
  • steps S401 to S404 is the same as the processing of steps S101 to S104 shown in FIG.
  • the merge vector determination unit 2760 determines, for the selected block, a merge vector having a minimum cost from among a plurality of merge vector candidates derived from the motion vectors of neighboring blocks (step S405).
  • steps S406 to S408 is the same as the processing of steps S106 to S108 shown in FIG.
  • the merge index determination unit 2770 receives one CTB that has not yet been processed among the CTBs constituting the input image. That is, the CTB loop is entered (step S409).
  • the merge index determination unit 2770 selects blocks for which the prediction index mode in the input CTB has been determined as the motion compensation prediction mode and for which the merge index has not yet been determined. Select one. That is, the CTB block loop is entered (step S410).
  • the merge vector candidate list generation unit 2771 creates a merge vector candidate list including a plurality of merge vector candidates from the motion vectors of the neighboring blocks for the selected block.
  • the merge index selection unit 2772 determines a merge index corresponding to the created merge vector candidate list (step S411).
  • the merge index determination unit 2770 repeatedly performs the process of step S411 while there is a block in which the merge index is not determined among the blocks in which the prediction encoding mode in the input CTB is determined to be the motion compensation prediction mode. .
  • the merge index determining unit 2770 exits the intra-CTB block loop (step S412).
  • the merge index determination unit 2770 repeats the processing of steps S410 to S412 while there is an unprocessed CTB among the CTBs constituting the input image. When all the CTBs constituting the input image have been processed, the merge index determination unit 2770 exits the CTB loop (step S413) and ends the predictive coding mode determination process.
  • the predictive coding information determination unit 2700 performs intra prediction mode determination processing, motion vector search processing, merge vector determination processing, prediction code for one input image.
  • the conversion mode determination process and the merge index determination process may be performed in order.
  • each of the motion vector search process, merge vector determination process, and predictive coding mode determination process is an independent process for each CTB, the processes related to each CTB may be executed in parallel.
  • the merge index determination unit 2770 receives motion information and mode information of blocks outside the CTB. That is, if the predictive coding mode is determined for all CTBs, the merge index determination unit 2770 can execute the merge index determination process in parallel on a CTB basis. That is, the predictive coding information determination unit 2700 may execute each process of the CTB loop shown in FIG. 10 in parallel for each CTB.
  • FIG. 11 is a flowchart showing an operation of merge vector candidate list generation processing by the merge vector candidate list generation unit 2771. Note that the process shown in FIG. 11 corresponds to part of the process in step S411 shown in FIG.
  • the merge vector candidate list generation unit 2771 also adds motion information of blocks outside the CTB to which the processing target block belongs to the list as merge vector candidates. That is, the operation example shown in FIG. 11 does not include the process of step S302 for confirming whether or not the selected candidate block shown in FIG. 6 exists in the same CTB as the processing target block.
  • step S501 is the same as the processing in step S301 shown in FIG.
  • the processing in steps S502 to S505 is the same as the processing in steps S303 to S306 shown in FIG.
  • the merge vector candidate list generation unit 2771 also uses the motion information of blocks outside the CTB as merge vector candidates, so the generated merge vector candidate list is a list that conforms to the H.265 standard.
  • the motion information of the block outside the CTB is also used as a merge vector, the encoding accuracy may be improved as compared with the first embodiment.
  • FIG. 12 is a flowchart showing the operation of the merge index selection process by the merge index selection unit 2772.
  • the process shown in FIG. 12 corresponds to a part of the process in step S411 shown in FIG.
  • the merge index selection unit 2772 selects one merge vector candidate that has not been verified yet from among the merge vector candidates in the list generated by the merge vector candidate list generation unit 2771. That is, the process enters a list candidate vector loop (step S601).
  • the merge index selection unit 2772 confirms whether or not the selected merge vector candidate is the same as the motion vector related to the processing target block input from the predictive coding mode determination unit 2740 (step S602).
  • the merge index selection unit 2772 ends the verification of the selected merge vector candidate and selects the next merge vector candidate. (Step S601).
  • the merge index selection unit 2772 exits the in-list candidate vector loop.
  • the merge index selection unit 2772 sets a merge flag, which is a flag indicating whether or not the prediction encoding mode of the processing target block is the merge mode, to ON (step S605).
  • the merge flag set to ON indicates that the predictive coding mode is the merge mode.
  • the merge index selection unit 2772 sets the merge flag. Set to ON. By setting the merge flag to ON, the predictive coding mode is corrected from the predictive vector mode to the merge mode.
  • the merge index selection unit 2772 sets the index of the list as a merge index (step S606). Since the motion information of the block outside the CTB is also included, the set merge index is a merge index conforming to the H.265 standard. After the setting, the merge index selection unit 2772 ends the merge index selection process.
  • the merge index selection unit 2772 repeats the process of step S602 while there are unverified merge vector candidates among the merge vector candidates. As a result of verifying all merge vector candidates, if the same merge vector candidate as the motion vector related to the processing target block does not exist in the list, the merge index selection unit 2772 exits the in-list candidate vector loop (step S603). ).
  • the merge index selection unit 2772 sets the merge flag to OFF (step S604).
  • the merge flag set to OFF indicates that the predictive coding mode is not the merge mode. After the setting, the merge index selection unit 2772 ends the merge index selection process.
  • the merge index determination unit 2770 sets again the merge index conforming to the H.265 standard. Therefore, as long as it conforms to the H.265 standard, even a decoder that is not a dedicated decoder can decode the bitstream output by the moving picture encoding apparatus of the present embodiment.
  • FIG. [Description of configuration] Next, a third embodiment of the present invention will be described with reference to the drawings.
  • the configuration of the moving image encoding apparatus 1000 of the present embodiment is the same as the configuration of the moving image encoding apparatus 1000 shown in FIG.
  • the configuration of the predictive coding information determination unit 2700 in the video encoding device of the present embodiment is the same as the configuration of the predictive coding information determination unit 2700 illustrated in FIG.
  • the moving picture coding apparatus 1000 calculates motion information with higher accuracy than the first and second embodiments by repeating the merge mode determination process and the prediction coding mode determination process a plurality of times. The encoding efficiency is improved.
  • the merge vector candidate list generation unit 2761 also uses the motion information of a block outside the CTB to which the processing target block belongs as a merge vector candidate when the merge vector candidate list is generated.
  • FIG. 13 is a flowchart illustrating the operation of the predictive coding mode determination process by the predictive coding information determination unit 2700 according to the third embodiment.
  • the prediction encoding information determination unit 2700 receives one CTB that has not yet been processed among the CTBs constituting the input image. That is, the CTB loop is entered (step S701). Also, the predictive coding information determination unit 2700 selects one block for which the intra-screen prediction mode and the provisional motion vector have not yet been determined from the blocks in the input CTB. That is, the CTB block loop is entered (step S702).
  • steps S703 to S704 is the same as the processing in steps S403 to S404 shown in FIG.
  • the predictive coding information determination unit 2700 repeats the processing of steps S703 to S704 while there is a block in which the intra-screen prediction mode and the provisional motion vector are not determined among the blocks in the input CTB.
  • the predictive coding information determination unit 2700 exits the intra CTB block loop (step S705).
  • the predictive coding information determination unit 2700 repeatedly performs the processing of steps S702 to S705 while there is an unprocessed CTB among the CTBs constituting the input image. When all the CTBs constituting the input image have been processed, the predictive coding information determination unit 2700 exits the CTB loop (step S706).
  • the predictive coding information determination unit 2700 enters an N loop (step S707).
  • N is an integer of 1 or more. Further, the number of loops of the predictive coding information determination unit 2700 in the N loop is set to n.
  • the prediction coding information determination unit 2700 receives one CTB that has not yet been processed among the CTBs constituting the input image. That is, the CTB loop is entered (step S708). Also, the predictive coding information determination unit 2700 selects one block for which the merge vector and the predictive coding mode have not yet been determined from among the blocks in the input CTB. That is, the CTB block loop is entered (step S709).
  • the merge vector determination unit 2760 determines, for the selected block, a merge vector having a minimum cost from among a plurality of merge vector candidates derived from the motion vectors of neighboring blocks (step S710).
  • merge vector candidate list generation by the merge vector candidate list generation unit 2761 is the same as the operation shown in FIG.
  • the motion information of neighboring blocks outside the CTB input to the merge vector candidate list generation unit 2761 is motion information output by the motion vector search unit 2710.
  • motion information of neighboring blocks outside the CTB input to the merge vector candidate list generation unit 2761 is the prediction coding mode information output by the prediction coding mode determination unit 2740 at the time of (n ⁇ 1) Motion information included in the.
  • step S711 is the same as the processing in step S406 shown in FIG.
  • the predictive coding information determination unit 2700 repeats the processes of steps S710 to S711 while there are blocks in which the merge vector and the predictive coding mode are not determined among the blocks in the input CTB.
  • the predictive coding information determination unit 2700 exits the intra-CTB block loop (step S712).
  • the predictive coding information determination unit 2700 repeats the processes of steps S709 to S712 while there is an unprocessed CTB among the CTBs constituting the input image. When all the CTBs constituting the input image have been processed, the predictive coding information determination unit 2700 exits the CTB loop (step S713) and adds 1 to n.
  • steps S715 to S719 is the same as the processing of steps S409 to S413 shown in FIG.
  • the predictive coding information determination unit 2700 may execute each process of the CTB loop shown in FIG. 13 in parallel in units of CTBs.
  • the merge vector determination unit 2760 of this embodiment repeatedly executes the merge vector determination process. Also, the predictive coding mode determination unit 2740 repeatedly executes the predictive coding mode determination process. Therefore, the merge vector determination unit 2760 can also refer to the motion information of neighboring blocks outside the CTB to which the processing target block belongs, generated in the previous prediction encoding mode determination process. That is, the moving picture coding apparatus according to the present embodiment can improve the accuracy of motion information and increase the coding efficiency as compared with the first and second embodiments.
  • the merge index determining unit 2770 uses the merge index conforming to the H.265 standard. Set again. Therefore, as long as it conforms to the H.265 standard, even a decoder that is not a dedicated decoder can decode the bitstream output by the moving picture encoding apparatus of the present embodiment.
  • the motion vector search unit (that is, AMVP) may perform a process of referring to information on neighboring blocks.
  • the merge vector candidate list creation unit can refer only to blocks in the CTB to which the processing target block belongs at the time of list creation, but the area that can be referred to by the merge vector candidate list creation unit is not limited to CTB. . As long as the block to be processed belongs, the area that can be referred to by the merge vector candidate list creation unit may be an area wider than the CTB or an area narrower than the CTB.
  • each of the above embodiments can be configured by hardware, it can also be realized by, for example, a computer program recorded on a recording medium.
  • the information processing apparatus shown in FIG. 14 includes a processor 1001, a program memory 1002, a storage medium (recording medium) 1003 for storing video data, and a storage medium 1004 for storing data such as a bit stream.
  • the storage medium 1003 and the storage medium 1004 may be separate storage media, or may be storage areas composed of the same storage medium.
  • a magnetic storage medium such as a hard disk can be used as the storage medium.
  • In the storage medium 1003, at least an area where a program is stored is a non-transitory tangible storage area (non-transitory tangible media).
  • the program memory 1002 stores a program for realizing the function of each block shown in FIG.
  • the processor 1001 implements the function of the moving picture coding apparatus shown in FIG. 1 by executing processing according to the program stored in the program memory 1002.
  • FIG. 15 is a block diagram showing an outline of a moving picture coding apparatus according to the present invention.
  • the moving picture coding apparatus 10 according to the present invention is configured to detect a motion from a motion vector of an adjacent block included in a reference area among adjacent blocks that are adjacent to a block to be encoded included in a reference area included in the image.
  • a motion vector determination unit 11 that determines a motion vector of a coding target block used for compensated prediction is provided.
  • the moving image encoding apparatus can process a large number of tasks in parallel without reducing the encoding efficiency.
  • the motion vector determination unit 11 is a list generation unit (for example, a merge vector) that generates a merge vector candidate list related to the encoding target block from the motion vectors of adjacent blocks included in the reference region including the encoding target block.
  • a list generation unit for example, a merge vector
  • Candidate list generation unit 2721) and a merge vector selection unit for example, merge vector selection unit 2762 that selects a merge vector candidate with the lowest evaluation cost from the generated merge vector candidate list.
  • the moving picture coding apparatus can perform the merge vector candidate list creation process in the merge mode and the merge vector selection process used for motion compensation prediction in parallel for each CTB.
  • the motion vector determination unit 11 may include an index generation unit (for example, a merge vector / merge index determination unit 2720) that generates an index corresponding to the merge vector candidate selected by the merge vector selection unit.
  • an index generation unit for example, a merge vector / merge index determination unit 2720
  • the video encoding apparatus can perform the merge index creation process in the merge mode in parallel for each CTB.
  • the motion vector determination unit 11 is a mode determination unit (for example, a prediction encoding mode determination unit) that determines a prediction encoding mode of an encoding target block using an evaluation cost related to a merge vector candidate selected by a merge vector selection unit. 2740), after the predictive coding mode and the motion vector of all the blocks constituting the image are determined, the moving image coding apparatus 10 relates to the coding target block from the motion vector of the neighboring block of the coding target block.
  • a second list generation unit for example, merge vector candidate list generation unit 2771
  • a second index generation unit for example, merge index selection
  • the video encoding apparatus can perform both the parallel execution for each CTB of the merge vector candidate list creation process and the merge vector selection process for each CTB, and the creation of a merge index based on the H.265 standard.
  • the moving image encoding device 10 merges candidate vectors for the encoding target block from the motion vectors of the adjacent blocks of the encoding target block.
  • a third list generation unit (for example, merge vector candidate list generation unit 2761) that generates a list, and a second merge vector selection unit that selects a merge vector candidate with the lowest evaluation cost from the generated merge vector candidate list (
  • a second mode determination unit for example, a prediction encoding mode of the block to be encoded
  • the second merge vector selection unit for example, A prediction coding mode determination unit 2740
  • the second mode determination unit includes the determined prediction code
  • the motion vector corresponding to the coding mode is input to the third list generation unit, and the second list generation unit merges the motion vector based on the motion vector corresponding to the prediction coding mode determined by the second mode determination unit a predetermined time
  • the moving image encoding apparatus performs parallel processing for each CTB of high-accuracy merge vector candidate list creation processing and high-accuracy merge vector selection processing, and high-accuracy conforming to the H.265 standard. It is possible to create a merge index.
  • the motion vector determination unit 11 is a motion vector search unit (for example, a motion vector search unit) that searches for a predicted motion vector related to the encoding target block from the motion vectors of adjacent blocks included in the reference region including the encoding target block.
  • a search unit 2710) may be included.
  • the video encoding apparatus can perform the prediction motion vector search process in AMVP in parallel for each CTB.
  • the moving image encoding apparatus 10 includes an intra-screen prediction mode determination unit (for example, an intra-screen prediction mode) that determines an intra-screen prediction mode related to an encoding target block that has the lowest cost among a plurality of intra-screen prediction modes.
  • an intra-screen prediction mode determination unit for example, an intra-screen prediction mode
  • a determination unit 2730 may be provided.
  • the mode determination unit includes an evaluation cost related to the merge vector candidate selected by the merge vector selection unit, an evaluation cost related to the predicted motion vector searched by the motion vector search unit, and the screen determined by the intra-screen prediction mode determination unit. You may determine the prediction encoding mode of an encoding object block using the evaluation cost regarding an inner prediction mode.
  • the present invention can provide a high degree of parallelism of processing while maintaining the coding efficiency of the coding processing, and can realize high-speed processing of high-resolution video, so it is suitable for imaging systems and transcoding systems that require high-resolution processing. It is applicable to.
  • Motion vector determination unit 1001 processor 1002 Program memory 1003, 1004 Storage media 1100 Transformer / Quantizer 1200 Subtraction part 1210 Adder 1300 Encoder 1400 Inverse transformation and inverse quantization section 1500 loop filter 1600 frame buffer 1700, 2700 Predictive coding information determination unit 1710, 2710 Motion vector search unit 1720, 2720 merge vector / merge index determination unit 1721, 2721 Merge vector candidate list generator 1722, 2722 Merge vector index selection part 1730, 2730 In-screen prediction mode decision section 1740, 2740 Predictive coding mode decision unit 1750, 2750 prediction information buffer 1800 In-screen prediction part 1900 Motion compensation prediction unit 2760 Merge vector decision unit 2761, 2771 Merge vector candidate list generator 2762 Merge vector selector 2770 Merge index determination unit 2772 Merge index selector

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

符号化効率を低下させずに多数のタスクを並列に処理できる動画像符号化装置を提供する。 動画像符号化装置10は、画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、参照領域に内包される隣接ブロックの動きベクトルから、動き補償予測に用いられる符号化対象ブロックの動きベクトルを決定する動きベクトル決定部11を備える。

Description

動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
 本発明は、動画像符号化装置、動画像符号化方法および動画像符号化プログラムに関し、特に符号化効率を低下させずに高い並列処理効率で動作する動画像符号化装置、動画像符号化方法および動画像符号化プログラムに関する。
 動画像の解像度の向上を求める要求が高まっている。要求に伴い、符号化技術も進歩している。符号化技術の例として、開発された順に、MPEG-2、H.264/MPEG-4 AVC(以下、H.264という。)、H.265/HEVC(以下、H.265という。)が挙げられる。新しく開発された符号化技術の方が、先に開発された符号化技術よりも圧縮効率が向上している。上記の符号化技術で用いられている符号化方式は、フレーム間の動き補償予測を用いることによって、より高い符号化効率で情報を圧縮する。
 非特許文献1には、H.265の規格に基づいた処理の内容が記載されている。H.265の規格に基づいた動画像符号化の処理では、画像(ピクチャ)がCTU(Coding Tree Unit)と呼ばれるブロック単位に分割され、分割されたCTUがラスタスキャン順(画面内で左上から右下へと並んだ順序)に処理される。CTUの最大サイズは、64x64画素である。
 CTUは、さらにCU(Coding Unit)と呼ばれるブロック単位に四分木分割される。H.265の規格に準拠した動画像符号化処理では、CUごとに符号化処理が行われる。
 また、CTUは、輝度信号と色差信号のCTB(Coding Tree Block)で構成される。また、CUは、輝度信号と色差信号のCB(Coding Block)で構成される。
 フレーム間の情報を圧縮する動き補償予測は、以下の方法で動画像情報を圧縮する技術である。動き補償予測では、符号化対象フレームと、符号化済みの参照フレームとの間の動き情報が用いられて参照フレームの画像が補正される。次いで、補正された画像(予測画像)と符号化対象フレームの現画像との差分情報と、フレーム間の動きを表す情報のみが符号化される。フレーム間の動きは、移動量を表す動きベクトルで表現される。
 動画像符号化では、デコード画像に発生するノイズ量が抑えられつつ、符号化される情報の量が最小になるように動き情報などの予測符号化情報が決定されることが重要である。一般的な動画像符号化方法では、上記の条件を満たすように予測符号化情報が決定されるRD最適化と呼ばれる手法が広く用いられている。
 RD最適化では、多数の動きベクトル候補に対して、J=D+λRで表されるレート歪みコストがそれぞれ算出される。Dは差分画像に発生する歪み量、Rは動き情報の符号化で発生する符号量、λは画像の複雑さなどに依存する重み係数である。算出されたレート歪みコストのうち、値が最小であるレート歪みコストに対応する動きベクトル候補が、動きベクトルとして採用される。
 動画像では、空間的近傍に位置するブロック(近傍ブロック)の各動き情報または時間的近傍に位置するブロックの各動き情報は、普通のブロックの各動き情報に比べて相関性が高い。H.265では、動きベクトルの予測値(予測ベクトル)が近傍ブロックの動きベクトルから適応的に選択されるAMVP(Adaptive Motion Vector Prediction)や、動き情報が近傍ブロックの動き情報からコピーされるマージモードが用いられる。AMVPやマージモードが用いられることによって、動き情報の符号化で発生する符号量Rが削減される。
 近傍ブロックのうち、符号化対象ブロックに対して空間的近傍に位置するブロックである空間的近傍ブロックを図16に示す。図16は、符号化対象ブロックの空間的近傍ブロックを示す説明図である。
 空間的近傍ブロックは、具体的には、図16に示すブロックA、B、C、D、Eである。また、近傍ブロックには、符号化対象ブロックが属するフレームの時間的近傍フレームに属している、符号化対象ブロックと位置が同じブロックである時間的近傍ブロックも含まれる。
 マージモードでは、近傍ブロックの動き情報のリストのインデックスのみが符号化され、符号化されたインデックスが伝送される。エンコーダは、マージモードまたはAMVPで用いられるブロックを、近傍ブロックのリストの中から任意に選択できる。エンコーダで得られる近傍ブロックの動き情報は、デコーダで得られる情報と同一である。すなわち、マージモードでは、符号化されたインデックスの伝送が、動き情報の伝送に相当する。マージモードでは、動き情報の符号化で発生する符号量がさらに削減される。
 非特許文献1に記載されているように、動き情報の符号化で発生する符号量を削減するために、マージモードにおけるインデックスは、ブロックの位置ごとに固定の情報ではなく、近傍ブロックの符号化モードに応じて設定される。マージモードは、符号量の削減に大きな効果を奏する技術である。より高い符号化効率が達成されるためには、マージモードが適切に使用されることが重要である。
 図17は、一般的な動画像符号化装置の構成例を示すブロック図である。図17に示す動画像符号化装置1000は、変換・量子化部1100と、減算部1200と、符号化部1300と、逆変換・逆量子化部1400と、加算部1210と、ループフィルタ1500と、フレームバッファ1600と、予測符号化情報決定部1700と、画面内予測部1800と、動き補償予測部1900とを備える。
 減算部1200は、外部から入力された画像信号から、画面内予測部1800または動き補償予測部1900から入力された予測画像を減算する。減算部1200は、予測画像を減算することによって得られた画像を差分画像とし、差分画像を変換・量子化部1100に入力する。
 変換・量子化部1100は、入力された差分画像を直交変換し、生成された変換係数を量子化する。変換・量子化部1100は、量子化された変換係数を符号化部1300に入力する。
 符号化部1300は、入力された量子化された変換係数に対して可変長符号化や算術符号化等の可逆符号化を行い、ビットストリームを生成する。生成されたビットストリームは、動画像符号化装置1000から出力される。
 また、量子化された変換係数は、逆変換・逆量子化部1400に入力される。逆変換・逆量子化部1400は、入力された量子化された変換係数を逆量子化し、生成された変換係数を逆直交変換する。逆変換・逆量子化部1400は、逆直交変換された情報を加算部1210に入力する。
 加算部1210は、逆直交変換された情報と予測画像を加算し、再構築画像を生成する。加算部1210は、生成された再構築画像をループフィルタ1500に入力する。
 ループフィルタ1500は、入力された再構築画像のブロック歪を除去する。ループフィルタ1500は、ブロック歪が除去された再構築画像をフレームバッファ1600に蓄積する。フレームバッファ1600に蓄積された再構築画像は、他のフレームの参照画像として使用される。
 予測符号化情報決定部1700は、入力画像、再構築画像、および他のフレームの参照画像を用いて、画面内予測モードと動き補償予測モードのどちらの予測モードで入力画像を予測するか決定する。また、予測符号化情報決定部1700は、決定された予測モードに対する予測符号化情報を決定する。
 画面内予測部1800には、ブロック歪が除去される前の再構築画像が入力される。画面内予測部1800は、入力された再構築画像に対して画面内予測処理を行い、画面内予測処理で生成された画面内予測画像を出力する。
 動き補償予測部1900は、フレームバッファ1600に蓄積されている再構築画像の画像ブロックに対応する、入力画像の画像ブロックの位置変化を検出する。次いで、動き補償予測部1900は、検出された位置変化に相当する動きベクトルを求める。また、動き補償予測部1900は、求められた動きベクトルを用いて動き補償予測処理を行い、動き補償予測処理で生成された動き補償予測画像を出力する。
 画面内予測部1800および動き補償予測部1900は、予測符号化情報決定部1700の決定内容に従って、それぞれ予測画像を作成する。
 次に、動き情報が含まれる予測符号化情報を決定する予測符号化情報決定部1700の構成例を図18に示す。図18は、一般的な予測符号化情報決定部の構成例を示すブロック図である。図18に示す予測符号化情報決定部1700は、動きベクトル探索部1710と、マージベクトル・マージインデックス決定部1720と、画面内予測モード決定部1730と、予測符号化モード決定部1740と、予測情報バッファ1750とを含む。
 動きベクトル探索部1710は、ブロックマッチングなどを実施することによって、探索範囲内の多数の動きベクトル候補の中からコストが最小になる暫定動きベクトルを決定する機能を有する。なお、ブロックマッチングは、SAD(Sum of Absolute Difference、絶対値誤差和)などのコスト関数を使用し、参照画素上でコストが最小になる動きベクトルを探索する方法である。
 マージベクトル・マージインデックス決定部1720は、ブロックマッチングなどを実施することによって、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補の中からコストが最小になるマージベクトルを決定する機能を有する。また、マージベクトル・マージインデックス決定部1720は、決定されたコストが最小になるマージベクトルに対応するマージインデックスを決定する機能を有する。
 画面内予測モード決定部1730は、複数の画面内予測モードの中から、コストが最小になるモードを決定する機能を有する。
 予測符号化モード決定部1740には、動きベクトル探索部1710から出力される、暫定動きベクトルおよび暫定動きベクトルに関するコストが入力される。また、予測符号化モード決定部1740には、マージベクトル・マージインデックス決定部1720から出力される、マージ情報およびマージ情報に関するコストが入力される。なお、マージ情報には、マージベクトルとマージインデックスが含まれる。
 また、予測符号化モード決定部1740には、画面内予測モード決定部1730から出力される、画面内モード情報および画面内モード情報に関するコストが入力される。予測符号化モード決定部1740は、入力された情報に基づいて、符号化対象ブロックに対する予測符号化モードを、暫定動きベクトルが用いられる予測ベクトルモード、マージモード、または画面内予測モードのいずれの予測モードにするか決定する。なお、予測ベクトルモードとマージモードは、動き補償予測モードに含まれる。
 予測情報バッファ1750は、決定された動き情報などの予測符号化情報を保持する機能を有する。予測情報バッファ1750には、予測符号化モード決定部1740から決定された予測符号化情報が入力される。
 次に、マージベクトル・マージインデックス決定部1720の構成例を図19に示す。図19は、一般的なマージベクトル・マージインデックス決定部の構成例を示すブロック図である。図19に示すマージベクトル・マージインデックス決定部1720は、マージベクトル候補リスト生成部1721と、マージベクトル・インデックス選択部1722とを含む。
 マージベクトル候補リスト生成部1721は、動き情報バッファ(図示せず)に保持されている近傍ブロックの動きベクトルから、マージベクトルの候補である動きベクトルのリストを生成する機能を有する。
 マージベクトル・インデックス選択部1722は、マージベクトル候補リスト生成部1721が生成したリストに含まれる各マージベクトル候補に対して、現画像と参照画像に基づいて評価コストをそれぞれ算出する。マージベクトル・インデックス選択部1722は、算出された評価コストが最小のマージベクトルを選択し、選択されたマージベクトルのインデックスを選択する。マージベクトル・インデックス選択部1722は、選択されたマージベクトルおよびマージインデックスが含まれるマージ情報と、選択されたマージベクトルに関する評価コストを出力する。
 多数のベクトルに関するコストが比較される動き推定処理に係る演算量は多い。すなわち、動き推定処理の高速化が求められる。例えば、多数のプロセッサコアを持つGPU(Graphic Processing Unit)などのメニーコアプロセッサが動き推定処理を並列に実行することによって、処理の高速化が実現される可能性が高い。
 また、動画像符号化技術における一般的な並列処理手法の1つに、WPP(Wavefront Parallel Processing、波面並列処理)がある。WPPの具体例が、非特許文献2に記載されている。
 図20は、WPPの例を示す説明図である。図20に示すように、WPPで動画像符号化装置が各行の画像ブロックを並列に符号化する際、所定の行の符号化対象ブロックは、所定の行の一つ上の行の符号化対象ブロックから2ブロック左にずれたブロックである。よって、所定の行の符号化対象ブロックを符号化する際、動画像符号化装置は、左のブロックや右上のブロックの処理結果を参照できる。
 また、特許文献1には、画像を複数の領域に分割し、領域の境界に接するブロックを、境界に接するブロックが属する領域内のブロックの情報のみを用いて符号化することによって、各領域に対して並列に符号化処理を行う符号化処理装置が記載されている。
 また、非特許文献1に記載されているH.265の規格では、符号化処理の並列性を向上させるパラレルマージと呼ばれる機能が採用されている。パラレルマージが使用されると、CTUがMER(Motion Estimation Region)と呼ばれる複数の正方形領域に分割される。
 パラレルマージでは、MERに属するブロックが符号化される際、同一のMERに属するブロックの動き情報が参照されないように指定される。すなわち、ブロック間に依存関係がないため、各ブロックが並列に処理される。よって、MERが16x16サイズに指定されると、符号化装置は、例えば、同一のMERに属する4個の8x8サイズのブロック、または16個の4x4サイズのブロックを、並列に符号化できる。
 また、特許文献2および特許文献3には、CUに属するブロックが符号化される際、同一のCUに属する他のブロックの参照が禁止されることによって、同一のCUに属するブロック同士が並列に処理される技術が記載されている。
特開2012-175424号公報 特開2013-121167号公報 特表2014-533059号公報
ITU-T Recommendation H.265 ''High efficiency video coding,'' Apr 2013. Nagai-Man Cheung, et al. "Video coding on multicore graphics processors," IEEE Signal Processing Magazine, vol. 27, No. 2 (2010), pp. 79-89.
 並列処理において複数のプロセッサコアそれぞれが十分に稼働するためには、並列に処理可能なタスクが多数用意されていることが重要である。
 上記のタスクは、WPPや、特許文献2および特許文献3に記載されている技術のような並列処理では、各ブロックの符号化処理に相当する。また、特許文献1に記載されている符号化処理装置が実施する並列処理では、上記のタスクは、分割された各領域の符号化処理に相当する。
 複数のプロセッサコアを同時に全て稼働させるためには、少なくともプロセッサコア数のタスクが求められる。また、各タスクの処理に係る処理量が異なる場合、タスクが多い方が、各プロセッサが処理する処理量が均等になりやすい。
 その理由は、例えばプロセッサコア数しかタスクがない場合、各プロセッサが処理する処理量は、配分されたタスクの処理に係る処理量になる。しかし、プロセッサコア数以上にタスクがある場合、符号化装置は、処理に係る処理量が多いタスクと少ないタスク、または処理に係る処理量が同程度のタスクのように、処理量に応じてタスクを組合せた上でプロセッサコアにタスクを配分できるためである。
 すなわち、GPUのような数千以上のプロセッサコアを有するメニーコアプロセッサに並列処理を実施させる場合、並列に処理可能なタスクを多数用意することが求められる。
 上記のように、動き推定処理では、空間的相関性に基づいて動き情報が圧縮されることから、ブロック間の空間的なデータ依存関係が使用される。よって、動き推定処理において、多数のブロックの符号化処理、すなわち多数のタスクを並列に処理することが困難という課題がある。
 WPPでも、最大でブロック行数分のタスクしか並列に処理されない。解像度が4K(3840x2160)の画像が符号化される場合でも、タスクの最大数は、34(>33.75=2160/64)である。
 パラレルマージが使用される場合、MERの最大サイズは、CTUの最大サイズと同一の64x64サイズである。また、CTU内の最小ブロックサイズは4x4サイズである。よって、パラレルマージが使用された場合でも、並列に処理可能なタスクは、最大でも64x64/4x4=256個しかない。すなわち、数千ものタスクを並列に処理可能な能力を有するメニーコアプロセッサを十分に稼働させるには、タスク数が不十分である。
 また、CU内のPU数は最大で4である。すなわち、特許文献2および特許文献3に記載されている技術が使用された場合でも、並列に処理可能なタスクは最大で4個であり、メニーコアプロセッサを十分に稼働させるにはタスク数が不十分である。多数のタスクを並列に処理可能にすることによって、メニーコアプロセッサが高速で符号化処理を実施することが期待される。
 また、特許文献1に記載されている符号化処理装置には、画像が多数の領域に分割されると(すなわち、並列に処理可能なタスクが増えると)、マージモードが適用されないブロックが多くなり、符号化効率が低下するという課題がある。
 上記のように、より高い符号化効率が達成されるためには、マージモードが適切に使用されることが重要である。マージモードにおいて並列に処理可能なタスクを増加させる方法は、特許文献1~3および非特許文献1~2に記載されていない。
 マージモードにおいて並列に処理可能なタスクを増加させる方法を考える。上記のように、マージベクトル候補リスト生成部1721は、近傍ブロックの動きベクトルから、マージベクトルの候補である動きベクトルのリストを生成する。リストを生成する際、マージベクトル候補リスト生成部1721は、符号化対象ブロックが属する所定の領域内のブロックと、所定の領域外のブロックの両方を参照する。
 所定の領域外のブロックを参照する場合、所定の領域外のブロックが属するフレームに対する予測符号化情報決定処理が完了していることが求められる。すなわち、各フレームに関する予測符号化情報決定処理の間に依存関係が存在し、各処理が並列に実行されないため、並列に処理可能なタスクを増加させることができない。
 そこで、本発明は、上述した問題を解決する、符号化効率を低下させずに多数のタスクを並列に処理できる動画像符号化装置、動画像符号化方法および動画像符号化プログラムを提供することを目的とする。
 本発明による動画像符号化装置は、画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、参照領域に内包される隣接ブロックの動きベクトルから、動き補償予測に用いられる符号化対象ブロックの動きベクトルを決定する動きベクトル決定手段を備えることを特徴とする。
 本発明による動画像符号化方法は、画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、参照領域に内包される隣接ブロックの動きベクトルから、動き補償予測に用いられる符号化対象ブロックの動きベクトルを決定することを特徴とする。
 本発明による記録媒体は、コンピュータに、画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、参照領域に内包される隣接ブロックの動きベクトルから、動き補償予測に用いられる符号化対象ブロックの動きベクトルを決定する決定処理を実行させることを特徴とする動画像符号化プログラムを記憶する。本発明は、その動画像符号化プログラムによっても実現される。
 本発明によれば、符号化効率を低下させずに多数のタスクを並列に処理できる。
本発明による動画像符号化装置の第1の実施形態の構成例を示すブロック図である。 予測符号化情報決定部2700の第1の実施形態の構成例を示すブロック図である。 マージベクトル・マージインデックス決定部2720の構成例を示すブロック図である。 第1の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の動作を示すフローチャートである。 第1の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の他の動作を示すフローチャートである。 マージベクトル候補リスト生成部2721によるマージベクトル候補リスト生成処理の動作を示すフローチャートである。 予測符号化情報決定部2700の第2の実施形態の構成例を示すブロック図である。 マージベクトル決定部2760の構成例を示すブロック図である。 マージインデックス決定部2770の構成例を示すブロック図である。 第2の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の動作を示すフローチャートである。 マージベクトル候補リスト生成部2771によるマージベクトル候補リスト生成処理の動作を示すフローチャートである。 マージインデックス選択部2772によるマージインデックス選択処理の動作を示すフローチャートである。 第3の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の動作を示すフローチャートである。 本発明による動画像符号化装置の機能を実現可能な情報処理装置の構成例を示すブロック図である。 本発明による動画像符号化装置の概要を示すブロック図である。 符号化対象ブロックの空間的近傍ブロックを示す説明図である。 一般的な動画像符号化装置の構成例を示すブロック図である。 一般的な予測符号化情報決定部の構成例を示すブロック図である。 一般的なマージベクトル・マージインデックス決定部の構成例を示すブロック図である。 WPPの例を示す説明図である。
実施形態1.
[構成の説明]
 以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明による動画像符号化装置の第1の実施形態の構成例を示すブロック図である。
 図1に示すように、本実施形態の動画像符号化装置1000は、図17に示す動画像符号化装置1000とは、予測符号化情報決定部1700の代わりに予測符号化情報決定部2700が含まれている点が異なる。予測符号化情報決定部2700以外の図1に示す動画像符号化装置1000の構成は、図17に示す動画像符号化装置1000の構成と同様である。
 本実施形態の予測符号化情報決定部2700は、マージベクトル候補リスト作成時に、符号化対象ブロックが属する、フレーム(画面)内の特定領域外のブロックを参照しないことを特徴とする。
 本実施形態における特定領域は、符号化対象ブロックを内包するCTBである。すなわち、予測符号化情報決定部2700は、マージベクトル候補リスト作成時に、符号化対象ブロックが属するCTBに属しないブロックを参照しない。なお、特定領域は、CTB以外の領域でもよい。
 本実施形態の予測符号化情報決定部2700の構成を、図面を参照して説明する。図2は、予測符号化情報決定部2700の第1の実施形態の構成例を示すブロック図である。
 図2に示す予測符号化情報決定部2700は、動きベクトル探索部2710と、マージベクトル・マージインデックス決定部2720と、画面内予測モード決定部2730と、予測符号化モード決定部2740と、予測情報バッファ2750とを含む。
 動きベクトル探索部2710は、ブロックマッチングなどを実施することによって、探索範囲内の多数の動きベクトル候補の中からコストが最小になる暫定動きベクトルを決定する機能を有する。
 マージベクトル・マージインデックス決定部2720は、ブロックマッチングなどを実施することによって、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補の中からコストが最小になるマージベクトルを決定する機能を有する。また、マージベクトル・マージインデックス決定部2720は、決定されたコストが最小になるマージベクトルに対応するマージインデックスを決定する機能を有する。
 画面内予測モード決定部2730は、複数の画面内予測モードの中から、コストが最小になるモードを決定する機能を有する。
 予測符号化モード決定部2740には、動きベクトル探索部2710から出力される、暫定動きベクトルおよび暫定動きベクトルに関するコストが入力される。また、予測符号化モード決定部2740には、マージベクトル・マージインデックス決定部2720から出力される、マージ情報およびマージ情報に関するコストが入力される。また、予測符号化モード決定部2740には、画面内予測モード決定部2730から出力される、画面内モード情報および画面内モード情報に関するコストが入力される。
 予測符号化モード決定部2740は、入力された情報に基づいて、符号化対象ブロックに対する予測符号化モードを、暫定動きベクトルが用いられる予測ベクトルモード、マージモード、または画面内予測モードのいずれの予測モードにするか決定する。
 予測情報バッファ2750は、決定された動き情報などの予測符号化情報を保持する機能を有する。予測情報バッファ2750には、予測符号化モード決定部2740から決定された予測符号化情報が入力される。
 図3は、マージベクトル・マージインデックス決定部2720の構成例を示すブロック図である。図3に示すマージベクトル・マージインデックス決定部2720は、マージベクトル候補リスト生成部2721と、マージベクトル・インデックス選択部2722とを含む。
 マージベクトル候補リスト生成部2721は、空間的近傍ブロックの予測符号化情報、または時間的近傍ブロックの予測符号化情報から、マージベクトルの候補である動きベクトルのリストを生成する機能を有する。空間的近傍ブロックは、例えば符号化対象ブロックに隣接するブロックである。時間的近傍ブロックは、例えば他フレームにおける符号化対象ブロックと位置が同じブロックである。
 マージベクトル・インデックス選択部2722は、マージベクトル候補リスト生成部2721が生成したリストに含まれる各マージベクトル候補に対して、現画像と参照画像に基づいて評価コストをそれぞれ算出する。マージベクトル・インデックス選択部2722は、算出された評価コストが最小のマージベクトルを選択し、選択されたマージベクトルのインデックスを選択する。マージベクトル・インデックス選択部2722は、選択されたマージベクトルおよびマージインデックスが含まれるマージ情報と、選択されたマージベクトルに関する評価コストを出力する。
[動作の説明]
 以下、本実施形態の予測符号化情報決定部2700の動作を図4~図6を参照して説明する。図4は、第1の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の動作を示すフローチャートである。
 図4に示す例は、CTBごとに1つの符号化対象ブロックに対して画面内予測モード決定処理、動きベクトル探索処理、マージベクトル・マージインデックス決定処理、および予測符号化モード決定処理が連続で実施される動作例である。
 予測符号化情報決定部2700には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS101)。
 予測符号化情報決定部2700は、入力されたCTB内のブロックの中で、まだ予測符号化モードが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS102)。
 画面内予測モード決定部2730は、選択されたブロックに対して、コストが最小になる画面内予測モードを決定する(ステップS103)。
 次いで、動きベクトル探索部2710は、選択されたブロックに対して、探索範囲内の多数の動きベクトル候補の中からコストが最小になる暫定動きベクトルを決定する(ステップS104)。
 次いで、マージベクトル・マージインデックス決定部2720は、選択されたブロックに対して、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補の中からコストが最小になるマージベクトルを決定する。また、マージベクトル・マージインデックス決定部2720は、決定されたマージベクトルに対応するマージインデックスを決定する(ステップS105)。
 次いで、予測符号化モード決定部2740は、画面内予測モード決定部2730、動きベクトル探索部2710、およびマージベクトル・マージインデックス決定部2720それぞれから入力された情報に基づいて、選択されたブロックの予測符号化モードを決定する(ステップS106)。
 予測符号化情報決定部2700は、入力されたCTB内のブロックの中で予測符号化モードが決定されていないブロックが存在する間、ステップS103~S106の処理を繰り返し行う。CTB内の全てのブロックの予測符号化モードが決定されたとき、予測符号化情報決定部2700は、CTB内ブロックループを抜ける(ステップS107)。
 予測符号化情報決定部2700は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS102~S107の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、予測符号化情報決定部2700は、CTBループを抜け(ステップS108)、予測符号化モード決定処理を終了する。
 次に、予測符号化情報決定部2700による予測符号化モード決定処理の他の動作例を説明する。図5は、第1の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の他の動作を示すフローチャートである。
 図5に示す例は、1つの入力画像に対して画面内予測モード決定処理、動きベクトル探索処理、マージベクトル・マージインデックス決定処理、および予測符号化モード決定処理が順に実施される動作例である。
 画面内予測モード決定部2730には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS201)。また、画面内予測モード決定部2730は、入力されたCTB内のブロックの中で、まだ画面内予測モードが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS202)。
 ステップS203の処理は、図4に示すステップS103の処理と同様である。画面内予測モード決定部2730は、入力されたCTB内のブロックの中で画面内予測モードが決定されていないブロックが存在する間、ステップS203の処理を繰り返し行う。
 CTB内の全てのブロックの画面内予測モードが決定されたとき、画面内予測モード決定部2730は、CTB内ブロックループを抜ける(ステップS204)。また、画面内予測モード決定部2730は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS202~S204の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、画面内予測モード決定部2730は、CTBループを抜ける(ステップS205)。
 次いで、動きベクトル探索部2710には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS206)。また、動きベクトル探索部2710は、入力されたCTB内のブロックの中で、まだ暫定動きベクトルが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS207)。
 ステップS208の処理は、図4に示すステップS104の処理と同様である。動きベクトル探索部2710は、入力されたCTB内のブロックの中で暫定動きベクトルが決定されていないブロックが存在する間、ステップS208の処理を繰り返し行う。
 CTB内の全てのブロックに対して暫定動きベクトルが決定されたとき、動きベクトル探索部2710は、CTB内ブロックループを抜ける(ステップS209)。また、動きベクトル探索部2710は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS207~S209の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、動きベクトル探索部2710は、CTBループを抜ける(ステップS210)。
 次いで、マージベクトル・マージインデックス決定部2720には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS211)。また、マージベクトル・マージインデックス決定部2720は、入力されたCTB内のブロックの中で、まだマージベクトルおよびマージインデックスが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS212)。
 ステップS213の処理は、図4に示すステップS105の処理と同様である。マージベクトル・マージインデックス決定部2720は、入力されたCTB内のブロックの中でマージベクトルおよびマージインデックスが決定されていないブロックが存在する間、ステップS213の処理を繰り返し行う。
 CTB内の全てのブロックに対してマージベクトルおよびマージインデックスが決定されたとき、マージベクトル・マージインデックス決定部2720は、CTB内ブロックループを抜ける(ステップS214)。また、マージベクトル・マージインデックス決定部2720は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS212~S214の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、マージベクトル・マージインデックス決定部2720は、CTBループを抜ける(ステップS215)。
 次いで、予測符号化モード決定部2740には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS216)。また、予測符号化モード決定部2740は、入力されたCTB内のブロックの中で、まだ予測符号化モードが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS217)。
 ステップS218の処理は、図4に示すステップS106の処理と同様である。予測符号化モード決定部2740は、入力されたCTB内のブロックの中で予測符号化モードが決定されていないブロックが存在する間、ステップS218の処理を繰り返し行う。
 CTB内の全てのブロックの予測符号化モードが決定されたとき、予測符号化モード決定部2740は、CTB内ブロックループを抜ける(ステップS219)。また、予測符号化モード決定部2740は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS217~S219の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、予測符号化モード決定部2740は、CTBループを抜け(ステップS220)、予測符号化モード決定処理を終了する。
 動きベクトル探索処理、マージベクトル・マージインデックス決定処理、および予測符号化モード決定処理それぞれは、CTBごとに独立した処理であるため、各CTBに係る処理は並列に実行されてもよい。すなわち、予測符号化情報決定部2700は、図4および図5に示すCTBループの各処理を、CTB単位で並列に実行してもよい。
 次に、マージベクトル候補リスト生成部2721によるマージベクトル候補リスト生成処理の動作例を説明する。図6は、マージベクトル候補リスト生成部2721によるマージベクトル候補リスト生成処理の動作を示すフローチャートである。なお、図6に示す処理は、図4に示すステップS105の処理の一部、または図5に示すステップS213の処理の一部に相当する。
 マージベクトル候補リスト生成部2721は、例えば図16に示す処理対象ブロックの周囲のブロックA、B、C、D、Eと、時間的近傍フレームにおける処理対象ブロックと位置が同じブロックを候補ブロックにする。マージベクトル候補リスト生成部2721は、各候補ブロックの中で、まだ検証されていないブロックを1つ選択する。すなわち、候補ブロックループに入る(ステップS301)。
 マージベクトル候補リスト生成部2721は、選択された候補ブロックが、処理対象ブロックと同一のCTB内に存在するか否かを確認する(ステップS302)。
 選択された候補ブロックが同一のCTB内に存在しない場合(ステップS302におけるNo)、マージベクトル候補リスト生成部2721は、選択された候補ブロックの動き情報をマージベクトル候補リストに追加しない。マージベクトル候補リスト生成部2721は、選択された候補ブロックの検証を終了し、次の候補ブロックを選択する(ステップS301)。
 選択された候補ブロックが同一のCTB内に存在する場合(ステップS302におけるYes)、マージベクトル候補リスト生成部2721は、選択された候補ブロックが有効なブロックであるか否かを確認する(ステップS303)。なお、選択された候補ブロックが同一のCTB内に存在する場合には、候補ブロックが属するフレームと処理対象ブロックが属するフレームが異なる場合が含まれる。
 有効なブロックは、画面内に存在し、かつ画面内予測モードで符号化されていないブロックである。画面内に存在し、かつ画面内予測モードで符号化されていないブロックを有効なブロックにする理由は、画面外に存在するブロックや、画面内予測モードで符号化されているブロックが動きベクトルを持たないためである。
 選択された候補ブロックが有効なブロックでない場合(ステップS303におけるNo)、マージベクトル候補リスト生成部2721は、選択された候補ブロックの動き情報をマージベクトル候補リストに追加しない。マージベクトル候補リスト生成部2721は、選択された候補ブロックの検証を終了し、次の候補ブロックを選択する(ステップS301)。
 選択された候補ブロックが有効なブロックである場合(ステップS303におけるYes)、マージベクトル候補リスト生成部2721は、選択された候補ブロックの動き情報をマージベクトル候補として、マージベクトル候補リストに追加する(ステップS304)。
 次いで、マージベクトル候補リスト生成部2721は、マージベクトル候補リスト内のマージベクトル候補数が、最大マージ候補数であるか否かを確認する(ステップS305)。マージベクトル候補数が最大マージ候補数である場合(ステップS305におけるYes)、マージベクトル候補リスト生成部2721は、候補ブロックループを抜け、マージベクトル候補リスト生成処理を終了する。
 マージベクトル候補数が最大マージ候補数でない場合(ステップS305におけるNo)、マージベクトル候補リスト生成部2721は、次の候補ブロックを選択する(ステップS301)。
 マージベクトル候補リスト生成部2721は、各候補ブロックの中で検証されていない候補ブロックが存在する間、ステップS302~S305の処理を繰り返し行う。全ての候補ブロックが検証されたとき、マージベクトル候補リスト生成部2721は、候補ブロックループを抜け(ステップS306)、マージベクトル候補リスト生成処理を終了する。
 本実施形態のマージベクトル候補リスト生成部は、図6に示すステップS302の処理で候補ブロックが符号化対象ブロックと同一のCTB内に存在するか否かを判定する。マージベクトル候補リスト生成部は、同一のCTB内に存在する候補ブロックの動き情報のみをマージベクトル候補としてリストに追加するため、他のCTB内に存在する候補ブロックの予測符号化情報を必要としない。
 一般的なマージベクトル候補リスト生成部は、同一のCTB外に存在する候補ブロックの動き情報もマージベクトル候補としてリストに追加するため、他のCTB内に存在するブロックの動き情報も追加の時点で決定されている必要がある。よって、各CTBに関する処理の間に依存関係があり、処理が並列に実行されない。本実施形態のマージベクトル・マージインデックス決定部2720は、他のCTB内に存在する候補ブロックの予測符号化情報を参照しないため、各CTBに関する処理を並列に実行できる。
 例えば、4K(3840x2160)サイズの画像が64x64サイズのCTUに分割される場合、本実施形態の動画像符号化装置は、3840x2160/64x64=2025のタスクを並列に処理できる。
 従って、本実施形態の動画像符号化装置がメニーコアプロセッサで実現される場合、より多くのプロセッサコアが活用され、符号化処理に係る処理時間も短縮される。また、CTB内の候補ブロックの動き情報は一般的な動画像符号化装置と同様に利用されるため、符号化効率の低下が抑えられる。本実施形態の動画像符号化装置は、符号化効率の低下を抑えつつ多数のタスクを並列に処理できるため、高速で符号化処理を実施できる。
 また、本実施形態の動画像符号化装置が出力する動画像ストリームがデコードされる時にも、各CTBの予測符号化モードが並列に決定される。その理由は、デコード時に異なるCTBの情報を参照する必要がない、すなわちCTB間に依存関係がないことが保証されているためである。
実施形態2.
[構成の説明]
 次に、本発明の第2の実施形態を、図面を参照して説明する。本実施形態の動画像符号化装置1000の構成は、図1に示す動画像符号化装置1000の構成と同様である。本実施形態の動画像符号化装置1000は、H.265規格に則ったマージインデックスを導出することを特徴とする。
 本実施形態の動画像符号化装置における予測符号化情報決定部2700の構成を図7に示す。図7は、予測符号化情報決定部2700の第2の実施形態の構成例を示すブロック図である。
 図7に示すように、本実施形態の予測符号化情報決定部2700は、図2に示す予測符号化情報決定部2700とは、マージベクトル・マージインデックス決定部2720の代わりにマージベクトル決定部2760とマージインデックス決定部2770が含まれている点が異なる。
 マージベクトル決定部2760とマージインデックス決定部2770以外の図7に示す予測符号化情報決定部2700の構成は、図2に示す予測符号化情報決定部2700の構成と同様である。また、本実施形態の予測符号化モード決定部2740は、第1の実施形態の予測符号化モード決定部2740と異なる機能を有する。
 マージベクトル決定部2760は、ブロックマッチングなどを実施することによって、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補の中からコストが最小になるマージベクトルを決定する機能を有する。マージベクトル決定部2760は、マージベクトル候補リストを生成する際、符号化対象ブロックが属するCTB外のブロックを参照しない。
 予測符号化モード決定部2740は、入力された情報に基づいて、符号化対象ブロックの予測符号化モードを、画面内予測モードと動き補償予測モードのいずれの予測モードにするか決定する。
 予測符号化モード決定部2740は、決定されたモード情報を出力する。また、予測符号化モードが動き補償予測モードに決定された場合、予測符号化モード決定部2740は、動きベクトルのみを出力し、マージ情報を決定しない。予測符号化モード決定部2740から出力されるモード情報は、マージインデックス決定部2770に入力される。
 マージインデックス決定部2770は、入力されたモード情報に基づいて、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補に対応するマージインデックスを決定する機能を有する。マージインデックス決定部2770は、マージベクトル候補リストを生成する際、符号化対象ブロックが属するCTB外のブロックを参照する。
 次に、マージベクトル決定部2760の構成例を図8に示す。図8は、マージベクトル決定部2760の構成例を示すブロック図である。図8に示すマージベクトル決定部2760は、マージベクトル候補リスト生成部2761と、マージベクトル選択部2762とを含む。
 マージベクトル候補リスト生成部2761は、図3に示すマージベクトル候補リスト生成部2721と同様の機能を有する。
 マージベクトル選択部2762は、マージベクトル候補リスト生成部2761が生成したリストに含まれる各マージベクトル候補に対して、現画像と参照画像に基づいて評価コストをそれぞれ算出する。マージベクトル選択部2762は、算出された評価コストが最小のマージベクトルを選択し、選択されたマージベクトルおよびマージベクトルに関する評価コストを出力する。すなわち、マージベクトル選択部2762は、マージベクトル・インデックス選択部2722と異なり、マージインデックスを出力しない。
 次に、マージインデックス決定部2770の構成例を図9に示す。図9は、マージインデックス決定部2770の構成例を示すブロック図である。図9に示すマージインデックス決定部2770は、マージベクトル候補リスト生成部2771と、マージインデックス選択部2772とを含む。
 マージベクトル候補リスト生成部2771は、空間的近傍ブロックの予測符号化情報、または時間的近傍ブロックの予測符号化情報から、マージベクトルの候補である動きベクトルのリストを生成する機能を有する。マージベクトル候補リスト生成部2771は、リストを生成する際、近傍ブロックが処理対象ブロックと同一のCTB内に存在するか否かを確認しない。
 マージインデックス選択部2772は、マージベクトル候補リスト生成部2771が生成したリストに対応するマージインデックスを選択する機能を有する。マージインデックスを選択する際、マージインデックス選択部2772は、予測符号化モード決定部2740から入力されたモード情報を用いる。マージインデックス選択部2772は、選択されたマージインデックスを出力する。
[動作の説明]
 以下、本実施形態の予測符号化情報決定部2700の動作を図10を参照して説明する。図10は、第2の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の動作を示すフローチャートである。
 図10に示す例は、CTBごとに1つの符号化対象ブロックに対して画面内予測モード決定処理、動きベクトル探索処理、マージベクトル決定処理、および予測符号化モード決定処理が連続で実施された後、CTBごとに1つの符号化対象ブロックに対してマージインデックス決定処理が実施される動作例である。
 ステップS401~S404の処理は、図4に示すステップS101~S104の処理と同様である。
 マージベクトル決定部2760は、選択されたブロックに対して、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補の中からコストが最小になるマージベクトルを決定する(ステップS405)。
 ステップS406~S408の処理は、図4に示すステップS106~S108の処理と同様である。
 マージインデックス決定部2770には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS409)。
 マージインデックス決定部2770は、入力されたマージ情報に基づいて、入力されたCTB内の予測符号化モードが動き補償予測モードに決定されたブロックの中で、まだマージインデックスが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS410)。
 マージベクトル候補リスト生成部2771は、選択されたブロックに対して、近傍ブロックの動きベクトルから複数のマージベクトル候補が含まれるマージベクトル候補リストを作成する。次いで、マージインデックス選択部2772は、作成されたマージベクトル候補リストに対応するマージインデックスを決定する(ステップS411)。
 マージインデックス決定部2770は、入力されたCTB内の予測符号化モードが動き補償予測モードに決定されたブロックの中でマージインデックスが決定されていないブロックが存在する間、ステップS411の処理を繰り返し行う。CTB内の予測符号化モードが動き補償予測モードに決定された全てのブロックに対してマージインデックスが決定されたとき、マージインデックス決定部2770は、CTB内ブロックループを抜ける(ステップS412)。
 マージインデックス決定部2770は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS410~S412の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、マージインデックス決定部2770は、CTBループを抜け(ステップS413)、予測符号化モード決定処理を終了する。
 なお、本実施形態の予測符号化情報決定部2700は、図5に示す例と同様に、1つの入力画像に対して画面内予測モード決定処理、動きベクトル探索処理、マージベクトル決定処理、予測符号化モード決定処理、およびマージインデックス決定処理を順に実施してもよい。
 動きベクトル探索処理、マージベクトル決定処理、および予測符号化モード決定処理それぞれは、CTBごとに独立した処理であるため、各CTBに係る処理は並列に実行されてもよい。
 また、マージインデックス決定部2770には、CTB外のブロックの動き情報とモード情報が入力される。すなわち、全てのCTBに対して予測符号化モードが決定された後であれば、マージインデックス決定部2770は、マージインデックス決定処理をCTB単位で並列に実行できる。すなわち、予測符号化情報決定部2700は、図10に示すCTBループの各処理を、CTB単位で並列に実行してもよい。
 次に、マージベクトル候補リスト生成部2771によるマージベクトル候補リスト生成処理の動作例を説明する。図11は、マージベクトル候補リスト生成部2771によるマージベクトル候補リスト生成処理の動作を示すフローチャートである。なお、図11に示す処理は、図10に示すステップS411の処理の一部に相当する。
 マージベクトル候補リスト生成部2771は、処理対象ブロックが属するCTB外のブロックの動き情報も、マージベクトル候補としてリストに追加する。すなわち、図11に示す動作例には、図6に示す選択された候補ブロックが処理対象ブロックと同一のCTB内に存在するか否かを確認するステップS302の処理がない。
 ステップS501の処理は図6に示すステップS301の処理と同様である。ステップS502~S505の処理は図6に示すステップS303~S306の処理と同様である。
 マージベクトル候補リスト生成部2771は、CTB外のブロックの動き情報もマージベクトル候補にするので、生成されたマージベクトル候補リストはH.265規格に準拠したリストになる。本実施形態では、CTB外のブロックの動き情報もマージベクトルとして使用されるため、第1の実施形態よりも符号化の精度が向上する可能性がある。
 次に、マージインデックス選択部2772によるマージインデックス選択処理の動作例を説明する。図12は、マージインデックス選択部2772によるマージインデックス選択処理の動作を示すフローチャートである。なお、図12に示す処理は、図10に示すステップS411の処理の一部に相当する。
 マージインデックス選択部2772は、マージベクトル候補リスト生成部2771が生成したリスト内の各マージベクトル候補の中で、まだ検証されていないマージベクトル候補を1つ選択する。すなわち、リスト内候補ベクトルループに入る(ステップS601)。
 マージインデックス選択部2772は、選択されたマージベクトル候補が、予測符号化モード決定部2740から入力された処理対象ブロックに関する動きベクトルと同一か否かを確認する(ステップS602)。
 選択されたマージベクトル候補が処理対象ブロックに関する動きベクトルと同一でない場合(ステップS602におけるNo)、マージインデックス選択部2772は、選択されたマージベクトル候補の検証を終了し、次のマージベクトル候補を選択する(ステップS601)。
 選択されたマージベクトル候補が処理対象ブロックに関する動きベクトルと同一である場合(ステップS602におけるYes)、マージインデックス選択部2772は、リスト内候補ベクトルループを抜ける。マージインデックス選択部2772は、処理対象ブロックの予測符号化モードがマージモードであるか否かを示すフラグであるマージフラグをONに設定する(ステップS605)。ONに設定されたマージフラグは、予測符号化モードがマージモードであることを示す。
 すなわち、予測符号化モード決定部2740が決定した予測符号化モードが予測ベクトルモードであっても処理対象ブロックに関する動きベクトルがマージベクトル候補と同一であれば、マージインデックス選択部2772は、マージフラグをONに設定する。マージフラグがONに設定されることによって、予測符号化モードは、予測ベクトルモードからマージモードに修正される。
 次いで、マージインデックス選択部2772は、リストのインデックスをマージインデックスとして設定する(ステップS606)。CTB外のブロックの動き情報も含まれているため、設定されたマージインデックスは、H.265規格に準拠したマージインデックスである。設定した後、マージインデックス選択部2772は、マージインデックス選択処理を終了する。
 マージインデックス選択部2772は、各マージベクトル候補の中で検証されていないマージベクトル候補が存在する間、ステップS602の処理を繰り返し行う。全てのマージベクトル候補が検証された結果、処理対象ブロックに関する動きベクトルと同一のマージベクトル候補がリスト内に存在しなかった場合、マージインデックス選択部2772は、リスト内候補ベクトルループを抜ける(ステップS603)。
 マージインデックス選択部2772は、マージフラグをOFFに設定する(ステップS604)。OFFに設定されたマージフラグは、予測符号化モードがマージモードでないことを示す。設定した後、マージインデックス選択部2772は、マージインデックス選択処理を終了する。
 本実施形態では、各符号化対象ブロックの予測符号化モードが決定された後、マージインデックス決定部2770がH.265規格に準拠したマージインデックスを再度設定する。よって、H.265規格に準拠していれば、専用デコーダではないデコーダでも、本実施形態の動画像符号化装置が出力するビットストリームを復号できる。
実施形態3.
[構成の説明]
 次に、本発明の第3の実施形態を、図面を参照して説明する。本実施形態の動画像符号化装置1000の構成は、図1に示す動画像符号化装置1000の構成と同様である。また、本実施形態の動画像符号化装置における予測符号化情報決定部2700の構成は、図7に示す予測符号化情報決定部2700の構成と同様である。
 本実施形態の動画像符号化装置1000は、マージモード判定処理と予測符号化モード決定処理を複数回繰り返すことによって、第1の実施形態および第2の実施形態よりも精度の高い動き情報を算出し、符号化効率を向上させることを特徴とする。
 なお、本実施形態のマージベクトル候補リスト生成部2761は、マージベクトル候補リスト生成時に、処理対象ブロックが属するCTB外のブロックの動き情報もマージベクトル候補にする。
[動作の説明]
 以下、本実施形態の予測符号化情報決定部2700の動作を図13を参照して説明する。図13は、第3の実施形態の予測符号化情報決定部2700による予測符号化モード決定処理の動作を示すフローチャートである。
 予測符号化情報決定部2700には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS701)。また、予測符号化情報決定部2700は、入力されたCTB内のブロックの中で、まだ画面内予測モードおよび暫定動きベクトルが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS702)。
 ステップS703~S704の処理は、図10に示すステップS403~S404の処理と同様である。
 予測符号化情報決定部2700は、入力されたCTB内のブロックの中で画面内予測モードおよび暫定動きベクトルが決定されていないブロックが存在する間、ステップS703~S704の処理を繰り返し行う。CTB内の全てのブロックに対して画面内予測モードおよび暫定動きベクトルが決定されたとき、予測符号化情報決定部2700は、CTB内ブロックループを抜ける(ステップS705)。
 また、予測符号化情報決定部2700は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS702~S705の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、予測符号化情報決定部2700は、CTBループを抜ける(ステップS706)。
 次いで、予測符号化情報決定部2700は、Nループに入る(ステップS707)。Nは1以上の整数である。また、Nループにおける予測符号化情報決定部2700のループ回数をnとする。
 次いで、予測符号化情報決定部2700には、入力画像を構成するCTBの中で、まだ処理されていないCTBが1つ入力される。すなわち、CTBループに入る(ステップS708)。また、予測符号化情報決定部2700は、入力されたCTB内のブロックの中で、まだマージベクトルおよび予測符号化モードが決定されていないブロックを1つ選択する。すなわち、CTB内ブロックループに入る(ステップS709)。
 マージベクトル決定部2760は、選択されたブロックに対して、近傍ブロックの動きベクトルから導出される複数のマージベクトル候補の中からコストが最小になるマージベクトルを決定する(ステップS710)。
 マージベクトル候補リスト生成部2761によるマージベクトル候補リスト生成の動作は、図11に示す動作と同様である。n=1の時、マージベクトル候補リスト生成部2761に入力されるCTB外の近傍ブロックの動き情報はない。または、n=1の時、マージベクトル候補リスト生成部2761に入力されるCTB外の近傍ブロックの動き情報は、動きベクトル探索部2710が出力する動き情報である。
 n≧2の時、マージベクトル候補リスト生成部2761に入力されるCTB外の近傍ブロックの動き情報は、(n-1)の時の予測符号化モード決定部2740が出力した予測符号化モード情報に含まれる動き情報である。
 ステップS711の処理は、図10に示すステップS406の処理と同様である。
 予測符号化情報決定部2700は、入力されたCTB内のブロックの中でマージベクトルおよび予測符号化モードが決定されていないブロックが存在する間、ステップS710~S711の処理を繰り返し行う。CTB内の全てのブロックに対してマージベクトルおよび予測符号化モードが決定されたとき、予測符号化情報決定部2700は、CTB内ブロックループを抜ける(ステップS712)。
 予測符号化情報決定部2700は、入力画像を構成するCTBの中で処理されていないCTBが存在する間、ステップS709~S712の処理を繰り返し行う。入力画像を構成する全てのCTBが処理されたとき、予測符号化情報決定部2700は、CTBループを抜け(ステップS713)、nに1を加算する。
 予測符号化情報決定部2700は、n<Nの間、ステップS708~S713の処理を繰り返し行う。n=Nのとき、予測符号化情報決定部2700は、Nループを抜ける(ステップS714)。
 ステップS715~S719の処理は、図10に示すステップS409~S413の処理と同様である。
 なお、予測符号化情報決定部2700は、図13に示すCTBループの各処理を、CTB単位で並列に実行してもよい。
 本実施形態のマージベクトル決定部2760は、マージベクトル決定処理を繰り返し実行する。また、予測符号化モード決定部2740は、予測符号化モード決定処理を繰り返し実行する。よって、マージベクトル決定部2760は、前回の予測符号化モード決定処理で生成された、処理対象ブロックが属するCTB外の近傍ブロックの動き情報も参照できる。すなわち、本実施形態の動画像符号化装置は、第1の実施形態および第2の実施形態よりも動き情報の精度を向上させ、符号化効率を高めることができる。
 また、第2の実施形態と同様、本実施形態でも、予測符号化モード決定部2740が所定回目に予測符号化モードを決定した後、マージインデックス決定部2770がH.265規格に準拠したマージインデックスを再度設定する。よって、H.265規格に準拠していれば、専用デコーダではないデコーダでも、本実施形態の動画像符号化装置が出力するビットストリームを復号できる。
 上記の各実施形態では、マージベクトル候補リスト作成部が近傍ブロックの情報を参照する処理を説明した。動きベクトル探索部も(すなわち、AMVPでも)、マージベクトル候補リスト作成部と同様に、近傍ブロックの情報を参照する処理を実施してもよい。
 また、上記の各実施形態において、マージベクトル候補リスト作成部は、リスト作成時に処理対象ブロックが属するCTB内のブロックのみを参照できるが、マージベクトル候補リスト作成部が参照できる領域はCTBに限定されない。処理対象ブロックが属する領域であれば、マージベクトル候補リスト作成部が参照できる領域はCTBより広い領域でも、CTBより狭い領域でもよい。
 また、上記の各実施形態を、ハードウェアで構成することも可能であるが、例えば記録媒体に記録されたコンピュータプログラムにより実現することも可能である。
 図14に示す情報処理装置は、プロセッサ1001、プログラムメモリ1002、映像データを格納するための記憶媒体(記録媒体)1003、およびビットストリーム等のデータを格納するための記憶媒体1004を備える。記憶媒体1003と記憶媒体1004とは、別個の記憶媒体であってもよいし、同一の記憶媒体からなる記憶領域であってもよい。記憶媒体として、ハードディスク等の磁気記憶媒体を用いることができる。記憶媒体1003において、少なくともプログラムが記憶される領域は、一時的でない有形な記憶領域(non-transitory tangible media )である。
 図14に示された情報処理装置において、プログラムメモリ1002には、図1に示された各ブロックの機能を実現するためのプログラムが格納される。そして、プロセッサ1001は、プログラムメモリ1002に格納されているプログラムに従って処理を実行することによって、図1に示された動画像符号化装置の機能を実現する。
 次に、本発明の概要を説明する。図15は、本発明による動画像符号化装置の概要を示すブロック図である。本発明による動画像符号化装置10は、画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、参照領域に内包される隣接ブロックの動きベクトルから、動き補償予測に用いられる符号化対象ブロックの動きベクトルを決定する動きベクトル決定部11を備える。
 そのような構成により、動画像符号化装置は、符号化効率を低下させずに多数のタスクを並列に処理できる。
 また、動きベクトル決定部11は、符号化対象ブロックが内包される参照領域に内包される隣接ブロックの動きベクトルから、符号化対象ブロックに関するマージベクトル候補リストを生成するリスト生成部(例えば、マージベクトル候補リスト生成部2721)と、生成されたマージベクトル候補リストの中から評価コストが最小のマージベクトル候補を選択するマージベクトル選択部(例えば、マージベクトル選択部2762)とを含んでもよい。
 そのような構成により、動画像符号化装置は、マージモードにおけるマージベクトル候補リストの作成処理と動き補償予測に用いられるマージベクトルの選択処理をCTBごとに並列に実施できる。
 また、動きベクトル決定部11は、マージベクトル選択部により選択されたマージベクトル候補に対応するインデックスを生成するインデックス生成部(例えば、マージベクトル・マージインデックス決定部2720)を含んでもよい。
 そのような構成により、動画像符号化装置は、マージモードにおけるマージインデックスの作成処理をCTBごとに並列に実施できる。
 また、動きベクトル決定部11は、マージベクトル選択部により選択されたマージベクトル候補に関する評価コストを用いて符号化対象ブロックの予測符号化モードを決定するモード決定部(例えば、予測符号化モード決定部2740)を含み、動画像符号化装置10は、画像を構成する全てのブロックの予測符号化モードおよび動きベクトルが決定された後、符号化対象ブロックの隣接ブロックの動きベクトルから符号化対象ブロックに関するマージベクトル候補リストを生成する第2リスト生成部(例えば、マージベクトル候補リスト生成部2771)と、生成されたマージベクトル候補リストに対応するインデックスを生成する第2インデックス生成部(例えば、マージインデックス選択部2772)とを備えてもよい。
 そのような構成により、動画像符号化装置は、マージベクトル候補リストの作成処理およびマージベクトルの選択処理のCTBごとの並列実施と、H.265規格に準拠したマージインデックスの作成を両立できる。
 また、動画像符号化装置10は、画像を構成する全てのブロックの予測符号化モードおよび動きベクトルが決定された後、符号化対象ブロックの隣接ブロックの動きベクトルから符号化対象ブロックに関するマージベクトル候補リストを生成する第3リスト生成部(例えば、マージベクトル候補リスト生成部2761)と、生成されたマージベクトル候補リストの中から評価コストが最小のマージベクトル候補を選択する第2マージベクトル選択部(例えば、マージベクトル選択部2762)と、第2マージベクトル選択部により選択されたマージベクトル候補に関する評価コストを用いて、符号化対象ブロックの予測符号化モードを決定する第2モード決定部(例えば、予測符号化モード決定部2740)とを備え、第2モード決定部は、決定された予測符号化モードに対応する動きベクトルを第3リスト生成部に入力し、第2リスト生成部は、第2モード決定部により所定回目に決定された予測符号化モードに対応する動きベクトルに基づいてマージベクトル候補リストを生成し、第2インデックス生成部は、第2モード決定部により所定回目に決定された予測符号化モードに基づいてインデックスを生成してもよい。
 そのような構成により、動画像符号化装置は、高精度なマージベクトル候補リストの作成処理および高精度なマージベクトルの選択処理のCTBごとの並列実施と、H.265規格に準拠した高精度なマージインデックスの作成を両立できる。
 また、動きベクトル決定部11は、符号化対象ブロックが内包される参照領域に内包される隣接ブロックの動きベクトルから、符号化対象ブロックに関する予測動きベクトルを探索する動きベクトル探索部(例えば、動きベクトル探索部2710)を含んでもよい。
 そのような構成により、動画像符号化装置は、AMVPにおける予測動きベクトル探索処理をCTBごとに並列に実施できる。
 また、動画像符号化装置10は、複数の画面内予測モードの中からコストが最小になる、符号化対象ブロックに関する画面内予測モードを決定する画面内予測モード決定部(例えば、画面内予測モード決定部2730)を備えてもよい。
 また、モード決定部は、マージベクトル選択部により選択されたマージベクトル候補に関する評価コストと、動きベクトル探索部により探索された予測動きベクトルに関する評価コストと、画面内予測モード決定部により決定された画面内予測モードに関する評価コストとを用いて、符号化対象ブロックの予測符号化モードを決定してもよい。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 以上で説明したこの出願は、2015年7月10日に出願された日本出願特願2015-138655を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 本発明は、符号化処理の符号化効率を保ちながら高い処理の並列度を提供でき、高解像度映像の高速処理を実現できるため、高解像度処理が要求される撮像システムやトランスコードシステムなどに好適に適用可能である。
10、1000 動画像符号化装置
11 動きベクトル決定部
1001 プロセッサ
1002 プログラムメモリ
1003、1004 記憶媒体
1100 変換・量子化部
1200 減算部
1210 加算部
1300 符号化部
1400 逆変換・逆量子化部
1500 ループフィルタ
1600 フレームバッファ
1700、2700 予測符号化情報決定部
1710、2710 動きベクトル探索部
1720、2720 マージベクトル・マージインデックス決定部
1721、2721 マージベクトル候補リスト生成部
1722、2722 マージベクトル・インデックス選択部
1730、2730 画面内予測モード決定部
1740、2740 予測符号化モード決定部
1750、2750 予測情報バッファ
1800 画面内予測部
1900 動き補償予測部
2760 マージベクトル決定部
2761、2771 マージベクトル候補リスト生成部
2762 マージベクトル選択部
2770 マージインデックス決定部
2772 マージインデックス選択部

Claims (10)

  1.  画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、前記参照領域に内包される前記隣接ブロックの動きベクトルから、動き補償予測に用いられる前記符号化対象ブロックの動きベクトルを決定する動きベクトル決定手段を備える
     ことを特徴とする動画像符号化装置。
  2.  前記動きベクトル決定手段は、前記符号化対象ブロックが内包される前記参照領域に内包される前記隣接ブロックの前記動きベクトルから、前記符号化対象ブロックに関するマージベクトル候補リストを生成するリスト生成手段と、生成された前記マージベクトル候補リストの中から評価コストが最小のマージベクトル候補を選択するマージベクトル選択手段とを含む
     請求項1記載の動画像符号化装置。
  3.  前記動きベクトル決定手段は、前記マージベクトル選択手段により選択された前記マージベクトル候補に対応するインデックスを生成するインデックス生成手段を含む
     請求項2記載の動画像符号化装置。
  4.  前記動きベクトル決定手段は、前記マージベクトル選択手段により選択された前記マージベクトル候補に関する評価コストを用いて前記符号化対象ブロックの予測符号化モードを決定するモード決定手段を含み、
     前記画像を構成する全てのブロックの前記予測符号化モードおよび前記動きベクトルが決定された後、前記符号化対象ブロックの前記隣接ブロックの前記動きベクトルから前記符号化対象ブロックに関するマージベクトル候補リストを生成する第2リスト生成手段と、
     生成された前記マージベクトル候補リストに対応するインデックスを生成する第2インデックス生成手段とを備える
     請求項2記載の動画像符号化装置。
  5.  前記画像を構成する全てのブロックの前記予測符号化モードおよび前記動きベクトルが決定された後、前記符号化対象ブロックの前記隣接ブロックの前記動きベクトルから前記符号化対象ブロックに関するマージベクトル候補リストを生成する第3リスト生成手段と、
     前記第3リスト生成手段によって生成された前記マージベクトル候補リストの中から評価コストが最小のマージベクトル候補を選択する第2マージベクトル選択手段と、
     前記第2マージベクトル選択手段により選択された前記マージベクトル候補に関する評価コストを用いて、前記符号化対象ブロックの予測符号化モードを決定する第2モード決定手段とを備え、
     前記第2モード決定手段は、決定された前記予測符号化モードに対応する前記動きベクトルを前記第3リスト生成手段に入力し、
     前記第2リスト生成手段は、前記第2モード決定手段により所定回目に決定された前記予測符号化モードに対応する前記動きベクトルに基づいて前記マージベクトル候補リストを生成し、
     前記第2インデックス生成手段は、前記第2モード決定手段により所定回目に決定された前記予測符号化モードに基づいて前記インデックスを生成する
     請求項4記載の動画像符号化装置。
  6.  前記動きベクトル決定手段は、前記符号化対象ブロックが内包される前記参照領域に内包される前記隣接ブロックの前記動きベクトルから、前記符号化対象ブロックに関する予測動きベクトルを探索する動きベクトル探索手段を含む
     請求項1から請求項5のうちのいずれか1項に記載の動画像符号化装置。
  7.  画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、前記参照領域に内包される前記隣接ブロックの動きベクトルから、動き補償予測に用いられる前記符号化対象ブロックの動きベクトルを決定する
     ことを特徴とする動画像符号化方法。
  8.  前記符号化対象ブロックが内包される前記参照領域に内包される前記隣接ブロックの前記動きベクトルから、前記符号化対象ブロックに関するマージベクトル候補リストを生成し、
     生成された前記マージベクトル候補リストの中から評価コストが最小のマージベクトル候補を選択する
     請求項7記載の動画像符号化方法。
  9.  コンピュータに、
     画像を構成する参照領域に内包される符号化対象ブロックに隣接するブロックである隣接ブロックのうち、前記参照領域に内包される前記隣接ブロックの動きベクトルから、動き補償予測に用いられる前記符号化対象ブロックの動きベクトルを決定する決定処理
     を実行させるための動画像符号化プログラムを記憶する記録媒体。
  10.  コンピュータに、
     前記符号化対象ブロックが内包される前記参照領域に内包される前記隣接ブロックの前記動きベクトルから、前記符号化対象ブロックに関するマージベクトル候補リストを生成する生成処理、および
     生成された前記マージベクトル候補リストの中から評価コストが最小のマージベクトル候補を選択する選択処理を実行させる
     前記動画像符号化プログラムを記憶する請求項9記載の記録媒体。
PCT/JP2016/003258 2015-07-10 2016-07-08 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体 Ceased WO2017010073A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/742,964 US10462479B2 (en) 2015-07-10 2016-07-08 Motion picture encoding device, motion picture encoding method, and storage medium storing motion picture encoding program
JP2017528284A JP6962193B2 (ja) 2015-07-10 2016-07-08 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-138655 2015-07-10
JP2015138655 2015-07-10

Publications (1)

Publication Number Publication Date
WO2017010073A1 true WO2017010073A1 (ja) 2017-01-19

Family

ID=57756878

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/003258 Ceased WO2017010073A1 (ja) 2015-07-10 2016-07-08 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体

Country Status (3)

Country Link
US (1) US10462479B2 (ja)
JP (1) JP6962193B2 (ja)
WO (1) WO2017010073A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019064934A1 (ja) * 2017-09-27 2019-04-04 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
WO2019103564A1 (ko) * 2017-11-27 2019-05-31 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4568249A3 (en) * 2010-09-02 2025-07-30 LG Electronics Inc. Inter prediction method and device
CN118451715A (zh) * 2021-10-15 2024-08-06 抖音视界有限公司 用于视频处理的方法、设备和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244503A (ja) * 2004-02-25 2005-09-08 Sony Corp 画像情報符号化装置および画像情報符号化方法
JP2012175424A (ja) * 2011-02-22 2012-09-10 Panasonic Corp 符号化処理装置および符号化処理方法
JP2012191512A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像処理装置および方法
WO2013001818A1 (ja) * 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、および、画像符号化復号装置
JP2013236367A (ja) * 2012-04-12 2013-11-21 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
WO2015083300A1 (ja) * 2013-12-04 2015-06-11 日本電気株式会社 動画像符号化装置、動画像符号化方法および非一時的なコンピュータ可読媒体

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681810B (zh) * 2010-05-26 2018-11-06 Lg电子株式会社 用于处理视频信号的方法和设备
US9516334B2 (en) 2011-11-08 2016-12-06 Electronics And Telecommunications Research Institute Method and device for sharing a candidate list
JP2013121167A (ja) 2011-12-09 2013-06-17 Jvc Kenwood Corp 画像符号化装置、画像符号化方法及び画像符号化プログラム
US9544592B2 (en) * 2012-02-10 2017-01-10 Texas Instruments Incorporated Methods and systems for encoding pictures associated with video data
HRP20211884T1 (hr) 2012-04-12 2022-03-04 Jvckenwood Corporation Uređaj za kodiranje pokretne slike, postupak za kodiranje pokretne slike, program za kodiranje pokretne slike, i uređaj za dekodiranje pokretne slike, postupak za dekodiranje pokretne slike, program za dekodiranje pokretne slike
US9609347B2 (en) * 2013-04-04 2017-03-28 Qualcomm Incorporated Advanced merge mode for three-dimensional (3D) video coding
JP2015106747A (ja) * 2013-11-28 2015-06-08 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
GB201409634D0 (en) * 2014-05-30 2014-07-16 Canon Kk Intra block copy mode encoding choice
CN105981382B (zh) * 2014-09-30 2019-05-28 微软技术许可有限责任公司 用于视频编码的基于散列的编码器判定

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005244503A (ja) * 2004-02-25 2005-09-08 Sony Corp 画像情報符号化装置および画像情報符号化方法
JP2012175424A (ja) * 2011-02-22 2012-09-10 Panasonic Corp 符号化処理装置および符号化処理方法
JP2012191512A (ja) * 2011-03-11 2012-10-04 Sony Corp 画像処理装置および方法
WO2013001818A1 (ja) * 2011-06-30 2013-01-03 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、および、画像符号化復号装置
JP2013236367A (ja) * 2012-04-12 2013-11-21 Jvc Kenwood Corp 動画像復号装置、動画像復号方法、動画像復号プログラム、受信装置、受信方法及び受信プログラム
WO2015083300A1 (ja) * 2013-12-04 2015-06-11 日本電気株式会社 動画像符号化装置、動画像符号化方法および非一時的なコンピュータ可読媒体

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019064934A1 (ja) * 2017-09-27 2019-04-04 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JPWO2019064934A1 (ja) * 2017-09-27 2020-10-15 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JP6992815B2 (ja) 2017-09-27 2022-01-13 日本電気株式会社 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
US11330269B2 (en) 2017-09-27 2022-05-10 Nec Corporation Moving image coding device, moving image coding method and moving image coding program
WO2019103564A1 (ko) * 2017-11-27 2019-05-31 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
US11070797B2 (en) 2017-11-27 2021-07-20 Lg Electronics Inc. Image decoding method and apparatus based on inter prediction in image coding system

Also Published As

Publication number Publication date
JPWO2017010073A1 (ja) 2018-04-26
US10462479B2 (en) 2019-10-29
JP6962193B2 (ja) 2021-11-05
US20180227592A1 (en) 2018-08-09

Similar Documents

Publication Publication Date Title
KR102620624B1 (ko) 영상 복호화 방법 및 컴퓨터로 읽을 수 있는 기록 매체
KR102450443B1 (ko) 다중 참조 예측을 위한 움직임 벡터 개선
JP6855411B2 (ja) 予測動きベクトル誘導方法及びその方法を使用する装置
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
CN106686378B (zh) 对图像进行解码的方法和设备
KR20220119579A (ko) 참조 유닛 결정 방법 및 장치
KR20110085896A (ko) 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
CN110121883A (zh) 在图像编码系统中对图像进行解码的方法和装置
WO2013042888A2 (ko) 머지 후보 블록 유도 방법 및 이러한 방법을 사용하는 장치
KR102027474B1 (ko) 이전 블록의 움직임 벡터를 현재 블록의 움직임 벡터로 이용하는 영상 부호화, 복호화 방법 및 장치
CN101573984A (zh) 用于使用多个运动矢量预测因子来估计运动矢量的方法和设备,编码器、解码器和解码方法
US12452406B2 (en) Method and apparatus for asymmetric blending of predictions of partitioned pictures
JP6962193B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
AU2016228181A1 (en) Method for inducing a merge candidate block and device using same
KR101688085B1 (ko) 고속 인트라 예측을 위한 영상 부호화 방법 및 장치
JP6992815B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラム
JP5706291B2 (ja) 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
JP5281597B2 (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: 16824058

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017528284

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15742964

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16824058

Country of ref document: EP

Kind code of ref document: A1