JP4080658B2 - Encoding / decoding device - Google Patents
Encoding / decoding device Download PDFInfo
- Publication number
- JP4080658B2 JP4080658B2 JP2000015697A JP2000015697A JP4080658B2 JP 4080658 B2 JP4080658 B2 JP 4080658B2 JP 2000015697 A JP2000015697 A JP 2000015697A JP 2000015697 A JP2000015697 A JP 2000015697A JP 4080658 B2 JP4080658 B2 JP 4080658B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- encoding
- decoding
- encoders
- decoders
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ファクシミリ装置、スキャナ装置、デジタルカメラ、画像データファイリング装置等の、画像データ圧縮を用いる機器や画像データを圧縮伸長する機器に好適な符号化復号化装置に関し、特に、複数の符号器・復号器を備え、複数チャネルでの画情報の符号化復号化処理を同時的に実行可能な符号化復号化装置に関する。
【0002】
【従来の技術】
従来、ファクシミリシステム等の圧縮符号化を必要とするシステムをハードウェアにより実現する場合、符号化方式をハードウェア化し、システムの共通I/Oに接続する構成をとっている。
【0003】
例えば、ファクシミリで用いられる汎用的な符号化方式はLSI化され様々なものが提供されており、LSI化された符号化回路は、データバスに接続され、CPUによりデータの入出力を行ったり、あるいはDMAにてデータの入出力が行われるような構成とされている。
【0004】
昨今では、システムのコストダウンや、パフォーマンス向上を目的として、従来LSIとして供給されてきた符号化方式を他回路と併せて集積化し、システムの大部分をワンチップ化する機会が増えている。
【0005】
半導体技術の進歩に伴って、同一面積に集積される半導体の数量は、より微細な加工技術の適用により増加の一途をたどっているが、依然、ファクシミリシステムのような画像を扱うシステムを実現するチップにおいては、メモリがチップ面積の多くを占有するという問題がある。
【0006】
ファクシミリで用いられる符号化方式において、MR(Modified Relative Element Address Designate)方式やMMR(Modified MR)方式(ITU-T T. 4)は2次元符号化と呼ばれ、符号化ラインとその前ラインとの関係を用いて符号化を進めていく方式であるため、符号化しているラインの1ライン前のデータを参照のため保持しておく必要がある。さらに、JBIG(Joint Bi-level Image experts Group : ITU-T T.82, ISO/IEC 11544, JIS X 4311)方式をファクシミリに用いる場合には、2ライン前のデータまで保持しておく必要がある。
【0007】
すなわち、符号化を行う場合には参照ラインが必要となる。従来は、それぞれの符号化LSIにメモリを取り付けるか、あるいはLSI自体にメモリが内蔵されており、そこに参照ラインの画像を記録しておくか、またはシステムからDMAによって、あるいはCPUアクセスによって参照ラインを供給していた。
【0008】
メモリ(一般には半導体メモリ)を参照ライン保持のために用いる場合、必要なサイズは符号化しようとする画像の主走査の画素数で決定される。ファクシミリの通常解像度でA4サイズの場合ならば、主走査画素数は1728であるためMRやMMRにおける参照メモリは1728ビットが最低限必要となる。
【0009】
DMAあるいはCPUアクセスにより参照ラインを供給する場合は、システム側のメモリを利用しているために符号器側にメモリ手段を持つ必要はなく、ハードウェア量は少ないが、システム側から入力するデータ量が2倍(現ライン画像と、参照ライン画像)となるため、バス負荷が大きくなり、システムパフォーマンスは低下するという問題があるため、パフォーマンス向上のためにはメモリを符号器側で持つ方が有利となる。
【0010】
実際にシステムにおいて処理する画像データは様々なサイズがあるため、必要となるメモリ量はその時々で様々である。また、通信時は相手先の機能に合わせて符号化方式を選択し符号化(あるいは復号化)を行う必要が生じるため、複数種類の符号化方式を選択的に使用する必要がある。さらに、符号器を同時に複数個使用するような事態、例えば、符号化処理または復号化処理を伴う通信中に、画像を読みとり符号化圧縮してメモリに蓄積する場合などでは、複数個の符号器あるいは復号器が同時に(時分割も含む)動作することになる。
【0011】
【発明が解決しようとする課題】
このような複数の符号化処理または/及び復号化処理に同時に対応する必要があるシステムにおいては、同時に必要となる符号化や復号化処理の方式および符号化しようとする画像サイズの組み合わせは多様で、必要となるメモリサイズも様々に変化する。
【0012】
そのため、例えば、一つの符号器で処理する最大主走査サイズが2432画素(ファクシミリ通常解像度のA3サイズ)であるとすると、A4サイズ、主走査1728画素の原稿を処理する場合には、参照メモリに使用しない部分が生じることになる。
【0013】
また、同じファクシミリの送信を行う場合においても、相手先がMMRを受信できる場合とJBIGを受信できる場合では、動作させる必要のある符号器あるいは復号器の組み合わせが異なる。
【0014】
すなわち、同じ送信動作においても、一部の符号器あるいは復号器が動作していない状態(例えば上の例であると、相手先がMMRを受信できる場合は、JBIGを持っていても使用しておらず、相手先がJBIGの場合はMMRを持っていても使用していない)が生じ、個々の符号器あるいは復号器に個別にメモリを付ける構成では、メモリの無駄が生じてしまうという問題点があった。
【0015】
本発明は以上のような問題点を解決するためになされたものであり、メモリの無駄を省き、できるだけ少ないメモリ量で必要な符号化復号化動作を行うことができる符号化復号化装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するため、請求項1記載の符号化復号化装置は、複数の符号器・復号器を備え、複数チャンネルでの画情報の符号化復号化処理を同時的に実行可能な符号化復号化装置であって、参照ライン画像を含む、符号化復号化処理に必要な情報を記憶するためのメモリ手段と、前記メモリ手段を前記各符号器・復号器に割り当て、前記メモリ手段のデータの授受の制御を行うメモリ制御手段と、前記メモリ手段で使用中のアドレス情報を記憶するアドレス記憶手段とを有し、前記メモリ制御手段は、符号化復号化しようとしている画像の主走査サイズと、前記アドレス情報とにより、前記メモリ手段のメモリ空間のうち前記符号器または復号器に割り当てる個々のメモリ空間を算出し、算出した該メモリ空間を前記符号器または復号器に割り当てるとともに、メモリ解放要求に基づき該メモり解放要求で指定されたメモリ空間のメモリアドレス情報を消去することを特徴とする。
【0018】
請求項2記載の符号化復号化装置は、請求項1に記載の符号化復号化装置において、前記メモリ制御手段におけるメモリ制御のためのアドレス設定は、外部のアドレス設定手段からのソフトウェア設定によりなされることを特徴とする。
【0021】
請求項3記載の符号化復号化装置は、請求項1に記載の符号化復号化装置において、前記メモリ制御手段と、前記各符号器・復号器が、DMAインタフェースにより接続されることを特徴とする請求項1に記載の符号化復号化装置。
【0022】
請求項4記載の符号化復号化装置は、請求項1に記載の符号化復号化装置において、前記メモリ制御手段と、前記各符号器・復号器が、CPUインタフェースにより接続されることを特徴とする。
【0023】
請求項5記載の符号化復号化装置は、請求項1に記載の符号化復号化装置において、前記メモリ制御手段は、前記各符号器・復号器において、一度に複数ラインの参照が必要な場合には、他の符号化チャンネルに制御を移すことなく、連続的に参照ラインを渡すことを特徴とする。
【0024】
請求項6記載の符号化復号化装置は、請求項1に記載の符号化復号化装置において、前記メモリ制御手段は、符号化復号化チャンネルの優先順位に応じて、前記メモリ手段の割り当てを行い、前記各符号器・復号器に対して前記優先順位に応じたデータ転送を行うことを特徴とする。
【0025】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明の実施の形態を詳細に説明する。
【0026】
先ず、図1に、符号化復号化装置が適用される装置の一例としてのファクシミリ装置1のブロック図を示す。
【0027】
同図において、操作表示部101はマンマシンインタフェースを行う部分で、外部からのコマンド入力、及びステータスの表示等の機能を持つ。スキャナ部102は原稿を読みとり画像データとしてシステムに供給する。読みとられた画像データは、符号化復号化装置106あるいは符号化復号化装置111により圧縮符号化され、一旦メモリ105に記憶される。符号データは、通信制御部113を介しモデム114により変調され、網制御装置115の制御に従い回線へと送出される。システム制御部104は装置全体の制御を行う。システムのデータの授受はバス116を介して行われる。
【0028】
受信時は網制御装置115の制御に応じて回線より入力された信号をモデム114により復調し、通信制御部113を介してシステムに受信される。受信したデータは一旦メモリ105に記憶され、符号化復号化装置106あるいは符号化復号化装置111により復号化され、プロッタ部103により記録排出される。
【0029】
このようなファクシミリシステムにおいて、従来、例えば符号化復号化装置106や符号化復号化装置111は、単体のLSIにより構成されていた。
【0030】
符号化復号化装置106においては、前述の参照メモリ107は単体のLSIで構成される符号化復号化装置106に対して外付けのRAMで構成されており、符号化復号化装置106と参照メモリ107との間はローカルバス118によってインターフェースされている。また、符号化復号化装置106とシステムの間のインタフェース117は、DMAあるいはCPUアクセスの方法でインタフェースされている。
【0031】
一方、符号化復号化装置111においては、参照メモリ109はLSI内部に内蔵の形を採っている。このLSIの内部にはモジュールとして符号器108、復号器110が内蔵されており、それぞれが内部バス112に接続されている。符号器108、復号器110とも内部の参照メモリ109を使用するようにしており符号化動作あるいは復号化動作の際にLSIの内蔵メモリを用いることで処理を行う。
【0032】
そのような従来構成の符号化復号化装置106や111に代えて、図2に示す、符号化復号化装置201をファクシミリ装置1に適用することができる。
【0033】
図2において、符号化復号化装置201は、2チャンネルの符号化・復号化が同時動作可能なものの一例である。
【0034】
符号化復号化装置201には符号器あるいは復号器で必要な情報を記憶するためのメモリ手段202を内蔵していて、メモリ制御手段203により、その読み取り書き込みが行われる。
【0035】
メモリ制御手段203は、第1符号器206、第2符号器207、第1復号器208、第2復号器209の4つのモジュールのうち、同時に2つが動作するようなメモリ制御及びデータ転送を行う。外部とのインタフェースは第1チャンネルI/O204及び第2チャンネルI/O205で行われる。
【0036】
2チャンネル同時動作の組み合わせとしては、符号器が2つ同時に動く場合、符号器と復号器が1つずつ同時に動く場合、復号器が2つ同時に動く場合の3種類がある。実際には、4つの符号器/復号器を内蔵しているのであるから、4チャンネルの同時動作をさせることも可能であるが、本発明において問題としているのは、それだけの同時動作が必要ない場合であり、2つしか同時動作する必要がない場合は、結局メモリとしては2つの符号器/復号器分のメモリを内蔵すればよく、個々の符号器・復号器にメモリを付ける場合に比較して必要メモリ量は半分となる。さらに複数符号器・復号器の同時動作が必要ない場合は1つの符号器あるいは復号器でメモリがフルに使用できるため、2倍の主走査サイズの画像データの処理が可能となる。
【0037】
図3に図2に示した符号化復号化装置201のうちの、メモリ制御手段203の内部構成を具体的に示すと共に、メモリ制御手段203と他の構成とのデータ授受関係について示す。
【0038】
図3において、メモリ制御手段301は、制御手段302にて全体の動作が制御される。メモリ手段202の中の使用されているアドレスについては、アドレス記憶手段304に記憶するようにしており、その内容を元に、空きメモリのアドレスを取得することが可能である。制御手段302は処理が開始されると、符号器または復号器206、207、208、209の設定レジスタ(図示せず)を読み出し、処理しようとしている画像の主走査サイズを取得する。
【0039】
制御手段302は取得した主走査サイズと、アドレス記憶手段304に記憶されている現在使用されているメモリアドレス情報より、この符号器あるいは復号器206、207、208、209に割り当てるメモリ空間を算出する。その結果に応じて、メモリアクセス制御手段306はアドレス発生手段305に必要なアドレスを発生させるように制御し、さらにメモリアクセスに必要な信号を生成し、メモリ手段308への書き込み、あるいは読み出しを制御する。また、I/O制御手段302は、符号器または復号器206、207、208、209との間のデータの授受を制御する。この例ではデータのやりとりはデータバス307を介して行われる。
【0040】
メモリ制御手段203における、メモリ空間の割り当ては、符号器あるいは復号器206、207、208、209の動作に応じて、動的にメモリ空間を割り当てるものであり、メモリの無駄な領域を発生させないで、処理を進めることができる。
【0041】
図4に図3に示したメモリ制御手段203におけるメモリ割り当て処理手順について示す。なお、図4に示す処理手順においては、符号器あるいは復号器206、207、208、209による処理のスタートコマンドが発行された時点で、メモリ新規取得要求が発生し、処理ストップコマンドあるいはハード的に処理が終了する場合(例えば原稿読みとりが終了する場合)等にメモリ解放要求が発生するものとしている。
【0042】
同図において、メモリ制御手段203は、メモリ新規取得要求があるか、または、メモリ解放要求があるかを常時監視している(判断1001のNo、判断1002のNoループ)。
【0043】
そして、メモリ新規取得要求があると(判断1001のYes)、主走査サイズを符号器または復号器から取得し(処理1003)、アドレス記憶手段305の内容から空いているメモリアドレスを検索し(処理1004)、処理1003で取得した主走査サイズに応じて使用するメモリアドレスを決定して(処理1005)、判断1001に戻る。
【0044】
メモリ解放要求があった場合には(判断1002のYes)、アドレス記憶手段305の内容から解放要求のあったメモリアドレスを消去して(処理1006)、判断1001に戻る。
【0045】
図5に第2実施形態に係るメモリブロックの概念図を示す。メモリ手段202は、ブロック1ないしnの各ブロック単位で管理される。
【0046】
図2の第1実施形態に係る符号化復号化装置201において、メモリアドレスの割り当てに際して、連続したメモリ空間から必要なサイズのメモリを切り出し、そのアドレスを算出するのは、ハード的には加減算等の処理が入るため回路規模が増大する。一方、メモリをこの第2実施形態のようにブロック単位で扱うことで、単純に、1ブロックで足りない場合もう1ブロック使用するといった制御となり、アドレスの細かい計算が必要なくなる。そのため制御回路の規模が減少する。
【0047】
また、図5に示す各単位のメモリブロックのサイズは、符号器あるいは復号器206、207、208、209で最小限持たなければならない主走査サイズ(主走査方向の画素数)にしておく。例えばファクシミリ用の符号化/復号化を行う場合はA4-200dpiとなり1728ビットはシステムとして最低限持たなければならない。
【0048】
そのため1728ビットを1ブロックとすると、例えばコピー用にA4-600dpi読みとりが発生するような場合は3ブロックを使用すればよいと言うことが簡単に得られる。システムにおける画像の主走査サイズは一般にいくつかのパターンしかないため、主走査サイズに応じた必要ブロック数をテーブルにしておくような構成にすると、回路はより単純化される。
【0049】
また、複数の符号器/復号器206、207、208、209でメモリを使用している場合、様々なサイズや方式での符号化あるいは復号化が開始したり終了したりしていくと、割り当てられるメモリが不連続となってメモリ制御手段203の制御が複雑化してしまう。この点でも、ブロック割り当ての場合は、アドレスの連続性を少なくともA4-200dpi分は(この例の場合)保つことができる。
【0050】
図6に、図4に示したメモリ割り当て処理手順の変形例である、ブロック単位のメモリ割り当て処理手順について示す。
【0051】
同図において、メモリ制御手段203は、メモリ新規取得要求があるか、または、メモリ解放要求があるかを常時監視している(判断2001のNo、判断2002のNoループ)。
【0052】
そして、メモリ新規取得要求があると(判断2001のYes)、主走査サイズを符号器または復号器から取得し(処理2003)、アドレス記憶手段305の内容から空いているメモリブロックを検索し(処理2004)、処理2003で取得した主走査サイズに応じて使用するメモリブロックを決定して(処理2005)、判断2001に戻る。
【0053】
メモリ解放要求があった場合には(判断2002のYes)、アドレス記憶手段305の内容から解放要求のあったメモリブロックを消去して(処理2006)、判断2001に戻る。
【0054】
図7に、図2及び図3に示した符号化復号化装置201のメモリ制御手段203の構成の変形例を示す。
【0055】
図7に示す変形例では、メモリ制御手段203のメモリ制御のための、メモリアクセス制御手段へのアドレス設定を、アドレス記憶手段304と制御手段302とにより、メモリ制御手段203内部で条件に応じたアドレス設定をするのではなく、符号化復号化装置201外部の外部制御手段308から、ソフトウェア制御によるメモリアクセスでアドレスを設定するようにしている。外部制御手段308としては、例えば、ファクシミリ装置1のシステム制御部14がなりえる。
【0056】
このようにすることで、ハードウェアで固定されたメモリアドレスの割り当てアルゴリズムを用いることなく、よりシステムに適合したアルゴリズムによりメモリ割り当てを行うようなシステムとすることが可能になる。さらに、メモリ割り当てアルゴリズム用のハードウェアが不要となるためコストダウンが可能となる。
【0057】
また、図2に示した符号化復号化装置201において、内蔵する符号器あるいは復号器206、207、208、209のそれぞれのインタフェース210、211、212、213をDMAインタフェースとすることができる。
【0058】
つまり、復号器206、207、208、209のそれぞれのインタフェース210、211、212、213を例えば制御信号がRequest、Acknowledge、Strobeで構成されるDMAインタフェースとすることができる。
【0059】
そのようにすることで、内蔵する符号器や復号器を部品として考えた場合に、それぞれが直接他のシステムにおけるCPUインタフェースに接続することが可能となり、IP(Intellectual Property)としての応用範囲が広がる。
【0060】
また、図2に示した符号化復号化装置201において、内蔵する符号器あるいは復号器206、207、208、209のそれぞれのインタフェース210、211、212、213をCPUインタフェースとすることができる。
【0061】
つまり、復号器206、207、208、209のそれぞれのインタフェース210、211、212、213を例えば制御信号がAddress、Chip Select、Strobeで構成されるCPUインタフェースとすることができる。
【0062】
そのようにすることで、内蔵する符号器や復号器を部品として考えた場合に、それぞれが直接他のシステムにおけるCPUインタフェースに接続することが可能となり、IP(Intellectual Property)としての応用範囲が広がる。
【0063】
図8に、図2及び図3に示す符号化復号化装置201におけるメモリアクセススケジューリングの一例を示す。
【0064】
同図(a)に示すメモリアクセススケジューリングのタイミングチャートは、第1符号器206と第2符号器207とが交互に均等にメモリアクセスする場合を示している。なお、「1」が記された期間が第1符号器206によるアクセス期間を示し、「2」が記された期間が第2符号器207によるアクセス期間を示していて、それは、同図(b)及び後述する図9においても同様である。
【0065】
符号化復号化装置201では、例えば、JBIGのように現符号化ラインの2ライン前までを参照するような符号器である場合に、複数のチャンネルが同時動作している場合に、図8(a)のようにそれぞれ1回ずつ交互に参照メモリの転送を行っていると、1ラインしか参照メモリが必要ない符号化あるいは復号化処理に対して、JBIGの処理は2分の1の速度でしか必要な情報をもらえないこととなり、JBIGの処理速度が低下してしまう。
【0066】
そこで、図8(b)のように2ライン分の参照メモリの転送が必要な場合には、連続的に参照画像を転送するようにすることでシステム全体の動作のばらつきを少なくすることができ、結果的にシステムのパフォーマンスを向上できる。
【0067】
それは、例えばファクシミリのメモリ送信の場合、一旦符号化してメモリに蓄積した画像を、送信時には一旦復号化し、さらに送信先が受信できる符号化方式に変換して送信するが、蓄積している符号化方式と、送信時に用いる符号化方式の処理速度に差がある場合は、途中のバッファメモリが増大したり、速い方が遅いほうを待つ必要があるため、結局処理に必要な時間が遅いほうの処理速度で決まることとなるためである。
【0068】
図9に、図2及び図3に示す符号化復号化装置201におけるメモリアクセススケジューリングの別例を示す。
【0069】
例えばシステム上で、通信時の解像度と、読み取り蓄積の解像度が違う(読みとりの方の解像度が高い)ような場合、同じ圧縮符号化を行う場合でも、主走査のサイズが異なることになる。例えば読みとりがA4-600dpiであり、送信がA4-200dpiである場合、1ラインのデータ量は3倍になる。これを、図9(a)に示すように、同じスケジューリングで符号化した場合は、1ページの処理にかかる時間が、当然200dpiの方は短く600dpiの場合は長くなり、アンバランスとなる。
【0070】
そのため、図9(b)または(c)に示すように、解像度の高い画像の方(ここでは第1符号器206が処理している画像)にデータを与える機会を増やすことで、全体の処理のすすみ具合のバランスがとれることとなる。すなわちこのような場合は、解像度の高い画像の流れるタスクの方の優先度を上げておき、そちらの転送数を増やすように制御するようにすればよいことになる。優先度に関しては、解像度だけでなく、その他システム動作上必要な条件によって割り当ててよいのは言うまでもない。
【0071】
なお、以上説明した実施形態においては、本発明に係る符号化復号化装置をファクシミリ装置に適用したが、本発明は、それに限らず、スキャナ装置、デジタルカメラ、画像データファイリング装置等への多様な適用が可能なものである。
【0072】
【発明の効果】
請求項1に係る発明によれば、前記メモリ制御手段は、動作する符号器あるいは復号器のそれぞれの処理する画像の主走査サイズ及び同時動作数に応じて、前記メモリ手段をそれぞれの符号器復号器に割り当てるとともに、メモリ解放要求に基づき該メモり解放要求で指定されたメモリ空間のメモリアドレス情報を消去するようにしているため、使用するメモリに無駄が生じず、結果的に少ないメモリで符号化復号化動作を実現することができ、ハードウェア量を減らした低コストな符号化復号化装置を実現することが可能となる効果が得られる。
【0074】
請求項2に係る発明によれば、請求項1と同様の効果に加えて、メモリ制御のアドレス設定のアルゴリズムをソフトウェアにより実現しているため、メモリ制御に際してハードウェアによるものより割り当て条件変更等に柔軟に対応でき、さらにハードウェアを少なくでき、低コスト化が可能となる効果が得られる。
【0077】
請求項3に係る発明によれば、請求項1と同様の効果に加えて、前記メモリ制御手段と、前記各符号器・復号器とのデータのやりとりがDMAインターフェースを介して行われるため、各符号器・復号器をIP(Intellectual Property)として考えた場合、内蔵する符号器あるいは復号器のそれぞれが単体でもDMAインタフェースを介してシステムに接続できるようになる利点がある。
【0078】
請求項4に係る発明によれば、請求項1と同様の効果に加えて、前記メモリ制御手段と、前記各符号器・復号器とのデータのやりとりがCPUインタフェースを介して行われるため、各符号器・復号器をIP(Intellectual Property)として考えた場合、内蔵する符号器あるいは復号器のそれぞれが単体でもCPUインタフェースを介してシステムに接続できるようになる利点がある。
【0079】
請求項5に係る発明によれば、請求項1と同様の効果に加えて、複数ラインの参照が必要な符号器または復号器のモジュールに対しては、連続的に参照ラインを渡すよう制御しているため、複数の符号器、復号器が同時に動作しているような場合に、複数の参照ラインが必要な符号器あるいは復号器において参照ラインの転送待ちの時間が少なくて済むようになり、符号化復号化装置全体として、処理速度を向上させることが可能となる効果が得られる。
【0080】
請求項6に係る発明によれば、請求項1と同様の効果に加えて、大きな画像を処理している場合などのように、多くのデータ転送が発生する場合に、そのような符号器あるいは復号器に対し、優先的にデータ転送を行うようにしているので、システム全体としての処理速度を向上させることが可能となる効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係る符号化復号化装置が適用されるファクシミリ装置のブロック構成について示す図である。
【図2】本発明の実施の形態に係る符号化復号化装置のブロック構成について示す図である。
【図3】本発明の実施の形態に係る符号化復号化装置のメモリ制御手段のブロック構成等について示す図である。
【図4】本発明の実施の形態に係る符号化復号化装置のメモリ制御手段におけるメモリ割り当て処理手順について示すフローチャートである。
【図5】メモリブロック構成について示す図である。
【図6】本発明の実施の形態に係る符号化復号化装置のメモリ制御手段におけるブロック単位のメモリ割り当て処理手順について示すフローチャートである。
【図7】本発明の実施の形態に係る符号化復号化装置のメモリ制御手段のブロック構成等について示す図3とは別の図である。
【図8】本発明の実施の形態に係る符号化復号化装置におけるメモリアクセススケジューリングについて示す模式図である。
【図9】本発明の実施の形態に係る符号化復号化装置におけるメモリアクセススケジューリングについて示す図8とは別の模式図である。
【符号の説明】
1 ファクシミリ装置
101 操作表示部
102 スキャナ部
103 プロッタ部
104 システム制御部
105 メモリ
106 符号化復号化装置
107 参照メモリ
108 符号器
109 参照メモリ
110 復号器
111 符号化復号化装置
112 内部バス
113 通信制御部
114 モデム
115 網制御部
116 バス
117 インターフェース
118 ローカルバス
201 符号化復号化装置
202 メモリ手段
203 メモリ制御手段
204 第1チャンネルI/O
205 第2チャンネルI/O
206 第1符号器
207 第2符号器
208 第1復号器
209 第2復号器
210、211、212、213 インターフェース
302 制御手段
303 I/O制御手段
304 アドレス記憶手段
305 アドレス発生手段
306 メモリアクセス制御手段
307 データバス
308 外部制御手段[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encoding / decoding device suitable for a device using image data compression or a device for compressing / decompressing image data, such as a facsimile device, a scanner device, a digital camera, and an image data filing device, and more particularly, a plurality of encoders. The present invention relates to an encoding / decoding device that includes a decoder and can simultaneously execute encoding / decoding processing of image information in a plurality of channels.
[0002]
[Prior art]
Conventionally, when a system requiring compression encoding such as a facsimile system is realized by hardware, the encoding method is realized by hardware and connected to a common I / O of the system.
[0003]
For example, a wide variety of general-purpose encoding methods used in facsimiles are provided as LSIs, and the LSI-based encoding circuit is connected to a data bus, and the CPU inputs and outputs data. Alternatively, the data is input / output by DMA.
[0004]
In recent years, for the purpose of reducing the cost of the system and improving the performance, there has been an increased opportunity to integrate the coding system that has been supplied as an LSI together with other circuits to make most of the system into one chip.
[0005]
With the advancement of semiconductor technology, the number of semiconductors integrated in the same area has been steadily increasing due to the application of finer processing technology, but still realizes a system that handles images like a facsimile system. In the chip, there is a problem that the memory occupies much of the chip area.
[0006]
Among the coding methods used in facsimile, the MR (Modified Relative Element Address Designate) method and the MMR (Modified MR) method (ITU-T T.4) are called two-dimensional coding. Therefore, it is necessary to retain the data one line before the encoded line for reference. Furthermore, when using the JBIG (Joint Bi-level Image experts Group: ITU-T T.82, ISO / IEC 11544, JIS X 4311) system for facsimiles, it is necessary to retain data up to two lines before. .
[0007]
That is, when encoding is performed, a reference line is required. Conventionally, a memory is attached to each coding LSI, or a memory is built in the LSI itself, and an image of a reference line is recorded there, or a reference line by DMA from the system or by CPU access. Was supplying.
[0008]
When a memory (generally a semiconductor memory) is used to hold a reference line, the required size is determined by the number of pixels in the main scan of the image to be encoded. If the normal resolution of the facsimile is A4 size, the number of main scanning pixels is 1728, so the reference memory in MR or MMR requires 1728 bits as a minimum.
[0009]
When the reference line is supplied by DMA or CPU access, it is not necessary to have memory means on the encoder side because the system side memory is used, and the amount of data input from the system side is small although the amount of hardware is small Is doubled (current line image and reference line image), which increases the bus load and lowers the system performance. Therefore, it is advantageous to have a memory on the encoder side to improve performance. It becomes.
[0010]
Since the image data actually processed in the system has various sizes, the required memory amount varies from time to time. Further, since it becomes necessary to select (encode) (or decode) an encoding method according to the function of the other party during communication, it is necessary to selectively use a plurality of types of encoding methods. Furthermore, in situations where a plurality of encoders are used at the same time, for example, when a picture is read, encoded and compressed and stored in a memory during communication involving an encoding process or a decoding process, a plurality of encoders are used. Alternatively, the decoder operates simultaneously (including time division).
[0011]
[Problems to be solved by the invention]
In such a system that needs to support a plurality of encoding processes or / and decoding processes simultaneously, there are various combinations of encoding and decoding processing methods and image sizes to be encoded that are required at the same time. The required memory size changes variously.
[0012]
Therefore, for example, assuming that the maximum main scanning size processed by one encoder is 2432 pixels (A3 size of normal facsimile resolution), when processing an A4 size original document with 1728 pixels, it is stored in the reference memory. The part which is not used will arise.
[0013]
Even when the same facsimile is transmitted, the combination of encoders or decoders that need to be operated differs depending on whether the other party can receive MMR or JBIG.
[0014]
That is, even in the same transmission operation, some encoders or decoders are not operating (for example, in the above example, if the other party can receive MMR, use it even if you have JBIG) If the other party is JBIG, it will not be used even if it has MMR), and in the configuration in which each encoder or decoder has its own memory, memory is wasted. was there.
[0015]
The present invention has been made to solve the above-described problems, and provides an encoding / decoding device capable of performing necessary encoding / decoding operations with as little memory as possible while eliminating waste of memory. The purpose is to do.
[0016]
[Means for Solving the Problems]
In order to achieve the above object, an encoding / decoding device according to
[0018]
[0021]
Claim 3 The encoding / decoding device according to
[0022]
Claim 4 The encoding / decoding device according to the first aspect is characterized in that, in the encoding / decoding device according to
[0023]
Claim 5 In the encoding / decoding device according to
[0024]
Claim 6 The encoding / decoding device according to
[0025]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0026]
First, FIG. 1 shows a block diagram of a
[0027]
In the figure, an
[0028]
At the time of reception, the signal input from the line is demodulated by the modem 114 under the control of the network control device 115 and received by the system via the communication control unit 113. The received data is temporarily stored in the
[0029]
In such a facsimile system, conventionally, for example, the encoding / decoding device 106 and the encoding /
[0030]
In the encoding / decoding device 106, the
[0031]
On the other hand, in the encoding /
[0032]
An encoding /
[0033]
In FIG. 2, the encoding /
[0034]
The encoding /
[0035]
The memory control means 203 performs memory control and data transfer so that two of the four modules of the
[0036]
There are three types of combinations of two-channel simultaneous operations: two encoders moving simultaneously, one encoder and decoder moving simultaneously, and two decoders moving simultaneously. Actually, since four encoders / decoders are built in, it is possible to operate four channels simultaneously, but the problem in the present invention is that there is no need for such simultaneous operations. If only two need to operate at the same time, the memory for the two encoders / decoders should be built in as a memory. Compared to the case where each encoder / decoder has a memory. Thus, the amount of memory required is halved. Furthermore, when simultaneous operation of a plurality of encoders / decoders is not required, the memory can be fully used by one encoder or decoder, so that it is possible to process image data having a double main scanning size.
[0037]
FIG. 3 specifically shows an internal configuration of the
[0038]
In FIG. 3, the entire operation of the memory control unit 301 is controlled by the
[0039]
The control means 302 calculates the memory space allocated to this encoder or
[0040]
The memory space allocation in the memory control means 203 is to dynamically allocate the memory space according to the operation of the encoder or
[0041]
FIG. 4 shows a memory allocation processing procedure in the memory control means 203 shown in FIG. In the processing procedure shown in FIG. 4, when a processing start command is issued by the encoder or
[0042]
In the figure, the memory control means 203 constantly monitors whether there is a new memory acquisition request or a memory release request (No in
[0043]
If there is a new memory acquisition request (Yes in decision 1001), the main scanning size is acquired from the encoder or decoder (process 1003), and a free memory address is searched from the contents of the address storage means 305 (process). 1004), a memory address to be used is determined according to the main scanning size acquired in the processing 1003 (processing 1005), and the processing returns to the
[0044]
If there is a memory release request (Yes in decision 1002), the memory address requested to be released is erased from the contents of the address storage means 305 (process 1006), and the process returns to
[0045]
FIG. 5 shows a second embodiment. Pertaining to A conceptual diagram of a memory block is shown. The memory means 202 is managed in units of
[0046]
In the encoding /
[0047]
Further, the size of the memory block of each unit shown in FIG. 5 is set to the main scanning size (the number of pixels in the main scanning direction) that must be minimized by the encoder or
[0048]
Therefore, if 1728 bits are taken as one block, for example, when A4-600 dpi reading occurs for copying, it can be easily obtained that three blocks should be used. Since the main scanning size of the image in the system generally has only a few patterns, the circuit is further simplified if the required number of blocks corresponding to the main scanning size is tabulated.
[0049]
In addition, when a plurality of encoders /
[0050]
FIG. 6 shows a memory allocation processing procedure in units of blocks, which is a modification of the memory allocation processing procedure shown in FIG.
[0051]
In the figure, the memory control means 203 constantly monitors whether there is a new memory acquisition request or a memory release request (No in
[0052]
If there is a new memory acquisition request (Yes in decision 2001), the main scanning size is acquired from the encoder or decoder (processing 2003), and an empty memory block is searched from the contents of the address storage means 305 (processing). 2004), a memory block to be used is determined according to the main scanning size acquired in the process 2003 (process 2005), and the process returns to the
[0053]
If there is a memory release request (Yes in decision 2002), the memory block requested to be released is erased from the contents of the address storage unit 305 (process 2006), and the process returns to
[0054]
FIG. 7 shows a modified example of the configuration of the
[0055]
In the modification shown in FIG. 7, the address setting to the memory access control means for the memory control of the memory control means 203 is performed according to the conditions in the memory control means 203 by the address storage means 304 and the control means 302. Instead of setting the address, the address is set by memory access by software control from the external control means 308 outside the encoding /
[0056]
By doing so, it is possible to realize a system in which memory allocation is performed by an algorithm more suitable for the system without using a memory address allocation algorithm fixed by hardware. Further, since hardware for the memory allocation algorithm is not required, the cost can be reduced.
[0057]
In the encoding /
[0058]
That is, the
[0059]
By doing so, when the built-in encoder and decoder are considered as components, each can be directly connected to a CPU interface in another system, and the application range as IP (Intellectual Property) is expanded. .
[0060]
In the encoding /
[0061]
That is, the
[0062]
By doing so, when the built-in encoder and decoder are considered as components, each can be directly connected to a CPU interface in another system, and the application range as IP (Intellectual Property) is expanded. .
[0063]
FIG. 8 shows an example of memory access scheduling in the encoding /
[0064]
The timing chart of the memory access scheduling shown in FIG. 6A shows a case where the
[0065]
In the encoding /
[0066]
Therefore, when it is necessary to transfer the reference memory for two lines as shown in FIG. 8B, it is possible to reduce the variation in the operation of the entire system by continuously transferring the reference image. As a result, the system performance can be improved.
[0067]
For example, in the case of facsimile memory transmission, an image once encoded and stored in the memory is decoded once at the time of transmission, and further converted into an encoding method that can be received by the transmission destination and transmitted. If there is a difference between the processing speed of the encoding method and the encoding method used at the time of transmission, the buffer memory in the middle will increase or it will be necessary to wait for the slower one that is faster. This is because it is determined by the processing speed.
[0068]
FIG. 9 shows another example of memory access scheduling in the encoding /
[0069]
For example, when the communication resolution and the reading and storage resolution are different on the system (the reading resolution is higher), the main scanning size is different even when the same compression encoding is performed. For example, when reading is A4-600 dpi and transmission is A4-200 dpi, the data amount of one line is tripled. If this is encoded with the same scheduling as shown in FIG. 9 (a), the processing time for one page is naturally shorter for 200 dpi and longer for 600 dpi, resulting in an imbalance.
[0070]
Therefore, as shown in FIG. 9B or FIG. 9C, by increasing the chances of giving data to a higher-resolution image (here, the image processed by the first encoder 206), the entire processing is performed. The balance of progress will be balanced. That is, in such a case, it is only necessary to increase the priority of a task in which an image with a high resolution flows and increase the number of transfers there. Needless to say, the priority may be assigned not only according to the resolution but also according to other conditions necessary for system operation.
[0071]
In the embodiment described above, the encoding / decoding apparatus according to the present invention is applied to a facsimile apparatus. However, the present invention is not limited to this, and various applications such as a scanner apparatus, a digital camera, and an image data filing apparatus can be used. Applicable.
[0072]
【The invention's effect】
According to the first aspect of the present invention, the memory control means converts the memory means to each encoder decoding according to the main scanning size and the number of simultaneous operations of the image to be processed by each of the operating encoder or decoder. Assign to vessel At the same time, based on the memory release request, the memory address information of the memory space specified by the memory release request is deleted. As a result, the memory to be used is not wasted, and as a result, the encoding / decoding operation can be realized with a small amount of memory, and a low-cost encoding / decoding device with a reduced amount of hardware is realized. The effect which becomes possible is acquired.
[0074]
[0077]
Claim 3 In addition to the same effects as in the first aspect, since the exchange of data between the memory control means and each encoder / decoder is performed via the DMA interface, each encoder / Considering the decoder as an IP (Intellectual Property), there is an advantage that each built-in encoder or decoder can be connected to the system via the DMA interface.
[0078]
Claim 4 In addition to the same effects as in the first aspect of the present invention, since data exchange between the memory control means and each encoder / decoder is performed via the CPU interface, each encoder / When the decoder is considered as IP (Intellectual Property), there is an advantage that each built-in encoder or decoder can be connected to the system via the CPU interface even if it is a single unit.
[0079]
Claim 5 According to the invention, in addition to the same effect as in the first aspect, since control is performed so that reference lines are continuously passed to an encoder or decoder module that requires reference to a plurality of lines. When multiple encoders and decoders are operating at the same time, it is possible to reduce the waiting time for transfer of reference lines in an encoder or decoder that requires multiple reference lines. As a whole, the effect that the processing speed can be improved is obtained.
[0080]
Claim 6 According to the invention, in addition to the same effect as in the first aspect, when a large amount of data transfer occurs such as when processing a large image, such an encoder or decoder is provided. On the other hand, since data transfer is preferentially performed, it is possible to improve the processing speed of the entire system.
[Brief description of the drawings]
FIG. 1 is a diagram showing a block configuration of a facsimile apparatus to which an encoding / decoding apparatus according to an embodiment of the present invention is applied.
FIG. 2 is a diagram showing a block configuration of an encoding / decoding device according to an embodiment of the present invention.
FIG. 3 is a diagram showing a block configuration and the like of memory control means of the encoding / decoding device according to the embodiment of the present invention.
FIG. 4 is a flowchart showing a memory allocation processing procedure in the memory control means of the encoding / decoding apparatus according to the embodiment of the present invention.
FIG. 5 is a diagram showing a memory block configuration.
FIG. 6 is a flowchart showing a memory allocation processing procedure in units of blocks in the memory control means of the encoding / decoding apparatus according to the embodiment of the present invention.
FIG. 7 is a diagram different from FIG. 3 showing the block configuration and the like of the memory control means of the encoding / decoding device according to the embodiment of the present invention.
FIG. 8 is a schematic diagram showing memory access scheduling in the encoding / decoding device according to the embodiment of the present invention.
FIG. 9 is a schematic diagram different from FIG. 8 illustrating the memory access scheduling in the encoding / decoding device according to the embodiment of the present invention.
[Explanation of symbols]
1 Facsimile device
101 Operation display section
102 Scanner section
103 Plotter section
104 System control unit
105 memory
106 Coding / decoding device
107 Reference memory
108 Encoder
109 Reference memory
110 Decoder
111 Coding / decoding device
112 Internal bus
113 Communication control unit
114 modem
115 Network control unit
116 Bus
117 interface
118 Local bus
201 Coding / decoding device
202 Memory means
203 Memory control means
204 1st channel I / O
205 Second channel I / O
206 First encoder
207 Second encoder
208 first decoder
209 Second decoder
210, 211, 212, 213 interface
302 Control means
303 I / O control means
304 Address storage means
305 Address generation means
306 Memory access control means
307 Data bus
308 External control means
Claims (6)
参照ライン画像を含む、符号化復号化処理に必要な情報を記憶するためのメモリ手段と、
前記メモリ手段を前記各符号器・復号器に割り当て、前記メモリ手段のデータの授受の制御を行うメモリ制御手段と、
前記メモリ手段で使用中のアドレス情報を記憶するアドレス記憶手段とを有し、
前記メモリ制御手段は、符号化復号化しようとしている画像の主走査サイズと、前記アドレス情報とにより、前記メモリ手段のメモリ空間のうち前記符号器または復号器に割り当てる個々のメモリ空間を算出し、算出した該メモリ空間を前記符号器または復号器に割り当てるとともに、メモリ解放要求に基づき該メモり解放要求で指定されたメモリ空間のメモリアドレス情報を消去することを特徴とする符号化復号化装置。An encoding / decoding device comprising a plurality of encoders / decoders and capable of simultaneously executing encoding / decoding processing of image information in a plurality of channels,
Memory means for storing information necessary for the encoding / decoding process, including a reference line image;
Memory control means for allocating the memory means to the encoders / decoders and controlling the data transfer of the memory means;
Address storage means for storing address information in use in the memory means,
It said memory control means includes a main scanning size of the image to be encoded decoding by said address information, and calculates the individual memory space to be allocated to the encoder or decoder of the memory space of the memory means An encoding / decoding device characterized by allocating the calculated memory space to the encoder or decoder and erasing the memory address information of the memory space designated by the memory release request based on the memory release request .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000015697A JP4080658B2 (en) | 2000-01-25 | 2000-01-25 | Encoding / decoding device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000015697A JP4080658B2 (en) | 2000-01-25 | 2000-01-25 | Encoding / decoding device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001211079A JP2001211079A (en) | 2001-08-03 |
| JP4080658B2 true JP4080658B2 (en) | 2008-04-23 |
Family
ID=18542943
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000015697A Expired - Fee Related JP4080658B2 (en) | 2000-01-25 | 2000-01-25 | Encoding / decoding device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4080658B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4721262B2 (en) * | 2005-03-31 | 2011-07-13 | 株式会社リコー | Image processing apparatus, image processing method, program, and information recording medium |
| US8369356B2 (en) | 2007-03-21 | 2013-02-05 | Qualcomm Incorporated | Dynamic management of receiver resources |
| JP2009060444A (en) * | 2007-08-31 | 2009-03-19 | Canon Inc | Image decoding apparatus, image decoding method, and recording apparatus |
| JP4962359B2 (en) * | 2008-03-06 | 2012-06-27 | セイコーエプソン株式会社 | Print control apparatus, print control method, and print control program |
-
2000
- 2000-01-25 JP JP2000015697A patent/JP4080658B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001211079A (en) | 2001-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7123385B2 (en) | Image processing apparatus | |
| JP3660182B2 (en) | Image processing device | |
| JP3732702B2 (en) | Image processing device | |
| US8284435B2 (en) | Device for controlling data storage and/or data reconstruction and method thereof | |
| US8482754B2 (en) | Providing a plurality of processing units for an image forming apparatus | |
| JPH04229768A (en) | Coded image recording device, facsimile device using the same, optical file device, and communication system thereof | |
| JP4080658B2 (en) | Encoding / decoding device | |
| US5485535A (en) | Data processing system comprising a plurality of data processing apparatus conducting data communications through a bus line | |
| JPH08125818A (en) | Image processing unit | |
| US5673119A (en) | Encoding processing apparatus | |
| JPH10224532A (en) | High speed data transfer control device | |
| JPH06291954A (en) | Picture processor | |
| JP3670918B2 (en) | Image processing device | |
| JPH07182523A (en) | Image processing and encoding / decoding processing device | |
| JPS6157169A (en) | image processing system | |
| JP2005348451A (en) | Image processing device | |
| JP2000236403A (en) | Image processor | |
| JPH10117288A (en) | Image-processing unit | |
| JPH0312826B2 (en) | ||
| JPH0763172B2 (en) | Data processing system | |
| JPH06205224A (en) | Picture reading method | |
| JPH0887591A (en) | Image processing system | |
| JP2002042124A (en) | Image processing device | |
| JPH0563986B2 (en) | ||
| JPS6051072A (en) | Image processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040513 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050913 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050927 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051128 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051215 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060215 |
|
| A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060228 |
|
| A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20060324 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080207 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110215 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120215 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130215 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130215 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140215 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |