JP2010161787A - Variable length coding method and apparatus, and program - Google Patents
Variable length coding method and apparatus, and program Download PDFInfo
- Publication number
- JP2010161787A JP2010161787A JP2010030703A JP2010030703A JP2010161787A JP 2010161787 A JP2010161787 A JP 2010161787A JP 2010030703 A JP2010030703 A JP 2010030703A JP 2010030703 A JP2010030703 A JP 2010030703A JP 2010161787 A JP2010161787 A JP 2010161787A
- Authority
- JP
- Japan
- Prior art keywords
- value
- coefficient
- code
- variable length
- encoding
- 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.)
- Granted
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
本発明は、動画像における画像データを所定の大きさを有するブロック単位で周波数変換した各ブロック内の係数値を符号化する可変長符号化方法等に関する。 The present invention relates to a variable-length encoding method for encoding coefficient values in each block obtained by frequency-converting image data in a moving image in units of blocks having a predetermined size.
動画像符号化処理では、一般に動画像が有する空間方向および時間方向の冗長性を利用して情報量の圧縮が行われる。ここで一般に、空間方向の冗長性を利用する方法としては、周波数領域への変換が用いられ、時間方向の冗長性を利用する方法としては、ピクチャ間予測符号化処理が用いられる。 In the moving image encoding process, the amount of information is generally compressed using redundancy in the spatial direction and temporal direction of a moving image. Here, generally, as a method of using redundancy in the spatial direction, conversion to the frequency domain is used, and as a method of using redundancy in the temporal direction, inter-picture predictive encoding processing is used.
従来のMPEG−4動画像符号化方式(例えば、非特許文献1参照)の符号化効率をさらに高めるために、現在規格化作業中の動画像符号化方式では、4×4画素の大きさを有するブロック単位で周波数変換を行った後、量子化を行い、係数値を生成する。そして、直流成分から高周波数成分に向かって走査し、連続する値が「0」である係数の個数R(Run、以下単に「R」とも記す。)とそれに続く係数値L(Level、以下単に「L」とも記す。)との組み合わせを作成し、(R、L)の組み合わせ列にする。 In order to further increase the encoding efficiency of the conventional MPEG-4 moving image encoding method (see, for example, Non-Patent Document 1), the moving image encoding method currently being standardized has a size of 4 × 4 pixels. After performing frequency conversion in units of blocks, quantization is performed to generate coefficient values. Then, scanning is performed from the DC component toward the high-frequency component, and the number R (Run, hereinafter simply referred to as “R”) of coefficients whose continuous values are “0” and the subsequent coefficient value L (Level, hereinafter simply). A combination of (R, L) is created.
そして、この(R、L)を所定のコードテーブルを用いてコード番号に変換した後、さらに1個の可変長符号(VLC:Variable Length Coding)テーブルを用いて、コード番号をVLCコードに変換することにより、符号化を行う。この際のコードテーブルは、一般的に発生頻度が高いものほど小さなコード番号が割り当てられる。例えば、R、L共に小さい組み合わせは発生頻度が高いため、小さなコード番号が割り当てられる。また、VLCテーブルは、小さなコード番号に対して短い符号長を有するVLCコードが割り当てるようにしているものもある。 Then, this (R, L) is converted into a code number using a predetermined code table, and then the code number is converted into a VLC code using one variable length coding (VLC) table. Thus, encoding is performed. In this case, the code table is generally assigned a smaller code number as the occurrence frequency is higher. For example, since a combination with small R and L has a high occurrence frequency, a small code number is assigned. In some VLC tables, a VLC code having a short code length is assigned to a small code number.
しかしながら、上記従来の方法では、係数値「0」を有する係数の連続数Rおよび係数値Lが大きくなると、符号長が長くなり、符号化効率の低下を招く。一般に、低周波数成分値の係数値Lは大きな値となるため、低周波数成分値を符号化する際の符号化効率の低下が顕著となる。 However, in the above-described conventional method, when the number of consecutive coefficients R having a coefficient value “0” and the coefficient value L are increased, the code length is increased, leading to a decrease in encoding efficiency. In general, since the coefficient value L of the low frequency component value is a large value, the encoding efficiency when the low frequency component value is encoded is significantly reduced.
つまり、発生頻度に応じて1つのVLCテーブルR,Lのペアに対して1つのユニークな可変長コードが割り当てられる結果、値が大きな係数値Lには、常に符号長が非常に長い可変長符号に変換されてしまう。また、Rと別個にLを符号化する場合(Lの一次元符号化)においても、1つの可変長符号テーブルを用いるときには、R,Lのペアで符号化する場合と同様な問題が発生する。 That is, as a result of assigning one unique variable length code to one pair of VLC tables R and L according to the occurrence frequency, a variable length code having a very long code length is always given to a coefficient value L having a large value. Will be converted to. Also, when L is encoded separately from R (one-dimensional encoding of L), when one variable length code table is used, the same problem as when encoding with a pair of R and L occurs. .
本発明は、このような問題を鑑みてなされたものであり、係数値Lを符号化する際に、符号化効率を向上させることができる可変長符号化方法等を提供することを目的とする。 The present invention has been made in view of such problems, and an object of the present invention is to provide a variable-length encoding method and the like that can improve encoding efficiency when a coefficient value L is encoded. .
上記目的を達成するために、本発明に係る可変長符号化方法は、所定の大きさを有するブロックの画像データを周波数変換することにより得られる前記ブロックの二次元列の係数値を可変長符号化する符号化方法であって、低周波成分から高周波成分に向かう所定の順序で前記ブロックの二次元列の係数値を走査することにより、前記ブロックの二次元列の係数値を一次元列の係数値に変更する係数走査ステップと、前記一次元列の係数値を、値がゼロである係数が連続する個数Rを示すラン値と、それに続く非ゼロの係数値Lを示すレベル値との組み合わせに変換するRL列変換ステップと、前記ブロックに含まれる非ゼロの係数値の総個数を求めるステップと、前記ラン値を可変長符号化する第1の符号化ステップと、符号化に用いる、互いに異なる閾値が割り当てられた複数のテーブルを切り替えながら、高周波数成分から低周波数成分に向けて前記非ゼロの係数値Lを示すレベル値を順次可変長符号化し、符号化された前記非ゼロの係数値の個数が、前記非ゼロの係数値の総個数に達するまで実行する第2の符号化ステップと、前記ブロックに含まれる非ゼロ係数の総個数を可変長符号化する第3の符号化ステップを含み、前記第2の符号化ステップでは、符号化対象の非ゼロの係数値Lの絶対値が、当該非ゼロの係数値Lの符号化に使用されたテーブルに割り当てられた閾値を超えると、当該閾値より大きい閾値が割り当てられたテーブルに切り替えられた後に、前記符号化対象の非ゼロの係数値Lに続いて次に符号化されるべき非ゼロの係数値Lを符号化し、前記複数のテーブルの切り替えは、切り替えられた新たなテーブルより以前に使用されたテーブルは再度使用されることがない一方向の切り替えであることを特徴とする。 In order to achieve the above object, a variable length coding method according to the present invention converts a coefficient value of a two-dimensional sequence of a block obtained by frequency converting image data of a block having a predetermined size into a variable length code. The coding method is to scan the coefficient values of the two-dimensional column of the block in a predetermined order from the low frequency component to the high frequency component, thereby converting the coefficient value of the two-dimensional column of the block to the one-dimensional column. A coefficient scanning step for changing to a coefficient value; a coefficient value of the one-dimensional sequence; a run value indicating the number R of consecutive coefficients having a value of zero; and a level value indicating a non-zero coefficient value L that follows. An RL sequence conversion step for converting into a combination; a step for obtaining a total number of non-zero coefficient values included in the block; a first encoding step for variable-length encoding the run value; and The level value indicating the non-zero coefficient value L is sequentially variable-length encoded from the high frequency component to the low frequency component while switching between a plurality of tables to which different threshold values are assigned, and the encoded non-zero A second encoding step executed until the number of coefficient values reaches the total number of non-zero coefficient values, and a third code for variable-length encoding the total number of non-zero coefficients included in the block In the second encoding step, the absolute value of the non-zero coefficient value L to be encoded is set to the threshold value assigned to the table used for encoding the non-zero coefficient value L. If it exceeds, after switching to a table to which a threshold value greater than the threshold value is assigned, the non-zero coefficient value L to be encoded next to the non-zero coefficient value L to be encoded is encoded, Plural Switching of the table is characterized in that was used prior to the new table is switched table is a one-way switch is not used again.
また、上記目的を達成するために、本発明に係る可変長符号化方法は、動画像における画像データを所定の大きさを有するブロック単位で周波数変換した各ブロック内の係数値を符号化する可変長符号化方法であって、前記ブロック内の係数値を所定の順序で走査する係数値走査ステップと、符号化に用いる複数のテーブルを切り替えて、前記係数値走査ステップにより走査された前記係数値を所定の順番に可変長符号に符号化する符号化ステップとを含むことを特徴とする。 In order to achieve the above object, the variable-length encoding method according to the present invention encodes a coefficient value in each block obtained by frequency-converting image data in a moving image in units of blocks having a predetermined size. A long encoding method, wherein a coefficient value scanning step of scanning coefficient values in the block in a predetermined order and a plurality of tables used for encoding are switched, and the coefficient values scanned by the coefficient value scanning step Encoding a variable length code in a predetermined order.
これによって、係数値に応じた符号長の可変長符号を各テーブルに適応させることが可能となるので、符号化効率を向上させることができる。つまり、あるテーブルでは係数値が小さい場合に他のテーブルよりも短い符号長の可変長符号に符号化するようにし、他のあるテーブルでは係数値が大きい場合に他のテーブルよりも短い符号長の可変長符号に符号化するようにし、係数値に応じてテーブルを切り替えることで、符号長を飛躍的に短くすることができる。 As a result, a variable-length code having a code length corresponding to the coefficient value can be adapted to each table, so that the coding efficiency can be improved. In other words, when a coefficient value is small in one table, it is encoded to a variable length code having a shorter code length than the other table, and when a coefficient value is large in another table, the code length is shorter than that of the other table. By encoding to a variable length code and switching the table according to the coefficient value, the code length can be drastically shortened.
ここで、各前記テーブルの切り替え方向が一方向であることを特徴としてもよい。これによって、係数値によって、テーブルが頻繁に入れ替わることが防止され、テーブルの切り替え回数が減る。したがって、符号化効率を向上させることができる。例えば、メモリのワークエリアが限られるので次に使用するテーブルだけをワークエリアに置くのが一般的である。この場合には、テーブルを切り替えるごとにROMから次のテーブルを読み出してワークエリアに展開するのに時間がかかるので、次の係数値の符号化まで時間がかかる。このため、一方向とすることによって、テーブルの切り替え回数を制限し、次の係数値の符号化まで時間をトータルとして短縮できるという効果が発揮される。 Here, the switching direction of each table may be one direction. Accordingly, the table is prevented from being frequently replaced by the coefficient value, and the number of table switching is reduced. Therefore, encoding efficiency can be improved. For example, since the work area of the memory is limited, it is common to place only the next table to be used in the work area. In this case, every time the table is switched, it takes time to read the next table from the ROM and expand it in the work area, so it takes time to encode the next coefficient value. For this reason, the effect of reducing the total number of times until the next coefficient value is encoded can be achieved by limiting the number of table switching operations in one direction.
また、前記符号化ステップは、ブロック内で前記複数のテーブルを切り替えて符号化することを特徴とする構成としてもよく、前記係数値は一次元化された「0」以外の係数値であることを特徴とする構成としてもよい。 The encoding step may be configured to perform encoding by switching the plurality of tables in a block, and the coefficient value is a coefficient value other than one-dimensionalized “0”. It is good also as a structure characterized by these.
また、前記符号化が非算術符号化であることを特徴とするのが好ましい。これによって、符号化に用いるテーブルが決まるとそのテーブルを参照するだけで可変長符号に符号化することができる。 Preferably, the encoding is non-arithmetic encoding. As a result, when a table to be used for encoding is determined, it can be encoded into a variable length code simply by referring to the table.
また、各前記テーブルは、係数値の最小値における符号長が各前記テーブルにそれぞれ付与される番号の順番に長くなり、係数値の最大値における符号長が前記番号の順番に長くならないように係数値に対する符号長の変化率を異ならせて構成されるのが好ましい。また、各前記テーブルは、係数値の増加分に対する符号長の増加率が、各前記テーブルにそれぞれ付与される番号の順番に小さくなるように構成されるのも好ましい。これによって、各テーブルごとに符号長が短くなる範囲を割り当てることができるので、符号化効率の向上を確実に実現できる。 In addition, each table has a code length at the minimum value of the coefficient value that increases in the order of the numbers assigned to each table, and the code length at the maximum value of the coefficient value does not increase in the order of the numbers. It is preferable that the change rate of the code length with respect to the numerical value is different. In addition, each table is preferably configured such that the increase rate of the code length with respect to the increase in coefficient value decreases in the order of the numbers assigned to the respective tables. As a result, since a range in which the code length is shortened can be assigned to each table, it is possible to surely improve the coding efficiency.
また、前記符号化ステップは、予め設定された係数値の絶対値に対するしきい値に基づいて各前記テーブルを切り替えるのが好ましい。これによって、テーブルの切り替えのタイミングを簡単に判断でき、符号化効率の向上を実現できる。 Moreover, it is preferable that the said encoding step switches each said table based on the threshold value with respect to the absolute value of the preset coefficient value. As a result, the table switching timing can be easily determined, and the encoding efficiency can be improved.
また、前記係数値走査ステップは、前記係数値を高周波数成分から低周波数成分に向かう順序で走査するのが好ましい。これによって、係数の絶対値が「1」付近から段々大きくなる傾向が強いので、ブロック内の最初の係数値を符号化するのに用いるテーブルを決定しやすくしたり、各テーブルの構成を簡単に決めることができたり、しきい値を決定しやすくしたりすることができる。 The coefficient value scanning step preferably scans the coefficient values in the order from the high frequency component to the low frequency component. As a result, there is a strong tendency that the absolute value of the coefficient gradually increases from around “1”. Therefore, it is easy to determine the table used to encode the first coefficient value in the block, and the configuration of each table can be simplified. It can be determined, and the threshold value can be easily determined.
さらに、前記符号化ステップは、符号化対象の係数の絶対値がしきい値を超えると、符号化対象の係数の符号化に用いたテーブルから当該テーブルに付与された番号より番号の大きなテーブルに切り替えて次の係数値を符号化するのが好ましい。これによって、次の係数値を符号化するときに符号長を短くすることができるので、符号化効率の向上を実現できる。 Further, when the absolute value of the encoding target coefficient exceeds a threshold value, the encoding step converts the table used for encoding the encoding target coefficient from a table having a larger number than the number assigned to the table. It is preferable to switch and encode the next coefficient value. Thereby, since the code length can be shortened when the next coefficient value is encoded, it is possible to improve the encoding efficiency.
また、本発明に係る可変長復号化方法は、動画像における画像データを所定の大きさを有するブロック単位で周波数変換した各ブロック内の係数値を符号化して生成された可変長符号を復号化する可変長復号化方法であって、復号化に用いる複数のテーブルを切り替えて、各前記ブロック内の可変長符号を所定の順番に係数値に復号化する復号化ステップと、前記復号化ステップによって生成された係数値に基づいて前記ブロック内の係数値を生成する係数生成ステップとを含むことを特徴とする。これによって、高圧縮符号化された符号を正しく復号化することができる。 In addition, the variable length decoding method according to the present invention decodes a variable length code generated by encoding coefficient values in each block obtained by frequency-converting image data in a moving image in units of blocks having a predetermined size. A variable length decoding method, wherein a plurality of tables used for decoding are switched, and a variable length code in each block is decoded into coefficient values in a predetermined order; and the decoding step includes And a coefficient generation step of generating a coefficient value in the block based on the generated coefficient value. As a result, it is possible to correctly decode a highly compressed code.
ここで、各前記テーブルの切り替え方向が一方向であることを特徴としてもよい。 Here, the switching direction of each table may be one direction.
また、前記復号化ステップは、ブロック内で前記複数のテーブルを切り替えて符号化することを特徴としてもよい。 The decoding step may be characterized in that the plurality of tables are switched and encoded in a block.
また、前記係数値は、一次元化された「0」以外の係数値であることを特徴としてもよい。 The coefficient value may be a coefficient value other than one-dimensionalized “0”.
また、前記復号化が非算術復号化であることを特徴としてもよい。 The decoding may be non-arithmetic decoding.
また、各前記テーブルは、係数値の最小値における符号長が各前記テーブルにそれぞれ付与される番号の順番に長くなり、係数値の最大値における符号長が前記番号の順番に長くならないように係数値に対する符号長の変化率を異ならせて構成されることを特徴としてもよい。 In addition, each table has a code length at the minimum value of the coefficient value that increases in the order of the numbers assigned to each table, and the code length at the maximum value of the coefficient value does not increase in the order of the numbers. The code length change rate may be different from that of the numerical value.
また、各前記テーブルは、係数値の増加分に対する符号長の増加率が、各前記テーブルにそれぞれ付与される番号の順番に小さくなることを特徴としてもよい。 Each table may be characterized in that the rate of increase of the code length with respect to the increase in coefficient value decreases in the order of the numbers assigned to each table.
また、前記復号化ステップは、予め定められた係数値の絶対値に対するしきい値に基づいて各前記テーブルを切り替えることを特徴としてもよい。 Further, the decoding step may switch each table based on a threshold value with respect to an absolute value of a predetermined coefficient value.
また、前記係数生成ステップは、前記係数値を高周波成分から低周波成分に向かう順序で走査することを特徴としてもよい。 The coefficient generation step may scan the coefficient values in order from a high frequency component to a low frequency component.
さらに、前記符号化ステップは、復号化された係数の絶対値がしきい値を超えると、復号化対象の可変長符号の復号化に用いたテーブルから当該テーブルに付与された番号より番号の大きなテーブルに切り替えて次の可変長符号を係数値に復号化することを特徴としてもよい。 Further, when the absolute value of the decoded coefficient exceeds a threshold value, the encoding step has a number larger than the number assigned to the table from the table used for decoding the variable length code to be decoded. It may be characterized by switching to a table and decoding the next variable length code into a coefficient value.
なお、本発明は、このような可変長符号化方法や、可変長復号化方法として実現することができるだけでなく、このような可変長符号化方法や、可変長復号化方法が含む特徴的なステップを手段とする可変長符号化装置や、可変長復号化装置として実現したり、可変長符号化方法や、可変長復号化方法が含む特徴的なステップを用いた動画像の符号化方法や、復号化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのはいうまでもない。 It should be noted that the present invention can be realized not only as such a variable-length encoding method and a variable-length decoding method, but also as a characteristic feature included in such a variable-length encoding method and a variable-length decoding method. It can be realized as a variable-length encoding device using a step as a means, a variable-length decoding device, a variable-length encoding method, a video encoding method using characteristic steps included in a variable-length decoding method, It can also be realized as a decoding method, or as a program for causing a computer to execute these steps. Needless to say, such a program can be distributed via a recording medium such as a CD-ROM or a transmission medium such as the Internet.
以上の説明から明らかなように、本発明に係る可変長符号化方法は、ブロック内の係数値を所定の順序で走査する係数値走査ステップと、符号化に用いる複数のテーブルを切り替えて、前記係数値走査ステップにより走査された前記係数値を所定の順番に可変長符号に符号化する符号化ステップとを含むので、係数値に応じた符号長の可変長符号を各テーブルに適応させることが可能となり、符号化効率を向上させることができる。つまり、あるテーブルでは係数値が小さい場合に他のテーブルよりも短い符号長の可変長符号に符号化するようにし、他のあるテーブルでは係数値が大きい場合に他のテーブルよりも短い符号長の可変長符号に符号化するようにし、係数値に応じてテーブルを切り替えることで、符号長を飛躍的に短くすることができる。 As is clear from the above description, the variable length coding method according to the present invention switches between a coefficient value scanning step for scanning coefficient values in a block in a predetermined order, and a plurality of tables used for coding. A coding step of coding the coefficient values scanned by the coefficient value scanning step into a variable length code in a predetermined order, so that a variable length code having a code length corresponding to the coefficient value can be adapted to each table. Thus, encoding efficiency can be improved. In other words, when a coefficient value is small in one table, it is encoded to a variable length code having a shorter code length than the other table, and when a coefficient value is large in another table, the code length is shorter than that of the other table. By encoding to a variable length code and switching the table according to the coefficient value, the code length can be drastically shortened.
また、各前記テーブルの切り替え方向が一方向とすることにより、係数値によって、テーブルが頻繁に入れ替わることが防止され、テーブルの切り替え回数が減り、符号化効率を向上させることができる。 In addition, since the switching direction of each table is set to one direction, it is possible to prevent the table from being frequently replaced by the coefficient value, to reduce the number of table switching, and to improve the encoding efficiency.
また、前記符号化が非算術符号化とすることにより、符号化に用いるテーブルが決まるとそのテーブルを参照するだけで可変長符号に符号化することができる。 In addition, since the encoding is non-arithmetic encoding, when a table used for encoding is determined, it can be encoded into a variable length code simply by referring to the table.
また、各前記テーブルは、係数値の最小値における符号長が各前記テーブルにそれぞれ付与される番号の順番に長くなり、係数値の最大値における符号長が前記番号の順番に長くならないように係数値に対する符号長の変化率を異ならせて構成したり、各前記テーブルは、係数値の増加分に対する符号長の増加率が、各前記テーブルにそれぞれ付与される番号の順番に小さくなるように構成したりすることにより、各テーブルごとに符号長が短くなる範囲を割り当てることができ、符号化効率の向上を実現できる。 In addition, each table has a code length at the minimum value of the coefficient value that increases in the order of the numbers assigned to each table, and the code length at the maximum value of the coefficient value does not increase in the order of the numbers. The code length change rate with respect to the numerical value is configured differently, or each table is configured such that the code length increase rate with respect to the increment of the coefficient value decreases in the order of the numbers assigned to the respective tables. By doing so, it is possible to assign a range in which the code length is shortened for each table, and to realize improvement in coding efficiency.
また、前記符号化ステップは、予め設定された係数値の絶対値に対するしきい値に基づいて各前記テーブルを切り替えることにより、テーブルの切り替えのタイミングを簡単に判断でき、符号化効率の向上を実現できる。 In addition, the encoding step can easily determine the timing of table switching by switching each table based on a threshold value with respect to a preset absolute value of a coefficient value, thereby realizing improvement in encoding efficiency. it can.
また、前記係数値走査ステップは、前記係数値を高周波数成分から低周波数成分に向かう順序で走査することにより、係数の絶対値が「1」付近から段々大きくなる傾向が強いブロック内の最初の係数値を符号化するのに用いるテーブルを決定しやすくしたり、各テーブルの構成を簡単に決めることができたり、しきい値を決定しやすくしたりすることができる。 In the coefficient value scanning step, the coefficient value is scanned in the order from the high frequency component to the low frequency component, so that the absolute value of the coefficient tends to gradually increase from around “1”. It is possible to easily determine a table used for encoding coefficient values, to easily determine the configuration of each table, and to easily determine a threshold value.
さらに、前記符号化ステップは、符号化対象の係数の絶対値がしきい値を超えると、符号化対象の係数の符号化に用いたテーブルから当該テーブルに付与された番号より番号の大きなテーブルに切り替えて次の係数値を符号化することにより、次の係数値を符号化するときに符号長を短くすることができ、符号化効率の向上を実現できる。 Further, when the absolute value of the encoding target coefficient exceeds a threshold value, the encoding step converts the table used for encoding the encoding target coefficient from a table having a larger number than the number assigned to the table. By switching and encoding the next coefficient value, it is possible to shorten the code length when encoding the next coefficient value, and to improve the encoding efficiency.
また、本発明に係る可変長復号化方法は、復号化に用いる複数のテーブルを切り替えて、各ブロック内の可変長符号を所定の順番に係数値に復号化する復号化ステップと、復号化ステップによって生成された係数値に基づいて前記ブロック内の係数値を生成する係数生成ステップとを含むので、高圧縮符号化された符号を正しく復号化することができる。 Also, the variable length decoding method according to the present invention includes a decoding step of switching a plurality of tables used for decoding and decoding variable length codes in each block into coefficient values in a predetermined order, and a decoding step And a coefficient generation step of generating a coefficient value in the block based on the coefficient value generated by the above, so that a code subjected to high compression encoding can be correctly decoded.
以下、本発明に係る実施の形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(実施の形態1)
図1は、本発明の動画像符号化方法が適用される符号化装置の機能構成を示すブロック図である。なお、この実施の形態1では、本発明の動画像符号化方法で入力画像をフレーム内符号化処理する場合の機能構成が図示されている。
(Embodiment 1)
FIG. 1 is a block diagram showing a functional configuration of an encoding apparatus to which a moving image encoding method of the present invention is applied. In the first embodiment, a functional configuration in the case where an input image is subjected to intraframe encoding processing by the moving image encoding method of the present invention is illustrated.
同図に示されるように、符号化装置100aは、ブロック変換部110と、周波数変換部120と、量子化部130と、可変長符号化部140とから構成される。なお、このような符号化装置100aを構成する各部は、CPU、CPUによって実行されるプログラムやデータを予め格納するROM、プログラム実行の際にワークエリアを提供したり、入力画像等を一時的に格納するメモリ等により実現される。
As shown in the figure, the
ブロック変換部110は、入力画像を水平4画素、垂直4画素の大きさを有するブロックに分割し、各画素ブロックごとに周波数変換部120に出力する。
The
周波数変換部120は、入力された画素ブロックに対して周波数変換を施し、周波数係数に変換する。そして、周波数変換部120は、変換された周波数係数を量子化部130に出力する。
The
量子化部130は、入力された周波数係数に対して量子化処理を行う。ここで量子化処理とは、周波数係数値を所定の量子化値によって除算する処理に相当する処理を意味する。この量子化値は、一般的にブロックごと、周波数帯域ごとによって異なる。量子化された周波数係数は可変長符号化部140に入力される。
The
可変長符号化部140は、所定サイズのブロック(水平4画素、垂直4画素)の周波数係数値を可変長符号化する。
The variable
図2は、可変長符号化部140の詳細な機能構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a detailed functional configuration of the variable
図2に示すように可変長符号化部140は、RL列生成部141、並べ替え部142、コード割り当て部143、テーブル記憶部144とから構成される。
As shown in FIG. 2, the variable
量子化部130から出力された量子化された周波数係数は、RL列生成部141に入力される。
The quantized frequency coefficient output from the
RL列生成部141は、まず量子化された周波数係数値を所定の走査方法で一次元化する。そして、RL列生成部141は、一次元化された係数値に対して、連続する係数値「0」の個数Rとそれに続く「0」以外の係数値Lとの組み合わせ(以下、RL値と呼ぶ)の列(以下、RL列と呼ぶ)を生成する。その例を図3、図4を用いて説明する。
The RL
図3(a)は、量子化部130から出力された量子化された1ブロック内の周波数係数を示す図である。ここで、左上の係数が直流成分を示すとし、右に向かうほど水平方向の周波数成分が高くなり、下に向かうほど垂直方向の周波数成分が高くなる。図3(b)は、量子化された周波数係数値を一次元化する際の走査方法を示す図である。RL列生成部141は、低周波数領域から高周波数領域に向かって走査することにより、一次元化を行う。
FIG. 3A is a diagram illustrating frequency coefficients in one quantized block output from the
そして、RL列生成部141によって一次元化された係数値に対して、RL列を生成した結果が図4(a)に示されるようになる。ここで図4(a)の中で、EOB(End Of Block)とはブロック中のそれ以降の係数値がすべて「0」であることを示す識別子である。一般的に高周波数成分ほど係数値が「0」になりやすいので、低周波数領域から高周波数領域に向かって走査することにより、RL列の情報量を小さくすることができる。生成されたRL列は並べ替え部142に入力される。
Then, the result of generating the RL sequence for the coefficient values made one-dimensional by the RL
並べ替え部142は、入力されたRL列を逆方向に並べ直す。ただし、EOBは並べ替えの対象からは除外する。並べ替えた後の状態は図4(b)に示されるようになる。このように並べ替えられたRL列は、コード割り当て部143に入力される。
The
テーブル記憶部144は、RL値とこのRL値に対して割り当てられるコード番号とを対応付けたテーブル(コードテーブル、図5参照)と、コード番号と可変長符号とを対応付けた複数種類のテーブル(可変長符号テーブル、図6)等とを予め保持する。
The
コード割り当て部143は、テーブル記憶部144に保持されているテーブルを用いてRL列の各組に対して可変長符号を割り当てる。
The
具体的には、コード割り当て部143は、まず、RL値に対してコード番号を割り当てる。この際には、テーブル記憶部144に保持されている予め定められたコードテーブル(図5参照)を用いてコード番号への変換を行う。
Specifically, the
図5は、コードテーブルの一例を示す図である。 FIG. 5 is a diagram illustrating an example of a code table.
このコードテーブルは、一般にRL値の頻度が大きいほど小さなコード番号が割り当てられるが、一般にはR、L共に小さい値ほど頻度が高くなるので、この性質を利用して構成される。このコードテーブルを用いた場合、例えば最初のRL値(0、−1)はコード番号「2」となる。また2番目〜5番目のRL値(1、1)、(0、−2)、(0、3)、(0、4)は、それぞれコード番号「3」、「8」、「13」、「15」となる。 The code table is generally assigned a smaller code number as the frequency of the RL value is larger. Generally, the smaller the value of both R and L, the higher the frequency, and this code table is configured using this property. When this code table is used, for example, the first RL value (0, −1) is the code number “2”. The second to fifth RL values (1, 1), (0, -2), (0, 3), (0, 4) are code numbers “3”, “8”, “13”, “15”.
そして、コード割り当て部143は、続いてコード番号を可変長符号に変換する。この可変長符号への変換の際には、テーブル記憶部144に保持されている複数の可変長符号テーブル(図6参照)を用いて可変長符号への変換を行う。
The
図6は、可変長符号テーブルの一例を示す図である。 FIG. 6 is a diagram illustrating an example of a variable-length code table.
この実施の形態1においては、可変長符号テーブルは2種類保持されて構成される。 In the first embodiment, two types of variable length code tables are held.
第1の可変長符号テーブル1および第2の可変長符号テーブル2はコード番号が大きくなるにつれて可変長符号長が長くなるように構成される一方、可変長符号テーブル1は、可変長符号テーブル2と比較して、コード番号が小さいときに可変長符号長が短くなるように構成され、可変長符号テーブル2は、可変長符号テーブル1と比較して、コード番号が大きいときに可変長符号長が短くなるように構成される。すなわち、小さなコード番号では可変長符号テーブル1の方が短い符号が割り当てられ、大きなコード番号では可変長符号テーブル2の方が短い符号が割り当てられる構成となっている。 The first variable length code table 1 and the second variable length code table 2 are configured such that the variable length code length increases as the code number increases, while the variable length code table 1 includes the variable length code table 2. Compared to the variable length code table, the variable length code length is shorter when the code number is smaller. The variable length code table 2 has a variable length code length when the code number is larger than the variable length code table 1. Is configured to be shorter. That is, a shorter code is assigned to the variable length code table 1 with a smaller code number, and a shorter code is assigned to the variable length code table 2 with a larger code number.
1番目のRL値に対しては、可変長符号テーブル1が用いられる。そして、この場合は、1番目のRL値のコード番号は「2」であるので、この際の可変長符号は「011」となる。そして順に可変長符号への変換を行っていき、Lの絶対値がしきい値を超えると、次のRL値以降では可変長符号テーブル2を用いる。ここでLの絶対値に対するしきい値を「2」とすると、4番目のRL値(0、3)でしきい値を超えることになる。したがって、1〜4番目のRL値に対しては、可変長符号テーブル1を用いて変換を行い、5番目以降のRL値に対しては、可変長符号テーブル2を用いて変換を行うことになる。 For the first RL value, the variable length code table 1 is used. In this case, since the code number of the first RL value is “2”, the variable length code at this time is “011”. Then, conversion to variable length codes is performed in order, and when the absolute value of L exceeds a threshold value, the variable length code table 2 is used after the next RL value. If the threshold value for the absolute value of L is “2”, the threshold value is exceeded at the fourth RL value (0, 3). Therefore, the first to fourth RL values are converted using the variable-length code table 1, and the fifth and subsequent RL values are converted using the variable-length code table 2. Become.
ここで、7番目のRL値(1、2)でLの絶対値が再びしきい値以下となるが、可変長符号テーブルVLC1への切り替えは行わず、可変長符号テーブル2を用いて変換する。つまり、テーブルの切り替え方向が、一方向である。ここで、一方向とは、一旦使い終えたテーブルを再使用しないことをいう。これによって、係数値によって、テーブルが頻繁に入れ替わることが防止され、テーブルの切り替え回数が減る。高周波数成分から低周波数成分に向けて一次元化した場合、一般的にLの絶対値は増加傾向にある。 Here, with the seventh RL value (1, 2), the absolute value of L again becomes less than or equal to the threshold value, but the conversion to the variable length code table VLC1 is not performed, and conversion is performed using the variable length code table 2. . That is, the table switching direction is one direction. Here, one direction means that a table that has been used once is not reused. Accordingly, the table is prevented from being frequently replaced by the coefficient value, and the number of table switching is reduced. When one-dimensionalization is performed from a high frequency component to a low frequency component, the absolute value of L generally tends to increase.
したがって、Lの絶対値が一度しきい値を超えた場合、その後のLの絶対値が再度そのしきい値を下回ったとしても、しきい値を下回るのはその係数のみである場合が多い。よって、Lの絶対値が再度しきい値を下回ったとしても、再び元の可変長符号テーブルは用いないようにすることにより、符号化効率を向上させることができる。例えば、メモリのワークエリアが限られるので次に使用するテーブルだけをワークエリアに置くのが一般的である。この場合には、テーブルを切り替えるごとにROMから次のテーブルを読み出してワークエリアに展開するのに時間がかかるので、次の係数値の符号化まで時間がかかる。このため、一方向とすることによって、テーブルの切り替え回数を制限し、次の係数値の符号化までの時間をトータルとして短縮できるという効果が発揮される。 Therefore, when the absolute value of L once exceeds the threshold value, even if the subsequent absolute value of L again falls below the threshold value, it is often the case that only the coefficient falls below the threshold value. Therefore, even if the absolute value of L again falls below the threshold value, encoding efficiency can be improved by not using the original variable length code table again. For example, since the work area of the memory is limited, it is common to place only the next table to be used in the work area. In this case, every time the table is switched, it takes time to read the next table from the ROM and expand it in the work area, so it takes time to encode the next coefficient value. For this reason, the effect of being able to limit the number of times of table switching and shortening the time until encoding of the next coefficient value as a whole is exhibited by using one direction.
また、RL列生成部141では係数値列の係数値を低周波数成分から高周波数成分に向かう順序で走査し、コード割り当て部143では、係数値列の後ろから順番に可変長符号に符号化するようにしているのは、係数の絶対値が「1」付近から段々大きくなる傾向が強いので、ブロック内の最初の係数値を符号化するのに用いるテーブルを決定しやすくしたり、各テーブルの構成を簡単に決めることができたり、しきい値を決定しやすくしたりすることができるからである。
Further, the RL
以上のように、本実施の形態1の可変長符号化方法は、ブロック内の周波数係数値を低周波数域から高周波数域に向けて走査し一次元化する。そして、一次元化された係数値に対して、連続する係数値「0」の個数Rとそれに続く「0」以外の係数値Lとの組み合わせであるRL値の列を生成する。そして、RL値を走査順とは逆順に可変長符号に変換していく。つまり、RL値を直接可変長符号に変換してもよい。可変長符号に変換する際には、可変長符号テーブルを複数用意する。 As described above, in the variable length coding method according to the first embodiment, the frequency coefficient value in the block is scanned from the low frequency region to the high frequency region to be one-dimensional. Then, with respect to the one-dimensional coefficient values, a series of RL values, which is a combination of the number R of consecutive coefficient values “0” and the subsequent coefficient values L other than “0”, is generated. Then, the RL value is converted into a variable length code in the reverse order of the scanning order. That is, the RL value may be directly converted to a variable length code. When converting to a variable length code, a plurality of variable length code tables are prepared.
そして、まず、第1の可変長符号テーブルを用いて変換を行い、Lの絶対値がしきい値を超えると、以降のRL値に対しては第2の可変長符号テーブルを用いて変換を行う。この際には、第1の可変長符号テーブルは、第2の可変長符号テーブルと比較して、コード番号が小さいときに可変長符号長が短くなる構成とし、第2の可変長符号テーブルは、第1の可変長符号テーブルと比較して、コード番号が大きいときに可変長符号長が短くなる構成とする。 First, conversion is performed using the first variable length code table, and when the absolute value of L exceeds the threshold value, conversion is performed using the second variable length code table for subsequent RL values. Do. In this case, the first variable length code table is configured so that the variable length code length is shorter when the code number is smaller than the second variable length code table. As compared with the first variable length code table, the variable length code length is shortened when the code number is large.
一般に低周波数成分ほどLの絶対値は大きくなるため、低周波数域から高周波数域に走査してRL値を生成したのとは逆順にRL値を可変長符号に変換していくと、Lの絶対値は大きくなっていく。 In general, the lower the frequency component, the larger the absolute value of L. Therefore, when the RL value is converted into a variable length code in the reverse order of scanning from the low frequency region to the high frequency region and generating the RL value, The absolute value increases.
したがって、Lの絶対値がしきい値を超えた後に、コード番号が大きいとき、すなわちLの絶対値が大きいときに可変長符号長が短くなる可変長符号テーブルを用いることにより、合計の符号量を小さくすることができる。つまり、LをRと別個に、かつ複数の可変長符号テーブルを用いて符号化することによっても、Lについての合計の符号量を小さくすることができる。 Therefore, after the absolute value of L exceeds the threshold value, when the code number is large, that is, when the absolute value of L is large, a variable length code table in which the variable length code length is shortened is used, so that the total code amount Can be reduced. That is, by encoding L separately from R and using a plurality of variable length code tables, the total code amount for L can be reduced.
なお、本実施の形態1では、フレーム内符号化により画像を符号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてフレーム間符号化をする場合であっても良く、本実施の形態の方法により、同様の効果が得られる。 In the first embodiment, a case where an image is encoded by intra-frame encoding has been described. However, this is a case where inter-frame encoding is performed using motion compensation or the like for moving image input. The same effect can be obtained by the method of this embodiment.
また、本実施の形態1では、入力画像を水平4画素、垂直4画素のブロックに分割する場合について説明したが、ブロックの大きさは他の大きさであっても良い。 In the first embodiment, the case where the input image is divided into blocks of 4 horizontal pixels and 4 vertical pixels has been described. However, the size of the blocks may be other sizes.
また、本実施の形態1では、ブロック内の走査方法として図3(b)を用いて説明したが、これは低周波数域から高周波数域への走査であれば他の走査順序であっても良い。 In the first embodiment, the scanning method in the block has been described with reference to FIG. 3B. However, this may be another scanning order as long as scanning from a low frequency region to a high frequency region. good.
また、本実施の形態1では、コードテーブルの例として図5を用いて説明したが、これは他のコードテーブルであっても良い。 In the first embodiment, the example of the code table has been described with reference to FIG. 5, but this may be another code table.
また、本実施の形態1では、可変長符号テーブルの例として図6を用いて説明したが、これは他のテーブルであっても良い。 Further, although the first embodiment has been described with reference to FIG. 6 as an example of the variable length code table, it may be another table.
また、可変長符号テーブルを2つ用いる場合について説明したが、これは可変長符号テーブルを3つ以上用い、複数のしきい値を用いて、各しきい値を超える度に可変長符号テーブルを切り替えるようにしても良い。 In addition, the case where two variable length code tables are used has been described. This is because three or more variable length code tables are used, and a plurality of threshold values are used. You may make it switch.
また、本実施の形態では、Lの絶対値がしきい値を超えた場合に、可変長符号テーブルを切り替える場合について説明したが、これはコード番号がしきい値を超えた場合に、可変長符号テーブルを切り替えても、同様の効果が得られる。 In the present embodiment, the variable length code table is switched when the absolute value of L exceeds the threshold value. However, when the code number exceeds the threshold value, the variable length code table is changed. The same effect can be obtained by switching the code table.
また、本実施の形態では、RL列の最後にEOBを付加する場合について説明したが、これはRL列の最初にRL値の個数を付加しても良い。この場合の図4に対応する、符号化すべきRL値の個数、およびRL列は、図7(a)、図7(b)のようになる。また、図5に示すコードテーブルにおいて、EOBへのコード番号の割り当ては不要となる。 In the present embodiment, the case where EOB is added to the end of the RL sequence has been described. However, this may add the number of RL values to the beginning of the RL sequence. The number of RL values to be encoded and the RL sequence corresponding to FIG. 4 in this case are as shown in FIGS. 7 (a) and 7 (b). In the code table shown in FIG. 5, it is not necessary to assign a code number to the EOB.
(実施の形態2)
図8は、本発明の実施の形態に係る可変長復号化方法が適用される復号化装置の機能構成を示すブロック図である。なお、ここでは、実施の形態1で説明した本発明の可変長符号化方法により生成された符号列が入力されるとする。
(Embodiment 2)
FIG. 8 is a block diagram showing a functional configuration of a decoding apparatus to which the variable length decoding method according to the embodiment of the present invention is applied. Here, it is assumed that a code string generated by the variable length coding method of the present invention described in
図8に示されるように、復号化装置500aは、可変長復号化部510と、逆量子化部520と、逆周波数変換部530と、フレームメモリ540とから構成される。なお、このような復号化装置500aを構成する各部は、符号化装置100aと同様にCPU、CPUによって実行されるプログラムやデータを予め格納するROM、プログラム実行の際にワークエリアを提供したり、入力符号化列等を一時的に格納するメモリ等により実現される。
As illustrated in FIG. 8, the
符号列は可変長復号化部510に入力される。可変長復号化部510は、可変長符号化された符号列を復号化する。この符号列は、上記したように、画像データを所定の大きさを有するブロック単位で分割し、前記ブロックの周波数係数値を、所定の走査順序で一次元化し、連続する係数値が0である係数の連続数Rと、それに続く係数値Lとの組み合わせ(RL値)の列を符号化することにより生成されている。
The code string is input to the variable
図9は、可変長復号化部510の詳細な機能構成を示すブロック図である。
FIG. 9 is a block diagram illustrating a detailed functional configuration of the variable
図9に示すように可変長復号化部510は、コード変換部511と、テーブル記憶部512と、並べ替え部513と、係数生成部514とから構成される。
As shown in FIG. 9, the variable
テーブル記憶部512は、テーブル記憶部144の場合と同様に構成され、コード番号と可変長符号とを対応付けた複数種類のテーブル(可変長符号テーブル、図6)と、テーブル記憶部144の場合と同様に構成され、RL値とこのRL値に対して割り当てられるコード番号とを対応付けたテーブル(コードテーブル、図5参照)等とを予め保持する。
The
コード変換部511は、テーブル記憶部512に保持されているテーブル(複数の可変長符号テーブル)を用いて、まず入力された符号列に対して、可変長符号からコード番号への変換を行う。コード番号への変換は、複数の可変長符号テーブルを用いて行う。この可変長符号テーブルはテーブル記憶部512に保持されており、テーブル記憶部512を参照することによりコード番号への変換を行う。
The
可変長符号テーブルの一例を図6を用いて説明する。可変長符号テーブルは2種類保持されている。小さなコード番号では可変長符号テーブル1の方が短い符号が割り当てられ、大きなコード番号では可変長符号テーブルVLCの方が短い符号が割り当てられる構成となっている。ここでは、入力符号列の先頭部の符号が「01100100000100100011100010011」であるとする。1番目の可変長符号に対しては、可変長符号テーブル1が用いられる。今、図6の可変長テーブル1を参照した場合、入力符号列に一致するのは、可変長符号「011」であり、この場合のコード番号は「2」となる。 An example of the variable length code table will be described with reference to FIG. Two types of variable length code tables are held. A variable code table 1 is assigned a shorter code with a small code number, and a code with a shorter code is assigned to a variable code table VLC with a larger code number. Here, it is assumed that the code at the head of the input code string is “01100100000100100011100010011”. The variable length code table 1 is used for the first variable length code. Now, referring to the variable length table 1 of FIG. 6, the variable length code “011” matches the input code string, and the code number in this case is “2”.
次にコード変換部511では、得られたコード番号をRL値に変換する。この際には、予め定められたコードテーブルを用いて行う。コードテーブルはテーブル記憶部512に保持されており、テーブル記憶部512を参照することによりRL値への変換を行う。コードテーブルの一例を図5に示す。この場合のコード番号は「2」であるので、RL値は(0、−1)となる。
Next, the
同様にして、可変長符号からコード番号への変換を順に行っていくと、可変長符号テーブル1を用いて、可変長符号「00100」がコード番号「3」に、可変長符号「0001001」がコード番号「8」に、可変長符号「0001110」がコード番号「13」に変換され、さらにそれぞれのコード番号はRL値(1、1)、(0、−2)、(0、3)に変換される。 Similarly, when conversion from the variable length code to the code number is performed in order, using the variable length code table 1, the variable length code “00100” becomes the code number “3” and the variable length code “000001” The variable number code “0001110” is converted into the code number “13” into the code number “8”, and each code number is converted into the RL values (1, 1), (0, −2), (0, 3). Converted.
ここで、コード変換部511は、得られたRL値のうち、Lの絶対値がしきい値を超えると、以降の可変長符号の変換では、可変長符号テーブル2を用いる。ここでLの絶対値に対するしきい値を「2」とすると、4番目のRL値(0、3)でしきい値を超えることになる。したがって、これ以降のRL値に対しては、可変長符号テーブル2を用いて変換を行うことになる。よって、次の可変長符号「0010011」は、コード番号15に変換され、さらにRL値(0、4)に変換される。
Here, if the absolute value of L exceeds the threshold value among the obtained RL values, the
また、以降の復号化において得られたRL値のうち、Lの絶対値が再びしきい値以下となっても、可変長符号テーブル1への切り替えは行わず、可変長符号テーブル2を用いて変換を行う。以上のようにして、1ブロック分のRL値が生成されると(EOBが検出されると)、それらは並べ替え部513に入力される。ここでは、図10(a)のRL列が生成されたとする。
Further, even if the absolute value of L among the RL values obtained in the subsequent decoding becomes equal to or less than the threshold value again, switching to the variable length code table 1 is not performed, and the variable length code table 2 is used. Perform conversion. As described above, when RL values for one block are generated (when EOB is detected), they are input to the
並べ替え部513は、入力されたRL列を逆方向に並べ直す。ただし、EOBは並べ替えの対象からは除外する。並べ替えた後の状態は図10(b)となる。このように並べ替えられたRL列は係数生成部514に入力される。
The
係数生成部514は、入力されたRL列を係数値に変換し、所定の走査方法で係数ブロックに二次元化する。この係数値への変換の際には、所定の走査順序に基づいて、Rで示された値だけ係数値「0」を生成し、その次にLで示された値の係数値を生成する、を繰り返すことにより、RL列から係数値への変換を行う。ここでは、低周波数領域から高周波数領域に向かってジグザグに走査するとすると、図10(b)のRL列は図11に示される係数ブロックに変換されることになる。生成された係数ブロックは逆量子化部520に入力される。
The
逆量子化部520は、入力された係数ブロックに対して、逆量子化処理を行う。ここで逆量子化処理とは、係数値に所定の量子化値を積算する処理に相当する処理を意味する。ここで量子化値は、一般的にブロックごと、周波数帯域ごとによって異なっており、符号列中から得られる、または所定の値を用いるものとする。逆量子化された係数ブロックは逆周波数変換部530に入力される。逆周波数変換部530は、逆量子化された係数ブロックに対して、逆周波数変換を施し、画素ブロックに変換する。変換された画素ブロックはフレームメモリ540に入力される。
The
フレームメモリ540には、復号化された画素ブロックが順に蓄積され、1画面分の画素ブロックが蓄積されると、出力画像として出力される。
In the
以上のように、本発明の可変長復号化方法は、入力符号列をまず第1の可変長テーブルを用いて復号化し、連続する係数値0の個数Rとそれに続く0以外の係数値Lとの組み合わせであるRL値の列を生成する。そして、Lの絶対値がしきい値を超えると、それ以降の可変長符号の復号化には、第2の可変長テーブルを用いる。そして、RL値を逆順に並べ替えた後、ブロック内の所定の走査順に基づいて、RL値を係数値に変換する。
As described above, in the variable length decoding method of the present invention, the input code string is first decoded using the first variable length table, and the number R of
以上の動作により、本発明の可変長復号化方法を用いることにより、本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化することが可能となる。 With the above operation, by using the variable length decoding method of the present invention, it is possible to correctly decode a code string encoded using the variable length coding method of the present invention.
なお、本実施の形態2では、フレーム内符号化により生成された符号列を復号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてフレーム間符号化をして生成された符号列を復号化する場合であっても良く、本実施の形態の方法により、同様の効果が得られる。 In the second embodiment, the case where the code string generated by the intra-frame coding is decoded has been described. However, this is performed by performing inter-frame coding using motion compensation or the like on the moving image input. The generated code string may be decoded, and the same effect can be obtained by the method of the present embodiment.
また、本実施の形態2では、入力画像が水平4画素、垂直4画素のブロックに分割されて符号化されている場合について説明したが、ブロックの大きさは他の大きさであっても良い。 Further, in the second embodiment, the case where the input image is divided and encoded into blocks of 4 horizontal pixels and 4 vertical pixels has been described. However, the size of the blocks may be other sizes. .
また、本実施の形態2では、ブロック内の走査方法として図11を用いて説明したが、これは符号化の際に用いた走査方法と同じであれば、他の走査順序であっても良い。 In the second embodiment, the scanning method in the block has been described with reference to FIG. 11. However, this may be another scanning order as long as it is the same as the scanning method used at the time of encoding. .
また、本実施の形態2では、コードテーブルの例として図5を用いて説明したが、これは符号化の際に用いたコードテーブルと同じであれば、他のコードテーブルであっても良い。 In the second embodiment, the example of the code table has been described with reference to FIG. 5, but this may be another code table as long as it is the same as the code table used for encoding.
また、本実施の形態2では、可変長符号テーブルの例として図6を用いて説明したが、これは符号化の際に用いた可変長符号テーブルと同じであれば、他のテーブルであっても良い。また、可変長符号テーブルを2つ用いる場合について説明したが、これは可変長符号テーブルを3つ以上用い、複数のしきい値を用いて、各しきい値を超える度に可変長符号テーブルを切り替えるようにしても良い。ただし、この際の可変長テーブルの構成およびしきい値は、符号化の際に用いたものと同じでなければならない。 In the second embodiment, the variable length code table has been described with reference to FIG. 6 as an example. However, if this is the same as the variable length code table used for encoding, this is another table. Also good. In addition, the case where two variable length code tables are used has been described. This is because three or more variable length code tables are used, and a plurality of threshold values are used. You may make it switch. However, the configuration and threshold value of the variable length table at this time must be the same as those used for encoding.
また、本実施の形態2では、Lの絶対値がしきい値を超えた場合に、可変長符号テーブルを切り替える場合について説明したが、これはコード番号がしきい値を超えた場合に、可変長符号テーブルを切り替えても同様の効果が得られる。 In the second embodiment, the case where the variable-length code table is switched when the absolute value of L exceeds the threshold value has been described. This is variable when the code number exceeds the threshold value. The same effect can be obtained by switching the long code table.
また、本実施の形態2では、RL列の最後にEOBを付加されて符号化されている符号列を復号化する場合について説明したが、これはRL列の最初にRL値の個数を付加されて符号化されている符号列を復号化しても良い。この場合の図10に対応する、復号化により得られるRL値の個数、およびRL列は、図12(a)、図12(b)のようになる。またこの際、図5に示すコードテーブルにおいて、EOBへのコード番号の割り当ては不要となる。 In the second embodiment, a case has been described in which a code string that has been encoded by adding EOB to the end of the RL sequence has been described, but this is the case where the number of RL values is added to the beginning of the RL sequence. The encoded code string may be decoded. The number of RL values obtained by decoding and the RL sequence corresponding to FIG. 10 in this case are as shown in FIGS. 12 (a) and 12 (b). At this time, it is not necessary to assign a code number to the EOB in the code table shown in FIG.
以上のように本発明の可変長符号化方法では、ブロック内の周波数係数値を低周波数域から高周波数域に向けて走査し一次元化する。そして、一次元化された係数値に対して、連続する係数値0の個数Rとそれに続く0以外の係数値Lとの組み合わせであるRL値の列を生成する。そして、RL値を走査順とは逆順に可変長符号に変換していく。可変長符号に変換する際には、可変長符号テーブルを複数用意する。
As described above, in the variable length coding method of the present invention, the frequency coefficient value in the block is scanned from the low frequency region to the high frequency region to be one-dimensional. Then, for a one-dimensional coefficient value, a string of RL values, which is a combination of the number R of
そして、まず、第1の可変長符号テーブルを用いて変換を行い、Lの絶対値またはコード番号がしきい値を超えると、以降のRL値に対しては第2の可変長符号テーブルを用いて変換を行う。この際には、第1の可変長符号テーブルは、第2の可変長符号テーブルと比較して、コード番号が小さいときに可変長符号長が短くなる構成とし、第2の可変長符号テーブルは、第1の可変長符号テーブルと比較して、コード番号が大きいときに可変長符号長が短くなる構成とする。 First, conversion is performed using the first variable length code table, and when the absolute value or code number of L exceeds the threshold value, the second variable length code table is used for the subsequent RL values. To convert. In this case, the first variable length code table is configured so that the variable length code length is shorter when the code number is smaller than the second variable length code table. As compared with the first variable length code table, the variable length code length is shortened when the code number is large.
一般に低周波数成分ほどLの絶対値やコード番号は大きくなるため、低周波数域から高周波数域に走査してRL値を生成したのとは逆順にRL値を可変長符号に変換していくと、Lの絶対値は大きくなっていく。したがって、Lの絶対値がしきい値を超えた後に、コード番号が大きいときに可変長符号長が短くなる可変長符号テーブルを用いることにより、合計の符号量を小さくすることができる。 In general, the absolute value and code number of L increase as the low frequency component increases. Therefore, when the RL value is converted into a variable length code in the reverse order from the generation of the RL value by scanning from the low frequency region to the high frequency region. , The absolute value of L increases. Therefore, the total code amount can be reduced by using a variable-length code table in which the variable-length code length is shortened when the code number is large after the absolute value of L exceeds the threshold value.
また、本発明の可変長復号化方法は、入力符号列をまず第1の可変長テーブルを用いて復号化し、連続する係数値0の個数Rとそれに続く0以外の係数値Lとの組み合わせであるRL値の列を生成する。そして、Lの絶対値またはコード番号がしきい値を超えると、それ以降の可変長符号の復号化には、第2の可変長テーブルを用いる。そして、RL値を逆順に並べ替えた後、ブロック内の所定の走査順に基づいて、RL値を係数値に変換する。
In the variable length decoding method of the present invention, the input code string is first decoded using the first variable length table, and the combination of the number R of
以上の動作により、本発明の可変長復号化方法を用いることにより、本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化することが可能となる。 With the above operation, by using the variable length decoding method of the present invention, it is possible to correctly decode a code string encoded using the variable length coding method of the present invention.
(実施の形態3)
以下、本発明の第3の実施の形態における画像符号化装置について図面を参照しながら説明する。
(Embodiment 3)
Hereinafter, an image coding apparatus according to a third embodiment of the present invention will be described with reference to the drawings.
図13は、本発明の第3の実施の形態における画像符号化装置100bの構成を示すブロック図である。
FIG. 13 is a block diagram showing a configuration of an
この画像符号化装置100bは、入力画像(画像データ)に対して符号化効率を向上してピクチャ内符号化処理を行うものであって、ブロック変換部101、周波数変換部102、量子化部103、および可変長符号化部150を備えている。
The
ブロック変換部101は、入力画像を水平4×垂直4画素の大きさの画素ブロックに分割して周波数変換部102に出力する。
The
周波数変換部102は、分割された上記各画素ブロックに対して、周波数変換を施して周波数係数を生成する。そして周波数変換部102は、生成された周波数係数を量子化部103に出力する。
The
量子化部103は、周波数変換部102から出力された周波数係数に対して、量子化処理を行う。ここで量子化処理とは、周波数係数を所定の量子化値によって除算することに相当する処理を意味する。また量子化値は、一般的に画素ブロックごと、周波数帯域ごとによって異なる。そして量子化部103は、量子化された周波数係数を可変長符号化部150に出力する。
The
可変長符号化部150は、量子化部103で量子化された周波数係数を可変長符号化する。
The variable
図14は、可変長符号化部150の内部構成を示すブロック図である。
FIG. 14 is a block diagram showing an internal configuration of the variable
この図14に示すように、可変長符号化部150は、RL列生成部201、並べ替え部202、2値化部203、テーブル記憶部204、および算術符号化部205を備えている。
As shown in FIG. 14, the variable
RL列生成部201は、量子化部103から出力された量子化された周波数係数(以下、「係数」と略す)を所定の走査方法で一次元化する。そして、RL列生成部201は、一次元化された係数に対して、連続する係数の値「0」の個数Rとそれに続く「0」以外の係数の値Lとの組み合わせ(以下、「RL値」と称す)の列(以下、「RL列」と称す)を生成する。その例を図15、図16を用いて説明する。
The RL
図15の(a)は、量子化部103から出力される複数の係数により構成される係数ブロックを示す。ここで、係数ブロック内の左上の周波数係数が直流成分を示し、右に向かうほど水平方向の周波数成分が高くなり、下に向かうほど垂直方向の周波数成分が高くなる。
FIG. 15A shows a coefficient block composed of a plurality of coefficients output from the
図15の(b)は、係数ブロック内の複数の係数を一次元化する際の走査方法を説明するための説明図である。RL列生成部201は、図15の(b)の矢印で示すように、係数ブロック内を低周波数領域から高周波数領域に向かって走査することにより、係数の一次元化を行う。
FIG. 15B is an explanatory diagram for explaining a scanning method when a plurality of coefficients in the coefficient block are made one-dimensional. The RL
図16の(a)は、RL列生成部201から出力されるRL列を示す。
FIG. 16A shows an RL sequence output from the RL
この図16の(a)の中で、最初の数字は係数の個数を示す。一般的に高周波数領域ほど係数の値が「0」になり易いので、低周波数領域から高周波数領域に向かって走査することにより、RL列の情報量(のうちの個数Rの情報量)を小さくすることができる。生成されたRL列は並べ替え部202に入力される。
In FIG. 16A, the first number indicates the number of coefficients. In general, since the coefficient value tends to be “0” in the high frequency region, by scanning from the low frequency region toward the high frequency region, the information amount of the RL sequence (the information amount of the number R of them) is reduced. Can be small. The generated RL sequence is input to the
並べ替え部202は、入力されたRL列を逆方向に並べ直す。ただし、係数の個数は並べ替えの対象からは除外する。
The
図16の(b)は、並び替え部202で並び替えられたRL列を示す。このように並び替えることで、上述のように情報量を小さくしながらも、結果的に、係数ブロック内を高周波数領域から低周波数領域に向かって走査して係数の一次元化が行われたことになる。そして、このように並べ替えられたRL列は2値化部203に出力される。
FIG. 16B shows the RL sequence rearranged by the
2値化部203は、係数の個数および各RL値に対して、2値化、すなわち「0」や「1」からなる2値化データへの変換を行う。ここで、個数Rと係数値Lとはそれぞれ別に2値化される。
The
図16の(c)は、並び替え部202で並び替えられたRL列の係数値Lのみを示す。これらの係数値Lに対しては、その絶対値と正負符号とが別に処理される。また2値化部203は、例えば図21に示すような予め定められた2値化テーブルを用いて、個数Rと係数値Lの絶対値に対して2値化を行う。そして2値化部203は、これらに対して2値化を施された2値化データを算術符号化部205に対して出力する。
FIG. 16C shows only the coefficient value L of the RL sequence rearranged by the
算術符号化部205は、2値化データとして表される個数R値および係数値Lの絶対値に対して2値算術符号化を行うとともに、係数値Lの正負符号に対しても符号化を行う。ここでは、係数値Lの絶対値の算術符号化について説明する。算術符号化部205は、2値化データとして表される係数値Lの絶対値に算術符号化を施す場合には、複数の確率テーブルを切り替えて用いる。これら複数の確率テーブルはテーブル記憶部204に記憶されている。
The
図17は、確率テーブルの切り替え方法を示す遷移図である。 FIG. 17 is a transition diagram showing a probability table switching method.
この図17に示すように、算術符号化部205は確率テーブルを4つ用い、先頭の係数値Lの絶対値に対しては、確率テーブル1を用いてこれを算術符号化する。そして、それ以降の係数値Lの絶対値に対しては、算術符号化部205は、直前の係数値Lの絶対値を符号化する際に用いられた確率テーブルのテーブル番号と、その絶対値とに応じて、使用される確率テーブルを切り替える。ここで、4つの確率テーブルは、確率テーブル1、確率テーブル2、確率テーブル3、確率テーブル4であり、確率テーブル1のテーブル番号は「1」、確率テーブル2のテーブル番号は「2」、確率テーブル3のテーブル番号は「3」、確率テーブル4のテーブル番号は「4」である。
As shown in FIG. 17, the
具体的に、直前の係数値Lの絶対値が確率テーブル1を用いて符号化され、且つその絶対値が「1」の場合、または、直前の係数値Lの絶対値が確率テーブル2を用いて符号化され、且つその絶対値が「1」の場合には、確率テーブル2が用いられる。直前の係数値Lの絶対値が確率テーブル1を用いて符号化され、且つその絶対値が「2」の場合、または、直前の係数値Lの絶対値が確率テーブル2を用いて符号化され、かつその絶対値が「2」の場合、または、直前の係数値Lの絶対値が確率テーブル3を用いて符号化され、且つその絶対値が「2以下」の場合には、確率テーブル3が用いられる。直前の係数値Lの絶対値が「3以上」の場合、または、直前の係数値Lの絶対値が確率テーブル4を用いて符号化されている場合には、確率テーブル4が用いられる。 Specifically, when the absolute value of the immediately preceding coefficient value L is encoded using the probability table 1 and the absolute value is “1”, or the absolute value of the immediately preceding coefficient value L uses the probability table 2. If the absolute value is “1”, the probability table 2 is used. The absolute value of the immediately preceding coefficient value L is encoded using the probability table 1 and the absolute value is “2”, or the absolute value of the immediately preceding coefficient value L is encoded using the probability table 2. When the absolute value is “2”, or when the absolute value of the immediately preceding coefficient value L is encoded using the probability table 3 and the absolute value is “2 or less”, the probability table 3 Is used. When the absolute value of the immediately preceding coefficient value L is “3 or more”, or when the absolute value of the immediately preceding coefficient value L is encoded using the probability table 4, the probability table 4 is used.
このように確率テーブルの切り替えは、テーブル番号が小さい確率テーブルからテーブル番号が大きい確率テーブルへの一方向であり、直前の係数値Lの絶対値が所定のしきい値以下となっても、逆方向への切り替えは行われない。これが従来例とは異なる点である。 As described above, the switching of the probability table is one direction from the probability table with the smaller table number to the probability table with the larger table number, and even if the absolute value of the immediately preceding coefficient value L is equal to or less than the predetermined threshold value, No change in direction is made. This is a point different from the conventional example.
図18は、上記4つの確率テーブル1〜4の内容を示す確率テーブル内容表示図である。 FIG. 18 is a probability table content display diagram showing the contents of the four probability tables 1 to 4 described above.
確率テーブル1〜4のそれぞれは、図18に示すように、「0」の発生する確率と、「1」の発生する確率とから構成される。 As shown in FIG. 18, each of the probability tables 1 to 4 includes a probability of occurrence of “0” and a probability of occurrence of “1”.
例えば確率テーブル1は、「0」の発生する確率「0.1」と、「1」の発生する確率「0.9」とから構成され、確率テーブル2は、「0」の発生する確率「0.2」と、「1」の発生する確率「0.8」とから構成されている。 For example, the probability table 1 includes a probability “0.1” of occurrence of “0” and a probability “0.9” of occurrence of “1”, and the probability table 2 has a probability “0” of occurrence of “0”. 0.2 ”and the probability“ 0.8 ”of occurrence of“ 1 ”.
つまり、係数値Lの絶対値が「2」であれば、この「2」が2値化されたものが「01」であるため、算術符号化部205は、これを確率テーブル1を用いて算術符号化するときには、上記「01」の「0」に対応する確率「0.1」と、上記「01」の「1」に対応する確率「0.9」とを用いて、この「01」を算術符号化する。
That is, if the absolute value of the coefficient value L is “2”, since the binarized value of “2” is “01”, the
ここで、「0」が発生する確率と「1」の発生する確率との合計は1.0であるので、両者の確率を保持しておく必要はなく、一方の確率のみを保持しても良い。 Here, since the sum of the probability of occurrence of “0” and the probability of occurrence of “1” is 1.0, it is not necessary to hold both probabilities, and even if only one probability is held. good.
図16の(c)に示す係数値Lの絶対値(2値化されたもの)が符号化される場合における、確率テーブルの切り替え例を以下に説明する。 An example of switching the probability table when the absolute value (binarized) of the coefficient value L shown in FIG. 16C is encoded will be described below.
算術符号化部205は、最初の係数値L(−2)の絶対値に対しては、確率テーブル1を用いる。ここで係数値Lの絶対値が2であるので、算術符号化部205は、使用される確率テーブルを確率テーブル1から確率テーブル3に遷移させる。これにより算術符号化部205は、2番目の係数値L(3)の絶対値を確率テーブル3を用いて算術符号化する。
The
ここでの係数値Lの絶対値は「3」であるので、算術符号化部205は、使用される確率テーブルを確率テーブル3から確率テーブル4に遷移させる。これにより算術符号化部205は、3番目の係数値(6)の絶対値を確率テーブル4を用いて算術符号化する。ここで使用される確率テーブルが確率テーブル4に遷移されたので、算術符号化部205は、以降の係数値Lの絶対値をすべて確率テーブル4を用いて算術符号化する。例えば、5番目の係数値Lの絶対値は「2」となるが、従来例とは異なり、算術符号化部205は、6番目以降の係数値Lの絶対値を算術符号化するときには、確率テーブルを遷移させずに確率テーブル4を用いる。
Here, since the absolute value of the coefficient value L is “3”, the
また、各確率テーブルは、入力が「0」であるか「1」であるかによって随時更新されるため、入力に適応した確率テーブルに更新されていく。 Further, each probability table is updated as needed depending on whether the input is “0” or “1”, and thus is updated to a probability table adapted to the input.
以上のように、本発明に係る画像符号化装置100bの可変長符号化部150における可変長符号化方法は、係数ブロック内の係数を低周波数領域から高周波数領域に向けて走査して一次元化する。そして、一次元化された係数に対して、連続する係数値「0」の個数Rとそれに続く「0」以外の係数値Lとの組み合わせであるRL値の列(RL列)を生成する。
As described above, the variable length coding method in the variable
そして、RL値を走査順とは逆順に可変長符号に変換していく。可変長符号に変換する際には、個数R、係数値Lの絶対値、係数値Lの正負符号を個別に変換する。これらの変換の際には、まず2値化を行い、その後、算術符号を施す。係数値Lの絶対値に対して算術符号を施す際には、複数の確率テーブルを切り替える。確率テーブルを切り替える際には、現在の確率テーブルのテーブル番号および係数値Lの絶対値によって、次の係数値Lの絶対値を符号化する際の確率テーブルを決定する。そして、確率テーブルの遷移は一方向のみとし、係数値Lの絶対値が一度所定の値を超えると、それ以降はすべて同じ確率テーブルで算術符号化を行う。 Then, the RL value is converted into a variable length code in the reverse order of the scanning order. When converting to a variable length code, the number R, the absolute value of the coefficient value L, and the sign of the coefficient value L are individually converted. In these conversions, binarization is first performed, and then arithmetic codes are applied. When an arithmetic code is applied to the absolute value of the coefficient value L, a plurality of probability tables are switched. When switching the probability table, the probability table for encoding the next absolute value of the coefficient value L is determined based on the table number of the current probability table and the absolute value of the coefficient value L. The transition of the probability table is only in one direction, and once the absolute value of the coefficient value L exceeds a predetermined value, arithmetic coding is performed with the same probability table thereafter.
一般に低周波数領域ほど係数値Lの絶対値は大きいため、高周波数領域から低周波数領域の順に走査すると、係数値Lの絶対値は順に大きくなっていくことが多い。したがって、係数値Lの絶対値が一度所定の値を超えると、それ以降は係数値Lの絶対値が所定値よりも小さくなったとしても、小さくなるのはその係数値Lの絶対値だけである可能性が非常に高く、同じ確率テーブルを用いて算術符号化することにより、確率テーブルの更新が入力に適応しやすくなり、それにより各確率テーブルのシンボル(2値化データの「0」または「1」)の発生確率に偏りが生じやすくなる(すなわち、「0」または「1」のいずれかの発生確率が1.0に近い値になる)。算術符号化は、確率テーブル内の確率値に偏りが生じるほど、符号化効率が高くなる特徴を有する。よって、本発明の可変長符号化方法を用いることにより、符号化効率の改善を図ることができる。 In general, since the absolute value of the coefficient value L is larger in the low frequency region, the absolute value of the coefficient value L often increases in order when scanning is performed in order from the high frequency region to the low frequency region. Therefore, once the absolute value of the coefficient value L exceeds a predetermined value, even if the absolute value of the coefficient value L becomes smaller than the predetermined value after that, only the absolute value of the coefficient value L becomes small. It is very likely that arithmetic coding using the same probability table makes it easier to adapt the update of the probability table to the input, so that each probability table symbol ("0" or binary data) The occurrence probability of “1”) is likely to be biased (that is, the occurrence probability of “0” or “1” is close to 1.0). Arithmetic coding is characterized in that the coding efficiency increases as the probability values in the probability table are biased. Therefore, the coding efficiency can be improved by using the variable length coding method of the present invention.
以上、本発明に係る画像符号化装置について本実施の形態を用いて説明したが、本発明はこれらに限定されるものではない。 The image encoding apparatus according to the present invention has been described above using the present embodiment, but the present invention is not limited to these.
例えば、本実施の形態では、ピクチャ内符号化により画像を符号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてピクチャ間符号化をする場合であっても良く、同様の効果が得られる。 For example, in the present embodiment, a case where an image is encoded by intra-picture encoding has been described, but this may be a case where inter-picture encoding is performed using motion compensation or the like for moving image input. A similar effect can be obtained.
また、本実施の形態では、入力画像を水平4×垂直4画素の画素ブロックに分割する場合について説明したが、その画素ブロックの大きさは他の大きさであっても良い。 In the present embodiment, the case where the input image is divided into pixel blocks of horizontal 4 × vertical 4 pixels has been described, but the size of the pixel blocks may be other sizes.
また、本実施の形態では、係数ブロック内の走査方法として図15の(b)を用いて説明したが、これは低周波数領域から高周波数領域への走査であれば他の走査順序であっても良い。 In this embodiment, the scanning method in the coefficient block has been described with reference to FIG. 15B. However, this is another scanning order if scanning is performed from the low frequency region to the high frequency region. Also good.
また、本実施の形態では、RL列生成部201が、量子化された周波数係数を所定の走査方法で一次元化し、一次元化された係数に対して、連続する係数値「0」の個数Rとそれに続く「0」以外の係数値Lとの組み合わせの列(RL列)を生成する場合について説明したが、個数Rの列と係数値Lの列とを個別に生成しても良い。例えば、係数値Lの列を生成する場合、高周波数領域から低周波数領域に向かって走査し、係数値が0以外の係数を選択することにより生成すれば、並べ替え部202を省くことができる。
In the present embodiment, the RL
また、本実施の形態では4つの確率テーブルを用い、図17に示す遷移図に基づいて確率テーブルが遷移する場合について説明したが、確率テーブルの数や、図17における遷移の際の、係数値Lの絶対値に対するしきい値は他の値であっても良い。 Further, in the present embodiment, a case has been described in which four probability tables are used and the probability table changes based on the transition diagram shown in FIG. 17, but the number of probability tables and coefficient values at the time of transition in FIG. The threshold value for the absolute value of L may be another value.
また、本実施の形態では、2値化テーブルの例として図21を用いて説明したが、これは他のテーブルであっても良い。 In the present embodiment, the example of the binarization table has been described with reference to FIG. 21, but this may be another table.
また、本実施の形態では、算術符号化部が2値算術符号を行う場合について説明したが、多値算術符号を行っても良い。この場合、2値化部203を省くことができる。
In the present embodiment, the case where the arithmetic coding unit performs binary arithmetic coding has been described. However, multilevel arithmetic coding may be performed. In this case, the
(実施の形態4)
以下、本発明の第4の実施の形態における画像復号化装置について図面を参照しながら説明する。
(Embodiment 4)
Hereinafter, an image decoding apparatus according to a fourth embodiment of the present invention will be described with reference to the drawings.
図19は、本発明の第4の実施の形態における画像復号化装置500bの構成を示すブロック図である。
FIG. 19 is a block diagram showing a configuration of an
この画像復号化装置500bは、画像データがピクチャ内符号化処理された符号列に対し、ピクチャ内復号化処理を行うものであって、可変長復号化部601、逆量子化部602、逆周波数変換部603、およびフレームメモリ604を備えている。ここで入力される上記符号列は、例えば、実施の形態3の画像符号化装置100bの可変長符号化方法により生成されたものであって、まず可変長復号化部601がこれを取得する。
The
可変長復号化部601は、符号列を取得すると、この符号列に対して可変長復号化することで図15の(a)に示すような複数の係数から構成される係数ブロックを作成する。
When the variable
逆量子化部602は、可変長復号化部601から上記係数ブロックを取得すると、この係数ブロックに対して逆量子化処理を行う。ここで逆量子化処理とは、係数ブロックの各係数に所定の量子化値を積算することを意味する。ここで量子化値は、一般的に個々の係数ブロックや周波数帯域ごとによって異なっており、符号列中から得られる。そして逆量子化部602は、逆量子化された係数ブロックを逆周波数変換部603に出力する。
When the
逆周波数変換部603は、逆量子化された係数ブロックに対して、逆周波数変換を施し、係数ブロックを画素ブロックに変換する。そして逆周波数変換部603は、変換された画素ブロックをフレームメモリ604に出力する。
The inverse
フレームメモリ604は、復号化された画素ブロックを順に蓄積し、1画面分の画素ブロックが蓄積されると、これらの画素ブロックを出力画像として出力する。
The
ここで上述の可変長復号化部601について詳細に説明する。
Here, the variable
図140は、可変長復号化部601の内部構成を示すブロック図である。
FIG. 140 is a block diagram showing an internal configuration of the variable
この図20に示すように可変長復号化部601は、算術復号化部701、多値化部702、テーブル記憶部703、並べ替え部704、および係数生成部705を備えている。
As shown in FIG. 20, the variable
テーブル記憶部703は、例えば図18に示すような4つの確率テーブル1〜4を保持している。 The table storage unit 703 holds, for example, four probability tables 1 to 4 as shown in FIG.
算術復号化部701は、符号列を取得すると、まずこの符号列に対して、算術復号化を行う。ここでは、符号列に含まれる符号化された係数値Lの絶対値(2値化されたもの)に対する2値算術復号化について説明する。
When the
算術復号化部701は、符号化された係数値Lの絶対値に対して算術復号化を行う際には、既に復号化されて多値化された直前の係数値Lの絶対値を多値化部702から取得し、その係数値Lの絶対値に応じてテーブル記憶部703に保持されている確率テーブル1〜4を図17に示すように切り替えて用い、符号化された各係数値Lの絶対値を2値算術復号化してこれらに対応する2値化データを出力する。
When performing arithmetic decoding on the absolute value of the encoded coefficient value L, the
多値化部702は、算術符号化部701から出力される2値化データに対して、例えば図21に示すような2値化テーブルを用いることで多値化し、係数値Lの絶対値とする。そして多値化部702は、係数値Lの絶対値を算術復号化部701と並べ替え部704に出力する。
The
このような算術復号化部701および多値化部702の詳細な動作について説明する。
Detailed operations of the
まず算術復号化部701は、符号化された先頭の係数値Lの絶対値を確率テーブル1を用いて算術復号化する。そして、算術復号化部701は、算術復号化して得られた2値化データを多値化部702に対して出力する。多値化部702は、2値化テーブルを用いることで2値化データから係数値Lの絶対値への変換を行い、その絶対値を算術復号化部701および並べ替え部704に対して出力する。
First, the
次に、算術復号化部701は、それ以降の符号化された係数値Lの絶対値に対しては、直前の符号化された係数値Lの絶対値を2値算術復号化する際に用いられた確率テーブルのテーブル番号と、多値化部702から取得された直前の係数値Lの絶対値によって、使用される確率テーブルを切り替える。図17に示すように、直前の符号化された係数値Lの絶対値が確率テーブル1を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「1」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル2を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「1」の場合には、確率テーブル2が用いられる。
Next, the
直前の符号化された係数値Lの絶対値が確率テーブル1を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「2」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル2を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「2」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル3を用いて算術復号化され、かつ多値化部702から取得された直前の係数値Lの絶対値が「2以下」の場合には、確率テーブル3が用いられる。
When the absolute value of the immediately preceding encoded coefficient value L is arithmetically decoded using the probability table 1 and the absolute value of the immediately preceding coefficient value L acquired from the
多値化部702から取得された直前の係数値Lの絶対値が「3以上」の場合、または、直前の符号化された係数値Lの絶対値が確率テーブル4を用いて算術復号化されている場合には、確率テーブル4が用いられる。このように確率テーブル1〜4の切り替えは、テーブル番号が小さい確率テーブルからテーブル番号が大きい確率テーブルへの一方向であり、多値化部702から取得された直前の係数値Lの絶対値が所定のしきい値以下となっても、逆方向への切り替えは行われない。これが従来例とは異なる点である。
When the absolute value of the immediately preceding coefficient value L acquired from the
図16の(c)に示す係数値Lの絶対値に復号化される場合における、確率テーブルの切り替え例を以下に説明する。 An example of switching the probability table in the case where the absolute value of the coefficient value L shown in FIG. 16C is decoded will be described below.
算術復号化部701は、最初の符号化された係数値L(−2)の絶対値に対しては、確率テーブル1を用いて2値化データ「01」に算術復号化する。ここで、算術復号化部701は、その2値化データ「01」に対して多値化された「2」を多値化部702から取得するので、使用される確率テーブルを確率テーブル1から確率テーブル3に遷移させる。これにより算術復号化部701は、2番目の符号化された係数値L(3)の絶対値を、確率テーブル3を用いて2値化データ「001」に算術復号化する。
The
ここで、算術復号化部701は、その2値化データ「001」に対して多値化された「3」を多値化部702から取得するので、使用される確率テーブルを確率テーブル3から確率テーブル4に遷移させる。これにより算術復号化部701は、3番目の符号化された係数値L(6)の絶対値を、確率テーブル4を用いて2値化データ「000001」に算術復号化する。ここで使用される確率テーブルが確率テーブル4に遷移されたので、算術復号化部701は、以降の符号化された係数値Lの絶対値をすべて確率テーブル4を用いて算術復号化する。例えば、5番目の符号化された係数値Lの絶対値が復号化され多値化された結果は「2」となるが、従来例とは異なり、算術復号化部701は、6番目以降の符号化された係数値Lの絶対値を算術復号化するときには、確率テーブルを遷移させずに確率テーブル4を用いる。
Here, the
以上のような動作により、1つの係数ブロック分の係数値Lの絶対値および個数R並びに係数値Lの正負符号が生成されると、これらはRL列として並べ替え部704に入力される。
When the absolute value and the number R of the coefficient values L for one coefficient block and the sign of the coefficient value L are generated by the operation as described above, these are input to the
並べ替え部704は、入力されたRL列を逆方向に並べ直す。ただし、係数の個数は並べ替えの対象からは除外する。並べ替えた後の状態は図16の(a)となる。そして並べ替え部704は、このように並べ替えられたRL列を係数生成部705に出力する。
The
係数生成部705は、入力されたRL列を係数ブロックに変換する。この際には、係数生成部705は、所定の走査順序に基づいて、個数Rで示された個数だけ値「0」の係数を生成し、その次に係数値Lで示された値の係数を生成することを繰り返すことにより、RL列から係数ブロックへの変換を行う。ここでは、係数生成部705は、図15の(b)に示すように低周波数領域から高周波数領域に向かってジグザグに走査し、図16の(a)に示すRL列を、図15の(a)に示す係数ブロックに変換する。そして係数生成部705は、このように生成された係数ブロックを逆量子化部602に出力する。
The
以上のように、本発明に係る画像復号化装置500bの可変長復号化部601における可変長復号化方法は、入力符号列中の、係数値Lの絶対値の算術復号化を行う場合に、複数の確率テーブルを切り替える。確率テーブルを切り替える際には、現在の確率テーブルのテーブル番号および復号化により得られた係数値Lの絶対値によって、次の係数値Lの絶対値を復号化する際の確率テーブルを決定する。この際の、確率テーブルの遷移は一方向のみとし、復号化により得られた係数値Lの絶対値が一度所定の値を超えると、それ以降はすべて同じ確率テーブルで算術復号化を行う。
As described above, the variable length decoding method in the variable
このように、本発明の可変長復号化方法を用いることにより、本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化することが可能となる。 Thus, by using the variable length decoding method of the present invention, it is possible to correctly decode the code string encoded using the variable length coding method of the present invention.
以上、本発明に係る画像復号化装置について、本実施の形態を用いて説明したが、本発明はこれらに限定されるものではない。 The image decoding apparatus according to the present invention has been described above using the present embodiment, but the present invention is not limited to these.
例えば、本実施の形態では、ピクチャ内符号化により生成された符号列を復号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてピクチャ間符号化をして生成された符号列を復号化する場合であっても良く、同様の効果が得られる。 For example, in the present embodiment, a case has been described in which a code string generated by intra-picture encoding is decoded. This is generated by inter-picture encoding using motion compensation or the like for moving image input. It is also possible to decode the processed code string, and the same effect can be obtained.
また、本実施の形態では、画像データが水平4×垂直4画素の画素ブロックに分割されて符号化されている符号列について説明したが、その画素ブロックの大きさは他の大きさであっても良い。 In this embodiment, a description has been given of a code string in which image data is encoded by being divided into pixel blocks of horizontal 4 × vertical 4 pixels, but the size of the pixel block is other size. Also good.
また、本実施の形態では4つの確率テーブルを用い、図17に示す遷移図に基づいて確率テーブルが遷移する場合について説明したが、確率テーブルの数や、図17における遷移の際の、係数値Lの絶対値に対するしきい値は他の値であっても良い。 Further, in the present embodiment, a case has been described in which four probability tables are used and the probability table changes based on the transition diagram shown in FIG. 17, but the number of probability tables and coefficient values at the time of transition in FIG. The threshold value for the absolute value of L may be another value.
また、本実施の形態では、係数ブロック内の走査方法として図15(b)を用いて説明したが、これは符号化の際に用いた走査方法と同じであれば、他の走査順序であっても良い。 In this embodiment, the scanning method in the coefficient block has been described with reference to FIG. 15B. However, if this is the same as the scanning method used at the time of encoding, another scanning order is used. May be.
また、本実施の形態では、2値化テーブルの例として図21を用いて説明したが、これは符号化の際に用いた2値化テーブルと同じであれば、他のテーブルであっても良い。 In this embodiment, the binarization table has been described with reference to FIG. 21 as an example. However, if this is the same as the binarization table used for encoding, other tables may be used. good.
また、本実施の形態では、算術復号化部701が2値算術復号化を行う場合について説明したが、これは多値算術復号化を行っても良い。この場合、多値化部702を省くことができる。
In the present embodiment, the case where the
次いで、本発明に係るさらに他の実施の形態を、図面を参照しながら説明する。 Next, still another embodiment according to the present invention will be described with reference to the drawings.
(実施の形態5)
図22は、本発明の可変長符号化方法およびこれを用いた動画像符号化方法が適用される符号化装置の機能構成を示すブロック図である。なお、この実施の形態5においても、実施の形態1,3の符号化装置100a,100bと同様に、本発明の動画像符号化方法で入力画像をフレーム内符号化処理する場合の機能構成が図示されている。また、このような符号化装置100cを構成する各部は、CPU、CPUによって実行されるプログラムやデータを予め格納するROM、プログラム実行の際にワークエリアを提供したり、入力画像等を一時的に格納するメモリ等により実現される。
(Embodiment 5)
FIG. 22 is a block diagram showing a functional configuration of an encoding apparatus to which the variable length encoding method and the moving image encoding method using the variable length encoding method of the present invention are applied. In the fifth embodiment, as in the first and
図22に示されるように、この実施の形態5に係る符号化装置100cは、ブロック変換部110、周波数変換部120、量子化部130、可変長符号化部160から構成される。
As shown in FIG. 22, the
ここで、上記実施の形態1に係る符号化装置100aではRとLのペアを複数の可変長符号テーブル(VLCテーブル)を用いて符号化するように構成され、上記実施の形態3に係る符号化装置100bではLをRと別個に複数の確率テーブルを用いて算術符号化するように構成されていたが、この実施の形態5に係る符号化装置100cにおいては、LをRと別個に、かつ複数の可変長符号テーブルを用いて符号化するように構成されている点が符号化装置100a,100bと異なっている。このため、符号化装置100cは、符号化装置100a,100bの可変長符号化部140,150に代えて可変長符号化部160を用いて構成される。なお、他の構成については、符号化装置100a,100bと同一であるのでその説明を省略し、可変長符号化部160について詳述する。
Here, the
この可変長符号化部160は、量子化部130によって量子化された周波数係数に基づいてL列とR列とを個別に生成し、1次元VLC切り替え方式で係数の絶対値|L|等の符号列を生成する。
The variable
図23は、可変長符号化部160の詳細な機能構成を示すブロック図である。
FIG. 23 is a block diagram illustrating a detailed functional configuration of the variable
図23に示されるように、可変長符号化部160は、R列・L列生成部161と、コード割り当て部163と、テーブル記憶部164とから構成される。
As shown in FIG. 23, the variable
R列・L列生成部161は、量子化された周波数係数(以下、単に「係数」とも記す。)を周波数の低い方から高い方にジグザグスキャンしてL列とR列とを個別に生成する。
The R column / L
具体的には、図3(a)に示されるブロックの係数が入力された場合、R列・L列生成部161は、図3(b)に示されるようにジグザグスキャンする。そして、R列・L列生成部161は、まず、L列について、図24(a)に示されるように、係数値が「0」以外であるLの個数mと、その係数の絶対値|L|の列と、その係数の符号の列とを取得する。これは、RがLに依存するのに対して、LはRに依存せず、独立に取得できるからである。次いで、R列・L列生成部161は、図24(b)に示されるように、Rの列(R列)を生成する。
Specifically, when the coefficient of the block illustrated in FIG. 3A is input, the R-row / L-
テーブル記憶部164は、L列の各係数の絶対値|L|を可変長符号化するための複数(例えは、8個)の可変長符号テーブル1641a〜1641gと、係数の絶対値|L|に対するしきい値を複数保持し、係数の絶対値|L|に応じて各可変長符号テーブル1641a〜1641gを適応的に切り替えるためのしきい値テーブル1642等とを保持している。
The
図25は、各可変長符号テーブル1641a〜1641gの構成例を示す図である。なお、各可変長符号テーブル1641a〜1641gは、実際には係数の絶対値|L|とその2値化コードとをそれぞれ対応づけて構成されるが、同図においては1つのテーブルで図示されている。 FIG. 25 is a diagram illustrating a configuration example of each of the variable length code tables 1641a to 1641g. Note that each of the variable length code tables 1641a to 1641g is actually configured by associating the absolute value | L | of the coefficient with its binarized code, but in FIG. Yes.
ここで、係数の絶対値|L|の出現頻度が高いほど小さなコード番号が割り当てられるが、一般には係数の絶対値|L|の小さい値ほど出現頻度が高くなる。これは、係数の絶対値|L|の最大値は映像によっても、画面の中によっても、その値が分散し、同じ値の出現頻度が少ないのに対し、係数の絶対値|L|の最小値、すなわち高周波成分はほぼ「1」や「2」程度に集中する傾向が強く、同じ値の出現頻度が多くなるためである。一方、係数の絶対値|L|と2値化コードと1つの可変長符号テーブルだけで対応づけてしまうと、係数の絶対値|L|が大きいほどその符号長が非常に長くなってしまう。このため、係数の絶対値|L|が大きくなってもその符号長があまり長くならないように、係数の絶対値|L|に応じて適用される可変長符号テーブル1641a〜1641gが予め用意される。 Here, a smaller code number is assigned as the appearance frequency of the coefficient absolute value | L | is higher, but in general, the appearance frequency is higher as the absolute value | L | of the coefficient is smaller. This is because the maximum value of the absolute value | L | of the coefficient is dispersed depending on the image and the screen, and the frequency of appearance of the same value is low, whereas the minimum value of the absolute value | L | This is because values, that is, high-frequency components, tend to concentrate on about “1” or “2”, and the appearance frequency of the same value increases. On the other hand, if the absolute value | L | of the coefficient is associated with the binarized code with only one variable length code table, the larger the absolute value | L | of the coefficient, the longer the code length. For this reason, variable length code tables 1641a to 1641g to be applied in accordance with the absolute value | L | of the coefficient are prepared in advance so that the code length does not become too long even when the absolute value | L | .
各可変長符号テーブル1641a〜1641gは、係数値の最小値における符号長が各前記テーブルにそれぞれ付与される番号kの順番に長くなり、係数値の最大値における符号長が番号kの順番に短くなるように係数値に対する符号長の変化率を異ならせて構成される。 In each of the variable length code tables 1641a to 1641g, the code length at the minimum value of the coefficient value becomes longer in the order of the number k assigned to each table, and the code length at the maximum value of the coefficient value becomes shorter in the order of the number k. Thus, the code length change rate with respect to the coefficient value is made different.
より詳しくは、可変長符号テーブル1641aは、各テーブル中で、係数の絶対値|L|が小さいときにはその符号長が一番短く、係数の絶対値|L|が大きいときにはその符号長が一番長いテーブルである。すなわち、可変長符号テーブル1641aは、各可変長符号テーブル1641a〜1641gの中で、係数の絶対値|L|に対する符号長の変化率が一番大きなテーブルであって、係数の絶対値|L|が小さい場合(例えば、「1」〜「3」)に適用するのに適している。 More specifically, the variable length code table 1641a has the shortest code length when the absolute value | L | of the coefficient is small and the longest code length when the absolute value | L | A long table. That is, the variable length code table 1641a is the table having the largest code length change rate with respect to the coefficient absolute value | L | among the variable length code tables 1641a to 1641g, and the coefficient absolute value | L | Is suitable for application to a small case (for example, “1” to “3”).
可変長符号テーブル1641gは、各テーブル中で、係数の絶対値|L|が小さいときにはその符号長が一番長く、係数の絶対値|L|が大きいときにはその符号長が一番短いテーブルである。すなわち、可変長符号テーブル1641gは、各可変長符号テーブル1641a〜1641gの中で、係数の絶対値|L|に対する符号長の変化率が一番小さなテーブルであって、係数の絶対値|L|が大きい場合(例えば、「193」〜)に適用するのに適している。 The variable length code table 1641g is a table having the longest code length when the absolute value | L | of the coefficient is small and the shortest code length when the absolute value | L | of the coefficient is large. . That is, the variable length code table 1641g is a table having the smallest code length change rate with respect to the coefficient absolute value | L | among the variable length code tables 1641a to 1641g, and the coefficient absolute value | L | This is suitable for application when the value is large (for example, “193”).
その間の可変長符号テーブル1641b〜1641fは、1641b〜1641fの順に、係数の絶対値|L|が小さいときにはその符号長が徐々に長くなり、係数の絶対値|L|が大きいときにはその符号長が徐々に短くなるテーブルである。すなわち、可変長符号テーブル1641b〜1641fは、1641b〜1641fの順に、係数の絶対値|L|に対する符号長の変化率が徐々に小さくなるテーブルであって、可変長符号テーブル1641bにおいては係数の絶対値|L|が例えば「4」〜「6」である場合に使用するのに、可変長符号テーブル1641cにおいては係数の絶対値|L|が例えば「7」〜「12」である場合に適用するのに、…、それぞれ適している。 In the variable length code tables 1641b to 1641f, the code length gradually increases when the coefficient absolute value | L | is small, and when the coefficient absolute value | L | is large, the code length is 1641b to 1641f. It is a table that gradually becomes shorter. That is, the variable length code tables 1641b to 1641f are tables in which the change rate of the code length with respect to the absolute value | L | of the coefficient gradually decreases in the order of 1641b to 1641f. Used when the value | L | is, for example, “4” to “6”, but applied when the absolute value | L | of the coefficient is, for example, “7” to “12” in the variable-length code table 1641c. It is suitable for each.
これによって、係数値に応じた符号長の可変長符号を各テーブルに適応させることが可能となるので、符号化効率を向上させることができる。つまり、あるテーブルでは係数値が小さい場合に他のテーブルよりも短い符号長の可変長符号に符号化するようにし、他のあるテーブルでは係数値が大きい場合に他のテーブルよりも短い符号長の可変長符号に符号化するようにし、係数値に応じてテーブルを切り替えることで、符号長を飛躍的に短くすることができる。さらに、各テーブルごとに符号長が短くなる範囲を割り当てることができるので、符号化効率の向上を実現できる。なお、符号化が非算術符号化、すなわちVLC方式であるので、算術符号化のような複雑な処理が不用となり、符号化に用いるテーブルが決まるとそのテーブルを参照するだけで簡単に可変長符号に符号化することができる。 As a result, a variable-length code having a code length corresponding to the coefficient value can be adapted to each table, so that the coding efficiency can be improved. In other words, when a coefficient value is small in one table, it is encoded to a variable length code having a shorter code length than the other table, and when a coefficient value is large in another table, the code length is shorter than that of the other table. By encoding to a variable length code and switching the table according to the coefficient value, the code length can be drastically shortened. Furthermore, since a range in which the code length is shortened can be assigned to each table, the encoding efficiency can be improved. Since the encoding is non-arithmetic encoding, that is, the VLC method, complicated processing such as arithmetic encoding is not required, and once a table used for encoding is determined, it is easy to simply refer to that table for variable length codes. Can be encoded.
図26は、しきい値テーブル1642の構成例を示す図である。 FIG. 26 is a diagram illustrating a configuration example of the threshold value table 1642.
このしきい値テーブル1642は、可変長符号テーブル1641a〜1641gの特性に応じて予め設定され、各可変長符号テーブル1641a〜1641fの切り替えに用いるしきい値を複数保持する。例えば、可変長符号テーブル1641a,1641bの切り替えに対するしきい値は「4」に、可変長符号テーブル1641b,1641cの切り替え(遷移)に対するしきい値は「7」に、…、可変長符号テーブル1641f,1641gの切り替えに対するしきい値は「193」に、それぞれ設定される。これによって、テーブルの切り替えのタイミングを簡単に判断でき、係数の絶対値|L|に応じた最適なテーブルに切り替えることが可能となる。 The threshold value table 1642 is preset according to the characteristics of the variable length code tables 1641a to 1641g, and holds a plurality of threshold values used for switching the variable length code tables 1641a to 1641f. For example, the threshold value for switching the variable length code tables 1641a and 1641b is “4”, the threshold value for switching (transition) of the variable length code tables 1641b and 1641c is “7”,..., The variable length code table 1641f , 1641g is set to a threshold value “193”. This makes it possible to easily determine the table switching timing and to switch to the optimum table corresponding to the absolute value | L | of the coefficients.
コード割り当て部163は、テーブル記憶部164が保持する可変長符号テーブル1641a〜1641gおよびしきい値テーブル1642を用いて、R列・L列生成部161から出力された係数の絶対値|L|をR列と個別に可変長符号化し、2値コードを割り当てる。すなわち、コード割り当て部163は、係数の絶対値|L|を1次元符号化する。
The
次いで、符号化装置100cにおける符号化動作を説明する。なお、ブロック変換部110〜量子化部130の動作については、上記した符号化装置100a,100bにおける動作と同じであるのでその動作の説明を省略し、可変長符号化部160における可変長符号化動作を詳細に説明する。
Next, an encoding operation in the
量子化部130によって量子化された周波数係数は可変長符号化部160のR列・L列生成部161に入力される。
The frequency coefficient quantized by the
R列・L列生成部161は、まず、上記図3(b)の場合と同様に、ブロック内の量子化された周波数係数値を直流成分の領域から高周波成分の領域に向かってジグザグスキャンすることによって周波数係数値を一次元化する。次いで、R列・L列生成部161は、「0」以外の係数値Lの列(以下、「L列」とも記す。)と、連続する係数値「0」の個数Rの列(以下、「R列」とも記す。)とを個別に生成する。この生成されたL列とR列との例を、図24に示す。なお、L列については、係数の個数mと、係数の絶対値|L|と、係数の正負号と、等に分けられる。なお、係数の正負号については、例えば、正は「0」に、負は「1」に対応付けされる。
First, as in the case of FIG. 3B, the R / L
ここで、一般的に高周波数成分ほど係数値が「0」になりやすいので、低周波数領域から高周波数領域に向かって走査することにより、L列の係数値が「1」に近づく。 Here, since the coefficient value generally tends to be “0” as the frequency component is high, the coefficient value of the L column approaches “1” by scanning from the low frequency region toward the high frequency region.
コード割り当て部163は、R列・L列生成部161によって生成されたL列の各L値をジグザグスキャンと逆順、すなわち周波数の高い方から順番に符号化する。すなわち、コード割り当て部163は、L列の後ろから順番に可変長符号テーブル1641a〜1641gを用いて係数の絶対値|L|に対応するハフマン符号(可変長符号)を順次求める。
The
なお、ジグザグスキャンの順番と逆順にする理由は、高周波領域の「0」以外の係数値「1」近傍に収束に収束し、符号化に用いる最初のテーブルを決定しやすく、可変長符号テーブル1641a〜1641gを作成しやすく、しかも、しきい値を決定しやすいからである。 The reason why the order of the zigzag scanning is reversed is that the convergence is converged to the vicinity of the coefficient value “1” other than “0” in the high frequency region, and the first table used for encoding can be easily determined. This is because it is easy to create ~ 1641g and to easily determine the threshold value.
コード割り当て部163は、テーブル記憶部164に保持されている種々のテーブルを用いてL列のLおよびR列の各Rに対して可変長符号を割り当てる。なお、コード割り当て部163は、係数の個数mについても可変長符号を割り当てたりするが、ここでは、係数の絶対値|L|に対して可変長符号を割り当てる処理を説明する。
The
図27は、コード割り当て部163が実行する可変長符号の割り当て処理を示すフローチャートである。
FIG. 27 is a flowchart illustrating variable length code allocation processing executed by the
コード割り当て部163は、ブロック内係数値(係数の絶対値|L|)の符号化を開始
するに当たりR列・L列生成部161から出力された係数値の個数mをセットする(S101)。次いで、コード割り当て部163は、参照する可変長符号テーブルの初期値としてテーブル番号kに「0」をセットする(S102)。次いで、コード割り当て部163は、しきい値テーブル1642を参照し、しきい値=4をセットする(S103)。
The
係数の個数m、可変長符号テーブルの参照先(この場合、可変長符号テーブル1641a)およびしきい値の設定が終わると、コード割り当て部163は、R列・L列生成部161から出力された係数の絶対値|L|を後ろから読み出し(S104)、セットされた番号の可変長符号テーブルを用いて読み出した係数の絶対値|L|を可変長符号に符号化し(S105)。そして、符号化が終わると、コード割り当て部163は、符号化によって得られた2値化コードを不図示のバッファ(例えば、FIFOバッファ)に格納し(S106)、係数の個数mを「1」デクリメントし(S107)、デクリメントした個数mが「0」か否か、すなわちL列に含まれる係数のすべてを符号化し終わったか否か判断する(S108)。
When the setting of the number m of coefficients, the reference destination of the variable length code table (in this case, the variable length code table 1641a), and the threshold value is completed, the
係数の個数mが「0」でなければ(S108でNo)、直前の係数の絶対値|L|がしきい値を超えたか否か判断する(S109)。超えていなければ(S109でNo)、コード割り当て部163は、次の係数の絶対値|L|を後ろから読み出し(S104)、ステップS105〜S108等を実行する。すなわち、次の係数の絶対値|L|を前と同じ可変長符号テーブルを用いて符号化する。
If the number m of coefficients is not “0” (No in S108), it is determined whether or not the absolute value | L | of the immediately preceding coefficient exceeds a threshold value (S109). If not exceeded (No in S109), the
直前の係数の絶対値|L|がしきい値を超えた場合(S109でNo)、コード割り当て部163は、テーブル番号kを「1」インクリメントする(S110)。これによって、次の係数の絶対値|L|の符号化の際には、符号長の変化率がより少ない、符号長の長い係数の絶対値|L|の符号化に適した可変長符号テーブル(例えば、前の可変長符号テーブルがk=0の1641aであれば、k=1の1641b)が参照されることになる。
When the absolute value | L | of the immediately preceding coefficient exceeds the threshold value (No in S109), the
テーブル番号kのインクリメントが終わると、コード割り当て部163は、しきい値テーブル1642を参照し、次のしきい値に更新する(例えば、前のしきい値が「4」であれば「7」)(S111)。これによって、係数の絶対値|L|が新たなしきい値を超えた場合にだけ、符号長の変化率がより少ない、符号長の長い係数の絶対値|L|の符号化に適した次の可変長符号テーブルに遷移させることができる。
When the table number k is incremented, the
より詳しくは、直前の係数の絶対値|L|がテーブル番号「0」の可変長符号テーブル1641aとテーブル番号「1」の可変長符号テーブル1641bとの間のしきい値「4」を超えた場合、図28に示されるように、次の係数の絶対値|L|の符号化の際の参照先として、可変長符号テーブル1641aから可変長符号テーブル1641bへ参照先が切り替えられ、しきい値「7」が設定される。 More specifically, the absolute value | L | of the immediately preceding coefficient exceeds the threshold value “4” between the variable length code table 1641a with the table number “0” and the variable length code table 1641b with the table number “1”. In this case, as shown in FIG. 28, the reference destination is switched from the variable-length code table 1641a to the variable-length code table 1641b as a reference destination when the absolute value | L | of the next coefficient is encoded. “7” is set.
直前の係数の絶対値|L|がテーブル番号「1」〜「6」の可変長符号テーブル1641b〜1641g間のしきい値「7」〜「193」を超えた場合についても、しきい値「4」の場合と同様に、次の係数の絶対値|L|の符号化の際の参照先として、テーブル番号「1」の可変長符号テーブル1641bからテーブル番号2の可変長符号テーブル1641cへ、…、可変長符号テーブル1641gへ順次切り替えられる。この様子を図28に示す。
Even when the absolute value | L | of the immediately preceding coefficient exceeds the thresholds “7” to “193” between the variable length code tables 1641b to 1641g of the table numbers “1” to “6”, the threshold “ As in the case of “4”, as a reference destination in encoding the absolute value | L | of the next coefficient, the variable length code table 1641b of the table number “1” is changed to the variable length code table 1641c of the
ここで、テーブルの切り替え方向は、一方向であり、戻ることはない。これによって、係数値によって、テーブルが頻繁に入れ替わることが防止され、テーブルの切り替え回数が減る。したがって、符号化効率を向上させることができる。例えば、メモリのワークエリアが限られるので次に使用するテーブルだけをワークエリアに置くのが一般的である。この場合には、テーブルを切り替えるごとにROMから次のテーブルを読み出してワークエリアに展開するのに時間がかかるので、次の係数値の符号化まで時間がかかる。このため、一方向とすることによって、テーブルの切り替え回数を制限し、次の係数値の符号化まで時間をトータルとして短縮できるという効果が発揮される。 Here, the table switching direction is one direction and does not return. Accordingly, the table is prevented from being frequently replaced by the coefficient value, and the number of table switching is reduced. Therefore, encoding efficiency can be improved. For example, since the work area of the memory is limited, it is common to place only the next table to be used in the work area. In this case, every time the table is switched, it takes time to read the next table from the ROM and expand it in the work area, so it takes time to encode the next coefficient value. For this reason, the effect of reducing the total number of times until the next coefficient value is encoded can be achieved by limiting the number of table switching operations in one direction.
このような、テーブル番号のインクリメントと、しきい値の更新が終わると、コード割り当て部163は、次の係数の絶対値|L|を後ろから読み出し(S104)、ステップS105〜S108等を実行する。すなわち、前よりも係数の絶対値|L|が大きいものに適した可変長符号テーブルを用いて符号化する。
When the increment of the table number and the updating of the threshold value are completed, the
このような処理(S104〜S111)を係数の個数mが「0」になるまで繰り返し実行し、係数の個数mが「0」になると当該ブロック内の係数の絶対値|L|の符号化を終了する。 Such processing (S104 to S111) is repeatedly executed until the number m of coefficients becomes “0”. When the number m of coefficients becomes “0”, the absolute value | L | of the coefficient in the block is encoded. finish.
具体的には、ブロック内における係数の絶対値|L|の列が後ろから「1」、「1」、「2」、「3」、「4」、「12」、「2」、「3」、「31」、「22」、「5」、「9」、「38」である場合、コード割り当て部163は、図29に示されるように、まず可変長符号テーブル1641aを用いて「1」、「1」、「2」、「3」、「4」、「12」をこの順番に2値コード「1」、「1」、「010」、「011」、「00100」、「0001100」にそれぞれ符号化する。そして、係数の絶対値|L|=「12」のコード化の際にしきい値「4」を超えたので、コード割り当て部163は、符号化に使用するテーブルをテーブル番号k=1の可変長符号テーブル1641bに切り替える。
Specifically, the columns of the absolute value | L | of the coefficients in the block are “1”, “1”, “2”, “3”, “4”, “12”, “2”, “3” from the back. ”,“ 31 ”,“ 22 ”,“ 5 ”,“ 9 ”,“ 38 ”, the
次いで、コード割り当て部163は、切り替えた可変長符号テーブル1641bを用いて次の係数の絶対値|L|=「2」、「3」、「31」をこの順番に2値コード「11」、「0100」、「0000100000」にそれぞれ符号化する。そして、係数の絶対値|L|=「31」のコード化の際にしきい値「7」を超えたので、コード割り当て部163は、符号化に使用するテーブルをテーブル番号k=2の可変長符号テーブル1641cに切り替える。
Next, the
さらに、コード割り当て部163は、切り替えた可変長符号テーブル1641cを用いて次の係数の絶対値|L|=「22」を2値化コード「0011001」に符号化する。そして、係数の絶対値|L|=「22」のコード化の際にしきい値「13」を超えたので、コード割り当て部163は、符号化に使用するテーブルをテーブル番号k=3の可変長符号テーブル1641dに切り替える。
Further, the
次いで、コード割り当て部163は、切り替えた可変長符号テーブル1641dを用いて次の係数の絶対値|L|=「5」、「9」、「38」をこの順番に可変長符号テーブル1641dを用いて2値コード「1100」、「010000」、「00101101」にそれぞれ符号化する。
Next, the
これによって、バッファには、2値化コード「1101001100100000110011010000001000000011001110001000000101101」が格納される。 As a result, the binarization code “1101001100100000110011010000000001000000000011001110001000000101101” is stored in the buffer.
なお、このバッファには符号化されたL列の係数の個数mや、係数の正負号、R列のR値2値化コードも格納されており、バッファに格納された符号化されたL列の係数の個数m、係数の絶対値|L|の2値化コード、係数の正負号、R列のR値2値化コードは、CD等の記録媒体や、インターネット、衛星放送等の伝送媒体を介して復号化装置に送られる。 The buffer also stores the number m of encoded L-sequence coefficients, the sign of the coefficient, and the R-value binary code of the R-sequence, and the encoded L-sequence stored in the buffer. The number of coefficients m, the binarization code of the absolute value | L |, the sign of the coefficient, and the R value binarization code of the R column are a recording medium such as a CD or a transmission medium such as the Internet or satellite broadcasting. To the decoding device.
ここで、上記L列の係数の絶対値|L|「1」、「1」、「2」、「3」、「4」、「12」、「2」、「3」、「31」、「22」、「5」、「9」、「38」を可変長符号テーブル1641aだけで符号化した場合を想定すると、その2値化コードは「1」、「1」、「010」、「011」、「00100」、「0001100」、「010」、「011」、「000011111」、「000010110」、「00101」、「001001」、「00000100110」となり、64ビットの符号長となる。 Here, the absolute value of the L-column coefficients | L | “1”, “1”, “2”, “3”, “4”, “12”, “2”, “3”, “31”, Assuming that “22”, “5”, “9”, and “38” are encoded using only the variable length code table 1641a, the binarized codes are “1”, “1”, “010”, “ “011”, “00100”, “0001100”, “010”, “011”, “0000011111”, “0000110110”, “00101”, “001001”, “0000010110”, which is a 64-bit code length.
これに対して、本実施の形態5の符号化方法では、ブロック内の係数の絶対値|L|の最大値が比較的低く、しかも係数の絶対値|L|が徐々に上昇しない場合であっても、61ビットの符号長となり、符号化効率を上げることができる。これは、係数の絶対値|L|が例えば「22」、「38」である場合、可変長符号テーブル1641aだけでは、「000010110」の9ビット、「00000100110」の11ビットをそれぞれ要するのに対して、本方式では「0011001」の7ビット、「00101101」の8ビットですむことが大きく寄与している。したがって、通常のブロック内の係数の絶対値|L|の最大値が比較的高く、係数の絶対値|L|が徐々に上昇する場合にあっては、符号化効率を飛躍的に上げることができる。 On the other hand, in the encoding method of the fifth embodiment, the maximum value of the absolute value | L | of the coefficient in the block is relatively low and the absolute value | L | of the coefficient does not gradually increase. However, the code length is 61 bits, and the encoding efficiency can be increased. This is because when the absolute value of the coefficient | L | is, for example, “22” or “38”, the variable-length code table 1641a requires 9 bits “000010110” and 11 bits “00000100110”. In this method, 7 bits of “0011001” and 8 bits of “00101101” contribute greatly. Therefore, when the maximum value of the absolute value | L | of a coefficient in a normal block is relatively high and the absolute value | L | of the coefficient gradually increases, the coding efficiency can be dramatically increased. it can.
なお、上記実施の形態5においては、直前の係数の絶対値|L|がしきい値を超えると(S109でYes)、テーブル番号kを1つインクリメントし(S110)、次の番号の可変長符号テーブルを用いて符号化するようにしたが(図28参照)、しきい値を超えた直前の係数の絶対値|L|によって、その係数の絶対値|L|に適応した可変長符号テーブルに跳んで切り替えるようにしてもよい。つまり、例えば番号k=1のテーブルを参照して符号化する直前の係数の絶対値|L|が「20」である場合、その次の係数の絶対値|L|が「20」より大きくなる可能性が高いので、その次の係数の絶対値|L|の符号化にはk=3のテーブルを参照して符号化するようにしてもよい。この場合には、しきい値もその可変長符号テーブルに合致したしきい値(例えば、25)をセットすればよい。 In the fifth embodiment, when the absolute value | L | of the immediately preceding coefficient exceeds the threshold value (Yes in S109), the table number k is incremented by 1 (S110), and the variable length of the next number is changed. The encoding is performed using the code table (see FIG. 28), but the variable length code table adapted to the absolute value | L | of the coefficient by the absolute value | L | of the coefficient immediately before exceeding the threshold value You may make it jump and switch. That is, for example, when the absolute value | L | of the coefficient immediately before encoding with reference to the table of the number k = 1 is “20”, the absolute value | L | of the next coefficient is larger than “20”. Since the possibility is high, the absolute value | L | of the next coefficient may be encoded by referring to a table of k = 3. In this case, the threshold value (for example, 25) that matches the variable length code table may be set.
また、可変長符号テーブルを8つ用いる場合について説明したが、これは可変長符号テーブルを2つ〜7つ、または8つ以上用い、複数のしきい値を用いて、各しきい値を超える度に可変長符号テーブルを切り替えるようにしても良い。 Moreover, although the case where eight variable-length code tables were used was demonstrated, this used two to seven, or eight or more variable-length code tables, and exceeded each threshold value using a plurality of threshold values. The variable length code table may be switched each time.
また、本実施の形態5では、係数値を絶対値と正負符号とに分けて符号化し、係数値の絶対値用の各可変長符号テーブルを正負符号なし(絶対値)で構成したが、係数値を正負号付きで符号化してもよく、その場合には2値化コードを正負符号付きで構成すればよい。この場合には、例えば可変長符号のLSBビットに正負符号を1ビット付加すればよい。 In the fifth embodiment, the coefficient value is encoded by dividing it into an absolute value and a positive / negative sign, and each variable length code table for the absolute value of the coefficient value is configured with no positive / negative sign (absolute value). A numerical value may be encoded with a positive / negative sign, and in that case, a binary code may be configured with a positive / negative sign. In this case, for example, one bit of the plus / minus code may be added to the LSB bit of the variable length code.
また、本実施の形態5では、フレーム内符号化により画像を符号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてフレーム間符号化をする場合であっても良く、本実施の形態の方法により、同様の効果が得られる。 In the fifth embodiment, the case where an image is encoded by intra-frame encoding has been described. However, this is also the case where inter-frame encoding is performed using motion compensation or the like for moving image input. The same effect can be obtained by the method of this embodiment.
また、本実施の形態5では、入力画像を水平4画素、垂直4画素のブロックに分割する場合について説明したが、ブロックの大きさは他の大きさであっても良い。 In the fifth embodiment, the case where the input image is divided into blocks each having 4 horizontal pixels and 4 vertical pixels has been described. However, the size of the blocks may be other sizes.
また、本実施の形態5では、ブロック内の走査方法として図3(b)を用いて説明したが、これは低周波数域から高周波数域への走査であれば他の走査順序であっても良い。 In the fifth embodiment, the scanning method in the block has been described with reference to FIG. 3B. However, this may be another scanning order as long as scanning from a low frequency region to a high frequency region. good.
また、本実施の形態5では、可変長符号テーブルの例として図25を用いて説明したが、これは他のテーブルであっても良い。 Further, although the fifth embodiment has been described with reference to FIG. 25 as an example of the variable length code table, it may be another table.
また、本実施の形態5では、これはL列の最初にL値の個数を付加する場合について説明したが、L列の最後にEOBを付加しても良い。 In the fifth embodiment, the case where the number of L values is added to the beginning of the L column has been described. However, EOB may be added to the end of the L column.
(実施の形態6)
図30は、本発明の実施の形態に係る可変長復号化方法およびこれを用いた動画像復号化方法が適用される復号化装置の機能構成を示すブロック図である。なお、ここでは、実施の形態5で説明した本発明の可変長符号化方法により生成された符号列が入力されるものとして説明する。
(Embodiment 6)
FIG. 30 is a block diagram showing a functional configuration of a decoding apparatus to which the variable length decoding method and the video decoding method using the same according to the embodiment of the present invention are applied. Here, a description will be given assuming that a code string generated by the variable length coding method of the present invention described in
図30に示されるように、復号化装置500cは、可変長復号化部560と、逆量子化部520と、逆周波数変換部530と、フレームメモリ540とから構成される。なお、このような復号化装置500cを構成する各部は、符号化装置100cと同様にCPU、CPUによって実行されるプログラムやデータを予め格納するROM、プログラム実行の際にワークエリアを提供したり、入力符号化列等を一時的に格納するメモリ等により実現される。また、逆量子化部520と、逆周波数変換部530と、フレームメモリ540とは、上記復号化装置500a,500bの場合と同じであるのでその説明を省略し、可変長復号化部560の構成を詳述する。
As illustrated in FIG. 30, the decoding device 500c includes a variable
可変長復号化部560は、コード変換部561と、テーブル記憶部562と、係数生成部564とから構成される。
The variable
テーブル記憶部562は、可変長符号と係数の絶対値|L|とを対応付けた複数種類(8つ)の可変長符号(復号)テーブル5621a〜5621gと、しきい値テーブル5622等とを予め保持する。なお、この可変長符号テーブル5621a〜5621gは図25に示される可変長符号テーブル1641a〜1641gとそれぞれ同じに構成され、しきい値テーブル5622は図26に示されるしきい値テーブル1642と同じに構成される。
The
コード変換部561は、テーブル記憶部562に保持されているテーブル(可変長符号テーブル5621a〜5621g、しきい値テーブル5622等)を用いて、入力された符号列に対して、可変長符号からL列の係数の個数m、係数の絶対値|L|、R列のR値への変換を行う。係数の絶対値|L|への変換は、可変長符号テーブル5621a〜5621gを用いて行う。
The
係数生成部564は、入力されたL列とR列とに基づいて係数値に変換し、所定の走査方法で二次元化する。この係数値への変換の際には、所定の走査順序に基づいて、Rで示された値だけ係数値「0」を生成し、その次にLで示された値の係数値を生成する、を繰り返すことにより、L列とR列から係数値への変換を行う。ここでは、低周波数領域から高周波数領域に向かってジグザグに走査するとすると、上記した図11に示される係数ブロックに変換されることになる。生成された係数ブロックは逆量子化部520に入力される。
The
次いで、可変長復号化部560の各部における復号化動作を説明する。
Next, the decoding operation in each unit of the variable
なお、ここではコード変換部561に入力された2値化コード入力符号列の符号が先頭から順番に「1」、「1」、「010」、「011」、「00100」、「0001100」、「11」、「0100」、「0000100000」、「0011001」、「1100」、「010000」、「00101101」であるものとして説明する。
Here, the codes of the binarized code input code string input to the
コード変換部561は、可変長符号の復号化を開始するに当たり、符号化装置100cから出力された係数の個数mを復号化し、復号化した係数の個数mをセットする。次いで、コード変換部561は、参照する可変長符号テーブルの初期値としてテーブル番号kに「0」をセットする。次いで、コード割り当て部163は、しきい値テーブル5622を参照し、しきい値=4をセットする(S103)。係数の個数m、可変長符号テーブルの参照先(この場合、可変長符号テーブル5621a)およびしきい値の設定が終わると、コード変換部561は、符号化装置100cから出力された順番に係数の絶対値|L|を前(すなわち、高周波側)から読み出し、セットされた番号の可変長符号テーブルを用いて読み出した可変長符号を係数の絶対値|L|に可変長復号化する。そして、復号化が終わると、コード変換部561は、復号化によって得られた係数の絶対値|L|を不図示のバッファ(例えば、FILOバッファ)に格納し、係数の個数mを「1」デクリメントし、デクリメント後の個数mが「0」か否か、すなわちL列に含まれる係数のすべてを復号化し終わったか否か判断する。
When starting decoding of the variable length code, the
係数の個数mが「0」でなければ、可変長復号化した直前の係数の絶対値|L|がしきい値を超えたか否か判断する。超えていなければ、コード変換部561は、次の可変長符号を前ろから読み出し、前と同じ可変長符号テーブルを用いて係数の絶対値|L|に復号化する。
If the number m of coefficients is not “0”, it is determined whether or not the absolute value | L | of the coefficient immediately before variable length decoding exceeds a threshold value. If not exceeded, the
可変長復号化した直前の係数の絶対値|L|がしきい値を超えた場合、コード変換部561は、テーブル番号kを「1」インクリメントする。これによって、次の係数の絶対値|L|の符号化の際には、符号長の変化率がより少ない、符号長の長い係数の絶対値|L|の符号化に適した可変長符号テーブル(例えば、前の可変長符号テーブルが5621aであれば、5621b)が参照されることになる。テーブル番号kのインクリメントが終わると、コード変換部561は、しきい値テーブル5622を参照し、次のしきい値に更新する(例えば、前のしきい値が「4」であれば「7」)。これによって、係数の絶対値|L|が新たなしきい値を超えた場合にだけ、符号長の変化率がより少ない、符号長の長い係数の可変長符号の復号化に適した次の可変長符号テーブルに遷移させることができる。
When the absolute value | L | of the coefficient immediately before the variable length decoding exceeds the threshold value, the
より詳しくは、1番目の可変長符号に対しては、k=0の可変長符号テーブル5621aを参照する。今、可変長テーブル5621aを参照した場合、入力符号列に一致するのは、可変長符号「1」であり、この場合の係数の絶対値|L|は「1」となる。同様にして、可変長符号テーブル5621aを用いて、可変長符号から係数の絶対値|L|への変換を順に行っていくと、可変長符号「1」が係数の絶対値|L|=「1」に、可変長符号「010」が係数の絶対値|L|=「3」に、可変長符号「00100」が係数の絶対値|L|=「4」に、可変長符号「0001100」が係数の絶対値|L|=「12」にそれぞれ変換される。 More specifically, the variable length code table 5621a of k = 0 is referred to for the first variable length code. Now, referring to the variable length table 5621a, the variable code “1” matches the input code string, and the absolute value | L | of the coefficient in this case is “1”. Similarly, when conversion from the variable length code to the absolute value | L | of the coefficient is sequentially performed using the variable length code table 5621a, the variable length code “1” becomes the absolute value of the coefficient | L | = “ 1 ”, the variable length code“ 010 ”is the coefficient absolute value | L | =“ 3 ”, the variable length code“ 00100 ”is the coefficient absolute value | L | =“ 4 ”, and the variable length code“ 0001100 ”. Are converted into the absolute value of the coefficient | L | = “12”, respectively.
ここで係数の絶対値|L|に対するしきい値を「4」とすると、6番目の係数の絶対値|L|=「12」でしきい値を超えることになる。したがって、コード変換部561は、以降の可変長符号の係数の絶対値|L|への変換では、k=1である次の可変長符号テーブル5621bを用い、しきい値に7を設定し、係数の絶対値|L|に変換する。よって、次の7番目の可変長符号「11」は、係数の絶対値|L|=「2」に変換される。
If the threshold value for the absolute value | L | of the coefficient is “4”, the absolute value | L | = “12” of the sixth coefficient is exceeded. Accordingly, the
次の8番目の可変長符号「0100」は係数の絶対値|L|=「3」に、9番目の可変長符号「000010000」は係数の絶対値|L|=「31」に、それぞれ変換される。ここで係数の絶対値|L|に対するしきい値を「7」とすると、9番目の係数の絶対値|L|=「31」でしきい値を超えることになる。したがって、コード変換部561は、以降の可変長符号の係数の絶対値|L|への変換では、k=2である次の可変長符号テーブル5621bを用い、しきい値に13を設定し、係数の絶対値|L|に変換する。なお、7番目の係数の絶対値|L|への復号化において得られた係数の絶対値|L|が再びしきい値7以下となっても、可変長符号テーブル5621aへの切り替えは行わず、可変長符号テーブル5621bを用いて変換を行う。
The next eighth variable length code “0100” is converted to the coefficient absolute value | L | = “3”, and the ninth variable length code “0000010000” is converted to the coefficient absolute value | L | = “31”. Is done. Here, if the threshold value for the absolute value | L | of the coefficient is “7”, the absolute value | L | = “31” of the ninth coefficient is exceeded. Therefore, the
以上のような処理を繰り返して、1ブロック分(m個)の係数の絶対値|L|が生成されると、それらはFILOバッファによる先入れ後出しによって逆順に並べ替えられる。また、係数の正負号についても、FILOバッファによる先入れ後出しによって逆順に並べ替えられる。ただし、個数は並べ替えの対象からは除外する。ここでは、図24(a)に示されるL列と同じ順序(すなわち、低周波から高周波に向かう順序)の列が生成されたとする。このように並べ替えられたL列の各係数の絶対値|L|は係数生成部564に入力される。なお、コード変換部561は、R列の各Rについても係数の絶対値|L|と同様な処理によって復号化し、図24(a)に示されるR列を係数生成部564に出力する。
When the above processing is repeated and absolute values | L | of coefficients for one block (m) are generated, they are rearranged in reverse order by first-in last-out by the FILO buffer. Also, the positive and negative signs of the coefficients are rearranged in the reverse order by the first-in last-out by the FILO buffer. However, the number is excluded from the target of sorting. Here, it is assumed that a column having the same order as the L column shown in FIG. 24A (that is, the sequence from low frequency to high frequency) is generated. The absolute value | L | of each coefficient of the L columns rearranged in this way is input to the
係数生成部564は、入力されたL列とR列とに基づいて、係数値に変換する。この際には、所定の走査順序に基づいて、Rで示された値だけ係数値「0」を生成し、その次にLで示された値の係数値を正負符号を付加して生成する、を繰り返すことにより、L列とR列とから係数値への変換を行う。ここでは、図11に示されるように低周波数領域から高周波数領域に向かってジグザグに走査するとすると、図24(a)に示されるL列と図24に示されるR列とは係数ブロックに変換されることになる。生成された係数ブロックは逆量子化部520に入力される。
The
以上のように、本発明の実施の形態6に係る可変長復号化方法は、まず、復号化ステップにおいて、復号化に用いる複数の可変長符号(復号)テーブルを一方向に切り替えつつ、切り替えた可変長符号テーブルを用いて前記符号列の可変長符号を所定の順番に周波数領域に係る「0」以外の係数値に復号化する。次いで、係数値変換ステップにおいて、生成された係数値に基づいてブロック内の係数値に変換する。ここで、各前記テーブルは、最小の係数値における符号長が各前記テーブルにそれぞれ付与される番号の順番に長くなり、最大の係数値における符号長が前記番号の順番に短くなるように係数値に対する符号長の変化率を異ならせて構成される。
As described above, in the variable length decoding method according to
また、前記しきい値は、係数値に対応する符号長が他のテーブルよりも短くなる各テーブルの適応特性に基づいて設定される。前記符号列の可変長符号は高周波成分から低周波成分に向かう順序で並べられ、前記復号化ステップは、前記符号列の並びの順番に係数値に復号化し、復号化した係数値を符号列の並びの後ろから順番に出力することにより係数値の係数値列を生成し、前記係数生成ステップは、前記係数値列の並びの順序で係数値を走査する。 The threshold value is set based on the adaptive characteristics of each table in which the code length corresponding to the coefficient value is shorter than that of the other tables. The variable length codes of the code string are arranged in the order from the high frequency component to the low frequency component, and the decoding step decodes the coefficient value in the order of the code string arrangement, and the decoded coefficient value of the code string A coefficient value sequence of coefficient values is generated by sequentially outputting from the rear of the arrangement, and the coefficient generation step scans the coefficient values in the order of arrangement of the coefficient value sequences.
前記符号化ステップは、復号化された係数の絶対値がしきい値を超えると、復号化対象の可変長符号の復号化に用いたテーブルから当該テーブルに付与された番号より番号の大きなテーブルに切り替えて次の可変長符号を係数値に復号化する。 When the absolute value of the decoded coefficient exceeds a threshold value, the encoding step converts the table used for decoding the variable length code to be decoded into a table having a number larger than the number assigned to the table. Switch to decode the next variable length code into coefficient values.
以上の動作により、本発明の可変長復号化方法を用いることにより、本発明の可変長符号化方法を用いて符号化された符号列を正しく復号化することが可能となる。 With the above operation, by using the variable length decoding method of the present invention, it is possible to correctly decode a code string encoded using the variable length coding method of the present invention.
なお、上記実施の形態6においては、実施の形態5の場合にあわせて、と同様に復号化された直前の係数の絶対値|L|がしきい値を超えると、テーブル番号kを1つインクリメントし、次の番号の可変長符号テーブルを用いて復号化するようにしたが、符号化の際に用いたテーブルの切り替え方法と同じであれば、しきい値を超えた直前の係数の絶対値|L|によって、その係数の絶対値|L|に適応した可変長符号テーブルに跳んで切り替えるようにしてもよい。この場合には、しきい値もその可変長符号テーブルに合致したしきい値をセットすればよい。 In the sixth embodiment, when the absolute value | L | of the immediately preceding coefficient decoded in the same manner as in the fifth embodiment exceeds the threshold value, one table number k is set. Increment and decode using the variable number code table of the next number, but if the table switching method used at the time of encoding is the same, the absolute value of the coefficient immediately before the threshold is exceeded Depending on the value | L |, the variable length code table adapted to the absolute value | L | In this case, a threshold value that matches the variable length code table may be set.
また、本実施の形態6では、可変長符号テーブルの例として図25を用いて説明したが、これは符号化の際に用いたテーブルと同じであれば、他のテーブルであっても良い。また、可変長符号テーブルを8つ用いる場合について説明したが、これは可変長符号テーブルを2つ〜6つ、あるいは8つ以上用い、複数のしきい値を用いて、各しきい値を超える度に可変長符号テーブルを切り替えるようにしても良い。ただし、この際の可変長テーブルの構成およびしきい値は、符号化の際に用いたものと同じでなければならない。 In the sixth embodiment, the variable length code table has been described with reference to FIG. 25. However, this may be another table as long as it is the same as the table used for encoding. Moreover, although the case where eight variable-length code tables were used was demonstrated, this used two to six or eight or more variable-length code tables, and exceeded each threshold value using a plurality of threshold values. The variable length code table may be switched each time. However, the configuration and threshold value of the variable length table at this time must be the same as those used for encoding.
また、本実施の形態6では、係数値を絶対値と正負符号とに分けて符号化し、係数値の絶対値用の各可変長符号テーブルを正負符号なし(絶対値)で構成したが、係数値を正負号付きで符号化してもよく、その場合には2値化コードを正負符号付きで構成してもよい。この場合には、例えば可変長符号のLSBビットに正負符号を1ビット付加すればよい。 In the sixth embodiment, the coefficient value is encoded by dividing it into an absolute value and a positive / negative code, and each variable length code table for the absolute value of the coefficient value is configured with no positive / negative code (absolute value). The numerical value may be encoded with a positive / negative sign, and in that case, the binarized code may be configured with a positive / negative sign. In this case, for example, one bit of the plus / minus code may be added to the LSB bit of the variable length code.
また、本実施の形態6では、Lの値がしきい値を超えた場合に、可変長符号テーブルを切り替えるようにしたが、係数の絶対値|L|の大きい順番(すなわち、高周波側からの順番)に復号化する場合には、番号の大きい可変長符号テーブルを用いて復号化し、復号化した係数の絶対値|L|がしきい値未満になった場合に、番号の小さい可変長符号テーブルに切り替えるようにしてもよい。 In the sixth embodiment, the variable length code table is switched when the value of L exceeds the threshold value. However, the order of the absolute value of the coefficient | L | In order), when the absolute value | L | of the decoded coefficient is less than the threshold value, the variable-length code with the smaller number is decoded. You may make it switch to a table.
また、本実施の形態6では、フレーム内符号化により生成された符号列を復号化する場合について説明したが、これは動画像入力に対して動き補償等を用いてフレーム間符号化をして生成された符号列を復号化する場合であっても良く、本実施の形態の方法により、同様の効果が得られる。 Further, in the sixth embodiment, the case where the code string generated by the intra-frame coding is decoded has been described, but this is performed by performing inter-frame coding using motion compensation or the like on the moving image input. The generated code string may be decoded, and the same effect can be obtained by the method of the present embodiment.
また、本実施の形態6では、入力画像が水平4画素、垂直4画素のブロックに分割されて符号化されている場合について説明したが、ブロックの大きさは他の大きさであっても良い。 In the sixth embodiment, the case where the input image is divided and encoded into blocks of 4 horizontal pixels and 4 vertical pixels has been described. However, the size of the blocks may be other sizes. .
また、本実施の形態6では、ブロック内の走査方法として図11を用いて説明したが、これは符号化の際に用いた走査方法と同じであれば、他の走査順序であっても良い。 In the sixth embodiment, the scanning method in the block has been described with reference to FIG. 11. However, this may be another scanning order as long as it is the same as the scanning method used at the time of encoding. .
(実施の形態7)
次に、本発明に係る可変長符号化方法、可変長復号化方法、可変長符号化装置、可変長復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置を別の形態で実現した例について説明する。
(Embodiment 7)
Next, the variable length coding method, variable length decoding method, variable length coding device, variable length decoding device, moving image coding method, moving image decoding method, moving image coding device, and moving image according to the present invention An example in which the image decoding apparatus is realized in another form will be described.
上記各実施の形態で示した符号化装置または復号化装置の構成を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。 By recording a program for realizing the configuration of the encoding device or the decoding device shown in each of the above embodiments on a storage medium such as a flexible disk, the processing shown in each of the above embodiments is performed. It can be easily implemented in an independent computer system.
図32は、上記実施の形態1,3,5の動画像符号化方法または実施の形態2,4,6の動画像復号化方法の処理を行うためのプログラムを格納したフレキシブルディスクを用いて、コンピュータシステムにより実施する場合の説明図である。 FIG. 32 shows a flexible disk storing a program for performing the processing of the moving picture encoding method of the first, third, and fifth embodiments or the moving picture decoding method of the second, fourth, and sixth embodiments. It is explanatory drawing in the case of implementing by a computer system.
図32(b)は、フレキシブルディスクの正面からみた外観、断面構造、およびフレキシブルディスクを示し、図32(a)は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。したがって、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムとしての動画像符号化装置が記録されている。 FIG. 32B shows the appearance, cross-sectional structure, and flexible disk as seen from the front of the flexible disk, and FIG. 32A shows an example of the physical format of the flexible disk that is the recording medium body. The flexible disk FD is built in the case F, and a plurality of tracks Tr are formed concentrically on the surface of the disk from the outer periphery toward the inner periphery, and each track is divided into 16 sectors Se in the angular direction. ing. Therefore, in the flexible disk storing the program, a moving image encoding device as the program is recorded in an area allocated on the flexible disk FD.
また、図32(c)は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムとしての動画像符号化装置または動画像復号化装置をフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記動画像符号化装置をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。 FIG. 32C shows a configuration for recording and reproducing the program on the flexible disk FD. When the program is recorded on the flexible disk FD, the moving picture encoding apparatus or moving picture decoding apparatus as the program is written from the computer system Cs via the flexible disk drive. Further, when the moving picture coding apparatus is constructed in a computer system by a program in a flexible disk, the program is read from the flexible disk by a flexible disk drive and transferred to the computer system.
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。 In the above description, a flexible disk is used as the recording medium, but the same can be done using an optical disk. Further, the recording medium is not limited to this, and any recording medium such as an IC card or a ROM cassette capable of recording a program can be similarly implemented.
さらにここで、上記実施の形態で示した動画像予測方法、動画像符号化装置、動画像復号化装置の応用例とそれを用いたシステムを説明する。 Furthermore, application examples of the moving picture prediction method, the moving picture encoding apparatus, and the moving picture decoding apparatus described in the above embodiment and a system using the same will be described.
図33は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。 FIG. 33 is a block diagram showing an overall configuration of a content supply system ex100 that implements a content distribution service. The communication service providing area is divided into desired sizes, and base stations ex107 to ex110, which are fixed radio stations, are installed in each cell.
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。 The content supply system ex100 includes, for example, a computer ex111, a PDA (personal digital assistant) ex112, a camera ex113, a mobile phone ex114, a camera via the Internet ex101, the Internet service provider ex102, the telephone network ex104, and the base stations ex107 to ex110. Each device such as the attached mobile phone ex115 is connected.
しかし、コンテンツ供給システムex100は図33のような組み合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。 However, the content supply system ex100 is not limited to the combination as shown in FIG. 33, and any of the combinations may be connected. Further, each device may be directly connected to the telephone network ex104 without going through the base stations ex107 to ex110 which are fixed wireless stations.
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。 The camera ex113 is a device capable of shooting a moving image such as a digital video camera. The mobile phone is a PDC (Personal Digital Communications) system, a CDMA (Code Division Multiple Access) system, a W-CDMA (Wideband-Code Division Multiple Access) system, or a GSM (Global System for Mobile Communications) system mobile phone, Alternatively, PHS (Personal Handyphone System) or the like may be used.
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。 In addition, the streaming server ex103 is connected from the camera ex113 through the base station ex109 and the telephone network ex104, and live distribution or the like based on the encoded data transmitted by the user using the camera ex113 becomes possible. The encoded processing of the captured data may be performed by the camera ex113 or may be performed by a server or the like that performs data transmission processing.
また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。 Further, the moving image data shot by the camera 116 may be transmitted to the streaming server ex103 via the computer ex111. The camera ex116 is a device that can shoot still images and moving images, such as a digital camera. In this case, the encoding of the moving image data may be performed by the camera ex116 or the computer ex111. The encoding process is performed in the LSI ex117 included in the computer ex111 and the camera ex116. Note that image encoding / decoding software may be incorporated into any storage medium (CD-ROM, flexible disk, hard disk, etc.) that is a recording medium readable by the computer ex111 or the like. Furthermore, you may transmit moving image data with the mobile telephone ex115 with a camera. The moving image data at this time is data encoded by the LSI included in the mobile phone ex115.
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。 In this content supply system ex100, the content (for example, video shot of music live) captured by the user with the camera ex113, camera ex116, etc. is encoded and transmitted to the streaming server ex103 as in the above embodiment. On the other hand, the streaming server ex103 distributes the content data to the requested client. Examples of the client include a computer ex111, a PDA ex112, a camera ex113, a mobile phone ex114, and the like that can decode the encoded data. In this way, the content supply system ex100 can receive and reproduce the encoded data at the client, and also realize personal broadcasting by receiving, decoding, and reproducing in real time at the client. It is a system that becomes possible.
このシステムを構成する各機器の符号化、復号化には上記各実施の形態で示した画像符号化装置あるいは画像復号化装置を用いるようにすればよい。 The image encoding device or the image decoding device described in the above embodiments may be used for encoding and decoding of each device constituting this system.
その一例として携帯電話について説明する。 A mobile phone will be described as an example.
図34は、上記実施の形態で説明した動画像予測方法、動画像符号化装置および画像復号化装置を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。 FIG. 34 is a diagram illustrating the mobile phone ex115 using the video prediction method, the video encoding device, and the image decoding device described in the above embodiment. The cellular phone ex115 includes an antenna ex201 for transmitting and receiving radio waves to and from the base station ex110, a camera such as a CCD camera, a camera unit ex203 capable of taking a still image, a video shot by the camera unit ex203, and an antenna ex201. A display unit ex202 such as a liquid crystal display for displaying data obtained by decoding received video and the like, a main body unit composed of a group of operation keys ex204, an audio output unit ex208 such as a speaker for audio output, and audio input To store encoded data or decoded data such as a voice input unit ex205 such as a microphone, captured video or still image data, received mail data, video data or still image data, etc. Recording medium ex207, and slot portion ex206 for enabling the recording medium ex207 to be attached to the mobile phone ex115. Have. The recording medium ex207 stores a flash memory element which is a kind of EEPROM (Electrically Erasable and Programmable Read Only Memory) which is a nonvolatile memory that can be electrically rewritten and erased in a plastic case such as an SD card.
さらに、携帯電話ex115について図35を用いて説明する。携帯電話ex115は表示部ex202および操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306および音声処理部ex305が同期バスex313を介して互いに接続されている。 Further, the cellular phone ex115 will be described with reference to FIG. The cellular phone ex115 controls the power supply circuit unit ex310, the operation input control unit ex304, and the image encoding with respect to the main control unit ex311 configured to comprehensively control each unit of the main body unit including the display unit ex202 and the operation key ex204. Unit ex312, camera interface unit ex303, LCD (Liquid Crystal Display) control unit ex302, image decoding unit ex309, demultiplexing unit ex308, recording / reproducing unit ex307, modulation / demodulation circuit unit ex306, and audio processing unit ex305 via a synchronization bus ex313 Are connected to each other.
電源回路部ex310は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex115を動作可能な状態に起動する。 When the end of call and the power key are turned on by a user operation, the power supply circuit ex310 starts up the camera-equipped digital mobile phone ex115 in an operable state by supplying power from the battery pack to each unit. .
携帯電話ex115は、CPU、ROMおよびRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってデジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理およびアナログデジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。 The cellular phone ex115 converts the audio signal collected by the audio input unit ex205 in the voice call mode into digital audio data by the audio processing unit ex305 based on the control of the main control unit ex311 including a CPU, a ROM, a RAM, and the like. The modulation / demodulation circuit unit ex306 performs spread spectrum processing, and the transmission / reception circuit unit ex301 performs digital analog conversion processing and frequency conversion processing, and then transmits the result via the antenna ex201. In addition, the cellular phone ex115 amplifies the received signal received by the antenna ex201 in the voice call mode, performs frequency conversion processing and analog-digital conversion processing, performs spectrum despreading processing by the modulation / demodulation circuit unit ex306, and analog audio by the voice processing unit ex305 After being converted to a signal, this is output via the audio output unit ex208.
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。 Further, when an e-mail is transmitted in the data communication mode, text data of the e-mail input by operating the operation key ex204 on the main body is sent to the main control unit ex311 via the operation input control unit ex304. The main control unit ex311 performs spread spectrum processing on the text data in the modulation / demodulation circuit unit ex306, performs digital analog conversion processing and frequency conversion processing in the transmission / reception circuit unit ex301, and then transmits the text data to the base station ex110 via the antenna ex201.
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303およびLCD制御部ex302を介して表示部ex202に直接表示することも可能である。 When transmitting image data in the data communication mode, the image data captured by the camera unit ex203 is supplied to the image encoding unit ex312 via the camera interface unit ex303. When image data is not transmitted, the image data captured by the camera unit ex203 can be directly displayed on the display unit ex202 via the camera interface unit ex303 and the LCD control unit ex302.
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してデジタルの音声データとして多重分離部ex308に送出する。 The image encoding unit ex312 has a configuration including the image encoding device described in the present invention, and an encoding method using the image data supplied from the camera unit ex203 in the image encoding device described in the above embodiment. The encoded image data is converted into encoded image data by compression encoding, and sent to the demultiplexing unit ex308. At the same time, the cellular phone ex115 sends the sound collected by the audio input unit ex205 during imaging by the camera unit ex203 to the demultiplexing unit ex308 as digital audio data via the audio processing unit ex305.
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でデジタルアナログ変換処理および周波数変換処理を施した後にアンテナex201を介して送信する。 The demultiplexing unit ex308 multiplexes the encoded image data supplied from the image encoding unit ex312 and the audio data supplied from the audio processing unit ex305 by a predetermined method, and the multiplexed data obtained as a result is a modulation / demodulation circuit unit Spread spectrum processing is performed in ex306, digital analog conversion processing and frequency conversion processing are performed in the transmission / reception circuit unit ex301, and then transmitted via the antenna ex201.
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。 When receiving data of a moving image file linked to a home page or the like in the data communication mode, the received signal received from the base station ex110 via the antenna ex201 is subjected to spectrum despreading processing by the modulation / demodulation circuit unit ex306, and the resulting multiplexing is obtained. Is sent to the demultiplexing unit ex308.
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。 In addition, in order to decode the multiplexed data received via the antenna ex201, the demultiplexing unit ex308 separates the multiplexed data to generate an encoded bitstream of image data and an encoded bitstream of audio data. The encoded image data is supplied to the image decoding unit ex309 via the synchronization bus ex313, and the audio data is supplied to the audio processing unit ex305.
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。 Next, the image decoding unit ex309 is configured to include the image decoding device described in the present invention, and a decoding method corresponding to the encoding method described in the above embodiment for an encoded bit stream of image data. To generate playback moving image data, which is supplied to the display unit ex202 via the LCD control unit ex302, thereby displaying, for example, moving image data included in the moving image file linked to the homepage . At the same time, the audio processing unit ex305 converts the audio data into an analog audio signal, and then supplies the analog audio signal to the audio output unit ex208. Thus, for example, the audio data included in the moving image file linked to the home page is reproduced. The
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図36に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。 Note that the present invention is not limited to the above-described system, and recently, digital broadcasting using satellites and terrestrial waves has become a hot topic. As shown in FIG. 36, at least the image encoding device or image of the above-described embodiment is included in a digital broadcasting system. Any of the decoding devices can be incorporated. Specifically, in the broadcasting station ex409, the encoded bit stream of the video information is transmitted to the communication or broadcasting satellite ex410 via radio waves. Receiving this, the broadcasting satellite ex410 transmits a radio wave for broadcasting, and receives the radio wave with a home antenna ex406 having a satellite broadcasting receiving facility, such as a television (receiver) ex401 or a set top box (STB) ex407. The device decodes the encoded bit stream and reproduces it.
また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。 In addition, the image decoding apparatus described in the above embodiment can also be implemented in a playback apparatus ex403 that reads and decodes an encoded bitstream recorded on a storage medium ex402 such as a CD or DVD that is a recording medium. is there. In this case, the reproduced video signal is displayed on the monitor ex404. Further, a configuration in which an image decoding device is mounted in a set-top box ex407 connected to a cable ex405 for cable television or an antenna ex406 for satellite / terrestrial broadcasting, and this is reproduced on the monitor ex408 of the television is also conceivable. At this time, the image decoding apparatus may be incorporated in the television instead of the set top box. It is also possible to receive a signal from the satellite ex410 or the base station ex107 by the car ex412 having the antenna ex411 and reproduce a moving image on a display device such as the car navigation ex413 that the car ex412 has.
さらに、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。さらにSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。 Furthermore, the image signal can be encoded by the image encoding device shown in the above embodiment and recorded on a recording medium. As a specific example, there is a recorder ex420 such as a DVD recorder that records an image signal on a DVD disk ex421 or a disk recorder that records on a hard disk. Further, it can be recorded on the SD card ex422. If the recorder ex420 includes the image decoding device described in the above embodiment, the image signal recorded on the DVD disc ex421 or the SD card ex422 can be reproduced and displayed on the monitor ex408.
なお、カーナビゲーションex413の構成は例えば図36に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。 The configuration of the car navigation ex 413 is, for example, the configuration shown in FIG. 36 excluding the camera unit ex203, the camera interface unit ex303, and the image encoding unit ex312. The same applies to the computer ex111 and the television (receiver). ) Ex401 can also be considered.
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。 In addition to the transmission / reception type terminal having both the encoder and the decoder, the terminal such as the mobile phone ex114 has three mounting formats: a transmitting terminal having only an encoder and a receiving terminal having only a decoder. Can be considered.
このように、上記実施の形態で示した可変長符号化方法、可変長復号化方法、これらの方法を用いた可変長符号化装置、可変長復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化装置および画像復号化装置を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。 As described above, the variable length coding method, the variable length decoding method, the variable length coding apparatus, the variable length decoding apparatus, the moving picture coding method, and the moving picture decoding using these methods described in the above embodiments. It is possible to use the encoding method, the moving image encoding device, and the image decoding device in any of the devices / systems described above, and by doing so, the effects described in the above embodiments can be obtained.
なお、本発明のすべての実施の形態について、本発明はかかる上記実施形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形または修正が可能である。 In addition, about all embodiment of this invention, this invention is not limited to this said embodiment, A various deformation | transformation or correction is possible without deviating from the scope of the present invention.
また、上記実施の形態1〜6の可変長符号化装置、可変長復号化装置においては係数値を低周波成分から高周波成分に向かう順序で走査するようにしたが、本発明の変形例として、係数値を高周波成分から低周波成分に向かう順序で走査するように構成してもよい。この場合には、係数値の並び替え等の処理を省略することができる。 In the variable length coding apparatus and the variable length decoding apparatus of the first to sixth embodiments, the coefficient values are scanned in the order from the low frequency component to the high frequency component. However, as a modification of the present invention, The coefficient values may be scanned in the order from the high frequency component to the low frequency component. In this case, processing such as rearrangement of coefficient values can be omitted.
本発明の可変長符号化方法、可変長符号化装置等は、動画像を圧縮符号化するコンピュータシステムや、携帯電話等に適用することができる。 The variable length coding method, variable length coding apparatus, and the like of the present invention can be applied to a computer system that compresses and encodes moving images, a mobile phone, and the like.
100c 符号化装置
110 ブロック変換部
120 周波数変換部
130 量子化部
160 可変長符号化部
161 R列・L列生成部
163 コード割り当て部
164 テーブル記憶部
500c 復号化装置
560 可変長復号化部
561 コード変換部
562 テーブル記憶部
564 係数生成部
520 逆量子化部
530 逆周波数変換部
540 フレームメモリ
1641a〜1641g 可変長符号テーブル
1642 しきい値テーブル
Claims (3)
低周波成分から高周波成分に向かう所定の順序で前記ブロックの二次元列の係数値を走査することにより、前記ブロックの二次元列の係数値を一次元列の係数値に変更する係数走査ステップと、
前記一次元列の係数値を、値がゼロである係数が連続する個数Rを示すラン値と、それに続く非ゼロの係数値Lを示すレベル値との組み合わせに変換するRL列変換ステップと、
前記ブロックに含まれる非ゼロの係数値の総個数を求めるステップと、
前記ラン値を可変長符号化する第1の符号化ステップと、
符号化に用いる、互いに異なる閾値が割り当てられた複数のテーブルを切り替えながら、高周波数成分から低周波数成分に向けて前記非ゼロの係数値Lを示すレベル値を順次可変長符号化し、符号化された前記非ゼロの係数値の個数が、前記非ゼロの係数値の総個数に達するまで実行する第2の符号化ステップと、
前記ブロックに含まれる非ゼロ係数の総個数を可変長符号化する第3の符号化ステップを含み、
前記第2の符号化ステップでは、
符号化対象の非ゼロの係数値Lの絶対値が、当該非ゼロの係数値Lの符号化に使用されたテーブルに割り当てられた閾値を超えると、当該閾値より大きい閾値が割り当てられたテーブルに切り替えられた後に、前記符号化対象の非ゼロの係数値Lに続いて次に符号化されるべき非ゼロの係数値Lを符号化し、
前記複数のテーブルの切り替えは、切り替えられた新たなテーブルより以前に使用されたテーブルは再度使用されることがない一方向の切り替えである
ことを特徴とする符号化方法。 A coding method for variable-length coding coefficient values of a two-dimensional sequence of a block obtained by frequency-converting image data of a block having a predetermined size,
A coefficient scanning step of changing the coefficient value of the two-dimensional column of the block to the coefficient value of the one-dimensional column by scanning the coefficient value of the two-dimensional column of the block in a predetermined order from the low frequency component to the high frequency component; ,
An RL sequence conversion step for converting the coefficient values of the one-dimensional sequence into a combination of a run value indicating the number R of consecutive coefficients having a value of zero and a level value indicating a non-zero coefficient value L that follows.
Determining the total number of non-zero coefficient values contained in the block;
A first encoding step of variable length encoding the run value;
A level value indicating the non-zero coefficient value L is sequentially variable-length encoded and encoded from a high frequency component to a low frequency component while switching between a plurality of tables to which different threshold values are assigned. A second encoding step performed until the number of non-zero coefficient values reaches the total number of non-zero coefficient values;
A third encoding step of variable length encoding the total number of non-zero coefficients included in the block;
In the second encoding step,
When the absolute value of the non-zero coefficient value L to be encoded exceeds the threshold value assigned to the table used for encoding the non-zero coefficient value L, the table to which a threshold value larger than the threshold value is assigned After being switched, the non-zero coefficient value L to be encoded is followed by a non-zero coefficient value L to be encoded next,
The encoding method according to claim 1, wherein the switching of the plurality of tables is a one-way switching in which a table used before the new switched table is not used again.
低周波成分から高周波成分に向かう所定の順序で前記ブロックの二次元列の係数値を走査することにより、前記ブロックの二次元列の係数値を一次元列の係数値に変更する係数走査手段と、
前記一次元列の係数値を、値がゼロである係数が連続する個数Rを示すラン値と、それに続く非ゼロの係数値Lを示すレベル値との組み合わせに変換するRL列変換手段と、
前記ブロックに含まれる非ゼロの係数値の総個数を求める手段と、
前記ラン値を可変長符号化する第1の符号化手段と、
符号化に用いる、互いに異なる閾値が割り当てられた複数のテーブルを切り替えながら、高周波数成分から低周波数成分に向けて前記非ゼロの係数値Lを示すレベル値を順次可変長符号化し、符号化された前記非ゼロの係数値の個数が、前記非ゼロの係数値の総個数に達するまで実行する第2の符号化手段と、
前記ブロックに含まれる非ゼロ係数の総個数を可変長符号化する第3の符号化手段を含み、
前記第2の符号化手段は、
符号化対象の非ゼロの係数値Lの絶対値が、当該非ゼロの係数値Lの符号化に使用されたテーブルに割り当てられた閾値を超えると、当該閾値より大きい閾値が割り当てられたテーブルに切り替えられた後に、前記符号化対象の非ゼロの係数値Lに続いて次に符号化されるべき非ゼロの係数値Lを符号化し、
前記複数のテーブルの切り替えは、切り替えられた新たなテーブルより以前に使用されたテーブルは再度使用されることがない一方向の切り替えである
ことを特徴とする符号化装置。 An encoding device that performs variable length encoding on a coefficient value of a two-dimensional sequence of a block obtained by frequency-converting image data of a block having a predetermined size,
Coefficient scanning means for changing the coefficient value of the two-dimensional column of the block to the coefficient value of the one-dimensional column by scanning the coefficient value of the two-dimensional column of the block in a predetermined order from the low frequency component to the high frequency component; ,
RL sequence conversion means for converting the coefficient value of the one-dimensional sequence into a combination of a run value indicating the number of consecutive R coefficients having a value of zero and a level value indicating a subsequent non-zero coefficient value L;
Means for determining the total number of non-zero coefficient values included in the block;
First encoding means for variable-length encoding the run value;
The level value indicating the non-zero coefficient value L is sequentially variable-length encoded and encoded from the high frequency component toward the low frequency component while switching between a plurality of tables to which different threshold values are assigned. Second encoding means that executes until the number of non-zero coefficient values reaches the total number of non-zero coefficient values;
Third encoding means for variable length encoding the total number of non-zero coefficients included in the block;
The second encoding means includes
When the absolute value of the non-zero coefficient value L to be encoded exceeds the threshold value assigned to the table used for encoding the non-zero coefficient value L, the table to which a threshold value greater than the threshold value is assigned After being switched, the non-zero coefficient value L to be encoded is followed by a non-zero coefficient value L to be encoded next,
Switching between the plurality of tables is a one-way switching in which a table used before the new switched table is not used again.
低周波成分から高周波成分に向かう所定の順序で前記ブロックの二次元列の係数値を走査することにより、前記ブロックの二次元列の係数値を一次元列の係数値に変更する係数走査ステップと、
前記一次元列の係数値を、値がゼロである係数が連続する個数Rを示すラン値と、それに続く非ゼロの係数値Lを示すレベル値との組み合わせに変換するRL列変換ステップと、
前記ブロックに含まれる非ゼロの係数値の総個数を求めるステップと、
前記ラン値を可変長符号化する第1の符号化ステップと、
符号化に用いる、互いに異なる閾値が割り当てられた複数のテーブルを切り替えながら、高周波数成分から低周波数成分に向けて前記非ゼロの係数値Lを示すレベル値を順次可変長符号化し、符号化された前記非ゼロの係数値の個数が、前記非ゼロの係数値の総個数に達するまで実行する第2の符号化ステップと、
前記ブロックに含まれる非ゼロ係数の総個数を可変長符号化する第3の符号化ステップをコンピュータに実行させ、
前記第2の符号化ステップでは、
符号化対象の非ゼロの係数値Lの絶対値が、当該非ゼロの係数値Lの符号化に使用されたテーブルに割り当てられた閾値を超えると、当該閾値より大きい閾値が割り当てられたテーブルに切り替えられた後に、前記符号化対象の非ゼロの係数値Lに続いて次に符号化されるべき非ゼロの係数値Lを符号化し、
前記複数のテーブルの切り替えは、切り替えられた新たなテーブルより以前に使用されたテーブルは再度使用されることがない一方向の切り替えである
ことを特徴とするプログラム。 A program for variable-length encoding a coefficient value of a two-dimensional sequence of the block obtained by frequency-converting image data of a block having a predetermined size,
A coefficient scanning step of changing the coefficient value of the two-dimensional column of the block to the coefficient value of the one-dimensional column by scanning the coefficient value of the two-dimensional column of the block in a predetermined order from the low frequency component to the high frequency component; ,
An RL sequence conversion step for converting the coefficient values of the one-dimensional sequence into a combination of a run value indicating the number R of consecutive coefficients having a value of zero and a level value indicating a non-zero coefficient value L that follows.
Determining the total number of non-zero coefficient values contained in the block;
A first encoding step of variable length encoding the run value;
A level value indicating the non-zero coefficient value L is sequentially variable-length encoded and encoded from a high frequency component to a low frequency component while switching between a plurality of tables to which different threshold values are assigned. A second encoding step performed until the number of non-zero coefficient values reaches the total number of non-zero coefficient values;
Causing the computer to execute a third encoding step of variable-length encoding the total number of non-zero coefficients included in the block;
In the second encoding step,
When the absolute value of the non-zero coefficient value L to be encoded exceeds the threshold value assigned to the table used for encoding the non-zero coefficient value L, the table to which a threshold value larger than the threshold value is assigned After being switched, the non-zero coefficient value L to be encoded is followed by a non-zero coefficient value L to be encoded next,
The switching of the plurality of tables is a one-way switching in which a table used before a new table that has been switched is not used again.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010030703A JP4819169B2 (en) | 2002-04-19 | 2010-02-15 | Encoding method, encoding device, and program |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002118483 | 2002-04-19 | ||
JP2002118483 | 2002-04-19 | ||
JP2002126029 | 2002-04-26 | ||
JP2002126029 | 2002-04-26 | ||
JP2010030703A JP4819169B2 (en) | 2002-04-19 | 2010-02-15 | Encoding method, encoding device, and program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005304641A Division JP4515994B2 (en) | 2002-04-19 | 2005-10-19 | Variable length coding method, variable length coding apparatus and program |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010160996A Division JP4592823B2 (en) | 2002-04-19 | 2010-07-15 | Variable length decoding device |
JP2011033456A Division JP4722233B1 (en) | 2002-04-19 | 2011-02-18 | Decryption system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010161787A true JP2010161787A (en) | 2010-07-22 |
JP4819169B2 JP4819169B2 (en) | 2011-11-24 |
Family
ID=36165175
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005304641A Expired - Lifetime JP4515994B2 (en) | 2002-04-19 | 2005-10-19 | Variable length coding method, variable length coding apparatus and program |
JP2010030700A Expired - Lifetime JP4819168B2 (en) | 2002-04-19 | 2010-02-15 | Decoding method, decoding apparatus and program |
JP2010030702A Expired - Lifetime JP5005780B2 (en) | 2002-04-19 | 2010-02-15 | Variable length decoding method, variable length decoding apparatus and program |
JP2010030701A Expired - Lifetime JP5005779B2 (en) | 2002-04-19 | 2010-02-15 | Variable length coding method, variable length coding apparatus and program |
JP2010030703A Expired - Lifetime JP4819169B2 (en) | 2002-04-19 | 2010-02-15 | Encoding method, encoding device, and program |
JP2010160996A Expired - Lifetime JP4592823B2 (en) | 2002-04-19 | 2010-07-15 | Variable length decoding device |
JP2011033456A Expired - Lifetime JP4722233B1 (en) | 2002-04-19 | 2011-02-18 | Decryption system |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005304641A Expired - Lifetime JP4515994B2 (en) | 2002-04-19 | 2005-10-19 | Variable length coding method, variable length coding apparatus and program |
JP2010030700A Expired - Lifetime JP4819168B2 (en) | 2002-04-19 | 2010-02-15 | Decoding method, decoding apparatus and program |
JP2010030702A Expired - Lifetime JP5005780B2 (en) | 2002-04-19 | 2010-02-15 | Variable length decoding method, variable length decoding apparatus and program |
JP2010030701A Expired - Lifetime JP5005779B2 (en) | 2002-04-19 | 2010-02-15 | Variable length coding method, variable length coding apparatus and program |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010160996A Expired - Lifetime JP4592823B2 (en) | 2002-04-19 | 2010-07-15 | Variable length decoding device |
JP2011033456A Expired - Lifetime JP4722233B1 (en) | 2002-04-19 | 2011-02-18 | Decryption system |
Country Status (1)
Country | Link |
---|---|
JP (7) | JP4515994B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369574B (en) * | 2020-03-11 | 2023-05-16 | 合肥凯碧尔高新技术有限公司 | Thoracic organ segmentation method and device |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04100390A (en) * | 1990-08-20 | 1992-04-02 | Hitachi Ltd | High efficient encoding system |
JPH04315270A (en) * | 1991-04-15 | 1992-11-06 | Toshiba Corp | Encoder |
JPH0595484A (en) * | 1991-02-05 | 1993-04-16 | Canon Inc | Picture compressor and its method |
JPH05347710A (en) * | 1992-06-15 | 1993-12-27 | Nippon Telegr & Teleph Corp <Ntt> | Adaptive variable length coding method |
JPH06343168A (en) * | 1993-03-19 | 1994-12-13 | Sony Corp | Encoding method for digital signal, method for generating table for encoding, encoding device and encoding method |
JPH08214310A (en) * | 1995-02-06 | 1996-08-20 | Sony Corp | Method and device for encoding image data |
JPH09172379A (en) * | 1995-09-11 | 1997-06-30 | Matsushita Electric Ind Co Ltd | Variable length en-coding device/method |
JPH11243343A (en) * | 1998-02-25 | 1999-09-07 | Victor Co Of Japan Ltd | Variable-length encoding method, variable-length decoding method and variable-length code recording medium |
JP2001024515A (en) * | 1999-07-07 | 2001-01-26 | Sony Corp | Method and device for processing signal |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06178282A (en) * | 1992-12-02 | 1994-06-24 | Mitsubishi Electric Corp | Picture coder |
JP3278948B2 (en) * | 1993-02-05 | 2002-04-30 | 日本電信電話株式会社 | Variable length coding method |
JPH0759086A (en) * | 1993-07-30 | 1995-03-03 | Canon Inc | Picture processing unit |
JP3305140B2 (en) * | 1994-12-28 | 2002-07-22 | キヤノン株式会社 | Encoding device and method |
JPH11341497A (en) * | 1998-05-29 | 1999-12-10 | Matsushita Electric Ind Co Ltd | Image coding/decoding device and image coding/decoding method |
-
2005
- 2005-10-19 JP JP2005304641A patent/JP4515994B2/en not_active Expired - Lifetime
-
2010
- 2010-02-15 JP JP2010030700A patent/JP4819168B2/en not_active Expired - Lifetime
- 2010-02-15 JP JP2010030702A patent/JP5005780B2/en not_active Expired - Lifetime
- 2010-02-15 JP JP2010030701A patent/JP5005779B2/en not_active Expired - Lifetime
- 2010-02-15 JP JP2010030703A patent/JP4819169B2/en not_active Expired - Lifetime
- 2010-07-15 JP JP2010160996A patent/JP4592823B2/en not_active Expired - Lifetime
-
2011
- 2011-02-18 JP JP2011033456A patent/JP4722233B1/en not_active Expired - Lifetime
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04100390A (en) * | 1990-08-20 | 1992-04-02 | Hitachi Ltd | High efficient encoding system |
JPH0595484A (en) * | 1991-02-05 | 1993-04-16 | Canon Inc | Picture compressor and its method |
JPH04315270A (en) * | 1991-04-15 | 1992-11-06 | Toshiba Corp | Encoder |
JPH05347710A (en) * | 1992-06-15 | 1993-12-27 | Nippon Telegr & Teleph Corp <Ntt> | Adaptive variable length coding method |
JPH06343168A (en) * | 1993-03-19 | 1994-12-13 | Sony Corp | Encoding method for digital signal, method for generating table for encoding, encoding device and encoding method |
JPH08214310A (en) * | 1995-02-06 | 1996-08-20 | Sony Corp | Method and device for encoding image data |
JPH09172379A (en) * | 1995-09-11 | 1997-06-30 | Matsushita Electric Ind Co Ltd | Variable length en-coding device/method |
JPH11243343A (en) * | 1998-02-25 | 1999-09-07 | Victor Co Of Japan Ltd | Variable-length encoding method, variable-length decoding method and variable-length code recording medium |
JP2001024515A (en) * | 1999-07-07 | 2001-01-26 | Sony Corp | Method and device for processing signal |
Also Published As
Publication number | Publication date |
---|---|
JP5005779B2 (en) | 2012-08-22 |
JP4722233B1 (en) | 2011-07-13 |
JP4819168B2 (en) | 2011-11-24 |
JP5005780B2 (en) | 2012-08-22 |
JP2010161786A (en) | 2010-07-22 |
JP2010141918A (en) | 2010-06-24 |
JP2006087136A (en) | 2006-03-30 |
JP4592823B2 (en) | 2010-12-08 |
JP2011139504A (en) | 2011-07-14 |
JP2010268506A (en) | 2010-11-25 |
JP4515994B2 (en) | 2010-08-04 |
JP4819169B2 (en) | 2011-11-24 |
JP2010183582A (en) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4368575B2 (en) | Variable length decoding method, variable length decoding apparatus and program | |
JP4090862B2 (en) | Variable length encoding method and variable length decoding method | |
JP4819169B2 (en) | Encoding method, encoding device, and program | |
JP4091107B1 (en) | Variable length coding apparatus and image coding apparatus | |
JP4091108B1 (en) | Variable length decoding device and image decoding device | |
JP4091074B2 (en) | Variable length encoding method and variable length decoding method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110527 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110531 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110809 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110831 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140909 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4819169 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
SZ02 | Written request for trust registration |
Free format text: JAPANESE INTERMEDIATE CODE: R313Z02 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S131 | Request for trust registration of transfer of right |
Free format text: JAPANESE INTERMEDIATE CODE: R313135 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |