JP4447903B2 - Signal processing apparatus, signal processing method, recording medium, and program - Google Patents

Signal processing apparatus, signal processing method, recording medium, and program Download PDF

Info

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
Application number
JP2003413686A
Other languages
Japanese (ja)
Other versions
JP2005175944A (en
Inventor
聡 内藤
克己 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003413686A priority Critical patent/JP4447903B2/en
Publication of JP2005175944A publication Critical patent/JP2005175944A/en
Application granted granted Critical
Publication of JP4447903B2 publication Critical patent/JP4447903B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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 subtracting unit 100 outputs LEVEL + obtained by subtracting the maximum LEVEL (LMAX) value existing in the Huffman code table from the LEVEL value constituting the symbol data. The run-length subtraction unit 102 outputs RUN + obtained by subtracting the maximum RUN + 1 (RMAX + 1) value existing in the Huffman code table from the RUN value constituting the symbol data. The fixed length encoder 107 performs fixed length encoding on RUN, LEVEL, and LAST according to a predetermined format, and outputs the obtained fixed length code.

まず、第1のサイクルにおいて、制御部108は、選択器104、105を制御し、RUN、LEVEL、及びLASTをハフマン・テーブル106に入力する。入力されたRUN、LEVEL、及びLASTに対応するハフマン符号語がハフマン・テーブル106に存在する場合には、制御部108は、選択器109及び出力制御部110を制御して、該当するハフマン符号を出力する。   First, in the first cycle, the control unit 108 controls the selectors 104 and 105 and inputs RUN, LEVEL, and LAST to the Huffman table 106. When Huffman codewords corresponding to the input RUN, LEVEL, and LAST are present in the Huffman table 106, the control unit 108 controls the selector 109 and the output control unit 110 to obtain the corresponding Huffman code. Output.

一方、第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 control unit 108 causes the selectors 104 and 105 to operate in the second cycle. Control and input RUN, LEVEL +, and LAST to Huffman table 106. When the Huffman code word corresponding to the input RUN, LEVEL +, and LAST exists in the Huffman table 106, the control unit 108 controls the selector 109 and the output control unit 110 to change the Huffman code to the corresponding Huffman code. ESCAPE (escape) code “00000110” is added and output.

第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 control unit 108 controls the selectors 104 and 105 in the third cycle. RUN +, LEVEL, and LAST are input to the Huffman table 106. When the Huffman code word corresponding to the input RUN +, LEVEL, and LAST exists in the Huffman table 106, the control unit 108 controls the selector 109 and the output control unit 110 to change the Huffman code to the corresponding Huffman code. ESCAPE code “000001110” is added and output.

第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 control unit 108 controls the selector 109 and the output control unit 110, The ESCAPE code “000001111” is added to the fixed length code from the fixed length encoder 107 and output.

以上に説明した、図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 subtracting unit 200 and the run length subtracting unit 202 have the same functions as the level subtracting unit 100 and the run length subtracting unit 102 shown in FIG.

第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 fixed length encoder 207 performs fixed length encoding on RUN, LEVEL, and LAST in a predetermined format, and outputs the obtained fixed length code.
The control unit 208 controls the selector 209 according to the search results of the Huffman tables 204 to 206, and selects one of the outputs of the Huffman tables 204 to 206 and the fixed length encoder 107. Select to output.

すなわち、図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 Document 1 as a reference for the above contents.

ISO 14496−2ISO 14496-2

しかしながら、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 level subtraction unit 11, a run length subtraction unit 13, a Huffman code determination unit 14, 15, 16, a fixed length coding unit 17, a control unit 18, and selectors 10, 12, 19 , 20, 22, Huffman table 21, and escape code connecting portion 23.

可変長符号化装置は、シンボル・データを構成する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 selector 10 receives RUN and LAST, and outputs LMAX according to the value of RUN and the value of LAST. Here, LMAX is the maximum value of LEVEL corresponding to the input RUN value and LAST value, and is stored in the LMAX table 24 of FIG. 1, and is input as shown in FIG. The value of LMAX is determined according to the value of.

レベル減算部11は、選択器10から出力されたLMAXの値を、入力されたLEVELの値から減算し、演算結果であるLEVEL+を出力する。すなわち、レベル減算部11は、RUN及びLASTの値に応じて定まるLMAXの値をLEVELから減算し、LEVEL+を出力する。   The level subtracting unit 11 subtracts the LMAX value output from the selector 10 from the input LEVEL value, and outputs an operation result LEVEL +. That is, the level subtracting unit 11 subtracts the LMAX value determined according to the RUN and LAST values from the LEVEL, and outputs LEVEL +.

選択器12は、LEVEL及びLASTが入力され、LEVELの値及びLASTの値に応じて、RMAXに1を加算した値(RMAX+1)を出力する。ここで、RMAXは、入力されたLEVELの値及びLASTの値に対応するRUNの最大値であり、図1のRMAXテーブル25に格納されており、図3に示すように入力されるLEVEL及びLASTの値に応じてRMAXの値は定められる。   The selector 12 receives LEVEL and LAST, and outputs a value (RMAX + 1) obtained by adding 1 to RMAX according to the value of LEVEL and the value of LAST. Here, RMAX is the maximum value of RUN corresponding to the inputted LEVEL value and LAST value, and is stored in the RMAX table 25 of FIG. 1, and is inputted as shown in FIG. The value of RMAX is determined according to the value of.

ランレングス減算部13は、選択器12から出力されたRMAX+1の値を、入力されたRUNの値から減算し、演算結果であるRUN+を出力する。すなわち、ランレングス減算部13は、LEVEL及びLASTの値に応じて定まるRMAXの値に1を加算した値をRUNから減算し、RUN+を出力する。   The run-length subtracting unit 13 subtracts the RMAX + 1 value output from the selector 12 from the input RUN value, and outputs the result RUN +. That is, the run length subtraction unit 13 subtracts a value obtained by adding 1 to the RMAX value determined according to the LEVEL and LAST values from the RUN, and outputs 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 Huffman code determiner 14. The second Huffman code determiner 15 receives RUN, LEVEL +, and LAST. The third Huffman code determiner 16 receives RUN +, LEVEL, and LAST.

ハフマン符号判定器14〜16は、入力されたシンボル・データに対応するハフマン符号が存在するか否かを判定し、ハフマン符号が存在すると判定した場合には‘1’を制御部18に出力し、存在しないと判定した場合には‘0’を制御部18に出力する。このハフマン符号判定器14〜16による判定は、同一クロック・サイクル(1サイクル内)に並列して行われる。なお、ハフマン符号判定器14〜16は、入力されたシンボル・データに対応するハフマン符号の存在の有無を判定するだけであり、ハフマン符号そのものは出力しない。   The Huffman code determiners 14 to 16 determine whether there is a Huffman code corresponding to the input symbol data, and output “1” to the control unit 18 when it is determined that the Huffman code exists. If it is determined that it does not exist, “0” is output to the control unit 18. The determination by the Huffman code determiners 14 to 16 is performed in parallel in the same clock cycle (within one cycle). Note that the Huffman code determiners 14 to 16 only determine the presence or absence of a Huffman code corresponding to the input symbol data, and do not output the Huffman code itself.

ここで、入力されたシンボル・データに対応するハフマン符号が存在するか否かを判定する方法について、第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 Huffman code determiner 14 as an example.
The Huffman code determination unit 14 refers to the correspondence relationship (LMAX table 24) shown in FIG. 2 and extracts the maximum LEVEL value LMAX corresponding to the LAST and RUN values input to itself. Further, the Huffman code determiner 14 compares the input LEVEL value with the LMAX value, and determines that a Huffman code exists if LEVEL ≦ LMAX, and determines that no Huffman code exists otherwise. To do.

例えば、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 Huffman code determiners 14 to 16 can determine whether or not there is a Huffman code corresponding to the input symbol data based on the correspondence shown in FIG. 2 or FIG. There is no need to have a Huffman table in the code determiners 14 to 16, and it can be implemented by a relatively small circuit.

選択器19は、制御部18からの指示に基づき、LEVELとLEVEL+のいずれかを選択して出力する。同様に、選択器20は、制御部18からの指示に基づき、RUNとRUN+のいずれかを選択して出力する。   The selector 19 selects and outputs either LEVEL or LEVEL + based on an instruction from the control unit 18. Similarly, the selector 20 selects and outputs either RUN or RUN + based on an instruction from the control unit 18.

ハフマン・テーブル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 selectors 19 and 20 and LAST. The code VLC is output.

なお、シンボル・データ(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 selector 22 selects the output data (fixed length code) FLC of the fixed length encoder 17 as an output to the outside of the variable length encoding device in accordance with an instruction from the control unit 18. The “0” data output from the Huffman table 21 is not output to the outside.

固定長符号化器17は、入力されたRUN、LEVEL、LASTに対して、図4に示す固定長符号表を用い、図5に示すビット・レーンの固定長符号FLCを出力する。図5に示す固定長符号FLCのRUNフィールドには、図4に示した固定長符号表に従って、入力されたRUNの値に応じたコードが入力される。同様に、LEVELフィールドには、固定長符号表に従って、入力されたLEVELの値に応じたコードが入力される。   The fixed-length encoder 17 uses the fixed-length code table shown in FIG. 4 for the input RUN, LEVEL, and LAST, and outputs the fixed-length code FLC of the bit lane shown in FIG. In the RUN field of the fixed-length code FLC shown in FIG. 5, a code corresponding to the value of the inputted RUN is input according to the fixed-length code table shown in FIG. Similarly, a code corresponding to the input LEVEL value is input to the LEVEL field according to the fixed-length code table.

選択器22は、制御部18からの指示に基づき、ハフマン・テーブル21の出力データであるハフマン符号VLC、又は固定長符号化器17の出力データである固定長符号FLCのいずれかを選択して出力する。
エスケープ符号連結部23は、制御部18からの指示に基づき、選択器22の出力データをそのまま可変長符号化装置の外部に出力するか、あるいは所定のESCAPE(エスケープ)符号を出力符号化データの先頭に連結して出力する。
The selector 22 selects either the Huffman code VLC that is output data of the Huffman table 21 or the fixed length code FLC that is output data of the fixed length encoder 17 based on an instruction from the control unit 18. Output.
Based on an instruction from the control unit 18, the escape code linking unit 23 outputs the output data of the selector 22 as it is to the outside of the variable length encoding device or outputs a predetermined ESCAPE (escape) code of the output encoded data. Output at the beginning.

制御部18は、ハフマン符号判定器14〜16の判定結果に基づいて、以下に説明する処理を行う。
(1)第1のハフマン符号判定器14の出力が‘1’のとき
制御部18は、第1のハフマン符号判定器14の出力が‘1’(RUN、LEVEL、LASTに対応するハフマン符号が存在する)の場合には、選択器19に対してLEVELを選択させ、選択器20に対してRUNを選択させる指示を出力する。これにより、ハフマン・テーブル21には、RUN、LEVEL、及びLASTが入力される。
The control part 18 performs the process demonstrated below based on the determination result of the Huffman code | symbol determination devices 14-16.
(1) When the output of the first Huffman code determiner 14 is “1” The control unit 18 outputs “1” (the Huffman code corresponding to RUN, LEVEL, and LAST is the output of the first Huffman code determiner 14). If it exists, the selector 19 selects LEVEL, and the selector 20 outputs an instruction to select RUN. As a result, RUN, LEVEL, and LAST are input to the Huffman table 21.

さらに、制御部18は、選択器22に対して、ハフマン・テーブル21の出力データVLCを選択させる指示を出力する。また、エスケープ符号連結部23に対して、選択器22の出力データをそのまま可変長符号化装置の外部に出力する指示を出力する。
したがって、第1のハフマン符号判定器14の出力が‘1’の場合には、RUN、LEVEL、LASTに対応するハフマン符号VLCが可変長符号化装置の外部に出力される。
Further, the control unit 18 outputs an instruction to the selector 22 to select the output data VLC of the Huffman table 21. In addition, an instruction to output the output data of the selector 22 as it is to the outside of the variable length encoding device is output to the escape code connecting unit 23.
Therefore, when the output of the first Huffman code determination unit 14 is “1”, the Huffman code VLC corresponding to RUN, LEVEL, and LAST is output to the outside of the variable length encoding device.

(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 Huffman code determiner 14 is “0” and the output of the second Huffman code determiner 15 is “1”, the control unit 18 outputs the first Huffman code determiner 14 Is '0' (the Huffman code corresponding to RUN, LEVEL, and LAST does not exist), and the output of the second Huffman code determination unit 15 is '1' (the Huffman code corresponding to RUN, LEVEL +, LAST exists) In the case of (Yes), the selector 19 selects LEVEL +, and the selector 20 outputs an instruction to select RUN. As a result, RUN, LEVEL +, and LAST are input to the Huffman table 21.

さらに、制御部18は、選択器22に対して、ハフマン・テーブル21の出力データVLCを選択させる指示を出力する。また、エスケープ符号連結部23に対して、選択器22の出力データの先頭にESCAPE符号“00000110”を連結して、可変長符号化装置の外部に出力する指示を出力する。
したがって、第1のハフマン符号判定器14の出力が‘0’、かつ第2のハフマン符号判定器15の出力が‘1’の場合には、先頭にESCAPE符号“00000110”が付加された、RUN、LEVEL+、LASTに対応するハフマン符号VLCが可変長符号化装置の外部に出力される。
Further, the control unit 18 outputs an instruction to the selector 22 to select the output data VLC of the Huffman table 21. Further, the ESCAPE code “00000110” is concatenated to the head of the output data of the selector 22 to the escape code concatenation unit 23, and an instruction to output to the outside of the variable length coding apparatus is output.
Accordingly, when the output of the first Huffman code determiner 14 is “0” and the output of the second Huffman code determiner 15 is “1”, the RUN with the ESCAPE code “00000110” added at the head is provided. , LEVEL +, LAST corresponding to the Huffman code VLC is output to the outside of the variable length coding apparatus.

(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 Huffman code determiners 14 and 15 are “0” and the output of the third Huffman code determiner 16 is “1”, the control unit 18 performs the first Huffman code. The output of the determiner 14 is “0”, the output of the second Huffman code determiner 15 is “0” (the Huffman code corresponding to RUN, LEVEL +, LAST does not exist), and the third Huffman When the output of the code determination unit 16 is “1” (Huffman codes corresponding to RUN +, LEVEL, and LAST exist), the selector 19 selects LEVEL and the selector 20 selects RUN +. The instruction to be output is output. As a result, RUN +, LEVEL, and LAST are input to the Huffman table 21.

さらに、制御部18は、選択器22に対して、ハフマン・テーブル21の出力データVLCを選択させる指示を出力する。また、エスケープ符号連結部23に対して、選択器22の出力データの先頭にESCAPE符号“000001110”を連結して、可変長符号化装置の外部に出力する指示を出力する。
したがって、第1及び第2のハフマン符号判定器14、15の出力が‘0’、かつ第3のハフマン符号判定器16の出力が‘1’の場合には、先頭にESCAPE符号“000001110”が付加された、RUN+、LEVEL、LASTに対応するハフマン符号VLCが可変長符号化装置の外部に出力される。
Further, the control unit 18 outputs an instruction to the selector 22 to select the output data VLC of the Huffman table 21. Also, the ESCAPE code “000001110” is concatenated to the head of the output data of the selector 22 to the escape code concatenation unit 23, and an instruction to output to the outside of the variable length coding apparatus is output.
Therefore, when the outputs of the first and second Huffman code determiners 14 and 15 are “0” and the output of the third Huffman code determiner 16 is “1”, the ESCAPE code “000001110” is placed at the head. The added Huffman code VLC corresponding to RUN +, LEVEL, and LAST is output to the outside of the variable length coding apparatus.

(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 Huffman code determiners 14 to 16 are “0”, the control unit 18 outputs the first Huffman code determiner 14 to “0” and the second Select if the output of the Huffman code determiner 15 is '0' and the output of the third Huffman code determiner 16 is '0' (there is no Huffman code corresponding to RUN +, LEVEL, or LAST) An instruction to select the output data FLC of the fixed length encoder 17 is output to the unit 22. Furthermore, the control unit 18 outputs an instruction to connect the ESCAPE code “000001111” to the head of the output data of the selector 22 and output it to the outside of the variable length encoding device to the escape code connecting unit 23.
Therefore, when the outputs of the first to third Huffman code determiners 14 to 16 are “0”, the fixed-length code FLC based on RUN, LEVEL, and LAST with ESCAPE code “000001111” added to the head is generated. It is output outside the variable length coding device.

以上、説明したように本実施形態によれば、互いに異なるシンボル・データが入力されるハフマン符号判定器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 code determination units 14 to 16 to which different symbol data are input are provided, and whether or not there is a Huffman code corresponding to the input symbol data. Are determined by the Huffman code determiners 14 to 16 and the encoding process is executed by one Huffman table 21 based on the determination result.
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 computer function 800 as shown in FIG. 8, and the CPU 801 performs the operation in the above embodiment.
As shown in FIG. 8, the computer function 800 includes a CPU 801, a ROM 802, a RAM 803, a keyboard controller (KBC) 805 of a keyboard (KB) 809, and a CRT controller (CRT) 810 serving as a display unit (CRT controller 810). A configuration in which a CRTC) 806, a hard disk (HD) 811 and a disk controller (DKC) 807 of a flexible disk (FD) 812, and a network interface card (NIC) 808 are connected to each other via a system bus 804. It is said.
The CPU 801 generally controls each component connected to the system bus 804 by executing software stored in the ROM 802 or the HD 811 or software supplied from the FD 812.
That is, the CPU 801 reads out from the ROM 802, the HD 811, or the FD 812 and executes a processing program for performing the above-described operation, thereby performing control for realizing the operation in the above-described embodiment.
The RAM 803 functions as a main memory or work area for the CPU 801.
The KBC 805 controls an instruction input from the KB 809 or a pointing device (not shown).
The CRTC 806 controls the display of the CRT 810.
The DKC 807 controls access to the HD 811 and the FD 812 that store a boot program, various applications, user files, a network management program, the processing program in the embodiment, and the like.
The NIC 808 exchanges data with other devices on the network 813 in both directions.

なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。   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.

本発明の実施形態による信号処理装置を適用した可変長符号化装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the variable length coding apparatus to which the signal processing apparatus by embodiment of this invention is applied. 本実施形態におけるラスト及びランレングスの値とレベルの最大値との対応関係の一例を示す図である。It is a figure which shows an example of the correspondence of the value of last and run length, and the maximum value of a level in this embodiment. 本実施形態におけるラスト及びレベルの値とランレングスの最大値との対応関係の一例を示す図である。It is a figure which shows an example of the correspondence of the last and level value in this embodiment, and the maximum value of run length. 本実施形態における固定長符号表を示す図である。It is a figure which shows the fixed length code table in this embodiment. 本実施形態における固定長符号のビット・レーンを示す図である。It is a figure which shows the bit lane of the fixed length code in this embodiment. 従来の可変長符号化装置の構成を示すブロック図である。It is a block diagram which shows the structure of the conventional variable length coding apparatus. 従来の可変長符号化装置の他の構成を示すブロック図である。It is a block diagram which shows the other structure of the conventional variable length coding apparatus. 本実施形態における信号処理装置を実現可能なコンピュータ機能の構成例を示すブロック図である。It is a block diagram which shows the structural example of the computer function which can implement | achieve the signal processing apparatus in this embodiment.

符号の説明Explanation of symbols

10、12、19、20、22 選択器
11 レベル減算部
13 ランレングス減算部
14、15、16 ハフマン符号判定器
17 固定長符号化器
18 制御部
21 ハフマン・テーブル
22 エスケープ符号連結部
10, 12, 19, 20, 22 Selector 11 Level subtractor 13 Run length subtractor 14, 15, 16 Huffman code determiner 17 Fixed length encoder 18 Controller 21 Huffman table 22 Escape code concatenation unit

Claims (14)

入力される2つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブルと、
シンボル・データを構成する第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:
上記第1のデータは、所定の大きさのブロックに分割された画像データにて直交変換され量子化されたブロック内の連続するゼロ係数の個数を表すデータであり、
上記第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.
入力される3つの入力値の組み合わせに対応する可変長符号化データが格納された可変長符号化テーブルと、
シンボル・データを構成する第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:
上記第1のデータは、所定の大きさのブロックに分割された画像データにて直交変換され量子化されたブロック内の連続するゼロ係数の個数を表すデータであり、
上記第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.
上記信号処理装置の出力が、MPEG−4符号化方式で符号化されたビットストリームであることを特徴とする請求項6記載の信号処理装置。   7. The signal processing apparatus according to claim 6, wherein the output of the signal processing apparatus is a bit stream encoded by an MPEG-4 encoding method. 上記シンボル・データを固定長符号に符号化する固定長符号化手段をさらに備え、
上記制御手段は、上記判定手段による判定結果に応じて、上記可変長符号化テーブルの出力又は上記固定長符号化手段の出力の一方を選択することを特徴とする請求項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.
上記シンボル・データを符号化して得られた符号化データに、上記判定手段による判定結果に応じて、所定の符号を付加する符号付加手段をさらに備えることを特徴とする請求項1〜8の何れか1項に記載の信号処理装置。   9. A code adding unit for adding a predetermined code to encoded data obtained by encoding the symbol data according to a determination result by the determining unit. The signal processing device according to claim 1. シンボル・データを構成する第1のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第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.
シンボル・データを構成する第1のデータ及び上記第1のデータとは異なる第3のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算工程と、
上記第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.
シンボル・データを構成する第1のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算ステップと、
上記第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.
シンボル・データを構成する第1のデータ及び上記第1のデータとは異なる第3のデータに応じて、上記第1のデータとは異なる上記シンボル・データを構成する第2のデータから所定の定数を減算する第1の減算ステップと、
上記第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.
請求項12又は13記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。   14. A computer-readable recording medium on which the program according to claim 12 or 13 is recorded.
JP2003413686A 2003-12-11 2003-12-11 Signal processing apparatus, signal processing method, recording medium, and program Expired - Fee Related JP4447903B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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