WO2022176019A1 - 映像符号化方法、映像符号化装置、及び映像符号化プログラム - Google Patents

映像符号化方法、映像符号化装置、及び映像符号化プログラム Download PDF

Info

Publication number
WO2022176019A1
WO2022176019A1 PCT/JP2021/005727 JP2021005727W WO2022176019A1 WO 2022176019 A1 WO2022176019 A1 WO 2022176019A1 JP 2021005727 W JP2021005727 W JP 2021005727W WO 2022176019 A1 WO2022176019 A1 WO 2022176019A1
Authority
WO
WIPO (PCT)
Prior art keywords
blocks
block
image
combined
cost value
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/JP2021/005727
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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to PCT/JP2021/005727 priority Critical patent/WO2022176019A1/ja
Priority to JP2023500147A priority patent/JP7513184B2/ja
Priority to US18/277,066 priority patent/US12407819B2/en
Publication of WO2022176019A1 publication Critical patent/WO2022176019A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the disclosed technique relates to a video encoding method, a video encoding device, and a video encoding program.
  • H.264 VVC Very Video Coding
  • each frame is first divided into basic coding units called CTUs (Coding Tree Units). This is MPEG-2 and H.264. It corresponds to MB (Macro Block) in H.264/AVC.
  • CTUs Coding Tree Units
  • Each CTU is further divided into units called CUs (Coding Units).
  • CUs Coding Units
  • each CTU is split based on recursive quadtree block partitioning (Quad Tree: hereinafter referred to as "QT partitioning"), which is a tree structure in which each node is branched into four branches. be done. Therefore, there are 8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, and 64 ⁇ 64 candidates as possible CU sizes, and a CTU is configured by combining CUs of each size.
  • PU Prediction Unit
  • TU transformation processing unit
  • each CTU is divided not only into quadtree block division, but also into binary tree block division (Binary Tree division, hereinafter referred to as "BT division ), and ternary tree block partitioning (hereinafter referred to as "TT partitioning"), which divides a block into three with a side ratio of 1:2:1 in the horizontal or vertical direction, has been added.
  • BT division Binary Tree division
  • TT partitioning ternary tree block partitioning
  • the size of the CU in VVC is divided into rectangles and squares of various sizes, such as 32 ⁇ 4 and 8 ⁇ 16, obtained by dividing the original CTU by combining QT division, TT division, and BT division. , and a combination of these CU sizes constitutes a CTU. Therefore, in VVC, compared with HEVC and the like, it is possible to adopt a complicated block division shape that matches the pattern and characteristics of the frame to be encoded, and highly efficient encoding can be performed. In VVC, encoding such as prediction processing, frequency conversion, and quantization is performed for each CU (for example, Non-Patent Document 1).
  • the encoder since the number of block division patterns in VVC is much larger than that in HEVC, the encoder performs encoding or simple evaluation on all division patterns, and the encoded result or simple evaluation is performed. An enormous amount of processing is required to compare the results and determine the size of the CU.
  • the present invention has been made in view of such circumstances, and aims to reduce the amount of processing for determining block division in encoding while maintaining the intra-frame prediction mode according to the features of the original image.
  • a first aspect of the present disclosure is a video encoding method for encoding an image in units of blocks obtained by dividing the image, dividing the image into blocks, obtaining an intra-image prediction mode predicted for each block, It is determined whether or not to combine a plurality of blocks with a combination pattern based on the intra-picture prediction modes of a plurality of blocks adjacent to at least one of the blocks, and if it is determined to combine, each combined combined block It is a video encoding method in which a computer executes the process of predicting the
  • a second aspect of the present disclosure is a video encoding device that encodes an image in block units obtained by dividing an image, and includes a dividing unit that divides the image into blocks and an intra-image prediction mode predicted for each block.
  • An acquisition unit that acquires and a combination pattern based on intra-image prediction modes of a plurality of blocks adjacent to at least one of the blocks determines whether or not to combine a plurality of blocks, and if it is determined to combine, and a combining unit that performs prediction for each combined block.
  • a third aspect of the present disclosure is a video encoding program that encodes an image in units of blocks obtained by dividing the image, dividing the image into blocks, obtaining an intra-image prediction mode predicted for each block, It is determined whether or not to combine a plurality of blocks with a combination pattern based on the intra-picture prediction modes of a plurality of blocks adjacent to at least one of the blocks, and if it is determined to combine, each combined combined block It is a video encoding program for causing a computer to execute the process.
  • FIG. 2 is a block diagram showing an example of a functional configuration of a video encoding device for explaining processing for encoding video according to each embodiment; It is a schematic diagram which shows an example of CTU with which it uses for description of division
  • FIG. 10 is a schematic diagram showing an example of a CTU for explaining divided CUs according to each embodiment; It is a figure which shows an example of the intra-picture prediction mode which concerns on each embodiment. It is a block diagram which shows an example of the hardware constitutions of the video encoding apparatus which concerns on each embodiment.
  • FIG. 10 is a schematic diagram showing an example of a functional configuration of a video encoding device for explaining processing for encoding video according to each embodiment; It is a schematic diagram which shows an example of CTU with which it uses for description of division
  • FIG. 10 is a schematic diagram showing an example of a CTU for explaining divided CUs according to each embodiment; It is
  • FIG. 3 is a block diagram showing an example of the functional configuration of a CU division unit of the video encoding device according to the first embodiment; 4 is a data flow diagram showing an example of data flow in determination processing according to the first embodiment;
  • FIG. It is a figure which shows an example of CU used for description of derivation
  • FIG. 7 is a flow chart showing an example of the flow of determination processing for determining the block size of a CU according to the first embodiment
  • 7 is a flow chart showing an example of the flow of combining processing for combining CUs according to the first embodiment
  • FIG. 12 is a block diagram showing an example of the functional configuration of a CU division unit of the video encoding device according to the second embodiment
  • FIG. 11 is a data flow diagram showing an example of data flow in determination processing according to the second embodiment
  • FIG. 11 is a diagram showing an example of CUs for explaining a combination when rectangular CUs are included according to the second embodiment
  • FIG. 11 is a flow chart showing an example of the flow of determination processing for determining the block size of a CU according to the second embodiment
  • FIG. FIG. 11 is a flow chart showing an example of the flow of combining processing for combining CUs according to the second embodiment
  • FIG. 1 is a block diagram showing an example of a functional configuration of a video encoding device 1 for explaining video encoding processing.
  • the video encoding device 1 includes a CU division unit 10, a residual signal generation unit 11, a frequency conversion unit 12, a quantization unit 13, an entropy coding unit 14, an inverse quantization unit 15, an inverse frequency A transforming unit 16 , a decoded image generating unit 17 , a loop filtering unit 18 , a reference image buffering unit 19 , and a predicted image generating unit 20 are provided.
  • the CU division unit 10 divides the CTU of the original image to be encoded into CUs, and determines the size of the CUs and the prediction mode of each CU.
  • the original image is divided into CTUs each having a range of 128 pixels in the horizontal and vertical directions.
  • the CTU is further divided into CUs, which are recursively divided blocks, and the processing of encoding the CUs as one unit is performed.
  • the sizes of CTU and CU are assumed to be "(number of pixels in horizontal direction) ⁇ (number of pixels in vertical direction)".
  • a CTU having a range of 128 pixels horizontally and vertically as one block is expressed as 128 ⁇ 128.
  • the CTU is recursively divided into 4 blocks of 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, and 8 ⁇ 8 into CUs. may be divided into two or three horizontally or vertically. Therefore, as shown in FIG. 3 as an example, CTUs and CUs are divided into two, three, and four, and divided into CUs of respective sizes.
  • the CU division unit 10 shown in FIG. 1 acquires an original image to be encoded and a decoded image from a reference image buffer unit 19 described later, and divides each CTU related to the original image into each CU described above. do.
  • the CU division unit 10 outputs the original image divided into the size of each CU to the residual signal generation unit 11 and outputs the size of the CU and the prediction mode of the CU to the predicted image generation unit 20 .
  • a method of dividing a CU and a method of deriving a prediction mode according to the present invention will be described in detail with reference to FIGS. 4 to 17 described later.
  • the prediction mode which concerns on this embodiment demonstrates the form which is intra-picture prediction mode.
  • the intra-picture prediction mode is a value for determining a block to refer to for encoding from blocks in an image that have been encoded before the block to be encoded.
  • the direction in which the block to be referenced is located is determined in advance by the value of the prediction mode.
  • the intra-picture prediction mode of VVC is the CU neighboring prediction mode from 65 directions between 45 degrees diagonally downward left (mode number 2) and 45 degrees diagonally upward right (mode number 66). There is a mode in which prediction is performed by referring to pixels.
  • the intra-image prediction mode includes a Planar mode (mode number 0) in which prediction is performed using four points of adjacent pixels and a DC mode (mode number 1) in which an average of adjacent pixels is used.
  • the intra-picture prediction mode is derived by past size determination processing and associated with each CU related to the reference image, and the intra-picture prediction mode corresponding to each CU is obtained from the reference image. The form will be explained.
  • the residual signal generation unit 11 acquires the original image divided into each CU from the CU division unit 10, and acquires the prediction image corresponding to the original image divided into each CU from the prediction image generation unit 20.
  • the residual signal generation unit 11 outputs the difference between the acquired CU in the original image and the CU in the predicted image corresponding to the CU of the original image to the frequency transform unit 12 as a prediction residual signal.
  • the frequency transformation unit 12 acquires the prediction residual signal from the residual signal generation unit 11, and performs frequency transformation by discrete cosine transform or discrete sine transform on each of the horizontal direction of the predicted image and the vertical direction of the predicted image. .
  • the frequency transformation unit 12 outputs the derived transformation coefficient group to the quantization unit 13 as a result of frequency transformation.
  • the quantization unit 13 acquires the transform coefficient group from the frequency transform unit 12 and quantizes the transform coefficients using a predetermined quantization parameter.
  • the quantization unit 13 outputs the quantized transform coefficients to the entropy coding unit 14 and the inverse quantization unit 15 .
  • the entropy encoding unit 14 acquires the quantized transform coefficients from the quantization unit 13, entropy-encodes the quantized transform coefficients, and derives a bitstream.
  • the entropy coding unit 14 outputs a bitstream derived as a result of entropy coding to an external device (not shown).
  • the inverse quantization unit 15 acquires the quantized transform coefficients from the quantization unit 13, performs inverse quantization processing on the quantized transform coefficients, and generates transform coefficients.
  • the inverse quantization unit 15 outputs transform coefficients to the inverse frequency transform unit 16 as a result of the inverse quantization process.
  • the inverse frequency transform unit 16 acquires transform coefficients from the inverse quantization unit 15, performs inverse frequency transform on the transform coefficients, and generates prediction residual signals.
  • the inverse frequency transformer 16 outputs the prediction residual signal to the decoded image generator 17 .
  • the decoded image generation unit 17 acquires the prediction residual signal from the inverse frequency transform unit 16, and acquires the predicted image of the original image from the predicted image generation unit 20, which will be described later.
  • the decoded image generation unit 17 generates a decoded image of the original image for each CU by adding the prediction residual signal to the prediction image for each CU.
  • the decoded image generation unit 17 outputs the decoded image of the original image to the loop filter processing unit 18 and the reference image buffer unit 19 .
  • the loop filtering unit 18 acquires the decoded image from the decoded image generating unit 17 and performs filtering on the decoded image to reduce encoding distortion.
  • the loop filtering unit 18 outputs the filtered decoded image to the reference image buffer unit 19 .
  • the reference image buffer unit 19 acquires the decoded image before filter processing from the decoded image generation unit 17 and acquires the decoded image after filter processing from the loop filter processing unit 18 .
  • the reference image buffer unit 19 stores the acquired decoded image before filtering and the acquired decoded image after filtering as images for reference. That is, the reference image buffer unit 19 stores a decoded image obtained by decoding a past original image as a reference image.
  • the predicted image generation unit 20 acquires the prediction mode of the CU related to the original image from the CU division unit 10, and acquires the past decoded image stored as the reference image from the reference image buffer unit 19.
  • the predicted image generator 20 generates a predicted image of the original image based on the prediction mode of the original image and past decoded image data.
  • the predicted image generator 20 outputs the predicted image to the residual signal generator 11 .
  • FIG. 5 is a block diagram showing the hardware configuration of the video encoding device 1. As shown in FIG.
  • the video encoding device 1 includes a CPU (Central Processing Unit) 31, a ROM (Read Only Memory) 32, a RAM (Random Access Memory) 33, a storage 34, an input section 35, a display section 36, and It has a communication interface (I/F) 37 .
  • Each component is communicatively connected to each other via a bus 38 .
  • the CPU 31 is a central processing unit that executes various programs and controls each section. That is, the CPU 31 reads a program from the ROM 32 or the storage 34 and executes the program using the RAM 33 as a work area. The CPU 31 performs control of the above components and various arithmetic processing according to programs stored in the ROM 32 or the storage 34 .
  • the ROM 32 or the storage 34 stores a judgment processing program for judging the size of the CU related to the original image and a combination processing program for combining sub-blocks related to the original image. .
  • the ROM 32 stores various programs and various data.
  • the RAM 33 temporarily stores programs or data as a work area.
  • the storage 34 is configured by a storage device such as a HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 35 includes a pointing device such as a mouse and a keyboard, and is used for various inputs.
  • the display unit 36 is, for example, a liquid crystal display, and displays various information.
  • the display unit 36 may employ a touch panel system and function as the input unit 35 .
  • the communication interface 37 is an interface for communicating with other devices such as display devices.
  • the communication uses, for example, a wired communication standard such as Ethernet (registered trademark) or FDDI, or a wireless communication standard such as 4G, 5G, or Wi-Fi (registered trademark).
  • FIG. 6 is a block diagram showing an example of the functional configuration of the CU dividing section 10 according to the video encoding device 1.
  • FIG. 7 is a data flow diagram showing an example of the flow of data in the determination processing related to the function of the CU dividing unit 10. As shown in FIG.
  • the CU division unit 10 includes an acquisition unit 41, a derivation unit 42, a determination unit 43, a combination processing unit 44, and an output unit 45 as functional configurations.
  • the CPU 31 functions as an acquisition unit 41 , a derivation unit 42 , a determination unit 43 , a combination processing unit 44 and an output unit 45 by executing the determination processing program.
  • the combination processing unit 44 includes a division unit 44A, a prediction mode acquisition unit 44B, and a combination unit 44C.
  • the acquisition unit 41 acquires the input original image and the decoded image obtained by decoding the original image in the past.
  • the derivation unit 42 derives the RD cost for a CU of a predetermined size from the acquired original image and decoded image.
  • the CUs of predetermined size are CUs of 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8, and 4 ⁇ 4.
  • the RD cost according to the present embodiment is a value that is obtained from the original image and the decoded image and indicates the amount of information and the coding error.
  • the deriving unit 42 calculates the RDs of 4 ⁇ 4 CUs with base points (0, 0), (4, 0), (0, 4), and (4, 4).
  • a value obtained by summing the costs (hereinafter referred to as "total cost value”) is derived.
  • the deriving unit 42 calculates the RD cost of the CU to be determined as the RD cost of the 8 ⁇ 8 CU with (0, 0) including the four 4 ⁇ 4 CUs described above as the base point (hereinafter referred to as the “target cost value”).
  • the derivation unit 42 further calculates 8 ⁇ 8 CUs with base points (0, 0), (8, 0), (0, 8), (8, 8) in the size range of 16 ⁇ 16 CUs. and a target cost value of a 16 ⁇ 16 CU starting from (0, 0) that includes the four 8 ⁇ 8 CUs.
  • the derivation unit similarly derives the total cost value and the target cost value in the 32 ⁇ 32 CU size range and the 64 ⁇ 64 CU size range, and performs the above-described processing on the 64 ⁇ 64 recursively until it derives the target cost value for the CU of .
  • the derivation unit 42 recursively performs the same processing in the range of the next 64 ⁇ 64 CU (for example, adjacent CU), recursively until all CUs are processed.
  • the determination unit 43 shown in FIG. 7 compares the total cost value obtained by summing the RD costs of the four CUs derived by the derivation unit 42 and the target cost value of the CU containing the four CUs, It is determined whether or not the target cost value is less than or equal to the total cost value. As an example, the determination unit 43 compares the total cost value of four 4 ⁇ 4 CUs with the target cost value of an 8 ⁇ 8 CU that includes the four 4 ⁇ 4 CUs, and determines the target cost value is less than or equal to the total cost value.
  • the determination unit 43 determines, as an 8 ⁇ 8 determination, the total cost value in four 4 ⁇ 4 CUs and the target in an 8 ⁇ 8 CU containing four 4 ⁇ 4 CUs Compare cost values. Next, the determination unit 43 compares the total cost value in four 8 ⁇ 8 CUs and the target cost value in a 16 ⁇ 16 CU including four 8 ⁇ 8 CUs as a 16 ⁇ 16 determination. . Similarly, the determination unit 43 performs 32 ⁇ 32 determination and 64 ⁇ 64 determination. In other words, the determination unit 43 performs determination by recursively comparing the total cost value and the target cost while enlarging the size of the CU to be determined from a small CU to a large CU. The determination unit 43 performs determination recursively until all CUs included in the CTU are processed.
  • the combining processing unit 44 combines blocks related to the target CU, and derives the size of the combined CU, the RD cost of the CU, and the prediction mode of the CU. do.
  • the dividing unit 44A associated with the combining processing unit 44 horizontally and vertically divides the target CU into 16 sub-blocks by dividing each into 4 sub-blocks.
  • the dividing unit 44A divides the target CU into four subblocks by dividing each into two in the horizontal direction and the vertical direction.
  • the prediction mode acquisition unit 44B in the combination processing unit 44 derives and acquires the prediction mode variation Vi of combination candidates obtained by combining the sub-blocks in each pattern.
  • the combination pattern means sub-patterns such that the target CU is horizontally BT-divided, vertically BT-divided, horizontally TT-divided, and vertically TT-divided.
  • Each pattern is a combination of blocks. That is, the prediction mode acquisition unit 44B obtains each combination candidate when the target CU is BT-divided in the horizontal direction, BT-divided in the vertical direction, TT-divided in the horizontal direction, and TT-divided in the vertical direction. , the prediction mode variation Vi is derived. Note that, when the target CU is an 8 ⁇ 8 CU, the prediction mode acquisition unit 44B derives the variation Vi for each combination candidate when the BT split is performed in the horizontal direction and the BT split in the vertical direction.
  • V is the degree of variation in the prediction mode of the combination candidate
  • the prediction mode variation Vi is the variance value of the prediction modes of the sub-blocks included in the combination candidates.
  • the prediction mode variation Vi is the sum of the absolute values of the prediction mode differences between the sub-blocks contained in the combined candidates, or the difference between the maximum value and the minimum value of the prediction modes in the sub-blocks. may
  • the combining unit 44C in the combining processing unit 44 shown in FIG. 6 identifies the minimum variation Vi from all the derived variations Vi of the prediction modes, and when the identified variation Vi is equal to or less than the threshold, the pattern related to the identified variation Vi is determined as the pattern to be combined.
  • the combining unit 44C combines the sub-blocks by using the combination candidates according to the determined pattern as combined CUs, and derives the RD cost and the prediction mode of the combined CUs. Also, if the identified variation Vi exceeds the threshold, the combining unit 44C does not combine the sub-blocks.
  • CUs subjected to QT partitioning are combined to form a shape when BT partitioning or TT partitioning is performed, and based on the prediction mode of the combined CU, the shape when BT partitioning or TT partitioning is performed is the shape of the CU. It is determined whether or not to use the shape.
  • the variance is equal to or less than a predetermined threshold, an example of merging is given.
  • the threshold according to the present embodiment will be described as a positive natural number equal to or greater than 0.
  • the prediction mode variation Vi is the variance value
  • the intra-image prediction modes (mode numbers) of the four sub-blocks are 11, 12, 13, and 14 indicating approximately the same direction
  • the prediction mode variation Vi becomes 1.6.
  • the intra-picture prediction modes (mode numbers) of the four sub-blocks are 10, 20, 30, and 40 indicating different directions
  • the prediction mode variation Vi is 166.6. That is, when the prediction mode variation Vi is the variance value, the intra-picture prediction modes that indicate roughly the same direction have a small variance value, and the intra-picture prediction modes that indicate different directions have a large variance value.
  • the threshold is set to a small value (for example, from 1 to 9) so as to combine sub-blocks related to intra-picture prediction modes showing roughly the same direction and not combine sub-blocks related to intra-picture prediction modes showing different directions. value of any one of them) may be set.
  • the prediction mode of the combined CU will be described as an average value of the prediction modes of the sub-blocks related to the combined CU. However, it is not limited to this. It may be the mode of the prediction mode of the sub-blocks associated with the combined CU. For example, if the prediction mode is the average value of the prediction modes of the sub-blocks, then in the sub-blocks of the four pre-combined CUs, if the prediction modes of each sub-block are 11, 12, 14, and 15, then after combining , the prediction mode of the CU is 13, which is the average value.
  • the prediction mode is the mode of the prediction mode of the sub-block
  • the prediction mode of each sub-block is 10, 10, 12, and 14, then the combination
  • the prediction mode of the later CU is 10, which is the mode.
  • the RD cost of the combined CU is a value obtained by adding or subtracting a predetermined value to or from the total value of the RD costs of the sub-blocks related to the combined CU.
  • the RD cost of the rectangular CU instead of actually encoding and deriving the RD cost of the rectangular CU after combination by adding or subtracting a predetermined value to or from the total value of the RD costs held by each sub-block before combination, It can be easily derived using the already derived RD cost.
  • FIG. 10 when joining in a region in a joining candidate involves splitting CUs in that region, the joining is not performed. In other words, when all CUs related to the merged CU are included in the merged candidate, the CUs within the area of the merged candidate are merged.
  • the output unit 45 shown in FIG. 7 uses the original image divided into the size of each CU, the size of each CU, the RD cost of each CU, and the prediction mode of each CU as division information. 1 to the residual signal generator 11 .
  • the output unit 45 outputs the size of the target CU, the RD cost of the target CU, and the prediction mode of the target CU. to output Further, when the determination unit 43 determines that the target cost value exceeds the total cost value, the output unit 45 outputs the size of the combined CU, the RD cost derived by the combination processing unit 44, and the combination processing The prediction mode derived by the unit 44 is output.
  • FIG. 11 is a flowchart showing an example of determination processing according to this embodiment.
  • the determination processing program shown in FIG. 11 is executed by the CPU 31 reading the determination processing program from the ROM 32 or the storage 34 and executing it.
  • the determination processing program shown in FIG. 11 is executed, for example, when an original image is input and an instruction to execute encoding is input.
  • step S101 the CPU 31 acquires original image data and decoded image data.
  • step S102 the CPU 31 divides the original image into CTUs, divides the CTU into 64 ⁇ 64 units, and sets the target CU, which is the target range for determination.
  • step S103 the CPU 31 sets the number of blocks N to 4.
  • step S104 the CPU 31 derives a total cost value for a CU of size N ⁇ N.
  • the total cost value in the N ⁇ N size CU according to the present embodiment is 4 ⁇ 4, 8 ⁇ 8, 16 ⁇ 16, and 32 ⁇ 32 CU sizes, and the sum of four CUs is This is the sum of the RD costs.
  • step S105 the CPU 31 multiplies N by 2 to obtain the size of the target CU that is one size larger.
  • step S106 the CPU 31 takes a CU of size N ⁇ N as a target CU and derives the target cost value of the target CU.
  • the CPU 31 sets the 8 ⁇ 8 size CU as the target CU. Thereafter, each time steps S104 and S105 are repeated, the CPU 31 increases the size of the target CU to 16 ⁇ 16, 32 ⁇ 32, and finally 64 ⁇ 64.
  • step S107 the CPU 31 compares the target cost value and the total cost value as N ⁇ N determination.
  • the target cost value is the RD cost value in an 8 ⁇ 8 target CU
  • the total cost value obtained by adding up the RD costs of four 4 ⁇ 4 CUs included in the target CU, and 8 ⁇ 8 with the target cost value, which is the RD cost in the target CU of 8.
  • step S108 the CPU 31 determines whether or not the target cost value exceeds the total cost value.
  • the target cost value exceeds the combined cost value (step S108: YES)
  • the CPU 31 proceeds to step S109.
  • the target cost value does not exceed the total cost value (the target cost value is equal to or less than the total cost value) (step S108: NO)
  • the CPU 31 proceeds to step S111.
  • step S109 the CPU 31 performs combining processing for combining sub-blocks obtained by dividing the CU into a predetermined number.
  • a plurality of CUs split by QT splitting are joined to obtain a rectangular CU shape like that obtained by BT splitting or TT splitting. Note that the merging process according to this embodiment will be described in detail with reference to FIG. 12, which will be described later.
  • step S110 the CPU 31 associates and stores the combined CU size, RD cost, and prediction mode.
  • step S111 the CPU 31 associates and stores the size of the N ⁇ N CU, the RD cost, and the prediction mode.
  • step S112 the CPU 31 determines whether or not the number of blocks N is 64. When the number of blocks N is 64 (step S112: YES), the CPU 31 proceeds to step S113. On the other hand, if the number of blocks N is not 64 (step S112: NO), the CPU 31 proceeds to step S104.
  • step S113 the CPU 31 determines whether or not all ranges have been compared in the set target range. If all ranges have been compared (step S113: YES), the CPU 31 proceeds to step S114. On the other hand, if all ranges have not been compared (step S113: NO), the CPU 31 proceeds to step S115.
  • step S114 the CPU 31 outputs the original image, the size of all CUs in the original image, the RD cost, and the prediction mode as division information.
  • step S115 the CPU 31 sets the target CU, which is the target range for the next determination, and proceeds to step S103.
  • FIG. 12 is a flow chart showing an example of combining processing according to this embodiment.
  • the CPU 31 reads the connection processing program from the ROM 32 or the storage 34 and executes it, thereby executing the connection processing program shown in FIG.
  • the connection processing program shown in FIG. 12 is executed when an instruction to execute the connection processing is input.
  • step S201 the CPU 31 divides the target CU into sub-blocks.
  • the target CU is any one of 8x8, 16x16, 32x32, and 64x64 CUs. is divided into 16 divisions, and if the target CU is an 8 ⁇ 8 CU, it is divided into 4 divisions.
  • step S202 the CPU 31 acquires the prediction mode of the sub-block.
  • step S203 the CPU 31 acquires combination candidates obtained by combining sub-blocks for each combination pattern for the target CU. Note that when the target CU is a 16 ⁇ 16, 32 ⁇ 32, or 64 ⁇ 64 CU, the combination candidates for patterns 1 to 4 shown in FIG. 9 are acquired, and when the target CU is an 8 ⁇ 8 CU , pattern 1, and pattern 2 are obtained.
  • step S204 the CPU 31 derives the prediction mode variation Vi for each combination candidate.
  • step S205 the CPU 31 identifies the minimum prediction mode variation Vmin among the derived prediction mode variations Vi.
  • step S206 the CPU 31 determines whether or not the specified minimum prediction mode variation Vmin is equal to or less than the threshold.
  • the specified variation Vi of the prediction mode is equal to or less than the threshold (step S206: YES)
  • the CPU 31 proceeds to step S207.
  • the identified prediction mode variation Vi is not equal to or less than the threshold (prediction mode variation Vi exceeds the threshold) (step S206: NO)
  • the CPU 31 terminates the combining process.
  • step S207 the CPU 31 determines a pattern related to the specified prediction mode variation Vi as a pattern for combining sub-blocks.
  • step S208 the CPU 31 combines the sub-blocks with the determined pattern as a combined CU.
  • the combination changes the combination pattern of the combined CUs the CUs are not combined.
  • step S209 the CPU 31 derives the combined CU RD cost and prediction mode.
  • the CU containing the region tends to be split vertically, and the CUs vertically adjacent to the CU are similarly divided. More likely to split vertically. Therefore, in an area with an edge such as a line extending in the vertical direction, it may not be necessary to perform an evaluation that divides and combines the CU in the horizontal direction, so it is possible to reduce the amount of processing. be.
  • the determination unit 43 recursively compares the total cost value and the target cost to perform determination while enlarging the size of the CU to be determined from a small CU to a large CU. explained. In the present embodiment, the determination unit 43 performs determination by recursively comparing the total cost value and the target cost while reducing the size of the CU to be determined from a large CU to a small CU. do.
  • FIG. 1 A diagram showing an example of the functional configuration of the video encoding device 1 according to the present embodiment (see FIG. 1), a diagram showing an example of a CTU for explaining the division (see FIG. 2), and an explanation of the divided CUs.
  • a diagram (see FIG. 3) showing an example of a CTU used for the above is the same as that of the first embodiment, so description thereof will be omitted.
  • a diagram showing the hardware configuration of the video encoding device 1 according to the present embodiment see FIG. 5
  • FIG. 8 a diagram showing an example of a CU containing four CUs (see FIG. 8), and a combination pattern are shown in FIG.
  • FIG. 8 A diagram showing FIG.
  • FIG. 10 showing an example of a CU for processing is the same as that of the first embodiment, and thus description thereof is omitted.
  • FIG. 13 is a block diagram showing an example of the functional configuration of the CU division unit 10 according to the video encoding device 1.
  • FIG. 14 is a data flow diagram showing an example of data flow in division processing. 13 that are the same as the functions of the CU dividing unit 10 shown in FIG. 6 are given the same reference numerals as in FIG. 6, and description thereof will be omitted. 14 that are the same as the functions of the CU dividing unit 10 shown in FIG. 7 are denoted by the same reference numerals as in FIG. 7, and description thereof will be omitted.
  • the CU division unit 10 includes an acquisition unit 41, a derivation unit 42, a determination unit 46, a combination processing unit 44, and an output unit 45 as functional configurations.
  • the CPU 31 functions as an acquisition unit 41 , a derivation unit 42 , a determination unit 46 , a combination processing unit 44 and an output unit 45 by executing the determination processing program.
  • the combination processing unit 44 includes a division unit 44D, a prediction mode acquisition unit 44B, and a combination unit 44C.
  • a determination unit 46 and a division unit 44D are different from the determination unit 43 and the division unit 44A of the first embodiment, respectively.
  • the determination unit 46 shown in FIG. 14 compares the total cost value obtained by summing the RD costs of the four CUs derived by the derivation unit 42 and the target cost value of the CU containing the four CUs, It is determined whether or not the target cost value is less than or equal to the total cost value. As an example, the determination unit 46 compares the total cost value of four 32 ⁇ 32 CUs with the target cost value of a 64 ⁇ 64 CU that includes the four 32 ⁇ 32 CUs, and determines the target cost value is less than or equal to the total cost value.
  • the determination unit 46 determines, as a 64 ⁇ 64 determination, the total cost value in four 32 ⁇ 32 CUs and the target cost value in a 64 ⁇ 64 CU including four 32 ⁇ 32 CUs. comparison. Next, the determination unit 46 compares the total cost value in four 16 ⁇ 16 CUs and the target cost value in a 32 ⁇ 32 CU including four 16 ⁇ 16 CUs as a 32 ⁇ 32 decision. . Similarly, the determination unit 46 performs 16 ⁇ 16 determination and 8 ⁇ 8 determination. That is, the determination unit 46 performs determination by recursively comparing the total cost value and the target cost while reducing the size of the CU to be determined from a large CU to a small CU.
  • the determination unit 46 performs determination recursively until all CUs included in the CTU are processed. note that. By performing determination while reducing the size of the CU, it is possible to reduce the number of times of determination processing and the amount of processing compared to the case of performing determination while reducing the size of the CU. For example, the determination unit 46 performs 64 ⁇ 64 determination, and if it is determined that the target cost value in the 64 ⁇ 64 CU is small, the size of the target CU is determined to be 64 ⁇ 64, and the size of the target CU is determined to be 64 ⁇ 64. It is not necessary to perform the process of determining the included CU. In other words, the determining unit 46 determines that a large CU has a smaller RD cost than a divided CU, so there is no need to divide and combine a large CU.
  • the combining processing unit 44 combines blocks related to the target CU, and derives the size of the combined CU, the RD cost of the CU, and the prediction mode of the CU. do.
  • the division unit 44D associated with the joint processing unit 44 shown in FIG. 13 divides the target CU into 16 sub-blocks by dividing each into 4 in the horizontal direction and the vertical direction.
  • the dividing unit 44D divides the target CU into four subblocks by dividing each of the target CU into two in the horizontal direction and the vertical direction.
  • the dividing unit 44D divides the rectangular CU into eight squares (for example, a 16 ⁇ 64 CU). 16 etc.) sub-blocks.
  • the square sub-blocks are combined by a prediction mode acquisition unit 44B and a combining unit 44C.
  • FIG. 16 is a flowchart showing an example of determination processing according to this embodiment.
  • the determination processing program shown in FIG. 16 is executed by the CPU 31 reading the determination processing program from the ROM 32 or the storage 34 and executing it.
  • the determination processing program shown in FIG. 16 is executed, for example, when an original image is input and an instruction to execute encoding is input. 16 that are the same as those in the determination process shown in FIG. 11 are denoted by the same reference numerals as in FIG. 11, and description thereof will be omitted.
  • step S116 the CPU 31 sets 64 to the number N of blocks.
  • step S117 the CPU 31 derives an N ⁇ N target cost value.
  • the N ⁇ N target cost values according to the present embodiment are the target cost values of 8 ⁇ 8, 16 ⁇ 16, 32 ⁇ 32, and 64 ⁇ 64 CUs.
  • step S118 the CPU 31 multiplies N by 1/2 to obtain the size of the target CU that is one size smaller.
  • step S119 the CPU 31 derives the total cost value of the N ⁇ N CUs.
  • the CPU 31 selects a 32 ⁇ 32 size CU as the target CU. Thereafter, each time steps S117 and S118 are repeated, the CPU 31 reduces the size of the target CU to 16 ⁇ 16, 8 ⁇ 8, and finally 4 ⁇ 4.
  • step S120 the CPU 31 performs a merging process for merging CUs. Note that the combining process according to this embodiment will be described in detail with reference to FIG. 17, which will be described later.
  • step S121 the CPU 31 determines whether or not the target CU is a 64 ⁇ 64 CU. If the target CU is a 64 ⁇ 64 CU (step S121: YES), the CPU 31 proceeds to step S113. On the other hand, if the target CU is not a 64 ⁇ 64 CU (step S121: NO), the CPU 31 proceeds to step S112.
  • FIG. 17 is a flow chart showing an example of combining processing according to this embodiment.
  • the CPU 31 reads the connection processing program from the ROM 32 or the storage 34 and executes it, thereby executing the connection processing program shown in FIG.
  • the connection processing program shown in FIG. 17 is executed when an instruction to execute connection processing is input. 17 that are the same as those in the combining process shown in FIG. 12 are denoted by the same reference numerals as in FIG. 12, and description thereof will be omitted.
  • step S210 the CPU 31 determines whether or not a rectangular CU is included among the target CUs to be combined. If a rectangular CU is not included (step S210: YES), the CPU 31 terminates the combining process. On the other hand, if a rectangular CU is included (step S210: NO), the CPU 31 proceeds to step S211.
  • step S211 the CPU 31 sets the rectangular CU as a target CU to be combined, and proceeds to step S201.
  • the display control device of the second embodiment performs CU size determination and CU coupling while reducing the determined CU size from a large CU to a small CU. This reduces the number of CU size determinations and the number of CU merging executions.
  • VVC VVC using QT division, BT division, TT division, and the like.
  • any encoding standard may be used as long as it divides into different shapes, such as QT division, BT division, and TT division, and encodes each divided unit.
  • a configuration has been described in which the processing of judging the size and concatenating CUs that have undergone QT division is executed.
  • a process of judging the size and combining may be performed on the CU that has undergone the BT splitting or the TT splitting.
  • the CTU and the CU are divided into equal CUs by QT division, and H. This has the effect of facilitating execution of parallel processing incorporated in H.265/HEVC encoding.
  • the display control processing executed by the CPU reading the software (program) in each of the above embodiments may be executed by various processors other than the CPU.
  • the processor is a PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing, such as an FPGA (Field-Programmable Gate Array), and an ASIC (Application Specific Integrated Circuit) to execute specific processing.
  • a dedicated electric circuit or the like which is a processor having a specially designed circuit configuration, is exemplified.
  • the display control processing may be executed by one of these various processors, or a combination of two or more processors of the same or different type (for example, multiple FPGAs and a combination of CPU and FPGA). etc.). More specifically, the hardware structure of these various processors is an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the display control processing program has been pre-stored (installed) in the storage 34, but the present invention is not limited to this.
  • Programs are stored in non-transitory storage media such as CD-ROM (Compact Disk Read Only Memory), DVD-ROM (Digital Versatile Disk Read Only Memory), and USB (Universal Serial Bus) memory.
  • CD-ROM Compact Disk Read Only Memory
  • DVD-ROM Digital Versatile Disk Read Only Memory
  • USB Universal Serial Bus
  • a display controller configured to:
  • Appendix 2 A non-temporary storage medium storing a program executable by a computer to perform video encoding processing, The video encoding process for encoding the image in units of blocks obtained by dividing the image, dividing the image into blocks; obtaining an intra-picture prediction mode predicted for each block; It is determined whether or not to combine the plurality of blocks with a combination pattern based on the intra-picture prediction modes of a plurality of blocks adjacent to at least one of the blocks, and if it is determined to combine, the combined combined block make a prediction every Non-transitory storage media.

Landscapes

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

Abstract

映像符号化方法は、画像を分割したブロック単位で画像の符号化を行う映像符号化方法であって、画像をブロックに分割し、ブロック毎に予測された画像内予測モードを取得し、少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、処理をコンピュータが実行する方法である。

Description

映像符号化方法、映像符号化装置、及び映像符号化プログラム
 開示の技術は、映像符号化方法、映像符号化装置、及び映像符号化プログラムに関する。
 従来、ディジタル映像の伝送および配信においては、MEPG-2、H.264/AVC(Advanced Video Coding)やH.265/HEVC(High Efficiency Video Coding)といった、映像符号化国際標準で定められている映像符号化を行うことで配信時の映像データ量を削減し、多様なネットワーク環境下での高精細な映像配信を実現している。
 近年、3840×2160画素の解像度を有する4K映像や、さらに4K映像の4倍の解像度の7680×4320画素の解像度を有する8K映像等の超高精細映像の放送・配信サービスの普及拡大に伴い、更なる映像の高圧縮化の目的のため、H.265/HEVCの次の映像符号化国際標準としてVVC(Versatile Video Coding)が定められている。
 H.265/HEVC、及びVVC等の符号化規格では、各フレームはまずCTU(Coding Tree Unit)と呼ばれる符号化基本単位に分割される。これは、MPEG-2やH.264/AVCにおけるMB(Macro Block)に相当する。
 また、各CTUは、更にCU(Coding Unit)と呼ばれる単位に分割される。H.265/HEVCでは、各CTUは、各ノードが4つの枝に分枝されたツリー構造である再帰的な4分木ブロック分割(Quad Tree:、以下、「QT分割」という。)に基づいて分割される。そのため、取りうるCUの大きさとして8×8、16×16、32×32、64×64の候補があり、各々の大きさのCUの組み合わせによって、CTUが構成されることとなる。そして、各CUについて、更に、予測処理単位であるPU(Prediction Unit)、変換処理単位であるTU(Transform Unit)が設定され、各符号化処理が行われる。
 一方、VVCでは、各CTUは、4分木ブロック分割だけでなく、ブロックを水平方向、又は垂直方向に、2等分に2分割する2分木ブロック分割(Binary Tree分割、以下、「BT分割」という。)、ブロックを水平方向、又は垂直方向に1:2:1の辺の比で3分割する3分木ブロック分割(Ternary Tree分割、以下「TT分割」という。)が追加されている。VVCにおけるCUは、CTUに対して、QT分割を再帰的に繰り返した後に生成された各CUについてBT分割、又はTU分割を、水平方向又は垂直方向に繰り返すことで、可変サイズのCUに分割する。そのため、VVCにおけるCUの大きさは、32×4や8×16のように、もととなるCTUをQT分割、TT分割、及びBT分割を組み合わせて分割した様々な大きさの長方形、及び正方形を含む多くの大きさを選択可能で、これらにCUの大きさの組み合わせでCTUが構成される。そのため、VVCでは、HEVC等と比べてより符号化対象フレームの絵柄や特徴に合わせた複雑なブロック分割形状を取ることができ、高効率な符号化を行うことができる。なお、VVCでは、CU単位に予測処理、周波数変換、及び量子化等の符号化が行われる(例えば、非特許文献1)。
