WO2020008858A1 - 動画像符号化装置、動画像符号化方法、プログラム - Google Patents
動画像符号化装置、動画像符号化方法、プログラム Download PDFInfo
- Publication number
- WO2020008858A1 WO2020008858A1 PCT/JP2019/024014 JP2019024014W WO2020008858A1 WO 2020008858 A1 WO2020008858 A1 WO 2020008858A1 JP 2019024014 W JP2019024014 W JP 2019024014W WO 2020008858 A1 WO2020008858 A1 WO 2020008858A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- picture
- complexity
- history
- encoding
- code amount
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
Definitions
- the present invention relates to a moving picture coding apparatus, a moving picture coding method, and a program.
- Patent Document 1 discloses that when an image is determined to be a scene change image, an accurate estimated screen complexity is calculated particularly when encoding is performed on a B picture that is bidirectional prediction, thereby suppressing an increase in generated code amount.
- Patent Document 2 discloses a technique of a moving image encoding device capable of performing variable rate encoding of a moving image in real time.
- Patent Document 3 also calculates a screen complexity from the generated code amount of a moving image, an average quantization scale, coded image characteristics, and scene change information, and calculates the following based on the generated code amount, the screen complexity, and the coded image characteristics.
- a technique is disclosed in which an assigned code amount of an image to be encoded is determined, and a quantization scale of an image to be encoded next is determined from the assigned code amount.
- an object of the present invention is to provide a moving picture coding apparatus, a moving picture coding method, and a program that solve the above-mentioned problems.
- a video encoding device includes: an encoding unit configured to calculate a code amount generated by encoding a video including a picture type including an I picture, a P picture, and a B picture; A complexity calculating unit that calculates a complexity history of the encoded picture based on the code amount and the quantization width used for the encoding, and estimates an estimated complexity of the encoding target picture to be encoded. A complexity estimating unit that estimates based on the complexity history of the same picture type as the picture type of the current picture and the complexity history of the coded picture immediately before the current picture.
- the moving picture coding method calculates a code amount generated by coding a moving picture including an I picture, a P picture, and a B picture as a picture type. Calculate the complexity history of the encoded picture based on the quantization width used for the encoding, and set the estimated complexity of the encoding target picture to be encoded to be the same as the picture type of the encoding target picture. And the complexity history of the coded picture immediately before the current picture to be coded.
- a program causes a computer of a moving picture coding apparatus to calculate a code amount generated by coding a moving picture including I pictures, P pictures, and B pictures as picture types.
- the present invention not only the complexity history of the coded picture of the same picture type as the current picture but also the influence of the complexity change of the picture immediately before the current picture is reflected on the current picture. Therefore, it is possible to perform code amount control with reduced occurrence of image quality deterioration, buffer overflow, underflow, and the like.
- FIG. 1 is a block diagram illustrating a video encoding device according to an embodiment of the present invention.
- FIG. 3 is a block diagram illustrating a code amount generation unit in the video encoding device according to the embodiment of the present invention.
- FIG. 1 is a block diagram illustrating a hardware configuration of a video encoding device according to an embodiment of the present invention. 6 is a flowchart illustrating a code amount control process according to an embodiment of the present invention.
- FIG. 1 is a block diagram illustrating a minimum configuration of a video encoding device according to an embodiment of the present invention.
- FIG. 1 is a block diagram showing a configuration of a video encoding device according to the embodiment.
- the video encoding device 1 includes an orthogonal transform unit 11, a quantization unit 12, an encoding unit 13, an inverse quantization unit 14, an inverse orthogonal transform unit 15, an intra-screen prediction unit 16, an inter-screen prediction unit 17, and a code amount.
- Each function unit of the control unit 18 is provided.
- the orthogonal transform unit 11 orthogonally transforms the difference between the input image and the predicted image.
- the quantization unit 12 quantizes the orthogonally transformed coefficients with a given quantization width.
- the encoding unit 13 performs variable length encoding on the quantized data.
- the inverse quantization unit 14 inversely quantizes the quantized data.
- the inverse orthogonal transform unit 15 transforms the inversely quantized coefficient.
- the intra prediction unit 16 generates an intra prediction encoded image (I picture) using pixels in the image.
- the inter-screen prediction unit 17 uses the pixels of the other frame image and the pixels in the image of the current frame to encode an inter-screen single-prediction encoded image (P picture) and an inter-screen bi-prediction encoded image (B picture).
- Generate The code amount control unit 18 calculates a quantization width from the given target code amount and the code amount output from the encoding unit 13.
- FIG. 2 is a functional block diagram of the code amount generation unit 18.
- the code amount control unit 18 includes a complexity calculating unit 181, a first complexity buffer 182, a second complexity buffer 183, a third complexity buffer 184, a fourth complexity buffer 185, a complexity An estimation unit 186 and a quantization width determination unit 187 are provided.
- the complexity calculator 181 calculates the complexity from the quantization width used for quantizing the orthogonally transformed image signal and the code amount generated by the encoder 13.
- the first complexity buffer 182 stores the past complexity of the I frame image. That is, the first complexity buffer 182 stores the complexity history of the encoded I picture.
- the second complexity buffer 183 stores the past complexity of the P frame image.
- the second complexity buffer 183 stores the complexity history of the coded P picture.
- the third complexity buffer 184 stores the past complexity of the B frame image. That is, the third complexity buffer 184 stores the complexity history of the coded B picture.
- the complexity calculating unit 181 stores the complexity history of the coded picture whose picture type is I, and the second complexity buffer 183 and the third complexity buffer 184 each have the picture type
- the complexity histories of the coded pictures P and B are stored.
- the fourth complexity buffer 185 stores the complexity of the coded picture immediately before the current picture to be coded.
- the complexity history of the picture immediately before stored in the fourth complexity buffer 185 may be an average value or an intermediate value for one previous picture or a plurality of pictures.
- the complexity estimating unit 186 estimates the complexity of the encoding target picture to be encoded next from the past complexity history.
- the quantization width determination unit 187 calculates a quantization width from the estimated complexity calculated by the complexity estimation unit 186 and the target code amount.
- FIG. 3 is a block diagram illustrating a hardware configuration of the video encoding device.
- the moving picture coding apparatus 1 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a HDD (Hard Disk Drive) 104, an interface 105, Hardware such as the module 106 may be provided.
- a CPU Central Processing Unit
- ROM Read Only Memory
- RAM Random Access Memory
- HDD Hard Disk Drive
- FIGS. 1 and 2 may be configured inside the CPU of the moving image encoding device 1 by configuring the computer of the moving image encoding device 1 into a moving image encoding program. Further, those functions may be constituted by a circuit or the like.
- a quantization width predicted to satisfy a target code amount is determined based on the estimated complexity Xest.
- the relationship between the quantization width Q and the generated code amount S differs depending on the picture type (I picture, P picture, B picture). Is recorded for each picture type, and when calculating the estimated complexity, the complexity history of the corresponding picture type is used. Generally, the compression ratio of the I picture is the lowest, and then the compression ratio of the P picture is improved in the order of the B picture.
- code amount control is performed on the assumption that the complexity of a picture to be encoded next is substantially the same as that of a previously encoded picture.
- code amount cannot be appropriately controlled.
- the activity is a parameter that can be calculated from the input image, such as the variance of the luminance value.
- the estimated complexity Xest_i, Xest_p, Xest_b for each picture type is determined by comparing the ratio between the past picture activities ACTi_p, ACTp_p, ACTb_p and the picture activities ACTi, ACTp, ACTb to be coded to the past complexity history Xi_p. , Xp_p, and Xb_p.
- Xest_i Xi_p * (ACTi ⁇ ACTi_p)
- Xest_p Xp_p * (ACTp ⁇ ACTp_p)
- Xest_b Xb_p * (ACTb ⁇ ACTb_p)
- the complexity of the next picture is estimated using only the information of the same picture type. Therefore, when the complexity greatly changes due to a scene change or the like, the complexity estimation of another picture type is performed. Changes cannot be reflected. For example, when the complexity greatly changes in a certain P picture, there is a high possibility that the complexity greatly changes in a subsequent B picture. Therefore, it is desirable to reflect the change in complexity in the P picture in the B picture. Further, since a change in the activity does not always correspond to a change in the complexity, in a scene change in which the activity does not change, the influence of the scene change cannot be reflected in the estimation of the complexity.
- the quantization width is determined based on the estimated complexity that is significantly different from the actual complexity, so that the generated code amount largely deviates from the target code amount, causing image quality deterioration and buffer overflow / underflow. Therefore, the present invention performs the following processing.
- the moving picture coding apparatus 1 inputs a moving picture.
- the moving image is composed of a plurality of pictures that are sequentially input.
- Each picture is an I picture (intra-picture predictive coded image; Intra-Picture), a P picture (inter-picture single predictive coded picture; Predictive-Picture), and a B picture (inter-picture bi-predictive coded picture; Bi-directional). Predictive-Picture).
- the video encoding device 1 inputs the difference between the input picture of the I picture and the predicted picture of the I picture to the orthogonal transform unit 11.
- the orthogonal transform unit 11 performs an orthogonal transform on a difference between the input image and the predicted image, and calculates an orthogonal transform coefficient.
- the orthogonal transform unit 11 outputs the orthogonal transform coefficients to the quantization unit 12.
- the quantization unit 12 receives the orthogonal transform coefficient.
- the quantization unit 12 quantizes the orthogonal transform coefficients. For example, the quantization unit 12 divides the orthogonal transform coefficient by a quantization width input from the code amount control unit 18 and a quantization matrix corresponding to each frequency component to quantize.
- the quantization unit 12 outputs the quantized orthogonal transform coefficients to the encoding unit 13.
- the encoding unit 13 performs variable length encoding on the quantized orthogonal transform coefficients and outputs the result as an output bit stream.
- the orthogonal transform coefficients quantized by the quantization unit 12 are input to the inverse quantization unit 14.
- the inverse quantization unit 14 inversely quantizes the quantized orthogonal transform coefficient and outputs the result to the inverse orthogonal transform unit 15.
- the inverse orthogonal transform unit 15 performs inverse orthogonal transform on the inversely quantized orthogonal transform coefficient.
- the inverse orthogonal transformed data is a locally decoded image.
- the intra prediction unit 16 generates and outputs a predicted image of an I picture using the orthogonal transform coefficient after the inverse orthogonal transform.
- the moving picture coding apparatus 1 when the input picture input by the moving picture coding apparatus 1 is a P picture or a B picture, the moving picture coding apparatus 1 performs the input picture of the P picture and the predicted picture of the P picture similarly to the I picture. Or the difference between the input image of the B picture and the predicted image of the B picture is input to the orthogonal transform unit 11.
- the orthogonal transform unit 11 performs an orthogonal transform on a difference between each input image and the predicted image, and calculates an orthogonal transform coefficient.
- the orthogonal transform unit 11 outputs the orthogonal transform coefficients to the quantization unit 12.
- the quantization unit 12 receives the orthogonal transform coefficient.
- the quantization unit 12 quantizes the orthogonal transform coefficients. For example, the quantization unit 12 divides the orthogonal transform coefficient by a quantization width input from the code amount control unit 18 and a quantization matrix corresponding to each frequency component to quantize.
- the quantization unit 12 outputs the quantized orthogonal transform coefficients to the encoding unit 13.
- the encoding unit 13 performs variable-length encoding on the quantized orthogonal transform coefficients and outputs the result as an output bit stream.
- the orthogonal transform coefficients quantized by the quantization unit 12 are input to the inverse quantization unit 14.
- the inverse quantization unit 14 inversely quantizes the quantized orthogonal transform coefficient and outputs the result to the inverse orthogonal transform unit 15.
- the inverse orthogonal transform unit 15 performs inverse orthogonal transform on the inversely quantized orthogonal transform coefficient.
- the inverse orthogonal transformed data is a locally decoded image.
- the intra prediction unit 16 generates and outputs a predicted picture of a P picture or a predicted picture of a B picture using the orthogonal transform coefficient after the inverse orthogonal transform for the P picture or the B picture.
- FIG. 4 is a diagram depicting a processing flow of a code amount control processing; Next, the processing of the code amount control unit 18 will be described.
- the code amount control unit 18 inputs the target code amount and the code amount calculated by the encoding unit 13 by the variable length coding (step S101).
- the complexity calculator 181 calculates the complexity from the quantization width used in the past and the code amount calculated by the encoder 13 (step S102). Specifically, the complexity calculator 181 calculates, as the complexity X, the product of the code amount S calculated by the encoder 13 for each coded picture and the quantization width Q. Through such processing, the complexity calculator 181 calculates the complexity Xi_p of the I picture, the complexity Xp_p of the P picture, and the complexity Xb_p of the B picture.
- the complexity calculator 181 records the complexity Xi_p of the encoded I picture in the first complexity buffer 182 and the fourth complexity buffer 185.
- the complexity calculator 181 records the complexity Xp_p of the encoded P picture in the second complexity buffer 183 and the fourth complexity buffer 185.
- the complexity calculator 181 records the complexity Xb_p of the encoded B picture in the third complexity buffer 184 and the fourth complexity buffer 185.
- Each of the first complexity buffer 182, the second complexity buffer 183, and the third complexity buffer 184 stores a past complexity history of each picture type.
- the fourth complexity buffer 185 stores the complexity of the immediately preceding picture.
- the immediately preceding picture is the immediately preceding encoded picture based on the encoding order or display order of the current picture to be encoded.
- the complexity Stored in the complexity buffer for each picture type (first complexity buffer 182, second complexity buffer 183, and third complexity buffer 184) and the complexity buffer of the immediately preceding picture (fourth complexity buffer 185)
- the complexity may be an average value or an intermediate value for one immediately preceding corresponding picture or a predetermined number of pictures.
- an estimated complexity history Xest_m_p immediately before estimated by the complexity estimation unit 186 is recorded.
- the complexity estimating unit 186 calculates the complexity histories Xi_p, Xp_p, and Xb_p for each picture type recorded in the first complexity buffer 182, the second complexity buffer 183, and the third complexity buffer 184, and From the immediately preceding complexity history Xm_p recorded in the complexity buffer 185 and the immediately preceding estimated complexity history Xest_m_p, the estimated complexity Xest_i, Xest_p, and Xest_b of the next picture to be encoded are calculated by the following equation (1). It is calculated by (3) (step S103). In the following formula, “*” indicates a product.
- Xest_i Xi_p * (Xm_p ⁇ Xest_m_p) (1)
- Xest_p Xp_p * (Xm_p ⁇ Xest_m_p) (2)
- Xest_b Xb_p * (Xm_p ⁇ Xest_m_p) (3)
- the quantization width determination unit 187 determines the code amount for each picture type using the estimated complexity and the target code amount, and determines the quantization width of each picture (step S104). Specifically, the quantization width determination unit 187 calculates the quantization width Q (Qi, Qp, Qb) using the estimated complexity Xest and the target code amount T as follows.
- the immediately preceding complexity histories Xm_p and Xest_m_p may be used as the lower limit of the estimated complexity as described below.
- the complexity the amount of generated code decreases and the image quality deteriorates to the extent that it is estimated to be larger than the actual value.However, if the estimated value is smaller than the actual value, the generated code amount increases and the buffer overflows. This is because the possibility that the possible code amount becomes extremely small and the control becomes unstable is high.
- Xest_i Max (Xi_p, Xi_p * (Xm_p ⁇ Xest_m_p)) (6)
- Xest_p Max (Xp_p, Xp_p * (Xm_p ⁇ Xest_m_p)) (7)
- Xest_b Max (Xb_p, Xb_p * (Xm_p ⁇ Xest_m_p)) (8)
- ACTi activity (ACTi, ACTp, ACTb) of each picture is calculated, and the complexity can be estimated as follows using the activity.
- Xest_i Xi_p * (ACTi ⁇ ACTi_p) * (Xm_p ⁇ Xest_m_p)) (9)
- Xest_p Xp_p * (ACTp ⁇ ACTp_p) * (Xm_p ⁇ Xest_m_p)) (10)
- Xest_b Xb_p * (ACTb ⁇ ACTb_p) * (Xm_p ⁇ Xest_m_p)) (11)
- a scene change may be detected and the method of estimating the complexity of the picture after the scene change may be changed. Further, in the present embodiment, even if a scene change cannot be detected due to an activity, a change in complexity can be reflected in the complexity estimation of the next picture.
- control unit of the quantization step is not limited to the picture unit, but may be controlled in another unit such as a field, a slice, or a coded block.
- FIG. 5 is a block diagram showing a minimum configuration of the video encoding device.
- the video encoding device includes at least a complexity calculator 181 and a complexity estimator 186.
- the complexity calculator 181 calculates the complexity of each picture type based on the amount of code generated by encoding a moving image composed of I pictures, P pictures, and B pictures and the quantization width used for encoding. Calculate the history.
- the complexity estimating unit 186 estimates the estimated complexity of the current picture to be coded based on the complexity history of each picture type of the coded picture and the complexity history of the coded picture immediately before the current picture. I do.
- the above-described moving picture coding apparatus may have a computer system inside.
- the process of each process described above is stored in a computer-readable recording medium in the form of a program, and the computer may read and execute the program to perform the process.
- the computer-readable recording medium refers to a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like.
- the computer program may be distributed to a computer via a communication line, and the computer that has received the distribution may execute the program.
- the program may be for realizing a part of the functions described above. Furthermore, what can implement
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
動画像符号化装置は、ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出し、その符号量と符号化に用いられた量子化幅とに基づいて符号化済みのピクチャの複雑度履歴を算出する。この動画像符号化装置は、符号化すべき符号化対象ピクチャの推定複雑度を、符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの符号化済みピクチャの複雑度履歴と、符号化対象ピクチャの直前の符号化済みピクチャの複雑度履歴とに基づいて推定する。
Description
本発明は、動画像符号化装置、動画像符号化方法、プログラムに関する。
高画質な動画像の圧縮符号化を実現するには、目標符号量内で高い画質を得る符号量制御(ビットレート制御)が重要である。H.265/HEVC(High Efficiency Video Coding)などの規格を用いた動画像符号化装置では、予測残差を量子化する際の量子化幅を制御することにより発生符号量を制御することができる。適切な量子化幅の制御により高画質を保てる一方で、量子化幅の制御が不適切の場合、一部のピクチャに過度に符号量を割り当て過ぎてしまい他のピクチャの符号量が削減され視覚的な画質が劣化することになる。
関連する技術として特許文献1にはシーンチェンジ画像と判定された場合に、特に双方向予測であるBピクチャに符号化する場合に正確な推定画面複雑度を算出して発生符号量の増加を抑制する技術が開示されている。
また特許文献2には動画像をリアルタイムで可変レート符号化することができる動画像符号化装置の技術が開示されている。
また特許文献3には動画像の発生符号量、平均量子化スケール、符号化画像特性、及びシーンチェンジ情報から画面複雑度を算出し、発生符号量と画面複雑度と符号化画像特性とから次に符号化する画像の割り当て符号量を決定し、その割り当て符号量から次に符号化する画像の量子化スケールを決定する技術が開示されている。
また特許文献2には動画像をリアルタイムで可変レート符号化することができる動画像符号化装置の技術が開示されている。
また特許文献3には動画像の発生符号量、平均量子化スケール、符号化画像特性、及びシーンチェンジ情報から画面複雑度を算出し、発生符号量と画面複雑度と符号化画像特性とから次に符号化する画像の割り当て符号量を決定し、その割り当て符号量から次に符号化する画像の量子化スケールを決定する技術が開示されている。
ところで上述のような符号量制御技術では、発生符号量が目標符号量から大きく乖離した場合、画質劣化やバッファオーバフロー・アンダフローを引き起こしてしまう。
符号量制御技術において、シーンチェンジが発生した場合でも発生していない場合でも同様に、画質劣化やバッファのオーバフローやアンダフロー等の発生を低減した安定的な符号量制御を行うことのできる技術が求められている。
符号量制御技術において、シーンチェンジが発生した場合でも発生していない場合でも同様に、画質劣化やバッファのオーバフローやアンダフロー等の発生を低減した安定的な符号量制御を行うことのできる技術が求められている。
そこでこの発明は、上述の課題を解決する動画像符号化装置、動画像符号化方法、プログラムを提供することを目的としている。
本発明の第1の態様によれば、動画像符号化装置は、ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出する符号化部と、前記符号量と前記符号化に用いられた量子化幅とに基づいて符号化済みの前記ピクチャの複雑度履歴を算出する複雑度算出部と、符号化すべき符号化対象ピクチャの推定複雑度を前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて推定する複雑度推定部とを備える。
本発明の第2の態様によれば、動画像符号化方法は、ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出し、前記符号量と前記符号化に用いられた量子化幅とに基づいて符号化済みの前記ピクチャの複雑度履歴を算出し、符号化すべき符号化対象ピクチャの推定複雑度を前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて推定する。
本発明の第3の態様によれば、プログラムは、動画像符号化装置のコンピュータを、ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出する符号化手段、前記符号量と前記符号化に用いられた量子化幅とに基づいて符号化済みの前記ピクチャの複雑度履歴を算出する複雑度算出手段、符号化すべき符号化対象ピクチャの推定複雑度を前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて推定する複雑度推定手段として機能させる。
本発明によれば、符号化対象ピクチャと同一のピクチャタイプの符号化済みピクチャの複雑度履歴だけでなく、符号化対象ピクチャの直前のピクチャの複雑度変化の影響を符号化対象ピクチャに反映することができるため、画質劣化やバッファオーバフローやアンダフロー等の発生を低減した符号量制御を行うことができる。
以下、本発明の一実施形態による動画像符号化装置を図面を参照して説明する。
図1は同実施形態による動画像符号化装置の構成を示すブロック図である。
動画像符号化装置1は、直交変換部11、量子化部12、符号化部13、逆量子化部14、逆直交変換部15、画面内予測部16、画面間予測部17、および符号量制御部18の各機能部を備える。
図1は同実施形態による動画像符号化装置の構成を示すブロック図である。
動画像符号化装置1は、直交変換部11、量子化部12、符号化部13、逆量子化部14、逆直交変換部15、画面内予測部16、画面間予測部17、および符号量制御部18の各機能部を備える。
直交変換部11は、入力画像と予測画像の差分を直交変換する。
量子化部12は、直交変換された係数を、与えられた量子化幅で量子化する。
符号化部13は、量子化されたデータを可変長符号化する。
逆量子化部14は、量子化されたデータを逆量子化する。
逆直交変換部15は、逆量子化された係数を変換する。
画面内予測部16は、画像内の画素を用いて画面内予測符号化画像(Iピクチャ)を生成する。
画面間予測部17は、他のフレーム画像の画素と符号化対象フレームの画像内の画素を用いて画面間片予測符号化画像(Pピクチャ)と、画面間双予測符号化画像(Bピクチャ)を生成する。
符号量制御部18は、与えられた目標符号量と符号化部13が出力した符号量から量子化幅を算出する。
量子化部12は、直交変換された係数を、与えられた量子化幅で量子化する。
符号化部13は、量子化されたデータを可変長符号化する。
逆量子化部14は、量子化されたデータを逆量子化する。
逆直交変換部15は、逆量子化された係数を変換する。
画面内予測部16は、画像内の画素を用いて画面内予測符号化画像(Iピクチャ)を生成する。
画面間予測部17は、他のフレーム画像の画素と符号化対象フレームの画像内の画素を用いて画面間片予測符号化画像(Pピクチャ)と、画面間双予測符号化画像(Bピクチャ)を生成する。
符号量制御部18は、与えられた目標符号量と符号化部13が出力した符号量から量子化幅を算出する。
図2は符号量生成部18の機能ブロック図である。
符号量制御部18は、図2に示すように、複雑度算出部181、第一複雑度バッファ182、第二複雑度バッファ183、第三複雑度バッファ184、第四複雑度バッファ185、複雑度推定部186、および量子化幅決定部187を備える。
複雑度算出部181は、直交変換された画像信号の量子化に使用した量子化幅と、符号化部13が発生した符号量とから複雑度を算出する。
第一複雑度バッファ182は、Iフレーム画像の過去の複雑度を記憶する。すなわち、第一複雑度バッファ182は、符号化済みのIピクチャの複雑度履歴を記憶する。
第二複雑度バッファ183は、Pフレーム画像の過去の複雑度を記憶する。すなわち、第二複雑度バッファ183は、符号化済みのPピクチャの複雑度履歴を記憶する。
第三複雑度バッファ184は、Bフレーム画像の過去の複雑度を記憶する。すなわち、第三複雑度バッファ184は、符号化済みのBピクチャの複雑度履歴を記憶する。
このように、複雑度算出部181は、ピクチャタイプがIであるの符号化済みピクチャの複雑度履歴を記憶し、第二複雑度バッファ183および第三複雑度バッファ184は、各々、ピクチャタイプがPおよびBである符号化済みピクチャの複雑度履歴を記憶する。
第四複雑度バッファ185は、符号化すべき符号化対象ピクチャの直前の符号化済みピクチャの複雑度を記憶する。第四複雑度バッファ185が記憶する直前のピクチャの複雑度履歴は、直前のピクチャ1つ分でも複数分の平均値や中間値などでも良い。
複雑度推定部186は、過去の複雑度履歴から次に符号化する符号化対象ピクチャの複雑度を推定する。
量子化幅決定部187は、複雑度推定部186で算出された推定複雑度と目標符号量とから量子化幅を算出する。
符号量制御部18は、図2に示すように、複雑度算出部181、第一複雑度バッファ182、第二複雑度バッファ183、第三複雑度バッファ184、第四複雑度バッファ185、複雑度推定部186、および量子化幅決定部187を備える。
複雑度算出部181は、直交変換された画像信号の量子化に使用した量子化幅と、符号化部13が発生した符号量とから複雑度を算出する。
第一複雑度バッファ182は、Iフレーム画像の過去の複雑度を記憶する。すなわち、第一複雑度バッファ182は、符号化済みのIピクチャの複雑度履歴を記憶する。
第二複雑度バッファ183は、Pフレーム画像の過去の複雑度を記憶する。すなわち、第二複雑度バッファ183は、符号化済みのPピクチャの複雑度履歴を記憶する。
第三複雑度バッファ184は、Bフレーム画像の過去の複雑度を記憶する。すなわち、第三複雑度バッファ184は、符号化済みのBピクチャの複雑度履歴を記憶する。
このように、複雑度算出部181は、ピクチャタイプがIであるの符号化済みピクチャの複雑度履歴を記憶し、第二複雑度バッファ183および第三複雑度バッファ184は、各々、ピクチャタイプがPおよびBである符号化済みピクチャの複雑度履歴を記憶する。
第四複雑度バッファ185は、符号化すべき符号化対象ピクチャの直前の符号化済みピクチャの複雑度を記憶する。第四複雑度バッファ185が記憶する直前のピクチャの複雑度履歴は、直前のピクチャ1つ分でも複数分の平均値や中間値などでも良い。
複雑度推定部186は、過去の複雑度履歴から次に符号化する符号化対象ピクチャの複雑度を推定する。
量子化幅決定部187は、複雑度推定部186で算出された推定複雑度と目標符号量とから量子化幅を算出する。
図3は動画像符号化装置のハードウェア構成を示すブロック図である。
動画像符号化装置1は、図3で示すようにCPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、インタフェース105、通信モジュール106等のハードウェアを備えてよい。図1や図2で示す各機能は、動画像符号化装置1のコンピュータが動画像符号化プログラムを構成することにより動画像符号化装置1のCPU内部に構成されるものであってもよい。またそれら機能は回路等で構成されてもよい。
動画像符号化装置1は、図3で示すようにCPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、インタフェース105、通信モジュール106等のハードウェアを備えてよい。図1や図2で示す各機能は、動画像符号化装置1のコンピュータが動画像符号化プログラムを構成することにより動画像符号化装置1のCPU内部に構成されるものであってもよい。またそれら機能は回路等で構成されてもよい。
関連する技術では、目標符号量と発生符号量の乖離が大きいと出力ビットストリームのバッファメモリがオーバフローやアンダフローして復号できない可能性がある。関連する技術では、符号化したピクチャの発生符号量Sと量子化幅Qの積(X=S*Q)を複雑度Xと定義し、過去に符号化済みのピクチャの複雑度履歴から次に符号化するピクチャの複雑度を推定している。次に、関連する技術では、推定された複雑度Xestを基に目標符号量を満たすと予測される量子化幅を決定する。量子化幅Qは推定された複雑度Xestと目標符号量Tとを用いて、以下のように算出することができる。
Xest=X
Q=Xest÷T
Xest=X
Q=Xest÷T
H.265/HEVCなどの動画像符号化では、ピクチャタイプ(Iピクチャ、Pピクチャ、Bピクチャ)によって量子化幅Qと発生符号量Sとの関係に相違があることから、関連する技術では過去のピクチャの複雑度をピクチャタイプ別に記録し、推定複雑度を算出する際には該当するピクチャタイプの複雑度履歴を用いる。一般にIピクチャが最も圧縮率が低く、次いでPピクチャ、Bピクチャの順に圧縮率が向上する。
関連する技術では、次に符号化するピクチャの複雑度が過去に符号化したピクチャと同程度と仮定して符号量制御を行っている。しかし、シーンチェンジのように入力画像に大きな変化が生じた場合、画像の性質が変わるため複雑度も変化し、その結果適切に符号量を制御することができない。過去のピクチャの複雑度履歴だけではなく画像特性を示すパラメータであるアクティビティを併用して推定複雑度を算出する方式の関連技術がある。アクティビティは輝度値の分散などの入力画像から算出できるパラメータである。当該技術では、ピクチャタイプ別の推定複雑度Xest_i,Xest_p,Xest_bを、過去のピクチャのアクティビティACTi_p,ACTp_p, ACTb_pと符号化するピクチャのアクティビティACTi,ACTp,ACTbとの比を過去の複雑度履歴Xi_p,Xp_p,Xb_pに加重することで算出する。
Xest_i=Xi_p*(ACTi÷ACTi_p)
Xest_p=Xp_p*(ACTp÷ACTp_p)
Xest_b=Xb_p*(ACTb÷ACTb_p)
これにより、シーンチェンジなどにより過去のピクチャ複雑度履歴と次のピクチャの複雑度が同程度でない場合にも、シーンに応じた量子化幅を選択することができる。
Xest_i=Xi_p*(ACTi÷ACTi_p)
Xest_p=Xp_p*(ACTp÷ACTp_p)
Xest_b=Xb_p*(ACTb÷ACTb_p)
これにより、シーンチェンジなどにより過去のピクチャ複雑度履歴と次のピクチャの複雑度が同程度でない場合にも、シーンに応じた量子化幅を選択することができる。
しかしながら符号量制御技術では同一ピクチャタイプの情報のみを用いて次のピクチャの複雑度を推定するので、シーンチェンジなどにより複雑度が大きく変化した場合に、他のピクチャタイプの複雑度推定に複雑度の変化を反映できない。例えば、あるPピクチャで複雑度が大きく変化した場合には、後続するBピクチャでも複雑度は大きく変化する可能性が高い。よってPピクチャでの複雑度変化をBピクチャに反映することが望ましい。
また、アクティビティの変化は複雑度の変化と対応するとは限らないので、アクティビティが変化しないシーンチェンジでは、複雑度の推定にシーンチェンジの影響を反映できない。その結果、実際の複雑度と大きく異なる推定複雑度で量子化幅を決定してしまうため発生符号量が目標符号量から大きく乖離し、画質劣化やバッファオーバフロー・アンダフローを引き起こしてしまう。従って、本発明は以下のような処理を行う。
また、アクティビティの変化は複雑度の変化と対応するとは限らないので、アクティビティが変化しないシーンチェンジでは、複雑度の推定にシーンチェンジの影響を反映できない。その結果、実際の複雑度と大きく異なる推定複雑度で量子化幅を決定してしまうため発生符号量が目標符号量から大きく乖離し、画質劣化やバッファオーバフロー・アンダフローを引き起こしてしまう。従って、本発明は以下のような処理を行う。
動画像符号化装置1は動画像を入力する。当該動画像は順に入力される複数のピクチャにより構成される。各ピクチャは、それぞれIピクチャ(画面内予測符号化画像;Intra-Picture)、Pピクチャ(画面間片予測符号化画像;Predictive-Picture)、Bピクチャ(画面間双予測符号化画像;Bi-directional Predictive-Picture)である。
入力ピクチャがIピクチャである場合、動画像符号化装置1は、当該Iピクチャの入力画像とIピクチャの予測画像の差分を直交変換部11に入力する。直交変換部11は入力画像と予測画像の差分に直交変換を行い、直交変換係数を算出する。直交変換部11は直交変換係数を量子化部12へ出力する。
量子化部12は直交変換係数を入力する。量子化部12は直交変換係数を量子化する。例えば量子化部12は、直交変換係数を符号量制御部18から入力した量子化幅と各周波数成分に対応した量子化行列とで除算して量子化する。量子化部12は量子化した直交変換係数を符号化部13へ出力する。符号化部13は量子化された直交変換係数を可変長符号化して出力ビットストリームとして出力する。
一方、量子化部12により量子化された直交変換係数は逆量子化部14が入力する。逆量子化部14は、量子化された直交変換係数を逆量子化し逆直交変換部15へ出力する。逆直交変換部15は逆量子化された直交変換係数を逆直交変換する。当該逆直交変換したデータは局所復号化画像である。画面内予測部16は当該逆直交変換後の直交変換係数を用いてIピクチャの予測画像を生成して出力する。
また動画像符号化装置1の入力した入力ピクチャがPピクチャまたはBピクチャである場合にも、動画像符号化装置1はIピクチャと同様に、当該Pピクチャの入力画像と当該Pピクチャの予測画像の差分、またはBピクチャの入力画像とBピクチャの予測画像の差分を直交変換部11に入力する。直交変換部11は各入力画像と予測画像の差分に直交変換を行い、直交変換係数を算出する。直交変換部11は直交変換係数を量子化部12へ出力する。
量子化部12は直交変換係数を入力する。量子化部12は直交変換係数を量子化する。例えば量子化部12は、直交変換係数を符号量制御部18から入力した量子化幅と各周波数成分に対応した量子化行列とで除算して量子化する。量子化部12は量子化した直交変換係数を符号化部13へ出力する。符号化部13は量子化された直交変換係数を可変長符号化して出力ビットストリームとして出力する。
一方、量子化部12により量子化された直交変換係数は逆量子化部14が入力する。逆量子化部14は、量子化された直交変換係数を逆量子化し逆直交変換部15へ出力する。
逆直交変換部15は逆量子化された直交変換係数を逆直交変換する。当該逆直交変換したデータは局所復号化画像である。画面内予測部16はPピクチャまたはBピクチャについての当該逆直交変換後の直交変換係数を用いてPピクチャの予測画像またはBピクチャの予測画像を生成して出力する。
逆直交変換部15は逆量子化された直交変換係数を逆直交変換する。当該逆直交変換したデータは局所復号化画像である。画面内予測部16はPピクチャまたはBピクチャについての当該逆直交変換後の直交変換係数を用いてPピクチャの予測画像またはBピクチャの予測画像を生成して出力する。
図4は符号量制御処理の処理フローを示す図である。
次に符号量制御部18の処理について説明する。
符号量制御部18は、目標符号量と符号化部13が可変長符号化により算出した符号量を入力する(ステップS101)。次に複雑度算出部181は過去に用いた量子化幅と、符号化部13の算出した符号量とから複雑度を算出する(ステップS102)。具体的には複雑度算出部181は、符号化した各ピクチャについて符号化部13が算出した符号量Sと、量子化幅Qとの積を複雑度Xとして算出する。このような処理により複雑度算出部181はIピクチャの複雑度Xi_p、Pピクチャの複雑度Xp_p、Bピクチャの複雑度Xb_pを算出する。
次に符号量制御部18の処理について説明する。
符号量制御部18は、目標符号量と符号化部13が可変長符号化により算出した符号量を入力する(ステップS101)。次に複雑度算出部181は過去に用いた量子化幅と、符号化部13の算出した符号量とから複雑度を算出する(ステップS102)。具体的には複雑度算出部181は、符号化した各ピクチャについて符号化部13が算出した符号量Sと、量子化幅Qとの積を複雑度Xとして算出する。このような処理により複雑度算出部181はIピクチャの複雑度Xi_p、Pピクチャの複雑度Xp_p、Bピクチャの複雑度Xb_pを算出する。
複雑度算出部181は、符号化済みのIピクチャの複雑度Xi_pを第一複雑度バッファ182と第四複雑度バッファ185とに記録する。
複雑度算出部181は、符号化済みのPピクチャの複雑度Xp_pを第二複雑度バッファ183と第四複雑度バッファ185とに記録する。
複雑度算出部181は、符号化済みのBピクチャの複雑度Xb_pを第三複雑度バッファ184と第四複雑度バッファ185とに記録する。
なお第一複雑度バッファ182、第二複雑度バッファ183、および第三複雑度バッファ184は、それぞれ各ピクチャタイプの過去の複雑度履歴を記憶する。
複雑度算出部181は、符号化済みのPピクチャの複雑度Xp_pを第二複雑度バッファ183と第四複雑度バッファ185とに記録する。
複雑度算出部181は、符号化済みのBピクチャの複雑度Xb_pを第三複雑度バッファ184と第四複雑度バッファ185とに記録する。
なお第一複雑度バッファ182、第二複雑度バッファ183、および第三複雑度バッファ184は、それぞれ各ピクチャタイプの過去の複雑度履歴を記憶する。
第四複雑度バッファ185は直前のピクチャの複雑度を記憶する。直前のピクチャとは、符号化すべき符号化対象ピクチャの符号化順もしくは表示順に基づく直前の符号化済みピクチャである。ピクチャタイプ別の複雑度バッファ(第一複雑度バッファ182、第二複雑度バッファ183、および第三複雑度バッファ184)、ならびに直前のピクチャの複雑度バッファ(第四複雑度バッファ185)において、記憶する複雑度は、直前の対応するピクチャ一つ分でも所定数ピクチャ分の平均や中間値などでも良い。また第四複雑度バッファ185には複雑度推定部186が推定した直前の推定複雑度履歴Xest_m_pが記録されている。
複雑度推定部186は、第一複雑度バッファ182、第二複雑度バッファ183、および第三複雑度バッファ184に記録されているピクチャタイプ別の複雑度履歴Xi_p,Xp_p,およびXb_pと、第四複雑度バッファ185に記録されている直前の複雑度履歴Xm_pと、直前の推定複雑度履歴Xest_m_pとから、次に符号化するピクチャの推定複雑度Xest_i,Xest_p,およびXest_bを以下の式(1)~(3)で算出する(ステップS103)。なお下記式において「*」は積を示す。
Xest_i=Xi_p*(Xm_p÷Xest_m_p) ・・・(1)
Xest_p=Xp_p*(Xm_p÷Xest_m_p) ・・・(2)
Xest_b=Xb_p*(Xm_p÷Xest_m_p) ・・・(3)
Xest_p=Xp_p*(Xm_p÷Xest_m_p) ・・・(2)
Xest_b=Xb_p*(Xm_p÷Xest_m_p) ・・・(3)
これにより、ピクチャタイプによらず直前のピクチャの複雑度変化の影響を次に符号化するピクチャに反映することができる。量子化幅決定部187は、推定された複雑度と目標符号量を用いてピクチャタイプごとの符号量を決定し、各ピクチャの量子化幅を決定する(ステップS104)。具体的には、量子化幅決定部187は、量子化幅Q(Qi,Qp,Qb)を、推定された複雑度Xestと目標符号量Tとを用いて以下のように算出する。
Qi=Xest_i÷T ・・・(4)
Qp=Xest_p÷T ・・・(5)
Qb=Xest_b÷T ・・・(6)
Qp=Xest_p÷T ・・・(5)
Qb=Xest_b÷T ・・・(6)
上述した直前の複雑度履歴Xm_p,およびXest_m_pは、以下に示すように推定複雑度の下限値として用いても良い。複雑度は、実際よりも大きく推定する分には発生符号量が減少して画質が劣化するだけだが、実際よりも小さく推定すると発生符号量が多くなりバッファオーバフローするという問題や、後続ピクチャの使用可能符号量が極端に少なくなり制御が不安定になるという問題を起こす可能性が高いためである。
Xest_i
=max(Xi_p,Xi_p*(Xm_p÷Xest_m_p)) ・・・(6)
Xest_p
=max(Xp_p,Xp_p*(Xm_p÷Xest_m_p)) ・・・(7)
Xest_b
=max(Xb_p,Xb_p*(Xm_p÷Xest_m_p)) ・・・(8)
=max(Xi_p,Xi_p*(Xm_p÷Xest_m_p)) ・・・(6)
Xest_p
=max(Xp_p,Xp_p*(Xm_p÷Xest_m_p)) ・・・(7)
Xest_b
=max(Xb_p,Xb_p*(Xm_p÷Xest_m_p)) ・・・(8)
また各ピクチャのアクティビティ(ACTi,ACTp,ACTb)を算出し、当該アクティビティを用いて以下のように複雑度を推定することもできる。
Xest_i
=Xi_p*(ACTi÷ACTi_p) * (Xm_p÷Xest_m_p)) ・・・(9)
Xest_p
=Xp_p*(ACTp÷ACTp_p) * (Xm_p÷Xest_m_p)) ・・・(10)
Xest_b
=Xb_p*(ACTb÷ACTb_p) * (Xm_p÷Xest_m_p)) ・・・(11)
Xest_i
=Xi_p*(ACTi÷ACTi_p) * (Xm_p÷Xest_m_p)) ・・・(9)
Xest_p
=Xp_p*(ACTp÷ACTp_p) * (Xm_p÷Xest_m_p)) ・・・(10)
Xest_b
=Xb_p*(ACTb÷ACTb_p) * (Xm_p÷Xest_m_p)) ・・・(11)
また本実施形態においてもシーンチェンジを検出し、シーンチェンジ後のピクチャの複雑度推定方式を変更しても良い。また本実施形態においては、シーンチェンジがアクティビティによって検出できなくても複雑度の変化を次のピクチャの複雑度推定に反映できる。
上述の処理によれば、複雑度が大きく変化した場合にその影響をピクチャタイプに関わらず後続のすべてのピクチャに反映することができるため、適切な符号量制御を行うことができる。その結果、従来と同一の目標符号量でより高画質の符号化を行うことができ、バッファオーバフロー・アンダフローの少ない安定的な制御を行うことができる。
以上、上記に記した実施形態では、HEVC符号化規格に基づいて説明したが、H.264,MPEG2などの他の符号化規格でも同様に適用可能である。また量子化ステップの制御単位もピクチャ単位でなく、フィールド、スライス、符号化ブロックなど他の単位で制御しても良い。
図5は動画像符号化装置の最小構成を示すブロック図である。
図5で示すように動画像符号化装置は、少なくとも複雑度算出部181と、複雑度推定部186とにより構成される。
複雑度算出部181は、Iピクチャ、Pピクチャ、およびBピクチャにより構成される動画像の符号化によって発生した符号量と符号化に用いられた量子化幅とに基づいて各ピクチャタイプの複雑度履歴を算出する。
複雑度推定部186は、符号化済みピクチャの各ピクチャタイプの複雑度履歴と符号化対象ピクチャの直前の符号化済みピクチャの複雑度履歴とに基づいて、符号化対象ピクチャの推定複雑度を推定する。
図5で示すように動画像符号化装置は、少なくとも複雑度算出部181と、複雑度推定部186とにより構成される。
複雑度算出部181は、Iピクチャ、Pピクチャ、およびBピクチャにより構成される動画像の符号化によって発生した符号量と符号化に用いられた量子化幅とに基づいて各ピクチャタイプの複雑度履歴を算出する。
複雑度推定部186は、符号化済みピクチャの各ピクチャタイプの複雑度履歴と符号化対象ピクチャの直前の符号化済みピクチャの複雑度履歴とに基づいて、符号化対象ピクチャの推定複雑度を推定する。
上述の動画像符号化装置は、内部にコンピュータシステムを有してよい。この場合、上述した各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われてよい。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
本願は、2018年7月3日に、日本に出願された特願2018-126644号に基づき優先権を主張し、その内容をここに援用する。
1 動画像符号化装置
11 直交変換部
12 量子化部
13 符号化部
14 逆量子化部
15 逆直交変換部
16 画面内予測部
17 画面間予測部
18 符号量制御部
181 複雑度算出部
182 第一複雑度バッファ
183 第二複雑度バッファ
184 第三複雑度バッファ
185 第四複雑度バッファ
186 複雑度推定部
187 量子化幅決定部
11 直交変換部
12 量子化部
13 符号化部
14 逆量子化部
15 逆直交変換部
16 画面内予測部
17 画面間予測部
18 符号量制御部
181 複雑度算出部
182 第一複雑度バッファ
183 第二複雑度バッファ
184 第三複雑度バッファ
185 第四複雑度バッファ
186 複雑度推定部
187 量子化幅決定部
Claims (8)
- ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出する符号化部と、
前記符号量と前記符号化に用いられた量子化幅とに基づいて符号化済みの前記ピクチャの複雑度履歴を算出する複雑度算出部と、
符号化すべき符号化対象ピクチャの推定複雑度を、前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と、前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて推定する複雑度推定部と、
を備える動画像符号化装置。 - 前記符号化対象ピクチャの前記符号化に用いる量子化幅を前記推定複雑度と目標符号量とに基づいて決定する量子化幅決定部と、
前記量子化幅に基づいて前記符号化対象ピクチャの量子化を行う量子化部と、
を備える請求項1に記載の動画像符号化装置。 - 前記複雑度推定部は、前記直前の前記符号化済みピクチャのピクチャタイプが前記符号化対象ピクチャのピクチャタイプと異なるか否かにかかわらず、前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と、前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて、前記符号化対象ピクチャの前記推定複雑度を推定する
請求項1または請求項2に記載の動画像符号化装置。 - 前記複雑度推定部は、さらに前記符号化対象ピクチャの直前の前記符号化済みピクチャの推定複雑度履歴に基づいて、前記符号化対象ピクチャの前記推定複雑度を推定する
請求項1から請求項3の何れか一項に記載の動画像符号化装置。 - 前記複雑度推定部は、前記符号化対象ピクチャの直前の前記符号化済みピクチャの前記推定複雑度履歴に対する前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴の割合に、前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴を乗じて、前記符号化対象ピクチャの前記推定複雑度を推定する
請求項4に記載の動画像符号化装置。 - 前記符号化済みの前記ピクチャの前記複雑度履歴を、前記ピクチャタイプ毎に記憶する複数のバッファを有し、
前記複雑度推定部は、前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴を前記複数のバッファのうちいずれか1つから読み出す請求項1~5のいずれか1項に記載の動画像符号化装置。 - ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出し、前記符号量と前記符号化に用いられた量子化幅とに基づいて符号化済みの前記ピクチャの複雑度履歴を算出し、
符号化すべき符号化対象ピクチャの推定複雑度を、前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と、前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて推定する
動画像符号化方法。 - 動画像符号化装置のコンピュータを、
ピクチャタイプとしてIピクチャ、Pピクチャ、およびBピクチャを含む動画像の符号化によって発生した符号量を算出する符号化手段、
前記符号量と前記符号化に用いられた量子化幅とに基づいて符号化済みの前記ピクチャの複雑度履歴を算出する複雑度算出手段、
符号化すべき符号化対象ピクチャの推定複雑度を、前記符号化対象ピクチャのピクチャタイプと同一のピクチャタイプの前記複雑度履歴と、前記符号化対象ピクチャの直前の前記符号化済みピクチャの複雑度履歴とに基づいて推定する複雑度推定手段、
として機能させるプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/257,670 US11323703B2 (en) | 2018-07-03 | 2019-06-18 | Moving-image encoding device, moving-image encoding method, and program |
| JP2020528770A JP7001159B2 (ja) | 2018-07-03 | 2019-06-18 | 動画像符号化装置、動画像符号化方法、プログラム |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018126644 | 2018-07-03 | ||
| JP2018-126644 | 2018-07-03 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020008858A1 true WO2020008858A1 (ja) | 2020-01-09 |
Family
ID=69059337
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/024014 Ceased WO2020008858A1 (ja) | 2018-07-03 | 2019-06-18 | 動画像符号化装置、動画像符号化方法、プログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11323703B2 (ja) |
| JP (1) | JP7001159B2 (ja) |
| WO (1) | WO2020008858A1 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114630120B (zh) * | 2020-12-14 | 2024-03-29 | 瑞昱半导体股份有限公司 | 基于自适应压缩率的视频压缩方法与电路系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008182408A (ja) * | 2007-01-24 | 2008-08-07 | Pioneer Electronic Corp | 動画像符号化装置及び方法 |
| JP2017123545A (ja) * | 2016-01-06 | 2017-07-13 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置及び映像符号化プログラム |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3872849B2 (ja) | 1996-11-28 | 2007-01-24 | 松下電器産業株式会社 | 動画像符号化装置 |
| JP4364350B2 (ja) | 1999-07-06 | 2009-11-18 | 富士通株式会社 | 可変レート動画像符号化装置 |
| JP3812267B2 (ja) | 2000-02-21 | 2006-08-23 | 日本ビクター株式会社 | 動画像符号化装置及びその方法 |
| JP4257655B2 (ja) | 2004-11-04 | 2009-04-22 | 日本ビクター株式会社 | 動画像符号化装置 |
| JP2009188826A (ja) | 2008-02-07 | 2009-08-20 | Toshiba Corp | 動画像符号化装置 |
| US20140328384A1 (en) * | 2013-05-02 | 2014-11-06 | Magnum Semiconductor, Inc. | Methods and apparatuses including a statistical multiplexer with global rate control |
| JP6871727B2 (ja) * | 2016-11-29 | 2021-05-12 | キヤノン株式会社 | 撮像装置、画像処理方法、及び、プログラム |
-
2019
- 2019-06-18 JP JP2020528770A patent/JP7001159B2/ja active Active
- 2019-06-18 WO PCT/JP2019/024014 patent/WO2020008858A1/ja not_active Ceased
- 2019-06-18 US US17/257,670 patent/US11323703B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008182408A (ja) * | 2007-01-24 | 2008-08-07 | Pioneer Electronic Corp | 動画像符号化装置及び方法 |
| JP2017123545A (ja) * | 2016-01-06 | 2017-07-13 | 日本電信電話株式会社 | 映像符号化方法、映像符号化装置及び映像符号化プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US11323703B2 (en) | 2022-05-03 |
| JPWO2020008858A1 (ja) | 2021-05-13 |
| US20210274169A1 (en) | 2021-09-02 |
| JP7001159B2 (ja) | 2022-01-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6335365B2 (ja) | 復号装置 | |
| CN104885455B (zh) | 一种用于视频编码的计算机实现的方法及装置 | |
| US8582898B2 (en) | Method and apparatus for encoding and decoding image based on code table selection adapted to residual value distribution | |
| KR20170063895A (ko) | 비디오 코딩을 위한 해시 기반 인코더 결정 | |
| JP2008283303A (ja) | 画像符号化装置及び画像符号化方法 | |
| US8861596B2 (en) | Image encoding device and image encoding method | |
| WO2019001283A1 (zh) | 编码分辨率控制方法及装置 | |
| JP5613319B2 (ja) | 映像符号化装置、映像符号化方法および映像符号化プログラム | |
| JP5173409B2 (ja) | 符号化装置および符号化装置を備えた動画像記録システム | |
| JP6470191B2 (ja) | 映像符号化方法、映像符号化装置及び映像符号化プログラム | |
| US20110019735A1 (en) | Image encoding device and image encoding method | |
| JP7343817B2 (ja) | 符号化装置、符号化方法、及び符号化プログラム | |
| EP3552395B1 (en) | Motion compensation techniques for video | |
| KR101391397B1 (ko) | 부호량 제어 방법 및 장치 | |
| WO2020008858A1 (ja) | 動画像符号化装置、動画像符号化方法、プログラム | |
| US8755617B2 (en) | Image encoding device and image encoding method | |
| JP4942208B2 (ja) | 符号化装置 | |
| JP4857243B2 (ja) | 画像符号化装置及びその制御方法、コンピュータプログラム | |
| JP2024115731A (ja) | 映像符号化装置、および、映像符号化方法 | |
| CN102202220B (zh) | 编码设备及其控制方法 | |
| JP7560995B2 (ja) | 符号化装置及びプログラム | |
| JP4962609B2 (ja) | 動画像符号化装置及び動画像符号化プログラム | |
| JP4406887B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
| US10264260B2 (en) | Moving picture encoding in which base quantization is based on corrected macroblock complexity | |
| JP2008153802A (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: 19831567 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020528770 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19831567 Country of ref document: EP Kind code of ref document: A1 |