[go: up one dir, main page]

WO2010146782A1 - 算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法 - Google Patents

算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法 Download PDF

Info

Publication number
WO2010146782A1
WO2010146782A1 PCT/JP2010/003638 JP2010003638W WO2010146782A1 WO 2010146782 A1 WO2010146782 A1 WO 2010146782A1 JP 2010003638 W JP2010003638 W JP 2010003638W WO 2010146782 A1 WO2010146782 A1 WO 2010146782A1
Authority
WO
WIPO (PCT)
Prior art keywords
symbol
occurrence probability
arithmetic
binarized data
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2010/003638
Other languages
English (en)
French (fr)
Inventor
杉本和夫
関口俊一
伊谷裕介
峯澤彰
守屋芳美
日和佐憲道
山岸秀一
山田悦久
加藤嘉明
浅井光太郎
村上篤道
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011519514A priority Critical patent/JP4994515B2/ja
Publication of WO2010146782A1 publication Critical patent/WO2010146782A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

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/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 arithmetic coding apparatus and arithmetic coding method for performing arithmetic coding on a parameter to be encoded when compressing and transmitting an image, and an arithmetic decoding apparatus and arithmetic decoding method for performing arithmetic decoding on a parameter to be decoded. It is about.
  • H.264 recommended by ITU-T (International Telecommunication Union Telecommunication Standardization Sector).
  • ITU-T International Telecommunication Union Telecommunication Standardization Sector
  • the encoding target parameter is converted into binary data, and each binary data is converted into binary data. Perform arithmetic coding as a symbol to be coded.
  • the occurrence probability since the occurrence probability in each encoded symbol is different, the occurrence probability is stored in a separate memory for each symbol.
  • the H.264 video coding system is configured to hold approximately 1000 types of occurrence probabilities.
  • the arithmetic coding apparatus refers to the occurrence probability of the symbol and updates the occurrence probability of the symbol when the binary data of the symbol is arithmetically encoded.
  • the arithmetic coding device changes the direction in which the occurrence probability of the symbol is increased (learns the occurrence probability) if the symbol that is the occurrence event is MPS. On the other hand, if the symbol that is the occurrence event is LPS, the occurrence probability of the symbol is changed to be lowered (learning of the occurrence probability).
  • FIG. 13 is an explanatory diagram showing an example of a state transition diagram of occurrence probabilities used by the arithmetic coding apparatus.
  • FIG. 14 is explanatory drawing which shows the value expressing the probability in each state.
  • pStateIdx is the transition state index
  • transIdrLPS is the transition state index of the next state when the symbol that is the occurrence event is LPS
  • transIdrMPS is the next state when the symbol that is the occurrence event is MPS
  • the transition state index is shown.
  • qCodIRRangeIdx is a value representing a probability, and in the example of FIG. 14, is a value approximating the reciprocal of the occurrence probability.
  • FIG. 15 is an explanatory diagram showing the principle of arithmetic coding in the arithmetic coding device.
  • MPS 0
  • the probability of occurrence of MPS is 0.75
  • the probability of occurrence of LPS is 0.25
  • the input binary string “0001” is arithmetically encoded
  • the output binary of “011” is obtained. Shows an example of arithmetic coding.
  • FIG. 16 is an explanatory diagram showing a moving image to be encoded.
  • the car is moving leftward.
  • the background is only the background up to the previous block in the coding order (raster scan order). Since the head of is approaching, it is a block that is different in nature from the previous block.
  • FIG. 17 shows first binary data as binarized MVD (Motion Vector Difference: motion vector difference value), which is an encoding parameter indicating, for example, block motion information as a specific encoding target symbol.
  • the second binary data that is the first binary data when binarizing CBP (Coded Block Pattern) which is an encoding parameter indicating whether or not an orthogonal transform coefficient exists in the block.
  • CBP Coded Block Pattern
  • the amount of information for each block is illustrated by paying attention to the symbol.
  • the orthogonal transform coefficient is likely to be generated when the motion is large and the orthogonal transform coefficient is difficult to be generated when the motion is small, there is a correlation between the occurrence probability of the MPS of the first symbol and the second symbol. is there.
  • the generated symbols are always MPS, and the amount of generated information for each symbol gradually decreases due to the learning effect of the occurrence probability. Go.
  • an occurrence event becomes LPS depending on the symbol. For example, as shown in FIG. Therefore, the amount of generated information of the encoding target symbol increases rapidly.
  • the probability of occurrence of each symbol using a predetermined mathematical formula based on the quantization scale at the beginning of a slice in order to enhance error tolerance and improve coding efficiency is initialized, and the occurrence probability is learned in accordance with the occurrence event of each symbol in the slice (state transition is performed).
  • the conventional arithmetic coding apparatus is configured as described above, when the amount of generated symbol information increases rapidly in the middle of slicing, it cannot follow the change, and other correlated symbols cannot be tracked. The amount of generated information also increases, resulting in an increase in the total code amount.
  • the present invention has been made to solve the above-described problems, and provides an arithmetic coding apparatus and an arithmetic coding method that can quickly suppress the amount of generated symbol information and increase the coding efficiency. With the goal.
  • Another object of the present invention is to provide an arithmetic decoding device and an arithmetic decoding method capable of correctly decoding symbols whose encoding efficiency has been increased by the arithmetic encoding device.
  • the arithmetic coding apparatus refers to the occurrence probability of the first symbol stored in the occurrence probability storage means and performs arithmetic operation on the binarized data of the first symbol output from the binarization means.
  • the binarized data of the second symbol output from the binarizing means is arithmetically encoded with reference to the occurrence probability of the second symbol stored in the occurrence probability storing means, and Arithmetic coding operation processing means for updating the occurrence probabilities of the first and second symbols stored in the occurrence probability storage means is provided, and the occurrence probability initialization means outputs the first symbol output from the binarization means. It is determined whether or not the steady state of the binarized data is interrupted.
  • the binarized data of the first symbol output from the binarizing means is arithmetically encoded with reference to the occurrence probability of the first symbol stored in the occurrence probability storing means.
  • the binarized data of the second symbol output from the binarizing means is arithmetically encoded with reference to the occurrence probability of the second symbol stored in the occurrence probability storing means, and the occurrence probability storing means 2 includes arithmetic coding operation processing means for updating the occurrence probabilities of the first and second symbols stored in the above, and the occurrence probability initialization means outputs binarized data of the first symbol output from the binarization means.
  • the occurrence probability memory is stored before the arithmetic coding of the binary data of the second symbol is performed by the arithmetic coding operation processing means.
  • FIG. It is a flowchart which shows the determination process of the state reset determination part 26 in the entropy encoding part 11.
  • FIG. It is explanatory drawing which shows the fluctuation
  • FIG. 1 is a block diagram showing a moving picture coding apparatus in which an arithmetic coding apparatus according to Embodiment 1 of the present invention is mounted.
  • an image input unit 1 inputs a moving image to be encoded, divides the moving image into units of macroblocks, and images of each divided macroblock (hereinafter referred to as “macroblock images”). Is executed.
  • the intra prediction unit 2 performs intra prediction, thereby generating a prediction image from a locally decoded image stored in the frame memory 10 to be described later, and performing a process of outputting a prediction mode of intra prediction to the entropy encoding unit 11 To do.
  • the motion compensation prediction unit 3 detects a motion vector from the macroblock image output from the image input unit 1 and the reference image stored in the frame memory 10, and performs motion compensation prediction on the reference image using the motion vector. Thus, a process of generating a predicted image and outputting the motion vector to the entropy encoding unit 11 is performed.
  • the encoding control unit 4 controls the selection switch 5 and performs a process of outputting a control signal and a quantization scale for the selection switch 5 to the entropy encoding unit 11. According to the control signal output from the encoding control unit 4, the selection switch 5 predicts the prediction image with the higher prediction accuracy among the prediction image generated by the intra prediction unit 2 or the prediction image generated by the motion compensation prediction unit 3. A process of selecting an image is performed.
  • the subtractor 6 calculates a prediction error signal that is a difference image between the macroblock image output from the image input unit 1 and the prediction image selected by the selection switch 5, and outputs the prediction error signal to the quantization conversion unit 7. Perform the process.
  • the quantization transform unit 7 orthogonally transforms the prediction error signal output from the subtracter 6, quantizes the orthogonal transform coefficient of the prediction error signal, and converts the orthogonal transform coefficient after quantization to the inverse quantization transform unit 8 and the entropy. A process of outputting to the encoding unit 11 is performed.
  • the inverse quantization transform unit 8 performs inverse quantization on the orthogonal transform coefficient after quantization output from the quantization transform unit 7 and performs inverse orthogonal transform on the orthogonal transform coefficient after inverse quantization to output from the subtractor 6.
  • a process of outputting a prediction error signal corresponding to the predicted error signal to the adder 9 is performed.
  • the adder 9 performs a process of adding the prediction image selected by the selection switch 5 and the prediction error signal output from the inverse quantization transform unit 8 to generate a local decoded image.
  • the frame memory 10 is a recording medium that stores the locally decoded image generated by the adder 9 as a reference image.
  • the entropy encoding unit 11 is an arithmetic encoding apparatus according to Embodiment 1 of the present invention, and is an encoding target parameter (a plurality of parameters having a correlation: for example, a macroblock type, a motion vector difference value, a luminance intraframe prediction).
  • a mode, a color difference intra-frame prediction mode, a CBP (Coded Block Pattern), a difference quantization parameter, and the like are entropy-coded, and a process of outputting encoded data is performed.
  • the prediction mode output from the intra prediction unit 2 the motion vector detected by the motion compensation prediction unit 3, and the quantization scale / control output from the encoding control unit 4 are the encoding target parameters.
  • the signal and the quantized orthogonal transform coefficient information (including CBP) output from the quantization transform unit 7 are entropy coded.
  • FIG. 2 is a block diagram showing an entropy encoding unit 11 which is an arithmetic encoding apparatus according to Embodiment 1 of the present invention.
  • two symbols (MVD (Motion Vector Difference: motion vector difference value) which is an encoding parameter indicating a motion vector difference value) are binarized data (first bit) when binarized Symbol), the first bit of binarized data (second symbol) when CBP, which is an encoding parameter indicating whether or not a non-zero orthogonal transform coefficient exists in the block, is entropy
  • MDV Motion Vector Difference: motion vector difference value
  • the number of parameters to be encoded that the entropy encoding unit 11 performs entropy encoding is not limited to two, and may be three or more.
  • the first symbol is not limited to the first bit of MVD
  • the second symbol is not limited to the first bit of CBP
  • the first symbol is not the first bit of MVD.
  • the binarized data of the binarization parameter, the binarized data whose second symbol is not the first bit of CBP, or the binarized data of the coding parameter other than CBP may be used.
  • a transition state storage memory 21 is a recording medium that stores a transition state index (see FIG. 13) in a state transition diagram of each symbol to be encoded.
  • the probability table memory 22 is a recording medium that stores a probability table (see FIG. 14: the probability table of FIG. 14 stores an approximate value of the reciprocal of the occurrence probability) indicating the occurrence probability in each state.
  • the transition state storage memory 21 and the probability table memory 22 constitute an occurrence probability storage means.
  • the present invention is not limited to this, and any means can be used as long as the occurrence probability is updated / stored.
  • a method may be used in which the number of occurrences of binary data of a symbol to be encoded is “0” and the number of times “1” is counted, and the probability is calculated statistically. .
  • the context generation unit 23 refers to the type signal for identifying the encoding target symbol and information on the peripheral blocks (macroblocks existing around the encoding target macroblock), and is stored in the transition state storage memory 21. A process of selecting a memory area to be referred to by the arithmetic coding arithmetic processing unit 25 from the memory area storing the transition state index assigned to each symbol is executed.
  • the binarization unit 24 binarizes MVD and CBP, which are parameters to be encoded, and performs processing for outputting the respective binarized data.
  • the binarization unit 24 constitutes binarization means.
  • MVD1 first symbol
  • CBP1 second symbol
  • the transition state index and the probability table stored in the probability table memory 22 are referred to).
  • the binary data of CBP1 (second symbol) is arithmetically encoded, and the transition state index of MVD1 (first symbol) and CBP1 (second symbol) stored in the transition state storage memory 21 is arithmetically operated. Update processing is performed based on the state transition diagram held by the encoding operation processing unit 25.
  • the arithmetic coding arithmetic processing unit 25 constitutes arithmetic coding arithmetic processing means.
  • the state reset determination unit 26 determines whether or not the steady state of the binarized data of the MVD1 (first symbol) output from the binarization unit 24 is interrupted.
  • the current transition state of CBP1 (second symbol) stored in the transition state storage memory 21 before the binarized data of CBP1 (second symbol) is arithmetically encoded by the conversion operation processing unit 25 Perform the process of initializing the index.
  • the state reset determination unit 26 constitutes an occurrence probability initialization unit.
  • FIG. 3 is a flowchart showing the processing contents of the moving picture coding apparatus in which the arithmetic coding apparatus according to Embodiment 1 of the present invention is mounted.
  • FIG. 4 is a flowchart showing the processing contents of the entropy encoding unit 11 which is an arithmetic encoding apparatus according to Embodiment 1 of the present invention.
  • FIG. 5 is a flowchart showing the determination process of the state reset determination unit 26 in the entropy encoding unit 11.
  • the image input unit 1 divides the moving image into units of macroblocks and outputs the divided macroblock images as macroblock images (step ST1 in FIG. 3).
  • the subtractor 6 calculates a prediction error signal that is a difference image between the macroblock image and the prediction image, and the prediction The error signal is output to the quantization conversion unit 7 (step ST2).
  • the quantization transform unit 7 Upon receiving the prediction error signal from the subtractor 6, the quantization transform unit 7 orthogonally transforms the prediction error signal, quantizes the orthogonal transform coefficient of the prediction error signal, and inverse-quantizes the quantized orthogonal transform coefficient. It outputs to the conversion unit 8 and the entropy encoding unit 11 (step ST3).
  • the inverse quantization transform unit 8 Upon receiving the quantized orthogonal transform coefficient from the quantizing transform unit 7, the inverse quantization transform unit 8 performs inverse quantization on the orthogonal transform coefficient after quantization, and performs inverse orthogonal transform on the orthogonal transform coefficient after inverse quantization.
  • a prediction error signal corresponding to the prediction error signal output from the subtracter 6 is output to the adder 9 (step ST4).
  • the intra prediction unit 2 When the intra prediction unit 2 receives the macroblock image from the image input unit 1, the intra prediction unit 2 performs intra prediction (intraframe prediction) to generate a predicted image from the reference image stored in the frame memory, and also performs intra prediction. Are output to the entropy encoding unit 11 (step ST5).
  • the motion compensation prediction unit 3 receives a macroblock image from the image input unit 1, the motion compensation prediction unit 3 detects a motion vector from the macroblock image and the reference image stored in the frame memory 10, and uses the motion vector to detect the reference image. By performing motion compensated prediction for, a predicted image is generated and the motion vector is output to the entropy encoding unit 11 (step ST6).
  • the encoding control unit 4 determines the macroblock mode (step ST7), and the prediction with the higher prediction accuracy among the prediction image generated by the intra prediction unit 2 or the prediction image generated by the motion compensation prediction unit 3 is performed.
  • a control signal for instructing image selection is output to the selection switch 5, and the control signal and the quantization scale are output to the entropy encoding unit 11.
  • the selection switch 5 selects a prediction image generated by the intra prediction unit 2 or a prediction image generated by the motion compensation prediction unit 3 according to the control signal output from the encoding control unit 4, and the selected prediction image Is output to the subtractor 6.
  • the entropy encoding unit 11 encodes parameters to be encoded (a plurality of correlated parameters: macroblock type, motion vector difference value, luminance intra-frame prediction mode, chrominance intra-frame prediction mode, CBP (Coded Block Pattern), Entropy encoding is performed on the difference quantization parameter and the like, and encoded data is output (step ST8).
  • the prediction mode output from the intra prediction unit 2, the motion vector detected by the motion compensation prediction unit 3, the quantization scale and the quantum output from the encoding control unit 4 are used as symbols to be encoded.
  • the quantized orthogonal transform coefficient information (including CBP) output from the conversion transform unit 7 is entropy-coded.
  • the control signal for the selection switch 5 is also entropy encoded.
  • the binarization unit 24 of the entropy encoding unit 11 When the binarization unit 24 of the entropy encoding unit 11 receives MVD and CBP as parameters to be encoded, the binarization unit 24 binarizes the MVD and CBP, and arithmetically codes the binarized data including the MVD1 and CBP1. The data is output to the conversion calculation processing unit 25 and the state reset determination unit 26 (step ST11 in FIG. 4).
  • the context generation unit 23 refers to the type signal for identifying the encoding target symbol and information on the peripheral blocks (macroblocks existing around the encoding target macroblock) and stores them in the transition state storage memory 21.
  • a memory area referred to by the arithmetic coding arithmetic processing unit 25 is selected from the memory area storing the transition state index assigned to each symbol, and context information for identifying the memory area is generated ( Step ST12).
  • the arithmetic coding arithmetic processing unit 25 is the memory on the transition state storage memory 21 indicated by the context information generated by the context generation unit 23 among the memory areas allocated for each symbol stored in the transition state storage memory 21.
  • the encoding target symbol The occurrence probability is specified (step ST14).
  • the arithmetic coding arithmetic processing unit 25 specifies the occurrence probability of MVD1 (first symbol)
  • the arithmetic coding unit 25 refers to the occurrence probability and arithmetically encodes the binarized data of MVD1 output from the binarizing unit 24.
  • Step ST15 the arithmetic coding arithmetic processing unit 25 compares the current transition state index of MVD1 (first symbol) with the state transition diagram, and specifies the next transition state index of MVD1 (first symbol).
  • the transition state index stored in the memory area assigned to MVD1 in the transition state storage memory 21 is updated to the specified next transition state index.
  • the next transition state index Is identified as “8” see FIG. 13
  • the current transition state index of MVD1 (first symbol) is “7”
  • MVD1 (first symbol) is binary data LPS (inferior symbol)
  • the next transition state index Is identified as “5” see FIG. 13).
  • the arithmetic coding arithmetic processing unit 25 arithmetically encodes the binarized data of MVD1 (first symbol), the current transition state of MVD1 (first symbol) stored in the transition state storage memory 21. Update the index.
  • the arithmetic coding arithmetic processing unit 25 updates the transition state index of MVD1 (first symbol), it outputs encoded data that is the result of arithmetic coding of the binary data of MVD1 (first symbol) ( Step ST17).
  • the state reset determining unit 26 binarizes CBP1 (second symbol) by the arithmetic coding arithmetic processing unit 25.
  • the state reset determination unit 26 breaks the steady state of the binarized data of MVD1 (first symbol) when all of the following three conditions are satisfied (steps ST21 to ST23). If any of the following conditions is not satisfied (steps ST21 to ST23), it is determined that the steady state of the binarized data of MVD1 (first symbol) is not interrupted (step ST21 to ST23). Step ST25).
  • the occurrence probability of MPS specified by the transition state index of MVD1 (first symbol) before being updated this time by the arithmetic coding arithmetic processing unit 25 is not less than a first threshold (for example, 0.875). It is.
  • the binarized data of MVD1 (first symbol) output from the binarizing unit 24 is the inferior symbol LPS.
  • the occurrence probability of MPS specified by the transition state index of CBP1 (second symbol) before being updated this time by the arithmetic coding arithmetic processing unit 25 is not less than a second threshold (for example, 0.75). is there.
  • the condition that the MPS occurrence probability of CBP1 (second symbol) before being updated this time by the arithmetic coding arithmetic processing unit 25 is equal to or higher than a second threshold (for example, 0.75) is also included in the condition.
  • a second threshold for example, 0.75
  • the state reset determination unit 26 determines that the steady state of the binarized data of MVD1 (first symbol) is interrupted, the arithmetic coding arithmetic processing unit 25 performs binarized data of CBP1 (second symbol). Before the arithmetic coding calculation process is performed, the current transition state index of CBP1 (second symbol) stored in the transition state storage memory 21 is initialized (step ST19).
  • the arithmetic coding calculation processing unit 25 performs the occurrence probability of CBP1 (second symbol) in the same manner as when the occurrence probability of MVD1 (first symbol) is specified. Is identified. That is, the arithmetic coding arithmetic processing unit 25 refers to the current transition state index of CBP1 (second symbol) stored in the transition state storage memory 21 and uses the probability table stored in the probability table memory 22 to The occurrence probability of CBP1 (second symbol) is specified.
  • the arithmetic coding arithmetic processing unit 25 refers to the occurrence probability in the same manner as when the binary data of MVD1 (first symbol) is arithmetically coded. Then, the binary data of CBP1 (second symbol) output from the binarization unit 24 is arithmetically encoded.
  • the arithmetic coding arithmetic processing unit 25 performs the transition state storage memory similarly to the case of updating the transition state index of MVD1 (first symbol). 21. Update the transition state index of CBP1 (second symbol) stored in 21.
  • the arithmetic coding operation processing unit 25 When the arithmetic coding operation processing unit 25 updates the transition state index of CBP1 (second symbol), the arithmetic coding operation processing unit 25 outputs encoded data that is an arithmetic coding result of the binary data of CBP1 (second symbol).
  • the state reset determination unit 26 determines whether the steady state of the binarized data of MVD1 (first symbol) is interrupted. It is stored in the transition state storage memory 21 as described above. Since the transition state index of CBP1 (second symbol) is reset to the initial value, the steady state of the binarized data of MVD1 (first symbol) is interrupted, thereby generating MVD1 (first symbol). Even if the amount of information increases rapidly, an increase in the amount of generated information of CBP1 (second symbol) correlated with MVD1 (first symbol) is suppressed.
  • FIG. 6 is an explanatory diagram showing fluctuations in the amount of generated information of two correlated symbols.
  • the steady state of the binarized data of MVD1 (first symbol) is interrupted, so that the amount of generated information of MVD1 (first symbol) increases rapidly.
  • the current transition state index of CBP1 (second symbol) is reset to the initial value
  • the amount of generated information of CBP1 (second symbol) correlated with MVD1 (first symbol) It is shown that the increase of is suppressed.
  • the transition state index of CBP1 (second symbol) is not reset to the initial value, the amount of generated information of CBP1 (second symbol) increases rapidly as shown in FIG.
  • MVD1 first symbol
  • CBP1 second symbol
  • MVD1 first symbol
  • CBP1 second symbol
  • a macroblock mode that specifies a coding mode of a macroblock (whether intraframe prediction or interframe prediction is used, or the unit of intraframe prediction is any of 4 ⁇ 4, 8 ⁇ 8, and 16 ⁇ 16 images). Or information indicating whether the motion vector transmission unit is 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 8 or less), and all the macroblocks are reconstructed with only predicted values.
  • a skip flag for specifying whether or not a skip mode is selected a difference motion vector for specifying motion (a difference value between a motion vector prediction value and an actual motion vector), CBP indicating the presence or absence of each block of prediction difference information, and luminance Signal intra-frame prediction mode, color difference signal intra-frame prediction mode, difference quantization parameter that is the difference of quantization parameter from previous macroblock, prediction error signal Encoding the coding parameters such as exchange transform coefficients as the macro block data.
  • Prediction is easy in a portion where there is little change in motion or texture, such as the background portion of the screen, so the probability of selecting the skip mode increases. Furthermore, since there is little change in motion and texture, the block size tends to be large for intra-frame prediction and motion prediction. Therefore, the probability of selecting a mode for processing in units of 16 ⁇ 16 pixels is selected as the macroblock mode. Becomes higher. In addition, since there is no change in the image signal, the probability that the difference motion vector becomes 0 increases. Since it is difficult for the CBP to generate the prediction difference information, the probability of becoming 0 becomes high. In the intra-frame prediction mode, neither the luminance nor the color difference changes so much in any prediction mode, so the probability that the intra-frame prediction mode is the same as that of an adjacent block increases. Since there is no change in the differential quantization parameter, the probability of becoming 0 is increased.
  • the probability that the skip mode is not selected increases. Since the encoding efficiency is improved when the predicted pixels are finely generated in accordance with the movement or texture change, the macroblock type has a higher probability of having a smaller block size. Also, the difference motion vector naturally has a higher probability of becoming a non-zero value. As for the intra-frame prediction mode, the probability that various modes are selected according to the texture increases. The difference quantization parameter also has a higher probability of not being 0 because the quantization parameter is changed to a large value in order to suppress the code amount.
  • each binarized data when binarizing encoding parameters such as a macroblock mode, a skip flag, a motion vector difference value, CBP, a luminance intraframe prediction mode, a chrominance intraframe prediction mode, and a differential quantization parameter is
  • both the first symbol and the second symbol are MPS. If the first symbol changes to LPS when the state of high probability continues, the second symbol is likely to change to LPS at the same time, so the occurrence probability of the second symbol is initialized. By doing so, the amount of information generated in the second symbol can be suppressed, and encoding with high encoding efficiency can be realized.
  • the binary data of CBP1 (second symbol) output from the binarization unit 24 is arithmetically encoded with reference to the occurrence probability of CBP1 (second symbol).
  • an arithmetic coding arithmetic processing unit 25 that updates the transition state index of MVD1 (first symbol) and CBP1 (second symbol) stored in the transition state storage memory 21 is provided, and the state reset determination unit 26 It is determined whether or not the steady state of the binarized data of MVD1 (first symbol) output from the binarization unit 24 is interrupted. If the steady state is interrupted, the arithmetic coding calculation processing unit 25 is performed. Before the arithmetic coding of the binary data of CBP1 (second symbol) is performed, the transition state index of CBP1 (second symbol) stored in the transition state storage memory 21 is initialized. Since it comprised, there exists an effect which can suppress the generation
  • the state reset determination unit 26 determines whether or not the steady state of the binarized data of the MVD1 (first symbol) output from the binarization unit 24 is interrupted, and the steady state is If there is a break, before the arithmetic coding of the binary data of CBP1 (second symbol) is performed by the arithmetic coding arithmetic processing unit 25, CBP1 (second symbol) stored in the transition state storage memory 21 is stored. The symbol (transition state) of the transition state index is shown. When the steady state of the binary data of MVD1 (first symbol) is interrupted, the CBP1 (first order) stored in the transition state storage memory 21 is displayed. Instead of initializing the transition state index of 2 symbols), MPS (dominant symbol) and LPS (inferior) in the binary data of CBP1 (second symbol) The meaning of symbols) may be reversed.
  • the transition state index of CBP1 (second symbol) may be forcibly transitioned to a transition state index that transitions when one or more LPS (inferior symbols) are received.
  • LPS inferior symbols
  • the effect of reversing the meanings of MPS and LPS cannot be obtained, but the processing to be updated using the state transition diagram can be diverted, so that it is not necessary to increase the circuit scale.
  • similarly to the first embodiment it is possible to quickly suppress the amount of information generated in CBP1 (second symbol) and increase the coding efficiency.
  • FIG. 7 is a block diagram showing an entropy encoding unit 11 which is an arithmetic encoding apparatus according to Embodiment 3 of the present invention.
  • the transition state storage memory 27 is a recording medium that stores the current transition state index of each symbol of each symbol to be encoded.
  • the current transition state index of CBP1 (second symbol) is not initialized by the state reset determination unit 26.
  • the intra prediction unit 2 and the motion compensation prediction unit 3 When the transition state reset flag (state transition information) indicating that the steady state of the binarized data of the MVD1 (first symbol) output from the binarization unit 24 is interrupted is received, the arithmetic coding calculation processing unit 25 MVD1 (first symbol) and CB before arithmetic coding of the binary data of MVD1 (first symbol) and CBP1 (second symbol) is performed. It is different 1 the current transition state index (second symbol) at the point to be initialized.
  • the transition state storage memory 27 constitutes an occurrence probability storage unit and an occurrence probability initialization unit.
  • the intra prediction unit 2 (or the motion compensation prediction unit 3) analyzes the unpredictable block when generating a predicted image in a block (referred to as an unpredictable block) having a different property from the previously encoded block, It can be determined whether or not the steady state of the binarized data of MVD1 (first symbol) in the disabled block is interrupted. If the intra prediction unit 2 (or motion compensation prediction unit 3) determines that the steady state of the binarized data of the MVD1 (first symbol) in the unpredictable block is interrupted, it indicates that the steady state is interrupted.
  • the transition state reset flag shown is output to the transition state storage memory 27 of the entropy encoding unit 11.
  • the transition state storage memory 27 When the transition state storage memory 27 receives the transition state reset flag from the intra prediction unit 2 (or motion compensation prediction unit 3), the arithmetic coding arithmetic processing unit 25 performs MVD1 (first symbol) and CBP1 (second symbol). Before the arithmetic coding of the binary data of (symbol) is performed, the current transition state index of MVD1 (first symbol) and CBP1 (second symbol) is initialized. In this case, before arithmetic coding of the binary data of MVD1 (first symbol) is performed by the arithmetic coding arithmetic processing unit 25, the transition state storage memory 27 stores the binary value of MVD1 (first symbol).
  • the transition state reset indicating that the steady state of the binarized data of the MVD1 (first symbol) output from the binarization unit 24 is interrupted.
  • the transition state storage memory 27 performs MVD1 before arithmetic coding of the binary data of MVD1 (first symbol) and CBP1 (second symbol) is performed by the arithmetic coding arithmetic processing unit 25. Since the current transition state index of (first symbol) and CBP1 (second symbol) is initialized, the amount of generated information of MVD1 (first symbol) and CBP1 (second symbol) is There is an effect that it is possible to quickly suppress and increase the encoding efficiency.
  • FIG. FIG. 8 is a block diagram showing a moving picture decoding apparatus in which an arithmetic decoding apparatus according to Embodiment 4 of the present invention is mounted.
  • an entropy decoding unit 31 is an arithmetic decoding device according to Embodiment 4 of the present invention.
  • a macroblock mode for specifying a coding mode of a macroblock (whether intraframe prediction or interframe prediction is used, or the unit of intraframe prediction is any of 4 ⁇ 4, 8 ⁇ 8, and 16 ⁇ 16 images) Or information indicating which unit of motion vector transmission is 16 ⁇ 16, 16 ⁇ 8, 8 ⁇ 16, 8 ⁇ 8 or less), and all macroblocks are reconfigured with only predicted values.
  • a skip flag for specifying whether or not the mode is selected, a difference motion vector for specifying motion (a difference value between a motion vector prediction value and an actual motion vector), and a prediction difference information block CBP indicating the presence / absence of each block, luminance signal intra-frame prediction mode, chrominance signal intra-frame prediction mode, differential quantization parameter that is a difference in quantization parameter from the previous macroblock, orthogonal transform coefficient of prediction error signal Etc. are subjected to entropy decoding and output as decoding parameters.
  • the prediction mode output from the intra prediction unit 2 the motion vector detected by the motion compensation prediction unit 3, the quantization scale and quantization output from the encoding control unit 4 are the decoding target parameters.
  • the quantized orthogonal transform coefficient output from the transform unit 7 is entropy decoded.
  • the control signal for the selection switch 5 is also entropy decoded.
  • the inverse quantization transform unit 32 performs inverse quantization on the orthogonal transform coefficient after quantization entropy-decoded by the entropy decoding unit 31, and performs inverse orthogonal transform on the orthogonal transform coefficient after the inverse quantization, so that the subtractor of FIG. A process of calculating a prediction error signal corresponding to the prediction error signal output from 6 is performed.
  • the intra prediction image generation unit 33 performs intra prediction according to the prediction mode of the intra prediction entropy decoded by the entropy decoding unit 31, so that a prediction image corresponding to the prediction image generated by the intra prediction unit 2 of FIG. 1 is obtained. Perform the process to generate.
  • the motion compensation unit 34 performs motion compensation prediction on the reference image stored in the frame memory 37 using the motion vector entropy-decoded by the entropy decoding unit 31, thereby generating the motion compensation prediction unit 3 in FIG. 1.
  • a process of generating a predicted image corresponding to the predicted image that has been performed is performed.
  • the selection switch 35 performs a process of selecting the prediction image generated by the intra prediction image generation unit 33 or the motion compensation unit 34 according to the control signal for the selection switch 5 of FIG. 1 entropy decoded by the entropy decoding unit 31.
  • the adder 36 adds the prediction error signal calculated by the inverse quantization conversion unit 32 and the prediction image selected by the selection switch 35, and corresponds to a macro block image output from the image input unit 1 in FIG. A process of outputting a block image is performed.
  • the frame memory 37 is a recording medium that stores the macroblock image generated by the adder 36 as a reference image.
  • FIG. 9 is a block diagram showing an entropy decoding unit 31 which is an arithmetic decoding device according to Embodiment 4 of the present invention.
  • MVD1 first symbol
  • CBP1 second symbol
  • the number of parameters to be decoded that the entropy decoding unit 31 performs entropy decoding is not limited to two, and may be three or more.
  • the first symbol is not limited to the first bit of MVD
  • the second symbol is not limited to the first bit of CBP
  • the first symbol is not the first bit of MVD.
  • the binarized data of the binarization parameter, the binarized data whose second symbol is not the first bit of CBP, or the binarized data of the coding parameter other than CBP may be used.
  • the transition state storage memory 41 is a recording medium that stores the transition state index in the state transition diagram of each symbol, similarly to the transition state storage memory 21 of FIG.
  • the probability table memory 42 is a probability table indicating the occurrence probability in each state (see FIG. 14: the probability table in FIG. 14 stores an approximate value of the reciprocal of the occurrence probability. ) Is stored.
  • the transition state storage memory 41 and the probability table memory 42 constitute an occurrence probability storage means.
  • the present invention is not limited to this, and any means can be used as long as the occurrence probability is updated / stored. Even so, the present invention can be applied. For example, a method may be used in which the probability is statistically calculated by counting the number of times that the occurrence of binary data of the decoded symbol is “0” and the number of times “1”.
  • the context generation unit 43 refers to the type signal for identifying the symbol to be decoded and information on the peripheral blocks (macroblocks existing around the macroblock to be decoded), and is stored in the transition state storage memory 41.
  • a process of selecting a state transition diagram referred to by the arithmetic decoding arithmetic processing unit 44 from the memory area storing the transition state index assigned for each symbol is performed.
  • the arithmetic decoding calculation processing unit 44 refers to the occurrence probability of the MVD1 (first symbol) (the state stored in the memory area on the transition state storage memory 41 assigned to the MVD1 selected by the context generation unit 43) (Refer to the transition index and the probability table stored in the probability table memory 42), the binary data of MVD1 (first symbol) is arithmetically decoded, and the occurrence probability of CBP1 (second symbol) is calculated.
  • the arithmetic decoding arithmetic processing unit 44 constitutes arithmetic decoding arithmetic processing means.
  • the state reset determination unit 45 determines whether or not the steady state of the binarized data of the MVD (first symbol) arithmetically decoded by the arithmetic decoding arithmetic processing unit 44 is interrupted, and if the steady state is interrupted, The current transition state of CBP1 (second symbol) stored in the transition state storage memory 41 before the arithmetic decoding of the binary data of CBP1 (second symbol) is performed by the arithmetic decoding arithmetic processing unit 44. Perform the process of initializing the index.
  • the state reset determination unit 45 constitutes an occurrence probability initialization unit.
  • the inverse binarization unit 46 binarizes the binarized data including the MVD1 (first symbol) and the binarized data including the CBP1 (second symbol), which are arithmetically decoded by the arithmetic decoding arithmetic processing unit 44. Thus, a process of outputting MVD and CBP which are parameters to be decoded as a decoding result is performed.
  • the inverse binarization unit 46 constitutes an inverse binarization unit.
  • FIG. 10 is a flowchart showing the processing contents of the moving picture decoding apparatus in which the arithmetic decoding apparatus according to the fourth embodiment of the present invention is mounted.
  • FIG. 11 is a flowchart showing the processing contents of the entropy decoding unit 31 which is an arithmetic decoding device according to Embodiment 4 of the present invention.
  • the arithmetic decoding apparatus is an apparatus that decodes an image by correctly decoding symbols whose encoding efficiency has been increased by the arithmetic encoding apparatus of FIG.
  • the entropy decoding unit 31 decodes and outputs a plurality of correlated parameters from the encoded data (step ST31 in FIG. 10). That is, the entropy decoding unit 31 outputs the prediction mode output from the intra prediction unit 2 in FIG. 1, the motion vector difference value that is the prediction difference value of the motion vector detected by the motion compensation prediction unit 3, and the encoding control unit 4.
  • the output quantization scale, the orthogonal transform coefficient information (including CBP) output from the quantization conversion unit 7 and the control signal for the selection switch 5 are entropy decoded. Details of processing contents of the entropy decoding unit 31 will be described later.
  • the inverse quantization transform unit 32 dequantizes the quantized orthogonal transform coefficient and performs inverse orthogonal transform on the orthogonal transform coefficient after dequantization.
  • a prediction error signal corresponding to the prediction error signal output from the subtracter 6 of FIG. 1 is calculated (step ST32).
  • the intra prediction image generation unit 33 performs intra prediction (intraframe prediction) according to the prediction mode of the intra prediction, so that the intra prediction unit of FIG. A prediction image corresponding to the prediction image generated in step 2 is generated (step ST33).
  • the motion compensation unit 34 performs motion compensation prediction on the reference image stored in the frame memory 37 using the motion vector, thereby performing the motion compensation of FIG.
  • a prediction image corresponding to the prediction image generated by the prediction unit 3 is generated (step ST34).
  • the selection switch 35 selects the prediction image generated by the intra prediction image generation unit 33 or the motion compensation unit 34 according to the control signal.
  • the adder 36 adds the prediction error signal calculated by the inverse quantization conversion unit 32 and the prediction image selected by the selection switch 35, and corresponds to the macroblock image output from the image input unit 1 in FIG.
  • the macro block image is stored in the frame memory 37, and the macro block image is output to the outside (step ST35).
  • MVD1 first symbol
  • CBP1 second symbol
  • CBP1 second symbol
  • the context generation unit 43 refers to the type signal for identifying the symbol to be decoded and the information about the peripheral block (the macro block existing around the macro block to be decoded), and is stored in the transition state storage memory 41.
  • a memory area referred to by the arithmetic decoding operation processing unit 44 is selected from memory areas allocated on the transition state storage memory 41 to store a transition state index for each symbol, and the memory area is identified. Context information is generated (step ST41 in FIG. 11).
  • the arithmetic decoding arithmetic processing unit 44 is the code on the transition state storage memory 41 indicated by the context information generated by the context generation unit 43 in the memory area allocated for each symbol stored in the transition state storage memory 42.
  • the occurrence probability of the decoding target symbol is determined. Identify.
  • Step ST43 When the occurrence probability of MVD1 (first symbol) is specified, the arithmetic decoding calculation processing unit 44 refers to the occurrence probability and arithmetically decodes the binarized data of MVD1 (first symbol) (step ST44). .
  • the arithmetic decoding arithmetic processing unit 44 compares the current transition state index of MVD1 (first symbol) with the state transition diagram, and sets the MVD1 (first (1 symbol) next transition state index is specified, and the transition state index stored in the memory area assigned to MVD1 in the transition state storage memory 41 is updated to the specified next transition state index (step ST45).
  • the arithmetic decoding arithmetic processing unit 44 arithmetically decodes the binarized data including MVD1 (first symbol)
  • the inverse binarizing unit 46 performs inverse binarization on the binarized data (step ST46), and performs decoding.
  • MVD is output as a parameter (step ST47).
  • the state reset determination unit 45 performs the MVD1 (first symbol) as in the state reset determination unit 26 of FIG. ) Is determined whether the steady state of the binarized data is interrupted (step ST48). That is, as shown in FIG. 5, the state reset determination unit 45 breaks the steady state of the binarized data of MVD1 (first symbol) when all of the following three conditions are satisfied (steps ST21 to ST23). If any of the following conditions is not satisfied (steps ST21 to ST23), it is determined that the steady state of the binarized data of MVD1 (first symbol) is not interrupted (step ST21 to ST23). Step ST25).
  • the occurrence probability of MPS specified by the transition state index of MVD1 (first symbol) before being updated this time by the arithmetic decoding arithmetic processing unit 44 is not less than a first threshold (for example, 0.875). is there.
  • the binarized data of MVD1 (first symbol) arithmetically decoded by the arithmetic decoding arithmetic processing unit 44 is the inferior symbol LPS.
  • the occurrence probability of MPS specified by the transition state index of CBP1 (second symbol) before being updated this time by the arithmetic decoding arithmetic processing unit 44 is equal to or higher than a second threshold (for example, 0.75). .
  • the MPS occurrence probability of CBP1 (second symbol) before being updated this time by the arithmetic decoding arithmetic processing unit 44 is equal to or higher than a second threshold (for example, 0.75).
  • a second threshold for example 0.75.
  • the arithmetic decoding operation processing unit 44 performs CBP1 similarly to the state reset determination unit 26 of FIG. Before the arithmetic decoding of the binarized data of (second symbol) is performed, the current transition state index of CBP1 (second symbol) stored in transition state storage memory 41 is initialized (step ST49). ).
  • the arithmetic decoding calculation processing unit 44 determines the occurrence probability of CBP1 (second symbol) in the same manner as when the occurrence probability of MVD1 (first symbol) is specified. Identify. That is, the arithmetic decoding arithmetic processing unit 44 refers to the current transition state index of CBP1 (second symbol) stored in the transition state storage memory 41, and calculates CBP1 from the probability table stored in the probability table memory 42. The occurrence probability of (second symbol) is specified.
  • the arithmetic decoding operation processing unit 44 refers to the occurrence probability as in the case of arithmetic decoding of the binarized data of MVD1 (first symbol). , CBP1 (second symbol) binarized data is arithmetically decoded.
  • the transition state storage memory 41 uses the transition state storage memory 41 to update the transition state index of MVD1 (first symbol). The transition state index of the stored CBP1 (second symbol) is updated.
  • the inverse binarizing unit 46 inversely binarizes the binarized data and uses CBP as a decoding parameter. Output.
  • the binary data of MVD1 (first symbol) is arithmetically decoded with reference to the occurrence probability of MVD1 (first symbol), and then Referring to the occurrence probability of CBP1 (second symbol), the binary data of CBP1 (second symbol) is arithmetically decoded and MVD1 (first symbol) stored in transition state storage memory 41 And CBP1 (second symbol) are updated by an arithmetic decoding operation processing unit 44, and the state reset determining unit 45 performs arithmetic decoding of the MVD1 (first symbol) 2 by the arithmetic decoding operation processing unit 44. It is determined whether or not the steady state of the digitized data is interrupted.
  • the arithmetic decoding operation processing unit 44 performs binarized data of CBP1 (second symbol). Since the transition state index of CBP1 (second symbol) stored in the transition state storage memory 41 is initialized before the arithmetic decoding is performed, the arithmetic coding apparatus increases the coding efficiency. There is an effect that the received symbols can be correctly decoded.
  • the state reset determination unit 45 determines whether or not the steady state of the binarized data of MVD1 (first symbol) arithmetically decoded by the arithmetic decoding arithmetic processing unit 44 is interrupted. If the state is interrupted, the CBP1 (second symbol) stored in the transition state storage memory 41 is obtained before the arithmetic decoding operation processing unit 44 performs arithmetic decoding of the binary data of CBP (second symbol). Although the symbol (transition state index) is initialized, the steady state of the binarized data of MVD1 (first symbol) is interrupted as in the video encoding apparatus of the second embodiment.
  • the transition state storage memory 4 When the meanings of MPS (dominant symbol) and LPS (inferior symbol) in the binary data of CBP1 (second symbol) are reversed, the transition state storage memory 4 Instead of initializing the transition state index stored CBP1 (second symbol) by, it operates to reverse the meaning of MPS and LPS in binary data CBP1 (second symbol).
  • the transition state index of CBP1 (second symbol) operates to forcibly transition to a transition state index that transitions when one or more LPSs are received. Also in these cases, as in the fourth embodiment, there is an effect that a symbol whose coding efficiency is improved by the arithmetic coding apparatus can be correctly decoded.
  • FIG. FIG. 12 is a block diagram showing an entropy decoding unit 31 which is an arithmetic decoding apparatus according to Embodiment 6 of the present invention.
  • the transition state storage memory 47 is a recording medium that stores the transition state index of each symbol to be decoded, similar to the transition state storage memory 41 of FIG. 9, but like the transition state storage memory 41 of FIG.
  • the current transition state index of CBP1 (second symbol) is not initialized by the state reset determination unit 45, but, for example, from the intra prediction unit 2 or the motion compensation prediction unit 3 of the video encoding device, MVD1 (
  • the arithmetic decoding operation processing unit 44 causes the MVD1 (first symbol) and CBP1 ( The current transition of MVD1 (first symbol) and CBP1 (second symbol) before the arithmetic decoding of the binarized data of the second symbol) It is different in that to initialize the state index.
  • the transition state storage memory 47 constitutes an occurrence probability storage means and an occurrence probability initialization means.
  • the intra prediction unit 2 (or motion compensation prediction unit 3) of the moving image encoding device generates a predicted image in a block (referred to as an unpredictable block) having a property different from that of a previously decoded block, the unpredictable block Therefore, it is possible to determine whether or not the steady state of the binarized data of MVD1 (first symbol) in the unpredictable block is interrupted. If the intra prediction unit 2 (or motion compensation prediction unit 3) determines that the steady state of the binarized data of the MVD1 (first symbol) in the unpredictable block is interrupted, it indicates that the steady state is interrupted.
  • the transition state reset flag shown is output to the entropy encoding unit 11.
  • the entropy encoding unit 11 entropy encodes a plurality of parameters and entropy encodes the transition state reset flag.
  • the arithmetic decoding calculation processing unit 44 causes the MVD1 (first symbol) and the CBP1 (second symbol).
  • the current transition state index of MVD1 (first symbol) and CBP1 (second symbol) is initialized before the arithmetic decoding of the binarized data of the first symbol) is performed.
  • the transition state storage memory 47 stores the binary data of MVD1 (first symbol). Since the steady state is interrupted, not only the transition state index of CBP1 (second symbol) but also the transition state index of MVD1 (first symbol) is initialized. . Since other processing contents are the same as those of the fourth embodiment, description thereof is omitted.
  • the transition state storage memory 47 when the transition state reset flag indicating that the steady state of the binarized data of MVD1 (first symbol) is interrupted is received, the transition state storage memory 47, before arithmetic decoding of the binary data of MVD1 (first symbol) and CBP1 (second symbol) is performed by the arithmetic decoding arithmetic processing unit 44, MVD1 (first symbol) and CBP1 (second symbol) Since the transition state of (symbols) is initialized, it is possible to correctly decode symbols whose coding efficiency has been improved by the arithmetic coding apparatus.
  • the present invention is suitable for use in an arithmetic coding apparatus and arithmetic coding method that arithmetically encodes a target parameter, an arithmetic decoding apparatus and arithmetic decoding method that arithmetically decodes a decoding target parameter, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

 状態リセット判定部26が2値化部24から出力されたMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術符号化演算処理部25によりCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の現在の遷移状態を初期化する。

