JPH0883347A - Picture processor - Google Patents
Picture processorInfo
- Publication number
- JPH0883347A JPH0883347A JP21916894A JP21916894A JPH0883347A JP H0883347 A JPH0883347 A JP H0883347A JP 21916894 A JP21916894 A JP 21916894A JP 21916894 A JP21916894 A JP 21916894A JP H0883347 A JPH0883347 A JP H0883347A
- Authority
- JP
- Japan
- Prior art keywords
- code
- length
- data
- bank
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、画像処理装置の処理速
度の高速化に関するものであり、より詳細には、圧縮画
像データを伸長する画像処理装置のバッファメモリおよ
び復号化器の処理速度の高速化に関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an increase in processing speed of an image processing apparatus, and more particularly, to a buffer memory of an image processing apparatus for decompressing compressed image data and a processing speed of a decoder. It is about speeding up.
【0002】[0002]
【従来の技術】従来より、画像処理装置として、画像デ
ータを圧縮/伸長するものが知られている。2. Description of the Related Art Conventionally, an image processing apparatus that compresses / expands image data has been known.
【0003】画像データを圧縮する画像処理装置として
は、例えば、DCT(離散コサイン変換)、量子化、ラ
ンレングス符号化および可変長・固定長符号化を組み合
わせたものが知られている。このような画像処理装置で
は、まず、画像データを小ブロック(例えば8×8画素
のブロック)に分割し、各ブロック単位で二次元DCT
等の直交変換を施したのち、各画素ごとに量子化を行
う。次に、各ブロックについて「0」が連続する頻度が
高くなるように変換したのち(スキャン順序変換)、一
次元に並べ、先行する「0」の数(以下「ゼロラン」と
記す)と「0」以外の値(以下「レベル」と記す)とを
組にして表現することでシンボル数を減らす(ランレン
グス符号化)。そして、このデータを可変長符号、固定
長符号および区切り符号からなるデータに変換して(可
変長・固定長符号化)出力する。As an image processing apparatus for compressing image data, for example, a combination of DCT (Discrete Cosine Transform), quantization, run length coding and variable length / fixed length coding is known. In such an image processing apparatus, first, the image data is divided into small blocks (for example, blocks of 8 × 8 pixels), and each block is a two-dimensional DCT.
After performing orthogonal transformation such as, the quantization is performed for each pixel. Next, after each block is converted so that the number of consecutive "0" s becomes high (scan order conversion), it is arranged in one dimension and the number of leading "0s" (hereinafter referred to as "zero run") and "0" The number of symbols is reduced by expressing it as a set with a value other than "(hereinafter referred to as" level ") (run length encoding). Then, this data is converted into data consisting of a variable length code, a fixed length code and a delimiter code (variable length / fixed length coding) and output.
【0004】ここで、上述のスキャン順序変換およびラ
ンレングス符号化について、図7を用いて、さらに詳し
く説明する。図7(a)は、直交変換(DCT等)およ
び量子化を施した後のブロックを示している。二次元D
CT等の直交変換を施したデータは、視覚的に高周波成
分の解像度が高くないことを利用して、この高周波成分
にあたるデータに大きい量子化幅を与えることにより、
「0」が出現する頻度を高くしている。次に、これらの
画素データについて、図7(a)に矢印で示したよう
に、8×8のマトリクスを形成する各画素をジグザグに
読み取る。これにより、図7(b)に示したようなデー
タ列を得る。そして、このデータ列をランレングス符号
化することにより、図7(c)に示したようなデータ
(ランレングス符号)を得る。なお、図7(c)におい
て、各括弧内の左側の値はゼロランであり、右側の値は
レベルである。このようにして生成されたランレングス
符号は、可変長・固定長符号化されて、出力される。こ
こで、図7(a)に示したように、画素ブロックの画素
をジグザグに読み取ることとしたのは、各ゼロランの値
の偏りが大きい方が、ランレングス符号を可変長符号化
する際に圧縮率が高くなるからである。Here, the above-mentioned scan order conversion and run-length coding will be described in more detail with reference to FIG. FIG. 7A shows a block after orthogonal transform (DCT etc.) and quantization. Two-dimensional D
Data that has undergone orthogonal transformation such as CT uses the fact that the resolution of the high frequency component is not visually high, and gives a large quantization width to the data corresponding to this high frequency component,
The frequency of appearance of "0" is increased. Next, with respect to these pixel data, each pixel forming an 8 × 8 matrix is read in a zigzag manner as indicated by an arrow in FIG. As a result, a data string as shown in FIG. 7B is obtained. Then, by performing run-length coding on this data string, data (run-length code) as shown in FIG. 7C is obtained. In FIG. 7C, the value on the left side in each parenthesis is zero run, and the value on the right side is a level. The run-length code generated in this way is variable-length / fixed-length coded and output. Here, as shown in FIG. 7A, the reason why the pixels of the pixel block are read in zigzag is that the deviation of the values of the zero runs is larger when the run length code is variable length encoded. This is because the compression rate becomes high.
【0005】次に、このようにして圧縮処理された画像
データを伸長する画像処理装置について説明する。図8
は、かかる画像処理装置の構成を概略的に示すブロック
図である。同図に示したように、画像処理装置に入力さ
れた圧縮画像データは、バッファ81を介して、可変長
・固定長復号化器82に取り込まれ、図7(c)に示し
たようなデータ列(ランレングス符号)に復号化され
る。この可変長・固定長復号化器82の出力データは、
次に、ランレングス復号化・スキャン順序変換器83に
入力される。Next, an image processing apparatus for decompressing the image data thus compressed will be described. Figure 8
FIG. 3 is a block diagram schematically showing a configuration of such an image processing device. As shown in the figure, the compressed image data input to the image processing apparatus is taken into the variable length / fixed length decoder 82 via the buffer 81, and the data as shown in FIG. It is decoded into a sequence (run length code). The output data of the variable length / fixed length decoder 82 is
Next, it is input to the run length decoding / scan order converter 83.
【0006】ここで、ランレングス復号化およびスキャ
ン順序変換は、ランレングス復号化により図7(b)に
示したデータ列を生成した後にスキャン順序変換を行っ
て図7(a)に示したような8×8画素ブロックのデー
タを生成することとしてもよいが、ここでは、後述する
ようなバッファメモリを用いてランレングス復号化とス
キャン順序変換とを同時に行うものとする。Here, in the run length decoding and the scan order conversion, as shown in FIG. 7A, the scan order conversion is performed after the data string shown in FIG. 7B is generated by the run length decoding. Although it is possible to generate data of a large 8 × 8 pixel block, it is assumed here that run length decoding and scan order conversion are performed simultaneously using a buffer memory as described below.
【0007】その後、ランレングス復号化およびスキャ
ン順序変換が施された画像データは、逆量子化器85お
よび逆直交変換器86により逆量子化および逆離散コサ
イン変換が行われた後、伸長画像データとして出力され
る。After that, the image data subjected to run-length decoding and scan order conversion is subjected to inverse quantization and inverse discrete cosine transform by an inverse quantizer 85 and an inverse orthogonal transformer 86, and then decompressed image data. Is output as.
【0008】ここで、可変長・固定長復号化器82での
処理(可変長・固定長復号化)について、より詳細に説
明する。なお、ここでは、可変長・固定長符号化方法と
してMPEG(Moving Pictures Expert Group)方式を採
った場合を例にとって説明する。Here, the processing (variable length / fixed length decoding) in the variable length / fixed length decoder 82 will be described in more detail. Here, a case where the MPEG (Moving Pictures Expert Group) method is adopted as a variable-length / fixed-length encoding method will be described as an example.
【0009】可変長・固定長復号化器82に入力される
画像データ(圧縮画像データ)は、区切りの無い連続し
たデータ列によって構成されている(後述の図10
(a)の「被解読符号」参照)。ここで、このデータ列
には、データの区切りを示すコードであるスタートコー
ドが含まれている。このスタートコードとしては、例え
ば、一画面分の画像データの開始を示すスタートコード
(picture start code)等がある(後述の図10(b)参
照)。このスタートコードは、データ列の途中から解読
を開始した場合でも他のデータやフラグと間違えて解読
(復号化)することがなく、また、他のデータやフラグ
をどのように組み合わせてもスタートコードと間違えて
解読してしまうことがないように、定められている。し
たがって、解読を開始する位置の決定や、解読エラーが
発生した場合の解読復帰位置の決定に使用される。The image data (compressed image data) input to the variable-length / fixed-length decoder 82 is composed of a continuous data string without a break (see FIG. 10 described later).
(See "Decoded code" in (a)). Here, this data string includes a start code that is a code indicating a data delimiter. As this start code, for example, a start code indicating the start of image data for one screen
(picture start code) and the like (see FIG. 10B described later). This start code will not be decoded (decoded) mistakenly for other data or flags even if the decoding is started in the middle of the data string, and the start code will not be affected by any combination of other data or flags. It is set so that it will not be mistakenly deciphered. Therefore, it is used for determining the position to start decoding and the decoding return position when a decoding error occurs.
【0010】以下、可変長・固定長復号化器82の動作
について、図9〜図11を用いて説明する。The operation of the variable length / fixed length decoder 82 will be described below with reference to FIGS. 9 to 11.
【0011】図9は、可変長・固定長復号化器82の内
部構成を概略的に示すブロック図である。同図におい
て、符号解読部92は、まず、頭出しシフト部91から
被解読符号D91を32ビット入力し、このうちの最初の
24ビットについて、この被解読符号D91の値が「00
0001H」(「H」は16進数表示であることを示
す。以下同じ)と一致するか否かを判断する(図11の
S111)。そして、被解読符号D91が「000001
H」でなければ、頭出しシフト部91に被解読符号D91
を1ビット分だけシフトさせる(同図S112)。次
に、シフト後の24ビットの被解読符号D91について
(すなわち最初の入力符号から数えて2ビットめから2
5ビットめまでについて)、「000001H」と一致
するか否かを判断する(同図S111)。以下、「00
0001H」が検出されるまで、同様の動作を繰り返
す。FIG. 9 is a block diagram schematically showing the internal structure of the variable length / fixed length decoder 82. In the figure, the code decoding unit 92 first inputs 32 bits of the code to be decoded D 91 from the cue shift unit 91, and the value of the code to be decoded D 91 is "00" for the first 24 bits.
0001H ”(“ H ”indicates hexadecimal notation. The same applies hereinafter) is determined (S111 in FIG. 11). The decoded code D 91 is "000001.
If it is not "H", the decoded code D 91 is sent to the cue shift unit 91.
Is shifted by 1 bit (S112 in the figure). Next, for the decoded 24-bit decoded code D 91 (that is, from the second bit counted from the first input code, 2
For the 5th bit), it is determined whether or not it matches "000001H" (S111 in the same figure). Below, "00
The same operation is repeated until "0001H" is detected.
【0012】ここで、図10(b)に示すように、スタ
ートコードの上位6ビット(2進数では24ビット)
は、常に「000001H」である。したがって、符号
解読部92が「000001H」を検出した場合は、い
ずれかのスタートコードが存在していることがわかる。Here, as shown in FIG. 10B, the upper 6 bits of the start code (24 bits in binary)
Is always "000001H". Therefore, when the code decoding unit 92 detects "000001H", it can be known that any start code exists.
【0013】「000001H」が検出されると、符号
解読部92は、この「000001H」に該当する部分
を切り出すために、被解読符号D91を24ビット(16
進数の6桁に該当する)だけシフトする(図11のS1
13)。そして、検出されたスタートコードの残りの桁
を切り出すために、入力符号をさらに8ビット(16進
数の2桁に該当する)だけシフトする(図11のS11
4)。When "000001H" is detected, the code decoding unit 92 extracts the code to be decoded D 91 by 24 bits (16 bits) in order to cut out the portion corresponding to "000001H".
It shifts by 6 digits of the decimal number) (S1 in FIG. 11)
13). Then, in order to cut out the remaining digits of the detected start code, the input code is further shifted by 8 bits (corresponding to two hexadecimal digits) (S11 in FIG. 11).
4).
【0014】続いて、符号解読部92は、このスタート
コードに続く可変長・固定長符号の解読(復号化)を行
う。図10(a)のにおいて、被解読符号の最初の3
桁は「101」であり、この可変長符号は「3」の該当
する(図10(C)参照)。したがって、符号解読部9
2は、解読結果(ランレングス符号)として「3」を出
力し、さらに、可変長符号のパターン長(桁数)である
「3」を、頭出しシフト量情報D92として出力する。頭
出しシフト部91は、この頭出しシフト量情報D92を入
力すると、被解読符号D91を3ビットだけシフトさせ
る。これにより、このシフト後に符号解読部92が入力
する被解読符号D91は、図10(b)のに示すような
値となる。そして、符号解読部92は、この被解読符号
D91の最初の2桁「01」が「2」に該当すると識別
し、解読結果として「2」を出力するとともに、パター
ン長「2」を頭出しシフト量情報D92として出力する。
以下、同様にして、スタートコードの検出および可変長
・固定長符号の解読が続行される。Subsequently, the code decoding unit 92 decodes (decodes) the variable length / fixed length code following the start code. In FIG. 10A, the first 3
The digit is "101", and this variable length code corresponds to "3" (see FIG. 10C). Therefore, the code decoding unit 9
2 outputs “3” as the decoding result (run length code), and further outputs “3” which is the pattern length (number of digits) of the variable length code as the cue shift amount information D 92 . Upon receiving the cue shift amount information D 92 , the cue shift section 91 shifts the decoded code D 91 by 3 bits. As a result, the code to be decoded D 91 input by the code decoding unit 92 after this shift has a value as shown in (b) of FIG. Then, the code decoding unit 92 identifies that the first two digits "01" of the decoded code D91 corresponds to "2", outputs "2" as the decoding result, and also outputs the pattern length "2". The output shift amount information D 92 is output.
Thereafter, similarly, the detection of the start code and the decoding of the variable length / fixed length code are continued.
【0015】このようにして生成された解読結果のデー
タ列(ランレングス符号)は、ランレングス復号化・ス
キャン順序変換器83(図8参照)に送られる。The data string (run length code) of the decoding result generated in this way is sent to the run length decoding / scan order converter 83 (see FIG. 8).
【0016】ここで、可変長・固定長符号の解読中に、
可変長符号テーブル(図10(c)参照)や固定長符号
テーブル(図示せず)に無い符号パターンが現れた場合
には、符号解読部92は、何等かの解読エラーが発生し
たものと判断する。可変長符号を含む符号の復号化の場
合には、解読エラーに起因して解読開始位置が一旦ずれ
てしまうとそのまま残りの入力符号の解読を続行して
も、無意味である。したがって、符号解読部92は、可
変長・固定長符号の解読を中止して、次のスタートコー
ドの検出を行う(図11参照)。そして、スタートコー
ドが検出されると、上述したような可変長・固定長符号
の解読を再開する(図10(a)参照)。Here, during decoding of the variable length / fixed length code,
When a code pattern that does not exist in the variable length code table (see FIG. 10C) or the fixed length code table (not shown) appears, the code decoding unit 92 determines that some decoding error has occurred. To do. In the case of decoding a code including a variable length code, if the decoding start position is once displaced due to a decoding error, it is meaningless to continue decoding the remaining input code. Therefore, the code decoding unit 92 stops decoding the variable-length / fixed-length code and detects the next start code (see FIG. 11). Then, when the start code is detected, the decoding of the variable length / fixed length code as described above is restarted (see FIG. 10A).
【0017】次に、図8に示した画像処理装置の、ラン
レングス復号化・スキャン順序変換器83での処理(ラ
ンレングス復号化およびスキャン順序変換)について、
より詳細に説明する。Next, regarding the processing (run length decoding and scan order conversion) in the run length decoding / scan order converter 83 of the image processing apparatus shown in FIG.
This will be described in more detail.
【0018】図12は、ランレングス復号化・スキャン
順序変換器83の内部構成を概略的に示すブロック図で
ある。同図に示すように、このランレングス復号化・ス
キャン順序変換器83としては、バッファメモリが使用
されている。FIG. 12 is a block diagram schematically showing the internal structure of the run length decoding / scan order converter 83. As shown in the figure, a buffer memory is used as the run-length decoding / scan order converter 83.
【0019】図12において、メモリ部121内のバン
クメモリ121a,121bは、8×8画素(すなわち
1ブロック)に相当する書き込み領域を有している。そ
して、これらの書き込み領域は、データの書き込みが行
われる前には、すべてゼロに初期化される。In FIG. 12, the bank memories 121a and 121b in the memory section 121 have a writing area corresponding to 8 × 8 pixels (that is, one block). Then, these write areas are all initialized to zero before data is written.
【0020】書き込みアドレス発生部122は、加算器
122aとレジスタ122bとを備えている。ここで、
レジスタ122bの出力は、データの書き込みが行われ
る前には、「0」に初期化される。加算器122aは、
レジスタ122bの出力と、可変長・固定長復号化器8
2から入力したデータ列(ランレングス符号)のゼロラ
ンとを入力する。そして、このレジスタ出力とゼロラン
とを加算した結果を、書き込みアドレスとして、メモリ
部121に送る。これにより、ランレングス符号の「レ
ベル」信号を、バンクメモリ121aまたはバンクメモ
リ121bのいずれか(コントローラ124によって指
定される)の該当番地に順次書き込むことができる。そ
して、上述のように「レベル」信号が書き込まれた番地
以外は「0」に初期化されているので、この書き込みに
よってランレングス復号化を行うことができる。The write address generator 122 includes an adder 122a and a register 122b. here,
The output of the register 122b is initialized to "0" before writing data. The adder 122a is
Output of register 122b and variable length / fixed length decoder 8
The zero run of the data string (run length code) input from 2 is input. Then, the result of adding this register output and zero run is sent to the memory unit 121 as a write address. Thereby, the "level" signal of the run length code can be sequentially written to the corresponding address of either the bank memory 121a or the bank memory 121b (specified by the controller 124). Then, as described above, since the addresses other than the address in which the "level" signal is written are initialized to "0", run length decoding can be performed by this writing.
【0021】読み出しアドレス発生部123は、カウン
タ123aとアドレス変換器123bとを備えている。
これにより、バンクメモリ121aまたはバンクメモリ
121b(コントローラ124によって指定される)に
書き込まれたデータ列をスキャン順序変換しながら読み
出すことができ、図7(a)に示したような量子化DC
T係数を得ることができる。また、この読み出しの際
に、読み出しアドレスSR を書き込みアドレスSR ′と
して使用し、順次「0」を書き込むことにより、次回の
書き込みのための初期化を行うことができる。The read address generator 123 comprises a counter 123a and an address converter 123b.
As a result, the data string written in the bank memory 121a or the bank memory 121b (designated by the controller 124) can be read out while the scan order is being converted, and the quantized DC as shown in FIG.
The T coefficient can be obtained. Further, at the time of this reading, the read address S R is used as the write address S R ′, and by sequentially writing “0”, the initialization for the next writing can be performed.
【0022】コントローラ124は、上述のように、デ
ータの書き込み/読み出しを行うバンクメモリを選択す
るほか、可変長・固定長復号化器82に対する書き込み
禁止信号の出力および可変長・固定長復号化器82から
の書き込み終了信号の入力により、書き込みタイミング
の制御を行う。As described above, the controller 124 selects a bank memory for writing / reading data, outputs a write inhibit signal to the variable length / fixed length decoder 82, and outputs the variable length / fixed length decoder. The write timing is controlled by the input of the write end signal from 82.
【0023】[0023]
【発明が解決しようとする課題】図8に示したような従
来の画像処理装置(画像データ伸長用の画像処理装置)
は、処理速度が十分ではなかった。A conventional image processing apparatus as shown in FIG. 8 (image processing apparatus for expanding image data)
Was not fast enough.
【0024】ここで、可変長・固定長復号化器82(図
9参照)においては、区切り符号の検出に多くの時間を
要しており、このことが処理速度を遅くさせる原因の一
つとなっていた。すなわち、従来の可変長・固定長復号
化器82では、被解読符号を1ビット/サイクルの速度
で1ビットずつシフトさせながら区切り符号の検出を行
っていたので、解読の開始やエラー復帰に多くの時間が
必要であった。Here, in the variable-length / fixed-length decoder 82 (see FIG. 9), it takes a lot of time to detect the delimiter code, which is one of the causes of slowing down the processing speed. Was there. That is, in the conventional variable-length / fixed-length decoder 82, the delimiter code is detected while shifting the code to be decoded one bit at a time at a rate of 1 bit / cycle. I needed time.
【0025】また、従来の可変長・固定長復号化器82
には、区切り符号の一部が誤解読に使用された後で解読
エラーの発生が検出された場合に、エラー復帰の位置が
さらに次の区切り符号となってしまうので、解読エラー
の発生時に捨てられる画像データが多くなってしまうと
いう欠点もあった。The conventional variable-length / fixed-length decoder 82 is also used.
When a decoding error is detected after a part of the delimiter code is used for erroneous decoding, the error recovery position becomes the next delimiter code, so discard it when a decoding error occurs. There is also a drawback that the amount of image data that can be stored increases.
【0026】一方、ランレングス復号化・スキャン順序
変換器83(図12参照)においては、バンクメモリ1
21a,121bの書き込み/読み出しに要する時間が
実際には一定していないにも拘らず、書き込みを行うバ
ンクメモリと読み出しを行うバンクメモリとを切り替え
る時間間隔を一定にしており、このことが処理速度を遅
くさせる原因の一つとなっていた。以下、この理由につ
いて説明する。On the other hand, in the run length decoding / scan order converter 83 (see FIG. 12), the bank memory 1
Although the time required for writing / reading 21a and 121b is not actually constant, the time interval for switching between the bank memory for writing and the bank memory for reading is constant, which means that the processing speed is Was one of the causes to slow down. The reason for this will be described below.
【0027】バンクメモリ121a,121bの書き込
み/読み出しに要する時間が常に一定であれば、バンク
メモリを切り替える時間間隔は、書き込み/読み出しの
いずれか遅い方にあわせて決定すればよい。ここで、例
えば1ブロック分のデータ列(8×8=64画素)の中
に固定長・可変長符号が常に16個あるものとし、且
つ、ランレングス復号化に要する時間(すなわちバンク
メモリへの書き込みに要する時間)をデータ1個あたり
3クロックとすると、1ブロック分のデータ列の書き込
みに要する時間は16×3=48クロックとなる。これ
に対して、バンクメモリからのデータの読み出しに要す
る時間を1データあたり1クロックとすると、1ブロッ
ク分のデータ列の読み出しに要する時間は64クロック
である。したがって、書き込みを行うバンクメモリと読
み出しを行うバンクメモリとの切り替えは、図13に示
したように64クロック毎に行えばよく、処理時間の無
駄は生じないので高速の処理を行うことができる。If the time required for writing / reading to / from the bank memories 121a and 121b is always constant, the time interval for switching the bank memories may be determined in accordance with whichever of writing / reading is later. Here, for example, it is assumed that there are always 16 fixed-length / variable-length codes in a data string for one block (8 × 8 = 64 pixels), and the time required for run-length decoding (that is, to the bank memory). If the time required for writing) is 3 clocks for each piece of data, the time required for writing the data string for one block is 16 × 3 = 48 clocks. On the other hand, if the time required to read the data from the bank memory is 1 clock per data, the time required to read the data string for 1 block is 64 clocks. Therefore, the switching between the bank memory for writing and the bank memory for reading may be performed every 64 clocks as shown in FIG. 13, and the processing time is not wasted, so that high-speed processing can be performed.
【0028】しかし、画像データでは、そのブロックに
対応する画像がエッジなどの複雑な部分であるときは情
報量を多くし、変化がほとんどない単純な画像であると
きは情報量を少なくするのが一般的である。このため、
1ブロック分のデータ列の中に含まれる固定長・可変長
符号の個数は一定せず、画像の複雑さに応じて増減す
る。ここで、1ブロック分のデータ列の中に含まれるデ
ータがすべて固定長・可変長符号であった場合を考える
と、書き込みに要する時間は64×3=192クロック
となる。したがって、書き込みを行うバンクメモリと読
み出しを行うバンクメモリとの切り替えも、図14に示
したように、198クロック毎に行わなければならな
い。However, in the image data, the amount of information is increased when the image corresponding to the block is a complicated portion such as an edge, and the amount of information is reduced when the image is a simple image with almost no change. It is common. For this reason,
The number of fixed-length / variable-length codes included in the data string for one block is not fixed, but increases or decreases depending on the complexity of the image. Here, considering the case where all the data included in the data string for one block are fixed-length / variable-length codes, the time required for writing is 64 × 3 = 192 clocks. Therefore, switching between the bank memory for writing and the bank memory for reading must also be performed every 198 clocks, as shown in FIG.
【0029】画像データ全体で考えた場合には、1ブロ
ック分のデータ列の大部分が固定長・可変長符号で占め
られる確率はほとんどない。それにも拘らず、従来のラ
ンレングス復号化・スキャン順序変換器83では、書き
込みに要する時間が最長である場合(すなわち1ブロッ
ク分のデータ列中に含まれるデータがすべて固定長・可
変長符号である場合)にあわせてバンクメモリを切り替
える時間間隔を設定しなければならず、このことが処理
速度を遅くする原因となっていたのである。Considering the entire image data, there is almost no probability that the majority of the data string for one block will be occupied by the fixed length / variable length code. Nevertheless, in the conventional run-length decoding / scan order converter 83, when the time required for writing is the longest (that is, all the data included in the data string for one block are fixed-length / variable-length codes). In some cases), the time interval for switching the bank memory has to be set, which causes the processing speed to slow down.
【0030】本発明は、このような従来技術の欠点に鑑
みてなされたものであり、高速処理が可能な画像処理装
置を提供することを目的とする。The present invention has been made in view of the above drawbacks of the prior art, and an object of the present invention is to provide an image processing apparatus capable of high-speed processing.
【0031】[0031]
(1) 第1の発明に係わる画像処理装置は、少なくとも可
変長符号と区切り符号とを有する圧縮画像データを復号
化する複号化器を備えた画像処理装置において、前記復
号化器が、前記圧縮画像データと頭出しシフト量データ
とを入力し、この頭出しシフト量データにしたがって前
記圧縮画像データをシフトさせることにより被解読デー
タを生成する頭出しシフト部と、この頭出しシフト部か
ら取り込んだ前記被解読データを切り出すことにより、
解読データを生成する符号解読部と、前記頭出しシフト
部から取り込んだ前記被解読データからの前記区切り符
号の検出を複数の先頭ビット位置について同時に行い、
この検出結果に基いて前記シフト量データを生成する並
列区切り符号検出部と、を備えたことを特徴とする。 (2) 第2の発明に係わる画像処理装置は、複数のバンク
メモリと、これらのバンクメモリの読み出しおよび書き
込みを制御する制御回路とを備えたバッファメモリを有
する画像処理装置において、前記制御回路が、いずれか
のバンクメモリに対する書き込みが終了した時点で、既
に読み出しが終了した他のバンクメモリが存在する場合
には当該他のバンクメモリに対して次の書き込みを行わ
せ、既に読み出しが終了した他のバンクメモリが存在し
ない場合にはいずれかのバンクメモリの読み出しが終了
するまで待機した後に当該読み出しが終了したバンクメ
モリに対して書き込みを行わせるとともに当該待機の期
間中書き込みを禁止する書き込み制御手段と、いずれか
のバンクメモリからの読み出しが終了した時点で、既に
書き込みが終了した他のバンクメモリが存在する場合に
は当該他のバンクメモリに対して書き込みが行われた順
序にしたがって次の読み出しを行わせ、既に書き込みが
終了したバンクメモリが存在しない場合にはいずれかの
バンクメモリの書き込みが終了するまで待機した後に当
該書き込みが終了したバンクメモリに対して読み出しを
行わせるとともに当該待機の期間中読み出しを禁止する
読み出し制御手段と、を備えたことを特徴とする。(1) An image processing apparatus according to a first aspect of the present invention is an image processing apparatus including a decoder for decoding compressed image data having at least a variable length code and a delimiter code, wherein the decoder is the A compressed image data and cue shift amount data are input, and a cue shift unit that generates decoded data by shifting the compressed image data according to the cue shift amount data, and fetched from the cue shift unit. By cutting out the data to be decoded,
A code decoding unit for generating decoded data and detection of the delimiter code from the decoded data fetched from the cue shift unit are simultaneously performed for a plurality of head bit positions,
And a parallel delimiter code detection unit that generates the shift amount data based on the detection result. (2) An image processing device according to a second aspect of the present invention is an image processing device having a buffer memory including a plurality of bank memories and a control circuit for controlling reading and writing of these bank memories. , At the time when the writing to one of the bank memories is finished, if there is another bank memory that has already been read, the next write is performed to the other bank memory, and the reading is already finished. If there is no such bank memory, the write control means waits until the reading of one of the bank memories is completed and then writes to the bank memory whose reading is completed and prohibits the writing during the waiting period. Then, when the reading from one of the bank memories is completed, the writing has already been completed. If another bank memory exists, the next read operation is performed according to the order in which the other bank memory was written. If no bank memory has already been written, either bank After waiting until the writing of the memory is completed, the bank memory in which the writing has been completed is read, and a read control unit that prohibits the reading during the waiting period is provided.
【0032】[0032]
(1) 第1の発明によれば、並列区切り符号検出部が、頭
出しシフト部から被解読データを取り込んで、複数の先
頭ビット位置についての区切り符号の検出を同時に行う
こととしたので、この区切り符号の検出に要する時間を
短縮することができる。 (2) 第2の発明によれば、バンクメモリの切り替えの制
御を、書き込みに対しては、いずれかのバンクメモリに
対する書き込みが終了した時に読み出しが終了したバン
クメモリがある場合にはそのバンクメモリへの書き込み
を行うとともに読み出しが終了したバンクメモリがない
場合には読み出しが終了するまで待機した後に書き込み
を行うこととし、読み出しに対しては、いずれかのバン
クメモリからの読み出しが終了した時に書き込みが終了
したバンクメモリがある場合には書き込みの順序にした
がって次の読み出しを行うとともに書き込みが終了した
バンクメモリがない場合には書き込みが終了するまで待
機した後に読み出しを行うこととしたので、書き込みも
読み出しも行われない時間を低減させることができる。
そして、このようにして動作効率を向上させることによ
り、処理速度を向上させることができる。(1) According to the first invention, the parallel delimiter code detection unit takes in the data to be decoded from the cue shift unit and simultaneously detects the delimiter code for a plurality of head bit positions. The time required to detect the delimiter code can be shortened. (2) According to the second aspect of the present invention, the control for switching the bank memory is such that, for writing, if there is a bank memory that has finished reading when writing to any of the bank memories ends, If there is no bank memory that has been written to and read from it, wait until the read is completed and then write.When reading, write from any bank memory is completed. If there is a bank memory for which writing has been completed, the next read is performed in the order of writing, and if there is no bank memory for which writing has finished, it is decided to wait until the writing has finished and then read. The time during which reading is not performed can be reduced.
The processing speed can be improved by improving the operation efficiency in this way.
【0033】[0033]
【実施例】以下、本発明の一実施例に係わる画像処理装
置について説明する。DESCRIPTION OF THE PREFERRED EMBODIMENTS An image processing apparatus according to an embodiment of the present invention will be described below.
【0034】本実施例に係わる画像処理装置の全体構成
は、図8に示した従来の画像処理装置と同様であるが、
可変長・固定長復号化器およびランレングス復号化・ス
キャン順序変換器の構成が、従来の装置と異なってい
る。The overall structure of the image processing apparatus according to this embodiment is the same as that of the conventional image processing apparatus shown in FIG.
The configurations of the variable-length / fixed-length decoder and the run-length decoding / scan order converter are different from those of the conventional apparatus.
【0035】まず、本実施例に係わる可変長・固定長復
号化器について説明する。この可変長・固定長復号化器
は、第1の発明(請求項1)の「復号化器」に該当す
る。First, the variable length / fixed length decoder according to this embodiment will be described. This variable-length / fixed-length decoder corresponds to the "decoder" of the first invention (claim 1).
【0036】図1は、かかる可変長・固定長復号化器1
0の構成を概略的に示すブロック図である。FIG. 1 shows such a variable length / fixed length decoder 1.
It is a block diagram which shows the structure of 0 roughly.
【0037】同図において、頭出しシフト部11は、シ
フト量切り替え部14から入力した頭出しシフト量情報
D12に応じて、外部から入力した入力符号Di をシフト
し、これにより被解読符号D11を生成する。本実施例で
は、この頭出しシフト部11の1回のシフト動作でシフ
トできるビット数の最大値(以下「最大シフト量」と記
す)を、31ビットとする。また、被解読符号D11のビ
ット幅を64ビットとする。すなわち、最大シフト量を
Mとすると、被解読符号D11のビット幅は2×(M+
1)となる。In the figure, the cue shift section 11 shifts the input code D i inputted from the outside in accordance with the cue shift amount information D 12 inputted from the shift amount switching section 14, thereby decoding the decoded code. Generate D 11 . In this embodiment, the maximum value of the number of bits that can be shifted by one shift operation of the cue shift unit 11 (hereinafter referred to as "maximum shift amount") is 31 bits. The bit width of the code to be decoded D 11 is 64 bits. That is, when the maximum shift amount is M, the bit width of the decoded code D 11 is 2 × (M +
It becomes 1).
【0038】符号解読部12は、被解読符号D11を入力
して、この被解読符号D11の先頭から可変長符号のパタ
ーン検出・解読と、固定長符号の切り出しとを行う。そ
して、これによって得られたランレングス符号を解読結
果Do として出力するとともに、解読・切り出しが行わ
れた可変長符号或いは固定長符号のパターン長を、頭出
しシフト量情報D12′として出力する。なお、この符号
解読部12は、後述するように、頭出しシフト部11が
出力した64ビットの被解読符号D11のうち、下位32
ビットのみを入力して、可変長・固定長符号の解読・切
り出しを行う。The code decoding unit 12 inputs the target decryption code D 11, performs the pattern detection and decoding of the variable length code from the head of the object to be decrypted code D 11, and a cut-out of the fixed-length code. Then, the run length code obtained thereby is output as the decoding result D o , and the pattern length of the variable length code or the fixed length code which has been decoded / cut out is output as the cue shift amount information D 12 ′. . As will be described later, the code decoding unit 12 selects the lower 32 bits of the 64-bit decoded code D 11 output by the cue shift unit 11.
Decodes and cuts out variable-length / fixed-length codes by inputting only bits.
【0039】並列区切り符号検出部13は、頭出しシフ
ト部11から取り込んだ被解読符号D11からのスタート
コードの検出を31ビットの先頭ビット位置について同
時に行い、この検出結果に基いて区切り符号検出シフト
量情報D12″、制御信号D13およびシフト量切り替え信
号D14を生成して出力する。The parallel delimiter code detector 13 simultaneously detects the start code from the decoded code D 11 fetched from the cue shifter 11 at the head bit position of 31 bits, and detects the delimiter code based on this detection result. The shift amount information D 12 ″, the control signal D 13, and the shift amount switching signal D 14 are generated and output.
【0040】シフト量切り替え部14は、符号解読装置
12が出力した頭出しシフト量情報D12′と、後述の並
列区切り符号検出部13が出力した区切り符号検出シフ
ト量情報D12″とを入力する。そして、並列区切り符号
検出部13から出力されたシフト量切り替え信号D14の
制御により、シフト量情報D12′,D12″のいずれか一
方を、頭出しシフト量情報D12として出力する。The shift amount switching unit 14 inputs the cue shift amount information D 12 ′ output by the code decoding device 12 and the delimiter code detection shift amount information D 12 ″ output by the parallel delimiter code detecting unit 13 described later. Then, by controlling the shift amount switching signal D 14 output from the parallel delimiter code detection unit 13, either one of the shift amount information D 12 ′ and D 12 ″ is output as the cue shift amount information D 12 . .
【0041】次に、頭出しシフト部11および並列区切
り符号検出部13の内部構成の一例について、図2を用
いて説明する。Next, an example of the internal configuration of the cue shift section 11 and the parallel delimiter code detection section 13 will be described with reference to FIG.
【0042】図2に示した頭出しシフト部11におい
て、切り替え器21−1の一方の入力からは入力符号が
入力され、他方の入力からはレジスタ22−1の出力値
が入力される。一方、この切り替え器21−1の出力
は、レジスタ22−1に入力される。また、切り替え器
21−2は、レジスタ22−1,22−2の出力値を入
力する。そして、この切り替え器21−2の出力は、レ
ジスタ22−2に入力される。さらに、切り替え器21
−3はレジスタ22−2,22−3の出力値を入力し、
そして、この切り替え器21−3出力はレジスタ22−
3に入力される。ここで、これらのレジスタ22−1〜
22−3としては、それぞれ32ビットのシフトレジス
タが使用されている。すなわち、頭出しシフト部11の
最大シフト量をMとすると、レジスタ22−1〜22−
3としてはM+1ビットのものを使用する。また、切り
替え器21−1〜21−3の出力を切り替えるための制
御信号としては、後述するシフト量累積加算器24が出
力する桁あふれ信号D25が使用される。In the cue shift unit 11 shown in FIG. 2, the input code is input from one input of the switch 21-1 and the output value of the register 22-1 is input from the other input. On the other hand, the output of the switch 21-1 is input to the register 22-1. The switch 21-2 inputs the output values of the registers 22-1 and 22-2. Then, the output of the switch 21-2 is input to the register 22-2. Further, the switching device 21
-3 inputs the output values of the registers 22-2 and 22-3,
The output of the switch 21-3 is output to the register 22-
Input to 3. Here, these registers 22-1.
As 22-3, 32-bit shift registers are used. That is, assuming that the maximum shift amount of the cue shift unit 11 is M, the registers 22-1 to 22-
As for 3, M + 1 bits are used. An overflow signal D 25 output from the shift amount cumulative adder 24, which will be described later, is used as a control signal for switching the outputs of the switchers 21-1 to 21-3.
【0043】シフト量累積加算器23は、シフト量切り
替え部14から入力された頭出しシフト量情報D12とシ
フト量累積レジスタ24の出力値とを加算することによ
り、上述の桁あふれ信号D25およびシフト回路用シフト
量D26とを生成する。また、シフト量累積レジスタ24
は、このシフト回路用シフト量D26を入力する。なお、
シフト量累積加算器23およびシフト量累積レジスタ2
4のビット幅は、それぞれ、頭出しシフト部11の最大
シフト量をMとして、log2 (M+1)ビットとす
る。The shift amount cumulative adder 23 adds the cue shift amount information D 12 input from the shift amount switching unit 14 and the output value of the shift amount cumulative register 24 to obtain the overflow signal D 25 described above. And the shift amount D 26 for the shift circuit are generated. In addition, the shift amount accumulation register 24
Inputs the shift amount D 26 for the shift circuit. In addition,
Shift amount cumulative adder 23 and shift amount cumulative register 2
The bit width of 4 is log 2 (M + 1) bits, where M is the maximum shift amount of the cue shifter 11.
【0044】シフト回路25は、切り替え器21−1〜
21−3の出力データD21〜D23を並列に取り込む。す
なわち、このシフト回路25の入力のビット幅は96ビ
ット(最大シフト量をMとすると3(M+1)ビット)
となる。そして、シフト量累積加算器24が出力するシ
フト回路用シフト量D26の制御にしたがって、このデー
タをシフトし、64ビット(すなわち、2(M+1)ビ
ット)のデータD27として出力する。このシフト回路2
5の出力データは、レジスタ26を介し、被解読符号D
11として出力される。The shift circuit 25 includes the switches 21-1 to 21-1.
Output data D 21 to D 23 of 21-3 are fetched in parallel. That is, the bit width of the input of the shift circuit 25 is 96 bits (3 (M + 1) bits when the maximum shift amount is M).
Becomes Then, this data is shifted under the control of the shift amount D 26 for the shift circuit output from the shift amount cumulative adder 24, and is output as 64-bit (that is, 2 (M + 1) -bit) data D 27 . This shift circuit 2
The output data of No. 5 is sent to the decoded code D through the register 26.
It is output as 11 .
【0045】このような構成によれば、切り替え器21
−1に入力された入力符号をレジスタ22−1〜22−
3で順次シフトさせて96ビットの出力データD21〜D
23として出力し、シフト回路25で頭出しシフト量情報
D12に応じてシフトさせつつ、被解読符号D11の出力を
行うことができる。According to such a configuration, the switch 21
-1 to the input code input to registers 22-1 to 22-
96 bits of output data D 21 to D sequentially shifted by 3
It is possible to output the decoded code D 11 while outputting it as 23 and shifting it according to the cue shift amount information D 12 in the shift circuit 25.
【0046】一方、図2に示した並列区切り符号検出部
13は、31個(すなわち最大シフト量Mと同数)の区
切り符号検出器27−1〜27−31を有している。こ
れらの区切り符号検出器27−1〜27−31は、それ
ぞれ、被解読符号D11の第1ビット〜第31ビットを先
頭ビットとした24ビットデータを入力する。すなわ
ち、区切り符号検出器27−1は第1ビット〜第24ビ
ットを入力し、区切り符号検出器27−2は第2ビット
〜第25ビットを入力し、以下同様にして、区切り符号
検出器27−Mは第31ビット〜第54ビットを入力す
る。そして、各区切り符号検出器27−1〜27−M
は、入力した24ビットデータを「000001H」と
比較し、比較結果を出力する。On the other hand, the parallel delimiter code detector 13 shown in FIG. 2 has 31 (that is, the same number as the maximum shift amount M) delimiter code detectors 27-1 to 27-31. These delimiter code detectors 27-1 to 27-31 respectively input 24-bit data having the first bit to the 31st bit of the decoded code D 11 as the leading bits. That is, the delimiter code detector 27-1 inputs the 1st to 24th bits, the delimiter code detector 27-2 inputs the 2nd to 25th bits, and so on. -M inputs the 31st bit to the 54th bit. Then, each delimiter code detector 27-1 to 27-M
Compares the input 24-bit data with "000001H" and outputs the comparison result.
【0047】制御回路28は、各区切り符号検出器27
−1〜27−31から、比較結果を入力する。そして、
これらの比較結果のいずれかがスタートコードの検出を
示している場合には、どの区切り符号検出器がスタート
コードを検出したかにより当該スタートコードの位置を
判断する。そして、この判断結果および上述の比較結果
に基いて、区切り符号検出シフト量情報D12″、制御信
号D13およびシフト量切り替え信号D14を生成する。The control circuit 28 controls each delimiter code detector 27.
Input the comparison result from -1 to 27-31. And
If any of these comparison results indicates the detection of the start code, the position of the start code is determined by which delimiter code detector detected the start code. Then, based on this judgment result and the above-mentioned comparison result, the delimiter code detection shift amount information D 12 ″, the control signal D 13, and the shift amount switching signal D 14 are generated.
【0048】次に、本実施例の可変長・固定長復号化器
10の動作について、図1を参照しつつ、詳細に説明す
る。Next, the operation of the variable length / fixed length decoder 10 of this embodiment will be described in detail with reference to FIG.
【0049】まず、スタートコードの検出を行うための
動作について説明する。First, the operation for detecting the start code will be described.
【0050】スタートコードの検出を行う場合、並列区
切り符号検出部13は、まず、シフト量切り替え信号D
14を出力し、シフト量切り替え部12に区切り符号検出
シフト量D12″を選択させる。そして、頭出しシフト部
11から64ビットの被解読符号D11を入力し、第1ビ
ット〜第31ビットのそれぞれを先頭ビットとした場合
について、当該被解読符号D11の値が「000001
H」(この値は2進数では24ビットとなる)と一致す
るか否かを、同時に判断する。すなわち、図3のに示
したような64ビットの被解読符号D11のうち、第1ビ
ット〜第24ビット、第2ビット〜第25ビット、第3
ビット〜第26ビット・・・第31ビット〜第54ビッ
トのそれぞれについて、「000001H」との比較を
行う。When the start code is detected, the parallel delimiter code detector 13 first shifts the shift amount switching signal D.
14 is output, and the shift amount switching unit 12 is caused to select the delimiter code detection shift amount D 12 ″. Then, the 64-bit decoded code D 11 is input from the cue shift unit 11 and the first bit to the 31st bit. When each of the above is used as the leading bit, the value of the decoded code D 11 is “000001”.
At the same time, it is determined whether or not it matches "H" (this value is 24 bits in binary). That is, of the 64-bit decoded code D 11 as shown in FIG. 3, the 1st to 24th bits, the 2nd to 25th bits, and the 3rd bit
Bits to 26th bit ... Each of 31st bit to 54th bit is compared with “000001H”.
【0051】そして、「000001H」に一致する被
解読符号列が存在していなければ、区切り符号検出シフ
ト量D12″として、「31ビット」を出力する。ここ
で、この情報値「31ビット」は、頭出しシフト部11
の最大シフト量と一致する。すなわち、本実施例で、並
列区切り符号検出部13が同時に行うことができる区切
り符号を31通りとしたのは、頭出しシフト部11の最
大シフト量に合わせたものである。[0051] Then, if not present the decryption code string matching "000001H", as delimiter detect the shift amount D 12 ", outputs" 31 bits ". Here, this information value “31 bits” is used for the cue shift unit 11
Matches the maximum shift amount of. That is, in the present embodiment, the 31 delimiter codes that can be simultaneously performed by the parallel delimiter code detection section 13 are set in accordance with the maximum shift amount of the cue shift section 11.
【0052】この区切り符号検出シフト量D12″は、シ
フト量切り替え部14を介し、頭出しシフト量情報D12
として、頭出しシフト部11に入力される。これによ
り、頭出しシフト部11が出力する被解読符号D11は、
図3にで示すように、31ビットだけシフトされる。This delimiter code detection shift amount D 12 ″ is sent to the cue shift amount information D 12 via the shift amount switching unit 14.
Is input to the cue shift unit 11. As a result, the decoded code D 11 output by the cue shift unit 11 is
As shown in FIG. 3, it is shifted by 31 bits.
【0053】そして、1回目の検出の場合と同様、並列
区切り符号検出部13は、シフト後の被解読符号D11の
第1ビット〜第31ビットのそれぞれを先頭ビットとし
た場合について、「000001H」と一致するか否か
を判断する。以下、「000001H」が検出されるま
で、同様の動作を繰り返す。Then, as in the case of the first detection, the parallel delimiter code detection unit 13 determines "000001H" in the case where the first bit to the 31st bit of the decoded code D 11 after the shift are set as the leading bits. It is determined whether or not it matches. Hereinafter, the same operation is repeated until "000001H" is detected.
【0054】ここで、図3にでに示すように、「00
0001H」が検出されると、並列区切り符号検出装置
13は、この「000001H」に該当する部分を切り
出すために、被解読符号D11をさらにシフトさせる。す
なわち、図3のに示した場合を例に採って説明する
と、被解読符号D11の第14ビット〜第37ビットが
「000001H」と一致しているので、区切り符号検
出シフト量D12″としては「13ビット」が出力され
る。これにより、頭出しシフト部11が出力する被解読
符号D11は、13ビットだけシフトされる。このように
して、図3にで示すような、スタートコードから始ま
る被解読符号D11を得ることができる。Here, as indicated by in FIG. 3, "00"
When "0001H" is detected, the parallel delimiter code detection device 13 further shifts the code to be decoded D 11 in order to cut out a portion corresponding to "000001H". That is, taking the case shown in FIG. 3 as an example, since the 14th bit to the 37th bit of the decoded code D 11 match “000001H”, the delimiter code detection shift amount D 12 ″ is set. "13 bits" is output. As a result, the decoded code D 11 output by the cue shifter 11 is shifted by 13 bits. In this way, the decoded code D 11 starting from the start code as shown in FIG. 3 can be obtained.
【0055】次に、可変長・固定長符号の解読を行う際
の動作(すなわちランレングス符号を生成するための動
作)について説明する。Next, the operation for decoding variable-length / fixed-length codes (that is, the operation for generating run-length codes) will be described.
【0056】まず、符号解読部12が、可変長・固定長
符号の解読・切り出しを開始する。ここで、上述したよ
うに、符号解読部12は被解読符号D11の下位32ビッ
トのみを入力する。したがって、図3にで示したよう
な被解読符号D11が頭出しシフト部11から出力されて
いる場合には、符号解読部12はそのまま可変長・固定
長符号の解読・切り出しを開始することができる。First, the code decoding unit 12 starts decoding / cutting out a variable length / fixed length code. Here, as described above, the code decoding unit 12 inputs only the lower 32 bits of the code to be decoded D 11 . Therefore, when the code to be decoded D 11 as shown in FIG. 3 is output from the cue shift section 11, the code decoding section 12 should start decoding / cutting out the variable length / fixed length code as it is. You can
【0057】この可変長・固定長符号の解読は、従来と
同様にして行われる(図10参照)。そして、1回の解
読を行うたびに、解読結果Do を出力する。また、これ
と併せて、解読された可変長符号或いは固定長符号のパ
ターン長を、頭出しシフト量情報D12′として出力す
る。これにより、頭出しシフト部11は、この頭出しシ
フト量情報D12′(すなわち頭出しシフト量情報D12)
を入力すると、この頭出しシフト量情報D12の値にした
がって、出力する被解読符号D11をシフトさせる。以
下、同様にして、可変長・固定長符号の解読・切り出し
が続行される。このようにして生成された解読結果のデ
ータ列(ランレングス符号)は、ランレングス復号化・
スキャン順序変換器(後述)に送られる。Decoding of this variable-length / fixed-length code is performed in the same manner as in the conventional case (see FIG. 10). Then, every time the decoding is performed, the decoding result D o is output. In addition to this, the pattern length of the decoded variable length code or fixed length code is output as the cue shift amount information D 12 ′. As a result, the cue shift unit 11 causes the cue shift amount information D 12 ′ (that is, cue shift amount information D 12 ).
Is input, the decoded code D 11 to be output is shifted according to the value of the cue shift amount information D 12 . Thereafter, similarly, decoding / cutout of variable-length / fixed-length code is continued. The data string (run-length code) of the decoding result generated in this way is run-length decoded and
It is sent to the scan order converter (described later).
【0058】このようにして可変長・固定長符号の解読
・切り出しが行われている間も、並列区切り符号検出部
13は、スタートコードの検出を続行している。そし
て、可変長・固定長符号の解読動作中にスタートコード
が検出された場合には、並列区切り符号検出部13は制
御信号D13によって符号解読部12を一旦停止させ、シ
フト量切り替え信号D14によりシフト両切り替え部12
に頭出しシフト量情報D12′を選択させて、被解読符号
D11がスタートコードから始まるようにシフトさせる。While the variable length / fixed length code is being deciphered / cut out in this manner, the parallel delimiter code detecting section 13 continues to detect the start code. Then, when the start code is detected during the decoding operation of the variable length / fixed length code, the parallel delimiter code detecting section 13 temporarily stops the code decoding section 12 by the control signal D 13 and shift amount switching signal D 14 Shift both switching unit 12
To select the cue shift amount information D 12 ′, and shift the decoded code D 11 to start from the start code.
【0059】また、可変長・固定長符号の解読中に、可
変長符号テーブル(図10(c)参照)や固定長符号テ
ーブル(図示せず)に無い符号パターンが現れた場合に
は、符号解読部12は、何等かの解読エラーが発生した
ものと判断し、符号解読部12による可変長・固定長符
号の解読を中止して、次のスタートコードの検出を行
う。そして、次のスタートコードが検出されると、上述
したような可変長・固定長符号の解読を再開する。ここ
で、本実施例の可変長・固定長復号化器10では、解読
後のビットが32ビット分、並列区切り符号検出部13
に格納されているので、この32ビットも含めて次のス
タートコードの検出を行うことができる。したがって、
スタートコードの一部がすでに誤解読に使用されていた
ような場合でも、そのスタートコードを失うことなくエ
ラー復帰を行うことができる。したがって、解読エラー
の発生時に捨てられる画像データ量を、従来よりも少な
くすることができる。If a code pattern that does not exist in the variable length code table (see FIG. 10C) or the fixed length code table (not shown) appears during decoding of the variable length / fixed length code, the code The decoding unit 12 determines that some decoding error has occurred, stops the decoding of the variable length / fixed length code by the code decoding unit 12, and detects the next start code. Then, when the next start code is detected, the decoding of the variable length / fixed length code as described above is restarted. Here, in the variable-length / fixed-length decoder 10 of the present embodiment, 32 bits after decoding, the parallel delimiter code detecting unit 13
Since it is stored in, the next start code including the 32 bits can be detected. Therefore,
Even if part of the start code has already been used for erroneous decoding, error recovery can be performed without losing the start code. Therefore, the amount of image data to be discarded when a decoding error occurs can be reduced as compared with the conventional case.
【0060】なお、可変長・固定長復号化器10が解読
結果(ランレングス符号)を出力するタイミングは、ラ
ンレングス復号化・スキャン順序変換器から入力される
書き込み禁止信号等によって制御されるが、詳細につい
ては後述する。The timing at which the variable length / fixed length decoder 10 outputs the decoding result (run length code) is controlled by a write inhibit signal or the like input from the run length decoding / scan order converter. The details will be described later.
【0061】次に、本実施例に係わるランレングス復号
化・スキャン順序変換器について説明する。このランレ
ングス復号化・スキャン順序変換器は、第2の発明(請
求項2)の「バッファメモリ」に該当する。Next, the run-length decoding / scan order converter according to the present embodiment will be described. This run length decoding / scan order converter corresponds to the "buffer memory" of the second invention (claim 2).
【0062】図4は、かかるランレングス復号化・スキ
ャン順序変換器40の構成を概略的に示すブロック図で
ある。FIG. 4 is a block diagram schematically showing the configuration of the run-length decoding / scan order converter 40.
【0063】同図において、メモリ部41内のバンクメ
モリ41a,41bは、8×8画素(すなわち1ブロッ
ク)に相当する書き込み領域を有している。そして、こ
れらの書き込み領域は、データの書き込みが行われる前
には、すべてゼロに初期化される。In the figure, the bank memories 41a and 41b in the memory section 41 have a writing area corresponding to 8 × 8 pixels (that is, one block). Then, these write areas are all initialized to zero before data is written.
【0064】書き込みアドレス発生部42は、加算器4
2aとレジスタ42bとを備えている。ここで、レジス
タ42bの出力は、データの書き込みが行われる前には
「0」に初期化される。加算器42aは、レジスタ42
bの出力と、前段の可変長・固定長復号化器10(図1
参照)から入力したデータ列(ランレングス符号)のゼ
ロランとを入力する。そして、このレジスタ出力とゼロ
ランとを加算した結果を、書き込みアドレスSW とし
て、メモリ部41に送る。これにより、ランレングス符
号の「レベル」信号を、バンクメモリ41aまたはバン
クメモリ41bのいずれか(バンク選択信号RSEL によ
って指定される)の該当番地に順次書き込むことができ
る。そして、上述のように「レベル」信号が書き込まれ
た番地以外は「0」に初期化されているので、この書き
込みによってランレングス復号化を行うことができる。The write address generating section 42 includes an adder 4
2a and a register 42b. Here, the output of the register 42b is initialized to "0" before writing data. The adder 42a includes a register 42
b and the variable-length / fixed-length decoder 10 (FIG.
Input) and the zero run of the data string (run length code) input from (Ref.). Then, the result of adding this register output and zero run is sent to the memory unit 41 as the write address S W. As a result, the "level" signal of the run length code can be sequentially written in the corresponding address of either the bank memory 41a or the bank memory 41b (designated by the bank selection signal R SEL ). Then, as described above, since the addresses other than the address in which the "level" signal is written are initialized to "0", run length decoding can be performed by this writing.
【0065】読み出しアドレス発生部43は、カウンタ
43aとアドレス変換器43bとを備えている。そし
て、このアドレス変換器43bから読み出しアドレスS
R を出力して、バンクメモリ41aまたはバンクメモリ
41b(バンク選択信号RSELによって指定される)に
書き込まれたデータ列をスキャン順序変換しながら読み
出すことができ、出力データとしての量子化DCT係数
(図7(a)参照)を得ることができる。また、この読
み出しの際に、上述の読み出しアドレスSR を書き込み
アドレスSR ′として順次「0」を書き込むことによ
り、次回の書き込みのための初期化を行うことができ
る。The read address generator 43 comprises a counter 43a and an address converter 43b. Then, the read address S is read from the address converter 43b.
By outputting R , the data string written in the bank memory 41a or the bank memory 41b (designated by the bank selection signal R SEL ) can be read while the scan order is converted, and the quantized DCT coefficient ( FIG. 7A) can be obtained. Further, at the time of this reading, by sequentially writing "0" using the above-mentioned read address S R as the write address S R ′, initialization for the next write can be performed.
【0066】コントローラ(第2の発明の「書き込み制
御手段」および「読み出し制御手段」に該当する)44
は、上述のように、バンク選択信号RSEL を用いてデー
タの書き込み/読み出しを行うバンクメモリを選択す
る。本実施例では、バンク選択信号RSEL が「0」のと
きはバンクメモリ41aの書き込みとバンクメモリ41
bの読み出しとが選択され、且つ、バンク選択信号R
SEL が「1」のときはバンクメモリ41aの読み出しと
バンクメモリ41bの書き込みとが選択されるものとす
る。また、このコントローラ44は、前段の可変長・固
定長復号化器10に対する書き込み禁止信号WB の出力
およびこの可変長・固定長復号化器10からの書き込み
終了信号WEND の入力により、書き込みタイミングの制
御を行う。さらに、これと併せて、後段の逆量子化器5
0に対する読み出し禁止信号RB の出力およびこの可変
長・固定長復号化器10からの読み出し終了信号REND
の入力により、読み出しタイミングの制御を行う。Controller (corresponds to "writing control means" and "reading control means" of the second invention) 44
As described above, the bank select signal R SEL is used to select the bank memory for writing / reading data. In this embodiment, when the bank selection signal R SEL is “0”, the writing of the bank memory 41a and the bank memory 41 are performed.
b read is selected, and the bank selection signal R
When SEL is "1", reading of the bank memory 41a and writing of the bank memory 41b are selected. Further, the controller 44 outputs the write inhibit signal W B to the variable-length / fixed-length decoder 10 in the preceding stage and the write end signal W END from the variable-length / fixed-length decoder 10 to input the write timing. Control. Furthermore, in addition to this, the inverse quantizer 5 in the subsequent stage
Output of read prohibition signal R B for 0 and read end signal R END from the variable length / fixed length decoder 10
The read timing is controlled by inputting.
【0067】次に、本実施例に係わるランレングス復号
化・スキャン順序変換器40の動作について説明する。Next, the operation of the run length decoding / scan order converter 40 according to this embodiment will be described.
【0068】図5は、かかるランレングス復号化・スキ
ャン順序変換器40の動作を説明するための状態遷移図
である。FIG. 5 is a state transition diagram for explaining the operation of the run length decoding / scan order converter 40.
【0069】まず、初期状態においては、バンクメモリ
41a,41bには何も書き込まれていないので、コン
トローラ44は、読み出し禁止信号RB を「1」(読み
出し禁止状態)とし、書き込み禁止信号WB を「0」
(書き込み可能状態)とする。また、バンク選択信号R
SEL は「0」として、書き込みとしてバンクメモリ41
aが選択された状態にしておくこととする。First, in the initial state, since nothing is written in the bank memories 41a and 41b, the controller 44 sets the read inhibit signal R B to "1" (read inhibit state), and the write inhibit signal W B. "0"
(Writable state). In addition, the bank selection signal R
SEL is set to “0”, and the bank memory 41 is set for writing.
It is assumed that a is selected.
【0070】ここで、前段の可変長・固定長復号化器1
0が、バンクメモリ41aへのランレングス符号の書き
込みを終了すると、コントローラ44には書き込み終了
信号WEND =1が入力される。これにより、図5に状態
Aとして示したように、コントローラ44は、読み出し
禁止信号RB を「0」(読み出し可能状態)とし、バン
ク選択信号RSEL を反転させる(図5では「RSEL =^
RSEL 」と記す)。すなわち、ここでは、バンク選択信
号RSEL は、「1」(バンクメモリ41aが読み出し状
態でバンクメモリ41bが書き込みの状態)となる。ま
た、この時点ではバンクメモリ41bには何も書き込ま
れていないので、書き込み禁止信号WBは「0」(書き
込み可能状態)に維持する。Here, the variable length / fixed length decoder 1 in the preceding stage
When 0 finishes writing the run length code into the bank memory 41a, the write end signal W END = 1 is input to the controller 44. As a result, as shown as state A in FIG. 5, the controller 44 sets the read inhibit signal R B to “0” (readable state) and inverts the bank selection signal R SEL (“R SEL = in FIG. 5”). ^
R SEL "). That is, here, the bank selection signal R SEL becomes "1" (state in which the bank memory 41a is in the reading state and the bank memory 41b is in the writing state). At this point, nothing is written in the bank memory 41b, so that the write inhibit signal W B is maintained at “0” (writable state).
【0071】その後、状態Bに遷移し、書き込み終了信
号WEND が「1」となるか、或いは、読み出し終了信号
REND が「1」となるまで、書き込み禁止信号WB =
0、読み出し禁止信号RB =0で、バンク選択信号R
SEL の信号値をそのまま維持する状態(図5では「R
SEL =RSEL 」と記す)を続ける。Thereafter, the state is changed to the state B, and the write inhibit signal W B = until the write end signal W END becomes “1” or the read end signal R END becomes “1”.
0, read inhibit signal R B = 0, bank select signal R
A state in which the signal value of SEL is maintained as it is (“R” in FIG. 5).
SEL = R SEL ”).
【0072】ここで、状態Aまたは状態Bにおいて、書
き込み終了信号WEND =1が再度入力されると、バンク
メモリ41a,41bはともに書き込みが行われた状態
となるので、状態Cに遷移し、書き込みを禁止するため
に書き込み禁止信号WB を「1」とする。このとき、読
み出し禁止信号RB およびバンク選択信号RSEL の信号
値は、RB =0、RSEL =RSEL のままとする。この状
態Cは、読み出し終了信号REND =1が入力されるまで
維持される。そして、読み出し終了信号REND=1が入
力されると、上述の状態Aに遷移する。Here, when the write end signal W END = 1 is input again in the state A or the state B, both the bank memories 41a and 41b are in the written state, so that the state transits to the state C. The write inhibit signal W B is set to “1” to inhibit the write. At this time, the signal values of the read inhibit signal R B and the bank selection signal R SEL are kept at R B = 0 and R SEL = R SEL . This state C is maintained until the read end signal R END = 1 is input. Then, when the read end signal R END = 1 is input, the state transits to the above state A.
【0073】一方、状態Aまたは状態Bにおいて、読み
出し終了信号REND =1が入力されると、バンクメモリ
41a,41bはともに読み出しを行うことができない
状態となるので、状態Dに遷移し、読み出し禁止信号R
B を「1」にすることにより読み出しを禁止する。この
とき、書き込み禁止信号WB およびバンク選択信号R
SEL の信号値は、WB =0、RSEL =RSEL のままとす
る。この状態Dは、書き込み終了信号WEND =1が入力
されるまで維持される。そして、書き込み終了信号W
END =1が入力されると、上述の状態Aに遷移する。On the other hand, in the state A or the state B, when the read end signal R END = 1 is input, both the bank memories 41a and 41b are in a state in which the read cannot be performed, so the state transits to the state D and the read is performed. Prohibition signal R
Reading is prohibited by setting B to "1". At this time, the write inhibit signal W B and the bank selection signal R
The signal value of the SEL is left W B = 0, R SEL = R SEL. This state D is maintained until the write end signal W END = 1 is input. Then, the write end signal W
When END = 1 is input, the state A is transited to.
【0074】図6は、バンクメモリ41a,41b(図
5参照)の書き込み/読み出しの切り替えタイミングを
示すタイミングチャートである。図6からわかるよう
に、本実施例では、バンクメモリ41a,41bのいず
れかについて書き込み或いは読み出しが終了すると、他
のバンクメモリが書き込み/読み出し可能状態のときは
直ちに書き込み/読み出しの切り替えを行うことがで
き、書き込み/読み出しができない状態のときは書き込
み/読み出し可能状態となるまで待機した後に書き込み
/読み出しの切り替えを行うことができるので、従来の
ランレングス復号化・スキャン順序変換器の場合(図4
参照)と比較して処理時間を短縮することができる。FIG. 6 is a timing chart showing the write / read switching timing of the bank memories 41a and 41b (see FIG. 5). As can be seen from FIG. 6, in the present embodiment, when the writing or reading is completed for any of the bank memories 41a and 41b, the writing / reading is switched immediately when the other bank memory is in the writable / readable state. In the case of the conventional run-length decoding / scan order converter, it is possible to switch between writing / reading after waiting until the state becomes writable / readable when writing / reading is not possible. Four
The processing time can be shortened as compared with
【0075】なお、本実施例では、バンクメモリを2個
備えた場合について説明したが、3個以上のバンクメモ
リを備えることとしてもよいことはもちろんである。バ
ンクメモリを3個以上設けることとすれば、処理時間を
さらに短縮することができる。In this embodiment, the case where two bank memories are provided has been described, but it goes without saying that three or more bank memories may be provided. If three or more bank memories are provided, the processing time can be further shortened.
【0076】[0076]
【発明の効果】以上詳細に説明したように、本発明によ
れば、並列区切り符号検出部で複数の先頭ビット位置に
ついての区切り符号の検出を同時に行うこととしたので
複号化器における処理時間を短縮することができ、ま
た、バンクメモリのいずれかについて書き込み或いは読
み出しが終了すると該バンクメモリに対する書き込み/
読み出しの切り替えを他のバンクメモリの状態に応じて
直ちに行うこととしたのでバッファメモリにおける処理
時間を短縮することができる。As described above in detail, according to the present invention, the parallel delimiter code detection unit simultaneously detects delimiter codes for a plurality of leading bit positions, so that the processing time in the decryptor is increased. Can be shortened, and when writing or reading is completed for any of the bank memories, the write / read operation for the bank memory is completed.
Since the reading is switched immediately according to the states of the other bank memories, the processing time in the buffer memory can be shortened.
【0077】したがって、本発明によれば、高速処理が
可能な画像処理装置を提供することができる。Therefore, according to the present invention, it is possible to provide an image processing apparatus capable of high speed processing.
【図1】本発明の一実施例に係わる復号化器の概略構成
を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a decoder according to an embodiment of the present invention.
【図2】図1に示した復号化器における頭出しシフト部
および並列区切り符号検出部の内部構成の一例を示すブ
ロック図である。2 is a block diagram showing an example of an internal configuration of a cue shift unit and a parallel delimiter code detection unit in the decoder shown in FIG.
【図3】図1に示した復号化器の動作を説明するための
図である。FIG. 3 is a diagram for explaining the operation of the decoder shown in FIG.
【図4】本発明の一実施例に係わるバッファメモリ(ラ
ンレングス復号化・スキャン順序変換器)の構成を概略
的に示すブロック図である。FIG. 4 is a block diagram schematically showing the configuration of a buffer memory (run length decoding / scan order converter) according to an embodiment of the present invention.
【図5】図4に示したバッファメモリの動作を説明する
ための状態遷移図である。5 is a state transition diagram for explaining the operation of the buffer memory shown in FIG.
【図6】図4に示したバッファメモリの動作を説明する
ためのタイミングチャートである。6 is a timing chart for explaining the operation of the buffer memory shown in FIG.
【図7】スキャン順序変換およびランレングス符号化に
ついて説明する図であり、(a)は直交変換および量子
化を施した後の画素データからなるブロックを示す概念
図、(b)は(a)の画素データを並べかえて読み取っ
た後のデータ列を示す概念図、(c)は(b)のデータ
列を変換することによって得られたランレングス符号を
示す概念図である。7A and 7B are diagrams illustrating scan order conversion and run-length encoding, in which FIG. 7A is a conceptual diagram showing a block made up of pixel data after orthogonal transformation and quantization, and FIG. 2C is a conceptual diagram showing a data string after rearranging and reading the pixel data of FIG. 6C, and FIG. 9C is a conceptual diagram showing a run-length code obtained by converting the data string of FIG.
【図8】従来の画像処理装置の一構成例を概略的に示す
ブロック図である。FIG. 8 is a block diagram schematically showing a configuration example of a conventional image processing apparatus.
【図9】図8に示した可変長・固定長復号化器の内部構
成を概略的に示すブロック図である。9 is a block diagram schematically showing an internal configuration of the variable length / fixed length decoder shown in FIG. 8. FIG.
【図10】図9に示した可変長・固定長復号化器の動作
を説明するための図であり、(a)は解読動作を説明す
るための図、(b)はスタートコードを示す図、(c)
は可変長符号テーブルを示す図である。10A and 10B are diagrams for explaining the operation of the variable-length / fixed-length decoder shown in FIG. 9, where FIG. 10A is a diagram for explaining a decoding operation, and FIG. 10B is a diagram showing a start code. , (C)
FIG. 6 is a diagram showing a variable length code table.
【図11】図9に示した可変長・固定長復号化器のスタ
ートコード検出動作を説明するためのフローチャートで
ある。11 is a flow chart for explaining a start code detecting operation of the variable length / fixed length decoder shown in FIG. 9. FIG.
【図12】図8に示したランレングス復号化・スキャン
順序変換器の内部構成を概略的に示すブロック図であ
る。12 is a block diagram schematically showing an internal configuration of the run-length decoding / scan order converter shown in FIG.
【図13】図12に示したランレングス復号化・スキャ
ン順序変換器の動作を説明するためのタイミングチャー
トである。13 is a timing chart for explaining the operation of the run-length decoding / scan order converter shown in FIG.
【図14】図12に示したランレングス復号化・スキャ
ン順序変換器の動作を説明するためのタイミングチャー
トである。FIG. 14 is a timing chart for explaining an operation of the run-length decoding / scan order converter shown in FIG.
10 可変長・固定長復号化器 11 頭出しシフト部 12 符号解読部 13 並列区切り符号検出部 14 シフト量切り替え部 21−1〜21−3 切り替え器 22−1〜22−3 レジスタ 23 シフト量累積加算器 24 シフト量累積加算器 25 シフト回路 26 レジスタ 27−1〜27−M 区切り符号検出器 28 制御回路 40 ランレングス復号化・スキャン順序変換器 41 メモリ部 41a,41b バンクメモリ 42 アドレス発生部 42a 加算器 42b レジスタ 43 読み出しアドレス発生部 43a カウンタ 43b アドレス変換器 44 コントローラ 10 variable-length / fixed-length decoder 11 cue shift unit 12 code decoder 13 parallel delimiter code detector 14 shift amount switching unit 21-1 to 21-3 switching unit 22-1 to 22-3 register 23 shift amount accumulation Adder 24 Shift amount cumulative adder 25 Shift circuit 26 Register 27-1 to 27-M Delimiter code detector 28 Control circuit 40 Run length decoding / scan order converter 41 Memory unit 41a, 41b Bank memory 42 Address generating unit 42a Adder 42b register 43 read address generator 43a counter 43b address converter 44 controller
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 7/24 Continuation of front page (51) Int.Cl. 6 Identification code Office reference number FI Technical display area H04N 7/24
Claims (2)
する圧縮画像データを復号化する複号化器を備えた画像
処理装置において、 前記復号化器が、 前記圧縮画像データと頭出しシフト量データとを入力
し、この頭出しシフト量データにしたがって前記圧縮画
像データをシフトさせることにより被解読データを生成
する頭出しシフト部と、 この頭出しシフト部から取り込んだ前記被解読データを
切り出すことにより、解読データを生成する符号解読部
と、 前記頭出しシフト部から取り込んだ前記被解読データか
らの前記区切り符号の検出を複数の先頭ビット位置につ
いて同時に行い、この検出結果に基いて前記シフト量デ
ータを生成する並列区切り符号検出部と、 を備えたことを特徴とする画像処理装置。1. An image processing apparatus comprising a decoder for decoding compressed image data having at least a variable length code and a delimiter code, wherein the decoder has the compressed image data and cue shift amount data. By inputting, the cue shift unit for generating the decoded data by shifting the compressed image data according to the cue shift amount data, and cutting out the decoded data fetched from the cue shift unit. , A code decoding unit that generates decoded data, and simultaneously detects the delimiter code from the data to be decoded fetched from the cue shift unit for a plurality of head bit positions, and based on the detection result, the shift amount data An image processing apparatus comprising: a parallel delimiter code detection unit that generates
モリの読み出しおよび書き込みを制御する制御回路とを
備えたバッファメモリを有する画像処理装置において、 前記制御回路が、 いずれかのバンクメモリに対する書き込みが終了した時
点で、既に読み出しが終了した他のバンクメモリが存在
する場合には当該他のバンクメモリに対して次の書き込
みを行わせ、既に読み出しが終了した他のバンクメモリ
が存在しない場合にはいずれかのバンクメモリの読み出
しが終了するまで待機した後に当該読み出しが終了した
バンクメモリに対して書き込みを行わせるとともに当該
待機の期間中書き込みを禁止する書き込み制御手段と、 いずれかのバンクメモリからの読み出しが終了した時点
で、既に書き込みが終了した他のバンクメモリが存在す
る場合には当該他のバンクメモリに対して書き込みが行
われた順序にしたがって次の読み出しを行わせ、既に書
き込みが終了したバンクメモリが存在しない場合にはい
ずれかのバンクメモリの書き込みが終了するまで待機し
た後に当該書き込みが終了したバンクメモリに対して読
み出しを行わせるとともに当該待機の期間中読み出しを
禁止する読み出し制御手段と、を備えたことを特徴とす
る画像処理装置。2. An image processing apparatus having a buffer memory including a plurality of bank memories and a control circuit for controlling reading and writing of the bank memories, wherein the control circuit writes data to any one of the bank memories. At the time of completion, if there is another bank memory that has already been read, the next write is performed to the other bank memory, and if there is no other bank memory that has already been read. After waiting until the reading of one of the bank memories is completed, writing is performed to the bank memory for which the reading has been completed, and write control means for prohibiting writing during the waiting period, There is another bank memory that has already been written when the reading is completed. If the bank memory is already written, the next read is performed in the order of writing to the other bank memory, and if there is no bank memory that has already been written, the writing of one of the bank memories is finished. The image processing apparatus further comprises: a read control unit that causes the bank memory, in which the writing has been completed, to be read after waiting until, and prohibits reading during the waiting period.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21916894A JP3417684B2 (en) | 1994-09-13 | 1994-09-13 | Image processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21916894A JP3417684B2 (en) | 1994-09-13 | 1994-09-13 | Image processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0883347A true JPH0883347A (en) | 1996-03-26 |
JP3417684B2 JP3417684B2 (en) | 2003-06-16 |
Family
ID=16731272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21916894A Expired - Fee Related JP3417684B2 (en) | 1994-09-13 | 1994-09-13 | Image processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3417684B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005318560A (en) * | 2004-03-30 | 2005-11-10 | Matsushita Electric Ind Co Ltd | Variable length decoder and variable length decoding method |
KR100644556B1 (en) * | 1999-06-07 | 2006-11-13 | 삼성전자주식회사 | High speed inverse discrete cosine transform device |
US7295231B1 (en) | 1998-10-14 | 2007-11-13 | Sanyo Electric Co., Ltd. | Digital camera |
JP2011160268A (en) * | 2010-02-02 | 2011-08-18 | Ricoh Co Ltd | Image processing apparatus, image processing method, image processing program, and recording medium |
-
1994
- 1994-09-13 JP JP21916894A patent/JP3417684B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7295231B1 (en) | 1998-10-14 | 2007-11-13 | Sanyo Electric Co., Ltd. | Digital camera |
KR100644556B1 (en) * | 1999-06-07 | 2006-11-13 | 삼성전자주식회사 | High speed inverse discrete cosine transform device |
JP2005318560A (en) * | 2004-03-30 | 2005-11-10 | Matsushita Electric Ind Co Ltd | Variable length decoder and variable length decoding method |
JP4607638B2 (en) * | 2004-03-30 | 2011-01-05 | パナソニック株式会社 | Variable length decoding apparatus and method |
JP2011160268A (en) * | 2010-02-02 | 2011-08-18 | Ricoh Co Ltd | Image processing apparatus, image processing method, image processing program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
JP3417684B2 (en) | 2003-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5801650A (en) | Decoding apparatus and method | |
JP2766302B2 (en) | Variable length code parallel decoding method and apparatus | |
JPH0969951A (en) | Encoding method and decoding method | |
US6546053B1 (en) | System and method for decoding signal and method of generating lookup table for using in signal decoding process | |
JPH1065549A (en) | Device for determining length of variable length encoded data value, device for decoding data stream of variable length encoded data value, and method for determining length of variable length encoded data value | |
US5170445A (en) | Document decompressing system | |
JP2004096735A (en) | Variable length code decoding apparatus and method | |
JPH0883347A (en) | Picture processor | |
JPH11215009A (en) | Code decoding device | |
JP2002026737A (en) | Data decoder and its method | |
US7142603B2 (en) | Method and system for predictive table look-up code length of variable length code | |
JP3077858B2 (en) | Serial data decoder | |
JP3021329B2 (en) | Variable length decoding method and apparatus | |
JP2003174365A (en) | Decoding device and its method | |
JPH07235878A (en) | Variable length decoder | |
JP4095454B2 (en) | Data decoding apparatus and data decoding method | |
JP3224935B2 (en) | Variable length code decoding circuit | |
US20050025247A1 (en) | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof | |
JP2000209100A (en) | Decoder and decoding method | |
JPH09307456A (en) | Variable length encoding and decoding device and method | |
JPH11284864A (en) | Image decoder | |
JP3108243B2 (en) | Encoding and decoding device | |
JP2004179752A (en) | Huffman decoder | |
KR0122326B1 (en) | Bit stream decoder of video | |
JPH09246989A (en) | Decoder and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080411 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090411 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100411 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100411 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |