JP4447903B2 - Signal processing apparatus, signal processing method, recording medium, and program - Google Patents
Signal processing apparatus, signal processing method, recording medium, and program Download PDFInfo
- Publication number
- JP4447903B2 JP4447903B2 JP2003413686A JP2003413686A JP4447903B2 JP 4447903 B2 JP4447903 B2 JP 4447903B2 JP 2003413686 A JP2003413686 A JP 2003413686A JP 2003413686 A JP2003413686 A JP 2003413686A JP 4447903 B2 JP4447903 B2 JP 4447903B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- variable
- combination
- output
- subtracting
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
本発明は、信号処理装置、信号処理方法、記録媒体及びプログラムに関し、特に、静止画像や動画像を圧縮符号化する可変長符号化装置に用いて好適なものである。 The present invention relates to a signal processing device, a signal processing method, a recording medium, and a program, and is particularly suitable for use in a variable length encoding device that compresses and encodes still images and moving images.
従来から、静止画像や動画像の圧縮符号化技術の一部として、ランレングス/カテゴリ符号化及び可変長符号化によるエントロピー符号化技術を使用する方式が良く知られている。この技術は、国際標準であるJPEG(Joint Photographic Expert Group)符号化方式及びMPEG−1/−2(Moving Picture Experts Group)符号化方式においても採用されている。これらの符号化方式において可変長符号化が施される事象は、ランレングス及びレベルと呼ばれる2次元の事象であり、この2次元の事象に対してハフマン符号を割り当てることによりエントロピー符号化を実現している。なお、ランレングス及びレベルの2次元の事象をシンボル・データと呼ぶこととする。 2. Description of the Related Art Conventionally, a method using entropy coding technology using run length / category coding and variable length coding is well known as part of compression coding technology for still images and moving images. This technique is also adopted in the JPEG (Joint Photographic Expert Group) encoding system and the MPEG-1 / -2 (Moving Picture Experts Group) encoding system, which are international standards. In these encoding methods, the variable length encoding event is a two-dimensional event called run length and level, and entropy encoding is realized by assigning a Huffman code to the two-dimensional event. ing. The two-dimensional event of run length and level is referred to as symbol data.
さらに、近年の動画像の圧縮符号化技術に使われており注目されている技術として、3次元の事象に対してハフマン符号を割り当てるものがある。この技術は、すでにITU−T勧告H.263やMPEG−4と呼ばれる符号化方式によって標準化されている。 Further, as a technique that has been attracting attention and used in a recent moving picture compression coding technique, there is a technique that assigns a Huffman code to a three-dimensional event. This technology has already been described in ITU-T Recommendation H.264. It is standardized by an encoding method called H.263 or MPEG-4.
3次元の事象としては、2次元での符号化方式で用いられるランレングス及びレベルに加えて、ラストと呼ばれるものが考慮される。ここで、ラストは、DCT(Discrete Cosine Transform)ブロック内において最後の有意係数であるか否かを示すものである。このため、同じランレングス及びレベルの値であっても、DCTブロック内において最後の有意係数であるか否かによって、割り当てられるハフマン符号が異なる。なお、ランレングス、レベル及びラストの3次元の事象についても同様にシンボル・データと呼ぶこととする。 As the three-dimensional event, in addition to the run length and level used in the two-dimensional encoding method, what is called the last is considered. Here, the last indicates whether or not it is the last significant coefficient in a DCT (Discrete Cosine Transform) block. For this reason, even with the same run length and level value, the assigned Huffman code differs depending on whether or not it is the last significant coefficient in the DCT block. The run length, level and last three-dimensional events are also referred to as symbol data.
また、MPEG−4符号化方式においては、予め定められたハフマン符号表の中にシンボル・データに対応するハフマン符号が存在しない場合には、エスケープと呼ばれる固定長符号を割り振る。これは、MPEG−1/−2符号化方式においても同様である。
しかしながら、MPEG−4符号化方式においては、シンボル・データに対応するハフマン符号がハフマン符号表に存在しない場合には、初めにシンボル・データのレベルの値からハフマン符号表に存在する最大のレベルの値を減算したシンボル・データを新たなシンボル・データとして、再度ハフマン符号表を検索する。
In the MPEG-4 encoding system, when a Huffman code corresponding to symbol data does not exist in a predetermined Huffman code table, a fixed-length code called an escape is assigned. The same applies to the MPEG-1 / -2 encoding method.
However, in the MPEG-4 encoding method, when the Huffman code corresponding to the symbol data does not exist in the Huffman code table, the maximum level existing in the Huffman code table is first determined from the value of the symbol data level. The Huffman code table is searched again using the symbol data obtained by subtracting the value as new symbol data.
そして、検索を行った結果、当該シンボル・データに対応するハフマン符号がハフマン符号表に存在する場合には、該当するハフマン符号を割り当てる。一方、当該シンボル・データに対応するハフマン符号がハフマン符号表に存在しない場合には、更にランレングスの値に対してハフマン符号表に存在する最大ランレングス+1の値を減算したシンボル・データを新たなシンボル・データとして、再度ハフマン符号表を検索する。そして、検索を行った結果、当該シンボル・データに対応するハフマン符号がハフマン符号表に存在する場合には該当するハフマン符号を割り当て、存在しない場合には固定長符号を割り当てる。 If the Huffman code corresponding to the symbol data exists in the Huffman code table as a result of the search, the corresponding Huffman code is assigned. On the other hand, if the Huffman code corresponding to the symbol data does not exist in the Huffman code table, symbol data obtained by further subtracting the maximum run length + 1 value existing in the Huffman code table from the run length value is newly added. As the symbol data, the Huffman code table is searched again. As a result of the search, if a Huffman code corresponding to the symbol data exists in the Huffman code table, the corresponding Huffman code is assigned, and if not, a fixed length code is assigned.
MPEG−4符号化方式に対応した従来の可変長符号化装置の構成を図6に示す。
図6に示す可変長符号化装置には、上述したRUN(ランレングス)、LEVEL(レベル)及びLAST(ラスト)を表すシンボル・データが入力される。
FIG. 6 shows the configuration of a conventional variable length coding apparatus corresponding to the MPEG-4 coding system.
Symbol data representing the above-described RUN (run length), LEVEL (level), and LAST (last) is input to the variable length coding apparatus shown in FIG.
レベル減算部100は、シンボル・データを構成するLEVELの値から、ハフマン符号表に存在する最大のLEVEL(LMAX)の値を減算したLEVEL+を出力する。ランレングス減算部102は、シンボル・データを構成するRUNの値から、ハフマン符号表に存在する最大RUN+1(RMAX+1)の値を減算したRUN+を出力する。固定長符号化器107は、RUN、LEVEL、LASTを所定のフォーマットに従って固定長符号化し、得られた固定長符号を出力する。
The level
まず、第1のサイクルにおいて、制御部108は、選択器104、105を制御し、RUN、LEVEL、及びLASTをハフマン・テーブル106に入力する。入力されたRUN、LEVEL、及びLASTに対応するハフマン符号語がハフマン・テーブル106に存在する場合には、制御部108は、選択器109及び出力制御部110を制御して、該当するハフマン符号を出力する。
First, in the first cycle, the
一方、第1のサイクルにおいて入力されたRUN、LEVEL、LASTに対応するハフマン符号語がハフマン・テーブル106に存在しない場合には、第2のサイクルにおいて、制御部108は、選択器104、105を制御し、RUN、LEVEL+、及びLASTをハフマン・テーブル106に入力する。入力されたRUN、LEVEL+、及びLASTに対応するハフマン符号語がハフマン・テーブル106に存在する場合には、制御部108は、選択器109及び出力制御部110を制御して、該当するハフマン符号にESCAPE(エスケープ)符号“00000110”を付加して出力する。
On the other hand, if the Huffman code word corresponding to the RUN, LEVEL, and LAST input in the first cycle does not exist in the Huffman table 106, the
第2のサイクルにおいて入力されたRUN、LEVEL+、及びLASTに対応するハフマン符号語がハフマン・テーブル106に存在しない場合には、第3のサイクルにおいて、制御部108は、選択器104、105を制御し、RUN+、LEVEL、及びLASTをハフマン・テーブル106に入力する。入力されたRUN+、LEVEL、及びLASTに対応するハフマン符号語がハフマン・テーブル106に存在する場合には、制御部108は、選択器109及び出力制御部110を制御して、該当するハフマン符号にESCAPE符号“000001110”を付加して出力する。
When the Huffman code word corresponding to RUN, LEVEL +, and LAST input in the second cycle does not exist in the Huffman table 106, the
第3のサイクルにおいて入力されたRUN+、LEVEL、及びLASTに対応するハフマン符号語がハフマン・テーブル106に存在しない場合には、制御部108は、選択器109及び出力制御部110を制御して、固定長符号化器107からの固定長符号にESCAPE符号“000001111”を付加して出力する。
When the Huffman code word corresponding to RUN +, LEVEL, and LAST input in the third cycle does not exist in the Huffman table 106, the
以上に説明した、図6に示した従来の可変長符号化装置では、可変長符号化装置に入力されたRUN、LEVEL、LASTに対応するハフマン符号が存在しない場合には、1つのシンボル・データの符号化処理に、2サイクル以上の時間を要してしまうという問題がある。 In the conventional variable length coding apparatus shown in FIG. 6 described above, one symbol data is used when there is no Huffman code corresponding to RUN, LEVEL, or LAST input to the variable length coding apparatus. There is a problem that it takes two or more cycles for the encoding process.
この問題の解決を図った従来の可変長符号化装置の構成を図7に示す。図7に示す可変長符号化装置は、1つのシンボル・データを1サイクルで符号化するものであり、3つのハフマン・テーブル204、205、206を有する。
レベル減算部200及びランレングス減算部202は、図6に示したレベル減算部100及びランレングス減算部102と同様の機能を有する。
FIG. 7 shows the configuration of a conventional variable length coding apparatus that solves this problem. The variable-length encoding apparatus shown in FIG. 7 encodes one symbol data in one cycle, and has three Huffman tables 204, 205, and 206.
The level
第1のハフマン・テーブル204は、RUN、LEVEL、及びLASTに対応するハフマン符号語を検索し、ハフマン符号語があればそれを出力する。第2のハフマン・テーブル205は、RUN、LEVEL+、及びLASTに対応するハフマン符号語を検索し、ハフマン符号語があればそれを出力する。第3のハフマン・テーブル206は、RUN+、LEVEL、及びLASTに対応するハフマン符号語を検索し、ハフマン符号語があればそれを出力する。 The first Huffman table 204 searches for Huffman codewords corresponding to RUN, LEVEL, and LAST, and outputs any Huffman codewords. The second Huffman table 205 searches for Huffman codewords corresponding to RUN, LEVEL +, and LAST, and outputs any Huffman codewords. The third Huffman table 206 searches for Huffman codewords corresponding to RUN +, LEVEL, and LAST, and outputs any Huffman codewords.
固定長符号化器207は、RUN、LEVEL、LASTを所定のフォーマットで固定長符号化し、得られた固定長符号を出力する。
制御部208は、ハフマン・テーブル204〜206の検索結果に応じて、選択器209を制御し、各ハフマン・テーブル204〜206の出力及び固定長符号化器107の出力の中からいずれか1つを選択して出力する。
The
The
すなわち、図7に示した可変長符号化装置は、図6に示した可変長符号化装置において1サイクル毎に順次行っていた処理を、3つのハフマン・テーブル204〜206を用いて同時に行うことで1つのシンボル・データを1サイクルで符号化している。上記内容に参考になる文献として非特許文献1がある。
That is, the variable-length encoding apparatus shown in FIG. 7 performs the processing that was sequentially performed for each cycle in the variable-length encoding apparatus shown in FIG. 6 using the three Huffman tables 204 to 206 at the same time. Thus, one symbol data is encoded in one cycle. There is Non-Patent
しかしながら、1つのシンボル・データを1サイクルで符号化する図7に示した従来の可変長符号化装置は、3つのハフマン・テーブル204〜206を備える必要があり、回路規模が増大してしまうという問題がある。また、図6に示した従来の可変長符号化装置で説明したように、1つのハフマン・テーブル106のみを用いて可変長符号化装置を構成した場合には、1つのシンボル・データの符号化処理に2サイクル以上の時間を要してしまうおそれがあるという問題がある。 However, the conventional variable-length encoding apparatus shown in FIG. 7 that encodes one symbol data in one cycle needs to include three Huffman tables 204 to 206, which increases the circuit scale. There's a problem. Further, as described in the conventional variable length coding apparatus shown in FIG. 6, when the variable length coding apparatus is configured using only one Huffman table 106, one symbol data is coded. There is a problem that the processing may take two or more cycles.
本発明は、このような問題に鑑みてなされたものであり、小さな回路規模で、可変長符号化処理を高速に実行できる信号処理装置を提供することを目的とする。 The present invention has been made in view of such problems, and an object of the present invention is to provide a signal processing apparatus capable of executing variable-length encoding processing at high speed with a small circuit scale.
本発明の信号処理装置は、入力される2つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブルと、シンボル・データを構成する第1のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算手段と、上記第2のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算手段と、上記第1のデータと上記第2のデータとの組み合わせ、上記第1のデータと上記第1の減算手段の出力との組み合わせ、及び上記第2のデータと上記第2の減算手段の出力との組み合わせについて、対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定手段と、上記判定手段による判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算手段の出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算手段の出力の一方を選択する制御手段とを備えることを特徴とする。
また、本発明の信号処理装置は、入力される3つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブルと、シンボル・データを構成する第1のデータ及び上記第1のデータとは異なる第3のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算手段と、上記第2のデータ及び上記第3のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算手段と、上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせ、上記第1のデータと上記第1の減算手段の出力と上記第3のデータとの組み合わせ、及び上記第2のデータと上記第2の減算手段の出力と上記第3のデータとの組み合わせについて、対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定手段と、上記判定手段による判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算手段の出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算手段の出力の一方を選択する制御手段とを備えることを特徴とする。
本発明の信号処理方法は、シンボル・データを構成する第1のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算工程と、上記第2のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算工程と、上記第1のデータと上記第2のデータとの組み合わせ、上記第1のデータと上記第1の減算工程での出力との組み合わせ、及び上記第2のデータと上記第2の減算工程での出力との組み合わせについて、対応する可変長符号化データが、入力される2つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定工程と、上記判定工程での判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算工程での出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算工程での出力の一方を選択する制御工程とを有することを特徴とする。
また、本発明の信号処理方法は、シンボル・データを構成する第1のデータ及び上記第1のデータとは異なる第3のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算工程と、上記第2のデータ及び上記第3のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算工程と、上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせ、上記第1のデータと上記第1の減算工程での出力と上記第3のデータとの組み合わせ、及び上記第2のデータと上記第2の減算工程での出力と上記第3のデータとの組み合わせについて、対応する可変長符号化データが、入力される3つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定工程と、上記判定工程での判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算工程での出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算工程での出力の一方を選択する制御工程とを有することを特徴とする。
本発明のプログラムは、シンボル・データを構成する第1のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算ステップと、上記第2のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算ステップと、上記第1のデータと上記第2のデータとの組み合わせ、上記第1のデータと上記第1の減算ステップの出力との組み合わせ、及び上記第2のデータと上記第2の減算ステップの出力との組み合わせについて、対応する可変長符号化データが、入力される2つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定ステップと、上記判定ステップでの判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算ステップの出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算ステップの出力の一方を選択する制御ステップとをコンピュータに実行させることを特徴とする。
また、本発明のプログラムは、シンボル・データを構成する第1のデータ及び上記第1のデータとは異なる第3のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算ステップと、上記第2のデータ及び上記第3のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算ステップと、上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせ、上記第1のデータと上記第1の減算ステップの出力と上記第3のデータとの組み合わせ、及び上記第2のデータと上記第2の減算ステップの出力と上記第3のデータとの組み合わせについて、対応する可変長符号化データが、入力される3つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定ステップと、上記判定ステップでの判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算ステップの出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算ステップの出力の一方を選択する制御ステップとをコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、上記プログラムを記録したことを特徴とする。
According to the signal processing device of the present invention, in accordance with a variable length coding table storing variable length coded data corresponding to a combination of two input values to be input, and the first data constituting the symbol data, First subtraction means for subtracting a predetermined constant from second data constituting the symbol data different from the first data; and a predetermined subtraction from the first data according to the second data A second subtracting means for subtracting a constant; a combination of the first data and the second data; a combination of the first data and the output of the first subtracting means; and the second data. And the output of the second subtracting means, whether or not the corresponding variable length encoded data exists in the variable length encoding table is determined according to the input value in the combination and the input value. A determination unit that determines by comparing the magnitude relationship with a constant in parallel, and the input of the variable length coding table according to a determination result by the determination unit, the first data or the second Control means for selecting one of the outputs of the subtracting means and selecting one of the outputs of the second data or the first subtracting means.
In addition, the signal processing apparatus of the present invention includes a variable length coding table storing variable length coded data corresponding to a combination of three input values to be input, the first data constituting the symbol data, and the above-mentioned First subtracting means for subtracting a predetermined constant from second data constituting the symbol data different from the first data in response to third data different from the first data; Second subtraction means for subtracting a predetermined constant from the first data according to the second data and the third data, the first data, the second data, and the third data, A combination of the first data, the output of the first subtracting means, and the third data, and the second data, the output of the second subtracting means, and the third data. About combinations Whether or not variable-length encoded data to be present exists in the variable-length encoding table is determined by comparing in parallel the magnitude relationship between the input value in the combination and a predetermined constant corresponding to the input value. And selecting one of the first data and the output of the second subtracting means as the input of the variable length coding table according to the determination result by the determining means and the determination result by the determining means, And control means for selecting one of data and an output of the first subtracting means.
According to the signal processing method of the present invention, a first constant that subtracts a predetermined constant from the second data constituting the symbol data different from the first data in accordance with the first data constituting the symbol data. Subtracting step, a second subtracting step of subtracting a predetermined constant from the first data according to the second data, a combination of the first data and the second data, Corresponding variable length encoded data is input for the combination of the first data and the output in the first subtraction step, and the combination of the second data and the output in the second subtraction step. Whether or not the variable-length encoded data corresponding to the combination of two input values exists in the variable-length encoding table is determined by the magnitude of the input value in the combination and a predetermined constant corresponding to the input value. Relationship In accordance with the determination step that is determined by comparing in a row and the determination result in the determination step, the first data or the output in the second subtraction step is input as the variable length coding table. And a control step of selecting one of the second data and the output in the first subtraction step.
Further, the signal processing method of the present invention performs the symbol data different from the first data in accordance with the first data constituting the symbol data and the third data different from the first data. A first subtracting step for subtracting a predetermined constant from the second data to be configured; and a second subtracting a predetermined constant from the first data according to the second data and the third data. A combination of the subtraction step, the first data, the second data, and the third data, the first data, the output of the first subtraction step, and the third data, And, for the combination of the second data, the output in the second subtraction step, and the third data, the corresponding variable length encoded data has a variable length corresponding to the combination of three input values that are input. Encoded data is case A determination step of determining whether or not the variable length coding table is present by comparing in parallel the magnitude relationship between the input value in the combination and a predetermined constant according to the input value; and Depending on the determination result in the determination step, either the first data or the output in the second subtraction step is selected as the input of the variable length coding table, and the second data or the second And a control step for selecting one of the outputs in one subtraction step.
The program according to the present invention includes a first subtraction for subtracting a predetermined constant from the second data constituting the symbol data different from the first data in accordance with the first data constituting the symbol data. A step of subtracting a predetermined constant from the first data in accordance with the second data, a combination of the first data and the second data, the first data Two input values to which the variable length encoded data corresponding to the combination of the data and the output of the first subtraction step and the combination of the second data and the output of the second subtraction step are input Whether or not the variable-length encoded data corresponding to the combination exists in the variable-length encoding table storing the input value in the combination and a predetermined constant corresponding to the input value. A determination step for determining by comparing small relations in parallel, and an input to the variable length coding table according to a determination result in the determination step, the first data or the second subtraction step One of the outputs is selected, and the control step of selecting one of the second data or the output of the first subtraction step is executed by the computer.
The program of the present invention forms the symbol data different from the first data according to the first data constituting the symbol data and the third data different from the first data. A first subtracting step of subtracting a predetermined constant from the second data; and a second subtracting step of subtracting the predetermined constant from the first data according to the second data and the third data. A combination of the first data, the second data, and the third data, a combination of the first data, the output of the first subtraction step, and the third data, and the first data Variable length coding corresponding to a combination of three input values to which the corresponding variable length coded data is a combination of the data of 2 and the output of the second subtraction step and the third data The determination is made by comparing in parallel the magnitude relationship between the input value in the above combination and a predetermined constant corresponding to the input value. In accordance with the determination result in the step and the determination step, one of the first data and the output of the second subtraction step is selected as the input of the variable length coding table, and the second data Alternatively, the control step of selecting one of the outputs of the first subtraction step is executed by a computer.
The computer-readable recording medium of the present invention records the above program.
本発明によれば、異なる入力の組み合わせについて、可変長符号化テーブル内に対応する可変長符号化データが存在するか否かを並列して判定するとともに、判定結果に応じて可変長符号化テーブルに対する入力を適宜選択する。これにより、短時間で符号化処理を行え、かつ可変長符号化テーブルを入力の組み合わせ毎に備える必要がなくなり、小さな回路規模で、可変長符号化処理を高速に実行することができる。 According to the present invention, for different combinations of inputs, it is determined in parallel whether or not corresponding variable-length encoded data exists in the variable-length encoding table, and the variable-length encoding table is determined according to the determination result. The input to is appropriately selected. As a result, the encoding process can be performed in a short time, and it is not necessary to provide a variable length encoding table for each combination of inputs, and the variable length encoding process can be executed at high speed with a small circuit scale.
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態による信号処理装置を適用した可変長符号化装置の構成例を示すブロック図である。なお、図1においては、MPEG−4符号化方式に対応した可変長符号化装置を一例として示している。また、以下の説明では、説明を解りやすくするためにイントラ・マクロブロックに対するAC係数符号化に特化して説明するが、本発明はこれに限定されるものではない。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram illustrating a configuration example of a variable length coding device to which a signal processing device according to an embodiment of the present invention is applied. In FIG. 1, a variable-length encoding device corresponding to the MPEG-4 encoding method is shown as an example. Further, in the following description, in order to make the description easy to understand, the description will be made with the AC coefficient coding for the intra / macroblocks, but the present invention is not limited to this.
本実施形態における可変長符号化装置は、レベル減算部11、ランレングス減算部13、ハフマン符号判定器14、15、16、固定長符号化器17、制御部18、選択器10、12、19、20、22、ハフマン・テーブル21、エスケープ符号連結部23を有する。
The variable length coding apparatus according to the present embodiment includes a
可変長符号化装置は、シンボル・データを構成するRUN(ランレングス)、LEVEL(レベル)、及びLAST(ラスト)が入力されると、以下に説明する処理を実行する。ここで、RUNは、DCTブロック内の連続するゼロ係数の個数を表すものであり、LEVELは、DCTブロック内のゼロでない係数(非ゼロ係数、有意係数)を表すものであり、LASTはDCTブロック内の最後の非ゼロ係数であることを表すものである。 When a RUN (run length), a LEVEL (level), and a LAST (last) constituting symbol data are input, the variable length coding apparatus executes processing described below. Here, RUN represents the number of consecutive zero coefficients in the DCT block, LEVEL represents a non-zero coefficient (non-zero coefficient, significant coefficient) in the DCT block, and LAST represents the DCT block. Represents the last non-zero coefficient.
選択器10は、RUN及びLASTが入力され、RUNの値及びLASTの値に応じてLMAXを出力する。ここで、LMAXは、入力されたRUNの値及びLASTの値に対応するLEVELの最大値であり、図1のLMAXテーブル24に格納されており、図2に示すように入力されるRUN及びLASTの値に応じてLMAXの値は定められる。
The
レベル減算部11は、選択器10から出力されたLMAXの値を、入力されたLEVELの値から減算し、演算結果であるLEVEL+を出力する。すなわち、レベル減算部11は、RUN及びLASTの値に応じて定まるLMAXの値をLEVELから減算し、LEVEL+を出力する。
The
選択器12は、LEVEL及びLASTが入力され、LEVELの値及びLASTの値に応じて、RMAXに1を加算した値(RMAX+1)を出力する。ここで、RMAXは、入力されたLEVELの値及びLASTの値に対応するRUNの最大値であり、図1のRMAXテーブル25に格納されており、図3に示すように入力されるLEVEL及びLASTの値に応じてRMAXの値は定められる。
The
ランレングス減算部13は、選択器12から出力されたRMAX+1の値を、入力されたRUNの値から減算し、演算結果であるRUN+を出力する。すなわち、ランレングス減算部13は、LEVEL及びLASTの値に応じて定まるRMAXの値に1を加算した値をRUNから減算し、RUN+を出力する。
The run-
第1のハフマン符号判定器14には、RUN、LEVEL、及びLASTが入力される。第2のハフマン符号判定器15には、RUN、LEVEL+、及びLASTが入力される。第3のハフマン符号判定器16には、RUN+、LEVEL、及びLASTが入力される。
RUN, LEVEL, and LAST are input to the first
ハフマン符号判定器14〜16は、入力されたシンボル・データに対応するハフマン符号が存在するか否かを判定し、ハフマン符号が存在すると判定した場合には‘1’を制御部18に出力し、存在しないと判定した場合には‘0’を制御部18に出力する。このハフマン符号判定器14〜16による判定は、同一クロック・サイクル(1サイクル内)に並列して行われる。なお、ハフマン符号判定器14〜16は、入力されたシンボル・データに対応するハフマン符号の存在の有無を判定するだけであり、ハフマン符号そのものは出力しない。
The
ここで、入力されたシンボル・データに対応するハフマン符号が存在するか否かを判定する方法について、第1のハフマン符号判定器14を一例として説明する。
ハフマン符号判定器14は、図2に示した対応関係(LMAXテーブル24)を参照して、自らに対して入力されたLAST及びRUNの値に対応するLEVELの最大値LMAXを取り出す。さらに、ハフマン符号判定器14は、入力されたLEVELの値と上記LMAXの値とを比較し、LEVEL≦LMAXであればハフマン符号が存在すると判定し、そうでなければハフマン符号が存在しないと判定する。
Here, a method for determining whether or not there is a Huffman code corresponding to the input symbol data will be described using the first
The Huffman
例えば、LAST=0、RUN=3、及びLEVEL=2が入力されたとき、図2よりLAST=0かつRUN=3に対応するLMAXの値は4であるので、LAST=0、RUN=3、及びLEVEL=2に対応するハフマン符号が存在することが分かる。なお、上述した説明では図2に示す対応関係を参照するようにしているが、図3に示す対応関係(RMAXテーブル25)を参照してハフマン符号の有無を判定するようにしても良い。 For example, when LAST = 0, RUN = 3, and LEVEL = 2 are input, since the value of LMAX corresponding to LAST = 0 and RUN = 3 is 4 from FIG. 2, LAST = 0, RUN = 3, It can be seen that there is a Huffman code corresponding to LEVEL = 2. In the above description, the correspondence relationship shown in FIG. 2 is referred to, but the presence or absence of the Huffman code may be determined with reference to the correspondence relationship (RMAX table 25) shown in FIG.
このように、ハフマン符号判定器14〜16は、図2又は図3に示した対応関係に基づいて、入力されたシンボル・データに対応するハフマン符号が存在するか否かを判定できるので、ハフマン符号判定器14〜16内にハフマン・テーブルを持つ必要がなく、比較的小規模な回路によって実装することが可能である。
Thus, the
選択器19は、制御部18からの指示に基づき、LEVELとLEVEL+のいずれかを選択して出力する。同様に、選択器20は、制御部18からの指示に基づき、RUNとRUN+のいずれかを選択して出力する。
The
ハフマン・テーブル21には、ISO/IEC14496−2のAnnex.Bに記載されている、イントラ・マクロブロック用のテーブルB.16の全てのハフマン符号語がハードワイヤードで格納されている。ハフマン・テーブル21は、選択器19の出力(LEVEL又はLEVEL+)と、選択器20の出力(RUN又はRUN+)と、LASTとが入力され、選択器19、20の出力とLASTとに対応するハフマン符号VLCを出力する。
The Huffman table 21 includes ISO / IEC 14496-2 Annex. B. Intra macroblock table B.B. All 16 Huffman codewords are stored hardwired. The Huffman table 21 receives the output of the selector 19 (LEVEL or LEVEL +), the output of the selector 20 (RUN or RUN +), and LAST, and the Huffman corresponding to the outputs of the
なお、シンボル・データ(LEVEL又はLEVEL+、RUN又はRUN+、LAST)に対応するハフマン符号が存在しないときには、ハフマン・テーブル21は‘0’を出力する。また、このときには、後述するが制御部18の指示により、選択器22では可変長符号化装置外部への出力として、固定長符号化器17の出力データ(固定長符号)FLCが選択されるので、ハフマン・テーブル21から出力される‘0’データが外部に出力されることはない。
When there is no Huffman code corresponding to the symbol data (LEVEL or LEVEL +, RUN or RUN +, LAST), the Huffman table 21 outputs “0”. At this time, as will be described later, the
固定長符号化器17は、入力されたRUN、LEVEL、LASTに対して、図4に示す固定長符号表を用い、図5に示すビット・レーンの固定長符号FLCを出力する。図5に示す固定長符号FLCのRUNフィールドには、図4に示した固定長符号表に従って、入力されたRUNの値に応じたコードが入力される。同様に、LEVELフィールドには、固定長符号表に従って、入力されたLEVELの値に応じたコードが入力される。
The fixed-
選択器22は、制御部18からの指示に基づき、ハフマン・テーブル21の出力データであるハフマン符号VLC、又は固定長符号化器17の出力データである固定長符号FLCのいずれかを選択して出力する。
エスケープ符号連結部23は、制御部18からの指示に基づき、選択器22の出力データをそのまま可変長符号化装置の外部に出力するか、あるいは所定のESCAPE(エスケープ)符号を出力符号化データの先頭に連結して出力する。
The
Based on an instruction from the
制御部18は、ハフマン符号判定器14〜16の判定結果に基づいて、以下に説明する処理を行う。
(1)第1のハフマン符号判定器14の出力が‘1’のとき
制御部18は、第1のハフマン符号判定器14の出力が‘1’(RUN、LEVEL、LASTに対応するハフマン符号が存在する)の場合には、選択器19に対してLEVELを選択させ、選択器20に対してRUNを選択させる指示を出力する。これにより、ハフマン・テーブル21には、RUN、LEVEL、及びLASTが入力される。
The
(1) When the output of the first
さらに、制御部18は、選択器22に対して、ハフマン・テーブル21の出力データVLCを選択させる指示を出力する。また、エスケープ符号連結部23に対して、選択器22の出力データをそのまま可変長符号化装置の外部に出力する指示を出力する。
したがって、第1のハフマン符号判定器14の出力が‘1’の場合には、RUN、LEVEL、LASTに対応するハフマン符号VLCが可変長符号化装置の外部に出力される。
Further, the
Therefore, when the output of the first Huffman
(2)第1のハフマン符号判定器14の出力が‘0’、かつ第2のハフマン符号判定器15の出力が‘1’のとき
制御部18は、第1のハフマン符号判定器14の出力が‘0’(RUN、LEVEL、LASTに対応するハフマン符号が存在しない)であり、かつ第2のハフマン符号判定器15の出力が‘1’(RUN、LEVEL+、LASTに対応するハフマン符号が存在する)の場合には、選択器19に対してLEVEL+を選択させ、選択器20に対してRUNを選択させる指示を出力する。これにより、ハフマン・テーブル21には、RUN、LEVEL+、及びLASTが入力される。
(2) When the output of the first
さらに、制御部18は、選択器22に対して、ハフマン・テーブル21の出力データVLCを選択させる指示を出力する。また、エスケープ符号連結部23に対して、選択器22の出力データの先頭にESCAPE符号“00000110”を連結して、可変長符号化装置の外部に出力する指示を出力する。
したがって、第1のハフマン符号判定器14の出力が‘0’、かつ第2のハフマン符号判定器15の出力が‘1’の場合には、先頭にESCAPE符号“00000110”が付加された、RUN、LEVEL+、LASTに対応するハフマン符号VLCが可変長符号化装置の外部に出力される。
Further, the
Accordingly, when the output of the first
(3)第1及び第2のハフマン符号判定器14、15の出力が‘0’、かつ第3のハフマン符号判定器16の出力が‘1’のとき
制御部18は、第1のハフマン符号判定器14の出力が‘0’であり、かつ第2のハフマン符号判定器15の出力が‘0’(RUN、LEVEL+、LASTに対応するハフマン符号が存在しない)であり、かつ第3のハフマン符号判定器16の出力が‘1’(RUN+、LEVEL、LASTに対応するハフマン符号が存在する)の場合には、選択器19に対してLEVELを選択させ、選択器20に対してRUN+を選択させる指示を出力する。これにより、ハフマン・テーブル21には、RUN+、LEVEL、及びLASTが入力される。
(3) When the outputs of the first and second
さらに、制御部18は、選択器22に対して、ハフマン・テーブル21の出力データVLCを選択させる指示を出力する。また、エスケープ符号連結部23に対して、選択器22の出力データの先頭にESCAPE符号“000001110”を連結して、可変長符号化装置の外部に出力する指示を出力する。
したがって、第1及び第2のハフマン符号判定器14、15の出力が‘0’、かつ第3のハフマン符号判定器16の出力が‘1’の場合には、先頭にESCAPE符号“000001110”が付加された、RUN+、LEVEL、LASTに対応するハフマン符号VLCが可変長符号化装置の外部に出力される。
Further, the
Therefore, when the outputs of the first and second
(4)第1〜第3のハフマン符号判定器14〜16の出力が‘0’のとき
制御部18は、第1のハフマン符号判定器14の出力が‘0’であり、かつ第2のハフマン符号判定器15の出力が‘0’であり、かつ第3のハフマン符号判定器16の出力が‘0’(RUN+、LEVEL、LASTに対応するハフマン符号が存在しない)の場合には、選択器22に対して、固定長符号化器17の出力データFLCを選択させる指示を出力する。さらに、制御部18は、エスケープ符号連結部23に対して、選択器22の出力データの先頭にESCAPE符号“000001111”を連結して、可変長符号化装置の外部に出力する指示を出力する。
したがって、第1〜第3のハフマン符号判定器14〜16の出力が‘0’の場合には、先頭にESCAPE符号“000001111”が付加された、RUN、LEVEL、LASTに基づく固定長符号FLCが可変長符号化装置の外部に出力される。
(4) When the outputs of the first to third
Therefore, when the outputs of the first to third
以上、説明したように本実施形態によれば、互いに異なるシンボル・データが入力されるハフマン符号判定器14〜16を設けて、入力されたシンボル・データに対応するハフマン符号が存在するか否かをハフマン符号判定器14〜16により判定し、その判定結果に基づいて1つのハフマン・テーブル21により符号化処理を実行する。
これにより、シンボル・データ(RUN、LEVEL、LAST)、シンボル・データ(RUN、LEVEL+、LAST)及びシンボル・データ(RUN+、LEVEL、LAST)に対応するハフマン符号が存在するか否かを並列に判定することができるため、1サイクルで可変長符号化を行えるので、図6に示したような従来の可変長符号化装置よりも高速に符号化を実行することができるとともに、本実施形態における可変長符号化装置が備えるハフマン・テーブルは1つであれば良いので、図7に示したような従来の可変長符号化装置よりも小規模な回路で符号化を実行することができる。すなわち、小さな回路規模で、可変長符号化を高速に実行することができる。
As described above, according to the present embodiment, the Huffman
This determines in parallel whether there is a Huffman code corresponding to the symbol data (RUN, LEVEL, LAST), symbol data (RUN, LEVEL +, LAST) and symbol data (RUN +, LEVEL, LAST). Therefore, since variable length coding can be performed in one cycle, encoding can be performed at a higher speed than the conventional variable length coding apparatus as shown in FIG. Since the long encoding device only needs to have one Huffman table, encoding can be executed with a smaller circuit than the conventional variable length encoding device as shown in FIG. That is, variable length coding can be executed at high speed with a small circuit scale.
なお、上記実施形態は、RUN、LEVEL及びLASTの3次元の事象での符号化方式について説明しているが、本発明はこれに限定されず、RUN及びLEVELの2次元の事象での符号化方式についても適用することができる。2次元の事象での符号化方式に適用する場合には、上記実施形態と同様にRUNとLMAX、及びLEVELとRMAXの対応関係を規定し、上述した実施形態においてLASTがないものとして符号化処理を行うようにすれば良い。 In the above embodiment, the encoding method in the three-dimensional event of RUN, LEVEL, and LAST is described. However, the present invention is not limited to this, and the encoding in the two-dimensional event of RUN and LEVEL is performed. The method can also be applied. When applied to a two-dimensional event encoding method, the correspondence between RUN and LMAX and LEVEL and RMAX is defined in the same manner as in the above embodiment, and the encoding process is performed assuming that there is no LAST in the above embodiment. Should be done.
(本発明の他の実施形態)
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、上記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って上記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
また、この場合、上記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体は本発明を構成する。また、そのプログラムコードをコンピュータに供給するための手段、例えばかかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているOS(オペレーティングシステム)あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
(Other embodiments of the present invention)
In order to operate various devices in order to realize the functions of the above-described embodiments, a program code of software for realizing the functions of the above-described embodiments is provided to an apparatus connected to the various devices or a computer in the system. What is implemented by operating the various devices according to a program supplied and stored in a computer (CPU or MPU) of the system or apparatus is also included in the scope of the present invention.
In this case, the program code of the software itself realizes the functions of the above-described embodiments, and the program code itself constitutes the present invention. Further, means for supplying the program code to the computer, for example, a recording medium storing the program code constitutes the present invention. As a recording medium for storing the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
Further, by executing the program code supplied by the computer, not only the functions of the above-described embodiments are realized, but also the OS (operating system) or other application software in which the program code is running on the computer, etc. It goes without saying that the program code is also included in the embodiment of the present invention even when the functions of the above-described embodiment are realized in cooperation with the embodiment.
Further, after the supplied program code is stored in the memory provided in the function expansion board of the computer or the function expansion unit connected to the computer, the CPU provided in the function expansion board or function expansion unit based on the instruction of the program code Needless to say, the present invention includes a case where the functions of the above-described embodiment are realized by performing part or all of the actual processing.
例えば、上記実施形態に示した信号処理装置は、図8に示すようなコンピュータ機能800を有し、そのCPU801により上記実施形態での動作が実施される。
コンピュータ機能800は、上記図8に示すように、CPU801と、ROM802と、RAM803と、キーボード(KB)809のキーボードコントローラ(KBC)805と、表示部としてのCRTディスプレイ(CRT)810のCRTコントローラ(CRTC)806と、ハードディスク(HD)811およびフレキシブルディスク(FD)812のディスクコントローラ(DKC)807と、ネットワークインタフェースカード(NIC)808とが、システムバス804を介して互いに通信可能に接続された構成としている。
CPU801は、ROM802あるいはHD811に記憶されたソフトウェア、あるいはFD812より供給されるソフトウェアを実行することで、システムバス804に接続された各構成部を総括的に制御する。
すなわち、CPU801は、上述したような動作を行うための処理プログラムを、ROM802、あるいはHD811、あるいはFD812から読み出して実行することで、上記実施形態での動作を実現するための制御を行う。
RAM803は、CPU801の主メモリあるいはワークエリア等として機能する。
KBC805は、KB809や図示していないポインティングデバイス等からの指示入力を制御する。
CRTC806は、CRT810の表示を制御する。
DKC807は、ブートプログラム、種々のアプリケーション、ユーザファイル、ネットワーク管理プログラム、および上記実施形態における上記処理プログラム等を記憶するHD811およびFD812とのアクセスを制御する。
NIC808はネットワーク813上の他の装置と双方向にデータをやりとりする。
For example, the signal processing apparatus shown in the above embodiment has a
As shown in FIG. 8, the
The
That is, the
The
The
The
The
The
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
10、12、19、20、22 選択器
11 レベル減算部
13 ランレングス減算部
14、15、16 ハフマン符号判定器
17 固定長符号化器
18 制御部
21 ハフマン・テーブル
22 エスケープ符号連結部
10, 12, 19, 20, 22
Claims (14)
シンボル・データを構成する第1のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算手段と、
上記第2のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算手段と、
上記第1のデータと上記第2のデータとの組み合わせ、上記第1のデータと上記第1の減算手段の出力との組み合わせ、及び上記第2のデータと上記第2の減算手段の出力との組み合わせについて、対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定手段と、
上記判定手段による判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算手段の出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算手段の出力の一方を選択する制御手段とを備えることを特徴とする信号処理装置。 A variable-length coding table storing variable-length coded data corresponding to a combination of two input values to be input;
First subtracting means for subtracting a predetermined constant from the second data constituting the symbol data different from the first data in accordance with the first data constituting the symbol data;
Second subtracting means for subtracting a predetermined constant from the first data according to the second data;
A combination of the first data and the second data, a combination of the first data and the output of the first subtracting means, and an output of the second data and the second subtracting means. For combinations, whether or not the corresponding variable-length encoded data exists in the variable-length encoding table is compared in parallel with the magnitude relationship between the input value in the combination and a predetermined constant according to the input value. Determining means for determining by
According to the determination result by the determination means, one of the first data and the output of the second subtraction means is selected as the input of the variable length coding table, and the second data or the first data is selected. And a control means for selecting one of the outputs of the subtracting means.
上記第1のデータと上記第2のデータとの組み合わせに対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを判定する第1の符号判定手段と、
上記第1のデータと上記第1の減算手段の出力との組み合わせに対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを判定する第2の符号判定手段と、
上記第2のデータと上記第2の減算手段の出力との組み合わせに対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを判定する第3の符号判定手段とを有することを特徴とする請求項1記載の信号処理装置。 The determination means is
First code determination means for determining whether variable-length encoded data corresponding to a combination of the first data and the second data exists in the variable-length encoding table;
Second code determination means for determining whether variable-length encoded data corresponding to a combination of the first data and the output of the first subtracting means exists in the variable-length encoding table;
Third code determining means for determining whether or not variable length encoded data corresponding to a combination of the second data and the output of the second subtracting means exists in the variable length encoding table; The signal processing apparatus according to claim 1, further comprising:
上記第2のデータは、当該ブロック内の非ゼロ係数を表すデータであることを特徴とする請求項1又は2記載の信号処理装置。 The first data is data representing the number of consecutive zero coefficients in a block that is orthogonally transformed and quantized with image data divided into blocks of a predetermined size,
The signal processing apparatus according to claim 1, wherein the second data is data representing a non-zero coefficient in the block.
シンボル・データを構成する第1のデータ及び上記第1のデータとは異なる第3のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算手段と、
上記第2のデータ及び上記第3のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算手段と、
上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせ、上記第1のデータと上記第1の減算手段の出力と上記第3のデータとの組み合わせ、及び上記第2のデータと上記第2の減算手段の出力と上記第3のデータとの組み合わせについて、対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定手段と、
上記判定手段による判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算手段の出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算手段の出力の一方を選択する制御手段とを備えることを特徴とする信号処理装置。 A variable-length coding table in which variable-length coded data corresponding to a combination of three input values to be input is stored;
In accordance with the first data constituting the symbol data and the third data different from the first data, a predetermined constant from the second data constituting the symbol data different from the first data First subtracting means for subtracting
Second subtracting means for subtracting a predetermined constant from the first data according to the second data and the third data;
A combination of the first data, the second data, and the third data, a combination of the first data, the output of the first subtracting means, and the third data, and the second data For the combination of the data, the output of the second subtracting means, and the third data, whether the corresponding variable length encoded data exists in the variable length encoding table, the input value in the combination, and Determination means for determining by comparing in parallel the magnitude relationship with a predetermined constant according to the input value;
According to the determination result by the determination means, one of the first data and the output of the second subtraction means is selected as the input of the variable length coding table, and the second data or the first data is selected. And a control means for selecting one of the outputs of the subtracting means.
上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせに対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを判定する第1の符号判定手段と、
上記第1のデータと上記第1の減算手段の出力と上記第3のデータとの組み合わせに対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを判定する第2の符号判定手段と、
上記第2のデータと上記第2の減算手段の出力と上記第3のデータとの組み合わせに対応する可変長符号化データが上記可変長符号化テーブル内に存在するか否かを判定する第3の符号判定手段とを有することを特徴とする請求項4記載の信号処理装置。 The determination means is
First code determination for determining whether variable-length encoded data corresponding to a combination of the first data, the second data, and the third data exists in the variable-length encoding table Means,
A second unit for determining whether variable-length encoded data corresponding to a combination of the first data, the output of the first subtracting means, and the third data exists in the variable-length encoding table; Sign determination means of
A third unit for determining whether variable-length encoded data corresponding to a combination of the second data, the output of the second subtracting means, and the third data exists in the variable-length encoding table; The signal processing apparatus according to claim 4, further comprising:
上記第2のデータは、当該ブロック内の非ゼロ係数を表すデータであり、
上記第3のデータは、当該ブロック内の最後の非ゼロ係数であることを表すデータであることを特徴とする請求項4又は5記載の信号処理装置。 The first data is data representing the number of consecutive zero coefficients in a block that is orthogonally transformed and quantized with image data divided into blocks of a predetermined size,
The second data is data representing a non-zero coefficient in the block,
6. The signal processing apparatus according to claim 4, wherein the third data is data representing the last non-zero coefficient in the block.
上記制御手段は、上記判定手段による判定結果に応じて、上記可変長符号化テーブルの出力又は上記固定長符号化手段の出力の一方を選択することを特徴とする請求項1〜7の何れか1項に記載の信号処理装置。 A fixed-length encoding means for encoding the symbol data into a fixed-length code;
8. The control unit according to claim 1, wherein the control unit selects one of the output of the variable length coding table and the output of the fixed length coding unit according to a determination result by the determination unit. 2. The signal processing device according to item 1.
上記第2のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算工程と、
上記第1のデータと上記第2のデータとの組み合わせ、上記第1のデータと上記第1の減算工程での出力との組み合わせ、及び上記第2のデータと上記第2の減算工程での出力との組み合わせについて、対応する可変長符号化データが、入力される2つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定工程と、
上記判定工程での判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算工程での出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算工程での出力の一方を選択する制御工程とを有することを特徴とする信号処理方法。 A first subtraction step of subtracting a predetermined constant from the second data constituting the symbol data different from the first data in accordance with the first data constituting the symbol data;
A second subtraction step of subtracting a predetermined constant from the first data according to the second data;
A combination of the first data and the second data, a combination of the first data and the output in the first subtraction process, and an output in the second data and the second subtraction process Whether or not the corresponding variable-length encoded data exists in the variable-length encoding table storing the variable-length encoded data corresponding to the combination of two input values that are input. A determination step of determining by comparing in parallel the magnitude relationship between the input value in the combination and a predetermined constant according to the input value;
According to the determination result in the determination step, one of the first data and the output in the second subtraction step is selected as the input of the variable length coding table, and the second data or the above And a control step of selecting one of the outputs in the first subtraction step.
上記第2のデータ及び上記第3のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算工程と、
上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせ、上記第1のデータと上記第1の減算工程での出力と上記第3のデータとの組み合わせ、及び上記第2のデータと上記第2の減算工程での出力と上記第3のデータとの組み合わせについて、対応する可変長符号化データが、入力される3つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定工程と、
上記判定工程での判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算工程での出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算工程での出力の一方を選択する制御工程とを有することを特徴とする信号処理方法。 In accordance with the first data constituting the symbol data and the third data different from the first data, a predetermined constant from the second data constituting the symbol data different from the first data A first subtraction step of subtracting
A second subtraction step of subtracting a predetermined constant from the first data in accordance with the second data and the third data;
A combination of the first data, the second data, and the third data, a combination of the first data, the output in the first subtraction step, and the third data, and the second data Variable length encoded data corresponding to the combination of the three input values to be input is the variable length encoded data corresponding to the combination of the first data, the output in the second subtraction step, and the third data. A determination step of determining whether or not the stored variable-length encoding table exists by comparing in parallel the magnitude relationship between the input value in the combination and a predetermined constant according to the input value;
According to the determination result in the determination step, one of the first data and the output in the second subtraction step is selected as the input of the variable length coding table, and the second data or the above And a control step of selecting one of the outputs in the first subtraction step.
上記第2のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算ステップと、
上記第1のデータと上記第2のデータとの組み合わせ、上記第1のデータと上記第1の減算ステップの出力との組み合わせ、及び上記第2のデータと上記第2の減算ステップの出力との組み合わせについて、対応する可変長符号化データが、入力される2つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定ステップと、
上記判定ステップでの判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算ステップの出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算ステップの出力の一方を選択する制御ステップとをコンピュータに実行させるためのプログラム。 A first subtracting step of subtracting a predetermined constant from the second data constituting the symbol data different from the first data according to the first data constituting the symbol data;
A second subtraction step of subtracting a predetermined constant from the first data in accordance with the second data;
A combination of the first data and the second data, a combination of the first data and the output of the first subtraction step, and an output of the second data and the second subtraction step. For the combination, whether or not the corresponding variable-length encoded data exists in the variable-length encoding table storing the variable-length encoded data corresponding to the combination of two input values to be input A determination step for determining by comparing in parallel the magnitude relationship between an input value and a predetermined constant according to the input value;
Depending on the determination result in the determination step, either the first data or the output of the second subtraction step is selected as the input of the variable length coding table, and the second data or the second A program for causing a computer to execute a control step of selecting one of outputs of one subtraction step.
上記第2のデータ及び上記第3のデータに応じて、上記第1のデータから所定の定数を減算する第2の減算ステップと、
上記第1のデータと上記第2のデータと上記第3のデータとの組み合わせ、上記第1のデータと上記第1の減算ステップの出力と上記第3のデータとの組み合わせ、及び上記第2のデータと上記第2の減算ステップの出力と上記第3のデータとの組み合わせについて、対応する可変長符号化データが、入力される3つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブル内に存在するか否かを、上記組み合わせにおける入力値と当該入力値に応じた所定の定数との大小関係を並列して比較することにより判定する判定ステップと、
上記判定ステップでの判定結果に応じて、上記可変長符号化テーブルの入力として、上記第1のデータ又は上記第2の減算ステップの出力の一方を選択するとともに、上記第2のデータ又は上記第1の減算ステップの出力の一方を選択する制御ステップとをコンピュータに実行させるためのプログラム。 In accordance with the first data constituting the symbol data and the third data different from the first data, a predetermined constant from the second data constituting the symbol data different from the first data A first subtraction step for subtracting
A second subtracting step of subtracting a predetermined constant from the first data according to the second data and the third data;
A combination of the first data, the second data, and the third data, a combination of the first data, the output of the first subtraction step, and the third data, and the second data For the combination of the data, the output of the second subtraction step, and the third data, the corresponding variable length encoded data is stored, and the variable length encoded data corresponding to the combination of the three input values to be input is stored. A determination step of determining whether or not the variable length coding table exists by comparing in parallel the magnitude relationship between the input value in the combination and a predetermined constant according to the input value;
Depending on the determination result in the determination step, either the first data or the output of the second subtraction step is selected as the input of the variable length coding table, and the second data or the second A program for causing a computer to execute a control step of selecting one of outputs of one subtraction step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003413686A JP4447903B2 (en) | 2003-12-11 | 2003-12-11 | Signal processing apparatus, signal processing method, recording medium, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003413686A JP4447903B2 (en) | 2003-12-11 | 2003-12-11 | Signal processing apparatus, signal processing method, recording medium, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005175944A JP2005175944A (en) | 2005-06-30 |
JP4447903B2 true JP4447903B2 (en) | 2010-04-07 |
Family
ID=34733746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003413686A Expired - Fee Related JP4447903B2 (en) | 2003-12-11 | 2003-12-11 | Signal processing apparatus, signal processing method, recording medium, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4447903B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI2297856T3 (en) * | 2008-07-11 | 2023-03-30 | Fraunhofer Ges Forschung | Method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver |
-
2003
- 2003-12-11 JP JP2003413686A patent/JP4447903B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005175944A (en) | 2005-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7079698B2 (en) | Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding | |
JP3764457B2 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, and program | |
US7894532B2 (en) | Variable-length encoding apparatus and method | |
JP3332619B2 (en) | Decoding device and method thereof | |
US8494295B2 (en) | Variable length coding for clustered transform coefficients in video compression | |
US8670485B2 (en) | Context adaptive position and amplitude coding of coefficients for video compression | |
US6993202B2 (en) | Decoding apparatus, method, and storage medium for inputting and decoding variable-length coded data | |
JP2001309376A (en) | Picture encoding method and picture decoding method | |
JP2006211621A (en) | Data compression device and data decompression device | |
JPH0937271A (en) | Image compressing method | |
JP4181887B2 (en) | Variable length coding apparatus and method | |
JP2011234363A (en) | Image processing system and method | |
JP4502384B2 (en) | Variable length code decoding apparatus and variable length code decoding method | |
US20050232362A1 (en) | High-speed image compression apparatus using last non-zero detection circuit | |
JP4447903B2 (en) | Signal processing apparatus, signal processing method, recording medium, and program | |
JPH10111792A (en) | Picture processor | |
JPH10304362A (en) | Image signal processing unit and its method | |
JP3954032B2 (en) | Image coding apparatus, image coding method, image coding program, and computer-readable recording medium on which image coding program is recorded | |
JP4612831B2 (en) | Variable length coding apparatus and variable length coding method | |
JP3076461B2 (en) | Huffman decoding circuit and Huffman decoding method | |
JP2014179709A (en) | Image processing apparatus, method and program | |
US7663514B2 (en) | Encoding processing apparatus and decoding processing apparatus | |
JP3866539B2 (en) | Encoding method, decoding method, encoding device, decoding device, encoding program, decoding program, and program recording medium thereof | |
JP4095454B2 (en) | Data decoding apparatus and data decoding method | |
JP2004336247A (en) | Image coding method, image coder and computer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20061204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091008 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091211 |
|
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: 20100112 |
|
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: 20100121 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130129 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140129 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |