JP3011960B2 - ランレングス符号化回路 - Google Patents

ランレングス符号化回路

Info

Publication number
JP3011960B2
JP3011960B2 JP2063956A JP6395690A JP3011960B2 JP 3011960 B2 JP3011960 B2 JP 3011960B2 JP 2063956 A JP2063956 A JP 2063956A JP 6395690 A JP6395690 A JP 6395690A JP 3011960 B2 JP3011960 B2 JP 3011960B2
Authority
JP
Japan
Prior art keywords
data
code
run
overflow
output
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
JP2063956A
Other languages
English (en)
Other versions
JPH03266525A (ja
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2063956A priority Critical patent/JP3011960B2/ja
Priority to US07/600,371 priority patent/US5142380A/en
Priority to DE4033552A priority patent/DE4033552A1/de
Publication of JPH03266525A publication Critical patent/JPH03266525A/ja
Application granted granted Critical
Publication of JP3011960B2 publication Critical patent/JP3011960B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は連続する零データの個数を計数し、その個
数と零でないデータとを符号化してデータ圧縮を行うラ
ンレングス符号化回路に関し、特に静止画像データを圧
縮して伝送または記録する際のデータ圧縮に適用して好
適なものである。
〔従来の技術〕
第4図は自然画符号化方式の標準化を図るために提案
されている国際標準化方式のうちの“Baseline System"
のデータ圧縮手順を示す概略図である。
このシステムは一枚の入力画像を1ブロック8×8画
素の複数ブロックに分割し、各ブロック毎に離散コサイ
ン変換(DCT:Discrete Cosine Transform)を行い(処
理P1)、変換して得られる8×8個のDCT係数を、8×
8個の閾値からなる量子化マトリクスの各閾値にスケー
ルファクタを乗算した値で除算することで量子化を行う
(処理P2)。
量子化したDCT係数のうち直流(DC)成分は前のブロ
ックで量子化したDC成分と差分を取り(処理P3)、その
差分のビット数をハフマン符号化する(処理P4)。交流
(AC)成分はブロック内でジグザグスキャンを行って1
次元の数列Ap(p=1,2,…,63)に変換し(処理P5)、
数列Ap中の連続する零(無効係数)の個数をランレング
ス符号化して圧縮する(処理P6)。そして、この圧縮し
た連続する零の個数と有効係数のビット数とで2次元の
ハフマン符号化を行う(処理P4)。
第5図はランレングス符号化処理(処理P6)の1ブロ
ック分の処理動作を示すフローチャートである。
この処理は、まず1ブロック内のAC成分の個数(63=
8×8−1)を計数する変数pと連続する零(無効係
数)の個数を計数する変数qとを零に初期設定する(ス
テップS1)。
次いで、変数pが63か否か、すなわちAC成分の全デー
タ処理を終了したか否かの判断を行う(ステップS2)。
ステップS2で“NO"と判断されると、変数pをインクリ
メントして(ステップS3)、DCT係数Apの値が零か否か
判断する(ステップS4)。係数Apの値が零であれば“YE
S"と判断して変数qをインクリメントし(ステップS
5)、ステップS2に戻る。
もし、係数Apの値が零でなければ、変数qの値が15を
超えているか否か、すなわち零データが16個連続してい
るか否か判断し(ステップS6)、連続していれば“YES"
と判断して連続する零の個数(変数qの値)を16で割っ
た値をオーバーフローコードとして出力する(ステップ
S7)。そして変数qから16を引き(ステップS8)、ステ
ップS6に戻る。
変数qの値が15以下であれば、ステップS6で“NO"と
判断し、連続する零の個数(変数qの値)と零データで
ない係数Apの値とを出力する(ステップS9)。そして変
数qをリセットし(ステップS10)、ステップS2に戻
る。
AC成分の全データの処理が終了すると、ステップS2で
“YES"と判断し、ブロック終了コードを出力して(ステ
ップS11)、1ブロック分のデータ処理を終了する。
〔発明が解決しようとする課題〕 ところで、前述した“Baseline System"によるデータ
圧縮処理は、コンピュータ・シミュレーションによるア
ルゴリズムが検討されている段階で、DSP(Digital Sig
nal Processor)を使用してハードウェア化した例が報
告されてはいるが、処理に時間がかかり実用的ではな
い。
この発明は前述したランレングス符号化処理をハード
ウェア化することにより、簡易な構成で高速処理が可能
なランレングス符号化回路を提供することを目的とす
る。
〔課題を解決するための手段〕
この発明によるランレングス符号化回路は、連続する
零データの個数を計数してランレングスデータとして出
力するランレングスカウンタ部と、このカウンタ部から
出力されるオーバーフローコードを一定の条件のもとで
消去するオーバーフローコード消去部とからなる。
ランレングスカウンタ部は1ブロックあたり複数n個
の入力データの各々が零データであるか否かを検出する
零データ検出部と、この零データ検出部の検出結果に基
づいて入力データの連続する零の個数を計数しランレン
グスデータとして出力するカウンタ部と、入力データの
入力個数を計数し複数n個のデータが入力したことを検
知してブロック終了コードを出力するデータ計数部と、
入力データが有効データの際またはカウンタ部からオー
バーフローコードが出力された際、さらにデータ計数部
からブロック終了コードが出力された際にそれぞれフラ
ッグデータおよびシフトパルスを出力する出力制御部と
からなる。
オーバーフローコード消去部はシフトパルスによって
入力データ、ランレングスデータ、フラッグデータ、オ
ーバーフローコードおよびブロック終了コードをそれぞ
れラッチするシフトレジスタと、このシフトレジスタに
ラッチされたオーバーフローコードおよびブロック終了
コードのうちブロック終了コードに隣接するオーバーフ
ローコードを検知して対応するフラッグデータをクリア
することによりオーバーフローコードを消去する連続性
検出部とからなる。
〔作 用〕
この構成において、入力データはその連続する零(無
効係数)の個数がランレングスカウンタ部によって計数
され、その計数値がランレングスデータとして出力され
てデータの圧縮が行われる。また、連続する零の個数が
所定の値を超えるときは一旦オーバーフローコードを出
力し、カウンタ部をリセットしたのち零データの計数を
再開する。
また、オーバーフローコードが1ブロック分のデータ
処理が終了したことを示すブロック終了コードと隣接す
る場合は、オーバーフローコードと共に出力されるフラ
ッグデータの対応データをリセットすることによりオー
バーフローコードを消去するようにしている。従って、
零データの連続する個数が所定値以上であっても、オー
バーフローコードは出力せずにブロック終了コードのみ
出力する。
この発明によれば、連続する零の個数を計数するカウ
ンタの進数は小さくてすみ、また複雑な判断処理が不要
で高速処理が可能な簡易な回路構成のランレングス符号
化回路を提供することが出来る。
〔実施例〕
第1図はこの発明によるランレングス符号化回路の一
実施例を示す構成図である。
この実施例はランレングスカウンタ部1とオーバーフ
ローコード消去部2とから構成されている。ランレング
スカウンタ部1は入力されるAC成分データACDが零であ
るか否かを検出する零データ検出部10と、この検出部10
の出力を受けてデータACDの連続する零(無効係数)の
個数を計数するカウンタ11と、データACDが零でないと
き、またはカウンタ11がオーバーフローしたときにカウ
ンタ11にクリアパルスCPを出力し、またデータ消去部2
の後述するシフトレジスタ20〜24にフラッグデータFDお
よびシフトパルスSPを出力する出力制御部12と、入力さ
れるAC成分データACDの個数を計数して1ブロック分のA
C成分データの入力が終了したことを検知するとブロッ
ク終了コードEOBおよびクリアパルスCP′を出力するデ
ータ計数部13とからなる。
オーバーフローコード消去部2はAC成分データACDが
直接入力されるシフトレジスタ20、カウンタ11のカウン
ト値がランレングスデータRLDとして入力されるシフト
レジスタ21、フラッグデータFDの入力されるシフトレジ
スタ22、カウンタ11のオーバーフローコードOVFが入力
されるシフトレジスタ23、ブロック終了コードEOBが入
力されるシフトレジスタ24、データOVFおよびデータEOB
の連続性を検出する連続性検出部25からなる。シフトレ
ジスタ20〜24は何れも4段のD型フリップフロップ(以
下、FF、と称す)で構成され、各段のFFはシフトパルス
SPによって駆動される。
連続性検出部25は、シフトレジスタ23の2段目以降の
各段のFF23b〜23dの各出力とシフトレジスタ24の初段の
FF24aの出力とのアンド条件を取るアンド回路30、シフ
トレジスタ23の3段目以降の各段のFF23c〜23dの各出力
とシフトレジスタ24の2段目のFF24bの出力とのアンド
条件を取るアンド回路31、シフトレジスタ23の4段目の
FF23dの出力とシフトレジスタ24の3段目のFF24cの出力
とのアンド条件を取るアンド回路32およびアンド回路30
〜32の各出力のオア条件を取るオア回路33からなる。オ
ア回路33の出力はシフトレジスタ22の4段目のFF23dの
クリア端子CLRに入力される。
次に、第2図に示すタイミングチャートを参照してこ
の実施例の動作を説明する。
まず、スタートパルスST(図(a))によってデータ
計数部13をクリアし、同時にクリアパルスCP′によって
カウンタ11をクリアする。
次いで、クロックパルスφ(図(b))に同期してAC
成分データACD(図(c))を入力し、零データ検出部1
0で零データか否か検出する(図(d))。検出部10で
は、零データでないことを検出すると、出力制御部12か
らシフトパルスSPを出力してシフトレジスタ20の初段の
FF20aにデータACDをラッチし、同時にシフトレジスタ22
の初段のFF22aにフラッグデータFDをラッチする。さら
にクリアパルスCPによってカウンタ11をクリアする。
AC成分データACDが零データであれば、零データ検出
部10で零データを検出し(図(d))、カウンタ11をイ
ンクリメントする(図(e))。零データが連続すれば
その連続する個数がカウンタ11によって計数される。
次いで、データACDとして再び有効データが入力され
ると、出力制御部12からシフトパルスSP(図(f))お
よびフラッグデータFD(図(g))が出力され、シフト
パルスSPによってシフトレジスタ20の初段FF20aにデー
タACD、シフトレジスタ21の初段FF21aにランレングスデ
ータRLD、シフトレジスタ22の初段FF22aにフラッグデー
タFDがそれぞれラッチされる。またクリアパルスCPによ
ってカウンタ11がクリアされる。
データACDとして零データが連続し、カウンタ11のカ
ウント値が15を超えると、オーバーフローコードOVF
(図(h))が出力され、出力制御部12に入力される。
出力制御部12はこれを受けてシフトパルスSPおよびフラ
ッグデータFDを出力し、シフトパルスSPによってデータ
ACDの零データをFF20aに、データRLDをFF21aに、フラッ
グデータFDをFF22aに、データOVFをFF23aにそれぞれラ
ッチする。
全てのAC成分データの入力が終了すると、データ計数
部13からブロック終了コードEOBが出力される。出力制
御部12はこれを受けて再びシフトパルスSPおよびフラッ
グデータFDを出力し、データACDをFF20aに、データRLD
をFF21aに、フラッグデータFDをFF22aに、データEOBをF
F24aにそれぞれラッチする。
このようにしてシフトレジスタ20〜24の初段FF20a〜2
4aには、、各データが第2図(j)〜(n)に示すよう
にラッチされる。
次に、第3図のデータ構成図を参照して連続性検出部
25の動作を説明する。
この連続性検出部25はAC成分データACDの零データが
ブロック終了コードEOBまで連続する場合に、データEOB
に隣接するオーバーフローコードOVFを消去する回路で
ある。データACDは1ブロック63個のデータであり、零
データが16個連続するケースは最大3回である。そして
データOVFとデータEOBとが連続するケースは、第3図
(a)〜(c)に示すように3通り考えられる。従っ
て、図(c)に示すようにデータOVFが最大3つ連続
し、さらにデータEOBと隣接する場合には4つのデータ
の連続性を検出する必要がある。そこでこの実施例で
は、シフトレジスタ20〜24を各々4段構成とし、データ
OVFの入力されるシフトレジスタ23の各段の出力とデー
タEOBの入力されるシフトレジスタ24の各段の出力とか
ら4データの連続性を検出するようにしている。なお、
図中○印を付したデータOVFは出力されるべきデータを
示し、×印を付したデータOVFは消去されるべきデータ
を示している。
まず、シフトレジスタ24のFF24cにデータEOBがラッチ
され、同時にシフトレジスタ23のFF23dにデータOVFがラ
ッチされると、アンド回路32のアンド条件が成立し、オ
ア回路33からデータフラッグ・クリアパルスDFCが出力
される(図(a))。
また、シフトレジスタ24のFF24bにデータEOBがラッチ
された際に、シフトレジスタ23のFF23c〜23dにデータOV
Fがラッチされれば、アンド回路31のアンド条件が成立
し、オア回路33からデータフラッグ・クリアパルスDFC
が出力される(図(b))。
さらに、シフトレジスタ24のFF24aにデータEOBがラッ
チされたときに、シフトレジスタ23のFF23b〜23dの何れ
にもデータOVFが同時にラッチされれば、アンド回路30
のアンド条件が成立し、オア回路33からデータフラッグ
・クリアパルスDFCが出力される(図(c))。
こうして出力されたクリアパルスDFCによってシフト
レジスタ22の最終段のFF22dにラッチされたフラッグデ
ータFDがクリアされ、対応するデータOVFを無効とす
る。このようにしてデータEOBに隣接するデータOVFを消
去しデータEOBのみを出力する。
〔発明の効果〕 この発明によれば、ランレングスカウンタ部とオーバ
ーフローコード消去部とを設け、ランレングスカウンタ
部によってAC成分データの連続する零(無効係数)の個
数を計数してその計数値をランレングスデータとして出
力すると共に、計数値が所定値を超えるときは一旦オー
バーフローコードを出力し、オーバーフローコードがブ
ロック終了コードEOBと隣接する場合にはオーバーフロ
ーコード消去部で消去するようにしているいので、連続
する零の個数を計数するカウンタは4ビットですみ、ま
た複雑な判断処理が不要で高速処理が可能な簡易な回路
構成のランレングス符号化回路を提供することが出来
る。
【図面の簡単な説明】
第1図はこの発明によるランレングス符号化回路の一実
施例を示す構成図、 第2図は第1図の動作を説明するためのタイミングチャ
ート、 第3図は連続性検出部の動作を説明するためのデータ構
成図、 第4図はベースラインシステムのデータ圧縮手順を示す
図、 第5図は第4図のランレングス符号化処理のフローチャ
ートである。 1……ランレングスカウンタ部、2……オーバーフロー
コード消去部、10……零データ検出部、11……カウン
タ、12……出力制御部、13……データ計数部、20〜24…
…シフトレジスタ、25……連続性検出部。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】1ブロックあたり複数n個の入力データの
    各々が零データであるか否かを検出する零データ検出部
    と、上記零データ検出部の検出結果に基づいて上記入力
    データの連続する零の個数を計数してランレングスデー
    タとして出力するカウンタ部と、上記入力データの入力
    個数を計数し上記複数n個のデータが入力したことを検
    知してブロック終了コードを出力するデータ計数部と、
    上記入力データが有効データの際または上記カウンタ部
    からオーバーフローコードが出力された際、さらに上記
    データ計数部からブロック終了コードが出力された際に
    それぞれフラッグデータおよびシフトパルスを出力する
    出力制御部とからなるランレングスカウンタ部と、 上記シフトパルスによって上記入力データ、上記ランレ
    ングスデータ、上記フラッグデータ、上記オーバーフロ
    ーコードおよび上記ブロック終了コードをそれぞれラッ
    チするシフトレジスタと、上記シフトレジスタにラッチ
    された上記オーバーフローコードおよび上記ブロック終
    了コードのうち、上記ブロック終了コードに隣接する上
    記オーバーフローコードを検出してこのオーバーフロー
    コードに対応する上記フラッグデータをクリアすること
    によりオーバーフローコードを消去する連続性検出部と
    からなるオーバーフローコード消去部とを有することを
    特徴とするランレングス符号化回路。
JP2063956A 1989-10-23 1990-03-16 ランレングス符号化回路 Expired - Fee Related JP3011960B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2063956A JP3011960B2 (ja) 1990-03-16 1990-03-16 ランレングス符号化回路
US07/600,371 US5142380A (en) 1989-10-23 1990-10-18 Image data processing apparatus
DE4033552A DE4033552A1 (de) 1989-10-23 1990-10-22 Bilddatenverarbeitungseinrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2063956A JP3011960B2 (ja) 1990-03-16 1990-03-16 ランレングス符号化回路

Publications (2)

Publication Number Publication Date
JPH03266525A JPH03266525A (ja) 1991-11-27
JP3011960B2 true JP3011960B2 (ja) 2000-02-21

Family

ID=13244280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2063956A Expired - Fee Related JP3011960B2 (ja) 1989-10-23 1990-03-16 ランレングス符号化回路

Country Status (1)

Country Link
JP (1) JP3011960B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0624990B1 (en) * 1993-05-12 1999-03-31 Matsushita Electric Industrial Co., Ltd. Video recording and reproducing apparatus

Also Published As

Publication number Publication date
JPH03266525A (ja) 1991-11-27

Similar Documents

Publication Publication Date Title
KR930009872B1 (ko) 변환 부호화 장치
KR950002671B1 (ko) 화상데이타 처리장치
JPH07262175A (ja) 関数変換演算装置
US6055272A (en) Run length encoder
JP3011960B2 (ja) ランレングス符号化回路
JP2001217721A (ja) ハフマン符号化装置、ハフマン符号化方法およびハフマン符号化処理プログラムを記録した記録媒体
JPH10200892A (ja) 画像符号化装置
JP3434904B2 (ja) 画像データ符号化装置
JP3049265B2 (ja) 画像データ符号化回路
JP2612343B2 (ja) データ圧縮方式
JP2724223B2 (ja) 画像データ復元方式
JPH10215366A (ja) 圧縮画像データの抽出方法およびその装置
JPH06178282A (ja) 画像の符号化装置
JP3001758B2 (ja) ハフマン符号化装置およびハフマン符号化方法
JPH07273661A (ja) 圧縮符号化復号化装置
JP2668900B2 (ja) 高能率符号化装置
JP2909189B2 (ja) 画像データ圧縮装置
KR950005817B1 (ko) 가변장 부호 복호기의 에러 처리 장치
JP3514026B2 (ja) 符号化装置
KR100219218B1 (ko) 줄-길이 부호화 장치
JP2003333339A (ja) 画像符号化装置及び画像符号化方法
JP3200073B2 (ja) 画像処理装置
Dziech et al. Methods of image compression by PHL transform
JPH06139346A (ja) ハフマン復号化回路およびハフマン復号化方法
Åhlander et al. Hardware Efficient Lossless Realtime Compression of Raw Image Data

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees