[go: up one dir, main page]

WO2019172179A1 - 符号量推定装置、符号量推定方法及び符号量推定プログラム - Google Patents

符号量推定装置、符号量推定方法及び符号量推定プログラム Download PDF

Info

Publication number
WO2019172179A1
WO2019172179A1 PCT/JP2019/008366 JP2019008366W WO2019172179A1 WO 2019172179 A1 WO2019172179 A1 WO 2019172179A1 JP 2019008366 W JP2019008366 W JP 2019008366W WO 2019172179 A1 WO2019172179 A1 WO 2019172179A1
Authority
WO
WIPO (PCT)
Prior art keywords
code amount
unit
image information
amount estimation
block
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/JP2019/008366
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 JP2020505015A priority Critical patent/JP7041379B2/ja
Priority to US16/978,068 priority patent/US11039132B2/en
Publication of WO2019172179A1 publication Critical patent/WO2019172179A1/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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/115Selection of the code volume for a coding unit prior to coding
    • 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/177Methods 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 a group of pictures [GOP]

Definitions

  • the present invention relates to a code amount estimation device, a code amount estimation method, and a code amount estimation program.
  • the code amount control is realized by controlling the quantization step according to the difference between the target code amount and the actually generated code amount (see, for example, Non-Patent Document 1).
  • the virtual buffer fullness d (j) is calculated by the following equation (1) before the j-th block image is encoded.
  • d (0) is the buffer initial value
  • B (j) is the number of encoding occurrence bits of all the block images including the jth.
  • T is the target number of bits of the encoding target picture
  • Blk_cnt is the number of blocks in the encoding target picture.
  • the initial quantization step Q (j) is obtained by the following equation (2).
  • Bit_rate is the bit rate of the video signal
  • Picture_rate is the number of pictures included in one second of the video signal.
  • Nact (j) is obtained by the following Expression (5).
  • act (j) is obtained by the following equation (6)
  • avgact is the average value of act (j) of the picture at the previous time.
  • Pk is a pixel value of a pixel included in the block image.
  • the configuration of the background art 1 described above corresponds to a configuration in which the code amount allocated to the encoding target picture is distributed to each block image. Therefore, when a region that is easy to encode and a region that is difficult to code are mixed in a picture, the same code amount is allocated even though the required code amount for the same image quality is different.
  • the area is an area divided by divided block images, for example.
  • background art 2 a technique for solving this problem (hereinafter referred to as “background art 2”) has been proposed (see, for example, Non-Patent Document 2).
  • the background technique 2 uses the following calculation method.
  • H is the height of the image
  • W is the width of the image.
  • li, j represents a pixel value located at coordinates i, j.
  • the pixel value difference norm GPP (k) is a value indicating the encoding difficulty level.
  • Step 2 A code amount corresponding to the encoding difficulty level is assigned to each block image based on the following equation (8).
  • Step 3 A quantization parameter (hereinafter referred to as “QP”) is calculated based on the following equation (9) from the block allocation amount and the encoding difficulty.
  • Step 4 Update function f as shown in equation (10).
  • an object of the present invention is to provide a technique capable of assigning a more accurate code amount while maintaining uniform image quality of image information to be encoded.
  • One aspect of the present invention provides the first code amount estimation using the first code amount estimation region in the first image information, the first code amount estimation region, and a plurality of predetermined first quantization parameters.
  • a code amount estimation model that estimates the first target code amount for each region, and a code amount estimation unit that estimates the first target code amount based on the code amount estimation model.
  • a code amount estimation device that is a model generated by the association.
  • One aspect of the present invention is the code amount estimation device described above, wherein the code amount estimation model is a case where the plurality of second quantization parameters are at least a part of the plurality of first quantization parameters. And the first target code amount is encoded by a quantization parameter existing in both of the plurality of first quantization parameters and the plurality of second quantization parameters. The association is updated only for the case of one target code amount.
  • One aspect of the present invention is the code amount estimation device described above, wherein the code amount estimation model includes a second code amount estimation region in the second image information and the plurality of code amounts corresponding to the second code amount estimation region.
  • This is a model that performs learning processing using learning data in which the second quantization parameter is associated with the relationship information indicating the relationship between the complexity.
  • One aspect of the present invention provides the first code amount estimation using the first code amount estimation region in the first image information, the first code amount estimation region, and a plurality of predetermined first quantization parameters.
  • a code amount estimation model for estimating a first target code amount based on a first target code amount for each region; a second code amount estimation region in second image information; By associating the second quantization parameter of the second quantization parameter and the second target code amount for each second code amount estimation region in the case where the second quantization parameter is encoded by each value of the plurality of second quantization parameters. And a step of generating a code amount estimation model.
  • the computer uses the first code amount estimation region in the first image information, the first code amount estimation region, and a plurality of predetermined first quantization parameters.
  • a code amount estimation model for estimating a first target code amount for each code amount estimation region; a code amount estimation step for estimating the first target code amount based on a code amount estimation region; and a second code amount estimation region in second image information And a plurality of second quantization parameters and a second target code amount for each second code amount estimation region in the case of encoding with each value of the plurality of second quantization parameters
  • a code amount estimation program for executing the step of generating the code amount estimation model.
  • FIG. 1 is a block diagram illustrating a configuration of a video encoding device C according to the first embodiment.
  • the video encoding device C is, for example, H.264. It is an apparatus that conforms to the standard of H.265 / HEVC (High Efficiency Video Coding).
  • the video encoding device C includes a code amount control unit 1 and an encoding unit 3, and the encoding unit 3 encodes image information to be encoded in accordance with the QP output from the code amount control unit 1, and the encoded data Is output.
  • the image information is, for example, still image information, and in the following description, the image information is also referred to as a picture.
  • the encoding unit 3 includes a block dividing unit 30, a subtractor 31, an orthogonal transform / quantization unit 32, a variable length encoding unit 33, an inverse quantization / inverse orthogonal transform unit 34, an adder 35, and an intra prediction unit 36.
  • the block dividing unit 30 divides the encoding target image information given from the outside to the video encoding device C into block image information, and the divided encoding target block image information is a block target code amount estimation unit. 11 and the subtractor 31.
  • the subtractor 31 calculates the difference between the pixel value of each pixel of the encoding target block image information output from the block dividing unit 30 and the pixel value of each pixel of the predicted image information output from the intra prediction unit 36. To generate difference block image information. In addition, the subtractor 31 outputs the generated difference block image information to the orthogonal transform / quantization unit 32.
  • the orthogonal transform / quantization unit 32 performs orthogonal transform on the difference block image information output from the subtractor 31, and based on the QP output from the final QP calculation unit 16 on the difference block image information subjected to the orthogonal transform.
  • a quantization coefficient is generated by performing quantization.
  • the orthogonal transform / quantization unit 32 outputs the generated quantization coefficient to the variable length coding unit 33 and the inverse quantization / inverse orthogonal transform unit 34.
  • the variable length encoding unit 33 generates encoded data by variable length encoding the quantization coefficient output from the orthogonal transform / quantization unit 32, and outputs the generated encoded data to the outside of the video encoding device C. . Further, the variable length encoding unit 33 outputs the generated code amount of block image information (hereinafter referred to as “block generated code amount”) obtained when generating encoded data to the cumulative generated code amount calculating unit 13. In addition, the variable length encoding unit 33 outputs to the final QP calculation unit 16 the value of the number of encoded blocks in the encoding target image information obtained when generating encoded data.
  • the inverse quantization / inverse orthogonal transform unit 34 decodes the difference block image information by performing inverse quantization and inverse orthogonal transform on the quantization coefficient output from the orthogonal transform / quantization unit 32, and outputs the difference block image information to the adder 35. Output.
  • the adder 35 sums the pixel value of each pixel of the decoded difference block image information output from the inverse quantization / inverse orthogonal transform unit 34 and the pixel value of each pixel of the predicted image information output from the intra prediction unit 36. To generate reference image information. Further, the adder 35 outputs the generated reference image information to the intra prediction unit 36.
  • the intra prediction unit 36 generates predicted image information by intra prediction corresponding to the encoding target block image information based on the reference image information output from the adder 35, and outputs the generated predicted image information to the subtractor 31.
  • the code amount control unit 1 includes a quantization parameter estimation unit 20, a code amount estimation unit 21, and a quantization parameter correction unit 22.
  • the quantization parameter estimation unit 20 calculates an initial value of QP.
  • the quantization parameter estimation unit 20 includes an initial QP estimation unit 10.
  • the initial QP estimation unit 10 calculates an initial QP (QPinit) based on the encoding target image information and a picture target code amount that is a desired requested code amount requested for the encoding target image information.
  • the picture target code amount which is a desired required code amount is, for example, the number of bits per one piece of image information after encoding. However, it is not limited to the number of bits per image information, and may be a value indicated by the number of bits per pixel, the file size, or the like.
  • the code amount estimation unit 21 calculates a target code amount for each block image information.
  • the code amount estimation unit 21 includes a block target code amount estimation unit 11. Based on the initial QP output from the initial QP estimation unit 10, the encoding target block image information, and the picture target code amount, the block target code amount estimation unit 11 uses the target code amount for each encoding target block image information. A certain block target code amount is calculated.
  • the quantization parameter correction unit 22 corrects the QP.
  • the quantization parameter correction unit 22 includes a cumulative target code amount calculation unit 12, a cumulative generated code amount calculation unit 13, a code amount error calculation unit 14, an average QP calculation unit 15, and a final QP calculation unit 16.
  • the accumulated target code amount calculation unit 12 accumulates the block target code amount of the encoded block image information output from the block target code amount estimation unit 11, that is, the block image to be encoded. The sum of the block target code amounts up to immediately before the information is calculated.
  • the accumulated generated code amount calculation unit 13 accumulates the block generated code amount of the encoded block image information output from the variable length encoding unit 33, that is, the block generated code amount up to immediately before the block image information to be encoded. The sum of is calculated.
  • the code amount error calculation unit 14 calculates a difference between the accumulated value of the block target code amount output from the accumulated target code amount calculation unit 12 and the accumulated value of the block generation code amount output from the accumulated generation code amount calculation unit 13. The difference is output as a code amount error.
  • the average QP calculation unit 15 calculates an average QP that is an average value of QPs up to immediately before the block image information to be encoded, using the initial QP output from the initial QP estimation unit 10 as an initial value.
  • the average value of QP until immediately before the block image information to be encoded is a value obtained by dividing the total value of QPs immediately before the block image information to be encoded by the number of QPs.
  • the final QP calculation unit 16 includes the code amount error calculated by the code amount error calculation unit 14, the average QP output by the average QP calculation unit 15, and the code in the encoding target image information output by the variable length encoding unit 33.
  • the QP to be applied to the block image information to be encoded is calculated based on the value of the number of converted blocks.
  • FIG. 2 is a block diagram showing an internal configuration of the initial QP estimation unit 10.
  • the initial QP estimation unit 10 estimates the relationship between the image information, the picture target code amount, and the initial QP according to a machine learning model by learning processing, and acquires relationship information indicating the estimated relationship as learned data. Generate as
  • the initial QP estimator 10 uses the relationship information generated during the operation of the encoding process to calculate the encoding target image information and the desired picture target code amount Btarget requested for the encoding target image information. An initial QP is calculated.
  • the initial QP estimation unit 10 includes a calculation unit 100, a switching unit 130, an error calculation unit 131, a teacher QP information storage unit 132, and a learning processing unit 133.
  • the calculation unit 100 includes a feature extraction unit 110, a total connection layer 120, and a learning data storage unit 121.
  • the learning data storage unit 121 stores learning data such as weighting coefficients between input / output nodes of all coupling layers 120 and filter coefficients used in the calculation of the convolutional layer units 111-1 to 111-N in the feature extraction unit 110. To do.
  • the feature extraction unit 110 includes feature extraction units 110-1 to 110-N.
  • the feature extraction unit 110-1 includes a convolution layer unit 111-1, a downsampling unit 112-1, and a nonlinear conversion unit 113-1.
  • the feature extraction units 110-2 to 110-N have the same internal configuration as that of the feature extraction unit 110-1.
  • Each of the feature extraction units 110-2 to 110-N includes a convolution layer unit 111-2 to 111-N and a downsampling unit 112-2 to 112-N and nonlinear converters 113-2 to 113-N.
  • the convolution layer units 111-1 to 111 -N perform a convolution operation by applying the filter coefficient stored in the learning data storage unit 121 to the input information.
  • the downsampling units 112-1 to 112-N perform downsampling on the information output from the convolutional layer units 111-1 to 111-N corresponding thereto.
  • the nonlinear converters 113-1 to 113-N perform nonlinear conversion processing on the information output from the corresponding downsampling units 112-1 to 112-N.
  • the feature extraction unit 110 calculates the feature amount of the image information by repeating the convolution operation, the downsampling, and the nonlinear conversion process N times for the image information.
  • N is an integer of 1 or more.
  • the fully connected layer 120 has one output node and a plurality of input nodes, and outputs an input node that takes in the feature amount output by the feature extraction unit 110 and an input node to which a picture target code amount is given. Fully join the node. Further, the fully connected layer 120 performs an operation of multiplying the feature amount output from the feature extraction unit 110 and the picture target code amount by a weighting factor stored in the learning data storage unit 121, and outputs based on the calculation result Output the value.
  • the switching unit 130 includes a switch. When performing the learning process, the switching unit 130 connects the output terminal of the total coupling layer 120 to a terminal connected to the error calculation unit 131, and outputs the output of the total coupling layer 120 during the encoding process.
  • the terminal is connected to a terminal connected to the block target code amount estimation unit 11.
  • the teacher QP information storage unit 132 stores QP information as teacher information in advance.
  • the error calculation unit 131 calculates an error between the output value of all the coupling layers 120 output from the switching unit 130 and the teacher information stored in the teacher QP information storage unit 132. Further, when the calculated error is equal to or less than a predetermined threshold, the error calculation unit 131 outputs instruction information to the switching unit 130 to switch the switch, and the output terminal of all the coupling layers 120 is connected to the block target code. It connects with the terminal connected to the quantity estimation part 11. FIG.
  • the learning processing unit 133 calculates new learning data so as to reduce the error, and the learning data stored in the learning data storage unit 121 is calculated. Rewrite and update the data.
  • a calculation technique for reducing the error for example, an error back propagation method or the like is applied.
  • FIG. 3 is a block diagram showing an internal configuration of the block target code amount estimation unit 11.
  • the block target code amount estimation unit 11 estimates the relationship between the block image information, the initial QP, and the complexity that is an index indicating the degree of complexity of the block image information by learning processing, for example, according to a machine learning model, Information indicating the estimated relationship is generated as a learned model.
  • the complexity is a block generated code amount generated when the block image information is encoded with the initial QP.
  • the block target code amount estimation unit 11 uses the generated relationship information at the time of the encoding process operation, the encoding target block image information, the initial QP output by the initial QP estimation unit 10, and the encoding target The block target code amount is calculated based on the picture target code amount of the encoding target image information including the block image information.
  • the block target code amount estimation unit 11 includes a calculation unit 200, a switching unit 230, an error calculation unit 231, a teacher complexity information storage unit 232, a learning processing unit 233, and a code amount calculation unit 234.
  • the calculation unit 200 includes a feature extraction unit 210, a total connection layer 220, and a learning data storage unit 221.
  • the learning data storage unit 221 stores learning data such as weighting coefficients between input / output nodes of all coupling layers 220 and filter coefficients used in the calculation of the convolutional layer units 211-1 to 211 -N in the feature extraction unit 210. To do.
  • the feature extraction unit 210 includes feature extraction units 210-1 to 210-N.
  • the feature extraction unit 210-1 includes a convolution layer unit 211-1, a downsampling unit 212-1, and a nonlinear conversion unit 213-1.
  • the feature extraction units 210-2 to 210-N have the same internal configuration as the feature extraction unit 210-1, and each includes convolution layer units 211-2 to 211-N and downsampling units 212-2 to 212-2. 212-N and nonlinear converters 213-2 to 213-N.
  • the convolution layer units 211-1 to 211 -N perform a convolution operation by applying the filter coefficient stored in the learning data storage unit 221 to the input information.
  • the downsampling units 212-1 to 212-N perform downsampling on the information output from the convolutional layer units 211-1 to 211-N corresponding to each of the downsampling units 212-1 to 212-N.
  • the non-linear conversion units 213-1 to 213-N perform non-linear conversion processing on information output from the corresponding downsampling units 212-1 to 212-N.
  • the feature extraction unit 210 calculates the feature amount of the block image information by repeating the convolution operation, the downsampling, and the non-linear transformation process N times for the block image information given from the block dividing unit 30.
  • N is an integer of 1 or more.
  • Fully coupled layer 220 has one output node and a plurality of input nodes, and an input node that takes in a feature amount output from feature extraction unit 210 and an input node to which an initial QP is given are output nodes. Join all. Further, the total connection layer 220 performs an operation of multiplying the feature amount output from the feature extraction unit 210 and the initial QP by a weighting factor stored in the learning data storage unit 221, and outputs an output value based on the calculated result. Output.
  • the code amount calculation unit 234 sets the output value output from the total coupling layer 220 as the complexity X (j) of the block image information, and based on the complexity X (j) and the picture target code amount Btarget,
  • the target code amount T (j) of information is calculated by the following equation (11).
  • Blk_cnt is the number of blocks included in the image information including the target block image information, that is, the number of divisions.
  • the code amount calculation unit 234 also outputs the calculated block target code amount T (j) to the cumulative target code amount calculation unit 12.
  • the switching unit 230 includes a switch. When performing the learning process, the switching unit 230 connects the output terminal of the total coupling layer 220 to a terminal connected to the error calculation unit 231, and outputs the output of the total coupling layer 220 during the encoding process. The terminal is connected to the terminal connected to the code amount calculation unit 234.
  • the teacher complexity information storage unit 232 stores in advance complexity as teacher information.
  • the error calculation unit 231 calculates an error between the output value of all the coupling layers 220 output from the switching unit 230 and the teacher information stored in the teacher complexity information storage unit 232. In addition, when the calculated error is equal to or less than a predetermined threshold, the error calculation unit 231 outputs instruction information to the switching unit 230 to switch the switch, and calculates the code amount of the output terminal of all the coupling layers 220. It connects with the terminal connected to the part 234.
  • the learning processing unit 233 calculates new learning data so as to reduce the error, and the learning data stored in the learning data storage unit 221 is calculated. Rewrite and update the data.
  • a calculation technique for reducing the error for example, an error back propagation method or the like is applied.
  • FIG. 4 is a flowchart showing the flow of QP calculation processing.
  • the process shown in FIG. 4 is divided into a learning process and an encoding process.
  • the video encoding device C in the processes after Step Sa3
  • the encoding target image information is taken in and encoding processing is performed.
  • the initial QP estimation unit 10 generates the relationship information indicating the relationship between the image information, the picture target code amount corresponding to the image information, and the initial QP by the learning process (step Sa1).
  • the initial QP estimation unit 10 In order to cause the initial QP estimation unit 10 to perform learning processing for generating learned data, that is, relationship information, the probability distribution information of the image information for learning and the probability distribution information of the picture target code amount in advance. Is prepared as input information. In addition, when the image information is encoded, QP probability distribution information closest to the corresponding picture target code amount is prepared as teacher information.
  • the QP probability distribution information is stored as teacher information in the teacher QP information storage unit 132, and the switch of the switching unit 130 is connected in advance to the terminal connected to the error calculation unit 131 at the output terminal of the all coupling layer 120. Switch to.
  • the feature extraction unit 110 captures the probability distribution information of the image information for learning, and the total connection layer 120 captures the probability distribution information of the picture target code amount for learning, so that the initial QP estimation unit 10 starts the learning process. To do.
  • the learning process is terminated, and the error calculation unit 131 outputs instruction information to the switching unit 130.
  • the switching unit 130 switches the switch in response to the instruction information, and sets the connection destination of the output terminal of all the coupling layers 120 to the block target code amount estimation unit 11.
  • the learned data stored in the learning data storage unit 121 becomes the relationship information indicating the relationship between the above-described image information, the picture target code amount, and the initial QP.
  • the block target code amount estimation unit 11 generates the relationship information indicating the relationship between the block image information, the initial QP corresponding to the block image information, and the complexity (step Sa2).
  • the block target code amount estimation unit 11 In order to cause the block target code amount estimation unit 11 to perform learning processing for generating learned data, that is, relationship information, the probability distribution information of learning block image information and the probability distribution of initial QP in advance. Information combined with information is prepared as input information. Also, probability distribution information of complexity generated when the block image information is encoded with the corresponding initial QP is prepared as teacher information.
  • Complexity probability distribution information is stored in the teacher complexity information storage unit 232 as teacher information, and the switch of the switching unit 230 is connected in advance to the terminal connected to the error calculation unit 231 at the output terminal of the all coupling layer 220. Switch to do.
  • the feature extraction unit 210 captures the probability distribution information of the block image information for learning, and the total connection layer 220 captures the probability distribution information of the initial QP for learning, whereby the block target code amount estimation unit 11 performs the learning process. Start.
  • the error calculation unit 231 When the error calculated by the error calculation unit 231 is equal to or less than a predetermined threshold, for example, the learning process is terminated, and the error calculation unit 231 outputs the instruction information to the switching unit 230.
  • the switching unit 230 switches the switch in response to the instruction information, and sets the connection destination of the output terminals of all the coupling layers 220 as the code amount calculation unit 234.
  • the learned data stored in the learning data storage unit 221 becomes the relationship information indicating the relationship between the block image information, the initial QP, and the complexity.
  • the video encoding device C takes in the encoding target image information and the desired picture target code amount requested for the encoding target image information (step Sa3).
  • the calculation unit 100 of the initial QP estimation unit 10 of the code amount control unit 1 takes in the encoding target image information and the picture target code amount.
  • the feature extraction unit 110 uses the learned data stored in the learning data storage unit 121 to calculate the feature amount of the captured encoding target image information.
  • the total connection layer 120 calculates the initial QP based on the feature amount output from the feature extraction unit 110, the picture target code amount, and the learned data stored in the learning data storage unit 121.
  • the initial QP estimation unit 10 outputs the calculated initial QP to the block target code amount estimation unit 11 (step Sa4).
  • the block target code amount estimation unit 11 takes in the encoding target block image information output from the block division unit 30 and the initial QP output from the initial QP estimation unit 10.
  • the calculation unit 200 of the block target code amount estimation unit 11 captures the encoding target block image information and the initial QP.
  • the feature extraction unit 210 uses the learned data stored in the learning data storage unit 221 to calculate the feature amount of the captured encoding target block image information.
  • the total connection layer 220 calculates the block target code amount based on the feature amount output from the feature extraction unit 210, the initial QP, and the learned data stored in the learning data storage unit 221.
  • the block target code amount estimation unit 11 outputs the calculated block target code amount to the cumulative target code amount calculation unit 12 (step Sa5).
  • the quantization parameter correction unit 22 repeatedly performs the processing from step Sa6 to step Sa9 for each block image information of the encoding target image information (loops La1s to La1e).
  • the cumulative target code amount calculation unit 12 calculates a cumulative target code amount Tsum that is a cumulative value of the block target code amount up to the block image information immediately before the block image information to be encoded by the encoding unit 3.
  • the accumulated generated code amount calculation unit 13 generates blocks up to the block image information immediately before the block image information to be encoded in the encoding unit 3 among the block generated code amounts output from the variable length encoding unit 33.
  • a cumulative generated code amount Bsum that is a cumulative value of the code amount is calculated (step Sa6).
  • the accumulated target code amount Tsum is expressed by the following equation (12), and the accumulated generated code amount Bsum is expressed by the following equation (13).
  • B (i) is a block generation code amount of the i-th block image information.
  • the code amount error calculator 14 calculates the following equation (14). Thus, the code amount error D is calculated and output to the final QP calculation unit 16.
  • the average QP calculation unit 15 takes in the QP for each block image information output from the final QP calculation unit 16 and averages the QP up to the block image information immediately before the block image information to be encoded in the encoding unit 3.
  • An average QP (QPmean), which is a value, is calculated based on the following equation (15) (step Sa7).
  • the final QP calculation unit 16 calculates a correction QP, which is a QP correction value, as deltaQP by the following equation (16) (step Sa8).
  • BlkProc_cnt is the number of encoded blocks in the encoding target image information output from the variable length encoding unit 33.
  • DeltaQPorg is a value obtained from the code amount error D calculated by the code amount error calculation unit 14 based on the following equation (17), and k is an adjustment parameter coefficient.
  • the final QP calculation unit 16 calculates a final QP by the following equation (18) based on the average QP (QPmean) output from the average QP calculation unit 15 and the calculated correction QP (deltaQP), and performs orthogonal transformation. -It outputs to the quantization part 32 (step Sa9).
  • the function of Round () means a function that performs rounding operations such as rounding up, rounding down, and rounding.
  • the encoding unit 3 encodes each block image information using the QP output by the code amount control unit 1 for each block image information, and repeats the process until encoding of all the block image information is completed.
  • the quantization parameter estimation unit 20 estimates an initial QP to be applied to image information based on the image information and a desired picture target code amount requested in encoding.
  • the code amount estimation unit 21 estimates a block target code amount for each block image information based on the initial QP and the block image information obtained by dividing the image information into blocks.
  • the initial QP estimation unit 10 determines the image information and the picture target code amount corresponding to the image information. Then, the relationship with the initial QP is estimated by learning processing using a machine learning model, and learned data obtained by the learning processing is generated in advance as relationship information indicating the relationship. Further, the block target code amount estimation unit 11 estimates the relationship between the block image information, the initial QP, and the complexity by a learning process using a machine learning model, and the learned data obtained by the learning process is It is generated in advance as relationship information indicating the relationship.
  • the initial QP estimation unit 10 calculates an initial QP from the encoding target image information and a desired picture target code amount requested for the encoding target image information, using the generated relationship information.
  • the block target code amount estimation unit 11 calculates the block target code amount from the encoding target block image information and the initial QP using the generated relationship information. Therefore, it is possible to calculate the block target code amount according to the characteristics of the encoding target image information and the desired picture target code amount, and an appropriate QP can be assigned to each block image information. This makes it possible to assign a desired code amount, for example, a more accurate code amount to a desired file size while maintaining uniform image quality of the image information to be encoded.
  • the quantization parameter estimation unit 20 and the code amount estimation unit 21 are configured as one code amount estimation device 1A. Also good.
  • FIG. 6 is a block diagram showing the configuration of the video encoding device Ca in the second embodiment.
  • the video encoding device Ca includes a code amount control unit 1a and an encoding unit 3a, and the encoding unit 3a encodes the video information to be encoded in accordance with the QP output from the code amount control unit 1a. Is output.
  • the encoding unit 3a includes a GOP (Group Of Pictures) dividing unit 41, a block dividing unit 30, a subtractor 31, an orthogonal transformation / quantization unit 32, a variable length coding unit 33, an inverse quantization / inverse orthogonal transformation unit 34, An adder 35, an intra prediction unit 36, a loop filter unit 37, a decoded picture memory unit 38, an inter prediction unit 39, and an intra / inter changeover switch unit 40 are provided.
  • GOP Group Of Pictures
  • the GOP dividing unit 41 divides a plurality of pieces of continuous image information included in the video information into a predetermined number according to a predetermined condition. Further, the GOP dividing unit 41 outputs a set of a plurality of pieces of divided image information as GOPs to the GOP initial QP estimating unit 17 and the GOP target code amount estimating unit 18. The GOP dividing unit 41 outputs each piece of image information included in the GOP to the block dividing unit 30, the subtractor 19, and the initial QP estimating unit 10a in the encoding order.
  • the subtractor 31 includes the pixel value of each pixel of the encoding target block image information output from the block dividing unit 30 and the pixel value of each pixel of the predicted image information output from the intra prediction unit 36 or the inter prediction unit 39. And the difference block image information is generated. The subtractor 31 also outputs the generated difference block image information to the block target code amount estimation unit 11a and the orthogonal transform / quantization unit 32.
  • the adder 35 outputs the pixel value of each pixel of the decoded difference block image information output from the inverse quantization / inverse orthogonal transform unit 34 and each pixel of the predicted image information output from the intra prediction unit 36 or the inter prediction unit 39.
  • the reference image information is generated by calculating the sum of the pixel values. Further, the adder 35 outputs the generated reference image information to the intra prediction unit 36 and the loop filter unit 37.
  • the loop filter unit 37 generates a reference image information for inter prediction by applying a loop filter to the reference image information output from the adder 35, and writes the generated reference image information for inter prediction in the decoded picture memory unit 38.
  • the decoded picture memory unit 38 is a storage device such as a writable RAM (Random Access Memory), and stores inter prediction reference image information written by the loop filter unit 37.
  • the inter prediction unit 39 uses the inter prediction reference image information stored in the decoded picture memory unit 38 to generate prediction image information by inter prediction of the encoding target block image information.
  • the intra / inter changeover switch unit 40 switches the switch according to the prediction mode of the encoding target block image information, and connects the subtractor 31 and the adder 35 to either the intra prediction unit 36 or the inter prediction unit 39. .
  • the code amount control unit 1a includes a quantization parameter estimation unit 20a, a code amount estimation unit 21a, and a quantization parameter correction unit 22.
  • the quantization parameter estimation unit 20a includes a GOP initial QP estimation unit 17, a subtracter 19, and an initial QP estimation unit 10a.
  • the GOP initial QP estimating unit 17 outputs the GOP output from the GOP dividing unit 41, the bit rate that is a desired requested code amount requested for the GOP, and the image included in the GOP.
  • the GOP initial QP is calculated based on the picture type list that lists the picture types of information.
  • the GOP initial QP is a value of the initial QP calculated for each GOP, and the GOP initial QP calculated for a certain GOP is a value commonly applied to image information included in the GOP. .
  • the subtractor 19 calculates the difference between the pixel value of each pixel of the image information output from the GOP dividing unit 41 and the pixel value of each pixel of the reference image information stored in the decoded picture memory unit 38. Difference image information is generated, and the generated difference image information is output to the initial QP estimation unit 10a.
  • the initial QP estimation unit 10a includes input image information that is either the difference image information output from the subtractor 19 or the image information output from the GOP division unit 41, a picture type corresponding to the input image information, a GOP target An initial QP is calculated based on the picture target code amount corresponding to the input image information output from the code amount estimation unit 18.
  • the code amount estimation unit 21a includes a GOP target code amount estimation unit 18 and a block target code amount estimation unit 11a.
  • the GOP target code amount estimation unit 18 includes a GOP output from the GOP division unit 41, a GOP initial QP output from the GOP initial QP estimation unit 17, and a picture type of image information included in the GOP.
  • the picture target code amount for each piece of image information included in the GOP is calculated based on the picture type list obtained by listing and the bit rate.
  • the block target code amount estimation unit 11a corresponds to the input block image information that is either the difference block image information output from the subtractor 31 or the block image information output from the block dividing unit 30, and the input block image information. Based on the picture type and the initial QP output from the initial QP estimation unit 10a, a block target code amount for each piece of encoding target block image information is calculated.
  • FIG. 7 is a block diagram showing an internal configuration of the GOP initial QP estimation unit 17.
  • the GOP initial QP estimation unit 17 for example, according to a machine learning model, a plurality of image information constituting a GOP, a picture type list that lists picture types of image information included in the GOP, a bit rate, and a GOP initial
  • the relationship with the QP is estimated by learning processing, and relationship information indicating the estimated relationship is generated as learned data.
  • the GOP initial QP estimator 17 uses the generated relationship information during the operation of the encoding process and outputs the GOP to be encoded output by the GOP divider 41 and the image information included in the GOP to be encoded
  • the GOP initial QP (QPGOPinit) is calculated based on the picture type list in which the picture types are listed and the desired bit rate requested for the GOP to be encoded.
  • the GOP initial QP estimation unit 17 includes a calculation unit 300, a switching unit 330, an error calculation unit 331, a teacher QP information storage unit 332, and a learning processing unit 333.
  • the calculation unit 300 includes a GOP feature extraction unit 310, a total connection layer 320, and a learning data storage unit 321.
  • the learning data storage unit 321 stores learning data such as weighting coefficients between input / output nodes of all coupling layers 320 and filter coefficients used in the operations of the convolutional layer units 311-1 to 311-N in the GOP feature extraction unit 310.
  • the GOP feature extraction unit 310 includes GOP feature extraction units 310-1 to 310-N.
  • the GOP feature extraction unit 310-1 includes a convolution layer unit 311-1, a downsampling unit 312-1 and a nonlinear conversion unit 313-1.
  • the GOP feature extraction units 310-2 to 310-N have the same internal configuration as the GOP feature extraction unit 310-1, and each includes convolution layer units 311-2 to 311-N and a downsampling unit 312- 2 to 312-N and nonlinear conversion units 313-2 to 313-N.
  • the convolution layer units 311-1 to 311-N perform a convolution operation by applying the filter coefficient stored in the learning data storage unit 321 to the input information.
  • the down-sampling units 312-1 to 312-N perform down-sampling on the information output from the convolutional layer units 311-1 to 311-N corresponding thereto.
  • the nonlinear conversion units 313-1 to 313-N perform nonlinear conversion processing on information output from the corresponding downsampling units 312-1 to 312-N.
  • the GOP feature extraction unit 310 captures each piece of image information included in the GOP as a channel, and calculates the feature amount of the GOP by repeating the convolution operation, the downsampling, and the nonlinear conversion process N times for each channel.
  • N is an integer of 1 or more.
  • the total coupling layer 320 has one output node and a plurality of input nodes.
  • An input node to which a picture type list in which picture types of each included image information are listed is given is fully coupled to an output node.
  • the total connection layer 320 performs an operation of multiplying the feature amount output from the GOP feature extraction unit 310, the bit rate, and the picture type list by a weighting factor stored in the learning data storage unit 321. Output the output value based on the result.
  • the switching unit 330 includes a switch. When performing the learning process, the switching unit 330 connects the output terminal of the total coupling layer 320 to a terminal connected to the error calculation unit 331, and outputs the output of the total coupling layer 320 during the encoding process.
  • the terminal is connected to a terminal connected to the GOP target code amount estimation unit 18.
  • the teacher QP information storage unit 332 stores in advance QP information as teacher information.
  • the error calculation unit 331 calculates an error between the output value of all the coupling layers 320 output from the switching unit 330 and the teacher information stored in the teacher QP information storage unit 332. In addition, when the calculated error is equal to or less than a predetermined threshold value, the error calculation unit 331 outputs instruction information to the switching unit 330 to switch the switch, and the output terminal of all the coupling layers 320 is connected to the GOP target code. It connects with the terminal connected to the quantity estimation part 18.
  • the learning processing unit 333 calculates new learning data based on the error calculated by the error calculation unit 331 so as to reduce the error, and the learning data stored in the learning data storage unit 321 is calculated. Rewrite and update the data.
  • a calculation technique for reducing the error for example, an error back propagation method or the like is applied.
  • FIG. 8 is a block diagram showing an internal configuration of the GOP target code amount estimation unit 18.
  • the GOP target code amount estimation unit 18 for example, according to a machine learning model, a plurality of image information constituting the GOP, a picture type list that lists picture types of image information included in the GOP, a GOP initial QP, The relationship with the picture complexity is estimated by learning processing, and information indicating the estimated relationship is generated as a learned model.
  • the picture complexity is a generated code amount generated when each piece of image information included in a GOP is encoded by the GOP initial QP.
  • the GOP target code amount estimation unit 18 uses the generated relationship information during the encoding process, and the GOP to be encoded output by the GOP dividing unit 41 and the images included in the GOP to be encoded Included in the GOP based on the picture type list that lists the picture types of information, the GOP initial QP output from the GOP initial QP estimation unit 17, and the desired bit rate requested for the GOP to be encoded A picture target code amount for each piece of image information is calculated.
  • the GOP target code amount estimation unit 18 includes a calculation unit 400, a switching unit 430, an error calculation unit 431, a teacher complexity information storage unit 432, a learning processing unit 433, and a code amount calculation unit 434.
  • the calculation unit 400 includes a GOP feature extraction unit 410, a total connection layer 420, and a learning data storage unit 421.
  • the learning data storage unit 421 stores learning data such as weighting coefficients between input / output nodes of all coupling layers 420 and filter coefficients used in the operations of the convolutional layer units 411-1 to 411-N in the GOP feature extraction unit 410.
  • learning data such as weighting coefficients between input / output nodes of all coupling layers 420 and filter coefficients used in the operations of the convolutional layer units 411-1 to 411-N in the GOP feature extraction unit 410.
  • the GOP feature extraction unit 410 includes GOP feature extraction units 410-1 to 410-N.
  • the GOP feature extraction unit 410-1 includes a convolution layer unit 411-1, a downsampling unit 412-1 and a nonlinear conversion unit 413-1.
  • the GOP feature extraction units 410-2 to 410-N have the same internal configuration as the GOP feature extraction unit 410-1, and each includes convolutional layer units 411-2 to 411-N and a downsampling unit 412. 2 to 412-N and nonlinear conversion units 413-2 to 413-N.
  • the convolution layer units 411-1 to 411-N perform a convolution operation by applying the filter coefficient stored in the learning data storage unit 421 to the input information.
  • the downsampling units 412-1 to 412-N perform downsampling on the information output from the convolutional layer units 411-1 to 411-N corresponding to the respective downsampling units 412-1 to 412-N.
  • the non-linear conversion units 413-1 to 413-N perform non-linear conversion processing on information output from the corresponding downsampling units 412-1 to 412-N.
  • the GOP feature extraction unit 410 captures each piece of image information included in the GOP as a channel, and calculates the feature amount of the GOP by repeating the convolution operation, the downsampling, and the nonlinear conversion process N times for each channel.
  • N is an integer of 1 or more.
  • Fully coupled layer 420 has one output node and a plurality of input nodes, an input node that captures a feature value output by GOP feature extraction section 410, an input node that is given a picture type list, an initial node The input node to which QP is given is fully coupled to the output node. Further, the total connection layer 420 performs an operation of multiplying the feature amount output from the GOP feature extraction unit 410 and the initial QP by a weighting coefficient stored in the learning data storage unit 421, and an output value based on the calculation result Is output.
  • the code amount calculation unit 434 uses the image complexity included in the GOP and the output value output from all the coupling layers 420 when the picture type corresponding to the image information is given as the input information, as the picture complexity Xpic for each image information. (J), and based on the picture complexity Xpic (j) and the bit rate, the picture target code amount Tpic (j) of each piece of image information is calculated by the following equation (19).
  • GOP_rate is a rate when the bit rate is converted to GOP
  • GOP_cnt is the number of image information included in the GOP.
  • the code amount calculation unit 434 outputs the calculated picture target code amount Tpic (j) of each piece of image information to the initial QP estimation unit 10a.
  • the switching unit 430 includes a switch. When performing the learning process, the switching unit 430 connects the output terminal of the total coupling layer 420 to a terminal connected to the error calculation unit 431, and outputs the output of the total coupling layer 420 during the encoding process. The terminal is connected to the terminal connected to the code amount calculation unit 434.
  • the teacher complexity information storage unit 432 stores picture complexity as teacher information in advance.
  • the error calculation unit 431 calculates an error between the output value of the code amount calculation unit 434 output from the switching unit 430 and the teacher information stored in the teacher complexity information storage unit 432. In addition, when the calculated error is equal to or less than a predetermined threshold, the error calculation unit 431 outputs instruction information to the switching unit 430 to switch the switch, and calculates the code amount of the output terminal of all the coupling layers 420. The terminal is connected to the terminal connected to the unit 434.
  • the learning processing unit 433 calculates new learning data so as to reduce the error, and the learning data stored in the learning data storage unit 421 is calculated. Rewrite and update the data.
  • a calculation technique for reducing the error for example, an error back propagation method or the like is applied.
  • FIG. 9 is a block diagram showing an internal configuration of the initial QP estimation unit 10a.
  • the same components as those of the initial QP estimation unit 10 of the first embodiment are denoted by the same reference numerals, and different configurations will be described below.
  • the initial QP estimation unit 10a for example, according to a machine learning model, input image information that is either image information or difference image information, a picture type corresponding to the input image information, a picture target code amount, and an initial QP
  • the relationship information is estimated by learning processing, and relationship information indicating the estimated relationship is generated as a learned model.
  • the initial QP estimation unit 10 uses the generated relationship information at the time of the encoding process operation, the input image information to be encoded, the picture type of the input image information to be encoded, and the GOP target code amount. An initial QP is calculated based on the picture target code amount output from the estimation unit 18.
  • the initial QP estimation unit 10a includes a calculation unit 100a, a switching unit 130, an error calculation unit 131, a teacher QP information storage unit 132, a learning processing unit 133, and an image selection unit 134.
  • the calculation unit 100a includes a feature extraction unit 110, a fully connected layer 120a, and a learning data storage unit 121.
  • Fully coupled layer 120a has one output node and a plurality of input nodes, an input node that captures a feature value output from feature extraction unit 110, an input node that is given a picture type, and a picture target code An input node given a quantity is fully coupled to an output node. Further, the total connection layer 120a performs an operation of multiplying the feature amount output from the feature extraction unit 110, the picture type, and the picture target code amount by a weighting coefficient stored in the learning data storage unit 121, Output the output value based on the result.
  • the image selection unit 134 selects the difference image information output from the subtractor 19 and outputs the selected difference image information as input image information to the calculation unit 100a. To do.
  • the image selection unit 134 selects the image information output by the GOP dividing unit 41 and outputs the selected image information to the calculation unit 100a as input image information.
  • FIG. 10 is a block diagram showing an internal configuration of the block target code amount estimation unit 11a.
  • the same components as those of the block target code amount estimation unit 11 of the first embodiment are denoted by the same reference numerals, and different configurations will be described below.
  • the block target code amount estimation unit 11a for example, according to a machine learning model, input block image information that is either block image information or difference block image information, a picture type corresponding to the input block image information, an initial QP, Then, the relationship with the complexity is estimated by learning processing, and information indicating the estimated relationship is generated as a learned model.
  • the block target code amount estimation unit 11a uses the relationship information generated during the operation of the encoding process, the input block image information to be encoded, the picture type of the input block image information to be encoded, The block target code amount is calculated based on the initial QP output from the initial QP estimation unit 10a and the picture target code amount output from the GOP target code amount estimation unit 18.
  • the block target code amount estimation unit 11a includes a calculation unit 200a, a switching unit 230, an error calculation unit 231, a teacher complexity information storage unit 232, a learning processing unit 233, a code amount calculation unit 234, and a block image selection unit 235.
  • the calculation unit 200a includes a feature extraction unit 210, a total connection layer 220a, and a learning data storage unit 221.
  • Fully coupled layer 220a has one output node and a plurality of input nodes. An input node that takes in a feature amount output from feature extraction unit 210, an input node to which a picture type is given, and an initial QP are Fully connects the given input node to the output node.
  • the total connection layer 220a performs an operation of multiplying the feature amount output from the feature extraction unit 210, the picture type, and the initial QP by a weighting factor stored in the learning data storage unit 221, and adds the calculated result to the result. The output value based on is output.
  • the code amount calculation unit 234 sets the output value output from the total coupling layer 220 as the complexity X (j) of the block image information, and the picture target output from the complexity X (j) and the GOP target code amount estimation unit 18. Based on the code amount Tpic (j), the target code amount T (j) of the block image information is calculated by the following equation (20).
  • Blk_cnt is the number of blocks included in the image information including the target block image information.
  • the block image selection unit 235 selects the difference block image information output from the subtractor 31, and selects the selected difference block image information. Are output to the calculation unit 200a as input block image information. Further, when the picture type of the image information is I picture, the block image selection unit 235 selects the block image information output from the block division unit 30 and uses the selected block image information as input block image information to the arithmetic unit 200a. Output.
  • FIG. 11 is a flowchart showing the flow of QP calculation processing.
  • the process shown in FIG. 11 is divided into a learning process and an encoding process.
  • the video encoding device Ca in the processes after step Sb5 Encoding processing is performed by capturing video information to be encoded.
  • the GOP initial QP estimation unit 17 generates the relationship information indicating the relationship between the GOP, the bit rate, the picture type list, and the GOP initial QP by the learning process (step Sb1).
  • the GOP initial QP estimation unit 17 In order to cause the GOP initial QP estimation unit 17 to perform learning processing for generating learned data, that is, relationship information, the probability distribution information of the GOP for learning and the bit rate corresponding to the GOP in advance. Probability distribution information and probability distribution information of a picture type list corresponding to the GOP are prepared as input information. When the GOP is encoded, QP probability distribution information closest to the corresponding bit rate is prepared as teacher information.
  • the QP probability distribution information is stored as teacher information in the teacher QP information storage unit 332, and the switch of the switching unit 330 is switched so that the output terminal of the all coupling layer 320 is connected to the terminal connected to the error calculation unit 331. Keep it.
  • the GOP feature extraction unit 310 captures the probability distribution information of the GOP for learning, and the total connection layer 320 captures the probability distribution information of the learning bit rate and the picture type list, whereby the GOP initial QP estimation unit 17 performs the learning. Start processing.
  • the error calculation unit 331 When the error calculated by the error calculation unit 331 is equal to or less than a predetermined threshold, for example, the learning process is terminated, and the error calculation unit 331 outputs instruction information to the switching unit 330.
  • the switching unit 330 switches the switch in response to the instruction information, and sets the connection destination of the output terminals of all the coupling layers 320 as the GOP target code amount estimation unit 18.
  • the learned data stored in the learning data storage unit 321 includes the relationship between the GOP, the bit rate corresponding to the GOP, the picture type list corresponding to the GOP, and the GOP initial QP. Is the relationship information.
  • the GOP target code amount estimation unit 18 generates the relationship information indicating the relationship between the GOP, the picture type list, the GOP initial QP, and the picture complexity (step Sb2).
  • the GOP target code amount estimation unit 18 In order to cause the GOP target code amount estimation unit 18 to perform learning processing for generating learned data, that is, relationship information, the probability distribution information of the learning GOP and the picture type corresponding to the GOP in advance.
  • the probability distribution information of the list and the probability distribution information of the GOP initial QP corresponding to the GOP are prepared as input information. Also, probability distribution information of picture complexity when each piece of image information included in the GOP is encoded with the corresponding GOP initial QP is prepared as teacher information.
  • the probability distribution information of the picture complexity is stored as teacher information in the teacher complexity information storage unit 432, and the switch of the switching unit 430 is connected to the output terminal of the all coupling layer 420 to the terminal connected to the error calculation unit 431.
  • Switch as follows.
  • the GOP feature extraction unit 410 captures the probability distribution information of the GOP for learning, and the fully connected layer 420 captures the probability distribution information of the picture type list for learning and the initial QP. Start the learning process.
  • the learning process When the error calculated by the error calculation unit 431 is equal to or less than a predetermined threshold, for example, the learning process is terminated, and the error calculation unit 431 outputs instruction information to the switching unit 430.
  • the switching unit 430 switches the switch in response to the instruction information, and sets the connection destination of the output terminals of all the coupling layers 420 to the code amount calculation unit 434.
  • the learned data stored in the learning data storage unit 421 includes the relationship between the GOP, the picture type list corresponding to the GOP, the GOP initial QP corresponding to the GOP, and the picture complexity. It becomes relationship information indicating sex.
  • the initial QP estimation unit 10a generates relationship information indicating the relationship between the image information and the difference image information, the picture type, the picture target code amount, and the initial QP by a learning process (step Sb3).
  • the probability distribution information of the input image information for learning and the input image information are associated in advance.
  • Picture type probability distribution information and picture target code amount probability distribution information corresponding to the input image information are prepared as input information.
  • QP probability distribution information closest to the corresponding picture target code amount is prepared as teacher information.
  • the QP probability distribution information is stored as teacher information in the teacher QP information storage unit 132, and the switch of the switching unit 130 is switched so that the output terminal of the all coupling layer 120a is connected to the terminal connected to the error calculation unit 131. Keep it.
  • the image selection unit 134 outputs either image information or difference image information to the feature extraction unit 110 as input image information according to the picture type.
  • the feature extraction unit 110 captures the probability distribution information of the learning input image information output from the image selection unit 134, and the all coupling layer 120a captures the learning picture type list and the probability distribution information of the picture target code amount.
  • the initial QP estimation unit 10a starts the learning process.
  • the learning process is terminated, and the error calculation unit 131 outputs instruction information to the switching unit 130.
  • the switching unit 130 switches the switch in response to the instruction information, and sets the connection destination of the output terminal of the total coupling layer 120a as the block target code amount estimation unit 11a.
  • the learned data stored in the learning data storage unit 121 includes the above-described input image information, a picture type corresponding to the input image information, a picture target code amount corresponding to the input image information,
  • the relationship information indicates the relationship with the initial QP.
  • the block target code amount estimation unit 11a learns the relationship information indicating the relationship between the block image information, the picture type corresponding to the block image information, the initial QP corresponding to the block image information, and the complexity. (Step Sb4).
  • the block target code amount estimation unit 11a In order to cause the block target code amount estimation unit 11a to perform learning processing for generating learned data, that is, relationship information, the probability distribution information of the input block image information for learning and the input block image in advance
  • the picture type probability distribution information corresponding to the information and the initial QP probability distribution information corresponding to the input block image information are prepared as input information.
  • probability distribution information of complexity when block image information corresponding to the input block image information is encoded with the corresponding initial QP is prepared as teacher information.
  • Complexity probability distribution information is stored as teacher information in the teacher complexity information storage unit 232, and the switch of the switching unit 230 is connected to the terminal connected to the error calculation unit 231 with the output terminal of the code amount calculation unit 234.
  • Switch as follows.
  • the block image selection unit 235 outputs either block image information or difference block image information to the feature extraction unit 210 as input block image information according to the picture type.
  • the feature extraction unit 210 captures the probability distribution information of the learning input block image information output from the block image selection unit 235, and the total connection layer 220a captures the learning picture type and the probability distribution information of the initial QP.
  • the block target code amount estimation unit 11a starts the learning process.
  • the learning process When the error calculated by the error calculation unit 231 is equal to or less than a predetermined threshold, for example, the learning process is terminated, and the error calculation unit 231 outputs the instruction information to the switching unit 230.
  • the switching unit 230 switches the switch in response to the instruction information, and sets the connection destination of the output terminals of all the coupling layers 220a as the cumulative target code amount calculation unit 12.
  • the learned data stored in the learning data storage unit 221 includes the above-described input block image information, a picture type corresponding to the input block image information, and an initial QP corresponding to the input block image information.
  • the relationship information indicates the relationship with the complexity.
  • the video encoding device Ca captures video information to be encoded, a bit rate required for the video information to be encoded, and a picture type list corresponding to the GOP configuration of the video information to be encoded ( Step Sb5).
  • Step Sb6, Step Sb7, and Loop Lb2s Processes Lb2e are repeated for each GOP included in the video information (loops Lb1s to Lb1e).
  • the calculation unit 300 of the GOP initial QP estimation unit 17 captures the GOP to be encoded output from the GOP division unit 41, the bit rate, and the picture type list.
  • the GOP feature extraction unit 310 uses the learned data stored in the learning data storage unit 321 to calculate the feature amount of the captured GOP to be encoded.
  • the fully connected layer 320 calculates the GOP initial QP based on the feature amount output from the GOP feature extraction unit 310, the bit rate, the picture type, and the learned data stored in the learning data storage unit 121. .
  • the GOP initial QP estimation unit 17 outputs the calculated GOP initial QP to the GOP target code amount estimation unit 18 (step Sb6).
  • the GOP target code amount estimation unit 18 takes in the GOP to be encoded output from the GOP division unit 41, the GOP initial QP output from the GOP initial QP estimation unit 17, and the picture type list.
  • the calculation unit 400 of the GOP target code amount estimation unit 18 captures the GOP to be encoded, the GOP initial QP corresponding to the GOP, and the picture type list corresponding to the GOP.
  • the GOP feature extraction unit 410 uses the learned data stored in the learning data storage unit 421 to calculate the feature amount of the captured GOP.
  • the fully connected layer 420 is based on the feature amount output from the GOP feature extraction unit 410, the picture type list, the GOP initial QP, and the learned data stored in the learning data storage unit 421.
  • a picture target code amount for each piece of encoding target image information included in the GOP is calculated.
  • the GOP target code amount estimation unit 18 outputs the calculated picture target code amount for each piece of encoding target image information to the initial QP estimation unit 10a (step Sb7).
  • the initial QP estimation unit 10a and the block target code amount estimation unit 11a of the code amount control unit 1a repeatedly perform the processing of step Sb8, step Sb9, and loops Lb3s to Lb3e for each encoding target image information included in the GOP (loop Lb2s). ⁇ Lb2e).
  • the initial QP estimation unit 10a includes encoding target image information output from the GOP dividing unit 41, or encoding target difference image information that is a difference between the encoding target image information output from the subtracter 19 and the reference image information, and The picture type corresponding to the encoding target image information and the picture target code amount corresponding to the encoding target image information output from the GOP target code amount estimation unit 18 are captured.
  • the image selection unit 134 outputs either the encoding target image information or the encoding target difference image information to the feature extraction unit 110 as the encoding target input image information according to the picture type.
  • the feature extraction unit 110 uses the learned data stored in the learning data storage unit 121 to calculate the feature amount of the input image information to be encoded output by the image selection unit 134.
  • the fully connected layer 120a calculates the initial QP based on the feature amount output from the feature extraction unit 110, the picture type, the picture target code amount, and the learned data stored in the learning data storage unit 121. .
  • the initial QP estimation unit 10a outputs the calculated initial QP to the block target code amount estimation unit 11a (step Sb8).
  • the block target code amount estimation unit 11a includes encoding target block image information output from the block dividing unit 30, or difference block image information that is a difference between the encoding target block image information output from the subtractor 31 and the reference block image information. Then, the picture type of the encoding target block image information and the initial QP output from the initial QP estimation unit 10a are captured.
  • the block image selection unit 235 outputs either the encoding target block image information or the encoding target difference block image information to the feature extraction unit 210 as input block image information according to the picture type.
  • the feature extraction unit 210 uses the learned data stored in the learning data storage unit 221 to calculate the feature amount of the input block image information to be encoded output by the block image selection unit 235.
  • the total connection layer 220a calculates the block target code amount based on the feature amount output from the feature extraction unit 210, the initial QP, and the learned data stored in the learning data storage unit 221.
  • the block target code amount estimation unit 11a outputs the calculated block target code amount to the cumulative target code amount calculation unit 12 (step Sb9).
  • the quantization parameter correction unit 22 repeatedly performs the processing from step Sb10 to step Sb13 for each block image information of the encoding target image information (loops Lb3s to Lb3e).
  • the cumulative target code amount calculation unit 12 calculates a cumulative target code amount Tsum that is a cumulative value of the block target code amount up to the block image information immediately before the block image information to be encoded by the encoding unit 3.
  • the accumulated generated code amount calculation unit 13 generates blocks up to the block image information immediately before the block image information to be encoded in the encoding unit 3 among the block generated code amounts output from the variable length encoding unit 33.
  • a cumulative generated code amount Bsum which is a cumulative value of the code amount is calculated (step Sb10).
  • the accumulated target code amount Tsum is expressed by the following equation (21), and the accumulated generated code amount Bsum is expressed by the following equation (22).
  • B (i) is a block generation code amount of the i-th block image information.
  • the code amount error calculating unit 14 Based on the accumulated generated code amount Bsum output by the accumulated generated code amount calculating unit 13 and the accumulated target code amount Tsum output by the accumulated target code amount calculating unit 12, the code amount error calculating unit 14 Thus, the code amount error D is calculated and output to the final QP calculation unit 16.
  • the average QP calculation unit 15 takes in the QP for each block image information output from the final QP calculation unit 16 and averages the QP up to the block image information immediately before the block image information to be encoded in the encoding unit 3.
  • An average QP as a value is calculated based on the following equation (24) (step Sb11).
  • the final QP calculation unit 16 calculates deltaQP, which is a correction QP, by the following equation (25) (step Sb12).
  • BlkProc_cnt is the number of encoded blocks in the encoding target image information output from the variable length encoding unit 33.
  • DeltaQPorg is a value obtained from the code amount error D calculated by the code amount error calculation unit 14 based on the following equation (26), and k is an adjustment parameter coefficient.
  • the final QP calculation unit 16 calculates a final QP by the following equation (27) based on the average QP (QPmean) output from the average QP calculation unit 15 and the calculated correction QP (deltaQP), and performs orthogonal transformation. -It outputs to the quantization part 32 (step Sb13).
  • the function of Round () means a function that performs rounding operations such as rounding up, rounding down, and rounding.
  • the encoding unit 3a encodes each piece of block image information using the QP that the code amount control unit 1a outputs for each piece of block image information, and repeats the process until encoding of all the block image information is completed.
  • the quantization parameter estimation unit 20a and the code amount estimation unit 21a are configured as one code amount estimation device 1Aa. Also good.
  • the image selection unit 134 of the initial QP estimation unit 10a selects difference image information in the case of a P picture or B picture, and selects image information in the case of an I picture. Like to do. Further, the block image selection unit 235 of the block target code amount estimation unit 11a selects the difference block image information in the case of the P picture or the B picture, and selects the block image information in the case of the I picture.
  • the configuration of the present invention is not limited to the embodiment.
  • the video encoding device Cb as shown in FIG. 13 may be configured, and the initial QP estimation unit 10b may process only the image information as the above-described input image information regardless of the picture type.
  • the block target code amount estimation unit 11b may perform the process using only the block image information as the above-described input block image information regardless of the picture type.
  • the initial QP estimation unit 10b is configured by removing the image selection unit 134 from the initial QP estimation unit 10a
  • the block target code amount estimation unit 11b is configured by the block target code amount estimation unit 11a.
  • the image selection unit 235 is excluded.
  • the quantization parameter estimation unit 20a estimates an initial QP to be applied to image information based on the image information and a desired picture target code amount requested in encoding.
  • the code amount estimation unit 21a estimates the block target code amount for each block image information based on the initial QP and the block image information obtained by dividing the image information into blocks.
  • the GOP initial QP estimation unit 17 calculates the GOP, bit rate, and picture type when calculating the picture target code amount to be assigned to each piece of image information included in the video information. And the GOP initial QP is estimated by learning processing using a machine learning model, and learned data obtained by the learning processing is generated in advance as relationship information indicating the relationship. Further, the GOP target code amount estimation unit 18 estimates the relationship between the GOP, the picture type, the GOP initial QP, and the picture complexity by a learning process using a machine learning model, and learns obtained by the learning process. Completed data is generated in advance as relationship information indicating the relationship.
  • the initial QP estimation unit 10a estimates the relationship between the input image information, the picture type, the picture target code amount, and the initial QP by the learning process using the machine learning model, and the learned data obtained by the learning process Is generated in advance as relationship information indicating the relationship. Further, the block target code amount estimation unit 11a estimates the relationship among the input block image information, the picture type, the initial QP, and the complexity by a learning process using a machine learning model, and is obtained by the learning process. The learned data is generated in advance as relationship information indicating the relationship.
  • the GOP initial QP estimation unit 17 calculates the GOP initial QP from the GOP to be encoded, the bit rate corresponding to the GOP, and the picture type list corresponding to the GOP, using the generated relationship information.
  • the GOP target code amount estimation unit uses the generated relationship information to encode from the GOP to be encoded, the picture type list corresponding to the GOP, and the GOP initial QP output from the GOP initial QP estimation unit 17 A picture target code amount is calculated for each piece of encoding target image information included in the target GOP.
  • the initial QP estimation unit 10a uses the relationship information generated in advance, based on the input image information to be encoded, the picture type corresponding to the input image information, and the picture target code amount corresponding to the input image information. An initial QP is calculated.
  • the block target code amount estimation unit 11a uses the relationship information generated in advance to calculate the block target code amount from the input block image information to be encoded, the picture type corresponding to the input block image information, and the initial QP. calculate.
  • the target picture amount of the picture according to the characteristics of the GOP to be encoded and the bit rate, and further, the block target code according to the feature of the target picture code and the characteristics of the encoding target image information.
  • the amount can be calculated, and appropriate code amount control in GOP units can be performed, and an appropriate QP can be assigned to each piece of block image information. Accordingly, it is possible to assign a desired code amount, for example, a more accurate code amount to a desired bit rate while keeping the image quality of the image information to be encoded uniform.
  • the average QP calculation unit 15 takes the initial QP output from the initial QP estimation units 10 and 10a as an initial value for the first block image information, and uses the initial QP as the average QP. Instead, the captured initial QP is output to the final QP calculation unit 16 as it is.
  • the learning process may be performed in parallel. Therefore, steps Sa1 and Sa2 in the flowchart of FIG. 4 may be performed in parallel. Sb1, Sb2, Sb3, and Sb4 may be performed in parallel.
  • the number N of the feature extraction units 110 and 210 and the GOP feature extraction units 310 and 410 in FIGS. 2, 3, and 7 to 10 may be a different value if it is an integer of 1 or more. Good.
  • FIG. 14 is a block diagram illustrating a configuration of a video encoding device Cc according to the third embodiment.
  • the video encoding device Cc includes a code amount control unit 1c and an encoding unit 3, and the encoding unit 3 encodes the video information to be encoded in accordance with the QP output from the code amount control unit 1c. Is output.
  • the code amount control unit 1c includes a quantization parameter estimation unit 20c, a code amount estimation unit 21c, and a quantization parameter correction unit 22.
  • the quantization parameter estimation unit 20c includes an initial QP estimation unit 10c.
  • the code amount estimation unit 21c includes a block target code amount estimation unit 11c.
  • the block target code amount estimation unit 11c calculates block estimation code amounts X (j, qp) for all selectable QPs.
  • This block estimated code amount X (j, qp) is a value indicating the complexity for all selectable QPs for each block image input.
  • the block target code amount estimation unit 11c outputs the calculated block estimation code amount X (j, qp) to the initial QP estimation unit 10c.
  • the initial QP estimation unit 10c acquires block estimation code amounts X (j, qp) for all selectable QPs from the block target code amount estimation unit 11c.
  • the initial QP estimation unit 10c calculates an initial QP (QPinit) by the following equation (28) based on the acquired block estimation code amount X (j, qp).
  • the initial QP estimation unit 10c outputs the calculated initial QP (QPinit) to the block target code amount estimation unit 11c and the average QP calculation unit 15.
  • the block target code amount estimation unit 11c acquires an initial QP (QPinit) from the initial QP estimation unit 10c.
  • the block target code amount estimation unit 11c calculates the target code amount of each block based on the acquired initial QP (QPinit).
  • the block target code amount estimation unit 11 c outputs the estimated target code amount of each block to the cumulative target code amount calculation unit 12.
  • FIG. 15 is a block diagram illustrating an internal configuration of the block target code amount estimation unit 11c.
  • the difference from the internal configuration of the block target code amount estimation unit 11 of the first embodiment shown in FIG. 3 is as follows.
  • the initial QP is input to the total coupling layer 220, but in the block target code amount estimation unit 11c in the third embodiment, the initial QP is input to the total coupling layer 220c.
  • the number of outputs of the total coupling layer 220 is one, but in the block target code amount estimation unit 11c in the third embodiment, the output of the total coupling layer 220c.
  • the number is an output number corresponding to the number of all selectable QPs
  • the block target code amount output to the code amount calculation unit 234 is an output value corresponding to the initial QP.
  • the learning method of machine learning by the block target code amount estimation unit 11c is as follows. Similar to the learning method of machine learning by the block target code amount estimation unit 11c in the first embodiment described with reference to FIG. 3, learning data including block image information, QP, and code amount as a set is prepared in advance.
  • the learning data is data in which all QPs and respective code amounts when encoded with all QPs are combined into one block image information.
  • the learning data is a database of these sets for each sample of a plurality of block image information. Note that the learning data is not limited to the above-described configuration.
  • the learning data may be data in which each code amount in a case where one block image information is encoded with at least one QP is a set. Good.
  • the block target code amount estimation unit 11c calculates, for example, an error between the output value and the input code amount for only the output unit corresponding to the input QP after the block image information is input to the neural network and propagated in the forward direction.
  • Machine learning is performed by propagating. Note that forward propagation and back propagation may be performed collectively in units of a plurality of samples.
  • FIG. 16 is a flowchart showing the flow of QP calculation processing.
  • the process shown in FIG. 16 is divided into a learning process and an encoding process.
  • the encoding target image information is captured in the processes after Step Sc2, and the encoding process is performed.
  • the block target code amount estimation unit 11c generates learning data in which the block image information, the initial QP corresponding to the block image information, and the relationship information indicating the relationship between the complexity are associated by learning processing. (Step Sc1).
  • the video encoding device Cc takes in the encoding target image information and a desired picture target code amount requested for the encoding target image information (step Sc2).
  • the block target code amount estimating unit 11c calculates block estimated code amounts X (j, qp) for all selectable QPs.
  • the block target code amount estimation unit 11c outputs the calculated block estimation code amount X (j, qp) to the initial QP estimation unit 10c (step Sc3).
  • the initial QP estimation unit 10c acquires block estimation code amounts X (j, qp) for all selectable QPs from the block target code amount estimation unit 11c.
  • the initial QP estimator 10c calculates the initial QP (QPinit) by the above equation (28) using the acquired block estimated code amount X (j, qp).
  • the initial QP estimation unit 10c outputs the calculated initial QP (QPinit) to the block target code amount estimation unit 11c and the average QP calculation unit 15 (step Sc4).
  • the block target code amount estimation unit 11c acquires an initial QP (QPinit) from the initial QP estimation unit 10c.
  • the block target code amount estimation unit 11c calculates a target code amount X (j, QPinit) of each block based on the acquired initial QP (QPinit).
  • the block target code amount estimation unit 11c outputs the estimated target code amount X (j, QPinit) of each block to the cumulative target code amount calculation unit 12 (step Sc5).
  • the quantization parameter correction unit 22 repeatedly performs the processing from step Sc6 to step Sc9 for each block image information of the encoding target image information (loops Lc1s to Lc1e).
  • the contents of the processing from step Sc6 to step Sc9 are the same as the contents of the processing from step Sa6 to step Sa9 described with reference to FIG. 4 in the first embodiment.
  • the block target code amount estimation unit 11c (code amount estimation unit) includes block image information (first code amount estimation region) in the estimation target image (first image information), and Code amount estimation model for estimating block target code amount (first target code amount) for each block image information using block image information and all selectable QPs (a plurality of predetermined first quantization parameters) And the block target code amount (first target code amount) is estimated.
  • the code amount estimation model includes block image information (second code amount estimation region) in the learning image (second image information), a plurality of QPs (second quantization parameters), and a plurality of QPs. This is a model that is generated by associating with the block target code amount (second target code amount) for each block image information (second code amount estimation region) when encoded with the value of.
  • the code amount estimation model is a case where a plurality of QPs (second quantization parameters) are at least a part of all selectable QPs (a plurality of predetermined first quantization parameters), and
  • the estimated block target code amount (first target code amount) can be selected from all QPs (a plurality of predetermined first quantization parameters) and a plurality of QPs (second quantization parameters).
  • the association is updated only when the block target code amount is obtained by encoding with the existing quantization parameter.
  • the code amount estimation model includes a plurality of QPs corresponding to block image information (second code amount estimation region) and block image information (second code amount estimation region) in the learning image (second image information).
  • learning processing is performed using learning data in which (second quantization parameter) and relationship information indicating a relationship with complexity are associated with each other.
  • the third embodiment it is possible to calculate the block target code amount according to the characteristics of the encoding target image information and the desired picture target code amount, and an appropriate QP for each block image information. Can be assigned. This makes it possible to assign a desired code amount, for example, a more accurate code amount to a desired file size while maintaining uniform image quality of the image information to be encoded.
  • the quantization parameter estimation unit 20c and the code amount estimation unit 21c may be configured as one code amount estimation device.
  • the initial QP estimators 10 and 10a, the block target code amount estimators 11, 11a and 11c, the GOP initial QP estimator 17 and the GOP target code amount estimator Reference numeral 18 denotes a learning process using a machine learning model, for example.
  • FIGS. 2, 3, 7 to 10 and FIG. 15 show an example of the configuration of a deep neural network that performs deep learning, for example. is there.
  • the present invention is not limited to this embodiment, and learning processing may be performed using deep neural networks having other different configurations, and based on mathematical calculation means without performing learning processing.
  • a non-linear function indicating the relationship may be obtained, and the obtained non-linear function may be used as the relationship information, and any means may be used as long as it is a predetermined estimation means for estimating the relationship. .
  • the feature extraction units 110 and 210 and the GOP feature extraction units 310 and 410 calculate feature amounts and feature amounts.
  • the configuration of the present invention is not limited to this embodiment. If there is a sufficient number of pieces of input information, the learning process may be performed by directly providing the input information to all the coupling layers 320 without calculating the feature amount.
  • the input information is image information, picture target code amount, block image information, initial QP, GOP, bit rate, picture type list, GOP initial QP, input image information, picture type, picture target code to be given in the learning process. Information on the amount and input block image information.
  • the error calculation units 131, 231, 331, and 431 end the learning process when the error is equal to or less than the threshold value.
  • the configuration of is not limited to the embodiment.
  • the determination “whether or not” is merely an example, and “whether or not” may be determined according to how the threshold is set. That is, for the above threshold value determination process, it may be determined whether or not the value to be determined is less than the threshold value.
  • the video encoding devices C, Ca, and Cb are, for example, H.264 and H.264. Although described as a device that conforms to the standard of H.265 / HEVC (High-Efficiency-Video-Coding), the present invention is not limited to this standard, and may be a device that conforms to another standard.
  • the block target code amount is estimated for the block image information obtained by dividing the image information into blocks. It is not limited to the embodiment.
  • the target code amount of the code amount estimation region is estimated using all regions of image information or an arbitrary region as a code amount estimation region. May be.
  • test image 1920 [pixel] ⁇ 1080 [pixel].
  • Test image type 37 types in total.
  • JCT-VC Joint Collaborative Team on Video Coding
  • Class B 5 types.
  • SVT Sedish Television
  • Hi-Vision Test Sequence 2nd Edition published by ITE / ARIB high-vision system evaluation moving image, second edition
  • HM HEVC Test Model
  • the proposed technique according to the present invention has the encoding error with the target code amount and the calculation amount (processing time) suppressed to the same level as the conventional technique (HM16.6), but more than the conventional technique. It has been shown to improve coding efficiency.
  • the code amount estimation devices 1A and 1Aa in the above-described embodiment may be realized by a computer.
  • a program for realizing this function may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read into a computer system and executed.
  • the “computer system” includes an OS and hardware such as peripheral devices.
  • the “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM or a CD-ROM, and a hard disk incorporated in a computer system.
  • the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line.
  • a volatile memory inside a computer system serving as a server or a client in that case may be included and a program held for a certain period of time.
  • the program may be a program for realizing a part of the above-described functions, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system. It may be realized using a programmable logic device such as an FPGA (Field Programmable Gate Array).
  • FPGA Field Programmable Gate Array
  • calculation unit 210 (210-1 to 210-N) ) ... Feature extraction unit, 211-1 to 211-N ... Convolutional layer unit, 212-1 to 212-N ... Downsampling unit, 213-1 to 213-N ... Nonlinear transformation unit, 220, 220a, 220c ... Fully coupled Layers 221... Learning data storage unit 230.
  • Switching unit 231 Error calculation unit 232
  • Teacher complexity information storage unit 233
  • Learning processing unit 234 Code amount calculation unit 235 Lock image selection unit, 300 ... calculation unit, 310 (310-1 to 310-N) ... feature extraction unit, 311-1 to 311-N ... convolution layer unit, 312-1 to 312-N ...
  • downsampling unit 313 -1 to 313-N: nonlinear conversion unit, 320: all coupled layers, 321 ... learning data storage unit, 330 ... switching unit, 331 ... error calculation unit, 332 ... teacher QP information storage unit, 333 ... learning processing unit, 400 ... Calculation unit, 410 (410-1 to 410-N) ... Feature extraction unit, 411-1 to 411-N ... Convolution layer unit, 412-1 to 412-N ... Downsampling unit, 413-1 to 413-N ... Non-linear conversion unit, 420 ... Fully connected layer, 421 ... Learning data storage unit, 430 ... Switching unit, 431 ... Error calculation unit, 432 ... Teacher complexity information storage unit, 433 ... Learning processing unit, 434 ... Code amount calculation unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

符号量推定装置は、第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定部を備え、前記符号量推定モデルは、第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けがなされることによって生成されるモデルである。

Description

符号量推定装置、符号量推定方法及び符号量推定プログラム
 本発明は、符号量推定装置、符号量推定方法及び符号量推定プログラムに関する。
 本願は、2018年3月6日に、日本に出願された特願2018-039903号に基づき優先権を主張し、その内容をここに援用する。 
 映像を符号化するにあたり、画質を保ちつつ発生する符号量を所望のビットレートあるいはファイルサイズに収まるように符号量を制御することが望まれる。例えば、MPEG(Moving Picture Experts Group)2 test Model5(以下「背景技術1」という。)では符号化対象ピクチャに割り当てられた符号量をピクチャ内の各符号化ブロック画像に均等に割り当て、ピクチャ内の各ブロック画像を順次符号化していく。その過程において、目標符号量と実際に発生した符号量の差分に応じて量子化ステップを制御することで符号量制御を実現している(例えば、非特許文献1参照)。以下に具体的な計算手法について説明する。まず、j番目のブロック画像を符号化する前に仮想的なバッファの充満度d(j)を次式(1)により算出する。
Figure JPOXMLDOC01-appb-M000001
 式(1)においてd(0)は、バッファ初期値であり、B(j)は、j番目を含んでそれまでの全てのブロック画像の符号化発生ビット数である。また、Tは、符号化対象ピクチャの目標ビット数であり、Blk_cntは、符号化対象ピクチャ内のブロック数である。初期量子化ステップQ(j)は、次式(2)により求められる。
Figure JPOXMLDOC01-appb-M000002
 式(2)においてrは、次式(3)により求められる。
Figure JPOXMLDOC01-appb-M000003
 式(3)において、Bit_rateは、映像信号のビットレートであり、Picture_rateは、映像信号の1秒間に含まれるピクチャ数である。ピクチャ1枚のみを符号化する場合は、Bit_rate=Tであり、Picture_rate=1である。
 そして、以下の式(4)のようにブロック画像毎のアクティビティによって変化させた値を最終的な量子化ステップMq(j)として求める。
Figure JPOXMLDOC01-appb-M000004
 式(4)において、Nact(j)は、次式(5)により求められる。
Figure JPOXMLDOC01-appb-M000005
 式(5)において、act(j)は、次式(6)によって求められ、avgactは、前の時刻のピクチャのact(j)の平均値である。なお、次式(6)において、Pkは、ブロック画像に含まれる画素の画素値である。
Figure JPOXMLDOC01-appb-M000006
 しかし、上記の背景技術1の構成は、符号化対象ピクチャに割り当てられた符号量を各ブロック画像に当分配する構成に相当する。そのため、ピクチャ内で符号化が簡単な領域と、難しい領域が混在する場合、同一の画質に対する必要な符号量が異なるにも関わらず同一の符号量を割り当ててしまうことになる。なお、領域とは、例えば、分割したブロック画像で分けられる領域である。
 その結果、背景技術1においては、ピクチャ内の画質を均一に保つことができないという問題があった。そこで、この問題を解決する手法(以下「背景技術2」という。)が提案されている(例えば、非特許文献2参照)。
 背景技術2では、以下のような計算手法を採用している。
 Step1:ブロック画像毎の画素値差分ノルムGPPを次式(7)により算出し、ブロック画像の各々に対応するGPPをGPP(k)(ただし、k=1~Blk_cnt)とする。次式(7)において、Hは、画像の高さであり、Wは、画像の幅である。li,jは、座標i,jに位置する画素値を表す。なお、画素値差分ノルムGPP(k)は、符号化難度を示す値である。
Figure JPOXMLDOC01-appb-M000007
 Step2:次式(8)に基づいて各ブロック画像に符号化難度に応じた符号量を割り当てる。
Figure JPOXMLDOC01-appb-M000008
 Step3:ブロック割当量と符号化難度から次式(9)に基づいて、量子化パラメータ(以下「QP」(Quantization Parameter)という。)を算出する。
Figure JPOXMLDOC01-appb-M000009
 Step4:式(10)に示すように関数fを更新する。
Figure JPOXMLDOC01-appb-M000010
 このように、背景技術2では各ブロック画像の符号化難度の大きさに応じて符号量を割り当てるため、符号化難度が大きいブロック画像には多めの符号量が割り当てられ、符号化難度が小さいブロック画像には少なめの符号量が割り当てられる。それにより、画質を均一化しようとしている。
安田浩、渡辺裕、"ディジタル画像圧縮の基礎"、日経BP社、1996年1月20日、pp192-195 Miaohui Wang, King Ngi Ngan, and Hongliang Li, "An Efficient Frame-Content Based Intra Frame Rate Control for High Efficiency Video Coding,", IEEE SIGNAL PROCESSING LETTERS, Vol. 22, No. 7, pp896-pp900, July 2015
 しかしながら、上記の背景技術2では、各ブロック画像の符号化難度を画素値差分によって算出しているが、ブロック画像の符号化難度は符号化対象ピクチャに割り当てる符号量によって変わる場合がある。そのため、割り当てる符号量が適切でなくなり、符号量制御が正しく行えない場合があるという問題がある。
 上記事情に鑑み、本発明は、符号化対象の画像情報の画質を均一に保ちつつ、より正確な符号量の割り当てを可能にすることができる技術の提供を目的としている。
 本発明の一態様は、第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定部を備え、前記符号量推定モデルは、第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けがなされることによって生成されるモデルである符号量推定装置である。
 本発明の一態様は、上記の符号量推定装置であって、前記符号量推定モデルは、前記複数の第二量子化パラメータが前記複数の第一量子化パラメータの少なくとも一部である場合であって、かつ、推定された前記第一目標符号量のうち前記複数の第一量子化パラメータ及び前記複数の第二量子化パラメータのいずれにも存在する量子化パラメータによって符号化された場合における前記第一目標符号量である場合についてのみ、前記関連付けの更新を行う。
 本発明の一態様は、上記の符号量推定装置であって、前記符号量推定モデルは、第二の画像情報における第二符号量推定領域と、前記第二符号量推定領域に対応する前記複数の第二量子化パラメータと、複雑度との関係性を示す関係性情報と、が対応付けられた学習データを用いて学習処理を行うモデルである。
 本発明の一態様は、第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定ステップと、第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けを行うことによって前記符号量推定モデルを生成するステップと、を有する符号量推定方法である。
 本発明の一態様は、コンピュータに、第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定ステップと、第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けを行うことによって前記符号量推定モデルを生成するステップと、を実行させるための符号量推定プログラムである。
 本発明により、符号化対象の画像情報の画質を均一に保ちつつ、より正確な符号量の割り当てを可能にすることが可能となる。
