WO2008065822A1 - Encoding device and encoding method - Google Patents

Encoding device and encoding method Download PDF

Info

Publication number
WO2008065822A1
WO2008065822A1 PCT/JP2007/070156 JP2007070156W WO2008065822A1 WO 2008065822 A1 WO2008065822 A1 WO 2008065822A1 JP 2007070156 W JP2007070156 W JP 2007070156W WO 2008065822 A1 WO2008065822 A1 WO 2008065822A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
quantization parameter
data
quantization
encoding
Prior art date
Application number
PCT/JP2007/070156
Other languages
English (en)
French (fr)
Inventor
Toshihiro Tanaka
Original Assignee
Panasonic 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 Panasonic Corporation filed Critical Panasonic Corporation
Priority to JP2008546909A priority Critical patent/JP5231243B2/ja
Priority to US12/439,021 priority patent/US8170359B2/en
Priority to EP07829890.8A priority patent/EP2088784B1/en
Priority to CN2007800302033A priority patent/CN101502122B/zh
Publication of WO2008065822A1 publication Critical patent/WO2008065822A1/ja

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/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/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/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the present invention relates to an encoding apparatus and method, and more particularly to an encoding apparatus and method to which arithmetic encoding is applied.
  • Arithmetic coding is a technique that can reversibly compress the amount of information to a theoretical limit in accordance with the occurrence probability of the information source symbol. Arithmetic coding is adopted in the field of image coding in the JPEG2000 standard (ISO / lEC15444), the H.264 / MPEG4-AVC standard (see Non-Patent Document 1), and the like.
  • CABAC Context Adaptive Binary Arithmetic Coding
  • a binarization circuit 130 binarizes multi-value input data that is encoded information power such as transform coefficient data and flags.
  • binarization distinguishes the syntax element (syntax element) which is the type of input data from the control information, and the probability characteristics of the data, unary binarization or unary binarization.
  • the binary symbol (binary) sequence binarized by the binarization circuit 130 is sent to the (binary) arithmetic coding circuit 140. This is done using different methods such as fixed-length binarization. Entered.
  • the context calculation circuit 520 Based on the control information indicating the syntax element, the context calculation circuit 520 converts the value of the context index (ctxldx) used to encode the current 1 bit in the binary symbol sequence to the H.264 standard. It is determined uniquely with reference to the table defined in.
  • the context calculation circuit 520 initializes and stores occurrence probability information for each value of ctxldx. Occurrence probability information is the symbol of the higher occurrence probability of “0” or “1” of the binary symbol. It is a set of MPS indicating Bol and occurrence probability pState. Occurrence probability information corresponding to the calculated value of ctxldx is called “context information”.
  • the context calculation circuit 520 generates context information 504 and outputs it to the arithmetic coding circuit 140.
  • the occurrence probability of a symbol input to the arithmetic encoding circuit 140 that is, the context information 504 is adaptively switched by a syntax element that performs arithmetic encoding, so that the occurrence probability of a binary symbol dynamically changes.
  • Optimal arithmetic coding can be performed on the value symbol string 503.
  • the total bit length (symbol length) of the binary symbol sequence is called “symbol amount”, and the total bit length of the output code after arithmetic coding is called “code amount”.
  • the total bit length of a binary symbol sequence that is generated when multi-value input data in a certain interval is processed is called “generated binary symbol amount”, and the total bit length of output code is called “generated code amount”.
  • the occurrence probability of symbol “0” is 0.75 (binary 0.11) and symbol “1” occurrence probability is 0.25 from the source of ⁇ 0, 0, 0, 1 ⁇ .
  • the occurrence probability pState is expressed as a normalized integer value, but here it is a binary value for simplicity.
  • the context information 504 is updated by the current binary arithmetic coding and returned to the context calculation circuit 520.
  • the context calculation circuit 520 updates the occurrence probability information of the corresponding ctxldx. This value is reused when the same context is encoded next time.
  • the value “011” after the decimal point becomes the output binary string, and the 4-bit input value is compressed to 3 bits. That's it. Actually, when the output bit (0 or 1) is determined, a process called renormalization is performed to shift the left bit of the probability value.
  • Patent Document 1 Japanese Patent Application Laid-Open No. 2004-135251
  • Non-Patent Document 1 I ⁇ > ⁇ IEC14496— 10 Advanced video coding for generic audiovisual services
  • an upper limit value (BinCountsInNALunits) of a binary symbol amount is specified for the purpose of specifying the maximum processing amount in the decoder (see Non-Patent Document 1). .
  • this upper limit value it is necessary to control the code amount and binary symbol amount.
  • By defining this upper limit value it is possible to define the upper limit value of the circuit operating time. For example, in Patent Document 1, a limit monitor for the amount of binary symbols to be input to the arithmetic encoder is prepared, and when the threshold value is exceeded, the encoder is re-encoded or a plurality of encoding parameters are applied in parallel. The amount of binary symbols is controlled by encoding.
  • the present invention has been made in consideration of the above-described problems, and an object of the present invention is an encoding apparatus to which arithmetic encoding is applied, which can reduce the amount of binary symbols with a simple circuit configuration.
  • An object of the present invention is to provide an encoding device that performs encoding with guaranteed decoding operation while controlling the following, and at the same time, accurately realizes code amount control.
  • an apparatus for quantizing and encoding an input signal wherein an upper limit value of a symbol amount of binary symbols generated by quantization is determined.
  • the encoding device includes a signal processing circuit that performs predetermined signal processing on an input signal, a quantization parameter generation circuit that generates a first quantization parameter, and an input signal that has undergone predetermined signal processing.
  • a first quantization circuit that generates the first quantized data by quantizing based on the first quantization parameter, binarizes the first quantized data, and outputs the first binary
  • a first binarization circuit that outputs symbol data
  • a first binarization unit that performs arithmetic coding on the first binary symbol data based on a predetermined target code amount to generate first encoded data Based on the arithmetic coding circuit, the symbol amount of the first binary symbol data, the code amount of the first encoded data, the second quantization parameter, the upper limit value of the symbol amount, and the target code amount.
  • the encoding method includes a step of performing predetermined signal processing on an input signal, a step of generating a first quantization parameter, and an input signal having been subjected to predetermined signal processing into a first quantity.
  • the amount of generated binary symbols is controlled to be equal to or less than the upper limit value with a simple circuit configuration, and at the same time, the code amount control of the output bitstream is accurately performed. Therefore, it is possible to provide a bit stream in which the code amount is accurately kept within a predetermined amount and the decoding operation is guaranteed.
  • FIG. 1 is a configuration diagram of a video encoding device according to an embodiment of the present invention.
  • FIG. 4 (a) A diagram illustrating a specific example of the representative quantization parameter, (b) a diagram illustrating an example of applying the representative quantization parameter to a macroblock in the case of the progressive method, and (c) an interlace. Diagram showing an example of applying representative quantization parameters to macroblocks in the case of the method
  • FIG. 5 is a diagram showing a specific example of the generated binary symbol amount and the generated code amount for each representative quantization parameter stored in the binary symbol amount ′ code amount integrated value memory.
  • FIG. 6 Diagram for explaining how to calculate the optimal quantization parameter based on the amount of generated binary symbols
  • FIG. 7 A diagram for explaining a method for calculating an optimal quantization parameter based on a generated code amount.
  • FIG. 8 is a block diagram of an encoding device to which the idea of the present invention can be applied.
  • FIG. 9 is a diagram showing the configuration of a conventional context adaptive arithmetic coding circuit
  • an intra frame that can be decoded within a frame is a target for encoding, and the amount of binary symbols obtained by encoding is controlled to be equal to or less than a predetermined upper limit value, and the amount of code is controlled with high accuracy.
  • the encoding device will be described. [0025] 1. Composition of video symbol ⁇ Hh
  • FIG. 1 shows the configuration of a video encoding apparatus according to the embodiment of the present invention.
  • a video encoding apparatus 100 includes a first encoding circuit 101 that performs provisional encoding, a second encoding circuit 102 that performs regular encoding, a frame memory 151, and a prediction mode memory 152.
  • the first encoding circuit 101 includes a blocking circuit 161 for blocking the input digital video signal, a prediction mode detection circuit 173, an intra prediction generation circuit 171, and a DCT as an orthogonal transformation circuit.
  • the circuit 181, the quantization circuit 121, the quantization parameter generation circuit 111, the binarization circuit 131, and the arithmetic coding circuit 141 are configured.
  • the second encoding circuit 102 includes a blocking circuit 162 for blocking the input digital video signal, an intra prediction generation circuit 172, a DCT circuit 182, a quantization circuit 122, The quantization parameter calculation circuit 112, the binarization circuit 132, the arithmetic coding circuit 142, the inverse quantization circuit 124, and the inverse DCT circuit 184 are configured.
  • the first encoding circuit 101 When the video encoding device 100 receives a digital video signal of one frame, the first encoding circuit 101 performs a temporary encoding process of the video signal for one frame.
  • the digital video signal input to the video encoding device 100 is also stored in the frame memory 151, delayed by a predetermined time within one frame, and output to the second encoding circuit 102.
  • the second encoding circuit 102 reads data from the frame memory 151, performs normal encoding processing on the read data, and outputs a bit stream as a result of encoding.
  • the prediction mode detection circuit 173 detects a prediction mode for intra prediction, and stores the value in the prediction mode memory 152. Also, the binary symbol amount and code amount output from the binarization circuit 131 and arithmetic coding circuit 141 are stored in the binary symbol / code amount integrated value memory 153. The second encoding circuit 102 multiplies the prediction mode value stored in the prediction mode memory 152 and the binary symbol amount / binary symbol amount stored in the code amount integrated value memory 153 and the code amount. The optimal quantization parameter is determined in response to the value, and normal encoding processing is performed on the video signal of the same frame as the frame processed by the first encoding circuit 101.
  • the processing of the first encoding circuit 101 will be described.
  • the blocking circuit 161 divides the image indicated by the input digital video signal of one frame into a plurality of macroblocks of 16 ⁇ 16 pixels.
  • a macroblock contains multiple blocks that are processing units for DCT and intra prediction.
  • the intra prediction generation circuit 171 varies the value of each pixel of the macroblock from the pixel of the input digital video signal and the pixel adjacent to the image of the input digital video signal. Prediction in the prediction mode.
  • the prediction modes include field macroblock decoding flag (mb—field—decoding—flag), luminance 4 ⁇ 4 intra prediction mode (Intra4x4PredMode), luminance 8 ⁇ 8 intra prediction mode (Intra8x8PredMode), color difference intra prediction mode (intra —Chroma-pred-mode) is included. Intra prediction may be done in units of 8 x 8 pixel blocks or 4 x 4 pixel blocks! /.
  • the prediction mode detection circuit 173 detects an optimum prediction mode from the four prediction modes, and outputs the information as a prediction mode value.
  • the prediction mode value is stored in the prediction mode memory 152.
  • a difference value between each pixel value of the macroblock to be encoded in the input digital video signal and a predicted value of each pixel of the macroblock to be encoded generated by the intra prediction generation circuit 171 is calculated. Then, a block of difference values of 16 ⁇ 16 pixels is generated and output to the DCT circuit 181.
  • the DCT circuit 181 performs DCT processing on the block of difference values. DCT processing is usually
  • the quantization parameter generation circuit 111 generates a quantization parameter that defines a quantization rate at the time of quantization. In this embodiment, the possible values of the quantization parameter are 0 to 51, and the smaller the value, the higher the quantization rate.
  • the quantization parameter generation circuit 111 has a plurality of quantization parameters (hereinafter referred to as “representative quantization parameters”) qp as candidates for quantization parameters to be generated.
  • the quantization parameter generation circuit 11 1 selects one of a plurality of representative quantization parameters qp for each macroblock and outputs it as a quantization parameter QP for the quantization of the macroblock. Details of the quantization parameter determination processing of the quantization parameter generation circuit 111 will be described later.
  • the coefficient data quantized by the quantizing circuit 121 is binarized by the binarizing circuit 131, and thereafter arithmetic coded by the arithmetic coding circuit 141.
  • the binary symbol amount 'code amount product circuit 154 converts the symbol amount of the binary symbol output from the binarization circuit 131 and the code amount of the code output from the arithmetic encoding circuit 141 into the same quantum. Integration is performed for each macroblock group to which the conversion parameter is applied, and the integrated value is stored in the binary symbol amount / code amount integrated value memory 153.
  • prediction pixels for intra prediction are obtained from a digital video signal for provisional encoding. Predicted pixels for intra prediction specified by the H.264 standard should not be used for the following reasons.
  • a quantization parameter is changed by the quantization parameter generation circuit 111 and a code amount and a binary symbol amount are output. Therefore, when a decoded pixel is used, the value of the quantization parameter is changed. When it is large, the accuracy of the decoded pixel is deteriorated, and the accuracy of the predicted pixel of the subsequent macroblock is lowered.
  • the inverse quantization circuit and the inverse DCT circuit in provisional encoding can be omitted, and the circuit scale can be reduced.
  • the video signal of one frame stored in the frame memory 151 is input to the blocking circuit 162 of the second encoding circuit 102.
  • the blocking circuit 162 divides an image of one frame of video signal into a plurality of macro blocks each having 16 ⁇ 16 pixels.
  • the intra prediction generation circuit 172 reads the prediction mode value from the prediction mode memory 152, and obtains a pixel prediction value for each pixel of the macroblock to be encoded using the prediction mode indicated by the prediction mode value. At this time, the values of adjacent pixels used by the intra prediction generation circuit 172 for intra prediction are generated by the inverse quantization circuit 124 and the inverse DCT circuit 184.
  • the intra prediction generation circuit 172 calculates a difference value between the pixel prediction value and the pixel value of the macroblock to be encoded for each pixel to obtain a block of difference values.
  • the DCT circuit 182 performs DCT processing on the block of difference values obtained in this way, and outputs coefficient data of frequency components.
  • the coefficient data is input to the quantization circuit 122.
  • the quantization circuit 121 quantizes the coefficient data according to the quantization parameter.
  • the quantization parameter is calculated by the quantization parameter calculation circuit 112.
  • the quantization circuit 121 outputs the quantized coefficient data to the binarization circuit 132 and the inverse quantization circuit 124.
  • the quantization parameter calculation circuit 112 acquires the binary symbol amount and encoding amount obtained by the first encoding hunting 101 from the binary symbol amount / code amount integrated value memory 153, and these values are obtained. Quantization parameters are determined based on The detailed operation of the quantization parameter generation circuit 112 will be described later.
  • the binarization circuit 132 converts the quantized coefficient data into a binary symbol.
  • the arithmetic encoding circuit 142 arithmetically encodes the binary symbol from the binarizing circuit 132 and outputs the result as a bit stream.
  • a target code amount indicating an upper limit value of the generated code amount is defined!
  • the coefficient data quantized by the quantization circuit 122 is inversely quantized by the inverse quantization circuit 124 and then subjected to inverse DCT processing by the inverse DCT circuit 184.
  • the value of the adjacent pixel of the encoding target macroblock used for intra prediction is obtained.
  • the quantization parameter generation operation by the quantization parameter generation circuit 111 of the first encoding circuit 101 will be described.
  • a description will be given of a case where the optimum quantization parameter is calculated for each slice in provisional encoding of one frame of 1920 ⁇ 1080 pixels.
  • a slice into which a frame is divided is an arbitrary set of consecutive macroblocks. Defined.
  • a 1920X1080 pixel frame consists of 16X16 macroblocks.
  • provisional quantization parameter QP (n) used in quantization circuit 121 of first encoding circuit 101 is determined.
  • the temporary quantization parameter QP (n) is the macroblock
  • Each parameter is set to one parameter selected from multiple parameter candidates (representative quantization parameters). That is, the temporary quantization parameter QP (n).
  • the quantization parameter is determined to include the maximum and minimum values of the specified quantization parameter
  • the data is selected from two types of representative quantization parameters so that the frequency of appearance of each representative quantization parameter is equal.
  • the quantization parameter “0” is given to half of the macroblocks
  • the quantization parameter “20” is given to the other half of the macroblocks.
  • temporary quantization parameters are arranged alternately or randomly in the slice. For example, in progressive scan, as shown in Fig. 3 (a), representative quantization parameters are alternately given in the order of normal raster scan, and in interlace scan, macroblock pairs are set as shown in Fig. 3 (b).
  • the representative quantization parameter can be given alternately every time.
  • the number Q of representative quantization parameters used in the quantization circuit 121 can be set to a divisor of the number of macroblocks included in one slice. By setting the number Q of representative quantization parameters in this way, the number of times each representative quantization parameter appears in the slice can be kept constant. it can. At that time, if the scanning method is the progressive method, the number of representative quantization parameters
  • Q can be a divisor of the number of macroblocks. Also, when pairing macroblocks for interlace coding, it can be set to a divisor that is half the number of macroblocks included in one slice. For example, if the number of macroblocks included in one slice is 2040, 5, 10, and 20 can be selected as the number Q of representative quantization parameters. For each Q, the number of appearances of each representative quantization parameter in one slice is 408, 204, and 102, respectively.
  • the representative quantization parameter qp (X) is a quantization parameter that can be selected by the encoder.
  • Q different values are selected from the range. In this case, it is preferable to appropriately distribute these values so that code amount prediction for optimal encoding can be easily performed.
  • Fig. 4 (a) you can select the representative quantization parameter of ⁇ 0, 4, 8, 12, 16, 22, 28, 34, 42, 51 ⁇ .
  • the representative quantization parameter is applied as shown in FIG. 4 (b)
  • the representative quantization parameter is applied as shown in FIG. 4 (c).
  • the binary symbol amount / code amount integration circuit 154 integrates the binary symbol amount and the code amount obtained as a result of the temporary encoding in the first encoding circuit 101 for each macroblock using the same representative quantization parameter. Each accumulated value is stored in the accumulated value memory 153. Hereinafter, this operation will be specifically described.
  • the amount of code generated by QP r (x), which is the sum of the quantity R ( ⁇ ), is the binary symbol quantity 'code quantity integrated value me
  • the target code amount T and the upper limit binary symbol amount B of the slice allocated using information such as bit rate, frame rate, frame complexity, and slice coding type are set as follows.
  • the second encoding circuit 102 generates a generated symbol amount b (X) and a generated code amount r (X) for each representative quantization parameter obtained as a result of provisional encoding in the first encoding circuit 101. ) And upper limit of 2 values
  • the optimal quantization parameter QP is determined based on the symbol amount and the target code amount.
  • the quantization parameter calculation circuit 112 calculates the optimum quantization parameter based on the binary symbol amount and the optimum quantization parameter based on the code amount, compares the calculation results, and compares them.
  • the left and right quantization parameters are used as the optimal quantization parameters. Details will be described below.
  • Figure 6 shows the representative quantization parameter qp (X) and each quantization parameter.
  • FIG. 6 is a diagram showing a relationship between binary symbol amounts predicted in units of slices.
  • the generated binary symbol quantity b (X) for each QP is the value of the macro to which the same quantization parameter QP is applied.
  • CEIL [x] is a function that returns the smallest integer greater than or equal to x.
  • q is an integer of 0 ⁇ q ⁇ Q— 1 and satisfies QXb (q + 1) ⁇ B ⁇ QXb (q).
  • Figure 7 shows the representative quantization parameter qp (X) and the quantization parameter QP.
  • FIG. 1 A first figure.
  • the generated code amount r (x) for each QP is a macroblock to which the same quantization parameter QP is applied.
  • code I can power S.
  • QP The calculation of QP is obtained by the following equation by linear interpolation.
  • Equation (2) When the optimal quantization parameter candidate QP is calculated using Equation (2), it is about 16.84.
  • the quantization parameter must be an integer, so round off the decimal point to 17
  • the quantization parameter calculation circuit 112 calculates the larger one of the optimal quantization parameter candidate QP based on the binary symbol amount obtained as described above and the optimal quantization parameter candidate QP bin cod based on the code amount. Is selected as the optimal quantization parameter QP and output to the quantization circuit 122 e opt
  • encoding can be performed according to the statistical properties of the input data, and the amount of generated code can be kept low.
  • the code amount is somewhat smaller than the target code amount, but binary.
  • the upper limit of the symbol amount is satisfied. Conversely, when the amount of binary symbols is relatively small and the amount of codes is large, QP is selected, and the amount of binary symbols is kept to a certain extent below the upper limit. Since it is close to the target code amount, it can be encoded into a value.
  • the generated binary symbol amount and the generated code amount are set for each of the plurality of representative quantization parameters. Ask. Thereafter, in the second encoding circuit 102, an optimum quantization parameter is obtained in consideration of the upper limit binary symbol amount and the target code amount based on the value obtained by provisional coding.
  • the optimum quantization parameter can be determined in the one-way processing flow, so that a complicated circuit configuration for restoring the occurrence probability information of the updated arithmetic coding as in the past is used. This eliminates the need for an arithmetic coding circuit in parallel! /, Thus simplifying the circuit configuration.
  • the video encoding apparatus is particularly effective when the code amount per frame is constant.
  • the video encoding apparatus has a decoder buffer state that is critical even when encoding with a limit value for the code amount in frame units or for encoding with no limit value for the code amount in frame units. This is effective when the code amount of the current frame is limited. The reason will be described below.
  • Non-Patent Document 1 it is necessary to comply with the definition of the upper limit value of the binary symbol amount by increasing the code amount using stuffing called cabac_zero_word. However, if the code amount is increased, the code amount may exceed the limit value and the coding may be broken. As exemplary type condition, because it can control the binary symbol amount below an upper limit value of the binary symbol amount calculated relative to the limiting value, stuffing of cabac_ Ze r 0 _ WO rd is needed However, the amount of code will always be below the limit value and will not fail. Therefore, the idea of this embodiment is particularly effective in the case described above.
  • Subsequent quantization parameters can control the binary symbol amount and code amount by feedback control, and can dynamically change the optimal quantization parameter QP (n).
  • the optimal quantization parameter QP QP (n)
  • the accumulated code amount R (n) at the time of encoding is added in the range of 0 ⁇ n ⁇ m in the macroblock of macroblock number m.
  • the remaining code amount (T—B) which is the difference between the generated code amount B and the target code amount T until a certain point in time (for example, the macroblock number N—1), is expressed as the remaining macroblock n (m ⁇ n ⁇ This can be implemented by setting the target code amount S to N—1).
  • provisional encoding and normal encoding are performed in units of slices, but the generated code amount R (n) is obtained by performing provisional encoding and normal encoding in smaller units. May be.
  • the processing unit for provisional encoding and regular encoding is fixed, the unit for provisional encoding and regular encoding can be dynamically changed in units of frames or other units.
  • the slice prediction code amount was obtained by linear interpolation, advanced numerical interpolation such as spline interpolation can also be used.
  • the QP-specific generated binary symbol quantity b (X) and the QP-generated generated code quantity r (x) are
  • Binary symbol amount ⁇ Code amount integrated value memory 153 The power S explained in the example of accumulation, the generated binary symbol amount B (n) and the generated code amount R (n) for each macroblock before calculating the sum Accumulate
  • the total sum may be calculated after reading from the binary symbol amount / code amount integrated value memory 153.
  • provisional encoding processing may be performed a plurality of times.
  • context adaptive computation in the H.264 standard for video coding is used.
  • the description has been given by taking the example of the technical coding.
  • the idea of the present invention can be applied when arithmetic coding is performed on quantized coefficient data, and can be applied to an encoding device that can adaptively change the quantization parameter.
  • an encoding device 200 includes a first encoding circuit 201 that performs provisional encoding processing on an input signal, a second encoding circuit 202 that performs normal encoding, and an input signal.
  • the first encoding circuit 201 includes a signal processing circuit 261 that performs predetermined signal processing on the input signal, a quantization circuit 221, a quantization parameter generation circuit 211, and a binarization circuit 231. And an arithmetic coding circuit 241.
  • the second encoding circuit 202 includes a signal processing circuit 262 that performs predetermined signal processing on the input signal, a quantization circuit 222, a quantization parameter calculation circuit 212, and a binarization circuit 232. And an arithmetic coding circuit 242.
  • the encoding apparatus 200 configured as described above performs the following operation during the provisional encoding process.
  • the signal processing circuit 261 performs predetermined signal processing on the input signal, and the quantization circuit 221 quantizes the signal output from the signal processing circuit 261 based on the temporary quantization parameter from the quantization parameter generation circuit 211. To do.
  • the quantized signal is binarized by the binarization circuit 231 and then arithmetically encoded by the arithmetic encoding circuit 241.
  • the binary symbol amount-code amount integrating circuit 254 calculates the symbol amount of the binary symbol output from the binarizing circuit 231 and the code amount of the code output from the arithmetic encoding circuit 241 for each predetermined unit. Accumulate and store the accumulated value in the binary symbol amount.code amount integrated value memory 253. The processing of the binary symbol amount. Code amount integrating circuit 254 is as described above.
  • the signal processing circuit 262 performs predetermined signal processing on the input signal delayed for a predetermined time by the delay memory 251.
  • the quantization circuit 222 quantizes the input signal that has undergone predetermined signal processing using the quantization parameter from the quantization parameter calculation circuit 212.
  • the method for determining the quantization parameter in the quantization parameter calculation circuit 212 is as described above. So Thereafter, processing is performed by the binarization circuit 232 and the arithmetic coding circuit 242 and a bit stream is output.
  • the bit stream encoded using the present embodiment can be recorded on a recording medium such as a tape, an optical disk, a magnetic disk, a semiconductor memory, and the like so as to be redistributable.
  • a recording medium such as a tape, an optical disk, a magnetic disk, a semiconductor memory, and the like so as to be redistributable.
  • the functions of the respective circuits in the encoding device of Figs. 1 and 8 are realized by software, and the software is executed by a microprocessor, so that the same functions as those of the encoding device of Figs. 1 and 8 are achieved. It can also be realized.
  • the present invention is effective for a data recording apparatus that requires real-time operation with a small circuit scale, such as a digital camera recorder or a recording apparatus.

Description

明 細 書
符号化装置及び符号化方法
技術分野
[0001] 本発明は、符号化装置及び方法に関し、特に、算術符号化を適用した符号化装置 及び方法に関する。
背景技術
[0002] 算術符号化は、情報源シンボルの発生確率に応じて、情報量を理論的限界まで可 逆圧縮できる技術である。算術符号化は、画像符号化の分野において、 JPEG2000 規格 (ISO/lEC15444)、 Η· 264/MPEG4—AVC規格(非特許文献 1参照)等 に採用されている。
[0003] 例えば、 H. 264においては、コンテキスト適応算術符号化(CABAC : Context Adaptive Binary Arithmetic Coding)が採用され、シンタックスの確率特十生に 応じた効率の高!/、符号化を実現して!/、る。
[0004] H. 264におけるコンテキスト適応算術符号化について説明する。図 9に、従来のコ ンテキスト適応算術符号化回路を示す。
[0005] 図 9に示すコンテキスト適応算術符号化回路 14において、 2値化回路 130は、変換 係数データ、フラグ等の符号化情報力 なる多値入力データの 2値化を行う。ここで、 2値化は、制御情報から入力データの種類であるシンタックスエレメント(syntax ele ment)を判別し、データの確率特性によって、ユーナリ一.バイナライゼーシヨン(un ary binarization)や固/ ノ ィフ'フイセーシヨン (fixed— length binarization といった複数の方式を使い分けながら行われる。 2値化回路 130により 2値化された 2 値シンボル (バイナリ)列は、(2値)算術符号化回路 140に入力される。
[0006] コンテキスト計算回路 520は、シンタックスエレメントを示す制御情報に基づいて、 2 値シンボル列における現在の 1ビットを符号化するために用いるコンテキストインデッ タス(ctxldx)の値を、 H. 264規格で定められたテーブルを参照して一意に決定す る。コンテキスト計算回路 520は、 ctxldxの値毎に発生確率情報を初期化して記憶 する。発生確率情報は、 2値シンボルの「0」又は「1」のうち発生確率の高い方のシン ボルを示す MPSと発生確率 pStateの組である。求められた ctxldxの値に対応した 発生確率情報を「コンテキスト情報」と呼ぶ。
[0007] コンテキスト計算回路 520はコンテキスト情報 504を生成して算術符号化回路 140 に出力する。このように、算術符号化を行うシンタックスエレメントによって算術符号化 回路 140に入力されるシンボルの発生確率すなわちコンテキスト情報 504が適応的 に切り替わることにより、 2値シンボルの発生確率が動的に変わる 2値シンボル列 503 に対して、最適な算術符号化が可能となる。
[0008] 以下の説明にお!/、て、 2値シンボル列の総ビット長(シンボル長)を「シンボル量」、 算術符号化後の出力符号の総ビット長を「符号量」といい、特に、一定区間の多値入 力データを処理した際に発生する、 2値シンボル列の総ビット長を「発生 2値シンボル 量」、出力符号の総ビット長を「発生符号量」と呼ぶ。
[0009] 算術符号化回路 140の動作について図 10を用いて説明する。図 10において、シ ンボル「0」の発生確率が 0. 75 (2進数で 0. 11)、シンボル「1」の発生確率が 0. 25 の情報源から { 0, 0, 0, 1 }のノイナリ列が供給された場合を考える。この場合、現在 のコンテキスト情報 504は、発生確率の高い方のシンボルを示す MPS = 0、及び発 生確率 pState = 0. 1 1で表される(図 10 (a)参照)。発生確率 pStateは、正規化さ れた整数値で表現されるが、ここでは簡単化のため 2進数の値とする。コンテキスト情 報 504は、今回の 2値算術符号化により更新され、コンテキスト計算回路 520に戻さ れる。コンテキスト計算回路 520では、対応する ctxldxの発生確率情報を更新する。 この値は、次回に同じコンテキストの符号化が行われる際に再利用される。
[0010] 図 10 (b)を参照し、 1個目の入力バイナリ値「0」が入力されると、 [0, 1]の区間が確 率 0. 11で区切られる 0側に区間が狭められ、 [0, 0. 11]になる。 2個目の入力「0」 が入力されると、 [0, 0. 11]の区間が [0, 0. 1001]に狭められる。ここで、 0· 1001 = 0. 11 X 0. 11である。同様にして、 3ί固目の人力「0」により区 ΓΡΙカ [0, 0. 011011 ]になる。 4個目の入力「1」が入力されると、 1側に区間に狭められる。最終的な区間 (ま [0. 01010001 , 0. 011011] ίこなる。この最終白勺な区曰 こ含まれるィ直のうち、最 短の語長を持つものが符号語となる。すなわち、 0. 011は、この区間に含まれるので 、小数点以下の値「011」が出力バイナリ列となり、 4ビットの入力値が 3ビットに圧縮さ れたことになる。実際には、出力するビット(0もしくは 1)が確定した時点で確率値の 左ビットシフトを行うリノ一マライゼーシヨン(renormalization)と呼ばれる処理が行わ れる。
[0011] 一方、動画像符号化においては、特定のビットレートの条件下で画質を最大限に 高めるため、各マクロブロックを符号化する際の量子化パラメータを適切に制御して、 符号量制御を行う必要がある。符号量制御の精度を高めるため、スライス、フレーム、 GOP (Group Of Pictures)といった単位でパラメータを変更して繰返し符号化を 行うことが一般的である。
[0012] 特許文献 1 :特開平 2004— 135251号公報
非特許文献 1 : I≥>〇 IEC14496— 10 Advanced video coding for generic audiovisual services
発明の開示
発明が解決しょうとする課題
[0013] 算術符号化を用いた符号化回路を構成する場合、デコーダにおける最大処理量を 規定する目的から、 2値シンボル量の上限値(BinCountsInNALunits)が規定され ている(非特許文献 1参照)。この上限値の規定を順守するために、符号量と 2値シン ボル量を制御する必要がある。この上限値の規定により、回路の動作時間の上限値 を規定すること力 Sできる。例えば、特許文献 1では、算術符号化器に入力する 2値シ ンボル量の制限監視器を用意し、閾値を超えた場合には符号化し直すか、並列に複 数の符号化パラメータを適用する符号化を行うことにより、 2値シンボル量を制御して いる。
[0014] 符号化し直す場合、前述したように既に更新された算術符号化の発生確率情報を 元に戻す必要があり、リアルタイムでの処理が要求される符号化装置においては複 雑な回路構成が必要となる。また、並列に複数の符号化パラメータを適用して符号化 する場合、算術符号化回路が符号化パラメータの数だけ必要となり、回路規模の増 大を招来する。
[0015] 本発明は上記課題を考慮してなされたものであり、その目的とするところは、算術符 号化を適用した符号化装置であって、簡単な回路構成で、 2値シンボル量を上限値 以下に制御しつつ復号動作の保証された符号化を行い、同時に精度良く符号量制 御を実現する符号化装置を提供することにある。
課題を解決するための手段
[0016] 本発明の第 1の態様において、入力信号を量子化し、符号化する装置であって、 量子化により生成される 2値シンボルのシンボル量の上限値が定められている符号 化装置を提供する。
[0017] 符号化装置は、入力信号に対して所定の信号処理を行う信号処理回路と、第 1の 量子化パラメータを生成する量子化パラメータ発生回路と、所定の信号処理がなされ た入力信号を、第 1の量子化パラメータに基づき量子化して第 1の量子化データを生 成する第 1の量子化回路と、第 1の量子化データに対して 2値化を行い、第 1の 2値シ ンボルデータを出力する第 1の 2値化回路と、第 1の 2値シンボルデータに対して所 定の目標符号量に基づき算術符号化を行い、第 1の符号化データを生成する第 1の 算術符号化回路と、第 1の 2値シンボルデータのシンボル量、第 1の符号化データの 符号量、第 2の量子化パラメータ、シンボル量の上限値、及び目標符号量に基づい て、第 2の量子化パラメータを生成する量子化パラメータ算出回路と、第 2の量子化 ノ ラメータに基づいて、所定の信号処理がなされた入力信号を量子化し、第 2の量 子化データを生成する第 2の量子化回路と、第 2の量子化データに対して 2値化を行 い、第 2の 2値シンボルデータを出力する第 2の 2値化回路と、第 2の 2値シンボルデ ータに対して算術符号化を行い、入力信号に対する符号化データを生成し、出力す る第 2の算術符号化回路とを備える。
[0018] 本発明の第 2の態様において、入力信号を量子化し、符号化する方法であって、 量子化により生成される 2値シンボルのシンボル量に上限値が定められている符号 化方法を提供する。
[0019] 符号化方法は、入力信号に対して所定の信号処理を行うステップと、第 1の量子化 ノ ラメータを生成するステップと、所定の信号処理がなされた入力信号を、第 1の量 子化パラメータに基づき量子化して第 1の量子化データを生成するステップと、第 1 の量子化データに対して 2値化を行い、第 1の 2値シンボルデータを出力するステツ プと、第 1の 2値シンボルデータに対して所定の目標符号量に基づき算術符号化を 行い、第 1の符号化データを生成するステップと、第 1の 2値シンボルデータのシンポ ル量、第 1の符号化データの符号量、第 2の量子化パラメータ、シンボル量の上限値 、及び目標符号量に基づいて、第 2の量子化パラメータを生成するステップと、第 2の 量子化パラメータに基づいて、所定の信号処理がなされた入力信号を量子化し、第 2の量子化データを生成するステップと、第 2の量子化データに対して 2値化を行い、 第 2の 2値シンボルデータを出力するステップと、第 2の 2値シンボルデータに対して 算術符号化を行い、入力信号に対する符号化データを生成し、出力するステップと を含む。
発明の効果
[0020] 本発明によれば、算術符号化を用いた符号化装置において、簡単な回路構成で、 発生 2値シンボル量を上限値以下に制御して、同時に精度良く出力ビットストリーム の符号量制御を行うことが可能となり、符号量を所定量以内に精度良く収めかつ復 号動作の保証されたビットストリームを提供することを可能とする。
図面の簡単な説明
[0021] [図 1]本発明の実施の形態における映像符号化装置の構成図
[図 2]符号化される画像とマクロブロックの関係を説明した図
[図 3]仮量子化パラメータの選択例を示す図
[図 4] (a)代表量子化パラメータの具体例を説明した図、(b)プログレッシブ方式の場 合のマクロブロックへの代表量子化パラメータの適用例を示した図、(c)インターレー ス方式の場合のマクロブロックへの代表量子化パラメータの適用例を示した図
[図 5]2値シンボル量'符号量積算値メモリに格納される、代表量子化パラメータ毎の 発生 2値シンボル量と発生符号量の具体例を示した図
[図 6]発生 2値シンボル量に基づく最適量子化パラメータの算出方法を説明するため の図
[図 7]発生符号量に基づく最適量子化パラメータの算出方法を説明するための図
[図 8]本発明の思想が適用可能な符号化装置の構成図
[図 9]従来のコンテキスト適応算術符号化回路の構成を示す図
[図 10]2値算術符号化を説明するための図 符号の説明
[0022] 100 映像符号化装置
101 第一の符号化回路
102 第二の符号化回路
111 量子化パラメータ発生回路
112 量子化パラメータ算出回路
121、 122 量子化回路
124 逆量子化回路
131、 132 2値化回路
131 コンテキスト選択回路
141、 142 算術符号化回路
151 フレームメモリ
152 予測モードメモリ
153 2値シンボル量.符号量積算値メモリ
161 , 162 プ'ロックィ匕回路
171、 172 イントラ予測生成回路
173 予測モード検出回路
181、 182 DCT回路
184 逆 DCT回路
200 符号化装置
221、 222 量子化回路
251 遅延メモリ
261、信号処理回路
発明を実施するための最良の形態
[0023] 以下、本発明の実施形態について添付の図面を参照しながら説明する。
[0024] 本実施形態では、フレーム内で復号可能なイントラフレームを符号化対象として、 符号化により得られる 2値シンボル量を所定の上限値以下に制御しつつ、精度良く 符号量制御を行う映像符号化装置について説明する。 [0025] 1. 映像符^ Hh 置の構成
図 1に、本発明の実施の形態における映像符号化装置の構成を示す。図 1におい て、映像符号化装置 100は、仮符号化を行う第一の符号化回路 101と、正規の符号 化を行う第二の符号化回路 102と、フレームメモリ 151と、予測モードメモリ 152と、 2 値シンボル量 .符号量積算値メモリ 153と、 2値シンボル量 '符号量積算回路 154とを 備える。
[0026] 第一の符号化回路 101は、入力したディジタル映像信号をブロック化するためのブ ロック化回路 161と、予測モード検出回路 173と、イントラ予測生成回路 171と、直交 変換回路としての DCT回路 181と、量子化回路 121と、量子化パラメータ発生回路 1 11と、 2値化回路 131と、算術符号化回路 141とから構成される。
[0027] 第二の符号化回路 102は、入力したディジタル映像信号をブロック化するためのブ ロック化回路 162と、イントラ予測生成回路 172と、 DCT回路 182と、量子化回路 12 2と、量子化パラメータ算出回路 112と、 2値化回路 132と、算術符号化回路 142と、 逆量子化回路 124と、逆 DCT回路 184とから構成される。
[0028] 2. i の 作
以上のように構成された映像符号化装置について、以下その動作を説明する。最 初に、 1フレームの映像データに対する符号化処理の流れについて説明する。
[0029] 映像符号化装置 100は 1フレームのディジタル映像信号を入力すると、第一の符号 化回路 101により 1フレーム分の映像信号の仮符号化処理を行う。
[0030] 映像符号化装置 100に入力されたディジタル映像信号はまたフレームメモリ 151に 格納され、 1フレーム以内の所定時間だけ遅延され、第二の符号化回路 102に出力 される。第二の符号化回路 102はフレームメモリ 151からデータを読み出し、読み出 したデータに対して正規の符号化処理を行い、符号化された結果としてビットストリー ムを出力する。
[0031] 第一の符号化回路 101において、予測モード検出回路 173は、イントラ予測の予 測モードを検出し、その値を予測モードメモリ 152に格納する。また、 2値化回路 131 及び算術符号化回路 141から出力された 2値シンボル量及び符号量が 2値シンボル •符号量積算値メモリ 153に格納される。 [0032] 第二の符号化回路 102は、予測モードメモリ 152に格納された予測モード値、及び 2値シンボル量.符号量積算値メモリ 153に格納された 2値シンボル量と符号量の積 算値を受けて最適な量子化パラメータを決定し、第一の符号化回路 101で処理され たフレームと同じフレームの映像信号に対して正規の符号化処理を行う。
[0033] 2. 1 第一の符号化回路の処理
第一の符号化回路 101の処理を説明する。
ブロック化回路 161は、入力された 1フレームのディジタル映像信号が示す画像を 1 6 X 16画素の複数のマクロブロックに分割する。マクロブロックは DCTやイントラ予測 の処理単位となるブロックを複数個含む。
[0034] イントラ予測生成回路 171は、マクロブロック毎に、入力されたディジタル映像信号 の画素と、入力されたディジタル映像信号の画像に隣接する画素とから、そのマクロ ブロックの各画素の値を種々の予測モードで予測する。予測モードには、フィールド マクロブロック復号フラグ(mb— field— decoding— flag)、輝度 4 X 4イントラ予測モ ード(Intra4x4PredMode)、輝度 8 X 8イントラ予測モード(Intra8x8PredMode) 、色差イントラ予測モード(intra— chroma— pred— mode)が含まれる。イントラ予 測は 8 X 8画素ブロックや 4 X 4画素ブロックの単位で行われてもよ!/、。
[0035] 予測モード検出回路 173は、 4つの予測モードの中から最適な予測モードを検出し 、その情報を予測モード値として出力する。予測モード値は予測モードメモリ 152に 蓄積される。
[0036] 入力されたディジタル映像信号における符号化対象のマクロブロックの各画素値と 、イントラ予測生成回路 171により生成された、符号化対象のマクロブロックの各画素 の予測値との差分値が計算されて、 16 X 16画素の差分値のブロックが生成され、 D CT回路 181に出力される。
[0037] DCT回路 181は、差分値のブロックに対して DCT処理を行う。 DCT処理は、通常
4 X 4画素や 8 X 8画素のブロック単位で行われ、周波数成分の係数データが出力さ れる。係数データは量子化回路 121に入力される。量子化回路 121は、係数データ を量子化パラメータに応じて量子化する。量子化パラメータは量子化パラメータ発生 回路 11 1により与えられる。 [0038] 量子化パラメータ発生回路 111は量子化の際の量子化レートを規定する量子化パ ラメータを発生させる。本実施形態において、量子化パラメータの取り得る値は 0〜5 1とし、その値が小さいほど、より高い量子化レートを示すものとする。量子化パラメ一 タ発生回路 111は、発生させる量子化パラメータの候補として、複数の量子化パラメ ータ(以下「代表量子化パラメータ」とレ、う) qpを有して!/、る。量子化パラメータ発生回 路 11 1は、マクロブロック毎に、複数の代表量子化パラメータ qpの中から 1つを選択 して、そのマクロブロックの量子化に対する量子化パラメータ QPとして出力する。量 子化パラメータ発生回路 1 11の量子化パラメータの決定処理の詳細は後述する。
[0039] 量子化回路 121により量子化された係数データは、 2値化回路 131にて 2値化され 、その後、算術符号化回路 141により算術符号化される。 2値シンボル量'符号量積 算回路 154は、 2値化回路 131から出力される 2値シンボルのシンボル量と、算術符 号化回路 141から出力される符号の符号量とを、同一の量子化パラメータが適用さ れるマクロブロック群毎に積算し、積算した値を 2値シンボル量 ·符号量積算値メモリ 153に格納する。
[0040] 本実施形態では、仮符号化にお!/、て、イントラ予測の予測画素はディジタル映像信 号から得る。 H. 264規格が規定するイントラ予測の予測画素は、デコーダが用いる、 復号された値である力 S、以下の理由により、これを用いないのが望ましい。
[0041] 第一に、仮符号化では量子化パラメータを量子化パラメータ発生回路 111により変 化させて符号量及び 2値シンボル量を出力するため、復号画素を用いると、量子化 パラメータの値が大きい時に復号画素の精度が悪くなり、以降のマクロブロックの予 測画素の精度が低下してしまう。第二に、復号画素を用いないことで、仮符号化にお ける逆量子化回路及び逆 DCT回路を省略でき、回路規模を削減できるからである。
[0042] 2. 2 第二の符号化回路の処理
第二の符号化回路 102の処理について説明する。
第一の符号化回路 101により 1フレームの仮符号化が終了すると、フレームメモリ 1 51に蓄積された 1フレームの映像信号が第二の符号化回路 102のブロック化回路 1 62に入力される。ブロック化回路 162は 1フレームの映像信号の画像を 16 X 16画素 の複数のマクロブロックに分割する。 [0043] イントラ予測生成回路 172は、予測モードメモリ 152から予測モード値を読み出し、 その予測モード値が示す予測モードを用いて符号化対象のマクロブロックの各画素 について画素予測値を求める。その際、イントラ予測生成回路 172がイントラ予測に 用いる隣接画素の値は逆量子化回路 124及び逆 DCT回路 184により生成される。 イントラ予測生成回路 172は、画素予測値と、符号化対象のマクロブロックの画素値 との差分値を画素毎に計算して差分値のブロックを求める。
[0044] DCT回路 182は、このようにして求めた差分値のブロックに対して DCT処理を行い 、周波数成分の係数データを出力する。係数データは量子化回路 122に入力される
[0045] 量子化回路 121は、係数データを量子化パラメータに応じて量子化する。量子化 ノ ラメータは量子化パラメータ算出回路 112により算出される。量子化回路 121は、 量子化した係数データを 2値化回路 132及び逆量子化回路 124に出力する。
[0046] 量子化パラメータ算出回路 112は、 2値シンボル量.符号量積算値メモリ 153から、 第一の符号化狩生 101で求められた 2値シンボル量と符号化量を取得し、それらの 値に基づいて量子化パラメータを決定する。量子化パラメータ発生回路 112の詳細 な動作は後述する。
[0047] 2値化回路 132は量子化された係数データを 2値シンボルに変換する。算術符号 化回路 142は、 2値化回路 132からの 2値シンボルを算術符号化し、その結果をビッ トストリームとして出力する。ここで、算術符号化回路 142については発生符号量の 上限値を示す目標符号量が規定されて!/、る。
[0048] 一方、量子化回路 122により量子化された係数データは逆量子化回路 124により 逆量子化され、その後、逆 DCT回路 184により逆 DCT処理される。これにより、イント ラ予測に用いられる、符号化対象のマクロブロックの隣接画素の値が得られる。
[0049] 2. 3 第一の符号化回路における量子化パラメータ発生回路の動作
第一の符号化回路 101の量子化パラメータ発生回路 111による量子化パラメータ の発生動作について説明する。なお、以下では、 1920 X 1080画素の 1フレームの 仮符号化において、スライス単位に最適な量子化パラメータを算出する場合を説明 する。なお、フレームを分割するスライスは任意の連続するマクロブロックの集合とし て定義される。
[0050] 図 2に示すように、 1920X1080画素のフレームは 16X16画素のマクロブロックが
8160 ( = 120X68)個で構成される。本例では、 1スライスが 2040個のマクロブロッ クを含み、 1フレームが 4個のスライスで構成される場合を考える。
[0051] 仮符号化の開始前に、第一の符号化回路 101の量子化回路 121で使用される仮 量子化パラメータ QP (n)を決定する。仮量子化パラメータ QP (n)は、マクロブロック
1 1
毎に複数のパラメータ候補 (代表量子化パラメータ)の中から選択された 1つのパラメ ータに設定される。すなわち 1個のマクロブロックに対する仮量子化パラメータ QP (n
1
)は、任意の異なる Q種類の代表量子化パラメータ qp (X) (x = 0, 1, ···, Q— l)の
1
中から選択された 1つの仮量子化パラメータ qp (m)に設定される。なお、代表量子
1
化パラメータは、規定の量子化パラメータの最大値及び最小値を含むよう決定される
[0052] 例えば、 0と 20の 2種類の代表量子化パラメータ qp (x) = {0, 20}を与える場合を
1
考える。ここで、 F(x) = {A , A , ···, A }(Aは整数)の表記は、 F(0)=A、 F(l)
0 1 Q-l n 0
=A、 ···、 F(Q— 1)=A を意味するものとする。各マクロブロックの仮量子化パラメ
1 Q-1
ータは、各代表量子化パラメータの出現頻度が等しくなるように、 2種類の代表量子 化パラメータの中から選択される。この例では、半数のマクロブロックに量子化パラメ ータ「0」を、残り半数のマクロブロックに量子化パラメータ「20」を与える。また、仮量 子化パラメータがスライス内で偏るのを防ぐため、スライス内に交互又はランダムに仮 量子化パラメータを配置する。例えば、プログレッシブ走査においては図 3 (a)に示 すように、通常のラスタスキャン順に交互に代表量子化パラメータを与え、インターレ ース走査では、図 3(b)に示すようにマクロブロックの対毎に交互に代表量子化パラメ ータを与えることができる。
[0053] 次に、仮符号化における代表量子化パラメータ qp (x) (x=0, 1, ···, Q— 1)の数
1
Qと、各値 qp (X)の決定方法について説明する。
1
[0054] 量子化回路 121で用いられる代表量子化パラメータの数 Qは、 1スライスに含まれる マクロブロックの数の約数に設定できる。このような方法で、代表量子化パラメータの 数 Qを設定すれば、スライス内で各代表量子化パラメータが出現する回数を一定に できる。その際、走査方式がプログレッシブ方式の場合、代表量子化パラメータの数
Qとして、マクロブロック数の約数を選択できる。また、インターレース方式の符号化を 行うためにマクロブロックを対にする場合は、 1スライスに含まれるマクロブロック数の 半数の約数に設定できる。例えば、 1スライスに含まれるマクロブロック数が 2040であ れば、代表量子化パラメータの数 Qとして、 5、 10、 20が選択できる。それぞれの Qの 場合の、 1個のスライス内における各代表量子化パラメータの出現回数はそれぞれ 4 08回、 204回、 102回となる。
[0055] 代表量子化パラメータ qp (X)として、エンコーダで選択できる量子化パラメータの
1
範囲内から異なる値が Q個選択される。この場合、最適な符号化のための符号量予 測が行い易くなるように、それらの値を適度に分散させるのが好ましい。
[0056] 例えば、 1スライスに含まれるマクロブロック数が 2040で、エンコーダで選択できる 量子化パラメータが 0から 51の範囲である場合、代表量子化パラメータ qp (として、
1 図 4 (a) ίこ示すよう ίこ、 { 0, 4, 8, 12, 16, 22, 28, 34, 42, 51 }の Ιθί固の代表量子 化パラメータが選択できる。このとき、プログレッシブ方式の場合は、図 4 (b)に示すよ うに代表量子化パラメータが適用され、インターレース方式の場合は、図 4 (c)に示す ように代表量子化パラメータが適用される。
[0057] 2. 4 2値シンボル量 ·符 量精簞回路の動作
2値シンボル量.符号量積算回路 154は、第一の符号化回路 101における仮符号 化の結果得られる 2値シンボル量と符号量について、同じ代表量子化パラメータを用 いたマクロブロック毎に積算し、それぞれの積算した値を積算値メモリ 153に格納す る。以下、この動作を具体的に説明する。
[0058] 第一の符号化回路 101による仮符号化処理では、 2040個のマクロブロックを含む スライス 1個に対し、同じ代表量子化パラメータ qp (X)を使用したマクロブロック毎に
1
発生 2値シンボル量 B (n)及び発生符号量 R (n)の総和を計算する。前記総和を Q
1 1
P別発生 2値シンボル量 b (X)、 QP別発生符号量 r (X)とし、 2値シンボル量'符号量
1 1
積算値メモリ 153に蓄積する。
[0059] 例えば、図 5の例では、図 5 (a)に示す代表量子化パラメータ qp (x)のそれぞれに
1
対して、図 5 (b)に示すような、代表量子化パラメータ毎に 2値シンボル量 B (n)の総 和を取った QP別発生シンボル量 b (χ)、及び代表量子化パラメータ毎に発生符号
1
量 R (η)の総和を取った QP別発生符号量 r (x)が 2値シンボル量'符号量積算値メ
1 1
モリ 153に蓄積される。
[0060] 2. 5 第二の符号化回路における量子化パラメータ発生回路の動作
第二の符号化回路 102での符号化に適用する最適量子化パラメータ QP の算出
opt 方法を、図 6及び図 7を用いて説明する。ここで、ビットレート、フレームレート、フレー ムの複雑度、スライスの符号化タイプなどの情報を用いて割り当てたスライスの目標 符号量 T及び上限 2値シンボル量 B をそれぞれ以下のように設定する。
max
スライスの目標符号量 T = 300000ビット
上限 2値シンボル量 Β = 595840ビット
max
[0061] 第二の符号化回路 102は、第一の符号化回路 101での仮符号化の結果得られた 各代表量子化パラメータ毎の発生シンボル量 b (X)と発生符号量 r (X)と、上限 2値
1 1
シンボル量と目標符号量とに基づいて、最適量子化パラメータ QP を決定する。具
opt
体的には、量子化パラメータ算出回路 112は、 2値シンボル量に基づく最適量子化 パラメータの算出と、符号量に基づく最適量子化パラメータの算出とを行い、それら の算出結果を比較し、大きレ、方の量子化パラメータを最適量子化パラメータとして採 用する。以下、その詳細を説明する。
[0062] 最初に、図 6を参照して、 2値シンボル量に基づく最適量子化パラメータ候補 QP
bin の算出について説明する。図 6は、代表量子化パラメータ qp (X)と、各量子化パラメ
1
ータ QP別の、発生した 2値シンボル量 b (X)とに基づいて、量子化パラメータ QPと、
1
スライス単位で予測した 2値シンボル量の関係を示した図である。
[0063] QP別の発生 2値シンボル量 b (X)は、同じ量子化パラメータ QPが適用されたマク
1
ロブロックについて 2値シンボル量の総和を、各量子化パラメータ QP ( = x)毎に求め たものである。各量子化パラメータは 204個のマクロブロックに適用されるため、 b (X
1
)は 204個ずつのマクロブロックの 2値シンボル量の総和になっている。各量子化パラ メータ QPに対するスライス単位の予測符号量は、 b (X)を 10倍することで求められる
1
[0064] 図 6にお!/、て、プロットしたスライス単位の予測 2値シンボル量を線形補間することで 、全ての QP値(0≤QP≤51)に対するスライス予測 2値シンボル量を算出することが できる。すなわち、スライスの上限 2値シンボル量 B ( = 595840)に対して図 6に示
max
す関係を用いて線形補間することで、発生する 2値シンボル量を上限 2値シンボル量 以下に収める最適な量子化パラメータ QP を求めることができる。最適な量子化パラ
bin
メータ候補 QP は次式で求められる。
bin
QP =
bin
CEIL[q+{QP (q+1)— QP (q)}X{QXb (q)— B }
1 1 1 max
/{QXb (q)-QXb (q+1)}] (1)
1 1
[0065] なお、 CEIL [x]は x以上の最小の整数を返す関数である。 qは 0≤q≤Q— 1の整 数であり、 QXb (q+1)≤B ≤QXb (q)を満たす値とする。ここでは、 1スライスを
1 max 1
通じて 1つの最適量子化パラメータを使用することとしている。また、すべての qに対し B 〉QXb (q)となる場合は q = 0、すべての qに対し B <Q Xb (q)となる場合は max 1 max 1
q = Q— lとする。このため、あらかじめ仮量子化パラメータとして QP (0)=min(QP
1
) =0、 QP (Q-l) =max(QP) =51としておくのが望ましい。
1
[0066] B =595840のとき、式(1)を用いて、最適量子化パラメータ候補 QP は 13と求
max bin められる。
QP =CEIL[12+ (16-12) X (623230— 595840)
bin
/(623230-388510)]
=13
[0067] 次に、図 7を参照し、符号量に基づく最適量子化パラメータ候補 QP の算出につ
code
いて説明する。図 7は、代表量子化パラメータ qp (X)と量子化パラメータ QP別の発
1
生した符号量 r (X)とに基づいて、量子化パラメータ QPとスライス予測符号量の関係
1
を示した図である。
[0068] QP別の発生符号量 r (x)は、同じ量子化パラメータ QPが適用されたマクロブロック
1
について符号量の総和を、各量子化パラメータ QP(=x)毎に求めたものである。各 量子化パラメータは 204個のマクロブロックに適用されるため、 r (X)は 204個ずつの
1
マクロブロックの符号量の総和になっている。各量子化パラメータ QPに対するスライ ス予測符号量は、 r (X)を 10倍することで求められる。 [0069] 図 7にお!/、て、プロットしたスライス予測符号量を線形補間することで、全ての QP値 (0≤QP≤ 51)に対するスライス予測符号量を算出することができる。すなわち、スラ イスの目標符号量 T = 300000に対して図 6に示す関係を用いて線形補間すること で、発生する符号量を目標符号量にするのに最適量子化パラメータ候補 QP を求
code めること力 Sできる。 QP の算出は、線形補間により次式で求められる。
code
QP =q+{QP (q+l)-QP (q)}X{QXr (q) -T}
code 1 1 1
/{QXr (q)-QXr (q+1)} (2)
1 1
[0070] なお、 qは 0≤q≤Q— lの整数であり、 QXr (q+l)≤T≤QXr (q)を満たす値と
1 1
する。ここでは、 1スライスを通じてひとつの最適量子化パラメータを使用することとし ている。また、すべての qに対し T〉QXr (q)となる場合は q = 0、すべての qに対し T
1
く QXr (q)となる場合は q = Q— 1とする。
1
[0071] 式(2)を用いて最適量子化パラメータ候補 QP を計算すると約 16. 84となるが、
code
量子化パラメータは整数である必要があるので、小数点以下を四捨五入し、 17とす
QP =16+ (22-16) X (317850-300000)
code
/(317850— 190980)
= 16. 84 = 17
[0072] 量子化パラメータ算出回路 112は、以上のようにして求めた 2値シンボル量に基づ く最適量子化パラメータ候補 QP と符号量に基づく最適量子化パラメータ候補 QP bin cod のうち、大きい方を選択して最適量子化パラメータ QP とし、量子化回路 122に出 e opt
力する。
[0073] 図 6及び図 7の例では、 QP =13、 QP =17であるから、 QP =17とする。この
bin code opt
ように、 QP 及び QP のうち大きい方を最適量子化パラメータ QP とすることにより
bin code opt
、入力データの統計的性質に応じて符号化を行うことが可能となり、発生符号量をよ り低く抑えること力 Sできる。つまり、相対的に 2値シンボル量が大きく符号量が小さい 場合には QP が選ばれて、符号量は目標符号量よりある程度小さくなるものの 2値
bin
シンボル量の上限値は満たされる。逆に相対的に 2値シンボル量が小さく符号量が 大きい場合には QP が選ばれて、 2値シンボル量は上限よりある程度小さく抑えら れ目標符号量に近!、値に符号化することができる。
[0074] 3.ま め
以上のように本実施形態の映像符号化装置では、第 1の符号化回路 101による仮 符号化において、まず複数の代表量子化パラメータのそれぞれについて、発生する 2値シンボル量及び発生する符号量を求める。その後、第 2の符号化回路 102にお いて、仮符号化で求めた値に基づいて、上限 2値シンボル量及び目標符号量を考慮 して最適な量子化パラメータを求める。このような方法により、一方向の処理の流れの 中で最適な量子化パラメータを決定できるため、従来のように、更新された算術符号 化の発生確率情報を元に戻すための複雑な回路構成が不要となり、また、並列に算 術符号化回路を設ける必要もな!/、ので、回路構成が簡単になる。
[0075] また、本実施形態によれば、符号化により得られる 2値シンボル量を所定の上限値 以下に抑制しつつ、発生する符号量を所定量以下に抑えることができる。よって、本 実施形態の映像符号化装置は特にフレーム単位の符号量を一定にする場合に有効 である。例えば、本実施形態の映像符号化装置は、フレーム単位の符号量に制限値 がある符号化を行う場合や、フレーム単位の符号量に制限値がない符号化において も、デコーダバッファの状態がクリティカルで現在のフレームの符号量に制限値があ る場合に有効である。その理由を以下に説明する。
[0076] 本実施形態の思想を用いずに、 2値シンボル量が所定の上限値を超え、符号量の みが制限値以下に抑制された場合を考える。この場合、非特許文献 1の符号化では 、 cabac_zero_wordと呼ばれるスタッフイングを用いて符号量を増加させることで、 2値 シンボル量の上限値の規定を順守する必要がある。しかし、符号量を増加させること で符号量が制限値を超えて、符号化を破綻させる可能性が生じてしまう。本実施形 態は、制限値に対して計算された 2値シンボル量の上限値以下に 2値シンボル量を 制御可能であるため、 cabac_Zer0_WOrdのスタッフイングが必要となったとしても、符号 量は必ず制限値以下に収まり破綻させることはない。よって、本実施形態の思想は 前述の場合に特に有効となる。
[0077] (変形例)
なお、本実施の形態では、最適量子化パラメータ QP として固定値を与える例を 示したが、例えば QP を N個のマクロブロックの符号化に対する初期値として用い、
opt
それ以降の量子化パラメータはフィードバック制御による 2値シンボル量及び符号量 の制御を行い、最適量子化パラメータ QP (n)を動的に変更することが可能である。 フィードバック制御は、例えば符号量に基づレ、て制御する場合、マクロブロック番号 mのマクロブロックにおいて、符号化時の発生符号量 R (n)を 0≤n≤mの範囲で加 算した累積発生符号量 Bと、ある時点(例えばマクロブロック番号 N— 1)までの目標 符号量 Tとの差分である残存符号量 (T— B)を、残存しているマクロブロック n (m<n ≤N— 1)の目標符号量 Sに設定することで実施できる。また、マクロブロックの輝度値 や色差値、周波数領域での特徴等に基づいて量子化パラメータ QP (n)を動的に変 更する処理も可能である。
[0078] 本実施の形態では、スライス単位で仮符号化及び正規の符号化を行ったが、より小 さい単位で仮符号化及び正規の符号化を行って発生符号量 R (n)を得てもよい。そ の結果を量子化パラメータの選択に反映するような場合や、フィードバック制御を小さ V、単位で行う場合には、数マクロブロック等の小さレ、単位で実施しても効果的である 。また、仮符号化及び正規の符号化の処理単位を固定していたが、仮符号化及び 正規の符号化の処理単位をフレーム単位又はその他の単位で動的に変更させるこ とも可能である。また、スライス予測符号量を線形補間して求めたが、スプライン補間 等、高度な数値補間も利用できる。
[0079] 本実施の形態では QP別発生 2値シンボル量 b (X)及び QP別発生符号量 r (x)を
1 1
2値シンボル量 ·符号量積算値メモリ 153に蓄積する例で説明した力 S、総和を計算す る前のマクロブロック毎の発生 2値シンボル量 B (n)及び発生符号量 R (n)を蓄積し
1 1
、 2値シンボル量 ·符号量積算値メモリ 153から読み出した後に総和を計算しても良 い。
[0080] 本実施の形態では仮符号化処理を 1回のみ行う例を示したが、リアルタイムの符号 化処理が必要でない場合や、仮符号化処理をパイプライン化又は並列化することに より一定の遅延で多くの処理が行える場合には、仮符号化処理を複数回行っても良 い。
[0081] なお、本実施の形態では、映像符号化の H. 264規格におけるコンテキスト適応算 術符号化を例にとって説明した。しかし、本発明の思想は、量子化された係数データ に対して算術符号化を行う場合に適用でき、量子化パラメータを適応的に変更でき る符号化装置に適用できる。
[0082] 例えば、図 8に示すよう符号化装置にも適用できる。図 8において、符号化装置 20 0は、入力信号に対して、仮符号化処理を行う第一の符号化回路 201と、正規の符 号化を行う第二の符号化回路 202と、入力信号を遅延させる遅延メモリ 151と、 2値 シンボル量 .符号量積算値メモリ 253と、 2値シンボル量 '符号量積算回路 254とを備 X·る。
[0083] 第一の符号化回路 201は、入力した信号に対して所定の信号処理を行う信号処理 回路 261と、量子化回路 221と、量子化パラメータ発生回路 211と、 2値化回路 231 と、算術符号化回路 241とから構成される。
[0084] 第二の符号化回路 202は、入力した信号に対して所定の信号処理を行う信号処理 回路 262と、量子化回路 222と、量子化パラメータ算出回路 212と、 2値化回路 232 と、算術符号化回路 242とから構成される。
[0085] 以上のように構成される符号化装置 200は仮符号化処理時には以下の動作を行う 。信号処理回路 261は入力信号に対して所定の信号処理を行い、量子化回路 221 は量子化パラメータ発生回路 211からの仮量子化パラメータに基づき、信号処理回 路 261から出力される信号を量子化する。量子化された信号は 2値化回路 231により 2値化され、その後、算術符号化回路 241により算術符号化される。 2値シンボル量- 符号量積算回路 254は、 2値化回路 231から出力される 2値シンボルのシンボル量と 、算術符号化回路 241から出力される符号の符号量とを、所定の単位毎に積算し、 積算した値を 2値シンボル量.符号量積算値メモリ 253に格納する。 2値シンボル量. 符号量積算回路 254の処理は前述したとおりである。
[0086] その後、第二の符号化回路 202により正規の符号化処理が実施される。信号処理 回路 262は、遅延メモリ 251により一定時間遅延された入力信号に対して所定の信 号処理を行う。量子化回路 222は所定の信号処理がなされた入力信号を量子化パ ラメータ算出回路 212からの量子化パラメータを用いて量子化を行う。量子化パラメ ータ算出回路 212における量子化パラメータの決定方法は前述したとおりである。そ の後、 2値化回路 232、算術符号化回路 242により処理がなされビットストリームが出 力される。
[0087] 本実施の形態を用いて符号化したビットストリームは、テープ、光ディスク、磁気ディ スク、半導体メモリ等の記録媒体に記録して再配布可能にすることができる。
[0088] また、図 1及び図 8の符号化装置における各回路の機能をソフトウェアにより実現し 、マイクロプロセッサでそのソフトウェアを実行させることで、図 1及び図 8の符号化装 置と同様の機能を実現することもできる。
産業上の利用可能性
[0089] 本発明は、ディジタルカメラレコーダや録画装置など小さい回路規模でリアルタイム 動作が要求されるデータ記録装置に有効である。
[0090] 本発明は、特定の実施形態について説明されてきたが、当業者にとっては他の多 くの変形例、修正、他の利用が明らかである。それゆえ、本発明は、ここでの特定の 開示に限定されず、添付の請求の範囲によってのみ限定され得る。なお、本出願は 日本国特許出願、特願 2006— 319981号(2006年 11月 28日提出)に関連し、そ れらの内容は参照することにより本文中に組み入れられる。

Claims

請求の範囲
[1] 入力信号を量子化し、符号化する装置であって、量子化により生成される 2値シン ボルのシンボル量の上限値が定められている符号化装置において、
入力信号に対して所定の信号処理を行う信号処理回路と、
第 1の量子化パラメータを生成する量子化パラメータ発生回路と、
前記所定の信号処理がなされた入力信号を、前記第 1の量子化パラメータに基づ き量子化して第 1の量子化データを生成する第 1の量子化回路と、
前記第 1の量子化データに対して 2値化を行い、第 1の 2値シンボルデータを出力 する第 1の 2値化回路と、
前記第 1の 2値シンボルデータに対して所定の目標符号量に基づき算術符号化を 行い、第 1の符号化データを生成する第 1の算術符号化回路と、
前記第 1の 2値シンボルデータのシンボル量、前記第 1の符号化データの符号量、 第 2の量子化パラメータ、前記シンボル量の上限値、及び前記目標符号量に基づい て、第 2の量子化パラメータを生成する量子化パラメータ算出回路と、
前記第 2の量子化パラメータに基づいて、前記所定の信号処理がなされた入力信 号を量子化し、第 2の量子化データを生成する第 2の量子化回路と、
前記第 2の量子化データに対して 2値化を行い、第 2の 2値シンボルデータを出力 する第 2の 2値化回路と、
前記第 2の 2値シンボルデータに対して算術符号化を行い、前記入力信号に対す る符号化データを生成し、出力する第 2の算術符号化回路と
を備えたことを特徴とする符号化装置。
[2] 前記量子化パラメータ算出回路は、
前記第 1の量子化パラメータ、前記第 1の 2値シンボルデータのシンボル量、及び 前記シンボル量の上限値に基づいて第 1のパラメータ候補を生成し、
前記第 1の量子化パラメータ、前記第 1の符号化データの符号量、及び前記目標 符号量に基づレ、て第 2のパラメータ候補を生成し、
前記第 1及び第 2のパラメータ候補を比較し、生成される符号化データの符号量 力はり小さくなる方のパラメータ候補を、前記第 2の量子化パラメータに設定する、 ことを特徴とする請求項 1に記載の符号化装置。
[3] 前記量子化パラメータ発生回路は、複数の代表量子化パラメータを有し、その複数 の代表量子化パラメータの中から一つの代表量子化パラメータを選択して、前記第 1 の量子化パラメータとする、ことを特徴とする請求項 1に記載の符号化装置。
[4] 前記信号処理回路は、前記入力信号に対して所定の信号処理を行!/ \ N個(Nは
2以上の自然数)の信号を生成し、前記複数の代表量子化パラメータの数 Qは Nの 約数であり、
前記量子化パラメータ発生回路は、前記信号処理回路から出力される連続した Q 個の前記信号に対して、互いに異なる Q個の代表量子化パラメータを割り当てること で前記第 1の量子化パラメータを生成する、ことを特徴とする請求項 3に記載の符号 化装置。
[5] 前記複数の代表量子化パラメータは量子化パラメータの最大値及び最小値を含む ことを特徴とする請求項 3記載の符号化装置。
[6] 前記信号処理回路は、映像信号を入力し、周波数成分に変換して係数データを生 成し、出力する、ことを特徴とする請求項 1記載の符号化装置。
[7] 前記信号処理回路は、映像の 1フレームを複数ブロックに分割して得られるブロック 毎に、そのブロックに含まれる画素及びそのブロックに隣接する画素に基づいて前記 係数データを生成し、
前記信号処理回路は、前記第 1の量子化回路に入力される係数データの生成に 用いる前記隣接画素は、入力された前記映像信号から抽出し、前記第 2の量子化回 路に入力される係数データの生成に用いる前記隣接画素は、前記第 2の量子化デ 一タを逆量子化した後に前記周波数成分から逆変換した信号から抽出する ことを特徴とする請求項 6に記載の符号化装置。
[8] 量子化パラメータ算出回路は、所定数のブロックにおいて前記第 1の 2値シンボル データのシンボル量を同じ第 1の量子化パラメータ毎に積算した結果と、所定数のブ ロックにおいて前記第 1の符号化データの符号量を同じ第 1の量子化パラメータ毎に 積算した結果とを用いて、第 2の量子化パラメータを生成する、ことを特徴とする請求 項 7記載の符号化装置。 [9] 入力信号を量子化し、符号化する方法であって、量子化により生成される 2値シン ボルのシンボル量に上限値が定められている符号化方法において、
入力信号に対して所定の信号処理を行うステップと、
第 1の量子化パラメータを生成するステップと、
前記所定の信号処理がなされた入力信号を、前記第 1の量子化パラメータに基づ き量子化して第 1の量子化データを生成するステップと、
前記第 1の量子化データに対して 2値化を行い、第 1の 2値シンボルデータを出力 前記第 1の 2値シンボルデータに対して所定の目標符号量に基づき算術符号化を 行い、第 1の符号化データを生成するステップと、
前記第 1の 2値シンボルデータのシンボル量、前記第 1の符号化データの符号量、 第 2の量子化パラメータ、前記シンボル量の上限値、及び前記目標符号量に基づい て、第 2の量子化パラメータを生成するステップと、
前記第 2の量子化パラメータに基づいて、前記所定の信号処理がなされた入力信 号を量子化し、第 2の量子化データを生成するステップと、
前記第 2の量子化データに対して 2値化を行い、第 2の 2値シンボルデータを出力 前記第 2の 2値シンボルデータに対して算術符号化を行い、前記入力信号に対す る符号化データを生成し、出力するステップと
を含むことを特徴とする符号化方法。
PCT/JP2007/070156 2006-11-28 2007-10-16 Encoding device and encoding method WO2008065822A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2008546909A JP5231243B2 (ja) 2006-11-28 2007-10-16 符号化装置及び符号化方法
US12/439,021 US8170359B2 (en) 2006-11-28 2007-10-16 Encoding device and encoding method
EP07829890.8A EP2088784B1 (en) 2006-11-28 2007-10-16 Encoding device and encoding method
CN2007800302033A CN101502122B (zh) 2006-11-28 2007-10-16 编码装置及编码方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006-319981 2006-11-28
JP2006319981 2006-11-28

Publications (1)

Publication Number Publication Date
WO2008065822A1 true WO2008065822A1 (en) 2008-06-05

Family

ID=39467621

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/070156 WO2008065822A1 (en) 2006-11-28 2007-10-16 Encoding device and encoding method

Country Status (5)

Country Link
US (1) US8170359B2 (ja)
EP (1) EP2088784B1 (ja)
JP (1) JP5231243B2 (ja)
CN (1) CN101502122B (ja)
WO (1) WO2008065822A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969555A (zh) * 2009-07-27 2011-02-09 索尼公司 图像编码设备和图像编码方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5257215B2 (ja) * 2009-04-16 2013-08-07 ソニー株式会社 画像符号化装置と画像符号化方法
WO2011080851A1 (ja) * 2009-12-28 2011-07-07 パナソニック株式会社 画像符号化装置および集積回路
BR112012031160B1 (pt) * 2010-06-10 2022-04-19 Interdigital Vc Holdings, Inc. Método em um decodificador de vídeo, decodificador de vídeo e mídia de armazenamento legível por computador para determinação de preditores de parâmetros de quantização a partir de uma pluralidade de parâmetros de quantização vizinhos
EP2830054A1 (en) 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder and related methods using two-channel processing within an intelligent gap filling framework
WO2018074291A1 (ja) * 2016-10-18 2018-04-26 パナソニックIpマネジメント株式会社 画像符号化方法、伝送方法および画像符号化装置
CN111052742A (zh) * 2017-09-30 2020-04-21 深圳市大疆创新科技有限公司 图像处理
JPWO2021084679A1 (ja) * 2019-10-31 2021-05-06

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05252403A (ja) * 1992-03-02 1993-09-28 Casio Comput Co Ltd 画像データ圧縮装置
WO1996028937A1 (en) * 1995-03-09 1996-09-19 Sony Corporation Method and device for encoding picture signal
WO2004028165A2 (en) * 2002-09-20 2004-04-01 Docomo Communications Laboratories Usa, Inc. Method and apparatus for arithmetic coding and decoding
JP2004135251A (ja) 2002-10-10 2004-04-30 Sony Corp 画像情報符号化方法及び画像情報復号方法
JP2005252374A (ja) * 2004-03-01 2005-09-15 Sony Corp 符号化装置、プログラム、および符号化処理方法
JP2006319981A (ja) 2005-04-12 2006-11-24 Shigeki Tada 論理差分回路

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1169117C (zh) 1996-11-07 2004-09-29 松下电器产业株式会社 声源矢量生成装置以及声音编码装置和声音解码装置
EP1752968B1 (en) 1997-10-22 2008-09-10 Matsushita Electric Industrial Co., Ltd. Method and apparatus for generating dispersed vectors
US6677869B2 (en) 2001-02-22 2004-01-13 Panasonic Communications Co., Ltd. Arithmetic coding apparatus and image processing apparatus
JP2002252770A (ja) 2001-02-22 2002-09-06 Matsushita Graphic Communication Systems Inc 画像情報の分類方法,画像符号化方法および画像符号化装置
JP2003018593A (ja) 2001-06-29 2003-01-17 Matsushita Electric Ind Co Ltd 映像符号化方法及び装置、映像符号量割当て方法及び装置、並びに記録媒体
US6850175B1 (en) 2003-09-18 2005-02-01 Ntt Docomo, Inc. Method and apparatus for arithmetic coding
JP2004135252A (ja) 2002-10-09 2004-04-30 Sony Corp 符号化処理方法、符号化装置及び復号化装置
JP2005151391A (ja) 2003-11-19 2005-06-09 Toshiba Corp 動画像符号化方法、動画像符号化装置およびプログラム
JP2005184232A (ja) 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
JP2005203905A (ja) 2004-01-13 2005-07-28 Sony Corp 画像符号化装置、画像符号化方法並びに画像符号化プログラム
JP4227067B2 (ja) 2004-04-28 2009-02-18 株式会社東芝 動画像符号化方法と装置及びプログラム
US20060176953A1 (en) 2005-02-04 2006-08-10 Nader Mohsenian Method and system for video encoding with rate control
US9667999B2 (en) * 2005-04-25 2017-05-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for encoding video data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05252403A (ja) * 1992-03-02 1993-09-28 Casio Comput Co Ltd 画像データ圧縮装置
WO1996028937A1 (en) * 1995-03-09 1996-09-19 Sony Corporation Method and device for encoding picture signal
WO2004028165A2 (en) * 2002-09-20 2004-04-01 Docomo Communications Laboratories Usa, Inc. Method and apparatus for arithmetic coding and decoding
JP2004135251A (ja) 2002-10-10 2004-04-30 Sony Corp 画像情報符号化方法及び画像情報復号方法
JP2005252374A (ja) * 2004-03-01 2005-09-15 Sony Corp 符号化装置、プログラム、および符号化処理方法
JP2006319981A (ja) 2005-04-12 2006-11-24 Shigeki Tada 論理差分回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2088784A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101969555A (zh) * 2009-07-27 2011-02-09 索尼公司 图像编码设备和图像编码方法
CN101969555B (zh) * 2009-07-27 2013-03-06 索尼公司 图像编码设备和图像编码方法

Also Published As

Publication number Publication date
CN101502122B (zh) 2011-06-01
US20090263036A1 (en) 2009-10-22
CN101502122A (zh) 2009-08-05
EP2088784A4 (en) 2011-09-07
US8170359B2 (en) 2012-05-01
EP2088784A1 (en) 2009-08-12
JP5231243B2 (ja) 2013-07-10
JPWO2008065822A1 (ja) 2010-03-04
EP2088784B1 (en) 2016-07-06

Similar Documents

Publication Publication Date Title
US11463698B2 (en) Selection of the maximum dynamic range of transformed data and the data precision of transform matrices according to the bit depth of input data
JP4354520B2 (ja) 符号化装置
US10893273B2 (en) Data encoding and decoding
US9191670B2 (en) Throughput improvement for CABAC coefficient level coding
JP5524072B2 (ja) 動画像符号化装置
JP5231243B2 (ja) 符号化装置及び符号化方法
JP2016528789A (ja) データ符号化及び復号化
KR20080082147A (ko) 컨텍스트 기반 적응적 이진 산술 부호화, 복호화 방법 및장치
US9544599B2 (en) Context adaptive data encoding
JP5116704B2 (ja) 画像符号化装置及び画像符号化方法
JP2009021775A (ja) 符号化装置及び符号化方法
JP2007074337A (ja) 符号化装置及び符号化方法
GB2496210A (en) Context adaptive (CABAC) data encoding and decoding
JP5632328B2 (ja) 符号量予測装置及びプログラム
GB2585067A (en) Image data encoding and decoding
JP2022548685A (ja) 画像データの符号化及び復号化

Legal Events

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

Ref document number: 200780030203.3

Country of ref document: CN

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

Ref document number: 07829890

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008546909

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12439021

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2007829890

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007829890

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE