JP2006333299A - 符号化装置および符号化方法並びに画像形成装置 - Google Patents
符号化装置および符号化方法並びに画像形成装置 Download PDFInfo
- Publication number
- JP2006333299A JP2006333299A JP2005156818A JP2005156818A JP2006333299A JP 2006333299 A JP2006333299 A JP 2006333299A JP 2005156818 A JP2005156818 A JP 2005156818A JP 2005156818 A JP2005156818 A JP 2005156818A JP 2006333299 A JP2006333299 A JP 2006333299A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate data
- encoding
- data
- processing
- image
- 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.)
- Pending
Links
Images
Landscapes
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
【課題】 符号化装置において、処理内容を柔軟に変更することができ、コストの上昇を招くことがなく、処理速度の点でも実用上問題とならないものとする。
【解決手段】 画像データを所定の大きさのブロックに分割し、得られたブロックごとの画像データを、該ブロックごとに空間周波数成分に変換するDCT変換処理部300(周波数変換手段)と、DCT変換処理部300によって得られた空間周波数成分に対応した係数を、ソフトウェア処理に好適な形式の所定の中間データへ変換する中間データ生成部303(中間データ化手段、中間データ出力手段)を備える。
【選択図】 図4
【解決手段】 画像データを所定の大きさのブロックに分割し、得られたブロックごとの画像データを、該ブロックごとに空間周波数成分に変換するDCT変換処理部300(周波数変換手段)と、DCT変換処理部300によって得られた空間周波数成分に対応した係数を、ソフトウェア処理に好適な形式の所定の中間データへ変換する中間データ生成部303(中間データ化手段、中間データ出力手段)を備える。
【選択図】 図4
Description
本発明は、符号化装置および符号化方法並びにこの装置を用いたデジタルカメラやファクシミリ等の画像形成装置に関し、詳細には、画像データに電子透かしを埋め込むのに適した画像データの符号化の改良に関する。
従来より、静止画や動画、音楽等のデジタルコンテンツの改ざんや不当な複製を検証し、あるいは防止すること等を目的として、これらのコンテンツに署名データを付加したり、電子透かしを埋め込む技術が提案されている。
ここで、電子透かしを埋め込む技術としては既に種々の方式が提案、実用化されているが、JPEG(Joint Photographic Expert Group)アルゴリズム等による圧縮符号化処理を行う場合、その圧縮過程で透かし情報が損なわれてしまうのを防止するため、量子化後のデータに透かしを埋め込み、その後、可変長符号化(ラングレンス符号化、ハフマン符号化等)を行うのが一般的となっている(非特許文献1,2等)。
一方、デジタルカメラに代表される画像形成装置では、JPEG等の符号化が用いられているが、これらの画像形成装置は高速に符号化処理する必要があるため、ハードウェアによって符号化処理を行っている。
そして、これらの画像形成装置において、得られた画像データに電子透かしを埋め込む方策としては、
(1)電子透かしを埋め込む処理をハードウェア化して組み込む方法、
(2)ハードウェアの処理を分割して、量子化後の画像データを一旦出力し、透かし処理を施した後に可変長符号化を行う方法、
(3)符号化されたデータを一旦復号化し、この復号化されたデータに透かし処理を施した後に、再度、可変長符号化を行う方法(特許文献1)、
などが考えられる。
小林弘幸、野口祥宏、貴家仁志,「JPEG符号化列へのバイナリデータの埋込み法」,電子情報通信学会論文誌,2000年6月,Vol.J83-DII No.6,p.1469−1476 小野束著,「電子透かしとコンテンツ保護」,第1版,株式会社オーム社,平成13年(2001年)2月,p.92−93 特開2000−151411号公報
(1)電子透かしを埋め込む処理をハードウェア化して組み込む方法、
(2)ハードウェアの処理を分割して、量子化後の画像データを一旦出力し、透かし処理を施した後に可変長符号化を行う方法、
(3)符号化されたデータを一旦復号化し、この復号化されたデータに透かし処理を施した後に、再度、可変長符号化を行う方法(特許文献1)、
などが考えられる。
小林弘幸、野口祥宏、貴家仁志,「JPEG符号化列へのバイナリデータの埋込み法」,電子情報通信学会論文誌,2000年6月,Vol.J83-DII No.6,p.1469−1476 小野束著,「電子透かしとコンテンツ保護」,第1版,株式会社オーム社,平成13年(2001年)2月,p.92−93
しかし、(1)の技術は、処理内容を一旦知られてしまうと、埋め込まれた透かし情報の除去や改ざんが容易になるだけでなく、透かし情報の除去等を簡単に繰り返すことができ、これを防止する観点からは、処理内容を柔軟に変更できるようにすることが望ましい。
また、(2)の技術は、符号化前のデータ量が多いため、必要となるメモリ容量が増大し、この容量増大はコストアップを招く。
(3)の技術は、全てのデータの復号化をソフトウェアによって行うため、実用的な処理速度を得るのは困難である。
本発明は上記事情に鑑みなされたものであって、処理内容を柔軟に変更することができ、コストの上昇を招くことがなく、処理速度の点でも実用上問題とならない符号化装置および符号化方法並びに画像形成装置を提供することを目的とする。
本発明の符号化装置、符号化方法および画像形成装置は、空間周波数成分に変換後のデータであって、かつ可変長符号化する前のデータを、中間データ化手段などの所定の変換処理によって中間データに変換し、この中間データに対して可変長符号化を施すことで、中間データ化する変換処理の処理内容を容易に変更可能としつつ、中間データ化によって、必要となるメモリ容量の増大を抑え、しかも、変換処理としては、符号化処理全体ではなく、中間データ化する部分のみを、ソフトウェアあるいはハードウェアによって実現する構成であるため、符号化処理全体をソフトウェアによって実現する構成において生じる処理速度の非実用性という問題を回避するものである。
すなわち、本発明の請求項1に係る符号化装置は、画像データを所定のブロックに分割し、このブロックごとに空間周波数成分に変換し、この変換処理により得られた空間周波数成分の係数を可変長符号化して符号化データを得る符号化装置において、前記可変長符号化前の係数データを所定の中間データへ変換する中間データ化手段と、前記中間データを出力する中間データ出力手段と、を備えたことを特徴とする。
このように構成された請求項1に係る符号化装置によれば、空間周波数成分に変換後のデータであって、かつ可変長符号化する前のデータを、中間データ化手段が、所定の変換処理によって中間データに変換し、この得られた中間データは、中間データ出力手段によって外部に一旦出力されてメモリ等に格納される。
そして、中間データが、ソフトウェア処理に好適な形式のデータとされていることによって、後の可変長符号化の対象を、この中間データとすることで、処理の柔軟性を確保することができる。
すなわち、中間データ化する変換処理の処理内容は容易に変更することができるため、変換処理の内容が一旦知られたとしても、処理内容を変更することで、変更後の変換処理内容が解析されるまでの期間、処理内容の秘匿性を確保することができる。
しかも、内容を解析される前に、処理内容を適時変更することで、解析の可能性を極めて低くすることができ、攻撃者の解析意欲を低減させる抑止力とすることもできる。
また、中間データ化によって、必要となるメモリ容量の増大を抑え、しかも、変換処理としては、符号化処理全体ではなく、中間データ化する部分のみで済むため、符号化処理全体をソフトウェアによって実現する構成において生じる処理速度の非実用性という問題を回避することができる。したがって、電子透かしなどの処理を高速に行うことができる。
また、本発明の請求項2に係る符号化装置は、請求項1に係る符号化装置において、前記中間データを入力する中間データ入力手段と、入力された中間データを可変長符号化して出力する中間データ符号化手段と、を備えたことを特徴とする。
ここで、中間データ符号化手段は、周波数成分の係数に対して可変長符号化すべく元々備えられている手段(符号化手段)が、その機能を兼用するものであってもよい。
このように構成された請求項2に係る符号化装置によれば、中間データ出力手段から出力されて中間データ入力手段に入力された中間データは、中間データ符号化手段によって、周波数成分の係数に対して可変長符号化されるため、最終的には、従来の符号化装置と同様に、可変長符号化された符号化データを得ることができる。
なお、中間データは、中間データ出力手段によって外部に一旦取り出すことができるため、この中間データに対して外部で、さらなる処理を施した上で、中間データ入力手段に入力することもできる。したがって、可変長符号化前に、中間データへの変換処理と外部での処理という2段階の処理を経るため、生成された符号化データから元の原画像データが解析されるのに抗する耐性を向上させることもできる。
また、本発明の請求項3に係る符号化装置は、請求項2に係る符号化装置において、前記中間データには、読込終了位置の情報を設定可能で、起動ごとに該読込終了位置までの処理を継続して行うことを特徴とする。
このように構成された請求項3に係る符号化装置によれば、中間データに読込終了位置の情報を設定することができ、読込終了位置までの中間データを専用の処理手段により可変長符号化するように構成されているので、電子透かしなどの処理を行う際に、専用の処理手段による可変長符号化を並列に処理することができ、処理を高速化することができる。
また、本発明の請求項4に係る符号化装置は、請求項1から3のうちいずれか1項に係る符号化装置において、前記中間データには、前記ブロックの座標位置の情報を含むことを特徴とする。
このように構成された請求項4に係る符号化装置によれば、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データの座標位置情報を容易に判断できるため、処理を高速化することができる。
また、本発明の請求項5に係る符号化装置は、請求項1から3のうちいずれか1項に係る符号化装置において、前記中間データには、前記ブロックのコンポーネント種別の情報を含むことを特徴とする。
このように構成された請求項5に係る符号化装置によれば、中間データにブロックのコンポーネント種別の情報を含むように構成されているため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データのブロックのコンポーネント種別の情報を容易に判断でき、処理を高速化することができる。
また、本発明の請求項6に係る符号化装置は、請求項1から3のうちいずれか1項に係る符号化装置において、前記中間データには、前記複数のブロックのうち所定のブロックに対応する中間データのデータサイズの情報を含むことを特徴とする。
このように構成された請求項6に係る符号化装置によれば、中間データにデータサイズの情報を含むように構成されているため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データを高速に検索することができ、処理を高速化することができる。
また、本発明の請求項7に係る符号化装置は、請求項1から3のうちいずれか1項に係る符号化装置において、前記中間データには、0値についてのランレングスの情報を含むことを特徴とする。
このように構成された請求項7に係る符号化装置によれば、中間データに0値のランレングスの情報を含むように構成されているので、出力される中間データのデータ量を低減することができ、これによりデータが記憶されるメモリ容量を小さくしてコストを低減することができる。
さらに、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データを高速に検索することができ、処理を高速化することができる。
また、本発明の請求項8に係る符号化装置は、請求項1から3のうちいずれか1項に係る符号化装置において、前記中間データには、所定量の無効データを含むことを特徴とする。
ここで、所定量とは、予め設定された量を含む意味である。
このように構成された請求項8に係る符号化装置によれば、中間データに所定量(予め設定された量の場合を含む)の無効データを含むように構成されているので、電子透かしなどを付加する等の処理を行う際に、柔軟な処理を高速に行うことができる。
本発明に係る画像形成装置は、入力された画像に基づいて画像データを形成する画像データ形成手段と、前記画像データに基づいて符号化データを得る符号化装置とを備えた画像データ形成装置において、前記符号化装置として、本発明に係る符号化装置を適用したことを特徴とする。
ここで、画像形成装置としては、例えば、デジタルカメラ、ファクシミリ、複写機、カメラ付き携帯電話機、カメラ付き携帯情報端末装置などであるが、その他の装置においても、カメラ機能を有し、画像データを取得することができるものであれば、適用することができる。
このように構成された本発明に係る画像形成装置によれば、備えられた符号化装置が、上述した本発明に係る符号化装置であるため、各符号化装置に対応した作用効果を発揮することができる。
また、本発明の請求項10に係る符号化方法は、画像データを所定のブロックに分割し、このブロックごとに空間周波数成分に変換し、この変換処理により得られた空間周波数成分の係数を可変長符号化して符号化データを得る符号化方法において、前記可変長符号化前の係数データを所定の中間データへ変換し、前記中間データを出力することを特徴とする。
このように構成された請求項10に係る符号化方法によれば、空間周波数成分に変換後のデータであって、かつ可変長符号化する前のデータを、所定の変換処理によって中間データに変換し、この得られた中間データは、外部に一旦出力されてメモリ等に格納される。
そして、中間データが、ソフトウェア処理に好適な形式のデータとされていることによって、後の可変長符号化の対象を、この中間データとすることで、処理の柔軟性を確保することができる。
すなわち、中間データ化する変換処理の処理内容は容易に変更することができるため、変換処理の内容が一旦知られたとしても、処理内容を変更することで、変更後の変換処理内容が解析されるまでの期間、処理内容の秘匿性を確保することができる。
しかも、内容を解析される前に、処理内容を適時変更することで、解析の可能性を極めて低くすることができ、攻撃者の解析意欲を低減させる抑止力とすることもできる。
また、中間データ化によって、必要となるメモリ容量の増大を抑え、しかも、変換処理としては、符号化処理全体ではなく、中間データ化する部分のみで済むため、符号化処理全体をソフトウェアによって実現する構成において生じる処理速度の非実用性という問題を回避することができる。したがって、電子透かしなどの処理を高速に行うことができる。
また、本発明の請求項11に係る符号化方法は、請求項10に係る符号化方法において、前記中間データの入力を受け、この入力された中間データを可変長符号化して出力することを特徴とする。
ここで、中間データ符号化は、周波数成分の係数に対して可変長符号化する処理手順を、対象を代えてそのまま実行するものであってもよい。
このように構成された請求項11に係る符号化方法によれば、一旦出力された後に入力された中間データは、周波数成分の係数に対して可変長符号化されるため、最終的には、従来の符号化方法と同様に、可変長符号化された符号化データを得ることができる。
なお、中間データは、外部に一旦取り出すことができるため、この中間データに対して外部で、さらなる処理を施した上で、入力することもできる。したがって、可変長符号化前に、中間データへの変換処理と外部での処理という2段階の処理を経るため、生成された符号化データから元の原画像データが解析されるのに抗する耐性を向上させることもできる。
また、本発明の請求項12に係る符号化方法は、請求項11に係る符号化方法において、前記中間データには、読込終了位置の情報を設定可能で、起動ごとに該読込終了位置までの処理を継続して行うことを特徴とする。
このように構成された請求項12に係る符号化方法によれば、中間データに読込終了位置の情報を設定することができ、読込終了位置までの中間データを専用の処理手段により可変長符号化するように構成されているので、電子透かしなどの処理を行う際に、専用の処理手段による可変長符号化を並列に処理することができ、処理を高速化することができる。
また、本発明の請求項13に係る符号化方法は、請求項10から12のうちいずれか1項に係る符号化方法において、前記中間データには、前記ブロックの座標位置の情報を含むことを特徴とする。
このように構成された請求項13に係る符号化方法によれば、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データの座標位置情報を容易に判断できるため、処理を高速化することができる。
また、本発明の請求項14に係る符号化方法は、請求項10から12のうちいずれか1項に係る符号化方法において、前記中間データには、前記ブロックのコンポーネント種別の情報を含むことを特徴とする。
このように構成された請求項14に係る符号化方法によれば、中間データにブロックのコンポーネント種別の情報を含むように構成されているため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データのブロックのコンポーネント種別の情報を容易に判断でき、処理を高速化することができる。
また、本発明の請求項15に係る符号化方法は、請求項10から12のうちいずれか1項に係る符号化方法において、前記中間データには、前記複数のブロックのうち所定のブロックに対応する中間データのデータサイズの情報を含むことを特徴とする。
このように構成された請求項15に係る符号化方法によれば、中間データにデータサイズの情報を含むように構成されているため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データを高速に検索することができ、処理を高速化することができる。
また、本発明の請求項16に係る符号化方法は、請求項10から12のうちいずれか1項に係る符号化方法において、前記中間データには、0値についてのランレングスの情報を含むことを特徴とする。
このように構成された請求項16に係る符号化方法によれば、中間データに0値のランレングスの情報を含むように構成されているので、出力される中間データのデータ量を低減することができ、これによりデータが記憶されるメモリ容量を小さくしてコストを低減することができる。
さらに、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データを高速に検索することができ、処理を高速化することができる。
また、本発明の請求項17に係る符号化方法は、請求項10から12のうちいずれか1項に係る符号化方法において前記中間データには、所定量の無効データを含むことを特徴とする。
ここで、所定量とは、予め設定された量を含む意味である。
このように構成された請求項17に係る符号化方法によれば、中間データに所定量(予め設定された量の場合を含む)の無効データを含むように構成されているので、電子透かしなどを付加する等の処理を行う際に、柔軟な処理を高速に行うことができる。
本発明に係る符号化装置、符号化方法および画像形成装置によれば、中間データが、ソフトウェア処理に好適な形式のデータとされていることによって、後の可変長符号化の対象を、この中間データとすることで、処理の柔軟性を確保することができる。
しかも、内容を解析される前に、処理内容を適時変更することで、解析の可能性を極めて低くすることができ、攻撃者の解析意欲を低減させる抑止力とすることもできる。
また、中間データ化によって、必要となるメモリ容量の増大を抑え、しかも、変換処理としては、符号化処理全体ではなく、中間データ化する部分のみで済むため、符号化処理全体をソフトウェアによって実現する構成において生じる処理速度の非実用性という問題を回避することができる。したがって、電子透かしなどの処理を高速に行うことができる。
以下、本発明に係る画像形成装置の最良の実施の形態について、図面を用いて説明する。
図1は、本発明の画像形成装置の一実施形態としてのデジタルスチルカメラ1を表すブロック図である。以下、このデジタルスチルカメラ1により、デジタル画像データのブロックごとの空間周波数成分に対応した係数(DCT係数)を量子化した後であって、可変長符号化する前の段階で中間データを生成し、この中間データをソフトウェアのみで処理する例(実施例1)と、出力された中間データをソフトウェアで操作した後、再度、ハードウェア(符号化装置)で処理する例(実施例2)とについて説明する。
図1に示したデジタルスチルカメラ1は、デジタルスチルカメラ1全体の制御を行うために設けられたCPU、フラッシュメモリ、SDRAM、タイマ等からなるシステム制御部2と、撮像のために設けられた、光学系部品(レンズおよびレンズ駆動モータ)、CCD、CCD駆動回路、A/D変換器等からなる撮像部3と、撮像部3で得られた画像信号に種々の画像処理を施すとともに、撮像部3のCCD駆動タイミング、レンズ駆動モータを制御して、ズーミング、フォーカシング、露出調整等を行い、また、画像のJPEG圧縮およびJPEG伸長を行うために設けられた画像処理用LSI、メモリ等からなる画像処理部4と、画像を表示し、また、ユーザーインターフェイスのためのグラフィックを表示するために設けられたLCD6と、画像処理部4で処理された画像信号をLCD6へ表示するための信号処理を行い、また、ユーザーインターフェイスのための種々のグラフィック画像を生成し、LCD6へ表示するために設けられたD/A変換器、オンスクリーンディスプレイコントローラ等からなる表示制御部5と、記録メディアとのインターフェイスのために設けられたメモリカードコントローラ等からなる記録メディアインターフェイス部7と、圧縮された画像信号や画像に纏わる種々の情報を記憶するために設けられた、フラッシュメモリ等からなる、デジタルスチルカメラ1から着脱可能な記録メディア8と、図示されていないキー、ダイアル等のユーザーインターフェイスの状態検出を行い、またメインCPUへの主電源制御を行うために設けられたサブCPU等からなるハードキーインターフェイス部9と、各種通信モジュールを接続してデータ通信を行うために設けられた、通信カードコントローラ等からなる、通信インターフェイス部10と、デジタルスチルカメラ1をUSBで接続し、デジタルスチルカメラ1からの画像を転送して再生する画像再生装置11とを備えている。
まず、従来の撮影動作について説明する。使用者は、撮影に先立って、図示されていない種々のキーやダイヤルを操作して、撮影動作モード(連写撮影モード、通常撮影モード等)を決定する。使用者による操作内容は、ハードキーインターフェイス部9を通じて、システム制御部2により判別される。
システム制御部2は、操作に応じて、表示制御部5にガイダンスグラフィックを生成して、利用者に次の操作を促す。
システム制御部2は、撮影動作モードが決定されると、画像処理部4に対して、モードに応じた処理パラメータを設定する。
撮影の準備が整った後、システム制御部2は、撮像部3および画像処理部4を起動し、撮像部3は画像処理部4からの制御に従い、実際の撮影に先だって、モニタリング画像を表示するための撮像動作を開始する。
そして、撮像された画像データは連続的に画像処理部4へ送られ、画像処理部4は画像データに対して、色空間変換、ガンマ補正、ホワイトバランス調整などの処理を施した後、表示制御部5へ送る。
また、このとき同時に、画像処理部4は、露出の検出を行い、撮像部3を制御して調整を行う。
表示制御部5は、画像データを信号処理して、この画像データに対応した可視画像としてLCD6に表示し、利用者に撮像状態を提示する。
図示されていないレリーズボタンの半押し状態が検出されると、その操作はモード設定と同様にしてハードキーインターフェイス部9を通じてシステム制御部2で判別される。
システム制御部2は、画像処理部4を制御し、画像処理部4はモニタリング画像からオートフォーカス(AF)制御のための評価値を抽出し、所定のアルゴリズムに従って撮像部3を制御してフォーカス調整を行う。
図示されていないズームボタンが押されると、その操作は同様にしてハードキーインターフェイス部9を通じてシステム制御部2により判別される。システム制御部2は、撮像部3を制御して、入力された方向へのズーム動作を行なわせる。
図示されていないレリーズボタンが押されると、その操作は同様にしてハードキーインターフェイス部9を通じてシステム制御部2で判別される。システム制御部2は、設定されている撮影動作モードにしたがい、画像処理部4を制御して撮影動作を開始する。
撮像部3は、画像処理部4からの制御にしたがって所定の画像を取り込み、これを画像処理部4へ送り、画像処理部4は、撮影動作モードに応じた画像処理、圧縮処理を行う。
またこのとき、画像データから縮小画像データを生成、圧縮してサムネイルデータも作成する。
通常の撮影動作モードの場合には、1フレーム分の画像の取込みと処理で終了する。連写モードの場合には、レリーズボタンの解除が検出されるまで、所定のフレームレートで画像の取込みと処理を繰り返し行う。
システム制御部2は、圧縮された画像データおよびサムネイルデータを読み出し、さらにヘッダー情報を付加した後、記録メディアインターフェイス部7を通じて記録メディア8へ書き込む。なお、ヘッダー情報には、選択された撮影動作モードの情報や撮影日時の情報等が含まれている。以上で一連の撮影動作を完了する。
次に、画像処理部4の詳細な構成について、図2を参照して説明する。
画像処理部4は、システム制御部2の指示により、前述した各種駆動信号を撮像部3へ送出する撮像制御部100と、撮像部3からの画像信号を受け取り、システム制御部2からの設定に基づいて、前述した色空間変換、ガンマ補正、ホワイトバランス調整などの処理を行う画像変換部101と、JPEG圧縮処理を行うJPEGエンコーダ102と、JPEG伸長処理を行うJPEGデコーダ103と、各モジュールからのアクセスを調停しながら、メモリ105へのアクセスを行うメモリコントローラ104と、画像データ、符号データを蓄積するメモリ105とを備えた構成である。
さらに、JPEGエンコーダ102は、図3に示すように、画像データを垂直方向8画素×水平方向8画素の大きさ(64画素)のブロックに分割し、得られたブロックごとの画像データを、該ブロックごとに空間周波数成分に変換すべくDCT変換を行い、DCT係数を求めるDCT変換処理部200(ブロック分割手段および周波数変換手段)と、DCT係数に対して、所定の量子化テーブルにしたがって量子化処理を施す量子化処理部201と、量子化された係数をハフマンテーブルに基づいてハフマン符号化(可変長符号化)するハフマン符号化処理部202(符号化手段)とを備えている。
なお、ブロック毎の画像データのメモリ105からの読出しは、システム制御部2によって設定された画像データの配置情報(各色成分(Y,U,V)の先頭アドレス、水平サイズ、垂直サイズ)に基づいて、メモリコントローラ104により行われる。
また、ハフマン符号化処理部202において、各係数はジグザグスキャン順に符号化され、符号化されたデータのメモリ105への書出しは、システム制御部2によって設定された先頭アドレスに基づいて、メモリコントローラ104によりバイト単位で行われる。
なお、MCUの境界、各ブロックの境界のタイミングも、係数データと併せて、ハフマン符号化処理部202に伝達される。
本実施例1においては、上述したJPEGエンコーダ102が図4に示したJPEGエンコーダ102′(符号化装置)として構成されており、さらに、ハフマン符号化前の係数データを所定の中間データへ変換する中間データ化手段とこの中間データを出力する中間データ出力手段とを機能的に兼ねた中間データ生成部303を有している。
なお、DCT変換処理部300は図3に示したDCT変換処理部200に、量子化処理部301は図3に示した量子化処理部201に、ハフマン符号化処理部302は図3に示したハフマン符号化処理部202に、それぞれ対応している。
この中間データ生成部303は、量子化処理部301から係数データと、MCU(Minimum Coded Unit;圧縮伸長の最小単位)の境界、各ブロックの境界のタイミングを受けて、ソフトウェア処理に好適な形で中間データを生成するが、この中間データは、係数データと所定のTAG情報とからなり、本実施例においては、連続する16ビット長のデータである。
図6に、TAG情報の一覧を示す。図6において、TAG0は、続いて出力される中間データのMCUごとのX座標(図面の右方向へ延びる座標)を示すTAGであり、MCUごとの中間データの先頭で出力される。
TAG1は、同様にしてY座標(画像の下方向へ延びる座標)を示すTAGであり、TAG0に続いて出力される。
TAG2は、TAG2の位置から次のMCUの先頭(次のTAG0)までの中間データのワード数を示すTAGであり、TAG1に続いて出力される。
TAG3は、MCU内の各コンポーネント(ブロック)を識別するIDと、TAG3から次のコンポーネント(TAG3)までの中間データのワード数を示すTAGであり、コンポーネント毎の中間データの先頭で出力される。
コンポーネントIDは、サブサンプリング形式により、下表に示すように割り当てられる。
<サブサンプリング形式 成分 ID>
YCbCr422 Y(0) 0
Y(1) 1
Cb 2
Cr 3
---------------------------------
YCbCr420 Y(0,0) 0
Y(1,0) 1
Y(0,1) 2
Y(1,1) 3
Cb 4
Cr 5
---------------------------------
このように構成された実施例1によれば、TAG0〜TAG3(MCUごとのX座標およびY座標(座標位置情報)、MCUの先頭(次のTAG0)までの中間データのワード数(データサイズ)、並びに、MCU内の各コンポーネント(ブロック)を識別するIDおよび中間データのワード数(データサイズ))を検索対象に含めることにより、後述するソフトウェア処理において、操作を行おうとする対象の画像位置やコンポーネントを容易に検索することができる。
<サブサンプリング形式 成分 ID>
YCbCr422 Y(0) 0
Y(1) 1
Cb 2
Cr 3
---------------------------------
YCbCr420 Y(0,0) 0
Y(1,0) 1
Y(0,1) 2
Y(1,1) 3
Cb 4
Cr 5
---------------------------------
このように構成された実施例1によれば、TAG0〜TAG3(MCUごとのX座標およびY座標(座標位置情報)、MCUの先頭(次のTAG0)までの中間データのワード数(データサイズ)、並びに、MCU内の各コンポーネント(ブロック)を識別するIDおよび中間データのワード数(データサイズ))を検索対象に含めることにより、後述するソフトウェア処理において、操作を行おうとする対象の画像位置やコンポーネントを容易に検索することができる。
TAG4は、係数の連続するゼロ値の数をカウントした結果(0値についてのランレングスの情報)を示すTAGであり、1つ以上のゼロ値の係数があった場合に、その係数に代わって出力される。一般的に、量子化後の係数は0値を多く含んでいるため、TAG4により出力される中間データのデータ量を低減させることができる。
TAG5は、ダミーの中間データ(所定量の無効データ)を示すTAGであり、予めシステム制御部2から中間データ生成部303に設定された値にしたがい、各コンポーネントごとに設定された数だけ出力される。
TAG5によって、後述するソフトウェア処理において、データの追加挿入を容易(他の部分のメモリの移動を行わずに)に行うことができる。なお、システム制御部2から設定される値は、後述するソフトウェア処理の内容に応じて、予めシステムに登録されている。
TAG6は、後述する実施例2で用いられるTAGであり、後に詳説する。
なお、係数データは、−2048〜2047(0x0000〜0x07FF、0xF800〜0xFFFF)の範囲内のデータであるため、TAGデータと重複することはない。
以下、この動作について、図7,8のフローチャートを参照して説明する。
ここで、mは、いくつめのMCUであるかを計数するMCUカウンタである。cは、MCU内のいくつめのコンポーネント(ブロック)であるかを計数するコンポーネントカウンタであり、この値がTAG3のIDに設定される。
CMは、MCU内のワード数を計数するMCUワードカウンタであり、この値がTAG2のSMに設定される。CCは、コンポーネント(ブロック)内のワード数を計数するコンポーネントカウンタであり、この値がTAG3のSBに設定される。
CKは、係数の連続するゼロ値の数を計数するゼロランカウンタであり、この値がTAG4のRUNに設定される。
まず、JPEGエンコーダが起動されると、中間データ生成部301は内部データを初期化し(ステップ500)、量子化器301からの係数値、およびMCUの境界、各ブロックの境界のタイミングの通知をそれぞれ受け取る。
中間データ生成部303は、MCUごとに中間データ生成部303内のバッファメモリに中間データを設定し、MCUごとにメモリコントローラ104を起動して、バッファメモリ内の中間データをメモリ105へ書き出す。
MCUの境界が通知されると(ステップ501)、前述したTAG0,TAG1,TAG2を設定するとともに、前述したカウンタデータを初期化、更新する(ステップ504)。なお、TAG2のデータはこの時点では確定せず、仮にダミーデータを設定し、次回のMCUの処理の開始時に行われるMCU終了処理(ステップ503)において更新する。
MCUの終了処理は、図8(a)に示すように、まず最後のコンポーネントの終了処理を行い(ステップ516)、TAG2データを確定し(ステップ517)、メモリへ出力する(ステップ518)。コンポーネントの終了処理については後述する。
コンポーネントの境界が通知されると(ステップ505)、TAG3を設定するとともに、カウンタデータを初期化、更新する(ステップ508)。なお、TAG3のデータはこの時点では確定せず、仮にダミーデータを設定し、次回のコンポーネントあるい次回のMCUの処理の開始時に行われるコンポーネント終了処理(ステップ507,ステップ516)において更新する。
コンポーネントの終了処理は、図8(b)に示すように、まずゼロランカウンタCKをチェックし(ステップ519)、未設定のTAG4があればそれを設定してカウンタを初期化する(ステップ520)。また、所定数のTAG5を設定し(ステップ521)、TAG3データを確定する(ステップ522)。
係数が0値の場合(ステップ509)は、カウンタを更新する(ステップ510)。係数が0値でない場合、係数データを設定する(ステップ513)とともに、ゼロランカウンタCKをチェックし(ステップ511)、未設定のTAG4があれば、そのTAG4を設定してカウンタを初期化する(ステップ512)。
以上の動作を最後のデータまで繰り返し行い(ステップ514)、最終MCUのデータを出力して(ステップ515)、動作を終了する。
システム制御部2は、メモリ105に展開された中間データをメモリコントローラ104を介してアクセスし、従来の技術による電子透かしなどの処理を行うとともに、ハフマン符号化の処理を行い、圧縮された画像データを生成する。なお、電子透かしなどの処理は利用者の設定に応じて、通常動作と切り替えて使用することができる。
このように、本実施例1に係る符号化装置(JPEGエンコーダ102′)によれば、中間データが、ソフトウェア処理に好適な形式のデータとされていることによって、後のハフマン符号化処理の対象を、この中間データとすることで、処理の柔軟性を確保することができる。しかも、処理内容を容易に適時変更することができる。
また、中間データ化によって、必要となるメモリ105の容量の増大を抑え、しかも、変換処理としては、符号化処理全体ではなく、中間データ化する部分のみで済むため、符号化処理全体をソフトウェアによって実現する構成において生じる処理速度の非実用性という問題を回避することができる。したがって、電子透かしなどの処理を高速に行うことができる。
なお、中間データは、画像処理部4の外部に一旦取り出すことができるため、この中間データに対して外部で、さらなる処理を施した上で、再入力することもできる。したがって、ハフマン符号化前に、中間データへの変換処理と外部での処理という2段階の処理を経るため、生成された符号化データから元の原画像データが解析されるのに抗する耐性を向上させることもできる。
また、中間データには、読込終了位置の情報を設定可能で、起動ごとに読込終了位置までの処理を継続して行い、読込終了位置までの中間データをハフマン符号化処理部302で可変長符号化するように構成されているので、電子透かしなどの処理を行う際に、専用のハフマン符号化処理部302による可変長符号化を並列に処理することができ、処理を高速化することができる。
また、中間データには、ブロックの座標位置の情報を含むため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データの座標位置情報を容易に判断でき、処理を高速化することができる。
同様に、中間データには、ブロックのコンポーネント種別の情報(ID等に基づいて識別可能)を含むため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データのブロックのコンポーネント種別の情報を容易に判断でき、処理を高速化することができる。
さらに、中間データには、中間データのデータサイズの情報を含むため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データ高速に検索することができ、この観点からも、処理を高速化することができる。
また、中間データには、0値についてのランレングスの情報を含むため、出力される中間データのデータ量を低減することができ、これによりデータが記憶されるメモリ容量を小さくしてコストを低減することができる。
さらに、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データ高速に検索することができ、処理を高速化することができる。
また、中間データには、所定量の無効データを含むため、電子透かしなどを付加する等の処理を行う際に、柔軟な処理を高速に行うことができる。
なお、画像形成装置としてのデジタルスチルカメラ1は、入力された画像に基づいて画像データを形成する撮像部3(画像データ形成手段)と、この画像データに基づいて符号化データを得る画像処理部4(符号化装置)とを備え、この画像処理部4は上述した本発明の符号化装置の実施形態として作用するため、画像処理部4が奏する効果を、カメラ1としてもそのまま発揮することができる。
なお、デジタルスチルカメラ1に代えて、ファクシミリ、複写機、カメラ付き携帯電話機、カメラ付き携帯情報端末装置などの画像形成装置にも、同様に適用することができる。
本実施例2においては、上述したJPEGエンコーダ102が図5に示したJPEGエンコーダ102″として構成されており、外部から中間データを入力する中間データ入力手段としての中間データ読取部404と、この中間データ読取部404に入力された中間データに対してハフマン符号化処理(可変長符号化処理)して出力する中間データ符号化手段としてのハフマン符号化処理部402とを備えている。
ここで、中間データ符号化手段としてのハフマン符号化処理部402は、元々備えられている符号化手段としての、図3におけるハフマン符号化処理部202がその機能を兼ねたものである。
なお、DCT変換処理部400は図3に示したDCT変換処理部200に、量子化処理部401は図3に示した量子化処理部201に、ハフマン符号化処理部402は図3に示したハフマン符号化処理部202に、中間データ生成部403は図4に示した中間データ生成部303に、それぞれ対応している。
システム制御部2は、前述したように、メモリ105に展開された中間データをメモリコントローラ104を介してアクセスし、従来の技術による電子透かしなどの処理を行う。その際、システム制御部2による中間データの操作と、処理の完了した途中までの中間データのハフマン符号化とを並行して行うことにより、高速に処理を行うことができる。
システム制御部2は、処理の完了した途中の中間データ位置に、図6に示したTAG6の操作終了コードを書き込む。書込み位置に元々格納されていたデータは、TAG5のデータであってもよいし、処理によって無効にしようとする係数データであってもよい。
システム制御部2は、中間データ読取部404を起動した後に、中間データの操作の処理を継続し、所定量の処理が完了した時点で、TAG6のサイドの書込みと中間データ読取部404の起動を行い、以後、データの終了まで繰り返す。
以下、この動作について、図9のフローチャートを参照して説明する。
中間データ読取部404は、起動されると、まずメモリコントローラ104を介してメモリ105から中間データを1ワード読み込む(ステップ600)。
そして、読み取った中間データがTAGであるかどうかを判定し(ステップ601)、TAGデータでなければ係数データとしてハフマン符号化処理部402へ出力する(ステップ609)。
一方、TAGデータであった場合、TAG0であればMCU境界の通知をハフマン符号化処理部402へ出力し(ステップ602,603)、TAG3であればブロック境界の通知をハフマン符号化処理部402へ出力する(ステップ604,605)。
また、TAG4の場合には、RUNに指定されている数の0値を係数データとしてハフマン符号化処理部402へ出力する(ステップ606)。
以上の処理を、TAG6が出現するまで繰り返し行い(ステップ608)、TAG6が出現した時点で処理を終了する。
このように、本実施例2に係る符号化装置(JPEGエンコーダ102″)によれば、中間データが、ソフトウェア処理に好適な形式のデータとされていることによって、後のハフマン符号化処理の対象を、この中間データとすることで、処理の柔軟性を確保することができる。しかも、処理内容を容易に適時変更することができる。
また、中間データ化によって、必要となるメモリ105の容量の増大を抑え、しかも、変換処理としては、符号化処理全体ではなく、中間データ化する部分のみで済むため、符号化処理全体をソフトウェアによって実現する構成において生じる処理速度の非実用性という問題を回避することができる。したがって、電子透かしなどの処理を高速に行うことができる。
なお、中間データは、画像処理部4の外部に一旦取り出すことができるため、この中間データに対して外部で、さらなる処理を施した上で、再入力することもできる。したがって、ハフマン符号化前に、中間データへの変換処理と外部での処理という2段階の処理を経るため、生成された符号化データから元の原画像データが解析されるのに抗する耐性を向上させることもできる。
また、中間データ読取部404に入力された中間データは、ハフマン符号化処理部402によって周波数成分の係数に対して可変長符号化されるため、最終的には、従来の符号化装置と同様に、可変長符号化された符号化データを得ることができる。
また、中間データには、読込終了位置の情報を設定可能で、起動ごとに読込終了位置までの処理を継続して行い、読込終了位置までの中間データをハフマン符号化処理部402で可変長符号化するように構成されているので、電子透かしなどの処理を行う際に、専用のハフマン符号化処理部402による可変長符号化を並列に処理することができ、処理を高速化することができる。
また、中間データには、ブロックの座標位置の情報を含むため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データの座標位置情報を容易に判断でき、処理を高速化することができる。
同様に、中間データには、ブロックのコンポーネント種別の情報(ID等に基づいて識別可能)を含むため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データのブロックのコンポーネント種別の情報を容易に判断でき、処理を高速化することができる。
さらに、中間データには、中間データのデータサイズの情報を含むため、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データ高速に検索することができ、この観点からも、処理を高速化することができる。
また、中間データには、0値についてのランレングスの情報を含むため、出力される中間データのデータ量を低減することができ、これによりデータが記憶されるメモリ容量を小さくしてコストを低減することができる。
さらに、電子透かしなどを付加する等の処理を行う際に、処理対象の画像データ高速に検索することができ、処理を高速化することができる。
また、中間データには、所定量の無効データを含むため、電子透かしなどを付加する等の処理を行う際に、柔軟な処理を高速に行うことができる。
なお、画像形成装置としてのデジタルスチルカメラ1は、入力された画像に基づいて画像データを形成する撮像部3(画像データ形成手段)と、この画像データに基づいて符号化データを得る画像処理部4(符号化装置)とを備え、この画像処理部4は上述した本発明の符号化装置の実施形態として作用するため、画像処理部4が奏する効果を、カメラ1としてもそのまま発揮することができる。
なお、デジタルスチルカメラ1に代えて、ファクシミリ、複写機、カメラ付き携帯電話機、カメラ付き携帯情報端末装置などの画像形成装置にも、同様に適用することができる。
102′JPEGエンコーダ(符号化装置)
300 DCT変換処理部(周波数変換手段)
301 量子化処理部
302 ハフマン符号化処理部(符号化手段、中間データ符号化手段)
303 中間データ生成部(中間データ化手段、中間データ出力手段)
300 DCT変換処理部(周波数変換手段)
301 量子化処理部
302 ハフマン符号化処理部(符号化手段、中間データ符号化手段)
303 中間データ生成部(中間データ化手段、中間データ出力手段)
Claims (17)
- 画像データを所定のブロックに分割し、このブロックごとに空間周波数成分に変換し、この変換処理により得られた空間周波数成分の係数を可変長符号化して符号化データを得る符号化装置において、
前記可変長符号化前の係数データを所定の中間データへ変換する中間データ化手段と、
前記中間データを出力する中間データ出力手段と、を備えたことを特徴とする符号化装置。 - 前記中間データを入力する中間データ入力手段と、入力された中間データを可変長符号化して出力する中間データ符号化手段と、を備えたことを特徴とする請求項1に記載の符号化装置。
- 前記中間データには、読込終了位置の情報を設定可能で、起動ごとに該読込終了位置までの処理を継続して行うことを特徴とする請求項2に記載の符号化装置。
- 前記中間データには、前記ブロックの座標位置の情報を含むことを特徴とする請求項1から3のうちいずれか1項に記載の符号化装置。
- 前記中間データには、前記ブロックのコンポーネント種別の情報を含むことを特徴とする請求項1から3のうちいずれか1項に記載の符号化装置。
- 前記中間データには、前記複数のブロックのうち所定のブロックに対応する中間データのデータサイズの情報を含むことを特徴とする請求項1から3のうちいずれか1項に記載の符号化装置。
- 前記中間データには、0値についてのランレングスの情報を含むことを特徴とする請求項1から3のうちいずれか1項に記載の符号化装置。
- 前記中間データには、所定量の無効データを含むことを特徴とする請求項1から3のうちいずれか1項に記載の符号化装置。
- 入力された画像に基づいて画像データを形成する画像データ形成手段と、前記画像データに基づいて符号化データを得る符号化装置とを備えた画像データ形成装置において、
前記符号化装置は、請求項1から8のうちいずれか1項に記載の符号化装置であることを特徴とする画像形成装置。 - 画像データを所定のブロックに分割し、このブロックごとに空間周波数成分に変換し、この変換処理により得られた空間周波数成分の係数を可変長符号化して符号化データを得る符号化方法において、
前記可変長符号化前の係数データを所定の中間データへ変換し、前記中間データを出力することを特徴とする符号化方法。 - 前記中間データの入力を受け、この入力された中間データを可変長符号化して出力することを特徴とする請求項10に記載の符号化方法。
- 前記中間データには、読込終了位置の情報を設定可能で、起動ごとに該読込終了位置までの処理を継続して行うことを特徴とする請求項11に記載の符号化方法。
- 前記中間データには、前記ブロックの座標位置の情報を含むことを特徴とする請求項10から12のうちいずれか1項に記載の符号化方法。
- 前記中間データには、前記ブロックのコンポーネント種別の情報を含むことを特徴とする請求項10から12のうちいずれか1項に記載の符号化方法。
- 前記中間データには、前記複数のブロックのうち所定のブロックに対応する中間データのデータサイズの情報を含むことを特徴とする請求項10から12のうちいずれか1項に記載の符号化方法。
- 前記中間データには、0値についてのランレングスの情報を含むことを特徴とする請求項10から12のうちいずれか1項に記載の符号化方法。
- 前記中間データには、所定量の無効データを含むことを特徴とする請求項10から12のうちいずれか1項に記載の符号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005156818A JP2006333299A (ja) | 2005-05-30 | 2005-05-30 | 符号化装置および符号化方法並びに画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005156818A JP2006333299A (ja) | 2005-05-30 | 2005-05-30 | 符号化装置および符号化方法並びに画像形成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006333299A true JP2006333299A (ja) | 2006-12-07 |
Family
ID=37554469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005156818A Pending JP2006333299A (ja) | 2005-05-30 | 2005-05-30 | 符号化装置および符号化方法並びに画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006333299A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978253B2 (en) | 2007-07-18 | 2011-07-12 | Ricoh Company, Ltd. | Image pickup device using blur processing and control method thereof |
US8194158B2 (en) | 2007-07-27 | 2012-06-05 | Ricoh Company, Ltd. | Image processor, image processing method, digital camera, and imaging apparatus |
-
2005
- 2005-05-30 JP JP2005156818A patent/JP2006333299A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7978253B2 (en) | 2007-07-18 | 2011-07-12 | Ricoh Company, Ltd. | Image pickup device using blur processing and control method thereof |
US8194158B2 (en) | 2007-07-27 | 2012-06-05 | Ricoh Company, Ltd. | Image processor, image processing method, digital camera, and imaging apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4682102B2 (ja) | 画像符号化装置及び画像符号化方法 | |
KR101336127B1 (ko) | 이미지를 회전시키기 위한 장치 및 방법 | |
US8098959B2 (en) | Method and system for frame rotation within a JPEG compressed pipeline | |
EP1981272A2 (en) | Image capturing apparatus, image processing apparatus and control methods thereof | |
JP2006311154A (ja) | 撮像装置、この装置の処理方法およびその方法をコンピュータに実行させるプログラム | |
JP4571074B2 (ja) | 画像データの圧縮とサムネール画像の作成を行う電子機器、画像処理装置、データ構造 | |
US7986350B2 (en) | Mobile terminal and operating method thereof | |
US8482633B2 (en) | Apparatus and method for image processing using security function | |
JP4273426B2 (ja) | 画像処理方法、画像処理装置、画像処理方法のプログラム及び画像処理方法のプログラムを記録した記録媒体 | |
JP2002044663A (ja) | 画像符号化装置及び方法、画像表示装置及び方法、画像処理システム並びに撮像装置 | |
CN107079130B (zh) | 图像处理设备和图像处理方法 | |
JP2006295573A (ja) | 電子透かしの埋込装置および埋込方法並びに画像形成装置 | |
JP2006333299A (ja) | 符号化装置および符号化方法並びに画像形成装置 | |
JP2013046281A (ja) | 画像符号化装置と画像符号化方法およびプログラム | |
JP6702792B2 (ja) | 画像処理装置およびその制御方法 | |
JP5407651B2 (ja) | 画像処理装置、画像処理プログラム | |
JP2006254333A (ja) | 符号化装置と符号化方法とデジタルカメラ | |
JP4706567B2 (ja) | 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体、画像処理装置 | |
JP2011023928A (ja) | 撮像装置、画像処理装置および画像処理方法 | |
JP2009201153A (ja) | ディジタルカメラおよび撮影方法 | |
JP2001245139A (ja) | ディジタル画像記録装置および方法、並びに伝送方法 | |
KR100771119B1 (ko) | 복수의 개별 영상 데이터 합산 방법 및 그 장치 | |
JP2006129295A (ja) | 画像データ結合装置、画像データ結合方法、画像データ結合プログラム | |
KR100808501B1 (ko) | 제이펙 파일을 분할 디코딩하는 이미지 처리 장치, 프로세서 및 이의 제어 방법과 그 방법을 수행하는 프로그램이 기록된 기록매체 | |
JP2021034836A (ja) | 撮像装置、撮像装置の制御方法およびプログラム |