Jianle Chen, Yan Ye, Seung Hwan Kim, "Algorithm description for Versatile Video Coding and Test Model 5 (VTM 5)", Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 14th Meeting: Geneva, CH,  19-27 Mar. 2019, VTM algorithm description (JVET-N1002-v1)
 しかしながら、VVCでのブロック分割パターンは、HEVCと比べて非常に膨大なため、エンコーダが全ての分割パターンに対して符号化若しくは簡易的な評価を行い、符号化した結果若しくは簡易的な評価を行った結果の比較を行い、CUの大きさを決定していくには、膨大な処理量が必要となる。
 CUの大きさを決定する際に、隣接ブロックの分割結果を用いて適応的に分割形状の枝刈りをすることで分割パターンを絞り込む方法なども考えられるが、枝刈りによる処理の削減度合いは、映像に応じて判定されるそれぞれのブロックの状況により変化するため、処理量が一定にならない。また、仮に枝刈りをしていたったとしても、各CUの大きさにおいてQT分割、BT分割、及びTT分割をそれぞれ行い、大きさの判定を行う場合、各分割パターンに応じて、画面内予測処理・変換・量子化処理等を行って、RD(Rate―Distortion)コストに基づく評価を行うことは、大幅な処理量の増加となる。
 本発明は、このような事情に鑑みてなされたもので、原画像の特徴に応じた画面内予測モードを維持しつつ、符号化におけるブロック分割決定の処理量を削減することを目的とする。
 本開示の第1態様は、画像を分割したブロック単位で画像の符号化を行う映像符号化方法であって、画像をブロックに分割し、ブロック毎に予測された画像内予測モードを取得し、少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、処理をコンピュータが実行する映像符号化方法である。
 本開示の第2態様は、画像を分割したブロック単位で画像の符号化を行う映像符号化装置であって、画像をブロックに分割する分割部と、ブロック毎に予測された画像内予測モードを取得する取得部と、少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う結合部と、を備えた映像符号化装置である。
 本開示の第3態様は、画像を分割したブロック単位で画像の符号化を行う映像符号化プログラムであって、画像をブロックに分割し、ブロック毎に予測された画像内予測モードを取得し、少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、処理をコンピュータに実行させるための映像符号化プログラムである。
 開示の技術によれば、原画像の特徴に応じた画面内予測モードを維持しつつ、符号化におけるブロック分割決定の処理量を削減することができる。
各実施形態に係る映像を符号化する処理の説明に供する映像符号化装置の機能構成の一例を示すブロック図である。 各実施形態に係る分割の説明に供するCTUの一例を示す模式図である。 各実施形態に係る分割されたCUの説明に供するCTUの一例を示す模式図である。 各実施形態に係る画像内予測モードの一例を示す図である。 各実施形態に係る映像符号化装置のハードウェア構成の一例を示すブロック図である。 第1実施形態に係る映像符号化装置のCU分割部の機能構成の一例を示すブロック図である。 第1実施形態に係る判定処理におけるデータの流れの一例を示すデータフロー図である。 各実施形態に係る合算コスト値の導出の説明に供するCUの一例を示す図である。 各実施形態に係る結合パターンの説明に供するCUの一例を示す図である。 各実施形態に係る結合を行わない場合の説明に供するCUの一例を示す図である。 第1実施形態のCUのブロックの大きさを判定する判定処理の流れの一例を示すフローチャートである。 第1実施形態のCUを結合する結合処理の流れの一例を示すフローチャートである。 第2実施形態に係る映像符号化装置のCU分割部の機能構成の一例を示すブロック図である。 第2実施形態に係る判定処理におけるデータの流れの一例を示すデータフロー図である。 第2実施形態に係る長方形のCUを含む場合の結合の説明に供するCUの一例を示す図である。 第2実施形態のCUのブロックの大きさを判定する判定処理の流れの一例を示すフローチャートである。 第2実施形態のCUを結合する結合処理の流れの一例を示すフローチャートである。
 以下、図面を参照して、本発明を実施するための形態例を詳細に説明する。
 [第1実施形態]
 まず、図1から図3を参照して、映像符号化装置1によって、映像を符号化する処理について説明する。図1は、映像を符号化する処理の説明に供する映像符号化装置1の機能構成の一例を示すブロック図である。
 図1に示すように、映像符号化装置1は、CU分割部10、残差信号生成部11、周波数変換部12、量子化部13、エントロピー符号化部14、逆量子化部15、逆周波数変換部16、復号画像生成部17、ループフィルタ処理部18、参照画像バッファ部19、及び予測画像生成部20を備えている。
 CU分割部10は、符号化の対象である原画像のCTUをCUに分割して、CUの大きさの決定と各々のCUの予測モードの決定を行う。ここで、図2に示すように、原画像は、水平方向、及び垂直方向に128画素の範囲を一つのブロックとしたCTUに分割される。CTUは、さらに再帰的に分割されたブロックであるCUに分割され、CUを一つの単位として符号化する処理が行われる。なお、以下では、CTU及びCUの大きさを「(水平方向の画素数)×(垂直方向の画素数)」とする。例えば、水平方向、及び垂直方向に128画素の範囲を一つのブロックとしたCTUは、128×128と表記する。
 一例として、図2に示すように、CTUを再帰的に4分割した64×64、32×32、16×16、8×8を一つのブロックとしたCUに分割され、さらには、CTU及びCUは、水平方向、又は垂直方向に2分割、又は3分割されることがある。したがって、一例として図3に示すように、CTU、及びCUは、2分割、3分割、及び4割され、各々の大きさのCUに分割される。
 図1に示すCU分割部10は、符号化の対象である原画像、及び後述する参照画像バッファ部19から復号画像を取得して、原画像に係る各々のCTUを上述した各々のCUに分割する。CU分割部10は、各々のCUの大きさに分割した原画像を残差信号生成部11に出力し、CUの大きさ、及び当該CUの予測モードを予測画像生成部20に出力する。なお、本発明に係るCUの分割方法、及び予測モードの導出方法については、後述する図4から図17を参照して詳細に説明する。また、本実施形態に係る予測モードは、画像内予測モードである形態について説明する。画像内予測モードとは、符号化を行う対象のブロックよりも以前に符号化が終了している画像内のブロックから符号化を行うために参照するブロックを決定するための値であり、画像内予測モードの値によって参照するブロックが位置する方向が予め定められている。一例として図4に示すように、VVCの画像内予測モードは、左斜め下45度(モード番号2)から右斜め上45度(モード番号66)の間で65通りの方向から当該CUの隣接画素を参照して予測を行うモードがある。また、画像内予測モードは、隣接画素の4点を用いて予測を行うPlannarモード(モード番号0)と、隣接画素の平均を用いて行うDCモード(モード番号1)と、があり、合計67通りの予測モードが存在する。本実施形態では、画像内予測モードは、過去のサイズ判定処理によって導出され、参照画像に係る各々のCUに対応付けられており、参照画像から各々のCUに対応する画像内予測モードを取得する形態について説明する。
 残差信号生成部11は、CU分割部10から各々のCUに分割された原画像を取得し、予測画像生成部20から各々のCUに分割された原画像に対応する予測画像を取得する。残差信号生成部11は、取得した原画像におけるCUと、原画像のCUに対応する予測画像におけるCUと、の差分を予測残差信号として周波数変換部12に出力する。
 周波数変換部12は、残差信号生成部11から予測残差信号を取得し、離散コサイン変換又は離散サイン変換による周波数変換を予測画像の水平方向及び予測画像の垂直方向の各々に対して実行する。周波数変換部12は、周波数変換の結果として、導出した変換係数群を量子化部13に出力する。
 量子化部13は、周波数変換部12から変換係数群を取得し、所定の量子化パラメータを用いて、変換係数を量子化する。量子化部13は、量子化された変換係数を、エントロピー符号化部14、及び逆量子化部15に出力する。
 エントロピー符号化部14は、量子化部13から量子化された変換係数を取得し、量子化された変換係数をエントロピー符号化してビットストリームを導出する。エントロピー符号化部14は、図示しない外部装置にエントロピー符号化の結果として導出したビットストリームを出力する。
 逆量子化部15は、量子化部13から量子化された変換係数を取得し、量子化された変換係数に対して逆量子化処理を実行して、変換係数を生成する。逆量子化部15は、逆量子化処理の結果として、変換係数を逆周波数変換部16に出力する。
 逆周波数変換部16は、逆量子化部15から変換係数を取得し、変換係数に対して逆周波数変換を実行して、予測残差信号を生成する。逆周波数変換部16は、予測残差信号を復号画像生成部17に出力する。
 復号画像生成部17は、逆周波数変換部16から予測残差信号を取得し、後述する予測画像生成部20から原画像の予測画像を取得する。復号画像生成部17は、CU毎に、予測残差信号を予測画像に加算することによって、原画像の復号画像をCU毎に生成する。復号画像生成部17は、原画像の復号画像をループフィルタ処理部18、及び参照画像バッファ部19に出力する。
 ループフィルタ処理部18は、復号画像生成部17から復号画像を取得し、符号化の歪みを低減するためのフィルタ処理を復号画像に対して実行する。ループフィルタ処理部18は、フィルタ処理が実行された復号画像を参照画像バッファ部19に出力する。
 参照画像バッファ部19は、復号画像生成部17からフィルタ処理前の復号画像を取得し、ループフィルタ処理部18からフィルタ処理後の復号画像を取得する。参照画像バッファ部19は、取得したフィルタ処理前の復号画像、及びフィルタ処理後の復号画像を参照用の画像として記憶する。すなわち、参照画像バッファ部19は、過去の原画像を復号した復号画像を参照用の画像として記憶する。
 予測画像生成部20は、CU分割部10から原画像に係るCUの予測モードを取得し、参照用の画像として記憶されている過去の復号画像を参照画像バッファ部19から取得する。予測画像生成部20は、原画像の予測モード、及び過去の復号画像データに基づいて原画像の予測画像を生成する。予測画像生成部20は、予測画像を残差信号生成部11に出力する。
 次に、図5を参照して、本実施形態に係る映像符号化装置1のハードウェア構成について説明する。図5は、映像符号化装置1のハードウェア構成を示すブロック図である。
 図5に示すように、映像符号化装置1は、CPU(Central Processing Unit)31、ROM(Read Only Memory)32、RAM(Random Access Memory)33、ストレージ34、入力部35、表示部36、及び通信インタフェース(I/F)37を有する。各構成は、バス38を介して相互に通信可能に接続されている。
 CPU31は、中央演算処理ユニットであり、各種プログラムの実行、及び各部の制御を行う。すなわち、CPU31は、ROM32、又はストレージ34からプログラムを読み出し、RAM33を作業領域としてプログラムを実行する。CPU31は、ROM32、又はストレージ34に記憶されているプログラムに従って、上記各構成の制御、及び各種の演算処理を行う。本実施形態では、ROM32、又はストレージ34には、原画像に係るCUの大きさを判定するための判定処理プログラム、及び原画像に係るサブブロックを結合するための結合処理プログラムが格納されている。
 ROM32は、各種プログラム及び各種データを格納する。RAM33は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ34は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)等の記憶装置により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部35は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
 表示部36は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部36は、タッチパネル方式を採用して、入力部35として機能しても良い。
 通信インタフェース37は、表示機器等の他の機器と通信するためのインタフェースである。当該通信には、たとえば、イーサネット(登録商標)若しくはFDDI等の有線通信の規格、又は、4G、5G、若しくはWi-Fi(登録商標)等の無線通信の規格が用いられる。
 次に、図6及び図7を参照して、映像符号化装置1に係るCU分割部10の機能構成について説明する。図6は、映像符号化装置1に係るCU分割部10の機能構成の一例を示すブロック図である。図7は、CU分割部10の機能に係る判定処理におけるデータの流れの一例を示すデータフロー図である。
 図6に示すように、映像符号化装置1に係るCU分割部10は、機能構成として、取得部41、導出部42、判定部43、結合処理部44、及び出力部45を備えている。CPU31が判定処理プログラムを実行することで、取得部41、導出部42、判定部43、結合処理部44、及び出力部45として機能する。なお、結合処理部44は、分割部44A、予測モード取得部44B、及び結合部44Cを備えている。
 図7に示すように、取得部41は、入力された原画像、及び過去に原画像を復号した復号画像を取得する。
 導出部42は、取得した原画像、及び復号画像から所定の大きさのCUに係るRDコストを導出する。ここで、所定の大きさのCUとは、64×64、32×32、16×16、8×8、及び4×4のCUである。また、本実施形態に係るRDコストは、原画像、及び復号画像から取得され、情報量の大きさ、及び符号化の誤差を示す値である。
 一例として図8に示すように、導出部42は、(0,0)、(4,0)、(0,4)、(4,4)を基点とした4×4のCUの各々のRDコストを合算した値(以下、「合算コスト値」という。)を導出する。導出部42は、判定対象であるCUのRDコストとして、上述した4つの4×4のCUを内包する(0,0)を基点とした8×8のCUのRDコスト(以下、「対象コスト値」という。)を導出する。
 導出部42は、さらに16×16のCUの大きさの範囲において、(0,0)、(8,0)、(0,8)、(8,8)を基点とした8×8のCUの合算コスト値、及び当該4つの8×8のCUを内包する(0,0)を基点とした16×16のCUの対象コスト値を導出する。導出部は、同様に、32×32のCUの大きさの範囲、及び64×64のCUの大きさの範囲において、合算コスト値、及び対象コスト値を導出し、上述した処理を64×64のCUの対象コスト値を導出するまで再帰的に実行する。導出部42は、64×64のCUの対象コスト値を導出した場合、次の64×64のCUの範囲(例えば、隣接するCU)において同一の処理を再帰的に実行し、CTUに内包される全てのCUに対して処理が実行されるまで再帰的に実行する。
 図7に示す判定部43は、導出部42によって導出された、4つのCUにおける各々のRDコストを合算した合算コスト値、及び当該4つのCUを内包するCUにおける対象コスト値を比較して、対象コスト値が合算コスト値以下であるか否かを判定する。一例として、判定部43は、4つの4×4のCUにおける合算コスト値と、4つの4×4のCUを内包する8×8のCUにおける対象コスト値と、を比較して、対象コスト値が合算コスト値以下であるか否かを判定する。
 一例として図7に示すように、判定部43は、8×8判定として、4つの4×4のCUにおける合算コスト値、及び4つの4×4のCUを内包する8×8のCUにおける対象コスト値の比較を行う。次に、判定部43は、16×16判定として、4つの8×8のCUにおける合算コスト値、及び4つの8×8のCUを内包する16×16のCUにおける対象コスト値の比較を行う。同様に、判定部43は、32×32判定、及び64×64判定を行う。つまり、判定部43は、小さいCUから大きいCUへ、判定するCUの大きさを拡大しながら、再帰的に合算コスト値と、対象コストと、を比較する判定を行う。判定部43は、CTUに内包される全てのCUに対して処理が実行されるまで再帰的に判定を行う。
 結合処理部44は、対象コスト値が合算コスト値を超えていた場合、対象のCUに係るブロックを結合し、結合したCUの大きさ、当該CUのRDコスト、及び当該CUの予測モードを導出する。
 具体的には、結合処理部44に係る分割部44Aは、対象のCUを水平方向、及び垂直方向に、各々4分割した16個のサブブロックに分割する。ここで、対象のCUが8×8のCUの場合、分割部44Aは、対象のCUを水平方向、及び垂直方向に、各々2分割した4個のサブブロックに分割する。
 結合処理部44における予測モード取得部44Bは、サブブロックを各々のパターンで結合した結合候補の予測モードのばらつきViを導出して取得する。ここで、結合パターンとは、一例として図9に示すように、対象のCUを水平方向にBT分割、垂直方向にBT分割、水平方向にTT分割、及び垂直方向にTT分割するように、サブブロックを結合した各々のパターンである。つまり、予測モード取得部44Bは、対象のCUを水平方向にBT分割した場合、垂直方向にBT分割した場合、水平方向にTT分割した場合、及び垂直方向にTT分割した場合の各々の結合候補について、予測モードのばらつきViを導出する。なお、予測モード取得部44Bは、対象のCUが8×8のCUの場合、水平方向にBT分割、及び垂直方向にBT分割した場合の各々の結合候補について、ばらつきViを導出する。
 ここで、Vは、結合候補に係る予測モードのばらつきの度合であり、iは、CUを分割したパターン(例えば、i=1の場合、水平方向にBT分割したパターン等)を識別する記号である。また、本実施形態に係る予測モードのばらつきViは、結合候補に内包されるサブブロックの予測モードの分散値である形態について説明する。しかし、これに限定されない。予測モードのばらつきViは、結合候補に内包されるサブブロック間の予測モードの差分の絶対値を総和した差分絶対値和、又はサブブロックにおける予測モードの最大値と、最小値との差であってもよい。
 図6に示す結合処理部44における結合部44Cは、導出した全ての予測モードのばらつきViから最小のばらつきViを特定し、特定したばらつきViが閾値以下である場合、特定したばらつきViに係るパターンを結合するパターンとして決定する。結合部44Cは、決定したパターンに係る結合候補を結合されたCUとして、サブブロックを結合し、結合されたCUのRDコスト、及び予測モードを導出する。また、結合部44Cは、特定したばらつきViが閾値を超えている場合、サブブロックの結合を行わない。つまり、QT分割が行われたCUを組み合わせて、BT分割、又はTT分割した際の形状を構成し、組み合わせたCUの予測モードに基づいて、BT分割、又はTT分割した際の形状をCUの形状とするか否かの判定を行う。ここでは、分散が所定の閾値以下であれば、結合する一例を挙げている。
 なお、本実施形態に係る閾値は、0以上の正の自然数である形態について説明する。例えば、予測モードのばらつきViが分散値である場合、4つのサブブロックの画像内予測モード(モード番号)がおおよそ同一方向を示す11、12、13、及び14である場合、予測モードのばらつきViは、1.6となる。一方、4つのサブブロックの画像内予測モード(モード番号)が各々異なる方向を示す10、20、30、40である場合、予測モードのばらつきViは、166.6となる。つまり、予測モードのばらつきViが分散値である場合において、おおよそ同一方向を示す画像内予測モードは、分散値が小さくなり、各々異なる方向を示す画像内予測モードは、分散値が大きくなる。そのため、閾値は、おおよそ同一方向を示す画像内予測モードに係るサブブロックを結合し、各々異なる方向を示す画像内予測モードに係るサブブロックを結合しないように、小さな値(例えば、1から9のうちの何れか1つの値)が設定されてもよい。
 また、本実施形態に係る結合されたCUの予測モードは、結合されたCUに係るサブブロックの予測モードの平均値である形態について説明する。しかし、これに限定されない。結合されたCUに係るサブブロックの予測モードの最頻値であってもよい。例えば、予測モードがサブブロックの予測モードの平均値である場合、4つの結合前のCUのサブブロックにおいて、各々のサブブロックの予測モードが11、12、14、及び15である場合、結合後のCUの予測モードは、平均値の13となる。また、予測モードがサブブロックの予測モードの最頻値である場合、4つの結合前のCUのサブブロックにおいて、各々のサブブロックの予測モードが10、10、12、及び14である場合、結合後のCUの予測モードは、最頻値の10となる。
 また、本実施形態に係る結合されたCUのRDコストは、結合されたCUに係るサブブロックのRDコストの合算値に、予め定められた値を加減算した値である形態について説明する。結合前の各々のサブブロックが保持するRDコストの合算値に、予め定められた値を加減算することによって、結合後の長方形形状のCUのRDコストを実際に符号化して導出するのではなく、既に導出済のRDコストを用いて簡易的に導出する可能である。また、図10に示すように、結合候補における領域で結合した場合に、その領域内のCUの分割を伴う場合は、その結合は行わない。換言すると、結合候補に、結合済CUに係るCUが全て内包されている場合、結合候補における領域内のCUの結合を行う。
 図7に示す出力部45は、各々のCUの大きさに分割された原画像、及び各々のCUの大きさ、各々のCUのRDコスト、及び各々のCUの予測モードを分割情報として、図1における残差信号生成部11に出力する。ここで、判定部43によって対象コスト値は、合算コスト値以下であると判定された場合、出力部45は、対象のCUの大きさ、対象のCUのRDコスト、及び対象のCUの予測モードを出力する。また、判定部43によって対象コスト値が合算コスト値を超えていると判定された場合、出力部45は、結合されたCUの大きさ、結合処理部44によって導出されたRDコスト、及び結合処理部44によって導出された予測モードを出力する。
 次に、図11、及び図12を参照して、本実施形態に係る映像符号化装置1の作用について説明する。図11は、本実施形態に係る判定処理の一例を示すフローチャートである。CPU31がROM32又はストレージ34から判定処理プログラムを読み出し、実行することによって、図11に示す判定処理プログラムが実行される。図11に示す判定処理プログラムは、例えば、原画像が入力され、符号化を実行する指示が入力された場合、実行される。
 ステップS101において、CPU31は、原画像データ、及び復号画像データを取得する。
 ステップS102において、CPU31は、原画像をCTU毎に分割し、CTUに対して64×64毎に分割して、判定を行う対象範囲である対象CUを設定する。
 ステップS103において、CPU31は、ブロック数Nに4を設定する。
 ステップS104において、CPU31は、N×Nの大きさのCUにおける合算コスト値を導出する。なお、本実施形態に係るN×Nの大きさのCUにおける合算コスト値は、4×4、8×8、16×16、及び32×32の各々のCUの大きさにおいて、4つのCUのRDコストを合算した値である。
 ステップS105において、CPU31は、Nに2を乗算し、1サイズ大きい対象CUの大きさを得る。
 ステップS106において、CPU31は、N×Nの大きさのCUを対象CUとし、対象CUの対象コスト値を導出する。ステップS103を経て、初めてステップS106の処理が行なわれる場合、CPU31は、8×8の大きさのCUを対象CUとする。以後、ステップS104及びステップS105が繰り返される度に、CPU31は、対象CUの大きさを、16×16、32×32、最後に64×64と大きくしていく。
 ステップS107において、CPU31は、N×Nの判定として、対象コスト値、及び合算コスト値を比較する。ここで、例えば、対象コスト値が8×8の対象CUにおけるRDコスト値である場合、当該対象CUに内包される4つの4×4のCUのRDコストを合算した合算コスト値と、8×8の対象CUにおけるRDコストである対象コスト値と、を比較する。
 ステップS108において、CPU31は、対象コスト値が合算コスト値を超えるか否かの判定を行う。対象コスト値が合算コスト値を超える場合(ステップS108:YES)、CPU31は、ステップS109に移行する。一方、対象コスト値が合算コスト値を超えない(対象コスト値は、合算コスト値以下である)場合(ステップS108:NO)、CPU31は、ステップS111に移行する。
 ステップS109において、CPU31は、CUを予め定められた数に分割したサブブロックを結合する結合処理を行う。結合処理を行うことによって、QT分割で分割された複数のCUを結合し、BT分割、又はTT分割された際に得られるような長方形のCUの形状が得られる。なお、本実施形態に係る結合処理は、後述する図12において、詳細に説明する。
 ステップS110において、CPU31は、結合したCUの大きさ、RDコスト、及び予測モードを関連付けて記憶する。
 ステップS111において、CPU31は、N×NのCUの大きさ、RDコスト、及び予測モードを関連付けて記憶する。
 ステップS112において、CPU31は、ブロック数Nが64であるか否かの判定を行う。ブロック数Nが64である場合(ステップS112:YES)、CPU31は、ステップS113に移行する。一方、ブロック数Nが64でない場合(ステップS112:NO)、CPU31は、ステップS104に移行する。
 ステップS113において、CPU31は、設定した対象範囲において、全ての範囲を比較したか否かの判定を行う。全ての範囲を比較した場合(ステップS113:YES)、CPU31は、ステップS114に移行する。一方、全ての範囲を比較していない場合(ステップS113:NO)、CPU31は、ステップS115に移行する。
 ステップS114において、CPU31は、原画像、原画像における全てのCUの大きさ、RDコスト、及び予測モードを分割情報として出力する。
 ステップS115において、CPU31は、次の判定の対象範囲である対象CUを設定し、ステップS103に移行する。
 次に、図12を参照して、結合処理について説明する。図12は、本実施形態に係る結合処理の一例を示すフローチャートである。CPU31がROM32又はストレージ34から結合処理プログラムを読み出し、実行することによって、図12に示す結合処理プログラムが実行される。図12に示す結合処理プログラムは、結合処理を実行する指示が入力された場合、実行される。
 ステップS201において、CPU31は、対象CUをサブブロック毎に分割する。なお、対象CUとは、8×8、16×16、32×32、及び64×64の何れかのCUであり、対象CUが16×16、32×32、及び64×64のCUの場合は、16分割に分割し、対象CUが8×8のCUの場合は、4分割に分割する。
 ステップS202において、CPU31は、サブブロックの予測モードを取得する。
 ステップS203において、CPU31は、対象CUに対して、各々の結合パターン毎にサブブロックを結合した結合候補を取得する。なお、対象CUが16×16、32×32、及び64×64のCUの場合は、図9に示すパターン1からパターン4の結合候補を取得し、対象CUが8×8のCUの場合は、パターン1、及びパターン2の結合候補を取得する。
 ステップS204において、CPU31は、結合候補毎の予測モードのばらつきViを導出する。
 ステップS205において、CPU31は、導出した予測モードのばらつきViの中で、最小の予測モードのばらつきVminを特定する。
 ステップS206において、CPU31は、特定した最小の予測モードのばらつきVminが閾値以下であるか否かの判定を行う。特定した予測モードのばらつきViが閾値以下である場合(ステップS206:YES)、CPU31は、ステップS207に移行する。一方、特定した予測モードのばらつきViが閾値以下でない(予測モードのばらつきViが閾値を超える)場合(ステップS206:NO)、CPU31は、結合処理を終了する。
 ステップS207において、CPU31は、特定した予測モードのばらつきViに係るパターンを、サブブロックを結合するパターンとして決定する。
 ステップS208において、CPU31は、結合したCUとして、決定したパターンにサブブロックを結合する。ここで、結合されることによって結合済CUの結合パターンが変わってしまう場合、CUの結合を行わない。
 ステップS209において、CPU31は、結合したCUのRDコスト、及び予測モードを導出する。
 以上説明したように、本実施形態によれば、原画像の特徴に応じた画面内予測モードを維持しつつ、エンコーダにおけるブロック分割決定の処理量を削減することができる。
 本実施形態では、CUの分割の状況に応じて、ブロックの分割、及びサブブロックの結合が行われる形態について説明した。ここで、CTUにおいて、細かな濃度変化、及びエッジが存在しない領域では、隣接ブロックが細かく分割されておらず、大きなCUによって構成されている傾向がある。そのため、細かな濃度変化、及びエッジが存在しない領域では、分割処理、及び結合処理が行われず処理量が減る傾向がある。一方で、CTUにおいて、細かな濃度変化、及びエッジが存在する領域では、隣接ブロックが細かく分割されている(小さいCUで構成されている)傾向がある。そのため、細かな濃度変化、及びエッジが存在する領域では、分割処理、及び結合処理が増える傾向がある。
 また、例えば、垂直方向に線が伸びているようなエッジがある領域の場合、その領域を含むCUは、垂直方向に分割される傾向があり、当該CUに垂直方向に隣接するCUも同様に垂直方向に分割される可能性が高い。そのため、垂直方向に線が伸びているようなエッジがある領域では、CUを水平方向に分割、及び結合するような評価を行わなくてよい場合があるため、処理量を軽減することが可能である。
 [第2実施形態]
 第1実施形態では、判定部43において、小さいCUから大きいCUへと、判定するCUの大きさを拡大しながら、再帰的に合算コスト値と、対象コストと、を比較して判定を行う形態について説明した。本実施形態では、判定部43において、大きいCUから小さいCUへと判定するCUの大きさを縮小しながら、再帰的に合算コスト値と、対象コストと、を比較して判定を行う形態について説明する。
 なお、本実施形態に係る映像符号化装置1の機能構成の一例を示す図(図1参照)、分割の説明に供するCTUの一例を示す図(図2参照)、及び分割されたCUの説明に供するCTUの一例を示す図(図3参照)は、第1実施形態と同様であるため、説明を省略する。また、本実施形態に係る映像符号化装置1のハードウェア構成を示す図(図5参照)、4つのCUを内包するCUの一例を示す図(図8参照)、及び結合のパターンを説明のためのCUの一例を示す図(図9参照)は、第1実施形態と同様であるため、説明を省略する。また、本実施形態に係る結合を行わないCUの一例を示す図(図10)は、第1実施形態と同様であるため、説明を省略する。
 図13及び図14を参照して、映像符号化装置1に係るCU分割部10の機能構成について説明する。図13は、映像符号化装置1に係るCU分割部10の機能構成の例を示すブロック図である。図14は、分割処理におけるデータの流れの一例を示すデータフロー図である。なお、図13における図6に示すCU分割部10の機能と同一の機能については、図6と同一の符号を付して、その説明を省略する。また、図14における図7に示すCU分割部10の機能と同一の機能については、図7と同一の符号を付して、その説明を省略する。
 図13に示すように、映像符号化装置1に係るCU分割部10は、機能構成として、取得部41、導出部42、判定部46、結合処理部44、及び出力部45を備えている。CPU31が判定処理プログラムを実行することで、取得部41、導出部42、判定部46、結合処理部44、及び出力部45として機能する。なお、結合処理部44は、分割部44D、予測モード取得部44B、及び結合部44Cを備えている。CU分割部10は、判定部46、及び分割部44Dが、第1実施形態の判定部43、及び分割部44Aとそれぞれ異なる。
 図14に示す判定部46は、導出部42によって導出された、4つのCUにおける各々のRDコストを合算した合算コスト値、及び当該4つのCUを内包するCUにおける対象コスト値を比較して、対象コスト値が合算コスト値以下であるか否かを判定する。一例として、判定部46は、4つの32×32のCUにおける合算コスト値と、4つの32×32のCUを内包する64×64のCUにおける対象コスト値と、を比較して、対象コスト値が合算コスト値以下であるか否かを判定する。
 図14に示すように、判定部46は、64×64判定として、4つの32×32のCUにおける合算コスト値、及び4つの32×32のCUを内包する64×64のCUにおける対象コスト値の比較を行う。次に、判定部46は、32×32判定として、4つの16×16のCUにおける合算コスト値、及び4つの16×16のCUを内包する32×32のCUにおける対象コスト値の比較を行う。同様に、判定部46は、16×16判定、及び8×8判定を行う。つまり、判定部46は、大きいCUから小さいCUへ、判定するCUの大きさを縮小しながら、再帰的に合算コスト値と、対象コストと、を比較する判定を行う。判定部46は、CTUに内包される全てのCUに対して処理が実行されるまで再帰的に判定を行う。なお。CUの大きさを縮小しながら判定を行うことによって、CUの大きさを縮小しながら判定を行う場合に比べて、判定処理の回数を削減され、処理量を減らすことが可能である。例えば、判定部46は、64×64判定を行い、64×64のCUにおける対象コスト値が小さいと判定されると、対象CUの大きさを64×64に決定し、64×64のCUに内包するCUの判定処理を行わなくてもよい。換言すると、判定部46によって、大きいCUの方が、分割されたCUよりもRDコストが小さいと判定されるため、大きいCUを分割して結合する処理を行う必要がなくなる。
 結合処理部44は、対象コスト値が合算コスト値を超えていた場合、対象のCUに係るブロックを結合し、結合したCUの大きさ、当該CUのRDコスト、及び当該CUの予測モードを導出する。
 具体的には、図13に示す結合処理部44に係る分割部44Dは、対象のCUを水平方向、及び垂直方向について、各々4分割した16個のサブブロックに分割する。ここで、対象のCUが8×8のCUの場合、分割部44Dは、対象のCUを水平方向、及び垂直方向について、各々2分割した4個のサブブロックに分割する。
 また、分割部44Dは、図15に示すように、結合によって、長方形のCU(例えば、32×64のCU等)に結合された場合、当該長方形のCUを8分割した正方形(例えば、16×16等)のサブブロックに分割する。当該正方形のサブブロックは、予測モード取得部44B、及び結合部44Cによって結合される。
 次に、図16、及び図17を参照して、本実施形態に係る映像符号化装置1の作用について説明する。図16は、本実施形態に係る判定処理の一例を示すフローチャートである。CPU31がROM32又はストレージ34から判定処理プログラムを読み出し、実行することによって、図16に示す判定処理プログラムが実行される。図16に示す判定処理プログラムは、例えば、原画像が入力され、符号化を実行する指示が入力された場合、実行される。なお、図16における図11に示す判定処理と同一のステップについては、図11と同一の符号を付して、その説明を省略する。
 ステップS116において、CPU31は、ブロック数Nに64を設定する。
 ステップS117において、CPU31は、N×Nの対象コスト値を導出する。なお、本実施形態に係るN×Nの対象コスト値は、8×8、16×16、32×32、及び64×64のCUの対象コスト値である。
 ステップS118において、CPU31は、Nに1/2を乗算し、1サイズ小さい対象CUの大きさを得る。
 ステップS119において、CPU31は、N×NのCUの合算コスト値を導出する。ステップS116を経て、初めてステップS119の処理が行なわれる場合、CPU31は、32×32の大きさのCUを対象CUとする。以後、ステップS117及びステップS118が繰り返される度に、CPU31は、対象CUの大きさを、16×16、8×8、最後に4×4と小さくしていく。
 ステップS120において、CPU31は、CUを結合する結合処理を行う。なお、本実施形態に係る結合処理は、後述する図17において、詳細に説明する。
 ステップS121において、CPU31は、対象CUが64×64のCUであるか否かの判定を行う。対象CUが64×64のCUである場合(ステップS121:YES)、CPU31は、ステップS113に移行する。一方、対象CUが64×64のCUでない場合(ステップS121:NO)、CPU31は、ステップS112に移行する。
 次に、図17を参照して、結合処理について説明する。図17は、本実施形態に係る結合処理の一例を示すフローチャートである。CPU31がROM32又はストレージ34から結合処理プログラムを読み出し、実行することによって、図17に示す結合処理プログラムが実行される。図17に示す結合処理プログラムは、結合処理を実行する指示が入力された場合、実行される。なお、図17における図12に示す結合処理と同一のステップについては、図12と同一の符号を付して、その説明を省略する。
 ステップS210において、CPU31は、結合処理の対象である対象CUのうち、長方形のCUが含まれていないか否かの判定を行う。長方形のCUが含まれていない場合(ステップS210:YES)、CPU31は、結合処理を終了する。一方、長方形のCUが含まれている場合(ステップS210:NO)、CPU31は、ステップS211に移行する。
 ステップS211において、CPU31は、長方形のCUを結合する対象として、対象CUに設定し、ステップS201に移行する。
 以上説明したように、第2実施形態の表示制御装置は、大きいCUから小さいCUへと判定するCUの大きさを縮小しながら、CUの大きさの判定、及びCUの結合を行う。これにより、CUの大きさの判定、及びCUの結合の実行回数を削減できる。
 なお、本実施形態に係る規格は、QT分割、BT分割、及びTT分割等を用いるVVCである形態について説明した。しかし、これに限定されない。例えば、QT分割、BT分割、及びTT分割のように異なる形状に分割し、分割した単位で符号化を行う符号化規格であれば、如何なる規格であってもよい。
 また、本実施形態では、QT分割を行ったCUに対して、大きさを判定、及び結合する処理を実行する形態について説明した。しかし、これに限定されない。BT分割、又はTT分割を行ったCUに対して、大きさを判定、及び結合する処理を実行してもよい。なお、CTU、及びCUをQT分割することによって、均等なCUに分割され、H.265/HEVCのエンコードに搭載されていた並列処理の実行が容易となる効果がある。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した表示制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、表示制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、表示制御処理プログラムがストレージ34に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 以上の実施形態に関し、更に以下の付記を開示する。
 (付記項1)
 メモリと、
 前記メモリに接続された少なくとも1つのプロセッサと、
 を含み、
 前記プロセッサは、
 画像を分割したブロック単位で画像の符号化を行う映像符号化方法であって、
 前記画像をブロックに分割し、
 前記ブロック毎に予測された画像内予測モードを取得し、
 少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、前記複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、
 ように構成されている表示制御装置。
 (付記項2)
 映像符号化処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
 画像を分割したブロック単位で前記画像の符号化を行う映像符号化処理は、
 前記画像をブロックに分割し、
 前記ブロック毎に予測された画像内予測モードを取得し、
 少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、前記複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、
 非一時的記憶媒体。
14   エントロピー符号化部
41   取得部
42   導出部
43、46    判定部
44   結合処理部
44A、44D       分割部
44B 予測モード取得部
44C 結合部
45   出力部

Claims (8)

  1.  画像を分割したブロック単位で前記画像の符号化を行う映像符号化方法であって、
     前記画像をブロックに分割し、
     前記ブロック毎に予測された画像内予測モードを取得し、
     少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、前記複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、
     処理をコンピュータが実行する映像符号化方法。
  2.  前記コンピュータは、
     結合パターン毎に、予め定められた範囲の前記ブロックを結合候補として設定し、
     前記結合候補における前記画像内予測モードのばらつき度合のうち、前記ばらつき度合が最小となる結合候補における前記結合パターンを前記画像内予測モードに応じた結合パターンとして決定する
     請求項1に記載の映像符号化方法。
  3.  前記コンピュータは、
     前記結合ブロックに係る前記ブロック間の前記画像内予測モードの差分和、又は前記結合ブロックに係る前記ブロックの前記画像内予測モードの分散を用いて、前記ばらつき度合を導出する
     請求項2に記載の映像符号化方法。
  4.  前記コンピュータは、
     前記結合候補として、前記ブロックを水平方向、又は垂直方向に、2分割、又は3分割した範囲を設定する、
     請求項2又は請求項3に記載の映像符号化方法。
  5.  前記コンピュータは、
     符号化を行う対象のブロックである対象ブロックのRDコスト値である対象コスト値、及び前記対象ブロックを予め定められた大きさのブロックに分割し、前記分割されたブロックの各々のRDコスト値を合算した合算コスト値を導出し、
     前記対象コスト値が前記合算コスト値以下である場合、前記対象ブロックの大きさ、及び対象コスト値を出力し、
     前記対象コスト値が前記合算コスト値を超える場合、前記対象ブロックを前記結合ブロックに分割し、前記結合ブロックの大きさ、及び前記結合ブロック毎のRDコスト値を出力する、
     請求項1から請求項4の何れか1項に記載の映像符号化方法。
  6.  前記コンピュータは、
     予め定められた前記対象ブロックの大きさ毎に、前記対象コスト値、及び前記合算コスト値の比較と、前記対象ブロックに内包される前記ブロックの結合と、を再帰的に実行する
     請求項5に記載の映像符号化方法。
  7.  画像を分割したブロック単位で前記画像の符号化を行う映像符号化装置であって、
     前記画像をブロックに分割する分割部と、
     前記ブロック毎に予測された画像内予測モードを取得する取得部と、
     少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、前記複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う結合部と、
     を備えた映像符号化装置。
  8.  画像を分割したブロック単位で前記画像の符号化を行う映像符号化プログラムであって、
     前記画像をブロックに分割し、
     前記ブロック毎に予測された画像内予測モードを取得し、
     少なくとも何れかのブロックと隣接しあう複数のブロックの画像内予測モードに基づく結合パターンで、前記複数のブロックを結合するか否かを判定して、結合すると判定された場合、結合された結合ブロック毎に予測を行う、
     処理をコンピュータに実行させるための映像符号化プログラム。
PCT/JP2021/005727 2021-02-16 2021-02-16 映像符号化方法、映像符号化装置、及び映像符号化プログラム Ceased WO2022176019A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2021/005727 WO2022176019A1 (ja) 2021-02-16 2021-02-16 映像符号化方法、映像符号化装置、及び映像符号化プログラム
JP2023500147A JP7513184B2 (ja) 2021-02-16 2021-02-16 映像符号化方法、映像符号化装置、及び映像符号化プログラム
US18/277,066 US12407819B2 (en) 2021-02-16 2021-02-16 Video coding method, video coding device, and video coding program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/005727 WO2022176019A1 (ja) 2021-02-16 2021-02-16 映像符号化方法、映像符号化装置、及び映像符号化プログラム

Publications (1)

Publication Number Publication Date
WO2022176019A1 true WO2022176019A1 (ja) 2022-08-25

Family

ID=82931251

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/005727 Ceased WO2022176019A1 (ja) 2021-02-16 2021-02-16 映像符号化方法、映像符号化装置、及び映像符号化プログラム

Country Status (3)

Country Link
US (1) US12407819B2 (ja)
JP (1) JP7513184B2 (ja)
WO (1) WO2022176019A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015181225A (ja) * 2014-03-06 2015-10-15 パナソニックIpマネジメント株式会社 動画像符号化装置および動画像符号化方法
JP2017011458A (ja) * 2015-06-19 2017-01-12 富士通株式会社 符号化データ生成プログラム、符号化データ生成方法および符号化データ生成装置
WO2018047952A1 (ja) * 2016-09-12 2018-03-15 日本電気株式会社 イントラ予測モード決定方法、イントラ予測モード決定装置およびイントラ予測モード決定プログラムを記憶する記憶媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5719410B2 (ja) * 2013-07-25 2015-05-20 日本電信電話株式会社 画像符号化方法、画像符号化装置及び画像符号化プログラム
JP6268989B2 (ja) * 2013-11-29 2018-01-31 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
US20160373744A1 (en) * 2014-04-23 2016-12-22 Sony Corporation Image processing apparatus and image processing method
US11445203B2 (en) * 2019-01-04 2022-09-13 Qualcomm Incorporated Sub-partition intra prediction in video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015181225A (ja) * 2014-03-06 2015-10-15 パナソニックIpマネジメント株式会社 動画像符号化装置および動画像符号化方法
JP2017011458A (ja) * 2015-06-19 2017-01-12 富士通株式会社 符号化データ生成プログラム、符号化データ生成方法および符号化データ生成装置
WO2018047952A1 (ja) * 2016-09-12 2018-03-15 日本電気株式会社 イントラ予測モード決定方法、イントラ予測モード決定装置およびイントラ予測モード決定プログラムを記憶する記憶媒体

Also Published As

Publication number Publication date
US20240114130A1 (en) 2024-04-04
JPWO2022176019A1 (ja) 2022-08-25
JP7513184B2 (ja) 2024-07-09
US12407819B2 (en) 2025-09-02

Similar Documents

Publication Publication Date Title
RU2666319C1 (ru) Способ, устройство и система для кодирования и декодирования единицы кодирования
JP2022033107A (ja) ビデオ符号化での分割ブロック符号化方法、ビデオ復号化での分割ブロック復号化方法及びこれを実現する記録媒体
KR20250152542A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
US10432956B2 (en) Image coding device, image decoding device, image coding method, and image decoding method
KR101801255B1 (ko) 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
JP2015507885A5 (ja)
US20210195191A1 (en) Image encoding method/device, image decoding method/device and recording medium having bitstream stored therein
CN113170117B (zh) 一种视频编码/解码方法及装置
CN109936742A (zh) 对视频序列进行编码的方法、编码装置和存储介质
KR20240161950A (ko) 영상 신호 부호화/복호화 방법 및 장치
KR20240108465A (ko) 비디오 인코딩 및 디코딩 방법 및 장치
US12348790B2 (en) Entropy encoding and decoding apparatus and method for using the same
JPWO2016194380A1 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
JP7513184B2 (ja) 映像符号化方法、映像符号化装置、及び映像符号化プログラム
JP6176044B2 (ja) ブロック構造決定回路および情報圧縮回路
CN115379222B (zh) 影像编码/解码方法及装置
KR101648123B1 (ko) 비디오 부호화에서의 분할 블록 부호화 방법, 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
KR102728583B1 (ko) 영상 신호 부호화/복호화 방법 및 장치
KR101644970B1 (ko) 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
KR101644967B1 (ko) 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
KR101644969B1 (ko) 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체
WO2026009352A1 (ja) 符号化装置
KR20170130334A (ko) 쿼드트리 구조 기반의 적응적 양자화 파라미터 부호화 및 복호화 방법 및 장치
KR102628530B1 (ko) 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR101785431B1 (ko) 비디오 복호화에서의 분할 블록 복호화 방법 및 이를 구현하는 기록매체

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: 21926459

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023500147

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18277066

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: 21926459

Country of ref document: EP

Kind code of ref document: A1

WWG Wipo information: grant in national office

Ref document number: 18277066

Country of ref document: US