JP3619025B2 - 符号化方法及び符号化装置 - Google Patents

符号化方法及び符号化装置 Download PDF

Info

Publication number
JP3619025B2
JP3619025B2 JP26518598A JP26518598A JP3619025B2 JP 3619025 B2 JP3619025 B2 JP 3619025B2 JP 26518598 A JP26518598 A JP 26518598A JP 26518598 A JP26518598 A JP 26518598A JP 3619025 B2 JP3619025 B2 JP 3619025B2
Authority
JP
Japan
Prior art keywords
code
data
line
encoding
run length
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
JP26518598A
Other languages
English (en)
Other versions
JP2000101445A (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.)
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 JP26518598A priority Critical patent/JP3619025B2/ja
Priority to US09/395,735 priority patent/US6577768B1/en
Publication of JP2000101445A publication Critical patent/JP2000101445A/ja
Application granted granted Critical
Publication of JP3619025B2 publication Critical patent/JP3619025B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、符号化方法及び符号化装置に関し、特に高速な符号化復号化を可能とする符号化方法及び符号化装置に関する。
【0002】
【従来の技術】
データ通信においては、通信の効率化を目的としてデータを圧縮して送信し、受信側で伸長することが一般に行われている。また、データ保存時にも記憶媒体の容量を効率よく使用するため、データ圧縮を行うことが多い。特にデータ量の多い画像通信においてはデータ圧縮は重要な課題であり、様々な方式が検討、採用されている。
【0003】
画像形成装置の一つであるファクシミリ装置では、これまで画像データの電送用の符号化方法としてITU−TのT.4,T.6で勧告化されているMH符号化、MR符号化、MMR符号化が用いられてきた。これらの符号化方法は、2値のラン・レングス情報を利用したエントロピー符号化方法の一種である。このため通常MH符号、MR符号、MMR符号の符号化時には、中間データとして白・黒画素の連続を数値で表すラン・レングスデータを作成し、このデータを種々の条件で符号化し、復号化時にも同様にラン・レングスデータを経て原画像データを得ている。
【0004】
一方近年、従来のMH符号化、MR符号化、MMR符号化に代わる高効率な2値データの符号化方法としてJBIG符号化方法が、ITU−TのT.85に勧告化され、ファクシミリ装置の電送用符号として用いられるようになってきた。JBIG符号化は、シーケンシャル符号化とプログレッシブ符号化の2種類の符号化方法が規定されているが、ファクシミリ装置ではITU−TのT.82に勧告されたシーケンシャル方式を元に、さらに長さ方向が未知の場合でも対応できるように拡張されたITU−T T.85勧告が利用されている。
【0005】
JBIG符号化は、符号化しようとする画素の周囲画素(テンプレート)から符号化しようとする画素が白か黒かを予測しその予測確率により符号化(算術符号)するもので従来のMH符号化、MR符号化、MMR符号化に比べてかなり高能率な符号化が可能である。しかしながら反面周囲画素からのコンテキストの作成や処理毎のコンテキストテーブルの更新など処理が複雑であり、符号化に要する資源の要求が大きい。
【0006】
JBIG符号化では、符号化に要する処理を軽減する目的で、TP(Typical Prediction:典型予測)を採用している。具体的な処理としては、ファクシミリ装置で用いられるシーケンシャルJBIG符号化方法では、現在符号化しようとしている1ライン分のデータが前ラインのデータと同一かどうかを判定し、同一ならば前ラインのデータからTP(典型予測)可能であるとし、その旨のフラグをたてて符号化対象ラインのデータを符号化しないようにする。
【0007】
しかしながら何れにしてもJBIG符号化方法はMH符号化、MR符号化、MMR符号化のようなラン・レングスを用いた符号化方法ではない。このため従来MH符号、MR符号、MMR符号とJBIG符号との符号変換を行う場合には、一旦すべての符号データを生画像データに変換(復号)した後に再度所望の符号化処理を行う必要があった。
【0008】
【発明が解決しようとする課題】
このように、ランレングスを用いた符号であるMH符号、MR符号、MMR符号もしくは、非圧縮を伴ったMH符号、MR符号、MMR符号の何れかから、ランレングスを用いないJBIG符号に変換する場合には、一旦復号処理を行ない圧縮されていない生画像に変換する必要があり、高速な符号変換の実現が困難であった。
【0009】
例えばファクシミリ装置などの画像形成装置において、画像データの蓄積をMH符号等のランレングス利用符号で行い、画像データの送信はJBIG符号で行うような場合には、送信時、受信時ともにこれら符号の変換が必要となる。に上記蓄積符号からJBIGへ符号変換、また受信時にJBIGから上記蓄積符号への符号変換が必要であるため、符号変換を高速に行うことが全体のスループットを向上するために不可欠である。
【0010】
本発明は、上記従来例を鑑みてなされたもので、その目的は、高速な符号化復号化を可能とする符号化方法及び符号化装置を提供することにある。
【0011】
【課題を解決するための手段】
すなわち、本発明の要旨は、入力されるデータに典型予測を用いた符号化を行う符号化方法であって、入力されるデータが他の符号化方法で符号化されたデータであり、入力されるデータから1ラインのラン・レングスデータを生成し、ラン・レングスデータを記憶し、複数のラン・レングスデータを用いて、典型予測を行うことを特徴とする符号化方法に存する。
【0016】
また本発明の別の要旨は、入力されるデータに典型予測を行う手段を有し、所定の符号化方法を施して出力する符号化装置であり、入力されるデータから1ラインのラン・レングスデータを生成する生成手段と、ラン・レングスデータを記憶する記憶手段と、複数のラン・レングスデータを用いて、典型予測手段に典型予測を行わせる制御手段とを有することを特徴とする符号化装置に存する。
【0020】
【発明の実施の形態】
以下、図面を参照して本発明の好適な実施の形態を詳細に説明する。実施形態においては本発明をファクシミリ装置に適用した場合を例に説明するが、本発明は他のいかなる用途にも適用しうる。
【0021】
最初に本実施形態となる符号変換器をもつファクシミリ装置の構成を説明し、次に、JBIG符号及び非圧縮を併用したMR符号の符号化、復号化の動作を説明し、最後に、非圧縮を併用したMR符号とJBIG符号との符号変換の動作を説明する。
【0022】
図1は、本発明の一実施形態であるファクシミリ装置のブロック図である。本実施形態におけるファクシミリ装置は、画像データの蓄積に非圧縮を併用したMR符号化を、データの送信にJBIG符号化を用いるものとする。図において、100はCPUで、ファクシミリ装置全体の制御を行なう。110はROMで、CPUのプログラムコード及びフォント情報などのデータを格納する。120はRAMで、CPUのワークメモリ、もしくは後述の蓄積符号で符号化された画像データを蓄積するための画像メモリ、もしくは回線用の符号データを一時的に貯える送受信バッファとして利用される。130は、モデムで、回線に対するデータの送受信を行なうためにデータの変調及び復調を行なう。前記送受信バッファ上の蓄積されているデータを回線に変調しながら送信したり、回線から受信したデータを復調しながら前記送受信バッファに蓄積する。
【0023】
140は、キー及びディスプレーを有する操作部であり、ファクシミリ装置のマンマシンI/Fを行なう。150は、スキャナー等からなる画像入力部で、原稿をCCD等の光電変換素子で走査し、読み取った画像情報を不図示のA/D変換器でデジタル情報に変換して画像処理を行ない、最終的には白・黒の2値の画像データとして後述の蓄積用符号化・復号化器160に出力する。
【0024】
160は、蓄積用符号化・復号化器で2値の生画像データを後述の装置内の蓄積符号であるライン単位の非圧縮を併用したMR符号に符号化・復号化を行なう。符号化時には前記スキャナー100からの2値の生画像データを入力して、ライン単位の非圧縮を併用したMR符号に変換し後述の画像メモリ160に蓄積する。また、復号化時は、画像メモリ160から入力されるライン単位の非圧縮を併用したMR符号を復号し2値の生画像データを画像形成部170に出力する。170はプリンタ等の画像形成部で、蓄積用符号化・復号化部160で復号され出力される2値の生画像データを入力し、不図示の解像度変換器により画像形成部の出力解像度にあわせた解像度変換、記録材サイズ変換を行なった後、画像を記録材上に形成する。
【0025】
180は、本実施形態の特徴となる符号変換器で、RAM120の画像データ蓄積領域(以下、画像メモリと言う)に蓄積されている非圧縮を併用したMR符号と回線送受信用のMH符号、MR符号、MMR符号、JBIG符号との変換処理を行う。画像データ送信時には、画像メモリから非圧縮を併用したMR符号化された画像データを、送信相手機に応じた符号に変換し、RAM120の送受信バッファ領域(以下、送受信バッファと言う)へ出力する。また必要ならば送信相手機の能力に応じて画像データの拡大・縮小処理を行う。
【0026】
送受信バッファに一旦蓄積されたデータは、モデム130を介して図示しない相手機に送信される。一方受信時には、モデム130から受信した符号化された画像データが一旦送受信バッファに蓄積される。送受信バッファ(120)に蓄積された符号データは、符号変換器180に入力され、蓄積符号である非圧縮を併用したMR符号に変換された後、画像メモリに蓄積される。
【0027】
図1の構成においては、符号変換器180がファクシミリ装置の中で独立した構成要素として存在しているが、いうまでもなくCPU(100)がプログラムを実行することにより符号変換器として動作してもよい。この場合、符号変換処理に関するプログラムコードは、ROM(110)に格納しても、図示しない外部記憶装置から読み出してRAM120上に展開してもよい。CPU100が符号変換を行う場合には、図1における符号変換器180は不要となる。
【0028】
次にシーケンシャル時のJBIG符号化、復号化処理に関して、図2を用いて簡単に説明する。図2(a)はJBIG符号化器、図2(b)はJBIG復号化器の概要構成を示すブロック図である。シーケンシャルJBIGでは、501のTP(典型予測)、502のアダプティブテンプレート、503のモデルテンプレート、504のAAE(算術符号器)により符号化処理が行われる。復号時には、これと反対のフローで511のAAD(算術復号器)512モデルテンプレート、513のTP(典型予測)の順番で復号化処理が行われる。502のアダプティブテンプレート、503,512のモデルテンプレート、504のAAE(算術符号器)、512のAAD(算術復号器)に関しての詳細説明は、前述のITU−T勧告に詳細が示されているのでここでは割愛する。
【0029】
501のTP(典型予測)では、符号化ラインが前のラインと同じかどうかを判定し、予測はずれの有無を示すデータLNTP(Line not Typical)の値を決定する。ここでは、符号化ラインが前ラインと同じ場合にはLNTP=0とし、そうでない場合には、LNTP=1とすることにする。LNTP=0の場合では、典型予測可能であるため、後段の算術符号器では、後述の仮画素に対する符号のみを生成しそのラインの符号は生成しない。
【0030】
実際の符号においては、LNTPをそのまま用いず、算術符号のコンテキストを生成するテンプレートのための仮画素としては、
SNLTPy=!(LNTPyとLNTPy−1の論理的排他和) (式1)
であらわされるSNLTPを用いる。式1において、yは符号化ラインを表しy−1は符号化ラインの前ラインを表す。!は論理否定を表す。すなわち、符号化ラインと前ラインのLNTPが同じ値を持つとき、SNLTPは1となる。
【0031】
また仮画素に対するテンプレートに関してもここでは割愛する。復号時には、ラインの最初の仮画素に対するテンプレートを用いて511のAAD(算術符号器)で復号しSNLTPの値を決定し、
LNTPy=!(SLNTPyとLNTPy−1の論理的排他和) (式2)
からLNTPを算出し、LNTP=0ならば前ラインのデータをそのままコピーする。
【0032】
次に本実施形態の蓄積用の符号である非圧縮を併用した符号について説明する。MH符号、MR符号、MMR符号は、文字・線画画像のラン・レングス情報の統計データに基づいてハフマン符号を割り当てているため、擬似中間調などの白黒の反転の多い画像データでは、逆にデータ量が伸長してしまう不具合がある。特にMH符号、MR符号、MMR符号などをそのまま蓄積用の符号として用いた場合には、伸長時の最悪値を考慮してデータバスの負荷、符号・復号器の処理性能を設定しなければならず装置の肥大化が著しくなる不具合がある。この不具合を解決するために蓄積符号としてこれらの符号をそのまま用いず、ライン単位の非圧縮を併用した符号を用いる。
【0033】
本実施形態におけるライン単位の非圧縮を併用したMR符号では、1ライン単位の符号データ量が符号化されていない生画像のデータ量よりも大きいか否か(もしくは1ラインの符号化データが特定しきい値よりも大きいか否か)を判定し、もしそのラインの符号化時のデータ量が大きい場合には、そのラインを符号化せずラインの先頭にこのラインが非圧縮ラインである識別コードを付加し、その後に符号化されていない生画像データをそのまま続ける。図3(a)、図3(b)は、MR符号をベースとした、ライン単位の非圧縮符号のフォーマットを示す図である。
【0034】
図3(a)は、非圧縮ラインを示す図であり、図3(b)は圧縮ラインを示す図である。1ページ分のデータは、非圧縮ラインもしくは圧縮ラインのデータが判定に応じて順次生成されたのち、最後にページ終了をしめすRTC(制御復帰符号)が付加されることになる。RTCは後述するEOLを所定回数繰り返したコードを用いる。2020,2120は、EOLで、”000000000001”の符号が入る。2030,2130は、1次元符号か2次元符号化かを識別するTAGビットで、MR符号のパラメータであるKパラメータに応じて1次元もしくは2次元のTAGが設定される。また非圧縮ラインでは、1次元のTAGビットを用いる。
【0035】
2040は非圧縮ライン識別符号で、符号テーブルにないコードが割り当てられる。ここでは、コード”000000001”を非圧縮移行符号として用いる。2050は生画像データで、該当ラインの1ライン分の画像データがそのまま挿入される。2150は、符号データで、TAGビット(2130)に応じた1次元の符号もしくは、2次元符号が挿入される。2010,2110は、EOL(2020,2120)前に挿入されるFILLビットで非圧縮識別符号と生画像の境界がバイトバウンダリーになるように(8ビットの倍数で区切られるように)必要に応じて0が挿入される。FILLビットによるバイトバウンダリーの調整は、CPU処理の場合における高速化が主目的である。
【0036】
図4は、MH符号、MR符号、MMR符号の符号・復号時に生成される中間データであるラン・レングスデータのフォーマットを示す。2バイト(16bit)を単位として白及び黒の連続した画素数を数値で表す。各ランレングスの値は、同じ色が連続する長さを表しており、白ランは白画素の連続数、黒ランは黒画素の連続数である。例えば画像連続して3画素同じ色の場合には、ランレングスが3となる。1ラインにおける白、黒の区別は、必ず白ラン、黒ランが交互にあらわれることからラインの最初を白ランとすることで規定している。したがって常に白ランから開始し、白ラン黒ランと2バイトのランレングスデータが交互に並び、最後にライン終了コード2230として”0×FFFF”(”0×”は後に続く文字が16進数であることを示す)が挿入される。
【0037】
文字・線画の通常の原稿では、1ラインすべてが白の場合が40%程度である。例えばISOA4サイズの原稿では水平画素数は1728であるので、データ量は、生画像では1728/8=216バイトとなる。しかしながらラン・レングスの中間データでは1728画素の白ランは2バイト(”010011011”)であり、前述の終了コード2バイトと合わせて合計4バイトで表すことができる。したがって前ラインとの比較を行なうTPの判定処理においては、生画像を用いる場合よりラン・レングスデータを用いた場合が演算量が少なく如何に高速に行なえるかが容易にわかる。またTPのヒットが連続した場合には、算術符号器で参照のための元データを必要としないラインが発生する。この場合には、参照データ作成のためのランレングスデータと生画像間の変換処理もスキップすることでさらに高速な処理が可能となる。
【0038】
図5は、非圧縮MR符号の符号化時の動作を示すフローチャートである。S301からスタートし、S302で1ページの処理が終了したかどうかの判定を行なう。1ページの処理が終了していない場合は、S303へ分岐する。1ページの処理が終了した場合には、1ページの処理の終了のためS318に分岐しRTCを送出してS319で終了する。S303は、EOLコード送出で前述のEOLコードを符号として送出する。次のS304では、入力される1ライン分の画像データから上述したラン・レングスデータを生成する。そして、生成されたラン・レングスデータのデータ量をカウントしておく(S320)。次のS305で、このカウント値がある特定のしきい値を超えたならば、このラインは非圧縮該当ラインと判断して、S314以降の非圧縮ライン処理へ分岐する。そうでなければS306以降の通常のMR符号データを送出する処理を行なう。
【0039】
ここでは、非圧縮への移行の判定を実際の符号化データではなくラン・レングスデータをもとにおこなっている。これは符号効率においてもMH符号、MR符号では、ラン・レングスデータと実際の符号量にある程度相関があるため非圧縮への移行判定にラン・レングスを用いても問題ないからである。また同時に圧縮ラインにおけるラン・レングスのデータ量の上限を設定できることから、この符号をJBIGへ符号変換する時に後述のランレングスを用いたTP判定処理の演算量の上限が規定できるメリットがある。
【0040】
非圧縮該当ラインでない場合は、S306に進みKパラメータのためのカウンターが0となっているかを判定する。Kパラメータは、伝送誤りによるエラーの伝搬を防ぐために、所定の間隔でMH符号化ラインを挿入するためのパラメータであり、本実施形態では8に設定されている。Kパラメータが0の場合は1次元符号であるMH符号を送出し、それ以外の値の場合は2次元符号であるMR符号を送出する。
【0041】
MR符号を生成する場合には、S307以降の処理に進み、MH符号を生成する場合には、S312に分岐する。先にMR符号の生成の場合を説明する。S307では、MR符号ラインであることを示すTAGビットとして1を送出する。次にS308でS304で生成されたラン・レングスデータを用い1ラインのMR符号の処理をおこない符号データを送出する。S309で前述のKパラメータのカウンタの更新のためカウンターを1インクリメントする。S310でKパラメータのカウンタ値があらかじめ設定されたKパラメータの値(8)と等しいか判定し、等しいならば前記カウンタを0に戻す。S311でデータ境界をバイトパディングの合わせるためのFILLビット0を必要に応じて送出し、S302に戻る。
【0042】
一方、K=0でMH符号を生成する場合では、S312で、このラインがMH符号であることを示すTAGビットとして0を送出する。S313でS304で生成されたラン・レングスデータを用い1ライン分のMH符号を生成し送出する。以下MR符号と同様にS309,S310,S311を処理し、S302に戻る。
【0043】
S305において、ランレングスデータ量がしきい値を超えた場合には非圧縮ラインを生成する。非圧縮ラインの生成では、S314でTAGビットとして水平符号を示す0を送出する。これは、復号器の判定処理を軽減させるためである。S315で当該ラインが非圧縮であることを示す非圧縮移行符号である”000000001”を送出する。S316で入力された1ライン分の生画像データをそのまま送出する。S318でKパラメータのカウンタを0としS311でFILLを送出しS302に戻る。ここで非圧縮ラインのデータ送出時にKパラメータのカウンタを0とし、次ラインの符号化をMH符号化で行うようにしているのは、非圧縮移行した次のラインをMR符号化した場合には、通常伸長する確率が高いことまた非圧縮ラインを参照ラインとしてMR符号を生成する場合には、演算量が増大するからである。
【0044】
図6は、非圧縮併用MR符号の復号時の処理動作を示すフローチャートである。S401からスタートしまずS402でEOL符号の検出を行なう。次にS403でTAGビットの検出を行ないこのラインがMH符号かMR符号であるかを決定する。S404でTAGビットが0の場合は、そのラインの符号データがMH符号又は非圧縮画像データであるためS408に分岐する。TAGビットが1の場合は、そのラインの符号データがMR符号であるためS405以降の処理を続ける。
【0045】
S405では、MR符号をラン・レングスデータに変換しS406に進む。一方、S408では、さらに非圧縮符号の検出を行ない、非圧縮符号が検出された場合には、S410に分岐し、そうでない場合には、S409でMH符号をラン・レングスデータに変換しS406に進む。S406では前述のS402において符号データの先頭にEOLが検出されたかどうか判定し、符号データの先頭にEOLが検出された場合には、連続する2個のEOLをRTCの一部とみなしてS410に分岐する。そうでない場合には、S407でS405で生成されたラン・レングスデータを生画像に変換しS402に戻る。S410に分岐した場合には、RTCを検出しS411で終了する。一方S408で非圧縮符号が検出された場合には、S410で非圧縮符号に続くデータを1ライン分の元データそして入力されるデータをそのまま出力しS402に戻る。
【0046】
次に本実施形態の特徴となる非圧縮を併用したMR符号からJBIG符号への変換について図7のフローチャートを用いて詳細に説明する。図7は、図6の非圧縮併用MRの復号動作フローチャートにJBIGへの符号化処理を埋め込んだものである。
【0047】
S601からスタートしまず最初にS602でJBIGのヘッダファイルであるBIHを生成し送出する。2値画像ヘッダ(BIH)の構成についても前述のITU−T勧告に記載されているため詳細な説明は省略する。次に、S603で1ページの処理が終了したかを判定しそうでないならばS604へ、1ページの処理が終了した場合にはS615に分岐する。通常のMR符号におけるページ終了は前述の図6のように連続したEOLを検出することで行なうが、符号変換処理においてはすでに1ページあたりのライン数が既知であることからあらかじめ設定したページあたりのライン数をラインカウント値と比較してページ終了を検出する。1ページの処理が終了したと判定されたならば、S615で入力される非圧縮併用MR符号データからRTCを検出し、次にS616でJBIG符号化の終了処理を行ないS617で終了する。
【0048】
S604では入力される非圧縮MR符号データからEOLを検出する。次にS605で1ラインの符号データが非圧縮原画像データ、水平(1次元)符号であるMH符号、垂直(2次元)符号であるMR符号のいずれかを判定するためTAGビットを検出する。TAGビットが非圧縮原画像データ又はMH符号を示す0ならばS611へ、TAGビットがMR符号を示す1ならばS607に進む。
【0049】
S607においては、入力される垂直符号であるMR符号データから中間データであるラン・レングスデータを1ライン分生成する。S611では、TAG検出に続きさらに非圧縮符号の検出を行ない、非圧縮符号でない場合にはS612に進み入力される水平符号であるMH符号データから中間データであるラン・レングスデータを生成する。S607,S612で生成された1ライン分のラン・レングスデータは、後に典型予測及び参照ラインデータとして使用するため1次記憶される。
【0050】
なお、このラン・レングスデータは、次ラインのランレングスによる典型予測判定処理時の参照ラインとして用いるため次ラインの処理まで保持される。次にS620で、参照ラインとしてラン・レングスデータが保持されているかをチェックする。参照ラインとしてラン・レングスデータが保持されていない場合には、参照ラインが非圧縮ラインの場合である。従ってこの場合は、典型予測可能である確率が極端に低くなる。したがってS620で参照ラインとしてラン・レングスデータが保持されていない場合には、S613に分岐し、そうでない場合には、ラン・レングスデータによる典型予測を行うためS608に進む。次に、ランレングスデータは前のラインのラン・レングスデータと比較され典型予測可かどうか判定される(S608)。典型予測可能な場合には、前述の通り仮画素であるSLNTPを生成してS609で仮画素に対するモデルテンプレートからS610でAAE(算術符号)を行ない、S603に戻る。
【0051】
S608において典型予測不可と判断された場合には、生画像データから算術符号化を行なうためその符号ラインのラン・レングスデータから一度生画像データを生成する(S613)。またS611において非圧縮符号が検出された場合には、そのラインが非圧縮符号ラインのため入力されるデータ(生画像データ)をコピーして(S618)S614に進む。S614では、モデルテンプレートの作成のための非圧縮符号(復号化されたデータを含む)による参照ラインのデータが生成されているかどうかチェックする。
【0052】
生成されていない場合には、S619で、現在参照ラインデータとして記憶されているラン・レングスデータを生画像データに変換し、非圧縮符号からなる参照ラインデータを生成する。これは典型予測が可能な場合には、ランレングスデータを参照ラインのデータとして用いてためである。参照ラインのデータが揃ったらS609に進みモデルテンプレートを生成しながらS610でAAE(算術符号)を1ライン分行なった後、S603に戻る。図7においてはモデルテンプレートとAAE(算術符号)を分離してあるが、1ライン分の符号化時には、各画素毎にモデルテンプレートを作成しAAE(算術符号)を行なう。
【0053】
本実施形態では、非圧縮ラインに関しては、TP前処理を行なわないようにしている。これは、場合によっては符号化効率が変動するが、TP処理の判定のための演算量を非圧縮判定で用いたラン・レングスのデータ数の上限で制限することで高速化を図るためである。
【0054】
このフローチャートで説明したように典型予測をラン・レングスデータで行なうことで、生画像データから典型予測を行なうよりも少ない演算量で典型予測を行なうことができ、さらに典型予測のヒットが続けば、中間データであるラン・レングスから生画像への変換もスキップでき高速な処理が実現できる。
【0055】
図8は、本実施形態におけるJBIG符号から非圧縮を併用したMR符号への変換時のフローチャートである。なお説明を簡単にするため、図8においては、JBIGのマーカーコードによる処理の分岐は省略している。
【0056】
S701からスタートして、まずS702で入力されるJBIG符号のヘッダBIHを解析し、JBIGの復号に必要なパラメータを取り出す。次にS703でAAD(算術復号)を行ないS704でページ終了を判定する。ページ終了は、BIHのYd(垂直方向画素数)設定値とラインカウンタの比較かもしくは、NEWLENマーカーコードにより検出される。1ページの処理が終了したならば、S719に分岐し非圧縮併用MR符号のRTC符号を出力しS720でJBIGの復号終了処理をしS721で終了する。
【0057】
S703のAAD(算術復号)の結果からS705でテンプレートを作成しラインの先頭でSLNTPからLNTPの値を検出する(S706)。ここで、LNTP=0ならば典型予測可として前ラインで作成されているラン・レングスデータをコピーしこのラインのラン・レングスデータを作成する。LNTP=1ならばS703の1ラインの算術復号、S705のテンプレートの作成の後作成される生画像データからラン・レングスデータを作成する。S707又はS716で作成したラン・レングスデータの量をカウントしておく(S726)。
【0058】
S707又はS716でのランレングスデータの作成が終了したら、S708に進みEOLを出力する。S709以降は、図5を用いて前述した非圧縮を併用したMR符号化処理と同様で、S709で、S726でカウントしたラン・レングスデータの量がある特定のしきい値を超えたならば、このラインは非圧縮該当ラインと判断して、S722以降の非圧縮ライン処理へ分岐する。そうでなければS710以降の通常のMR符号データを送出する処理を行なう。
【0059】
非圧縮該当ラインでない場合は、S710に進みKパラメータのためのカウンターが0となっているかを判定する。本実施形態ではKパラメータは8に設定されているものとする。この結果により水平符号であるMH符号を送出するか垂直符号であるMR符号を送出するかを切り替える。MR符号を生成する場合には、S711以降の処理に進み、MH符号を生成する場合には、S717に分岐する。
【0060】
先にMR符号の生成の場合を説明する。S711では、MR符号ラインであることを示すTAGビットとして1を送出する。次にS712でS707もしくはS716で生成されたラン・レングスデータを用い1ラインのMR符号の処理をおこない符号データを送出する。S713で前述のKパラメータのカウンタの更新のためカウンターを1インクリメントする。S714でKパラメータのカウンタ値があらかじめ設定されたKパラメータの値(8)と等しいか判定し、等しいならばカウンタを0に戻す。S715でデータ境界をバイトパディングの合わせるためのFILLビット0の送出を行ないS703に戻る。
【0061】
MH符号の生成の場合では、S717で、このラインがMH符号であることを示すTAGビットとして0を送出する。S718でS707もしくはS716で生成されたラン・レングスデータを用い1ライン分のMH符号を生成し送出する。以下MR符号と同様にS713,S714,S715を処理し、S703に戻る。
【0062】
非圧縮ラインの生成では、S722でTAGビットとして水平符号を示す0を送出する。S723で当該ラインが非圧縮であることを示す非圧縮移行符号である”000000001”を送出する。S724で前段のJBIGの復号処理で得られた1ライン分の生画像をそのまま送出するLNTP=0の場合には、前のラインですでに作成されている生画像をコピーして送出する。S725でKパラメータのカウンタを0としS715でFILLを送出しS703に戻る。
【0063】
【他の実施形態】
上述の実施形態においては、非圧縮符号を併用したMR符号とJBIG間の符号変換に関して説明したが、非圧縮符号を併用したMR符号の代わりに非圧縮を併用したMH符号、通常のMH符号、MR符号、MMR符号を用いてもよい。また通常のMH符号、MR符号、MMR符号の場合では、非圧縮符号を併用した場合とは異なり、画像によっては、ラン・レングスデータの量が、生画像データの量よりも多い場合がある。このため、逆にTPの判定のための処理量が多くなる可能性がある。これを回避するためには、通常のMH符号、MR符号、MMR符号とJBIG間の符号変換の場合には、ラン・レングスのデータ量に応じて、TP判定にラン・レングスを用いるか、生画像を用いるかをTP判定時に切り替えるようにすればよい。
【0064】
また符号変換の処理に紙サイズ変換等の画像データの拡大縮小処理が挿入される場合があるが、この場合においても、拡大縮小処理としてラン・レングスデータからラン・レングスデータに変換する処理を行なうことで本実施形態における有効性が維持できる。
【0065】
また、ファクシミリ装置に限らず、いかなる装置における符号変換処理に本発明を適用してもよい。さらに、白黒画像だけでなく、カラー画像にも適用可能である。この場合はカラー画像を原色毎のプレーン分解し、各プレーンに対して本発明を適用すればよい。加えて、対象となる符号化データも画像データに限定されない。
【0066】
なお、本発明は、複数の機器(例えばホストコンピュータ,インタフェイス機器,リーダ,プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用してもよい。
【0067】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【0068】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0069】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0070】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0071】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0072】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、図7、図8のフローチャートに示す処理のうち、少なくともランレングスデータを用いて典型予測を行う処理を記憶媒体に格納することになる。
【0073】
【発明の効果】
以上説明したように、本発明によれば、符号変換時に復号化を行う手間が減少する上、再符号化時の演算処理も大幅に削減することができるという効果が得られる。特に、型予測を伴う符号化方式に適用し、画像符号化を行った場合、一般に文字・線画画像においては典型予測が可能な場合が40%程度あるため、符号変換の負荷を大幅に改善でき、高速な符号化装置が構成可能となる効果を有する。
【図面の簡単な説明】
【図1】本発明の一実施形態であるファクシミリ装置の構成を示すブロック図である。
【図2】JBIG符号化器、復号化器の概略構成を示すブロック図である。
【図3】非圧縮を併用したMR符号のデータフォーマットを示す図である。
【図4】ラン・レングスデータのフォーマットを示す図である。
【図5】非圧縮を併用したMR符号の符号化時のフローチャートである。
【図6】非圧縮を併用したMR符号の復号化時のフローチャートである。
【図7】本発明の実施形態における非圧縮を併用したMR符号からJBIG符号への符号変換動作を示すフローチャートである。
【図8】本発明の実施形態におけるJBIG符号から非圧縮を併用したMR符号への符号変換動作を示すフローチャートである。
【符号の説明】
100 CPU
110 ROM
120 RAM
130 MODEM
140 操作部
150 画像入力部
160 蓄積用符号・復号化器
170 画像形成部
180 符号変換器
190 バス

Claims (12)

  1. 入力されるデータに典型予測を用いた符号化を行う符号化方法であって、前記入力されるデータが他の符号化方法で符号化されたデータであり、前記入力されるデータから1ラインのラン・レングスデータを生成し、前記ラン・レングスデータを記憶し、複数の前記ラン・レングスデータを用いて、前記典型予測を行うことを特徴とする符号化方法。
  2. あるラインの前記典型予測を行う際、参照ラインとしての前記ラン・レングスデータが記憶されていないときは、前記典型予測を行わないことを特徴とする請求項1記載の符号化方法。
  3. 典型予測後に算術符号化を行うことを特徴とする請求項1記載の符号化方法。
  4. 前記入力されるデータが符号化データと符号化されていないデータとを含み、前記典型予測を符号化されたデータに対してのみ行うことを特徴とする請求項1記載の符号化方法。
  5. 前記他の符号化方法がMH、MR、MMRのいずれかであることを特徴とする請求項1記載の符号化方法。
  6. 典型予測不可能であれば前記ラン・レングスデータを原データに復号した後前記算術符号化を行うことを特徴とする請求項3記載の符号化方法。
  7. 入力されるデータに典型予測を行う典型予測手段を有し、所定の符号化方法を施して出力する符号化装置であって、前記入力されるデータが前記所定の符号化方法と異なる符号化方法で符号化されたデータであり、
    前記入力されるデータから1ラインのラン・レングスデータを生成する生成手段と、
    前記ラン・レングスデータを記憶する記憶手段と、
    複数の前記ラン・レングスデータを用いて、前記典型予測手段に典型予測を行わせる制御手段とを有することを特徴とする符号化装置。
  8. あるラインの前記典型予測を行う際、参照ラインとしての前記ラン・レングスデータが前記記憶手段に記憶されていないときは、前記制御手段が、前記典型予測手段に典型予測を行わせないことを特徴とする請求項7記載の符号化装置。
  9. 前記典型予測手段による典型予測後に算術符号化を行う算術符号化手段を有することを特徴とする請求項7記載の符号化装置。
  10. 前記入力されるデータが符号化データと符号化されていないデータとを含み、前記入力されるデータのうち、符号化データと符号化されていないデータとを識別する手段と、前記符号化データのみを前記典型予測手段に供給する手段を有する請求項7記載の符号化装置。
  11. 前記異なる符号化方法がMH、MR、MMRのいずれかであることを特徴とする請求項7記載の符号化装置。
  12. 典型予測不可能であれば前記ラン・レングスデータを原データに復号した後前記算術符号化を行わせる手段を有することを特徴とする請求項9記載の符号化装置。
JP26518598A 1998-09-18 1998-09-18 符号化方法及び符号化装置 Expired - Fee Related JP3619025B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP26518598A JP3619025B2 (ja) 1998-09-18 1998-09-18 符号化方法及び符号化装置
US09/395,735 US6577768B1 (en) 1998-09-18 1999-09-14 Coding method, code converting method, code converting apparatus, and image forming apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26518598A JP3619025B2 (ja) 1998-09-18 1998-09-18 符号化方法及び符号化装置

Publications (2)

Publication Number Publication Date
JP2000101445A JP2000101445A (ja) 2000-04-07
JP3619025B2 true JP3619025B2 (ja) 2005-02-09

Family

ID=17413754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26518598A Expired - Fee Related JP3619025B2 (ja) 1998-09-18 1998-09-18 符号化方法及び符号化装置

Country Status (2)

Country Link
US (1) US6577768B1 (ja)
JP (1) JP3619025B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3317954B2 (ja) * 2000-02-23 2002-08-26 エヌイーシーマイクロシステム株式会社 画像データ圧縮方法とjbig方式符号化処理方法とその装置
US6999187B2 (en) * 2001-07-02 2006-02-14 Kabushiki Kaisha Toshiba Image forming apparatus, communication system for maintenance of image forming apparatus, maintenance service method of image forming apparatus, and medium storing information to be used in maintenance
JP4773001B2 (ja) * 2001-08-17 2011-09-14 株式会社リコー 画像データ通信装置
DE102004020524A1 (de) * 2004-04-26 2005-11-10 Basell Polyolefine Gmbh Polyethylen und Katalysatorzusammensetzung zu dessen Herstellung
US7433522B2 (en) * 2005-04-15 2008-10-07 Sunplus Technology Co., Ltd. JBIG coding apparatus and method with low cost, high-performance ping-pong buffer arrangement
JP5822411B2 (ja) * 2013-08-12 2015-11-24 株式会社アポロジャパン 画像情報のコード変換装置、画像情報のコード変換方法、画像コードを用いた画像関連情報提供システム、画像情報のコード変換プログラム、及びそのプログラムを記録した記録媒体
US10831577B2 (en) * 2015-12-01 2020-11-10 Preferred Networks, Inc. Abnormality detection system, abnormality detection method, abnormality detection program, and method for generating learned model
JP7040058B2 (ja) * 2018-01-31 2022-03-23 株式会社リコー 符号化装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2912736B2 (ja) * 1991-08-01 1999-06-28 松下電送システム株式会社 符号化および復号化方法
US5655032A (en) * 1992-08-20 1997-08-05 Canon Kabushiki Kaisha Coding method and apparatus therefor
US5991450A (en) 1995-09-06 1999-11-23 Canon Kabushiki Kaisha Image encoding and decoding apparatus
JP3409552B2 (ja) * 1995-12-27 2003-05-26 三菱電機株式会社 ディジタル情報符号化装置、ディジタル情報復号化装置、及びディジタル情報符号化・復号化装置
US5859604A (en) * 1997-01-14 1999-01-12 International Business Machines Corporation Merged VLSI implementation of hardware optimized Q-Coder and software optimized QM-Coder
US6002814A (en) * 1998-04-14 1999-12-14 Hewlett-Packard Company Means and method for configuring a data processing pipeline

Also Published As

Publication number Publication date
JP2000101445A (ja) 2000-04-07
US6577768B1 (en) 2003-06-10

Similar Documents

Publication Publication Date Title
JP3108479B2 (ja) 符号化復号化方法およびその装置
JP3260910B2 (ja) 符号化方法
EP0504903A2 (en) Apparatus for and method of preprocessing binary picture data prior to run-length encoding
JP3619025B2 (ja) 符号化方法及び符号化装置
EP0902398B1 (en) Method and system for compressing and decompressing binary representations of dithered images
US5406282A (en) Data coding and decoding with improved efficiency
US6385341B1 (en) Technique for decoding variable length data codes
JPH07264417A (ja) 画像符号化方法
JP2001332976A (ja) 画像処理装置及び画像処理方法
JP2004221998A (ja) 画像処理装置
JP3281183B2 (ja) 画像符号化復号化方法および画像符号化復号化装置
JP4260908B2 (ja) ランレングス符号化方法および画像処理装置
JP2000217003A (ja) 符号化装置および復号化装置
JP2001217722A (ja) 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体
US20020051212A1 (en) Image storage apparatus, image storage method, and storage medium
JP3361201B2 (ja) 画像符号化装置および画像符号化復号化装置および画像符号化復号化方法
JP3864681B2 (ja) 画像データ符号化装置、画像データ符号化方法、記録媒体及び画像形成装置
JP3363698B2 (ja) 多階調画像の符号化装置
JP2790755B2 (ja) ファクシミリ装置
JP3852237B2 (ja) 画像処理装置
JP3750454B2 (ja) 画像データ符号化装置、画像データ符号化方法、記録媒体及び画像形成装置
JP3321226B2 (ja) 符号化復号化方法
US5379123A (en) Facsimile apparatus having improved coding for transmission of plural images without interruption
JP2001078042A (ja) 画像伸長処理装置および画像圧縮処理装置
KR0128667B1 (ko) Mh코드 디코딩 장치 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040506

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040514

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041008

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: 20041025

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041111

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: 20071119

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees