JP2006345348A - Video decoding device - Google Patents
Video decoding device Download PDFInfo
- Publication number
- JP2006345348A JP2006345348A JP2005170630A JP2005170630A JP2006345348A JP 2006345348 A JP2006345348 A JP 2006345348A JP 2005170630 A JP2005170630 A JP 2005170630A JP 2005170630 A JP2005170630 A JP 2005170630A JP 2006345348 A JP2006345348 A JP 2006345348A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processing
- decoding
- arithmetic
- arithmetically
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
本発明は、符号化された画像信号を復号化する画像復号化装置に関するものである。 The present invention relates to an image decoding apparatus that decodes an encoded image signal.
地上波アナログ放送方式および衛星放送方式のデジタル化などのAV機器のデジタル化に伴って、情報量の多い画像データをデジタル信号で効率的に通信するために、動画像圧縮技術が用いられている。 With digitalization of AV equipment such as digitalization of terrestrial analog broadcasting and satellite broadcasting, moving image compression technology is used to efficiently communicate image data with a large amount of information using digital signals. .
動画像圧縮技術の代表的なものとして、MPEG(Moving Picture Exisperts Group)による方式がある。これはISO/IECにおいて議論され、国際標準化されたもので、画面間や画面内の相関を利用してデータ量を圧縮する符号化方式であり、差分符号化や変換符号化されたデータをエントロピー符号化することによってデータを圧縮する符号化方式である。このエントロピー符号化方法の1つとして、算術符号化が用いられている。 As a typical moving image compression technique, there is a method based on MPEG (Moving Picture Experts Group). This is an encoding method that is discussed in ISO / IEC and internationally standardized and compresses the amount of data using correlation between screens and within screens. Entropy is used for differentially encoded data and transform encoded data. This is an encoding method in which data is compressed by encoding. As one of the entropy encoding methods, arithmetic encoding is used.
以下では、算術符号化の概要について述べる。 In the following, an outline of arithmetic coding will be described.
一般に、複数のシンボルを組み合わせた情報源の系列(シンボル系列)に対して算術符号化を行う場合、まず、[0,1)の数直線(確率数直線)上において、それぞれのシンボルに対して、出現確率に応じた区間が割り当てられる。このシンボルと数直線上の区間との対応関係を表したものは確率テーブルと呼ばれ、算術符号化によるエントロピー符号化では、この確率テーブルを参照することによって、シンボル系列を数直線上で表現した符号語が生成される。 In general, when performing arithmetic coding on an information source sequence (symbol sequence) in which a plurality of symbols are combined, first, on each number symbol (0, 1) on the number line (probability number line), A section corresponding to the appearance probability is assigned. The relationship between the symbol and the interval on the number line is called a probability table. In entropy coding by arithmetic coding, the symbol sequence is expressed on the number line by referring to this probability table. A codeword is generated.
以下では、算術符号化について具体例を用いて説明する。 Hereinafter, arithmetic coding will be described using a specific example.
図6に算術符号化の概念図を示す。文字a、b、cの3種類のシンボルが存在し、各シンボルの出現確率が0.5、0.25、0.25であるときに、文字列「abac」を符号化する場合について説明する。まず、[0,1)の領域を各文字の出現確率に応じて比例配分する。各文字の出現確率はa、b、cそれぞれ0.5、0.25、0.25であるので、「a」の領域は[0,0.5)、「b」の領域は[0.5,0.75)、「c」の領域は[0.75,1)となる。次に、文字列「abac」における1文字目の「a」の領域である[0,0.5)の領域を、再び各文字の出現確率に応じて比例配分する。これにより、「a」の領域は[0,0.25)、「b」の領域は[0.25,0.375)、「c」の領域は[0.375,0.5)となる。次に、2文字目の「b」の領域である[0.25,0.375)の領域を、出現確率に応じて比例配分する。これにより、「a」の領域は[0.25,0.3125)、「b」の領域は[0.3125,0.34375)、「c」の領域は[0.34375,0.375)となる。次に、3文字目の「a」の領域である[0.25,0.3125)の領域を、出現確率に応じて比例配分する。これにより、「a」の領域は[0.25,0.28125)、「b」の領域は[0.28125,0.296875)、「c」の領域は[0.296875,0.3125)となる。ここで、4文字目の「c」の領域である[0.296875,0.3125)が、文字列「abac」を表しており、算術符号化した結果(符号語)となる。 FIG. 6 shows a conceptual diagram of arithmetic coding. A case where the character string “abac” is encoded when there are three types of symbols a, b, and c and the appearance probabilities of the symbols are 0.5, 0.25, and 0.25 will be described. . First, the area of [0, 1) is proportionally distributed according to the appearance probability of each character. Since the appearance probability of each character is 0.5, 0.25, and 0.25 respectively for a, b, and c, the area “a” is [0, 0.5), and the area “b” is [0. 5,0.75), and the area of “c” is [0.75,1). Next, the area of [0, 0.5) that is the area of the first character “a” in the character string “abac” is again proportionally distributed according to the appearance probability of each character. As a result, the area “a” is [0, 0.25), the area “b” is [0.25, 0.375), and the area “c” is [0.375, 0.5). . Next, the area of [0.25, 0.375) that is the area of “b” of the second character is proportionally distributed according to the appearance probability. Accordingly, the region “a” is [0.25, 0.3125), the region “b” is [0.3125, 0.34375), and the region “c” is [0.34375, 0.375). It becomes. Next, the area of [0.25, 0.3125) that is the area of the third character “a” is proportionally distributed according to the appearance probability. Thus, the region “a” is [0.25, 0.28125), the region “b” is [0.28125, 0.296875), and the region “c” is [0.296875, 0.3125). It becomes. Here, the area “c” of the fourth character [0.296875, 0.3125] represents the character string “abac”, which is the result of arithmetic coding (codeword).
以下では、算術符号化されたシンボルの復号化について具体例を用いて説明する。 Hereinafter, decoding of arithmetically encoded symbols will be described using a specific example.
上述の算術符号化の例で生成した符号語である、領域[0.296875,0.3125)から、文字列「abac」を復号化する場合について説明する。算術復号化に際し、各文字の出現確率と、算術符号化によって生成された符号語である、領域[0.296875,0.3125)(以下この領域をRとする)が与えられている。まず、[0,1)の領域を各文字の出現確率に応じて比例配分する。各文字の出現確率はa、b、cそれぞれ0.5、0.25、0.25であるので、「a」の領域は[0,0.5)、「b」の領域は[0.5,0.75)、「c」の領域は[0.75,1)となる。ここで示された各領域の中で、領域Rが含まれているのは文字「a」の領域であり、先頭の文字が「a」であることが導き出される。次に、導き出された文字「a」の領域である[0,0.5)の領域を、再び各文字の出現確率に応じて比例配分する。これにより、「a」の領域は[0,0.25)、「b」の領域は[0.25,0.375)、「c」の領域は[0.375,0.5)となる。ここで示された各領域の中で、領域Rが含まれているのは文字「b」の領域であり、2番目の文字が「b」であることが導き出される。次に、導き出された文字「b」の領域である[0.25,0.375)の領域を、出現確率に応じて比例配分する。これにより、「a」の領域は[0.25,0.3125)、「b」の領域は[0.3125,0.34375)、「c」の領域は[0.34375,0.375)となる。以下この手順を繰り返し、最終的に文字列「abac」が導き出される。 The case where the character string “abac” is decoded from the region [0.296875, 0.3125), which is the code word generated in the above-described arithmetic coding example, will be described. At the time of arithmetic decoding, the appearance probability of each character and a region [0.296875, 0.3125] (hereinafter, this region is referred to as R), which is a code word generated by arithmetic coding, are given. First, the area of [0, 1) is proportionally distributed according to the appearance probability of each character. Since the appearance probability of each character is 0.5, 0.25, and 0.25 respectively for a, b, and c, the area “a” is [0, 0.5), and the area “b” is [0. 5,0.75), and the area of “c” is [0.75,1). Among the regions shown here, the region R is included in the region of the character “a”, and it is derived that the leading character is “a”. Next, the area of [0, 0.5) that is the area of the derived character “a” is again proportionally distributed according to the appearance probability of each character. As a result, the area “a” is [0, 0.25), the area “b” is [0.25, 0.375), and the area “c” is [0.375, 0.5). . Among the regions shown here, the region R is included in the region of the character “b”, and it is derived that the second character is “b”. Next, the area of [0.25, 0.375) that is the area of the derived character “b” is proportionally distributed according to the appearance probability. Accordingly, the region “a” is [0.25, 0.3125), the region “b” is [0.3125, 0.34375), and the region “c” is [0.34375, 0.375). It becomes. Thereafter, this procedure is repeated, and finally the character string “abac” is derived.
このように、算術符号化を用いたシンボル系列のエントロピー符号化では、各シンボルと数直線上の区間とを対応付けることによって、任意のシンボル系列を[0,1)の数直線上の符号語によって表現することができる。 Thus, in entropy coding of a symbol sequence using arithmetic coding, an arbitrary symbol sequence can be represented by a codeword on the number line [0, 1) by associating each symbol with a section on the number line. Can be expressed.
さらに、シンボルと区間とを対応付ける確率テーブルを各シンボルの出現頻度に応じて、適応的に変更することによって、符号化によるデータ圧縮効率を向上することができる。 Furthermore, the data compression efficiency by encoding can be improved by adaptively changing the probability table for associating symbols with sections according to the appearance frequency of each symbol.
以下では、各シンボルの出現頻度に応じて適応的に確率テーブルを変更する場合の算術符号化について具体例を用いて説明する。 Hereinafter, arithmetic coding when the probability table is adaptively changed according to the appearance frequency of each symbol will be described using a specific example.
図7に適応的に確率テーブルを変更する場合の算術符号化の概念図を示す。文字a、b、cの3種類のシンボルが存在し、各シンボルの初期出現確率が同じ(全て1/3)で、初期出現頻度が全て1であるときに、文字列「abac」を符号化する場合について説明する。まず、[0,1)の領域を各文字の出現確率に応じて比例配分する。各文字の初期出現確率は全て1/3であるので、「a」の領域は[0,1/3)、「b」の領域は[1/3,2/3)、「c」の領域は[2/3,1)となる。ここで、1文字目が「a」であるため、「a」の出現頻度を1加算し、2とする。次に、文字列「abac」における1文字目の「a」の領域である[0,1/3)の領域を、この時点での各文字の出現確率に応じて比例配分する。この時点では、文字「a」の出現頻度が2であるのに対して、文字「b」と「c」の出現頻度は1であるので、各文字の出現確率は、a、b、cそれぞれ2/4、1/4、1/4となる。これにより、「a」の領域は[0,2/12)、「b」の領域は[2/12,3/12)、「c」の領域は[3/12,4/12)となる。次に、2文字目が「b」であるため、「b」の出現頻度を1加算し、2とする。2文字目の「b」の領域である[2/12,3/12)の領域を、この時点での各文字の出現確率に応じて比例配分する。この時点では、文字「a」と「b」の出現頻度が2であるのに対して、文字「c」の出現頻度は1であるので、各文字の出現確率は、a、b、cそれぞれ2/5、2/5、1/5となる。これにより、「a」の領域は[10/60,12/60)、「b」の領域は[12/60,14/60)、「c」の領域は[14/60,15/60)となる。次に、3文字目が「a」であるため、「a」の出現頻度を1加算し、3とする。3文字目の「a」の領域である[10/60,12/60)の領域を、この時点での各文字の出現確率に応じて比例配分する。この時点では、文字「a」の出現頻度が3、文字「b」の出現頻度は2、文字「c」の出現頻度は1であるので、各文字の出現確率は、a、b、cそれぞれ3/6、2/6、1/6となる。これにより、「a」の領域は[30/180,33/180)、「b」の領域は[33/180,35/180)、「c」の領域は[35/180,36/180)となる。ここで、4文字目の「c」の領域である[35/180,36/180)が、文字列「abac」を表しており、算術符号化した結果(符号語)となる。 FIG. 7 shows a conceptual diagram of arithmetic coding when the probability table is adaptively changed. The character string “abac” is encoded when there are three types of symbols a, b, and c, the initial appearance probability of each symbol is the same (all 1/3), and the initial appearance frequency is all 1. The case where it does is demonstrated. First, the area of [0, 1) is proportionally distributed according to the appearance probability of each character. Since the initial appearance probability of each character is 1/3, the area “a” is [0, 1/3), the area “b” is [1/3, 2/3), and the area “c”. Becomes [2/3, 1). Here, since the first character is “a”, the appearance frequency of “a” is incremented by 1 to be 2. Next, the area of [0, 1/3) that is the area of the first character “a” in the character string “abac” is proportionally distributed according to the appearance probability of each character at this time. At this time, the appearance frequency of the character “a” is 2, whereas the appearance frequency of the characters “b” and “c” is 1. Therefore, the appearance probability of each character is a, b, and c, respectively. 2/4, 1/4, and 1/4. Thus, the area “a” is [0, 2/12), the area “b” is [2/12, 3/12), and the area “c” is [3/12, 4/12). . Next, since the second character is “b”, the appearance frequency of “b” is incremented by 1 to obtain 2. The area of [2/12, 3/12) which is the area of “b” of the second character is proportionally distributed according to the appearance probability of each character at this time. At this time, the appearance frequency of the characters “a” and “b” is 2, whereas the appearance frequency of the character “c” is 1. Therefore, the appearance probability of each character is a, b, and c, respectively. 2/5, 2/5, and 1/5. Accordingly, the area “a” is [10/60, 12/60), the area “b” is [12/60, 14/60), and the area “c” is [14/60, 15/60]. It becomes. Next, since the third character is “a”, the appearance frequency of “a” is incremented by 1 to obtain 3. The area of [10/60, 12/60), which is the area of the third character “a”, is proportionally distributed according to the appearance probability of each character at this point. At this time, since the appearance frequency of the character “a” is 3, the appearance frequency of the character “b” is 2, and the appearance frequency of the character “c” is 1, the appearance probability of each character is a, b, c respectively. 3/6, 2/6, and 1/6. Accordingly, the area “a” is [30/180, 33/180), the area “b” is [33/180, 35/180), and the area “c” is [35/180, 36/180). It becomes. Here, [35/180, 36/180], which is the area of the fourth character “c”, represents the character string “abac”, which is the result of arithmetic coding (codeword).
以下では、各シンボルの出現頻度に応じて適応的に確率テーブルが変更される場合の算術復号化について具体例を用いて説明する。 Hereinafter, arithmetic decoding when the probability table is adaptively changed according to the appearance frequency of each symbol will be described using a specific example.
上述の算術符号化の例で生成した符号語である、領域[35/180,36/180)から、文字列「abac」を復号化する場合について説明する。算術復号化に際し、各シンボルの初期出現確率(全て1/3)と初期出現頻度(全て1)、および、算術符号化によって生成された符号語である、領域[35/180,36/180)(以下この領域をRとする)が与えられている。まず、[0,1)の領域を各文字の出現確率に応じて比例配分する。符号化と同様に、各文字の出現確率の初期値は全て1/3となっている。したがって、「a」の領域は[0,1/3)、「b」の領域は[1/3,2/3)、「c」の領域は[2/3,1)となる。ここで示された各領域の中で、領域Rが含まれているのは文字「a」の領域であり、先頭の文字が「a」であることが導き出される。ここで、1文字目が「a」であるため、「a」の出現頻度を1加算し、2とする。変更された出現頻度から出現確率を求める。次に、導き出された文字「a」の領域である[0,1/3)の領域を、各文字の出現確率に応じて比例配分する。これにより、「a」の領域は[0,2/12)、「b」の領域は[2/12,3/12)、「c」の領域は[3/12,4/12)となる。ここで示された各領域の中で、領域Rが含まれているのは文字「b」の領域であり、2番目の文字が「b」であることが導き出される。以下この手順を繰り返し、最終的に文字列「abac」が導き出される。 The case where the character string “abac” is decoded from the region [35/180, 36/180), which is the code word generated in the above-described arithmetic coding example, will be described. In arithmetic decoding, the initial appearance probability (all 1/3) and initial appearance frequency (all 1) of each symbol, and a region [35/180, 36/180] which are codewords generated by arithmetic coding (Hereinafter this region is referred to as R). First, the area of [0, 1) is proportionally distributed according to the appearance probability of each character. Similar to encoding, the initial value of the appearance probability of each character is 1/3. Therefore, the area “a” is [0, 1/3), the area “b” is [1/3, 2/3), and the area “c” is [2/3, 1). Among the regions shown here, the region R is included in the region of the character “a”, and it is derived that the leading character is “a”. Here, since the first character is “a”, the appearance frequency of “a” is incremented by 1 to be 2. An appearance probability is obtained from the changed appearance frequency. Next, the area of [0, 1/3) that is the area of the derived character “a” is proportionally distributed according to the appearance probability of each character. Thus, the area “a” is [0, 2/12), the area “b” is [2/12, 3/12), and the area “c” is [3/12, 4/12). . Among the regions shown here, the region R is included in the region of the character “b”, and it is derived that the second character is “b”. Thereafter, this procedure is repeated, and finally the character string “abac” is derived.
このように、シンボルの出現頻度に応じて出現確率を動的に変更することで、高い符号化効率を実現することが可能となる。しかし、一方で、現在のシンボルに対応する出現確率が、直前に処理されたシンボルに依存するため、逐次的に処理しなければならず、このような依存関係にあるシンボル数が多い場合には処理時間が増大する。 In this way, high coding efficiency can be realized by dynamically changing the appearance probability according to the appearance frequency of the symbol. However, on the other hand, since the appearance probability corresponding to the current symbol depends on the symbol processed immediately before, it must be processed sequentially, and when there are many symbols having such dependency Processing time increases.
このような適応的な算術符号化が採用されている動画像符号化方式として、MPEG−4 Advanced Video Coding(以下MPEG−4 AVCとする)がある。 There is MPEG-4 Advanced Video Coding (hereinafter referred to as MPEG-4 AVC) as a moving picture coding system in which such adaptive arithmetic coding is adopted.
MPEG−4 AVCでは、CABAC(Context−based Adaptive Binary Arithmetic Coding)と呼ばれる算術符号化が採用されている。CABACでは、符号化対象となるシンボルが0と1の2値のみであり、上記算術符号化の例と同様に各シンボルの出現頻度に応じて適応的に出現確率が変更される。MPEG−4 AVCにおいて、画像情報は、予測符号化と変換符号化および量子化された後に、0または1の2値データに変換され、算術符号化される。図5にこの2値データへの変換(以下2値化とする)の例を示す。図5では、例えば、データ6は、1111110という7ビットのシンボル系列に変換される。この例では、4ビットの値域をもつ多値データは、最短で1ビット、最長で17ビットのシンボル系列に変換される。ここで、1ビットのシンボルを算術符号化するのに1クロックかかると仮定すると、1つの多値データを算術符号化するのに、シンボル数が最短の場合には1クロックで処理できるが、シンボル数が最長の場合には17クロックが必要となる。同様に、1ビットのシンボルを算術復号化するのに1クロックかかると仮定すると、1つの多値データを算術復号化するのに、シンボル数が最短の場合には1クロックで処理できるが、シンボル数が最長の場合には17クロックが必要となる。このことは、すなわち、1つのデータを固定クロック数で処理することができずにデータに依存して処理時間が大きく変動すること、および、最大シンボル数のデータが連続する場合においてもリアルタイム処理を実現するためには非常に高い動作周波数で処理しなければならないことを示している。 MPEG-4 AVC employs arithmetic coding called CABAC (Context-based Adaptive Binary Arithmetic Coding). In CABAC, the symbols to be encoded are only binary values of 0 and 1, and the appearance probability is adaptively changed according to the appearance frequency of each symbol as in the example of arithmetic coding. In MPEG-4 AVC, image information is subjected to predictive encoding, transform encoding, and quantization, and then converted to binary data of 0 or 1, and arithmetically encoded. FIG. 5 shows an example of conversion to binary data (hereinafter referred to as binarization). In FIG. 5, for example, data 6 is converted into a 7-bit symbol sequence of 1111110. In this example, multi-value data having a 4-bit range is converted into a symbol sequence of 1 bit at the shortest and 17 bits at the longest. Assuming that it takes one clock to arithmetically encode a 1-bit symbol, one multivalued data can be processed in one clock when the number of symbols is the shortest, If the number is the longest, 17 clocks are required. Similarly, assuming that it takes one clock to arithmetically decode a 1-bit symbol, one multivalued data can be processed in one clock when the number of symbols is shortest, If the number is the longest, 17 clocks are required. This means that one piece of data cannot be processed with a fixed number of clocks and the processing time varies greatly depending on the data, and real-time processing is performed even when data of the maximum number of symbols is continuous. It shows that processing must be performed at a very high operating frequency in order to realize.
デジタルTV受信機やDVDプレーヤなどの民生機器に適用する場合においては、特に、高い動作周波数による実装は消費電力の増大を招くため、望ましくない。また、一般に、高い動作周波数による実装は、低い動作周波数での実装に比べて実装が困難で、コストも高い。 In the case of application to consumer equipment such as a digital TV receiver and a DVD player, mounting with a high operating frequency is particularly undesirable because it causes an increase in power consumption. In general, mounting at a high operating frequency is more difficult and costly than mounting at a low operating frequency.
以下では、図面を参照しながら、従来のMPEG−4 AVCの画像復号化装置の構成を説明する。図4は従来のMPEG−4 AVCの画像復号化装置の構成例であり、バッファメモリ4000、分離手段4001、同期制御手段4002、算術復号化手段4003、多値化手段4004、逆量子化・逆直交変換手段4005、フレームメモリ4006、画面間予測復号化手段4007、画面内予測復号化手段4008、デブロックフィルタ手段4009から構成される。
The configuration of a conventional MPEG-4 AVC image decoding device will be described below with reference to the drawings. FIG. 4 shows an example of the configuration of a conventional MPEG-4 AVC image decoding apparatus. The
バッファメモリ4000は入力データを保持するFIFOバッファで、入力された順にデータを分離手段4001に出力する。分離手段4001はバッファメモリ4000より入力されたデータを、同期情報と算術符号データに分離し、同期情報を同期制御手段4002に、算術符号データを算術復号化手段4003に出力する。ここで、同期情報は、入力データにおける処理の開始位置を示すデータや、処理を開始する時間を示すデータ、および、処理結果を出力する時間を示すデータなどの、同期制御を行うために必要なデータである。また、算術符号データは、算術符号化されたデータと、算術符号化されたデータを復号化するために必要となる各種ヘッダ情報である。同期制御手段4002は、入力データにおける処理開始位置の検出や処理開始時間の制御、および、処理結果の出力時間の制御などの同期制御を行う。算術復号化手段4003は算術符号データを算術復号化し、2値化されたデータを出力する。多値化手段4004は、算術復号化手段4003より入力された2値データを変換して多値データを出力する。逆量子化・逆直交変換手段4005は、多値化手段4004より入力されたデータに対して、逆量子化処理および逆直交変換処理を行う。逆量子化・逆直交変換手段4005は、処理対象データが画面内予測符号化されている場合には、画面内予測復号化手段4008に結果を出力し、画面間予測符号化されている場合には、画面間予測復号化手段4007に結果を出力する。画面内予測復号化手段4008は逆量子化・逆直交変換手段4005より入力されたデータに対して画面内予測復号化処理を行う。画面間予測復号化手段4007は逆量子化・逆直交変換手段4005より入力されたデータと、フレームメモリ4006より入力された過去の復号化データを用いて、動き補償復号化を行う。デブロックフィルタ手段4009は、画面内予測復号化手段4008または画面間予測復号化手段4007の処理結果に対してフィルタ処理を行い、ブロックノイズを除去する。フレームメモリ4006は、デブロックフィルタ手段4009の処理結果を保持し、以降の画面間予測復号化に必要なデータを保持する。
The
前記算術復号化の実装上の課題に対して、算術復号化後の2値データをバッファメモリに一旦保持する方式が開示されている(例えば、特許文献1参照)。算術復号化後の2値データをバッファメモリに一旦保持する場合の画像復号化装置の構成例を図3に示す。図3において、図4と同じ構成要素については同じ符号を用い、説明を省略する。図3において、バッファメモリ3000は、算術復号化手段4003で算術復号化された2値データを一旦保持するFIFOバッファで、入力された順に2値データを多値化手段4004に出力する。この方式は、算術復号化の処理時間の大きな揺らぎを、バッファメモリ3000を設けることによって吸収し、バッファメモリ3000の後段の多値化手段4004以降の処理時間への影響を低減することが可能となる。
しかしながら、前記従来の方式では、バッファメモリ4000がオーバフローして処理が破綻してしまわないように、データの入力レート以上のレートで算術復号化処理を行わなければならず、算術復号化処理手段4003を高い動作周波数で実装しなければならないという課題を解決することはできない。また、バッファメモリ3000の容量を大きくすると、バッファメモリ3000の前段に対する後段の遅延時間が大きくなるという課題もある。
However, in the conventional method, the arithmetic decoding process must be performed at a rate equal to or higher than the data input rate so that the
本発明は、このような従来の課題を解決するもので、低い動作周波数でリアルタイム処理を容易に実現することが可能な画像復号化装置を提供することを目的とする。 The present invention solves such a conventional problem, and an object of the present invention is to provide an image decoding apparatus that can easily realize real-time processing at a low operating frequency.
算術符号化された入力データの一部を算術復号化する第一算術復号化手段と、前記第一算術復号化手段によって算術復号化された2値データと前記第一算術復号化手段によって算術復号化されなかった前記入力データを多重する多重手段と、前記多重手段より出力されるデータを、前記第一算術復号化手段によって算術復号化された2値データと前記第一算術復号化手段によって算術復号化されなかった前記入力データに分離する分離手段と、前記分離手段より分離された前記第一算術復号化手段によって算術復号化されなかった前記入力データを算術復号化する第二算術復号化手段と、前記分離手段より分離された前記第一算術復号化手段によって算術復号化された2値データと前記第二算術復号化手段によって算術復号化された2値データを多値化する多値化手段を有し、前記第一算術復号化手段と前記第二算術復号化手段は前記入力データの異なる部分を同時に算術復号化する。 First arithmetic decoding means for arithmetically decoding a part of input data that has been arithmetically encoded, binary data arithmetically decoded by the first arithmetic decoding means, and arithmetic decoding by the first arithmetic decoding means Multiplexing means for multiplexing the input data that has not been converted, data output from the multiplexing means, binary data obtained by arithmetic decoding by the first arithmetic decoding means, and arithmetic by the first arithmetic decoding means Separating means for separating the input data that has not been decoded, and second arithmetic decoding means for arithmetically decoding the input data that has not been arithmetically decoded by the first arithmetic decoding means separated by the separating means Binary data arithmetically decoded by the first arithmetic decoding means separated by the separating means and binary data arithmetically decoded by the second arithmetic decoding means The has a multi-value unit that multi-value, wherein the first arithmetic decoding means second arithmetic decoding means for arithmetically decoding simultaneously different parts of the input data.
本構成によって、算術復号化を複数の処理手段で行うことが可能となり、算術復号化の処理負荷を複数の処理手段に分散することができる。 With this configuration, arithmetic decoding can be performed by a plurality of processing means, and the processing load of arithmetic decoding can be distributed to the plurality of processing means.
本発明の画像復号化装置によれば、算術復号化の処理負荷を複数の処理手段に分散することができるため、各々の処理手段を低い動作周波数で容易に実現することが可能となる。 According to the image decoding apparatus of the present invention, since the processing load of arithmetic decoding can be distributed to a plurality of processing means, each processing means can be easily realized at a low operating frequency.
以下本発明の実施の形態について、図面を参照しながら説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(実施の形態1)
図1は、本発明の実施の形態1における画像復号化装置の構成例である。図1において、図3および図4と同じ構成要素については同じ符号を用い、説明を省略する。
(Embodiment 1)
FIG. 1 is a configuration example of an image decoding apparatus according to
図1は、本発明の実施の形態1における画像復号化装置である。図1において、図3および図4と同じ構成要素については同じ符号を用い、説明を省略する。
FIG. 1 shows an image decoding apparatus according to
図1において、算術復号化手段1000は分離手段4001によって分離された算術符号データの一部を算術復号化し、2値化されたデータを出力する。多重手段1001は、分離手段4001によって入力データから分離された同期情報と、算術復号化手段1000によって算術復号化された2値データと、分離手段4001によって入力データから分離された算術符号データのうち、算術復号化手段1000によって算術復号化されなかった算術符号データを多重してバッファメモリ3000に出力する。分離手段1002は、バッファメモリ3000より入力された前記多重データを、同期情報と、算術復号化手段1000によって算術復号化された2値データと、算術復号化手段1000によって算術復号化されなかった算術符号データに分離する。算術復号化手段1004は、分離手段1002より入力される、算術復号化手段1000によって算術復号化されなかった算術符号データを算術復号化し、2値化されたデータを出力する。多値化手段1005は、分離手段1002より入力される算術復号化手段1000によって算術復号化された2値データと、算術復号化手段1004より入力される算術復号化された2値データを変換して多値データを出力する。同期制御手段1003は、分離手段1002より入力される同期情報に基づいて、入力データにおける処理開始位置の検出や処理開始時間の制御、および、処理結果の出力時間の制御などの同期制御を行う。
In FIG. 1, an
かかる構成によれば、多重手段1001と分離手段1002、および、算術復号化手段1004を追加することにより、算術復号化手段1000と算術復号化手段1004は入力データのうちの異なる算術符号データを同時に復号化処理することが可能となる。これにより、算術復号化の処理負荷を、算術復号化手段1000と算術復号化手段1004に分散することが可能となり、算術復号化手段1000および算術復号化手段1004に必要な動作周波数を低減することができる。また、多重手段1001によって同期情報を多重し、バッファメモリ3000の後段において同期制御手段1003を追加することにより、バッファメモリ3000の容量の拡大によって遅延が生じる場合においても、後段で再び同期を取り直すことが可能となる。さらに、バッファメモリ3000の後段の処理手段に必要なデータは全て多重手段1001によって多重されるため、バッファメモリ3000の前段の処理手段と、バッファメモリ3000の後段の処理手段の依存関係が、データの供給状況のみとなる。つまり、後段の処理手段は、前段の詳細な処理状況には無関係に、バッファメモリ3000に処理対象となるデータが存在する場合にのみ処理を実行すればよい。これにより、バッファメモリ3000の前段の処理手段と後段の処理手段を容易に並行動作させることが可能となる。
According to such a configuration, by adding the
なお、本実施の形態において、負荷分散の対象とする処理を算術復号化とし、算術復号化手段1000および算術復号化手段1004を設けたが、負荷分散の対象とする処理を可変長復号化としてもよい。さらに、本実施の形態において、算術復号化手段1000と算術復号化手段1004の2つの算術復号化手段を設けて負荷分散を行っているが、算術復号化手段を3つ以上設けてもよい。
In this embodiment, the processing targeted for load distribution is arithmetic decoding, and arithmetic decoding means 1000 and arithmetic decoding means 1004 are provided. However, the processing targeted for load distribution is variable length decoding. Also good. Furthermore, in the present embodiment, two arithmetic decoding units, the
(実施の形態2)
図2は、本発明の実施の形態2の画像復号化装置の構成例である。
(Embodiment 2)
FIG. 2 is a configuration example of an image decoding apparatus according to
図2において、図1と図3、および、図4と同じ構成要素については同じ符号を用い、説明を省略する。 2, the same components as those in FIGS. 1, 3, and 4 are denoted by the same reference numerals, and description thereof is omitted.
図2において、プロセッサ2000およびプロセッサ2001は命令メモリ2002に格納された各種プログラムに従い、動作を行う汎用DSP(信号処理プロセッサ)である。ここで、プロセッサ2000およびプロセッサ2001は同じプログラムを実行することが可能である。プロセッサ2000はバッファメモリ4000のデータが入力され、実行結果をバッファメモリ3000に出力する。プロセッサ2001はバッファメモリ3000のデータが入力され、実行結果を逆量子化・逆直交変換手段4005に出力する。命令メモリ2002は、プロセッサ2000およびプロセッサ2001が実行すべき各種プログラム(分離プログラム1、同期制御プログラム2、算術復号化プログラム3、多重プログラム4、多値化プログラム5)を格納したメモリである。分離プログラム1は入力データを同期情報と算術符号データと算術復号化された2値データに分離するプログラムである。同期制御プログラム2は分離プログラム1により分離された同期情報に基づいて同期制御を行うプログラムである。算術復号化プログラム3は分離プログラム1により分離された算術符号データを算術復号化して2値データを生成するプログラムである。多重プログラム4は、分離プログラム1により分離された同期情報と、算術復号化プログラム3によって算術復号化された2値データと、算術復号化プログラム3によって算術復号化されていない算術符号データを多重して出力するプログラムである。多値化プログラム5は、分離プログラム1により分離された算術復号化された2値データと算術復号化プログラム3により算術復号化された2値データを多値データに変換するプログラムである。
In FIG. 2, a
図2において、プロセッサ2000は、命令メモリ2002と分離プログラム1、同期制御プログラム2、算術復号化プログラム3、および、多重プログラム4とで、図1における分離手段4001と同期制御手段4002、算術復号化手段1000、および、多重手段1001を構成している。また、プロセッサ2001は、命令メモリ2002と分離プログラム1、同期制御プログラム2、算術復号化プログラム3、および、多値化プログラム5とで、図1における分離手段1002と同期制御手段1003、算術復号化手段1004、および、多値化手段1005を構成している。
In FIG. 2, a
以上のように構成された画像復号化装置において特徴的なことは、各々の処理手段において、同じ機能を行うものを共用化することが可能であることである。これにより、実装コストを削減することが可能となる。 What is characteristic in the image decoding apparatus configured as described above is that each processing means can share the same function. As a result, the mounting cost can be reduced.
かかる構成によれば、プロセッサ2000とプロセッサ2001において、入力データのうちの異なる算術符号データを同時に復号化処理することが可能となる。これにより、算術復号化の処理負荷を、プロセッサ2000とプロセッサ2001に分散することが可能となり、プロセッサ2000とプロセッサ2001に必要な動作周波数を低減することができる。また、プロセッサ2000において同期情報を多重し、バッファメモリ3000の後段のプロセッサ2001において同期制御プログラム2を実行することによって、バッファメモリ3000の容量の拡大によって遅延が生じる場合においても、後段で再び同期を取り直すことが可能となる。さらに、バッファメモリ3000の後段の処理手段に必要なデータは全てプロセッサ2000において多重されるため、バッファメモリ3000の前段の処理手段と、バッファメモリ3000の後段の処理手段の依存関係が、データの供給状況のみとなる。つまり、後段の処理手段は、前段の詳細な処理状況には無関係に、バッファメモリ3000に処理対象となるデータが存在する場合にのみ処理を実行すればよい。これにより、バッファメモリ3000の前段の処理手段と後段の処理手段を容易に並行動作させることが可能となる。
According to this configuration, the
なお、本実施の形態において、負荷分散の対象とする処理を算術復号化とし、算術復号化プログラム3を設けたが、負荷分散の対象とする処理を可変長復号化としてもよい。さらに、本実施の形態において、プロセッサ2000とプロセッサ2001の2つのプロセッサを設けて負荷分散を行っているが、3つ以上のプロセッサを設けてもよい。
In the present embodiment, the process targeted for load distribution is arithmetic decoding and the
本発明に係る画像復号化装置は、LSI等の電子回路で実現される画像再生装置として利用することができる。例えば、符号化された画像を復号化して再生するコンピュータ、PDA、デジタル放送受信機及び携帯電話機等に備えられる画像再生装置として有用である。 The image decoding apparatus according to the present invention can be used as an image reproduction apparatus realized by an electronic circuit such as an LSI. For example, the present invention is useful as an image reproducing apparatus provided in a computer, a PDA, a digital broadcast receiver, a mobile phone, and the like that decode and reproduce an encoded image.
1000 算術復号化手段
1001 多重手段
1002 分離手段
1003 同期制御手段
1004 算術復号化手段
1005 多値化手段
2000 プロセッサ
2001 プロセッサ
2002 命令メモリ
3000 バッファメモリ
4000 バッファメモリ
4001 分離手段
4002 同期制御手段
4003 算術復号化手段
4004 多値化手段
4005 逆量子化・逆直交変換手段
4006 フレームメモリ
4007 画面間予測復号化手段
4008 画面内予測復号化手段
4009 デブロックフィルタ手段
1000 Arithmetic decoding means 1001 Multiplexing means 1002 Separating means 1003 Synchronization control means 1004 Arithmetic decoding means 1005 Multi-value quantization means 2000
Claims (4)
前記入力データの一部に対して前記第一の処理を行う第一処理手段と、
前記第一処理手段によって前記第一の処理がなされた結果と前記入力データのうちの前記第一処理手段によって前記第一の処理がなされていないデータを多重して出力する多重手段と、
前記多重手段より出力されるデータを前記第一処理手段によって前記第一の処理がなされた結果と前記入力データのうちの前記第一処理手段によって前記第一の処理がなされていないデータに分離する分離手段と、
前記分離手段により分離された前記第一処理手段によって前記第一の処理がなされていないデータに対して前記第一の処理を行う第二処理手段と、
前記分離手段により分離された前記第一処理手段によって前記第一の処理がなされた結果と前記第二処理手段によって前記第一の処理がなされた結果に対して前記第二の処理を行う第三処理手段を有することを特徴とする画像復号化装置。 An image decoding device that performs at least a first process and a second process on input data,
First processing means for performing the first processing on a part of the input data;
Multiplexing means for multiplexing and outputting the result of the first processing performed by the first processing means and the data of the input data that has not been subjected to the first processing by the first processing means;
The data output from the multiplexing means is separated into the result of the first processing performed by the first processing means and the data of the input data that has not been subjected to the first processing by the first processing means. Separating means;
Second processing means for performing the first processing on data that has not been subjected to the first processing by the first processing means separated by the separation means;
A third process for performing the second process on the result of the first process performed by the first process unit separated by the separation unit and the result of the first process performed by the second process unit. An image decoding apparatus comprising processing means.
前記第二処理手段を、算術符号データを復号化して2値データを生成する第二算術復号化手段により形成し、
前記第三処理手段を、算術復号化によって得られる2値データを多値データに変換する多値化手段により形成した請求項1に記載の画像復号化装置。 The first processing means is formed by first arithmetic decoding means for decoding binary code data by decoding arithmetic code data,
The second processing means is formed by second arithmetic decoding means for decoding binary code data by decoding arithmetic code data,
The image decoding apparatus according to claim 1, wherein the third processing means is formed by multi-value conversion means for converting binary data obtained by arithmetic decoding into multi-value data.
前記入力データに含まれる同期情報にしたがって同期制御を行う第一同期制御手段と、
前記入力データの一部に対して前記第一の処理を行う第一処理手段と、
前記入力データに含まれる同期情報と前記第一処理手段によって前記第一の処理がなされた結果と前記入力データのうちの前記第一処理手段によって前記第一の処理がなされていないデータを多重して出力する多重手段と、
前記多重手段より出力されるデータを同期情報と前記第一処理手段によって前記第一の処理がなされた結果と前記入力データのうちの前記第一処理手段によって前記第一の処理がなされていないデータに分離する分離手段と、
前記分離手段により分離された同期情報にしたがって同期制御を行う第二同期制御手段と、
前記分離手段により分離された前記第一処理手段によって前記第一の処理がなされていないデータに対して前記第一の処理を行う第二処理手段と、
前記分離手段により分離された前記第一処理手段によって前記第一の処理がなされた結果と前記第二処理手段によって前記第一の処理がなされた結果に対して前記第二の処理を行う第三処理手段を有することを特徴とする画像復号化装置。 An image decoding device that performs at least a first process and a second process on input data including synchronization information,
First synchronization control means for performing synchronization control according to the synchronization information included in the input data;
First processing means for performing the first processing on a part of the input data;
The synchronization information included in the input data, the result of the first processing performed by the first processing means, and the data of the input data that has not been subjected to the first processing by the first processing means are multiplexed. Multiplex means for outputting,
The data output from the multiplexing means is the synchronization information, the result of the first processing performed by the first processing means, and the data of the input data that has not been subjected to the first processing by the first processing means. Separating means for separating into,
Second synchronization control means for performing synchronization control according to the synchronization information separated by the separation means;
Second processing means for performing the first processing on data that has not been subjected to the first processing by the first processing means separated by the separation means;
A third process for performing the second process on the result of the first process performed by the first process unit separated by the separation unit and the result of the first process performed by the second process unit. An image decoding apparatus comprising processing means.
前記第二処理手段を、算術符号データを復号化して2値データを生成する第二算術復号化手段により形成し、
前記第三処理手段を、算術復号化によって得られる2値データを多値データに変換する多値化手段により形成した請求項3に記載の画像復号化装置。 The first processing means is formed by first arithmetic decoding means for decoding binary code data by decoding arithmetic code data,
The second processing means is formed by second arithmetic decoding means for decoding binary code data by decoding arithmetic code data,
The image decoding apparatus according to claim 3, wherein the third processing means is formed by multi-value conversion means for converting binary data obtained by arithmetic decoding into multi-value data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005170630A JP2006345348A (en) | 2005-06-10 | 2005-06-10 | Video decoding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005170630A JP2006345348A (en) | 2005-06-10 | 2005-06-10 | Video decoding device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006345348A true JP2006345348A (en) | 2006-12-21 |
Family
ID=37641946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005170630A Pending JP2006345348A (en) | 2005-06-10 | 2005-06-10 | Video decoding device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006345348A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008172545A (en) * | 2007-01-12 | 2008-07-24 | Hitachi Ltd | Image encoding/decoding device |
-
2005
- 2005-06-10 JP JP2005170630A patent/JP2006345348A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008172545A (en) * | 2007-01-12 | 2008-07-24 | Hitachi Ltd | Image encoding/decoding device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4540585B2 (en) | Encoding device and decoding device | |
US9299166B2 (en) | Image compression method and apparatus for bandwidth saving | |
JP4299357B2 (en) | Decoding processing apparatus and decoding processing method | |
US8294603B2 (en) | System and method for providing high throughput entropy coding using syntax element partitioning | |
US8487791B2 (en) | Parallel entropy coding and decoding methods and devices | |
WO2003081784A1 (en) | Variable length encoding method, variable length decoding method, storage medium, variable length encoding device, variable length decoding device, and bit stream | |
JP2010278668A (en) | Coding apparatus and method, and decoding apparatus and method | |
US10554988B2 (en) | Binary arithmetic coding with parameterized probability estimation finite state machines | |
JP2000216687A (en) | Variable length code word decoder | |
KR101894407B1 (en) | Method and apparatus for parallel entropy encoding/decoding | |
KR100253366B1 (en) | Variable length code decoder for mpeg | |
US8660188B2 (en) | Variable length coding apparatus, and method and integrated circuit of the same | |
JP4823090B2 (en) | Image encoding device | |
KR100667595B1 (en) | Variable length decoder | |
JP2006345348A (en) | Video decoding device | |
US20170201765A1 (en) | Video stream decoding method and video stream decoding system | |
JP2007295157A (en) | Unit, method and program for data coding, and information recording medium having recorded data coding program | |
JP2007074648A (en) | Cabac decoding apparatus | |
US8391367B1 (en) | High performance context-adaptive video processor | |
US20100260258A1 (en) | Image coding device, coding rate conversion device, audio video stream recording device, network distribution system, coefficient conversion device, integrated circuit, and image coding method | |
US20180184090A1 (en) | Binary arithmetic coding apparatus and method | |
JP2004007775A (en) | Motion compensating and decoding apparatus | |
JP2005333662A (en) | Coding instrument, decoding instrument, recoding instrument and coding method, decoding method, and recoding method | |
JP2004007777A (en) | Motion compensating and decoding apparatus | |
JP2004007776A (en) | Motion compensating and decoding method |