Digital signal encoding device, digital signal decoding device, digital signal arithmetic encoding method and digital signal arithmetic decoding method
Abstract
In the bit stream syntax of the segment video image compression data of the video image compression data of the segment structure, each segment of the video image compression data is multiplexed as the segment header of each segment of the video image compression data: segment start code; register The reset flag indicates whether to reset the register value representing the state of the word code of the arithmetic coding processing program in the next transfer unit; and the initial register value, only the reset flag in this register indicates

Term
Term ended
Expired 10 April 2023, 3.5 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
6 claims: 1 independent, 5 dependent
- 1一种数字信号解码装置,将被压缩编码的数字信号以既定单位进行接收而执行解 码,其特征在于: 包括算术解码部,通过更新被使用的发生概率对以所述既定单位接收的被压缩编码的 数字信号进行解码, 该算术解码部包括传输单位解码初始化部,在某传输单位的解码开始时,基于构成该 传输单位的数据被复用的信息,来进行所述发生概率的初始化。
- 2如权利要求1所述的数字信号解码装置,其中,上述算术解码部是在解码既定单位 的压缩数字信号之际,基于与包含于1个或多个相邻接的传输单位的信号间的依存关系, 来决定解码符号的发生概率而执行解码。
- 3如权利要求1所述的数字信号解码装置,其中,上述算术解码部是以计数被解码的 符号的出现频度来学习上述发生概率。
- 4如权利要求1所述的数字信号解码装置,其中,上述数字信号是视频图像信号,而上 述传输单位是由视频图像帧内的1个至多个微块所构成的片段。
- 5如权利要求4所述的数字信号解码装置,其中,上述数字信号是视频图像信号,而上 述传输单位是根据包含于上述片段内的编码数据的种别而被再构成的编码数据单位。
- 6如权利要求1所述的数字信号解码装置,其中,上述数字信号是视频图像信号,而上 述传输单位是视频图像帧。 CN 1522497 Β
Independent claims6
216 paragraphs, as filed
Digital signal coding device, digital signal decoding device, digital signal arithmetic coding method and digital signal arithmetic decoding method technical field
[0001] The present invention relates to a digital signal encoding device, a digital signal decoding device, a digital signal arithmetic encoding method, and a digital signal arithmetic decoding method used in video image compression encoding technology and compressed video image data transmission technology.
Background technique
[0002] In known international standard video image coding methods such as MPEG and ITU-T H. 26x, Huffman coding is used as bad coding. Although Huffman coding can provide the most suitable coding performance when each information source symbol is required to be expressed as an independent character code, on the one hand, the shape of a signal such as a video image signal changes locally. There is a problem that the optimality cannot be guaranteed when the so-called probability of occurrence of the information source symbol fluctuates.
[0003] In this case, the following solution can be adopted: dynamically adapting to the occurrence probability of each information source symbol, and combining a plurality of symbols to express in one character code as arithmetic coding.
[0004] To quote Mark Nelson, Arithmetic Coding+Statistical Modeling=Data Compress part 1-Arithmetic Coding<sup>>,</sup>, Dr. Dobb<sup>J</sup> sjournal, February 1991 and briefly explain the idea of arithmetic coding. Here is to consider the alphabetic characters as the information source of the information source symbol, and consider the arithmetic coding of the so-called "BILLGATES" information.
[0005] At this time, the occurrence probability of each character is defined as shown in FIG. 1. Furthermore, as shown in the value range of the graph, only one area defined on the probability number line of the interval [0, 1] is determined.
[0006] Next, enter the encoding process. First, although the character "B" is coded, this is equivalent to the range [0.2, 0.3] on the straight line of the selected probability number. Therefore, the character "B" becomes a value corresponding to the upper limit (High) and the lower limit (Low) of a set of range [0.2, 0.3].
[0007] Secondly, when encoding "1", it changes the value range [0.2, 0.3] selected in the "B" encoding and treats it as a [0,1] interval, and selects among them: 0.5, 0.6] interval. In short, the processing program of arithmetic coding is equivalent to the squeeze of the value range of the execution probability number straight line.
[0008] As long as this process is repeated for each character, as shown in FIG. 2, the arithmetic coding result of "BILLGATES" is represented by the Low value <0.2572167752> at the time when the character "S" is encoded. .
[0009] The decoding process can also be considered the opposite process.
[0010] First, it is investigated that the encoding result <0.2572167752> is the value range assigned to the character on the straight line corresponding to the probability number, and "B" is obtained.
[0011] After that, after subtracting the Low value of "B", the division is performed in the range to obtain <0.572167752>. The result is that the interval corresponding to [0.5, 0.6] can be decoded The character "I". Hereinafter, by repeating this process, "BILL GATES" can be decoded.
[0012] Through the above processing, if arithmetic coding is performed, even the coding of a very long message can be mapped to one character code at the end. However, from the actual implementation, it is impossible to deal with the infinite decimal point precision, and the encoding and decoding procedures require multiplication and division operations to increase the computational load. For example, the execution uses integers as character codes.
CN 1522497 Β
The floating decimal point operation of the number type register is to approximate the Low value by a power of two, and replace the multiplication and division operation with a shift operation. If it is based on arithmetic coding, it is ideally suitable for bad coding of the occurrence probability of the information source symbol through the above-mentioned procedure. In particular, when the probability of occurrence changes dynamically, the table of FIG. 1 is appropriately updated to track the change of the probability of occurrence, and a higher coding efficiency than Huffman coding can be obtained.
[0013] Since the known digital signal arithmetic coding method and digital signal arithmetic decoding method are configured as described above, when transmitting a badly coded video image signal, it is usually in order to prevent transmission errors. The video image disorder is suppressed to a minimum, and each frame of the video image is divided into partial areas, and the majority of them are transmitted in units that can be resynchronized (for example, MPEG-2 segment structure).
[0014] Therefore, in Huffman coding, although each encoding target symbol is to be mapped to a character code of integer bit length, and only the character code corresponding to the set can be defined as the transmission unit, but in In arithmetic coding, it is not only necessary to explicitly interrupt the special symbols of the coding program, but also to reset the learning processing program of the probability of occurrence of the symbols up to now when the coding is restarted, and it is necessary to discharge the bits that can determine the code. Therefore, there is a possibility that the coding efficiency before and after the interruption may be reduced. Furthermore, if the arithmetic coding process is to encode without resetting in one video image frame, for example, when it has to be divided into small units such as packet data during transmission, the decoding process of a certain packet is just perfect. One packet of data cannot be implemented, and there is a problem that the video image quality is significantly degraded when a packet loss caused by transmission errors and delays occurs.
Summary of the invention
[0015] The present invention is made to solve the above-mentioned problems, and aims to obtain a digital signal coding device and a digital signal arithmetic coding method that can ensure error tolerance while improving the coding efficiency of arithmetic coding.
[0016] Furthermore, the present invention is to obtain a number that can be decoded correctly even when the encoding device continues to be encoded without the arithmetic encoding state of the previous transmission unit or the symbol occurrence probability learning state being reset. A signal decoding device and a digital signal arithmetic decoding method are used as the purpose.
[0017] The digital signal coding device and digital signal arithmetic coding method of the present invention are arithmetic coding that can perform the arithmetic coding at the time when the coding of a certain transmission unit is completed when the digital signal of a predetermined transmission unit is compressed by arithmetic coding. The status information is multiplexed as part of the data of the next transmission unit, or based on the dependence relationship with the signal contained in one or more adjacent transmission units, to determine the occurrence probability of the coded symbol, and at the same time The above-mentioned occurrence probability is learned by counting the occurrence frequency of the coded symbol, and the information of the occurrence probability learning state that can be expressed at the time when the encoding of a certain transmission unit is completed is used as a part of the next transmission unit data. use.
[0018] Therefore, coding can be continued without resetting the previous arithmetic coding state or the symbol occurrence probability learning state. Therefore, it is possible to ensure error tolerance and implement coding that improves the coding efficiency of arithmetic coding.
[0019] Furthermore, the digital signal decoding device and digital signal arithmetic decoding method of the present invention are based on information representing the arithmetic coding state multiplexed as part of the transmission unit data at the start of decoding of a certain transmission unit, The initialization of the decoding operation is performed, or when the decoding of a certain transmission unit starts, the information based on the learning state of the symbol occurrence probabilities that are multiplexed as part of the transmission unit data is used to perform the decoding of the transmission unit. Initialization of the probability of occurrence, while decoding the compressed digital signal of a predetermined transmission unit, determines the probability of occurrence of the decoded symbol based on the dependence relationship with the signal contained in one or more adjacent transmission units, and It is possible to count the frequency of occurrence of the decoded symbol to learn the probability of occurrence and perform decoding.
CN 1522497 Β
[0020] Therefore, even when the encoding device side does not have the arithmetic encoding state or the symbol occurrence probability learning state of the previous transmission unit to be reset and continues to perform encoding, there is an effect of correct decodability.
[0021] Brief description of the drawings
[0022] FIG. 1 is an explanatory diagram showing the occurrence probability of each character when the so-called "BILLGATES" characters are arithmetic-coded.
[0023] FIG. 2 is an explanatory diagram showing the result of arithmetic coding when the so-called "BILLGATES" characters are subjected to arithmetic coding.
[0024] FIG. 3 is a diagram showing the configuration of a video image encoding device (digital signal encoding device) according to the first embodiment of the present invention.
4 is a diagram showing the structure of a video image decoding device (digital signal decoding device) according to Embodiment 1 of the present invention.
[0026] FIG. 5 is a configuration diagram showing the internal configuration of the arithmetic coding unit 6 of FIG. 3.
[0027] FIG. 6 is a flowchart showing the processing content of the arithmetic coding unit 6 of FIG. 5.
[0028] FIG. 7 is an explanatory diagram showing an example of a context model.
[0029] FIG. 8 is an explanatory diagram showing an example of a context model for motion vectors.
[0030] FIG. 9 is an explanatory diagram illustrating a segment structure.
10 is an explanatory diagram showing an example of a bit data stream generated by the arithmetic coding unit 6.
11 is an explanatory diagram showing an example of another bit data stream generated by the arithmetic coding unit 6.
12 is an explanatory diagram showing an example of another bit data stream generated by the arithmetic coding unit 6.
[0034] FIG. 13 is a configuration diagram showing the internal configuration of the arithmetic decoding unit 27 of FIG. 4.
[0035] FIG. 14 is a flowchart showing the processing content of the arithmetic decoding unit 27 of FIG. 13.
15 is a structural diagram showing the internal structure of the arithmetic coding unit 6 in the second embodiment.
[0037] FIG. 16 is a flowchart showing the processing content of the arithmetic coding unit 6 of FIG. 15.
[0038] FIG. 17 is an explanatory diagram illustrating the learning state of the context model.
[0039] FIG. 18 is an explanatory diagram showing an example of a bit stream generated by the arithmetic coding unit 6 of the second embodiment.
[0040] FIG. 19 is a configuration diagram showing the internal configuration of the arithmetic decoding unit 27 of the second embodiment.
[0041] FIG. 20 is a flowchart showing the processing content of the arithmetic decoding unit 27 of FIG. 19.
21 is an explanatory diagram showing an example of a bit stream generated by the arithmetic coding unit 6 of the third embodiment.
[0043] Specific embodiments of the invention
[0044] Hereinafter, in order to explain the present invention in more detail, the best mode for carrying out the present invention will be described with reference to the drawings.
[0045] Embodiment One
[0046] In the first embodiment, as an example in which arithmetic coding is applied to a video image coding method in which coding is performed by dividing a video image frame into a unit of a rectangular area of 16×16 pixels (hereinafter referred to as microblocks) equally, it is used D. Marpe and others in the "VideoCompression Using Con text- Based Adap tive Arithmet icCoding, International Conference on Image Processing 2001" examples disclosed to illustrate.
[0047] FIG. 3 is a diagram showing the structure of a video image encoding device (digital signal encoding device) according to the first embodiment of the present invention. In the figure, the motion detection unit 2 uses the reference image 4 stored in the frame memory 3a, and from the input The video image signal 1 detects the motion vector 5 in units of microblocks. The motion compensation unit 7 obtains the temporal prediction image 8 based on the motion vector 5 detected by the motion detection unit 2. The subtractor 51 is to find the difference between the input video image signal 1 and the time prediction image 8.
The difference is output as a time prediction residual signal 9.
[0048] The spatial prediction unit 10a refers to the input video image signal 1, and performs prediction from the vicinity of the space in the same video image frame to generate a spatial prediction residual signal 110. The coding model determination unit 12 is based on: A motion prediction model for coding the prediction residual signal 9; as a skip model when the motion vector 5 is zero and there is no time prediction residual signal 9 component; and among the internal models for coding the spatial prediction residual signal 11 , To select the model that can encode the equivalent micro-blocks most efficiently and output the encoding model information 13.
[0049] The orthogonal transform unit 15 performs orthogonal transform on the encoding target signal selected by the encoding model determination unit 12, and outputs orthogonal transform coefficient data. The quantization unit 16 performs the quantization of the orthogonal transform coefficient data at the granularity indicated by the quantization step parameter 23 determined by the encoding control unit 22.
[0050] The inverse quantization unit 18 performs inverse quantization of the orthogonal transform coefficient data 17 output from the quantization unit 16 at the granularity indicated by the quantization step parameter 23. The inverse orthogonal transform unit 19 performs inverse orthogonal transform on the orthogonal transform coefficient data inverse quantized by the inverse quantization unit 18. The switching unit 52 selects and outputs the temporal prediction image 8 output from the motion compensation unit 7 or the spatial prediction image 20 output from the spatial prediction unit 10a based on the coding model information 13 output from the coding model determination unit 12. The adder 53 adds the output signal of the switching unit 52 and the output signal of the inverse orthogonal transform unit 19 to generate the partially decoded image 21, and stores the partially decoded image 21 as the reference image 4 in the frame memory 3a.
[0051] The arithmetic coding unit 6 performs bad coding of coding target data such as motion vector 5, coding model information 13, spatial prediction model 14, and orthogonal transform coefficient data 17, and uses the coding result as video image compression The data 26 is output from the transmission buffer 24. The encoding control unit 22 controls the encoding model determination unit 12, the quantization unit 16, the inverse quantization unit 18, and the like.
[0052] FIG. 4 is a diagram showing the structure of a video image decoding device (digital signal decoding device) according to Embodiment 1 of the present invention. In the figure, the arithmetic decoding unit 27 performs bad decoding processing to decode: motion vector 5, encoding Model information 13, spatial prediction model 14, orthogonal transform coefficient data 17, and quantization step parameters 23, etc. The inverse quantization unit 18 inversely quantizes the orthogonal transform coefficient data 17 and the quantization step parameters 23 decoded by the arithmetic decoding unit 27. The inverse orthogonal transform unit 19 performs inverse orthogonal transform on the inversely quantized orthogonal transform coefficient data 17 and the quantization step parameters 23 and locally decodes them.
[0053] The motion compensation unit 7 uses the motion vector 5 decoded by the arithmetic decoding unit 27 to restore the temporal prediction image 8o, and the spatial prediction unit 10b restores the spatial prediction image from the spatial prediction model 14 decoded by the arithmetic decoding unit 27 20.
[0054] The switching unit 54 selects the temporal prediction image 8 or the spatial prediction image 20 for output based on the coding model information 13 decoded by the arithmetic decoding unit 27. The adder 55 adds the predicted residual signal as the output signal of the inverse orthogonal transform unit 19 and the output signal of the switching unit 54 to output the decoded image 21. In addition, the decoded image 21 is stored in the frame memory 3b which is used in the generation of the predicted image of the following frame.
[0055] Next, the operation will be described.
[0056] Initially, the outline of the operation of the video image encoding device and the video image decoding device will be described.
[0057] (1) Outline of operation of video image encoding device
[0058] The input video image signal 1 is input in units in which each video image frame is divided into micro-blocks, and the motion detection unit 2 of the video image encoding device uses the reference image 4 stored in the frame memory 3a, and uses the micro-block Block unit to detect motion vector 5.
CN 1522497 Β
[0059] The motion compensation unit 7 obtains the temporal prediction image 8 based on the motion vector 5 as soon as the motion detection unit 2 detects the motion vector 5.
[0060] The subtractor 51 receives the temporal prediction image 8 from the motion compensation unit 7, and obtains the difference between the input video image signal 1 and the temporal prediction image 8, and uses the difference as the temporal prediction residual signal 9. It is output to the coding model determination unit 12.
[0061] On the one hand, the spatial prediction unit 10a refers to the input video image signal 1 as long as an input video image signal 1 is input, and performs prediction from the vicinity of the space within the same video image frame to generate a spatial prediction residual. Signal 11.
[0062] The coding model determination unit 12 is derived from: a motion prediction model that encodes the temporal prediction residual signal 9; as a skip model when the motion vector 5 is zero and there is no component of the temporal prediction residual signal 9; and Among the internal models in which the spatial prediction residual signal 11 is encoded, a model that encodes a corresponding microblock with the best efficiency is selected, and the encoding model information 13 is output to the arithmetic encoding unit 6. Also, when the motion prediction model is selected, the temporal prediction residual signal 9 is output to the orthogonal transform unit 15 as the encoding target signal, and when the internal model is selected, the spatial prediction residual signal 11 It is output to the orthogonal transform unit 15 as an encoding target signal.
[0063] Furthermore, when the motion prediction model is selected, the motion vector 5 is output from the motion detection unit 2 to the arithmetic coding unit 6 as the encoding target information, and when the internal model is selected, the intra prediction model 14 is The coding target information is output from the spatial prediction unit 10a to the arithmetic coding unit 6.
[0064] The orthogonal transform unit 15 receives an encoding target signal from the encoding model determination unit 12, and uses the encoding target signal as an orthogonal transform, and outputs orthogonal transform coefficient data to the quantization unit 16.
[0065] As long as the quantization unit 16 receives orthogonal transformation coefficient data from the orthogonal transformation unit 15, it will perform its orthogonal transformation at the granularity indicated by the quantization step parameter 23 determined by the encoding control unit 22. Quantization of coefficient data.
[0066] In addition, the encoding control unit 22 adjusts the quantization step parameter 23 to achieve a balance between encoding rate and quality. Generally speaking, after arithmetic coding, the occupancy of the coded data stored in the transmission buffer 24 just before transmission is confirmed at regular intervals, and the quantization step parameter 23 is executed according to the buffer margin 25. Parameter adjustment. For example, when the buffer margin 25 is large, in addition to suppressing the encoding rate, when the buffer margin 25 has margin, the encoding rate can also be increased to improve the quality.
[0067] As long as the inverse quantization unit 18 receives the orthogonal transformation coefficient data 17 from the quantization unit 16, it will perform the inverse quantization of the orthogonal transformation coefficient data 17 at the granularity shown by the quantization step parameter 23. .
[0068] The inverse orthogonal transform unit 19 performs inverse orthogonal transform on the orthogonal transform coefficient data inverse quantized by the inverse quantization unit 18.
[0069] The switching unit 52 selects and outputs the temporal prediction image 8 output from the motion compensation unit 7 or the spatial prediction image 20 output from the spatial prediction unit 10a based on the coding model information 13 output from the coding model determination unit 12. . That is, when the coding model information 13 is a display motion prediction model, the temporal prediction image 8 output from the motion compensation unit 7 is selected for output, and when the coding model information 13 is a display internal model, the spatial prediction is selected The spatial prediction image 20 output by the unit 10a is output.
[0070] The adder 53 adds the output signal of the switching unit 52 and the output signal of the inverse orthogonal transform unit 19 to generate the local decoded image 21. In addition, the locally decoded image 21 is stored in the frame memory 3a as the reference image 4 in order to be used for the motion prediction of the following frame.
[0071] The arithmetic coding unit 6 implements the motion vector 5, the coding model information 13, and the spatial prediction model according to the program described later.
Type 14, orthogonal transform coefficient data 17, and other coding target data are badly coded, and the coding result is used as video image compression data 26, which is output from the transmission buffer 24.
[0072] (2) Outline of operation of video image decoding device
[0073] As long as the arithmetic decoding unit 27 receives the video image compression data 26 from the video image encoding device, it performs the bad decoding process described later to decode the motion vector 5, the encoding model information 13, the spatial prediction model 14, and the normal Cross-transform coefficient data 17, and quantization step parameters 23, etc.
[0074] The inverse quantization unit 18 inversely quantizes the orthogonal transform coefficient data 17 decoded by the arithmetic decoding unit 27 and the quantization step parameters 23, and the inverse orthogonal transform unit 19 inversely quantizes the positive The cross-transform coefficient data 17 and the quantization step parameters 23 are subjected to inverse orthogonal transformation to perform local decoding.
[0075] The motion compensation unit 7 restores the temporal prediction image 8 using the motion vector 5 decoded by the arithmetic decoding unit 27 when the coding model information 13 decoded by the arithmetic decoding unit 27 is a display motion prediction model.
[0076] The spatial prediction unit 10b restores the spatial prediction image 20 from the spatial prediction model 14 decoded by the arithmetic decoding unit 27 when the coding model information 13 decoded by the arithmetic decoding unit 27 shows an internal model.
[0077] Here, the difference between the spatial prediction unit 10a on the video image encoding device side and the spatial prediction unit 10b on the video image decoding device side is the type of all spatial prediction models obtained for the former, and includes the most efficient The processing of the spatial prediction model 14 is selected on the ground, and the latter is limited to the processing of generating the spatial prediction image 20 from the provided spatial prediction model 14.
[0078] The switching unit 54 selects the temporal prediction image 8 restored by the motion compensation unit 7 or the spatial prediction image 20 restored by the spatial prediction unit 10b based on the coding model information 13 decoded by the arithmetic decoding unit 27, and The selected image is output to the adder 55 as a predicted image.
[0079] Once the adder 55 receives the predicted image from the switching unit 54, it adds the predicted image and the predicted residual signal output from the inverse orthogonal transform unit 19 to obtain the decoded image 21.
[0080] In addition, the decoded image 21 is stored in the frame memory 3b in order to be used for the generation of the predicted image of the following frame. The difference between the frame memories 3a and 3b is only the so-called difference between being mounted on a video image encoding device and a video image decoding device.
[0081] (3) Arithmetic coding/decoding processing
[0082] Hereinafter, the arithmetic coding and decoding processing, which is the gist of the present invention, will be described in detail. The encoding process is executed in the arithmetic encoding section 6 of FIG. 3, and the decoding process is executed in the arithmetic decoding section 27 of FIG. 4.
[0083] FIG. 5 is a configuration diagram showing the internal configuration of the arithmetic coding unit 6 in FIG. 3. In the figure, the arithmetic coding unit 6 includes: a context model determination unit 28, which determines the motion vector 5, coding model information 13, spatial prediction model 14, and orthogonal transform coefficient data 17, which are the target data to be coded. The context model defined by the data type (described later); the binarization unit 29, which converts the n-carry data into binary data according to the binarization rule determined for each encoding target data type; the occurrence probability generation unit 30. Provide the probability of occurrence of the value (0 or 1) of each binarized sequence bin after binarization; the encoding unit 31 performs arithmetic coding based on the generated probability of occurrence; and the transmission unit generating unit 35 notifies the interruption of the arithmetic The sequence of encoding is used to form the data as the transmission unit at the same time.
[0084] FIG. 6 is a flowchart showing the processing content of the arithmetic coding unit 6 of FIG. 5.
[0085] 1) Context model decision processing (step ST1)
[0086] The so-called context model is to model the dependence relationship with other information that is the cause of the change in the occurrence probability of the information source (coding) symbol, and switch the state of the occurrence probability according to the dependence relationship, and make it possible. Perform more
CN 1522497 Β
Adapt to the coding of the actual occurrence probability of the symbol.
[0087] FIG. 7 is an explanatory diagram illustrating the concept of a context model. Also, in Fig. 7, the information source symbol is taken as a binary bit. The so-called selection branch of ctx from 0 to 2 in FIG. 7 is defined by the fact that the probability of occurrence of the information source symbol using the ctx is imagined and changed according to the situation.
[0088] With regard to video image coding in the first embodiment, the value of ctx can be switched according to the dependency between the coded data of a certain macroblock and the coded data of surrounding macroblocks.
[0089] FIG. 8 is an explanatory diagram showing an example of a context model for motion vectors, and FIG. 8 is an illustration of D. Marpe and others in Video Compression Using Con text-Based Adap tive Arithmetic Coding, International Conference onlmage Processing 2001 Take the context model of the motion vector of the micro-block as an example.
[0090] In FIG. 8, the motion vector of the block C is taken as the coding target. To be precise, the prediction difference value mvdk(C) of the motion vector of the block C is predicted from the vicinity. And ctx_mvd (C, k) is the context model.
[0091] The motion vector prediction difference value in block A is displayed in mvdk(A), and the difference value is displayed in mvd<sub>k</sub>(B) The motion vector prediction difference value displayed in block B, and they are used in the switching evaluation value of the context model e<sub>k</sub>The definition of (C).
[0092] The evaluation value e/C) shows the deviation of the nearby motion vector. Generally speaking, when the deviation is small, mvdk(C) will decrease.<sub>k</sub>When (C) is large, mvdk (C) tends to increase.
[0093] Therefore, the symbol occurrence probability of mvdk(C) is best adapted based on e/C). The change setting of the occurrence probability is a context model, and it can be said that there are three types of occurrence probability changes in this situation.
[0094] In addition, for each of the encoding target data such as the encoding model information 13, the spatial prediction model 14, and the orthogonal transform coefficient data 17, the context model is defined in advance, and the arithmetic encoding of the video image encoding device The section 6 is shared with the arithmetic decoding section 27 of the video image decoding device. The context model determination unit 28 of the arithmetic coding unit 6 shown in FIG. 5 executes a process of selecting a predetermined model based on the type of the encoding target data.
[0095] In addition, since the process of selecting an arbitrary occurrence probability change from the context model is equivalent to the occurrence probability generation process of 3) below, it will be described here.
[0096] 2) Binary processing (step ST2)
[0097] The context model is to perform binary serialization of the encoding target data in the binarization unit 29, and is determined based on each bin (binary position) of the binary sequence. The rule of binarization is to convert into a variable-length binary sequence based on the approximate distribution of the acquired values of each coded data. Binaryization can still be performed by performing arithmetic coding on the coding target data originally obtained with n-carrying, and coding in units of bins. Since the number of linear divisions of the probability number can be reduced, the calculation can be simplified. Therefore, it has the advantage of making the context model slim.
[0098] 3) Occurrence probability generation processing (step ST3)
[0099] In the processing procedures of 1) and 2) above, the binarization of the multi-value encoding target data and the setting of the context model to which each bin is applied are completed, and encoding is prepared. Since each context model includes changes to each occurrence probability of 0/1, the occurrence probability generation unit 30 refers to the context model determined in step ST1 to execute the generation process of the occurrence probability of 0/1 in each bin.
[0100] FIG. 8 shows the evaluation value e selected as the probability of occurrence<sub>k</sub>As an example of (C), the occurrence probability generation unit 30 determines e in FIG. 8<sub>k</sub>The evaluation value shown in (C) is used as the probability of occurrence selection, and based on this, from the selection branch of the referenced context model, it is determined which occurrence probability change is used for the current code.
[0101] 4) Encoding process (steps ST3 to ST7)
CN 1522497 Β
[0102] Because the probability of occurrence of each value of 0/1 on the straight line of the probability number required by the arithmetic coding processing program can be obtained by 3), the arithmetic is executed in the coding unit 31 according to the processing program described in the conventional example. Encoding (step ST4).
[0103] In addition, the actual code value (0 or 1) 32 is fed back to the occurrence probability generation unit 30, and the 0/1 occurrence frequency is calculated in order to update the occurrence probability variation part of the used context model (step ST5 ).
[0104] For example, when the encoding process of 100 bins is executed using the occurrence probability change in a certain specific context model, the occurrence probability of 0/1 in the occurrence probability change is 0.25,0, respectively. . 75. Here, as long as 1 is coded with the same occurrence probability change, the occurrence frequency of 1 is updated, and the occurrence probability of 0/1 changes to 0.247 and 0.752. Through this mechanism, it becomes an efficient code that can be adapted to the actual probability of occurrence.
[0105] Furthermore, the new arithmetic code 33 of the encoded value (0 or 1) 32 generated by the encoding unit 31 is sent to the transmission unit generation unit 35, and is configured as described in 6) below. The data of the transmission unit is multiplexed (step ST6).
[0106] Furthermore, it is determined whether the encoding process is completed for the entire binary sequence bin of one encoding target data (step ST7), and if it has not been completed, the process returns to step ST3, and the generation process of the occurrence probability in each bin is executed.Processing. Treatment. On the other hand, if it is the end, the process proceeds to the transmission unit generation process described next.
[0107] 5) Transmission unit generation processing (steps ST8 to ST9)
[0108] Although arithmetic coding is to convert multiple sequences of coding target data into one character code, because the video image signal performs motion prediction between frames or performs display in frame units, it is necessary to make the frames The decoded image is generated for the unit to update the frame memory. Therefore, it is necessary to clearly determine the so-called frame unit gap on the compressed data that is arithmetic-coded. Furthermore, for the purpose of multiplexing with other media such as sound and audio, and packet transmission, it is also necessary to The finer units in the frame distinguish the compressed data for transmission. In this example, a segment structure, that is, a unit in which a plurality of micro-blocks are grouped in a post-scanning order, can generally be cited.
[0109] FIG. 9 is an explanatory diagram illustrating a segment structure.
[0110] The rectangle enclosed by the dotted line is equivalent to a micro block. Generally, the segment structure is handled as a unit of resynchronization during decoding. As an extreme example, in order to map the fragment data into a package for IP transmission as usual. In the IP transmission of real-time media such as video images that do not allow transmission delay, RTP (Real Time Transport Protocol) is mostly used. In most cases, the RTP packet provides the time stamp to the header part, and the video image segment data is mapped in the loading part And be transmitted. For example, in Kikuchi and others' RTP PayloadFormat for MPEG-4 Audio/ Visual Streams", RFC 3016, it is stipulated that MPEG-4 video image compressed data is mapped in units of MPEG-4 fragments (video image packets). Into RTP loading method.
[0111] Because RTP is transmitted as a UDP packet, there is generally no resending control. In the case of packet loss, there may be cases where the fragment data cannot be completely delivered to the decoding device. If the subsequent segment data is to be encoded depending on the information of the discarded segment, it will not be able to be decoded normally even if it is assumed to have been delivered to the decoding device normally.
[0112] Therefore, any segment needs to be decoded normally from its beginning regardless of any dependencies. For example, generally speaking, if you encounter encoding that executes Slice5, do not execute encoding that uses the information of the microblock group of Slice3 at the top and Slice4 at the left.
[0113] On the other hand, in order to improve the efficiency of arithmetic coding, it is better to adapt it to the probability of occurrence of symbols based on the surrounding conditions, or to continue the division processing program of the probability number straight line. For example, in order to encode Slice5 completely independently of Slice4, when the arithmetic coding of the final microblock of Slice4 ends, the register value of the word code that can be expressed in the arithmetic coding cannot be maintained, but in Slice5, the register is reset to the initial state. After the code is opened again. because
CN 1522497 Β
Therefore, the correlation existing between the end of Slice4 and the beginning of Slice5 cannot be used, resulting in a decrease in coding efficiency. In short, it is generally designed to improve the loss resistance against unexpected loss of segment data due to transmission errors and the like at the expense of a reduction in coding efficiency.
[0114] In the transmission unit generating section 35 of the first embodiment, a method and an apparatus for improving the adaptability of the design are provided. In other words, when the probability of loss of segment data due to transmission errors or the like is extremely low, it is possible to actively use the segment data without constantly cutting off the dependency relationship between the segments related to arithmetic coding.
[0115] On the one hand, when the possibility of fragment data loss is high, the dependency between the fragments can be cut off, and the coding efficiency in the transmission unit can be adaptively controlled.
[0116] In short, the transmission unit generating unit 35 in the first embodiment receives the transmission unit instruction signal 36 as a control signal inside the video image encoding device at a timing that distinguishes the transmission unit, and instructs the transmission unit based on the transmission unit. The timing at which the signal 36 is input distinguishes the character code of the arithmetic code 33 input from the encoding unit 31 to generate the data of the transmission unit.
[0117] Specifically, the transmission unit generation unit 35 multiplexes the arithmetic code 33 of the encoded value 32 as transmission unit constituent bits one by one (step ST6), and at the same time, judges that it is only contained in the transmission unit instruction signal 36. Whether the encoding of the partial data of the macro block obtained in the transmission unit is completed (step ST8), if it is determined that all the encoding in the transmission unit is not completed, the process returns to step ST1, and the following processing of context model determination is performed.
[0118] Conversely, when it is judged that all the encodings in the transmission unit are completed, the transmission unit generation unit 35 adds the following two pieces of information as the header information of the next transmission unit data (step ST9).
[0119] 1. In the next transmission unit, add a "register reset flag" that indicates whether to reset the register value of the arithmetic coding processing program that can be expressed as a character code. In addition, in the transmission unit that is generated initially, the register reset flag always indicates <reset> to be set.
[0120] 2. Only when the register reset flag of 1. above shows <do not reset>, it is used as the register value at the beginning of the arithmetic coding and decoding of the next transmission unit, and it is added as the The "initial register value" of the register value at the moment. In addition, this initial register value is the initial register value 34 input from the encoding unit 31 to the transmission unit generating unit 35 as shown in FIG. 5.
[0121] FIG. 10 is an explanatory diagram showing an example of a bit stream generated by the arithmetic coding unit 6.
[0122] As shown in FIG. 10, in each segment of the video image compression data and the segment header (referred to as the segment header in the figure) as the header of each segment of the video image compression data, except for the segment start code In addition, set: the register reset flag of 1. above; and the initial register value, which is multiplexed only when the register reset flag of 1. above is displayed as <do not reset>.
[0123] As described above, based on the two additional information, even when the fragment just before is missing, the register reset flag contained in its fragment header data and the initial register value are used. The initialized value of the register becomes the code that can maintain the continuity of the arithmetic code even between segments, and the coding efficiency can be maintained.
[0124] Also, in FIG. 10, although the segment header data and the segment video image compression data are multiplexed on the same data stream, as shown in FIG. 11, the segment header data is separate data. The stream format is transmitted offline, and the segment video image compression data can also be constructed by adding the ID information of the corresponding segment header data. In the same figure, it is shown that the data stream is transmitted according to the IP protocol. It also shows that the header data part is transmitted by the more reliable TCP/IP, and the video image compression data part is transmitted by the low-latency RTP/UDP /IP to transmit example. If the header and transmission unit are separated according to the structure of Figure 11, the data transmitted by RTP/UDP/IP may not be
CN 1522497 Β
The data unit may be divided into so-called fragments.
[0125] In a segment, basically, although it is necessary to reset all the dependencies (context model) of the video image signal in the nearby area, so that the decoding can be restarted separately in the segment, but this will cause The video image coding efficiency is reduced.
[0126] As shown in FIG. 11, if TCP/IP can be used to transmit the initial register state, the video image signal itself is encoded using each context model in the frame, and in the stage of performing RTP packetization It is also possible to divide the arithmetic coded data for transmission. Therefore, according to this structure, since the arithmetic coding processing program can be stably obtained without depending on the condition of the line, it is possible to transmit a bit data stream that performs coding that is not restricted by the fragment structure while maintaining high error resistance. .
[0127] In addition, as shown in FIG. 12, the syntax of whether to use the register reset flag and the initial register value may be configured to be displayed in a higher layer. In FIG. 12, it is displayed on the header information given in the unit of the sequence of the video image composed of a plurality of video image frames, and the multiplexed register reset can indicate whether to use the register reset flag and the syntax of the initial register value. Examples of control flags.
[0128] For example, when it is judged that the quality of the circuit is deteriorated, and the register reset is performed through the video image sequence to enable stable video image transmission, the register reset control flag is set to indicate <through the video image sequence, And always reset the value of the register at the beginning of the fragment>. At this time, the multiplexing at the slice level of the register reset flag and the initial register value that are multiplexed in units of slices becomes unnecessary.
[0129] Therefore, when a certain transmission condition (error rate of the line, etc.) is continued, if the register reset can be controlled in units of video image sequence, the overhead information to be transmitted in units of fragments can be reduced. Needless to say, the register reset control flag may also be represented by the Nth frame, the N+1th frame, etc., to add header information of any video image frame in the video image sequence.
[0130] FIG. 13 is a configuration diagram showing the internal configuration of the arithmetic decoding unit 27 in FIG. 4.
[0131] The arithmetic decoding unit 27 of the video image decoding device includes a transmission unit decoding initialization unit 37, which executes arithmetic decoding processing based on the additional information about the arithmetic coding processing program contained in the header for each transmission unit received Initialization of the context model; the context model determination unit 28, based on the processing program of arithmetic decoding, specifies the shape of the decoding target data such as the motion vector 5, the coding model information 13, the spatial prediction model 14, and the orthogonal transform coefficient data 17, and determines the respective The context model defined in common with the video image encoding device; the binarization unit 29 generates a binarization rule determined based on the form of the decoding target data; the occurrence probability generation unit 30, based on the binarization rule and the context model, And provide the occurrence probability of each bin (0 or 1); and the decoding unit 38 performs arithmetic decoding based on the generated occurrence probability, and decodes the motion vector from the binary sequence obtained from the result and the above-mentioned binary rule 5, Encoding model information 13, spatial prediction model 14, orthogonal transform coefficient data 17, and other data.
[0132] FIG. 14 is a flowchart showing the processing content of the arithmetic decoding unit 27 in FIG. 13.
[0133] 6) Transmission unit decoding initialization processing (step ST10)
[0134] As shown in FIG. 10, based on the register reset flag and the initial register value 34, the initialization of the arithmetic decoding start state in the decoding unit 38 is performed (step ST10). The register reset flag indicates that the register reset flag indicates that it is divided into segments The transmission unit is multiplexed, and it shows whether the register value of the arithmetic coding processing program is reset; and when the register value is reset, the initial register value 34 is not used.
[0135] 7) Context model decision processing, binarization processing, occurrence probability generation processing
[0136] Although these processing procedures are respectively executed by the context model determination unit 28, the binarization unit 29, and the transmission unit shown in FIG.
CN 1522497 Β
The probability generation unit 30 is executed, but it is the same as the context model determination process ST1, the binarization process ST2, and the occurrence probability generation process ST3 shown in the processing procedures 1) to 3) on the video image encoding device side. The same step numbers are provided respectively, and these descriptions are omitted.
[0137] 8) Arithmetic decoding process (step ST11)
[0138] Since the probability of occurrence of the bin to be decoded from here on has been determined by the processing procedures up to 7), the decoding unit 38 restores the bins information based on the arithmetic decoding processing procedures shown in the conventional example Value (step ST11), and count the occurrence frequency of 0/1 in the same way as the processing on the video image encoding device side, update the probability of occurrence of bin (step ST5), and determine whether it passes the binary sequence pattern determined by the binarization rule Whether the value of the compared and decoded bin is determined (step ST12) [0139] If the value of the decoded bin is indeterminate compared with the binary sequence pattern determined by the binarization rule, then the step ST3 is executed again The following processing (steps ST3, ST11, ST5, ST12) of the 0/1 occurrence probability generation processing in each bin ο
[0140] On the one hand, when it is confirmed that the value of each bin decoded is confirmed to be consistent with the binary sequence pattern determined by the binarization rule, the data value indicated by the matched pattern is used as the decoded data. The value is output, and if all the transmission units such as segments have not been decoded (step ST13), in order to decode all the transmission units, it is necessary to repeatedly execute the processing following the context model determination processing in step ST1.
[0141] It is obvious from the above that, according to the first embodiment, when the video image compression data is transmitted by dividing the transmission unit of the segment and so on, the addition can be expressed as the segment header data and display arithmetic The register value of the encoding processing program has a reset flag for resetting the register value and the initial register value 34. Therefore, encoding can be performed without cutting off the continuity of the encoding processing program of arithmetic coding, which can improve the error resistance against transmission errors Keep coding efficiency and make decoding feasible.
[0142] In addition, in the first embodiment, although the segment structure is assumed as the transmission unit, the present invention can be applied even if a video image frame is used as the transmission unit.
[0143] Second Embodiment
[0144] In the second embodiment, another aspect of the arithmetic coding unit 6 and the arithmetic decoding unit 27 will be described. In the second embodiment, it is characterized in that not only the register value indicating the state of the character code of the arithmetic coding processing program, but also the learning state of the occurrence probability change in the context model, that is, the comparison of the bin in the occurrence probability generation unit 30 The learning state of the occurrence probability change in the context model from the occurrence probability update processing of is also reused in the segment header.
[0145] For example, in FIG. 8 described in the first embodiment, in order to improve the efficiency of arithmetic coding of block C, for example, the information of the motion vector of block B located in the upper part of block C is used as a generator. Probability changes are decided to use. Therefore, for example, assuming that the block C and the block B are located in different segments, it is necessary to prohibit the use of the information of the block B in the occurrence probability determination processing program.
[0146] This situation means that the coding efficiency of adaptation to the probability of occurrence based on the context model will be reduced.
[0147] Therefore, in the second embodiment, since a method and apparatus for improving the adaptability of the design are provided, in the case where the probability of loss of segment data due to transmission errors or the like is extremely low, the correlation may not be cut off constantly. It can be actively used because of the dependency between the arithmetic coding segments. In addition, when the possibility of loss of segment data is high, the dependency between the segments can be cut off, and the coding efficiency of the transmission unit can be adaptively controlled.
15 is a structural diagram showing the internal structure of the arithmetic coding unit 6 in the second embodiment.
[0149] The arithmetic coding unit 6 of the second embodiment is different from the arithmetic coding unit 6 of the first embodiment shown in FIG.
The only difference is that the occurrence probability generation unit 30 passes the status 39 of the context model that is the target of multiplexing to the segment header to the transmission unit generation unit 35.
[0150] FIG. 16 is a flowchart showing the processing content of the arithmetic coding unit 6 in FIG. 15.
[0151] Compared with the flowchart of FIG. 6 in the first embodiment described above, it is obvious that the difference is that the context model state 39 of the 0/1 occurrence probability generation process in each bin of step ST3, that is, the reference basis The learning state 39 of the occurrence probability change in the context model from the occurrence probability update processing of the bin of the occurrence probability generation unit 30 is also the same as the register value of the binary arithmetic coding processing in step ST4, and is only transmitted in step ST9. The header of the sub-transmission unit in the unit generating unit 35 constitutes a point that is multiplexed for the segment header in the processing.
[0152] FIG. 17 is an explanatory diagram illustrating the learning state of the context model. Use Figure 17 to illustrate the meaning of the state 39 of the context model.
[0153] FIG. 17 is a case where there are n microblocks in the k-th transmission unit, and for each microblock, a context model Ctx that is used only for 1 degree is defined, and the occurrence probability of ctx for each microblock is defined. Changing circumstances.
[0154] The so-called state 39 of the context model continues to the next transmission unit, which means that the final state ctx of the k-th transmission unit as shown in FIG. 17<sup>k</sup>(nl) is the initial state of ctx in the k+1th transmission unit, that is, in the ctx<sup>k+1</sup> (n-ι) = 0, 1, 2, the probability of occurrence of 0, 1 po, pl and ctx<sup>k</sup> (n-1) = 0, 1, 2 The probability of occurrence of 0, 1 is equal to po and p. Therefore, in the transmission unit generating unit 35, ctx is displayed<sup>k</sup>The data in the state of (nl) is transmitted as part of the header information in the k+1th transmission unit.
[0155] FIG. 18 is an explanatory diagram showing an example of a bit stream generated by the arithmetic coding unit 6 of the second embodiment.
[0156] In the second embodiment, the same segment start code, register reset flag, and initial register value as in the first embodiment shown in FIG. 10 are added to the segment header data of each segment of video image compression data, and There is information about the context model status of the previous fragment.
[0157] However, in this second embodiment, not only the register reset flag is made to include the presence or absence of multiplexing of the initial register value, but also the presence or absence of multiplexing of the context model state data.
[0158] Also, as information indicating whether or not the context model status data is multiplexed, it is needless to say that not only the register reset flag can be set, but other flags can also be set to form a configuration.
[0159] Furthermore, although the above-mentioned first embodiment can be described, in FIG. 18, although the segment header data and the segment video image compression data are multiplexed on the same data stream, the segment header is different. The shape of the data stream is transmitted on the line, and the compressed data can also be constructed by attaching the ID information of the corresponding fragment header data.
[0160] FIG. 19 is a configuration diagram showing the internal configuration of the arithmetic decoding unit 27 of the second embodiment. The difference between the arithmetic decoding unit 27 of the second embodiment and the arithmetic decoding unit 27 of the first embodiment shown in FIG. 13 is that the transmission unit decoding initialization unit 37 converts the text of the segment just before multiplexed by the segment header. The state 39 of the context model is passed to the occurrence probability generation unit 30, and becomes the point of constitution that continues the state of the context model from the segment just before.
[0161] FIG. 20 is a flowchart showing the processing content of the arithmetic decoding unit 27 of FIG. 19.
[0162] Compared with the flowchart of FIG. 14 in the first embodiment described above, it is obvious that the difference from this is that in the decoding initialization processing of each transmission unit in step ST10, the text decoded from the segment header is The pulse model state 39 refers to the process of step ST3, that is, the context model determined in step ST1 is output to the process of generating the occurrence probability of 0/1 in each bin, and is used for the 0/ of the occurrence probability generating unit 30. 1 The point of the generation process of the probability of occurrence.
[0163] Also, regarding the status of the context model delivered to the segment header, it becomes the overhead of the segment header when the number of context models is extremely large, so it is also possible to select the one that contributes significantly to the coding efficiency. Context model, carry out this state
CN 1522497 Β
Reuse to form.
[0164] For example, since the motion vector and orthogonal transform coefficient data account for a large proportion of the total symbol amount, it is possible to consider a configuration that continues only the state of the context model. Furthermore, the type of context model of the continuation state can be explicitly reused in the bit data stream to construct, or the state continuation can be selectively executed for only important context models according to the local conditions of the video image.
[0165] It is obvious from the above that, according to the second embodiment, when the video image compression data is transmitted in finer transmission units, it is possible to add: as segment header data to represent display arithmetic coding processing The register reset flag of whether the register value of the program is reset; the initial register value 34; and the information indicating the context model state of the fragment just before, without cutting the continuity of the arithmetic coding coding processing program and executing the coding, it becomes It can improve the resistance to transmission errors while maintaining the coding efficiency.
[0166] In addition, although the segment structure is assumed as the transmission unit in the second embodiment, the present invention can be applied even if a video image frame is used as the transmission unit.
[0167] In particular, in the second embodiment, information indicating the context model state of the segment immediately before is added. Therefore, for example, in FIG. As different fragments, the occurrence probability of block C can also be used to determine the processing program to use the context model state of block B, which can improve the coding efficiency of the adaptation of the occurrence probability based on the context model. In short, depending on transmission errors, etc., when the probability of loss of segment data is extremely low, it is not necessary to constantly cut off the dependency relationship between the segments related to arithmetic coding, and it can be actively added until the context model state of the preceding segment is reached. In addition, when the possibility of fragment data loss is high, the context model state of the fragment just before is not used, and the dependency between the fragments is cut off, which becomes an adaptive control of the coding efficiency of the transmission unit.
[0168] In the case of the second embodiment, although it has been explained that the bit stream syntax shown in FIG. 18 is the same as the register reset flag and the initial register value of the first embodiment for each segment data. In parallel, the information indicating the context model status of each data of the immediately preceding segment is added as segment header data, but the register reset flag and initial register value of the first embodiment are not added and omitted , And it is also possible to add information that only indicates the context model status of each data of the immediately preceding segment as the segment header data, and it can be added in parallel with the addition of the register reset flag and initial register value in the first embodiment above The setting is irrelevant, needless to say, even if the context model state reset flag is added to be OFF, that is, the context model state information indicating the data of the previous fragment is added only when the reset is not performed to set the context model state reset flag (Refer to Figure 21), but it can also be used for decoding.
[0169] Third Embodiment
[0170] In the third embodiment, an example is described in which the transmission unit is separately grouped in the form of data to be coded and constituted by a data division format.
[0171] For example, taking the video image coding method design draft Working DraftNumber2, Revision3, JVT-B118r3 disclosed in the Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG as an example, The segment structure shown in FIG. 9 is displayed as a unit, and data of a specific form is grouped to form a data unit that transmits only the number of micro-blocks existing in the segment data in the form of segment data. The data format of segment data formed as a data unit formed by grouping includes, for example, the following data formats of 0 to 7.
[0172] 0 TYPE_HEADER image (frame) or segment header
CN 1522497 Β
[0173] 1 TYPE_MBHEADER microblock header information (coding model information, etc.)
[0174] 2 TYPE_MVD motion vector
[0175] 3 TYPE_CBP CBP (Distribution of Effective Orthogonal Transform Coefficients in Microblocks)
[0176] 4 TYPE_2x2DC Orthogonal transform coefficient data (1)
[0177] 5 TYPE_C0EFF_Y orthogonal transform coefficient data (2)
[0178] 6 TYPE_C0EFF_C orthogonal transform coefficient data (3)
[0179] 7 TYPE_E0S Data stream end identification information
[0180] For example, in the TYPE_MVD segment of the data format 2, only the data of the number of micro-blocks and the motion vector information within it is collected as segment data for transmission.
[0181] Therefore, when the TYPE_MVD data of the k+1 segment is decoded after the TYPE_MVD data of the kth segment, if only the context model of the motion vector at the end of the kth segment is The state of is previously reused as the header of the fragment of the TYPE_MVD data of the k+1th fragment, and it can continue to be used for the context model learning state of the arithmetic coding of the motion vector.
21 is an explanatory diagram showing an example of a bit data stream generated by the arithmetic coding unit 6 of the third embodiment. In FIG. 21, for example, when the motion vector in the case of a TYPE_MVD segment of data format 2 is multiplexed as segment data, the segment header is added with a segment start code and a data format indicating TYPE_MVD ID, the context model state reset flag, and information indicating the state of the context model for the motion vector of the just preceding segment.
[0183] Furthermore, for example, when only the orthogonal transform coefficient data (2) of the orthogonal transform coefficient data (2) of the TYPE_COMFF_Y of the data format 5 is multiplexed as the segment data, it is in the segment header Attach the segment start code and the data format ID indicating TYPE_C0EFF_Y, the context model state reset flag, and the information indicating the context model state for the orthogonal transform coefficient data of the fragment just before.
[0184] Also, in the same figure, although the segment header data and compressed data are multiplexed on the same data stream, the segment header is transmitted online in the form of another data stream. It can be constructed by attaching the ID information of the corresponding segment header data.
[0185] Furthermore, in the arithmetic coding unit 6 of the third embodiment, in the configuration of FIG. 15, the transmission unit generating unit 35 executes the reconstruction of the macroblock data in the segment according to the rules of the data classification method described above. The ID information indicating the type of each data format and the learning state of the context model corresponding to each data format are multiplexed and configured.
[0186] Furthermore, in the arithmetic decoding unit 27 in the third embodiment, in the configuration of FIG. 19, the transmission unit decoding initialization unit 37 determines the context model by notifying the data format type ID multiplexed in the segment header. The section 28 determines the context model to be used, and by notifying the occurrence probability generation section 30 of the context model learning state, the learning state 39 of the context model may be continued between segments to perform arithmetic decoding.
[0187] It is obvious from the above that, according to the third embodiment, even when the video image signal is divided into transmission units grouped in a predetermined data format and compression coding is performed, it will belong to this When the video image signal of the transmission unit is arithmetic-coded, since the symbol occurrence probability learning state of the transmission unit grouped in the previous predetermined data format is not reset and the encoding is continued, even if it is grouped in the predetermined data format In the case of grouping, it is also possible to implement coding that improves the coding efficiency of arithmetic coding while ensuring error tolerance.
[0188] In addition, in the third embodiment, although the data format type of each segment structure is exemplified as the transmission unit, the transmission of each data type type in the unit of the video image frame is still The present invention can be applied.
[0189] Furthermore, the third embodiment shown in FIG. 21 illustrates an example of bit stream syntax.
CN 1522497 Β
In each segment data of the state, the context model state reset flag and the information indicating the context model state of each data of the immediately preceding segment when the flag is OFF are added as the segment header data, but it is the same as that shown in Figure 18. Similarly, in the case of an example of the bit stream syntax of the second embodiment, in the segment data of each data form, it is also possible to add the register reset flag and the initial register value in parallel, and the context model state reset flag, and The flag indicates that the context model status of each data of the immediately preceding segment when it is OFF is added as segment header data, and it has nothing to do with whether it is set in parallel with the addition of the register reset flag and the initial register value, needless to say. It is also possible to omit the context model state reset flag, and to constantly add information indicating the context model state of each data of the just preceding segment and use it for decoding.
[0190] In addition, although in the above first to third embodiments, the video image data is taken as an example as a digital signal for description, the present invention is not limited to this, not only the digital signal of the video image data. , Even digital signals of sound, digital signals of still images, digital signals of text, and digital signals of multimedia in which these signals are arbitrarily combined are also applicable.
[0191] Furthermore, although in the above first and second embodiments, segments are cited as the units of transmission of digital signals, in the third embodiment, it is shown that in addition to the form of data and the division of data within the segments The predetermined transmission unit of the form and the like has been described as an example, but in the present invention, it is not limited to this, and a picture (picture). That is, a unit of a video image frame may be used as the predetermined transmission unit by collecting multiple segments Yes, and the use of storage systems other than communications is envisaged. Needless to say, not only the predetermined transmission unit, but also the predetermined storage unit is also possible.
[0192] As described above, the digital signal encoding device and the like according to the present invention are suitable for applications where it is necessary to ensure error tolerance while improving the encoding efficiency of arithmetic encoding when compressing a video image signal for transmission.
CN 1522497 Β
19 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| JP特开平11274938A | Cites | Japan | Search report |
| JP特开2001292328A | Cites | Japan | Search report |
| CN1262812A | Cites | China | Search report |
| JP特开平9121168A | Cites | Japan | Search report |
| JP特开平799452A | Cites | Japan | Search report |
| CN1224978A | Cites | China | Search report |
| CN1216198A | Cites | China | Search report |
| JP特开平7170196A | Cites | Japan | Search report |
| CN1272249A | Cites | China | Search report |
96 members in 11 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 1241142002 | Japan | – | |
| 2002124114 | Japan | A | |
| 2002124114 | Japan | A | |
| 0304578 | Japan | W | |
| 0304578 | Japan | W | |
| 1241142002 | – | – | – |
| JP20020124114 | – | – | – |
| PCTJP2003004578 | – | – | – |
| WO2003JP04578 | – | – | – |
Members96
| Document | Office | Kind | |
|---|---|---|---|
| TW200306118A | Taiwan Province of China | A | |
| CA2449924A1 | Canada | A1 | |
| CA2554143A1 | Canada | A1 | |
| CA2632408A1 | Canada | A1 | |
| CA2685312A1 | Canada | A1 | |
| CA2686438A1 | Canada | A1 | |
| CA2686449A1 | Canada | A1 | |
| CA2756577A1 | Canada | A1 | |
| CA2756676A1 | Canada | A1 | |
| CA2807566A1 | Canada | A1 | |
| CA2809277A1 | Canada | A1 | |
| WO03092168A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2003236062A1 | Australia | A1 | |
| KR20040019010A | Republic of Korea | A | |
| EP1422828A1 | European Patent Office (EPO) | A1 | |
| US2004151252A1 | United States of America | A1 | |
| CN1522497A | China | A | |
| TWI222834B | Taiwan Province of China | B | |
| JP2005347780A | Japan | A | |
| KR20050122288A | Republic of Korea | A | |
| EP1422828A4 | European Patent Office (EPO) | A4 | |
| US2006109149A1 | United States of America | A1 | |
| KR100585901B1 | Republic of Korea | B1 | |
| JP3807342B2 | Japan | B2 | |
| US7095344B2 | United States of America | B2 | |
| EP1699137A2 | European Patent Office (EPO) | A2 | |
| CN1878002A | China | A | |
| KR100740381B1 | Republic of Korea | B1 | |
| US2007205927A1 | United States of America | A1 | |
| CN101060622A | China | A | |
| US2007263723A1 | United States of America | A1 | |
| US7321323B2 | United States of America | B2 | |
| CA2449924C | Canada | C | |
| US7388526B2 | United States of America | B2 | |
| EP1699137A3 | European Patent Office (EPO) | A3 | |
| US2008158027A1 | United States of America | A1 | |
| US7408488B2 | United States of America | B2 | |
| SG147308A1 | Singapore | A1 | |
| US7518537B2 | United States of America | B2 | |
| US2009153378A1 | United States of America | A1 | |
| CA2554143C | Canada | C | |
| CN100566179C | China | C | |
| CN101626244A | China | A | |
| CN101626245A | China | A | |
| CN101686059A | China | A | |
| CN1522497BThis record | China | B | |
| SG158846A1 | Singapore | A1 | |
| SG158847A1 | Singapore | A1 | |
| CN101815217A | China | A | |
| USRE41729E | United States of America | E | |
| CN101841710A | China | A | |
| HK1140324A1 | Hong Kong, China | A1 | |
| US2010315270A1 | United States of America | A1 | |
| US7859438B2 | United States of America | B2 | |
| EP2288034A1 | European Patent Office (EPO) | A1 | |
| EP2288035A1 | European Patent Office (EPO) | A1 | |
| EP2288036A1 | European Patent Office (EPO) | A1 | |
| EP2288037A1 | European Patent Office (EPO) | A1 | |
| HK1144632A1 | Hong Kong, China | A1 | |
| EP2293450A1 | European Patent Office (EPO) | A1 | |
| EP2293451A1 | European Patent Office (EPO) | A1 | |
| EP2306651A1 | European Patent Office (EPO) | A1 | |
| US7928869B2 | United States of America | B2 | |
| EP2315359A1 | European Patent Office (EPO) | A1 | |
| US2011095922A1 | United States of America | A1 | |
| US2011102210A1 | United States of America | A1 | |
| US2011102213A1 | United States of America | A1 | |
| US2011115656A1 | United States of America | A1 | |
| CA2632408C | Canada | C | |
| US2011148674A1 | United States of America | A1 | |
| US7994951B2 | United States of America | B2 | |
| US8094049B2 | United States of America | B2 | |
| US2012044099A1 | United States of America | A1 | |
| SG177782A1 | Singapore | A1 | |
| CN101815217B | China | B | |
| US8188895B2 | United States of America | B2 | |
| SG180068A1 | Singapore | A1 | |
| CN101626244B | China | B | |
| US8203470B2 | United States of America | B2 | |
| CN101626245B | China | B | |
| CN101841710B | China | B | |
| US8354946B2 | United States of America | B2 | |
| SG186521A1 | Singapore | A1 | |
| SG187281A1 | Singapore | A1 | |
| SG187282A1 | Singapore | A1 | |
| CN101686059B | China | B | |
| SG190454A1 | Singapore | A1 | |
| CN101060622B | China | B | |
| CA2686438C | Canada | C | |
| CA2686449C | Canada | C | |
| CA2685312C | Canada | C | |
| CA2756577C | Canada | C | |
| CA2756676C | Canada | C | |
| CA2807566C | Canada | C | |
| CA2809277C | Canada | C | |
| US8604950B2 | United States of America | B2 |
5 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Expiry of patent termCX01 | CX01 | |
| Transfer of patent rightTR01 | TR01 | |
| Grant of patent or utility modelGrantedC14 | C14 | |
| Entry into substantive examinationC10 | C10 | |
| PublicationC06 | C06 |
Numbers
- Publication
- 1522497
- Publication, DOCDB
- 1522497
- Publication, EPODOC
- CN1522497B
- Application
- 38005166
- Application, DOCDB
- 03800516
- Application, EPODOC
- CN20038000516
Titles2
- Chinese
- 数字信号编码装置、数字信号解码装置、数字信号算术编码方法及数字信号算术解码方法
- English
- Digital signal coding device, digital signal decoding device, digital signal arithmetic coding method and digital signal arithmetic decoding method
Classification
- CPC, 17
- H03M7/40
- H04N7/52
- H03M7/4006
- H04N21/2381
- H04N21/4363
- H04N21/4381
- H04N19/105
- H04N19/107
- H04N19/124
- H04N19/13
- H04N19/137
- H04N19/152
- H04N19/174
- H04N19/176
- H04N19/46
- H04N19/61
- H04N19/70
- IPC, 14
- H03M7 40
- G06T9 00
- H04N7 24
- H04N7 52
- H04N19 00
- H04N19 105
- H04N19 13
- H04N19 174
- H04N19 46
- H04N19 51
- H04N19 593
- H04N19 625
- H04N19 70
- H04N19 91