Description

算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法
 この発明は、画像を圧縮符号化して伝送するに際して、符号化対象のパラメータを算術符号化する算術符号化装置及び算術符号化方法と、復号対象のパラメータを算術復号する算術復号装置及び算術復号方法とに関するものである。
 例えば、ITU-T(国際電気通信連合電気通信標準化部門)によって勧告されているH.264動画像符号化方式で用いられている算術符号化装置では、符号化対象のパラメータの符号化を行う際に当該符号化対象パラメータを2値化データに変換し、それぞれの2値化データを符号化対象シンボルとして算術符号化する。算術符号化においては、各シンボルにおける2値化データが0と1のうち発生頻度の高いと想定される事象をMPS(Most Probable Symbol:発生しやすいシンボル=優勢シンボル)、そうでない事象をLPS(Least Probable Symbol:発生しにくいシンボル=劣勢シンボル)とし、MPSの発生する確率である「生起確率」に応じて算術符号化演算処理が行われる。
 ここで、各符号化シンボルにおける生起確率は異なるため、シンボル毎に生起確率を別々のメモリに記憶している。前記H.264動画像符号化方式では、約1000種類の生起確率を保持するよう構成されている。
 また、算術符号化装置は、シンボルの生起確率を参照して、当該シンボルの2値化データを算術符号化すると、当該シンボルの生起確率を更新する。
 即ち、算術符号化装置は、符号化効率の向上を図るため、発生事象であるシンボルがMPSであれば、当該シンボルの生起確率を高める方向に変更する(生起確率の学習を行う)。
 一方、発生事象であるシンボルがLPSであれば、当該シンボルの生起確率を低める方向に変更する(生起確率の学習を行う)。
 また、H.264の算術符号化装置では、生起確率の状態遷移図を使用することにより各シンボルの生起確率を記憶するメモリの容量や、各シンボルの生起確率を学習する際の演算量を削減することができる。
 ここで、図13は算術符号化装置が使用する生起確率の状態遷移図の一例を示す説明図である。
 また、図14は各状態における確率を表現する値を示す説明図である。
 図13及び図14において、pStateIdxは遷移状態インデックス、transIdrLPSは発生事象であるシンボルがLPSであるときの次の状態の遷移状態インデックス、transIdrMPSは発生事象であるシンボルがMPSであるときの次の状態の遷移状態インデックスを示している。
 また、qCodIRangeIdxは確率を表現する値であり、図14の例では、生起確率の逆数を近似した値である。
 図15は算術符号化装置における算術符号化の原理を示す説明図である。
 図15では、MPS=0、MPSの発生する確率が0.75、LPSの発生する確率が0.25であるときに、入力バイナリ列“0001”が算術符号化され、“011”の出力バイナリに算術符号化されている例を示している。
 図16は符号化対象の動画像を示す説明図である。
 図16の動画像では、自動車が左向きに進行しており、図中、太枠のブロックでは、符号化順(ラスタスキャン順)で前ブロックまでは背景だけであったが、当該ブロックでは運転者の頭部が進入してきているので、前ブロックまでとは性質が異なるブロックとなっている。
 図17は、特定の符号化対象シンボルとして例えばブロックの動き情報を示す符号化パラメータであるMVD(Motion Vector Difference:動きベクトル差分値)を2値化した際の先頭の2値データである第一のシンボルと、ブロックに直交変換係数が存在するか否かを示す符号化パラメータであるCBP(Coded Block Pattern:符号化ブロックパターン)を2値化した際の先頭の2値データである第二のシンボルに着目しそのブロックごとの情報量を図示したものである。
 ここで動きが大きいところでは直交変換係数も発生しやすく、動きが少ないところでは直交変換係数も発生しにくいことから、前記第一のシンボルと第二のシンボルのMPSの発生確率には相関関係がある。
 図17より、先頭から数ブロックの間は背景画像という性質が同じブロックが符号化されるため、発生するシンボルは常にMPSとなり生起確率の学習効果によって徐々にシンボルごとの発生情報量が減少していく。
 このように生起確率の学習が十分行われた状態で図中太枠のブロックように性質の異なるブロックの算術符号化を行うと、シンボルによっては発生事象がLPSとなり、例えば図17に示すように、符号化対象のシンボルの発生情報量が急激に増加する。
 例えば、以下の特許文献1に開示されている算術符号化装置では、エラー耐性強化および符号化効率改善のためにスライスの先頭で量子化スケールを元に所定の数式を用いて各シンボルの生起確率(遷移状態インデックス)を初期化し、スライス内で各シンボルの発生事象に応じて生起確率が学習されていく(状態遷移していく)。
特許第4211873号
 従来の算術符号化装置は以上のように構成されているので、スライスの途中でシンボルの発生情報量が急激に増加する場合にその変化に追従することができず、相関のある他のシンボルの発生情報量も増加してしまい、その結果全体の符号量が増加してしまうという課題があった。
 この発明は上記のような課題を解決するためになされたもので、シンボルの発生情報量を速やかに抑制して、符号化効率を高めることができる算術符号化装置及び算術符号化方法を得ることを目的とする。
 また、この発明は、算術符号化装置により符号化効率が高められたシンボルを正しく復号することができる算術復号装置及び算術復号方法を得ることを目的とする。
 この発明に係る算術符号化装置は、生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、2値化手段から出力された第1のシンボルの2値化データを算術符号化してから、生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、2値化手段から出力された第2のシンボルの2値化データを算術符号化するとともに、生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術符号化演算処理手段を設け、生起確率初期化手段が2値化手段から出力された第1のシンボルの2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術符号化演算処理手段により第2のシンボルの2値化データの算術符号化が行われる前に、生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化するようにしたものである。
 この発明によれば、生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、2値化手段から出力された第1のシンボルの2値化データを算術符号化してから、生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、2値化手段から出力された第2のシンボルの2値化データを算術符号化するとともに、生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術符号化演算処理手段を設け、生起確率初期化手段が2値化手段から出力された第1のシンボルの2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術符号化演算処理手段により第2のシンボルの2値化データの算術符号化が行われる前に、生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化するように構成したので、第2のシンボルの発生情報量を速やかに抑制して、符号化効率を高めることができる効果がある。
