An image coding method for performing compression-coding on image data includes: binarizing a signal to be coded of the image data, to generate a binary signal; determining a low-order context which is a context associated with a type of the signal to be coded, and a high-order context that is common to the low-order context and a context associated with another type; calculating coding probability information to be used in arithmetic coding of the binary signal, using (i) high-order probability information corresponding to the determined high-order context and (ii) low-order probability information corresponding to the determined low-order context; performing the arithmetic coding on the binary signal using the coding probability information; and updating the high-order probability information and the low-order probability information based on the binary signal.
|
1. An image coding method for performing compression-coding on pixel image data, said image coding method comprising:
binarizing a signal to be coded of the pixel image data, to generate a binary signal;
determining a first low-order context, wherein the first low-order context is associated with a type of the signal to be coded;
determining a first high-order context that is common to the first low-order context and at least one second low-order context which is other than the first low-order context, wherein the second low-order context is associated with another type of a signal;
calculating coding probability information to be used in arithmetic coding of the binary signal, using first high-order probability information corresponding to the determined first high-order context and first low-order probability information corresponding to the determined first low-order context;
performing the arithmetic coding on the binary signal using the calculated coding probability information; and
updating the first high-order probability information and the first low-order probability information based on the binary signal.
8. An image coding apparatus that performs compression-coding on pixel image data, said image coding apparatus comprising:
a hardware processor; and
a non-transitory memory storing thereon a program which is executed by the hardware processor and causes the image coding apparatus to:
binarize a signal to be coded of the pixel image data, to generate a binary signal;
determine a first low-order context, wherein the first low-order context is associated with a type of the signal to be coded;
determine a first high-order context that is common to the first low-order context and at least one second low-order context which is other than the first low-order context, wherein the second low-order context is associated with another type of a signal associated with another type;
calculate coding probability information to be used in arithmetic coding of the binary signal, using first high-order probability information corresponding to the determined first high-order context and first low-order probability information corresponding to the determined first low-order context;
perform the arithmetic coding on the binary signal using the calculated coding probability information; and
update the first high-order probability information and the first low-order probability information based on the binary signal.
2. The image coding method according to
wherein in said determining, the first high-order probability information and the first low-order probability information are determined by referring, based on the type information, to a table in which the following are associated with one another: a plurality of types; a high-order context common to the types; and low-order contexts each associated with a corresponding one of the types.
3. The image coding method according to
4. The image coding method according to
wherein in said calculating, the coding probability information is calculated using the first high-order probability information, the first low-order probability information, and the control signal.
6. The image coding method according to
7. The image coding method according to
9. The image coding apparatus according to
10. A non-transitory computer-readable recording medium on which a program is stored, the program causing a computer to execute the image coding method according to
|
The present invention relates to image coding methods and image decoding methods, and particularly relates to an image coding method and an image decoding method for performing arithmetic coding and arithmetic decoding.
In recent years, the number of applications for, for example, video on demand-type services, which include video conferencing via the Internet, and streaming of digital video broadcasts and video content, is increasing, and these applications are reliant on transmission of video information. When video data is transmitted or recorded, a significant amount of data is transmitted via a conventional transmission path having limited bandwidth, or is stored in a conventional recording medium having limited data capacity. In order for the video information to be transmitted through a conventional transmission channel or stored in a conventional recording medium, it is essential to compress or reduce the amount of digital data.
In view of this, video coding standards are being developed for the compression of video data. Such video coding standards are, for example, the International Telecommunication Union—Telecommunication Standardization Sector (ITU-T) Standard denoted by H.26x and the ISO/IEC Standard denoted by MPEG-x. The most recent and most advanced video coding standards at present are the standards denoted by H.264/AVC and MPEG-4 AVC (see NPL 1 and NPL 2).
Roughly divided, the H.264/AVC Standard consists of processes such as prediction, transformation, quantization, and entropy coding. Among these processes, entropy coding reduces redundancy in information used in prediction, quantized information, and so on. Variable-length coding, adaptive coding, fixed-length coding, and so on, are known as types of entropy coding. Variable-length coding includes Huffman coding, run length coding, arithmetic coding, and so on. Among these, arithmetic coding is a scheme in which the output code is determined while calculating the occurrence probability of symbols, and is known to have high coding efficiency compared to Huffman coding, and the like, which use a fixed coding table, because the codes are determined according to the features of image data.
The operation in conventional arithmetic coding shall be described using
First, the flow of arithmetic coding is described below using
When arithmetic coding is started for a certain type of signal, binarization is performed using a predetermined method that is in accordance with the type of the signal in step S11. Next, in step S12, a context control process that is in accordance with the type of the signal is performed. In the context control process, a symbol occurrence probability that is in accordance with the signal type is read from a memory in which plural symbol occurrence probabilities are stored, and the read symbol occurrence probability is outputted. In step S13, arithmetic coding is performed on the information to be processed, using the symbol occurrence probability received from step S12, and the result is outputted as an output signal.
In step S14, the value of the corresponding symbol occurrence probability is updated based on the binarized information calculated in step S11 and stored as the symbol occurrence probability. When the arithmetic coding of the information to be processed is completed, arithmetic coding is performed again for the next information to be processed.
An input signal SI, which is a signal that becomes the coding target, and a signal type information indicating the type of the input signal SI are inputted to the arithmetic coding unit 10. The binarization unit 11 converts the input signal SE into the binary information (symbol) “0” or “1” based on the signal type information SE, and sends a binary signal BIN to the binary arithmetic encoder 14 and the context control unit 13.
The context control unit 13 obtains, from the symbol occurrence probability storage unit 12, the symbol occurrence probability PE corresponding to the signal type information SE. Furthermore, the context control unit 13 performs the update process for the symbol occurrence probability PE corresponding to the signal type information SE based on the binary signal BIN corresponding to the input signal SI and inputted from the binarization unit 11, and stores the updating result in the symbol occurrence probability storage unit 12.
The binary arithmetic encoder 14 performs, on the binary signal BIN, an arithmetic coding process based on the symbol occurrence probability PE.
However, in the above-described conventional technique, although the context control unit derives, from the signal type information, one symbol occurrence probability corresponding to the signal to be coded, it is extremely difficult to classify the types of images in proper proportions.
For example, in the case of performing arithmetic coding on quantized coefficients that have been transformed and quantized, when the positions of the quantized coefficients are different, the quantized coefficients are classified as different types. In addition, it is possible to classify the type according to the prediction method used for generating the quantized coefficient, and extremely fine classification is also possible.
However, when an extremely fine classification is carried out, the occurrence frequency of an update process for such classification decreases, control according to image data features, which is the advantage of arithmetic coding, becomes difficult, and thus coding efficiency deteriorates. On the other hand, when classification is broadened, signals of a different type get mixed in which makes prediction of symbol occurrence frequency difficult, and thus coding efficiency deteriorates.
In view of this, the present invention was conceived in order to solve the above-described conventional problem and has as an object to provide an image coding method and an image decoding method capable of increasing the accuracy of prediction of probability information such as symbol occurrence probability.
In order to solve the above-described conventional problem, the image coding method according to an aspect of the present invention is an image coding method for performing compression-coding on image data, the image coding method including: binarizing a signal to be coded of the image data, to generate a binary signal; determining (i) a low-order context which is a context associated with a type of the signal to be coded and (ii) a high-order context that is common to the low-order context and a context associated with another type; calculating coding probability information to be used in arithmetic coding of the binary signal, using (i) high-order probability information corresponding to the determined high-order context and (ii) low-order probability information corresponding to the determined low-order context; performing the arithmetic coding on the binary signal using the coding probability information; and updating the high-order probability information and the low-order probability information based on the binary signal.
Accordingly, since probability information that takes into consideration both the overall statistical information according to probability information of the high hierarchical level and detailed statistical information according probability information of the low hierarchical level is used, probability information prediction accuracy can be improved, and thus coding efficiency can be improved. Furthermore, since both the high-order probability information and low-order probability information are updated, the high-order probability information for another type is also updated. Therefore, the accuracy of prediction of probability information for another type can be improved, and thus coding efficiency can be further improved.
Furthermore, the image coding method may further include obtaining type information indicating the type of the signal to be coded, wherein in the determining, the high-order probability information and the low-order probability information may be determined by referring, based on the type information, to a table in which the following are associated with one another: a plurality of types; a high-order context common to the types; and low-order contexts each associated with a corresponding one of the types.
Accordingly, by using a table, hierarchized contexts can be managed easily.
Furthermore, in the calculating, the coding probability information may be calculated by weighted-summation of the high-order probability information and the low-order probability information.
Accordingly, coding efficiency can be improved.
Furthermore, the image coding method may further include obtaining a control signal to be used in the calculation of the coding probability information, wherein in the calculating, the coding probability information may be calculated using the high-order probability information, the low-order probability information, and the control signal.
Accordingly, by using the control signal, more detailed probability information can be calculated, and thus coding efficiency can be further improved.
Furthermore, the image coding method may further include coding the control signal.
Accordingly, since the control signal is coded, the signal coded according to the present coding method can be correctly decoded at the decoding side.
Furthermore, each of the high-order probability information and the low-order probability information may be an index indicating a value of a symbol occurrence probability.
Furthermore, each of the high-order probability information and the low-order probability information may be a value of a symbol occurrence probability.
Furthermore, the image decoding method according to an aspect of the present invention is an image decoding method for decoding coded image data, the image decoding method including: determining (i) a low-order context which is a context associated with a type of a signal to be decoded of the coded image data and (ii) a high-order context that is common to the low-order context and a context associated with another type; calculating decoding probability information to be used in arithmetic decoding of the signal to be decoded, using (i) high-order probability information corresponding to the determined high-order context and (ii) low-order probability information corresponding to the determined low-order context; performing the arithmetic decoding on the signal to be decoded, using the decoding probability information, to generate a binary signal; performing mufti-value conversion of the binary signal to reconstruct image data; and updating the high-order probability information and the low-order probability information based on the binary signal.
Accordingly, by using a symbol occurrence probability that takes into consideration both overall statistical information according to a symbol occurrence probability of a high hierarchical level and detailed statistical information according to a symbol occurrence probability of a low hierarchical level, it possible to decode a coded stream generated under improved coding efficiency.
It should be noted that the present invention can be implemented, not only as an image coding method and an image decoding method, but also as an apparatus/apparatuses including processing units that execute the processing steps included in such the image coding method and the image decoding method. Furthermore, the present invention can also be implemented as a program which causes a computer to execute such steps. In addition, the present invention may also be implemented as a recoding medium such as a computer-readable Compact Disk-Read Only Memory (CD-ROM) on which such program is recorded, and as information, data, or a signal representing such program. In addition, such program, information, data and signal may be distributed via a communication network such as the Internet.
Furthermore, a part or all of the constituent elements included in each of the image coding apparatus and the image decoding apparatus described above may be configured as a single system LSI (Large Scale Integration). The system LSI is a super mufti-functional LSI manufactured by integrating a plurality of structural units onto a single chip. Specifically, it is a computer system configured by including a microprocessor, a ROM, a Random Access Memory (RAM), and the like.
The present invention is capable of performing prediction of symbol occurrence possibilities which high accuracy, and is thus capable of improving coding efficiency.
Hereinafter, embodiments of the present invention shall be described with reference to the Drawings.
[Embodiment 1]
An outline of an arithmetic coding method according to this embodiment shall be described. The arithmetic coding method according to this embodiment uses, for the type of the signal which is to be the coding target, symbol occurrence probabilities having a hierarchical signal type classification structure. With this, it is possible to use a symbol occurrence probability that takes into consideration both overall statistical information according to a symbol occurrence probability of a high hierarchical level and detailed statistical information according to a symbol occurrence probability of a low hierarchical level, and thus makes it possible to improve coding efficiency.
The foregoing is the description of the outline of the arithmetic coding method according to this embodiment.
Next, a configuration of an arithmetic coding unit that performs the arithmetic coding method according to this embodiment shall be described.
As shown in
It should be noted that the input signal SI is the signal to be coded of the image data, and is, for example, a signal indicating a quantized coefficient generated by the transformation and the quantization of the image data. It should be noted that that, instead of a quantized coefficient, the input signal SI may be information used for generating a quantized coefficient.
Furthermore, the signal type information SE is signal type information indicating the type of the input signal SI which is the signal to be coded. The signal type information SE is, for example, information indicating a property of the signal to be coded. When the prediction method applied to the input signal SI is intra prediction, the signal type information SE may be information indicating the prediction direction in the intra prediction.
Alternatively, when the input signal SI is one element of the quantized coefficients of a macroblock, the signal type information SE may be information indicating the coefficient position of the quantized coefficient. In addition, the signal type information SE may be information indicating whether the quantization coefficients around the target quantization coefficient are zero or non-zero. More specifically, when the input signal SI is a certain frequency component of the quantized coefficients of a macroblock, the signal type information SE may be information indicating whether the direct current component of the quantized coefficient of the macroblock is zero or non-zero.
The binarization unit 101 generates a binary signal by binarizing the signal to be coded. Specifically, the binarization unit 101 generates a binary signal BIN by performing the binarization of the input signal, based on the input signal SI and the signal type information SE.
The symbol occurrence probability hierarchy storage unit 102 is a memory or the like that holds the plural occurrence probabilities of a symbol. For example, the symbol occurrence probability hierarchy storage unit 102 holds a symbol occurrence probability table. The symbol occurrence probability table is a table in which contexts and probability information are associated. Details of the symbol occurrence probability table shall be described later.
Furthermore, the symbol occurrence probability hierarchy storage unit 102 holds a hierarchical context table. The hierarchical context table is a table in which types of signals to be coded and contexts are associated. Details of the hierarchical context table shall be described later.
The hierarchical-context control unit 103 determines a low-order context which is a context associated with the type of the signal to be coded, and a high-order context that is common to the low-order context and a context (another low-order context) associated with another type. Specifically, the hierarchical-context control unit 103 obtains the signal type information SE and, based on the obtained signal type information SE, refers to the hierarchical context table to thereby determine the context associated with the type of the signal to be coded. At this time, when the determined context is not hierarchized, the hierarchical-context control unit 103 determines one context, and, when the determined context is hierarchized, determines two or more contexts. It should be noted that the hierarchical-context control unit 103 may hold the hierarchical context table.
In addition, the hierarchical-context control unit 103 determines probability information corresponding to the determined contexts. In other words, the hierarchical-context control unit 103 determines high-order probability information corresponding to the high-order context and low-order probability information corresponding to the low-order context. Specifically, the hierarchical-context control unit 103 determines which symbol occurrence probability stored in the symbol occurrence probability hierarchy storage unit 102 is to be used, by referring to the symbol occurrence probability table.
The symbol occurrence probability calculation unit 104 obtains probability information corresponding to the context determined by the hierarchical-context control unit 103, and calculates coding probability information using the obtained probability information. The coding probability information is probability information used in the arithmetic coding of a binary signal. It should be noted that the probability information is an index indicating a value of a symbol occurrence probability or is a value of the symbol occurrence probability.
Specifically, the symbol occurrence probability calculation unit 104 reads, from the symbol occurrence probability hierarchy storage unit 102, the symbol occurrence probability corresponding to the context determined by the hierarchical-context control unit 103. Subsequently, the symbol occurrence probability calculation unit 104 calculates the symbol occurrence probability to be used in the arithmetic coding. The calculated symbol occurrence probability is outputted to the binary arithmetic encoder 105.
The binary arithmetic encoder 105 performs arithmetic coding on the binary signal, using the coding probability information. Specifically, the binary arithmetic encoder 105 performs arithmetic coding on the binary signal generated by the binarization unit 101, using the symbol occurrence probability outputted by the symbol occurrence probability calculation unit 104.
The foregoing is the description of the configuration of the arithmetic coding unit 100 according to this embodiment.
At this point, the symbol occurrence probability table held by the symbol occurrence probability hierarchy storage unit 102 shall be described.
The symbol occurrence probability table is a table in which contexts and symbol occurrence probabilities are associated. Index (ctxIdx) in
The entries indicated by each index include probability information (pStateIdx) indicating a symbol occurrence probability, and a symbol (valMPS) having the highest occurrence probability (Most Probable Symbol). These are the same as those indicated in the H.264 Standard. In other words, a pStateIdx is an index indicating the value of a symbol occurrence probability. The symbol occurrence probability hierarchy storage unit 102 further holds a table indicating values of symbol occurrence probabilities corresponding to the respective pStateIdx.
It should be noted that although management is performed here using a table in which the indices (pStateIdx) indicating symbol occurrence probabilities and the contexts (ctxIdx) are associated with one another, the contexts and the values of the symbol occurrence probabilities may be managed by being directly associated with each other. In this case, by representing the values of the symbol occurrence probabilities with, for example, 16-bit precision (0 to 65535), it is possible to handle more extensive values than when managing using the above-described table. As such, coding efficiency can be improved. From hereon, description shall be made using a method in which the symbol occurrence probabilities are managed as values.
Next, the hierarchical context table held by the symbol occurrence probability hierarchy storage unit 102 shall be described.
The hierarchical context table is a table in which types and contexts are associated. As shown in
More specifically, when the context associated with a certain type is hierarchized, such context is hierarchized into a high-order context and a low-order context. The high-order context is a context that is common to plural types, and is equivalent to a broad classification when classifying the property of the signal to be coded. Stated differently, the high-order context is common to the low-order contexts associated with each of the plural types.
The low-order context is a context associated with each of the plural types, and is equivalent to a fine classification when classifying the property of the signal to be coded. In other words, the low-order context indicates a property to be classified under a condition satisfying the high-order context.
In the example shown in
As an example, when the signal to be coded is a quantized coefficient, the high-order context corresponds to the coefficient position (SE=4 or SE=5) of the quantized coefficient. The low-order context corresponds, for example, to the presence or absence of a coefficient around the quantized coefficient, that is, non-zero (SE=4) or zero (SE=5).
The hierarchical-context control unit 103, upon obtaining the signal type information SE, first refers to the hierarchical context table to thereby determine the context associated with the type of the signal to be coded. At this time, the hierarchical-context control unit 103 judges whether or not the context is hierarchized, based on the signal type information SE. The hierarchical-context control unit 103 determines the high-order context and the low-order context when the context is hierarchized, and determines one context when the context is not hierarchized.
Next, the hierarchical-context control unit 103 obtains the probability information corresponding to the determined context, by referring to the symbol occurrence probability table. When the context is hierarchized into the high-order context and the low-order context, the hierarchical-context control unit 103 determines high-order probability information corresponding to the high-order context and low-order probability information corresponding to the low-order context. When the context is not hierarchized, the hierarchical-context control unit 103 determines probability information corresponding to the determined context.
In this manner, it is possible to use a symbol occurrence probability that takes into consideration both overall statistical information according to the symbol occurrence probability of the high hierarchical level and detailed statistical information according to the symbol occurrence probability of the low hierarchical level. Therefore, coding efficiency can be improved.
Next, the arithmetic coding method performed by the arithmetic coding unit 100 shown in
As shown in
Next, the hierarchical-context control unit 103 determines the hierarchized context corresponding to the input signal SI, from among the hierarchized contexts held in the symbol occurrence probability hierarchy storage unit 102 (S120). Specifically, when the context associated with the type of the signal to be coded is hierarchized into a high-order context and a low-order context, the hierarchical-context control unit 103 selects the high-order probability information corresponding to the high-order context and one piece of low-order probability information corresponding to the low-order context among plural pieces of low-order probability information. It should be noted that details of the selection of probability information shall be described later.
Next, the symbol occurrence probability calculation unit 104 obtains the high-order probability information and the low-order probability information selected by the hierarchical-context control unit 103, and calculates, using the obtained high-order probability information and low-order probability information, the coding probability information to be used in the arithmetic coding of the binary signal (S130). Specifically, the symbol occurrence probability calculation unit 104 reads, from the symbol occurrence probability hierarchy storage unit 102, the symbol occurrence probabilities determined by the hierarchical-context control unit 103, and calculates the symbol occurrence probability to be used in the coding. It should be noted that details of the calculation of the symbol occurrence probability shall be described later.
The binary arithmetic encoder 105 performs arithmetic coding on the binary signal, using the coding probability information (S140). Specifically, the binary arithmetic encoder 105 performs arithmetic coding according to a method indicated in the H.264 Standard, on the binary signal from the binarization unit 101, and using the symbol occurrence probability calculated by the symbol occurrence probability calculation unit 104.
The hierarchical-context control unit 103 updates the high-order probability information and the low-order probability information, based on the binary signal generated by the binarization unit 101 (S150). Specifically, the hierarchical-context control unit 103 updates, according to a binary signal obtained from the binarization unit 101, the symbol occurrence probabilities corresponding to the hierarchized context held in the symbol occurrence probability hierarchy storage unit 102. It should be noted that details of the updating shall be described later.
Next, the hierarchical-context control (S120) in
The hierarchical-context control unit 103 judges, according to the signal type information SE indicating the type of the input signal SI which is to be the coding target, whether or not the input signal SI is a signal that can be hierarchized (S121). Specifically, the hierarchical-context control unit 103 judges whether or not the context associated with the type of the input signal SI is hierarchized. The judgment criterion is predetermined and a specific example thereof shall be described later.
When hierarchizing is possible (Yes in S121), the hierarchical-context control unit 103 selects, from the symbol occurrence probability hierarchy storage unit 102, a symbol occurrence probability P of the high hierarchical level and a symbol occurrence probability PA or PB of the low hierarchical level, and sends the selected symbol occurrence probabilities to the symbol occurrence probability calculation unit 104 (S122). On the other hand, when hierarchizing is not possible (No in S121), the hierarchical-context control unit 103 selects, from the symbol occurrence probability hierarchy storage unit 102, the symbol occurrence probability P corresponding to the input signal SI, and sends the symbol occurrence probability P to the symbol occurrence probability calculation unit 104 (S123).
Here, the method of judging, according to the signal type information SE indicating the type of the input signal SI which is to be the coding target, whether or not the input signal SI can be hierarchized (S121) shall be described.
The hierarchical-context control unit 103 judges whether or not hierarchization is possible, using predetermined types.
For example, in H.264, prediction coding is used. Although different symbol occurrence probabilities are defined depending on the method of creating the prediction image in prediction coding in H.264 (see NPL 1), finer division is also possible. By assuming predefined symbol occurrence probabilities for the high hierarchical level and assuming parts that can be more finely divided for the low hierarchical level, prediction accuracy of the symbol occurrence probability implemented according to H.264 can be improved, and thus coding efficiency can be improved.
As an example, when high-order probability information corresponding to a broad classification (high hierarchical level) of whether or not the prediction method applied to the input signal is intra prediction or inter prediction is defined, it is possible to further define pieces of low-order probability information corresponding to fine classifications (low hierarchical level) under the broad classification. In the fine classifications, it is possible to perform classification using, for example, the prediction directions in intra prediction. In other words, it is possible to define pieces of low-order probability information corresponding to the respective prediction directions in intra prediction.
As another example, in H.264, residual data is created from the difference between the prediction image and image data, quantized coefficients are generated by performing frequency transform and quantization on the residual data, and binarization and arithmetic coding is performed on the quantized coefficients (see NPL 1). At this point, different symbol occurrence probabilities are defined according to coefficient position, but these can be further divided.
For example, when dividing by the two conditions of the presence or absence of surrounding coefficients, there is a possibility that the symbol occurrence probabilities of the coefficient which is to be the coding target will differ significantly from one another according to the respective conditions. As such, the contexts are divided in the high hierarchical level according to a condition such as the coefficient position, and further divided in the low hierarchical level according to the presence or absence of a surrounding coefficient. With this, the prediction accuracy of symbol occurrence probabilities implemented according to H.264 can be improved, and thus coding efficiency can be improved.
Next, the symbol occurrence probability calculation (S130) in
The symbol occurrence probability calculation unit 104 judges whether or not the symbol occurrence probability determined by the hierarchical-context control unit 103 is hierarchized (S131). When it is a hierarchized probability (Yes in S131), the symbol occurrence probability calculation unit 104 obtains plural symbol occurrence probabilities P and PA or PB (S132). Specifically, the symbol occurrence probability calculation unit 104 obtains the symbol occurrence probability P equivalent to the high hierarchical level and the symbol occurrence probability PA or PB equivalent to the low hierarchical level. It should be noted that whether the symbol occurrence probability PA or PB is to be obtained is determined by the hierarchical-context control unit 103 using the signal type information SE. Next, the symbol occurrence probability calculation unit 104 calculates a symbol occurrence probability PE to be used in arithmetic coding, from the obtained symbol occurrence probabilities P and PA or PB, and sends the calculated symbol occurrence probability PE to the binary arithmetic encoder 105 (S133).
On the other hand, when the symbol occurrence probability determined by the hierarchical-context control unit 103 is a probability that is not hierarchized (No in S131), the symbol occurrence probability calculation unit 104 sends the obtained symbol occurrence probability P, as the symbol occurrence probability PE, to the binary arithmetic encoder 105 (S134).
Here, when signal type information that can be hierarchized is denoted as A or B, respective corresponding symbol occurrence probabilities of the low hierarchical level are denoted as PA and PB, and a symbol occurrence probability (symbol occurrence probability of the high hierarchical level) corresponding to both cases of the signal type information being A and the signal type information being B is denoted as P, the method of calculating the symbol occurrence probability PE to be used in the arithmetic coding is represented by Formula 1.
(Formula 1)
if (SE==A){
PE=P+(PA−P)*factor;
}
else if (SE==B){
PE=P+(PB−P)*factor;
}
As shown in Formula 1, when the signal type information is A, the symbol occurrence probability calculation unit 104 calculates the symbol occurrence probability PE to be used in arithmetic coding, according to the weighted sum of the symbol occurrence probability P of the high hierarchical level and the symbol occurrence probability PA of the low hierarchical level.
Here, factor is an example of a control signal used in calculating coding probability information, and is a predetermined control parameter. The factor is from 0 to 1. When the factor is 0, this indicates that the common symbol occurrence probability P is used for the signal type A and the signal type B. On the other hand, when the factor is 1, this indicates that the always-independent symbol occurrence probability PA or PB is used. This control parameter enables the assigning of weights according to the signal type and thus enables the implementation of further coding efficiency improvement.
The above-described control parameter may be transmitted separately through a coded stream. In other words, the control signal to be used in calculating the coding probability information may be coded. By doing so, control of symbol occurrence probabilities according to the features of each image becomes possible, and thus further improvement of coding efficiency is realized.
On the other hand, decimal calculation becomes necessary with the factor shown in Formula 1, and when mounting onto a circuit, program speed, and so on are taken into consideration, integer calculation or shift calculation is preferable. In view of this, a method of calculating PE which considers the amount of computation is represented by Formula 2.
(Formula 2)
if (SE==A){
PE=P+((PA−P)*fx)>>fy;
}
else if (SE==B){
PE=P+((PB−P)*fx)>>fy;
}
As shown in Formula 2, by dividing the control parameter into fx and fy, the need for decimal calculation is eliminated and the amount of computation can be reduced.
The foregoing description describes an example in which a high hierarchical level is divided into two types based on the signal type information SE. In other words, the foregoing describes an example in which two low hierarchical levels exist with respect to one high hierarchical level. In contrast, Formula 3 shows that the same calculation is possible even when the number of low hierarchical levels is three or more.
(Formula 3)
if (SE==A){
PE=P+(PA-P)*factor;
}
else if (SE==B){
PE=P+(PB−P)*factor;
}
else if (SE==C){
PE=P+(PC−P)*factor;
}
As shown in Formula 3, by obtaining, from the signal type information SE, the symbol occurrence probabilities (PA, PB, P) corresponding to the hierarchized conditions (A, B, C) and performing calculation as shown in Formula 3, the same calculation is possible even for three or more types.
It should be noted that the symbol occurrence probability PE to be used in arithmetic coding may be calculated by table referencing, instead of performing calculations such as those described above. For example, the symbol occurrence probability calculation unit 104 holds symbol occurrence probability calculation tables such as those shown in
The symbol occurrence probability calculation table is a table in which the symbol occurrence probabilities P, PA, and PB, and the symbol occurrence probability PE to be used in arithmetic coding are associated. The symbol occurrence probability calculation unit 104 holds plural symbol occurrence probability calculation tables, and can switch tables to be referred to according to the control parameter F. Stated differently, the symbol occurrence probability calculation tables correspond to the respective control parameters F.
Subsequently, the symbol occurrence probability calculation unit 104 derives the PE according to Formula 4.
(Formula 4)
if (SE==A){
PE=estimatePE[P][PA][F]
}
else if (SE==B){
PE=estimatePE[P][PB][F]
}
As shown in Formula 4, the symbol occurrence probability calculation unit 104 calculates the symbol occurrence probability PE to be used in arithmetic coding with reference to the symbol occurrence probability calculation table, based on the control parameter F and the obtained symbol occurrence probabilities P and PA or PB. With this, it becomes possible to suppress the number of calculations.
Next, an example of the method of updating the symbol occurrence probability shall be described using Formula 5. The hierarchical-context control unit 103 updates, according to the binary signal obtained from the binarization unit 101, the symbol occurrence probability of the hierarchized context held in the symbol occurrence probability hierarchy storage unit 102 and which corresponds to the input signal SI.
(Formula 5)
if (SE==A){
if (bin==0){
PA=PA+(1−PA)*fu;
P =P +(1−P)*fu;
}
else {
PA=PA−PA*fu;
P =P−P*fu;
}
}
if (SE==B){
if (bin==0){
PB=PB+(1−PB)*fu;
P =P +(1−P)*fu;
}
else {
PB=PB−PB*fu;
P =P−P*fu;
}
}
As shown in Formula 5, when the signal type information SE is A, each of the symbol occurrence probability P of the high hierarchical level and the symbol occurrence probability PA of the low hierarchical level are calculated according to the update parameter fu, for the binarized binary information (BIN) to be coded. It should be noted that the symbol occurrence probabilities shown in Formula 5 denote symbol occurrence probabilities when valMPS=0. Therefore, in Formula 5, values are updated to increase both the symbol occurrence probabilities P and PA (or PB) when BIN=0, and values are updated to reduce both the symbol occurrence probabilities P and PA (or PB) when BIN=1.
It should be noted that the symbol occurrence probabilities P, PA, and PB are probabilities represented by decimal numbers having a value from 0 to 1. It should be noted that, as described earlier, these probabilities may be expressed like the symbol occurrence probability table, and may be expressed as a value from 0 to 65536 (16 bits). In this case, the formula for updating changes depending on the expression method. However, the values used in updating may be different than those in Formula 5 as long as the symbol occurrence probability P of the high hierarchical level and the symbol occurrence probability PA (or PB) of the low hierarchical level are updated in the same manner.
On the other hand, in the same manner as shown in Formula 2, integer calculation or shift calculation can be set as the updating parameter. Furthermore, in the same manner as shown in Formula 3, the same updating for three or more types becomes possible. Furthermore, in the same manner as shown in Formula 4, table referencing can be performed instead of calculation.
It should be noted that the arithmetic coding unit 100 according to Embodiment 1 of the present invention is included in an image coding apparatus that performs compression-coding of image data.
The image coding apparatus 200 compression-codes image data. For example, image data is inputted, to the image coding apparatus 200, on a per block basis as an input signal. The image coding apparatus 200 performs transformation, quantization, and variable-length coding on the inputted input signal to generate a coded signal.
As shown in
The subtractor 205 calculates the difference, that is, the prediction error, between an input signal and a predicted signal.
The transform and quantization unit 210 transforms the prediction error in the spatial domain to generate transformed coefficients in a frequency domain. For example, the transform and quantization unit 210 generates the transformed coefficients by performing discreet cosine transform (DCT) on the prediction error. In addition, the transform and quantization unit 210 quantizes the transformed coefficients to generate quantized coefficients.
The entropy coding unit 220 performs variable-length coding on the quantized coefficients to generate a coded signal. Furthermore, the entropy coding unit 220 codes motion data (for example, a motion vector) detected by the motion detection unit 270, and outputs the result by including it in the coded signal.
The inverse-quantization and inverse-transform unit 230 inverse-quantizes the quantized coefficients to reconstruct the transformed coefficients. In addition, the inverse-quantization and inverse-transform unit 230 inverse-transforms the reconstructed transformed coefficients to reconstruct the prediction error. It should be noted that since information is lost due to quantization, the reconstructed prediction error does not match the prediction error generated by the subtractor 205. In other words, the reconstructed prediction error includes a quantization error.
The adder 235 adds up the reconstructed prediction error and the predicted signal to generate a local decoded image.
The deblocking filter 240 performs deblocking filtering processing on the generated local decoded image.
The memory 250 is a memory for storing a reference image to be used in motion compensation. Specifically, the memory 250 stores a local decoded image on which the deblocking filtering processing has been performed.
The intra prediction unit 260 performs intra prediction to generate a predicted signal (intra predicted signal). Specifically, the intra prediction unit 260 generates an intra predicted signal by performing intra prediction with reference to an image located around the block (input signal) to be coded in the local decoded image generated by the adder 235.
The motion detection unit 270 detects motion data (for example, a motion vector) between the input signal and the reference image stored in the memory 250.
The motion compensation unit 280 performs motion compensation based on the detected motion data, to generate a predicted signal (inter predicted signal).
The intra-inter changeover switch 290 selects either the intra predicted signal or the inter predicted signal, and outputs the selected signal as the predicted signal, to the subtractor 205 and the adder 235.
With the above described configuration, the image coding apparatus 200 according to Embodiment 1 of the present invention performs compression-coding of image data.
It should be noted that, in
As described above, according to the image coding apparatus and image coding method according to Embodiment 1 of the present invention, when context that is associated with the type of the signal to be coded is hierarchized into a high-order context and a low-order context, the coding probability information to be used in arithmetic coding is calculated using high-order probability information corresponding to the high-order context and low-order probability information corresponding to the low-order context. In addition, both the high-order probability information and the low-order probability information are updated based on a binary signal which is a signal generated by binarizing the signal to be coded.
With this, it is possible to use, as the coding probability information, probability information that takes into consideration both the overall statistical information according to probability information of the high hierarchical level and detailed statistical information according probability information of the low hierarchical level, and thus coding efficiency can be improved. Specifically, since it is possible to suppress the deterioration of the updating frequency of high-order probability information which is equivalent to a large classification, arithmetic coding adapted to the features of the image data can be performed, and thus coding efficiency can be improved. Furthermore, since low-order probability information which is equivalent to a small classification is used, it is possible to improve the possibility of the prediction of the symbol occurrence probability coming true, and thus coding efficiency can be improved.
Furthermore, as shown in
It should be noted that although an example in which values of probability information are managed is described in the foregoing embodiment, probability information may be managed using a table. An example of this shall be described using
The hierarchical-context control unit 103 holds, for example, a context updating table such as that shown in
The symbol occurrence probabilities shown in Formula 6 denote symbol occurrence probabilities when valMPS=0. Furthermore, each of the symbol occurrence probabilities P, PA, and PB are represented as P=pStateIdxP, PA=pStateIdxPA, and PB=pStateIdxPB.
(Formula 6)
if (SE==A){
if (bin==0){
PA=transIdxMPS[pStateIdxPA];
P =transIdxMPS[pStateIdxP ];
}
else{
PA=transIdxLPS[pStateIdxPA];
P =transIdxLPS[pStateIdxP ];
}
}
if (SE==B){
if (bin==0){
PB=transIdxMPS[pStateIdxPB];
P =transIdxMPS[pStateIdxP ];
}
else{
PB=transIdxLPS[pStateIdxPB];
P =transIdxLPS[pStateIdxP ];
}
}
As an example, description shall be carried out for the case where the signal type information SE is A and the symbol of the coded binary signal BIN is 0. For example, when the symbol occurrence probability PA=pStateIdxPA prior to updating is “8” in
In this manner, probability information can be updated by using the context updating table.
It should be noted that although the hierarchical level of the contexts and probability information is described as the two hierarchical levels of high-order and low-order in the foregoing embodiment, it is possible to have hierarchization with three hierarchical levels or more. In this case, in the hierarchical context table shown in
[Embodiment 2]
The outline of an arithmetic decoding method according to this embodiment shall be described. The arithmetic decoding method according to this embodiment uses symbol occurrence probabilities having a hierarchical signal type classification structure with respect to the type of the signal which is to be the decoding target, and thus it is possible to use symbol occurrence probabilities that take into consideration both the overall statistical information according to a symbol occurrence probability of a high hierarchical level and detailed statistical information according to a symbol occurrence probability of a low hierarchical level, and it is possible to decode a signal generated under improved coding efficiency.
The foregoing is the description of the outline of an arithmetic decoding method according to this embodiment.
Next, a configuration of an arithmetic decoding unit that performs the arithmetic decoding method according to this embodiment shall be described.
As shown in
The input stream IS is the signal to be decoded of the coded image data, and is, for example, a signal indicating quantized coefficients generated through the compression-coding of the image data. In other words, the input stream IS is equivalent to the signal generated through the arithmetic coding of the input signal SI according to Embodiment 1.
The signal type information SE is an example of type information of the signal to be decoded of the coded image data. Specifically, the signal type information SE is information indicating the type of the input stream IS, and is, more specifically, the same as the input type information SE according to Embodiment 1.
The binary arithmetic decoder 301 performs arithmetic decoding on the signal to be decoded, using decoding probability information, to generate a binary signal. Specifically, the binary arithmetic decoder 301 performs arithmetic decoding on the input stream IS using the symbol occurrence probability outputted by the symbol occurrence probability calculation unit 304, to generate an output binary signal OBIN.
The symbol occurrence probability hierarchy storage unit 302 is a memory and the like for holding occurrence probabilities of a symbol. For example, the symbol occurrence probability hierarchy storage unit 302 holds a symbol occurrence probability table. The symbol occurrence probability table is a table in which contexts and probability information are associated, and is, for example, the table shown in
For example, the symbol occurrence probability hierarchy storage unit 302 holds a hierarchical context table. The hierarchical context table is a table in which the types of signals to be decoded and contexts are associated, and is, for example, the table shown in
The hierarchical-context control unit 303 determines a low-order context which is a context associated with the type of the signal to be coded, and a high-order context that is common to the low-order context and a context (another low-order context) associated with another type. Specifically, the hierarchical-context control unit 303 obtains the signal type information indicating the type of the input stream IS, and, based on the obtained signal type information SE, refers to the hierarchical context table to thereby determine the context associated with the type of the signal. At this time, the hierarchical-context control unit 303 determines one context when the determined context is not hierarchized, and determines two or more contexts when such determined context is hierarchized. It should be noted that the hierarchical-context control unit 303 may hold the hierarchical context table.
In addition, the hierarchical-context control unit 303 determines probability information corresponding to the determined context. Specifically, the hierarchical-context control unit 303 determines high-order probability information corresponding to the high-order context and low-order probability information corresponding to the low-order context. Specifically, the hierarchical-context control unit 303 determines which of the symbol occurrence probabilities stored in the symbol occurrence probability hierarchy storage unit 302 to use, by referring to the symbol occurrence probability table. The specific operation of the hierarchical-context control unit 303 is the same as that of the hierarchical-context control unit 103 according to Embodiment 1.
The symbol occurrence probability calculation unit 304 reads, from the symbol occurrence probability hierarchy storage unit 302, the symbol occurrence probability corresponding to the contexts determined by the hierarchical-context control unit 303. Subsequently, the symbol occurrence probability calculation unit 304 calculates the symbol occurrence probability to be used in arithmetic coding. The calculated symbol occurrence probability is outputted to the binary arithmetic decoder 301. The specific operation of the symbol occurrence probability calculation unit 304 is the same as that of the symbol occurrence probability calculation unit 104 according to Embodiment 1.
The mufti-value conversion unit 305 performs mufti-value conversion of the output binary signal OBIN generated by the binary arithmetic decoder 301, to reconstruct the image data. It should be noted that the method for mufti-value conversion is determined based on the signal type information SE.
The foregoing is the description of the configuration of the arithmetic decoding unit 300 according to this embodiment.
Next, the arithmetic decoding method performed by the arithmetic decoding unit 300 shown in
As shown in
Next, the symbol occurrence probability calculation unit 304 obtains the high-order probability information and the low-order probability information determined by the hierarchical-context control unit 303, and calculates, using the obtained high-order probability information and low-order probability information, the decoding probability information to be used in the arithmetic decoding (S220). Specifically, the symbol occurrence probability calculation unit 304 reads, from the symbol occurrence probability hierarchy storage unit 302, the symbol occurrence probabilities determined by the hierarchical-context control unit 303, and calculates the symbol occurrence probability to be used in the arithmetic decoding. It should be noted that the details of the symbol occurrence probability calculation are performed in the same manner as the symbol occurrence probability calculation at the time of coding (S130) according to Embodiment 1.
The binary arithmetic decoder 301 performs arithmetic decoding on the signal to be decoded, using decoding probability information, to generate the output binary signal OBIN (S230). Specifically, the binary arithmetic decoder 301 performs arithmetic decoding according to a method indicated in the H.264 Standard, based on the symbol occurrence probability calculated by the symbol occurrence probability calculation unit 304.
The hierarchical-context control unit 303 updates the high-order probability information and the low-order probability information, based on the output binary signal OBIN (S240). Specifically, the hierarchical-context control unit 303 updates, according to the output binary signal OBIN generated by the binary arithmetic decoder 301, the symbol occurrence probabilities of the hierarchized context stored in the symbol occurrence probability hierarchy storage unit 302. The updating method is performed in the same manner as the hierarchized symbol occurrence probability updating method at the time of coding (S150) according to Embodiment 1.
The mufti-value conversion unit 305 performs mufti-value conversion of the output binary signal OBIN to reconstruct the image data (S250).
By adopting the above-described method, it is possible to decode a coded signal generated under improved coding efficiency.
It should be noted that the arithmetic decoding unit 300 according to Embodiment 2 of the present invention is included in an image decoding apparatus that decodes coded image data generated by compression-coding.
The image decoding apparatus 400 decodes coded image data generated by compression-coding. For example, coded image data is inputted, to the image decoding apparatus 400, on a per block basis as a signal to be decoded. The image decoding apparatus 400 performs variable-length decoding, inverse-quantization, and inverse-transform on the inputted signal to be decoded, to reconstruct image data.
As shown in
The entropy decoding unit 410 performs variable-length decoding on the input signal (input stream) to reconstruct the quantized coefficients. It should be noted that, here, the input signal (input stream) is the signal to be decoded and is equivalent to per-block data of the coded image data. Furthermore, the entropy decoding unit 410 obtains motion data from the input signal, and outputs the obtained motion data to the motion compensation unit 460.
The inverse-quantization and inverse-transform unit 420 inverse-quantizes the quantized coefficients reconstructed by the entropy decoding unit 410, to reconstruct the transformed coefficients. Then, the inverse-quantization and inverse-transform unit 420 inverse-transforms the reconstructed transformed coefficients to reconstruct the prediction error.
The adder 425 adds up the reconstructed prediction error and the predicted signal to generate a decoded image.
The deblocking filter 430 performs deblocking filtering processing on the generated decoded image. The decoded image on which the deblocking filtering processing has been performed is outputted as a decoded signal.
The memory 440 is a memory for storing a reference image to be used in motion compensation. Specifically, the memory 440 stores a decoded image on which the deblocking filtering processing has been performed.
The intra prediction unit 450 performs intra prediction to generate a predicted signal (intra predicted signal). Specifically, the intra prediction unit 450 generates an intra predicted signal by performing intra prediction with reference to the image around the block (input signal) to be decoded in the decoded image generated by the adder 425.
The motion compensation unit 460 performs motion compensation based on the motion data outputted from the entropy decoding unit 410, to generate a predicted signal (inter predicted signal).
The intra-inter changeover switch 470 selects either the intra predicted signal or the inter predicted signal, and outputs the selected signal as the predicted signal, to the adder 425.
With the above-described configuration, the image decoding apparatus 400 according to Embodiment 2 of the present invention decodes coded image data generated by compression-coding.
It should be noted that, in
As described above, according to the image decoding apparatus and image decoding method according to Embodiment 2 of the present invention, when context that is associated with the type of the signal to be decoded is hierarchized into a high-order context and a low-order context, the decoding probability information to be used in arithmetic decoding is calculated using high-order probability information corresponding to the high-order context and low-order probability information corresponding to the low-order context. In addition, both the high-order probability information and the low-order probability information are updated based on a binary signal which is the signal generated by performing the arithmetic decoding on the signal to be decoded.
With this, it is possible to correctly decode a signal generated under improved coding efficiency. Specifically, as shown in Embodiment 1, since it is possible to use coding probability information that takes into consideration both overall statistical information according to probability information of the high hierarchical level and detailed probability information according to probability information of the low hierarchical level, coding efficiency can be improved. Specifically, since it is possible to suppress the deterioration of the updating frequency of high-order probability information which is equivalent to a large classification, arithmetic coding adapted to the features of the image data can be performed, and thus coding efficiency can be improved. Furthermore, since low-order probability information which is equivalent to a small classification is used, it is possible to improve the possibility of the prediction of the symbol occurrence probability coming true, and thus coding efficiency can be improved. The image decoding apparatus and the image decoding method according to Embodiment 2 of the present invention can correctly decode a signal generated under improved coding efficiency in the above-described manner.
[Embodiment 3]
The processing described in the foregoing embodiments can be simply implemented by an independent computer system, by recording, in a recording medium, a program for implementing the configurations for the image coding method and the image decoding method described in the foregoing embodiments. The recording medium may be any recording medium as long as the program can be recorded, such as a magnetic disk, an optical disk, a magnetic optical disk, an IC card, and a semiconductor memory.
In addition, the applications of the image coding method and the image decoding method described in the foregoing embodiments and systems using such methods will be described here.
The content providing system ex100 is connected to devices, such as a computer ex111, a personal digital assistant (PDA) ex112, a camera ex113, a cellular phone ex114, and a game machine ex115, via Internet ex101, an Internet service provider ex102, a telephone network ex104, as well as the base stations ex106 to ex110.
However, the configuration of the content providing system ex100 is not limited to the configuration shown in
The camera ex113, such as a digital video camera, is capable of capturing moving images. A camera ex116, such as a digital video camera, is capable of capturing both still images and moving images. Furthermore, the cellular phone ex114 may be the one that meets any of the standards such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband-Code Division Multiple Access (W-CDMA), Long Term Evolution (LTE), and High Speed Packet Access (HSPA). Alternatively, the cellular phone ex114 may be a Personal Handyphone System (PHS) or the like.
In the content providing system ex100, the camera ex113 and others are connected to a streaming server ex103 via the telephone network ex104 and the base station ex109, which enables distribution of a live show and others. For such a distribution, a content (for example, video of a music live show) captured by the user using the camera ex113 is coded as described in the foregoing embodiments, and the coded content is transmitted to the streaming server ex103. On the other hand, the streaming server ex103 carries out stream distribution of the received content data to the clients upon their requests. The clients include the computer ex111, the PDA ex112, the camera ex113, the cellular phone ex114, and the game machine ex115 that are capable of decoding the above-mentioned coded data. Each of the devices that have received the distributed data decodes and reproduces the received coded data.
The captured data may be coded by the camera ex113 or the streaming server ex103 that transmits the data, or the coding processes may be shared between the camera ex113 and the streaming server ex103. Similarly, the distributed data may be decoded by the clients or the streaming server ex103, or the decoding processes may be shared between the clients and the streaming server ex103. Furthermore, the data of the still images and moving images captured by not only the camera ex113 but also the camera ex116 may be transmitted to the streaming server ex103 through the computer ex111. The coding processes in this case may be performed by the camera ex116, the computer ex111, or the streaming server ex103, or shared among them.
Furthermore, the coding and decoding processes may be performed by an LSI ex500 generally included in each of the computer ex111 and the devices. The LSI ex500 may be configured of a single chip or a plurality of chips. Software for coding and decoding pictures may be integrated into some type of a recording medium (such as a CD-ROM, a flexible disk, a hard disk) that is readable by the computer ex111 and others, and the coding and decoding processes may be performed using the software. Furthermore, when the cellular phone ex114 is equipped with a camera, the moving picture data obtained by the camera may be transmitted. The video data is data coded by the LSI ex500 included in the cellular phone ex114.
Furthermore, the streaming server ex103 may be composed of servers and computers, and may decentralize data and process the decentralized data, record, or distribute data.
As described above, the clients can receive and reproduce the coded data in the content providing system ex100. In other words, the clients can receive and decode information transmitted by the user, and reproduce the decoded data in real time in the content providing system ex100, so that the user who does not have any particular right and equipment can implement personal broadcasting.
When each of the devices included in the content providing system performs coding and decoding, the picture coding method and the picture decoding method shown in Embodiment 1 may be used.
The cellular phone ex114 will be described as an example of such a device.
Next, the cellular phone ex114 will be described with reference to
When a call-end key or a power key is turned ON by a user's operation, the power supply circuit unit ex710 supplies the respective units with power from a battery pack so as to activate the cell phone ex114 that is digital and is equipped with the camera.
In the cellular phone ex114, the audio processing unit ex705 converts the audio signals collected by the audio input unit ex605 in voice conversation mode into digital audio data under the control of the main control unit ex711 including a CPU, ROM, and RAM. Then, the modem circuit unit ex706 performs spread spectrum processing on the digital audio data, and the transmitting and receiving circuit unit ex701 performs digital-to-analog conversion and frequency conversion on the data, so as to transmit the resulting data via the antenna ex601. In addition, in the cellular phone ex114, the transmitting and receiving circuit unit ex701 amplifies the data received by the antenna ex601 in voice conversation mode and performs frequency conversion and the analog-to-digital conversion on the data. Then, the modem circuit unit ex706 performs inverse spread spectrum processing on the data, and the audio processing unit ex705 converts it into analog audio data, so as to output it via the audio output unit ex608.
Furthermore, when an e-mail in data communication mode is transmitted, text data of the e-mail inputted by operating the operation keys ex604 of the main body is sent out to the main control unit ex711 via the operation input control unit ex704. The main control unit ex711 causes the modem circuit unit ex706 to perform spread spectrum processing on the text data, and the transmitting and receiving circuit unit ex701 performs the digital-to-analog conversion and the frequency conversion on the resulting data to transmit the data to the base station ex110 via the antenna ex601.
When picture data is transmitted in data communication mode, the picture data captured by the camera unit ex603 is supplied to the picture coding unit ex712 via the camera interface unit ex703. When the picture data is not transmitted, the picture data captured by the camera unit ex603 can be displayed directly on the display unit ex602 via the camera interface unit ex703 and the LCD control unit ex702.
The picture coding unit ex712 including the picture coding apparatus as described for the present invention compresses and codes the picture data supplied from the camera unit ex603 using the coding method employed by the picture coding apparatus as shown in Embodiment 1 so as to transform the data into coded picture data, and sends the data out to the multiplexing/demultiplexing unit ex708. Furthermore, the cellular phone ex114 simultaneously sends out, as digital audio data, the audio received by the audio input unit ex605 during the capturing with the camera unit ex603 to the multiplexing/demultiplexing unit ex708 via the audio processing unit ex705.
The multiplexing/demultiplexing unit ex708 multiplexes the coded picture data supplied from the picture coding unit ex712 and the audio data supplied from the audio processing unit ex705, using a predetermined method. Then, the modem circuit unit ex706 performs spread spectrum processing on the multiplexed data obtained by the multiplexing/demultiplexing unit ex708. After the digital-to-analog conversion and frequency conversion on the data, the transmitting and receiving circuit unit ex701 transmits the resulting data via the antenna ex601.
When receiving data of a video file which is linked to a Web page and others in data communication mode, the modem circuit unit ex706 performs inverse spread spectrum processing on the data received from the base station ex110 via the antenna ex601, and sends out the multiplexed data obtained as a result of the inverse spread spectrum processing to the multiplexing/demultiplexing unit ex708.
In order to decode the multiplexed data received via the antenna ex601, the multiplexing/demultiplexing unit ex708 demultiplexes the multiplexed data into a bit stream of picture data and that of audio data, and supplies the coded picture data to the picture decoding unit ex709 and the audio data to the audio processing unit ex705, respectively via the synchronous bus ex713.
Next, the picture decoding unit ex709 including the picture decoding apparatus as described for the present invention decodes the bit stream of the picture data using the decoding method corresponding to the coding method as shown in Embodiment 1 so as to generate reproduced video data, and supplies this data to the display unit ex602 via the LCD control unit ex702. Thus, the video data included in the video file linked to the Web page, for instance, is displayed. Simultaneously, the audio processing unit ex705 converts the audio data into analog audio data, and supplies the data to the audio output unit ex608. Thus, the audio data included in the video file linked to the Web page, for instance, is reproduced.
The present invention is not limited to the above-mentioned system because terrestrial or satellite digital broadcasting has been in the news lately, and at least either the picture coding apparatus or the picture decoding apparatus described in Embodiment 1 can be incorporated into a digital broadcasting system as shown in
Furthermore, the picture decoding apparatus or the picture coding apparatus as shown in Embodiment 1 can be implemented in the reader/recorder ex218 (i) for reading and decoding the video data, the audio data, or the coded bit stream obtained by multiplexing the video data and the audio data, or (ii) for coding the video data, the audio data, or the coded bit stream obtained by multiplexing the video data and the audio data and recording the resulting data as the multiplexed data on the recording medium ex215. Here, the video data and the audio data are recorded on the recording medium ex215, such as a BD and a DVD. In this case, the reproduced video signals are displayed on the monitor ex219. Furthermore, the reproduced video signals can be reproduced by another device or system, using the recording medium ex215 on which the coded bit stream is recorded. For example, another reproduction apparatus ex212 can reproduce the video signals on a monitor ex213, using a recording medium ex214 on which the coded bit stream is copied.
Furthermore, it is also possible to implement the picture decoding apparatus in the set top box ex217 connected to the cable ex203 for a cable television or the antenna ex204 for satellite and/or terrestrial broadcasting, so as to reproduce the video signals on the monitor ex219 of the television ex300. The picture decoding apparatus may be included not in the set top box but in the television ex300.
First, a configuration in which the television ex300 decodes data obtained from outside through the antenna ex204 and others and reproduces the decoded data will be described. In the television ex300, upon receipt of a user operation from a remote controller ex220 and others, the multiplexing/demultiplexing unit ex303 demultiplexes the video data and audio data demodulated by the modulation/demodulation unit ex302, under control of the control unit ex310 including a CPU. Furthermore, the audio signal processing unit ex304 decodes the demultiplexed audio data, and the video signal processing unit ex305 decodes the demultiplexed video data, using the decoding method described in Embodiment 1, in the television ex300. The output unit ex309 provides the decoded video signal and audio signal outside, respectively. When the output unit ex309 provides the video signal and the audio signal, the signals may be temporarily stored in buffers ex318 and ex319, and others so that the signals are reproduced in synchronization with each other. Furthermore, the television ex300 may read a coded bit stream not through a broadcast and others but from the recording media ex215 and ex216, such as a magnetic disk, an optical disk, and a SD card. Next, a configuration in which the television ex300 codes an audio signal and a video signal, and transmits the data outside or writes the data on a recording medium will be described. In the television ex300, upon receipt of a user operation from the remote controller ex220 and others, the audio signal processing unit ex304 codes an audio signal, and the video signal processing unit ex305 codes a video signal, under control of the control unit ex310 using the coding method as described in Embodiment 1. The multiplexing/demultiplexing unit ex303 multiplexes the coded video signal and audio signal, and provides the resulting signal outside. When the multiplexing/demultiplexing unit ex303 multiplexes the video signal and the audio signal, the signals may be temporarily stored in buffers ex320 and ex321, and others so that the signals are reproduced in synchronization with each other. Here, the buffers ex318 to ex321 may be plural as illustrated, or at least one buffer may be shared in the television ex300. Furthermore, data may be stored in a buffer other than the buffers ex318 to ex321 so that the system overflow and underflow may be avoided between the modulation/demodulation unit ex302 and the multiplexing/demultiplexing unit ex303, for example.
Furthermore, the television ex300 may include a configuration for receiving an AV input from a microphone or a camera other than the configuration for obtaining audio and video data from a broadcast or a recording medium, and may code the obtained data. Although the television ex300 can code, multiplex, and provide outside data in the description, it may be not capable of coding, multiplexing, and providing outside data but capable of only one of receiving, decoding, and providing outside data.
Furthermore, when the reader/recorder ex218 reads or writes a coded bit stream from or in a recording medium, one of the television ex300 and the reader/recorder ex218 may decode or code the coded bit stream, and the television ex300 and the reader/recorder ex218 may share the decoding or coding.
As an example,
Although the optical head ex401 irradiates a laser spot in the description, it may perform high-density recording using near field light.
Although an optical disk having a layer, such as a DVD and a BD is described as an example in the description, the optical disk is not limited to such, and may be an optical disk having a multilayer structure and capable of being recorded on a part other than the surface. Furthermore, the optical disk may have a structure for multidimensional recording/reproduction, such as recording of information using light of colors with different wavelengths in the same portion of the optical disk and recording information having different layers from various angles.
Furthermore, the car ex210 having the antenna ex205 can receive data from the satellite ex202 and others, and reproduce video on the display device such as the car navigation system ex211 set in the car ex210, in a digital broadcasting system ex200. Here, a configuration of the car navigation system ex211 will be a configuration, for example, including a GPS receiving unit from the configuration illustrated in
As such, the picture coding method and the picture decoding method in Embodiment 1 can be used in any of the devices and systems described. Thus, the advantages described in Embodiment 1 can be obtained.
Furthermore, the present invention is not limited to Embodiments, and various modifications and revisions are possible without departing from the scope of the present invention.
[Embodiment 4]
Each of the picture coding method, the picture coding apparatus, the picture decoding method, and the picture decoding apparatus in each of Embodiments is typically achieved in the form of an integrated circuit or a Large Scale Integrated (LSI) circuit. As an example of the LSI,
For example, when coding is performed, the LSI ex500 receives an AV signal from a microphone ex117, a camera ex113, and others through an AV IO ex509 under control of a control unit ex501 including a CPU ex502, a memory controller ex503, and a stream controller ex504. The received AV signal is temporarily stored in a memory ex511 outside the LSI ex500, such as an SDRAM. Under control of the control unit ex501, the stored data is subdivided into data portions according to the processing amount and speed as necessary. Then, the data portions are transmitted to a signal processing unit ex507. The signal processing unit ex507 codes an audio signal and/or a video signal. Here, the coding of the video signal is the coding described in Embodiments. Furthermore, the signal processing unit ex507 sometimes multiplexes the coded audio data and the coded video data, and a stream I/O ex506 provides the multiplexed data outside. The provided bit stream is transmitted to a base station ex107, or written on the recording medium ex215. When data sets are multiplexed, the data sets should be temporarily stored in the buffer ex508 so that the data sets are synchronized with each other.
For example, when coded data is decoded, the LSI ex500 temporarily stores, in the memory ex511, the coded data obtained from the base station ex107 through the stream I/O ex506 or read from the recording medium ex215 under control of the control unit ex501. Under control of the control unit ex501, the stored data is subdivided into data portions according to the processing amount and speed as necessary. Then, the data portions are transmitted to the signal processing unit ex507. The signal processing unit ex507 decodes audio data and/or video data. Here, the decoding of the video signal is the decoding described in Embodiments. Furthermore, a decoded audio signal and a decoded video signal may be temporarily stored in the buffer ex508 and others so that the signals can be reproduced in synchronization with each other. Each of the output units, such as the cellular phone ex114, the game machine ex115, and the television ex300 provides the decoded output signal through, for example, the memory 511 as necessary.
Although the memory ex511 is an element outside the LSI ex500 in the description, it may be included in the LSI ex500. The buffer ex508 is not limited to one buffer, but may be composed of buffers. Furthermore, the LSI ex500 may be made into one chip or a plurality of chips.
The name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
Moreover, ways to achieve integration are not limited to the LSI, and a special circuit or a general purpose processor and so forth can also achieve the integration. Field Programmable Gate Array (FPGA) that can be programmed after manufacturing LSI or a reconfigurable processor that allows re-configuration of the connection or configuration of an LSI can be used for the same purpose.
In the future, with advancement in semiconductor technology, a brand-new technology may replace LSI. The functional blocks can be integrated using such a technology. The possibility is that the present invention is applied to biotechnology.
Although the image coding method, the image decoding method, the image coding apparatus, and the image decoding apparatus in the present invention are described based on Embodiments, the present invention is not limited to such Embodiments. Various modifications to the present embodiments and forms configured by combining constituent elements in different embodiments that can be conceived by those skilled in the art without departing from the teachings of the present invention are included in the scope of the present invention.
The image coding method and the image decoding method according to the present invention can be used in various applications, and can be used in high-resolution information display devices and image-capturing devices such as televisions, digital video recorders, car navigation systems, cellular phones, digital cameras, digital video cameras, and so on.
Nishi, Takahiro, Sasai, Hisao, Shibahara, Youji, Tanikawa, Kyoko
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5298896, | Mar 15 1993 | TTI Inventions A LLC | Method and system for high order conditional entropy coding |
5666161, | Apr 26 1993 | GOOGLE LLC | Method and apparatus for creating less amount of compressd image data from compressed still image data and system for transmitting compressed image data through transmission line |
5903676, | Nov 10 1994 | WU, XIAOLIN 1% RETAINED ; CHINESE UNIVERSITY OF HONG KONG, THE 99% | Context-based, adaptive, lossless image codec |
7408487, | Feb 22 2006 | Samsung Electronics Co., Ltd. | Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding |
7742528, | Apr 26 2002 | Godo Kaisha IP Bridge 1 | Variable length encoding method and variable length decoding method |
7970059, | Apr 26 2002 | VIDEOLABS, INC | Variable length coding method and variable length decoding method |
8254707, | Dec 07 2005 | Sony Corporation | Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning |
8548027, | Nov 02 2007 | Huawei Technologies Co., Ltd. | Multi-ary error-correcting code transmitting and receiving apparatuse, data transmission system, and relevant method |
8665943, | Dec 07 2005 | Sony Corporation | Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program |
20040008130, | |||
20040184544, | |||
20050088324, | |||
20070194953, | |||
20090074052, | |||
20090092326, | |||
20100220768, | |||
CN1610265, | |||
JP2007228582, | |||
JP7273664, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 28 2014 | Panasonic Intellectual Property Corporation of America | (assignment on the face of the patent) | / | |||
Mar 30 2016 | Panasonic Intellectual Property Corporation of America | SUN PATENT TRUST | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 038299 | /0213 |
Date | Maintenance Fee Events |
Aug 19 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jul 25 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |