従来、例えばデジタルスチルカメラなどに用いられ、撮像装置からリアルタイムに入力される画像をリアルタイムに表示装置に表示させる必要があるデジタル映像システムにおいて、撮像装置と表示装置とで画面更新周期や画面更新タイミング、さらには画面サイズなどが異なることから、少なくとも1画面分の画像データを記憶させるためのフレームメモリを設けることが一般的に行われている。
しかしながら、フレームメモリに非圧縮画像データを記憶させるために、フルカラー(24ビット/画素)の画像データでは、解像度320×240で約1.8Mビットのメモリ容量が必要となり、それよりも解像度が高い場合には、さらにメモリ容量を増やす必要がある。このため、フレームメモリに対するコストや消費電力が無視できないものとなっている。特に、デジタルカメラなどで必要とされる圧縮伸長回路とその周辺回路およびフレームメモリを一つの集積回路に内蔵させようとした場合には、メモリ容量の問題が大きな障害となっている。
そこで、例えば特許文献1には、デジタル映像システムにおいて、フレームメモリの容量を削減するための方法が提案されている。
この特許文献1では、フレームメモリの前段に差分圧縮を行う回路を設け、フレームメモリの後段に差分伸長を行う回路を設けることによって、フレームメモリ容量の削減を図っている。しかしながら、差分圧縮方式によれば非常に良い画質が得られるものの、その圧縮率が高くても数分の一程度であり、高解像度が必要とされず、低解像度でも良い用途では、フレームメモリ容量の大きさが問題となる。
例えば、特許文献1の差分圧縮伸長方式を公知のJPEG(Joinnt Photographic Experts Grupe;ジェーペグ)方式に置き換えた場合を考える。JPEG方式では、画質と圧縮率とのトレードオフ関係を広く設定することができるため、低画質ながら圧縮率を数十分の一にまで向上させることが可能である。よって、JPEG方式を用いれば、フレームメモリの容量を大幅に削減することが可能となり、このことは低コストが要求される用途に好適である。
しかしながら、撮像装置や表示装置では画像データがラスタ単位で取り扱われるのに対して、JPEG方式では水平方向が8画素で垂直方向が8ラインのブロック(以下、8×8ブロックという)単位で画像データが取り扱われる。このため、JPEG方式の場合には、撮像装置と画像圧縮回路との間、および表示装置と画像伸長回路との間に、少なくともブロックを構成する8ライン分のラインメモリをバッファとして設ける必要がある。
例えば特許文献2には、このようなラインメモリを設けた圧縮回路を有する符号化装置、およびこのようなラインメモリを設けた伸長回路を有する復号化装置が開示されている。
この特許文献2に示されている符号化装置と復号化装置とを組み合わせることによって、特許文献1の差分圧縮方式をJPEG方式に置き換えた画像圧縮伸長装置を構成することができる。この場合、特許文献2に開示された圧縮データメモリが、特許文献1のフレームメモリに相当する。
この特許文献2による符号化装置と復号化装置とを組み合せることによって、画像圧縮伸長装置のフレームメモリの容量を数十分の一に削減することができると共に、JPEG方式を採用した場合に圧縮回路の入力側および伸長回路の出力側に画像データのラスタとブロックとを変換するために設けられるバッファについてもラインメモリで構成することが可能である。したがって、特許文献2による符号化装置と復号化装置とを組み合せることによって、フレームメモリを用いることなく、特許文献1の装置よりもさらに低コストで画像圧縮伸長装置を構成することができる。
この特許文献2に示された符号化装置を画像圧縮装置とし、特許文献2に示された復号化装置を画像伸長装置として、これらを組み合わせて画像圧縮伸長装置を構成した場合のブロック図を図4に示し、図4を用いて従来の画像圧縮伸長装置の構成およびその動作を説明する。
図4に示すように、従来の画像圧縮伸長装置10は、画像圧縮装置11と、画像伸長装置12と、これらの間に設けられたメモリ装置14とを有しており、外部の撮像装置13は画像圧縮装置11を介してメモリ装置14に接続され、メモリ装置14は画像伸長装置12を介して外部の表示装置15に接続されている。画像圧縮装置11は、特許文献2に示す符号化装置であり、画像伸長装置12は特許文献2に示す復号化装置であって、これらが組み合わされて図4の画像圧縮伸長装置10が構成されている。
画像圧縮装置11は、圧縮回路111と、ラインメモリ112,113と、撮像装置13からのデータをラインメモリ112または113に切り換えて入力させるスイッチ114と、ラインメモリ112および113からの各データを切り換えて圧縮回路111に入力させるスイッチ115と、これらの各部を制御する第1のラインメモリ制御回路116と、これらの回路間を結ぶデータ線および制御信号線とを有している。
画像伸長装置12は、伸長回路121と、ラインメモリ122,123と、伸長回路121からのデータをラインメモリ122または123に切り換えて入力させるスイッチ124と、ラインメモリ122および123からの各データを切り換えて表示装置15に出力させるスイッチ125と、これらの各部を制御する第2のラインメモリ制御回路126と、これらの回路間を結ぶデータ線および制御信号線とを有している。
メモリ装置14は、第1の圧縮データメモリ142と、第2の圧縮データメモリ143と、圧縮回路111からのデータを切り換えて第1の圧縮データメモリ142または第2の圧縮データメモリ143に入力させるスイッチ144と、第1の圧縮データメモリ142および第2の圧縮データメモリ143からの各データを切り換えて伸長回路121に出力させるスイッチ145と、これらの各部を制御する圧縮データメモリ制御回路146と、これらの回路間を結ぶデータ線および制御信号線とを有している。
上記構成により、撮像装置13からの入力画像データ13aが画像圧縮装置11によって圧縮され、メモリ装置14を構成する第1の圧縮データメモリ142と第2の圧縮データメモリ143とに圧縮データが記憶される。画像圧縮装置11によってメモリ容量が削減され、これら圧縮データが画像伸長装置12によって伸長されて表示装置15の表示画面上に表示される。これによって、圧縮処理と伸長処理とが同時に行われ、撮像装置13で撮像された画像がリアルタイムに表示装置15に表示されることになる。
ここで、各構成部材について更に詳細に説明する。
撮像装置13からの入力画像データ13aは、圧縮回路111によって取り扱われる最小単位であるブロックを構成する所定のライン数分の画像データを記憶するための容量を有するラインメモリ112,113に、スイッチ114を介して上記所定のライン数分だけ、交互に記憶される。
このスイッチ114は、撮像装置13とラインメモリ112,113の入力側との間に設けられている。スイッチ114の入力端子Xには、撮像装置13からの入力画像データ13aが入力されている。また、スイッチ114の出力端子Aおよび出力端子Bはそれぞれ、ラインメモリ112,113の各入力端とそれぞれ接続されており、選択信号11aによって出力端子Aまたは出力端子Bのいずれか一方のみが入力端子Xとの接続先として選択される。
また、スイッチ115は、ラインメモリ112,113の各出力端と圧縮回路111の入力端との間に設けられている。スイッチ115の出力端子Yは、圧縮回路111の入力端と接続されている。また、スイッチ115の入力端子Aおよび出力端子Bはそれぞれ、ラインメモリ112,113の各出力端とそれぞれ接続されており、選択信号11bによって入力端子Aまたは入力端子Bのいずれか一方のみが出力端子Yとの接続先として選択される。
これらの選択信号11a,11bは、第1のラインメモリ制御回路116から出力される。この第1のラインメモリ制御回路116には、撮像装置13からタイミング信号13bが入力されており、この撮像装置13からのタイミング信号13bに基づいて、入力画像データ13aが1画面のうちのどの垂直方向の位置および水平方向の位置の画素に関するデータであるかがカウントされる。このうち、垂直方向のライン数カウントが上記所定のライン数の整数倍に達する毎に、選択信号11a,11bの各値が反転され、第1のラインメモリ制御回路116から圧縮回路111への圧縮開始イネーブル信号11cがアクティブ状態とされる。
この圧縮開始イネーブル信号11cは、圧縮回路111による圧縮処理が開始された際にアクティブ状態とされる圧縮開始イネーブル信号のクリア信号11dによってクリアされる。
選択信号11a,11bは、常に互いに異なるラインメモリが選択されるように設定されており、一方のラインメモリへの入力画像データ13aの記憶と、他方のラインメモリからの入力画像データ13aの読み出しとを同時に行うことが可能となっている。
第1のラインメモリ制御回路116からは、上記カウントに基づいて、ラインメモリ112にアドレス11eが出力されると共に、ラインメモリ113にアドレス11fが出力される。
圧縮回路111では、第1のラインメモリ制御回路116からの圧縮開始イネーブル信号11cがアクティブ状態になると、スイッチ115から入力される圧縮前画像データ11gがブロック単位で圧縮される。例えば図5に示すような構成の1画面分の圧縮データ11hが、一つの圧縮データとしてスイッチ144を介して第1の圧縮データメモリ142または第2の圧縮データメモリ143に出力される。
ここで、圧縮データの構成例について説明する。図5に示すSOI(Start Of Image)は、JPEG方式における画像データの開始位置を示すマーカコードであり、EOI(End Of Image)は、JPEG方式における画像データの終端を示すマーカコードである。また、これらの二つのマーカの間にある画像データは、1画面分のJPEG方式による圧縮データである。この図5では、1画面のサイズが320ピクセル×240ラインである場合を示している。
次に、メモリ装置14について説明する。メモリ入力側では、スイッチ144は、圧縮回路111の出力端と第1の圧縮データメモリ142および第2の圧縮データメモリ143の各入力端との間に設けられている。このスイッチ144の入力端子Xには、圧縮回路111からの圧縮データ11hが入力される。また、スイッチ144の出力端子Aと出力端子Bとはそれぞれ、第1の圧縮データメモリ142と第2の圧縮データメモリ143とにそれぞれ接続されており、選択信号14aによって、スイッチ144の出力端子Aまたは出力端子Bのいずれか一方のみが入力端子Xとの接続先として選択される。
メモリ出力側では、スイッチ145が、第1の圧縮データメモリ142および第2の圧縮データメモリ143の各出力端と伸長回路121の入力端との間に設けられている。スイッチ145の出力端子Yは伸長回路121と接続されている。また、スイッチ145の入力端子Aは第1の圧縮データメモリ142と接続されており、その入力端子Bは第2の圧縮データメモリ143に接続されている。スイッチ145は、選択信号14bによって、入力端子Aまたは入力端子Bのいずれか一方のみが出力端子Yとの接続先として選択される。
これらの選択信号14aおよび選択信号14bはそれぞれ、圧縮データメモリ制御回路146から出力される。これらの選択信号14a,14bは、圧縮回路111から圧縮データメモリ制御回路146に入力される1画面分の圧縮終了信号14cと、第2のラインメモリ制御回路126からの垂直ブランク期間信号14dとによって制御される。
1画面分の圧縮終了信号14cは、圧縮回路111が1画面分の圧縮処理が終了するとアクティブ状態とされる。また、垂直ブランク期間信号14dは、表示装置14からのタイミング信号15bに基づいて第2のラインメモリ制御回路126から出力される信号であって、表示装置15の垂直ブランク期間にアクティブ状態とされる。
圧縮データメモリ制御回路146では、圧縮終了信号14cおよび垂直ブランク期間信号14dが共にアクティブ状態になったことを検知すると、選択信号14aと選択信号14bとの各値を反転させて、記憶と読み出し、即ち圧縮用と伸長用の圧縮データメモリを交換する。なお、表示装置15の垂直ブランク期間信号14dがアクティブ状態になっても、圧縮終了信号14cがネゲート(非アクティブ状態)であれば、選択信号14aと選択信号14bとの各値は反転させない。
また、圧縮データメモリ制御回路146からは、第1のラインメモリ制御回路116に対して、撮像装置13からの信号である入力画像データ13aとタイミング信号13bとに関わらずに第1のラインメモリ制御回路116を初期化させるために、入力ディセーブル信号14gが出力される。
この入力ディセーブル信号14gがアクティブ状態になって、第1のラインメモリ制御回路116が初期化されると、圧縮回路111においても圧縮処理が停止されるため、1画面分を記憶し終えた側の圧縮データメモリに対する上書きによるデータ破壊を防止することができる。この入力ディセーブル信号14gは、圧縮回路111からの圧縮終了信号14cがアクティブ状態であることが検知されてから、表示装置15の垂直ブランク期間信号14dがアクティブ状態であることが検知されるまでの期間においてアクティブ状態とされ、この期間には第1のラインメモリ制御回路116が初期化されて圧縮回路111による処理が停止される。
第1のラインメモリ制御回路116では、入力ディセーブル信号14gがネゲート(非アクティブ状態)されると、再び撮像装置13からのタイミング信号13bに基づいて、次の画面の先頭から入力画像データ13aの記憶を開始させ、圧縮開始イネーブル信号11cを適宜アクティブ状態にさせることによって圧縮回路111による圧縮処理を再び開始させる。この圧縮回路111からの圧縮データは、上述のようにして交換された圧縮データメモリに対して、新たに記憶が開始される。
このようにして、第1の圧縮データメモリ142と第2の圧縮データメモリ143とに対して、それぞれ図5に示すような構成の1画面分の圧縮データ11hが交互に記憶される。
一方、伸長回路121では、第2のラインメモリ制御回路126からの伸張開始イネーブル信号12cがアクティブ状態となると、スイッチ145から入力される圧縮データ14hを伸長処理する。この圧縮データ14hの伸長処理後の画像データ12gがスイッチ124を介してブロック単位でラインメモリ122またはラインメモリ123に出力される。
メモリ入力側のスイッチ124では、伸長回路121の出力端とラインメモリ122およびラインメモリ123の入力端との間に設けられている。スイッチ124の入力端子Xは伸長回路121と接続されている。また、スイッチ124の出力端子Aはラインメモリ122と接続されており、出力端子Bはラインメモリ123と接続されている。第2のラインメモリ制御回路126からの選択信号12aによって出力端子Aまたは出力端子Bのいずれか一方のみが入力端子Xとの接続先として選択される。
また、メモリ出力側のスイッチ125では、ラインメモリ122およびラインメモリ123の各出力端と表示装置15との間に設けられている。スイッチ125の出力端子Yからは出力画像データ12hが出力される。また、スイッチ125の入力端子Aと入力端子Bとはそれぞれ、ラインメモリ122とラインメモリ123とにそれぞれ接続されており、選択信号12bによって入力端子Aまたは入力端子Bのいずれか一方のみが出力端子Yとの接続先として選択される。
これらの選択信号12a,12bはそれぞれ、第2のラインメモリ制御回路126から出力される。第2のラインメモリ制御回路126には、表示装置15からのタイミング信号15bが入力されており、この表示装置15からのタイミング信号15bに基づいて、出力画像データ12hが1画面のうちのどの垂直方向の位置および水平方向の位置の画素に関するデータであるかがカウントされる。
このうち、垂直方向のライン数カウントが上記所定のライン数の整数倍に達する毎に、選択信号12aと選択信号12bとの各値が反転され、第2のラインメモリ制御回路126から伸長回路121への伸長開始イネーブル信号12cがアクティブ状態とされる。この伸長開始イネーブル信号12cは、伸長回路121による伸長処理が開始された際にアクティブ状態となる伸長開始イネーブル信号のクリア信号12dによってクリアされる。
また、これらの選択信号12aと選択信号12bとは、常に互いに異なるラインメモリが選択されるように設定されており、一方のラインメモリへの画像データ12gの記憶と、他方のラインメモリからの画像データ12hの読み出しとを同時に行うことが可能となっている。
さらに、第2のラインメモリ制御回路126からは、上記カウントに基づいて、ラインメモリ122へのアドレス12eとラインメモリ123へのアドレス12fとが出力される。
さらに、第2のラインメモリ制御回路126からは、圧縮データメモリ制御回路146に対して垂直ブランク信号14dが出力される。この垂直ブランク信号14dは、表示装置15からのタイミング信号15bに基づいて、表示装置15の垂直ブランク期間にのみアクティブ状態とされる信号である。なお、この垂直ブランク信号14dは、表示装置15から直接、圧縮データメモリ制御回路146に供給されるようにしてもよい。
圧縮回路111および伸長回路121の圧縮伸長方式がJPEG方式である場合、圧縮回路111と伸長回路121とによって扱われる画像データの最小単位であるブロックサイズは、水平方向が8画素で垂直方向が8ラインである。よって、上記所定のライン数は8であり、各ラインメモリ112,113,122,123の容量は8ライン分の画素データを記憶可能な容量である。8ラインを単位として、ラインメモリ112とラインメモリ113とで交互に画像データの記憶と読み出しとが為され、また、ラインメモリ122とラインメモリ123とで交互に画像データの記憶と読み出しとが為される。
ここで、図4に示す従来の画像圧縮伸長装置10の動作について、図6のタイミングチャートを用いて詳細に説明する。
図6のタイミングチャートは、図4の画像圧縮伸長装置10において、撮像装置13と表示装置15とによって扱われる1画面の画像サイズが共に水平方向に320画素で垂直方向に240ラインであり、圧縮伸長方式をJPEG方式として各ラインメモリの垂直方向の容量を8ラインとした場合を示すものである。
まず、図6の各波形について順次説明する。
一番上の入力ライン数カウントは、第1のラインメモリ制御回路116においてカウントされる入力画像データの垂直方向のライン数である。ここでは、垂直ブランク期間の値が「0」、有効なデータを含む最初のラインが「1」、最後のラインが「240」として表されている。
上から2番目の信号は、圧縮開始イネーブル信号11cの信号波形を示している。圧縮開始イネーブル信号11cは、アクティブ状態のときに「1」の値をとり、ネゲートのときに「0」となる。この値が「1」のときに圧縮回路111による圧縮処理がイネーブル状態となっており、この信号が「1」になると圧縮処理を開始可能な状態を表す。この圧縮開始イネーブル信号11cは、圧縮回路111による圧縮処理が開始されたときに出力される圧縮開始イネーブル信号のクリア信号11dによってクリアされると「0」に戻る。
上から3番目の出力ライン数カウントは、第2のラインメモリ制御回路126においてカウントされる出力画像データの垂直方向のライン数である。ここでは、垂直ブランク期間の値が「0」、有効なデータを含む最初のラインが「1」、最後のラインが「240」として表されている。
上から4番目の信号は、伸長開始イネーブル信号12cの信号波形を示している。この伸長開始イネーブル信号12cは、アクティブ状態のときに「1」の値をとり、ネゲートのときに「0」となる。この値が「1」のときに伸長回路121による伸長処理がイネーブル状態となっており、この信号が「1」になると伸長処理を開始可能な状態を表す。この伸長開始イネーブル信号12cは、伸長回路121による伸長処理が開始されたときに出力される伸長開始イネーブル信号のクリア信号12dによってクリアされると「0」に戻る。
その下の第1のスイッチ114および第2のスイッチ115、第3のスイッチ144および第4のスイッチ145、第5のスイッチ124および第6のスイッチ125はそれぞれのスイッチの端子AまたはBのいずれが選択されているかを示している。
下から2番目と1番下の圧縮回路動作および伸長回路動作は、上記圧縮開始イネーブル信号11cと伸長開始イネーブル信号12cとによって圧縮開始動作または伸長開始動作が行われて各処理動作する期間を表している。この場合の( )内の各数値は、1画面を構成する240ラインを8ラインずつ処理する場合について、全30回中、何回目の圧縮処理または伸長処理であるかを示している。例えば(29)であると、全30回中29回目を示している。それぞれの「圧縮」または「伸長」という文字が記載されていない期間は、圧縮回路111または伸長回路121が各処理動作していない期間を表している。
次に、図6の各時刻AからIまでの動作について時系列に説明する。
まず、時刻Aは、第2のラインメモリ制御回路126でカウントされる出力画像データの垂直方向のライン数に関して、出力ライン数カウントが「8」の整数倍である「216」に達したため、第3のスイッチ144と第4のスイッチ145とを反転して、伸長開始イネーブル信号12cがアクティブ状態となり、すぐに伸長回路121による伸長処理がスタートして、伸長開始イネーブル信号12cのクリア信号12dによって伸長開始イネーブル信号12cがクリアされた時刻を表す。
時刻Bでは、第1のラインメモリ制御回路116でカウントされる入力画像データの垂直方向のライン数に関して、入力ラインカウントが「8」の倍数である「232」に達したため、第1のスイッチ114と第2のスイッチ115とが反転され、圧縮開始イネーブル信号11cがアクティブ状態となり、すぐに圧縮回路111による圧縮処理がスタートして、圧縮開始イネーブル信号11cのクリア信号11dによって圧縮開始イネーブル信号11cがクリアされた時刻を表す。
時刻Cでは、圧縮回路111による圧縮期間と伸長回路121による伸長期間とが重複している期間の終わりを示している。これにより、時刻Bから時刻Cまでの期間において、圧縮回路111と伸長回路121とが同時に動作していることを示している。
時刻Dでは、出力ラインカウントが「8」の整数倍である「224」に達したため、第3のスイッチ124と第4のスイッチ125とが反転され、伸長開始イネーブル信号12cがアクティブ状態となり、すぐに伸長処理がスタートされて、伸長開始イネーブル信号12cのクリア信号12dによって伸長開始イネーブル信号12gがクリアされた時刻を表す。
時刻Eでは、入力ラインカウントが「8」の倍数である「240」に達したため、第1のスイッチ114と第2のスイッチ115とが反転され、圧縮開始イネーブル信号11cがアクティブ状態となり、すぐに圧縮処理がスタートして、圧縮開始イネーブル信号11cのクリア信号11dによって圧縮開始イネーブル信号11cがクリアされた時刻を表す。
時刻Fは、圧縮回路111による圧縮期間と伸長回路121による伸長期間とが重複している期間の終わりを示す。これにより、時刻Eから時刻Fまでの期間において、圧縮回路111と伸長回路121とが同時に動作していることを示す。
時刻Gは、出力ラインカウントが「8」の整数倍である「240」に達したため、第3のスイッチ124と第4のスイッチ125とが反転され、伸長開始イネーブル信号12cがアクティブ状態となり、すぐに伸長処理がスタートする時刻を表す。この時刻Gにおいて、入力ライン数カウントが「0」であることから、既に1画面分の圧縮終了信号14cがアクティブ状態となっており、また、出力ライン数カウントが「240」から「0」に初期化されたため、表示装置15の垂直ブランク期間信号14dもアクティブ状態である。このため、圧縮データメモリ制御回路146によって、第5のスイッチ144と第6のスイッチ145とが反転され、圧縮回路111からの圧縮データが記憶される圧縮データメモリと伸長回路121による伸長処理のためにデータが読み出される圧縮データメモリとが交換される。
これにより、伸長開始イネーブル信号12cがアクティブ状態となり、この時刻Gに引き続いて時刻Hにも連続して、2回分の伸長処理が連続して行われる。これは、表示装置15の垂直ブランク期間が終わるまでに、ラインメモリ122,123に対して新たな画像データを伸長して記憶させておかないと、次の表示に間に合わなくなるためである。
時刻Iでは、新たな1画面分の入力画像データ13aが8ライン分記憶され、第1のラインメモリ制御回路116によって圧縮開始イネーブル信号11cがアクティブ状態とされ、すぐに圧縮処理がスタートして、圧縮開始イネーブル信号11cのクリア信号11dによって圧縮開始イネーブル信号11cがクリアされた時刻を表す。
以上のようにして、撮像装置13からの入力画像データ13aは、画像圧縮装置11と画像伸長装置12とを経て、表示装置15に出力画像データ12hとして出力されてその表示画面上に表示される。
特開平11−341288号公報(図1)
特開平7−147636号公報(図1および図3)
以下に、本発明の画像圧縮伸長装置およびこれを用いたデジタル映像システムの実施形態について、図面を参照しながら詳細に説明する。
図1は、本発明の画像圧縮伸長装置を用いたデジタル映像システムの一実施形態の構成例を示すブロック図である。なお、図4の従来の構成部材と同様の作用効果を奏する部材には同一の符号を付している。
図1に示すように、本実施形態のデジタル映像システム20は、撮像装置13と、表示装置15と、これらの間に配設された本実施形態の画像圧縮伸長装置10Aとを備えている。
画像圧縮伸長装置10Aは、所定のライン数(処理単位)で時分割に圧縮処理と伸長処理とが重ならず別々に行える圧縮伸長兼用回路100と、入力画像用ラインメモリとしての第1のラインメモリ112および第2のラインメモリ113と、第1のスイッチ114と、第2のスイッチ115と、入力画像用ラインメモリ制御回路としての第1のラインメモリ制御回路116と、出力画像用ラインメモリとしての第3のラインメモリ122および第4のラインメモリ123と、第3のスイッチ124と、第4のスイッチ125と、出力画像用ラインメモリ制御回路としての第2のラインメモリ制御回路126と、圧縮データメモリとしての第1の圧縮データメモリ142および第2の圧縮データメモリ143と、第5のスイッチ144と、第6のスイッチ145と、圧縮データメモリ制御回路146と、これらの回路間を結ぶデータ信号線および制御信号線とを有している。
これらのラインメモリ112,113、入力画像用ラインメモリ切替スイッチ手段としてのスイッチ114,115および第1のラインメモリ制御回路116により入力画像用ラインメモリ部が構成されて、所定のライン数分の入力画像データを記憶可能とする。
また、ラインメモリ122,123、出力画像用ラインメモリ切替スイッチ手段としてのスイッチ124,125および第2のラインメモリ制御回路126により出力画像用ラインメモリ部が構成されて、圧縮伸長兼用回路100から出力される画像データを所定のライン数分記憶可能とする。
さらに、第1の圧縮データメモリ142,143、圧縮データメモリ切替スイッチ手段としてのスイッチ144,145および圧縮データメモリ制御回路146により圧縮データメモリ部が構成されて、圧縮伸長兼用回路100から出力される圧縮データを少なくとも入力画像データの1画面分だけ記憶可能とする。
上記構成により、画像圧縮伸長装置10Aは、撮像装置13からの入力画像データ13aが圧縮伸長兼用回路100によって圧縮され、第1の圧縮データメモリ142と第2の圧縮データメモリ143とに圧縮データが記憶されることによってメモリ容量が削減され、これら圧縮データが圧縮伸長兼用回路100によって伸長されて表示装置15の表示画面上に表示される。このように、画像圧縮伸長装置10Aによって圧縮処理と伸長処理とが別々に行われ、撮像装置13で撮像された画像がリアルタイムに表示装置15の表示画面上に表示される。
ここで、図1の各構成部材の構成およびその動作について更に詳細に説明する。
まず、入力画像用ラインメモリ部について説明する。第1のラインメモリ112および第2のラインメモリ113はそれぞれ、圧縮伸長兼用回路100によって取り扱われる最小単位であるブロックを構成する所定のライン数分の画像データを記憶するための容量を有している。撮像装置13からの入力画像データ13aは、第1のラインメモリ112および第2のラインメモリ113に、第1のスイッチ114を介して上記所定のライン数分だけ、交互に記憶される。
メモリ入力側の第1のスイッチ114は、撮像装置13と第1のラインメモリ112および第2のラインメモリ113の各入力端との間に設けられている。第1のスイッチ114の入力端子Xには、撮像装置13からの入力画像データ13aが入力される。また、第1のスイッチ114の出力端子Aおよび出力端子Bはそれぞれ、第1のラインメモリ112および第2のラインメモリ113の各入力端とそれぞれ接続されており、第1の選択信号11aによって出力端子Aまたは出力端子Bのいずれか一方のみが入力端子Xとの接続先として選択される。
メモリ出力側の第2のスイッチ115は、第1のラインメモリ112および第2のラインメモリ113の各出力端と圧縮伸長兼用回路100の圧縮用入力端との間に設けられている。第2のスイッチ115の出力端子Yは、圧縮伸長兼用回路100の圧縮用入力端と接続されている。また、第2のスイッチ115の入力端子Aおよび出力端子Bはそれぞれ、第1のラインメモリ112および第2のラインメモリ113の各出力端とそれぞれ接続されており、第2の選択信号11bによって入力端子Aまたは入力端子Bのいずれか一方のみが出力端子Yとの接続先として選択される。
第1の選択信号11aおよび第2の選択信号11bはそれぞれ、第1のラインメモリ制御回路116から出力される。第1のラインメモリ制御回路116には、撮像装置13からタイミング信号13bが入力されており、この撮像装置13からのタイミング信号13bに基づいて、入力画像データ13aが1画面のうちのどの垂直方向の位置および水平方向の位置の画素に関するデータであるかが認識できるようにカウントが為される。このうち、垂直方向のライン数カウントが上記所定のライン数の整数倍に達する毎に、第1の選択信号11aと第2の選択信号11bとの各値が反転され、第1のラインメモリ制御回路116から圧縮伸長兼用回路100への圧縮開始イネーブル信号11cがアクティブ状態とされる。
この圧縮開始イネーブル信号11cは、圧縮伸長兼用回路100による圧縮処理が開始された際にアクティブ状態とされる圧縮開始イネーブル信号のクリア信号11dによって、クリアされる。
この圧縮開始イネーブル信号11cのクリア信号11dによって圧縮開始イネーブル信号11cがクリアされるまで、第1のラインメモリ制御回路116内では、圧縮伸長兼用回路100によりデータが読み出される方のラインメモリに対するアドレスカウンタが一時停止され、そのアドレスが保持される。
これらの第1の選択信号11aと第2の選択信号11bとは、常に互いに異なるラインメモリが選択されるように設定されており、一方のラインメモリへの入力画像データ13aの記憶処理と、他方のラインメモリからの入力画像データ13aの読み出し処理とを同時に行うことが可能となっている。
第1のラインメモリ制御回路116からは、上記カウントに基づいて、第1のラインメモリ112にアドレス11eが出力されると共に、第2のラインメモリ113にアドレス11fが出力されている。
次に、圧縮データメモリ部について説明する。メモリ入力側の第5のスイッチ144は、圧縮伸長兼用回路100の圧縮データ出力端と第1の圧縮データメモリ142および第2の圧縮データメモリ143の各入力端との間に設けられている。第5のスイッチ144の入力端子Xには、圧縮伸長兼用回路100からの圧縮データ11hが入力される。また、第5のスイッチ144の出力端子Aと出力端子Bとはそれぞれ、第1の圧縮データメモリ142と第2の圧縮データメモリ143とにそれぞれ接続されており、第5の選択信号14aによって、出力端子Aまたは出力端子Bのいずれか一方のみが入力端子Xとの接続先として選択される。
メモリ出力側の第6のスイッチ145は、第1の圧縮データメモリ142および第2の圧縮データメモリ143の各出力端と圧縮伸長兼用回路100の伸長用入力端との間に設けられている。第6のスイッチ145の出力端子Yは圧縮伸長兼用回路100の伸長用入力端と接続されている。また、第6のスイッチ145の入力端子Aは第1の圧縮データメモリ142の出力端と接続されており、入力端子Bは第2の圧縮データメモリ143の出力端に接続されている。第6の選択信号14bによって、入力端子Aまたは入力端子Bのいずれか一方のみが出力端子Yとの接続先として選択される。
これらの第5の選択信号14aおよび第6の選択信号14bはそれぞれ、圧縮データメモリ制御回路146から出力される。これらの選択信号14aおよび14bは、圧縮伸長兼用回路100から圧縮データメモリ制御回路146に入力される1画面分の圧縮終了信号14cと、垂直ブランク期間信号14dとによって制御される。
1画面分の圧縮終了信号14cは、圧縮伸長兼用回路100による1画面分の圧縮処理が終了するとアクティブ状態とされる。また、垂直ブランク期間信号14dは、表示装置15からのタイミング信号15bに基づいて第2のラインメモリ制御回路126から出力される信号であって、表示装置15の垂直ブランク期間にアクティブ状態とされる。
圧縮データメモリ制御回路146では、圧縮終了信号14cおよび垂直ブランク期間信号14dが共にアクティブ状態になったことが検知されると、第5の選択信号14aと第6の選択信号14bとを反転させて、記憶処理と読み出し処理、即ち圧縮用と伸長用の圧縮データメモリを交換する。なお、表示装置15の垂直ブランク期間信号14dがアクティブ状態になっても、圧縮終了信号14cがネゲート(非アクティブ状態)であれば、第5の選択信号14aと第6の選択信号14bとは反転されない。
また、圧縮データメモリ制御回路146からは、第1のラインメモリ制御回路116に対して、撮像装置13からの信号である入力画像データ13aとタイミング信号13bとに関わらずに第1のラインメモリ制御回路116を初期化させるために、入力ディセーブル信号14gが出力される。
この入力ディセーブル信号14gがアクティブ状態となって、第1のラインメモリ制御回路116が初期化されると、圧縮伸長兼用回路100においても圧縮処理が停止されるため、1画面分を記憶し終えた側の圧縮データメモリに対する上書きによるデータ破壊を防止することができる。入力ディセーブル信号14gは、圧縮伸長兼用回路100からの圧縮終了信号14cがアクティブ状態であることが検知されてから、表示装置15の垂直ブランク期間信号14dがアクティブ状態であることが検知されるまでの期間においてアクティブ状態とされ、この期間には第1のラインメモリ制御回路116が初期化されて圧縮伸長兼用回路100による処理が停止される。
第1のラインメモリ制御回路116では、入力ディセーブル信号14gがネゲート(非アクティブ状態)されると、再び撮像装置13からのタイミング信号13bに基づいて、次の画面の先頭から入力画像データ13aの記憶を開始させ、圧縮開始イネーブル信号11cを適宜アクティブ状態にさせることによって圧縮伸長兼用回路100による圧縮処理を再び開始させる。圧縮伸長兼用回路100からの圧縮データ11hは、上述のようにして交換された圧縮データメモリに対して、新たに記憶が開始される。
このようにして、第1の圧縮データメモリ142と第2の圧縮データメモリ143とに対して、それぞれ図2に示すような構成の1画面分の圧縮データ13aが交互に記憶される。
次に、出力画像用ラインメモリ部について説明する。メモリ入力側の第3のスイッチ124は、圧縮伸長兼用回路100の伸長データ出力端と第3のラインメモリ122および第4のラインメモリ123の各入力端との間に設けられている。第3のスイッチ123の入力端子Xは圧縮伸長兼用回路100の伸長用出力端と接続されている。また、第3のスイッチ123の出力端子Aは第3のラインメモリ122の入力端と接続されており、出力端子Bは第4のラインメモリ123の入力端と接続されている。第3の選択信号12aによって出力端子Aまたは出力端子Bのいずれか一方のみが入力端子Xとの接続先として選択される。
メモリ出力側の第4のスイッチ125は、第3のラインメモリ122および第4のラインメモリ123の各出力端と表示装置15の入力端との間に設けられている。第4のスイッチ125の出力端子Yからは出力画像データ12hが表示装置15の入力端に出力される。また、第4のスイッチ125の入力端子Aと入力端子Bとはそれぞれ、第3のラインメモリ122と第4のラインメモリ123の各出力端とにそれぞれ接続されており、第4の選択信号12bによって入力端子Aまたは入力端子Bのいずれか一方のみが出力端子Yとの接続先として選択される。
第3の選択信号12aと第4の選択信号12bとはそれぞれ、第2のラインメモリ制御回路126から出力される。第2のラインメモリ制御回路126には、表示装置15からのタイミング信号15bが入力されており、この表示装置15からのタイミング信号15bに基づいて、出力画像データ12hが1画面のうちのどの垂直方向の位置および水平方向の位置の画素に関するデータであるかが認識されるようにカウントが為される。
このうち、垂直方向のライン数カウントが上記所定のライン数の整数倍に達する毎に、第3の選択信号12aと第4の選択信号12bとが反転され、第2のラインメモリ制御回路126から圧縮伸長兼用回路100への伸長開始イネーブル信号12cがアクティブ状態とされる。
この伸長開始イネーブル信号12cは、圧縮伸長兼用回路100による伸長処理が開始された際にアクティブ状態となる伸長開始イネーブル信号12cのクリア信号12dによって、クリアされる。
この伸長開始イネーブル信号12cのクリア信号12dによって伸長開始イネーブル信号12cがクリアされるまで、第2のラインメモリ制御回路126内では、圧縮伸長兼用回路100によりデータが記憶される方のラインメモリに対するアドレスカウンタが一時停止され、そのアドレス12e,12fが保持されている。
第3の選択信号12aと第4の選択信号12bとは、常に互いに異なるラインメモリが選択されるように設定されており、一方のラインメモリへの出力画像データ12gの記憶処理と、他方のラインメモリからの出力画像データ12hの読み出し処理とを同時に行うことが可能となっている。
第2のラインメモリ制御回路126からは、上記カウントに基づいて、第3のラインメモリ122へのアドレス12eと第4のラインメモリ123へのアドレス12fとが出力される。そのアドレス12e,12fによってラインメモリへの記憶処理と読み出し処理とが為される。
第2のラインメモリ制御回路126からは、圧縮データメモリ制御回路146に対して垂直ブランク信号14dが出力される。
この垂直ブランク信号14dは、表示装置15からのタイミング信号15aに基づいて、表示装置15の垂直ブランク期間にのみアクティブ状態とされる信号である。なお、この垂直ブランク信号14dは、表示装置15から直接、圧縮データメモリ制御回路146に供給されるようにしてもよい。
圧縮伸長兼用回路100では、第1のラインメモリ制御回路116からの圧縮開始イネーブル信号11cがアクティブ状態になると、第2のスイッチ115から入力される圧縮前の画像データ11gが所定のライン数を単位として圧縮される。
ここで、所定のライン数とは、一つのラインメモリに対して垂直方向の画像データが記憶される容量のことである。
圧縮伸長兼用回路100では、従来技術において図5に示すように1画面分の前後に挿入されていたマーカーコードが、所定のライン数分の圧縮が行われる部分の前後に挿入される。これにより、従来では1画面分の画像データによって一つの圧縮データが構成されていたのに対して、本実施形態では所定のライン数分の画像データによって一つの圧縮データが構成され、1画面分の圧縮データは複数の圧縮データによって構成されることになる。
このように、圧縮伸長兼用回路100によって、所定のライン数分の圧縮データの前後に任意のマーカーコードが挿入されて、第5のスイッチ144を介して第1の圧縮データメモリ142または第2の圧縮データメモリ143に出力される。
圧縮伸長兼用回路100では、第2のラインメモリ制御回路126からの伸張開始イネーブル信号12cがアクティブ状態となると、第6のスイッチ145から入力される圧縮データ14hが所定のライン数を単位として伸長される。
伸長処理後の画像データ12gが第3のスイッチ124を介して所定のブロック単位で第3のラインメモリ122または第4のラインメモリ123に出力される。
このように、圧縮伸長兼用回路100では、第1のラインメモリ制御回路116からの圧縮開始イネーブル信号11c、および第2のラインメモリ制御回路126からの伸張開始イネーブル信号12cの二つのイネーブル信号に基づいて動作が行われる。
ここで、圧縮開始イネーブル信号11cと伸長開始イネーブル信号12cの二つのイネーブル信号が共にアクティブ状態になった場合には、圧縮伸長兼用回路100では、いずれか一方を優先的に処理する必要がある。
一般的には、伸長処理が間に合わずに表示が乱れることが問題となる場合が多いので、本実施形態でも、圧縮開始イネーブル信号11cと伸長開始イネーブル信号12cの二つのイネーブル信号が共にアクティブ状態となった場合には、伸長処理を先に処理することにする。
この場合、伸長処理が先に処理されるまで、圧縮開始イネーブル信号11cのクリア信号11dはアクティブ状態とされず、圧縮開始イネーブル信号11cは、所定のライン数分だけ伸長処理が終了されるまでクリアされない。
一方、圧縮伸長兼用回路100による圧縮処理中に伸長開始イネーブル信号12cがアクティブ状態になった場合には、圧縮処理が終了されるまで伸長開始イネーブル信号12cのクリア信号12dがアクティブ状態とならないように制御される。なお、圧縮処理に十分に時間的な余裕がある場合には、圧縮処理を一旦中断して伸長処理を所定のライン数分だけ行った後、再び中断された圧縮処理を再開するようにしてもよい。
図2に、本実施形態の画像圧縮伸長装置10Aによる圧縮データ構成の一例を示している。図2の例では、圧縮伸長方式をJPEG方式としており、ラインメモリの容量である所定のライン数が「8」、1画面のサイズがQVGA、即ち水平方向が「320」画素で垂直方向が「240」ラインである場合を示している。
図2に示すように、この圧縮データの構成例において、SOIマーカーコードとEOIマーカーコードは、各8ライン分の圧縮データの前後に圧縮伸長兼用回路100により挿入されており、これによって、8ラインのデータ毎に独立したJPEG方式の圧縮データが構成されている。
この図2に示すような圧縮データの構成とすることにより、従来では、ラインメモリを用いても圧縮データの構成は図5に示すように1画面で一つの圧縮データであったのに対して、本実施形態ではラインメモリの容量である所定のライン数毎に圧縮データを独立させることができる。これによって、本実施形態の画像圧縮伸長装置10Aによれば、画像データの圧縮処理と伸長処理とをラインメモリの容量である8ライン単位で独立して行うことが可能となり、時分割での圧縮処理と伸長処理とを1画面よりも小さい8ライン単位で行うことが可能になる。
ここで、本実施形態の画像圧縮伸長装置10Aの動作について、図3のタイミングチャートを用いて詳細に説明する。
図3のタイミングチャートは、図1の画像圧縮伸長装置10Aにおいて、撮像装置13と表示装置15とによって扱われる1画面の画像サイズが共に水平方向に320画素で垂直方向に240ラインであり、圧縮伸長方式をJPEG方式として各ラインメモリの垂直方向の容量を8ラインとした場合を示すものである。
まず、図3の各信号波形について説明する。
図3に示すように、一番上の入力ライン数カウントは、第1のラインメモリ制御回路116でカウントされる入力画像データの垂直方向のライン数である。ここでは、垂直ブランク期間の値が「0」、有効なデータを含む最初のラインが「1」、最後のラインが「240」として表されている。
上から2番目は、圧縮開始イネーブル信号11cの信号波形を示している。圧縮開始イネーブル信号11cは、アクティブ状態のときに「1」の値をとり、ネゲートのときに「0」となる。この値が「1」のときに圧縮伸長兼用回路100による圧縮処理がイネーブル状態となっており、この信号が「1」になると圧縮処理を開始可能な状態を表す。この圧縮開始イネーブル信号11cは、圧縮伸長兼用回路100による圧縮処理が開始されたときに出力される圧縮開始イネーブル信号11cのクリア信号11dによってクリアされると「0」に戻る。
上から3番目の出力ライン数カウントは、第2のラインメモリ制御回路126でカウントされる出力画像データの垂直方向のライン数である。ここでは、垂直ブランク期間の値が「0」、有効なデータを含む最初のラインが「1」、最後のラインが「240」として表されている。
上から4番目は、伸長開始イネーブル信号12cの信号波形を示している。この伸長開始イネーブル信号12cは、アクティブ状態のときに「1」の値をとり、ネゲートのときに「0」となる。この値が「1」のときに圧縮伸長兼用回路100による伸長処理がイネーブル状態となっており、この信号が「1」になると伸長処理を開始可能な状態を表す。この伸長開始イネーブル信号12cは、圧縮伸長兼用回路100による伸長処理が開始されたときに出力される伸長開始イネーブル信号12cのクリア信号12dによってクリアされると「0」に戻る。
その下の第1のスイッチ114〜第6のスイッチ145では、それぞれのスイッチの端子AまたはBのいずれがが選択されているかを示している。
1番下の圧縮伸長兼用回路100のモードは、上記圧縮開始イネーブル信号11cと伸長開始イネーブル信号12cとによって圧縮動作または伸長動作が行われている期間を表している。( )内の各数値は、1画面を構成する240ラインを8ラインずつ処理する場合について、全30回中、何回目の圧縮処理または伸長処理であるかを示している。それぞれの圧縮動作または伸長動作が記載されていない期間は、圧縮伸長兼用回路100の圧縮処理または伸長処理が動作していない期間を表している。
次に、図3の各時刻AからIまでの動作について説明する。
まず、時刻Aでは、出力ライン数カウントが「8」の整数倍である「216」に達したため、第3のスイッチ124と第4のスイッチ125とが反転されて、伸長開始イネーブル信号12cがアクティブ状態となり、すぐに伸長処理がスタートして、伸長開始イネーブル信号12cのクリア信号12dによって伸長開始イネーブル信号12cがクリアされた時刻を表している。
時刻Bでは、入力ラインカウントが「8」の倍数である「232」に達したため、第1のスイッチ114と第2のスイッチ115とが反転され、圧縮開始イネーブル信号11cがアクティブ状態となる時刻である。このとき、圧縮伸長兼用回路100による伸長処理中であるため、圧縮処理はスタートされず、圧縮開始イネーブル信号11cはそのクリア信号11dによってクリアされていない。
時刻Cでは、圧縮伸長兼用回路100による伸長処理が終了され、圧縮処理が開始された時刻である。圧縮伸長兼用回路100による圧縮処理が開始されると、圧縮開始イネーブル信号11cのクリア信号11dがアクティブ状態とされるので、圧縮開始イネーブル信号11cはこの時点でクリアされる。
時刻Dでは、出力ラインカウントが「8」の整数倍である「224」に達したため、第3のスイッチ124と第4のスイッチ125とが反転され、伸長開始イネーブル信号12cがアクティブ状態となり、すぐに伸長処理がスタートして、伸長開始イネーブル信号12cのクリア信号12dによって伸長開始イネーブル信号12cがクリアされた時刻を表す。
時刻Eは、入力ラインカウントが「8」の倍数である「240」に達したため、第1のスイッチ114と第2のスイッチ115とが反転され、圧縮開始イネーブル信号11cがアクティブ状態となった時刻である。このとき、圧縮伸長兼用回路100による伸長処理中であるため、圧縮処理はスタートされず、圧縮開始イネーブル信号11cはクリアされていない。
また、時刻Fでは、圧縮伸長兼用回路100による伸長処理が終了され、圧縮処理が開始された時刻である。圧縮伸長兼用回路100による圧縮処理が開始されると、圧縮開始イネーブル信号11cのクリア信号11dがアクティブ状態とされるので、圧縮開始イネーブル信号11cもこの時点でクリアされている。
図6に示す従来例では、この時刻Bから時刻Cまで期間と、時刻Eから時刻Fまでの期間とは、圧縮回路111による圧縮処理と伸長回路121による伸長処理とが重複している期間であったが、本実施形態では圧縮伸長兼用回路100による圧縮処理の開始を遅らせることによって、圧縮処理と伸長処理とが重ならないように処理している点が異なる。
また、時刻Gは、出力ラインカウントが「8」の整数倍である「240」に達したため、第5のスイッチ144と第6のスイッチ145とが反転され、伸長開始イネーブル信号12cがアクティブ状態となり、すぐに伸長処理がスタートして、伸長開始イネーブル信号12cのクリア信号12dによって伸長開始イネーブル信号12cがクリアされた時刻を表す。さらに、この時刻Gにおいて、入力ライン数カウントが「0」であることから、既に1画面分の圧縮終了信号14cがアクティブ状態となっており、また、出力ライン数カウントが「240」から「0」に初期化されたため、表示装置15の垂直ブランク期間信号14dもアクティブ状態である。このため、圧縮データメモリ制御回路146によって、第5のスイッチ144と第6のスイッチ145とが反転され、圧縮伸長兼用回路100からの圧縮データが記憶される圧縮データメモリと圧縮伸長兼用回路100による伸長処理のためにデータが読み出される圧縮データメモリとが交換される。
これにより、伸長開始イネーブル信号12cがアクティブ状態となり、この時刻Gに引き続いて時刻Hにも連続して、2回分の伸長処理が連続して行われる。これは、表示装置15の垂直ブランク期間が終わるまでに、第3のラインメモリ122と第4のラインメモリ123とに対して新たな画像データを伸長して記憶させておかないと、次の表示に間に合わなくなるためである。
時刻Iでは、新たな1画面分の入力画像データ13aが8ライン分記憶され、第1のラインメモリ制御回路116によって圧縮開始イネーブル信号11cがアクティブ状態とされ、すぐに圧縮処理がスタートして、圧縮開始イネーブル信号11cのクリア信号11dによって圧縮開始イネーブル信号11cがクリアされた時刻を表す。
以上のようにして、撮像装置13からの入力画像データ13aは、圧縮処理と伸長処理とを重なることなく別々に行う画像圧縮伸長兼用回路100を経て、表示装置15に出力画像データ12hとして出力されてその表示画面上に表示される。
以上説明したように、本実施形態の画像圧縮伸長装置10Aによれば、入力画像用ラインメモリであるラインメモリ112および113と、出力画像用ラインメモリであるラインメモリ122および123とに記憶される画像データのライン数が同じ数に設定されており、圧縮伸長兼用回路100によって、そのライン数単位で、時分割で圧縮処理と伸長処理とが別々に交互に繰り返して行われる。
圧縮データには、図2に示すように、ラインメモリの容量(所定のライン数)分の境界部にマーカーコードが挿入されているため、ラインメモリの容量であるライン数単位で圧縮データが分割されて、圧縮処理および伸長処理が1画面よりも小さな8ライン単位で行うことが可能となる。
従来技術のように、圧縮処理と伸長処理とが重複して行われる期間がないため、圧縮回路と伸長回路とを独立して設ける必要がなく、圧縮回路と伸長回路とで一部回路を共有させて、圧縮伸長兼用回路100をより簡略な構成とすることができる。共用できる回路としては、例えばJPEG方式の回路においては量子化テーブルのメモリ、離散コサイン変換を行なう際の転置メモリ、ハフマンテーブル用のメモリ、量子化と逆量子化する際の掛け算器などがある。
さらに、圧縮データメモリとして第1の圧縮データメモリ142および第2の圧縮データメモリ143の二つのメモリが設けられ、入力画像用ラインメモリとしてラインメモリ112および113の二つのメモリが設けられ、出力画像用ラインメモリとしてラインメモリ122および123の二つのメモリが設けられており、それぞれスイッチで切替えることによって、一方のメモリへの記憶と他方のメモリからの読み出しとを同時に行って、処理速度を向上させることができる。
なお、本実施形態では、入力画像用ラインメモリを第1および第2の入力画像用ラインメモリ112,113で構成し、圧縮データメモリを第1および第2の圧縮データメモリ142,143で構成し、出力画像用ラインメモリを第1および第2の出力画像用ラインメモリ122,123で構成したが、これに限らず、一つの入力画像用ラインメモリ、一つの圧縮データメモリ、一つの出力画像用ラインメモリを有するように構成することもできる。この場合にも、これらに対する制御回路はそれぞれ必要であるが、スイッチおよびその制御は必要なくなる。
また、本実施形態では、マーカーコードは8ライン分の画像データ毎に挿入されるように構成したが、これに限らず、8n(nは2以上の自然数)ライン分の画像データ毎に挿入され得る。
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。