この発明の実施の形態1による算術符号化装置が実装されている動画像符号化装置を示す構成図である。 この発明の実施の形態1による算術符号化装置であるエントロピー符号化部11を示す構成図である。 この発明の実施の形態1による算術符号化装置が実装されている動画像符号化装置の処理内容を示すフローチャートである。 この発明の実施の形態1による算術符号化装置であるエントロピー符号化部11の処理内容を示すフローチャートである。 エントロピー符号化部11における状態リセット判定部26の判定処理を示すフローチャートである。 相関がある2つのシンボルの発生情報量の変動を示す説明図である。 この発明の実施の形態3による算術符号化装置であるエントロピー符号化部11を示す構成図である。 この発明の実施の形態4による算術復号装置が実装されている動画像復号装置を示す構成図である。 この発明の実施の形態4による算術復号装置であるエントロピー復号部31を示す構成図である。 この発明の実施の形態4による算術復号装置が実装されている動画像復号装置の処理内容を示すフローチャートである。 この発明の実施の形態4による算術復号装置であるエントロピー復号部31の処理内容を示すフローチャートである。 この発明の実施の形態6による算術復号装置であるエントロピー復号部31を示す構成図である。 算術符号化装置が使用する生起確率の状態遷移図の一例を示す説明図である。 各状態における確率を表現する値を示す説明図である。 算術符号化装置における算術符号化の原理を示す説明図である。 符号化対象の動画像を示す説明図である。 相関がある2つのシンボルの発生情報量の変動を示す説明図である。
 以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
 図1はこの発明の実施の形態1による算術符号化装置が実装されている動画像符号化装置を示す構成図である。
 図1において、画像入力部1は符号化対象の動画像を入力し、その動画像をマクロブロック単位に分割して、分割後の各マクロブロックの画像(以下、「マクロブロック画像」と称する)を出力する処理を実施する。
 イントラ予測部2はイントラ予測を実施することで、後述するフレームメモリ10に格納された局部復号画像から予測画像を生成するとともに、イントラ予測の予測モードをエントロピー符号化部11に出力する処理を実施する。
 動き補償予測部3は画像入力部1から出力されたマクロブロック画像とフレームメモリ10により格納されている参照画像から動きベクトルを検出し、その動きベクトルを用いて当該参照画像に対する動き補償予測を実施することで、予測画像を生成するとともに、その動きベクトルをエントロピー符号化部11に出力する処理を実施する。
 符号化制御部4は選択スイッチ5を制御するとともに、その選択スイッチ5に対する制御信号及び量子化スケールをエントロピー符号化部11に出力する処理を実施する。
 選択スイッチ5は符号化制御部4から出力された制御信号にしたがって、イントラ予測部2により生成された予測画像又は動き補償予測部3により生成された予測画像のうち、予測精度が高い方の予測画像を選択する処理を実施する。
 減算器6は画像入力部1から出力されたマクロブロック画像と選択スイッチ5により選択された予測画像の差分画像である予測誤差信号を算出し、その予測誤差信号を量子化変換部7に出力する処理を実施する。
 量子化変換部7は減算器6から出力された予測誤差信号を直交変換して、その予測誤差信号の直交変換係数を量子化し、量子化後の直交変換係数を逆量子化変換部8及びエントロピー符号化部11に出力する処理を実施する。
 逆量子化変換部8は量子化変換部7から出力された量子化後の直交変換係数を逆量子化して、逆量子化後の直交変換係数を逆直交変換することで、減算器6から出力された予測誤差信号に相当する予測誤差信号を加算器9に出力する処理を実施する。
 加算器9は選択スイッチ5により選択された予測画像と逆量子化変換部8から出力された予測誤差信号を加算して、局部復号画像を生成する処理を実施する。
 フレームメモリ10は加算器9により生成された局部復号画像を参照画像として格納する記録媒体である。
 エントロピー符号化部11は、この発明の実施の形態1による算術符号化装置であり、符号化対象のパラメータ(相関がある複数のパラメータ:例えば、マクロブロックタイプ、動きベクトル差分値、輝度フレーム内予測モード、色差フレーム内予測モード、CBP(Coded Block Pattern)、差分量子化パラメータなど)をエントロピー符号化して、符号化データを出力する処理を実施する。
 図1の例では、符号化対象のパラメータとして、イントラ予測部2から出力された予測モード、動き補償予測部3により検出された動きベクトル、符号化制御部4から出力された量子化スケール・制御信号及び量子化変換部7から出力された量子化後の直交変換係数情報(CBPを含む)をエントロピー符号化している。
 図2はこの発明の実施の形態1による算術符号化装置であるエントロピー符号化部11を示す構成図である。
 図2では、2つのシンボル(動きベクトル差分値を示す符号化パラメータであるMVD(Motion Vector Difference:動きベクトル差分値)を2値化した際の第1ビット目の2値化データ(第1のシンボル)、ブロック内に非零直交変換係数が存在するか否かを示す符号化パラメータであるCBPを2値化した際の第1ビット目の2値化データ(第2のシンボル))をエントロピー符号化するものとして説明する。
 ただし、エントロピー符号化部11がエントロピー符号化する符号化対象のパラメータの個数は2個に限るものではなく、3個以上でもよいことは言うまでもない。
 また、第1のシンボルがMVDの1ビット目、第2のシンボルがCBPの1ビット目に限るものではなく、第1のシンボルがMVDの1ビット目ではない2値化データやMVD以外の符号化パラメータの2値化データ、第2のシンボルがCBPの1ビット目ではない2値化データやCBP以外の符号化パラメータの2値化データであってもよいことは言うまでもない。
 図2において、遷移状態記憶メモリ21は符号化対象の各シンボルの状態遷移図における遷移状態インデックス(図13を参照)を記憶している記録媒体である。
 確率テーブルメモリ22は各状態における生起確率を示す確率テーブル(図14を参照:図14の確率テーブルは、生起確率の逆数の近似値を格納している)を記憶している記録媒体である。
 なお、遷移状態記憶メモリ21及び確率テーブルメモリ22から生起確率記憶手段が構成されている。
 また、従来のH.264では、図13の状態遷移図や図14の確率テーブルを使用することにより生起確率を更新・記憶しているが、これに限らず、生起確率を更新・記憶する手段であれば、いかなる手段であっても本発明を適用することができる。例えば、符号化対象となるシンボルの2値化データの発生事象が“0”である回数と、“1”である回数をカウントし、統計的に確率を算出するなどの方法であってもよい。
 コンテキスト生成部23は符号化対象のシンボルを識別する種別信号と周辺ブロック(符号化対象のマクロブロックの周辺に存在しているマクロブロック)の情報を参照して、遷移状態記憶メモリ21により記憶されているシンボル毎に割り当てられた遷移状態インデックスを格納するメモリ領域の中から、算術符号化演算処理部25により参照されるメモリ領域を選択する処理を実施する。
 2値化部24は符号化対象のパラメータであるMVDとCBPを2値化して、それぞれの2値化データを出力する処理を実施する。なお、2値化部24は2値化手段を構成している。
 算術符号化演算処理部25はMVDの第1ビット目(以後「MVD1」と記す=第1のシンボル)の生起確率を参照して(コンテキスト生成部23により選択されたMVD1に割り当てられたメモリ領域に記憶されている遷移状態インデックスと、確率テーブルメモリ22により記憶されている確率テーブルを参照する)、2値化部24から出力された第1のシンボルの2値化データを算術符号化してから、CBPの第1ビット目(以後「CBP1」と記す=第2のシンボル)の生起確率を参照して(コンテキスト生成部23により選択されたCBP1のシンボルに割り当てられたメモリ領域に記憶されている遷移状態インデックスと、確率テーブルメモリ22により記憶されている確率テーブルを参照する)、2値化部24から出力されたCBP1(第2のシンボル)の2値化データを算術符号化するとともに、遷移状態記憶メモリ21により記憶されているMVD1(第1のシンボル)とCBP1(第2のシンボル)の遷移状態インデックスを算術符号化演算処理部25が保持している状態遷移図に基づいて更新する処理を実施する。なお、算術符号化演算処理部25は算術符号化演算処理手段を構成している。
 状態リセット判定部26は2値化部24から出力されたMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術符号化演算処理部25によりCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する処理を実施する。なお、状態リセット判定部26は生起確率初期化手段を構成している。
 図3はこの発明の実施の形態1による算術符号化装置が実装されている動画像符号化装置の処理内容を示すフローチャートである。
 図4はこの発明の実施の形態1による算術符号化装置であるエントロピー符号化部11の処理内容を示すフローチャートである。
 図5はエントロピー符号化部11における状態リセット判定部26の判定処理を示すフローチャートである。
 次に動作について説明する。
 画像入力部1は、符号化対象の動画像を入力すると、その動画像をマクロブロック単位に分割して、分割後の各マクロブロックの画像をマクロブロック画像として出力する(図3のステップST1)。
 減算器6は、画像入力部1からマクロブロック画像が出力され、選択スイッチ5から予測画像が出力されると、そのマクロブロック画像と予測画像の差分画像である予測誤差信号を算出し、その予測誤差信号を量子化変換部7に出力する(ステップST2)。
 量子化変換部7は、減算器6から予測誤差信号を受けると、その予測誤差信号を直交変換して、その予測誤差信号の直交変換係数を量子化し、量子化後の直交変換係数を逆量子化変換部8及びエントロピー符号化部11に出力する(ステップST3)。
 逆量子化変換部8は、量子化変換部7から量子化後の直交変換係数を受けると、量子化後の直交変換係数を逆量子化して、逆量子化後の直交変換係数を逆直交変換することで、減算器6から出力された予測誤差信号に相当する予測誤差信号を加算器9に出力する(ステップST4)。
 イントラ予測部2は、画像入力部1からマクロブロック画像を受けると、イントラ予測(フレーム内予測)を実施することで、フレームメモリに格納されている参照画像から予測画像を生成するとともに、イントラ予測の予測モードをエントロピー符号化部11に出力する(ステップST5)。
 動き補償予測部3は、画像入力部1からマクロブロック画像を受けると、そのマクロブロック画像とフレームメモリ10により格納されている参照画像から動きベクトルを検出し、その動きベクトルを用いて当該参照画像に対する動き補償予測を実施することで、予測画像を生成するとともに、その動きベクトルをエントロピー符号化部11に出力する(ステップST6)。
 符号化制御部4は、マクロブロックモードを判定し(ステップST7)、イントラ予測部2により生成された予測画像又は動き補償予測部3により生成された予測画像のうち、予測精度が高い方の予測画像の選択を指示する制御信号を選択スイッチ5に出力するとともに、その制御信号と量子化スケールをエントロピー符号化部11に出力する。
 選択スイッチ5は、符号化制御部4から出力された制御信号にしたがって、イントラ予測部2により生成された予測画像又は動き補償予測部3により生成された予測画像を選択し、その選択した予測画像を減算器6に出力する。
 エントロピー符号化部11は、符号化対象のパラメータ(相関がある複数のパラメータ:例えば、マクロブロックタイプ、動きベクトル差分値、輝度フレーム内予測モード、色差フレーム内予測モード、CBP(Coded Block Pattern)、差分量子化パラメータなど)をエントロピー符号化して、符号化データを出力する(ステップST8)。
 図1の例では、符号化対象のシンボルとして、イントラ予測部2から出力された予測モード、動き補償予測部3により検出された動きベクトル、符号化制御部4から出力された量子化スケール及び量子化変換部7から出力された量子化後の直交変換係数情報(CBPを含む)をエントロピー符号化している。
 また、図1の例では、選択スイッチ5に対する制御信号もエントロピー符号化している。
 以下、エントロピー符号化部11の処理内容を具体的に説明する。
 ここでは、2つのシンボル(動きベクトル差分値を示す符号化パラメータであるMVDを2値化した際の第1ビット目の2値化データ(MVD1=第1のシンボル))、ブロック内に非零直交変換係数が存在するか否かを示す符号化パラメータであるCBPを2値化した際の第1ビット目の2値化データ(CBP1=第2のシンボル))をエントロピー符号化するものを例として説明する。
 エントロピー符号化部11の2値化部24は、符号化対象のパラメータとして、MVDとCBPを入力すると、そのMVDとCBPを2値化して、そのMVD1とCBP1を含む2値化データを算術符号化演算処理部25及び状態リセット判定部26に出力する(図4のステップST11)。
 コンテキスト生成部23は、符号化対象のシンボルを識別する種別信号と周辺ブロック(符号化対象のマクロブロックの周辺に存在しているマクロブロック)の情報を参照して、遷移状態記憶メモリ21により記憶されているシンボル毎に割り当てられた遷移状態インデックスを格納するメモリ領域の中から、算術符号化演算処理部25により参照されるメモリ領域を選択し、そのメモリ領域を識別するコンテキスト情報を生成する(ステップST12)。
 算術符号化演算処理部25は、遷移状態記憶メモリ21により記憶されているシンボル毎に割り当てられたメモリ領域のうち、コンテキスト生成部23により生成されたコンテキスト情報が示す遷移状態記憶メモリ21上の当該符号化対象シンボルに割り当てられているメモリ領域に格納されている遷移状態インデックスを参照する(ステップST13)とともに、確率テーブルメモリ22により記憶されている確率テーブルを参照することで、符号化対象シンボルの生起確率を特定する(ステップST14)。
 算術符号化演算処理部25は、MVD1(第1のシンボル)の生起確率を特定すると、その生起確率を参照して、2値化部24から出力されたMVD1の2値化データを算術符号化する(ステップST15)。
 次に、算術符号化演算処理部25は、MVD1(第1のシンボル)の現在の遷移状態インデックスを状態遷移図に照らし合わせて、MVD1(第1のシンボル)の次の遷移状態インデックスを特定し、遷移状態記憶メモリ21におけるMVD1に割り当てられているメモリ領域に記憶されている遷移状態インデックスを特定された次の遷移状態インデックスに更新する。(ステップST16)。
 例えば、MVD1(第1のシンボル)の現在の遷移状態インデックスが“7”であるとき、MVD1(第1のシンボル)の2値化データがMPS(優勢シンボル)であれば、次の遷移状態インデックスを“8”であると特定する(図13を参照)。
 一方、MVD1(第1のシンボル)の現在の遷移状態インデックスが“7”であるとき、MVD1(第1のシンボル)が2値化データがLPS(劣勢シンボル)であれば、次の遷移状態インデックスを“5”であると特定する(図13を参照)。
 つまり算術符号化演算処理部25は、MVD1(第1のシンボル)の2値化データを算術符号化すると、遷移状態記憶メモリ21により記憶されているMVD1(第1のシンボル)の現在の遷移状態インデックスを更新する。
 算術符号化演算処理部25は、MVD1(第1のシンボル)の遷移状態インデックスを更新すると、MVD1(第1のシンボル)の2値化データの算術符号化結果である符号化データを出力する(ステップST17)。
 状態リセット判定部26は、算術符号化演算処理部25がMVD1(第1のシンボル)に係る符号化データを出力すると、算術符号化演算処理部25によりCBP1(第2のシンボル)の2値化データの算術符号化演算処理が行われる前に、そのMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定する(ステップST18)。
 即ち、状態リセット判定部26は、図5に示すように、下記の3つの条件を全て満足するとき(ステップST21~ST23)、MVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定し(ステップST24)、下記のいずれかの条件を満足しないとき(ステップST21~ST23)、MVD1(第1のシンボル)の2値化データの定常状態が途切れていないと判定する(ステップST25)。
 条件