本発明の第1の実施形態における映像符号化装置の構成を示すブロック図である。 同実施形態の初期QP推定部の構成を示すブロック図である。 同実施形態のブロック目標符号量推定部の構成を示すブロック図である。 同実施形態の符号量制御部による処理の流れを示すフローチャートである。 同実施形態における符号量制御部の他の構成例を示す図である。 第2の実施形態における映像符号化装置の構成を示すブロック図である。 同実施形態のGOP初期QP推定部の構成を示すブロック図である。 同実施形態のGOP目標符号量推定部の構成を示すブロック図である。 同実施形態の初期QP推定部の構成を示すブロック図である。 同実施形態のブロック目標符号量推定部の構成を示すブロック図である。 同実施形態の符号量制御部による処理の流れを示すフローチャートである。 同実施形態における符号量制御部の他の構成例を示す図である。 同実施形態における映像符号化装置の他の構成例を示す図である。 本発明の第3の実施形態における映像符号化装置の構成を示すブロック図である。 同実施形態のブロック目標符号量推定部の構成を示すブロック図である。 同実施形態の符号量制御部による処理の流れを示すフローチャートである。
(第1の実施形態)
 以下、本発明の実施形態について図面を参照して説明する。図1は、第1の実施形態における映像符号化装置Cの構成を示すブロック図である。映像符号化装置Cは、例えば、H.265/HEVC(High Efficiency Video Coding)の標準規格に準拠する装置である。
 映像符号化装置Cは、符号量制御部1及び符号化部3を備え、符号量制御部1が出力するQPに従って符号化部3が符号化対象の画像情報の符号化を行い、符号化データを出力する。ここで、画像情報は、例えば、静止画像情報であり、以下の説明において、画像情報のことをピクチャともいう。
 符号化部3は、ブロック分割部30、減算器31、直交変換・量子化部32、可変長符号化部33、逆量子化・逆直交変換部34、加算器35及びイントラ予測部36を備える。符号化部3において、ブロック分割部30は、映像符号化装置Cに外部から与えられる符号化対象画像情報をブロック画像情報に分割し、分割した符号化対象ブロック画像情報をブロック目標符号量推定部11と減算器31に出力する。
 減算器31は、ブロック分割部30が出力する符号化対象ブロック画像情報の各々の画素の画素値と、イントラ予測部36が出力する予測画像情報の各々の画素の画素値との差を算出して差分ブロック画像情報を生成する。また、減算器31は、生成した差分ブロック画像情報を直交変換・量子化部32に出力する。
 直交変換・量子化部32は、減算器31が出力する差分ブロック画像情報に対して直交変換を行い、直交変換した差分ブロック画像情報に対して、最終QP算出部16が出力するQPに基づいて量子化を行うことによって量子化係数を生成する。また、直交変換・量子化部32は、生成した量子化係数を可変長符号化部33と、逆量子化・逆直交変換部34に出力する。
 可変長符号化部33は、直交変換・量子化部32が出力する量子化係数を可変長符号化して符号化データを生成し、生成した符号化データを映像符号化装置Cの外部に出力する。また、可変長符号化部33は、符号化データを生成する際に得られるブロック画像情報の発生符号量(以下「ブロック発生符号量」という。)を累積発生符号量算出部13に出力する。また、可変長符号化部33は、符号化データを生成する際に得られる符号化対象画像情報内の符号化処理が終了した符号化済みブロック数の値を最終QP算出部16に出力する。
 逆量子化・逆直交変換部34は、直交変換・量子化部32が出力する量子化係数に対して逆量子化と逆直交変換を行うことにより差分ブロック画像情報を復号して加算器35に出力する。
 加算器35は、逆量子化・逆直交変換部34が出力する復号差分ブロック画像情報の各々の画素の画素値と、イントラ予測部36が出力する予測画像情報の各々の画素の画素値の和を算出して参照画像情報を生成する。また、加算器35は、生成した参照画像情報をイントラ予測部36に出力する。
 イントラ予測部36は、加算器35が出力する参照画像情報に基づいて符号化対象ブロック画像情報に対応するイントラ予測による予測画像情報を生成し、生成した予測画像情報を減算器31に出力する。
 符号量制御部1は、量子化パラメータ推定部20、符号量推定部21及び量子化パラメータ補正部22を備える。
 量子化パラメータ推定部20は、QPの初期値を算出する。量子化パラメータ推定部20は、初期QP推定部10を備える。初期QP推定部10は、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望の要求符号量であるピクチャ目標符号量とに基づいて、初期QP(QPinit)を算出する。ここで、所望の要求符号量であるピクチャ目標符号量とは、例えば、符号化後の1画像情報当たりのビット数である。ただし、1画像情報当たりのビット数に限られるものではなく、1画素当たりのビット数やファイルサイズ等で示される値であってもよい。
 符号量推定部21は、ブロック画像情報毎の目標符号量を算出する。符号量推定部21は、ブロック目標符号量推定部11を備える。ブロック目標符号量推定部11は、初期QP推定部10が出力する初期QPと、符号化対象ブロック画像情報と、ピクチャ目標符号量とに基づいて、符号化対象ブロック画像情報毎の目標符号量であるブロック目標符号量を算出する。
 量子化パラメータ補正部22は、QPを補正する。量子化パラメータ補正部22は、累積目標符号量算出部12、累積発生符号量算出部13、符号量誤差算出部14、平均QP算出部15及び最終QP算出部16を備える。量子化パラメータ補正部22において、累積目標符号量算出部12は、ブロック目標符号量推定部11が出力する符号化済みのブロック画像情報のブロック目標符号量の累積値、すなわち符号化対象のブロック画像情報の直前までのブロック目標符号量の和を算出する。
 累積発生符号量算出部13は、可変長符号化部33が出力する符号化済みのブロック画像情報のブロック発生符号量の累積値、すなわち符号化対象のブロック画像情報の直前までのブロック発生符号量の和を算出する。符号量誤差算出部14は、累積目標符号量算出部12が出力するブロック目標符号量の累積値と、累積発生符号量算出部13が出力するブロック発生符号量の累積値との差を算出し、当該差を符号量誤差として出力する。
 平均QP算出部15は、初期QP推定部10が出力する初期QPを初期値として、符号化対象のブロック画像情報の直前までのQPの平均値である平均QPを算出する。ここで、符号化対象のブロック画像情報の直前までのQPの平均値とは、符号化対象のブロック画像情報の直前までのQPの合計値を、当該QPの個数で除算した値である。
 最終QP算出部16は、符号量誤差算出部14が算出した符号量誤差と、平均QP算出部15が出力する平均QPと、可変長符号化部33が出力する符号化対象画像情報内の符号化済みブロック数の値とに基づいて、符号化対象のブロック画像情報に適用するQPを算出する。
 図2は、初期QP推定部10の内部の構成を示すブロック図である。初期QP推定部10は、例えば、機械学習モデルに従って、画像情報と、ピクチャ目標符号量と、初期QPとの関係性を学習処理により推定し、推定した関係性を示す関係性情報を学習済みデータとして生成する。
 初期QP推定部10は、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望のピクチャ目標符号量Btargetから初期QPを算出する。
 初期QP推定部10は、演算部100、切替部130、誤差算出部131、教師QP情報記憶部132及び学習処理部133を備える。演算部100は、特徴抽出部110、全結合層120及び学習データ記憶部121を備える。
 学習データ記憶部121は、全結合層120の入出力ノード間の重み係数、特徴抽出部110における畳み込み層部111-1~111-Nの演算の際に用いられるフィルタ係数等の学習データを記憶する。
 特徴抽出部110は、特徴抽出部110-1~110-Nを備える。特徴抽出部110-1は、畳み込み層部111-1、ダウンサンプリング部112-1及び非線形変換部113-1を備える。特徴抽出部110-2~110-Nは、特徴抽出部110-1と同一の内部構成を有しており、各々が、畳み込み層部111-2~111-N、ダウンサンプリング部112-2~112-N及び非線形変換部113-2~113-Nを備える。
 畳み込み層部111-1~111-Nは、入力情報に対して、学習データ記憶部121に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部112-1~112-Nは、各々に対応する畳み込み層部111-1~111-Nが出力する情報に対してダウンサンプリングを行う。非線形変換部113-1~113-Nは、各々に対応するダウンサンプリング部112-1~112-Nが出力する情報に対して非線形変換処理を行う。
 すなわち、特徴抽出部110は、画像情報に対して畳み込み演算、ダウンサンプリング及び非線形変換処理をN回繰り返して画像情報の特徴量を算出する。なお、Nの値は、1以上の整数である。
 全結合層120は、1つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部110が出力する特徴量を取り込む入力ノードと、ピクチャ目標符号量が与えられる入力ノードとを出力ノードに全結合する。また、全結合層120は、特徴抽出部110が出力する特徴量と、ピクチャ目標符号量とに対して学習データ記憶部121に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
 切替部130は、スイッチを備えており、学習処理を行う際、全結合層120の出力端子を誤差算出部131に接続する端子に接続し、符号化処理の運用時には、全結合層120の出力端子をブロック目標符号量推定部11に接続する端子に接続する。
 教師QP情報記憶部132は、教師情報としてのQPの情報を予め記憶する。誤差算出部131は、切替部130が出力する全結合層120の出力値と、教師QP情報記憶部132に記憶されている教師情報との誤差を算出する。また、誤差算出部131は、算出した誤差が予め定められる閾値以下となった場合、切替部130に対して指示情報を出力してスイッチを切り替えさせ、全結合層120の出力端子をブロック目標符号量推定部11に接続する端子に接続させる。
 学習処理部133は、誤差算出部131が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部121に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
 図3は、ブロック目標符号量推定部11の内部の構成を示すブロック図である。ブロック目標符号量推定部11は、例えば、機械学習モデルに従って、ブロック画像情報と、初期QPと、当該ブロック画像情報の複雑度合いを示す指数である複雑度との関係性を学習処理により推定し、推定した関係性を示す情報を学習済みモデルとして生成する。ここで、複雑度とは、ブロック画像情報を初期QPで符号化した際に発生するブロック発生符号量のことである。
 ブロック目標符号量推定部11は、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象ブロック画像情報と、初期QP推定部10が出力する初期QPと、当該符号化対象ブロック画像情報を含む符号化対象画像情報のピクチャ目標符号量とに基づいて、ブロック目標符号量を算出する。
 ブロック目標符号量推定部11は、演算部200、切替部230、誤差算出部231、教師複雑度情報記憶部232、学習処理部233及び符号量算出部234を備える。演算部200は、特徴抽出部210、全結合層220及び学習データ記憶部221を備える。
 学習データ記憶部221は、全結合層220の入出力ノード間の重み係数、特徴抽出部210における畳み込み層部211-1~211-Nの演算の際に用いられるフィルタ係数等の学習データを記憶する。
 特徴抽出部210は、特徴抽出部210-1~210-Nを備える。特徴抽出部210-1は、畳み込み層部211-1、ダウンサンプリング部212-1及び非線形変換部213-1を備える。特徴抽出部210-2~210-Nは、特徴抽出部210-1と同一の内部構成を有しており、各々が、畳み込み層部211-2~211-N、ダウンサンプリング部212-2~212-N及び非線形変換部213-2~213-Nを備える。
 畳み込み層部211-1~211-Nは、入力情報に対して、学習データ記憶部221に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部212-1~212-Nは、各々に対応する畳み込み層部211-1~211-Nが出力する情報に対してダウンサンプリングを行う。非線形変換部213-1~213-Nは、各々に対応するダウンサンプリング部212-1~212-Nが出力する情報に対して非線形変換処理を行う。
 すなわち、特徴抽出部210は、ブロック分割部30から与えられるブロック画像情報に対して畳み込み演算、ダウンサンプリング及び非線形変換処理をN回繰り返してブロック画像情報の特徴量を算出する。なお、Nの値は、1以上の整数である。
 全結合層220は、1つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部210が出力する特徴量を取り込む入力ノードと、初期QPが与えられる入力ノードとを出力ノードに全結合する。また、全結合層220は、特徴抽出部210が出力する特徴量と、初期QPとに対して学習データ記憶部221に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
 符号量算出部234は、全結合層220が出力する出力値をブロック画像情報の複雑度X(j)とし、当該複雑度X(j)と、ピクチャ目標符号量Btargetとに基づいて、ブロック画像情報の目標符号量T(j)を次式(11)により算出する。
 式(11)において、Blk_cntは、対象としているブロック画像情報を含む画像情報に含まれるブロック数、すなわち分割数である。また、符号量算出部234は、算出したブロック目標符号量T(j)を累積目標符号量算出部12に出力する。
 切替部230は、スイッチを備えており、学習処理を行う際、全結合層220の出力端子を誤差算出部231に接続する端子に接続し、符号化処理の運用時には、全結合層220の出力端子を符号量算出部234に接続する端子に接続する。
 教師複雑度情報記憶部232は、教師情報としての複雑度を予め記憶する。誤差算出部231は、切替部230が出力する全結合層220の出力値と、教師複雑度情報記憶部232に記憶されている教師情報との誤差を算出する。また、誤差算出部231は、算出した誤差が予め定められる閾値以下となった場合、切替部230に対して指示情報を出力してスイッチを切り替えさせ、全結合層220の出力端子を符号量算出部234に接続する端子に接続させる。
 学習処理部233は、誤差算出部231が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部221に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
(第1の実施形態におけるQP算出処理)
 次に、符号量制御部1によるQPの算出処理について説明する。図4は、QPの算出処理の流れを示すフローチャートである。図4に示す処理は、学習処理と符号化処理に分かれており、ステップSa1及びステップSa2における学習処理が完了して学習済みデータを生成した後、ステップSa3以降の処理において映像符号化装置Cは、符号化対象画像情報を取り込んで符号化処理を行う。初期QP推定部10は、画像情報と、当該画像情報に対応するピクチャ目標符号量と、初期QPとの関係性を示す関係性情報を学習処理により生成する(ステップSa1)。
 初期QP推定部10に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用の画像情報の確率分布情報と、ピクチャ目標符号量の確率分布情報とを組み合わせた情報を入力情報として用意しておく。また、当該画像情報を符号化した際に、対応するピクチャ目標符号量に最も近くなるQPの確率分布情報を教師情報として用意しておく。
 QPの確率分布情報を教師情報として教師QP情報記憶部132に記憶させておき、切替部130のスイッチを、予め全結合層120の出力端子が、誤差算出部131に接続する端子に接続するように切り替えておく。特徴抽出部110が、学習用の画像情報の確率分布情報を取り込み、全結合層120が、学習用のピクチャ目標符号量の確率分布情報を取り込むことにより初期QP推定部10は、学習処理を開始する。
 誤差算出部131が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部131が指示情報を切替部130に出力する。切替部130は、当該指示情報を受けてスイッチを切り替え、全結合層120の出力端子の接続先をブロック目標符号量推定部11にする。このタイミングで、学習データ記憶部121に記憶されている学習済みデータが、上述した画像情報と、ピクチャ目標符号量と、初期QPとの関係性を示す関係性情報となる。
 ブロック目標符号量推定部11は、ブロック画像情報と、当該ブロック画像情報に対応する初期QPと、複雑度との関係性を示す関係性情報を学習処理により生成する(ステップSa2)。
 ブロック目標符号量推定部11に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用のブロック画像情報の確率分布情報と、初期QPの確率分布情報とを組み合わせた情報を入力情報として用意しておく。また、当該ブロック画像情報を、対応する初期QPで符号化した際に発生する複雑度の確率分布情報を教師情報として用意しておく。
 複雑度の確率分布情報を教師情報として教師複雑度情報記憶部232に記憶させておき、切替部230のスイッチを、予め全結合層220の出力端子が、誤差算出部231に接続する端子に接続するように切り替えておく。特徴抽出部210が、学習用のブロック画像情報の確率分布情報を取り込み、全結合層220が、学習用の初期QPの確率分布情報を取り込むことによりブロック目標符号量推定部11は、学習処理を開始する。
 誤差算出部231が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部231が指示情報を切替部230に出力する。切替部230は、当該指示情報を受けてスイッチを切り替え、全結合層220の出力端子の接続先を符号量算出部234とする。このタイミングで、学習データ記憶部221に記憶されている学習済みデータが、上述したブロック画像情報と、初期QPと、複雑度との関係性を示す関係性情報となる。
 映像符号化装置Cは、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望のピクチャ目標符号量とを取り込む(ステップSa3)。符号量制御部1の初期QP推定部10の演算部100は、符号化対象画像情報と、ピクチャ目標符号量とを取り込む。特徴抽出部110は、学習データ記憶部121に記憶されている学習済みデータを用いて、取り込んだ符号化対象画像情報の特徴量を算出する。
 全結合層120は、特徴抽出部110が出力する特徴量と、ピクチャ目標符号量と、学習データ記憶部121に記憶されている学習済みデータとに基づいて、初期QPを算出する。初期QP推定部10は、算出した初期QPをブロック目標符号量推定部11に出力する(ステップSa4)。
 ブロック目標符号量推定部11は、ブロック分割部30が出力する符号化対象ブロック画像情報と、初期QP推定部10が出力する初期QPとを取り込む。ブロック目標符号量推定部11の演算部200は、符号化対象ブロック画像情報と、初期QPとを取り込む。特徴抽出部210は、学習データ記憶部221に記憶されている学習済みデータを用いて、取り込んだ符号化対象ブロック画像情報の特徴量を算出する。
 全結合層220は、特徴抽出部210が出力する特徴量と、初期QPと、学習データ記憶部221に記憶されている学習済みデータとに基づいて、ブロック目標符号量を算出する。ブロック目標符号量推定部11は、算出したブロック目標符号量を累積目標符号量算出部12に出力する(ステップSa5)。
 以下、量子化パラメータ補正部22が、符号化対象画像情報の各ブロック画像情報について、ステップSa6からステップSa9の処理を繰り返し行う(ループLa1s~La1e)。累積目標符号量算出部12は、符号化部3において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック目標符号量の累積値である累積目標符号量Tsumを算出する。
 累積発生符号量算出部13は、可変長符号化部33が出力するブロック発生符号量のうち、符号化部3において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック発生符号量の累積値である累積発生符号量Bsumを算出する(ステップSa6)。累積目標符号量Tsumを式で表すと次式(12)となり、累積発生符号量Bsumを式で表すと次式(13)となる。
Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000013
 式(13)において、B(i)は、i番目のブロック画像情報のブロック発生符号量である。
 符号量誤差算出部14は、累積発生符号量算出部13が出力する累積発生符号量Bsumと、累積目標符号量算出部12が出力する累積目標符号量Tsumとに基づいて、次式(14)により符号量誤差Dを算出して最終QP算出部16に出力する。
Figure JPOXMLDOC01-appb-M000014
 平均QP算出部15は、最終QP算出部16が出力するブロック画像情報毎のQPを取り込み、符号化部3において符号化対象となっているブロック画像情報の直前のブロック画像情報までのQPの平均値である平均QP(QPmean)を次式(15)に基づいて算出する(ステップSa7)。
Figure JPOXMLDOC01-appb-M000015
 最終QP算出部16は、次式(16)によりQPの補正値である補正QPをdeltaQPとして算出する(ステップSa8)。
Figure JPOXMLDOC01-appb-M000016
 式(16)において、BlkProc_cntは、可変長符号化部33が出力する符号化対象画像情報内の符号化済みブロック数である。また、deltaQPorgは、次式(17)に基づいて、符号量誤差算出部14が算出する符号量誤差Dから求められる値であり、kは調整パラメータ係数である。
Figure JPOXMLDOC01-appb-M000017
 最終QP算出部16は、平均QP算出部15が出力する平均QP(QPmean)と、算出した補正QP(deltaQP)とに基づいて、次式(18)により最終的なQPを算出して直交変換・量子化部32に出力する(ステップSa9)。
Figure JPOXMLDOC01-appb-M000018
 式(18)においてRound()の関数は、切り上げ、切り下げ、四捨五入等の丸め演算を行う関数を意味する。符号化部3は、符号量制御部1がブロック画像情報毎に出力するQPを用いて各ブロック画像情報の符号化を行い、全てのブロック画像情報の符号化が終了するまで処理を繰り返す。
 上記の第1の実施形態の構成により、量子化パラメータ推定部20は、画像情報と、符号化において要求する所望のピクチャ目標符号量とに基づいて、画像情報に適用する初期QPを推定する。符号量推定部21は、初期QPと、画像情報をブロックに分割したブロック画像情報とに基づいて、ブロック画像情報毎のブロック目標符号量を推定する。
 すなわち、上記の第1の実施形態の構成では、各ブロック画像情報に割り当てるブロック目標符号量の算出する際に、初期QP推定部10が、画像情報と、当該画像情報に対応するピクチャ目標符号量と、初期QPとの関係性を機械学習モデルを用いた学習処理により推定し、学習処理により得られた学習済みデータを当該関係性を示す関係性情報として予め生成しておく。また、ブロック目標符号量推定部11は、ブロック画像情報と、初期QPと、複雑度との関係性を機械学習モデルを用いた学習処理により推定し、学習処理により得られた学習済みデータを当該関係性を示す関係性情報として予め生成しておく。
 初期QP推定部10は、生成した関係性情報を用いて、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望のピクチャ目標符号量とから初期QPを算出する。ブロック目標符号量推定部11は、生成した関係性情報を用いて、符号化対象ブロック画像情報と、初期QPとからブロック目標符号量を算出する。したがって、符号化対象画像情報の特徴と、所望のピクチャ目標符号量とに応じたブロック目標符号量を算出することが可能となり、ブロック画像情報毎に適切なQPを割り当てることができる。それにより、符号化対象の画像情報の画質を均一に保ちつつ所望の符号量、例えば、所望のファイルサイズとするより正確な符号量の割り当てを行うことが可能となる。
 なお、第1の実施形態の符号量制御部1において、図5に示すように、量子化パラメータ推定部20と、符号量推定部21とを1つの符号量推定装置1Aとして構成するようにしてもよい。
