JP3919101B2 - Image processing apparatus, program, and storage medium - Google Patents

Image processing apparatus, program, and storage medium Download PDF

Info

Publication number
JP3919101B2
JP3919101B2 JP2002336022A JP2002336022A JP3919101B2 JP 3919101 B2 JP3919101 B2 JP 3919101B2 JP 2002336022 A JP2002336022 A JP 2002336022A JP 2002336022 A JP2002336022 A JP 2002336022A JP 3919101 B2 JP3919101 B2 JP 3919101B2
Authority
JP
Japan
Prior art keywords
code
image
additional information
marker
image processing
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
JP2002336022A
Other languages
Japanese (ja)
Other versions
JP2004172930A (en
JP2004172930A5 (en
Inventor
児玉  卓
潤一 原
熱河 松浦
隆則 矢野
利夫 宮澤
康行 新海
宏幸 作山
泰之 野水
隆之 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002336022A priority Critical patent/JP3919101B2/en
Priority to US10/717,090 priority patent/US7454069B2/en
Publication of JP2004172930A publication Critical patent/JP2004172930A/en
Publication of JP2004172930A5 publication Critical patent/JP2004172930A5/ja
Application granted granted Critical
Publication of JP3919101B2 publication Critical patent/JP3919101B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、JPEG2000技術適用の画像処理装置、プログラム及び記憶媒体に関する。
【0002】
【従来の技術】
近年の画像入出力技術の進歩には目覚しいものがある。例えば、複写機を例に挙げると、従来のアナログ複写機からデジタル複写機への移行により各種画像編集処理等が可能となり、さらには、単なるコピー機能に加えて、プリンタ機能、ファクシミリ機能等を併有させたいわゆる複合機(MFP)も普及してきている。
【0003】
このような複合機においても、メモリの節約等を図るため、JPEG2000等の高精細画像圧縮伸長技術が搭載され、スキャナで読み取った画像データを一旦圧縮符号化して符号データとしてメモリに格納した後、逆の手順で符号データを伸長させて画像データとしてプリンタ側に出力させることでコピー印刷動作が実行されるように構成される傾向にある。
【0004】
また、この種の複合機では、コピー文書、プリンタ文書、ファクシミリ文書等を再利用する目的で、メモリに一旦登録させるようにしたものもある。
【0005】
このような状況を踏まえ、かつ、メモリの大容量化等を考慮すると、複合機においては、大量の画像データをメモリに蓄積させ得ることから、コピー動作、ファクシミリ送信動作等に際して、各種原稿の画像データをスキャナで読み取ってメモリに逐次蓄積させていくことで画像データベース化(画像サーバ化)を図ることも可能といえる。
【0006】
特に、近年普及の目覚しいインターネット等のネットワーク技術においては、種々の機器がネットワーク上に接続されるが、MFP等もその機器の一つであり、パソコンに接続されるのではなく、インターネット等のネットワーク上に直接的に接続され、自身或いはサーバからの指示により動作する画像サーバシステムを構築する例が考えられる。即ち、MFPを最大限活用し、インターネット上でも各種画像データ等を配信する各出版社等のサーバ側では自己の提供する印刷物の画像データにつき、MFP等を利用してデジタル画像データとしてメモリに取り込んで画像デーダース化(画像サーバ化)を図り、電子データとして所望のユーザにインターネットを通じて有償又は無償で配信するような利用形態も今後進展していくものと考えられる。特に、JPEG2000のような高精細画像圧縮伸長技術によれば、可逆圧縮・伸長が可能なため、各ユーザはその配信元であるサーバ側と同様に高精細な画像を再現することができるため、その実用化は容易である。
【0007】
一方、MFP、特にフルカラーMFP等にあっては、カラー画像の印字品質に対する要求も高度化しており、特に、黒い文字や黒細線を、より黒く、シャープに印字したいという要求も高まっている。即ち、黒画像を色分解すると、黒を再現する信号としてイエロー、マゼンタ、シアン、ブラックの各信号が発生するが、得られた各色信号に基づいてそのまま印字すると各色が4色の重ね合せで再現されるため、色相互間の若干のずれにより黒の細線に色にじみを生じ、本来の黒が黒く見えなかったり、或いは、ボケて見えたりして、印字品質が著しく低下してしまうことがある。
【0008】
このような不具合に対する対応策として、例えば、カラー画像データより線成分及び網点成分を分離して(像域分離)、原稿画像中の文字・線画を抽出し、文字・線画の太さや輪郭や彩度を各々判定し、これらの判定結果に基づいて所定の画像処理を施すようにしたものが提案されている(例えば、特許文献1参照)。これによれば、判定結果を利用することで、文字・線画の太さを連続的に変化させ、黒処理による画像品位の低下を防止することができる。
【0009】
【特許文献1】
特開平7−203198号公報
【0010】
【発明が解決しようとする課題】
ところが、例えば前者のような画像サーバシステムを構築した場合、扱うデータが電子的なデジタル画像データであるため、可逆圧縮・伸長が可能なJPEG2000の特徴を利用することで、ユーザサイドにおいてその不正な複製ないしは改ざんが極めて容易であり、著作権保護等の観点から効果的な対応策が必要といえる。
【0011】
また、特許文献1に示されるような像域分離に伴う情報は画像データを管理するための管理情報といえるが、本来の画像データのファイルとは別のファイルデータとして保存されているため不都合を生ずることがある。
【0012】
即ち、原稿の画像データをMFPのスキャナで読み取り、JPEG2000アルゴリズム等により圧縮し符号化してメモリに保存することになるが、このような圧縮過程を経ることにより少なからず画像劣化が生じ、エッジ部等になまりを生ずることがある。このようにエッジ部なまり等の画像劣化が生じた画像データについてパソコン等により読み出し再利用するような場合、そのままではエッジ誤検出等の可能性が高くなってしまうので、前述したような像域分離に伴う管理情報を利用できれば好都合であるが、本来の画像データのファイルとは別のファイルデータとして保存されているため、利用し難い環境にある。
【0013】
本発明の主要な目的は、JPEG2000の特徴を利用することで、複製防止ないしは改ざん防止に好適な画像データの符号化を実現することである。
【0014】
【課題を解決するための手段】
請求項1記載の発明は、画像データにJPEG2000標準規格に基づく符号化圧縮処理を施してコードストリームを生成する画像処理装置において、前記画像データの改ざん防止用のために該画像データと関連した付加情報を作成する付加情報作成手段と、コードストリーム中のヘッダ情報により規定される符号長さ位置よりも前の位置に強制的に終端符号を付与する終端符号付与手段と、前記付与された終端符号より後の位置から前記ヘッダ情報により規定される符号長さ位置までの領域をJPEG2000標準規格では復号されない規定外領域として、該規定外領域に前記作成された付加情報を埋め込む付加情報埋め込み手段とを有することを特徴とする
【0015】
従って、コードストリーム中でJPEG2000標準規格では復号されない規定外領域に画像データに関連して作成された付加情報を符号として埋め込んでおくことにより、付加情報を隠し情報として活用できるので、複製防止ないしは改ざん防止に役立てることができる。
【0016】
JPEG2000標準規格によれば、ヘッダ中に符号長さが記述されているが、その符号長さ位置に到達する前の位置であっても例えば0xFFFFのような終端符号が存在すれば終端位置と解釈し、その終端符号位置から記述されていた符号長さ位置までのデータを復号せずに読み飛ばすこととなる。従って、終端信号により、付加情報を埋め込む規定外領域として一般ユーザが容易に変更できないような領域を設定することにより、複製防止ないしは改ざん防止等に役立てる付加情報を埋め込む上で効果的となる。
【0017】
請求項2記載の発明は、請求項1記載の画像処理装置において、前記終端符号付与手段は、コードストリームのメインヘッダ領域中に前記終端符号を付与することを特徴とする
【0018】
従って、コードストリームのメインヘッダ領域中に終端符号を付与することにより、付加情報を埋め込む規定外領域をメインヘッダ領域中に容易に実現できる。
【0019】
請求項3記載の発明は、請求項2記載の画像処理装置において、前記終端符号付与手段は、メインヘッダ用パケット長さを記述するPLMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0020】
従って、より具体的に、メインヘッダ用パケット長さを記述するPLMマーカを利用して、容易に実現できる。特に、改ざん防止等を図る上で、パケット単位での制御が可能ともなる。
【0021】
請求項4記載の発明は、請求項2記載の画像処理装置において、前記終端符号付与手段は、メインヘッダ用タイル部分長さを記述するTLMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0022】
従って、より具体的に、メインヘッダ用タイル部分長さを記述するTLMマーカを利用して、容易に実現できる。特に、改ざん防止等を図る上で、タイル単位での制御が可能ともなる。
【0023】
請求項5記載の発明は、請求項2記載の画像処理装置において、前記終端符号付与手段は、メインヘッダ用パケットヘッダを集めて記述するPPMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0024】
従って、より具体的に、メインヘッダ用パケットヘッダを集めて記述するPPMマーカを利用して、容易に実現できる。特に、改ざん防止等を図る上で、パケット単位での制御が可能ともなる。
【0025】
請求項6記載の発明は、請求項2記載の画像処理装置において、前記終端符号付与手段は、コメント用のCOMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0026】
従って、より具体的に、コメント用のCOMマーカを利用して、容易に実現できる。
【0027】
請求項7記載の発明は、請求項1記載の画像処理装置において、前記終端符号付与手段は、コードストリームの実際の符号データ領域中に前記終端符号を付与する。
【0028】
従って、コードストリームの実際の符号データ領域中に終端符号を付与することにより、付加情報を埋め込む規定外領域を実際の符号データ領域中に容易に実現できる。
【0029】
請求項8記載の発明は、請求項7記載の画像処理装置において、前記終端符号付与手段は、タイル符号列の先頭に付加されるタイル開始用のSOTマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0030】
従って、より具体的に、タイル符号列の先頭に付加されるタイル開始用のSOTマーカを利用して、容易に実現できる。特に、改ざん防止等を図る上で、タイル単位での制御が可能ともなる。
【0031】
請求項9記載の発明は、請求項7記載の画像処理装置において、前記終端符号付与手段は、タイルヘッダ用パケット長さを記述するPLTマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0032】
従って、より具体的に、タイルヘッダ用パケット長さを記述するPLTマーカを利用して、容易に実現できる。特に、改ざん防止等を図る上で、タイル単位での制御が可能ともなる。
【0033】
請求項10記載の発明は、請求項7記載の画像処理装置において、前記終端符号付与手段は、タイルヘッダ用パケットヘッダを集めて記述するPPTマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0034】
従って、より具体的に、タイルヘッダ用パケットヘッダを集めて記述するPPTマーカを利用して、容易に実現できる。特に、改ざん防止等を図る上で、タイル単位での制御が可能ともなる。
【0035】
請求項11記載の発明は、請求項7記載の画像処理装置において、前記終端符号付与手段は、コメント用のCOMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする
【0036】
従って、より具体的に、コメント用のCOMマーカを利用して、容易に実現できる。
【0037】
請求項12記載の発明は、請求項1乃至11の何れか1項に記載の画像処理装置で生成されたコードストリームを復号処理して画像データを伸長する画像処理装置であって、前記コードストリーム中のJPEG2000標準規格では復号されない規定外領域に埋め込まれた付加情報を読み出す規定外領域情報読出し手段と、前記読み出した付加情報に基づき当該符号データに改ざんがなされたか否か判定する判定手段とを有することを特徴とする。
【0038】
従って、コードストリーム中でJPEG2000標準規格では復号されない規定外領域に符号として埋め込まれた付加情報に基づき、不正に複製や改ざんがなされたか否かを容易に検出することができ、当該画像データの著作権保護等に役立てることができる。
【0039】
請求項13記載の発明は、請求項12記載の画像処理装置において、前記判定手段により改ざんが検出されたときには当該符号データの復号を強制終了させる付加情報対応処理手段を更に有することを特徴とする。
【0040】
従って、読み出された付加情報の判定結果に基づき改ざんが検出されたときにはその復号を強制終了させることで、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【0041】
請求項14記載の発明は、請求項12記載の画像処理装置において、前記判定手段により改ざんが検出されたときにはその旨の警告を発する付加情報対応処理手段を更に有することを特徴とする。
【0042】
従って、読み出された付加情報の判定結果に基づき改ざんが検出されたときにはその旨の警告を発することで、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【0043】
請求項15記載の発明は、請求項12記載の画像処理装置において、前記判定手段により改ざんが検出されたときには当該改ざん箇所のみを非出力にする付加情報対応処理手段を更に有することを特徴とする。
【0044】
従って、読み出された付加情報の判定結果に基づき改ざんが検出されたときには当該改ざん箇所のみを非出力にすることで、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【0045】
請求項16記載の発明は、請求項1ないし15の何れか1項に記載の画像処理装置における各手段の機能を当該画像処理装置が備えるコンピュータに実行させるプログラムである。
【0046】
請求項17記載の発明は、請求項16記載のプログラムを記憶しているコンピュータに読取り可能な記憶媒体である。
【0047】
【発明の実施の形態】
本発明の第一の実施の形態を図1ないし図23に基づいて説明する。
【0048】
[JPEG2000アルゴリズムの概要について]
本実施の形態は、JPEG2000アルゴリズムを利用するものであり、まず、その概要について説明する。
【0049】
図1は、JPEG2000方式の基本となる階層符号化アルゴリズムを実現するシステムの機能ブロック図である。このシステムは、色空間変換・逆変換部101、2次元ウェーブレット変換・逆変換部102、量子化・逆量子化部103、エントロピー符号化・復号化部104、タグ処理部105の各機能ブロックにより構成されている。
【0050】
このシステムが従来のJPEGアルゴリズムと比較して最も大きく異なる点の一つは変換方式である。JPEGでは離散コサイン変換(DCT:Discrete CosineTransform)を用いているのに対し、この階層符号化アルゴリズムでは、2次元ウェーブレット変換・逆変換部102において、離散ウェーブレット変換(DWT:Discrete Wavelet Transform)を用いている。DWTはDCTに比べて、高圧縮領域における画質が良いという長所を有し、この点が、JPEGの後継アルゴリズムであるJPEG2000でDWTが採用された大きな理由の一つとなっている。
【0051】
また、他の大きな相違点は、この階層符号化アルゴリズムでは、システムの最終段に符号形成を行うために、タグ処理部105の機能ブロックが追加されていることである。このタグ処理部105で、画像の圧縮動作時には圧縮データが符号列データとして生成され、伸長動作時には伸長に必要な符号列データの解釈が行われる。そして、符号列データによって、JPEG2000は様々な便利な機能を実現できるようになった。例えば、ブロック・ベースでのDWTにおけるオクターブ分割に対応した任意の階層(デコンポジションレベル)で、静止画像の圧縮伸長動作を自由に停止させることができるようになる(後述する図3参照)。また、一つのファイルから低解像度画像(縮小画像)を取り出したり、画像の一部(タイリング画像)を取り出すことができるようになる。
【0052】
原画像の入出力部分には、色空間変換・逆変換部101が接続される場合が多い。例えば、原色系のR(赤)/G(緑)/B(青)の各コンポーネントからなるRGB表色系や、補色系のY(黄)/M(マゼンタ)/C(シアン)の各コンポーネントからなるYMC表色系から、YUVあるいはYCbCr表色系への変換又は逆変換を行う部分がこれに相当する。
【0053】
次に、JPEG2000アルゴリズムについて説明する。カラー画像は、一般に、図2に示すように、原画像の各コンポーネント111(ここではRGB原色系)が、矩形をした領域によって分割される。この分割された矩形領域は、一般にブロックあるいはタイルと呼ばれているものであるが、JPEG2000では、タイルと呼ぶことが一般的であるため、以下、このような分割された矩形領域をタイルと記述することにする(図2の例では、各コンポーネント111が縦横4×4、合計16個の矩形のタイル112に分割されている)。このような個々のタイル112(図2の例で、R00,R01,…,R15/G00,G01,…,G15/B00,B01,…,B15)が、画像データの圧縮伸長プロセスを実行する際の基本単位となる。従って、画像データの圧縮伸長動作は、コンポーネント毎、また、タイル112毎に、独立に行われる。
【0054】
画像データの符号化時には、各コンポーネント111の各タイル112のデータが、図1の色空間変換・逆変換部101に入力され、色空間変換を施された後、2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット変換(順変換)が施されて、周波数帯に空間分割される。
【0055】
図3には、デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示している。即ち、原画像のタイル分割によって得られたタイル原画像(0LL)(デコンポジションレベル0)に対して、2次元ウェーブレット変換を施し、デコンポジションレベル1に示すサブバンド(1LL,1HL,1LH,1HH)を分離する。そして引き続き、この階層における低周波成分1LLに対して、2次元ウェーブレット変換を施し、デコンポジションレベル2に示すサブバンド(2LL,2HL,2LH,2HH)を分離する。順次同様に、低周波成分2LLに対しても、2次元ウェーブレット変換を施し、デコンポジションレベル3に示すサブバンド(3LL,3HL,3LH,3HH)を分離する。図3では、各デコンポジションレベルにおいて符号化の対象となるサブバンドを、網掛けで表してある。例えば、デコンポジションレベル数を3としたとき、網掛けで示したサブバンド(3HL,3LH,3HH,2HL,2LH,2HH,1HL,1LH,1HH)が符号化対象となり、3LLサブバンドは符号化されない。
【0056】
次いで、指定した符号化の順番で符号化の対象となるビットが定められ、図1に示す量子化・逆量子化部103で対象ビット周辺のビットからコンテキストが生成される。
【0057】
この量子化の処理が終わったウェーブレット係数は、個々のサブバンド毎に、「プレシンクト」と呼ばれる重複しない矩形に分割される。これは、インプリメンテーションでメモリを効率的に使うために導入されたものである。図4に示したように、一つのプレシンクトは、空間的に一致した3つの矩形領域からなっている。更に、個々のプレシンクトは、重複しない矩形の「コード・ブロック」に分けられる。これは、エントロピー・コーディングを行う際の基本単位となる。
【0058】
ウェーブレット変換後の係数値は、そのまま量子化し符号化することも可能であるが、JPEG2000では符号化効率を上げるために、係数値を「ビットプレーン」単位に分解し、画素あるいはコード・ブロック毎に「ビットプレーン」に順位付けを行うことができる。
【0059】
ここで、図5はビットプレーンに順位付けする手順の一例を示す説明図である。図5に示すように、この例は、原画像(32×32画素)を16×16画素のタイル4つで分割した場合で、デコンポジションレベル1のプレシンクトとコード・ブロックの大きさは、各々8×8画素と4×4画素としている。プレシンクトとコード・ブロックの番号は、ラスター順に付けられており、この例では、プレンシクトが番号0から3まで、コード・ブロックが番号0から3まで割り当てられている。タイル境界外に対する画素拡張にはミラーリング法を使い、可逆(5,3)フィルタでウェーブレット変換を行い、デコンポジションレベル1のウェーブレット係数値を求めている。
【0060】
また、タイル0/プレシンクト3/コード・ブロック3について、代表的な「レイヤ」構成の概念の一例を示す説明図も図5に併せて示す。変換後のコード・ブロックは、サブバンド(1LL,1HL,1LH,1HH)に分割され、各サブバンドにはウェーブレット係数値が割り当てられている。
【0061】
レイヤの構造は、ウェーブレット係数値を横方向(ビットプレーン方向)から見ると理解し易い。1つのレイヤは任意の数のビットプレーンから構成される。この例では、レイヤ0,1,2,3は、各々、1,3,1,3のビットプレーンから成っている。そして、LSB(Least Significant Bit:最下位ビット)に近いビットプレーンを含むレイヤ程、先に量子化の対象となり、逆に、MSB(Most Significant Bit:最上位ビット)に近いレイヤは最後まで量子化されずに残ることになる。LSBに近いレイヤから破棄する方法はトランケーションと呼ばれ、量子化率を細かく制御することが可能である。
【0062】
図1に示すエントロピー符号化・復号化部104では、コンテキストと対象ビットから確率推定によって、各コンポーネント111のタイル112に対する符号化を行う。こうして、原画像の全てのコンポーネント111について、タイル112単位で符号化処理が行われる。最後にタグ処理部105は、エントロピー符号化・復号化部104からの全符号化データを1本の符号列データに結合するとともに、それにタグを付加する処理を行う。
【0063】
一方、符号化データの復号化時には、画像データの符号化時とは逆に、各コンポーネント111の各タイル112の符号列データから画像データを生成する。この場合、タグ処理部105は、外部より入力した符号列データに付加されたタグ情報を解釈し、符号列データを各コンポーネント111の各タイル112の符号列データに分解し、その各コンポーネント111の各タイル112の符号列データ毎に復号化処理(伸長処理)を行う。このとき、符号列データ内のタグ情報に基づく順番で復号化の対象となるビットの位置が定められるとともに、量子化・逆量子化部103で、その対象ビット位置の周辺ビット(既に復号化を終えている)の並びからコンテキストが生成される。エントロピー符号化・復号化部104で、このコンテキストと符号列データから確率推定によって復号化を行い、対象ビットを生成し、それを対象ビットの位置に書き込む。このようにして復号化されたデータは周波数帯域毎に空間分割されているため、これを2次元ウェーブレット変換・逆変換部102で2次元ウェーブレット逆変換を行うことにより、画像データの各コンポーネントの各タイルが復元される。復元されたデータは色空間変換・逆変換部101によって元の表色系の画像データに変換される。
【0064】
以上が、JPEG2000アルゴリズムの概要である。
【0065】
[JPEG2000の符号フォーマット]
次に、本発明で注目しているJPEG2000の符号フォーマットについて説明する。図6はJPEG2000の符号フォーマットを示す概略図である。当該符号フォーマットは、符号データの始まりを示すSOC(Start of Codestream)マーカで始まり、その後に、符号化のパラメータや量子化のパラメータを記述したメインヘッダが続き、さらに、実際の符号データが続く構成である。実際の符号データは、SOT(Start of Tile−part)マーカで始まり、タイルヘッダ、SOD(Start of Data)マーカ、タイルデータ(符号)で構成される。これら画像全体に相当する符号データの後に、符号の終了を示すEOC(End of Codestream)マーカが付加される。
【0066】
図7に、メインヘッダの構成例を示す。メインヘッダは、COD,QCDなる必須マーカセグメントと、COC,QCC,RGN,POC,PPM,TLM,PLM,CRG,COMなるオプションマーカセグメントとにより構成されている。
【0067】
また、図8にタイルヘッダの構成例を示す。図8(a)は、タイルヘッダの先頭に付加されるマーカセグメント列を示し、COD,COC,QCD,QCC,RGN,POC,PPT,PLT,COMのマーカセグメント(全てオプション)が使用可能である。一方、図8(b)は、タイル内が複数に分割されている場合における分割されたタイル部分列の先頭に付加されるマーカセグメント列であり、POC,PPT,PLT,COMのマーカセグメント(全てオプション)が使用可能である。
【0068】
ここで、JPEG2000で使用されるマーカ及びマーカセグメントについて説明する。マーカは2バイト(先頭バイトが0xffで、続くバイトが0x01〜0xfe)で構成される。マーカ及びマーカセグメントは、以下に示す6種類に分類できる。
【0069】
▲1▼ フレーム区切り(delimiting)
▲2▼ 画像の一、サイズ関係の情報(fixed information)
▲3▼ 符号化機能の情報(functional)
▲4▼ エラー耐性用(in bit stream)
▲5▼ ビットストリームのポインタ(pointer)
▲6▼ 補助的な情報(informational)
このうち、本発明に関係するマーカは▲1▼▲5▼▲6▼である。これらの詳細について、以下に説明する。
【0070】
まず、Delimitingマーカ及びマーカセグメントについて説明する。Delimitingマーカ及びマーカセグメントは必須であり、SOC,SOT,SOD,EOCがある。符号開始マーカ(SOC)は符号列の先頭に付加される。タイル開始マーカ(SOT)は、タイル符号列の先頭に付加される。このSOTマーカセグメントの構成を図9に示す。当該マーカセグメントの大きさが記述されるLsot、タイル番号(0から始まるラスター順につけられた番号)が記述されるIsot、タイル長さが記述されるPsot、タイル部分番号が記述されるTPsot、タイル部分数が記述されるTNsotなる内容からなる。このうち、図9中に網掛けを施して示すPsot部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0071】
符号終了マーカ(EOC)は符号列の最後に付加される。このEOCマーカセグメントの構成を図10に示す。このEOCマーカの後の領域も付加情報の埋め込みに利用され得る。
【0072】
次に、ビットストリームのポインタ(pointer)マーカセグメントについて説明する。このマーカとしては、TLM,PLM,PLT,PPM,PPTがある。TLMマーカは、メインヘッダに付加されてメインヘッダ用タイル部分長さ(SOTマーカからタイル最後までの長さ)を記述するためのものであり、その構成を図11に示す。当該マーカセグメントの大きさが記述されるLtlm、TLMマーカの識別番号が記述されるZtlm、TtlmとPtlmの長さが記述されるStlm、i番目のタイル部分におけるタイル番号が記述されるTtlm(i)、i番目のタイル部分におけるSOTマーカからタイル部分終了までの長さ(バイト数)が記述されるPtlm(i)なる内容により構成される。このうち、図11中に網掛けを施して示すTtlm(i),Ptlm(i)部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0073】
PLMマーカは、メインヘッダに付加されてタイル部分のパケット長さリストを記述するためのもの(メインヘッダ用パケット長さ)であり、その構成を図12に示す。当該マーカセグメントの大きさが記述されるLplm、PLMマーカの識別番号が記述されるZplm、i番目のタイル部分におけるIplmのバイト数が記述されるNplm(i)、i番目のタイル部分におけるj番目のパケット長さが記述されるIplm(ij)なる内容により構成される。このうち、図12中に網掛けを施して示すIplm(ij)部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0074】
PLTマーカは、タイルヘッダに付加されてタイル部分のパケット長さリストを記述するためのもの(タイルヘッダ用パケット長さ)であり、その構成を図13に示す。当該マーカセグメントの大きさが記述されるLplm、PLTマーカの識別番号が記述されるZplt、i番目のパケット長さが記述されるIplt(i)なる内容により構成される。このうち、図13中に網掛けを施して示すIplt(i)部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0075】
PPMマーカは、メインヘッダに付加されて全てのタイルにおけるパケットヘッダを集めて記述するもの(メインヘッダ用パケットヘッダの集合)であり、その構成を図14に示す。当該マーカセグメントの大きさが記述されるLppm、PPMマーカの識別番号が記述されるZppm、i番目のタイル部分におけるIppmのバイト数が記述されるNppm(i)、i番目のタイル部分におけるj番目のパケットヘッダが記述されるIppm(ij)なる内容により構成される。このうち、図14中に網掛けを施して示すIppm(ij)部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0076】
PPTマーカは、タイルヘッダに付加されてタイル部分におけるパケットヘッダを集めて記述するもの(タイルヘッダ用パケットヘッダの集合)であり、その構成を図15に示す。当該マーカセグメントの大きさが記述されるLppt、PPTマーカの識別番号が記述されるZppt、タイル部分におけるi番目のパケットヘッダが記述されるIppt(i)なる内容により構成される。このうち、図15中に網掛けを施して示すIppt(i)部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0077】
COMマーカは、メインヘッダ或いはタイルヘッダに付加されてコメント等の情報を付加したいときに利用するもの(コメント)であり、その構成を図16に示す。当該マーカセグメントの大きさが記述されるLcom、記述される値Rcom、コメントデータCcom(i)なる内容により構成される。このうち、図16中に網掛けを施して示すCcom(i)部分が付加情報を埋め込む場合に終端符号を付与する位置を規定するために利用され得る。
【0078】
[画像処理装置]
本実施の形態の画像処理装置は、画像読取装置、画像形成装置としての機能を有する他、インターネットファクシミリ装置としての機能も持たせた複合機(MFP)への適用例を示すが、その利用形態の一例として例えば図17に示すようにインターネット環境下で、複合機をメールサーバ管理の下に画像サーバとして利用するシステム構成を想定する。
【0079】
図17はこのシステム構成全体の原理的構成例を示す説明図である。このシステムは、例えばローカルエリアネットワーク(LAN)1を中心とするドメイン2と、LAN3を中心とするドメイン4とにより構成されている。ファクシミリ装置5,6は公衆電話回線網7を伝送路として用いるG3ファクシミリ装置である。また、各々のドメイン2,4には、ルータ8,9を介してインターネット10のサービスプロバイダに専用線により接続されている。
【0080】
また、ドメイン2には、LAN1に接続されているクライアント端末としてのパソコン10,11及びネット対応のインターネットファクシミリ装置の機能も持たせた複合機12に電子メールサービスを提供するためのメールサーバ13が設けられている。これらの端末10〜13には、各々ドメイン2のネットワークアドレスに固有のアドレスを連結させた固有のホストアドレスが設定されており、このドメイン2を使用するユーザは固有のアドレス名に何れかのパソコン10,11のホストアドレスを連結させたユーザアドレスが設定される。
【0081】
同様に、ドメイン4には、LAN3に接続されているクライアント端末としてのパソコン14,15及びネット対応のインターネットファクシミリ装置の機能も持たせた複合機16に電子メールサービスを提供するためのメールサーバ17が設けられている。これらの端末14〜16には、各々ドメイン4のネットワークアドレスに固有のアドレスを連結させた固有のホストアドレスが設定されており、このドメイン4を使用するユーザは固有のアドレス名に何れかのパソコン14,15のホストアドレスを連結させたユーザアドレスが設定される。
【0082】
複合機12,16は、LAN1,3に接続して画像データを電子メールとしてやり取りするための伝送機能と、公衆電話回線網7に接続してこの公衆電話回線網7を伝送路として用いるグループ3伝送手順による画像データ伝送を行う伝送機能とを有している。
【0083】
ここに、基本的には、LAN1,3に接続されている端末相互間でのデータのやり取り、及び、インターネット10を介して行なうデータのやり取りは、いわゆるTCP/IPと呼ばれるトランスポートレイヤまでの伝送プロトコルと、それ以上の上位レイヤの通信プロトコルとの組合せ(いわゆるプロトコルスイート)が適用されて行なわれる。例えば、電子メールのデータのやり取りでは上位レイヤの通信プロトコルとしてSMTP(Simple Mail Transfer Protocol)という通信プロトコルが適用される。
【0084】
また、本実施の形態では、電子メールは、メールサーバ13,17に一旦蓄積された後に、宛先に配信される蓄積配信型の伝送形態で送信される。このとき、電子メールに付されている宛先アドレスの値が、各々のドメイン2,4に設定されているネットワークアドレスを含む場合には、その電子メールは対応するメールサーバ13,17にそのまま蓄積され、また、電子メールに付されている宛先アドレスの値が、各々のドメイン2,4に設定されているネットワークアドレス以外の値を含む場合には、その電子メールは、ルータ8,9を介して、インターネット10に送り出され、インターネット10のデータ転送機能により、その宛先アドレスの値に対応したネットワークアドレスを持つ適宜のドメイン或いはホストなどに送信される。
【0085】
ここで、本実施の形態では、メールサーバ13,17による管理の下に画像サーバとして用いられる複合機12,16に注目しているものであり、これらの複合機12,16の構成例を図18に示すブロック図を参照して説明する。
【0086】
まず、CPU21、ROM22及びRAM23によるマイクロコンピュータ構成のシステム制御部は、当該複合機16の各部の制御処理、及び、ファクシミリ伝送制御手順処理などの各種制御処理を行なう。また、ROM22はCPU21が実行する制御処理プログラム及び制御処理プログラムを実行する時に必要な各種データなどを記憶するとともに、RAM23はCPU21のワークエリアを構成する。SRAM24は電源断時の情報の保持を受け持つ。タイマ制御部25は現在時刻に伴い時間を制御する。
【0087】
スキャナインターフェース26は、所定の解像度で原稿画像を読み取る光電変換素子(図示せず)を有するスキャナ27とのインターフェース用、プリンタインターフェース28は、所定の解像度で画像を記録出力するプリンタ29とのインターフェース用、操作パネルインターフェース30は当該複合機16を操作するための各種操作キー、表示器等を備えた操作パネル31とのインターフェース用である。
【0088】
符号・復号化部32は、画信号を符号化圧縮するとともに、符号化圧縮されている画情報を元の画信号に復号化(伸長)するためのものである。この符号・復号化部32のアルゴリズムとしては図1で説明したようなJPEG2000アルゴリズムが用いられている。
【0089】
ハードディスクインターフェース33は、符号化圧縮された状態の画像データ(符号データ)を多数記憶したりするための画像データベース用記憶装置としてのハードディスクドライブ(HDD)34用のインターフェースである。
【0090】
通信制御部35は、グループ3ファクシミリのモデム機能を実現するためのものであり、伝送制御手順をやり取りするための低速モデム機能、及び、主に画情報をやり取りする高速モデム機能を備えている。網制御部36は、当該複合機16を公衆電話回線網7に接続するためのものであり、自動発着信機能を備えている。これらの通信制御部35と網制御部36との間のデータのやり取りは、図示の如く、直接、行なわれている。
【0091】
キャラクタジェネレータ37は、文字のフォントを保持している。
【0092】
そして、複合機12,16に固有なLAN通信制御部38は、物理層としてLAN1に対応し、TCP/IPプロトコルや電子メール通信を行なうためのMIME(Multipurposeintemet Mail Extention)変換等を行なう。
【0093】
さらに、本実施の形態の複合機12,16では、ICカードのような記憶媒体39の挿入スロットを備えてその読取を行なうカードリーダのような外部記憶媒体読取部40を備えており、挿入スロットに挿入された記憶媒体39からコンピュータプログラムを読み取り、RAM23等に格納可能とされている。
【0094】
これらの各部・要素は、内部バス41に接続されており、これらの各部・要素間でのデータのやり取りは、主として、この内部バス41を利用して行なわれるように構成されている。
【0095】
また、画像サーバとして複合機12,16を利用し得る画像処理装置となることのあるパソコン10,11,14又は15のハードウェア構成を図19のブロック図に概略的に示す。図19に示すように、当該パソコン10,11,14,15は、情報処理を行うCPU(Central Processing Unit)51情報を格納するROM(Read Only Memory)52及びRAM(Random Access Memory)53等の1次記憶装置、インターネット10、その他のネットワーク1,3を介して外部からダウンロードした圧縮符号を記憶するHDD(Hard Disk Drive)54、情報を保管したり外部に情報を配布したり外部から情報を入手するためのCD−ROMドライブ55、ネットワーク1,3,10を介して外部の他のコンピュータ等と通信により情報を伝達するための通信制御装置56、処理経過や結果等を操作者に表示するCRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示装置57、並びに操作者がCPU51に命令や情報等を入力するためのキーボードやマウス等の入力装置58等から構成されており、これらの各部間で送受信されるデータをバスコントローラ59が調停して動作する。
【0096】
RAM53は、各種データを書換え可能に記憶する性質を有していることから、CPU51の作業エリアとして機能する。
【0097】
このようなパソコン10,11,14,15では、ユーザが電源を投入するとCPU51がROM52内のローダーというプログラムを起動させ、HDD54よりオペレーティングシステムというコンピュータのハードウェアとソフトウェアとを管理するプログラムをRAM53に読込み、このオペレーティングシステムを起動させる。このようなオペレーティングシステムは、ユーザの操作に応じてプログラムを起動したり、情報を読込んだり、保存を行ったりする。オペレーティングシステムのうち代表的なものとしては、Windows(登録商標)、UNIX(登録商標)等が知られている。これらのオペレーティングシステム上で走る動作プログラムをアプリケーションプログラムと呼んでいる。
【0098】
ここで、パソコン10,11,14,15は、アプリケーションプログラムとして、符号変換処理プログラムをHDD54に記憶している。この意味で、HDD54は、復号処理プログラムを記憶する記憶媒体として機能する。
【0099】
また、一般的には、パソコン10,11,14,15のHDD54にインストールされる動作プログラムは、CD−ROM60やDVD−ROM等の光情報記録メディアやFD等の磁気メディア等に記録され、この記録された動作プログラムがHDD54にインストールされる。このため、CD−ROM60等の光情報記録メディアやFD等の磁気メディア等の可搬性を有する記憶媒体も、復号処理プログラムを記憶する記憶媒体となり得る。さらには、復号処理プログラムは、例えば通信制御装置56を介して外部から取込まれ、HDD54にインストールされても良い。
【0100】
[付加情報の埋め込み等]
このようなシステム構成において、本実施の形態では、例えば、複合機12を画像サーバとして活用する上で、当該複合機12において順次蓄積される画像データに関して容易に編集できない改ざん防止用の付加情報を埋め込むことにより、当該画像データについて改ざんして再保存した場合には、その付加情報が無くなり、或いは、付加情報が変化することにより、その改ざんの検出を可能とし、実質的に複製防止ないしは改ざん防止を図れるようにしたものである。
【0101】
まず、本実施の形態の原理について説明する。本実施の形態で対象としているJPEG2000標準規格によれば、コードストリーム中のパケットヘッダにはパケット長が記述されており、デコードに際しては、その長さのデータが来るものとして符号データのデコードを行う。しかしながら、その記述による長さ位置よりも前に、0xFFFFなる符号が出現した場合には、その時点でパケットの終端が来たものと解釈し、記述されていた長さまで、以降のデータを読み飛ばす。即ち、0xFFFFより後の領域は、JPEG2000標準規格では復号されない規定外領域となる。従って、このような規定外領域に改ざん防止用の付加情報を符号として埋め込むことが可能である。
【0102】
例えば、本実施の形態では、前述した符号フォーマット中のタイル符号列の先頭に付加されるタイル開始用のSOTマーカに着目しており、JPEG2000標準規格のままの付加情報埋め込み前であれば、図20(a)に示すように、SOTマーカ中のPsotにより規定される符号長さTile−part
lengthの位置で符号データが終了する。これに対して、付加情報の埋め込み領域分を考慮してSOT′マーカ中のPsotの値を変更し、当初の符号長さTile−part
lengthの終了位置に相当する位置に強制的に終端符号として0xFFFFを付与し、その後の領域に規定外領域を持たせることにより、図20(b)に示すように、終端符号0xFFFFの後の規定外領域に付加情報を埋め込めるようにするものである。このような規定外領域に埋め込まれた付加情報は、JPEG2000標準規格のままでは復号されることはない。
【0103】
そこで、例えば複合機12において改ざん防止用の付加情報をコードストリーム中の規定外領域に埋め込む際の1タイル単位(前述したようなJPEG2000の処理単位の一つ)の処理例を図21に示す概略フローチャートを参照して説明する。まず、処理に先立ち、改ざん防止用の付加情報を埋め込む処理を行うか否かの判定処理を行う(ステップS1)。対象となる画像データに関連する付加情報を埋め込むか否かは選択自在であり、ユーザ(サーバ管理者)により操作パネル31或いはサーバ13側を通じて付加情報の埋め込み指定が可能とされている(付加指定手段)。付加情報の埋め込み指定がなければ(S1のN)、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S2)。この場合には、図20(a)に示したような処理となる。
【0104】
一方、改ざん防止用の付加情報の埋め込みが指定された場合には(S1のY)、改ざん防止用の付加情報となる埋込値Vを計算により作成する(S3)。ここでは、タイル単位のSOTマーカに着目しているので、例えばタイルインデックスIsotとある計算式を用いて、埋込値V=Isotとして作成する。このステップS3の処理が付加情報作成手段の機能として実行される。
【0105】
そして、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S4)。引き続き、SOTマーカにおけるPsotの長さを計算する(S5)。この例では、
Psot=(Tile−part length(圧縮されたコードストリーム長+ヘッダ長))+2
として、付加情報を埋め込む2bytes分を加算する。このように計算されたPsotを用いてコードストリーム中のSOTマーカを生成し(S6)、圧縮処理された実際の符号データをコードストリーム中に追加する(S7)。そして、符号データに引き続き、終端符号として0xFFFFを図20(b)のように追加する(S8)。このステップS8の処理が終端符号付与手段の機能として実行される。さらに、終端符号0xFFFFに続けて、図20(b)に示すように、改ざん防止用の付加情報に相当する埋込値Vを2bytes分追加することにより、符号として埋め込む(S9)。このステップS9の処理が付加情報埋め込み手段の機能として実行される。
【0106】
このようにして、原稿画像データは、圧縮符号化過程で、コードストリーム中でJPEG2000標準規格では復号されない終端符号0xFFFF以降の規定外領域に改ざん防止用の付加情報が埋め込まれた符号としてメモリに保存されることとなる。当該複合機12においては、このような符号データの蓄積により、改ざん防止を図りつつ画像サーバ化が行われる。
【0107】
一方、このように複合機12に蓄積されたデータに対して任意のパソコン10,11,14,15等によりアクセスがあった場合の1タイル単位の復号処理例を図22に示す概略フローチャートを参照して説明する。まず、所望の画像データに対応する符号データ(コードストリーム)を読み込み、そのSOTマーカのPsot情報を読み取ることにより、当該符号データの符号長Nを認識し設定する(S11)。引き続き、当該符号データについて符号・復号化部32でデコード処理を行う(S12)。このデコード処理終了時の読み込み符号長とSOTマーカのPsot情報により認識設定された符号長Nとを比較し(S13)、等しければ(S13のN)、そのまま処理を終了し、デコード結果を出力する。
【0108】
しかし、デコード処理終了時の読み込み符号長の方が符号長Nよりも小さい場合には(S13のY)、終端符号0xFFFFが強制的に付与されその後の規定外領域に付加情報が埋め込まれているものと認識し、終端符号0xFFFF以降の領域に埋め込まれている改ざん防止用付加情報を読み出す(S14)。このステップS14の処理が規定外領域読み出し手段の機能として実行される。そして、読み出された付加情報の値(埋込情報)と、前述の計算式により算出される改ざん防止用の計算値との異同を比較する(S15)。両者が一致する場合には(S15のY)、複合機12から正当に提供され、かつ、そのデータについて改ざんがなされていないものと判断し、そのまま処理を終了し、デコード結果を出力する。一方、当該符号データに関して何らかの不正な改ざんがなされた場合には、読み出された付加情報の値(埋込情報)と改ざん防止用の計算値とが異なることで改ざんを検出し(S15のN)、各々のアプリケーションに応じた付加情報対応処理を実行させる(S16)。このステップS16の処理が付加情報対応処理手段の機能として実行される。
【0109】
このステップS16の処理例を数例説明する。例えば、ステップS15により改ざんが検出された場合には、当該符号データに関する復号をその時点で強制終了させる態様を採れる。即ち、改ざんがなされた場合にはその復号を強制終了させることで、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【0110】
又は、ステップS15により改ざんが検出された場合には、その旨の警告を発するようにする態様を採れる。この場合の警告としては、改ざんが原因でこのままでは正常にデコードできない旨の表示等でよい。このような警告によっても、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【0111】
或いは、ステップS15により改ざんが検出された場合には、当該改ざん箇所のみを非出力(非表示、非印刷等)にする態様を採れる。本実施の形態の例であれば、タイル単位で改ざん防止用の付加情報の埋め込みを行っているので、改ざんされたタイル部分についてデコード結果を非出力とすることで、改ざんの程度に応じて画像全体を見にくくすることができ、結果として、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【0112】
ちなみに、本実施の形態に対応していないJPEG2000標準規格のままのパソコン等により上記の符号データを不正に複製した場合には、規定外領域の付加情報をデコードできず、規定外領域の付加情報を複製できない。よって、画像提供元であるサーバ側では不正な複製の疑いのある符号データについてその改ざん防止用の付加情報が存在するか否かをチェックすることにより、上記の改ざん検出の場合と同様に不正な複製を検出することができる。
【0113】
なお、本実施の形態では、付加情報を埋め込むための規定外領域を形成する終端符号0xFFFFを付与するためにタイル符号列の先頭に付加されるタイル開始用のSOTマーカを利用するようにしたが、これに限らない(以降の実施の形態でも同様)。例えば、コードストリームのメインヘッダ領域中に終端符号0xFFFFを付与してもよく、このために、前述の符号フォーマットで説明したように、メインヘッダ用パケット長さを記述するPLMマーカ、メインヘッダ用タイル部分長さを記述するTLMマーカ、メインヘッダ用パケットヘッダを集めて記述するPPMマーカ、或いは、コメント用のCOMマーカにより規定される符号長さ位置よりも前の位置に終端符号0xFFFFを付与するようにしてもよい。或いは、コードストリームの実際の符号データ領域中に終端符号0xFFFFを付与してもよく、このために、前述の符号フォーマットで説明したように、タイルヘッダ用パケット長さを記述するPLTマーカ、タイルヘッダ用パケットヘッダを集めて記述するPPTマーカ、或いは、コメント用のCOMマーカにより規定される符号長さ位置よりも前の位置に終端符号0xFFFFを付与するようにしてもよい。
【0114】
さらには、このような終端符号0xFFFFを用いずに、コードストリームの最後の符号終了を示すEOCマーカよりも後の領域を規定外領域として付加情報を符号として埋め込むようにしてもよい。図23(a)はJPEG2000標準規格によるコードストリームの一般的な例を示し、図23(b)はEOCマーカよりも後の領域を規定外領域として付加情報を埋め込んだコードストリームの例を示している。
【0115】
また、特に図示しないが、コメント用のCOMマーカのコメント欄に付加情報を符号として埋め込むようにしてもよい。さらには、このようなコメント用のCOMマーカ以外のマーカ自身の規格外領域に付加情報を符号として埋め込むようにしてもよい。例えば、本来はメインヘッダ用タイル部分長さを記述するためのTLMマーカ自身に付加情報を符号として埋め込むとか、TLMマーカの長さLtlmの値を付加情報の長さ分だけ長くするとか、コメント用のCOMマーカ以外のマーカ自身の後ろに付加情報を符号として埋め込むといった、対応を採るようにしてもよい。
【0116】
本発明の第二の実施の形態を図24及び図25に基づいて説明する。第一の実施の形態で示した部分と同一部分は同一符号を用いて示し、説明も省略する。
【0117】
本実施の形態は、符号中に画像の作成者、改変日時、保存先などの管理用情報を付加情報として埋め込むようにしたものであり、ここでは前述の複合機12又は17への適用例として説明するが、本実施の形態の場合には特に複合機12又は17自身のファイル又はデータ管理に関するものであり、図17に示したようなネットワーク上に接続されている必要はなく、単独機構成でもよい。また、本実施の形態では、コードストリームの最後の符号終了を示すEOCマーカよりも後の領域を規定外領域として管理用情報なる付加情報を符号として埋め込むものとする。
【0118】
例えば複合機12において管理用情報なる付加情報をコードストリーム中のEOCマーカよりも後の規定外領域に埋め込む際の処理例を図24に示す概略フローチャートを参照して説明する。まず、処理に先立ち、管理用情報なる付加情報を埋め込む処理を行うか否かの判定処理を行う(ステップS21)。対象となる画像データに関連する付加情報を埋め込むか否かは選択自在であり、ユーザにより操作パネル31或いはサーバ13側を通じて付加情報の埋め込み指定が可能とされている(付加指定手段)。付加情報の埋め込み指定がなければ(S21のN)、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S22)。
【0119】
一方、管理用情報なる付加情報の埋め込みが指定された場合には(S21のY)、当該付加情報を作成する(S3)。管理用情報なる付加情報としては、例えば、ファイル名、アクセス権、アクセス日時、所有者、使用者、保存フォルダ等、当該画像データの管理に役立つ情報であればよく、適宜作成し得る。このステップS23の処理が付加情報作成手段の機能として実行される。
【0120】
そして、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S24)。この処理により生成された実際の符号データをコードストリーム中に追加し(S25)、そのコードストリームの最後のEOCマーカに続けて、図23(b)に示すように、管理用情報なる付加情報を符号として埋め込む(S26)。このステップS26の処理が付加情報埋め込み手段の機能として実行される。
【0121】
一方、このように複合機12に蓄積されたデータに対してその管理用情報を利用するための復号処理例を図24に示す概略フローチャートを参照して説明する。まず、所望の画像データに対応する符号データ(コードストリーム)を読み込み(S31)、当該符号データについて符号・復号化部32でデコード処理を行う(S32)。引き続き、そのコードストリームの最後のEOCマーカ以降に符号データ(付加情報)が存在するか否かを確認し(S33)、符号データが存在すれば(S33のY)、EOCマーカ以降の領域であっても埋め込まれたその付加情報を読み出す(S34)。このステップS34の処理が規定外領域読み出し手段の機能として実行される。そして、読み出された管理用情報なる付加情報に基づき各々のアプリケーションに応じた付加情報対応処理を実行させる(S35)。このステップS35の処理が付加情報対応処理手段の機能として実行される。
【0122】
このステップS35の処理例を数例説明する。例えば、付加情報が当該画像データの管理用情報の場合においては、当該画像データに関連するファイル整理を実行させることができる。即ち、画像の作成者、改変日時、保存先等の管理用情報を活用することで、当該画像データに関連するファイル整理が可能となる。或いは、付加情報が当該画像データの管理用情報の場合においては、当該画像データに対するアクセス制御を実行することができる。即ち、アクセス権、所有者等の管理用情報を活用することで、当該画像データに対するアクセス制御が可能となる。何れにしても、当該画像データのファイル中にその管理用情報も付加情報として一体に埋め込まれているので、複合機が本実施の形態対応のエンコーダ/デコーダを有する場合であれば、ファイル管理が容易に行える。ちなみに、本実施の形態に未対応のエンコーダ/デコーダの場合には、管理用情報なる付加情報を活用できないので、差別化を図ることができる。
【0123】
なお、複合機12を利用してリアルタイムでファクシミリ送信する場合、EOCマーカ以降の規定外領域に埋め込む管理用情報なる付加情報を画像サイズに関する情報とすれば、効果的である。即ち、送信原稿を読み取りながら順次送信するリアルタイムなファクシミリ送信の場合、その画像サイズ(用紙サイズ)が原稿全てを読み取るまで判らないので、画像サイズとしては最大サイズ情報を付して送信することとなるが、読み取り終えればその画像サイズが正確に判るので、その時点で取得した画像サイズの情報を付加情報としてEOCマーカ以降の規定外領域に埋め込んで送信するようにすれば、本実施の形態対応の受信側ではEOCマーカ以降のデータも読み取らせることにより正確に画像サイズを把握させることができる。
【0124】
本発明の第三の実施の形態を図26及び図27に基づいて説明する。第一の実施の形態で示した部分と同一部分は同一符号を用いて示し、説明も省略する。
【0125】
本実施の形態は、符号中に当該画像データのエッジ部、文字部、絵柄部、網点部等の画像性質に応じた像域分離に関する画像位置情報を埋め込み、当該画像データの復号時に活用できるようにしたものであり、ここでは前述の複合機12又は17への適用例として説明するが、必ずしも図17に示したようなネットワーク上に接続されている必要はなく、単独機構成でもよい。また、本実施の形態では、コードストリームの最後の符号終了を示すEOCマーカよりも後の領域を規定外領域として画像位置情報なる付加情報を符号として埋め込むものとする。
【0126】
例えば複合機12において画像位置情報なる付加情報をコードストリーム中のEOCマーカよりも後の規定外領域に埋め込む際の処理例を図26に示す概略フローチャートを参照して説明する。まず、処理に先立ち、画像位置情報なる付加情報を埋め込む処理を行うか否かの判定処理を行う(ステップS41)。対象となる画像データに関連する付加情報を埋め込むか否かは選択自在であり、ユーザにより操作パネル31或いはサーバ13側を通じて付加情報の埋め込み指定が可能とされている(付加指定手段)。付加情報の埋め込み指定がなければ(S41のN)、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S42)。
【0127】
一方、画像位置情報なる付加情報の埋め込みが指定された場合には(S41のY)、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S43)が、この処理の過程において、例えば特許文献1等に示される公知の像域分離機能を利用することで、当該画像データのエッジ部、文字部、絵柄部、網点部等の画像性質に応じた像域分離に関する画像位置情報を取得する(S44)。このステップS44の処理が付加情報作成手段の機能として実行される。
【0128】
引き続き、実際の符号データをコードストリーム中に追加し(S45)、そのコードストリームの最後のEOCマーカに続けて、図23(b)に示すように、像域分離に関する画像位置情報なる付加情報を符号として埋め込む(S46)。このステップS46の処理が付加情報埋め込み手段の機能として実行される。
【0129】
一方、このように複合機12に蓄積されたデータに対してその像域分離に関する画像位置情報を利用するための復号処理例を図27に示す概略フローチャートを参照して説明する。まず、所望の画像データに対応する符号データ(コードストリーム)を読み込み(S51)、当該符号データについて符号・復号化部32でデコード処理を行う(S52)。引き続き、そのコードストリームの最後のEOCマーカ以降に符号データ(付加情報)が存在するか否かを確認し(S53)、符号データが存在すれば(S53のY)、EOCマーカ以降の領域であっても埋め込まれたその付加情報を読み出す(S54)。このステップS54の処理が規定外領域読み出し手段の機能として実行される。そして、読み出された像域分離に関する画像位置情報なる付加情報に基づき各々のアプリケーションに応じた付加情報対応処理を実行させる(S55)。例えば、フィルタ処理などを画像データの領域毎(分離された像域毎)に対応した画像処理等である。このステップS55の処理が付加情報対応処理手段の機能として実行される。
【0130】
従って、付加情報が当該画像データにおけるエッジ部、文字部、絵柄部、網点部等の画像性質に応じた像域分離に関する画像位置情報の場合においては、当該画像位置情報を活用することで、圧縮符号化された画像データ自身に依らず、当該付加情報に基づきエッジ部等の位置を適正に判断することができるので、複合機12自身で印刷出力する場合はもちろん、他のパソコン11等により当該画像データを読み出し復号する場合にもエッジ位置等を正確に認識できるので、エッジなまり等のない画像の再現(印刷、表示等)が可能となる。特に、特許文献1等の場合と異なり、当該画像データのファイル中にその像域分離に関する画像位置情報も付加情報として一体に埋め込まれているので、複合機が本実施の形態対応のエンコーダ/デコーダを有する場合であれば、画像復号処理を適正に行える。ちなみに、本実施の形態に未対応のエンコーダ/デコーダの場合には、像域分離に関する画像位置情報を活用できないので、差別化を図ることができる。
【0131】
本発明の第三の実施の形態を図28及び図29に基づいて説明する。第一の実施の形態で示した部分と同一部分は同一符号を用いて示し、説明も省略する。
【0132】
本実施の形態は、付加情報として当該画像データについて画質を異ならせた画像データを埋め込むことにより、課金システムに適用するようにしたものである。本実施の形態では、第一の実施の形態の場合と同様に、SOTマーカにより規定される位置に付与される終端符号0xFFFFの後の規定外領域に画質を異ならせた画像データを付加情報として埋め込むものとする。
【0133】
例えば複合機12において画質を異ならせた画像データを付加情報をコードストリーム中の規定外領域に埋め込む際の1タイル単位(前述したようなJPEG2000の処理単位の一つ)の処理例を図28に示す概略フローチャートを参照して説明する。まず、処理に先立ち、付加情報を埋め込む処理を行うか否かの判定処理を行う(ステップS61)。対象となる画像データに関連する付加情報を埋め込むか否かは選択自在であり、ユーザ(サーバ管理者)により操作パネル31或いはサーバ13側を通じて付加情報の埋め込み指定が可能とされている(付加指定手段)。付加情報の埋め込み指定がなければ(S61のN)、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S62)。この場合には、図20(a)に示したような処理となる。
【0134】
一方、付加情報の埋め込み指定があれば(S61のY)、画質制御を行う上で、終端号0xFFFFにより分離する画質を設定する(S63)。JPEG2000によれば、前述したように、レイヤーとして、画像を数段階の画質に分けてコーティングするためその境界を利用することにより、画質の分離が可能であり、この際、特に分離境界をレイヤーに限定する必要もない。この後、スキャナ27により原稿画像を読み取らせ、JPEG2000標準規格に従い符号・復号化部32で標準圧縮処理を行わせる(S64)。引き続き、SOTマーカにおけるPsotの長さ(タイル長さ)を計算する(S65)。この例では、
Psot
=(Tile−part length(圧縮されたコードストリーム長+ヘッダ長))+2*(埋め込む終端符号0xFFFFの数)
とする。このように計算されたPsotを用いてコードストリーム中のSOTマーカを生成し(S66)、圧縮処理された1段階画質の実際の符号データをコードストリーム中に追加する(S67)。そして、当該符号データに引き続き、終端符号として0xFFFFを追加する(S68)。このステップS68の処理が終端符号付与手段の機能として実行される。さらに、当該終端符号0xFFFFに続けて、次に上位の段階の画質の実際の符号データをコードストリーム中に追加し(S67)、終端符号として0xFFFFを追加する(S68)処理を、設定されて画質分繰返す(S69)。この繰返し処理が付加情報埋め込み手段の機能として実行される。
【0135】
一方、このように複合機12に蓄積されたデータに対してその異なる画質の画像データを利用するための復号処理例を図29に示す概略フローチャートを参照して説明する。まず、復号処理に先立ち、課金情報により読み出す画質を設定する(S71)。引き続き、所望の画像データに対応する符号データ(コードストリーム)を読み込み、そのSOTマーカ情報により符号長Nを認識する(S72)。そして、当該符号データについて符号・復号化部32でデコード処理を行う(S73)。このデコード終了時の読み込み符号長と予め認識された符号長Nとの大小を比較することで(S74)、デコードされた画質と課金情報に対応して設定された画質との異同を比較する。両画質が一致していなければ(S74のN)、終端符号0xFFFFの規定外領域にも関わらずその領域に埋め込まれている次の画質レベルの符号データを読み込み(S72)、デコードする(S73)。このステップS72,S73の処理が、両画質が一致するまで(S74のY)、規定外領域情報読み出し手段並びに付加情報対応処理手段の機能として実行される。
【0136】
このように、付加情報として当該画像データについて画質を異ならせた画像データを埋め込んでおくことにより、当該付加情報の復号が可能なアプリケーションによれば、ある精度(解像度)以上の画質の画像は課金状況に応じてデコード出力させることができる等、課金システムに適用しやすくなる。
【0137】
【発明の効果】
本発明によれば、以下のような効果が得られる。
(1)コードストリーム中でJPEG2000標準規格では復号に寄与されない規定外領域に画像データに関連して作成された付加情報を符号として埋め込んでおくようにしたので、付加情報を隠し情報として活用することができ、特に、複製防止ないしは改ざん防止、に役立てることができる
【0138】
(2)コードストリームのメインヘッダ領域中に終端符号を付与することにより、付加情報を埋め込む規定外領域をメインヘッダ中に容易に実現することができる。より具体的には、PLMマーカ、TLMマーカ、PPMマーカ、COMマーカ等を利用することにより、容易に実現することができ、特に、改ざん防止等を図る上で、パケット単位、タイル単位等での制御が可能となる。
【0139】
(3)コードストリームの実際の符号データ領域中に終端符号を付与することにより、付加情報を埋め込む規定外領域を実際の符号データ領域中に容易に実現することができる。より具体的には、SOTマーカ、PCTマーカ、PPTマーカ、COMマーカ等を利用することにより、容易に実現することができる。
【0140】
(4)コードストリーム中でJPEG2000標準規格では復号に寄与されない規定外領域に符号として埋め込まれた付加情報に基づき、不正に複製や改ざんがなされたか否かを容易に検出することができ、当該画像データの著作権保護等に役立てることができる。
【0141】
(5)読み出された付加情報の判定結果に基づき改ざんが検出されたときには、復号を強制終了させたり、警告を発したり、当該改ざん箇所のみを非出力にする等、実質的に当該画像データの複製防止ないしは改ざん防止を図ることができる。
【図面の簡単な説明】
【図1】本発明の第一の実施の形態の前提となるJPEG2000方式の基本となるアルゴリズムを実現するシステムの機能ブロック図である。
【図2】原画像の各コンポーネントの分割された矩形領域を示す説明図である。
【図3】デコンポジションレベル数が3の場合の、各デコンポジションレベルにおけるサブバンドを示す説明図である。
【図4】プレシンクトを示す説明図である。
【図5】ビットプレーンに順位付けする手順の一例を示す説明図である。である。
【図6】JPEG2000の符号フォーマットを示す概略図である。
【図7】そのメインヘッダの構成図である。
【図8】タイルヘッダの構成図である。
【図9】SOTマーカセグメントの構成図である。
【図10】EOCマーカセグメントの内容を示す説明図である。
【図11】TLMマーカセグメントの構成図である。
【図12】PLMマーカセグメントの構成図である。
【図13】PLTマーカセグメントの構成図である。
【図14】PPMマーカセグメントの構成図である。
【図15】PPTマーカセグメントの構成図である。
【図16】COMマーカセグメントの構成図である。
【図17】複合機を含むシステム構成例を示す説明図である。
【図18】その複合機のハードウェア構成例を示すブロック図である。
【図19】パソコン等のハードウェア構成例を示すブロック図である。
【図20】SOTマーカを利用した場合の付加情報の埋め込み前後のコードストリームの様子を示す模式図である。
【図21】付加情報埋め込み処理例を示す概略フローチャートである。
【図22】付加情報復号処理例を示す概略フローチャートである。
【図23】EOCマーカを利用した場合の付加情報の埋め込み前後のコードストリームの様子を示す模式図である。
【図24】本発明の第二の実施の形態の付加情報埋め込み処理例を示す概略フローチャートである。
【図25】付加情報復号処理例を示す概略フローチャートである。
【図26】本発明の第三の実施の形態の付加情報埋め込み処理例を示す概略フローチャートである。
【図27】付加情報復号処理例を示す概略フローチャートである。
【図28】本発明の第四の実施の形態の付加情報埋め込み処理例を示す概略フローチャートである。
【図29】付加情報復号処理例を示す概略フローチャートである。
【符号の説明】
10,11,14,15 画像処理装置
12,16 画像処理装置、画像読取装置、画像形成装置
[0001]
BACKGROUND OF THE INVENTION
  The present inventionImage processing apparatus using JPEG2000 technologyThe present invention relates to a program and a storage medium.
[0002]
[Prior art]
  Recent progress in image input / output technology is remarkable. For example, in the case of a copying machine, various image editing processes can be performed by shifting from a conventional analog copying machine to a digital copying machine. Furthermore, in addition to a simple copying function, a printer function, a facsimile function, etc. The so-called multifunction peripherals (MFPs) that have been used are also becoming popular.
[0003]
  Even in such a multi-function machine, in order to save memory, etc., high-definition image compression / decompression technology such as JPEG2000 is installed. There is a tendency that the copy printing operation is executed by decompressing the code data and outputting it as image data to the printer side in the reverse procedure.
[0004]
  In addition, some multifunction machines of this type are temporarily registered in a memory for the purpose of reusing copy documents, printer documents, facsimile documents, and the like.
[0005]
  Considering such a situation and taking into consideration the increase in memory capacity and the like, in a multi-function peripheral, a large amount of image data can be stored in the memory. It can be said that an image database (image server) can be achieved by reading data with a scanner and sequentially storing the data in a memory.
[0006]
  In particular, in the network technology such as the Internet that has been remarkably popular in recent years, various devices are connected to the network. An MFP is also one of the devices, and is not connected to a personal computer, but is connected to a network such as the Internet. An example of constructing an image server system that is directly connected to the above and operates according to an instruction from itself or a server can be considered. In other words, each publishing company server that distributes various image data on the Internet by utilizing the MFP to the maximum extent, takes the image data of the printed matter provided by itself into the memory as digital image data using the MFP. In the future, it is considered that the use form in which the image data is made into an image server (image server) and is distributed as electronic data to a desired user through the Internet for a fee or free of charge will be developed in the future. In particular, according to a high-definition image compression / decompression technology such as JPEG2000, since it is possible to perform lossless compression / decompression, each user can reproduce a high-definition image in the same manner as the server side that is the distribution source. Its practical application is easy.