(1)算術符号化演算処理部25により今回更新される前のMVD1(第1のシンボル)の遷移状態インデックスにより特定されるMPSの生起確率が第1の閾値(例えば、0.875)以上である。
(2)2値化部24から出力されたMVD1(第1のシンボル)の2値化データが劣勢シンボルLPSである。
(3)算術符号化演算処理部25により今回更新される前のCBP1(第2のシンボル)の遷移状態インデックスにより特定されるMPSの生起確率が第2の閾値(例えば、0.75)以上である。
 ここでは、算術符号化演算処理部25により今回更新される前のCBP1(第2のシンボル)のMPSの生起確率が第2の閾値(例えば、0.75)以上であることも条件に含めているが、上記の条件(1)(2)だけで、定常状態が途切れているか否かを判定するようにしてもよい。この場合、多少判定精度が落ちるが、定常状態が途切れているか否かを少ない処理量で判定することができる。
 状態リセット判定部26は、MVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定すると、算術符号化演算処理部25によりCBP1(第2のシンボル)の2値化データの算術符号化演算処理が行われる前に、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する(ステップST19)。
 例えば、CBP1(第2のシンボル)の現在の遷移状態インデックスを初期値(例えば、遷移状態インデックス“0”や、遷移状態インデックス=“n”(nは任意の値))にリセットすることで、CBP1(第2のシンボル)の生起確率を初期値(例えば、“0.5”や“x”(xは任意の値))にリセットする。
 算術符号化演算処理部25は、状態リセット判定部26の判定処理が終了すると、MVD1(第1のシンボル)の生起確率を特定する場合と同様にして、CBP1(第2のシンボル)の生起確率を特定する。
 即ち、算術符号化演算処理部25は、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の現在の遷移状態インデックスを参照し、確率テーブルメモリ22により格納されている確率テーブルからCBP1(第2のシンボル)の生起確率を特定する。
 算術符号化演算処理部25は、CBP1(第2のシンボル)の生起確率を特定すると、MVD1(第1のシンボル)の2値化データを算術符号化する場合と同様に、その生起確率を参照して、2値化部24から出力されたCBP1(第2のシンボル)の2値化データを算術符号化する。
 算術符号化演算処理部25は、CBP1(第2のシンボル)の2値化データを算術符号化すると、MVD1(第1のシンボル)の遷移状態インデックスを更新する場合と同様に、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを更新する。
 算術符号化演算処理部25は、CBP1(第2のシンボル)の遷移状態インデックスを更新すると、CBP1(第2のシンボル)の2値化データの算術符号化結果である符号化データを出力する。
 ただし、状態リセット判定部26によりMVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定された場合には、上述したように、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の遷移状態インデックスが初期値にリセットされているので、MVD1(第1のシンボル)の2値化データの定常状態が途切れることで、MVD1(第1のシンボル)の発生情報量が急激に増加しても、MVD1(第1のシンボル)と相関があるCBP1(第2のシンボル)の発生情報量の増加が抑制される。
 ここで、図6は相関がある2つのシンボルの発生情報量の変動を示す説明図である。
 図6の例では、予測不能ブロックを符号化する際、MVD1(第1のシンボル)の2値化データの定常状態が途切れることで、MVD1(第1のシンボル)の発生情報量が急激に増加しているが、CBP1(第2のシンボル)の現在の遷移状態インデックスが初期値にリセットされることで、MVD1(第1のシンボル)と相関があるCBP1(第2のシンボル)の発生情報量の増加が抑制されていることを示している。
 因みに、CBP1(第2のシンボル)の遷移状態インデックスが初期値にリセットされない場合、図17に示すように、CBP1(第2のシンボル)の発生情報量が急激に増加する。
 この実施の形態1では、MVD1(第1のシンボル)とCBP1(第2のシンボル)が、相関があるシンボルとして実施した例を示しているが、以下、相関があるシンボルについて簡単に説明する。
 例えば、H.264では、マクロブロックの符号化モードを特定するマクロブロックモード(フレーム内予測を用いるか、フレーム間予測を用いるか、フレーム内予測の単位を4×4・8×8・16×16画像のどれにするか、動きベクトルを送信する単位を16×16・16×8・8×16・8×8それ以下のどれにするかなどを示す情報)、マクロブロック内は全て予測値だけで再構成するスキップモードであるか否かを特定するスキップフラグ、動きを特定する差分動きベクトル(動きベクトルの予測値と実際の動きベクトルの差分値)、予測差分情報のブロック毎の有無を示すCBP、輝度信号のフレーム内予測モード、色差信号のフレーム内予測モード、前のマクロブロックとの量子化パラメータの差である差分量子化パラメータ、予測誤差信号の直交変換係数などの符号化パラメータをマクロブロックデータとして符号化する。
 画面の背景部分など、動きやテクスチャの変化が少ない部分では、予測が当り易いので、スキップモードを選択する確率が高くなる。さらに動きやテクスチャの変化が少ないので、フレーム内予測や動き予測に関してはブロックサイズが大きくなる傾向が高くなるため、マクロブロックモードとしては、16×16画素単位の処理を行うモードが選択される確率が高くなる。
 また、画像信号に変化がないので、差分動きベクトルは0になる確率が高くなる。CBPも予測差分情報が発生し難いことから、0になる確率が高くなる。
 フレーム内予測モードは、輝度も色差も、どの予測モードでもあまり変わらないので、隣接するブロックと同じ値になる確率が高くなる。差分量子化パラメータも変化がないので、0になる確率が高くなる。
 一方、動く物体を含むマクロブロックや、テクスチャが複雑なマクロブロックでは、スキップモードを選択しない確率が高くなる。動きやテクスチャの変化に応じて予測画素をきめ細かに生成した方が符号化の効率がよくなるため、マクロブロックタイプはブロックサイズが小さくなる確率が高くなる。また、差分動きベクトルは当然0でない値になる確率が高くなる。
 フレーム内予測モードもテクスチャに応じて様々なモードが選択される確率が高くなる。
 差分量子化パラメータも、符号量を抑えるため量子化パラメータを大きい値に変化させるために0でなくなる確率が高くなる。
 したがって、マクロブロックモード、スキップフラグ、動きベクトル差分値、CBP、輝度フレーム内予測モード、色差フレーム内予測モード、差分量子化パラメータなどの符号化パラメータを2値化した場合の各2値化データは、第1のシンボルとして、いずれか1つを選んだ場合に、他のシンボルの1つ又は複数を第2のシンボルとして、本発明を適用すれば、第1のシンボルも第2のシンボルもMPSの確率が高い状態が継続している場合に、第1のシンボルがLPSに変化すると、第2のシンボルも同時にLPSに変化する可能性が高くなるため、第2のシンボルの生起確率を初期化することにより、第2のシンボルの情報発生量を抑制することができ、符号化効率が高い符号化を実現することができる。
 以上で明らかなように、この実施の形態1によれば、MVD1(第1のシンボル)の生起確率を参照して、2値化部24から出力されたMVD1(第1のシンボル)の2値化データを算術符号化してから、CBP1(第2のシンボル)の生起確率を参照して、2値化部24から出力されたCBP1(第2のシンボル)の2値化データを算術符号化するとともに、遷移状態記憶メモリ21により記憶されているMVD1(第1のシンボル)とCBP1(第2のシンボル)の遷移状態インデックスを更新する算術符号化演算処理部25を設け、状態リセット判定部26が2値化部24から出力されたMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術符号化演算処理部25によりCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを初期化するように構成したので、CBP1(第2のシンボル)の発生情報量を速やかに抑制して、符号化効率を高めることができる効果を奏する。
実施の形態2.
 上記実施の形態1では、状態リセット判定部26が2値化部24から出力されたMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術符号化演算処理部25によりCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを初期化するものについて示したが、MVD1(第1のシンボル)の2値化データの定常状態が途切れている場合、遷移状態記憶メモリ21により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを初期化する代わりに、CBP1(第2のシンボル)の2値化データにおけるMPS(優勢シンボル)とLPS(劣勢シンボル)の意味付けを反転するようにしてもよい。
 また、CBP1(第2のシンボル)の遷移状態インデックスを、LPS(劣勢シンボル)が1つ又は複数個きたときに遷移する遷移状態インデックスに強制的に遷移させるようにしてよい。この場合にはMPSとLPSの意味付けを反転するほどの効果は得られないが、状態遷移図を用いて更新する処理を流用できるため回路規模を増加させなくて済むことができる。
 これらの場合も、上記実施の形態1と同様に、CBP1(第2のシンボル)の発生情報量を速やかに抑制して、符号化効率を高めることができる。
実施の形態3.
 図7はこの発明の実施の形態3による算術符号化装置であるエントロピー符号化部11を示す構成図であり、図において、図2と同一符号は同一又は相当部分を示すので説明を省略する。
 遷移状態記憶メモリ27は図2の遷移状態記憶メモリ21と同様に、符号化対象の各シンボルの、各シンボルの現在の遷移状態インデックスを記憶している記録媒体であるが、図2の遷移状態記憶メモリ21のように、CBP1(第2のシンボル)の現在の遷移状態インデックスが状態リセット判定部26によって初期化されるのではなく、例えば、イントラ予測部2や動き補償予測部3から、2値化部24から出力されたMVD1(第1のシンボル)の2値化データの定常状態が途切れている旨を示す遷移状態リセットフラグ(状態遷移情報)を受信すると、算術符号化演算処理部25によりMVD1(第1のシンボル)及びCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する点で相違している。
 なお、遷移状態記憶メモリ27は、生起確率記憶手段及び生起確率初期化手段を構成している。
 次に動作について説明する。
 イントラ予測部2(または、動き補償予測部3)は、過去に符号化したブロックと性質の異なるブロック(予測不能ブロックと呼ぶ)における予測画像を生成する際、予測不能ブロックを解析するので、予測不能ブロックにおけるMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判別することができる。
 イントラ予測部2(または、動き補償予測部3)は、予測不能ブロックにおけるMVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定すると、定常状態が途切れている旨を示す遷移状態リセットフラグをエントロピー符号化部11の遷移状態記憶メモリ27に出力する。
 遷移状態記憶メモリ27は、イントラ予測部2(または、動き補償予測部3)から遷移状態リセットフラグを受信すると、算術符号化演算処理部25によりMVD1(第1のシンボル)及びCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する。
 この場合、算術符号化演算処理部25によりMVD1(第1のシンボル)の2値化データの算術符号化が行われる前に、遷移状態記憶メモリ27が、MVD1(第1のシンボル)の2値化データの定常状態が途切れていることを認識することができるので、CBP1(第2のシンボル)の現在の遷移状態インデックスを初期化するだけでなく、MVD1(第1のシンボル)の現在の遷移状態インデックスも初期化する。
 その他の処理内容は、上記実施の形態1と同様であるため説明を省略する。
 以上で明らかなように、この実施の形態3によれば、2値化部24から出力されたMVD1(第1のシンボル)の2値化データの定常状態が途切れている旨を示す遷移状態リセットフラグを受信すると、遷移状態記憶メモリ27が算術符号化演算処理部25によりMVD1(第1のシンボル)及びCBP1(第2のシンボル)の2値化データの算術符号化が行われる前に、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化するように構成したので、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の発生情報量を速やかに抑制して、符号化効率を高めることができる効果を奏する。
実施の形態4.
 図8はこの発明の実施の形態4による算術復号装置が実装されている動画像復号装置を示す構成図である。
 図8において、エントロピー復号部31は、この発明の実施の形態4による算術復号装置であり、図1のエントロピー符号化部11から送信された符号化データを受信すると、その符号化データから、例えば、マクロブロックの符号化モードを特定するマクロブロックモード(フレーム内予測を用いるか、フレーム間予測を用いるか、フレーム内予測の単位を4×4・8×8・16×16画像のどれにするか、動きベクトルを送信する単位を16×16・16×8・8×16・8×8それ以下のどれにするかなどを示す情報)、マクロブロック内は全て予測値だけで再構成するスキップモードであるか否かを特定するスキップフラグ、動きを特定する差分動きベクトル(動きベクトルの予測値と実際の動きベクトルの差分値)、予測差分情報のブロック毎の有無を示すCBP、輝度信号のフレーム内予測モード、色差信号のフレーム内予測モード、前のマクロブロックとの量子化パラメータの差である差分量子化パラメータ、予測誤差信号の直交変換係数などをエントロピー復号して復号パラメータとして出力する処理を実施する。
 図8の例では、復号対象のパラメータとして、イントラ予測部2から出力された予測モード、動き補償予測部3により検出された動きベクトル、符号化制御部4から出力された量子化スケール及び量子化変換部7から出力された量子化後の直交変換係数をエントロピー復号している。
 また、図8の例では、選択スイッチ5に対する制御信号もエントロピー復号している。
 逆量子化変換部32はエントロピー復号部31によりエントロピー復号された量子化後の直交変換係数を逆量子化して、逆量子化後の直交変換係数を逆直交変換することで、図1の減算器6から出力された予測誤差信号に相当する予測誤差信号を算出する処理を実施する。
 イントラ予測画像生成部33はエントロピー復号部31によりエントロピー復号されたイントラ予測の予測モードにしたがってイントラ予測を実施することで、図1のイントラ予測部2により生成された予測画像に相当する予測画像を生成する処理を実施する。
 動き補償部34はエントロピー復号部31によりエントロピー復号された動きベクトルを用いて、フレームメモリ37により格納されている参照画像に対する動き補償予測を実施することで、図1の動き補償予測部3により生成された予測画像に相当する予測画像を生成する処理を実施する。
 選択スイッチ35はエントロピー復号部31によりエントロピー復号された図1の選択スイッチ5に対する制御信号にしたがって、イントラ予測画像生成部33又は動き補償部34により生成された予測画像を選択する処理を実施する。
 加算器36は逆量子化変換部32により算出された予測誤差信号と選択スイッチ35により選択された予測画像を加算して、図1の画像入力部1から出力されたマクロブロック画像に相当するマクロブロック画像を出力する処理を実施する。
 フレームメモリ37は加算器36により生成されたマクロブロック画像を参照画像として格納する記録媒体である。
 図9はこの発明の実施の形態4による算術復号装置であるエントロピー復号部31を示す構成図である。
 図9では、2つのシンボル(動きベクトル差分値を示す符号化パラメータであるMVDを2値化した際の1ビット目の2値化データであるMVD1(第1のシンボル)、ブロック内に非零直交変換係数が存在するか否かを示す符号化パラメータであるCBPを2値化した際の第1ビット目の2値化データであるCBP1(第2のシンボル))をエントロピー復号するものとして説明する。
 ただし、エントロピー復号部31がエントロピー復号する復号対象のパラメータの個数は2個に限るものではなく、3個以上でもよいことは言うまでもない。
 また、第1のシンボルがMVDの1ビット目、第2のシンボルがCBPの1ビット目に限るものではなく、第1のシンボルがMVDの1ビット目ではない2値化データやMVD以外の符号化パラメータの2値化データ、第2のシンボルがCBPの1ビット目ではない2値化データやCBP以外の符号化パラメータの2値化データであってもよいことは言うまでもない。
 図9において、遷移状態記憶メモリ41は図2の遷移状態記憶メモリ21と同様に、各シンボルの状態遷移図における遷移状態インデックスを記憶している記録媒体である。
 確率テーブルメモリ42は図2の確率テーブルメモリ22と同様に、各状態における生起確率を示す確率テーブル(図14を参照:図14の確率テーブルは、生起確率の逆数の近似値を格納している)を記憶している記録媒体である。
 なお、遷移状態記憶メモリ41及び確率テーブルメモリ42から生起確率記憶手段が構成されている。
 また、従来のH.264では、図13の状態遷移図や図14の確率テーブルを使用することにより生起確率を更新・記憶しているが、これに限らず、生起確率を更新・記憶する手段であれば、いかなる手段であっても本発明を適用することができる。例えば、復号されたシンボルの2値化データの発生事象が“0”である回数と、“1”である回数をカウントし、統計的に確率を算出するなどの方法であってもよい。
 コンテキスト生成部43は復号対象のシンボルを識別する種別信号と周辺ブロック(復号対象のマクロブロックの周辺に存在しているマクロブロック)の情報を参照して、遷移状態記憶メモリ41により記憶されているシンボル毎に割り当てられた遷移状態インデックスを格納するメモリ領域の中から、算術復号演算処理部44により参照される状態遷移図を選択する処理を実施する。
 算術復号演算処理部44はMVD1(第1のシンボル)の生起確率を参照して(コンテキスト生成部43により選択されたMVD1に割り当てられた遷移状態記憶メモリ41上のメモリ領域に記憶されている状態遷移インデックスと、確率テーブルメモリ42により記憶されている確率テーブルを参照する)、MVD1(第1のシンボル)の2値化データを算術復号してから、CBP1(第2のシンボル)の生起確率を参照して(コンテキスト生成部43により選択されたCBP1のシンボルに割り当てられた遷移状態記憶メモリ41上のメモリ領域に記憶されている状態遷移インデックスと、確率テーブルメモリ42により記憶されている確率テーブルを参照する)、CBP1(第2のシンボル)の2値化データを算術復号するとともに、遷移状態記憶メモリ41により記憶されているMVD1(第1のシンボル)とCBP1(第2のシンボル)の遷移状態インデックスを算術復号演算処理部44が保持している状態遷移図に基づいて更新する処理を実施する。なお、算術復号演算処理部44は算術復号演算処理手段を構成している。
 状態リセット判定部45は算術復号演算処理部44により算術復号されたMVD(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術復号演算処理部44によりCBP1(第2のシンボル)の2値化データの算術復号が行われる前に、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する処理を実施する。なお、状態リセット判定部45は生起確率初期化手段を構成している。
 逆2値化部46は算術復号演算処理部44により算術復号されたMVD1(第1のシンボル)を含む2値化データとCBP1(第2のシンボル)を含む2値化データを逆2値化して、復号結果として復号対象パラメータであるMVDとCBPを出力する処理を実施する。なお、逆2値化部46は逆2値化手段を構成している。
 図10はこの発明の実施の形態4による算術復号装置が実装されている動画像復号装置の処理内容を示すフローチャートである。
 図11はこの発明の実施の形態4による算術復号装置であるエントロピー復号部31の処理内容を示すフローチャートである。
 次に動作について説明する。
 この実施の形態4の算術復号装置は、図1の算術符号化装置により符号化効率が高められたシンボルを正しく復号して、画像を復号する装置である。
 エントロピー復号部31は、図1のエントロピー符号化部11から送信された符号化データを受信すると、その符号化データから相関がある複数のパラメータを復号して出力する(図10のステップST31)。
 即ち、エントロピー復号部31は、図1のイントラ予測部2から出力された予測モード、動き補償予測部3により検出された動きベクトルの予測差分値である動きベクトル差分値、符号化制御部4から出力された量子化スケール、量子化変換部7から出力された量子化後の直交変換係数情報(CBPを含む)及び選択スイッチ5に対する制御信号をエントロピー復号する。
 エントロピー復号部31の処理内容の詳細は後述する。
 逆量子化変換部32は、エントロピー復号部31が量子化後の直交変換係数をエントロピー復号すると、量子化後の直交変換係数を逆量子化して、逆量子化後の直交変換係数を逆直交変換することで、図1の減算器6から出力された予測誤差信号に相当する予測誤差信号を算出する(ステップST32)。
 イントラ予測画像生成部33は、エントロピー復号部31がイントラ予測の予測モードをエントロピー復号すると、そのイントラ予測の予測モードにしたがってイントラ予測(フレーム内予測)を実施することで、図1のイントラ予測部2により生成された予測画像に相当する予測画像を生成する(ステップST33)。
 動き補償部34は、エントロピー復号部31が動きベクトルをエントロピー復号すると、その動きベクトルを用いて、フレームメモリ37により格納されている参照画像に対する動き補償予測を実施することで、図1の動き補償予測部3により生成された予測画像に相当する予測画像を生成する(ステップST34)。
 選択スイッチ35は、エントロピー復号部31が図1の選択スイッチ5に対する制御信号をエントロピー復号すると、その制御信号にしたがって、イントラ予測画像生成部33又は動き補償部34により生成された予測画像を選択する。
 加算器36は、逆量子化変換部32により算出された予測誤差信号と選択スイッチ35により選択された予測画像を加算して、図1の画像入力部1から出力されたマクロブロック画像に相当するマクロブロック画像をフレームメモリ37に格納するとともに、そのマクロブロック画像を外部に出力する(ステップST35)。
 以下、エントロピー復号部31の処理内容を具体的に説明する。
 ここでは、2つのシンボル(動きベクトル差分値を示す符号化パラメータであるMVDを2値化した際の1ビット目の2値化データであるMVD1(第1のシンボル)、ブロック内に非零直交変換係数が存在するか否かを示す符号化パラメータであるCBPを2値化した際の第1ビット目の2値化データであるCBP1(第2のシンボル))をエントロピー復号するものを例として説明する。
 コンテキスト生成部43は、復号対象のシンボルを識別する種別信号と周辺ブロック(復号対象のマクロブロックの周辺に存在しているマクロブロック)の情報を参照して、遷移状態記憶メモリ41により記憶されているシンボル毎に遷移状態インデックスを格納するために遷移状態記憶メモリ41上に割り当てられたメモリ領域の中から、算術復号演算処理部44により参照されるメモリ領域を選択し、そのメモリ領域を識別するコンテキスト情報を生成する(図11のステップST41)。
 算術復号演算処理部44は、遷移状態記憶メモリ42により記憶されているシンボル毎に割り当てられたメモリ領域のうち、コンテキスト生成部43により生成されたコンテキスト情報が示す遷移状態記憶メモリ41上の当該符号化対象シンボルに割り当てられているメモリ領域に格納されている遷移状態インデックスを参照する(ステップST42)とともに、確率テーブルメモリ42により記憶されている確率テーブル参照することで、復号対象シンボルの生起確率を特定する。(ステップST43)
 算術復号演算処理部44は、MVD1(第1のシンボル)の生起確率を特定すると、その生起確率を参照して、MVD1(第1のシンボル)の2値化データを算術復号する(ステップST44)。
 次に、算術復号演算処理部44は、図2の算術符号化演算処理部25と同様に、MVD1(第1のシンボル)の現在の遷移状態インデックスを状態遷移図に照らし合わせて、MVD1(第1のシンボル)の次の遷移状態インデックスを特定し、遷移状態記憶メモリ41におけるMVD1に割り当てられているメモリ領域に記憶されている遷移状態インデックスを特定された次の遷移状態インデックスに更新する(ステップST45)。
 逆2値化部46は、算術復号演算処理部44がMVD1(第1のシンボル)を含む2値化データを算術復号すると、その2値化データを逆2値化して(ステップST46)、復号パラメータとしてMVDを出力する(ステップST47)。
 状態リセット判定部45は、算術復号演算処理部44がMVD1(第1のシンボル)の2値化データを算術復号すると、図2の状態リセット判定部26と同様に、そのMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定する(ステップST48)。
 即ち、状態リセット判定部45は、図5に示すように、下記の3つの条件を全て満足するとき(ステップST21~ST23)、MVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定し(ステップST24)、下記のいずれかの条件を満足しないとき(ステップST21~ST23)、MVD1(第1のシンボル)の2値化データの定常状態が途切れていないと判定する(ステップST25)。
 条件
(1)算術復号演算処理部44により今回更新される前のMVD1(第1のシンボル)の遷移状態インデックスにより特定されるMPSの生起確率が第1の閾値(例えば、0.875)以上である。
(2)算術復号演算処理部44により算術復号されたMVD1(第1のシンボル)の2値化データが劣勢シンボルLPSである。
(3)算術復号演算処理部44により今回更新される前のCBP1(第2のシンボル)の遷移状態インデックスにより特定されるMPSの生起確率が第2の閾値(例えば、0.75)以上である。
 ここでは、算術復号演算処理部44により今回更新される前のCBP1(第2のシンボル)のMPSの生起確率が第2の閾値(例えば、0.75)以上であることも条件に含めているが、上記の条件(1)(2)だけで、定常状態が途切れているか否かを判定するようにしてもよい。この場合、多少判定精度が落ちるが、定常状態が途切れているか否かを少ない処理量で判定することができる。
 状態リセット判定部45は、MVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定すると、図2の状態リセット判定部26と同様に、算術復号演算処理部44によりCBP1(第2のシンボル)の2値化データの算術復号が行われる前に、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する(ステップST49)。
 算術復号演算処理部44は、状態リセット判定部45の判定処理が終了すると、MVD1(第1のシンボル)の生起確率を特定する場合と同様にして、CBP1(第2のシンボル)の生起確率を特定する。
 即ち、算術復号演算処理部44は、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の現在の遷移状態インデックスを参照し、確率テーブルメモリ42により格納されている確率テーブルからCBP1(第2のシンボル)の生起確率を特定する。
 算術復号演算処理部44は、CBP1(第2のシンボル)の生起確率を特定すると、MVD1(第1のシンボル)の2値化データを算術復号する場合と同様に、その生起確率を参照して、CBP1(第2のシンボル)の2値化データを算術復号する。
 算術復号演算処理部44は、CBP1(第2のシンボル)の2値化データを算術復号すると、MVD1(第1のシンボル)の遷移状態インデックスを更新する場合と同様に、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを更新する。
 逆2値化部46は、算術復号演算処理部44がCBP1(第2のシンボル)を含む2値化データを算術復号すると、その2値化データを逆2値化して、復号パラメータとしてCBPを出力する。
 以上で明らかなように、この実施の形態4によれば、MVD1(第1のシンボル)の生起確率を参照して、MVD1(第1のシンボル)の2値化データを算術復号してから、CBP1(第2のシンボル)の生起確率を参照して、CBP1(第2のシンボル)の2値化データを算術復号するとともに、遷移状態記憶メモリ41により記憶されているMVD1(第1のシンボル)とCBP1(第2のシンボル)の遷移状態インデックスを更新する算術復号演算処理部44を設け、状態リセット判定部45が算術復号演算処理部44により算術復号されたMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術復号演算処理部44によりCBP1(第2のシンボル)の2値化データの算術復号が行われる前に、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを初期化するように構成したので、算術符号化装置により符号化効率が高められたシンボルを正しく復号することができる効果を奏する。
実施の形態5.
 上記実施の形態4では、状態リセット判定部45が算術復号演算処理部44により算術復号されたMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、算術復号演算処理部44によりCBP(第2のシンボル)の2値化データの算術復号が行われる前に、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを初期化するものについて示したが、上記実施の形態2の動画像符号化装置のように、MVD1(第1のシンボル)の2値化データの定常状態が途切れているとき、CBP1(第2のシンボル)の2値化データにおけるMPS(優勢シンボル)とLPS(劣勢シンボル)の意味付けが反転される場合、遷移状態記憶メモリ41により記憶されているCBP1(第2のシンボル)の遷移状態インデックスを初期化する代わりに、CBP1(第2のシンボル)の2値化データにおけるMPSとLPSの意味付けを反転するように動作する。
 また、CBP1(第2のシンボル)の遷移状態インデックスを、LPSが1つ又は複数個きたときに遷移する遷移状態インデックスに強制的に遷移させるように動作する。
 これらの場合も、上記実施の形態4と同様に、算術符号化装置により符号化効率が高められたシンボルを正しく復号することができる効果を奏する。
実施の形態6.
 図12はこの発明の実施の形態6による算術復号装置であるエントロピー復号部31を示す構成図であり、図において、図9と同一符号は同一又は相当部分を示すので説明を省略する。
 遷移状態記憶メモリ47は図9の遷移状態記憶メモリ41と同様に、復号対象の各シンボルの遷移状態インデックスを記憶している記録媒体であるが、図9の遷移状態記憶メモリ41のように、CBP1(第2のシンボル)の現在の遷移状態インデックスが状態リセット判定部45によって初期化されるのではなく、例えば、動画像符号化装置のイントラ予測部2や動き補償予測部3から、MVD1(第1のシンボル)の2値化データの定常状態が途切れている旨を示す遷移状態リセットフラグ(状態遷移情報)を受信すると、算術復号演算処理部44によりMVD1(第1のシンボル)及びCBP1(第2のシンボル)の2値化データの算術復号が行われる前に、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する点で相違している。
 なお、遷移状態記憶メモリ47は、生起確率記憶手段及び生起確率初期化手段を構成している。
 次に動作について説明する。
 動画像符号化装置のイントラ予測部2(または、動き補償予測部3)は、過去に復号したブロックとは性質の異なるブロック(予測不能ブロックと呼ぶ)における予測画像を生成する際、予測不能ブロックを解析するので、予測不能ブロックにおけるMVD1(第1のシンボル)の2値化データの定常状態が途切れているか否かを判別することができる。
 イントラ予測部2(または、動き補償予測部3)は、予測不能ブロックにおけるMVD1(第1のシンボル)の2値化データの定常状態が途切れていると判定すると、定常状態が途切れている旨を示す遷移状態リセットフラグをエントロピー符号化部11に出力する。
 エントロピー符号化部11は、複数のパラメータをエントロピー符号化するとともに、その遷移状態リセットフラグをエントロピー符号化する。
 動画像復号装置におけるエントロピー復号部31の遷移状態記憶メモリ47は、動画像符号化装置から遷移状態リセットフラグを受信すると、算術復号演算処理部44によりMVD1(第1のシンボル)及びCBP1(第2のシンボル)の2値化データの算術復号が行われる前に、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の現在の遷移状態インデックスを初期化する。
 この場合、算術復号演算処理部44によりMVD1(第1のシンボル)の2値化データの算術復号が行われる前に、遷移状態記憶メモリ47が、MVD1(第1のシンボル)の2値化データの定常状態が途切れていることを認識することができるので、CBP1(第2のシンボル)の遷移状態インデックスを初期化するだけでなく、MVD1(第1のシンボル)の遷移状態インデックスを初期化する。
 その他の処理内容は、上記実施の形態4と同様であるため説明を省略する。
 以上で明らかなように、この実施の形態6によれば、MVD1(第1のシンボル)の2値化データの定常状態が途切れている旨を示す遷移状態リセットフラグを受信すると、遷移状態記憶メモリ47が算術復号演算処理部44によりMVD1(第1のシンボル)及びCBP1(第2のシンボル)の2値化データの算術復号が行われる前に、MVD1(第1のシンボル)及びCBP1(第2のシンボル)の遷移状態を初期化するように構成したので、算術符号化装置により符号化効率が高められたシンボルを正しく復号することができる効果を奏する。
 この発明に係る算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法は、第2のシンボルの発生情報量を速やかに抑制して、符号化効率を高めることができるため、符号化対象のパラメータを算術符号化する算術符号化装置及び算術符号化方法と、復号対象のパラメータを算術復号する算術復号装置及び算術復号方法等に用いるのに適している。

Claims (12)

  1.  符号化対象のパラメータを2値化して、2値化データを出力する2値化手段と、上記2値化データに含まれるシンボルである第1のシンボルの生起確率を記憶するとともに、上記第1のシンボルと相関がある上記2値化データに含まれる第2のシンボルの生起確率を記憶する生起確率記憶手段と、上記生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、上記2値化手段から出力された第1のシンボルの2値化データを算術符号化してから、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、上記2値化手段から出力された第2のシンボルの2値化データを算術符号化するとともに、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術符号化手段と、上記2値化手段から出力された第1のシンボルの2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、上記算術符号化手段により第2のシンボルの2値化データの算術符号化が行われる前に、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化する生起確率初期化手段とを備えた算術符号化装置。
  2.  生起確率初期化手段は、2値化手段から出力された第1のシンボルの2値化データが劣勢シンボルであり、かつ、生起確率記憶手段により記憶されている第1のシンボルの生起確率が所定の閾値以上である場合、上記第1のシンボルの2値化データの定常状態が途切れていると判定することを特徴とする請求項1記載の算術符号化装置。
  3.  生起確率初期化手段は、2値化手段から出力された第1のシンボルの2値化データが劣勢シンボルであり、また生起確率記憶手段により記憶されている第1のシンボルの生起確率が第1の閾値以上であり、かつ、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率が第2の閾値以上である場合、上記第1のシンボルの2値化データの定常状態が途切れていると判定することを特徴とする請求項1記載の算術符号化装置。
  4.  生起確率初期化手段は、第1のシンボルの2値化データの定常状態が途切れている場合、生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化する代わりに、上記第2のシンボルの2値化データにおける優勢シンボルと劣勢シンボルの意味付けを反転することを特徴とする請求項1記載の算術符号化装置。
  5.  符号化対象のパラメータを2値化して、2値化データを出力する2値化手段と、上記2値化データに含まれるシンボルである第1のシンボルの生起確率を記憶するとともに、上記第1のシンボルと相関がある上記2値化データに含まれる第2のシンボルの生起確率を記憶する生起確率記憶手段と、上記生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、上記2値化手段から出力された第1のシンボルの2値化データを算術符号化してから、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、上記2値化手段から出力された第2のシンボルの2値化データを算術符号化するとともに、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術符号化手段と、上記2値化手段から出力された第1のシンボルの2値化データの定常状態が途切れている旨を示す状態遷移情報を受信すると、上記算術符号化手段により第1及び第2のシンボルの2値化データの算術符号化が行われる前に、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を初期化する生起確率初期化手段とを備えた算術符号化装置。
  6.  復号対象のシンボルである第1のシンボルの生起確率を記憶するとともに、上記第1のシンボルと相関がある第2のシンボルの生起確率を記憶する生起確率記憶手段と、上記第1及び第2のシンボルの2値化データの算術符号化結果である符号化データを入力し、上記生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、上記第1のシンボルの2値化データを算術復号してから、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、上記第2のシンボルの2値化データを算術復号するとともに、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術復号手段と、上記算術復号手段により算術復号された第1のシンボルの2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、上記算術復号手段により第2のシンボルの2値化データの算術復号が行われる前に、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化する生起確率初期化手段と、上記算術復号手段により算術復号された第1及び第2のシンボルを含む2値化データを逆2値化して復号パラメータを出力する逆2値化手段とを備えた算術復号装置。
  7.  生起確率初期化手段は、算術復号手段により算術復号された第1のシンボルの2値化データが劣勢シンボルであり、かつ、生起確率記憶手段により記憶されている第1のシンボルの生起確率が所定の閾値以上である場合、上記第1のシンボルの2値化データの定常状態が途切れていると判定することを特徴とする請求項6記載の算術復号装置。
  8.  生起確率初期化手段は、算術復号手段により算術復号された第1のシンボルの2値化データが劣勢シンボルであり、また生起確率記憶手段により記憶されている第1のシンボルの生起確率が第1の閾値以上であり、かつ、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率が第2の閾値以上である場合、上記第1のシンボルの2値化データの定常状態が途切れていると判定することを特徴とする請求項6記載の算術復号装置。
  9.  生起確率初期化手段は、第1のシンボルの2値化データの定常状態が途切れている場合、生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化する代わりに、上記第2のシンボルの2値化データにおける優勢シンボルと劣勢シンボルの意味付けを反転することを特徴とする請求項6記載の算術復号装置。
  10.  復号対象のシンボルである第1のシンボルの生起確率を記憶するとともに、上記第1のシンボルと相関がある第2のシンボルの生起確率を記憶する生起確率記憶手段と、上記第1及び第2のシンボルの2値化データの算術符号化結果である符号化データを入力し、上記生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、上記第1のシンボルの2値化データを算術復号してから、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、上記第2のシンボルの2値化データを算術復号するとともに、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術復号手段と、算術符号化装置から上記第1のシンボルの2値化データの定常状態が途切れている旨を示す状態遷移情報を受信すると、上記算術復号手段により第1及び第2のシンボルの2値化データの算術復号が行われる前に、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を初期化する生起確率初期化手段と、上記算術復号手段により算術復号された第1及び第2のシンボルを含む2値化データを逆2値化して復号パラメータを出力する逆2値化手段とを備えた算術復号装置。
  11.  2値化手段が符号化対象のパラメータを2値化して、2値化データを出力する2値化処理ステップと、生起確率記憶手段が上記2値化データに含まれる符号化対象のシンボルである第1のシンボルの生起確率を記憶するとともに、上記第1のシンボルと相関がある上記2値化データに含まれる第2のシンボルの生起確率を記憶する生起確率記憶処理ステップと、算術符号化手段が上記生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、上記2値化手段から出力された第1のシンボルの2値化データを算術符号化してから、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、上記2値化手段から出力された第2のシンボルの2値化データを算術符号化するとともに、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術符号化処理ステップと、生起確率初期化手段が上記2値化手段から出力された第1のシンボルの2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、上記算術符号化手段により第2のシンボルの2値化データの算術符号化が行われる前に、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化する生起確率初期化処理ステップとを備えた算術符号化方法。
  12.  生起確率記憶手段が復号対象のシンボルである第1のシンボルの生起確率を記憶するとともに、上記第1のシンボルと相関がある第2のシンボルの生起確率を記憶する生起確率記憶処理ステップと、算術復号手段が上記第1及び第2のシンボルの2値化データの算術符号化結果である符号化データを入力し、上記生起確率記憶手段により記憶されている第1のシンボルの生起確率を参照して、上記第1のシンボルの2値化データを算術復号してから、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を参照して、上記第2のシンボルの2値化データを算術復号するとともに、上記生起確率記憶手段により記憶されている第1及び第2のシンボルの生起確率を更新する算術復号処理ステップと、生起確率初期化手段が上記算術復号手段により算術復号された第1のシンボルの2値化データの定常状態が途切れているか否かを判定し、定常状態が途切れていれば、上記算術復号手段により第2のシンボルの2値化データの算術復号が行われる前に、上記生起確率記憶手段により記憶されている第2のシンボルの生起確率を初期化する生起確率初期化処理ステップと、逆2値化手段が上記算術復号手段により算術復号された第1及び第2のシンボルを含む2値化データを逆2値化して復号パラメータを出力する逆2値化処理ステップとを備えた算術復号方法。
PCT/JP2010/003638 2009-06-19 2010-05-31 算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法 Ceased WO2010146782A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011519514A JP4994515B2 (ja) 2009-06-19 2010-05-31 算術符号化装置、算術復号装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009146445 2009-06-19
JP2009-146445 2009-06-19

Publications (1)

Publication Number Publication Date
WO2010146782A1 true WO2010146782A1 (ja) 2010-12-23

Family

ID=43356117

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/003638 Ceased WO2010146782A1 (ja) 2009-06-19 2010-05-31 算術符号化装置、算術復号装置、算術符号化方法及び算術復号方法

Country Status (2)

Country Link
JP (1) JP4994515B2 (ja)
WO (1) WO2010146782A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454345A (zh) * 2011-03-07 2017-02-22 杜比国际公司 编码和解码图像的方法、编码和解码设备
US12273524B2 (en) 2011-06-24 2025-04-08 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10554988B2 (en) * 2017-03-22 2020-02-04 Qualcomm Incorporated Binary arithmetic coding with parameterized probability estimation finite state machines

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10285049A (ja) * 1997-04-03 1998-10-23 Sumitomo Metal Ind Ltd 符号化装置、復号化装置、符号化・復号化装置及び算術符号化装置
JPH11341497A (ja) * 1998-05-29 1999-12-10 Matsushita Electric Ind Co Ltd 画像符号化復号化装置及び、画像符号化復号化方法
WO2003043345A1 (fr) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Procede de codage d'image, procede de decodage d'image, codeur et decodeur d'image, programme, signal de donnees informatiques et systeme d'emission d'image
JP2003235044A (ja) * 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法、動画像復号方法、及びこれらの方法の実行プログラムとこれらの実行プログラムを記録した記録媒体
JP2008312229A (ja) * 2008-07-14 2008-12-25 Mitsubishi Electric Corp デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法
WO2009031648A1 (ja) * 2007-09-06 2009-03-12 Nec Corporation 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10285049A (ja) * 1997-04-03 1998-10-23 Sumitomo Metal Ind Ltd 符号化装置、復号化装置、符号化・復号化装置及び算術符号化装置
JPH11341497A (ja) * 1998-05-29 1999-12-10 Matsushita Electric Ind Co Ltd 画像符号化復号化装置及び、画像符号化復号化方法
WO2003043345A1 (fr) * 2001-11-16 2003-05-22 Ntt Docomo, Inc. Procede de codage d'image, procede de decodage d'image, codeur et decodeur d'image, programme, signal de donnees informatiques et systeme d'emission d'image
JP2003235044A (ja) * 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> 動画像符号化方法、動画像復号方法、及びこれらの方法の実行プログラムとこれらの実行プログラムを記録した記録媒体
WO2009031648A1 (ja) * 2007-09-06 2009-03-12 Nec Corporation 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、映像符号化あるいは復号プログラム
JP2008312229A (ja) * 2008-07-14 2008-12-25 Mitsubishi Electric Corp デジタル信号符号化装置、デジタル信号復号装置、デジタル信号算術符号化方法、およびデジタル信号算術復号方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106454345A (zh) * 2011-03-07 2017-02-22 杜比国际公司 编码和解码图像的方法、编码和解码设备
CN106454345B (zh) * 2011-03-07 2019-07-12 杜比国际公司 编码和解码图像的方法、编码和解码设备
US11343535B2 (en) 2011-03-07 2022-05-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US11736723B2 (en) 2011-03-07 2023-08-22 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US12177478B2 (en) 2011-03-07 2024-12-24 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto
US12273524B2 (en) 2011-06-24 2025-04-08 Dolby International Ab Method of coding and decoding images, coding and decoding device and computer programs corresponding thereto

Also Published As

Publication number Publication date
JP4994515B2 (ja) 2012-08-08
JPWO2010146782A1 (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
KR100701810B1 (ko) 신호 부호화 방법, 신호 복호 방법, 신호 부호화 장치, 신호 복호 장치, 및 컴퓨터로 판독가능한 기록매체
RU2673107C1 (ru) Устройство кодирования изображений, устройство декодирования изображений, способ кодирования изображений и способ декодирования изображений
JP5289440B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
US12301840B2 (en) Method for encoding/decoding image and device using same
JP5021083B2 (ja) ビットストリーム生成方法
US10284864B2 (en) Content initialization for enhancement layer coding
KR101973568B1 (ko) 영상 변환 부호화/복호화 방법 및 장치
KR102045983B1 (ko) 머지를 기반으로 한 복호화 방법 및 장치
JP4994515B2 (ja) 算術符号化装置、算術復号装置
JP2004129206A (ja) 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び、信号復号プログラム
JP6694086B2 (ja) 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法及びプログラム
KR20130002871A (ko) 화면내 예측을 수행하는 부호화/복호화 장치 및 화면내 예측 부호화/복호화 방법
HK1150917A (en) Image encoding device, image decoding device, image encoding method, and image decoding method

Legal Events

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

Ref document number: 10789167

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011519514

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10789167

Country of ref document: EP

Kind code of ref document: A1