US9271014B2 - Image coding method, image decoding method, image coding apparatus, and image decoding apparatus - Google Patents

Image coding method, image decoding method, image coding apparatus, and image decoding apparatus Download PDF

Info

Publication number
US9271014B2
US9271014B2 US14/525,583 US201414525583A US9271014B2 US 9271014 B2 US9271014 B2 US 9271014B2 US 201414525583 A US201414525583 A US 201414525583A US 9271014 B2 US9271014 B2 US 9271014B2
Authority
US
United States
Prior art keywords
order
coding
context
signal
low
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
US14/525,583
Other versions
US20150043642A1 (en
Inventor
Hisao Sasai
Takahiro Nishi
Youji Shibahara
Kyoko Tanikawa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Patent Trust Inc
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Priority to US14/525,583 priority Critical patent/US9271014B2/en
Publication of US20150043642A1 publication Critical patent/US20150043642A1/en
Application granted granted Critical
Publication of US9271014B2 publication Critical patent/US9271014B2/en
Assigned to SUN PATENT TRUST reassignment SUN PATENT TRUST ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction

Definitions

  • the present invention relates to 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.
  • 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.
  • ITU-T International Telecommunication Union—Telecommunication Standardization Sector
  • MPEG-x 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).
  • 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.
  • 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.
  • step S 11 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 S 11 .
  • step S 12 a context control process that is in accordance with the type of the signal is performed.
  • 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.
  • step S 13 arithmetic coding is performed on the information to be processed, using the symbol occurrence probability received from step S 12 , and the result is outputted as an output signal.
  • step S 14 the value of the corresponding symbol occurrence probability is updated based on the binarized information calculated in step S 11 and stored as the symbol occurrence probability.
  • FIG. 22 is a block diagram showing a configuration of an arithmetic coding unit which shows the process for the arithmetic coding in the conventional H.264/AVC.
  • an arithmetic coding unit 10 includes a binarization unit 11 , a symbol occurrence probability storage unit 12 , a context control unit 13 , and a binary arithmetic encoder 14 .
  • 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.
  • 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.
  • the quantized coefficients are classified as different types.
  • 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.
  • the image coding method 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.
  • probability information prediction accuracy can be improved, and thus coding efficiency can be improved.
  • 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.
  • 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.
  • the coding probability information may be calculated by weighted-summation of the high-order probability information and the low-order probability information.
  • 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.
  • control signal by using the control signal, more detailed probability information can be calculated, and thus coding efficiency can be further improved.
  • the image coding method may further include coding the control signal.
  • the signal coded according to the present coding method can be correctly decoded at the decoding side.
  • 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.
  • each of the high-order probability information and the low-order probability information may be a value of a symbol occurrence probability.
  • the image decoding method 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.
  • 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.
  • the present invention can also be implemented as a program which causes a computer to execute such steps.
  • 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.
  • CD-ROM computer-readable Compact Disk-Read Only Memory
  • such program, information, data and signal may be distributed via a communication network such as the Internet.
  • 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.
  • FIG. 1 is a block diagram showing an example of a configuration of an arithmetic coding unit according to Embodiment 1 of the present invention.
  • FIG. 2 is a table showing an example of a symbol occurrence probability table according to Embodiment 1 of the present invention.
  • FIG. 3 is a table showing an example of a hierarchical context table according to Embodiment 1 of the present invention.
  • FIG. 4 is a flowchart showing an example of an arithmetic coding method according to Embodiment 1 of the present invention.
  • FIG. 5 is a flowchart showing an example of hierarchical-context control according to Embodiment 1 of the present invention.
  • FIG. 6 is a flowchart showing an example of symbol occurrence probability calculation according to Embodiment 1 of the present invention.
  • FIG. 7 is a diagram showing an example of symbol occurrence probability tables according to Embodiment 1 of the present invention.
  • FIG. 8 is a block diagram showing an example of a configuration of an image coding apparatus according to Embodiment 1 of the present invention.
  • FIG. 9 is a table showing an example of a context updating table according to Embodiment 1 of the present invention.
  • FIG. 10 is a block diagram showing an example of a configuration of an arithmetic decoding unit according to Embodiment 2 of the present invention.
  • FIG. 11 is a flowchart showing an example of an arithmetic decoding method according to Embodiment 2 of the present invention.
  • FIG. 12 is a block diagram showing an example of a configuration of an image decoding apparatus according to Embodiment 2 of the present invention.
  • FIG. 13 is a diagram of an overall configuration of a content providing system for implementing content distribution services.
  • FIG. 14 is a diagram showing an external view of a cellular phone.
  • FIG. 15 is a block diagram showing an example of a configuration of a cellular phone.
  • FIG. 16 is a schematic diagram showing an example of an overall configuration of a digital broadcasting system.
  • FIG. 17 is a block diagram showing an example of a configuration of a television.
  • FIG. 18 is a block diagram showing an example of a configuration of an information reproducing/recording unit that reads and writes information from or on a recording medium that is an optical disk.
  • FIG. 19 is a diagram showing an example of a configuration of a recording medium that is an optical disk.
  • FIG. 20 is a block diagram showing an example of a configuration of an integrated circuit for implementing the picture coding method and the picture decoding method according to each of Embodiments.
  • FIG. 21 is a flowchart showing a conventional arithmetic coding method.
  • FIG. 22 is a block diagram showing a configuration of a conventional arithmetic coding apparatus.
  • 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.
  • FIG. 1 is a block diagram showing an example of a configuration of an arithmetic coding unit 100 according to Embodiment 1 of the present invention. It should be noted that, as described later, the arithmetic coding unit 100 according to Embodiment 1 of the present invention corresponds to a part of an image coding apparatus that compression-codes image data.
  • the arithmetic coding unit 100 includes a binarization unit 101 , a symbol occurrence probability hierarchy storage unit 102 , a hierarchical-context control unit 103 , a symbol occurrence probability calculation unit 104 , and a binary arithmetic encoder 105 .
  • the arithmetic coding unit 100 generates an output signal OB by performing arithmetic coding on the input signal SI which is the signal to be coded, and outputs the output signal OB. Furthermore, signal type information SE indicating the type of the input signal SE is inputted to the arithmetic coding unit 100 .
  • 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, instead of a quantized coefficient, the input signal SI may be information used for generating a quantized coefficient.
  • 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.
  • the signal type information SE may be information indicating the prediction direction in the intra prediction.
  • the signal type information SE may be information indicating the coefficient position of the quantized coefficient.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 .
  • FIG. 2 is a table showing an example of the symbol occurrence probability table according to Embodiment 1 of the present invention.
  • the symbol occurrence probability table is a table in which contexts and symbol occurrence probabilities are associated.
  • Index (ctxIdx) in FIG. 2 denotes indexes each indicating a context, and specifically denotes indexes that are determined according to surrounding information of the macroblock currently being coded, or already-coded information inside a block, or bit location at which coding is to be performed.
  • 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.
  • 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.
  • FIG. 3 is a table showing an example of the hierarchical context table according to Embodiment 1 of the present invention.
  • the hierarchical context table is a table in which types and contexts are associated. As shown in FIG. 3 , one or two contexts are associated for each type of signal to be coded. Specifically, when context associated with a certain type is not hierarchized, one context is associated with such type. Furthermore, when the context associated with a certain type is hierarchized, two contexts are associated with such type.
  • 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.
  • the low-order context indicates a property to be classified under a condition satisfying the high-order context.
  • the context indicating “14” is a high-order context used in common for both the cases where the signal type information is “4” and “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.
  • the hierarchical-context control unit 103 obtains the probability information corresponding to the determined context, by referring to the symbol occurrence probability table.
  • 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.
  • the hierarchical-context control unit 103 determines probability information corresponding to the determined context.
  • FIG. 4 is a flowchart showing an example of the arithmetic coding method according to Embodiment 1 of the present invention. Furthermore, FIG. 4 shows arithmetic coding of one input signal (the signal to be coded). For example, one signal to be coded denotes one value of the quantized coefficients.
  • the binarization unit 101 performs, on the input signal SI which is to be the coding target, binarization corresponding to the signal type information SE indicating the type of the input signal, to generate the binary signal BIN (S 110 ).
  • the signal type information SE includes information indicating the method of binarization.
  • the Binarization is executed according to the H.264 Standard for example.
  • 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 (S 120 ). 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.
  • 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 (S 130 ). 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 (S 140 ). 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 (S 150 ). 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.
  • FIG. 5 is a flowchart showing an example of the hierarchical-context control according to Embodiment 1 of the present invention.
  • 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 (S 121 ). 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.
  • 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 (S 122 ).
  • 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 (S 123 ).
  • the hierarchical-context control unit 103 judges whether or not hierarchization is possible, using predetermined types.
  • prediction coding is used.
  • 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.
  • prediction accuracy of the symbol occurrence probability implemented according to H.264 can be improved, and thus coding efficiency can be improved.
  • 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.
  • FIG. 6 is a flowchart showing an example of the symbol occurrence probability calculation according to Embodiment 1 of the present invention.
  • 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 (S 131 ). When it is a hierarchized probability (Yes in S 131 ), the symbol occurrence probability calculation unit 104 obtains plural symbol occurrence probabilities P and PA or PB (S 132 ). 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.
  • 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 (S 133 ).
  • 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 (S 134 ).
  • symbol occurrence probability PE symbol occurrence probability of the high hierarchical level
  • 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.
  • 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.
  • control parameter may be transmitted separately through a coded stream.
  • control signal to be used in calculating the coding probability information may be coded.
  • 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.
  • the symbol occurrence probability calculation unit 104 holds symbol occurrence probability calculation tables such as those shown in FIG. 7 .
  • 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.
  • the symbol occurrence probability calculation unit 104 derives the PE according to 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.
  • 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.
  • 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.
  • 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.
  • FIG. 8 is a block diagram showing an example of a configuration of an image coding apparatus 200 according to Embodiment 1 of the present invention.
  • 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.
  • the image coding apparatus 200 includes a subtractor 205 , a transform and quantization unit 210 , an entropy coding unit 220 , an inverse-quantization and inverse-transform unit 230 , an adder 235 , a deblocking filter 240 , a memory 250 , an intra prediction unit 260 , a motion detection unit 270 , a motion compensation unit 280 , and an intra-inter changeover switch 290 .
  • 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.
  • DCT discreet cosine transform
  • 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.
  • motion data for example, a motion vector
  • the inverse-quantization and inverse-transform unit 230 inverse-quantizes the quantized coefficients to reconstruct the transformed coefficients.
  • 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 .
  • the image coding apparatus 200 performs compression-coding of image data.
  • the arithmetic coding unit 100 is included in the entropy coding unit 220 .
  • the arithmetic coding unit 100 performs binarization and arithmetic coding on the quantized coefficient as the input signal SI.
  • the signal type information SE is information indicating the coefficient position of the quantized coefficient, the motion data shown in FIG. 8 , the intra prediction direction to be used by the intra prediction unit 260 , or the like.
  • 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.
  • 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.
  • 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.
  • Embodiment 1 of the present invention when the arithmetic coding according to Embodiment 1 of the present invention is applied to an image coding apparatus and image coding method which use prediction, prediction of probability information that is in accordance with the features of the prediction method becomes possible, and thus coding efficiency can be further improved.
  • FIG. 9 is a table showing an example of a context updating table according to a modification of Embodiment 1 of the present invention.
  • the hierarchical-context control unit 103 holds, for example, a context updating table such as that shown in FIG. 9 . Then, the hierarchical-context control unit 103 updates the probability information by updating the index corresponding to the probability information (symbol occurrence probability) with reference to the context updating table in accordance with Formula 6.
  • the symbol occurrence probability PA is updated to “9” and P to “18” by referring to the table shown in FIG. 9 in accordance with Formula 6.
  • probability information can be updated by using the context updating table.
  • 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.
  • three or more contexts are associated with one type.
  • weighted sums when calculating coding probability information from three or more pieces of probability information, it is likewise possible to use weighted sums.
  • the number of calculations can be reduced through table referencing.
  • 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.
  • FIG. 10 is a block diagram showing an example of a configuration of an arithmetic decoding unit 300 according to Embodiment 2 of the present invention. It should be noted that, as described later, the arithmetic decoding unit 300 according to Embodiment 2 of the present invention corresponds to a part of an image decoding apparatus that decodes coded image data generated by compression-coding.
  • the arithmetic decoding unit 300 includes a binary arithmetic decoder 301 , a symbol occurrence probability hierarchy storage unit 302 , a hierarchical-context control unit 303 , a symbol occurrence probability calculation unit 304 , and a mufti-value conversion unit 305 .
  • the arithmetic decoding unit 300 performs arithmetic decoding on the input stream IS which is the signal to be decoded, to reconstruct and output image data. Furthermore, signal type information SE indicating the type of the input stream IS is inputted to the arithmetic decoding unit 300 .
  • 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.
  • 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.
  • 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.
  • 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 FIG. 2 . Details of the symbol occurrence probability table are the same as in Embodiment 1.
  • 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 FIG. 3 . Details of the hierarchical context table are the same as in Embodiment 1.
  • 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.
  • 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.
  • FIG. 11 is a flowchart showing an example of the arithmetic decoding method according to Embodiment 2 of the present invention. Furthermore, FIG. 11 shows the arithmetic decoding of one signal to be decoded. For example, one signal to be decoded denotes one value of the quantized coefficients.
  • the hierarchical-context control unit 303 determines the hierarchized context corresponding to the signal to be decoded (input stream IS), from among the hierarchized contexts held in the symbol occurrence probability hierarchy storage unit 302 (S 210 ).
  • the determination method here is performed in the same manner as the context determination method at the time of coding (S 120 ) according to Embodiment 1.
  • 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 (S 220 ). 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 (S 130 ) 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 (S 230 ). 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 (S 240 ). 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 (S 150 ) 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 (S 250 ).
  • FIG. 12 is a block diagram showing an example of a configuration of an image decoding apparatus 400 according to Embodiment 2 of the present invention.
  • 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.
  • the image decoding apparatus 400 includes an entropy decoding unit 410 , an inverse-quantization and inverse-transform unit 420 , an adder 425 , a deblocking filter 430 , a memory 440 , an intra prediction unit 450 , a motion compensation unit 460 , and an intra-inter changeover switch 470 .
  • 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 .
  • the image decoding apparatus 400 decodes coded image data generated by compression-coding.
  • the arithmetic decoding unit 300 is included in the entropy decoding unit 410 .
  • the arithmetic decoding unit 300 performs arithmetic-decoding and mufti-value conversion of coded image data on which prediction coding has been performed, as an input stream IS.
  • the signal type information SE is information indicating the position of the quantized coefficient, motion data, the intra prediction direction to be used by the intra prediction unit 450 , or the like.
  • 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.
  • 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.
  • 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.
  • 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.
  • FIG. 13 shows an overall configuration of a content providing system ex 100 for implementing content distribution services.
  • the area for which communication services is provided is divided into cells of desired size, and base stations ex 106 to ex 110 which are fixed wireless stations are placed in each of the cells.
  • the content providing system ex 100 is connected to devices, such as a computer ex 111 , a personal digital assistant (PDA) ex 112 , a camera ex 113 , a cellular phone ex 114 , and a game machine ex 115 , via Internet ex 101 , an Internet service provider ex 102 , a telephone network ex 104 , as well as the base stations ex 106 to ex 110 .
  • devices such as a computer ex 111 , a personal digital assistant (PDA) ex 112 , a camera ex 113 , a cellular phone ex 114 , and a game machine ex 115 , via Internet ex 101 , an Internet service provider ex 102 , a telephone network ex 104 , as well as the base stations ex 106 to ex 110 .
  • PDA personal digital assistant
  • each of the devices may be directly connected to the telephone network ex 104 , rather than via the base stations ex 106 to ex 110 which are the fixed wireless stations.
  • the devices may be interconnected to each other via short distance wireless communication and so on.
  • the camera ex 113 such as a digital video camera, is capable of capturing moving images.
  • a camera ex 116 such as a digital video camera, is capable of capturing both still images and moving images.
  • the cellular phone ex 114 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).
  • GSM Global System for Mobile Communications
  • CDMA Code Division Multiple Access
  • W-CDMA Wideband-Code Division Multiple Access
  • LTE Long Term Evolution
  • HSPA High Speed Packet Access
  • the cellular phone ex 114 may be a Personal Handyphone System (PHS) or the like.
  • PHS Personal Handyphone System
  • the camera ex 113 and others are connected to a streaming server ex 103 via the telephone network ex 104 and the base station ex 109 , which enables distribution of a live show and others.
  • a content for example, video of a music live show
  • the coded content is transmitted to the streaming server ex 103 .
  • the streaming server ex 103 carries out stream distribution of the received content data to the clients upon their requests.
  • the clients include the computer ex 111 , the PDA ex 112 , the camera ex 113 , the cellular phone ex 114 , and the game machine ex 115 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 ex 113 or the streaming server ex 103 that transmits the data, or the coding processes may be shared between the camera ex 113 and the streaming server ex 103 .
  • the distributed data may be decoded by the clients or the streaming server ex 103 , or the decoding processes may be shared between the clients and the streaming server ex 103 .
  • the data of the still images and moving images captured by not only the camera ex 113 but also the camera ex 116 may be transmitted to the streaming server ex 103 through the computer ex 111 .
  • the coding processes in this case may be performed by the camera ex 116 , the computer ex 111 , or the streaming server ex 103 , or shared among them.
  • the coding and decoding processes may be performed by an LSI ex 500 generally included in each of the computer ex 111 and the devices.
  • the LSI ex 500 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 ex 111 and others, and the coding and decoding processes may be performed using the software.
  • a recording medium such as a CD-ROM, a flexible disk, a hard disk
  • the moving picture data obtained by the camera may be transmitted.
  • the video data is data coded by the LSI ex 500 included in the cellular phone ex 114 .
  • the streaming server ex 103 may be composed of servers and computers, and may decentralize data and process the decentralized data, record, or distribute data.
  • the clients can receive and reproduce the coded data in the content providing system ex 100 .
  • the clients can receive and decode information transmitted by the user, and reproduce the decoded data in real time in the content providing system ex 100 , so that the user who does not have any particular right and equipment can implement personal broadcasting.
  • the picture coding method and the picture decoding method shown in Embodiment 1 may be used.
  • the cellular phone ex 114 will be described as an example of such a device.
  • FIG. 14 illustrates the cellular phone ex 114 that uses the picture coding method and the picture decoding method described in Embodiment 1.
  • the cellular phone ex 114 includes: an antenna ex 601 for transmitting and receiving radio waves through the base station ex 110 ; a camera unit ex 603 such as a CCD camera capable of capturing moving and still pictures; a display unit ex 602 such as a liquid crystal display for displaying the data such as decoded video captured by the camera unit ex 603 or received by the antenna ex 601 ; a main body unit including a set of operation keys ex 604 ; an audio output unit ex 608 such as a speaker for output of audio; an audio input unit ex 605 such as a microphone for input of audio; a recording medium ex 607 for recording coded or decoded data including data of captured moving or still pictures, data of received e-mails, and data of moving or still pictures; and a slot unit ex 606 for enabling the cellular phone ex 114 to attach the recording medium ex 607 .
  • the recording medium ex 607 is a medium that stores a flash memory device within a plastic case, for example, an SD Card.
  • the flash memory device is one type of Electrically Erasable and Programmable Read-Only Memory (EEPROM) which is a non-volatile memory that is electrically rewritable and erasable.
  • EEPROM Electrically Erasable and Programmable Read-Only Memory
  • a main control unit ex 711 designed to control overall each unit of the main body including the display unit ex 602 as well as the operation keys ex 604 is connected mutually, via a synchronous bus ex 713 , to a power supply circuit unit ex 710 , an operation input control unit ex 704 , a picture coding unit ex 712 , a camera interface unit ex 703 , a liquid crystal display (LCD) control unit ex 702 , a picture decoding unit ex 709 , a multiplexing/demultiplexing unit ex 708 , a recording/reproducing unit ex 707 , a modem circuit unit ex 706 , and an audio processing unit ex 705 .
  • LCD liquid crystal display
  • the power supply circuit unit ex 710 supplies the respective units with power from a battery pack so as to activate the cell phone ex 114 that is digital and is equipped with the camera.
  • the audio processing unit ex 705 converts the audio signals collected by the audio input unit ex 605 in voice conversation mode into digital audio data under the control of the main control unit ex 711 including a CPU, ROM, and RAM. Then, the modem circuit unit ex 706 performs spread spectrum processing on the digital audio data, and the transmitting and receiving circuit unit ex 701 performs digital-to-analog conversion and frequency conversion on the data, so as to transmit the resulting data via the antenna ex 601 . In addition, in the cellular phone ex 114 , the transmitting and receiving circuit unit ex 701 amplifies the data received by the antenna ex 601 in voice conversation mode and performs frequency conversion and the analog-to-digital conversion on the data. Then, the modem circuit unit ex 706 performs inverse spread spectrum processing on the data, and the audio processing unit ex 705 converts it into analog audio data, so as to output it via the audio output unit ex 608 .
  • text data of the e-mail inputted by operating the operation keys ex 604 of the main body is sent out to the main control unit ex 711 via the operation input control unit ex 704 .
  • the main control unit ex 711 causes the modem circuit unit ex 706 to perform spread spectrum processing on the text data, and the transmitting and receiving circuit unit ex 701 performs the digital-to-analog conversion and the frequency conversion on the resulting data to transmit the data to the base station ex 110 via the antenna ex 601 .
  • the picture data captured by the camera unit ex 603 is supplied to the picture coding unit ex 712 via the camera interface unit ex 703 .
  • the picture data captured by the camera unit ex 603 can be displayed directly on the display unit ex 602 via the camera interface unit ex 703 and the LCD control unit ex 702 .
  • the picture coding unit ex 712 including the picture coding apparatus as described for the present invention compresses and codes the picture data supplied from the camera unit ex 603 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 ex 708 . Furthermore, the cellular phone ex 114 simultaneously sends out, as digital audio data, the audio received by the audio input unit ex 605 during the capturing with the camera unit ex 603 to the multiplexing/demultiplexing unit ex 708 via the audio processing unit ex 705 .
  • the multiplexing/demultiplexing unit ex 708 multiplexes the coded picture data supplied from the picture coding unit ex 712 and the audio data supplied from the audio processing unit ex 705 , using a predetermined method. Then, the modem circuit unit ex 706 performs spread spectrum processing on the multiplexed data obtained by the multiplexing/demultiplexing unit ex 708 . After the digital-to-analog conversion and frequency conversion on the data, the transmitting and receiving circuit unit ex 701 transmits the resulting data via the antenna ex 601 .
  • the modem circuit unit ex 706 When receiving data of a video file which is linked to a Web page and others in data communication mode, the modem circuit unit ex 706 performs inverse spread spectrum processing on the data received from the base station ex 110 via the antenna ex 601 , and sends out the multiplexed data obtained as a result of the inverse spread spectrum processing to the multiplexing/demultiplexing unit ex 708 .
  • the multiplexing/demultiplexing unit ex 708 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 ex 709 and the audio data to the audio processing unit ex 705 , respectively via the synchronous bus ex 713 .
  • the picture decoding unit ex 709 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 ex 602 via the LCD control unit ex 702 .
  • the video data included in the video file linked to the Web page, for instance is displayed.
  • the audio processing unit ex 705 converts the audio data into analog audio data, and supplies the data to the audio output unit ex 608 .
  • the audio data included in the video file linked to the Web page, for instance, is reproduced.
  • a broadcast station ex 201 communicates or transmits, via radio waves to a broadcast satellite ex 202 , audio data, video data, or a bit stream obtained by multiplexing the audio data and the video data.
  • the broadcast satellite ex 202 Upon receipt of the bit stream, the broadcast satellite ex 202 transmits radio waves for broadcasting.
  • a home-use antenna ex 204 with a satellite broadcast reception function receives the radio waves, and a device, such as a television (receiver) ex 300 and a set top box (STB) ex 217 decodes a coded bit stream and reproduces the decoded bit stream.
  • a reader/recorder ex 218 that reads and decodes such a bit stream obtained by multiplexing picture data and audio data that are recorded on recording media ex 215 and 216 , such as a CD and a DVD may include the picture decoding apparatus as shown in Embodiment 1. In this case, the reproduced video signals are displayed on a monitor ex 219 .
  • the picture decoding apparatus in the set top box ex 217 connected to a cable ex 203 for a cable television or an antenna ex 204 for satellite and/or terrestrial broadcasting, so as to reproduce the video signals on the monitor ex 219 of the television ex 300 .
  • the picture decoding apparatus may be included not in the set top box but in the television ex 300 .
  • a car ex 210 having an antenna ex 205 can receive signals from the satellite ex 202 or the base station ex 201 for reproducing video on a display device such as a car navigation system ex 211 set in the car ex 210 .
  • the picture decoding apparatus or the picture coding apparatus as shown in Embodiment 1 can be implemented in the reader/recorder ex 218 (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 ex 215 .
  • the video data and the audio data are recorded on the recording medium ex 215 , such as a BD and a DVD.
  • the reproduced video signals are displayed on the monitor ex 219 .
  • the reproduced video signals can be reproduced by another device or system, using the recording medium ex 215 on which the coded bit stream is recorded.
  • another reproduction apparatus ex 212 can reproduce the video signals on a monitor ex 213 , using a recording medium ex 214 on which the coded bit stream is copied.
  • the picture decoding apparatus in the set top box ex 217 connected to the cable ex 203 for a cable television or the antenna ex 204 for satellite and/or terrestrial broadcasting, so as to reproduce the video signals on the monitor ex 219 of the television ex 300 .
  • the picture decoding apparatus may be included not in the set top box but in the television ex 300 .
  • FIG. 17 illustrates the television (receiver) ex 300 that uses the picture coding method and the picture decoding method described in Embodiment 1.
  • the television ex 300 includes: a tuner ex 301 that obtains or provides a bit stream of video information from and through the antenna ex 204 or the cable ex 203 , etc. that receives a broadcast; a modulation/demodulation unit ex 302 that demodulates the received coded data or modulates data into coded data to be supplied outside; and a multiplexing/demultiplexing unit ex 303 that demultiplexes the modulated data into video data and audio data, or multiplexes the coded video data and audio data into data.
  • the television ex 300 further includes: a signal processing unit ex 306 including an audio signal processing unit ex 304 and a video signal processing unit ex 305 that decode audio data and video data and code audio data and video data, respectively; a speaker ex 307 that provides the decoded audio signal; and an output unit ex 309 including a display unit ex 308 that displays the decoded video signal, such as a display.
  • the television ex 300 includes an interface unit ex 317 including an operation input unit ex 312 that receives an input of a user operation.
  • the television ex 300 includes a control unit ex 310 that controls overall each constituent element of the television ex 300 , and a power supply circuit unit ex 311 that supplies power to each of the elements.
  • the interface unit ex 317 may include: a bridge ex 313 that is connected to an external device, such as the reader/recorder ex 218 ; a slot unit ex 314 for enabling attachment of the recording medium ex 216 , such as an SD card; a driver ex 315 to be connected to an external recording medium, such as a hard disk; and a modem ex 316 to be connected to a telephone network.
  • the recording medium ex 216 can electrically record information using a non-volatile/volatile semiconductor memory element for storage.
  • the constituent elements of the television ex 300 are connected to each other through a synchronous bus.
  • the television ex 300 decodes data obtained from outside through the antenna ex 204 and others and reproduces the decoded data.
  • the multiplexing/demultiplexing unit ex 303 demultiplexes the video data and audio data demodulated by the modulation/demodulation unit ex 302 , under control of the control unit ex 310 including a CPU.
  • the audio signal processing unit ex 304 decodes the demultiplexed audio data
  • the video signal processing unit ex 305 decodes the demultiplexed video data, using the decoding method described in Embodiment 1, in the television ex 300 .
  • the output unit ex 309 provides the decoded video signal and audio signal outside, respectively.
  • the signals may be temporarily stored in buffers ex 318 and ex 319 , and others so that the signals are reproduced in synchronization with each other.
  • the television ex 300 may read a coded bit stream not through a broadcast and others but from the recording media ex 215 and ex 216 , such as a magnetic disk, an optical disk, and a SD card.
  • the recording media ex 215 and ex 216 such as a magnetic disk, an optical disk, and a SD card.
  • the audio signal processing unit ex 304 codes an audio signal
  • the video signal processing unit ex 305 codes a video signal, under control of the control unit ex 310 using the coding method as described in Embodiment 1.
  • the multiplexing/demultiplexing unit ex 303 multiplexes the coded video signal and audio signal, and provides the resulting signal outside.
  • the signals may be temporarily stored in buffers ex 320 and ex 321 , and others so that the signals are reproduced in synchronization with each other.
  • the buffers ex 318 to ex 321 may be plural as illustrated, or at least one buffer may be shared in the television ex 300 . Furthermore, data may be stored in a buffer other than the buffers ex 318 to ex 321 so that the system overflow and underflow may be avoided between the modulation/demodulation unit ex 302 and the multiplexing/demultiplexing unit ex 303 , for example.
  • the television ex 300 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.
  • the television ex 300 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.
  • the reader/recorder ex 218 when the reader/recorder ex 218 reads or writes a coded bit stream from or in a recording medium, one of the television ex 300 and the reader/recorder ex 218 may decode or code the coded bit stream, and the television ex 300 and the reader/recorder ex 218 may share the decoding or coding.
  • FIG. 18 illustrates a configuration of an information reproducing/recording unit ex 400 when data is read or written from or in an optical disk.
  • the information reproducing/recording unit ex 400 includes constituent elements ex 401 to ex 407 to be described hereinafter.
  • the optical head ex 401 irradiates a laser spot on a recording surface of the recording medium ex 215 that is an optical disk to write information, and detects reflected light from the recording surface of the recording medium ex 215 to read the information.
  • the modulation recording unit ex 402 electrically drives a semiconductor laser included in the optical head ex 401 , and modulates the laser light according to recorded data.
  • the reproduction demodulating unit ex 403 amplifies a reproduction signal obtained by electrically detecting the reflected light from the recording surface using a photo detector included in the optical head ex 401 , and demodulates the reproduction signal by separating a signal component recorded on the recording medium ex 215 to reproduce the necessary information.
  • the buffer ex 404 temporarily holds the information to be recorded on the recording medium ex 215 and the information reproduced from the recording medium ex 215 .
  • a disk motor ex 405 rotates the recording medium ex 215 .
  • a servo control unit ex 406 moves the optical head ex 401 to a predetermined information track while controlling the rotation drive of the disk motor ex 405 so as to follow the laser spot.
  • the system control unit ex 407 controls overall the information reproducing/recording unit ex 400 .
  • the reading and writing processes can be implemented by the system control unit ex 407 using various information stored in the buffer ex 404 and generating and adding new information as necessary, and by the modulation recording unit ex 402 , the reproduction demodulating unit ex 403 , and the servo control unit ex 406 that record and reproduce information through the optical head ex 401 while being operated in a coordinated manner.
  • the system control unit ex 407 includes, for example, a microprocessor, and executes processing by causing a computer to execute a program for read and write.
  • the optical head ex 401 may perform high-density recording using near field light.
  • FIG. 19 schematically illustrates the recording medium ex 215 that is the optical disk.
  • an information track ex 230 records, in advance, address information indicating an absolute position on the disk according to change in a shape of the guide grooves.
  • the address information includes information for determining positions of recording blocks ex 231 that are a unit for recording data.
  • An apparatus that records and reproduces data reproduces the information track ex 230 and reads the address information so as to determine the positions of the recording blocks.
  • the recording medium ex 215 includes a data recording area ex 233 , an inner circumference area ex 232 , and an outer circumference area ex 234 .
  • the data recording area ex 233 is an area for use in recording the user data.
  • the inner circumference area ex 232 and the outer circumference area ex 234 that are inside and outside of the data recording area ex 233 , respectively are for specific use except for recording the user data.
  • the information reproducing/recording unit 400 reads and writes coded audio data, coded video data, or coded data obtained by multiplexing the coded audio data and the coded video data, from and on the data recording area ex 233 of the recording medium ex 215 .
  • optical disk having a layer such as a DVD and a BD
  • 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.
  • 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.
  • the car ex 210 having the antenna ex 205 can receive data from the satellite ex 202 and others, and reproduce video on the display device such as the car navigation system ex 211 set in the car ex 210 , in a digital broadcasting system ex 200 .
  • a configuration of the car navigation system ex 211 will be a configuration, for example, including a GPS receiving unit from the configuration illustrated in FIG. 17 .
  • the same will be true for the configuration of the computer ex 111 , the cellular phone ex 114 , and others.
  • a terminal such as the cellular phone ex 114 may have 3 types of implementation configurations including not only (i) a transmitting and receiving terminal including both a coding apparatus and a decoding apparatus, but also (ii) a transmitting terminal including only a coding apparatus and (iii) a receiving terminal including only a decoding apparatus.
  • Embodiment 1 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.
  • FIG. 20 illustrates a configuration of the LSI ex 500 that is made into one chip.
  • the LSI ex 500 includes elements ex 501 to ex 509 to be described below, and the elements are connected to each other through a bus ex 510 .
  • the power supply circuit unit ex 505 is activated by supplying each of the elements with power when power is on.
  • the LSI ex 500 receives an AV signal from a microphone ex 117 , a camera ex 113 , and others through an AV IO ex 509 under control of a control unit ex 501 including a CPU ex 502 , a memory controller ex 503 , and a stream controller ex 504 .
  • the received AV signal is temporarily stored in a memory ex 511 outside the LSI ex 500 , such as an SDRAM.
  • 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 ex 507 .
  • the signal processing unit ex 507 codes an audio signal and/or a video signal.
  • the coding of the video signal is the coding described in Embodiments.
  • the signal processing unit ex 507 sometimes multiplexes the coded audio data and the coded video data, and a stream I/O ex 506 provides the multiplexed data outside.
  • the provided bit stream is transmitted to a base station ex 107 , or written on the recording medium ex 215 .
  • the data sets should be temporarily stored in the buffer ex 508 so that the data sets are synchronized with each other.
  • the LSI ex 500 when coded data is decoded, the LSI ex 500 temporarily stores, in the memory ex 511 , the coded data obtained from the base station ex 107 through the stream I/O ex 506 or read from the recording medium ex 215 under control of the control unit ex 501 . Under control of the control unit ex 501 , 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 ex 507 .
  • the signal processing unit ex 507 decodes audio data and/or video data.
  • the decoding of the video signal is the decoding described in Embodiments.
  • a decoded audio signal and a decoded video signal may be temporarily stored in the buffer ex 508 and others so that the signals can be reproduced in synchronization with each other.
  • Each of the output units, such as the cellular phone ex 114 , the game machine ex 115 , and the television ex 300 provides the decoded output signal through, for example, the memory 511 as necessary.
  • the memory ex 511 is an element outside the LSI ex 500 in the description, it may be included in the LSI ex 500 .
  • the buffer ex 508 is not limited to one buffer, but may be composed of buffers. Furthermore, the LSI ex 500 may be made into one chip or a plurality of chips.
  • LSI LSI
  • IC system LSI
  • super LSI ultra LSI depending on the degree of integration
  • 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.
  • 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.

Abstract

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.

Description

TECHNICAL FIELD
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.
BACKGROUND ART
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 FIG. 21 and FIG. 22.
First, the flow of arithmetic coding is described below using FIG. 21.
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.
FIG. 22 is a block diagram showing a configuration of an arithmetic coding unit which shows the process for the arithmetic coding in the conventional H.264/AVC. As shown in FIG. 22, an arithmetic coding unit 10 includes a binarization unit 11, a symbol occurrence probability storage unit 12, a context control unit 13, and a binary arithmetic encoder 14.
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.
CITATION LIST Non Patent Literature
  • [NPL 1] ISO/IEC 14496-10 “MPEG-4 Part 10, Advanced Video coding”
  • [NPL 2] Thomas Wiegand et al, “Overview of the H.264/AVC Video Coding Standard”, IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, JULY 2003, pp. 560-576
SUMMARY OF INVENTION Technical Problem
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.
Solution to Problem
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.
Advantageous Effects of Invention
The present invention is capable of performing prediction of symbol occurrence possibilities which high accuracy, and is thus capable of improving coding efficiency.
BRIEF DESCRIPTION OF DRAWINGS
FIG. 1 is a block diagram showing an example of a configuration of an arithmetic coding unit according to Embodiment 1 of the present invention.
FIG. 2 is a table showing an example of a symbol occurrence probability table according to Embodiment 1 of the present invention.
FIG. 3 is a table showing an example of a hierarchical context table according to Embodiment 1 of the present invention.
FIG. 4 is a flowchart showing an example of an arithmetic coding method according to Embodiment 1 of the present invention.
FIG. 5 is a flowchart showing an example of hierarchical-context control according to Embodiment 1 of the present invention.
FIG. 6 is a flowchart showing an example of symbol occurrence probability calculation according to Embodiment 1 of the present invention.
FIG. 7 is a diagram showing an example of symbol occurrence probability tables according to Embodiment 1 of the present invention.
FIG. 8 is a block diagram showing an example of a configuration of an image coding apparatus according to Embodiment 1 of the present invention.
FIG. 9 is a table showing an example of a context updating table according to Embodiment 1 of the present invention.
FIG. 10 is a block diagram showing an example of a configuration of an arithmetic decoding unit according to Embodiment 2 of the present invention.
FIG. 11 is a flowchart showing an example of an arithmetic decoding method according to Embodiment 2 of the present invention.
FIG. 12 is a block diagram showing an example of a configuration of an image decoding apparatus according to Embodiment 2 of the present invention.
FIG. 13 is a diagram of an overall configuration of a content providing system for implementing content distribution services.
FIG. 14 is a diagram showing an external view of a cellular phone.
FIG. 15 is a block diagram showing an example of a configuration of a cellular phone.
FIG. 16 is a schematic diagram showing an example of an overall configuration of a digital broadcasting system.
FIG. 17 is a block diagram showing an example of a configuration of a television.
FIG. 18 is a block diagram showing an example of a configuration of an information reproducing/recording unit that reads and writes information from or on a recording medium that is an optical disk.
FIG. 19 is a diagram showing an example of a configuration of a recording medium that is an optical disk.
FIG. 20 is a block diagram showing an example of a configuration of an integrated circuit for implementing the picture coding method and the picture decoding method according to each of Embodiments.
FIG. 21 is a flowchart showing a conventional arithmetic coding method.
FIG. 22 is a block diagram showing a configuration of a conventional arithmetic coding apparatus.
DESCRIPTION OF EMBODIMENTS
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. FIG. 1 is a block diagram showing an example of a configuration of an arithmetic coding unit 100 according to Embodiment 1 of the present invention. It should be noted that, as described later, the arithmetic coding unit 100 according to Embodiment 1 of the present invention corresponds to a part of an image coding apparatus that compression-codes image data.
As shown in FIG. 1, the arithmetic coding unit 100 includes a binarization unit 101, a symbol occurrence probability hierarchy storage unit 102, a hierarchical-context control unit 103, a symbol occurrence probability calculation unit 104, and a binary arithmetic encoder 105. The arithmetic coding unit 100 generates an output signal OB by performing arithmetic coding on the input signal SI which is the signal to be coded, and outputs the output signal OB. Furthermore, signal type information SE indicating the type of the input signal SE is inputted to the arithmetic coding unit 100.
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. FIG. 2 is a table showing an example of the symbol occurrence probability table according to Embodiment 1 of the present invention.
The symbol occurrence probability table is a table in which contexts and symbol occurrence probabilities are associated. Index (ctxIdx) in FIG. 2 denotes indexes each indicating a context, and specifically denotes indexes that are determined according to surrounding information of the macroblock currently being coded, or already-coded information inside a block, or bit location at which coding is to be performed.
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. FIG. 3 is a table showing an example of the hierarchical context table according to Embodiment 1 of the present invention.
The hierarchical context table is a table in which types and contexts are associated. As shown in FIG. 3, one or two contexts are associated for each type of signal to be coded. Specifically, when context associated with a certain type is not hierarchized, one context is associated with such type. Furthermore, when the context associated with a certain type is hierarchized, two contexts are associated with such type.
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 FIG. 3, when the signal type information SE is “4”, the high-order context is “14” and the low-order context is “24”. Furthermore, when the signal type information SE is “5”, the high-order context is “14” and the low-order context is “25”. In other words, in the example in FIG. 3, the context indicating “14” is a high-order context used in common for both the cases where the signal type information is “4” and “5”.
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 FIG. 1 shall be described according to the flowchart shown in FIG. 4. FIG. 4 is a flowchart showing an example of the arithmetic coding method according to Embodiment 1 of the present invention. Furthermore, FIG. 4 shows arithmetic coding of one input signal (the signal to be coded). For example, one signal to be coded denotes one value of the quantized coefficients.
As shown in FIG. 4, in the arithmetic coding method according to this embodiment, first, the binarization unit 101 performs, on the input signal SI which is to be the coding target, binarization corresponding to the signal type information SE indicating the type of the input signal, to generate the binary signal BIN (S110). It should be noted that the signal type information SE includes information indicating the method of binarization. The Binarization is executed according to the H.264 Standard for example.
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 FIG. 4 shall be described using FIG. 5. FIG. 5 is a flowchart showing an example of the hierarchical-context control according to Embodiment 1 of the present invention.
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 FIG. 4 shall be described using FIG. 6. FIG. 6 is a flowchart showing an example of the symbol occurrence probability calculation according to Embodiment 1 of the present invention.
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 FIG. 7.
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. FIG. 8 is a block diagram showing an example of a configuration of an image coding apparatus 200 according to Embodiment 1 of the present invention.
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 FIG. 8, the image coding apparatus 200 includes a subtractor 205, a transform and quantization unit 210, an entropy coding unit 220, an inverse-quantization and inverse-transform unit 230, an adder 235, a deblocking filter 240, a memory 250, an intra prediction unit 260, a motion detection unit 270, a motion compensation unit 280, and an intra-inter changeover switch 290.
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 FIG. 8, the arithmetic coding unit 100 according to Embodiment 1 of the present invention is included in the entropy coding unit 220. In other words, the arithmetic coding unit 100 performs binarization and arithmetic coding on the quantized coefficient as the input signal SI. Furthermore, the signal type information SE is information indicating the coefficient position of the quantized coefficient, the motion data shown in FIG. 8, the intra prediction direction to be used by the intra prediction unit 260, or the like.
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 FIG. 8, when the arithmetic coding according to Embodiment 1 of the present invention is applied to an image coding apparatus and image coding method which use prediction, prediction of probability information that is in accordance with the features of the prediction method becomes possible, and thus coding efficiency can be further improved.
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 FIG. 9 and Formula 6. Here, FIG. 9 is a table showing an example of a context updating table according to a modification of Embodiment 1 of the present invention.
The hierarchical-context control unit 103 holds, for example, a context updating table such as that shown in FIG. 9. Then, the hierarchical-context control unit 103 updates the probability information by updating the index corresponding to the probability information (symbol occurrence probability) with reference to the context updating table in accordance with Formula 6.
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 FIG. 9 and P=pStateIdxP is “17” in FIG. 9, the symbol occurrence probability PA is updated to “9” and P to “18” by referring to the table shown in FIG. 9 in accordance with Formula 6.
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 FIG. 3, three or more contexts are associated with one type. Furthermore, when calculating coding probability information from three or more pieces of probability information, it is likewise possible to use weighted sums. Furthermore, by also preparing a table for three or more contexts, the number of calculations can be reduced through table referencing.
[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. FIG. 10 is a block diagram showing an example of a configuration of an arithmetic decoding unit 300 according to Embodiment 2 of the present invention. It should be noted that, as described later, the arithmetic decoding unit 300 according to Embodiment 2 of the present invention corresponds to a part of an image decoding apparatus that decodes coded image data generated by compression-coding.
As shown in FIG. 10, the arithmetic decoding unit 300 includes a binary arithmetic decoder 301, a symbol occurrence probability hierarchy storage unit 302, a hierarchical-context control unit 303, a symbol occurrence probability calculation unit 304, and a mufti-value conversion unit 305. The arithmetic decoding unit 300 performs arithmetic decoding on the input stream IS which is the signal to be decoded, to reconstruct and output image data. Furthermore, signal type information SE indicating the type of the input stream IS is inputted to the arithmetic decoding unit 300.
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 FIG. 2. Details of the symbol occurrence probability table are the same as in Embodiment 1.
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 FIG. 3. Details of the hierarchical context table are the same as in Embodiment 1.
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 FIG. 10 shall be described according to the flowchart shown in FIG. 11. FIG. 11 is a flowchart showing an example of the arithmetic decoding method according to Embodiment 2 of the present invention. Furthermore, FIG. 11 shows the arithmetic decoding of one signal to be decoded. For example, one signal to be decoded denotes one value of the quantized coefficients.
As shown in FIG. 11, in the arithmetic decoding method in this embodiment, first, the hierarchical-context control unit 303 determines the hierarchized context corresponding to the signal to be decoded (input stream IS), from among the hierarchized contexts held in the symbol occurrence probability hierarchy storage unit 302 (S210). The determination method here is performed in the same manner as the context determination method at the time of coding (S120) according to Embodiment 1.
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. FIG. 12 is a block diagram showing an example of a configuration of an image decoding apparatus 400 according to Embodiment 2 of the present invention.
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 FIG. 12, the image decoding apparatus 400 includes an entropy decoding unit 410, an inverse-quantization and inverse-transform unit 420, an adder 425, a deblocking filter 430, a memory 440, an intra prediction unit 450, a motion compensation unit 460, and an intra-inter changeover switch 470.
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 FIG. 12, the arithmetic decoding unit 300 according to Embodiment 2 of the present invention is included in the entropy decoding unit 410. Specifically, the arithmetic decoding unit 300 performs arithmetic-decoding and mufti-value conversion of coded image data on which prediction coding has been performed, as an input stream IS. Furthermore, the signal type information SE is information indicating the position of the quantized coefficient, motion data, the intra prediction direction to be used by the intra prediction unit 450, or the like.
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.
FIG. 13 shows an overall configuration of a content providing system ex100 for implementing content distribution services. The area for which communication services is provided is divided into cells of desired size, and base stations ex106 to ex110 which are fixed wireless stations are placed in each of the cells.
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 FIG. 13, and a combination in which any of the elements are connected is acceptable. In addition, each of the devices may be directly connected to the telephone network ex104, rather than via the base stations ex106 to ex110 which are the fixed wireless stations. Furthermore, the devices may be interconnected to each other via short distance wireless communication and so on.
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.
FIG. 14 illustrates the cellular phone ex114 that uses the picture coding method and the picture decoding method described in Embodiment 1. The cellular phone ex114 includes: an antenna ex601 for transmitting and receiving radio waves through the base station ex110; a camera unit ex603 such as a CCD camera capable of capturing moving and still pictures; a display unit ex602 such as a liquid crystal display for displaying the data such as decoded video captured by the camera unit ex603 or received by the antenna ex601; a main body unit including a set of operation keys ex604; an audio output unit ex608 such as a speaker for output of audio; an audio input unit ex605 such as a microphone for input of audio; a recording medium ex607 for recording coded or decoded data including data of captured moving or still pictures, data of received e-mails, and data of moving or still pictures; and a slot unit ex606 for enabling the cellular phone ex114 to attach the recording medium ex607. The recording medium ex607 is a medium that stores a flash memory device within a plastic case, for example, an SD Card. The flash memory device is one type of Electrically Erasable and Programmable Read-Only Memory (EEPROM) which is a non-volatile memory that is electrically rewritable and erasable.
Next, the cellular phone ex114 will be described with reference to FIG. 15. In the cellular phone ex114, a main control unit ex711 designed to control overall each unit of the main body including the display unit ex602 as well as the operation keys ex604 is connected mutually, via a synchronous bus ex713, to a power supply circuit unit ex710, an operation input control unit ex704, a picture coding unit ex712, a camera interface unit ex703, a liquid crystal display (LCD) control unit ex702, a picture decoding unit ex709, a multiplexing/demultiplexing unit ex708, a recording/reproducing unit ex707, a modem circuit unit ex706, and an audio processing unit ex705.
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 FIG. 16. More specifically, a broadcast station ex201 communicates or transmits, via radio waves to a broadcast satellite ex202, audio data, video data, or a bit stream obtained by multiplexing the audio data and the video data. Upon receipt of the bit stream, the broadcast satellite ex202 transmits radio waves for broadcasting. Then, a home-use antenna ex204 with a satellite broadcast reception function receives the radio waves, and a device, such as a television (receiver) ex300 and a set top box (STB) ex217 decodes a coded bit stream and reproduces the decoded bit stream. Furthermore, a reader/recorder ex218 that reads and decodes such a bit stream obtained by multiplexing picture data and audio data that are recorded on recording media ex215 and 216, such as a CD and a DVD may include the picture decoding apparatus as shown in Embodiment 1. In this case, the reproduced video signals are displayed on a monitor ex219. It is also possible to implement the picture decoding apparatus in the set top box ex217 connected to a cable ex203 for a cable television or an 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. Also, a car ex210 having an antenna ex205 can receive signals from the satellite ex202 or the base station ex201 for reproducing video on a display device such as a car navigation system ex211 set in the car ex210.
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.
FIG. 17 illustrates the television (receiver) ex300 that uses the picture coding method and the picture decoding method described in Embodiment 1. The television ex300 includes: a tuner ex301 that obtains or provides a bit stream of video information from and through the antenna ex204 or the cable ex203, etc. that receives a broadcast; a modulation/demodulation unit ex302 that demodulates the received coded data or modulates data into coded data to be supplied outside; and a multiplexing/demultiplexing unit ex303 that demultiplexes the modulated data into video data and audio data, or multiplexes the coded video data and audio data into data. The television ex300 further includes: a signal processing unit ex306 including an audio signal processing unit ex304 and a video signal processing unit ex305 that decode audio data and video data and code audio data and video data, respectively; a speaker ex307 that provides the decoded audio signal; and an output unit ex309 including a display unit ex308 that displays the decoded video signal, such as a display. Furthermore, the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user operation. Furthermore, the television ex300 includes a control unit ex310 that controls overall each constituent element of the television ex300, and a power supply circuit unit ex311 that supplies power to each of the elements. Other than the operation input unit ex312, the interface unit ex317 may include: a bridge ex313 that is connected to an external device, such as the reader/recorder ex218; a slot unit ex314 for enabling attachment of the recording medium ex216, such as an SD card; a driver ex315 to be connected to an external recording medium, such as a hard disk; and a modem ex316 to be connected to a telephone network. Here, the recording medium ex216 can electrically record information using a non-volatile/volatile semiconductor memory element for storage. The constituent elements of the television ex300 are connected to each other through a synchronous bus.
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, FIG. 18 illustrates a configuration of an information reproducing/recording unit ex400 when data is read or written from or in an optical disk. The information reproducing/recording unit ex400 includes constituent elements ex401 to ex407 to be described hereinafter. The optical head ex401 irradiates a laser spot on a recording surface of the recording medium ex215 that is an optical disk to write information, and detects reflected light from the recording surface of the recording medium ex215 to read the information. The modulation recording unit ex402 electrically drives a semiconductor laser included in the optical head ex401, and modulates the laser light according to recorded data. The reproduction demodulating unit ex403 amplifies a reproduction signal obtained by electrically detecting the reflected light from the recording surface using a photo detector included in the optical head ex401, and demodulates the reproduction signal by separating a signal component recorded on the recording medium ex215 to reproduce the necessary information. The buffer ex404 temporarily holds the information to be recorded on the recording medium ex215 and the information reproduced from the recording medium ex215. A disk motor ex405 rotates the recording medium ex215. A servo control unit ex406 moves the optical head ex401 to a predetermined information track while controlling the rotation drive of the disk motor ex405 so as to follow the laser spot. The system control unit ex407 controls overall the information reproducing/recording unit ex400. The reading and writing processes can be implemented by the system control unit ex407 using various information stored in the buffer ex404 and generating and adding new information as necessary, and by the modulation recording unit ex402, the reproduction demodulating unit ex403, and the servo control unit ex406 that record and reproduce information through the optical head ex401 while being operated in a coordinated manner. The system control unit ex407 includes, for example, a microprocessor, and executes processing by causing a computer to execute a program for read and write.
Although the optical head ex401 irradiates a laser spot in the description, it may perform high-density recording using near field light.
FIG. 19 schematically illustrates the recording medium ex215 that is the optical disk. On the recording surface of the recording medium ex215, guide grooves are spirally formed, and an information track ex230 records, in advance, address information indicating an absolute position on the disk according to change in a shape of the guide grooves. The address information includes information for determining positions of recording blocks ex231 that are a unit for recording data. An apparatus that records and reproduces data reproduces the information track ex230 and reads the address information so as to determine the positions of the recording blocks. Furthermore, the recording medium ex215 includes a data recording area ex233, an inner circumference area ex232, and an outer circumference area ex234. The data recording area ex233 is an area for use in recording the user data. The inner circumference area ex232 and the outer circumference area ex234 that are inside and outside of the data recording area ex233, respectively are for specific use except for recording the user data. The information reproducing/recording unit 400 reads and writes coded audio data, coded video data, or coded data obtained by multiplexing the coded audio data and the coded video data, from and on the data recording area ex233 of the recording medium ex215.
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 FIG. 17. The same will be true for the configuration of the computer ex111, the cellular phone ex114, and others. Furthermore, similarly to the television ex300, a terminal such as the cellular phone ex114 may have 3 types of implementation configurations including not only (i) a transmitting and receiving terminal including both a coding apparatus and a decoding apparatus, but also (ii) a transmitting terminal including only a coding apparatus and (iii) a receiving terminal including only a decoding apparatus.
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, FIG. 20 illustrates a configuration of the LSI ex500 that is made into one chip. The LSI ex500 includes elements ex501 to ex509 to be described below, and the elements are connected to each other through a bus ex510. The power supply circuit unit ex505 is activated by supplying each of the elements with power when power is on.
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.
INDUSTRIAL APPLICABILITY
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.
REFERENCE SIGNS
  • 10, 100 Arithmetic coding unit
  • 11, 101 Binarization unit
  • 12 Symbol occurrence probability storage unit
  • 13 Context control unit
  • 14, 105 Binary arithmetic encoder
  • 102 Symbol occurrence probability hierarchy storage unit
  • 103 Hierarchical-context control unit
  • 104 Symbol occurrence probability calculation unit
  • 200 Image coding apparatus
  • 205 Subtractor
  • 210 Transform and quantization unit
  • 220 Entropy coding unit
  • 230, 420 Inverse-quantization and inverse-transform unit
  • 235, 425 Adder
  • 240, 430 Deblocking filter
  • 250, 440 Memory
  • 260, 450 Intra prediction unit
  • 270 Motion detection unit
  • 280, 460 Motion compensation unit
  • 290, 470 Intra-inter changeover switch
  • 300 Arithmetic decoding unit
  • 301 Binary arithmetic decoder
  • 302 Symbol occurrence probability hierarchy storage unit
  • 303 Hierarchical-context control unit
  • 304 Symbol occurrence probability calculation unit
  • 305 Mufti-value conversion unit
  • 400 Image decoding apparatus
  • 410 Entropy decoding unit
  • ex100 Content providing system
  • ex101 Internet
  • ex102 Internet service provider
  • ex103 Streaming server
  • ex104 Telephone network
  • ex106, ex107, ex108, ex109, ex110 Base station
  • ex111 Computer
  • ex112 PDA
  • ex113, ex116 Camera
  • ex114 Cellular phone equipped with camera (cellular phone)
  • ex115 Game machine
  • ex117 Microphone
  • ex200 Digital broadcasting system
  • ex201 Broadcast station
  • ex202 Broadcast satellite (satellite)
  • ex203 Cable
  • ex204, ex205, ex601 Antenna
  • ex210 Car
  • ex211 Car navigation system
  • ex212 Reproduction apparatus
  • ex213, ex219 Monitor
  • ex214, ex215, ex216, ex607 Recording medium
  • ex217 Set top box (STB)
  • ex218 Reader/recorder
  • ex220 Remote controller
  • ex230 Information track
  • ex231 Recording blocks
  • ex232 Inner circumference area
  • ex233 Data recording area
  • ex234 Outer circumference area
  • ex300 Television
  • ex301 Tuner
  • ex302 Modulation/demodulation unit
  • ex303 Multiplexing/demultiplexing unit
  • ex304 Audio signal processing unit
  • ex305 Video signal processing unit
  • ex306, ex507 Signal processing unit
  • ex307 Speaker
  • ex308, ex602 Display unit
  • ex309 Output unit
  • ex310, ex501 Control unit
  • ex311, ex505, ex710 Power supply circuit unit
  • ex312 Operation input unit
  • ex313 Bridge
  • ex314, ex606 Slot unit
  • ex315 Driver
  • ex316 Modem
  • ex317 Interface unit
  • ex318, ex319, ex320, ex321, ex404, ex508 Buffer
  • ex400 Information reproducing/recording unit
  • ex401 Optical head
  • ex402 Modulation recording unit
  • ex403 Reproduction demodulating unit
  • ex405 Disk motor
  • ex406 Servo control unit
  • ex407 System control unit
  • ex500 LSI
  • ex502 CPU
  • ex503 Memory controller
  • ex504 Stream controller
  • ex506 Stream I/O
  • ex509 AV IO
  • ex510 Bus
  • ex603 Camera unit
  • ex604 Operation keys
  • ex605 Audio input unit
  • ex608 Audio output unit
  • ex701 Transmitting and receiving circuit unit
  • ex702 LCD control unit
  • ex703 Camera interface unit (camera I/F unit)
  • ex704 Operation input control unit
  • ex705 Audio processing unit
  • ex706 Modem circuit unit
  • ex707 Recording/reproducing unit
  • ex708 Multiplexing/demultiplexing unit
  • ex709 Picture decoding unit
  • ex711 Main control unit
  • ex712 Picture coding unit
  • ex713 Synchronous bus

Claims (10)

The invention claimed:
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.
2. The image coding method according to claim 1, further comprising obtaining type information indicating the type of the signal to be coded,
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 claim 1, wherein in said calculating, the coding probability information is calculated by weighted-summation of the first high-order probability information and the first low-order probability information.
4. The image coding method according to claim 1, further comprising obtaining a control signal to be used in the calculation of the coding probability information,
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.
5. The image coding method according to claim 4, further comprising coding the control signal.
6. The image coding method according to claim 1, wherein the first high-order probability information and the first low-order probability information is an index indicating a value of a symbol occurrence probability.
7. The image coding method according to claim 1, wherein the first high-order probability information and the first low-order probability information is a value of a symbol occurrence probability.
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.
9. The image coding apparatus according to claim 8, wherein said image coding apparatus is configured as an integrated circuit.
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 claim 1.
US14/525,583 2009-11-02 2014-10-28 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus Active US9271014B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/525,583 US9271014B2 (en) 2009-11-02 2014-10-28 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2009-252453 2009-11-02
JP2009252453 2009-11-02
PCT/JP2010/006440 WO2011052234A1 (en) 2009-11-02 2010-11-01 Image encoding method, image decoding method, image encoding device and image decoding device
US201213504250A 2012-04-26 2012-04-26
US14/525,583 US9271014B2 (en) 2009-11-02 2014-10-28 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2010/006440 Division WO2011052234A1 (en) 2009-11-02 2010-11-01 Image encoding method, image decoding method, image encoding device and image decoding device
US13/504,250 Division US8942493B2 (en) 2009-11-02 2010-11-01 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus

Publications (2)

Publication Number Publication Date
US20150043642A1 US20150043642A1 (en) 2015-02-12
US9271014B2 true US9271014B2 (en) 2016-02-23

Family

ID=43921666

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/504,250 Active 2030-12-16 US8942493B2 (en) 2009-11-02 2010-11-01 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
US14/525,583 Active US9271014B2 (en) 2009-11-02 2014-10-28 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/504,250 Active 2030-12-16 US8942493B2 (en) 2009-11-02 2010-11-01 Image coding method, image decoding method, image coding apparatus, and image decoding apparatus

Country Status (4)

Country Link
US (2) US8942493B2 (en)
JP (1) JP5679980B2 (en)
CN (1) CN102598661B (en)
WO (1) WO2011052234A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5790501B2 (en) * 2009-09-02 2015-10-07 日本電気株式会社 Data supply apparatus, system and method, and computer program
US8755620B2 (en) * 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
US8687904B2 (en) 2011-01-14 2014-04-01 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US8754792B2 (en) * 2012-07-14 2014-06-17 Sigma Designs, Inc. System and method for fixed rate entropy coded scalar quantization
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
CN113256744B (en) * 2020-02-10 2023-03-24 武汉Tcl集团工业研究院有限公司 Image coding and decoding method and system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298896A (en) * 1993-03-15 1994-03-29 Bell Communications Research, Inc. Method and system for high order conditional entropy coding
JPH07273664A (en) 1994-03-31 1995-10-20 Mitsubishi Electric Corp Coding and decoding device, coder and decoder
US5666161A (en) * 1993-04-26 1997-09-09 Hitachi, Ltd. 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
US5903676A (en) 1994-11-10 1999-05-11 The Chinese University Of Hong Kong Context-based, adaptive, lossless image codec
US20040008130A1 (en) 2002-07-12 2004-01-15 Yang En-Hui Method for lossless data compression using greedy sequential context-dependent grammar transform
US20040184544A1 (en) * 2002-04-26 2004-09-23 Satoshi Kondo Variable length encoding method and variable length decoding method
CN1610265A (en) 2003-10-22 2005-04-27 松下电器产业株式会社 Arithmetic decoding/encoding device, portable terminal, moving image photographic and recording / reproducing apparatus
US20070194953A1 (en) 2006-02-22 2007-08-23 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
US20090074052A1 (en) * 2005-12-07 2009-03-19 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US20090092326A1 (en) * 2005-12-07 2009-04-09 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US20100220768A1 (en) * 2007-11-02 2010-09-02 Huawei Technologies Co., Ltd. Multi-ary error-correcting code transmitting and receiving apparatuse, data transmission system, and relevant method

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298896A (en) * 1993-03-15 1994-03-29 Bell Communications Research, Inc. Method and system for high order conditional entropy coding
US5666161A (en) * 1993-04-26 1997-09-09 Hitachi, Ltd. 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
JPH07273664A (en) 1994-03-31 1995-10-20 Mitsubishi Electric Corp Coding and decoding device, coder and decoder
US5903676A (en) 1994-11-10 1999-05-11 The Chinese University Of Hong Kong Context-based, adaptive, lossless image codec
US20040184544A1 (en) * 2002-04-26 2004-09-23 Satoshi Kondo Variable length encoding method and variable length decoding method
US7970059B2 (en) * 2002-04-26 2011-06-28 Panasonic Corporation Variable length coding method and variable length decoding method
US7742528B2 (en) 2002-04-26 2010-06-22 Panasonic Corporation Variable length encoding method and variable length decoding method
US20040008130A1 (en) 2002-07-12 2004-01-15 Yang En-Hui Method for lossless data compression using greedy sequential context-dependent grammar transform
CN1610265A (en) 2003-10-22 2005-04-27 松下电器产业株式会社 Arithmetic decoding/encoding device, portable terminal, moving image photographic and recording / reproducing apparatus
US20050088324A1 (en) 2003-10-22 2005-04-28 Ikuo Fuchigami Device for arithmetic decoding/encoding, and device using the same
US20090092326A1 (en) * 2005-12-07 2009-04-09 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US20090074052A1 (en) * 2005-12-07 2009-03-19 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US8254707B2 (en) * 2005-12-07 2012-08-28 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program in interlace scanning
US8665943B2 (en) * 2005-12-07 2014-03-04 Sony Corporation Encoding device, encoding method, encoding program, decoding device, decoding method, and decoding program
US7408487B2 (en) 2006-02-22 2008-08-05 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
JP2007228582A (en) 2006-02-22 2007-09-06 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
US20070194953A1 (en) 2006-02-22 2007-08-23 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
US20100220768A1 (en) * 2007-11-02 2010-09-02 Huawei Technologies Co., Ltd. Multi-ary error-correcting code transmitting and receiving apparatuse, data transmission system, and relevant method
US8548027B2 (en) * 2007-11-02 2013-10-01 Huawei Technologies Co., Ltd. Multi-ary error-correcting code transmitting and receiving apparatuse, data transmission system, and relevant method

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
International Search Report issued Dec. 14, 2010 in corresponding International Application No. PCT/JP2010/006440.
International Standard, ISO/IEC 14496-10, "Information technology-Coding of audio-visual objects-Part 10: Advanced Video Coding", Second Edition, Oct. 1, 2004, pp. 1-267.
Japanese Office Action mailed Sep. 9, 2014, in corresponding Japanese Application No. 2011-538269.
Masayuki Hashimoto et al., "Hierarchical Image Coding and Transmission Scheme for Telemedicine Using Segmented Haar Wavelet Transform and Golomb-Rice Codes", Journal of the Institute of Electronics, Information and Communication Engineers D-II, vol. J83-D-II, No. 1, Jan. 2000, pp. 303-310 (with English translation).
Office Action issued May 4, 2014 in corresponding Chinese Application No. 201080048375.5 (with partial English translation).
Thomas Wiegand et al., "Overview of the H.264/AVC Video Coding Standard", IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, No. 7, Jul. 2003, pp. 560-576.
Thomas Wiegand, "Joint Final Committee Draft (JFCD) of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC)", Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, Aug. 10, 2002, pp. 92-112.

Also Published As

Publication number Publication date
US20120219230A1 (en) 2012-08-30
US20150043642A1 (en) 2015-02-12
WO2011052234A1 (en) 2011-05-05
JPWO2011052234A1 (en) 2013-03-14
CN102598661B (en) 2015-04-15
JP5679980B2 (en) 2015-03-04
US8942493B2 (en) 2015-01-27
CN102598661A (en) 2012-07-18

Similar Documents

Publication Publication Date Title
US11770536B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9369718B2 (en) Decoding method, decoding apparatus, coding method, and coding apparatus using a quantization matrix
US10631014B2 (en) Image coding method, image coding apparatus, image decoding method and image decoding apparatus
US8902985B2 (en) Image coding method and image coding apparatus for determining coding conditions based on spatial-activity value
US8687904B2 (en) Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding
US8923634B2 (en) Image coding method, image coding apparatus, image decoding method and image decoding apparatus
US20120207400A1 (en) Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9271014B2 (en) Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
US20110249755A1 (en) Moving image coding method, moving image decoding method, moving image coding apparatus, moving image decoding apparatus, program, and integrated circuit
US10602193B2 (en) Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US9497458B2 (en) Image coding method, image decoding method, image coding apparatus, image decoding apparatus, program, and integrated ciruit
US20110176740A1 (en) Image coding method, image coding apparatus, program, and integrated circuit

Legal Events

Date Code Title Description
STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: SUN PATENT TRUST, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA;REEL/FRAME:038299/0213

Effective date: 20160330

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8