WO2009035143A1 - 画像処理装置及び方法 - Google Patents

画像処理装置及び方法 Download PDF

Info

Publication number
WO2009035143A1
WO2009035143A1 PCT/JP2008/066910 JP2008066910W WO2009035143A1 WO 2009035143 A1 WO2009035143 A1 WO 2009035143A1 JP 2008066910 W JP2008066910 W JP 2008066910W WO 2009035143 A1 WO2009035143 A1 WO 2009035143A1
Authority
WO
WIPO (PCT)
Prior art keywords
quantization
code amount
unit
prediction
data
Prior art date
Application number
PCT/JP2008/066910
Other languages
English (en)
French (fr)
Inventor
Shojiro Shibata
Takeshi Shibata
Kyohei Koyabu
Takaaki Fuchie
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to CN200880008264.4A priority Critical patent/CN101637026B/zh
Priority to JP2009532266A priority patent/JP5365518B2/ja
Priority to US12/530,643 priority patent/US8238423B2/en
Publication of WO2009035143A1 publication Critical patent/WO2009035143A1/ja

Links

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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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/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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive 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/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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction

Definitions

  • the present invention relates to an image processing apparatus and method, and more particularly to a technical field for accurately predicting a target code amount from a generated code amount calculated with a fixed quantization scale.
  • the ideal code amount distribution in a still image is a state where encoding is performed with a uniform distortion (a fixed quantization scale).
  • the amount of code is such that the distortion becomes large, subjective image quality can be enhanced in addition to biasing the distortion to high-frequency components and complex parts.
  • Patent Document 1 employs a so-called feedforward type code amount control to enable control adapted to the local nature of the image quality signal, thereby enabling the encoding of the image quality signal that can improve the image quality of the decoded image.
  • a method is disclosed. In the feed-forward method, the amount of code generated in an equal length unit is calculated in advance for quantization steps based on a plurality of quantization scales. The scale is determined.
  • the present invention simplifies the process of predicting the generated code amount by predicting the generated code amount in a quantization step other than the fixed quantization step from the generated code amount calculated in the fixed quantization step, As a result, the task is to reduce the number of circuits used for computation.
  • Quantize the image data at the quantization step selected by the quantization selector to generate temporary quantized data, and quantize the generated code amount for each quantization unit of the temporary quantization data A plurality of quantizations for a plurality of prediction quantization units in which the quantization unit generation code amount is different in the quantization step selected by the quantization selection unit and the temporary encoding unit that calculates the unit generation code amount.
  • the data selection unit that selects the quantized data for prediction from the relationship information and the quantization selection unit selected from the plurality of quantization steps based on the quantized data for prediction selected by the data selection unit
  • a code amount prediction unit for predicting a quantization unit generated code amount when image data is quantized by a quantization step that has not been performed is provided.
  • Amount to select a quantization step for each quantization unit among multiple quantization steps The quantized image selected in the selected step and the quantization step selected in the selected step are quantized to generate temporary quantized data, and the generated code amount for each quantized unit of the temporary quantized data is generated.
  • a plurality of quantizations are performed for a plurality of quantized prediction data in which a quantization unit generation code amount is different in a provisional encoding step for calculating a certain quantization unit generation code amount and a quantization step selected in the quantization selection step.
  • FIG. 1 is a configuration diagram of an encoding apparatus according to the first embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating in detail the encoding process by the encoding device according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart detailing the code amount prediction process.
  • FIG. 5 is a block diagram of an encoding apparatus according to the prior art.
  • FIG. 6 is a configuration diagram of an encoding apparatus according to the second embodiment of the present invention.
  • FIG. 7 is a configuration diagram of a modification of the encoding device according to the second embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating in detail the encoding process by the encoding device according to the second embodiment of the present invention.
  • FIG. 9 is a flowchart showing details of picture coding (generated code amount collection) by the coding apparatus according to the second embodiment of the present invention.
  • FIG. 10 is a flowchart showing details of picture coding by the coding apparatus according to the second embodiment of the present invention.
  • FIG. 11 is a configuration diagram of an encoding apparatus according to the third embodiment of the present invention.
  • FIG. 12 is a flowchart showing details of picture coding (collection of generated code amount) by the coding apparatus according to the third embodiment of the present invention.
  • FIG. 13 is a flowchart showing details of picture coding by the coding apparatus according to the third embodiment of the present invention.
  • FIG. 14 is a configuration diagram of an encoding apparatus according to the fourth embodiment of the present invention.
  • FIG. 15 is a flowchart illustrating in detail the encoding process performed by the encoding apparatus according to the fourth embodiment of the present invention.
  • FIG. 16 is a flowchart illustrating a code amount prediction process according to the fourth embodiment of the present invention.
  • FIG. 17 is a flowchart for explaining the MB code amount prediction processing according to the fourth embodiment of the present invention.
  • Figure 18 is a diagram conceptually showing the fixed correction value.
  • Figure 19 is a diagram conceptually showing variable correction values.
  • FIG. 20 is a diagram illustrating a configuration of a decoding device. BEST MODE FOR CARRYING OUT THE INVENTION
  • the first embodiment of the present invention performs the following characteristic processing in an encoding method using a fixed Huffman table represented by MPEG (Moving Picture Experts Group) 12 or the like.
  • MPEG Motion Picture Experts Group
  • provisional encoding is performed in the fixed quantization step based on the fixed quantization scale QI, and the MB generation code amount for the quantization step based on all quantization scales from the MB generation code amount for each macro block. And predicting the amount of generated code for each picture by summing up the entire pitch.
  • predetermined grooving is performed for each macroblock mode indicating the state of the macroblock, and based on transition curves as relational information obtained by statistical or approximate equations for each MB generated code amount range. Estimate the amount of MB generated code.
  • an offset of quantization scale Q is added to each MB generated code amount range, and the processing of the Actiity (for example, Step 3 of TM5) that strongly quantizes the complex part of the image 6
  • the second embodiment of the present invention uses a fixed quantization scale in advance.
  • the prediction of the average quantization scale Q a of a picture is performed by performing encoding with QI and using the MB generated code amount for each macroblock. It is characterized by rate control so that the distribution of the quantization scale Q in the picture is good by predicting the target code amount of macroblock.
  • the rate control (feedback control) performed in units of macroblocks in the second embodiment is performed in units of slices. It is.
  • provisional encoding is performed in the fixed quantization step based on the fixed quantization parameter QPI in AV C.
  • the MB generated code amount is predicted for the quantization steps based on all quantization scales from the MB generated code amount by correcting the MB generated code amount predicted based on the relationship information. Is.
  • FIG. 1 shows and describes the configuration of an encoding apparatus according to the first embodiment of the present invention.
  • the encoding apparatus is compatible with MPEG-2, and includes a precoder 1, a parameter encoder 2, a macroblock code amount control unit 3, and a delay buffer 4.
  • Precoder 1 has a prediction mode decision unit 1 1, a DOT (Discrete Cosine Transform) unit 1 2, a quantization unit 1 3, an inverse quantization unit 1 4, an IDCT (Inverse Discrete Cosine Transform) unit 1 5, motion prediction and prediction It comprises an image generation unit 16, a code length calculation unit 17, a code amount grouping unit 18, and a picture code amount prediction unit 19.
  • the parameter encoder 2 includes a prediction image selection unit 21, 00 unit 22, a quantization unit 23, an inverse quantization unit 24, an IDCT unit 25, a prediction image generation unit 26, and an encoding unit. 2. Consists of 7. ::
  • precoder 1 performs pre-encoding
  • parameter encoder 2 performs main encoding
  • the precoder 1 corresponds to, for example, a provisional encoding unit
  • the parameter encoder 2 corresponds to, for example, this encoding unit
  • the macroblock code amount control unit 3 corresponds to, for example, a code amount control unit.
  • the input video signal has a picture type based on N, which determines the GOP (Group Of Pictures) period in the prediction mode determination unit 1 1, and the initial setting value M, which determines the period of the I or P picture. It is allocated periodically as IBBPBBP ... (step S1).
  • the prediction mode determination unit 11 receives the input video signal, and determines the macroblock type, the residual (MAD) from the MC image obtained by the prediction image generation unit 16, the macroblock variance, etc.
  • the prediction mode is determined from among Intra MB (MB—Intra), Forward Prediction MB (MB_FW), Backward Prediction MB (MB—BW), Bidirectional M (MB_BI), etc. (Step S 2)
  • the predicted image is converted into a frequency space by discrete cosine transform, and the DCT coefficient data is sent to the quantization unit 13.
  • This quantization: scale Q is determined by the quantization index.
  • a local decoded image is generated to obtain a predicted image based on the output of the quantization unit 13. That is, in the inverse quantization unit 14, the quantization data supplied from the quantization unit 13 is inversely quantized to reproduce DCT coefficient data. In the IDCT section 15, this DCT coefficient data is subjected to inverse discrete cosine transform to generate a local decoded image. Then, based on this local deconide image, motion prediction is performed by the prediction image generation unit 16 (steps S.4, S5) o
  • code amount prediction is performed (step S 6). More specifically, as shown in the flow chart of FIG. 3, the output of the quantization unit 1 3 (quantization data) is also sent to the code length calculation unit ⁇ 7 and is actually coded. The amount of MB generated code is counted for each macro block based on the code length of the Huffman table to be converted (step SI 1). The code amount grouping unit 1 8 is classified into groups of 16 to 32 code amounts based on the classification by macroblock type obtained by the prediction mode determination unit 1 1 and the higher bits of the MB generated code amount. (Step S1 2). This grouping (in this example 1 6 Data) is sent to the picture code amount prediction unit 19.
  • the picture code amount prediction unit 19 integrates the MB generated code amount based on a statistically calculated curve (the relationship between the quantization scale Q and the MB generated code amount, which will be described later in FIG. 4).
  • the amount of generated code is obtained (step S 1 3).
  • the average quantization scale Q a that is the basis of the picture is obtained (step S 14), and based on this average quantization scale Q a, the target code amount TargetMB for each macroblock and the macroblock single unit are determined.
  • the basic quantization scale QMB at ⁇ is determined (step S 1 5), and the processing in FIG. 3 is terminated.
  • the target code amount Target MB for each picture can be obtained by defining a predetermined offset for each curve (ie, each group) of the transition curve shown in FIG. 4 described later.
  • the tuna block code quantity control unit 3 statistically obtains the quantization scale Q of the picture and the information grouped by the code quantity grouping unit 1 &. Based on the transition curve, it is converted and set to the macrocode: the basic quantization scale QMB for each lock and the target code amount Target MB , which is the evening target.
  • parameter encoder 2 the picture type determined in precoder 1, macro block prediction mode, motion vector, and picture code quantity prediction unit 19 are determined based on: quantization scale QMB and target code quantity Targets
  • the code amount control is performed while the actual MB generated code amount is fed back (step S 7); parameter encoding is performed (step S 8). .—
  • the input video signal is input after being delayed by the delay buffer 4.
  • the macro block code amount control unit 3 instructs the macro block prediction mode, and the prediction mode is selected accordingly.
  • the DCT unit 22 performs a discrete cosine transform, and the DCT coefficient data is sent to the quantization unit 23.
  • the quantization unit 2 3 uses the quantization step quantity based on the basic quantization scale Q MB obtained by the macroblock code quantity control unit 3 for this DCT coefficient data.
  • the data is quantized and the quantized data is sent to the encoding unit 27.
  • the unit 25 and the predicted image generation unit 26 generate a local decoded image to obtain a predicted image based on the output (quantized data) of the quantization unit 23. Thus, a series of processing is completed.
  • Fig. 4 shows and explains the statistically obtained transition curve (relationship between MB quantization value and generation amount).
  • the Huffman table is fixedly used as variable length coding, and coding is performed in units of macroblocks using a combination of zero run and non-zero coefficients.
  • the target code amount to be targeted One of the features is that Tar Get MB is obtained as the MB generated code amount. That is, the encoding device is obtained when each of a plurality of image data with different MB generation code amounts (here, 1 3) is quantized using all quantization scales Q. M B.
  • Generated code amount of quantized data for prediction is stored as related information in, for example, a ROM (Read Only Memory) not shown.
  • the encoding apparatus selects the prediction quantization data closest to the MB generation code amount based on the MB generation code amount based on the selected fixed quantization scale QI, and the selected prediction quantization data.
  • MB generated code amount in Q is predicted as MB generated code amount in each quantization scale Q can do.
  • the intra macroblock 4 is different between the intra macroblock and the intra macroblock, the intra MB (MB—Intra), the forward prediction MB (MB—FW), and the backward prediction MB (MB BW) and bi-directional MB (MB-BI) prediction modes are used individually for prediction curves. :.
  • the picture code amount prediction unit 19 stores a group threshold range for each group. Then, the picture code amount prediction unit 19 determines which group range threshold the MB generated code amount of the macro block in the fixed quantization scale Q I is, and classifies the macro block into the corresponding group.
  • the prediction curve can be expressed as VirBit [mb_mode] [q-scale] [byte_group]:: ⁇ :.:-+ ⁇ .
  • mb_mode is the macroblock prediction mode (4 modes)
  • q-scale is from 1 to 31.
  • the quantization scale Q is selected from the quantization index
  • byte_group is the MB generated code amount. A group of streets.
  • the MB generation code amount GenBitPic (q—scale) at the quantization scale Q (q—scale), which is the entire screen (each picture), is calculated by 31 quantization scales Q (q_scale) as shown in the following equation. be able to.
  • GenBitPic (a scale) ⁇ VirBit [mb mode] [a scale] [byte ⁇ group] (1) That is, the picture code amount prediction unit 19 selects a group byte_group (prediction curve) classified from the prediction mode mb_mode, the fixed quantization scale QI, and the MB generated code amount in the fixed quantization scale QI for each macroblock. Then, the picture code amount prediction unit 19 determines the MB generated code amount for the quantization scale Q other than the fixed quantization scale QI indicated by the selected prediction curve corresponding to the group byte_group, other than the fixed quantization scale QI. It can be predicted as the amount of MB generated code in the quantization scale Q. Further, the picture code amount prediction unit 19 can predict the picture generation code amount for each picture by accumulating the MB generation code amount of the quantization scale Q other than the fixed quantization scale QI for each picture. it can.
  • the picture code amount prediction unit 19 uses, as related information, information corresponding to the prediction mode mb ⁇ mode and the group byte-group (that is, all groups (all prediction quantizations) for each prediction mode mb-mode. If the relation information (prediction curve)) representing the relationship between the quantization scale Q and the MB generated code amount corresponding to (data) is retained, the predicted generation amount of the macroblock can be calculated based on the prediction curve (transition curve). You can ask:
  • the picture code amount prediction unit 19 sorts based on the MB generated code amount.
  • the byte_group can be considered to include more complex image information as the MB generated code amount of Mc. .
  • the quantization scale Q (q_scale) for predicting the MB generated code amount is “1 5” and belongs to the third group from the smallest MB generated code amount, .2)
  • the predicted value of the generated code amount GenBitPic for the entire screen is as follows: : '
  • GenBitPicC q_scale pic ⁇ VirBit [mb mode] [act q_scale] [byte group]
  • the prediction unit 1 9 is based on the quantization scale Q with the offset by the activity added to the quantization scale Q to be predicted (fixed for each picture). Predict the picture generation code amount.
  • the picture code amount prediction unit 19 executes MB generation code amount prediction for each macroblock based on the addition of the offset and the prediction curve.
  • the picture code amount prediction unit 19 can predict the picture generation code amount GenBitPic based on the quantization scale Q to be predicted by accumulating the MB generation code amount for each picture.
  • act q_scale (3 ⁇ 4 scale pic) min (max, a scale pic + A [q_ sale pi cl (byte grouol), 31) (4) where min (a, b) in Eq. (4) is the smaller value of a and b, and max (c, d) is the larger value of c and d.
  • the picture code amount prediction unit 19 is less than “1” as a result of adding the offset to the quantization scale Q to be predicted, and the quantization scale Q to which the offset due to the activity is added. Is “1”.
  • the picture code amount prediction unit 1 9 also calculates the quantization scale Q to which the offset due to the activity is added if the result of adding the offset to the quantization scale Q to be predicted exceeds ⁇ 3 1 ''. 3 1 ”. In other words, the picture code amount prediction unit 19 selects the quantization scale Q to which the offset due to the activity is added from “1 to 3 1” determined by the quantization index.
  • the quantization scale Q (q_scale_target) that is close to the victim target code amount is derived as the average quantization scale Q a.
  • the macroblock basic quantization scale: Q MB and the target macro-block MB target code quantity TargetMB are predicted as follows: can do.
  • the encoding apparatus stores, as a prediction curve, the relationship between the MB generation code amount of a plurality of prediction quantized data having different MB generation code amounts and the MB generation code amount at each quantization scale Q. Then, the encoding device groups the macroblocks to be predicted based on the fixed quantization scale Q I and the MB generation code amount at the fixed quantization scale Q I and applies them to the prediction quantization data. Then, the encoding device uses the fixed quantization scale in the fitted prediction quantization data to generate the MB generation code amount in the quantization scale Q other than the QI, and generates the MB of the fitted prediction quantization data. Predict from code amount.
  • the encoding device uses a quantization step based on the fixed quantization scale QI, and the MB when using the quantization steps based on all the assumed quantization scales Q by one encoding.
  • the generated code amount can be predicted.
  • the parameter type, macro block mode, motion vector, and basic quantization scale Q MB of the predicted macro program determined by precoder 1 are used. Do the encoding. The information on the MB generated code amount of the macro program is fed back and the code amount control as described above is performed.
  • the encoding device can set the appropriate basic quantization scale Q MB and MB target code amount TargetMB according to the image based on the predicted MB generated code amount. It is made to be able to execute.
  • the basic quantization scale QMB, MB target code amount in units of macroblocks Predicted value of TargetMB can be obtained with high accuracy.
  • the precoder 1 of the encoding device starts the encoding processing procedure RT 1 when the input video signal is supplied, and in step S 1, initial setting values for determining the GOP period and the period of ⁇ and ⁇ pictures are determined. If the picture type is assigned periodically based on ⁇ , the process proceeds to the next step S2.
  • step S2 the precoder 1 determines an optimal prediction mode (mb_mode) from the target image to be encoded and the predicted image to be predicted represented by the input video signal, and selects the optimal prediction mode.
  • mb_mode an optimal prediction mode
  • the difference image data used SAD is generated, and the process proceeds to the next step S3.
  • step S 3 the precoder 1 performs orthogonal transformation on the difference image data SAD in integer block DCT in increments of block and further performs quantization using the fixed quantization scale Q ⁇ .
  • the process proceeds to the next step S4 and step S6.
  • step S4 the precoder 1 performs inverse quantization and ID CT on the quantized data, generates a verbal difference image data SAD.L, and moves to the next step S5. .
  • step S 5 the precoder 1 uses the oral difference image data SAD L as a predicted image and causes the subsequent target image to be processed in step 2.
  • step S 6 the precoder 1 proceeds to step S 11 in the code amount prediction processing procedure RT 2 (FIG. 3).
  • step S 1 the precoder 1 encodes the quantized data by the code length calculation unit 17 and generates a coded stream as a temporary quantization data, thereby generating a macro at the fixed quantization scale QI.
  • step S12 the precoder 1 encodes the quantized data by the code length calculation unit 17 and generates a coded stream as a temporary quantization data, thereby generating a macro at the fixed quantization scale QI.
  • step SI 2 the precoder 1 uses the code amount grouping unit 18 based on the prediction mode determined in step S 2 and the MB generated code amount calculated in step 11. If a macroblock to be predicted is allocated to one prediction curve (group) from the stored prediction curves (for example, 16 curves prepared for each prediction mode), the process proceeds to the next step S13. . In step S 13, the precoder 1 calculates the MB generation code amount in all quantization scales Q (q_scale) by the picture code amount prediction unit 19, and moves to the next step S 14.
  • the precoder 1 depends on which group each macro block is assigned to, as shown in the equation (2), the adaptive quantization scale Q that is obtained by increasing or decreasing the offset due to the activity with respect to the quantization scale Q. t (act_q_scale) is calculated. As shown in Eq. (3), precoder 1 calculates the MB generation code amount for each macro block when the adaptive quantization scale Q t (ac q_scale.) Is used from the assigned prediction curve. .
  • the precoder 1 calculates the picture generation code quantity for each picture as the picture generation code quantity for each quantization scale ⁇ 3 by accumulating the MB generation code quantity for each macroblock for each picture.
  • step S14 the precoder 1 selects the quantization scale Q that is smaller than the picture target code quantity and has the closest MB generated code quantity as the average quantization scale Q a (q_scale— target). Proceed to step S15.
  • step S 15 Brecker 1 uses the adaptive quantization scale Q t (act_q_scale) in the average quantization scale Q a as the basic quantization scale Q MB as shown in Equation (5), and If the MB generated code amount for each macro block in the quantization scale QMB is the target code amount TargetMB, the code amount prediction processing procedure RT 2 is terminated and the processing returns to step S 6 of the encoding processing procedure RT 1 (Fig. 2). Proceed to step S7.
  • the macroblock code amount control unit 3 controls the parameter encoder 2 by code amount control using the basic quantization scale QMB and the MB target code amount Target MB , and in step S8.
  • the main encoded stream ie, the main quantized data
  • the process proceeds to the end step and the process ends.
  • the encoding device is configured to quantize units based on the fixed quantization scale QI that is the selected quantization scale QI among the plurality of quantization steps based on the plurality of quantization scales Q.
  • a quantization step is selected for each macroblock, and DCT coefficient data as an image data is quantized by the selected quantization step to generate temporary quantization data.
  • the encoding apparatus calculates the generated code amount for each macroblock of the temporary quantized data as the MB generated code amount.
  • the encoding device uses a plurality of quantization scales Q that represent a plurality of quantization steps for a plurality of prediction quantization units having different MB generation code amounts in the quantization steps selected based on the fixed quantization scale QI. Is stored as a prediction curve, which represents the relationship between the code amount and the MB generated code amount.
  • the encoding device selects the prediction quantization data from a plurality of prediction curves based on the MB generation code amount of the temporary quantization data and the fixed quantization scale QI, and selects the selected prediction quantization data. Based on the data, the image data is obtained by a quantization step (that is, an unselected quantization step) based on a quantization scale Q other than the fixed quantization scale QI among a plurality of quantization scales Q. Predicts the amount of MB generated code when quantized. ⁇
  • the encoding device simply quantizes the DCT coefficient data to be predicted in a single quantization step selected based on the fixed quantization scale QI, and can perform multiple quantizations based on multiple quantization scales Q. In this step, it is possible to predict the MB generated code amount when the target DCT coefficient data is quantized. As a result, the coding apparatus quantizes DCT coefficient data at multiple quantization scales Q. Compared with the conventional method, the processing load can be reduced and the configuration can be simplified.
  • the encoding device predicts the generated code amount GenBitPic, which is the generated code amount of the quantized data for each picture that is the encoding unit, by accumulating the predicted MB generated code amount.
  • the encoding device can predict the picture generation code amount GenBitPic by a simple process of simply multiplying the predicted MB generation code amount.
  • the encoding device predicts the basic quantization step QMB so that the picture generation code amount.
  • GenBitPic approaches the target code amount that is the target for each picture among the plurality of quantization steps based on the plurality of quantization scales Q. .
  • the actual MB generated code amount generated at the basic quantization scale Q MB is completely unknown.
  • the amount of generated code of MB differs greatly.
  • an inappropriate basic quantization scale may be set according to the basic quantization scale before switching. .
  • the conventional code amount control generates too much code amount at the time of sequence entry, and it is necessary to suppress the code amount in the latter half of the pitch, and the lower part of the screen is more distorted than the upper part. The deterioration of was conspicuous.
  • the encoding device can set an appropriate basic quantization step QMB according to the picture represented by the picture, and can bring the actual picture generation code quantity GenBitPic closer to the picture target code quantity. Such image quality deterioration can be suppressed.
  • the encoding device also quantizes the DCT coefficient data for each macroblock unit to generate the quantized data.
  • the picture generated code amount GenBitPic of the quantized data to approach to the picture target code amount, thereby quantizing the DCT coefficient data at a variable quantization step is varied from the basic quantization Sutetsu flop Q MB.
  • the encoding device can appropriately change the basic quantization step QMB based on the code amount actually generated in the main encoding, so that the picture generation code amount GenBitPic of the quantized data is changed to the picture target code amount. Can be approached.
  • MB target code amount Target MB based on the code amount of the difference between the basic quantization scale Q MB as a target of MB generated code amount and the macro Proc MB generated code amount for each unit of the quantized data Fluctuation quantization scale changed from Quantization step by QS MB is determined.
  • the encoding apparatus the feedback control based on a difference between the MB generated code amount of the quantized de Isseki and MB target code amount TargetMB, it is possible to appropriately change the basic quantization step Q M B. For this reason, the encoding device can appropriately quantize the DCT coefficient data without causing partial image quality degradation in the entire picture due to insufficient code amount.
  • the encoding device also sets the MB generated code amount predicted based on the predicted basic quantization scale Q MB as the MB target code amount Target MB .
  • the encoding apparatus selects an average quantization step Q a in which the picture generation code amount GenBitPic is smaller than the picture target code amount ⁇ and the difference between the picture generation code amount GenBitPic and the picture target code amount is minimized, and
  • the basic quantization step Q MB is predicted by adding or subtracting the offset input as the activity increase / decrease value to the average quantization step Q a.
  • the encoding device can change the basic quantization step Q MB according to the complexity of the image, and by utilizing the human visual characteristic that it is difficult to recognize an error for a complex image, the encoding device can perform quantization.
  • the errors that occur can be made visually inconspicuous.
  • the encoding device adds an offset ⁇ corresponding to the prediction quantization data (ie, group) to the average quantization step Q a.
  • the encoding device simply needs to add the offset person according to the group, and there is no need to perform processing for adaptive quantization such as calculation of variance in DCT coefficient data. Can be simplified.
  • the encoding apparatus quantizes the DCT coefficient data for each picture by a quantization step based on the fixed quantization scale Q I (ie, the selected quantization step).
  • the encoding apparatus does not need to perform adaptive quantization when calculating the picture generation code amount GenBitPic, and can simplify the processing.
  • the encoding device stores the relationship information (that is, a plurality of prediction quantization data) for each picture type (that is, prediction mode mb_mode), and selects the prediction quantization data from the relationship information according to the pitch type.
  • relationship information that is, a plurality of prediction quantization data
  • picture type that is, prediction mode mb_mode
  • the encoding device can predict the MB generated code amount using the relational information corresponding to the 7 'cutout, so that the prediction accuracy can be improved.
  • the encoding device is: MB generation code amount in quantization step (ie, unselected quantization step) based on quantization scale Q other than fixed quantization scale QI in selected quantized data for prediction Is estimated as the MB generated code amount when the DCT coefficient data is quantized by the quantization step not selected.
  • the encoding device increases the value of the quantization scale Q.
  • the quantization scale Q increases, the zero run gradually increases and the level of the nonzero coefficient decreases. Therefore, it is possible to predict the MB generation code amount with high accuracy by using the characteristic that the MB generation code amount monotonously decreases.
  • the encoding device generates image data by performing DCT processing, which is a predetermined orthogonal transformation process, on the video input signal as the input image data.
  • DCT processing which is a predetermined orthogonal transformation process
  • the feedback at the time of this encoding is an insurance process to control the code amount, so it is possible to predict the ideal code amount distribution per picture.
  • the code amount control of the Intra Frame CBR to be used can be realized without conventional 5-stage parallel processing.
  • temporally unbalanced distortion due to excessive use of the code amount when the sequence changes which is a problem in feedback-type code amount control such as TM5, can be reduced.
  • the encoding device stores in advance the relationship between the quantization scale Q and the MB generated code amount for a plurality of prediction quantized data having different MB generated code amounts, and the fixed quantum
  • the quantization data for prediction indicating the closest MB generation code amount is selected from the MB generation code amount when the image data is quantized using the quantization scale QI.
  • the encoder uses the quantized scale other than the fixed quantization scale QI when the image data is quantized, and the MB generated code amount at the quantization scale Q other than the fixed quantization scale QI in the selected prediction quantization data.
  • the MB generated code amount when image data is quantized with a quantization scale Q other than the fixed quantization scale QI is predicted.
  • the encoding device can quantize based on the quantization scale Q other than the fixed quantization scale QI by simply quantizing the image data using the selected quantization step based on the fixed quantization scale QI.
  • the MB generation code amount when the image data is quantized can be predicted by the step (that is, the quantization step not selected).
  • the present invention differs with simple processing so that the generated code amount at different quantization steps can be accurately predicted from the generated code amount calculated at the fixed quantization step, and the circuit for performing the operation can be reduced. It is possible to realize an image processing apparatus and an image processing method capable of predicting the generated code amount in the quantization step.
  • FIG. 5 shows and describes the configuration of a coding apparatus according to the prior art.
  • the statistic calculation unit 1 0 1 calculates the allocated bit amount for one frame of the target code amount
  • the DCT unit 1 0 2 performs discrete cosine transform.
  • the DCT coefficient data is sent to the quantization unit 103.
  • the quantization unit 10 3 quantizes the DCT coefficient data on the quantization scale and sends the quantized data to the variable length coding unit 104.
  • the variable length coding unit 10 04 performs variable length coding on the quantized data and sends it to the notifier 1 0 5.
  • Buffer 1 0 5 temporarily stores transmission data and outputs it as a bit stream.
  • rate control by the rate control unit 106 is performed. That is, the virtual buffer initialization unit 1 0 7 initializes the virtual buffer, the virtual buffer update unit 1 0 8 updates the virtual buffer, and the quantization index determination unit 1 0 9 performs the quantization unit 1 0 3. Specify the quantization scale Q used in.
  • the virtual buffer has a fixed value in the encoding of the picture immediately after the sequence change or the scene change, so that the picture to be encoded differs greatly from the fixed value.
  • feedback control of the quantization scale Q caused the image quality to deteriorate because the quantization scale Q increased or decreased from the top to the bottom of the screen.
  • the quantization value of the next macroblock is quantized using the difference between the MB generated code amount and the target code amount for each macroblock.
  • the macroblock target code amount is always constant, so for images with a small code amount at the top of the screen and a large code amount at the bottom of the screen, the upper part of the screen Since a large amount of code was allocated to, and the amount of code allocated to the bottom of the screen was insufficient, ..macroblock skip could occur.
  • encoding is performed in advance with the fixed quantization scale QI, and the MB generated code amount for each macroblock is used.
  • rate control is performed so that the quantization value distribution in the picture is good.
  • FIG. 6 shows and describes the configuration of an encoding apparatus according to the second embodiment of the present invention. As shown in FIG. 6, this encoding device supports M P E G—2,
  • It consists of a pre-recorder 30 for the first pass, a rate controller 40, and a parameter encoder 50 for the second pass.
  • the precoder 30 includes a statistic calculation unit 3 1, a DCT unit 3 2, a quantization index determination unit 3 3, a quantization unit 3 4, a variable length coding unit 3 5, and a buffer 3 6.
  • the rate control unit 40 includes a virtual buffer initial value prediction unit 41, a virtual buffer update unit 42, a quantization index determination unit 43, and a macroblock target code amount prediction unit 44.
  • the parameter encoder 50 includes a quantization unit 51, a variable-length encoding unit 52, and a node 53.
  • the rate control unit 40 performs rate control in units of macro-pockets. Then, 2-pass encoding is performed for each picture. The first pass with 0 is encoded with the fixed quantization scale QI and the MB generated code amount for each macroblock is collected, and the second pass with parameter encoder 5 0 is the collected MB generated code amount. AvgQ is predicted, and MB target code amount Target MB for each macroblock is predicted, and using these predicted values, a rate control unit as a rate control means, for example, TM5 Like: Quantize scale feedback: With -late control.
  • the second pass parameter encoders 5, 0 are not equipped with a DCT unit, but as shown in FIG. 7, the format conversion macroblock unit 91, DCT This is equivalent to the configuration of the unit 92, the quantization unit 51, the variable length encoding unit 52, and the buffer 53.
  • the rate control unit 40 should be involved in this configuration. You can also.
  • Statistics calculator 3 1 calculates the allocated bit amount for one frame of the target code amount (step S 2 1). For example, when encoding 30 frames / sec at 50 Mbps, for systems such as VTR where the code amount per frame is constant, 50 Mbps is divided by 30 frames per second (50 Mbps / 30) Calculate the picture target code amount pictBits.
  • the target code amount pictBits used here is determined by the following equation.
  • pictBits KIXBitrate / (KI NI + KPx NP + KBxNB)
  • pictBits KB x Bitrate / (KIX I + KPxNP + KBxNB)
  • Bitrate is the amount of generated code per second
  • NIs NP, NB is the number of I, .P, B pictures generated per second
  • the encoding is performed twice by the precoder 30 of one pass for each picture. That is, the first time, the quantization scale is fixed, and the MB generated code amount for each macroblock is collected (step S22). The second time, the quantization scale Q is distributed using the MB generated code amount.
  • the rate control unit 40 performs rate control so as to be appropriate (step S23). In this way, it is determined whether or not it is the last picture, and the above processing is repeated until the final picture is reached (step S24). When the final picture is reached, the processing is terminated.
  • step S22 the details of the process of step S22 are shown in the flowchart 10 of FIG. That is, the first encoding is intended to collect the amount of MB generated codes, and the quantization scale Q is set to a fixed quantization scale QI (step S 3 1), and further the visual characteristics.
  • the final adaptive quantization scale Qt is determined by performing adaptive quantization using (step S32). Its adaptive quantization scale Q t
  • the quantization unit 34 performs quantization and the variable length coding unit 35 performs variable length coding (step S3 3), and the obtained MB generated code amount is stored in the buffer 36 for each macroblock. (Step S 3 4).
  • the above processing is repeated for each macro process (step S 3 5). When the final macro block is reached, the processing returns to the processing after step S 23 in FIG.
  • step S 23 details of the processing in step S 23 are shown in the flowchart of FIG. That is, in the second encoding, the correlation between the MB generation code amount and the quantization scale Q is statistically grasped in advance and stored as a conversion equation (relation information). Based on the conversion formula, the quantization scale that generates the picture generation code quantity closest to the picture target code quantity pictBits from the first picture generation code quantity is predicted as the average quantization scale avgQ. The initial value virtualBuf of this virtual buffer is determined by the following equation (step S 4 1).
  • virtualBuf is the initial value of the virtual buffer
  • pictBits is the target code of the picture
  • avgQ is the average quantization scale of the picture.
  • the initial value of the virtual buffer is calculated by dividing the value obtained by normalizing the average quantization scale avgQ by “3 1” and the picture target code amount pictBits by “2”.
  • the average quantization scale changes according to avgQ and the picture target code amount pictBits.
  • the average quantization scale avgQ is set as the basic quantization scale QMB, and the variation quantization scale QSMB is calculated for each macroblock by the following equation (step S 4 2). 31x VirtUalBufMB x 2 "...-(8)
  • QSMB is the macroblock variable quantization scale
  • virtualBuf MB is the virtual buffer at the time of macroblock processing
  • pictsBits is the target code size of the picture. That is, the variation quantization scale QSMB is calculated by multiplying “3 1” and “2” by a value obtained by dividing the virtual buffer current value virtualBufMB by the picture target code amount pictBits.
  • the picture target code amount pictBits is fixed within the same picture, so the fluctuation quantization scale QS MB changes according to the virtual buffer current value virtualBuf MB .
  • TargetBitSMB is the target code amount of the macroblock
  • pictBits is the target code amount of the picture
  • GenBitSMB is the MB generation code amount of the tuna block with the fixed quantization scale QI
  • numOfMB is the number of macro pro- cks of one picture.
  • the MB target code amount TargetMB of the macroblock is calculated as the MB ratio of MB for one picture of the MB generated code amount GenBits MB with fixed quantization scale QI. This MB is calculated by multiplying the ratio by the picture target code amount pictBits. In other words, the MB generation code amount for one picture ⁇ The MB rate is almost unchanged regardless of GenBitSMB, and the macro block when the MB generation code amount for one picture ⁇ GenBits MB becomes the picture target code amount pictBits The MB target code amount TargetMB is calculated.
  • variable quantization scale QSMB Once the variable quantization scale QSMB has been determined, the same as the first encoder Adaptive quantization is performed by the quantization unit 34 (step S43), and variable length coding is performed by the variable length coding unit 35 (step S44).
  • the quantization scale feedback control is performed to bring the picture generation code quantity close to the picture target code quantity picBits. This is based on the difference between the actual MB generation code quantity genBitSMB and the MB target code quantity Target MB. It is realized by using a variable quantization scale QSMB increased or decreased from Q MB .
  • the virtual buffer updating unit 42 adds the difference between the actual MB generated code amount genBitSMB-i and the target code amount TargetMB for each macroblock to the virtual buffer (step S46).
  • the virtual buffer current value virtualBuf MB is obtained by the following equation.
  • the reason for using the MB generated code amount genBitsMB-i one macroblock before is that there is a delay in the actual encoding. .
  • the virtual buffer current value virtualBuf MB is the actual MB generated code amount genBitSMB-! If the difference in the code amount between the target code amount and the target MB is small, there will be little fluctuation, and if the difference in the code amount is large, it will fluctuate greatly. ——: 'As a result, .. Fluctuating quantum calculated by Eq. (8).
  • ⁇ Scale QSMB value is the difference between actual MB generated code amount genBits MB _ x and MB target code amount Target MB which code amount If the difference is small, it is determined with little variation from the basic quantum scale QMB (average quantization scale Qavg).
  • the value of the floating quantization scale, QS MB depends on the virtual buffer current value virtualBuf MB if the code amount difference between the actual MB 'generated code amount genBitSMB—i and the target code amount Target MB is large. Therefore, the basic quantization scale QMB is determined to be a fluctuating value.
  • step S 47 it is determined whether or not the final macroblock has been reached (step S 47), and the above processing is performed until the final macroblock is reached. Is repeated until the final macro block is reached.
  • a high-encoding code with a good quantization scale distribution can be obtained regardless of the previous picture pattern. Will improve.
  • the encoding device When the video input signal as image data is supplied, the encoding device starts the encoding processing procedure RT 3 and determines the picture target code amount pictBits by the statistic calculation unit 31 of the precoder 30 in step S 21. Then, the process proceeds to next Step S 22. .
  • step S22 the encoding device collects the generated code amount by the precoder 30 and encodes the image data using the fixed quantization scale QI in step S4 of the code amount prediction processing procedure RT4 (Fig. 9). 3 Move to 1.
  • step S 22 the precoder 30 performs DCT processing on the image data by the DCT unit 32, determines the fixed quantization scale “ ⁇ QI” by quantization quantization and socks 3.3. Move to 32.
  • step S-32 the precoder 30 performs adaptive quantization according to the complexity of the image using the fixed quantization scale Q I. on the image data that has been DCT transformed by the quantization unit 34. When done, go to next Step S32.
  • step S33 the precoder 30 performs variable-length coding on the image data that has been subjected to adaptive quantization by the variable-length coding unit 35, and generates temporary quantized data. Proceed to step S34. In step S34, the precoder 30 generates the MB generated code amount for each macroblock of the temporary quantized data. Temporarily save GenBitSMB in buffer 36, then go to next step S35.
  • step S35 the precoder 30 determines whether or not the macroblock to be processed is the last macroblock in the current picture by the statistic calculation unit 31, and if a negative result is obtained, Return to S 3 2 and continue the code amount prediction process.
  • step S 3 5 if a positive result is obtained in step S 3 5, this indicates that the code amount prediction for the next picture should be performed. At this time, the precoder 3 0 Return to RT 3 step S 2 2 and move to next step S 2 3.
  • step S 23 the encoding apparatus performs the encoding processing procedure RT 5 (FIG. 5) for encoding the image data while performing rate control based on the MB generated code amount GenBitSMB calculated in step S 22. 1 0) Step. S 4 Go to 1.
  • step S 4 1 the rate control unit 40 of the encoding device calculates an average quantization scale avgQ based on the MB generated code amount GenBitSMB calculated in step S 2 2. Further, the rate control unit 40 calculates the initial value virtualBuf of the virtual buffer according to the equation (7) based on the average quantization scale avgQ by the virtual buffer initial value prediction unit 41 and updates it to the virtual buffer. If set to part 42, move to next step S42.
  • step S 2 the rate control unit 40 uses the quantization index determination unit 43 to set the average quantization scale avgQ as the basic quantization scale Q MB and sets the virtual buffer current value virtualBuf MB according to equation (8).
  • the rate control unit 40 uses the quantization index determination unit 43 to set the average quantization scale avgQ as the basic quantization scale Q MB and sets the virtual buffer current value virtualBuf MB according to equation (8).
  • step S 4 3 the rate control unit 4 0 uses the quantization index determination unit 4 3 to adapt the adaptive quantization scale QS according to the complexity of the image based on the variation quantization scale QS MB. t Determine MB . Then, the rate control unit 40 transmits the adaptive quantization to the quantization unit 51 of the parameter encoder 50. When the quantization unit 51 is controlled to perform quantization using the scale QS t MB , the process proceeds to the next step S 44.
  • the quantization unit 5 1 quantizes the DCT-processed image data (DCT coefficient data) supplied from the DCT unit 3 2 of the precoder 30 using the adaptive quantization scale QS t MB. It will be.
  • step S 44 the normal encoder 50 uses the variable length encoding unit 52 to quantize the quantized data quantized in step S 44.
  • An encoded stream for the evening is generated, and this is stored in the buffer 53, and the process proceeds to the next step S45.
  • step S45 the rate control unit 40 performs macroblocking according to equation (9) on the basis of the victim target code amount pictBits determined in step S21 and the MB generated code amount GenBitSMB stored in buffer 36. After calculating the MB target code amount TargetMB for the next Mouth block, the process proceeds to the next step S46.
  • step S 46 the rate control unit 40 performs the actual MB target code amount TargetMB by the virtual buffer update unit 42 and the actual macroblock temporarily stored in the buffer 53 in step S 44. Based on the MB generated code amount genBitSMB—, the virtual buffer current value virtualBufMB is calculated according to the expression (1 0) and set in the virtual buffer update unit 42. Then, the process proceeds to the next step 47.
  • the virtual buffer current value virtualBufMB is sequentially updated based on the difference in code amount between the MB target code amount Target MB and the actual MB generated code amount nBits MB — and is calculated using the virtual buffer current value virtualBuf MB.
  • step S 4 7 the rate control unit 40 determines whether or not the macroblock to be processed is the last block. If a negative result is obtained, the flow returns to step S 4 2. Continue this encoding process.
  • step S 47 if an affirmative result is obtained in step S 47, this means that the process for the next picture should be executed.
  • the encoding apparatus performs the encoding process procedure RT 3 (Fig. 8) Go back to step S 2 3 and go to next step S 2 4 Move.
  • step S 24 the encoding apparatus determines whether or not the processed picture is the final picture. If a negative result is obtained, the encoding apparatus returns to step S 22 and continues the encoding process. .
  • step S 24 the encoding apparatus moves to an end step and ends the process.
  • the encoding device uses a quantization step based on the fixed quantization scale QI (that is, based on the adaptive quantization scale Q t used for quantization) as the quantization step selected according to Equation (9).
  • the MB target code amount is obtained by multiplying the ratio of the picture target code amount pictBit to the picture generated code amount in the quantization step) to the MB generated code amount GenBits MB based on the fixed quantization scale QI. Set as TargetMB.
  • the encoding device is based on the fixed quantization scale QI! ⁇ ! B Generated code amount Calculates the ratio of the MB generated code amount GenBits MB to the picture generated code amount in the fixed quantization scale QI from GenBitSMB. Then, the encoding device adjusts the scale of the code amount by multiplying the ratio by the ratio of the amount of code generated in the fixed quantization scale QI with respect to the picture: target code amount pictBit, and then adjusting the scale of the code amount. Calculate the amount Target MB .
  • the encoding device can execute feedback control based on the appropriate MB target code amount TargetMB according to the image data, so even if the image type or sequence is switched, the MB target The code amount difference between the code amount TargetMB and the actual MB generated code amount genBitSMB can be reduced. As a result, the encoding device can handle a situation where the amount of code allocated behind the picture is insufficient. It can be prevented in advance.
  • the encoding device performs adaptive quantization using the fixed quantization scale QI by the precoder 30, so that the quantization step based on the quantization scale Q (that is, adaptive) The quantization step based on the quantization scale Q t is selected, and the image data is quantized by the selected quantization step.
  • the encoding device can calculate the picture generation code amount after performing adaptive quantization by simply accumulating the MB generation code amount GenBitSMB. Further, the encoder uses the parameter encoder 50 to use the average quantization scale Qavg as it is as the basic quantization scale QMB, and from the average quantization scale "" Qavg, (7) and (8) Quantization scale calculated according to QS MB. Adaptive quantization is performed based on QS MB . As a result, the encoding device can make quantization distortion conspicuous by adaptive quantization.
  • the encoding device determines the basic quantization scale QMB. From the related information based on the amount of generated Genbits MB based on the fixed quantization scale QI. Code amount The MB target code amount Target MB is determined based on the ratio of the code amount in the GenBitSMB picture. -As a result, the encoding device can set an appropriate basic quantization scale according to the image data.QM.B and MB: target code amount Targe iB. The entire picture can be properly encoded according to pictBit.
  • the 2-pass code amount prediction method uses the quantization scale Q (q_scale) for each macroblock obtained from the prediction curve and the MB generated code amount, and performs feedback control in units of slices. Execute.
  • FIG. 11 shows the configuration of the encoding apparatus according to the third embodiment and will be described. This As shown in FIG. 11, the encoding apparatus includes a first pass precoder 60, a rate control unit 70, and a second pass parameter encoder 80.
  • the precoder 60 includes a statistic calculation unit 61, a 07 unit 62, a fixed Q quantization unit 63, a variable length code amount calculation unit 64, and a statistic calculation unit 65.
  • the rate control unit 70 includes a quantization index prediction unit 71, a quantization index correction unit 72, an evening bit amount integration unit 73 for each slice, and a generated bit amount integration unit 74 for each picture.
  • the second pass parameter encoder 8 consists of a quantization unit 8 1, a variable length encoding unit 8 2, and a buffer 8 3. -Hereinafter, the encoding processing according to this modification will be described in detail with reference to the flowcharts of FIGS. The main flow is the same as in Figure 8.
  • step S 5 1 a fixed value is set for the quantization scale used in the fixed Q quantizer .63 (step S 5 1), and this fixed quantization is performed.
  • the DCT coefficient data after DCT by the DCT unit 6 2 is quantized by the fixed Q quantization unit 6 3.
  • the variable length code amount calculation unit 6: 4 calculates the variable length code amount (step S 5 2)
  • the amount of MB generated code for each macro block is obtained (step S 53).
  • Such processing is repeated for one picture, and it is determined whether or not processing has been performed up to the final macro block (step S54), and when the processing has been performed up to the final macro block, the process returns.
  • the statistical value calculation unit .65 uses the statistical data VirBit as the relational information in the same manner as in the first embodiment.
  • the quantization scale Q (q_scale— target) close to the raw quantity is determined as the average quantization scale Q a (step S 6 1).
  • the basic quantization scale Q MB (q 1 scale MB ) of the macroblock is determined according to equation (5) by adaptive quantization based on the average quantization scale Q a (step S 62).
  • the MB generated code amount TargetMB at this time is expressed by equation (6).
  • feedback control can be performed in units larger than macro blocks. This can be done in units such as a macro block for one line to a screen, for example, within the allowable range of the actually generated code amount that can be tolerated by the system. .
  • This unit of feedback will be referred to as a slice below.
  • the slice target code amount Targe t slice which is the target code amount for each slice, is calculated (steps S 6 5 S 6 : 6.). Feedback control in units of slices is performed by correcting only the variation q_adj for the basic quantization scale of all macroblocks corresponding to the next slice.
  • QMB. Q—scale
  • TargetBitsslice ⁇ VirBit [mb mode] fact 3 ⁇ 4 scale] [byte group]
  • GenBitsslice ⁇ GenBits (1 2)
  • TargetBitsslice is the integrated MB target code amount for the slice TargetMB
  • GenBitsslice is the actual MB generated code amount for the slice.
  • q_adj C ⁇ GenBitsslice - ⁇ TargetBitsslice) / ⁇ Deltaslice ⁇ (1 3)
  • q_adj is the basic quantization scale in the slice to be encoded next Add to (q_scale).
  • Deltaslice is a boundary value equivalent to one change of the basic quantization scale QMB (q_scale), and ⁇ means the sum from the first slice.
  • the variation value q_adj is set too large, the variation of the variation quantization scale QSMB (q_scale_adj) from the basic quantization scale QMB may become too large and diverge. Therefore, by dividing the code amount difference between the slice actual code amount GenBitsslice and the slice target code amount Target slice, which is the target code amount for each slice, by ⁇ Deltaslice, the fluctuation value q_adj is adjusted to an appropriate value. Has been made.
  • the variation quantization scale QS MB (q_scale_adj) after correcting the variation value q_adj for the next slice can be expressed as “q_scale + q—adj”, that is, the variation value q_adj for the basic quantization scale Q MB .
  • actual encoding is performed using the variation quantization scale QSMB (q_scale_adj) (step S 64). The above processing is repeated until the last slice (step S 67): When processing is performed up to the last slice, the process returns.
  • the flowchart in Fig. 12 represents the code amount prediction process to be executed in step S22 in the encoding process procedure RT 3 (Fig. 8).
  • the flowchart in Fig. 13 shows the encoding process procedure RT.3 ( This represents the main encoding process executed in step S23 in FIG.
  • step S 22 the encoding device uses the precoder 60: Code amount prediction processing procedure RT 6 (FIG. 12) for encoding image data using a fixed quantization scale QI to collect the generated code amount. ) Step S 5 1
  • step S 51 the precoder 60 performs DCT processing on the input data by the DCT unit 62 and also performs fixed quantum processing on the DCT-converted image data (DCT coefficient data). Quantization using QI Generate data. Furthermore, when the precoder 60 generates a coded stream as temporary quantized data by performing variable length coding on the temporary quantization data by the variable length code amount calculation unit 64, the following is obtained. Proceed to step S53.
  • step S 53 the precoder 60 temporarily stores the MB generated code amount GenBitSMB for each macroblock of the encoded stream in the statistic calculator, and proceeds to the next step S 54.
  • step S54 the brequator 60 determines whether or not the macro block to be processed is the final macro token in the current picture by the statistic calculator 31 and if a negative result is obtained. Return to step S 52 and continue the code amount prediction process.
  • step S54 if a positive result is obtained in step S54, this indicates that the code amount prediction process for the next pitch is to be executed.
  • the precoder 6 0 Return to step S 22 of process procedure RT 3 (Fig. 8): Go to next step S 2.3. .
  • step S 23 the encoding apparatus performs the encoding process procedure for encoding the image data (DCT coefficient denida) while performing rate control based on the MB generated code amount GenBitSMB calculated in step S 22. Go to step S 6 1 of RT 7 (HI 3).
  • step S6.1 the rate control unit 70 of the encoding device determines for each picture based on the MB generated code amount GenBitSMB calculated in step S22 by the quantized index prediction unit 71.
  • the average quantization scale Q a calculated is calculated, the next step S 6 2 is performed.
  • step S 62 the rate control unit 70 uses the quantization index prediction unit 71 to increase or decrease the offset amount due to the activity based on the average quantization scale Q a to obtain the basic quantization scale Q MB . If predicted, move to next step S 63.
  • step S 6 3 the rate control unit 70 receives the quantization index correction unit 7. Based on the basic quantization scale Q MB , the variation quantization scale QS MB changed from the basic quantization scale QMB according to the variation value q_adj is determined based on the basic quantization scale Q MB according to the equation (1 3). Move to 4.
  • step S 64 the parameter encoder 80 generates the quantized data by quantizing the image data by the quantizer 81 based on the variable quantization scale QS MB , and the variable length encoder
  • the quantized data is subjected to variable length coding by 82 to generate a coded stream as temporary quantized data, it is temporarily stored in the buffer 83, and the process proceeds to the next step S65.
  • step S 65 the rate control unit 70 calculates the slice target code amount Targe t slice by integrating the MB target code amount TargetMB according to the equation (1 4) by the evening bit amount integrating unit 73 and calculating the slice target code amount Targe t slice. Go to next step 6 6.
  • step S66 the rate control unit 70 calculates the generated code amount TargetoBitslice by accumulating the MB generated code amount GenBit MB according to the equation (1.2) by the generated bit amount integrating unit 74. To do. At this time, if the variation value q ⁇ adj is calculated according to Equation (1 3) based on the slice control code amount Targe t slice and the slice target code amount Targe t slice, the next step S 6 7 Move on.
  • step 7 the rate control unit 40 determines whether or not the slice to be processed is the final slice. If a negative result is obtained, the rate control unit 40 returns to step S62 and Continue the conversion process.
  • step S 67 if a positive result is obtained in step S 67, this indicates that the process for the next picture should be executed.At this time, the encoding apparatus performs the encoding process procedure RT 3 ( Go back to step S2 3 in Fig. 8) and move to next step S2 4.
  • the encoding apparatus sets the slice target code amount Targe t slice in units of slices, and sets the slice target code amount Targe t slice and the actual generated code amount GenBitsslice that is the actual generated code amount for each slice. Based on the difference between And execute feedback control.
  • the encoding device can execute feedback control by an appropriate feedback unit even when there is an edge boundary in the same macroblock and two different images exist. .
  • the code amount control of TM5 etc. proposed as a test model in MPEG-2 uses the relationship between the remaining amount of virtual buffer, the quantization index at the time of previous encoding, and the MB generated code amount.
  • the amount of code is controlled by feedback control.
  • Such a problem may be solved by knowing the amount of generation when quantizing with a certain value in advance.
  • the value decreases as the DCT coefficient increases from a low frequency to a high frequency. This is always true for natural images. Therefore, there is a strong correlation between the code amount of the macroblock MB and the coefficient distribution, and prediction is possible using only the code amount.
  • AVC Advanced Video Coding
  • Intra MB also predicts within the screen (image obtained by subtracting I-pred / MC images from the input image, ie, difference) Picture) and that was not true
  • the distribution of DCT coefficients in MPEG-2 is not the same. Therefore, even if the same method as that for MPEG-2 is adopted, it may not be possible to estimate the MB generated code amount with high accuracy.
  • the present invention makes it possible to predict an ideal code amount distribution per picture, and realizes CBR (constant bit rate) code amount control used in a VTR system or the like at a low cost, and also uses TM5 and the like.
  • the problem is to eliminate the temporally unbalanced distortion caused by overuse of the code amount when the sequence changes, which is a problem in the feedback type code amount control.
  • FIG. 14 shows the configuration of an encoding apparatus according to an embodiment of the present invention and will be described.
  • This encoder is compatible with the AVC standard and adopts the 2 Pass Encode method.
  • the original purpose of the Pass Encode method is to accurately estimate the MB generated code amount when encoding, and to allocate the code amount within the picture between the pictures so that the code amount is distributed with high image quality.
  • this embodiment is characterized in that it predicts the MB generated code amount when it is encoded with a certain quantized value, which is its elemental technology.
  • the encoding device includes a precoder 2 01, a parameter encoder 2 0 3, a code amount estimation processing unit 2 0 2, and a delay buffer 2 0 4.
  • Precoder 2 0 1 includes prediction mode decision unit 2 1 1, DCT (Discrete Cosine Transform) unit 2 1 2, quantization unit 2 1 3, inverse quantization unit 2 1 4, IDCT (Inverse Discrete Cosine Transform) unit 2 1 5.
  • Predicted picture generation unit 2 1 6.
  • Code length calculation unit 2 1 7.
  • the code amount estimation processing unit 20 02 includes a picture code amount prediction unit 2 2 1, a code amount grouping unit 2 2 2, and a macroblock code amount prediction unit 2 2 3.
  • the parameter encoder 2 0 3 includes a prediction image selection unit 2 3 1, a DCT unit 2 3 2, a quantization unit 2 3 3, an inverse quantization unit 2 3 4, an IDCT unit 2 3 5, and a prediction image. It consists of a generator 2 3 6 and an encoder 2 3 7.
  • the basic control of 2 Pass Encode Quantization parameters Encoding is performed to obtain information called pre-encoding using QP, and is selected based on the information obtained and statistics created in advance. Other quantization parameters that did not exist
  • the MB generated code amount when encoded with QP is predicted. That is, the precoder 1 performs pre-encoding, and the parameter encoder 2 0 3 performs main encoding.
  • the precoder 1 corresponds to, for example, provisional encoding means
  • the parameter encoder 20 3 corresponds to, for example, this encoding means
  • the code amount estimation processing unit 2 0 2 corresponds to, for example, a code amount prediction unit. To do. However, it is not limited to this. Intra pictures (difference images using in-screen prediction) are used as pictures.
  • QPI fixed quantization parameter
  • CABAC Context-Adaptive Binary Arithmetic Coding
  • the CAVL process is simpler than the CABAC process. In particular, it may take too much time for the CABAC process because the amount of binarization generated in Hardoua is too large. It is.
  • CABAC is arithmetic coding
  • CAVLC is variable length coding and the coding method is different. It also aims to reduce the circuit scale by encoding with CAVLC.
  • -variable-length coding efficiently encodes information in a specific area, and arithmetic coding can efficiently encode without specifying the area.
  • this encoder (parameter encoder 2 0 3) increases or decreases the quantization parameter QP according to the image characteristics.
  • the macroblock that is conspicuous lowers the quantization parameter QP, and the MB that is not noticeable raises the quantization parameter QP, so-called activity processing.
  • This increase / decrease value is also calculated at the time of pre-encoding to output the information for each macro block in order to increase the accuracy of estimation in this encoding.
  • Other information output by pre-encoding includes the MB generated code amount of DCT coefficient of each macro block, the MB generated code amount of header, and the number of non-zero coefficients. Note that the MB generation code amount of the DCT coefficient of each MB and the header: MB generation code amount are output separately.
  • Coef Cost a value called "Coef Cost" is calculated for each coefficient for each MB, and the total sum is also output, enabling accurate estimation.
  • the MB generated code amount of the macroblock obtained from the statistics is corrected based on this Coef Cost. ..
  • Coef Cost can be said to be an indicator of the increase in quantization parameter Q P until the coefficient becomes zero.
  • Coef Cost is a value that can be used as an indicator of how much the quantization parameter QP increases and the coefficient falls to zero.
  • the Coef Cost is calculated from the size of the coefficient. If the coefficient is 0,-0 1 is 1, 2 is 2, 2 is 3, 4 is 4, 5 is 4, 4 is 9-16 After that, it is calculated as (coefficient size / 16) + 5. .
  • the Coaf Cost is increased every 16th.
  • the Coef Cost for small quantized coefficients increases the Coef Cost increase / decrease with respect to the coefficient increase / decrease.
  • the Coef Cost for large quantization coefficients reduces the increase / decrease in Coef Cost with respect to the coefficient increase / decrease.
  • the total Coef Cost is output as information. Since the number of non-zero coefficients is output, if there is a sum, it can be calculated.
  • the input video signal has a picture type based on N, which determines the GOP (Group Of Pictures) period in the prediction mode determination unit 2 1 1, and the initial setting value M, which determines the period of the I or P picture. It is assigned periodically like IBBPBBP... (Step S 1). Subsequently, the prediction mode determination unit 2 1 1 receives the input video signal, and sets the macroblock type to the residual (.SAD) of the MC image obtained by the prediction image generation unit 16 and the tuna and block Based on the variance and the like, the prediction mode is determined, and the prediction-image is sent to the DCT unit 2 12 (step S 2). , '.
  • DCT section 2.1.2 the predicted image is transformed into frequency space by discrete cosine transform, and the DCT coefficient decoder is sent to quantization section 2 1 3.
  • a local decoded image is generated in order to obtain a predicted image based on the output of the quantization unit 2 13. That is, in the inverse quantization unit 2 1 4, the quantized data supplied from the quantization unit 2 1 3 is inversely quantized, and the DCT The coefficient data is reproduced. In the IDCT unit 2 1 5, the DCT coefficient data is subjected to inverse discrete cosine transform, and a code image is generated locally. Then, based on the low-power decoded image, motion prediction is performed by the predicted image generation unit 16 (steps S 4 and S 5).
  • the code amount prediction is performed by the picture code amount prediction unit 2 2 1 of the code amount estimation processing unit 220 (step S 6). Details will be described later with reference to FIG.
  • the Vignier quantization parameter, the evening QP is converted into the information grouped in the code amount grouping unit 2 2 2 and the statistically calculated prediction curve (transition curve).
  • the parameter QP predicted for each macroblock hereinafter referred to as the basic quantization parameter QP MB
  • the target code amount Target MB for each macroblock that becomes the target gate
  • the parameter encoder 2 0 3 uses the picture quantization obtained by the precoder 2 0 1, the prediction mode of the macroblock, the motion vector, and the basic quantization noise determined by the picture code amount prediction unit 2.2 1 QP MB Based on the target code amount Target MB , code amount control is performed while the actual MB generated code amount is feed-packed, and parameter encoding is performed (step S8).
  • the input video (: Video) signal is input after being delayed by the delay backer 4.
  • the macro block code amount prediction unit 2 2 3 sets the macro block prediction mode and selects a prediction image.
  • the DCT unit 2 3 2 performs DCT conversion and sends the DCT coefficient data to the quantization unit 2 3 3.
  • this DCT coefficient data is quantized by the basic quantization parameter QP MB obtained in the macroblock code amount prediction unit 2 2 3, and the quantized data is encoded.
  • this encoding unit 37 encoding is performed and the encoded stream is output as temporary quantized data.
  • the picture generation code amount when the GOP is quantized with a certain quantization parameter QP is calculated (step S 1 1 1). This is done by calculating the MB generated code amount when the picture is quantized with QP (step S 1 12). Specifically, it is performed by code amount prediction for each tuna block (step S 113). The code amount prediction for each macroblock will be described in detail later in FIG.
  • the picture generated code amount for each picture in the quantization parameter QP is calculated. To do. Then, by integrating the picture generation code amount, the GOP generation code amount for each GOP in the quantization parameter QP is calculated.
  • step S 1 14 it is determined whether or not the GOP generation code amount is within the target GOP target code amount. If not, the quantization parameter is changed to QP and step S 1 1 Return to 1 and repeat the above process. On the other hand, if it is within the range, this process is terminated, and the process proceeds to step S7 and subsequent steps in FIG. '
  • step S 113 of FIG. 16 Next, the macroblock code amount prediction process performed in step S 113 of FIG. 16 will be described in detail with reference to the flowchart of FIG.
  • a statistic of a representative value of 1 coefficient of Coef Cost is created for each MB Group.
  • a statistic of ⁇ representative value of the DCT coefficient code amount at which a macroblock is generated> when the quantization parameter QP is “0 to 51” is created.
  • the quantization parameter QP is "0 to 51”
  • the statistic of ⁇ Representative value where MB generated code amount fluctuates> when it deviates by 1 from the representative value> is created.
  • the macroblocks are grouped from the MB generated code amount of the DCT coefficient of the macroblock obtained by the pre-encoding of the precoder 2 0 1 (step S 1 2 1).
  • the MB generated code amount / 64 of the DCT coefficient is set as a group number (hereinafter referred to as MbGroupNo).
  • MbGroupNo group number
  • a relationship table (corresponding to the prediction curve in the first embodiment) showing the relationship between the quantization parameter QP created from the statistics as the related information and the MB generated code amount ) Is used.
  • the relationship table can be expressed as VirBits [MbGroupNo] [Qp], and is stored as a prediction table for each macroblock group number. Therefore, by using the relation table, it is possible to obtain a predicted value of the MB generation code amount of the target quantization parameter QP.
  • a prediction table in which the MB generated code amount is associated with each quantization parameter QP is set for each group number of the macroblock group, thereby forming a relation table.
  • a statistical table is set by setting the relationship table for each slice type (ie, prediction mode) for each slice. This statistical table is stored in a ROM or the like (not shown).
  • one picture predicts the amount of MB generated code for one basic quantization parameter QP (TargetQp), but the quantization parameter QP is increased or decreased for each macroblock according to the feature of the picture.
  • Step S 1 2 2 the quantization parameter QP increase / decrease value AddQp is added according to the image characteristics at the time of pre-encoding.
  • the picture generation code amount of one picture reflecting the increase / decrease value AddQp is expressed by the following equation (step S 1 2 3).
  • the MB generation code amount obtained from the table is one in the group, it is considered that the accuracy of prediction is improved by reflecting the difference in the MB generation code amount within the group. Therefore, there is a difference between the MB generation code amount obtained by pre-encoding and the VirBits [SHceType] [MbGroup] [Quantity parameter parameter Q P during Pre Encode].
  • the prediction curve represented by the statistics is translated and used.
  • step S 1 25 the difference in the Coef Cost of the same group of statistics as the Coef Cost at the time of pre-processing code is obtained (step S 1 25). The reason is explained below.
  • This Coef Cost is calculated from the size of the coefficient. If the value is small, even if the quantization parameter QP slightly increases, it indicates that there are many coefficients that become zero coefficient. Even if QP slightly increases, there are few coefficients that become zero coefficients. In coding conforming to the AVC standard, increasing the number of zero coefficients tends to greatly reduce the amount of MB generated code, so this value is used to correct the error. This variable correction value is conceptually illustrated in FIG. '
  • the vertical axis represents the code amount
  • the horizontal axis represents the quantization parameter QP.
  • the variable correction value CorrectBits is obtained from the ratio of the Coef Cost per coefficient and the number of generated bits, and correction is performed. .
  • the fixed quantization parameter that actually calculated the MB generated code amount is used around the MB generated code amount in the QPI, and the slope of the prediction curve represented by the statistic is changed by the variable correction value CorrectBits. .
  • the Coef Cost per coefficient of the macroblock is calculated by the deviation CostDiff from the Ceof Cost per coefficient of the group created by the statistics. This is expressed as follows. '
  • CostDiff Coef Cost per coefficient— Coef Cost [MbGroup]
  • the correction value for the difference in Coef Cost is calculated from the statistics, and the MB raw code amount is obtained (step S 26).
  • the variable correction amount CorrectBits is obtained from the following equation by referring to the increase / decrease table that indicates how much the MB generated code amount increases / decreases if the Coef Cost per coefficient calculated from the statistics is different.
  • CorrectBits RatioCostBits [SliceType] [MbGroupNo] [TargetQp + AddQp] * CostDiff (1 7)
  • QP the number of Coef Costs deviates from the ⁇ representative value of the Coef Cost of 1 coefficient> by 1 ⁇ MB generated code value representative value (hereinafter referred to as the correction coefficient RationCostBit)>
  • RationCostBit the correction coefficient
  • the amount of MB generated code is calculated by multiplying the correction coefficient RationCostBit selected from the quantization parameter QP (TargetQp + AddQp) reflecting the slice picture type, macro group number, and increment / decrement value AddQp by the deviation amount CostD f It is calculated by doing so.
  • correction is performed using information called Coef Cost per coefficient, but it is necessary to calculate information called Coef Cost.
  • Coef Cost information called Coef Cost
  • the prediction accuracy is somewhat reduced, but the Coef Co per coefficient can of course be substituted with the generated code amount per coefficient.
  • the statistic to be generated is the generated code amount when the representative value of the generated code amount of one coefficient deviates from the ⁇ representative value of the generated code amount of one coefficient by one coefficient>. Is a representative value that fluctuates. ”
  • the quantization parameter is unchanged when QP is between 0 and 26, and fixed bit ( A bits). If the average amount of generated code in MB Header in pre-encoding is 1MB or more and A bits or more and quantization parameter QP is 27-39, quantization parameter is 1MB when QP is 40 Stop by linear interpolation to achieve A bits.
  • the fixed quantization parameter QP I is set to a quantization parameter QP (for example, a value of about “10 to 20”) that is often used during parameter encoding. Has been.
  • the encoding device uses the characteristic that the MB generated code amount in the header part does not vary greatly even when the quantization parameter QP increases or decreases, and is close to the fixed quantization parameter QP I.
  • the MB generated code amount based on the fixed quantization parameter QP I is predicted as the MB generated code amount based on the quantization parameter QPI other than the fixed quantization parameter QP I as it is.
  • the encoding device uses the characteristic that the MB generated code amount in the header part hardly changes, and the quantization parameter QP. Is “40” or more. Then, the fixed value “A” bit is predicted as the amount of MB generated by the quantization parameter QP I other than the fixed quantization parameter QP I.
  • the encoding device uses the fixed value "A” as the MB generated code amount when the quantization parameter QP is "40".
  • Quantization parame- ters The MB generated code amount for QP I is the MB generated code amount for “26”, and the MB generated code amount is predicted by linear interpolation.
  • the encoding device can predict the MB generated code amount of the header portion with high accuracy by taking advantage of the characteristics of the bed portion and simple processing. Then, the encoding apparatus sets the MB target code amount Targets and the basic quantization parameter QP MB in the same manner as in any of the first to third embodiments, and executes the above-described: Renito control. Has been made.
  • the feedback at the time of this encoding is an insurance process for controlling the code amount. For this reason, it is possible to predict the ideal code amount distribution per picture, and CBR code amount control used in VTR systems can be realized with low cost. In addition, it eliminates temporally unbalanced distortion caused by excessive use of code amount when the sequence changes, which is a problem in feedback type code amount control such as TM5. Can do.
  • the image quality is improved.
  • more accurate rate allocation for each macroblock can be performed regardless of the picture of the picture, and image quality is improved. This can prevent the macro block skip at the bottom of the screen due to insufficient code amount in some images.
  • the picture code amount prediction unit 2 2 1 of the encoding device is supplied with an encoding stream (provisional quantization data) based on the quantized data quantized by the fixed quantum ⁇ : parameter QP. Then, the code amount grouping unit 2 2 2 2 classifies the macro block into a group based on the generated code amount GenBitMB and the picture type for each macro block of the code stream, and proceeds to the next step S 1 2 2.
  • step S 2 2 2 the picture code amount prediction unit 2 2 1 determines whether the macro block code amount prediction unit 2 2 3 performs prediction according to the feature of the image calculated at the time of precoding by the precoder 2 0 1. Increase / decrease value AddQP is added to the quantization parameter QP, and the adaptive quantization parameter QP t is calculated. Then, the process proceeds to the next step S 1 2 3.
  • step S 1 2 3 The picture code quantity prediction unit 2 2 1 uses the macro process code quantity prediction unit 2. 2 3 to select one relation table from the statistical table based on the macroblock picture dive. If a single prediction table is selected based on the group into which the macroblock is classified and the MB generated code amount in the adaptive quantization lame of the macroblock QP t is read, Move on to step S 1 2 4. ...
  • step S 1 2 4 the picture code amount prediction unit 2 2 1 performs the fixed quantization parameter in the prediction table selected by the macroblock code amount prediction unit 2 2 3 and the MB generated code amount GenBit MB at the time of pre-recording. Overnight Calculate the difference value DiffBits from the generated code amount in QP according to Eq. (15). Go to next step S 1 2 5.
  • step S 1 2 5 the picture code amount prediction unit 2 2 1 uses the macro block code amount prediction unit 2 2 3 to calculate the sum of the Coef Cost for each macroblock by the number of non-zero coefficients (that is, the number of non-zero coefficients). ) Calculate the Coef Cost per coefficient by dividing by.
  • the macroblock code amount prediction unit 2 2 3 calculates the Coef Cost per coefficient of the macroblock calculated at the time of precoding and the fixed quantization parameter QP of the group into which the macroblock is classified.
  • the difference CostDiff from the Coef Cost per coefficient is calculated according to the equation (1 6)
  • the process proceeds to the next step S 1 26.
  • step S 1 2 6 the picture code amount prediction unit 2 2 1 performs correction stored by the macroblock code amount prediction unit 2 2 3 for each picture type, group, and adaptive quantization parameter QP t value. Select the corresponding correction factor RatioCostBit from the information. Furthermore, the make-up block code amount prediction unit 2 2.3 multiplies the selected correction coefficient by the difference value CostDiff calculated in step S 1 25 to obtain the correction value CorrectBits according to the equation (1 7). calculate.
  • the macro-procedure code amount predicting unit 2 2 3 performs step S 1 .2 on the MB generated code amount in the adaptive quantization parameter Q P t read in step S 1 2 4.
  • the decoding device 300 decodes the encoded stream using the setting information set in the encoded stream. Specifically, the decoding device 3 00 supplies this encoded stream to the decoding unit 3 0 1. The decoder 3 0 1 decodes this encoded stream to generate quantized data, and The quantization unit 3 0 2 is supplied.
  • the inverse quantization unit 3 0 2 restores the image data composed of DCT coefficients by inversely quantizing the quantized data using the quantization parameter QP set in the setting information.
  • Supply to IDCT section 3 0 3. 1 0 (Ding unit 30 03 performs IDCT processing on the image data and supplies the difference image data SAD to the predicted image addition unit 30 04.
  • the predicted image addition unit 30 04 is the difference image data. For SAD, the prediction value predicted by the inverse intra prediction process and the motion prediction process is added, and a video output signal representing the image is generated and output to an external device (not shown). .
  • the encoding apparatus quantizes the image stream and temporarily encodes the encoded stream that has been encoded by an encoding method in which the amount of generated macroblocks does not vary greatly depending on the region.
  • the encoding device obtains a prediction table as a quantization table for prediction, and fixed quantization in the prediction table.
  • Parameter parameter. Quantization parameter other than QPI Quantization step based on QP (ie, selected quantization parameter) By correcting the MB generated code amount in the quantization step) using the variable correction value CorrectBits, the DCT coefficient data as an image de- coder is quantized by the unselected quantization step. Predict the amount of MB generated code. .
  • the encoding apparatus can select the selected fixed quantum even when the quantization data is encoded by an encoding method in which the macroblock generation code amount does not change depending on the region. Based on the MB generated code amount calculated using QP, it is possible to predict the MB generated code amount in the quantized parameter Q P. other than the fixed quantized parameter QPI.
  • the encoding device generates DCT coefficient data (transform coefficient) as image data by performing DCT processing, which is a predetermined orthogonal transform process, on the image data, and based on the DCT coefficient data.
  • DCT processing which is a predetermined orthogonal transform process
  • Quantization parameters other than QPI in the prediction curve Quantization parameters other than QPI QP quantization step (ie not selected and Variable correction value for correcting the amount of code generated by macroblocks
  • the encoding device uses a quantization parameter based on the zero quantization step required to make the DCT coefficient zero.
  • Each Coef Cost macroblock as an index value calculated according to QP is used.
  • the total of the Coef Cost is calculated as the index sum of.
  • the encoding apparatus determines a variable correction value CorrectBits as a correction value for correcting the MB generated code amount based on the total of the Coef Cost.
  • the encoding apparatus can determine the variable correction value CorrectBits based on the Coef Cost that has a large influence on the MB generation code amount, and thus can appropriately correct the MB generation code amount. Also, the encoding device can reduce the information amount and processing load of the variable correction value CorrectBits stored by using the total of Coef Cost, compared to the case where all values of Coef Cost are used. :
  • the encoding device calculates the Coef Cost so that the increase / decrease in the Coef Cost is larger than the quantization parameter QP based on the zero quantization step with a small value. ⁇ This allows the encoder to increase or decrease the Coef Cost for DCT coefficients that are likely to be “0” as the quantization parameter Q P. increases. The amount of fluctuation can be directly reflected in Coef Cost. Further, the encoding device is the Coef Cost per number of non-zero coefficients whose DCT coefficients are not zero. 1. The variable correction value CorrectBits is determined based on the Coef Cost per coefficient. No
  • the number of non-zero coefficients that have a large effect on the amount of MB generated code can be used as a factor in determining the variable correction value C0rrectBits. Accuracy can be improved.
  • the coding device uses a quantization step based on the QP quantization factor other than the fixed quantization parameter QPI for which the Coef Cost per number of non-zero coefficients whose DCT coefficients are not zero and the MB generated code amount are predicted (QPI) That is, the variable correction value CorrectBits is determined based on the quantization step that is not selected.
  • the encoding device can determine the difference between the fixed quantization parameter QPI and the quantization parameter QP other than the fixed quantization parameter QPI (ie, the selected quantization step and the unselected quantization step). Because the variable correction value CorrectBits can be determined according to the difference between the two), the prediction accuracy of the MB generated code amount by correction can be improved.
  • the encoding device corrects the MB generated code amount in the quantization step other than the fixed quantization parameter QPI of the selected prediction table according to the MB generated code amount of the encoded stream which is the temporary quantized data.
  • Variable correction value CorrectBits is determined.
  • the encoding device uses the MB generation code amount at the quantization step selected in the prediction table (quantization step based on the fixed quantization parameter QPI) to calculate the prediction quantization data represented by the prediction table.
  • the fixed correction value Difffiits is calculated as the difference value of the MB generated code amount by the selected quantization step in FIG.
  • the encoding device uses a fixed correction value Difffiits for the MB generated code amount represented by the prediction table according to a non-selected quantization parameter QP (i.e., other than the fixed quantization parameter QP I.).
  • the MB generated code amount due to the unselected quantization step is predicted.-
  • the encoding device can generate an error caused by grouping into the predicted quantization data. The difference is fixed. Since it can be corrected by the correction value Difffiits, the prediction accuracy of the MB generated code amount can be improved.
  • the encoding apparatus predicts separately the MB generation code amount of the image portion of the image data and the MB generation code amount of the double portion of the image data. .
  • the encoding apparatus can separately predict the MB generation code amount of the image portion and the header portion having different increase / decrease tendencies, so that the prediction accuracy of the MB generation code amount can be improved.
  • the encoding device uses a quantization parameter other than the fixed quantization parameter QPI that is the basis for the quantization step that was not selected based on the quantization step that is selected for the quantization parameter QP. If the first step range from 0 to 2 6 is close to the fixed quantization parameter QPI, the MB generated code amount of the header part in the fixed quantization parameter QPI is fixed quantization. Quantization parameters other than QPI Quantization parameters. The amount of MB generated code in the header part of QP.
  • the encoding device uses a fixed quantization parameter that is the basis for the quantization step that was not selected.
  • Quantization parameters other than the QPI QPI is a fixed quantization parameter that is the basis for the quantization step for which QP was selected. If the second step range is “4 0” or more, which is far from, the fixed MB generation code amount with a fixed value “A” is set to the quantization parameter other than QPI. Overnight The amount of MB generated code in the header part of QP.
  • the encoding device uses a fixed quantization parameter that is the basis for the quantization step that was not selected.
  • Quantization parameters other than QPI QP is between 0 and 26 and between 4 and 0. If the current step is the third step range from 27 to 3.9, the fixed quantization parameter that is the basis of the selected quantization step and the MB generated code amount in QP I and the fixed MB generated code amount (However, the quantization parameter QPI is calculated by linear interpolation with the maximum value “2 6” of the first step range and the minimum value “4 0” of the second step range.) Fixed Quantization Parameter Quantization parameter other than QPI The amount of MB generated code in QP.
  • the encoding device quantizes the image data and then encodes it by arithmetic coding to generate the main encoded stream as the main quantized data.After quantizing the image data, A temporary encoded stream as temporary quantized data is generated by encoding by variable length encoding obtained by appropriately changing the context. As a result, the encoding apparatus can predict the MB generated code amount of each image data by using variable-length encoding that is simpler than arithmetic encoding, thereby simplifying the configuration. In addition, by using variable length coding that changes context in an adaptive manner, Errors that occur during arithmetic coding can be reduced.
  • the encoding device can perform the fixed quantization parameter in the prediction table.
  • the fixed quantization scale Q I is set to “1
  • the present invention is not limited to this, and can be arbitrarily selected from quantization indexes of 1 to 31.
  • the macro block composed of 16 ⁇ 16 pixels is used as the quantization unit.
  • the present invention is not limited to this.
  • a sub-macro block of 8 X: 8 pixels may have 4 X 4 pixels as a quantization unit, and the number of pixels as a quantization unit is not particularly limited.
  • the coding unit may be a G 0 ⁇ consisting of a predetermined number of bits, a slice consisting of multiple macroblocks, a frame consisting of two pictures, etc., and there is no particular limitation. . --Furthermore, in the first to third embodiments described above, the case where encoding is performed in accordance with ⁇ ⁇ . ⁇ G-2 'has been described, but the present invention is not limited to this. There is no limit. The same applies to the fourth embodiment, and is not limited to the AVC standard.
  • the encoding scheme is not particularly limited, and can be applied to all encoding apparatuses that perform quantization by a plurality of predetermined quantization steps.
  • a certain MB generated code amount is present.
  • the present invention is not limited to this.
  • the relationship between the quantization scale Q or the quantization parameter QP and the MB generated code amount for a plurality of prediction quantized data is sampled discretely, and conversion based on these is obtained. It is also possible to predict the MB generation code amount of the quantized data for prediction approximately by linear interpolation, etc., and store it as related information.
  • this relationship information does not necessarily have to be generated for each picture type.
  • the number of (ie, groups) can also be set arbitrarily.
  • the parameter parameter is encoded.
  • adaptive quantization in (main coding) has been described.
  • the present invention is not limited to this, and it is not always necessary to perform adaptive quantization.
  • adaptive quantization increase / decrease in quantization step due to activity
  • pre-encoding provisional encoding
  • the MB generated code amount by other quantization steps is predicted and reflected in the target generated code amount TargetMB: by rate control.
  • the present invention is not limited to this.
  • the present invention may be used in processing for determining whether or not an encoded stream can be stored in the storage capacity of a storage medium, and processing for determining a compression rate. -.
  • variable quantization scale changed from the basic quantization scale Q is changed from the basic quantization step based on the change quantization scale QS MB or the basic quantization parameter QP.
  • the picture generation code amount was made close to the picture target code amount by quantizing with the variable quantization step based on QPSMB.
  • the present invention is not limited to this, and it is simply quantized using the basic quantization scale Q or the basic quantization parameter QP. Also good.
  • the picture generation code amount is smaller than the picture target code amount pidtBit and the nearest quantization scale Q or quantization parameter QP is used as the average quantization scale.
  • Q a was described.
  • the present invention is not limited to this.
  • the quantization scale Q that is closest to the picture target code amount pictBit may be selected. The same applies to the quantization parameter Q P.
  • variable correction value CorrectBits can be determined by various other methods. It is also possible to use Coef Cost as a single unit instead of the sum, or to compare Coef Costs rather than per factor. There is no limitation on the calculation method of Coef Cost, and a value that is simply proportional to the DCT coefficient may be used as Coef Cost.
  • the present invention is not limited to this, and can be predicted simultaneously.
  • the MB prediction code amount prediction method for the header part there is no limit to the MB prediction code amount prediction method for the header part.
  • relationship information dedicated to the header part it is also possible to use relationship information dedicated to the header part. .
  • the present invention is not limited to this, and there is no limitation on the encoding method, encoding may be performed using the same encoding method, or a ⁇ ! Encoding method may be used.
  • the image processing apparatus and method according to the first to fourth embodiments described above can be implemented as a program executed by a computer and a recording medium storing the program.
  • the above-described effects can be obtained.

Abstract

一の量子化スケールで計算した符号量から目標符号量を予測する。本発明は、固定量子化スケール(QI) においてMB発生符号量が相違する複数の予測用量子化データについて、複数の量子化ステップを表す複数の量子化スケール(Q) とMB発生符号量との関係を表す関係情報を予測曲線として記憶している。本発明は、予め定められた複数の量子化スケール(Q) のうち、マクロブロックごとに、一の固定量子化スケール(QI) で画像データを量子化して仮の量子化データを生成し、当該仮の量子化データのマクロブロック単位ごとのMB発生符号量を算出する。そして本発明は、仮の量子化データのMB発生符号量及び固定量子化スケール(QI) に基づいて複数の予測曲線から一の予測用量子化データを選択し、選択された一の予測用量子化データに基づいて、量子化選択部によって選択されなかった量子化スケール(Q) によって画像データを量子化したときのMB発生符号量を予測する。

Description

画像処理装置及び方法 技術分野
本発明は、 画像処理装置及び方法に係り、 特に固定の量子化スケールで計算し た発生符号量から精度よく目標符号量を予測する技術分野に関する。 背景技術
従来、 M P E G— 2 (Moving Picture Experts Group 2) 等の画像符号化方 式において、 符号量を理想的に配分することは、 主観的な画質を維持するための 大きな課題である。
例えば、 静止画における理想的な符号量配分とは、 歪を均一とした状態 (固定 的な量子化スケール) で符号化した状態である。 この歪が大きくなるような符号 量になると、 高周波成分や複雑部に歪を偏らせることと併せて、 主観的な画質を 高めることができる。
ここで、 例えば特許文献 1では、 所謂フィードフォワード方式の符号量制御を 採用し画質信号の局所的性質に適応した制御を可能とすることによって、 復号画 像の画質を向上できる画質信号の符号化方法が開示されている。 フィードフォヮ ード方式とは、 等長化単位において発生する符号量を、 複数の量子化スケールに 基づく量子化ステツプについて予め計算し、 発生符号量が目標符号量を超えない 範囲で、 予め適切な量子化スケールを決定するものである。
一方、 M P E G— 2でテス卜モデルとして提案されている TM5等の符号量制 御では、 仮想バッファの残量と以前エンコードした際の量子化ステップと発生符 号量の関係を用いてフィードバック制御することによって、 符号量制御を行って いる。 特許文献 1 国際公開第 W O 9 6 / 2 8 9 3 7号公報。 しかしながら、 静止画に係る上記従来技術では、 目標の符号量に近い画面全体 で均一となる平均的な量子化ステップを見つける為には、 複数回、 異なる量子化 ステップで符号量を計算して予測する必要があり、 演算するための回路に係るコ ストは大きくなる。 発明の開示
そこで、 本発明は、 固定の量子化ステップで計算した発生符号量から当該固定 の量子化ステップ以外の量子化ステツプにおける発生符号量を予測することで、 発生符号量を予測する処理を簡易にし、 結果として演算を行うための回路を削減 することを課題とする。
量子化選択部によって選択された量子化ステツプで画像デ一夕を量子化して仮 の量子化データを生成し、 当該仮の量子化デ一夕の量子化単位ごとの発生符号量 である量子化単位発生符号量を算出する仮符号化部と、 量子化選択部によって選 択された量子化ステップにおいて量子化単位発生符号量が相違する複数の予測用 量子化デ一夕について、 複数の量子化ステップと量子化単位発生符号量との関係 を表す関係情報を記憶する記憶部と、 仮の量子化デ一夕の量子化単位発生符号量 及び量子化選択部によって選択された量子化ステツプに基づいて関係情報から予 測用量子化データを選択するデータ選択部と、 データ選択部によって選択された 予測用量子化データに基づいて、 複数の量子化ステップのうち、 量子化選択部に よって選択されなかった量子化ステップによって画像データを量子化したときの 量子化単位発生符号量を予測する符号量予測部とを設けるようにした。
従って、 量子化選択部によって選択された量子化ステップで計算した発生符号 量から量子化選択部によって選択されなかった量子化ステップにおける発生符号 量を予測できる。
複数の量子化ステップのうち、 量子化単位ごとに量子化ステップを選択する量 子化選択ステツプと、 選択ステツプにおいて選択された量子化ステツプで画像デ 一夕を量子化して仮の量子化データを生成し、 当該仮の量子化データの量子化単 位ごとの発生符号量である量子化単位発生符号量を算出する仮符号化ステップと、 量子化選択ステツプで選択された量子化ステツプにおいて量子化単位発生符号量 が相違する複数の予測用量子化データについて、 複数の量子化ステップと量子化 単位発生符号量との関係を表す関係情報を記憶する記憶ステップと、 仮の量子化 デ一夕の量子化単位発生符号量及び量子化選択ステップで選択された量子化ステ ップに基づいて、 関係情報から予測用量子化デ一夕を選択するデータ選択ステツ プと、 量子化選択ステツプにおいて選択された予測用量子化データに基づいて、 複数の量子化ステップのうち、 量子化選択部によって選択されなかった量子化ス テツプによって画像データを量子化したときの量子化単位発生符号量を予測する 符号量予測ステップとを設けるようにした。
従って、 量子化選択部によって選択された量子化ステップで計算した発生符 号量から量子化選択部によって選択されなかつた量子化ステツプにおける発生符 号量を予測できる。
本発明によれば、 従って、 量子化選択部によって選^^された量子化ステップで 計算した発生符号量から量子化選択部によって選択ざれなかった量子化ステップ における発生符号量を予測でき、 簡易な処理で異なる量子化ステップにおける発 生符号量を予測し得る画像処理装置及び画像処理方法を提供することができる。 図面の簡単な説明
図 1は、 本発明の第 1の実施の形態に係る符号化装置の構成図。
図 2は、 本発明の第 1の実施の形態に係る符号化装置による符号化処理につい て詳述するフローチャート。
図 3は、 符号量予測の処理を詳述するフローチャート。
図 4は、 統計的に求めた遷移曲線 (MB量子化値と発生量の関係) を示す図。 図 5は、 従来技術に係る符号化装置の構成図。 図 6は、 本発明の第 2の実施の形態に係る符号化装置の構成図。
図 7は、 本発明の第 2の実施の形態に係る符号化装置の変形例の構成図。 図 8は、 本発明の第 2の実施の形態に係る符号化装置による符号化処理につい て詳述するフローチャート。
図 9は、 本発明の第 2の実施の形態に係る符号化装置によるピクチャ符号化 (発生符号量収集) の詳細を示すフローチャート。
図 1 0は、 本発明の第 2の実施の形態に係る符号化装置によるピクチャ符号化 の詳細を示すフローチャート。
図 1 1は、 本発明の第 3の実施の形態に係る符号化装置の構成図。
図 1 2は、 本発明の第 3の実施の形態に係る符号化装置によるピクチャ符号化 (発生符号量収集) の詳細を示すフローチャート。
図 1 3は、 本発明の第 3の実施の形態に係る符号化装置によるピクチャ符号化 の詳細を示すフローチャート。
図 1 4は、 本発明の第 4の実施の形態に係る符号化装置の構成図。
図 1 5は、 本発明の第 4の実施の形態に係る符号化装置による符号化処理につ いて詳述するフローチャート。
図 1 6は、 本発明の第 4の実施の形態による符号量予測処理について説明する フローチャート。
図 1 7は、 本発明の第 4の実施の形態による MB の符号量予測処理について 説明するフローチャート。
図 1 8は、 固定補正値を概念的に示す図。
図 1 9は、 可変補正値を概念的に示す図。
図 2 0は、 復号化装置の構成を示す図。 発明を実施するための最良の形態
以下、 図面を参照して、 本発明を実施するための最良の形態 (以下、 単に実施 の形態と称する) について詳細に説明する。 なお説明は以下の順序で行う。 (1)第 1の実施の形態 (固定量子化スケールに基づく発生符号量の予測 (M PEG - 2) )
(2 ) 第 2の実施の形態 (予測された発生符号量を用いたフィードバック制御 (MPEG— 2) )
(3)第 3の実施の形態 (スライス単位でのフィードバック制御 (MPEG—
2)
(4)第 4の実施の形態 (固定量子化スケールに基づく発生符号量の予測 (A VC) )
本発明の第 1の実施の形態は、 MPEG (Moving Picture Experts Group) 一 2等に代表される固定的なハフマンテーブルを使用する符号化方式において、 以下の特徴的な処理を行う。
即ち、 第 1に、 固定量子化スケール Q Iに基づく固定量子化ステップで仮の符 号化を行い、 マクロプロヅク毎の MB発生符号量かち全ての量子化スケールに基 づく量子化ステップについて M B発生符号量を予測し、 ピケチヤ全体分だけ積算: することでピクチャごとのピクチャ発生符号量を予測する。 第 2に、 マクロプロ ックの状態を示すマクロブロックモード毎に所定のグルービングを行い、 MB発 生符号量のレンジ毎に統計的或いは近似式により求めた関係情報としての遷移曲 線を基に MB発生符号量を見積もる。 そして、 第 3に、 MB発生符号量のレンジ 毎に量子化スケール Qのオフセッ トを付与するよう.にして、 画像の複雑部ほど強 く量子化する Acti ity (例えば、 TM5の Step3)の処理を行う 6
本発明の第 2の実施の形態は、 事前に固定量子化スケール. Q Iでェンコ一ドを 行いマクロプロック毎の M B発生符号量を利用して、 ピクチャの平均量子化スケ —ル Q aの予測、 マクロプロックの目標符号量の予測、 を行うことにより、 ビク チヤ内の量子化スケール Qの分布が良好になるようなレート制御を行うことを特 徴としている。
本発明の第 3の実施の形態では、 第 2の実施の形態においてマクロブロック単 位で行っていたレート制御 (フィードバック制御) を、 スライス単位で行うもの である。
本発明の第 4の実施の形態は、 A V Cにおいて固定量子化パラメ一夕 Q P Iに 基づく固定量子化ステツプで仮の符号化を行う。 そして第 3の実施の形態では、 関係情報を基に予測された M B発生符号量を補正することにより、 M B発生符号 量から全ての量子化スケールに基づく量子化ステップについて M B発生符号量を 予測するものである。
以下、 各実施の形態について詳述する。
( 1 ) 第 1の実施の形態
( 1 - 1 ) 符号化装置の構成
図 1には本発明の第.1の実施の形態に係る符号化装置の構成を示し説明する。 この図 1に示されるように、 符号化装置は、 M P E G— 2に対応しており、 プ レコーダ 1.、 パラメ一夕ェンコニダ 2、 マクロブ口ヅク符号量制御部 3、 ディレ ィバッファ 4を備える。 プレコーダ 1は、 予測モー ド決定部 1 1、 DOT (Discrete Cosine Transform) 部 1 2、 量子化部 1 3、 逆量子化部 1 4、 IDCT (Inverse Discrete Cosine Transform)部 1 5、 動き予測と予測画生成部 1 6、 符号長計算部 1 7、 符号量のグルーピング部 1 8、 ピクチャ符号量予測部 1 9か らなる。 そして、 .パラメ一夕エンコーダ 2は、 予測画選択部 2 1、 00 部2 2、 量子化部 2 3、 逆量子化部 2 4、 IDCT部 2 5、 予測画生成部 2 6、 符号化部 2. 7からなる。 : :
このような構成において、 プレコーダ 1はプレエンコード (Pre Encode) を 行い、 パラメ一夕エンコーダ 2は本エンコードを行うことになる。 尚、 プレコ一 ダ 1は例えば仮符号化部に相当し、 パラメ一夕エンコーダ 2は例えば本符号化部 に相当し、 マクロブロック符号量制御部 3は例えば符号量制御部に相当する。 以下、 図 2及び図 3のフローチャートを参照して、 本発明の第 1の実施の形態 に係る画像処理装置としての符号化装置による符号化処理について詳述する。 尚、 以下の処理の全部又は一部は本発明の第 1の実施の形態に係る画像処理方法とし ての画像符号化方法にも相当するものである。 入力ビデオ信号には、 予測モード決定部 1 1で GOP (Group Of Pictures) 周 期を決定する Nと、 I又は Pピクチャの周期を決定するための初期設定値 Mと を基に、 ピクチャタイプが IBBPBBP…のように周期的に割り振られる (ステツ プ S 1 ) 。 続いて、 予測モード決定部 1 1では、 該入力ビデオ信号を受けて、 マ クロブロックのタイプを、 予測画生成部 1 6で求めた MC 画との残差 (MAD) とマクロブロックの分散等に基づいて、 イントラ MB (MB— Intra) 、 前方予測 MB (MB_FW) 、 後方予測 MB (MB— BW) 、 双方向 M (MB_BI) 等の中から 予測モードが決定され、 予測画像が DCT部 1 2に送出される (ステップ S 2 )
DCT 部 1 2では、 予測画像が離散コサイン変換により周波数空間に変換され、 DCT係数デ一夕が量子化部 1 3に送出される。 この量子化部 1 3は、 DCT係数 デ一夕に対して固定的な固定量子化スケール Q I (例えば q_scale=10) に基づ く量子化ステツプを用いて量子化処理を行う (ステツプ S 3 ) ·。 尚、.この量子化: スケール Qは、 量子化インデックスにより定められる。
逆量子化部 1 4、 IDCT部 1.5では、 量子化部 1 3の出力に基づいて予測画像 を得るためにローカルデコード画像が生成される。 即ち、.逆量子化部 1 4では、 量子化部 1 3から供給される量子化デ一夕が逆量子化されて、. DCT係数データ が再生される。 IDCT部 1 5では、 この DCT係数デ タが逆離散コサイン変換 ざれて、 ローカルデコード画像が生成される。 そして、 このローカルデコニド画. 像に基づいて、 予測画生成部 1 6により動き予測が行われることになる (ステツ ブ S.4、 S 5 ) o
: 続いて、 符号量予測が行われる (ステップ S 6 ) 。 .より詳細には、 図 3のフロ 一チャートに示されるように、 量子化部 1 3の出力 (量子化デ一夕) は、 更に符 号長計算部 Γ 7にも送出され、 実際に符号化するハフマンテーブルの符号長を基 に M B発生符号量がマクロブロック毎に計数される (ステップ S I 1 ) 。 符号量 のグルーピング部 1 8では、 予測モード決定部 1 1で求められたマクロブロック タイプ別の分類と M B発生符号量の上位ビッ ト等を基に符号量が 16〜32程度の グループに分類される (ステップ S 1 2 ) 。 このグルーピング (この例では 1 6 通り) したデータは、 ピクチャ符号量予測部 1 9に送出される。 ピクチャ符号量 予測部 1 9では、 統計的に求めた曲線 (図 4で後述する量子化スケール Qと M B 発生符号量の関係) を基に M B発生符号量を積算することでピクチャ当たりのピ クチャ発生符号量を求める (ステップ S 1 3 ) 。 これに次いで、 ビクチャのベ一 スとなる平均量子化スケール Q aを求め (ステップ S 1 4 ) 、 この平均量子化 スケール Q aを基に、 マクロブロック毎の目標符号量 TargetMBとマクロブロッ ク単^ Ϊでの基本量子化スケール QMBを決定し (ステップ S 1 5 ) 、 図 3の処理 を終了する。
尚、 アクティビティを考慮する場合には、 後述する図 4の遷移曲線の各曲線毎 (すなわちグループ毎) に所定のオフセッ トを定義することで、 ビクチャ毎の目 標符号量 TargetMBが求められる。
さて、 再び図 1の説明に戻り、 上述したようにマグロプロック符号量制御部 3 では、 ピクチャの量子化スケール Q が、 符号量のグルーピング部 1 &でグルー. ピングした情報と統計的に求めた遷移曲線に基づいて、 マクロフ:ロック毎の基本 量子化スケール QMBと夕一ゲッ トとなる目標符号量 TargetMBに変換され、 設定 されることになる。
パラメ一タエンコ ダ 2では、 プレコーダ 1で求めたピク ャタイプ、 マクロ プロックの予測モード、 動きベク トル、 ビクチャ符号量予測部 1 9で決定した基 : 本量子化スケール QMBと目標符号量 Targetsに基づいて、 実際の M B発生符号 量がフィードバックされ (ステップ S 7 ) ながら符号量制御が行われ; パラメ一 夕エンコードが行われる (ステップ S 8 ) 。 .—·
即ち、 入力ビデオ信号がディレイバッファ 4による遅延処理を経て入力される。 予測モ一ド選択部 2 1では、 マクロプロック符号量制御部 3によりマクロプロッ クの予測モードが指示され、 これに従って予測モードが選択される。 DCT 部 2 2では離散コサイン変換がなされ、 DCT係数デ一夕が量子化部 2 3に送出され る。 量子化部 2 3では、 この DCT係数デ一夕に対してマクロブロック符号量制 御部 3で求められた基本量子化スケール QM Bに基づく量子化ステップによる量 子化がなされ、 量子化データが符号化部 2 7に送出される。 この符号化部 2 7で - は、 可変長符号化がなされ、 こうして符号化ストリームが出力される。 尚、 逆量 . 子化部 2 4、 10。 部2 5、 予測画生成部 2 6では、 量子化部 2 3の出力 (量子 化データ) に基づいて予測画像を得るためにローカルデコード画像が生成される。 こうして、 一連の処理を終了する。
ここで、 図 4に、 統計的に求めた遷移曲線 (MB量子化値と発生量の関係) を 示し説明する。 この図 4は、 実画像から、 取り得る量子化スケール Q ( Q=l〜 31) の全ての場合についてマクロブロック毎の M B発生符号量を求め、 イント ラ (Intra) のピクチャについてマクロブロックの発生量で 13 段階にグルーピ ングしてプロットしたものである。
M P E G— 2等では可変長符号化としてハフマンテーブルを固定的に使用して おり、 ゼロランと非ゼロ係数の組み合わせでマクロプロック単位に符号化する。
量子化スケ一-ノレ Qのィ直:を大きくするにつれてゼロランは次第に増加しでいき、 非 ゼロ係数のレベルは減少していくため、 量子化スケール Q を大きくするにつれ て、 単調減少する。 画像の異なるマクロブロックであっても、 ある量子化スケー ル Q 'の値で同程度の発生量であったマクロブロックは同程度の減少曲線を描く 傾向が確認で'きた。 しかるに、 本実施の形態に係る符号化装置では、 この特徴的 ノ な傾向に着目し、 1回の仮の符号化結果 (固定量子^:スケール Q I ) を用いて、. 目標とする目標符号量. TargetMBを M B発生符号量として求める点に特徴の一つ : がある。, . · . . . · - すなわち符号化装置は、 M B発生符号量の異なる複数 (ここでは 1 3 ) ,の画像 データを、 全ての量子化スケール Qを用いてそれぞれ量子化したときに得られる 予測用量子化データの M B.発生符号量を関係情報として例えば図示しない R O M (Read only Memory) に記憶しておく。 これにより符号化装置は、 選択された 固定量子化スケール Q Iによる M B発生符号量に基づいて、 当該 M B発生符号量 に最も近い予測用量子化データを選択し、 当該選択された予測用量子化データに おける M B発生符号量を各量子化スケール Qにおける M B発生符号量として予測 することができる。
次に、 プレコーダ 1によるプレエンコ一ドの特徴を更に詳述する。
先ず、 ピクチャ符号量予測部 1 9による符号量予測処理について詳述する。 第 1の実施の形態に係る符号化装置では、 プレコーダ 1の固定量子化スケール Q Iでの量子化後の量子化データについて、 実際に符号化に使用するハフマンテ 一ブルの符号長を基に、 マクロブロックの発生量を計算する。 例えば、 固定量子 化スケール Q I (Q=10) での M B発生符号量が 0〜512byte 程度に収まるとす るならば、 上位の 4bitで M B発生符号量を基に、 16通りに分類する。 この分類 により図 4における、 どの曲線を使用して M B発生符号量を予測するかを決定す る。 先に図 4に示したな遷移曲線は イントラのマクロブロックとイン夕一のマ クロブロックで異なるため、 イントラ MB(MB— Intra)、 前方予測 MB(MB— FW)、 後方予測 MB(MB一 BW)、 双方向 MB(MB— BI)の予測モード等で個別に予測曲線 を使用する。 : .
具体的にピクチャ符号量予測部 1 9は、 グループごとにグル プ閾値範囲を記 憶している。 そしてピクチャ符号量予測部 1 9は、 固定量子化スケール Q Iにお けるマクロプロックの M B発生符号量がどのグループ範囲閾値にあるかを判別し、 当該マクロプロックを対応するグループに分類する。
予測曲線は VirBit[mb_mode][q— scale】[byte_group]のように表すことができ る : : ·: . : - + ■ .· . · .· .
ここで、 mb_mode はマクロブロックの予測モード (4モード) 、 q— scale は 1〜31 までの.量子化ィ ンデックスから選択された量子化スケール Qの値、 byte_groupは M B発生符号量で分類した 16通りのグループである。
画面全体 (ピクチャごと) である量子化スケール Q ( q— scale) での M B発生 符号量 GenBitPic(q— scale)は、 次式のように 31 通りの量子化スケール Q ( q_scale) の分だけ求めることができる。
GenBitPic(a scale) =∑VirBit[mb mode][a scale] [byte ^group] ( 1 ) すなわちピクチャ符号量予測部 1 9は、 マクロブロックごとに予測モード mb_mode、 固定量子化スケール Q I及び当該固定量子化スケール Q Iにおける M B発生符号量から分類されたグループ byte_group (予測曲線) を選択する。 そしてピクチャ符号量予測部 1 9は、 当該グループ byte_group に該当する選択 された予測曲線が示す固定量子化スケール Q I以外の量子化スケール Qについて の M B発生符号量を、 当該固定量子化スケール Q I以外の量子化スケール Qにお ける M B発生符号量として予測することができる。 さちにピクチャ符号量予測部 1 9は、 当該固定量子化スケール Q I以外の量子化スケール Qの M B発生符号量 をピクチャごとに積算することにより、 ピクチャごとのピクチャ発生符号量を予 測することができる。
このときピクチャ符号量予測部 1 9は、 関係情報として、 予測モー ド mb^mode とグループ byte— group に相当する倩報 (すなわち予測モ一 ド mb— mode ごとに全グループ (全ての予測量子化データ) に対応する量子化スケ —ル Q及び M B発生符号量の関係を表す関係情報 (予測曲線) ) を保持しておけ ば、 予測曲線 (遷移曲線) を基にマクロブロックの予測発生量を求めることがで き:る。
, 次にピクチャ符号量予測部 1.9による Activity への対応について詳述する。 ピクチャ符号量予測部 1 9にて M B発生符号量を基に振り分けた. byte_group は. マク.ロブ口ックの M B発生符号量の多い場合ほど複雑な画像情報を含んでいるど みなせる。 .
複雑なブロックほど量子化スケール Q を大きぐするような処理ぼグループ byte— group 毎にォフセヅ トを付けることで実現できる。 このアクティビティの オフセッ トをえ [q_scale] [byte_group]とするならば、 例えば、 量子化スケール Q (例えば q_scale=15) については、 ±4程度のアクティビティをつけるとき、 次式のようにしておけばよいことになる。 A[15][byte^group] = {-4,-4,-3,-3,-2,-2,-1,0,1,2,2,3,3,4,4,4} ( 2 ) すなわちピクチャ符号量予測部 1 9は、 量子化スケール Q及びグループ byte_group ごとにオフセッ トを設定している。 ピクチャ符号量予測部 1 9は、 例えば M B発生符号量を予測する量子化スケール Q ( q_scale) が 「 1 5」 であ り、 M B発生符号量の小さいほうから 3番目のグループに属する場合、 (.2 ) 式 における左から 3番目の 「― 3」 を量子化スケ ル Q ( q_scale) の 「 1 5」 に 付加することになる
一般に、 量子化スケール Q ( q— scale) の小さいときはアクティビティを使用 する必要はないので、 オフセッ トのレンジは量子化スケール Q ( q_scale) で変 化させるようにしておき、 量子化スケール Q ( q_scale) が大きくなる程、 レン ジを大きくする方が良い。 '
この入を用いると、 画面全体のピクチャ発生符号量 GenBitPic の予測値は次 : 式のようになる。 : '
GenBitPicC q_ scale pic) =∑VirBit[mb mode] [act q_ scale] [byte group]
…… (3 )
. · すなわちピ.クチャ符号量.予測部 1 9は、 予測対象となる量子化スケ」ル Q (ピ: クチャごとに固定) に対してァクティビティによるオフセッ トを付加した量子化 スケール Qに基づくピクチャ発生符号量を予測する。 このときピクチャ符号量予 測部 1 9は、 オフセッ トの付加及び予測曲線に基づく M B発生符号量の予測をマ クロブロ^クごとに実行する。 そしてピクチャ符号量予測部 1 9は、 M B発生符 号量をピクチャごとに積算することにより、 予測対象の量子化スケール Qに基づ くピクチャ発生符号量 GenBitPicを予測することができる。 act q_scale(¾ scale pic) = min(max , a scale pic + A[q_ sale pi cl [byte grouol),31) ( 4 ) ここで、 ( 4 ) 式における min(a,b)は a,bのうち小さい値、 max(c,d)は c,dの うち大きい値を示す。
すなわちピクチャ符号量予測部 1 9は、 予測対象となる量子化スケール Qにォ フセッ 卜が付加された結果 「1」 未満となる場合には、 ァクティビティによるォ フセッ トを付加した量子化スケール Qを 「 1」 とする。 またピクチャ符号量予測 部 1 9は、 予測対象となる量子化スケール Qにオフセットが付加された結果 「3 1」 を超える場合には、 アクティビティによるオフセッ トを付加した量子化スケ —ル Qを 「3 1」 とする。 言い換えるとピクチャ符号量予測部 1 9は、 ァクティ ビティによるオフセットを付加した量子化スケール Qを、 量子化インデックスに よって定められた 「 1〜3 1」 の中から選択するようになされている。
このようにビクチャ.符号量予測部 1 9は、 画面全体の量子化スケール Q ( q_scale— pic =1〜31) の全ての場合について、 ピクチャ単位でのピケチヤ発生 符号量を求めることができ、 目標とするビクチャ目標符号量に近い量子化スケー ル Q (q_scale_target) を平均量子化スケール Q aとして導出する。
次に、 マクロプロック符号量制御部 3による量子化ィンデ'ックス決定処理につ レヽて詳述する。 このマクロブロック符号量制御部 3によるマクロブロック単位の 符号量制御ではマクロプロックの基本量子化スケ一ル: QMB と目標とするマクロ- ブロックの M B目標符号量 TargetMBを、 次式のように予測することができる。
Q,^ = act a_scale(¾ scale tareet) ( 5 ) すなわちマクロプロック符号量制御部 3は、 平均量子化スケール Q aに対して アクティビティによるオフセッ トを付加することにより、 基本量子化スケール QMBを決定する。 TargstwB = VirBittmb-inock QMBHbytG ^roup] ( 6 ) またマクロプロック符号量制御部 3は、 基本量子化スケール Q M Bにおいてマ クロブロックごとに予測される M B発生符号量を、 M B目標符号量 TargetMB と して予測する。
すなわち符号化装置は、 M B発生符号量の相違する複数の予測用量子化データ の M B発生符号量と、 各量子化スケール Qにおける M B発生符号量との関係を予 測曲線として記憶しておく。 そして符号化装置は、 固定量子化スケール Q I及び 当該固定量子化スケール Q Iにおける M B発生符号量に基づいて、 予測対象とな るマクロブロックをグルーピングし、 予測用量子化デ一夕に当て嵌める。 そして 符号化装置は、 当該当て嵌められた予測用量子化データにおける固定量子化スケ —ル Q I以外の量子化スケール Qにおける M B発生符号量を、 当該当て嵌められ た予測用量子化データの M B発生符号量から予測する。
すなわち符号化装置は、 固定量子化スケール Q Iに基づぐ量子化ステップを用 いた 1.回の符号化により、 想定されている全ての量子化スケール Qに基づく量子 化ステップを用いたときの M B発生符号量を予測することができる。
そしてパラメ一夕エンコーダ 2による本ェンコ一ドでは、 プレコーダ 1で求め たビクチャタイプ、 マクロブロックモード、 動きベクトル、 予測したマクロプロ ッグの基本量子化スケール QMB を使用して、 パラメ一夕ェンコ ドを行う。 尚、 マクロプロヅク.の M B発生符号量の情報は、 フィードバックし、.前述したような 符号量制御を行うことになる。
この結果符号化装置は、 当該予測した M B発生符号量に基づいて.画像に応じた 適切な基本量子化スケール QMB及び M B目標符号量 TargetMBを設定することが でき、 いわゆるフィードフォワードによる符号量制御を実行し得るようになされ ている。
以上説明したように、 本発明の第 1の実施の形態に係る符号化装置及び方法に よれば、 マクロブロック単位の基本量子化スケール QMB、 M B目標符号量 TargetMBの予測値を精度良く求めることができる。
( 1 - 2) 符号化処理手順
次に、 符号化プログラムに従って実行される符号化処理について、 図 2及び図 3のフローチャートを用いて説明する。
符号化装置のプレコーダ 1は、 入力ビデオ信号が供給されると、 符号化処理手 順 RT 1を開始し、 ステヅプ S 1において、 GOP周期及び Ι,Ρ ピクチャの周期 を決定するための初期設定値 Μ を基に、 ピクチャタイプを周期的に割り振ると、 次のステップ S 2へ移る。
ステップ S 2において、 プレコーダ 1は、 入力ビデオ信号が表す符号化対象と なる対象画像及び予測の対象となる予測画像から、 最適な予測モー ド (mb_mode) を決定すると共に、 当該最適な予測モードを用いた差分画像デ一 夕 SADを生成し、 次のステップ S 3へ移る。 '
ステップ S 3において、 プレコーダ 1は、 差分画像データ SADに対し、 マケ 口プロック単位で整数精度 DC Tにより直交変換を行い、 さらに固定量子化スケ —ル Q Γを用いて量子化を実行することにより、 量子化データを生成すると、 次 のステップ S 4及びステップ S 6へ移る。
- ステップ S 4において、 プレコーダ 1は、 量子化デ 夕に対して逆量子化及び I D CTを実行し、 口一カル差分画像デ一夕 SAD.Lを生成すると、 次のステツ プ S 5へ移る。 ステップ S 5において、 プレコーダ 1は、 当該口 カル差分画像 デ一夕 SAD Lを予測画像とし、 以降の対象画像に対するズテッブ 2における処 理を遂行させる。
ステップ S 6において、 プレコーダ 1は、 符号量予測処理手順 RT 2 (図 3) のステップ S 1 1へ移る。
ステップ S 1 1において、 プレコーダ 1は、 符号長計算部 1 7によって量子化 データを符号化し、 仮の量子化デ一夕として符号化ストリームを生成することに より、 固定量子化スケール Q Iでのマクロブロックごとの MB発生符号量 (すな わち仮の量子化データの MB発生符号量) を計算すると、 次のステップ S 12へ . 移る o
ステップ S I 2において、 プレコーダ 1は、 符号量のグル一ビング部 1 8によ り、 ステップ S 2において诀定された予測モード及びステップ 1 1において算出 された MB発生符号量とに基づいて、 複数記憶されている予測曲線 (例えば予測 モードごとに準備された各 1 6の曲線) の中から、 一の予測曲線 (グループ) に 予測対象となるマクロブロックを割り当てると、 次のステップ S 13へ移る。 ステップ S 13において、 プレコーダ 1は、 ピクチャ符号量予測部 1 9により、 全ての量子化スケール Q (q_scale) における M B発生符号量を、 ピクチャごと に算出すると、 次のステップ S 14へ移る。
このときプレコーダ 1は、 各マクロブロヅクがどのグループに割り当てられた かに応じて、 (2) 式に示したように、 量子化スケール Qに対してァクティビテ ィによるオフセッ トを増減した適応量子化スケール Q t ( act_q_scale) を算出 する。 プレコーダ 1は、 ( 3 ) 式に示すように、 適応量子化スケール Q t ( ac q_scale.) を用いたときのマクロプロヅクごとの M B発生符号量を、 割り 当てられた予測曲線から算出する。 .
そしてプレコーダ 1は、 このマクロブロックごとの MB発生符号量をビクチャ ごどに積算することにより、 ピクチャごとのピクチャ発生符号量を各量子化スケ 」ル<3によるピクチャ発生符号量として算出する。
ステップ S 14において、 プレコーダ 1は、 ピクチャ目標符号量よりも小ざぐ、 かつ最も近い MB発生符号量でなる量子化スケール Qを.平均量子化スケール Q a (q_scale— target) として選定すると、 次のステップ S 1 5へ移る。
ステップ S 1 5において.、 ブレコーダ 1は、 ( 5) 式に示したように、 平均量 子化スケール Q aにおける適応量子化スケール Q t (act_q_scale) を基本量子 化スケール QMBとし、 当該基本量子化スケール QMBにおけるマクロプロックご との MB発生符号量を目標符号量 TargetMB とすると、 符号量予測処理手順 RT 2を終了して符号化処理手順 RT 1 (図 2) のステップ S 6へ戻り、 次のステツ プ S 7へ移る。 ステップ S 7において、 マクロブロック符号量制御部 3は、 基本量子化スケー ル QMB及び M B目標符号量 TargetMBを用いた符号量制御により、 パラメ一夕ェ ンコーダ 2を制御しながら、 ステップ S 8においてパラメ一夕エンコーダ 2に本 エンコードを実行させることにより、 本符号化ストリーム (すなわち本量子化デ —夕) を生成すると、 終了ステップへ移って処理を終了する。
( 1 - 3 ) 動作及び効果
以上の構成によれば、 符号化装置は、 複数の量子化スケール Qに基づく複数の 量子化ステップのうち、 選択された量子化スケール Q Iである固定量子化スケ一 ル Q Iに基づいて量子化単位であるマクロプロックごとに量子化ステツプを選択 し、 当該選択された量子化ステツプで画像デ一夕としての D C T係数データを量 子化し、 仮の量子化データを生成する。 このとき符号化装置は、 当該仮の量子化 データのマクロブロック単位ごとの発生符号量を M B発生符号量として算出する。 符号化装置は、 固定量子化スケール Q Iに基づいて選択された量子化ステップ において M B発生符号量が相違する複数の予測用量子化デ 夕について、 複数の 量子化ステップを表す複数の量子化スケール Qと M B発生符号量との関係を表す 関係情報を予測曲線として記憶している。
符号化装置は、 仮の量子化デ一夕の M B発生符号量及び固定量子化スケール Q Iに基づいて複数の予測曲線から予測用量子化デ一夕を選択し、 当該選択された 予測用量子化デ 夕に基づいて、 複数の量子化スケール Qのうち、 固定量子化ス ケール Q I以外の量子化スケール Qに基づく量子化ステ.ップ (すなわち選択され なかつた量子化ステップ) によつて画像データを量子化レたとぎの M B発生符号 量を予測する。 Λ
これにより符号化装置は、 固定量子化スケール Q Iに基づいて選択ざれた 1つ の量子化ステップにおいて予測対象となる D C T係数データを量子化するだけで、 複数の量子化スケール Qに基づく複数の量子化ステツプにより当該対象となる D C T係数データを量子化したときの M B発生符号量を予測することができる。 こ の結果符号化装置は、 複数の量子化スケール Qにおいて D C T係数データを量子 化する従来の方法と比較して、 処理負荷を軽減して構成を簡易にすることができ る。
また符号化装置は、 予測した M B発生符号量を積算することにより、 符号化単 位であるビクチャごとの量子化データの発生符号量であるビクチャ発生符号量 GenBitPicを予測する。 これにより符号化装置は、 予測した M B発生符号量を積 算するだけの簡易な処理によりピクチャ発生符号量 GenBitPic を予測すること ができる。
さらに符号化装置は、 複数の量子化スケール Qに基づく複数の量子化ステツプ のうち、 ピクチャ発生符号量. GenBitPic がピクチャごとの目標となるピクチャ 目標符号量に近づくよう基本量子化ステップ QMBを予測する。
ここで上記 TM5 に代表される従来のフィードバック型の符号量制御では、 基 本量子化スケール Q M Bにょうて発生する実際の M B発生符号量が全くの未知で あるため、 M B目標符号量と実際の M B発生符号量.とが大きく相違する場合があ る。 このため従来の符号量制御では、 例えばマクロプロックごとに異なるシ一ケ ンスに切り替わる際には、 切り替わる前の基本量子化スケールに応じて不適切な 基本量子化スケールが設定される場合があった。 このような場合、 従来の符号量 制御では、 シーケンス突入時に符号量を発生しすぎてしまい、 ピケチヤ後半にお いて符号量を抑える必要が生じ、 画面下部が上部よりも歪が大きくなり.、 画質の 劣化が目立ってしまっていた。
. これに対して符号化装置は、 ピクチャが表す画像に応じた適切な基本量子化ス テヅプ QMBを設定することができ、 実際のピクチャ発生符号量 GenBitPic をピ クチャ目標符号量に近づけることができ、 かかる画質の劣化を抑制することがで きる。
また符号化装置は、 マクロブロック単位ごとに D C T係数データを量子化して 本量子化データを生成する。 このとき符号化装置は、 本量子化データのピクチャ 発生符号量 GenBitPic がピクチャ目標符号量に近づくよう、 基本量子化ステツ プ Q M Bから変動させた変動量子化ステップで D C T係数データを量子化させる。 これにより符号化装置は、 本符号化において実際に発生する符号量に基づき基 本量子化ステップ Q M Bを適宜変更することができるため、 本量子化データのピ クチヤ発生符号量 GenBitPicをピクチャ目標符号量に近づけることができる。 さらに符号化装置ば、 本量子化データの M B発生符号量とマクロプロック単位 ごとの M B発生符号量の目標となる M B目標符号量 TargetMB との符号量の差分 に基づいて基本量子化スケール Q M Bから変動させた変動量子化スケール Q S M B による変動量子化ステップを決定する。
これにより符号化装置は、 本量子化デ一夕の M B発生符号量と M B目標符号量 TargetMBとの差分に基づくフィードバック制御により、 基本量子化ステップ Q M Bを適宜変更することができる。 このため符号化装置は、 符号量の不足に起因す るピクチャ全体における部分的な画質劣化を引き起こすことなく、 適切に D C T 係数データを量子化することができる。
: また符号化装置は、 予測ざれた基本量子化スケール Q M Bに基づいて予測した M B発生符号量を、 M B目標符号量 TargetMBとする。
これにより符号化装置は、 基本量子化スケール Q M Bを決定するためのピクチ ャ発生符号量 GenBitPicの予測のために算出された M B目標符号量 TargetMBを そのまま M B目標符号量 TargetMB として用いることができるため、 処理負荷を 軽減する とができる。. .
さらに符号化装置は、 ピクチャ発生符号量 GenBitPic がピクチャ目標符号量- よりも小さぐ、 かつピクチャ発生符号量 GenBitPic 及びビクチャ目標符号量の 差分が最小となる平均量子化ステツプ Q aを選択し、 当該平均量子化ステツプ Q aに対してアクティビティ増減値としてのオフセッ ト入を加減することにより、 基本量子化ステップ Q M Bを予測する。 '
これにより符号化装置は、 画像の複雑さに応じて基本量子化ステップ Q M Bを 変動させることができ、 複雑な画像に対する誤差を認識しづらいという人間の視 覚特性を利用して、 量子化によって発生する誤差を視覚的に目立ちにく くするこ とができる。 また符号化装置は、 予測用量子化デ一夕 (すなわちグループ) に応じたオフセ ッ ト λを平均量子化ステップ Q aに対して加算する。 これにより符号化装置は、 グループに応じて単純にオフセッ ト人を加算するだけで済み、 例えば D C T係数 データにおける分散を算出などの適応量子化のための処理をわざわざ実行する必 要がなく、 処理を簡易にすることができる。
これにより符号化装置は、 固定量子化スケール Q Iに基づく量子化ステップ (すなわち選択された量子化ステップ) によりピクチャ単位の D C T係数デ一夕 を量子化する。 これにより符号化装置は、 ピクチャ発生符号量 GenBitPic を算 出する際に適応量子化をしなくて済み、 処理を簡易にすることができる。
さらに符号化装置は、 ピクチャタイプ (すなわち予測モード mb_mode) ごと に関係情報 (すなわち複数の予測用量子化データ) を記憶し、 ピケチヤタイプに 応じた関係情報から予測用量子化デ一夕を選択する。
これにより符号化装置は、 七'クチャ夕イブに応じた関係情報を用いて MB 発 生符号量を予測できるため、 予測の精度を向上させることができる。
:た符号化装置は、 D C T係数デ一夕を量子化した後に固定的なテーブルを用 いた可変長符号化である.ハフマン符号化をすることにより仮の量子化デ一夕を生 成する。 符号化装置は、:選択された予測用量子化データにおける固定量子化スケ ール Q I以外の量子化スケール Qに基づく量子化ステ ブ (すなわち選択されな かった量子化ステップ) における MB 発生符号量を、 当該選択されなかった量 子化ステ、 ブによって D C T係数データを量子化したときの M B発生符号量とし. て予測する。
これにより符号化装置は、 量子化スケール Qの値を大きぐする.につれてゼロラ ンは次第に増加していき、 非ゼロ係数のレベルは減少していくため、 量子化スケ ール Q を大きくするにつれて、 M B発生符号量が単調減少するという特性を利 用して、 高い精度で M B発生符号量を予測することができる。
さらに符号化装置は、 入力される画像デ一夕としてのビデオ入力信号に対して 所定の直交変換処理である D C T処理を施すことにより、 画像データを生成する ことにより、 符号化効率を向上させることができる。
符号化装置では、.本ェンコ一ド時のフィードバックは符号量を制御するための 保険的な処理である為、 ピクチャ当たりの理想的な符号量配分を予測することが でき、 例えば VTRシステム等で使用する Intra Frame CBRの符号量制御を従 来のように 5段の並列処理を行うことなく実現できる。 また、 TM5 等のフィー ドバック型の符号量制御で問題となる、 シーケンスの変った場合の符号量の使い 過ぎによる時間的な不均衡な歪などを低減できる。
以上の構成によれば、 符号化装置は、 予め M B発生符号量の相違する複数の予 測用量子化データについて、 量子化スケール Qと M B発生符号量との関係を記憶 しておき、 固定量子化スケール Q Iを用いて画像データを量子化したときの M B 発生符号量から、 最も近い M B発生符号量を示す予測用量子化データを選択する。 符号化装置は、 選択した予測用量子化データにおける固定量子化スケール Q I以 外の量子化スケール Qにおける M B発生符号量を、 画像データを量子化したとき の固定量子化スケール Q I以外の量子化スケール Qにおける M B発生符号量と擬 制することにより、.画像データを固定量子化スケール Q I以外の量子化スケール Qによって量子化したときの M B発生符号量を予測するようにした。 :
これにより符号化装置は、 固定量子化スケール Q Iに基づぐ選択ざれた量子化 ステップを用いて画像データを量子化するだけで固定量子化スケール Q I以外の 量子化スケ一ル Qに基づく量子化ステップ (すなわち選択されなかうた量子化ス テヅプ) によつて当該画像デ一夕を量子化したときの MB発生符号量を予測する ことができる。 かく して本発明は、 固定の量子化ステップで計算した発生符号量 から異なる量子化ステップにおける発生符号量を精度よく予測でき、 演算を行う ための回路を削減し得るよう、 簡易な処理で異なる量子化ステップにおける発生 符号量を予測し得る画像処理装置及び画像処理方法を実現できる。
( 2 ) 第 2の実施の形態
( 2 - 1 ) 符号化装置の構成
図 5には従来技術に係る符号化装置の構成を示し説明する。 同図に示されるように、 この符号化装置では、 統計量算出部 1 0 1で目標とす る符号量の 1フレーム分の割り当てビッ ト量を計算し、 DCT 部 1 0 2では離散 コサイン変換を行い DCT係数データを量子化部 1 0 3に送出する。 量子化部 1 0 3では、 この DCT係数データを量子化スケールで量子化し量子化データを可 変長符号化部 1 0 4に送出する。 可変長符号化部 1 0 4では、 量子化データを可 変長符号化し、 ノ ッファ 1 0 5に送出する。 バッファ 1 0 5は、 送信データを一 時記憶し、 ビットストリームとして出力する。 この処理の過程で、 レート制御部 1 0 6によるレート制御が行われる。 即ち、 仮想バッファ初期化部 1 0 7により 仮想バッファの初期化が行われ、 仮想バッファ更新部 1 0 8により仮想バッファ の更新がなされ、 量子化インデックス決定部 1 0 9により量子化部 1 0 3で採用 する量子化スケール Qを特定する。
しかるに、 このような従来技術では、 シーケンス先頭ピクチャやシーンチェン ジ直後ビクチャのェンコ一ドにおいては、 仮想バッファが固定値となるために、 ェンコードするピクチ が当該固定値から大きく乖離するような絵柄の場合では、 量子化スケール Qのフィードバック制御により、 画面上部から下部にかけて量子 化スケール Qが増加もしくは減少するため画質が劣化していた。 また、 この従来 技術のような量子化スケール Qのフィ一ドバッケ制御を採用した場合には、 マク ロブロック毎に M B発生符号量と目標符号量の差分値を用いて次のマケロブロッ クの量子化スケール Qを決定することになるが、 マクロプロ.ック目標符号量は常 に.一定であった為、 画面上部が符号量小、 画面下部が符号量大となる画像におい ては、 画面上部に多くの符号量を割り当ててしまい、 画面下部に割り当てる符号 量が不足する為、..マクロブロックスキップが発生することがあった。
このような問題に鑑みて、 本発明の第 2の実施の形態に係る符号化装置及び方 法では、 事前に固定量子化スケール Q Iでエンコードを行い、 マクロブロック毎 の M B発生符号量を利用して、 ビクチャの平均量子化スケール avgQの予測とマ クロブロックごとの目標符号量 TargetMBの予測を行うことにより、 ピクチャ内 の量子化値分布が良好になるようなレート制御を行うことを特徴の一つとしてい る。 以下、 その構成及び作用効果を詳述する。
図 6には本発明の第 2の実施の形態に係る符号化装置の構成を示し説明する。 この図 6に示されるように、 この符号化装置は、 M P E G— 2に対応しており、
1パス目のプレコーダ 3 0、 レート制御部 4 0、 2パス目のパラメ一夕ェンコ一 ダ 5 0からなる。
より詳細には、 プレコーダ 3 0は、 統計量算出部 3 1、 DCT 部 3 2、 量子化 インデックス決定部 3 3、 量子化部 3 4、 可変長符号化部 3 5、 バッファ 3 6か らなる。 レート制御部 4 0は、 仮想バッファ初期値の予測部 4 1、 仮想バッファ 更新部 4 2、 量子化インデックス決定部 4 3、 マクロブロック目標符号量の予測 部 4 4からなる。 そして、 パラメ一夕エンコーダ 5 0は、 量子化部 5 1、 可変長 符号化部 5 2、 ノ ヅファ 5 3からなる。
このような構成において、 レ^"卜制御部 4 0では、 マクロプロッケ単位のレ一 ト制御が実施される。 そして、 ピクチャ毎に 2パス方-式のエンコードを行う。 即 ち、. プレコーダ ·3 0による 1パス目は固定量子化スケ ル Q Iでェンコ一ドを行- いマクロプロック毎の M B発生符号量を収集する。 パラメ一夕エンコーダ 5 0に よる 2パス目は収集した M B発生符号量からピクチャの平均量子化スケール. avgQ を予測すると共にマクロプロック毎の M B目標符号量 TargetMBを予測す る。 そして、 これら予測値を用いて、 レート制御手段としてのレート制御部が、 . 例えば TM5 のよう:な量子化スケールフィ―ドバヅク:による—レ—.ト制御を行うも' のである。 .:
尚、 図 6の構成では、 2パス目のパラメ一夕エンコーダ 5, 0には DCT部等が 備えられてないが、 図 7に示ざれるように、 フォーマツ 変換マクロブロック化 部 9 1、 DCT 部 9 2、 量子化部 5 1、 可変長符号化部 5 2、 バッファ 5 3で構 成されているのと等価であり、 この構成にレー卜制御部 4 0が関与するようにす ることもできる。
以下、 図 8のフローチャートを参照して、 第 2の実施の形態に係る符号化装置 による 2パス方式ェンコ一ドでのレート制御について説明する。 統計量算出部 3 1は目標とする符号量の 1フレーム分の割り当てビヅ ト量を計算する (ステップ S 2 1 ) 。 例えば、 30フレーム/ secの符号化を 50Mbpsで行うとき、 VTR等の 1フレーム当たりの符号量を一定とするシステム等では、 50Mbpsを 1秒当たり のフレーム数 「30」 で除算した値 (50Mbps/30) に基づいてビクチャ目標符号 量 pictBitsを算出する。
ここで用いる目標符号量 pictBitsは、 次式により決定される。
Iピクチャのとき
pictBits = KIXBitrate /(KI NI + KPx NP + KBxNB)
Pピクチャのとき
pictBits = KPX Bitrate /(KI NI + KPx P + KBxNB )
Bピクチャのとき
pictBits = KB x Bitrate /(KIX I + KPxNP + KBxNB)
KI = 5, KP = 3, KB = 1
Bitrate は 1秒辺りの発生符号量
NIs NP、 NBは I、.P、 B ピクチャの 1秒あたりの発生個数
続いて、 ピクチャ每に 1パス百のプレコーダ 30により 2回の ンコードを行 う。 即ち、 1回目は量子化スケール固定値でェンコ一:ドしマクロブロック毎の M B発生符号量を収集し (ステップ S 22) 、 2回目は該 MB発生符号量を用いて 量子化スケール Qの分布が適切になるようなレート制御をレ一卜制御部 40によ り行う (ステップ S 23) 。 こうして最終ピクチャであるか否かを判断し、 上記 処理を最終ピクチヤとなるまで繰り返し (ステップ S 24) 、 最終ピクチャに到 達すると、 処理を終了することになる。
ここで、 上記ステヅプ S 22の処理の詳細は図 9のフローチヤ一十に示される。 即ち、 1回目のェンコ一ドは MB発生符号量の収集を目的とするものであり、 量子化スケール Qを固定値である固定量子化スケール Q Iに設定し (ステップ S 3 1) 、 さらに視覚特性を利用した適応量子化を行い最終的な適応量子化スケー ル Qtを決定する (ステップ S 32) 。 その適応量子化スケール Q tを用いて量 子化部 3 4による量子化、 及び可変長符号化部 3 5による可変長符号化を行い (ステップ S 3 3 ) 、 そこで得られた M B発生符号量をマクロブロック毎にバッ ファ 3 6に保存する (ステヅプ S 3 4 ) 。 以上の処理をマクロプロヅク毎に繰り 返し (ステップ S 3 5 ) 、 最終マクロブロックに至ると、 図 7のステップ S 2 3 以降の処理にリターンする。
次に、 上記ステップ S 2 3の処理の詳細は図 1 0のフローチャートに示される。 即ち、 2回目のエンコードでは、 M B発生符号量と量子化スケール Qの相関関 係を予め統計的に把握しておき、 これを変換式 (関係情報) として記憶している。 そして当該変換式により 1回目のピクチャ発生符号量からピクチャ目標符号量 pictBitsに最も近いビクチャ発生符号量を発生させる量子化スケールを平均量子 化スケール avgQ として予測する。 この仮想バッファの初期値 virtualBuf は次 式により決定される (ステップ S 4 1 ) 。
pictBits
virtualBuf = ( 7 )
2 ここで、 virtualBufは仮想バッファの初期値、 pictBitsはピクチャの目標符号. 量 avgQはビクチャの平均量子化スケールを意味している。
すなわち仮想バッファの初期値は、 平均量子化スケール avgQを 「3 1」 によ つて正規化した値とピクチャ目標符号量 pictBits とを乗算した値を 「 2」 で除. 算することにより算出され、 平均量子化スケール avgQ及びピクチャ目標符号量 pictBitsに応じて変化することになる。
仮想バッファが確定したら平均量子化スケール avgQ を基本量子化スケール QMBとし、 次式によりマクロプロック毎に変動量子化スケール QSMBを算出する (ステップ S 4 2 ) 。 31x VirtUalBufMB x 2 "…- ( 8 )
pictBits
QSMBはマクロブロヅクの変動量子化スケール、 virtualBufMBはマクロブロッ ク処理時点の仮想バッファ、 pictsBitsはビクチャ目標符号量を意味している。 すなわち変動量子化スケール QSMBは、 仮想バッファ現在値 virtualBufMBを ピクチャ目標符号量 pictBits によって除算した値に、 「3 1」 及び 「2」 を乗 算することにより算出される。 ここでピクチャ目標符号量 pictBits は同一ビグ チヤ内で固定であることから、.変動量子化スケール Q S MBは、 仮想バッファ現 在値 virtualBufMBに応じて変動することになる。
^ pictBit X GenBit ^
( 9 )
V GenBitsk
ここで、 TargetBitSMBはマクロブロックの目標符号量、 pictBits はピクチャ 目標符号量、 GenBitSMBは固定量子化スケール Q Iによるマグロブロックの M B発生符号量、 numOfMBは 1ピクチャのマクロプロヅク数である。
すなわちマクロブロックの M B目標符号量 TargetMBは、 固定量子化スケ ル Q Iによる M B発生符号量 GenBitsMB の 1 ピクチャ分の M B.発生符号量:∑. GenBitSMBの合計値に対する割合を M B割合として算出し、 当 M B該割合に対 してピクチャ目標符号量 pictBits を乗算して算出される。 言い換えると、 1ピ クチャ分の M B発生符号量∑ GenBitSMBに拘らず M B割合が殆ど変化しないも のとし、 1ピクチャ分の M B発生符号量∑ GenBitsMB がピクチャ目標符号量 pictBits となるときのマクロブロックの M B目標符号量 TargetMBを算出してい る。
こうして変動量子化スケール QSMBが決定したら 1回目のェンコ一ドと同じく 量子化部 34により適応量子化を行い (ステップ S 43) 、 可変長符号化部 3 5 により可変長符号化を実施する (ステップ S 44) 。 ピクチャ発生符号量をピク チヤ目標符号量 picBitsに近づけるために量子化スケールフィードバック制御を 行うが、 これは実際の MB発生符号量 genBitSMBと MB目標符号量 TargetMBと の差分に応じて基本量子化スケール QMBから増減された変動量子化スケール QSMBを甩いることにより実現される。
実際上仮想バッファ更新部 42は、 マクロブロック每に実際の MB発生符号量 genBitSMB-iと目標符号量 TargetMBの差分を仮想バッファへ加算していく (ス テツプ S 46) 。 仮想バッファ現在値 virtualBufMBは次式で求められる。 なお 1マクロブロック前の MB発生符号量 genBitsMB- iを使用するのは、 実際に符 号化する際に遅延が生じるためである。
Figure imgf000029_0001
.
…… ( 10) すなわち仮想バッファ現在値 virtualBufMB は、 実際の M B発生符号量 genBitSMB-!と目標符号量 TargetMB との符号量の差異が小さければ殆ど変動せ ず、 当該符号量の差異が大きければ大きく変動することになる。 ——: ' この結果、 .. ( 8) 式によって算出される変動量子.ィ匕スケール QSMBの値は、 実際の M B発生符号量 genBitsMB_ xと MB目標符号量 TargetMBどの符号量の差 異が小さければ当該基本量子ィ匕スケール QMB (平均量子化スケール Qavg) から 殆ど変動することなく決定される。 一方、 変動量子化スケール QSMBの値は、 実 際の MB'発生符号量 genBitSMB— iと目標符号量 TargetMBとの符号量の差異が大 きい場合には、 仮想バッファ現在値 virtualBufMBに応じて当該基本量子化スケ —ル QMBから変動した値に決定されることになる。
以上の処理をマクロブロック毎に繰り返す。 即ち、 最終マクロブロックに至つ たか否かを判断し (ステップ S 47) 、 最終マクロブロックに至るまで上記処理 を繰り返し、 最終マクロプロックに至ると図 8の処理にリターンすることになる。 以上説明したように、 本発明の第 2の実施の形態に係る符号化装置及び方法に よれば、 一つ前のピクチャの絵柄に関わらず量子化スケールの分布が良好なェン コードができ画質が向上する。 さらに、 当該ピクチャの絵柄に関わらずより正確 なマクロブロック毎のレ一ト配分を行うことができ画質が向上する。 これにより、 一部画像で符号量不足を原因とする画面下部マクロブロックスキップを防く'こと ができる。
(2 - 2) 符号化処理手順
次に、 符号化プログラムに従って実行される符号化処理について、 図 8〜図 1 0のフローチヤ一トを用いて説明する。
符号化装置は、 画像データとしてのビデオ入力信号が供給されると、 符号化処 理手順 RT 3を開始し、 ステップ S 21 においてプレコーダ 30の統計量算出部 3 1によってピクチャ目標符号量 pictBits を決定すると、 次のステップ S 22 に移る。 .
ステップ S 22において、 符号化装置は、 プレコーダ 30によって発生符号量 を収集するために、 固定量子化スケール Q Iを用いて画像データを符号化する符 号量予測処理手順 RT4 (図 9) のステップ S 3 1に移る。
ステップ S 22において、 プレコーダ 30は、 DCT部 32によって画像デー タに対して D CT処理を施すと共に、 量子化ィンデ、ソクス 3.3.によって固定量子 化スケ "^ル Q Iを決定し、 次のステップ S 32へ移る。
ステップ S-32において、 プレコーダ 30は、 量子化部 34.によって D C T変 換された画像デ一夕に対して、 固定量子化スケール Q I.を用いて画像の複雑さに 応じた適応量子化を行うと、 次のステップ S 32へ移る。
ステップ S 33において、 プレコーダ 30は、 可変長符号化部 35によって適 応量子化が実行された画像デ一夕に対して可変長符号化を実行し、 仮量子化デー 夕を生成すると、 次のステップ S 34へ移る。 ステップ S 34において、 プレコ ーダ 3 0は、 当該仮量子化データのマクロブロックごとの MB発生符号量 GenBitSMBをバッファ 3 6に一時保存し、 次のステップ S 3 5へ移る。
ステップ S 3 5において、 プレコーダ 3 0は、 統計量算出部 3 1によって処理 対象となるマクロブロックが現在のピクチャにおける最終マクロブロックである か否かを判別し、 否定結果が得られた場合、 ステップ S 3 2へ戻り、 符号量予測 処理を継続する。
これに対してステップ S 3 5において肯定結果が得られた場合、 このことは次 のピクチャに対する符号量予測^ L理を実行すベきことを表しており、 このときプ レコーダ 3 0は、 符号化処理手順 R T 3のステヅプ S 2 2へ戻り、 次のステップ S 2 3へ移る。
ステップ S 2 3において、 符号化装置は、 ステップ S 2 2において算出された M B発生符号量 GenBitSMBを基にレート制御を実行しながら画像デ一夕を符号 化する本符号化処理手順 R T 5 (図 1 0 ) のステップ. S 4 1へ移る。 , : ステップ S 4 1において、 符号化装置のレート制御部 4 0は、 ステップ S 2 2 において算出された M B発生符号量 GenBitSMBを基に平均量子化スケール avgQ を算出する。 さらにレート制御部 4 0は、 仮想バッファ初期値の予測部 4 1.によ つて平均量子化スケール avgQを基に当該 (7 ) 式に従って仮想バッファの初期 値 virtualBuf を算出し、 これを仮想バヅファ更新部 4 2に設定すると、 .次のス. テヅプ S 4 2.に移る。
. .ステヅプ S 2において、 レート制御部 4 0は、 量子化インデックス決定部 4 3により、 平均量子化スケール avgQ を基本量子化スケール Q M Bとし、 ( 8 ) 式に従い、 仮想バッフア現在値 virtualBufMBに応じて当該基本量子化スケール
QMB (平均量子化スケール Qavg) から変動した変動量子化スケール Q S M Bを決 定すると、 次のステップ S 4 3へ移る。
ステップ S 4 3において、 レート制御部 4 0は、 量子化インデックス決定部 4 3により、 変動量子化スケール Q S M Bに基づき、 画像デ一夕の複雑さ (ァクテ イビティ) に応じた適応量子化スケール Q S t M Bを決定する。 そしてレート制 御部 4 0は、 パラメ一夕エンコーダ 5 0の量子化部 5 1に対し、 当該適応量子化 スケール Q S t M Bを用いて量子化を実行するよう、 当該量子化部 5 1を制御す ると、 次のステップ S 4 4へ移る。
この結果量子化部 5 1は、 プレコーダ 3 0の D C T部 3 2から供給される D C T処理ざれた画像デ一夕 (D C T係数データ) を、 当該適応量子化スケール Q S t M Bを用いて量子化することになる。
ステヅプ S 4 4において、 ノ ラメ一夕エンコーダ 5 0は、 ステップ S 4 4にお いて量子化された量子化データを、 可変長符号化部 5 2により.、 可変長符号化し て仮量子化デ一夕としての符号化ストリームを生成し、 これをバッファ 5 3に一: 時記憶し、 次のステップ S 4 5へ移る。
ステップ S 4 5において、 レート制御部 4 0は、 ステップ S 2 1において決定 されたビクチャ目標符号量 pictBits 及びバッファ 3 6—時記憶された M B発生 符号量 GenBitSMBを基に ( 9 ) 式に従ってマクロプロックの次のマウ口ブロッ クに対する MB 目標符号量 TargetMBを算出すると、 次めステップ S 4 6へ移る。 ステップ S 4 6において、 レ ト制御部 4 0は、 仮想バッファ更新部 4 2によ り次の MB 目標符号量 TargetMB及びステップ S 4 4においてバッファ 5 3に一 時記憶されたマクロブロックの実際の M B発生符号量 genBitSMB— に基づいて、 ( 1 0 ) 式に従って仮想バヅファ現在値 virtualBufMBを算出し、 これを仮想バ ッファ更新部 4 2に設定すると、 次のステップ 4 7へ移る。
この結果、 MB 目標符号量 TargetMB及び実際の M B発生符号量 nBitsMB— の符号量の差異に基づいて逐次仮想バヅファ現在値 virtualBufMBが更新され、 当該仮想バッファ現在値 virtualBufMBを用いて算出ざれる
ステップ S 4 7において、 レート制御部 4 0は、 処理対象となるマクロブロッ クが最終ブロックであるか否かを判別し、 否定結果が得られた場合には、 ステツ プ S 4 2へ戻り、 本符号化処理を継続する。
これに対してステップ S 4 7において肯定結果が得られた場合、 このことは次 のピクチャに対する処理を実行すべきことを表しており、 このとき符号化装置は、 符号化処理手順 R T 3 (図 8 ) のステップ S 2 3へ戻り、 次のステップ S 2 4へ 移る。
ステップ S 2 4において、 符号化装置は、 処理したピクチャが最終ピクチヤで あるか否かを判別し、 否定結果が得られた場合には、 ステップ S 2 2へ戻り、 符 号化処理を継続する。
これに対してステップ S 2 4において否定結果が得られた場合、 符号化装置は、 終了ステップへ移って処理を符号化終了する。
( 2 - 3 ) 動作及び効果
以上の構成において、 符号化装置は、 ( 9 ) 式に従って 選択された量子化ス テヅプとして、 固定量子化スケール Q Iに基づく量子化ステップ (すなわち量子 化に使用された適応量子化スケール Q tに基づく量子化ステップ) によるピクチ ャ発生符号量に対するピクチャ目標符号量 pictBitの比率を、 固定量子化スケー ル Q Iに基づぐ M B発生符号量 GenBitsMBに対して乗算した値を、 .M B目標符 号量 TargetMBとする。
ここで量子化スケール Qが変化した場合、 全体的な符号量は変動するものの、 ビグチヤ全体においてマクロブロックが実際に占有する符号量の割合はさほど変 動しないと考えられる。 .
このため符号化装置は、 固定量子化スケール Q Iに基づ:く!^!ョ発生符号量 GenBitSMBから当該 M B発生符号量 GenBitsMBが当該固定量子化スケール Q I におけるピクチャ.発生符号量に占める割合を算出す.る。 そして符号化装置は-、 ピ クチャ:目標符号量 pictBitに対する固定量子化スケール Q Iにおけるピケチヤ発 生符号量の比率を当該割合に乗算して符号量のスケールを調整することにより、 M B目標符.号量 TargetMBを算出する。
これにより符号化装置は、 画像データに応じた適切な M B目標符号量 TargetMBに基づくフィ一ドバヅク制御を実行することができるため、 画像の種 類やシーケンスの切り替りなどであっても、 M B目標符号量 TargetMB と実際の M B発生符号量 genBitSMB との符号量の差異を小さくすることができる。 この 結果符号化装置は、 ピクチャの後方で割り当てる符号量が不足するような事態を 未然に防止することができる。
また符号化装置は、 プレコーダ 3 0により、 固定量子化スケール Q Iを用いて 適応量子化を行うことにより、'マクロプロックごとの画像データに応じて、 量子 化スケール Qに基づく量子化ステップ (すなわち適応量子化スケール Q tに基づ く量子化ステップ) を選択し、 当該選択された量子化ステップにより画像データ を量子化する。
これにより符号化装置は、 M B発生符号量 GenBitSMBを単純に積算すること により、 適応量子化を行った後のピクチャ発生符号量を算出することができる。 さらに符号化装置は、 パラメ一夕エンコーダ 5 0により、 平均量子化スケール Qavgをそのまま基本量子化スケール QMBとして使用すると共に、 当該平均量子 化スケ ""ル Qavgから (7 ) 式及び (8 ) 式に従って算出された変動量子化スケ —ル QSMBに基づいて適応量子化を実行するようにした。 これにより符号化装置 は、 適応量子化により量子化歪みを目立ちにく ぐすることができる。
;以上の構成によれば、 符号化装置は、 固定量子化スケ一ル Q I .による M B発生 符号量 GenBitsMBに基づいて、 関係情報から基本量子化スケール QMB.を決定す ると共に、 当該 M B発生符号量 GenBitSMBのピクチャに占める符号量の割合に 基づいで M B目標符号量 TargetMBを決定するようにした。 . - これにより符号化装置は、 画像デ一夕に応じた適切な基本量子化スケ一ル · QM.B及び M B:目標符号量 Targe iBを設定することができるため、.ピケチャ目標 符号量. pictBitに従ってピクチャ全体を適切に符号化す.ることができる。
( 3 ) 第 3の実施の形態 · .
( 3 - 1 ) 符号化装置の構成
以上説明した第 2の実施の形態に係る符号化装置は、 以下に示すように変形す ることもできる。 この第 3の実施の形態では、 2パス符号量予測方式は、 予想曲 線から求めたマクロブロック毎の量子化スケール Q (q_scale) と M B発生符号 量を使用し、 スライス単位でのフィードバック制御を実行する。
図 1 1には第 3の実施の形態における符号化装置の構成を示し説明する。 この 図 1 1に示されるように、 この符号化装置は、 1パス目のプレコーダ 6 0、 レー ト制御部 7 0、 2パス目のパラメ一夕エンコーダ 8 0からなる。
より群細には、 プレコーダ 6 0は、 統計量算出部 6 1、 0 7 部6 2、 固定 Q 量子化部 6 3、 可変長符号量計算部 6 4、 統計量算出部 6 5からなる。 レート制 御部 7 0は、 量子化インデックス予測部 7 1、 量子化インデックス補正部 7 2、 スライス毎に夕ーゲットビッ ト量積算部 7 3、 ビクチャ毎に発生ビット量積算部 7 4からなる。 2パス目のパラメ一夕エンコーダ 8ひは、 量子化部 8 1、 可変長 符号化部 8 2、 バッファ 8 3からなる。 - 以下、 図 1 2及び図 1 3のフローチャートを参照して、 この変形例による符号 化処理について詳細に説明する。 メインフローは、 図 8と同様である。
まず、 図 1 2のピクチャ符号化 (M B発生符号量収集) 処理では、 固定 Q 量 子化部.6 3で用いる量子化スケールに固定値を設定し (ステヅプ S 5 1 ) 、 この 固定量子化スケールで DCT部 6 2による DCT後の DCT係数デ一夕を固定 Q 量子化部 6 3で量子化し.、 可変長符号量計算部 6:4で可変長符号量を計算し (ス テツプ S 5 2 ) 、 マクロブロック毎の M B発生符号量を求める (ステップ S 5 3 ) 。 このような処理を 1ピクチャ分繰り返し、 最終マクロプロックまで処理が なされたか否かを判断し (ステップ S 5 4 ) 、 処理が最終マクロブロックまでな されるとリタ一ンする。
次に、 図 1 3.に示される処理では、 統計量算出部.6 5において、 関係情報とし ての統計デ一夕 . VirBit を用いて、 第 1の実施の形態と同様に、 ピクチャ目標発 生量に近い量子化スケール Q ( q_scale— target) を平均量子化スケール Q aとし て決定 (ステップ S 6 1 ) する。 また平均量子化スケール Q aをべ一スとした適 応量子化により、 (5 ) 式に従ってマクロブロックの基本量子化スケール Q MB ( q一 scaleMB) を決定する (ステップ S 6 2 ) 。 このときの MB 発生符号量 TargetMBは、 ( 6 ) 式によって表される。
ところでフィ一ドバックの単位である 1つのマクロブロック内にエツジ境界な ど 8x8DCT ブロックの特性の著しく異なる個所を有する場合などでは、 特性の 異なるグループの特性が加算されてしまい、 グルーピングの単位がマクロブロッ クでは適切でない個所である。
このような、 統計的な曲線から外れるようなマクロプロックの暴れの影響を取 り除く.ために、 マクロブロックよりも大きな単位で、 フィードバック制御を行う ことができる。 システムで許容できる実際に発生する実発生符号量の誤差の許容 範囲で、 例えば 1ライン分のマクロブロックから 1画面分までなどの単位で、 行 えばよい。 .
このフィードバックの単位をスライス (Slice)と以下では称することにする。
1 sliceの本符号化の終了する都度、 実 M B発生符号量 genBitMB及び M B目標- 符号量 TargetMBをそれぞれ積算することにより、 スライスごとの実際の発生符 号量であるスライス実発生符号量 GenBitsslice とスライスごとの目標符号量で あるスライス目標符号量 Targe t slice を計算しておぐ (ステツプ S 6 5 S 6 : 6.) 。 次のスライスに対応する全マクロプロックの基本量子化スケール. QMB. ( q— scale) について変動値 q_adj だけ補正する (ステヅプ S 6 5 ) ことでスラ イス単位のフィードバック制御を行う。
TargetBitsslice =∑VirBit[mb mode] fact ¾ scale] [byte group]
...... (丄 丄)
GenBitsslice =∑GenBits ( 1 2 ) ここで、 TargetBitssliceはスラィス分の MB目標符号量 TargetMBの積算値、 GenBitssliceはスライス分の実 M B発生符号量である。 q_adj = C∑GenBitsslice -∑TargetBitsslice)/∑Deltaslice · ····· ( 1 3 ) ここで、 変動値 q_adj は次に符号化するスライス内の各基本量子化スケール ( q_scale ) に対して加算する。 Deltaslice は基本量子化スケール QMB (q_scale) の 1変化量相当の境界値であり、 ∑は先頭スライスからの和を意味 している。
すなわち仮に変動値 q_adj が大きく設定されすぎると、 変動量子化スケール QSMB (q_scale_adj) の基本量子化スケール QMBからの変動が大きくなりすぎ、 発散してしまう可能性がある。 従ってスライス実発生符号量 GenBitsslice とス ライスごとの目標符号量であるスライス目標符号量 Target slice との符号量の 差を∑Deltasliceで除算することにより、 変動値 q_adjを適正な値に調整するよ うになされている。
次のスライスに対して変動値 q_adj を補正後の変動量子化スケール QSMB (q_scale_adj) は 「q_scale+q— adj」 すなわち基本量子化スケール QMBに対して 変動値 q_adj として表すことができる。 そして当該変動量子化スケール QSMB (q_scale_adj) を用いて実符号化を行う (ステップ S 64) 。 以上の処理を、 最後のスライスまで繰り返し (ステップ S 67) 、: 最後のスライスまで処理を行 うとリターンする。
(3 - 2) 符号化処理手順
次に、 符号化プログラムに従って実行される符号化処理手順について、 図 1 2 及び図 1 3のフローチャートを用いて説明する。 なお図 1 2のフローチャートは、 符号化処理手順 R T 3 (図 8 ) におけるステツプ S 22において:実行される符号 量予測処理.を表し、 図 1 3のフローチャートは、 符号化処理手順 RT.3 (図 8) におけるステップ S 23において実行される本符号化処理を表している。
:ステップ S 22において、 符号化装置は、 プレコーダ 60によって:発生符号量 を収集するために、 固定量子化スケール Q Iを用いて画像データを符号化する符 号量予測処理手順 RT 6 (図 1 2) のステップ S 5 1に移る。
ステップ S 5 1において、 プレコーダ 60は、 入力デ一夕に対して D CT部 6 2によって DCT処理を施すと共に、 当該 DCT変換された画像デ一夕 (D CT 係数データ) に対して、 固定量子化スケール Q Iを用いて量子化を行い、 仮量子 化データを生成する。 さらにプレコーダ 6 0は、 仮量子化デ一夕に対し、 可変長 符号量計算部 6 4によって可変長符号化を行うことにより、 仮の量子化データと して符号化ストリームを生成すると、 次のステップ S 5 3へ移る。
ステップ S 5 3において、 プレコーダ 6 0は、 当該符号化ストリームのマクロ ブロックごとの M B発生符号量 GenBitSMBを統計量算出部に一時保存し、 次の ステップ S 5 4へ移る。
ステップ S 5 4において、 ブレコーダ 6 0は、 統計量算出部 3 1によって処理 対象となるマクロプロックが現在のピクチャにおげる最終マクロプロヅクである か否かを判別し、 否定結果が得られた場合、 ステップ S 5 2へ戻り、 符号量予測 処理を継続する。
これに対してステップ S 5 4において肯定結果が得られた場合、 このことは次 のピケチヤに対する符号量予測処理を実行すべきことを表しており、 このときプ レコーダ 6 0は、 符:号化処理手順 R T 3 (図 8 ) のステヅプ S 2 2へ戻り、:次の ステップ S 2.3へ移る。 .
ステップ S 2 3において、 符号化装置は、 ステップ S 2 2において算出された M B発生符号量 GenBitSMBを基にレート制御を実行しながら画像デ 夕 (D C T係数デニダ) を符号化する本符号化処理手順 R T 7 ( H I 3 ) のステツプ S 6 1へ移る。
ステップ S 6. 1において、 符号化装置のレート制御部 7 0は、 量子化ィンデッ クス予測部 7 1により、 ステップ S 2 2において算出され'た M B発生符号量 GenBitSMB を基に、 ピクチャごとに決定される平均量子化スケ^ "ル Q aを算出 すると、 次のステップ S 6 2 移る。
ステップ S 6 2において、 レート制御部 7 0は、 量子化インデックス予測部 7 1により、 平均量子化スケール Q aを基にァクティビティによるオフセッ ト入 を増減することにより、 基本量子化スケール Q M Bを予測すると、 次のステップ S 6 3へ移る。
ステップ S 6 3において、 レート制御部 7 0は、 量子化インデックス補正部 7 2により、 基本量子化スケール Q M Bを基に、 ( 1 3 ) 式に従い、 変動値 q_adj に応じて当該基本量子化スケール QMBから変動した変動量子化スケール Q S M B を決定すると、 次のステップ S 6 4へ移る。
ステップ S 6 4において、 パラメ一夕エンコーダ 8 0は、 変動量子化スケール Q S M Bに基づいて量子化部 8 1により画像デ一夕を量子化して量子化データを 生成すると共に、 可変長符号化部 8 2によって当該量子化データを可変長符号化 して仮の量子化データである符号化ストリームを生成すると、 これをバッファ 8 3に一時記憶し、 次のステップ S 6 5へ移る。
ステップ S 6 5において、 レート制御部 7 0は、 夕ーゲッ トビヅト量積算部 7 3により、 ( 1 4 ) 式に従って M B目標符号量 TargetMBを積算し、 スライス目 標符号量 Targe t sliceを算出すると、 次のステヅプ 6 6へ移る。
ステ プ S 6 6において、 .レート制御部 7 0は、 発生ビット量積算部 7 4によ り、 ( 1 .2 ) 式に従って M B発生符号量 GenBitMBを積算し、 スライス発生符号 量 TargetoBitslice を算出する。 このときレ一ト制御部 7ひは スライス目標符 号量 Targe t slice及びスライス目標符号量 Targe t slice に基づき、 ( 1 3 ) 式 に従って変動値 q—adjを算出すると、 次のステップ S 6 7へ移る。
ステップの 7において、 .レート制御部 4 0は、 処理対象となるスライスが最 終スライスであるか否かを判別し、 否定結果が得られた場合には、 ステップ S 6 2へ戻り、 本符号化処理を継続する。
これに対してステップ S 6 7において肯定結果が得られた場合、 このことは次 のピクチャに対する処理を実行すべきことを表しており.、 このとき符号化装置は、 符号化処理手順 R T 3 (図 8 ) のステップ S 2 3へ戻り、 次のステップ S 2 4へ 移る。
( 3— 3 ) 動作及び効果
以上の構成において、 符号化装置は、 スライス単位でスライス目標符号量 Targe t sliceを設定し、 当該スライス目標符号量 Targe t slice及びスライスごと の実際の発生符号量であるスライス実発生符号量 GenBitsslice との差分に基づ いてフィードバック制御を実行する。
これにより符号化装置は、 同一マクロブロック内にエッジの境界が存在し、 2 種類の異なる画像が存在するような場合であっても、 適切なフィードバック単位 によってフィ一ドバック制御を実行することができる。
( 4 ) 第 4の実施の形態
( 4— 1 ) 概略
上述したように、 M P E G— 2でテストモデルとして提案されている TM5等 の符号量制御では、 仮想バッファの残量と以前ェンコ一ドした際の量子化ィンデ ックスと M B発生符号量の関係を用いてフィードバック制御することによって、 符号量制御を行っている。
しかしながら、 静止画に係る上記従来技術では、 目標の符号量に近い画面全体 で均一となる平均的な量子化スケールを見つける為には、 複数回、 異なる量子化 スケールで符号量を計算して予測する必要があり、..演算するための回路に係るコ . ストは大きぐなる。 .
また、 上記 TM5 に代表ざれるフィードバック型の符号量制御では、 異なるシ 一ケンスに切り替わる度に適切な発生量をもたらす量子化スケールを付与するこ とができず、 画面下部が上部よりも歪が大きくなり視覚的に目立ち易ぐなり、 シ 一ケンス突入時に符号量を発生しすぎてしまい、 符号量を抑える必要が生じ、 画 質の劣化が目立ってし う。
このような問題は、 事前にある値で量子化したときの発生量を知ることで解決 することができる場合がある。 第 1の実施の形態で説明.したように、 M P E G— 2、 特に M P E G— 2 Intra .の場合、 DCT係数の低周波から高周波に向かうに つれて値が小さくなる。 自然画の場合、 常にこれが成り立つ。 よって、 マクロブ ロック MB の符号量と係数分布の相関が強く、 符号量だけで予測が可能である。 しかしながら、 M P E G— 4 P a r t 1 0 : A V C ( Advanced Video Coding) 以下、 A V C規格と呼ぶ) では、 Intra MBでも画面内予測 (入力画か ら I-pred画/ MC画を引いた画、 つまり差分画) などがあり、 それが成り立たな い場合は M P E G— 2での DCT係数の分布と同じ分布にならない。 ゆえに、 M P E G— 2の対応と同じ方法を採用しても精度のよい M B発生符号量の見積りが できない場合がある。
そこで、 本発明は、 ピクチャあたりの理想的な符号量配分を予測することを可 能とし VTRシステム等で使用する CBR (constant bit rate) の符号量制御を少 ないコストで実現すると共に、 TM5 などのフィードバック型の符号量制御で問 題となる、 シーケンスの変った場合の符号量の使い過ぎによる時間的な不均衡な 歪などを無くすことを課題とする。
( 4 - 2 ) 符号化装置の構成
図 1 4には本発明の一実施の形態に係る符号化装置の構成を示し説明する。 この符号化装置は、 A V C規格に対応すると共に、 2 Pass Encode方式を採用 している。
2 Pass Encode方式の本来の目的は、 符号化したときの M B発生符号量を正確 に見積もり、 ピクチャ内の符号量の配分ゃピクチャ間の.符号量の配分を高画質に なるように行うことであるが、 この実施の形態では、 その要素技術である、 ある 量子:化値で符号化した時の M B発生符号量を予測する点に特徴がある。
この図 1 4に示されるように、 符号化装置は、 プレコ ダ 2 0 1、 パラメ一夕 エンコーダ 2 0 3、 符号量見積り処理部 2 0 2、 ディレイバッファ 2 0 4を備え る。 プレコーダ 2 0 1は、 予測モード決定部 2 1 1、 DCT ( Discrete Cosine Transform ) 部 2 1 2、 量子化部 2 1 3、 逆量子化部 2 1 4、 IDCT ( Inverse Discrete Cosine Transform)部 2 1 5、 予測画生成部 2 1 6、 .符号長計算部 2 1 7からなる。 符号量見積り処理部 2 0 2は、 ピクチャ符号量予測部 2 2 1、 符号 量のグルーピング部 2 2 2、 マクロブロック符号量予測部 2 2 3からなる。 そし て、 パラメ一夕エンコーダ 2 0 3は、 予測画選択部 2 3 1、 DCT 部 2 3 2、 量 子化部 2 3 3、 逆量子化部 2 3 4、 IDCT部 2 3 5、 予測画生成部 2 3 6、 符号 化部 2 3 7からなる。
このような構成の下、 2 Pass Encodeの基本的な制御では、 選択された 1つの 量子化パラメ一夕 Q Pを用いてプレエンコード (Pre Encode) と呼んでいる情 報を得るためのェンコ一ドを行い、 そこで取得した情報と予め作成しておいた統 計量を基に、 選択されなかった他の量子化パラメ一夕 Q Pでエンコードした場合 の M B発生符号量を予測することになる。 即ち、 プレコーダ 1はプレエンコード を行い、 パラメ一夕エンコーダ 2 0 3は本エンコードを行うことになる。 尚、 プ レコーダ 1は例えば仮符号化手段に相当し、 パラメ一夕エンコーダ 2 0 3は例え ば本符号化手段に相当し、 符号量見積り処理部 2 0 2は、 例えば符号量予測部に 相当する。 但し、 これに限定されない。 ピクチャとしては Intraビクチャ (画面 内予測を用いた差分画) を用いる。
プレコーダ 1によるプレエンコードでは、 全てのマクロブロヅクを固定の量子 化パラメ一夕 Q P (以下、 これを固定量子化パラメ一夕 Q P I と呼ぶ、 例えば Q P I = 1 6 ) で符号化し、 符号化処理の部分は、 コンテキスト適応型可変長符号 ィ匕方式 (CAVLC; Context-Adaptive Variable Length Coding) で行つでいる。 g口ち、 本ェンコ一 ドは CABAC ( Context- Adaptive Binary Arithmetic Coding) で符号化を行う場合でも、 プレエンコードは CAVLCで符号化する。
CAVL で行うのは、 CABAC よりも処理が簡単であること、 特にハードゥエ ァではバイナライ.ズの部分での発生量が大きくなりすぎて CABAC の処理に時 間がかかりすぎてしまう可能性があるからである。 CABAC は、 算術符号化であ り、 CAVLC は可変長符号化で符号化の方式が違う。 また、 CAVLC.で;符号化す. ることで回路規模を抑えることも狙いとしている。
一般的には、-可変長符号化はある特定の領域の情報を効率よぐ符号化しており、 算術符号化は領域を特定する.ことなく効率よく符号化できる。 .
本来ならばこの特徴により、 可変長符号化から算術符号化の M B発生符号量を 予測すると情報の出力によって大きく誤差がでるが、 CAVLC はコンテキストを 適用的に変更することにより、 一般的な可変長符号化に比べて、 あまり領域を特 定せずに効率よく符号化することができる。 これにより、 誤差が全くないわけで はないが、 CABACの M B発生符号量の推測は CAVLCでの符号化による M B発 生符号量でも可能である。 それ以外の、 ME (Motion Estimatiton) や MB Mode決定の処理は本ェンコ一ドとほぼ同じ処理を行う。
プレエンコード (プレコーダ 2 0 1 ) では使用しないが、 本ェンコ一ド (パラ メ一夕エンコーダ 2 0 3 ) では画の特徴にあわせて量子化パラメ一夕 Q Pを増減 させる処理、 例えば画の劣化が目立ちやすいマクロプロックは量子化パラメ一夕 Q Pを下げる、 目立ちにくい MB は量子化パラメ一夕 Q Pを上げる、 いわゆる ァクティビティ処理を行う。 この増減値も本エンコードでの見積もり精度を上げ. るために、 プレエンコードの時点で計算して、 その情報をマクロブロック每に出 力する。
それ以外にプレエンコードで出力する情報としては、 各マクロブロックの DCT係数の M B発生符号量やヘッダ (Header) の M B発生符号量、 非 0の係数 の数がある。 尚、 各 MB の DCT係数の M B発生符号量やへヅダ. (Header) の: M B発生符号量は別々に出力する。
これに加えて、 MB 毎の各係数を" Coef Cost"と称される値を計算し、 その総. 和も併せて出力することで、 精度のよい見積りを可能とする。 後述するが-、 .この 実施の形態ではこの Coef Costを基に統計量から得られるマクロプロックの M B 発生符号量を補正する。 . .
ここ、 Coef Costの意味合いは、 係数が 0になるまでの量子化パラメ一夕 Q P の増加値の指標であるといえる。 換言すれば、 Coef Cost とは、 量子化パラメ一 タ Q Pを.どの程度増やせば、 係数が 0 に落ちるかという指標にする値である。 この実施の形態では、. Coef Costは係数の大きざから求めており、 係数が 0なら- 0 1 なら 1、 2なら 2、 3〜4なら 3、 5〜8なら 4、 9〜 16なら 5とし、 それ以 降は (係数の大きさ/ 1 6 ) + 5で計算している。 . ·
係数の小さい場合は、 係数の大きさよりも係数が 0 になるということが大き な意味をもつのでビヅ ト (Bit) 数を重要視する。 一方、 係数が大きい場合は、 徐々に係数の大きさが小さくなる情報を反映するために、 この実施の形態では 16ごとに Coaf Costを増やす。 すなわち小さい量子化係数についての Coef Cost は、 係数の増減に対する Coef Costの増減を大きくする。 一方、 大きい量子化係数についての Coef Cost は、 係数の増減に対する Coef Costの増減を小さくしている。
ここで、 M B発生符号量の予測にかなり精度を要求される場合は、 この Coef Costのヒストグラムを出力する方がよいが、 情報量も巨大になってしまう。
しかしながら、 そこまでの精度がいらない場合は、 Coef Cost の総和/非 0 の 係数の数つまり、 Γ係数あたりの Coef Costの情報を使い、 精度を上げることが 可能である。 そこで、 この実施の形態では、 Coef Costの総和を情報として出力 している。 非 0 係数の数は出力しているので、 総和があれば計算で求めること が可能である。
以下、 図 1 5のフローチャートを参照して、 本発明の一実施の形態に係る符号 化装置による符号化処理について詳述する。 尚、 以下の処理の全部又は一部は本 発明の第 1の実施の形態に係る画像符号化方法にも枏当するものである。
入力ビデオ信号には、 予測モード決定部 2 1 1で GOP (Group Of Pictures) 周期を決定する N と、 I又は P ピクチャの周期を決定するための初期設定値 M とを基に、 ピクチャタイプが IBBPBBP…のように周期的に割り振られる. (ステ ップ S 1 ) 。 続いて、 予測モード決定部 2 1 1では、 該入力ビデオ信号を受けて、 マクロプロックのタイプを、 予測画生成部 1 6で求めた MC 画との残差 . (SAD) とマグロ,ブロックの分散等に基づいて、 予測モ ドが決定され、 予測 - 画像が DCT部 2 1 2に送出される (ステップ S 2 ) 。 , ' · .
DCT部 2. 1 2では、 予測画像が離散コサイン変換により周波数空間に変換さ れ、 DCT 係数デ一ダが量子化部 2 1 3に送出さ lる。 この量子化部 2 1 3は、 DCT 係数デ一夕に対して固定的な量子化パラメ一夕 Q P (例えば QP= 16) を 用いて量子化処理を行う (ステップ S 3 ) 。
逆量子化部 2 1 4、 IDCT部 2 1 5では、 量子化部 2 1 3の出力に基づいて予 測画像を得るためにローカルデコード画像が生成される。 即ち、 逆量子化部 2 1 4では、 量子化部 2 1 3から供給される量子化データが逆量子化されて、 DCT 係数データが再生される。 IDCT部 2 1 5では、 この DCT係数データが逆離散 コサイン変換されて、 ローカルでコード画像が生成される。 そして、 このロー力 ルデコード画像に基づいて、 予測画生成部 1 6により動き予測が行われることに なる (ステップ S 4、 S 5 ) 。
続いて、 符号量見積り処理部 2 0 2のピクチャ符号量予測部 2 2 1により符号 量予測が行われる (ステップ S 6 ) 。 その詳細については、 図 1 6を参照して後 :述する。
このとき、 マクロブロック符号量予測部 2 2 3では、 ビグチヤの量子化パラメ, —夕 Q Pが、 符号量のグルーピング部 2 2 2でグルーピングした情報と統計的に 求めた予測曲線 (遷移曲線) に基づいて、 マクロプロック毎に予測される量子化 パラメ一夕 Q P (以下、 これを基本量子化パラメ一夕 Q P M Bと呼ぶ) と夕一ゲ ヅ トとなるマクロブロックごとの目標符号量 TargetMBに変換され、 パラメ一夕 エンコーダ 2 0 3に設定されることになる (ステップ S 7 ) 。
パラメ一夕エンコーダ 2 0 3では、 プレコーダ 2 0 1で求めたピクチャダイプ、 マクロブロックの予測モード、 動きべクトル、 ピクチャ符号量予測部 2.2 1で決 定した基本量子化ノ ラメ一夕 Q P MBと目標符号量 TargetMBに基づいて.、 実 M B 発生符号量がフィードパックされながら符号量制御が行われ、 パラメ一夕ェンコ —ドが行われる (ステップ S 8 ) 。
即ち、ノ入力ビデオ (: Video) 信号がディレイバックァ 4による遅延処理を経て 入力される。 予測画選択部 2 3 1では、 マクロプロッ.ク符号量予測部 2 2 3によ りマクロ.ブロックの予測モードが設定され、 予測画像が選択される。. DCT 部 2 3 2では、 DCT変換がなされ、 DCT係数デ一夕が量子化部 2 3 3に送出される。 量子化部 2 3 3.では、 この DCT係数データに対してマクロブロック符号量予測 部 2 2 3で求められた基本量子化パラメ一夕 Q P MBによる量子化がなされ、.量 子化データが符号化部 2 3 7に送出される。 この符号化部 3 7では、 符号化がな され符号化ストリームが仮の量子化データとして出力される。 尚、 逆量子化部 2 3 4、 IDCT部 2 3 5、 予測画生成部 2 3 6では、 量子化部 2 3 3の出力 (量子 化データ) に基づいて予測画像を得るためにローカルデコード画像が生成される。 こうして、 一連の処理を終了する。
次に、 図 16のフローチャートを参照して、 図 15のステップ S 6で実行され る符号量予測処理について説明する。
符号量予測処理では、 GO Pをある量子化パラメ一夕 QPで量子化したときの ピクチャ発生符号量を計算する (ステップ S 1 1 1) 。 これは、 ピクチャを量子 化パラメ一夕 QPで量子化したときの MB発生符号量を計算することによって行 われる (ステップ S 1 12) 。 具体的には、 マグロブロックごどの符号量予測に よって行われる (ステップ S 1 13) 。 このマクロブロックごとの符号量予測に ついては図 17で後に詳述する。
すなわち、 ある量子化パラメ一夕 QPで量子化したどきのマクロブロックごと に MB発生符号量を計算じ積算することにより、 当該量子化パラメ一夕 QPにお けるピクチャごとのピクチャ発生符号量を計算する。 さちにピクチャ発生符号量 を積算することにより、 当該量子化パラメ一夕 QPにおける GOPごとの GOP 発生符号量を算出する。
:こうして、 GOP発生符号量が目標の GOP目標符号量以内に収まっているか 否かを判断し (ステップ S 1 14) 、 収まっていない場合には量子化パラメ一夕 ' QPを変更しステップ S 1 1 1に戻り上記処理を繰り返す。 一方、 収まっている 場合には、 .この処理を終了し、'図 15のステップ S 7以降の処理に移行すること になる。'
. 次に、 図 17のフローチャートを参照して、 図 16のステップ S 1 13で実施 ざれるマクロプロックの符号量予測処理について詳述する。
尚、 前提として、 この実施の形態では、 各 MB Group 毎に、 1係数の Coef Costの代表値の統計量を作成している。 更に、 各 MB Groupごとに量子化パラ メータ QPが 「0 〜51」 の場合の、 <マクロブロックが発生する DCT係数の符 号量の代表値 >の統計量を作成している。 また、 各 MB Groupごとに量子化パラ メ一夕 QPが 「0〜51」 の場合の、 「1係数の Coef Costがく 1係数の Coef Cost の代表値 >から 1ずれた場合の <M B発生符号量が変動する代表値 >」 の統計量の 作成している。 あるマクロプロックの M B発生符号量を統計量から得るときには、 そのマクロブロックの増減値 AddQp を反映させる。 (→ 「0」 又は 「 1」 につ いては後日確認)
さて、 ある量子化パラメ一夕 Q Pで符号量を予測する場合、 先ずプレコーダ 2 0 1のプレエンコ一ドで求めたマクロプロックの DCT係数の M B発生符号量か ら、 マクロブロックをグルーピングする (ステップ S 1 2 1 ) 。
この実施の形態 は、 DCT 係数の M B発生符号量 /64 をグループ番号 (以下、 MbGroupNo) としている。 M B発生符号量を予測するに際しては、 関係情報と して統計量から作成した量子化パラメ一夕 Q Pと M B発生符号量との関係を示す 関係テーブル (第 1の実施の形態における予測曲線に対応) を使用する。 その関 係テ ブルは VirBits[MbGroupNo】[Qp]と表現することができ、 マクロブロック のグループ番号ごとの予測テーブルとして記憶されている。 従って、 当該関係テ 一ブルを用いるこどにより:、 対象となる量子化パラメ一ダ Q Pの M B発生符号量 の予測値を得ることができる。
:. この実施の形態では、 Inter Slice/Intra Slice で別々の関係テ一ブルを準備し - ており、 当該 Inter Slice/Intra Sliceごとの関係テ一ブルを合わせて統計テーブ ルと呼び、 VirBits[Slice ype]【MbGroup】[Qp]ど表すことができる。
すなわ.ち量子化パラメ一夕 Q Pごとに M B発生符号量が対応付けられた予測テ 一ブルが、 マクロブロックグル一プのグル一プ番号ごとに設定されることにより 関係テーブルを形成し、 当該関係テーブルがスライスごとの クチャタイプ (す なわち予測モード) ごとに設定されることにより統計テーブルが設定されている。 この統計テーブルは、 図示しない R O M等に記憶されている。
続いて、 1ピクチャは 1つのある基本の量子化パラメ一夕 Q P (TargetQp) についての M B発生符号量の予測を行うが、 画の特徴に応じてマクロブロック毎 に量子化パラメ一夕 Q Pを増減させる (ステップ S 1 2 2 ) 。 即ち、 プレエンコ 一ド時の画の特徴に応じて量子化パラメ一夕 Q Pの増減値 AddQp を加算する。 その増減値 AddQp を反映させた 1ピクチャのピクチャ発生符号量は、 次式のよ うに表される (ステップ S 1 2 3 ) 。
Sum(VirBits[SliceType][MbGroup][TaretQp + AddQp]) ( 1 4 ) すなわち、 ピクチャタイプ、 マクロブロックのグループ番号及び予測対象とな る量子化パラメ一夕 Q P (TargetQp) に対して増減値 AddQp を反映させた量 子化パラメ一夕 Q P ( TargetQp + AddQp ) に対応付けられている発生符号量を ピクチャごとに積算した値を、 当該予測対象となる量子化パラメ一夕 Q P
(TargetQp) におけるピクチャ発生符号量とする。
それに加えてテーブルから得られる M B発生符号量はグループで 1つであるか ら、 グループ内での M B発生符号量の差を反映させるほうが予測の精度が向上す ると考えられる。 そのために、 プレエンコードで得られた M B発生符号量と VirBits[SHceType][MbGroup][Pre Encode 時の量子ィ匕パラメ一夕 Q P ]に差
(DiffBits) がある場合は、 その差をどの量子化パラメ一夕 Q.Pでも加算する
(ステップ S 2 4 ) 。 ·これ.を式で表すと次のようになる。
DiffBits = Pre Encode時の M B発生符号量
- VirBits[SliceType] [MbGroup] [ Pre Encode 時の量子化パラメ "^タ Q P】 …… ( 1 5 ) つまり、 ここでは、 あるマクロプロックをある量子化パラメ一夕 Q Pでの M B 発生符号量を予測するときに、 そのマクロプロックがプレエンコ一ドで実際に発 生した符号量と、 その MB Groupでその量子化パラメ一夕 Q Pの <MBが発生す る DCT係数の符号量の代表値 >の差分値を求め、 これを固定補正値 DiffBits と して付加することになる。 この固定補正値は、 図 1 8に概念的に示される。 即ち、 図 1 8において縦軸は符号量、 横軸は量子化パラメ一夕 QPを示してい る。 実線で示した統計量の値に対して、 該統計量から外れるものを破線で示して いる。 同図から、 同じような状況のマクロブロックの場合、 ある量子化パラメ一 夕 QP で M B発生符号量に差があると(図中、 矢印で示す)、 その差はどの量子化 パラメ一夕 QPでもある程度同じような値である。 この点に鑑みて、 この固定補 正値 Difffiitsは、 グループ内での M B発生符号量の差として反映させる。
言い換えると、 差分値を固定補正値 Difffiits として利用することにより、 統 計量が表す予測曲線を平行移動させて使用することになる。
続いて、 プレ工ンコード時の Coef Costと同じグループの統計量の Coef Cost の差を求める (ステップ S 1 2 5 ) 。 以下、 その理由を説明する。
プレエンコード時は同じグループであっても、 量子化パラメ一夕 Q Pが変わつ た場合は、 全ての MB が同じように減少したり、 増加したりはしない。 あるマ クロブロックはすぐに M B発生符号量が減少するが、 あるマクロプロックはなか なか M B発生符号量が減少しない。 M B発生符号量だけの統計量だとそれらの違 いが分らず、 各 MB に誤差が多少出てしまう。 個々の誤差はそれほど大きいも のではないが、 1ピ.クチャ分加算されるとそれなりの誤差になってしまう。 その 誤差を修正するために、 このステップでは、 1係数あたりの Coef Costという情 報を使うのである。
この Coef Costは係数の大きさから計算されており、 値が小さいと量子化パラ メ一タ QPが少し上がっただけでも、 0係数となる係数が多いことを示し、 逆に 値が大きいと量子化パラメ一夕 QPが多少上がづても 0係数となる係数が少ない ことを示す。 AVC 規格に準拠した符号化においては、 この 0 係数の数を増やす と M B発生符号量大きく減少しやすいので、 この値を使って誤差を補正する。 この可変補正値は、 図 1 9に概念的に示される。 '
即ち、 図 1 9において縦軸は符号量、 横軸は量子化パラメ一夕 QPを示してい る。 実線で示した統計量の値に対して、 該統計量から外れるものを破線で示して いる。 1係数あたりの Coef Cost (Coef Cost/ 0でない係数の数) が小さいと、 マクロブロックの係数が小さいものが多いということになり、 量子化パラメ一夕 QP を上げると 0になるものがすぐに増加していく傾向がある (減少率が大き い) 。 一方、 1係数あたりの Coef Costが大きいとマクロブロックの係数が大き いものが多いということになり、 量子化パラメ一夕 QPを上げても 0になるもの があまり増加しない傾向がある (減少率が少ない) 。 そこで、 1係数あたりの Coef Costと発生ビッ ト数の比率から可変補正値 CorrectBitsを求めて、 補正を 行う。 .
言い換えると、 実際に M B発生符号量を算出した固定量子化パラメ一夕 Q P I における M B発生符号量を中心として、 可変補正値 CorrectBitsにより統計量が 表す予測曲線の傾きを変化させて使用することになる。
具体的には、 誤差を補正するために、 先ずそのマクロブロックの 1係数あたり の Coef Costが統計量で作成したグループの 1係数あたりの Ceof Costからのず れ量 CostDiffによって算出される。 これを式で表すと次のようになる。 '
CostDiff= 1係数あたりの Coef Cost— Coef Cost[MbGroup]
…… ( 1 6 ) - つぎに、 Coef Costの差の補正値を統計量から計算し、 M B 生符号量を求め る (ステップ S 2 6 ) 。 即ち、 ここでは、 統計量から求めた 1係数あたりの Coef Costが 1:違えばどのぐらい M B発生符号量が増減するという増減テ一ブル を参照し、 次式より可変補正量 CorrectBitsを求める。
CorrectBits = RatioCostBits[SliceType][MbGroupNo][TargetQp + AddQp] * CostDiff ( 1 7 ) つまり、 このステップでは、 あるマクロブロックをある量子化パラメ一夕 QP での M B発生符号量を予測するときに、 その MBの 1係数の Coef Costの値と その MB Groupの 1係数の Coef Costの代表値にがある場合、 その差と 「1係 数の Coef Costが <1係数の Coef Costの代表値 >から 1ずれた場合の <M B発生 符号量が変動する代表値 > (以下、 これを補正係数 RationCostBit と呼ぶ) 」 か ら補正する M B発生符号量を求める。
すなわち M B発生符号量は、 スライスのピクチャタイプ、 マクログループ番号、 増減値 AddQp を反映させた量子化パラメ一夕 Q P (TargetQp + AddQp ) から 選択された補正係数 RationCostBitに対し、 ずれ量 CostD f が乗算されること により算出される。
よって 1ピクチャのビクチャ発生符号量は、 次式のようになる。
Sum(VirBits[SliceType][MbGroup]rTaretQp + AddQp] + DiffBits + CorrectBits) …… ( 1 8 ) こうして、 マクロブロックの符号量予測を終了し、 図 1 6のステップ S 1 1 4 以降の処理に進むことになる。
尚、 この実施の形態では、 1係数あたりの Coef Costという情報を用いて補正 を行ったが、 Coef Cost という情報を計算する必要がある。 処理を少なくする必 要がある場合、 多少予測精度は落ちてしまうが、 1係数あたりの Coef Co は 1 . 係数あたりの発生符号量でも代用は可能であることは勿論である。 この場合、 作 成する統計量は、 1 係数の発生符号量の代表値と 「1 係数の発生符号量がぐ 1 係 数の発生符号量の代表値 >から 1 ずれた場合のぐ発生符号量が変動する代表値」 となる。
また、 マクロプロックのヘッダ (Header) 部分の発生符号量は 1ピクチャご と行い、 量子化パラメ一夕 QPが 0 -26の間は変更なし、 40 - 51の間は 1 MB あたりある固定 bits(A bits)とする。 プレエンコードでの MB Headerの発生符 号量が平均で 1MBあたり、 A bits以上の場合で量子化パラメ一夕 Q Pが 27- 39 の場合は、 量子化パラメ一夕 Q Pが 40のときに、 1MBあたり A bitsになるよ うに直線補間でもとめる。 ここで、 固定量子化パラメ一夕 QP Iは、 パラメ一夕エンコードの際に使用さ れることの多い量子化パラメ一夕 QP (例えば 「 10~20」 程度の値) が設定 されることが想定されている。 ここで符号化装置では、 量子化パラメ一夕 QPが 増減した場合であつてもヘッダ部分の M B発生符号量が大きく変動しないという 特性を利用し、 固定量子化パラメ一夕 QP Iに近い 「0〜26」 では、 固定量子 化パラメ一夕 QP Iによる MB発生符号量をそのまま固定量子化パラメ一夕 QP I以外の量子化パラメ一夕 Q P Iによる M B発生符号量と予測する。
また符号化装置は、 量子化パラメ一夕 QP Iが一定値を超えると、 ヘッダ部分 の MB発生符号量が殆ど変化しなくなる特性を利用して、 量子化パラメータ QP. が 「40」 以上の場合には、 固定値 「A」 b i tを固定量子化パラメ一夕 QP I 以外の量子化パラメ一夕 QP Iによる MB発生符号量と予測する。
そして符号化装置は、 量子化パラメ一夕 QP Iが 「27〜39」 の場合には、 固定値 「A」 を量子化パラメ一夕 QPが 「40」 のときの MB発生符号量とし、 固定量子化パラメ一夕 QP Iのときの MB発生符号量を 「26」 のときの MB発 生符号量とし、 直線補間により MB発生符号量を予測する。
これにより符号化装置は、 べッダ部分の特性を利甩して、 簡易な処理により:高 い精度でヘッダ部分の MB発生符号量を予測し得るようになされている。 . : そして符号化装置は、.第 1〜第 3の実施の形態のいずれかと同様にして M B目 標符号量 Targets及び基本量子化パラメータ QPMBを設定し、 上述した:レニト 制御を実行するようになされている。
以上詳述したように、 本発明の一実施の形態によれば、 MB単位の基本量子化 パラメ一夕 QPMB、 MB目標符号量 TargetMBの.予測値を精度良ぐ求めることが 出来る。 本ェンコ一ド時のフィードバックは符号量を制御するための保険的な処 理である。 このため、 ピクチャあたりの理想的な符号量配分を予測することが出 来、 VTRシステムなどで使用する CBRの符号量制御を少ない Costで実現でき る。 また、 TM5 などのフィードバック型の符号量制御で問題となる、 シ一ケン スの変った場合の符号量の使いすぎによる時間的な不均衡な歪などを無くすこと ができる。 画質が向上する。 さらに、 当該ビクチャの絵柄に関わらずより正確 なマクロブロック毎のレート配分を行うことができ画質が向上する。 これにより、 一部画像で符号量不足を原因とする画面下部マクロブロックスキップを防ぐこと ができる。
( 4 - 3 ) 符号化処理手順
次に、 符号化プログラムに従って実行される M B符号量予測処理について、 図 1 7のフローチャートを用いて説明する。
符号化装置のピクチャ符号量予測部 2 2 1は、 固定量子^:パラメ一夕 Q Pによ つて量子化された量子化データに基づく符号化ス トリーム (仮量子化デ一夕) が 供給されると、 符号量のグルーピング部 2 2 2により、 当該符号ストリームのマ クロブロックごとの発生符号量 GenBitMB及びピクチ タイプから当該マクロブ ロックをグループに分類し、 次のステップ S 1 2 2へ移る。
ステップ S 2 2 2において、 ピクチャ符号量予測部 2 2 1は、 マクロブロック 符号量予測部 2 2 3によって、 プレコーダ 2 0 1によるプレコ一-ド時に算出した 画の特徴に応じて、 予測対象となる量子化パラメ一夕 Q Pに対して増減値 AddQP を加算し、 適応量子化パラメ一夕 Q P tを算出するど、 次のステップ S 1 2 3へ移る。 - ステップ S 1 2 3において、:ピクチャ符号量予測部 2 2 1は、 マクロプロヅク 符号量予測部 2. 2 3によって、 マクロプロックのピクチヤ.ダイブに基づいて統計 テ一ブルの中から 1つの関係テ一ブルを選択すると共に、 マクロブロックが分類 されたグループに基づいて 1つの予測テ一ブルを選択し、 当該マクロブロックの 適応量子化 ラメ一夕 Q P tにおける M B発生符号量を読出すと、 次のステップ S 1 2 4へ移る。 ··
ステップ S 1 2 4において、 ピクチャ符号量予測部 2 2 1は、 マクロブロック 符号量予測部 2 2 3により、 プレコード時の M B発生符号量 GenBitMBと選択さ れた予測テーブルにおける固定量子化パラメ一夕 Q Pにおける発生符号量との差 分値 DiffBitsを ( 1 5 ) 式に従って算出する。 次のステップ S 1 2 5へ移る。 ステップ S 1 2 5において、 ピクチャ符号量予測部 2 2 1は、 マクロブロック 符号量予測部 2 2 3により、 マクロブロックごとの Coef Costの総和を非ゼロ係 数の数 (すなわちゼロでない係数の数) で除算することにより、 1係数当たりの Coef Costを算出する。 さらにマクロブロック符号量予測部 2 2 3は、 プレコ一 ド時に算出されたマクロプロックの 1係数当たりの Coef Costと、 当該マクロブ ロックが分類されたグループの固定量子化パラメ一夕 QPにおいて算出された 1 係数当たりの Coef Cost との差分値 CostDiff を ( 1 6 ) 式に従って算出すると、 次のステップ S 1 2 6へ移る。
ステップ S 1 2 6において、 ピクチャ符号量予測部 2 2 1は、 マクロブロック 符号量予測部 2 2 3により、 ピクチャタイプ、 グループ、 適応量子化パラメ一夕 Q P tの値ごとに記憶されている補正情報から対応する補正係数 RatioCostBit を選択する。 さらにマケロブロック符号量予測部 2 2. 3は、. 当該選択された補正 係数とステップ S 1 2 5で算出した差分値 CostDiff とを乗算することにより、 ( 1 7 ) 式に従って補正値 CorrectBitsを算出する。
そしてマクロプロヅク符号量予測部 2 2 3は、 ステップ S 1 2 4において読出 した適応量子化パラメ一夕 Q P tにおける M B発生符号量に対し、 ステップ S 1 .
2 4において算出した差分値 Dtfffiits 及び補正値 CorrectBits を加算すること により、 ( 1 8 ) 式に従って適応量子化パラメ一夕 Q P tにおける M B発生符号 量を予測すると、 終了ステップべ移って処理を終了し、 符号量予測処理手順 R T 9のステップ S 1 1 3へ戻る。
( 4 - 4 ) 復号化装置
次に、 こめようにして符号化された本符号化スト.リームを復号する復号化装置
3 0 0の構成を、 図 2 0を用いて説明する。 .
. 復号化装置 3 0 0は、 本符号化ストリームが供給されると、 当該本符号化スト リームに設定された設定情報を用いて当該本符号化ス トリームの復号化を行う。 具体的に復号化装置 3 0 0は、 本符号化ストリームを復号化部 3 0 1に供給する。 復号化部 3 0 1は、 本符号化ス ト リームを復号化して量子化データを生成し、. 逆 量子化部 3 0 2に供給する。
逆量子化部 3 0 2は、 設定情報に設定された量子化パラメ一夕 Q Pを用いて量 子化データを逆量子化することにより、 D C T係数でなる画像デ一夕を復元し、 これを I D C T部 3 0 3へ供給する。 1 0 ( 丁部3 0 3は、 画像デ一夕に対して I D C T処理を施し、 差分画像データ S A Dを予測画像加算部 3 0 4に供給する。 予測画像加算部 3 0 4は、 差分画像データ S A Dに対し、 逆イントラ予測処理 及び動き予測処理によつて予測した予測値を加算レ、 画像を表すビデオ'出力信号. を生成し、 これを図示しない外部機器などに出力するようになされている。
( 4 - 5 ) 動作及び効果
以上の構成において、 符号化装置は、 画像デ一夕を量子化した後に領域に応じ てマクロプロック発生符号量が大きく変化しない符号化方式によって符号化した 符号化ス トリームを仮量子化デ一夕とする。 また符号化装置は、 予測用量子化デ 一夕として予測テーブルを甩い、 当該予測テーブルにおける固定量子化.パラメ一 夕. Q P I以外の量子化パラメ一夕 Q Pに基づく量子化スデップ (すなわち選択さ れなかった量子化ステップ) における M B発生符号量を、 可変補正値 CorrectBits を用いて補正することにより、 画像デ一.ダとしての D C T係数デ一 夕を当該選択ざれなかつた量子化ステップによって量子化したときの M B発生符 号量を予測する。 .
これにより符号化装置は、 領域に応じてマクロプロック発生符号量が大きぐ変 化しない符号化方式によつて量子化デ一夕を符号化したような場合であつても、 選択された固定量子化パラメ一夕 Q Pを用いて算出した M B発生符号量に基づい て固定量子化パラメ一夕 Q P I以外の量子化パラメ一夕 Q P.における M B発生符 号量を予測することが可能となる。
また符号化装置は、 画像データに対して所定の直交変換処理である D C T処理 を施すことにより画像デ一夕としての D C T係数デ一夕 (変換係数) を生成し、 当該 D C T係数データに基づいて、 予測曲線における固定量子化パラメ一夕 Q P I以外の量子化パラメ一夕 Q Pによる量子化ステップ (すなわち選択されなかつ た量子化ステップ) におけるマクロプロック発生符号量を補正する可変補正値
CorrectBitsを選択する。
ざらに符号化装置は、 D C T係数をゼロにするのに必要となるゼロ量子化ステ ップに基づぐ量子化パラメ一夕 Q Pに応じて算出される指標値としての Coef Costのマクロブロックごとの指標総和として、 当該 Coef Costの総和を算出す る。 符号化装置は、 当該 Coef Costの総和に基づいて M B発生符号量を補正する 補正値としての可変補正値 CorrectBitsを決定する。
これにより符号化装置は、 M B発生符号量に大きな影響を与える Coef Costに 基づいて可変補正値 CorrectBitsを決定できるため、 M B発生符号量を適切に補 正することができる。 また符号化装置は、 Coef Costの総和を用いることにより、 Coef Cost の全ての値を用いる場合と比較して、 記憶しておく可変補正値 CorrectBitsの情報量及び処理負荷を低減させることができる。 :
また符号化装置は、 小さい.値でなるゼロ量子化ステツプに基づく量子化パラメ 一夕 Q Pに対して Coef Costの増減が大きくなるよう Coef Costを算出する。 · これにより符号化装置は、 量子化パラメ一夕 Q P.の增加に応じて 「0」 になる 可能性の高い D C T係数について、 Coef Costの増減を大きぐすることができ、 M B発生符号量の変動め大きざをそのまま Coef Costに反映させることができる。 さらに符号化装置は、 D C T係数がゼロでない非ゼロ係数の数当たりの Coef Costである 1.係数当たりの Coef Costに基づいて可変補正値 CorrectBits を決' 定する。 ノ ·
これに.より符号化装置ば、. M B発生符号量に大きな影響を与える非ゼロ係数の 数を可変補正値 C0rrectBitsを決定する際の因子とすることができるため、 補正 による M B発生符号量の予測精度を向上させることができる。
また符号化装置は、 D C T係数がゼロでない非ゼロ係数の数当たりの Coef Cost 及び M B発生符号量の予測対象となる固定量子化パラメ一夕 Q P I以外の 量子化パラメ一夕 Q Pによる量子化ステップ (すなわち選択されなかった量子化 ステツプ) に基づいて可変補正値 CorrectBitsを決定する。 これにより符号化装置は、 固定量子化パラメ一夕 Q P Iと当該固定量子化パラ メータ Q P I以外の量子化パラメ一夕 Q Pとの差分 (すなわち選択された量子化 ステツプと選択されなかった量子化ステツプとの差分) に応じた可変補正値 CorrectBits を決定することができるため、 補正による M B発生符号量の予測精 度を向上させることができる。
さらに符号化装置は、 仮量子化データである符号化ストリームの M B発生符号 量に応じて、 選択された予測テーブルの固定量子化パラメ一ダ Q P I以外の量子 化ステップにおける M B発生符号量を補正する可変補正値 CorrectBitsを決定す る。
また符号化装置は、 予測テーブルの選択された量子化ステップ (固定量子化パ ラメ一夕 Q P Iに基づく量子化ステップ) における M B発生符号量から、 予測テ 一ブルが表す予測用量子化デ一夕における当該選択された量子化ステップによる M B発生符号量の差分値として固定補正値 Difffiits を算出する。 そして符号化 装置は、 選択されなかった量子化パラメ一夕 Q P (すなわち固定量子化パラメ一 夕 Q P I.以外のに応じてによる予測テ一ブルが表す M B発生符号量に対して固定 補正値 Difffiits を加算する,ことにより、 当該選択ざれなかつた量子化ステップ による M B発生符号量を予測する。 - これにより符号化装置は、 予測量子化デ一夕への.グル一プ分けの際に生じる誤 差を固定.補正値 Difffiits によって補正することができるため、 M B発生符号量 の予測精度を向上させることができる。
さらに符号化装置は、 画像データのうち、 画像部分の M B発生符号量と、 .画像 データのうち、 へ、 ダ部分の M B発生符号量とを別々に予測する。 .
これにより符号化装置は、 増減傾向が異なる画像部分及びヘッダ部分の M B発 生符号量を別々に予測できるため、 M B発生符号量の予測精度を向上させること ができる。
また符号化装置は、 選択されなかった量子化ステップの基となる固定量子化パ ラメ一夕 Q P I以外の量子化パラメ一夕 Q Pが選択された量子化ステップの基に なる固定量子化パラメ一夕 Q P Iに近い 「0〜2 6」 までの第 1のステップ範囲 である場合には、 当該固定量子化パラメ一夕 Q P Iにおけるヘッダ部分の M B発 生符号量を固定量子化パラメ一夕 Q P I以外の量子化パラメ一夕 Q Pにおけるへ ッダ部分の M B発生符号量とする。
さらに符号化装置は、 選択されなかった量子化ステップの基となる固定量子化 パラメ一夕 Q P I以外の量子化パラメ一夕 Q Pが選択された量子化ステツプの基 になる固定量子化パラメ一夕 Q P Iから遠い 「4 0」 以上の第 2のステップ範囲 である場合には、 予め定められた固定値 「A」 でなる固定の M B発生符号量を固 定量子化パラメ一夕 Q P I以外の量子化パラメ一夕 Q Pにおけるヘッダ部分の M B発生符号量とする。
加えて符号化装置は、 選択されなかった量子化ステップの基になる固定量子化 パラメ一夕 Q P I以外の量子化パラメ一夕 Q Pが 「0〜2 6」 及び 「4 0」 以上 の間となる 「 2 7〜 3.9上の第.3のステツプ範囲である場合には、 選択された量 子化ステツプの基になる固定量子化パラメ一夕 QP Iにおける M B発生符号量と 固定の M B発生符号量 (ただし、 量子化パラメ一夕 Q P Iを第 1のステップ範囲 の最大値 「2 6」 及び第 2のステップ範囲の最小値 「4 0」 どす.る) との直線補 間により算出された値を固定量子化パラメ一夕 Q P I以外の量子化パラメ一夕 Q Pにおける M B発生符号量とする。 ; これにより符号化装置は、 べッダ部分の特性に応じて MJB発生符号量を予測す ることができるため、 M B発生符号量の予測精度を向上させることができる。 符号化装置は、 · 画像デ 夕を量子化した後に算術符号化によって符号化するこ とにより本量子化デ一夕としての本符号化ストリームを生成し、 画像データを量 子化した後に、 .コンテキストを適用的に変更してなる可変長符号化によって符号 化することにより仮の量子化データとしての仮符号化ストリームを生成する。 これにより符号化装置は、 算術符号化よりも簡易な可変長符号化を用いて各画 像データの M B発生符号量を予測できるため、 構成を簡易にすることができる。 また、 コンテキストを適用的に変更してなる可変長符号化を用いることにより、 算術符号化との間に生じる誤差を小さくし得る。
以上の構成によれば、 符号化装置は、 予測テーブルにおいて固定量子化パラメ
—夕 Q P I以外の量子化パラメ一夕 Q Pが示す M B発生符号量を符号化方式に応 じて補正することにより、 固定量子化パラメ一夕 Q Pに基づく M B発生符号量に
.基づいて、 固定量子化パラメ一夕 Q P I以外の量子化パラメ一夕による M B発生 符号量を高い精度で予測することができる。
( 5 ) 他の実施の形態
なお上述レた第 1 の実施の形態においては、 固定量子化スケール Q Iを 「 1
- 0」 に設定するようにした場合について述べた ί> 本発明はこれに限らず、 1 ~ 3 1でなる量子化ィンデックスの中から任意に選択することが可能である。 また第 4の実施の形態における固定量子化パラメ一夕 Q P Iについても同様であり、 0 〜 5 1でなる量子化ィンデックスの中から任意に選択するこどが可能である。 , . また上述した第 1〜第 4の実施の形態においては、 1 6 x 1 6画素でなるマク 口プロックを量子化単位とするようにした場合について述べた。 本発明はこれに 限らず、 例えば 8 X: 8画素のサブマクロプロックゃ 4 X 4画素を量子化単位とし ても良く、 量子化単位となる画素数について特に制限はない。
: さちに上述した第 1〜第 4の実施の形態においては、 ピクチ;ャを符号化単位ど するようにした場合について述べたが、 本発明はこれに限られない.。 例えば所定 数のビク.チヤからなる G 0 Ρや、 複数のマクロブ口ックからなるスライスく -2つ のピクチャからなるフレームなどを符号化単位とするようにしても良く、 特に制 限はない。 . - - さらに上述した第 1〜第 3の実施の形態においては、 Μ Ρ.Ε G— 2に準拠して 符号化が実行されるようにした場合について述べた'が、 本発明はこれに限られな い。 また第 4の実施の形態についても同様であり、 A V C規格に限られない。 符 号化方式について特に制限されず、 要は予め定められた複数の量子化ステップに よって量子化がなされる全ての符号化装置に適用することが可能である。
さらに上述した第 1〜第 4の実施の形態においては、 ある M B発生符号量を有 する複数の複数の予測用量子化データについて、 統計的に量子化スケール Q又は 量子化パラメ一夕 Q Pと M B発生符号量の関係を採取し、 関係情報として記憶す るようにした場合について述べた。 本発明はこれに限られず、 例えば量子化スケ ール Q又は量子化パラメ一夕 Q Pと複数の予測用量子化データについての M B発 生符号量の関係を離散的に採取し、 これらに基づく変換式などにより、 線形補間 などにより近似的に予測用量子化データの M B発生符号量を予測し、 関係情報と して記憶することも可能である。 またこの関係情報は、 必ずしもピクチャタイプ ごとに生成されなくても良い。 さらに、 関係情報に設定される予測量子化デ一夕
(すなわちグループ) の数も任意に設定することができる。
さらに上述した第 1〜第 4の実施の形態においては、 パラメ一夕エンコード
(本符号化) において適応量子化を実行するようにした場合について述べた。 本 発明はこれに限られず、 必ずしも適応量子化を実行する必要ばない。 .この場合、 プレエンコード (仮符号化) の際にも、 適応量子化 (ァケテイビティ.による量子 化ステップの増減) が不要となる。 また、 適応量子化の指^ =票として必ずしもァク テイビティを用いる必要はなく、 他の指標を用いて適応量子化を実行することも できる。
さらに上述した第 1〜第 4の実施の形態においては、 他の量子化ステップによ る M B発生符号量を予測して、 レート制御による目標発生符号量 TargetMB :に反 映させるようにした場合について述べた。 本発明はこれに限らず、 例えば符号化 ストリームが記憶媒体の記憶容量内に収納可能か否かを判別する処理や、 圧縮率 を決定する処理において使用されるようにしても良い。 - .
さらに上述した第 1〜第 4の実施の形態においては、 基本量子化スケール Q から変動させた変動量子化スケール QSMB又は基本量子化パラメータ QPに基づ く基本量子化ステップから変動させた変動量子化パラメ一夕 QPSMBに基づく変 動量子化ステップによって量子化することにより、 ピクチャ発生符号量をピクチ ャ目標符号量に近づけるようにした場合について述べた。 本発明はこれに限らず、 単純に基本量子化スケール Q や基本量子化パラメ一夕 Q Pを用いて量子化して も良い。
さらに上述した第 1〜第 4の実施の形態においては、 ピクチャ発生符号量がピ クチャ目標符号量 pidtBitよりも小さく、 かつ最も近い量子化スケール Q又は量 子化パラメ一夕 QPを平均量子化スケール Q aとするようにした場合について述 ベた。 本発明はこれに限らず、 例えばピクチャ発生符号量がピクチャ目標符号量 pictBitに最も近い量子化スケール Q選択しても良い。 量子化パラメ一夕 Q Pに ついても同様である。
さらに土述した第 4の実施の形態においては、 可変補正値 CorrectBitsを決定 するための指標値として Coef Costを用いるようにした場合について述べた。 本 発明はこれに限らず、 その他種々の方法により可変補正値 CorrectBitsを決定す ることができる。 また、 Coef Costを総和ではなく単体として使用したり、 1係 数当たりでなく Coef Cost同士を比較したりしても,良い。 また Coef Costの算出 方法にも制限はなく、 DCT係数に対して単純に比例するよ.うな値を Coef Cost として用いても良い。
さらに上述した第 4の実施の形態においては、 固定補正値 . CostDiff を加算す るようにした場合について述べた。 本発明はこれに限ちず、 必ずしも固定補正値 CostDiffによる補正は必要ではない。
さらに上述した第 4の実施の形態においては、.画像部分とヘッダ部分の MB 発生符号.量を別々に予測するようにした場合について述 た:。 本発明はこれに限 ら,ず、 同時に予測すること,も可能である。 またヘッダ部分の MB 発生符号量の: 予測方法に制限はなく、 例えば画像部分と同様に、 ヘッダ部分専用の関係情報.を 用いるようにすることもできる。 .
さらに上述した第 4の実施の形態においては、 算術符号化により本符号化処理 を実行する一方、 可変長符号化により仮符号化処理を実行する場合について述べ た。 本発明はこれに限らず、 符号化方式に制限はなく、 同一の符号化方式により 符号化しても良く、 また^!の符号化方式を用いることもできる。
以上、 本発明の実施の形態について説明したが、 本発明はこれに限定されるこ となくその趣旨を逸脱しない範囲で種々の改良 ·変更が可能であることは勿論で ある。 また上述した第 1〜第 4の実施の形態の構成を適宜組み合わせることが可 能である。
例えば、 前述した第 1〜第 4の実施の形態に係る画 i 処理装置及び方法は、 コ ンピュー夕により実行されるプログラム、 及び該プログラムを格納した記録媒体 としても実施可能であることは勿論であり、 その場合も、 前述した作用効果が奏 される。

Claims

1 . 複数の量子化ステップのうち、 量子化単位ごとに量子化ステップを選択する 量子化選択部と、
上記量子化選択部によって選択された量子化ステツプで画像データを量子化し て仮の量子化データを生成し、 当該仮の量子化デ一夕の量子化単位ごとの発生符 号量である量子化単位発生符号量を算出する仮符号化部と、
上記量子化選択部によって選択された量子化ステップにおレ、て上記量子化単位 発生符号量が相違する複数の予測用量子化データについて、 上記複数の量子化ス テツプと上記量子化単位発生符号量との関係 ofを表す関係情報を記憶する記憶部と、 上記仮の量子化デ一夕の上記量子化単位発生符囲号量及び上記量子化選択部によ つて選択された量子化ステップに基づいて上記関係情報から予測用量子化デ一夕 を選択するデータ選択部と、
上記デ一夕選択部によって選択された上記予測用量子化データに基づいて、 上 記複数の量子化ステップのうち、 上記量子化選択部によって選択されなかった.量 子化ステップによつて上記画像データを量子化したときの上記量子化単位発生符 号量を予測する符号量予測部と
を有する画像処理装置。
2 . 予測した上記量子化単位発生符号量を積算することにより、 符号化単位ごと の上記量子化データの発生符号量である符号化単位発生符号量を予測する符号化 単位発生符号量予測部 ; .
を有する請求項 1に記載の画像処理装置。
3 . 上記複数の量子化ステップのうち、 上記符号化単位発生符号量が上記符号化 単位ごとの目標となる符号化単位目標符号量に近づくよう基本量子化ステップを 予測する基本量子化ステツプ予測部
を有する請求項 2に記載の画像処理装置。
4 . 上記量子化単位ごとに上記画像データを量子化し、 本量子化データを生成す る本符号化部と、
上記本量子化データの上記符号化単位発生符号量が上記符号化単位目標符号量 に近づくよう、 上記基本量子化ステップから変動させた変動量子化ステップで上 記画像データを量子化させるよう上記本符号化部を制御する符号量制御部と を有する請求項 3に記載の画像処理装置。
5 . 本量子化デ一夕の上記量子化単位発生符号量と上記量子化単位ごとの発生符 号量の目標となる量子化単位目標符号量との符号量の差分に基づいて上記変動量 子化ステップを決定する変動量子化ステップ決定部
を有する請求項 4に記載の画像処理装置。
6 . 上記基本量子化ステツプ予測部によつて予測された上記基本量子化ステップ に基づいて予測した上記量子化単位発生符号量を、 上記量子化単位目標符号量と する量子化単位目標符号量設定部
を有する請求項 4に記載の画像処理装置。
7 . 上記符号量制御部は、
上記量子化選択部によつて選択された量子化ステツプによる上記符号化単位発 生符号量に対する上記符号化単位目標符号量の比率を、 上記量子化選択部にょづ て選択された量子化ステップに基づく上記量子化単位発生符号量に対して乗算し た値を、 上記量子化単位目標符号量とする量子化単位目標符号量設定部
を有する請求項.4に記載の画像処理装置。 ■· -■'.
-8 . 上記基本量子化ステップ予測部は、
上記符号化単位発生符号量が上記符号化単位目標符号量よりも小さぐ、 かつ上 記符号化単位発生符号量及び上記符号化単位目標符号量の差分が最小となる平均 量子化ステップを選択し、 当該平均量子化ステップに対してァクティビティ増減 値を加減す.ることにより、 上記基本量子化ステツプを予測する
請求項 1に記載の画像処理装置。
9 . 上記仮符号化部は、
上記量子化選択部によって選択された量子化ステップにより上記符号化単位の 上記画像データを量子化する
請求項 1に記載の画像処理装置。
1 0 . 上記記憶部は、
ビクチャタイプごとに上記関係情報を記憶し、
上記符号量予測部は、
上記ビクチャタイプに応じた関係情報から上記予測用量子化データを選択する 請求項 1に記載の画像処理装置。
1 1 · 上記仮符号化部は、
上記量子化単位ごとの上記画像デ一夕に応じた量子化ステツプにより上記画像 データを量子化する
請求項 1に記載の画像処理装置。
1 2 . 上記仮符号化部は、:
上記画像データを量子化した後に固定的なテーブルを用いて可変長符号化する ことにより上記仮量子化デ一夕を生成し、
上記符号量予測部は、 . .
上記デーダ選択部によって選択された上記予測用量子化データの上記量子化選 択部によって選択されなかつた量子化ステップにおける上記量子化単位発生符号 量を、 上記量子化選択部によって選択されなかった量子化ステップによって上記 画像データを量子化したときの上記量子化単位発生符号量として予測する 請求項 1に記載の画像処理装置。
1 3 . 上記仮符号化部は、
上記画像データを量子化した後に領域に応じて上記量子化単位発生符号量が大 きく変化しない符号化方式によって符号化することにより上記仮量子化デ一夕を 生成し、
上記符号量予測部は、
上記データ選択部によって選択された上記予測用量子化データの上記量子化選 択部によって選択されなかった量子化ステップにおける上記量子化単位発生符号 量を補正することにより、 上記量子化選択部によって選択されなかった量子化ス テップによつて上記画像デ一夕を量子化したときの発生符号量を予測する 請求項 1に記載の画像処理装置。
1 4 . 上記仮符号化部は、
画像データに対して所定の直交変換処理を施すことにより、 上記画像データを 生成し、
上記符号量予測部は、
上記画像データにおける変換係数に基づいて、 上記データ選択部によって選択 された上記予測用量子化デ一夕の上記量子化選択部によって選択されなかった量 子化ステップにおける上記量子化単位発生符号量を補正する補正値を決定する 請求項 1 3に記載の画像処理装置。
1 5 . 上記符号量予測部は、
上記変換係数をゼ口にするのに必要となるゼロ量子化ステップに応じて算出さ れる指標値の上記量子化単位ごとの指標総和を算出し、 当該指標総和に基づいて 上記量子化単位発生符号量を補正する補正値を決定する.
請求項 1 4に記載の画像処理装置。
1 6 . 上記符号量予測部は、 ·' ·
上記量子化選択部によつて選択された量子化ステツプにおける上記予測用量子 化デ一ダの発生符号量からの上記量子化単位発生符号量の差分を、 上記量子化選 択部によって選択されなかった量子化ステップによる上記予測用量子化デーダの 量子化単位発生符号量に対して加算することにより、 上記量子化選択ステップに よつて選択されなかつた量子化ステツプによる上記量子化単位発生符号量を予測 する
請求項 1に記載の画像処理装置。
1 7 . 上記符号量予測部は、
上記画像データのうち、 画像部分の上記量子化単位発生符号量を予測する画像 符号量予測部と、 上記画像データのうち、 ヘッダ部分の上記量子化単位発生符号量を予測するへ ッダ符号量予測部と
を有する請求項 1に記載の画像処理装置。
1 8 . 上記仮符号化部は、
A.V C規格に従って上記量子化デ一夕を生成し、
上記符号量予測部は、
上記画像データのうち、 画像部分の上記量子化単位発生符号量を予測する画像 符号量予測部と、
上記画像デ一ダのうち、 ヘッダ部分の上記量子化単位発生符号量を予測するへ ッダ符号量予測部とを有し、
上記ヘッダ符号量予測部は、
量子化ステップの基になる 0〜 5 1の量子化パラメ一夕のうち、 上記量子化選 択部によって選択ざれなかった量子化ステップが 2 6以下の上記量子化パラメ一 夕に基づぐどきには上記量子化選択部によって選択ざれた量子化ステップにおけ る上記量子化単位発生符号量を上記量子化選択部によって選択されなかった量子 化ステツプにおける上記量子化単位発生符号量とする第 1のヘッダ符号量予測部. と、
上記量子化選択部によって選択されなかった量子化ステップが 4 0以上 5 1以 下の上記量子化パラメ一夕に基づくときには、 予め定められた固定値でなる固定 発生符号量を上記量子化選択部によって選択されなかった量子化ステップにおけ る上記量子化単位発生符号量とする第 2のヘッダ符号量予測部と、 :
上記量子化選択部によって選択されなかった量子化ステツプが 2 7以上 3 9以 下の上記量子化パラメ一夕に基づくときには、 上記量子^選択 ¾ こよって選択さ れた量子化ステップにおける上記量子化単位発生符号量と上記固定発生符号量 (ただし、 量子化ステップをそれぞれ第 1のステップ範囲の最大値及び第 2のス テツプ範囲の最小値とする) との直線補間により算出された値を上記量子化選択 部によって選択されなかった量子化ステップにおける上記量子化単位発生符号量 とする第 3のへッダ符号量予測部と
を有する請求項 1 3に記載の画像処理装置。
1 9 . 上記本符号化部は、
画像データを量子化した後に算術符号化によつて符号化することにより上記本 量子化デ一夕を生成し、
上記仮符号化部は、
画像データを量子化した後に、 コンテキストを適用的に変更してなる可変長符 号化によって符号化することにより上記仮の量子化デ一夕を生成する
請求項 4に記載の画像処理装置。
2 0 . 複数の量子化ステップのうち、 量子化単位ごとに量子化ステップを選択す る量子化選択ステップと、
上記選択ステヅプにおいて選択された量子化ステップで画像デ一ダを量子化し て仮の量子化データを生成し、 当該仮の量子化データの量子化単位ごとの発生符 号量である量子化単位発生符号量を算出する仮符号化ステップど、
上記量子化選択ステップで選択された量子化ステップにおいて上記量子化単位 発生符号量が相違する複数の予測用量子化データにづいて、 上記複数の量子化ス テツプと上記量子化単位発生符号量との関係を表す関係情報.を記憶する記憶ステ ップと、 .
. 上記仮の量子化デ一夕の上記量子化単位発生符号量及び上記量子化選択ステツ プで選択された量子化ステップに基づいて、 上記関係倩報から予測用量子化デー 夕を選択するデータ選択ステップと、
上記量子化選択ステップにおいて選択された上記予測用量子化データに基づい て、 上記複数の量子化ステップのうち、 上記量子化選択部によって選択されなか つた量子化ステップによつて上記画像データを量子化したときの上記量子化単位 発生符号量を予測する符号量予測ステップと
を有する画像処理方法。
PCT/JP2008/066910 2007-09-12 2008-09-12 画像処理装置及び方法 WO2009035143A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN200880008264.4A CN101637026B (zh) 2007-09-12 2008-09-12 图像处理装置和方法
JP2009532266A JP5365518B2 (ja) 2007-09-12 2008-09-12 画像処理装置及び方法
US12/530,643 US8238423B2 (en) 2007-09-12 2008-09-12 Image processing apparatus and method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2007236944 2007-09-12
JP2007-236944 2007-09-12
JP2008169396 2008-06-27
JP2008-169396 2008-06-27

Publications (1)

Publication Number Publication Date
WO2009035143A1 true WO2009035143A1 (ja) 2009-03-19

Family

ID=40452143

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/066910 WO2009035143A1 (ja) 2007-09-12 2008-09-12 画像処理装置及び方法

Country Status (4)

Country Link
US (1) US8238423B2 (ja)
JP (1) JP5365518B2 (ja)
CN (1) CN101637026B (ja)
WO (1) WO2009035143A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969556A (zh) * 2009-07-27 2011-02-09 索尼公司 图像编码设备和图像编码方法
JP2011029956A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置および画像符号化方法
JP2011029954A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置と画像符号化方法
CN110418133A (zh) * 2018-04-30 2019-11-05 宝视纳股份公司 用于为图像数据编码的方法和装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4569840B2 (ja) * 2007-09-12 2010-10-27 ソニー株式会社 画像符号化装置、画像符号化方法
US8731052B2 (en) * 2008-06-27 2014-05-20 Sony Corporation Image processing device and image processing method with feedback control
RU2479935C2 (ru) * 2008-06-27 2013-04-20 Сони Корпорейшн Устройство для обработки изображения и способ обработки изображения
US8270744B2 (en) * 2008-06-27 2012-09-18 Sony Corporation Image processing apparatus and image processing method
RU2479942C2 (ru) * 2008-06-27 2013-04-20 Сони Корпорейшн Устройство обработки изображения и способ обработки изображения
JP4784650B2 (ja) * 2009-01-07 2011-10-05 ソニー株式会社 符号化装置、目標符号量調整方法及び記録媒体
CN102282770B (zh) * 2009-01-23 2014-04-16 日本电信电话株式会社 一种参数选择方法、参数选择装置
JP5257215B2 (ja) * 2009-04-16 2013-08-07 ソニー株式会社 画像符号化装置と画像符号化方法
CN101729900B (zh) * 2009-11-17 2014-03-26 北京中星微电子有限公司 离散余弦变换系数的量化控制方法和量化装置
JP5484083B2 (ja) * 2010-01-14 2014-05-07 株式会社メガチップス 画像処理装置
JP5396302B2 (ja) * 2010-02-08 2014-01-22 パナソニック株式会社 映像信号符号化装置及び映像信号符号化方法
KR101645465B1 (ko) * 2010-07-23 2016-08-04 삼성전자주식회사 휴대용 단말기에서 입체 영상 데이터를 생성하기 위한 장치 및 방법
JP6327435B2 (ja) * 2011-03-03 2018-05-23 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、及び、画像復号装置
CN107197277B (zh) 2011-03-09 2020-05-05 日本电气株式会社 视频解码设备以及视频解码方法
JP5947641B2 (ja) * 2012-07-06 2016-07-06 キヤノン株式会社 動画像符号化装置及びその制御方法、コンピュータプログラム
US9516305B2 (en) 2012-09-10 2016-12-06 Apple Inc. Adaptive scaler switching
FR3024314B1 (fr) * 2014-07-25 2017-12-08 Allegro Dvt Codeur de video a faible latence
WO2016164459A1 (en) 2015-04-10 2016-10-13 Red.Com, Inc. Video camera with rate control video compression
CN107113430B (zh) * 2016-10-12 2019-04-30 深圳市大疆创新科技有限公司 码率控制的方法、计算机系统和装置
KR102620350B1 (ko) 2017-07-05 2024-01-02 레드.컴, 엘엘씨 전자 디바이스에서의 비디오 이미지 데이터 처리

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04114585A (ja) * 1990-09-04 1992-04-15 Matsushita Electric Ind Co Ltd 動き補償フレーム間符号化装置
JPH0865677A (ja) * 1994-08-22 1996-03-08 Nec Corp 動画像符号化装置
JP2006222555A (ja) * 2005-02-08 2006-08-24 Matsushita Electric Ind Co Ltd 符号化装置及び符号化方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2908550B2 (ja) 1990-09-28 1999-06-21 株式会社東芝 養液栽培装置
JPH04341085A (ja) * 1991-05-17 1992-11-27 Oki Electric Ind Co Ltd 動画像符号化装置
US5703646A (en) * 1993-04-09 1997-12-30 Sony Corporation Picture encoding method, picture encoding apparatus and picture recording medium
JP3358620B2 (ja) 1993-04-09 2002-12-24 ソニー株式会社 画像符号化方法及び画像符号化装置
JP3264043B2 (ja) 1993-04-30 2002-03-11 ソニー株式会社 量子化コントロール装置および方法
WO1995009487A1 (en) * 1993-09-28 1995-04-06 Sony Corporation High efficiency encoding/decoding device
KR100381830B1 (ko) * 1995-03-09 2003-08-02 소니 가부시끼 가이샤 화상신호의부호화방법및그장치
JPH09247675A (ja) * 1996-03-13 1997-09-19 Fuji Film Micro Device Kk 画像圧縮方法および画像圧縮システム
US6100931A (en) * 1996-03-19 2000-08-08 Sony Corporation Method and apparatus for controlling a target amount of code and for compressing video data
JPH09294263A (ja) 1996-04-24 1997-11-11 Victor Co Of Japan Ltd 画像情報圧縮装置
US6337879B1 (en) * 1996-08-14 2002-01-08 Sony Corporation Video data compression apparatus and method of same
JP3864461B2 (ja) * 1996-08-30 2006-12-27 ソニー株式会社 映像データ圧縮装置およびその方法
JPH1079948A (ja) * 1996-09-03 1998-03-24 Mitsubishi Electric Corp 画像符号化装置
JP4114210B2 (ja) 1996-12-12 2008-07-09 ソニー株式会社 映像データ圧縮装置およびその方法
KR100599017B1 (ko) * 1996-12-12 2006-12-13 소니 가부시끼 가이샤 영상 데이터 압축 장치 및 그 방법
KR100610520B1 (ko) * 1997-07-08 2006-08-09 소니 가부시끼 가이샤 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
JP3356663B2 (ja) * 1997-10-22 2002-12-16 松下電器産業株式会社 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
JP4511649B2 (ja) 1999-02-03 2010-07-28 三菱電機株式会社 画像符号化方式および画像符号化装置
JP2002010259A (ja) * 2000-06-21 2002-01-11 Mitsubishi Electric Corp 画像符号化装置及び画像符号化方法及び画像符号化プログラムを記録した記録媒体
JP2002359853A (ja) 2001-03-26 2002-12-13 Sony Corp 画像処理装置、画像処理方法、画像処理プログラムおよび記録媒体
JP2002290914A (ja) 2001-03-26 2002-10-04 Sony Corp 記録再生装置及びそのバックサーチ方法
WO2002080573A1 (en) * 2001-03-28 2002-10-10 Sony Corporation Quantization apparatus, quantization method, quantization program, and recording medium
WO2002080567A1 (en) * 2001-03-30 2002-10-10 Sony Corporation Image signal quantizing device and its method
US6934330B2 (en) * 2001-08-01 2005-08-23 Sony Corporation Image processing apparatus
US7386048B2 (en) * 2002-05-28 2008-06-10 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode organization
DE60313454T2 (de) 2002-05-28 2008-01-03 Sharp K.K. Verfahren und systeme zur bildintraprädiktionsmodusschätzung,kommunikation und organisation
US7289672B2 (en) 2002-05-28 2007-10-30 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode estimation
US7236524B2 (en) * 2002-05-28 2007-06-26 Sharp Laboratories Of America, Inc. Methods and systems for image intra-prediction mode communication
US7054497B2 (en) * 2002-06-14 2006-05-30 Koninklijke Philips Electronics N.V. Method and system for optimizing image sharpness during coding and image enhancement
JP2004056680A (ja) * 2002-07-23 2004-02-19 Ricoh Co Ltd 画像処理装置および画像処理方法
JP4114585B2 (ja) * 2002-09-27 2008-07-09 東洋インキ製造株式会社 ガスバリア性積層体の製造方法
JP4127818B2 (ja) * 2003-12-24 2008-07-30 株式会社東芝 動画像符号化方法及びその装置
JP4247680B2 (ja) * 2004-07-07 2009-04-02 ソニー株式会社 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
CN1275469C (zh) * 2004-11-10 2006-09-13 华中科技大学 一种复杂度可分级的帧内预测方法
JP4235162B2 (ja) 2004-11-18 2009-03-11 日本電信電話株式会社 画像符号化装置,画像符号化方法,画像符号化プログラムおよびコンピュータ読み取り可能な記録媒体
JP4050754B2 (ja) 2005-03-23 2008-02-20 株式会社東芝 ビデオエンコーダ及び動画像信号の符号化方法
KR20070024211A (ko) * 2005-08-26 2007-03-02 삼성전자주식회사 영상압축장치 및 방법
JP4246723B2 (ja) 2005-08-29 2009-04-02 日本電信電話株式会社 フレーム内予測符号化制御方法、フレーム内予測符号化制御装置、フレーム内予測符号化制御プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04114585A (ja) * 1990-09-04 1992-04-15 Matsushita Electric Ind Co Ltd 動き補償フレーム間符号化装置
JPH0865677A (ja) * 1994-08-22 1996-03-08 Nec Corp 動画像符号化装置
JP2006222555A (ja) * 2005-02-08 2006-08-24 Matsushita Electric Ind Co Ltd 符号化装置及び符号化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969556A (zh) * 2009-07-27 2011-02-09 索尼公司 图像编码设备和图像编码方法
JP2011029956A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置および画像符号化方法
JP2011029955A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置および画像符号化方法
JP2011029954A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置と画像符号化方法
CN101969556B (zh) * 2009-07-27 2013-03-27 索尼公司 图像编码设备和图像编码方法
CN110418133A (zh) * 2018-04-30 2019-11-05 宝视纳股份公司 用于为图像数据编码的方法和装置

Also Published As

Publication number Publication date
US8238423B2 (en) 2012-08-07
CN101637026A (zh) 2010-01-27
CN101637026B (zh) 2012-03-28
JP5365518B2 (ja) 2013-12-11
JPWO2009035143A1 (ja) 2010-12-24
US20100135386A1 (en) 2010-06-03

Similar Documents

Publication Publication Date Title
WO2009035143A1 (ja) 画像処理装置及び方法
JP4388877B2 (ja) ビデオエンコーダレート制御用装置、システムおよび方法
US8824546B2 (en) Buffer based rate control in video coding
CN100456835C (zh) 用于视频编码器的编码位率控制方法及系统
JP4256574B2 (ja) 画像信号符号化方法および画像信号符号化装置
KR100238066B1 (ko) 양자화활동도를 이용한 비트 발생량 제어방법 및 그 영상 부호화장치
US20040037357A1 (en) Method and apparatus for variable bit-rate control in video encoding systems and computer program product therefor
US20070263720A1 (en) System and method of adaptive rate control for a video encoder
US8681858B2 (en) Rate control for two-pass encoder
WO2009157579A1 (ja) 画像処理装置及び画像処理方法
US20050243930A1 (en) Video encoding method and apparatus
JP2004511976A (ja) ディジタルビデオ記録のためのビデオビットレート制御方法及び装置
JPWO2009157577A1 (ja) 画像処理装置及び画像処理方法
JP3872849B2 (ja) 動画像符号化装置
CN104125460A (zh) 用于控制视频比特率的方法和设备
JP4042597B2 (ja) 画像符号化装置及び方法、プログラム、記録媒体
KR20000070810A (ko) 부호화 장치 및 부호화 방법
JP2004328150A (ja) 動画像符号化装置及び方法
JPH07203430A (ja) 画像符号化装置
Lee et al. A rate control algorithm for DCT-based video coding using simple rate estimation and linear source model
JP4788653B2 (ja) 画像データトランスコーディング装置及びトランスコーディング方法
KR101150332B1 (ko) 양자화계수 선택빈도수가 통계적으로 반영된 테이블을이용한 영상부호화 제어장치 및 방법
JP3265696B2 (ja) 画像圧縮符号化装置
CN114466190B (zh) 一种图像集合级别的码率控制方法
KR101069254B1 (ko) H.264를 위한 프레임 단위 비트율 제어 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880008264.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08830576

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2009532266

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 12530643

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08830576

Country of ref document: EP

Kind code of ref document: A1