(第2の実施形態)
 図6は、第2の実施形態における映像符号化装置Caの構成を示すブロック図である。第2の実施形態の映像符号化装置Caにおいて、第1の実施形態の映像符号化装置Cと同一の構成については、同一の符号を付し、以下、異なる構成について説明する。映像符号化装置Caは、符号量制御部1aと符号化部3aを備え、符号量制御部1aが出力するQPに従って符号化部3aが符号化対象の映像情報の符号化を行い、符号化データを出力する。
 符号化部3aは、GOP(Group Of Pictures)分割部41、ブロック分割部30、減算器31、直交変換・量子化部32、可変長符号化部33、逆量子化・逆直交変換部34、加算器35、イントラ予測部36、ループフィルタ部37、復号ピクチャメモリ部38、インター予測部39及びイントラ・インター切替スイッチ部40を備える。
 符号化部3aにおいて、GOP分割部41は、映像情報に含まれる複数の連続した画像情報を予め定められている条件に応じた所定の枚数毎に分割する。また、GOP分割部41は、分割した複数の画像情報のセットをGOPとしてGOP初期QP推定部17とGOP目標符号量推定部18に出力する。また、GOP分割部41は、GOPに含まれる画像情報の各々を符号化順にブロック分割部30と減算器19と初期QP推定部10aに出力する。
 減算器31は、ブロック分割部30が出力する符号化対象ブロック画像情報の各々の画素の画素値と、イントラ予測部36、またはインター予測部39が出力する予測画像情報の各々の画素の画素値との差を算出して差分ブロック画像情報を生成する。また、減算器31は、生成した差分ブロック画像情報をブロック目標符号量推定部11aと直交変換・量子化部32とに出力する。
 加算器35は、逆量子化・逆直交変換部34が出力する復号差分ブロック画像情報の各々の画素の画素値と、イントラ予測部36またはインター予測部39が出力する予測画像情報の各々の画素の画素値の和を算出して参照画像情報を生成する。また、加算器35は、生成した参照画像情報をイントラ予測部36とループフィルタ部37とに出力する。
 ループフィルタ部37は、加算器35が出力する参照画像情報にループフィルタを適用してインター予測用の参照画像情報を生成し、生成したインター予測用の参照画像情報を復号ピクチャメモリ部38に書き込んで記憶させる。復号ピクチャメモリ部38は、書込み可能なRAM(Random Access Memory)などの記憶デバイスであり、ループフィルタ部37が書き込むインター予測用の参照画像情報を記憶する。
 インター予測部39は、復号ピクチャメモリ部38に記憶されているインター予測用の参照画像情報を用いて符号化対象ブロック画像情報のインター予測による予測画像情報を生成する。
 イントラ・インター切替スイッチ部40は、符号化対象ブロック画像情報の予測モードに応じてスイッチを切り替え、減算器31及び加算器35を、イントラ予測部36、またはインター予測部39のいずれかに接続する。
 符号量制御部1aは、量子化パラメータ推定部20a、符号量推定部21a及び量子化パラメータ補正部22を備える。符号量制御部1aにおいて、量子化パラメータ推定部20aは、GOP初期QP推定部17、減算器19及び初期QP推定部10aを備える。
 量子化パラメータ推定部20aにおいて、GOP初期QP推定部17は、GOP分割部41が出力するGOPと、当該GOPに対して要求する所望の要求符号量であるビットレートと、当該GOPに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストとに基づいて、GOP初期QPを算出する。ここで、GOP初期QPとは、GOP毎に算出する初期QPの値であり、ある1つのGOPについて算出したGOP初期QPは、当該GOPに含まれる画像情報に共通して適用される値である。
 減算器19は、GOP分割部41が出力する画像情報の各々の画素の画素値と、復号ピクチャメモリ部38に記憶されている参照画像情報の各々の画素の画素値との差を算出して差分画像情報を生成し、生成した差分画像情報を初期QP推定部10aに出力する。
 初期QP推定部10aは、減算器19が出力する差分画像情報、またはGOP分割部41が出力する画像情報のいずれかである入力画像情報と、当該入力画像情報に対応するピクチャタイプと、GOP目標符号量推定部18が出力する当該入力画像情報に対応するピクチャ目標符号量とに基づいて、初期QPを算出する。
 符号量推定部21aは、GOP目標符号量推定部18と、ブロック目標符号量推定部11aとを備える。符号量推定部21aにおいて、GOP目標符号量推定部18は、GOP分割部41が出力するGOPと、GOP初期QP推定部17が出力するGOP初期QPと、当該GOPに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、ビットレートとに基づいて、GOPに含まれる画像情報毎のピクチャ目標符号量を算出する。
 ブロック目標符号量推定部11aは、減算器31が出力する差分ブロック画像情報、またはブロック分割部30が出力するブロック画像情報のいずれかである入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、初期QP推定部10aが出力する初期QPとに基づいて、符号化対象ブロック画像情報毎のブロック目標符号量を算出する。
 図7は、GOP初期QP推定部17の内部の構成を示すブロック図である。GOP初期QP推定部17は、例えば、機械学習モデルに従って、GOPを構成する複数の画像情報と、当該GOPに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、ビットレートと、GOP初期QPとの関係性を学習処理により推定し、推定した関係性を示す関係性情報を学習済みデータとして生成する。
 GOP初期QP推定部17は、符号化処理の運用時において、生成した関係性情報を用いて、GOP分割部41が出力する符号化対象のGOPと、当該符号化対象のGOPに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、当該符号化対象のGOPに対して要求する所望のビットレートとに基づいて、GOP初期QP(QPGOPinit)を算出する。
 GOP初期QP推定部17は、演算部300、切替部330、誤差算出部331、教師QP情報記憶部332及び学習処理部333を備える。演算部300は、GOP特徴抽出部310、全結合層320及び学習データ記憶部321を備える。
 学習データ記憶部321は、全結合層320の入出力ノード間の重み係数、GOP特徴抽出部310における畳み込み層部311-1~311-Nの演算の際に用いられるフィルタ係数等の学習データを記憶する。
 GOP特徴抽出部310は、GOP特徴抽出部310-1~310-Nを備える。GOP特徴抽出部310-1は、畳み込み層部311-1、ダウンサンプリング部312-1及び非線形変換部313-1を備える。GOP特徴抽出部310-2~310-Nは、GOP特徴抽出部310-1と同一の内部構成を有しており、各々が、畳み込み層部311-2~311-N、ダウンサンプリング部312-2~312-N及び非線形変換部313-2~313-Nを備える。
 畳み込み層部311-1~311-Nは、入力情報に対して、学習データ記憶部321に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部312-1~312-Nは、各々に対応する畳み込み層部311-1~311-Nが出力する情報に対してダウンサンプリングを行う。非線形変換部313-1~313-Nは、各々に対応するダウンサンプリング部312-1~312-Nが出力する情報に対して非線形変換処理を行う。
 すなわち、GOP特徴抽出部310は、GOPに含まれる各画像情報をチャネルとみなして取り込み、チャネル毎に畳み込み演算、ダウンサンプリング及び非線形変換処理をN回繰り返してGOPの特徴量を算出する。なお、Nの値は、1以上の整数である。
 全結合層320は、1つの出力ノードと、複数の入力ノードとを有しており、GOP特徴抽出部310が出力する特徴量を取り込む入力ノードと、ビットレートが与えられる入力ノードと、GOPに含まれる各画像情報のピクチャタイプをリスト化したピクチャタイプリストが与えられる入力ノードとを出力ノードに全結合する。
 また、全結合層320は、GOP特徴抽出部310が出力する特徴量と、ビットレートと、ピクチャタイプリストとに対して学習データ記憶部321に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
 切替部330は、スイッチを備えており、学習処理を行う際、全結合層320の出力端子を誤差算出部331に接続する端子に接続し、符号化処理の運用時には、全結合層320の出力端子をGOP目標符号量推定部18に接続する端子に接続する。
 教師QP情報記憶部332は、教師情報としてのQPの情報を予め記憶する。誤差算出部331は、切替部330が出力する全結合層320の出力値と、教師QP情報記憶部332に記憶されている教師情報との誤差を算出する。また、誤差算出部331は、算出した誤差が予め定められる閾値以下となった場合、切替部330に対して指示情報を出力してスイッチを切り替えさせ、全結合層320の出力端子をGOP目標符号量推定部18に接続する端子に接続させる。
 学習処理部333は、誤差算出部331が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部321に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
 図8は、GOP目標符号量推定部18の内部の構成を示すブロック図である。GOP目標符号量推定部18は、例えば、機械学習モデルに従って、GOPを構成する複数の画像情報と、当該GOPに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、GOP初期QPと、ピクチャ複雑度との関係性を学習処理により推定し、推定した関係性を示す情報を学習済みモデルとして生成する。ここで、ピクチャ複雑度とは、GOPに含まれる画像情報の各々をGOP初期QPで符号化した際に発生する発生符号量のことである。
 GOP目標符号量推定部18は、符号化処理の運用時において、生成した関係性情報を用いて、GOP分割部41が出力する符号化対象のGOPと、当該符号化対象のGOPに含まれる画像情報のピクチャタイプをリスト化したピクチャタイプリストと、GOP初期QP推定部17が出力するGOP初期QPと、当該符号化対象のGOPに対して要求する所望のビットレートとに基づいて、GOPに含まれる画像情報毎のピクチャ目標符号量を算出する。
 GOP目標符号量推定部18は、演算部400、切替部430、誤差算出部431、教師複雑度情報記憶部432、学習処理部433及び符号量算出部434を備える。演算部400は、GOP特徴抽出部410、全結合層420及び学習データ記憶部421を備える。
 学習データ記憶部421は、全結合層420の入出力ノード間の重み係数、GOP特徴抽出部410における畳み込み層部411-1~411-Nの演算の際に用いられるフィルタ係数等の学習データを記憶する。
 GOP特徴抽出部410は、GOP特徴抽出部410-1~410-Nを備える。GOP特徴抽出部410-1は、畳み込み層部411-1、ダウンサンプリング部412-1及び非線形変換部413-1を備える。GOP特徴抽出部410-2~410-Nは、GOP特徴抽出部410-1と同一の内部構成を有しており、各々が、畳み込み層部411-2~411-N、ダウンサンプリング部412-2~412-N及び非線形変換部413-2~413-Nを備える。
 畳み込み層部411-1~411-Nは、入力情報に対して、学習データ記憶部421に記憶されるフィルタ係数を適用して、畳み込み演算を行う。ダウンサンプリング部412-1~412-Nは、各々に対応する畳み込み層部411-1~411-Nが出力する情報に対してダウンサンプリングを行う。非線形変換部413-1~413-Nは、各々に対応するダウンサンプリング部412-1~412-Nが出力する情報に対して非線形変換処理を行う。
 すなわち、GOP特徴抽出部410はGOPに含まれる各画像情報をチャネルとみなして取り込み、チャネル毎に畳み込み演算、ダウンサンプリング及び非線形変換処理をN回繰り返してGOPの特徴量を算出する。なお、Nの値は、1以上の整数である。
 全結合層420は、1つの出力ノードと、複数の入力ノードとを有しており、GOP特徴抽出部410が出力する特徴量を取り込む入力ノードと、ピクチャタイプリストが与えられる入力ノードと、初期QPが与えられる入力ノードとを出力ノードに全結合する。また、全結合層420は、GOP特徴抽出部410が出力する特徴量と、初期QPとに対して学習データ記憶部421に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
 符号量算出部434は、GOPに含まれる画像情報及び当該画像情報に対応するピクチャタイプを入力情報として与えた際の全結合層420が出力する出力値の各々を画像情報毎のピクチャ複雑度Xpic(j)とし、当該ピクチャ複雑度Xpic(j)と、ビットレートとに基づいて、各画像情報のピクチャ目標符号量Tpic(j)を次式(19)により算出する。
Figure JPOXMLDOC01-appb-M000019
 式(19)において、GOP_rateは、ビットレートをGOPに換算した際のレートであり、GOP_cntは、GOPに含まれる画像情報の数である。また、符号量算出部434は、算出した各画像情報のピクチャ目標符号量Tpic(j)を初期QP推定部10aに出力する。
 切替部430は、スイッチを備えており、学習処理を行う際、全結合層420の出力端子を誤差算出部431に接続する端子に接続し、符号化処理の運用時には、全結合層420の出力端子を符号量算出部434に接続する端子に接続する。
 教師複雑度情報記憶部432は、教師情報としてのピクチャ複雑度を予め記憶する。誤差算出部431は、切替部430が出力する符号量算出部434の出力値と、教師複雑度情報記憶部432に記憶されている教師情報との誤差を算出する。また、誤差算出部431は、算出した誤差が予め定められる閾値以下となった場合、切替部430に対して指示情報を出力してスイッチを切り替えさせ、全結合層420の出力端子を符号量算出部434に接続する端子に接続させる。
 学習処理部433は、誤差算出部431が算出した誤差に基づいて、当該誤差を小さくするように新たな学習データを算出し、学習データ記憶部421に記憶されている学習データを、算出した学習データに書き換えて更新する。誤差を小さくする演算手法としては、例えば、誤差逆伝播法等が適用される。
 図9は、初期QP推定部10aの内部の構成を示すブロック図である。第1の実施形態の初期QP推定部10と同一の構成については同一の符号を付し、以下、異なる構成について説明する。
 初期QP推定部10aは、例えば、機械学習モデルに従って、画像情報または差分画像情報のいずれかである入力画像情報と、当該入力画像情報に対応するピクチャタイプと、ピクチャ目標符号量と、初期QPとの関係性を学習処理により推定し、推定した関係性を示す関係性情報を学習済みモデルとして生成する。
 初期QP推定部10は、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象の入力画像情報と、当該符号化対象の入力画像情報のピクチャタイプと、GOP目標符号量推定部18が出力するピクチャ目標符号量とに基づいて、初期QPを算出する。
 初期QP推定部10aは、演算部100a、切替部130、誤差算出部131、教師QP情報記憶部132、学習処理部133及び画像選択部134を備える。演算部100aは、特徴抽出部110、全結合層120a及び学習データ記憶部121を備える。
 全結合層120aは、1つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部110が出力する特徴量を取り込む入力ノードと、ピクチャタイプが与えられる入力ノードと、ピクチャ目標符号量が与えられる入力ノードとを出力ノードに全結合する。また、全結合層120aは、特徴抽出部110が出力する特徴量と、ピクチャタイプと、ピクチャ目標符号量とに対して学習データ記憶部121に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
 画像選択部134は、画像情報のピクチャタイプが、Pピクチャ、またはBピクチャの場合、減算器19が出力する差分画像情報を選択し、選択した差分画像情報を入力画像情報として演算部100aに出力する。また、画像選択部134は、画像情報のピクチャタイプが、Iピクチャの場合、GOP分割部41が出力する画像情報を選択し、選択した画像情報を入力画像情報として演算部100aに出力する。
 図10は、ブロック目標符号量推定部11aの内部の構成を示すブロック図である。第1の実施形態のブロック目標符号量推定部11と同一の構成については同一の符号を付し、以下、異なる構成について説明する。
 ブロック目標符号量推定部11aは、例えば、機械学習モデルに従って、ブロック画像情報または差分ブロック画像情報のいずれかである入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、初期QPと、複雑度との関係性を学習処理により推定し、推定した関係性を示す情報を学習済みモデルとして生成する。
 ブロック目標符号量推定部11aは、符号化処理の運用時において、生成した関係性情報を用いて、符号化対象の入力ブロック画像情報と、当該符号化対象の入力ブロック画像情報のピクチャタイプと、初期QP推定部10aが出力する初期QPと、GOP目標符号量推定部18が出力するピクチャ目標符号量とに基づいて、ブロック目標符号量を算出する。
 ブロック目標符号量推定部11aは、演算部200a、切替部230、誤差算出部231、教師複雑度情報記憶部232、学習処理部233、符号量算出部234及びブロック画像選択部235を備える。演算部200aは、特徴抽出部210、全結合層220a及び学習データ記憶部221を備える。
 全結合層220aは、1つの出力ノードと、複数の入力ノードとを有しており、特徴抽出部210が出力する特徴量を取り込む入力ノードと、ピクチャタイプが与えられる入力ノードと、初期QPが与えられる入力ノードとを出力ノードに全結合する。また、全結合層220aは、特徴抽出部210が出力する特徴量と、ピクチャタイプと、初期QPとに対して学習データ記憶部221に記憶される重み係数を乗じる演算を行い、演算した結果に基づく出力値を出力する。
 符号量算出部234は、全結合層220が出力する出力値をブロック画像情報の複雑度X(j)とし、当該複雑度X(j)と、GOP目標符号量推定部18が出力するピクチャ目標符号量Tpic(j)とに基づいて、ブロック画像情報の目標符号量T(j)を次式(20)により算出する。
Figure JPOXMLDOC01-appb-M000020
 式(20)において、Blk_cntは、対象としているブロック画像情報を含む画像情報に含まれるブロック数である。
 ブロック画像選択部235は、対象のブロック画像情報を含む画像情報のピクチャタイプが、Pピクチャ、またはBピクチャの場合、減算器31が出力する差分ブロック画像情報を選択し、選択した差分ブロック画像情報を入力ブロック画像情報として演算部200aに出力する。また、ブロック画像選択部235は、画像情報のピクチャタイプが、Iピクチャの場合、ブロック分割部30が出力するブロック画像情報を選択し、選択したブロック画像情報を入力ブロック画像情報として演算部200aに出力する。
(第2の実施形態におけるQP算出処理)
 次に、符号量制御部1aによるQPの算出処理について説明する。図11は、QPの算出処理の流れを示すフローチャートである。図11に示す処理は、学習処理と符号化処理に分かれており、ステップSb1~Sb4における学習処理が完了して学習済みデータを生成した後、ステップSb5以降の処理において映像符号化装置Caは、符号化対象の映像情報を取り込んで符号化処理を行う。GOP初期QP推定部17は、GOPと、ビットレートと、ピクチャタイプリストと、GOP初期QPとの関係性を示す関係性情報を学習処理により生成する(ステップSb1)。
 GOP初期QP推定部17に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用のGOPの確率分布情報と、当該GOPに対応するビットレートの確率分布情報と、当該GOPに対応するピクチャタイプリストの確率分布情報とを入力情報として用意しておく。また、当該GOPを符号化した際に、対応するビットレートに最も近くなるQPの確率分布情報を教師情報として用意しておく。
 QPの確率分布情報を教師情報として教師QP情報記憶部332に記憶させておき、切替部330のスイッチを全結合層320の出力端子が、誤差算出部331に接続する端子に接続するように切り替えておく。GOP特徴抽出部310が、学習用のGOPの確率分布情報を取り込み、全結合層320が、学習用のビットレートとピクチャタイプリストの確率分布情報を取り込むことによりGOP初期QP推定部17は、学習処理を開始する。
 誤差算出部331が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部331が指示情報を切替部330に出力する。切替部330は、当該指示情報を受けてスイッチを切り替え、全結合層320の出力端子の接続先をGOP目標符号量推定部18とする。このタイミングで、学習データ記憶部321に記憶されている学習済みデータが、上述したGOPと、当該GOPに対応するビットレートと、当該GOPに対応するピクチャタイプリストと、GOP初期QPとの関係性を示す関係性情報となる。
 GOP目標符号量推定部18は、GOPと、ピクチャタイプリストと、GOP初期QPと、ピクチャ複雑度との関係性を示す関係性情報を学習処理により生成する(ステップSb2)。
 GOP目標符号量推定部18に対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用のGOPの確率分布情報と、当該GOPに対応するピクチャタイプリストの確率分布情報と、当該GOPに対応するGOP初期QPの確率分布情報とを入力情報として用意しておく。また、当該GOPに含まれる画像情報の各々を、対応するGOP初期QPで符号化した際のピクチャ複雑度の確率分布情報を教師情報として用意しておく。
 ピクチャ複雑度の確率分布情報を教師情報として教師複雑度情報記憶部432に記憶させておき、切替部430のスイッチを全結合層420の出力端子が、誤差算出部431に接続する端子に接続するように切り替えておく。GOP特徴抽出部410が、学習用のGOPの確率分布情報を取り込み、全結合層420が、学習用のピクチャタイプリストと初期QPの確率分布情報を取り込むことによりGOP目標符号量推定部18は、学習処理を開始する。
 誤差算出部431が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部431が指示情報を切替部430に出力する。切替部430は、当該指示情報を受けてスイッチを切り替え、全結合層420の出力端子の接続先を符号量算出部434にする。このタイミングで、学習データ記憶部421に記憶されている学習済みデータが、上述したGOPと、当該GOPに対応するピクチャタイプリストと、当該GOPに対応するGOP初期QPと、ピクチャ複雑度との関係性を示す関係性情報となる。
 初期QP推定部10aは、画像情報及び差分画像情報と、ピクチャタイプと、ピクチャ目標符号量と、初期QPとの関係性を示す関係性情報を学習処理により生成する(ステップSb3)。
 初期QP推定部10aに対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用の入力画像情報の確率分布情報と、当該入力画像情報に対応するピクチャタイプの確率分布情報と、当該入力画像情報に対応するピクチャ目標符号量の確率分布情報とを入力情報として用意しておく。また、当該入力画像情報に対応する画像情報を符号化した際に、対応するピクチャ目標符号量に最も近くなるQPの確率分布情報を教師情報として用意しておく。
 QPの確率分布情報を教師情報として教師QP情報記憶部132に記憶させておき、切替部130のスイッチを全結合層120aの出力端子が、誤差算出部131に接続する端子に接続するように切り替えておく。画像選択部134が、ピクチャタイプに従って画像情報、または差分画像情報のいずれかを入力画像情報として特徴抽出部110に出力する。特徴抽出部110が、画像選択部134が出力する学習用の入力画像情報の確率分布情報を取り込み、全結合層120aが、学習用のピクチャタイプリストとピクチャ目標符号量の確率分布情報を取り込むことにより初期QP推定部10aは、学習処理を開始する。
 誤差算出部131が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部131が指示情報を切替部130に出力する。切替部130は、当該指示情報を受けてスイッチを切り替え、全結合層120aの出力端子の接続先をブロック目標符号量推定部11aとする。このタイミングで、学習データ記憶部121に記憶されている学習済みデータが、上述した入力画像情報と、当該入力画像情報に対応するピクチャタイプと、当該入力画像情報に対応するピクチャ目標符号量と、初期QPとの関係性を示す関係性情報となる。
 ブロック目標符号量推定部11aは、ブロック画像情報と、当該ブロック画像情報に対応するピクチャタイプと、当該ブロック画像情報に対応する初期QPと、複雑度との関係性を示す関係性情報を学習処理により生成する(ステップSb4)。
 ブロック目標符号量推定部11aに対して、学習済みデータ、すなわち関係性情報を生成する学習処理を行わせるために、事前に、学習用の入力ブロック画像情報の確率分布情報と、当該入力ブロック画像情報に対応するピクチャタイプの確率分布情報と、当該入力ブロック画像情報に対応する初期QPの確率分布情報とを入力情報として用意しておく。また、当該入力ブロック画像情報に対応するブロック画像情報を、対応する初期QPで符号化した際の複雑度の確率分布情報を教師情報として用意しておく。
 複雑度の確率分布情報を教師情報として教師複雑度情報記憶部232に記憶させておき、切替部230のスイッチを符号量算出部234の出力端子が、誤差算出部231に接続する端子に接続するように切り替えておく。ブロック画像選択部235が、ピクチャタイプに従ってブロック画像情報、または差分ブロック画像情報のいずれかを入力ブロック画像情報として特徴抽出部210に出力する。特徴抽出部210が、ブロック画像選択部235が出力する学習用の入力ブロック画像情報の確率分布情報を取り込み、全結合層220aが、学習用のピクチャタイプと初期QPの確率分布情報を取り込むことによりブロック目標符号量推定部11aは、学習処理を開始する。
 誤差算出部231が算出する誤差が、例えば、予め定められる閾値以下となった場合、学習処理を終了し、誤差算出部231が指示情報を切替部230に出力する。切替部230は、当該指示情報を受けてスイッチを切り替え、全結合層220aの出力端子の接続先を累積目標符号量算出部12とする。このタイミングで、学習データ記憶部221に記憶されている学習済みデータが、上述した入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、当該入力ブロック画像情報に対応する初期QPと、複雑度との関係性を示す関係性情報となる。
 映像符号化装置Caは、符号化対象の映像情報と、当該符号化対象の映像情報に要求するビットレートと、当該符号化対象の映像情報のGOPの構成に対応するピクチャタイプリストとを取り込む(ステップSb5)。符号量制御部1aは、符号化対象の映像情報に要求するビットレートと、当該符号化対象の映像情報のGOPの構成に対応するピクチャタイプリストとを取り込むと、ステップSb6、ステップSb7及びループLb2s~Lb2eの処理を映像情報に含まれる各GOPについて繰り返し行う(ループLb1s~Lb1e)。
 GOP初期QP推定部17の演算部300が、GOP分割部41が出力する符号化対象のGOPと、ビットレート及びピクチャタイプリストとを取り込む。GOP特徴抽出部310は、学習データ記憶部321に記憶されている学習済みデータを用いて、取り込んだ符号化対象のGOPの特徴量を算出する。全結合層320は、GOP特徴抽出部310が出力する特徴量と、ビットレートと、ピクチャタイプと、学習データ記憶部121に記憶されている学習済みデータとに基づいて、GOP初期QPを算出する。GOP初期QP推定部17は、算出したGOP初期QPをGOP目標符号量推定部18に出力する(ステップSb6)。
 GOP目標符号量推定部18は、GOP分割部41が出力する符号化対象のGOPと、GOP初期QP推定部17が出力するGOP初期QPと、ピクチャタイプリストとを取り込む。GOP目標符号量推定部18の演算部400が、符号化対象のGOPと、当該GOPに対応するGOP初期QPと、当該GOPに対応するピクチャタイプリストとを取り込む。
 GOP特徴抽出部410は、学習データ記憶部421に記憶されている学習済みデータを用いて、取り込んだGOPの特徴量を算出する。全結合層420は、GOP特徴抽出部410が出力する特徴量と、ピクチャタイプリストと、GOP初期QPと、学習データ記憶部421に記憶されている学習済みデータとに基づいて、符号化対象のGOPに含まれる符号化対象画像情報毎のピクチャ目標符号量を算出する。GOP目標符号量推定部18は、算出した符号化対象画像情報毎のピクチャ目標符号量を初期QP推定部10aに出力する(ステップSb7)。
 符号量制御部1aの初期QP推定部10a及びブロック目標符号量推定部11aは、ステップSb8、ステップSb9及びループLb3s~Lb3eの処理をGOPに含まれる各符号化対象画像情報について繰り返し行う(ループLb2s~Lb2e)。
 初期QP推定部10aが、GOP分割部41が出力する符号化対象画像情報、または減算器19が出力する符号化対象画像情報と参照画像情報の差分である符号化対象の差分画像情報と、当該符号化対象画像情報に対応するピクチャタイプと、GOP目標符号量推定部18が出力する当該符号化対象画像情報に対応するピクチャ目標符号量とを取り込む。
 画像選択部134は、ピクチャタイプに従って、符号化対象画像情報、または符号化対象差分画像情報のいずれかを符号化対象の入力画像情報として特徴抽出部110に出力する。特徴抽出部110は、学習データ記憶部121に記憶されている学習済みデータを用いて、画像選択部134が出力する符号化対象の入力画像情報の特徴量を算出する。
 全結合層120aは、特徴抽出部110が出力する特徴量と、ピクチャタイプと、ピクチャ目標符号量と、学習データ記憶部121に記憶されている学習済みデータとに基づいて、初期QPを算出する。初期QP推定部10aは、算出した初期QPをブロック目標符号量推定部11aに出力する(ステップSb8)。
 ブロック目標符号量推定部11aは、ブロック分割部30が出力する符号化対象ブロック画像情報、または減算器31が出力する符号化対象ブロック画像情報と参照ブロック画像情報の差分である差分ブロック画像情報と、当該符号化対象ブロック画像情報のピクチャタイプと、初期QP推定部10aが出力する初期QPとを取り込む。
 ブロック画像選択部235は、ピクチャタイプに従って、符号化対象ブロック画像情報、または符号化対象差分ブロック画像情報のいずれかを入力ブロック画像情報として特徴抽出部210に出力する。特徴抽出部210は、学習データ記憶部221に記憶されている学習済みデータを用いて、ブロック画像選択部235が出力する符号化対象の入力ブロック画像情報の特徴量を算出する。
 全結合層220aは、特徴抽出部210が出力する特徴量と、初期QPと、学習データ記憶部221に記憶されている学習済みデータとに基づいて、ブロック目標符号量を算出する。ブロック目標符号量推定部11aは、算出したブロック目標符号量を累積目標符号量算出部12に出力する(ステップSb9)。
 以下、量子化パラメータ補正部22が、符号化対象画像情報の各ブロック画像情報について、ステップSb10からステップSb13の処理を繰り返し行う(ループLb3s~Lb3e)。累積目標符号量算出部12は、符号化部3において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック目標符号量の累積値である累積目標符号量Tsumを算出する。
 累積発生符号量算出部13は、可変長符号化部33が出力するブロック発生符号量のうち、符号化部3において符号化対象となっているブロック画像情報の直前のブロック画像情報までのブロック発生符号量の累積値である累積発生符号量Bsumを算出する(ステップSb10)。累積目標符号量Tsumを式で表すと次式(21)となり、累積発生符号量Bsumを式で表すと次式(22)となる。
Figure JPOXMLDOC01-appb-M000021
Figure JPOXMLDOC01-appb-M000022
 式(22)において、B(i)は、i番目のブロック画像情報のブロック発生符号量である。
 符号量誤差算出部14は、累積発生符号量算出部13が出力する累積発生符号量Bsumと、累積目標符号量算出部12が出力する累積目標符号量Tsumとに基づいて、次式(23)により符号量誤差Dを算出して最終QP算出部16に出力する。
Figure JPOXMLDOC01-appb-M000023
 平均QP算出部15は、最終QP算出部16が出力するブロック画像情報毎のQPを取り込み、符号化部3において符号化対象となっているブロック画像情報の直前のブロック画像情報までのQPの平均値である平均QPを次式(24)に基づいて算出する(ステップSb11)。
Figure JPOXMLDOC01-appb-M000024
 最終QP算出部16は、次式(25)により補正QPであるdeltaQPを算出する(ステップSb12)。
Figure JPOXMLDOC01-appb-M000025
 式(25)において、BlkProc_cntは、可変長符号化部33が出力する符号化対象画像情報内の符号化済みブロック数である。また、deltaQPorgは、次式(26)に基づいて、符号量誤差算出部14が算出する符号量誤差Dから求められる値であり、kは調整パラメータ係数である。
Figure JPOXMLDOC01-appb-M000026
 最終QP算出部16は、平均QP算出部15が出力する平均QP(QPmean)と、算出した補正QP(deltaQP)とに基づいて、次式(27)により最終的なQPを算出して直交変換・量子化部32に出力する(ステップSb13)。
Figure JPOXMLDOC01-appb-M000027
 式(27)においてRound()の関数は、切り上げ、切り下げ、四捨五入等の丸め演算を行う関数を意味する。符号化部3aは、符号量制御部1aがブロック画像情報毎に出力するQPを用いて各ブロック画像情報の符号化を行い、全てのブロック画像情報の符号化が終了するまで処理を繰り返す。
 なお、第2の実施形態の符号量制御部1aにおいて、図12に示すように、量子化パラメータ推定部20aと、符号量推定部21aとを1つの符号量推定装置1Aaとして構成するようにしてもよい。
 また、上記の第2の実施形態の構成では、初期QP推定部10aの画像選択部134は、Pピクチャ、またはBピクチャの場合、差分画像情報を選択し、Iピクチャの場合、画像情報を選択するようにしている。また、ブロック目標符号量推定部11aのブロック画像選択部235は、Pピクチャ、またはBピクチャの場合、差分ブロック画像情報を選択し、Iピクチャの場合、ブロック画像情報を選択するようにしている。しかしながら、本発明の構成は、当該実施の形態に限られない。例えば、図13に示すような映像符号化装置Cbを構成し、初期QP推定部10bは、ピクチャタイプに関わらず、画像情報のみを上述した入力画像情報として処理を行うようにしてもよいし、ブロック目標符号量推定部11bも、ピクチャタイプに関わらず、ブロック画像情報のみを上述した入力ブロック画像情報として処理を行うようにしてもよい。なお、この場合、初期QP推定部10bの構成は、初期QP推定部10aから画像選択部134を除いた構成となり、ブロック目標符号量推定部11bの構成は、ブロック目標符号量推定部11aからブロック画像選択部235を除いた構成となる。
 上記の第2の実施形態の構成により、量子化パラメータ推定部20aは、画像情報と、符号化において要求する所望のピクチャ目標符号量とに基づいて、画像情報に適用する初期QPを推定する。符号量推定部21aは、初期QPと、画像情報をブロックに分割したブロック画像情報とに基づいて、ブロック画像情報毎のブロック目標符号量を推定する。
 すなわち、上記の第2の実施形態の構成により、映像情報に含まれる各画像情報に割り当てるピクチャ目標符号量を算出する際に、GOP初期QP推定部17が、GOPと、ビットレートと、ピクチャタイプと、GOP初期QPとの関係性を機械学習モデルを用いた学習処理により推定し、学習処理により得られた学習済みデータを当該関係性を示す関係性情報として予め生成しておく。また、GOP目標符号量推定部18は、GOPと、ピクチャタイプと、GOP初期QPと、ピクチャ複雑度との関係性を機械学習モデルを用いた学習処理により推定し、学習処理により得られた学習済みデータを当該関係性を示す関係性情報として予め生成しておく。初期QP推定部10aが、入力画像情報と、ピクチャタイプと、ピクチャ目標符号量と、初期QPとの関係性を機械学習モデルを用いた学習処理により推定し、学習処理により得られた学習済みデータを当該関係性を示す関係性情報として予め生成しておく。また、ブロック目標符号量推定部11aは、入力ブロック画像情報と、ピクチャタイプと、初期QPと、複雑度との関係性を機械学習モデルを用いた学習処理により推定し、学習処理により得られた学習済みデータを当該関係性を示す関係性情報として予め生成しておく。
 GOP初期QP推定部17は、生成した関係性情報を用いて、符号化対象のGOPと、当該GOPに対応するビットレートと、当該GOPに対応するピクチャタイプリストとからGOP初期QPを算出する。GOP目標符号量推定部は、生成した関係性情報を用いて、符号化対象のGOPと、当該GOPに対応するピクチャタイプリストと、GOP初期QP推定部17が出力するGOP初期QPとから符号化対象のGOPに含まれる符号化対象画像情報毎のピクチャ目標符号量を算出する。初期QP推定部10aは、予め生成した関係性情報を用いて、符号化対象の入力画像情報と、当該入力画像情報に対応するピクチャタイプと、当該入力画像情報に対応するピクチャ目標符号量とから初期QPを算出する。ブロック目標符号量推定部11aは、予め生成した関係性情報を用いて、符号化対象の入力ブロック画像情報と、当該入力ブロック画像情報に対応するピクチャタイプと、初期QPとからブロック目標符号量を算出する。
 したがって、符号化対象のGOPの特徴と、ビットレートに応じたピクチャ目標符号量を算出することができ、更に、当該ピクチャ目標符号量と、符号化対象画像情報の特徴とに応じたブロック目標符号量を算出することが可能となり、GOP単位での適切な符号量制御ができるとともに、ブロック画像情報毎に適切なQPを割り当てることができる。それにより、符号化対象の画像情報の画質を均一に保ちつつ所望の符号量、例えば、所望のビットレートとするより正確な符号量の割り当てを行うことが可能となる。
 なお、上記の第1及び第2の実施形態において、平均QP算出部15は、最初のブロック画像情報については、初期QP推定部10,10aが出力する初期QPを初期値として取り込み、平均QPに替えて、取り込んだ初期QPをそのまま最終QP算出部16に出力する。また、最初のブロック画像情報の場合、符号量誤差算出部14は、符号量誤差D=0として出力するため、式(17)及び式(26)によりdeltaQPorg=0となる。式(16)及び式(25)の2項目は、deltaQPorgが「0」であり、更に、符号化済みブロック数BlkProc_cntも「0」となる。そのため、最初のブロック画像情報については、最終QP算出部16は、deltaQP=0とする。したがって、最終QP算出部16は、式(18)及び式(27)に基づいて、最初のブロック画像情報に適用するQPを初期QP(QPinit)とする。
 また、上記の第1及び第2の実施形態において、学習処理は並列に行われてもよいため、図4のフローチャートのステップSa1及びSa2が並列に行われてもよく、また、図11のステップSb1,Sb2,Sb3,及びSb4が並列に行われてもよい。また、図2、図3、図7~図10における特徴抽出部110,210及びGOP特徴抽出部310,410の個数であるNは、1以上の整数であれば各々が異なる値であってもよい。
(第3の実施形態)
 図14は、第3の実施形態における映像符号化装置Ccの構成を示すブロック図である。第3の実施形態の映像符号化装置Ccにおいて、第1の実施形態の映像符号化装置Cと同一の構成については、同一の符号を付し、以下、異なる構成について説明する。映像符号化装置Ccは、符号量制御部1c及び符号化部3を備え、符号量制御部1cが出力するQPに従って符号化部3が符号化対象の映像情報の符号化を行い、符号化データを出力する。
 符号量制御部1cは、量子化パラメータ推定部20c、符号量推定部21c及び量子化パラメータ補正部22を備える。
 量子化パラメータ推定部20cは、初期QP推定部10cを備える。
 符号量推定部21cは、ブロック目標符号量推定部11cを備える。
 ブロック目標符号量推定部11cは、ブロック分割部30によって分割された符号化対象ブロック画像情報を取得すると、選択可能な全てのQPに対するブロック推定符号量X(j,qp)を算出する。このブロック推定符号量X(j,qp)は、各ブロック画像の入力に対して、選択可能な全てのQPに対する複雑度を示す値である。ブロック目標符号量推定部11cは、算出したブロック推定符号量X(j,qp)を、初期QP推定部10cへ出力する。
 初期QP推定部10cは、ブロック目標符号量推定部11cから、選択可能な全てのQPに対するブロック推定符号量X(j,qp)を取得する。初期QP推定部10cは、取得したブロック推定符号量X(j,qp)に基づいて、以下の式(28)により初期QP(QPinit)を算出する。
Figure JPOXMLDOC01-appb-M000028
 初期QP推定部10cは、算出した初期QP(QPinit)を、ブロック目標符号量推定部11c及び平均QP算出部15へ出力する。
 ブロック目標符号量推定部11cは、初期QP推定部10cから、初期QP(QPinit)を取得する。ブロック目標符号量推定部11cは、取得した初期QP(QPinit)に基づいて、各ブロックの目標符号量を算出する。ブロック目標符号量推定部11cは、推定した各ブロックの目標符号量を累積目標符号量算出部12へ出力する。
 図15は、ブロック目標符号量推定部11cの内部の構成を示すブロック図である。
図3に示した第1の実施形態のブロック目標符号量推定部11の内部の構成との違いは以下の通りである。第1の実施形態におけるブロック目標符号量推定部11では全結合層220へ初期QPが入力されるが、第3の実施形態におけるブロック目標符号量推定部11cでは全結合層220cへ初期QPは入力されない。また、第1の実施形態におけるブロック目標符号量推定部11では全結合層220の出力数が1つであるが、第3の実施形態におけるブロック目標符号量推定部11cでは全結合層220cの出力数が、選択可能な全てのQPの数に相当する出力数であり、符号量算出部234へ出力されるブロック目標符号量が初期QPに対応する出力値である。
 ブロック目標符号量推定部11cによる機械学習の学習方法は以下の通りである。図3を参照しながら説明した、第1の実施形態におけるブロック目標符号量推定部11cによる機械学習の学習方法と同様に、ブロック画像情報、QP及び符号量をセットとする学習データが予め用意される。学習データは、1つのブロック画像情報に対して、全QPと、全QPでそれぞれ符号化された場合における各符号量と、が組となったデータである。学習データは、それらの組が、複数のブロック画像情報のサンプルごとに、データベース化されたものである。なお、学習データは、上記の構成に限られるものではなく、例えば、1つのブロック画像情報に対して少なくとも1つのQPで符号化された場合における各符号量が組となったデータであってもよい。
 ブロック目標符号量推定部11cは、例えば、ブロック画像情報をニューラルネットワークに入力して順伝播させた後に、入力したQPに対応する出力ユニットのみについて出力値と入力符号量の誤差を算出して逆伝播させることにより、機械学習を行う。なお、順伝播及び逆伝播は、複数のサンプル単位でまとめて行われるようにしてもよい。
(第3の実施形態におけるQP算出処理)
 次に、符号量制御部1cによるQPの算出処理について説明する。図16は、QPの算出処理の流れを示すフローチャートである。図16に示す処理は、学習処理と符号化処理とに分かれている。図16に示す処理では、ステップSc1における学習処理が完了して学習済みデータが生成された後、ステップSc2以降の処理において符号化対象の画像情報を取り込まれて符号化処理が行われる。
 ブロック目標符号量推定部11cは、ブロック画像情報と、当該ブロック画像情報に対応する初期QPと、複雑度との関係性を示す関係性情報と、が対応付けられた学習データを学習処理により生成する(ステップSc1)。
 映像符号化装置Ccは、符号化対象画像情報と、当該符号化対象画像情報に対して要求する所望のピクチャ目標符号量とを取り込む(ステップSc2)。
 ブロック目標符号量推定部11cは、ブロック画像情報が入力されると、選択可能な全てのQPに対するブロック推定符号量X(j,qp)を算出する。ブロック目標符号量推定部11cは、算出したブロック推定符号量X(j,qp)を、初期QP推定部10cへ出力する(ステップSc3)。
 初期QP推定部10cは、ブロック目標符号量推定部11cから、選択可能な全てのQPに対するブロック推定符号量X(j,qp)を取得する。初期QP推定部10cは、取得したブロック推定符号量X(j,qp)を用いて、上記の式(28)により、初期QP(QPinit)を算出する。
 初期QP推定部10cは、算出した初期QP(QPinit)を、ブロック目標符号量推定部11c及び平均QP算出部15へ出力する(ステップSc4)。
 ブロック目標符号量推定部11cは、初期QP推定部10cから、初期QP(QPinit)を取得する。ブロック目標符号量推定部11cは、取得した初期QP(QPinit)に基づいて、各ブロックの目標符号量X(j,QPinit)を算出する。ブロック目標符号量推定部11cは、推定した各ブロックの目標符号量X(j,QPinit)を、累積目標符号量算出部12へ出力する(ステップSc5)。
 以下、量子化パラメータ補正部22が、符号化対象画像情報の各ブロック画像情報について、ステップSc6からステップSc9の処理を繰り返し行う(ループLc1s~Lc1e)。ステップSc6からステップSc9の処理の内容は、第1の実施形態において図4を参照しながら説明した、ステップSa6からステップSa9の処理の内容と同様である。
 上記の第3の実施形態の構成により、ブロック目標符号量推定部11c(符号量推定部)は、推定対象画像(第一の画像情報)におけるブロック画像情報(第一符号量推定領域)と、ブロック画像情報と選択可能な全てのQP(予め定められた複数の第一量子化パラメータ)とを用いてブロック画像情報ごとのブロック目標符号量(第一目標符号量)を推定する符号量推定モデルと、に基づいてブロック目標符号量(第一目標符号量)を推定する。
 また、符号量推定モデルは、学習用の画像(第二の画像情報)におけるブロック画像情報(第二符号量推定領域)と、複数のQP(第二量子化パラメータ)と、複数のQPのそれぞれの値によって符号化された場合におけるブロック画像情報(第二符号量推定領域)ごとのブロック目標符号量(第二目標符号量)と、の関連付けがなされることによって生成されるモデルである。
 また、符号量推定モデルは、複数のQP(第二量子化パラメータ)が選択可能な全てのQP(予め定められた複数の第一量子化パラメータ)の少なくとも一部である場合であって、かつ、推定されたブロック目標符号量(第一目標符号量)が選択可能な全てのQP(予め定められた複数の第一量子化パラメータ)及び複数のQP(第二量子化パラメータ)のいずれにも存在する量子化パラメータによって符号化された場合におけるブロック目標符号量である場合にのみ、関連付けの更新を行う。
 また、符号量推定モデルは、学習用の画像(第二の画像情報)におけるブロック画像情報(第二符号量推定領域)と、ブロック画像情報(第二符号量推定領域)に対応する複数のQP(第二量子化パラメータ)と、複雑度との関係性を示す関係性情報と、が対応付けられた学習データを用いて学習処理を行うモデルである。
 上記の第3の実施形態の構成により、符号化対象画像情報の特徴と、所望のピクチャ目標符号量とに応じたブロック目標符号量を算出することが可能となり、ブロック画像情報毎に適切なQPを割り当てることができる。それにより、符号化対象の画像情報の画質を均一に保ちつつ所望の符号量、例えば、所望のファイルサイズとするより正確な符号量の割り当てを行うことが可能となる。
 なお、第3の実施形態の符号量制御部1cにおいて、量子化パラメータ推定部20cと、符号量推定部21cとを1つの符号量推定装置として構成するようにしてもよい。
 また、上記の第1、第2及び第3の実施形態において、初期QP推定部10,10a、ブロック目標符号量推定部11,11a,11c、GOP初期QP推定部17及びGOP目標符号量推定部18は、例えば、機械学習モデルによって学習処理を行うとしており、図2、図3、図7から図10、図15は、例えば、ディープラーニングを行うディープニューラルネットワークの構成の一例を示したものである。しかしながら、本発明は、当該実施の形態に限られず、他の異なる構成のディープニューラルネットワークを用いて学習処理を行うようにしてもよく、また、学習処理を行うことなく数学的な演算手段に基づいて関係性を示す非線形関数を求めて、求めた非線形関数を関係性情報にするようにしてもよく、関係性を推定する所定の推定手段であればどのような手段を用いるようにしてもよい。
 また、上記の第1、第2及び第3の実施形態において、初期QP推定部10,10a、ブロック目標符号量推定部11,11a,11c、GOP初期QP推定部17及びGOP目標符号量推定部18は、特徴抽出部110,210及びGOP特徴抽出部310,410において特徴量及び特徴量を算出するようにしているが、本発明の構成は、当該実施の形態に限られない。十分な数の入力情報があれば、特徴量を算出することなく、入力情報をそのまま全結合層320に与えて学習処理を行うようにしてもよい。ここで、入力情報とは、学習処理において与える画像情報、ピクチャ目標符号量、ブロック画像情報、初期QP、GOP、ビットレート、ピクチャタイプリスト、GOP初期QP、入力画像情報、ピクチャタイプ、ピクチャ目標符号量、入力ブロック画像情報の情報である。
 また、上記の第1、第2及び第3の実施形態において、誤差算出部131,231,331,431は、誤差が、閾値以下になった場合に学習処理を終了するとしているが、本発明の構成は、当該実施の形態に限られるものではない。「以下であるか否かを」という判定は一例に過ぎず、閾値の定め方に応じて、「未満であるか否か」を判定するようにしてもよい。すなわち、上記の閾値判定処理については、判定対象の値が、閾値未満であるか否かを判定するようにしてもよい。
 また、上記の第1、第2及び第3の実施形態において、映像符号化装置C,Ca,Cbは、例えば、H.265/HEVC(High Efficiency Video Coding)の標準規格に準拠する装置として説明したが、当該標準規格に限られるものではなく、他の標準規格に準拠する装置であってもよい。
 また、上記の第1、第2及び第3の実施形態において、画像情報をブロックに分割したブロック画像情報を対象としてブロック目標符号量の推定等を行う構成としているが、本発明の構成は、当該実施の形態に限られない。ブロック画像情報を符号量の推定を行う領域とする以外に、画像情報の全ての領域、または任意の領域を符号量推定領域として、当該符号量推定領域の目標符号量の推定等を行うようにしてもよい。
<実施例>
 以下、実際のテスト画像を用いて実験を行った場合の実験結果について説明する。
(実施条件)
 本実験の実施条件は以下のとおりである。
・テスト画像の画像サイズ:1920[ピクセル]×1080[ピクセル]。
・テスト画像の種類:以下の合計37種類。
 JCT-VC(Joint Collaborative Team on Video Coding;共同作業部会)においてクラスBとして規定された画像:5種類。
 SVT(Swedish Television)が公開する画像:4種類。
 ITE/ARIBが公開するHi-Vision Test Sequence 2nd Edition(ハイビジョンシステム評価用動画像・第2版)の画像:28種類。
・符号化対象のフレーム:先頭の1フレームのみ。
・プロファイル:Main 10 プロファイル、All-Intra圧縮方式。
・目標符号量:ピクチャごとに、3Mbyte、6Mbyte、9Mbyte、又は、12Mbyteのいずれかを設定。
・比較対象とする従来技術(アンカー):HM(HEVC Test Model)16.6。
(実験環境)
 本実験の実験環境は以下のとおりである。
・CPU:Intel(登録商標) Xeon(登録商標) E54627 v3(2.60GHz)の1コアのみ。
・機械学習ライブラリ:Tensorflow(米国Google(登録商標)社が開発し、オープンソースとして公開している機械学習に用いるためのソフトウェアライブラリ)。
(学習条件)
 本実験の機械学習におけるCNN(Convolutional Neural Network;畳み込みニューラルネットワーク)の学習条件は次のとおりである。
・データセット:Div2K(DIVerce 2K resolution high quality images)(900枚,サンプル数合計459,000)。
・バッチサイズ:512。
・最適化手法:Adam(Adaptive Moment Estimation)。
・学習率:指数減衰(10-2~10-4)。
・繰り返し回数(エポック数):20。
(実験結果)
 上記の、実施条件、実験環境、及び学習条件のもとで行った実験の実験結果は次のとおりである。
・符号量誤差率
 従来技術:平均0.79%。
 提案技術:平均0.82%。
 なお、符号量誤差率とは、ピクチャごとに設定される目標符号量との誤差率である。
・処理時間比率
 提案技術:従来技術に対し、平均+0.34%。
 なお、処理時間比率とは、符号化処理全体に要する処理時間の比率である。
・符号化効率(ビットレート削減率)
 提案技術:従来技術に対し、平均-2.16%、及び、最大-11.56%。
 上記の実験結果より、本発明に係る提案技術は、目標符号量との符号化誤差、及び演算量(処理時間)については従来技術(HM16.6)と同程度に抑えつつ、従来技術よりも符号化効率を向上させることが示された。
 上述した実施形態における符号量推定装置1A,1Aaをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
1、1a、1b、1c…符号量制御部,10、10a、10b、10c…初期QP推定部,11、11a、11b、11c…ブロック目標符号量推定部,12…累積目標符号量算出部,13…累積発生符号量算出部,14…符号量誤差算出部,15…平均QP算出部,16…最終QP算出部,17…GOP初期QP推定部,18…GOP目標符号量推定部,19…減算器,20、20a、20c…量子化パラメータ推定部,21、21a、21c…符号量推定部,22…量子化パラメータ補正部,30…ブロック分割部,31…減算器,32…直交変換・量子化部,33…可変長符号化部,34…逆量子化・逆直交変換部,35…加算器,36…イントラ予測部,100、100a…演算部,110(110-1~110-N)…特徴抽出部,111-1~111-N…畳み込み層部,112-1~112-N…ダウンサンプリング部,113-1~113-N…非線形変換部,120、120a…全結合層,121…学習データ記憶部,130…切替部,131…誤差算出部,132…教師QP情報記憶部,133…学習処理部,134…画像選択部,200、200a、200c…演算部,210(210-1~210-N)…特徴抽出部,211-1~211-N…畳み込み層部,212-1~212-N…ダウンサンプリング部,213-1~213-N…非線形変換部,220、220a、220c…全結合層,221…学習データ記憶部,230…切替部,231…誤差算出部,232…教師複雑度情報記憶部,233…学習処理部,234…符号量算出部,235…ブロック画像選択部,300…演算部,310(310-1~310-N)…特徴抽出部,311-1~311-N…畳み込み層部,312-1~312-N…ダウンサンプリング部,313-1~313-N…非線形変換部,320…全結合層,321…学習データ記憶部,330…切替部,331…誤差算出部,332…教師QP情報記憶部,333…学習処理部,400…演算部,410(410-1~410-N)…特徴抽出部,411-1~411-N…畳み込み層部,412-1~412-N…ダウンサンプリング部,413-1~413-N…非線形変換部,420…全結合層,421…学習データ記憶部,430…切替部,431…誤差算出部,432…教師複雑度情報記憶部,433…学習処理部,434…符号量算出部

Claims (5)

  1.  第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定部
     を備え、
     前記符号量推定モデルは、第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けがなされることによって生成されるモデルである
     符号量推定装置。
  2.  前記符号量推定モデルは、前記複数の第二量子化パラメータが前記複数の第一量子化パラメータの少なくとも一部である場合であって、かつ、推定された前記第一目標符号量のうち前記複数の第一量子化パラメータ及び前記複数の第二量子化パラメータのいずれにも存在する量子化パラメータによって符号化された場合における前記第一目標符号量である場合についてのみ、前記関連付けの更新を行う
     請求項1に記載の符号量推定装置。
  3.  前記符号量推定モデルは、第二の画像情報における第二符号量推定領域と、前記第二符号量推定領域に対応する前記複数の第二量子化パラメータと、複雑度との関係性を示す関係性情報と、が対応付けられた学習データを用いて学習処理を行うモデルである
     請求項1または請求項2に記載の符号量推定装置。
  4.  第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定ステップと、
     第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けを行うことによって前記符号量推定モデルを生成するステップと、
     を有する符号量推定方法。
  5.  コンピュータに、
     第一の画像情報における第一符号量推定領域と、前記第一符号量推定領域と予め定められた複数の第一量子化パラメータとを用いて前記第一符号量推定領域ごとの第一目標符号量を推定する符号量推定モデルと、に基づいて前記第一目標符号量を推定する符号量推定ステップと、
     第二の画像情報における第二符号量推定領域と、複数の第二量子化パラメータと、前記複数の第二量子化パラメータのそれぞれの値によって符号化された場合における前記第二符号量推定領域ごとの第二目標符号量と、の関連付けを行うことによって前記符号量推定モデルを生成するステップと、
     を実行させるための符号量推定プログラム。
PCT/JP2019/008366 2018-03-06 2019-03-04 符号量推定装置、符号量推定方法及び符号量推定プログラム Ceased WO2019172179A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020505015A JP7041379B2 (ja) 2018-03-06 2019-03-04 符号量推定装置、符号量推定方法及び符号量推定プログラム
US16/978,068 US11039132B2 (en) 2018-03-06 2019-03-04 Code amount estimation device, code amount estimation method, and code amount estimation program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018039903 2018-03-06
JP2018-039903 2018-03-06

Publications (1)

Publication Number Publication Date
WO2019172179A1 true WO2019172179A1 (ja) 2019-09-12

Family

ID=67846261

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/008366 Ceased WO2019172179A1 (ja) 2018-03-06 2019-03-04 符号量推定装置、符号量推定方法及び符号量推定プログラム

Country Status (3)

Country Link
US (1) US11039132B2 (ja)
JP (1) JP7041379B2 (ja)
WO (1) WO2019172179A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111757107A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 一种视频编码方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153268A (ja) * 2001-11-19 2003-05-23 Matsushita Electric Ind Co Ltd 映像符号化方法及び装置並びに記録媒体
JP2006332882A (ja) * 2005-05-24 2006-12-07 Mitsubishi Electric Corp 動画像符号化装置
JP2010503245A (ja) * 2006-10-12 2010-01-28 株式会社東芝 画像符号化装置及び画像符号化方法
WO2014133745A2 (en) * 2013-02-28 2014-09-04 Google Inc. Multi-stream optimization
JP2017130894A (ja) * 2016-01-22 2017-07-27 沖電気工業株式会社 画像符号化装置、方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365240B (en) * 2000-07-19 2002-09-25 Motorola Inc Apparatus and method for image transmission
US20040141732A1 (en) * 2003-01-22 2004-07-22 Kenji Sugiyama Moving-picture code amount control method, moving-picture recording method, moving-picture code amount control apparatus and moving-picture recording apparatus
WO2008111458A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号化ビットレート制御方法及び装置、そのプログラム並びにプログラムを記録した記録媒体
JP6947010B2 (ja) * 2017-12-22 2021-10-13 富士通株式会社 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003153268A (ja) * 2001-11-19 2003-05-23 Matsushita Electric Ind Co Ltd 映像符号化方法及び装置並びに記録媒体
JP2006332882A (ja) * 2005-05-24 2006-12-07 Mitsubishi Electric Corp 動画像符号化装置
JP2010503245A (ja) * 2006-10-12 2010-01-28 株式会社東芝 画像符号化装置及び画像符号化方法
WO2014133745A2 (en) * 2013-02-28 2014-09-04 Google Inc. Multi-stream optimization
JP2017130894A (ja) * 2016-01-22 2017-07-27 沖電気工業株式会社 画像符号化装置、方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111757107A (zh) * 2020-06-29 2020-10-09 北京百度网讯科技有限公司 一种视频编码方法、装置、设备及介质
CN111757107B (zh) * 2020-06-29 2024-03-05 北京百度网讯科技有限公司 一种视频编码方法、装置、设备及介质

Also Published As

Publication number Publication date
US11039132B2 (en) 2021-06-15
JP7041379B2 (ja) 2022-03-24
US20200413052A1 (en) 2020-12-31
JPWO2019172179A1 (ja) 2021-02-04

Similar Documents

Publication Publication Date Title
US8086052B2 (en) Hybrid video compression method
KR101644208B1 (ko) 이전에 계산된 모션 정보를 이용하는 비디오 인코딩
JP6802136B2 (ja) 量子化パラメータ補正装置、量子化パラメータ補正方法及び量子化パラメータ補正プログラム
WO2019127136A1 (zh) 码率控制的方法与编码装置
CN104125466B (zh) 一种基于gpu的hevc并行解码方法
JP2013211908A (ja) ビデオ圧縮方法
KR20200003888A (ko) 비디오 압축에서의 엔트로피 코딩을 위한 선택적 혼합
CN113170207B (zh) 用于视频压缩的更准确的2抽头内插滤波器
US20190230384A1 (en) Image encoding method and apparatus using artifact reduction filter, and image decoding method and apparatus using artifact reduction filter
JP6867273B2 (ja) 符号量推定装置及び符号量推定プログラム
JP7041379B2 (ja) 符号量推定装置、符号量推定方法及び符号量推定プログラム
JP5410638B2 (ja) 量子化制御装置及び方法、及び量子化制御プログラム
KR100984620B1 (ko) 비디오 신호의 코딩 계수를 변환하기 위한 장치 및 방법
CN116193128B (zh) 图像处理方法及装置、存储介质及电子装置
KR101035746B1 (ko) 동영상 인코더와 동영상 디코더에서의 분산적 움직임 예측 방법
JP2004518199A (ja) コーディング
JP2025533482A (ja) エンドツーエンドニューラルネットワークベースのビデオ圧縮のための強化学習に基づくレート制御
JP2015076765A (ja) 画像処理装置及びその制御方法、並びに、コンピュータプログラム
JP2014107645A (ja) 主観画質推定装置、主観画質推定方法及びプログラム
CN116137658A (zh) 视频编码方法及装置
JP2012129945A (ja) 動画像復号装置、動画像復号方法及び動画像復号プログラム
US7953147B1 (en) Iteration based method and/or apparatus for offline high quality encoding of multimedia content
RU2818891C1 (ru) Способ и устройство, вычислительное устройство и носитель данных для кодирования видео
CN115499647B (zh) 多变换核选择方法、编码解码方法、电子设备及存储介质
JP2012129944A (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: 19764158

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2020505015

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19764158

Country of ref document: EP

Kind code of ref document: A1