[0007]
  On the other hand, in MFPs, particularly full-color MFPs, etc., the demand for color image printing quality is also increasing, and in particular, there is an increasing demand for printing black characters and black fine lines blacker and sharper. In other words, when a black image is color-separated, yellow, magenta, cyan, and black signals are generated as signals for reproducing black. However, when printing is performed as it is based on the obtained color signals, each color is reproduced by superimposing four colors. As a result, a slight shift between colors causes color blurring on black thin lines, and the original black may not appear black or appear to be blurred, resulting in a significant reduction in print quality. .
[0008]
  As a countermeasure against such a problem, for example, line components and halftone components are separated from color image data (image area separation), characters / line drawings in a document image are extracted, and the thickness and outline of the characters / line drawings are extracted. There has been proposed one in which saturation is determined and predetermined image processing is performed based on these determination results (see, for example, Patent Document 1). According to this, by using the determination result, it is possible to continuously change the thickness of the character / line drawing and to prevent the image quality from being deteriorated due to the black processing.
[0009]
[Patent Document 1]
JP-A-7-203198
[0010]
[Problems to be solved by the invention]
  However, for example, when an image server system such as the former is constructed, since the data to be handled is electronic digital image data, it is illegal on the user side to use the JPEG2000 features that allow lossless compression / decompression. Copying or tampering is extremely easy, and it can be said that effective countermeasures are necessary from the viewpoint of copyright protection.
[0011]
  Further, the information accompanying image area separation as shown in Patent Document 1 can be said to be management information for managing image data, but it is inconvenient because it is stored as file data different from the original image data file. May occur.
[0012]
  That is, the image data of the original is read by the MFP scanner, compressed by the JPEG2000 algorithm, etc., encoded and stored in the memory. May cause rounding. When image data that has undergone image degradation such as edge rounding is read and reused by a personal computer or the like, the possibility of erroneous edge detection increases as it is, so image area separation as described above. It is convenient if the management information associated with can be used, but since it is stored as file data different from the original image data file, it is difficult to use.
[0013]
  Of the present inventionMajorThe purpose is to use JPEG2000 features to prevent or tamper with duplication.Image data suitable for preventionIt is to realize encoding.
[0014]
[Means for Solving the Problems]
  The invention described in claim 1Additional information creating means for creating additional information related to image data in order to prevent falsification of the image data in an image processing apparatus for generating a codestream by performing coding compression processing based on the JPEG2000 standard on image data A terminal code giving means for forcibly giving a terminal code to a position before the code length position defined by the header information in the code stream, and the header information from a position after the assigned terminal code And an additional information embedding unit that embeds the created additional information in the non-standard area as a non-standard area that is not decoded by the JPEG2000 standard..
[0015]
  Therefore, the additional information can be used as hidden information by embedding additional information created in association with the image data as a code in a non-standard area that is not decoded by the JPEG2000 standard in the code stream.To prevent duplication or falsificationCan be useful.
[0016]
  According to the JPEG2000 standard, the code length is described in the header, but even if it is a position before reaching the code length position, it is interpreted as a terminal position if a terminal code such as 0xFFFF exists. Then, data from the terminal code position to the described code length position is skipped without being decoded.Therefore, the termination signalAs a non-standard area for embedding additional information, general users cannot easily change itBy setting the area,This is effective in embedding additional information useful for preventing duplication or falsification.
[0017]
  Claim 2The described inventionClaim 1In the image processing apparatus described above, the terminal code assigning unit assigns the terminal code in a main header area of a code stream.It is characterized by.
[0018]
  Therefore,By adding a terminal code in the main header area of the code stream,An unspecified area for embedding additional information in the main header areaIt can be easily realized.
[0019]
  Claim 3The described inventionClaim 2In the image processing apparatus described above, the terminal code adding unit adds the terminal code to a position before a code length position defined by a PLM marker describing a packet length for main header.It is characterized by.
[0020]
  Therefore,More specifically,PLM marker describing packet length for main headerUseCan be realized easily. In particular, in order to prevent falsification and the like, it becomes possible to control in units of packets.
[0021]
  Claim 4The described inventionClaim 2In the image processing apparatus described above, the terminal code assigning unit assigns the terminal code to a position before a code length position defined by a TLM marker that describes a main header tile portion length.It is characterized by.
[0022]
  Therefore,More specifically,TLM marker that describes the tile length of the main headerUseCan be realized easily. In particular, it is possible to control in units of tiles in order to prevent tampering.
[0023]
  Claim 5The described inventionClaim 2In the image processing apparatus described above, the terminal code assigning unit assigns the terminal code to a position before a code length position defined by a PPM marker that collects and describes main header packet headers.It is characterized by.
[0024]
  Therefore,More specifically,PPM marker for collecting and describing packet header for main headerUseCan be realized easily. In particular, in order to prevent falsification and the like, it becomes possible to control in units of packets.
[0025]
  Claim 6The described inventionClaim 2In the image processing apparatus described above, the terminal code providing unit assigns the terminal code to a position before a code length position defined by a comment COM marker.It is characterized by.
[0026]
  Therefore,More specifically,COM marker for commentUseCan be realized easily.
[0027]
  Claim 7The described inventionClaim 1In the described image processing apparatus, the terminal code adding unit adds the terminal code to an actual code data area of a code stream.
[0028]
  Therefore,By giving a terminal code in the actual code data area of the code stream,An unspecified area for embedding additional information in the actual code data areaIt can be easily realized.
[0029]
  Claim 8The described inventionClaim 7In the described image processing device, the terminal code assigning unit assigns the terminal code to a position before a code length position defined by a tile start SOT marker added to the head of the tile code string.It is characterized by.
[0030]
  Therefore,More specifically,The SOT marker for starting tile added to the head of the tile code stringUseCan be realized easily. In particular, it is possible to control in units of tiles in order to prevent tampering.
[0031]
  Claim 9The described inventionClaim 7In the described image processing device, the terminal code assigning unit assigns the terminal code to a position before a code length position defined by a PLT marker describing a packet length for a tile header.It is characterized by.
[0032]
Therefore,More specifically,PLT marker that describes packet length for tile headerUseCan be realized easily. In particular, it is possible to control in units of tiles in order to prevent tampering.
[0033]
  Claim 10The described inventionClaim 7In the described image processing apparatus, the terminal code assigning unit assigns the terminal code to a position before a code length position defined by a PPT marker that collects and describes tile header packet headers.It is characterized by.
[0034]
  Therefore,More specifically,PPT markers that collect and describe packet headers for tile headersUseCan be realized easily. In particular, it is possible to control in units of tiles in order to prevent tampering.
[0035]
  Claim 11The described inventionClaim 7In the image processing apparatus described above, the terminal code providing unit assigns the terminal code to a position before a code length position defined by a comment COM marker.It is characterized by.
[0036]
  Therefore,More specifically,COM marker for commentUseCan be realized easily.
[0037]
  A twelfth aspect of the present invention is an image processing apparatus that decodes a code stream generated by the image processing apparatus according to any one of the first to eleventh aspects to decompress image data, and the code stream Non-standard area information reading means for reading additional information embedded in a non-standard area that is not decoded in the JPEG2000 standard, and determination means for determining whether or not the code data has been tampered with based on the read additional information. It is characterized by having.
[0038]
  Therefore, it is embedded in the code stream as a code in an unspecified area that is not decoded by the JPEG2000 standard.Based on the additional information, it is possible to easily detect whether unauthorized duplication or falsification has been made, which can be used for protecting the copyright of the image data.
[0039]
  According to a thirteenth aspect of the present invention, in the image processing apparatus according to the twelfth aspect of the present invention, the image processing apparatus further includes additional information corresponding processing means for forcibly terminating decoding of the code data when the determination means detects falsification. .
[0040]
  Therefore,When tampering is detected based on the determination result of the read additional information, the decoding is forcibly terminated, so that it is possible to substantially prevent the image data from being duplicated or tampered.
[0041]
  According to a fourteenth aspect of the present invention, in the image processing apparatus according to the twelfth aspect, when the falsification is detected by the determination means, the information processing apparatus further includes an additional information corresponding processing means for issuing a warning to that effect.
[0042]
  Therefore,When the alteration is detected based on the read determination result of the additional information, a warning to that effect is issued, so that it is possible to substantially prevent the image data from being duplicated or tampered.
[0043]
  According to a fifteenth aspect of the present invention, in the image processing apparatus according to the twelfth aspect, when the falsification is detected by the determination means, the image processing apparatus further comprises an additional information corresponding processing means for not outputting only the falsified portion. .
[0044]
  Therefore,When falsification is detected based on the read determination result of the additional information, it is possible to substantially prevent duplication or falsification of the image data by not outputting only the falsified portion.
[0045]
  The invention according to claim 16 is the invention according to any one of claims 1 to 15.A program that causes a computer included in the image processing apparatus to execute the function of each unit in the image processing apparatus described.
[0046]
  Claim 17The described inventionClaim 16A computer-readable storage medium storing the described program.
[0047]
DETAILED DESCRIPTION OF THE INVENTION
  A first embodiment of the present invention will be described with reference to FIGS.
[0048]
[Outline of JPEG2000 algorithm]
  The present embodiment uses the JPEG2000 algorithm. First, an outline of the algorithm will be described.
[0049]
  FIG. 1 is a functional block diagram of a system that realizes a hierarchical encoding algorithm that is the basis of the JPEG2000 system. This system includes color space transform / inverse transform unit 101, two-dimensional wavelet transform / inverse transform unit 102, quantization / inverse quantization unit 103, entropy encoding / decoding unit 104, and tag processing unit 105. It is configured.
[0050]
  One of the biggest differences between this system and the conventional JPEG algorithm is the conversion method. In JPEG, discrete cosine transform (DCT) is used, whereas in this hierarchical coding algorithm, two-dimensional wavelet transform / inverse transform unit 102 uses discrete wavelet transform (DWT). Yes. DWT has the advantage that the image quality in the high compression region is better than DCT, and this is one of the main reasons why DWT is adopted in JPEG2000, which is a successor algorithm of JPEG.
[0051]
  Another major difference is that in this hierarchical encoding algorithm, a functional block of the tag processing unit 105 is added in order to perform code formation at the final stage of the system. The tag processing unit 105 generates compressed data as code string data during an image compression operation, and interprets code string data necessary for decompression during the decompression operation. With the code string data, JPEG2000 can realize various convenient functions. For example, the compression / decompression operation of a still image can be freely stopped at an arbitrary hierarchy (decomposition level) corresponding to octave division in block-based DWT (see FIG. 3 described later). Further, a low resolution image (reduced image) can be extracted from one file, or a part of the image (tiling image) can be extracted.
[0052]
  In many cases, a color space conversion / inverse conversion unit 101 is connected to an input / output portion of an original image. For example, the RGB color system composed of R (red) / G (green) / B (blue) components of the primary color system and the Y (yellow) / M (magenta) / C (cyan) components of the complementary color system This corresponds to the part that performs conversion or reverse conversion from the YMC color system consisting of the above to the YUV or YCbCr color system.
[0053]
  Next, the JPEG2000 algorithm will be described. As shown in FIG. 2, in a color image, each component 111 (RGB primary color system here) of an original image is generally divided by a rectangular area. This divided rectangular area is generally called a block or a tile, but in JPEG2000, it is generally called a tile. Therefore, such a divided rectangular area is hereinafter referred to as a tile. (In the example of FIG. 2, each component 111 is divided into a total of 16 rectangular tiles 112, 4 × 4 in length and breadth). When such individual tiles 112 (R00, R01,..., R15 / G00, G01,..., G15 / B00, B01,..., B15 in the example of FIG. 2) execute the image data compression / decompression process. It becomes the basic unit. Therefore, the compression / decompression operation of the image data is performed independently for each component and for each tile 112.
[0054]
  At the time of encoding image data, the data of each tile 112 of each component 111 is input to the color space conversion / inverse conversion unit 101 of FIG. 1 and subjected to color space conversion, and then the two-dimensional wavelet conversion / inverse conversion unit. A two-dimensional wavelet transform (forward transform) is applied at 102 to divide the space into frequency bands.
[0055]
  FIG. 3 shows subbands at each decomposition level when the number of decomposition levels is three. That is, the tile original image (0LL) (decomposition level 0) obtained by the tile division of the original image is subjected to two-dimensional wavelet transform, and subbands (1LL, 1HL, 1LH, 1HH shown in the composition level 1). ). Subsequently, the low-frequency component 1LL in this hierarchy is subjected to two-dimensional wavelet transform to separate subbands (2LL, 2HL, 2LH, 2HH) shown in the decomposition level 2. Similarly, the low-frequency component 2LL is also subjected to two-dimensional wavelet transform, and the subbands (3LL, 3HL, 3LH, 3HH) indicated by the decomposition level 3 are separated. In FIG. 3, subbands to be encoded at each decomposition level are indicated by shading. For example, when the number of decomposition levels is 3, the subbands (3HL, 3LH, 3HH, 2HL, 2LH, 2HH, 1HL, 1LH, 1HH) indicated by shading are to be encoded, and the 3LL subband is encoded. Not.
[0056]
  Next, the bits to be encoded are determined in the specified encoding order, and the context is generated from the bits around the target bits by the quantization / inverse quantization unit 103 shown in FIG.
[0057]
  The wavelet coefficients that have undergone the quantization process are divided into non-overlapping rectangles called “precincts” for each subband. This was introduced to use memory efficiently in implementation. As shown in FIG. 4, one precinct consists of three rectangular regions that are spatially coincident. Further, each precinct is divided into non-overlapping rectangular “code blocks”. This is the basic unit for entropy coding.
[0058]
  The coefficient values after the wavelet transform can be quantized and encoded as they are, but in JPEG2000, in order to increase the encoding efficiency, the coefficient values are decomposed into “bit plane” units, and each pixel or code block is divided. Ranking can be performed on “bitplanes”.
[0059]
  Here, FIG. 5 is an explanatory diagram showing an example of a procedure for ranking the bit planes. As shown in FIG. 5, this example is a case where the original image (32 × 32 pixels) is divided into four 16 × 16 pixel tiles, and the size of the precinct and code block at the composition level 1 are respectively 8 × 8 pixels and 4 × 4 pixels. The numbers of the precinct and the code block are assigned in raster order. In this example, the number of assigns is assigned from numbers 0 to 3, and the code block is assigned from numbers 0 to 3. A mirroring method is used for pixel expansion outside the tile boundary, wavelet transform is performed with a reversible (5, 3) filter, and a wavelet coefficient value of decomposition level 1 is obtained.
[0060]
  An explanatory diagram showing an example of the concept of a typical “layer” configuration for tile 0 / precinct 3 / code block 3 is also shown in FIG. The converted code block is divided into subbands (1LL, 1HL, 1LH, 1HH), and wavelet coefficient values are assigned to the subbands.
[0061]
  The layer structure is easy to understand when the wavelet coefficient values are viewed from the horizontal direction (bit plane direction). One layer is composed of an arbitrary number of bit planes. In this example, layers 0, 1, 2, and 3 are made up of bit planes of 1, 3, 1, and 3, respectively. A layer including a bit plane closer to the LSB (Least Significant Bit) is first subjected to quantization, and conversely, a layer close to the MSB (Most Significant Bit: most significant bit) is quantized to the end. It will remain without being. A method of discarding from a layer close to the LSB is called truncation, and the quantization rate can be finely controlled.
[0062]
  The entropy encoding / decoding unit 104 illustrated in FIG. 1 performs encoding on the tile 112 of each component 111 by probability estimation from the context and the target bit. In this way, encoding processing is performed in units of tiles 112 for all components 111 of the original image. Finally, the tag processing unit 105 performs a process of combining all the encoded data from the entropy encoding / decoding unit 104 into one code string data and adding a tag thereto.
[0063]
  On the other hand, when the encoded data is decoded, the image data is generated from the code string data of each tile 112 of each component 111, contrary to the case of encoding the image data. In this case, the tag processing unit 105 interprets tag information added to the code string data input from the outside, decomposes the code string data into code string data of each tile 112 of each component 111, and Decoding processing (decompression processing) is performed for each code string data of each tile 112. At this time, the position of the bit to be decoded is determined in the order based on the tag information in the code string data, and the quantization / inverse quantization unit 103 determines the peripheral bits (that have already been decoded) of the target bit position. Context is generated from the sequence of The entropy encoding / decoding unit 104 performs decoding by probability estimation from the context and code string data, generates a target bit, and writes it in the position of the target bit. Since the data decoded in this way is spatially divided for each frequency band, the two-dimensional wavelet transform / inverse transform unit 102 performs two-dimensional wavelet inverse transform on each of the components of the image data. The tile is restored. The restored data is converted to original color system image data by the color space conversion / inverse conversion unit 101.
[0064]
  The above is the outline of the JPEG2000 algorithm.
[0065]
[JPEG2000 code format]
  Next, the JPEG 2000 code format that is the focus of the present invention will be described. FIG. 6 is a schematic diagram showing a JPEG2000 code format. The code format starts with an SOC (Start of Codestream) marker indicating the start of code data, followed by a main header describing coding parameters and quantization parameters, and further followed by actual code data It is. The actual code data starts with a SOT (Start of Tile-part) marker, and includes a tile header, an SOD (Start of Data) marker, and tile data (code). After the code data corresponding to the whole image, an EOC (End of Codestream) marker indicating the end of the code is added.
[0066]
  FIG. 7 shows a configuration example of the main header. The main header is composed of COD, QCD essential marker segments and COC, QCC, RGN, POC, PPM, TLM, PLM, CRG, COM optional marker segments.
[0067]
  FIG. 8 shows a configuration example of the tile header. FIG. 8A shows a marker segment sequence added to the head of the tile header. COD, COC, QCD, QCC, RGN, POC, PPT, PLT, and COM (all optional) marker segments can be used. . On the other hand, FIG. 8B shows a marker segment sequence added to the head of the divided tile partial sequence in the case where the tile is divided into a plurality of segments, and POC, PPT, PLT, COM marker segments (all Option) is available.
[0068]
  Here, the markers and marker segments used in JPEG2000 will be described. The marker is composed of 2 bytes (the first byte is 0xff and the subsequent bytes are 0x01 to 0xfe). Markers and marker segments can be classified into the following six types.
[0069]
(1) Frame delimitation
(2) Information related to the size of an image (fixed information)
(3) Encoding function information (functional)
(4) For error tolerance (in bit stream)
(5) Bit stream pointer
▲ 6 ▼ Auxiliary information (information)
Among these, the markers related to the present invention are (1) (5) (6). Details of these will be described below.
[0070]
  First, the Delimating marker and the marker segment will be described. The Delimating marker and the marker segment are essential, and there are SOC, SOT, SOD, and EOC. A code start marker (SOC) is added to the head of the code string. The tile start marker (SOT) is added to the head of the tile code string. The configuration of this SOT marker segment is shown in FIG. Lsot that describes the size of the marker segment, Isot that describes the tile number (number given in raster order starting from 0), Psot that describes the tile length, TPsot that describes the tile part number, and tile It consists of the contents of TNsot where the number of parts is described. Among these, the Psot portion shown by shading in FIG. 9 can be used to define the position to which the terminal code is added when the additional information is embedded.
[0071]
  A code end marker (EOC) is added to the end of the code string. The structure of this EOC marker segment is shown in FIG. The area after the EOC marker can also be used for embedding additional information.
[0072]
  Next, the pointer marker segment of the bit stream will be described. Examples of the marker include TLM, PLM, PLT, PPM, and PPT. The TLM marker is added to the main header to describe the length of the main header tile portion (the length from the SOT marker to the end of the tile), and its configuration is shown in FIG. Ltlm describing the size of the marker segment, Ztlm describing the identification number of the TLM marker, Stlm describing the length of Ttlm and Ptlm, and Ttlm describing the tile number in the i-th tile portion (i ), And the content of Ptlm (i) describing the length (number of bytes) from the SOT marker to the end of the tile part in the i-th tile part. Among these, the Ttlm (i) and Ptlm (i) portions shown by shading in FIG. 11 can be used to define the position to which the terminal code is added when the additional information is embedded.
[0073]
  The PLM marker is added to the main header to describe the packet length list of the tile portion (main header packet length), and its configuration is shown in FIG. Lplm describing the size of the marker segment, Zplm describing the identification number of the PLM marker, Nplm (i) describing the number of bytes of Iplm in the i-th tile portion, j-th in the i-th tile portion The packet length is described as Iplm (ij). Among these, the Iplm (ij) portion shown by shading in FIG. 12 can be used to define the position to which the terminal code is added when the additional information is embedded.
[0074]
  The PLT marker is added to the tile header to describe the packet length list of the tile portion (packet length for tile header), and its configuration is shown in FIG. It is composed of Lplm in which the size of the marker segment is described, Zplt in which the identification number of the PLT marker is described, and Iplt (i) in which the i-th packet length is described. Among these, the Iplt (i) portion shown by shading in FIG. 13 can be used for defining the position to which the terminal code is added when the additional information is embedded.
[0075]
  The PPM marker is added to the main header and collects and describes packet headers in all tiles (a set of main header packet headers), and its configuration is shown in FIG. Lppm in which the size of the marker segment is described, Zppm in which the identification number of the PPM marker is described, Nppm (i) in which the number of bytes in Ippm in the i-th tile portion is described, and j-th in the i-th tile portion The packet header is described as Ippm (ij). Among these, the Ippm (ij) portion shown by shading in FIG. 14 can be used to define the position to which the terminal code is added when the additional information is embedded.
[0076]
  The PPT marker is added to the tile header and collects and describes packet headers in the tile portion (a set of tile header packet headers), and its configuration is shown in FIG. It is composed of Lppt describing the size of the marker segment, Zppt describing the identification number of the PPT marker, and Ippt (i) describing the i-th packet header in the tile portion. Among these, the Ippt (i) portion shown by shading in FIG. 15 can be used for defining the position to which the terminal code is added when the additional information is embedded.
[0077]
  The COM marker is used to add information such as a comment added to the main header or tile header (comment), and its configuration is shown in FIG. It is composed of Lcom in which the size of the marker segment is described, a value Rcom to be described, and comment data Ccom (i). Among these, the Ccom (i) portion shown by shading in FIG. 16 can be used for defining the position to which the terminal code is added when the additional information is embedded.
[0078]
[Image processing device]
  The image processing apparatus of the present embodiment shows an application example to a multifunction peripheral (MFP) having functions as an image reading apparatus and an image forming apparatus, and also having a function as an Internet facsimile machine. As an example, assume a system configuration in which a multifunction machine is used as an image server under mail server management in an Internet environment as shown in FIG.
[0079]
  FIG. 17 is an explanatory diagram showing an example of the basic configuration of the entire system configuration. This system is composed of, for example, a domain 2 centered on a local area network (LAN) 1 and a domain 4 centered on a LAN 3. The facsimile machines 5 and 6 are G3 facsimile machines that use the public telephone network 7 as a transmission path. Each domain 2 and 4 is connected to a service provider of the Internet 10 through a router 8 and 9 by a dedicated line.
[0080]
  Also, in domain 2, there is a mail server 13 for providing an electronic mail service to the personal computers 10 and 11 as client terminals connected to the LAN 1 and a multifunction machine 12 having the functions of a network compatible Internet facsimile machine. Is provided. Each of these terminals 10 to 13 is set with a unique host address obtained by concatenating a unique address to the network address of domain 2, and a user who uses this domain 2 has any personal computer with a unique address name. A user address obtained by concatenating 10 and 11 host addresses is set.
[0081]
  Similarly, in the domain 4, a mail server 17 for providing an electronic mail service to a multifunction machine 16 having functions of personal computers 14 and 15 as client terminals connected to the LAN 3 and an Internet-compatible Internet facsimile machine. Is provided. Each of these terminals 14 to 16 is set with a unique host address obtained by concatenating a unique address to the network address of the domain 4, and a user using this domain 4 has any personal computer with a unique address name. A user address obtained by concatenating 14 and 15 host addresses is set.
[0082]
  The multifunction peripherals 12 and 16 are connected to the LANs 1 and 3 to transmit image data as electronic mail, and are connected to the public telephone line network 7 to use the public telephone line network 7 as a transmission path. And a transmission function for performing image data transmission according to a transmission procedure.
[0083]
  Here, basically, data exchange between terminals connected to the LANs 1 and 3 and data exchange via the Internet 10 are transmitted to a transport layer called TCP / IP. A combination of a protocol and a higher-layer communication protocol (so-called protocol suite) is applied. For example, in the exchange of e-mail data, a communication protocol called SMTP (Simple Mail Transfer Protocol) is applied as an upper layer communication protocol.
[0084]
  In the present embodiment, the e-mail is once stored in the mail servers 13 and 17 and then transmitted in a storage-and-delivery type transmission form that is distributed to the destination. At this time, if the value of the destination address attached to the e-mail includes the network address set in each of the domains 2 and 4, the e-mail is stored as it is in the corresponding mail servers 13 and 17. If the value of the destination address attached to the e-mail includes a value other than the network address set in each of the domains 2 and 4, the e-mail is sent via the routers 8 and 9. The data is sent to the Internet 10 and is transmitted to an appropriate domain or host having a network address corresponding to the value of the destination address by the data transfer function of the Internet 10.
[0085]
  Here, in the present embodiment, attention is paid to the multifunction machines 12 and 16 used as image servers under the management of the mail servers 13 and 17, and a configuration example of these multifunction machines 12 and 16 is illustrated. This will be described with reference to the block diagram shown in FIG.
[0086]
  First, a system control unit having a microcomputer configuration using the CPU 21, the ROM 22, and the RAM 23 performs various control processes such as a control process for each part of the multifunction machine 16 and a facsimile transmission control procedure process. The ROM 22 stores a control processing program executed by the CPU 21 and various data necessary for executing the control processing program, and the RAM 23 forms a work area of the CPU 21. The SRAM 24 is responsible for holding information when the power is turned off. The timer control unit 25 controls time according to the current time.
[0087]
  The scanner interface 26 is used for an interface with a scanner 27 having a photoelectric conversion element (not shown) that reads a document image at a predetermined resolution, and the printer interface 28 is used for an interface with a printer 29 that records and outputs an image at a predetermined resolution. The operation panel interface 30 is for interfacing with an operation panel 31 having various operation keys and a display for operating the multifunction device 16.
[0088]
  The encoding / decoding unit 32 encodes and compresses the image signal and decodes (decompresses) the encoded and compressed image information into the original image signal. As an algorithm of the encoding / decoding unit 32, the JPEG2000 algorithm as described with reference to FIG. 1 is used.
[0089]
  The hard disk interface 33 is an interface for a hard disk drive (HDD) 34 as an image database storage device for storing a large number of encoded and compressed image data (code data).
[0090]
  The communication control unit 35 is for realizing the modem function of the group 3 facsimile, and has a low-speed modem function for exchanging transmission control procedures and a high-speed modem function for mainly exchanging image information. The network control unit 36 is for connecting the multi-function device 16 to the public telephone line network 7 and has an automatic outgoing / incoming function. Data exchange between the communication control unit 35 and the network control unit 36 is performed directly as shown in the figure.
[0091]
  The character generator 37 holds a font of characters.
[0092]
  The LAN communication control unit 38 unique to the multifunction peripherals 12 and 16 corresponds to the LAN 1 as a physical layer, and performs a MIME (Multipurpose integration Mail Extension) conversion for performing TCP / IP protocol and electronic mail communication.
[0093]
  Furthermore, the multifunction peripherals 12 and 16 according to the present embodiment include an external storage medium reading unit 40 such as a card reader that includes an insertion slot for a storage medium 39 such as an IC card and performs reading thereof. The computer program can be read from the storage medium 39 inserted into the RAM 23 and stored in the RAM 23 or the like.
[0094]
  These units / elements are connected to an internal bus 41, and data exchange between these units / elements is mainly performed using the internal bus 41.
[0095]
  The hardware configuration of the personal computer 10, 11, 14, or 15 that may be an image processing apparatus that can use the multifunction machines 12, 16 as an image server is schematically shown in the block diagram of FIG. As shown in FIG. 19, the personal computers 10, 11, 14, and 15 include a ROM (Read Only Memory) 52 and a RAM (Random Access Memory) 53 that store CPU (Central Processing Unit) 51 information. HDD (Hard Disk Drive) 54 for storing compressed codes downloaded from the outside through a primary storage device, the Internet 10, and other networks 1 and 3, storing information, distributing information to the outside, and distributing information from outside A CD-ROM drive 55 for obtaining, a communication control device 56 for communicating information with other external computers via the networks 1, 3, 10, and the processing progress and results are displayed to the operator. CRT (Cathode Ray) And a display device 57 such as a LCD (Liquid Crystal Display) and an input device 58 such as a keyboard and a mouse for an operator to input commands and information to the CPU 51. The bus controller 59 operates by arbitrating the transmitted / received data.
[0096]
  The RAM 53 has a property of storing various data in a rewritable manner, and thus functions as a work area for the CPU 51.
[0097]
  In such personal computers 10, 11, 14, and 15, when the user turns on the power, the CPU 51 activates a program called a loader in the ROM 52, and a program for managing the hardware and software of the computer called the operating system from the HDD 54 is stored in the RAM 53. Read and start this operating system. Such an operating system starts a program, reads information, or saves it in response to a user operation. As typical operating systems, Windows (registered trademark), UNIX (registered trademark), and the like are known. An operation program running on these operating systems is called an application program.
[0098]
  Here, the personal computers 10, 11, 14, and 15 store a code conversion processing program in the HDD 54 as an application program. In this sense, the HDD 54 functions as a storage medium that stores the decryption processing program.
[0099]
  In general, the operation program installed in the HDD 54 of the personal computers 10, 11, 14, 15 is recorded on an optical information recording medium such as a CD-ROM 60 or a DVD-ROM, a magnetic medium such as an FD, etc. The recorded operation program is installed in the HDD 54. For this reason, portable storage media such as optical information recording media such as the CD-ROM 60 and magnetic media such as the FD can also be storage media for storing the decoding processing program. Further, the decryption processing program may be taken in from the outside via the communication control device 56 and installed in the HDD 54, for example.
[0100]
[Embedding additional information, etc.]
  In such a system configuration, in this embodiment, for example, when the multifunction machine 12 is used as an image server, additional information for preventing tampering that cannot be easily edited with respect to image data sequentially stored in the multifunction machine 12 is stored. If the image data is altered and re-saved by embedding, the additional information disappears, or the additional information changes, so that the alteration can be detected, and substantially preventing duplication or alteration. It is intended to be able to plan.
[0101]
  First, the principle of this embodiment will be described. According to the JPEG2000 standard that is the subject of the present embodiment, the packet length is described in the packet header in the code stream, and when decoding, the code data is decoded assuming that the data of that length comes. . However, if a code of 0xFFFF appears before the length position according to the description, it is interpreted that the end of the packet has arrived at that time, and the subsequent data is skipped to the described length. . That is, the area after 0xFFFF is an unspecified area that is not decoded by the JPEG2000 standard. Therefore, it is possible to embed additional information for preventing falsification as a code in such an unspecified area.
[0102]
  For example, in the present embodiment, attention is paid to the tile start SOT marker added to the head of the tile code string in the above-described code format. As shown in 20 (a), the code length Tile-part defined by Psot in the SOT marker
The code data ends at the position of length. On the other hand, the value of Psot in the SOT ′ marker is changed in consideration of the additional information embedded area, and the initial code length Tile-part is changed.
By forcing 0xFFFF as a termination code at a position corresponding to the end position of length, and having a non-regulated area in the subsequent area, as shown in FIG. 20 (b), the regulation after the termination code 0xFFFF The additional information can be embedded in the outer area. The additional information embedded in such an unspecified area is not decoded in the JPEG2000 standard.
[0103]
  Therefore, for example, the processing example of one tile unit (one of the processing units of JPEG2000 as described above) when additional information for preventing tampering is embedded in an unspecified area in the codestream in the multifunction machine 12 is schematically shown in FIG. This will be described with reference to a flowchart. First, prior to the processing, it is determined whether or not processing for embedding additional information for preventing falsification is performed (step S1). Whether or not to embed additional information related to the target image data can be freely selected, and the user (server administrator) can embed additional information through the operation panel 31 or the server 13 (additional specification). means). If there is no additional information embedding designation (N in S1), the scanner 27 reads the original image, and the encoding / decoding unit 32 performs standard compression processing according to the JPEG2000 standard (S2). In this case, the processing is as shown in FIG.
[0104]
  On the other hand, when embedding of additional information for preventing tampering is designated (Y in S1), an embedding value V serving as additional information for preventing tampering is created by calculation (S3). Here, attention is paid to the SOT marker in units of tiles, and therefore, for example, the embedding value V = Isot is created using a certain calculation formula with the tile index Isot. The process of step S3 is executed as a function of the additional information creating means.
[0105]
  Then, the original image is read by the scanner 27, and the standard compression process is performed by the encoding / decoding unit 32 in accordance with the JPEG2000 standard (S4). Subsequently, the length of Psot in the SOT marker is calculated (S5). In this example,
Psot = (Tile-part length (compressed code stream length + header length)) + 2
2 bytes for embedding additional information are added. An SOT marker in the code stream is generated using the Psot thus calculated (S6), and the actual code data subjected to the compression process is added to the code stream (S7). Subsequently to the code data, 0xFFFF is added as a terminal code as shown in FIG. 20B (S8). The process of step S8 is executed as a function of the terminal code assigning means. Further, following the termination code 0xFFFF, as shown in FIG. 20 (b), an embedded value V corresponding to additional information for preventing tampering is added by 2 bytes to embed as a code (S9). The process of step S9 is executed as a function of the additional information embedding unit.
[0106]
  In this way, the original image data is stored in the memory as a code in which additional information for preventing falsification is embedded in a non-specified area after the end code 0xFFFF that is not decoded by the JPEG2000 standard in the codestream in the compression encoding process. Will be. In the multifunction machine 12, the accumulation of the code data enables image serverization while preventing falsification.
[0107]
  On the other hand, an example of decoding processing in units of one tile when the data stored in the multifunction machine 12 is accessed by an arbitrary personal computer 10, 11, 14, 15 or the like is referred to the schematic flowchart shown in FIG. To explain. First, code data (code stream) corresponding to desired image data is read, and the Psot information of the SOT marker is read to recognize and set the code length N of the code data (S11). Subsequently, the encoding / decoding unit 32 performs decoding processing on the code data (S12). The read code length at the end of the decoding process is compared with the code length N recognized and set by the Psot information of the SOT marker (S13). If they are equal (N in S13), the process is terminated and the decoding result is output. .
[0108]
  However, if the read code length at the end of the decoding process is smaller than the code length N (Y in S13), the end code 0xFFFF is forcibly assigned and additional information is embedded in the subsequent non-regulated area. The additional information for preventing tampering embedded in the area after the termination code 0xFFFF is read (S14). The process of step S14 is executed as a function of the non-regulated area reading unit. Then, the difference between the read value of the additional information (embedded information) and the calculated value for preventing falsification calculated by the above-described calculation formula is compared (S15). If the two match (Y in S15), it is determined that the data is legitimately provided from the multifunction machine 12 and that the data has not been tampered with, the process is terminated, and the decoding result is output. On the other hand, if any unauthorized alteration is made with respect to the code data, the read additional information value (embedded information) and the calculated value for preventing alteration are detected to detect the alteration (N in S15). ), Additional information handling processing corresponding to each application is executed (S16). The processing in step S16 is executed as a function of the additional information handling processing means.
[0109]
  Several examples of the processing in step S16 will be described. For example, when tampering is detected in step S15, it is possible to adopt a mode in which decoding relating to the code data is forcibly terminated at that time. In other words, when the image data has been tampered with, it is possible to substantially prevent the image data from being duplicated or tampered with by forcibly terminating the decoding.
[0110]
  Alternatively, when tampering is detected in step S15, a warning can be issued to that effect. The warning in this case may be an indication that normal decoding cannot be performed as it is because of alteration. Even with such a warning, it is possible to substantially prevent the image data from being copied or falsified.
[0111]
  Alternatively, when tampering is detected in step S15, it is possible to adopt a mode in which only the tampered portion is not output (not displayed, not printed, etc.). In the example of the present embodiment, additional information for preventing tampering is embedded in tile units, so that the decoding result is not output for the tampered tile portion, and an image is displayed according to the degree of tampering. As a result, it is possible to substantially prevent the image data from being duplicated or falsified.
[0112]
  Incidentally, when the above-mentioned code data is illegally copied by a personal computer or the like that is not compatible with the present embodiment, the additional information in the non-standard area cannot be decoded, and the additional information in the non-standard area. Cannot be duplicated. Therefore, the server that is the image providing source checks whether there is additional information for preventing alteration of the encoded data that is suspected of being illegally copied. Duplicates can be detected.
[0113]
  In the present embodiment, the SOT marker for starting a tile added to the head of the tile code string is used in order to give a termination code 0xFFFF that forms an unspecified area for embedding additional information. However, the present invention is not limited to this (the same applies to the following embodiments). For example, the end code 0xFFFF may be added to the main header area of the code stream. For this purpose, as described in the above code format, the PLM marker describing the packet length for the main header, the tile for the main header, An end code 0xFFFF is added to a position before a code length position defined by a TLM marker that describes a partial length, a PPM marker that collects and describes packet headers for main headers, or a COM marker for comments. It may be. Alternatively, the end code 0xFFFF may be added to the actual code data area of the code stream. For this purpose, as described in the above code format, the PLT marker describing the packet length for the tile header, the tile header A terminal code 0xFFFF may be added to a position before a code length position defined by a PPT marker that collects and describes packet headers or a COM marker for comments.
[0114]
  Furthermore, without using such a termination code 0xFFFF, the additional information may be embedded as a code with the area after the EOC marker indicating the end of the last code of the code stream as an unspecified area. FIG. 23A shows a typical example of a code stream according to the JPEG2000 standard, and FIG. 23B shows an example of a code stream in which additional information is embedded with an area after the EOC marker as an unspecified area. Yes.
[0115]
  Further, although not particularly illustrated, the additional information may be embedded as a code in the comment column of the comment COM marker. Furthermore, additional information may be embedded as a code in a non-standard area of the marker itself other than the comment COM marker. For example, originally, additional information is embedded as a code in the TLM marker itself for describing the length of the tile portion for the main header, the value of the length Ltlm of the TLM marker is increased by the length of the additional information, You may make it take a response | compatibility of embedding additional information as a code | symbol behind markers other than the COM marker itself.
[0116]
  A second embodiment of the present invention will be described with reference to FIGS. The same parts as those shown in the first embodiment are denoted by the same reference numerals, and description thereof is also omitted.
[0117]
  In this embodiment, management information such as an image creator, modification date and time, and storage destination is embedded as additional information in the code. Here, as an application example to the above-described multifunction machine 12 or 17, As will be described, in the case of the present embodiment, it particularly relates to the file or data management of the multifunction machine 12 or 17 itself, and does not need to be connected on the network as shown in FIG. But you can. Further, in this embodiment, it is assumed that the area after the EOC marker indicating the end of the last code in the code stream is an unspecified area and additional information as management information is embedded as a code.
[0118]
  For example, a processing example when embedding additional information serving as management information in the multifunction machine 12 in an unspecified area after the EOC marker in the code stream will be described with reference to a schematic flowchart shown in FIG. First, prior to the process, it is determined whether or not to embed additional information as management information (step S21). Whether or not to embed additional information related to the target image data can be freely selected, and the user can embed additional information through the operation panel 31 or the server 13 (addition specifying means). If there is no additional information embedding designation (N in S21), the scanner 27 reads the original image, and the encoding / decoding unit 32 performs standard compression processing according to the JPEG2000 standard (S22).
[0119]
  On the other hand, when embedding of additional information serving as management information is designated (Y in S21), the additional information is created (S3). The additional information as the management information may be any information as long as it is useful information for managing the image data, such as a file name, access right, access date / time, owner, user, storage folder, and the like. The process of step S23 is executed as a function of the additional information creating means.
[0120]
  Then, the original image is read by the scanner 27, and the standard compression process is performed by the encoding / decoding unit 32 in accordance with the JPEG2000 standard (S24). The actual code data generated by this processing is added to the code stream (S25), and additional information as management information is added to the last EOC marker of the code stream, as shown in FIG. 23B. It is embedded as a code (S26). The process of step S26 is executed as a function of the additional information embedding unit.
[0121]
  On the other hand, an example of a decoding process for using the management information for the data stored in the multifunction machine 12 will be described with reference to a schematic flowchart shown in FIG. First, code data (code stream) corresponding to desired image data is read (S31), and the code / decoding unit 32 performs decoding processing on the code data (S32). Subsequently, it is confirmed whether or not code data (additional information) exists after the last EOC marker of the code stream (S33). If code data exists (Y in S33), the area after the EOC marker is not present. However, the embedded additional information is read (S34). The process of step S34 is executed as a function of the non-regulated area reading unit. Then, additional information corresponding processing corresponding to each application is executed based on the read additional information as management information (S35). The processing in step S35 is executed as a function of the additional information handling processing means.
[0122]
  Several examples of the process of step S35 will be described. For example, when the additional information is management information for the image data, file organization related to the image data can be executed. In other words, by utilizing management information such as the image creator, modification date and time, and storage destination, it becomes possible to organize files related to the image data. Alternatively, when the additional information is management information for the image data, access control for the image data can be executed. That is, by utilizing the management information such as the access right and the owner, it is possible to control access to the image data. In any case, since the management information is integrally embedded as additional information in the file of the image data, if the multi-function peripheral has an encoder / decoder compatible with the present embodiment, file management can be performed. Easy to do. Incidentally, in the case of an encoder / decoder not compatible with the present embodiment, additional information as management information cannot be used, so that differentiation can be achieved.
[0123]
  When facsimile transmission is performed in real time using the multifunction machine 12, it is effective to use additional information, which is management information embedded in an unspecified area after the EOC marker, as information related to the image size. That is, in the case of real-time facsimile transmission in which transmission is sequentially performed while reading a transmission original, the image size (paper size) is not known until all the originals are read, and therefore the image size is transmitted with maximum size information. However, since the image size can be accurately determined when the reading is completed, if the information on the image size acquired at that time is embedded in the non-regulated area after the EOC marker and transmitted as additional information, this embodiment can be used. On the receiving side, the image size can be accurately grasped by reading the data after the EOC marker.
[0124]
  A third embodiment of the present invention will be described with reference to FIGS. The same parts as those shown in the first embodiment are denoted by the same reference numerals, and description thereof is also omitted.
[0125]
  In this embodiment, image position information related to image area separation according to image properties such as an edge portion, a character portion, a pattern portion, and a halftone dot portion of the image data is embedded in the code, and can be utilized when decoding the image data. Although described as an example applied to the above-described multifunction machine 12 or 17, it is not always necessary to be connected to the network as shown in FIG. 17, and a single machine configuration may be used. Further, in this embodiment, it is assumed that the area after the EOC marker indicating the end of the last code in the code stream is an unspecified area and additional information as image position information is embedded as a code.
[0126]
  For example, a processing example when the multifunction device 12 embeds additional information as image position information in an unspecified area after the EOC marker in the code stream will be described with reference to a schematic flowchart shown in FIG. First, prior to processing, it is determined whether or not to perform processing for embedding additional information as image position information (step S41). Whether or not to embed additional information related to the target image data can be freely selected, and the user can embed additional information through the operation panel 31 or the server 13 (addition specifying means). If there is no additional information embedding designation (N in S41), the scanner 27 reads the original image, and the encoding / decoding unit 32 performs standard compression processing in accordance with the JPEG2000 standard (S42).
[0127]
  On the other hand, when embedding of additional information as image position information is designated (Y in S41), the original image is read by the scanner 27, and standard compression processing is performed by the encoding / decoding unit 32 in accordance with the JPEG2000 standard ( S43) uses the well-known image area separation function disclosed in, for example, Patent Document 1 in the course of this processing, so that the image properties of the edge portion, character portion, pattern portion, halftone portion, etc. of the image data are obtained. The image position information related to the image area separation corresponding to is acquired (S44). The process of step S44 is executed as a function of the additional information creating means.
[0128]
  Subsequently, the actual code data is added to the code stream (S45), and, following the last EOC marker of the code stream, as shown in FIG. 23B, additional information as image position information related to image area separation is added. It is embedded as a code (S46). The process of step S46 is executed as a function of the additional information embedding unit.
[0129]
  On the other hand, an example of a decoding process for using the image position information related to the image area separation for the data accumulated in the multifunction machine 12 will be described with reference to a schematic flowchart shown in FIG. First, code data (code stream) corresponding to desired image data is read (S51), and the code / decoding unit 32 performs decoding processing on the code data (S52). Subsequently, it is checked whether or not code data (additional information) exists after the last EOC marker of the code stream (S53). If code data exists (Y in S53), the area after the EOC marker is not present. However, the embedded additional information is read (S54). The process of step S54 is executed as a function of the non-regulated area reading unit. Then, additional information corresponding processing corresponding to each application is executed based on the additional information that is image position information related to the read image area separation (S55). For example, filter processing or the like is image processing corresponding to each region of image data (each separated image region). The processing in step S55 is executed as a function of the additional information handling processing means.
[0130]
  Therefore, in the case where the additional information is image position information related to image area separation according to image properties such as an edge portion, a character portion, a pattern portion, and a halftone dot portion in the image data, by utilizing the image position information, The position of the edge portion and the like can be appropriately determined based on the additional information regardless of the compression-coded image data itself. Even when the image data is read and decoded, the edge position and the like can be accurately recognized, so that it is possible to reproduce (print, display, etc.) an image without edge rounding. In particular, unlike the case of Patent Document 1 or the like, image position information related to image area separation is also integrally embedded as additional information in the file of the image data, so that the multifunction device is an encoder / decoder compatible with the present embodiment. If it has, the image decoding process can be performed appropriately. Incidentally, in the case of an encoder / decoder not compatible with the present embodiment, image position information relating to image area separation cannot be used, and differentiation can be achieved.
[0131]
  A third embodiment of the present invention will be described with reference to FIGS. The same parts as those shown in the first embodiment are denoted by the same reference numerals, and description thereof is also omitted.
[0132]
  The present embodiment is applied to a charging system by embedding image data with different image quality as the additional information. In the present embodiment, as in the case of the first embodiment, image data in which the image quality is changed to the non-regulated area after the termination code 0xFFFF given to the position defined by the SOT marker is used as additional information. It shall be embedded.
[0133]
  For example, FIG. 28 shows a processing example of one tile unit (one of the processing units of JPEG2000 as described above) when embedding additional information in an unspecified area in the codestream in image data with different image quality in the multifunction machine 12. This will be described with reference to the schematic flowchart shown. First, prior to the processing, it is determined whether or not to perform processing for embedding additional information (step S61). Whether or not to embed additional information related to the target image data can be freely selected, and the user (server administrator) can embed additional information through the operation panel 31 or the server 13 (additional specification). means). If there is no designation for embedding additional information (N in S61), the scanner 27 reads the document image, and the encoding / decoding unit 32 performs standard compression processing according to the JPEG2000 standard (S62). In this case, the processing is as shown in FIG.
[0134]
  On the other hand, if there is an additional information embedding designation (Y in S61), the image quality to be separated by the terminal number 0xFFFF is set for image quality control (S63). According to JPEG2000, as described above, it is possible to separate the image quality by using the boundary to coat the image by dividing the image into several stages of image quality as described above. There is no need to limit. Thereafter, the scanner 27 reads the original image, and the encoding / decoding unit 32 performs standard compression processing according to the JPEG2000 standard (S64). Subsequently, the length of Psot (tile length) in the SOT marker is calculated (S65). In this example,
Psot
= (Tile-part length (compressed code stream length + header length)) + 2 * (number of embedded end codes 0xFFFF)
And Using the Psot thus calculated, an SOT marker in the code stream is generated (S66), and the actual code data of the one-step image quality subjected to the compression process is added to the code stream (S67). Subsequently to the code data, 0xFFFF is added as a termination code (S68). The processing in step S68 is executed as a function of the termination code adding means. Further, subsequent to the termination code 0xFFFF, the actual code data of the next higher-level image quality is added to the code stream (S67), and 0xFFFF is added as the termination code (S68). Repeatedly (S69). This repetition process is executed as a function of the additional information embedding means.
[0135]
  On the other hand, an example of a decoding process for using the image data of different image quality for the data stored in the multifunction machine 12 will be described with reference to a schematic flowchart shown in FIG. First, prior to the decoding process, the image quality to be read is set based on the billing information (S71). Subsequently, the code data (code stream) corresponding to the desired image data is read, and the code length N is recognized from the SOT marker information (S72). Then, the encoding / decoding unit 32 performs a decoding process on the code data (S73). By comparing the read code length at the end of decoding and the code length N recognized in advance (S74), the difference between the decoded image quality and the image quality set corresponding to the billing information is compared. If the image qualities do not match (N in S74), the code data of the next image quality level embedded in that area is read (S72) and decoded in spite of the non-regulated area of the termination code 0xFFFF (S73). . The processes in steps S72 and S73 are executed as functions of the non-regulated area information reading unit and the additional information corresponding processing unit until the image quality matches (Y in S74).
[0136]
  Thus, according to an application that can decode the additional information by embedding the image data with different image quality as the additional information, an image with an image quality of a certain accuracy (resolution) or more is charged. It can be easily applied to a billing system, such as being able to decode and output depending on the situation.
[0137]
【The invention's effect】
  According to the present invention, the following effects can be obtained.
(1) In the JPEG2000 standard in the code streamSince the additional information created in association with the image data is embedded as a code in an unspecified area that does not contribute to decoding, the additional information can be used as hidden information,In particular, it can be used to prevent duplication or falsification..
[0138]
(2) By assigning a termination code to the main header area of the code stream, an unspecified area in which additional information is embedded can be easily realized in the main header. More specifically, it can be easily realized by using a PLM marker, a TLM marker, a PPM marker, a COM marker, etc. Especially, in order to prevent tampering, etc., in packet units, tile units, etc. Control becomes possible.
[0139]
(3) By assigning a termination code to the actual code data area of the code stream, it is possible to easily realize an unspecified area in which the additional information is embedded in the actual code data area. More specifically, it can be easily realized by using an SOT marker, a PCT marker, a PPT marker, a COM marker, or the like.
[0140]
(4) Based on additional information embedded as a code in a non-regulated area that does not contribute to decoding in the JPEG2000 standard, it is possible to easily detect whether the image has been illegally copied or altered in the codestream. It can be used for data copyright protection.
[0141]
(5) When falsification is detected based on the determination result of the read additional information, the image data is substantially substantiated such as forcibly terminating decoding, issuing a warning, or not outputting only the falsified portion. Can be prevented from being duplicated or tampered with.
[Brief description of the drawings]
FIG. 1 is a functional block diagram of a system that implements a basic algorithm of the JPEG2000 system that is a premise of a first embodiment of the present invention.
FIG. 2 is an explanatory diagram showing a divided rectangular area of each component of the original image.
FIG. 3 is an explanatory diagram showing subbands at each decomposition level when the number of decomposition levels is 3. FIG.
FIG. 4 is an explanatory diagram showing a precinct.
FIG. 5 is an explanatory diagram showing an example of a procedure for ranking bit planes; It is.
FIG. 6 is a schematic diagram showing a code format of JPEG2000.
FIG. 7 is a configuration diagram of the main header.
FIG. 8 is a configuration diagram of a tile header.
FIG. 9 is a configuration diagram of an SOT marker segment.
FIG. 10 is an explanatory diagram showing the contents of an EOC marker segment.
FIG. 11 is a configuration diagram of a TLM marker segment.
FIG. 12 is a configuration diagram of a PLM marker segment.
FIG. 13 is a configuration diagram of a PLT marker segment.
FIG. 14 is a configuration diagram of a PPM marker segment.
FIG. 15 is a configuration diagram of a PPT marker segment.
FIG. 16 is a configuration diagram of a COM marker segment.
FIG. 17 is an explanatory diagram illustrating a system configuration example including a multifunction peripheral.
FIG. 18 is a block diagram illustrating a hardware configuration example of the multifunction machine.
FIG. 19 is a block diagram illustrating a hardware configuration example of a personal computer or the like.
FIG. 20 is a schematic diagram illustrating a state of a code stream before and after embedding additional information when an SOT marker is used.
FIG. 21 is a schematic flowchart showing an example of additional information embedding processing;
FIG. 22 is a schematic flowchart showing an example of additional information decoding processing;
FIG. 23 is a schematic diagram illustrating a state of a code stream before and after embedding additional information when an EOC marker is used.
FIG. 24 is a schematic flowchart illustrating an example of additional information embedding processing according to the second embodiment of this invention;
FIG. 25 is a schematic flowchart illustrating an example of additional information decoding processing.
FIG. 26 is a schematic flowchart illustrating an example of additional information embedding processing according to the third embodiment of this invention;
FIG. 27 is a schematic flowchart showing an example of additional information decoding processing;
FIG. 28 is a schematic flowchart illustrating an example of additional information embedding processing according to the fourth embodiment of this invention;
FIG. 29 is a schematic flowchart illustrating an example of additional information decoding processing.
[Explanation of symbols]
  10, 11, 14, 15 Image processing apparatus
  12, 16 Image processing apparatus, image reading apparatus, and image forming apparatus

Claims (17)

画像データにJPEG2000標準規格に基づく符号化圧縮処理を施してコードストリームを生成する画像処理装置において、In an image processing apparatus that generates a code stream by performing encoding and compression processing based on the JPEG2000 standard on image data,
前記画像データの改ざん防止用のために該画像データと関連した付加情報を作成する付加情報作成手段と、Additional information creating means for creating additional information related to the image data for preventing falsification of the image data;
コードストリーム中のヘッダ情報により規定される符号長さ位置よりも前の位置に強制的に終端符号を付与する終端符号付与手段と、Termination code giving means for forcibly giving a termination code to a position before the code length position defined by the header information in the code stream;
前記付与された終端符号より後の位置から前記ヘッダ情報により規定される符号長さ位置までの領域をJPEG2000標準規格では復号されない規定外領域として、該規定外領域に前記作成された付加情報を埋め込む付加情報埋め込み手段と、The area from the position after the assigned end code to the code length position defined by the header information is regarded as an unspecified area that is not decoded by the JPEG2000 standard, and the created additional information is embedded in the unspecified area. Additional information embedding means;
を有することを特徴とする画像処理装置。An image processing apparatus comprising:
前記終端符号付与手段は、コードストリームのメインヘッダ領域中に前記終端符号を付与することを特徴とする請求項1記載の画像処理装置。The image processing apparatus according to claim 1, wherein the terminal code adding unit adds the terminal code to a main header area of a code stream. 前記終端符号付与手段は、メインヘッダ用パケット長さを記述するPLMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項2記載の画像処理装置。3. The image processing according to claim 2, wherein the end code assigning unit assigns the end code to a position before a code length position defined by a PLM marker describing a packet length for main header. apparatus. 前記終端符号付与手段は、メインヘッダ用タイル部分長さを記述するTLMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項2記載の画像処理装置。3. The image according to claim 2, wherein the end code assigning unit assigns the end code to a position before a code length position defined by a TLM marker describing a length of a main header tile portion. Processing equipment. 前記終端符号付与手段は、メインヘッダ用パケットヘッダを集めて記述するPPMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項2記載の画像処理装置。3. The image according to claim 2, wherein the end code assigning means assigns the end code to a position before a code length position defined by a PPM marker that collects and describes main header packet headers. Processing equipment. 前記終端符号付与手段は、コメント用のCOMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項2記載の画像処理装置。The image processing apparatus according to claim 2, wherein the terminal code providing unit assigns the terminal code to a position before a code length position defined by a comment COM marker. 前記終端符号付与手段は、コードストリームの実際の符号データ領域中に前記終端符号を付与することを特徴とする請求項1記載の画像処理装置。The image processing apparatus according to claim 1, wherein the terminal code adding unit adds the terminal code to an actual code data area of a code stream. 前記終端符号付与手段は、タイル符号列の先頭に付加されるタイル開始用のSOTマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項7記載の画像処理装置。8. The terminal code adding means adds the terminal code to a position before a code length position defined by a tile start SOT marker added to the head of a tile code string. The image processing apparatus described. 前記終端符号付与手段は、タイルヘッダ用パケット長さを記述するPLTマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項7記載の画像処理装置。8. The image processing according to claim 7, wherein the terminal code adding unit adds the terminal code to a position before a code length position defined by a PLT marker describing a packet length for a tile header. apparatus. 前記終端符号付与手段は、タイルヘッダ用パケットヘッダを集めて記述するPPTマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項7記載の画像処理装置。8. The image according to claim 7, wherein the end code assigning means assigns the end code to a position before a code length position defined by a PPT marker that collects and describes tile header packet headers. Processing equipment. 前記終端符号付与手段は、コメント用のCOMマーカにより規定される符号長さ位置よりも前の位置に前記終端符号を付与することを特徴とする請求項7記載の画像処理装置。The image processing apparatus according to claim 7, wherein the terminal code providing unit assigns the terminal code to a position before a code length position defined by a comment COM marker. 請求項1乃至11の何れか1項に記載の画像処理装置で生成されたコードストリームを復号処理して画像データを伸長する画像処理装置であって、An image processing device that decodes a code stream generated by the image processing device according to any one of claims 1 to 11 to decompress image data,
前記コードストリーム中のJPEG2000標準規格では復号されない規定外領域に埋め込まれた付加情報を読み出す規定外領域情報読出し手段と、Non-standard area information reading means for reading additional information embedded in a non-standard area that is not decoded in the JPEG2000 standard in the codestream;
前記読み出した付加情報に基づき当該符号データに改ざんがなされたか否か判定する判定手段と、Determining means for determining whether or not the code data has been tampered with based on the read additional information;
を有することを特徴とする画像処理装置。An image processing apparatus comprising:
前記判定手段により改ざんが検出されたときには当該符号データの復号を強制終了させる付加情報対応処理手段を更に有することを特徴とする請求項12記13. The apparatus according to claim 12, further comprising additional information corresponding processing means for forcibly terminating decoding of the code data when tampering is detected by the determination means. 載の画像処理装置。The image processing apparatus described. 前記判定手段により改ざんが検出されたときにはその旨の警告を発する付加情報対応処理手段を更に有することを特徴とする請求項12記載の画像処理装置。13. The image processing apparatus according to claim 12, further comprising additional information corresponding processing means for issuing a warning to that effect when tampering is detected by the determination means. 前記判定手段により改ざんが検出されたときには当該改ざん箇所のみを非出力にする付加情報対応処理手段を更に有することを特徴とする請求項12記載の画像処理装置。13. The image processing apparatus according to claim 12, further comprising additional information corresponding processing means for not outputting only the falsified portion when falsification is detected by the determination means. 請求項1乃至15の何れか1項に記載の画像処理装置における各手段の機能を当該画像処理装置が備えるコンピュータに実行させるプログラム。The program which makes the computer with which the said image processing apparatus performs the function of each means in the image processing apparatus of any one of Claims 1 thru | or 15 be provided. 請求項16記載のプログラムを記憶しているコンピュータに読取り可能な記憶媒体。A computer-readable storage medium storing the program according to claim 16.
JP2002336022A 2002-11-20 2002-11-20 Image processing apparatus, program, and storage medium Expired - Fee Related JP3919101B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002336022A JP3919101B2 (en) 2002-11-20 2002-11-20 Image processing apparatus, program, and storage medium
US10/717,090 US7454069B2 (en) 2002-11-20 2003-11-20 Image processing apparatus, image compressing apparatus, image decompressing apparatus, image processing method, image compressing method, image decompressing method, information processing apparatus, information processing method, program and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002336022A JP3919101B2 (en) 2002-11-20 2002-11-20 Image processing apparatus, program, and storage medium

Publications (3)

Publication Number Publication Date
JP2004172930A JP2004172930A (en) 2004-06-17
JP2004172930A5 JP2004172930A5 (en) 2006-05-11
JP3919101B2 true JP3919101B2 (en) 2007-05-23

Family

ID=32699974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002336022A Expired - Fee Related JP3919101B2 (en) 2002-11-20 2002-11-20 Image processing apparatus, program, and storage medium

Country Status (1)

Country Link
JP (1) JP3919101B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4754236B2 (en) * 2005-02-21 2011-08-24 株式会社リコー Information processing apparatus, acquisition method, and acquisition program
JP2006279850A (en) * 2005-03-30 2006-10-12 Sanyo Electric Co Ltd Image processing apparatus
JP2007081595A (en) * 2005-09-13 2007-03-29 Fuji Xerox Co Ltd Encoder, decoder, encoding method, decoding method and their program

Also Published As

Publication number Publication date
JP2004172930A (en) 2004-06-17

Similar Documents

Publication Publication Date Title
US7454069B2 (en) Image processing apparatus, image compressing apparatus, image decompressing apparatus, image processing method, image compressing method, image decompressing method, information processing apparatus, information processing method, program and recording medium
JP3349910B2 (en) Image data encoding system
US7003131B2 (en) Watermarking and fingerprinting digital content using alternative blocks to embed information
US6434253B1 (en) Data processing apparatus and method and storage medium
US7194630B2 (en) Information processing apparatus, information processing system, information processing method, storage medium and program
JP3960597B2 (en) Code generation apparatus, image processing apparatus, code generation program, image processing program, and storage medium
US7409060B2 (en) Durable and undecipherable digital watermarking technique and detection of unauthorized use
US7502488B2 (en) Image processing apparatus, program, and storage medium that can selectively vary embedding specification of digital watermark data
Wu Multimedia data hiding
JP2004135122A (en) Image data input and output device, program, and storage medium
US7194635B1 (en) Method for secure delivery of digital image data using an embedded watermark based on a receiving indentity
US20050078820A1 (en) Information processing method, information processing apparatus, program, and storage medium
JP3919101B2 (en) Image processing apparatus, program, and storage medium
JP4086192B2 (en) Image processing apparatus, image processing method, program, and information recording medium
JP3055672B2 (en) Image data encoding system and image input device
US8081093B2 (en) Code transforming apparatus and code transforming method
JP2000050048A (en) Image processor
JP3728065B2 (en) Image processing apparatus and method, and storage medium
KR100930186B1 (en) How to insert information in compressed images
JP3703258B2 (en) Image processing apparatus and method, and storage medium
JP2005130244A (en) Image processing apparatus and image processing method
JP2006157371A (en) Apparatus and method of image processing, program, and information recording medium
JP4024157B2 (en) Electronic information transmission method, facsimile apparatus, information processing apparatus, program, and storage medium
JP2008147898A (en) Remote monitoring system and remote monitor of office appliance
JPH10290312A (en) System for preventing unauthorized appropriation of image data

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041007

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050223

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060317

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20060925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070208

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

Free format text: PAYMENT UNTIL: 20110223

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120223

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130223

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140223

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees