(57)【特許請求の範囲】
【請求項１】
イメージデータチャネルで送信する２進データを符号化する方法であって、
前記２進データを符号化するのに適した符号化パラメータを定義するステップと、
前記２進データを、前記符号化パラメータに従って、第１の色チャネル値の色を表す符号化線形行列イメージに符号化するステップと、を含み、
前記符号化パラメータは、前記２進データに対応する色チャネル値の範囲を含み、前記定義するステップは、さらに、前記イメージデータチャネルに前記符号化線形行列イメージを送信することにより生成された、変換された線形行列イメージの色により表される第２の色チャネル値から、前記符号化パラメータに従って、前記２進データを復号することができるように、前記範囲を、前記第１の色チャネル値および前記第２の色チャネル値を含むよう、前記イメージデータチャネルのひずみ特性に基づいて設定する、
方法。
【請求項２】
前記イメージデータチャネルのイメージひずみ特性を識別するステップをさらに含み、
定義する前記ステップは、前記符号化パラメータを決定するために前記イメージひずみ特性を解析するステップを含む、請求項１に記載の方法。
【請求項３】
符号化する前記ステップは、前記符号化線形行列イメージのデータ部を符号化するステップをさらに含み、該データ部は、着色してデータをマーキングした複数の領域を有し、該データマーキング領域のそれぞれは、所定量の２進データを表す、請求項１に記載の方法。
【請求項４】
前記複数のデータマーキング領域は、所定サイズと、一組の所定の色のうちの１つの色を有する、請求項３に記載の方法。
【請求項５】
前記イメージデータチャネルの前記イメージひずみ特性を識別するステップと、
前記イメージひずみ特性から、前記所定サイズおよび前記一組の所定の色を決定するステップと、
をさらに含む、請求項４に記載の方法。
【請求項６】
前記複数のデータマーキング領域のうちの選択されたデータマーキング領域のそれぞれにより表される前記所定量の２進データの数値は、該選択されたデータマーキング領域に用いられる前記所定の色のうちの１つに対応する、
請求項４に記載の方法。
【請求項７】
符号化する前記ステップは、さらに、前記符号化線形行列イメージのヘッダ部を符号化するステップを含み、該ヘッダ部は、着色してヘッダをマーキングした複数の領域を有し、該複数のヘッダマーキング領域のサブセットは、前記データ部の符号化に用いられる少なくとも１つの前記符号化パラメータを示す、請求項３に記載の方法。
【請求項８】
前記ヘッダ部はさらに、前記イメージひずみ特性を定義するのに使用可能なチューニングパターンを示す、前記ヘッダマーキング領域の他のサブセットを含む、請求項７に記載の方法。
【請求項９】
イメージデータチャネルのひずみ特性に基づいて決められた少なくとも１つの符号化パラメータに従って２進データが符号化された第１の色チャネル値の色を表す符号化線形行列イメージを、該イメージデータチャネルを介して受信することにより生成された受信線形行列イメージから、該符号化線形行列イメージ中の該２進データを回復する方法であって、
前記イメージデータチャネルの前記イメージひずみ特性を求めるために、前記受信線形行列イメージのヘッダ部を解析するステップと、
前記２進データの符号化に用いられた前記少なくとも１つの符号化パラメータを回復するために、前記イメージひずみ特性に従って前記ヘッダ部を復号するステップと、
回復した２進データを生成するために、前記少なくとも１つの符号化パラメータに従って、前記受信線形行列イメージのデータ部の色により表される第２の色チャネル値を復号するステップと、を含み、
前記少なくとも１つの符号化パラメータは、前記２進データに対応する色チャネル値の範囲を含み、前記範囲が、前記第１の色チャネル値および前記第２の色チャネル値を含むよう、前記イメージデータチャネルのひずみ特性に基づいて設定される、
方法。
【請求項１０】
前記解析するステップはさらに、前記イメージひずみ特性を求めるために、前記ヘッダ部のチューニングパターン部を、予め定めたチューニングパターンと比較するステップを含む、
請求項９に記載の方法。
【請求項１１】
前記２進データは、印刷装置のファームウェアをアップグレードすることを含み、
さらに、前記印刷装置のファームウェアのアップグレードをインストールするステップを含む、
請求項９に記載の方法。
【請求項１２】
前記少なくとも１つの符号化パラメータは、いくつかの色チャネル、安全イメージ幅、安全イメージ高さ、最小Ｘブロックサイズ、最小Ｙブロックサイズ、最小色オフセット、最小色値、および最大色値により構成されるグループから選択される、
請求項９に記載の方法。
【請求項１３】
２進データを表す符号化線形行列イメージのデータ構造であって、
所定の検知キーと、
前記検知キーの近くにある所定のチューニングパターンと、
前記所定のチューニングパターンの近くにある少なくとも１つの符号化パラメータのイメージと、
前記少なくとも１つの符号化パラメータの近くにある、前記２進データを表すデータ部と、を有し、
イメージデータチャネルのイメージひずみ特性に基づいて決められた該少なくとも１つの符号化パラメータに従って前記２進データが符号化された第１の色チャネル値の色を表す前記データ部を有する符号化線形行列イメージを、該イメージデータチャネルに送信することにより生成される、変換された線形行列イメージを受取ったコンピュータは、
該変換された線形行列イメージ中の変換された検知キー部分から、該変換された線形行列イメージを他のチャネルデータから分離するための前記所定の検知キーを認識し、
前記イメージデータチャネルのイメージひずみ特性を定義するため、前記変換された線形行列イメージ中の変換されたチューニングパターン部分と前記所定のチューニングパターンとを比較し、
対応する前記少なくとも１つの符号化パラメータを回復するよう、前記イメージひずみ特性に従って、前記変換された線形行列イメージ中の変換された符号化パラメータのイメージを処理し、
該２進データを回復するよう、前記少なくとも１つの符号化パラメータに従って、前記変換された線形行列イメージ中の変換されたデータ部であって、第２の色チャネル値の色を表す該データ部を処理し、
前記符号化パラメータは、前記２進データに対応する色チャネル値の範囲を含み、該範囲は、前記第１の色チャネル値および前記第２の色チャネル値を含むよう、前記イメージデータチャネルのひずみ特性に基づいて設定されている、
符号化線形行列イメージのデータ構造。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
例えばインクジェット及び他のタイプのプリンタ等、文字及びイメージのハードコピーを表示又は生成可能な電子装置は一般的に、装置が文字及びイメージを表す電子データを受信することができるデータチャネルを含んでいる。このデータチャネルで受信されたデータは一般的に、表示又は印刷されるべき情報であると仮定される。
【０００２】
【従来の技術】
しかしながらある状況においては、表示又は印刷以外の目的のために２進データを受信することが望ましい。この種の多くの電子装置は、装置の印刷及び表示機能を行うためにプロセッサにより実行されるファームウェアを記憶するメモリを含んでいる。そのことが望ましいものとなるのは次の場合である。それは、新たなファームウェアの命令を表す２進データが、既存のデータチャネルを介して装置に送られることが可能で、全ての又はいくつかの古いファームウェア命令をおきかえるためにメモリにプログラムされることが可能な場合、メモリ自身が電子装置から物理的に除去されおきかえられるか又は装置が新たなファームウェア命令を受信する別のチャネルを提供することで、高コストで複雑になる必要でない場合である。既存のデータチャネルで、文字でなくイメージでない他のタイプの２進データを送信することもまた都合がよい。例えば、将来定期的に表示又は印刷するための、電子装置に記憶されるべき広告又はクーポンを送信することができる。
【０００３】
また多くのシステムにおいて、文字及びイメージが電子装置へと送信されるデータチャネルは、送信処理の不可欠部分としての所定の方法でイメージをひずませる又は変換する。例えばウェブTVユニット等のコンピュータ又はセットトップボックスにおけるウェブブラウザ及びプリンタドライバは、文字及びイメージをプリンタに送信するときにかかる変換を実行する。通常こうしたひずみ又は変換は、知覚的には表示又は印刷された文字及びイメージの質を落とさず、迅速化したり表示又は印刷性能を改善したりする。
【０００４】
【発明が解決しようとする課題】
しかしながらファームウェア命令などの２進データが代わりに印刷データチャネルで送信される場合、こうした変換はまず間違いなくデータを破壊する。それは、送信されたファームウェアにおける１バイトでもの変化は、適切に動作すること又は動作自体を妨げうるからである。
【０００５】
【課題を解決するための手段】
好ましい実施形態において、本発明は２進データをイメージデータチャネルで送信する方法を提供する。２進データは符号化線形行列イメージへと符号化され、符号化線形行列イメージはイメージデータチャネルを送信される。受信された線形行列イメージは、２進データを回復すべく復号される。
【０００６】
本発明の他の実施形態は、イメージデータチャネルを送信する２進データを符号化する方法を含んでいる。この方法は、２進データを符号化行列イメージへと符号化するのに適切な符号化パラメータを定義する。符号化された線形行列イメージをイメージ変換チャネルで送信することにより生成される変換行列イメージが符号化線形行列イメージへと再構築されるよう、属性が定義される。そして２進データが符号化パラメータに従って符号化線形行列イメージに符号化される。
【０００７】
本発明の他の実施形態は、符号化行列イメージで符号化された２進データを受信した行列イメージから回復する方法を含む。この方法は、受信した線形行列イメージのヘッダ部を解析してイメージデータチャネルのひずみ特性を決定する。ヘッダ部は、２進データを符号化するのに用いられた符号化パラメータを回復するために、イメージひずみ特性に従って復号される。受信された線形行列イメージは、回復された２進データを形成するために符号化パラメータに従って、受信された線形行列イメージのデータ部が復号される。
【０００８】
【発明の実施の形態】
図を参照すると、本発明に係るイメージデータチャネルで２進データを送受信するために構築されたシステム及び方法が示されている。２進データは、まず線形行列イメージへと符号化され、そして符号化された線形行列イメージはイメージデータチャネルで送信される。受信された後、受信線形行列イメージは２進データを回復すべく復号される。
【０００９】
図１を参照して最もよく理解できるように、システム１０の好ましい実施形態は、２進データ２を符号化線形行列イメージ４に符号化する線形行列符号化サブシステム２０を含む。２進データ２は、符号化線形行列イメージ４の符号化データ部４ｂに符号化される。行列イメージ４はまた、行列イメージ４を識別するイメージパターンを有し、符号化データ部４ｂを復号するためのパラメータを有するヘッダ部４ａを含んでいる。符号化線形行列イメージ４は、送信用イメージデータチャネル４０へ経路５を介して通信され、受信された線形行列イメージ６は、線形行列復号サブシステム６０へ経路７を介して通信される。後に詳細に説明されるように、受信された線形行列イメージ６は、符号化線形行列イメージ４と同じであるが、より一般的にはイメージデータチャネル４０の作用によりある方法で変換（transform）され又はひずま（distort）される。線形行列復号サブシステム６０は、受信したヘッダ部６ａのイメージパターンに基づいて、受信した線形行列イメージ６を識別し、回復された２進データ８を形成すべく受信されたヘッダ部６ａ中のパラメータを用いて受信されたデータ部６ｂを復号する。
【００１０】
本発明をさらに詳細に説明するにあたり、本発明を具現化するコンピュータシステム１００を、図２を参照して考えるのが有用である。コンピュータシステム１００は、ホスト装置１２０（クライアント装置１２０とも呼ばれる）にサーバ−ホストチャネル１１２を介して通信可能に結合されるサーバ装置１１０を含んでいる。ホスト装置１２０はさらに、ホスト−周辺機器チャネル１２２を介して周辺装置１３０に通信可能に結合される。周辺装置１３０の好ましい実施形態はプリンタである。かかる実施形態において、ホスト−プリンタチャネル１２２は、印刷すべき文字及びイメージをプリンタへと送信できる印刷チャネルである。好ましい実施形態のサーバ１１０は、要求されたウェブページをホスト１２０に出力する。後に説明するように、所定のウェブページは２進データ２又は符号化線形行列イメージ４にリンクされる。ホスト１２０の好ましい実施形態は、イメージデータチャネルの変換を含む。後に説明するように、このデータチャネルは一般的にウェブページの文字及びイメージをレンダリングするウェブブラウザを有しており、符号化線形行列イメージ４を含み、プリンタ制御言語（PCL）で表されたウェブページの文字及びイメージを形成するプリンタドライバを含み、変換された線形行列イメージ６を含む。周辺機器１３０の好ましい実施形態は、線形復号サブシステム６０を含む。線形復号サブシステム６０は、変換された線形行列イメージ６を検知し、イメージデータチャネル４０によりなされた変換を補償し、回復された２進データ８を回復する。
【００１１】
ある好ましい実施形態の２進データには、周辺機器１３０の機能を実行するために周辺機器１３０中のプロセッサ（図示せず）により実行される、メモリ装置１３２に記憶されたコンピュータ読み出し可能な命令についてのアップグレードがある。２進データ２の他の実施形態は、メモリ１３２中に定期的又は将来的な使用のために記憶されるべき広告又はディスカウントクーポンである。例えばプリンタの場合、２進データは、インク購入に対し与えられるときのパーセント単位のディスカウントを提供するクーポンのための情報を表し、そして２００ページ印刷される毎にクーポンの写しを印刷する旨のプリンタへの命令を表す。
【００１２】
コンピュータシステム１００の好ましい実施形態において、メモリ１３２は、サーバ１１０のメモリ１１４、ホスト１２０のメモリ１２４と共に、本発明のシステム１００のモジュール及び方法のステップを具現化するために１つ又は複数のプロセッサ（図示せず）により実行されるコンピュータ読み出し可能な命令を含む。
【００１３】
ここでサーバ１１０の好ましい実施形態を詳細に検討すると、図３を参照すると、サーバ１１０ａは、追加で２進データを暗号化するデータ暗号化部２２を含むことができる。２進データを暗号化することは、プリンタのための独占ファームウェアアルゴリズム又は有価クーポンなどのデータを保護することができる。暗号化することは、承認されたものの代わりに未認証のクーポン又は広告を送信するなど２進データ送信方法の未認証での使用を防ぐ。他の実施形態において、暗号化はデータの冗長性を備え、エラー検知及び修正（EDC）がプリンタによってなされ、回復された２進データ８が元の２進データ２と同一になることを確保する。暗号化データ２４は、暗号化キーを含み、線形行列符号化サブシステム２０の線形行列符号化モジュール２６に出力される。しかしながら、暗号化が実行されない場合、２進データ２は、線形行列符号化サブシステム２０の線形行列符号化モジュール２６に代わりに出力される。
【００１４】
線形行列符号化サブシステム２０のひずみ補償モジュール２８は、符号化パラメータ３０の組を線形行列符号化モジュール２６に出力する。符号化パラメータ３０は、変換行列イメージ６が線形行列復号サブシステム６０により符号化線形行列イメージ４に再構築されるよう、２進データ２の符号化に最適化される。符号化パラメータ３０は、復号サブシステム６０によるこれらの符号化パラメータ３０を用いるのと同様に、後に詳細に説明される。ある実施形態においては、イメージデータチャネル４０のイメージひずみ特性３２は、イメージデータチャネル４０によりひずみ補償部２８に出力され、所定チャネル４０にチューニング（tuning）する符号化パラメータ３０を決定すべく解析される。他の実施形態では、イメージひずみ特性３２がひずみ補償部２８に伝わっていない場合、ひずみ補償部２８は、幅広い種類のイメージデータチャネル４０により生成された変換行列イメージ６から２進データ８を再構築できるようにする、最悪の場合の符号化パラメータ３０を生成する。
【００１５】
線形行列符号化モジュール２６は、２進データ２を符号化パラメータ３０に従って符号化線形行列イメージ４に符号化する。好ましくは符号化された線形行列イメージ４は、サーバ１１０ａのメモリ１１４に維持されるイメージファイルとして記憶される。イメージファイルは業界のものに知られている様々なファイルフォーマットとすることができ、JPG、GIF、TIF、及びBMPフォーマットを含み、これに限定しない。
【００１６】
ウェブページ生成部３４は、符号化線形行列イメージ４にリンクする又は関連するウェブページ３６についてのコードを生成する。ウェブページ３６についてのコードは、HTML、XML等とすることができる。リンクは好ましくは、ウェブページ３６のコード中で符号化線形行列イメージ４を含むファイルのためのファイル経路を特定することにより具現化される。例えばHTMLにおいて、“IMG SRC”というキーワードは、ファイル経路を特定するのに用いられることができる。ウェブページ生成部３４は、ホスト１２０のユーザが閲覧する周辺機器１３０の「ファームウェアアップグレード」ウェブページ等の静的ウェブページ３６を構築する手動処理とすることができる。代わりに、ウェブページ生成部３４は、周辺機器がそのファームウェアの現行のバージョンで動作するかどうかを決定するようホスト１２０がプリンタに照会することにより特定の周辺機器１３０へと加工されたウェブページ３６を動的につくるモジュールとすることができる。
【００１７】
ホスト１２０の第１実施形態をさらに詳細に検討すると、図４を参照してよく理解されるように、符号化線形行列イメージ４及びウェブページ３６は、サーバ１１０ａに結合されたホスト１２０ａのイメージデータチャネル４０のウェブページレンダリング（描画）部４２に出力される。ウェブページレンダリング部４２は一般的に、ネットスケープナビゲータ又はマイクロソフトインターネットエクスプローラなどのウェブブラウザの一部であり、周辺機器１３０に送信するのにふさわしいウェブページのイメージを形成するためにウェブページコードを処理する。ある好ましい実施形態では、周辺機器１３０はプリンタであり、ウェブページレンダリング部４２は一般的に、ホスト１２０のオペレータが「印刷」処理を選択することにより起動する。
【００１８】
符号化線形行列イメージ４等の、ウェブページ３６に関連するイメージファイルをレンダリングするのにおいて、レンダリング部４２は、イメージ４の様々な変換を実行することができる。イメージ４はX又はY方向に拡大縮小することができる。例えば、イメージ４中の１００×１００ピクセルブロックは、プリンタでは５０×７５ピクセルブロックとしてレンダリングすることができる。イメージ４にある所定の色は、プリンタの若干異なる色にマップすることができるが、レンダリングするのに必要な色の総数を減らすか又はプリンタの色生成能力にマッチするためである。ホスト１２０とプリンタとの間のデータ転送を高速化するために、特にウェブTVコンソールなどの遅いホストについて、イメージ４は、他のピクセル等のイメージ４の一部のみをプリンタに送信するようダウンサンプル（downsample）されることができる。代わりにイメージ４は、プリンタへの送信の前に損失の多い方法で圧縮することができる。イメージ４が１ページに収まらない程大きい場合、クリップするか、又はX、Y方向にページ付けすることにより複数ページイメージに変換することができる。各ページの全ての端に余白を加えることができる。こうした変換の異なる１つは、異なるブラウザによりすることができるが、他のブラウザは全く変換を実行しない。
【００１９】
レンダリング部４２により実行された上述の変換の結果、順にプリンタドライバ４６に出力される、部分的に変換された線形行列イメージ４４を含んだレンダリング済ウェブページを形成する。プリンタドライバ４６は、操作者が「印刷」処理を選択した結果起動するが、さらなる変換を実行することができる。プリンタドライバ４６はイメージを平滑化してデータ転送をさらに高速化することができるが、一般的にその結果変換行列イメージ６の異なる色の数をさらに減らすことになる。プリンタドライバ４６は、変換行列イメージ６を帯（swath）に分割し、各帯を圧縮して業界のものに知られるプリンタ制御言語（PCL）に従ったカプセル化された変換行列イメージ４８を形成する。
【００２０】
ここでプリンタ１３０の好ましい実施形態についてさらに詳細に考えると、図５を参照することで最適に理解されるが、カプセル化された変換行列イメージ４８は、ホスト−周辺機器チャネル１２２を介して送信され、プリンタ１３０の線形行列復号サブシステム６０により受信される。符号化線形行列イメージ検知モジュール６２は、受信データからPCLカプセルを除去し、データが変換された線形行列イメージ６を表す場合に決定すべきカプセル化されたデータをチェックする。この決定は、後により詳細に説明されるが、変換行列イメージ６のヘッダ部中の特定パターンを探すことにより好ましくは実行される。受信データが変換された線形行列イメージ６の一部ではない場合、検知部６２はプリンタ１３０ａで印刷するために通常印刷経路プロセッサ６３にデータを送信する。しかしながら、検知部６２が受信データを変換された線形行列イメージ６として識別する場合、そして行列イメージ６がプリンタ１３０ａにより消費可能な２進データを表す場合、後でも説明されるように、変換された線形行列イメージ６は復号サブシステム６０の後述の処理モジュール６４，６６，６８に送られる。復号チューニングモジュール６４は、変換された線形行列イメージ６のヘッダ部６ａを解析して変換イメージデータチャネル４０のイメージひずみ特性３２を決定する。これまでイメージデータチャネル４０について説明したように、イメージひずみ特性３２は、次元（X,Y）スケーリング、カラーマッピング、ダウンサンプリング、クリッピング、ページ付け、余白付け、平滑化、圧縮、及びプリンタ制御言語によりカプセル化含むことができる。イメージひずみ特性３２の決定は、後にさらに詳細に説明される。
【００２１】
符号化パラメータ再構築モジュール６６は、２進データ２を符号化データ部４ｂに符号化するのに用いられていて、それから受信変換データ部６ｂを符号化するのに用いることができる符号化パラメータ３０を回復するために、イメージひずみ特性３２に従ってヘッダ部６ａの一部を復号する。符号化パラメータ３０の回復は、後にさらに詳細に説明される。
【００２２】
データ復号モジュール６８は、２進データを回復するために、符号化パラメータ３０に従って受信変換データセクション６ｂを復号する。ある場合において２進データは暗号化することができ、この場合においてデータ復号部６８は、回復２進データ８を形成するために暗号化モジュール７０により暗号化される２進データを形成する。他の場合において、２進データは暗号化されず、よってデータ復号部６８は、直接回復２進データを形成する。復号処理は、後にさらに詳細に説明される。データ消費部７２は、回復された２進データ８を利用する。回復された２進データ８のある好ましい利用方法は、プリンタ１３０のファームウェアアップグレードとしてである。この場合、データ消費部７２はプリンタ１３０にファームウェアアップグレードをインストールする。回復された２進データ８の他の好ましい利用方法は、広告又はディスカウントクーポンとしてである。この場合、データ消費部７２は、広告又はクーポンを記憶し、広告又はクーポンをいつ印刷するのかを決定するためにプリンタ１３０の使用、処理状況を追跡する。
【００２３】
サーバ１１０及びホスト１２０の代わりの実施形態をさらに詳細に検討すると、図６及び図７を各々参照すると、サーバ１１０ｂはホスト１２０ｂに結合される。代わりの実施形態において、線形行列符号化サブシステム２０はサーバ１１０ではなくホスト１２０におかれ、好ましくはJAVA、JAVAScript、その他等の言語でのブラウザで実行可能な命令の組として具現化される。その結果、サーバ１１０ｂは、暗号化データ及びキー２４をホスト１２０ｂに出力する（補足すると、サーバ１１０ｂが追加データ暗号部２２を含まない場合、２進データ２は暗号化データ及びキー２４に代わりにホスト１２０ｂに出力される）。それからホスト１２０ｂは、データから符号化線形行列イメージ４を形成する。サーバ１１０ｂ及びサーバ１２０ｂの他のモジュール及びデータは、概してサーバ１１０ａ及びサーバ１２０ａのそれを同等である。ホスト１２０ｂはプリンタ１３０に、結合されカプセル化された変換行列イメージ４８を送信する。
【００２４】
好ましい実施形態では、モジュール２２，２６，２８，３４，４２，４６，６２，６３，６４，６６，６８，７０，７２は、後に説明される図１０から図１３のフローチャートの対応部分を実行するコンピュータ読み出し可能なソフトウェア又はファームウェア命令として具現化される。これらのステップは、メモリ１１４，１２４，１３２等のコンピュータ読み出し可能な媒体で適切に区分されている。各メモリ１１４，１２４，１３２は電子、磁気、光、又はコンピュータ関連システム又は方法に用いられるか接続されるかするためのコンピュータプログラムを含む又は記憶する他の物理的装置又は手段とすることができる。コンピュータ読み出し可能な媒体のより詳細な例の不完全なリストは、１つ又は複数の導線を有する電気接続（電子）、携帯可能なコンピュータディスク（磁気）、ランダムアクセスメモリ（RAM）（電子）、読み出し専用メモリ（ROM）（電子）、消去可能プログラム可能な読み出し専用メモリ（EPROM,EEPROM,又はフラッシュメモリ）（電子）、光ファイバ（光）、及び携帯可能なコンパクトディスクの読み出し専用メモリ（CD-ROM）（光）を含む。補足すると、コンピュータ読み出し可能なメモリは、例えば紙又は他の媒体を光学的にスキャンすることを介してプログラムが電気的にとらえられ、コンパイルされ、解釈され、又は必要であれば適切な方法で処理され、そしてコンピュータメモリに記憶されるよう、プログラムが印刷される紙又は他の適切な媒体ともすることができる。
【００２５】
他の実施形態では、モジュール２２，２６，２８，３４，４２，４６，６２，６３，６４，６６，６８，７０，７２は、後述の技術のいずれか１つ又は組み合わせによるハードウェアで具現化することができ、それは、業界のものに知られたものである。それは、データ信号に基づく論理関数を具現化する論理ゲートを有する離散論理回路、適切な組み合わせ論理ゲートを有する特定用途向け集積回路（ASIC）、プログラム可能なゲートアレイ（PGA）、フィールドプログラマブルゲートアレイ（FPGA）、等である。
【００２６】
ここで符号化線形行列イメージ４をさらに詳細に検討すると、図８で説明される模範的な行列イメージ４を参照すると、行列イメージ４は、ヘッダ部４ａ及びデータ部４ｂを含む。データ部４ｂは２進データ２の符号化表現を形成する複数のカラー化されたデータマーク領域８０を有する。データマーク領域８０の各々は、所定サイズ及び所定色の組の１つを有している。各領域８０は好ましくは矩形であり、水平X方向及び垂直Y方向の多くのピクセルをもち、全ての矩形領域８０は好ましくは同じサイズである。データ部４ｂの各水平方向の列における領域８０の数は、符号化された行列イメージ４の安全イメージ幅９４により決定される。
【００２７】
各データマーク領域８０は、所定量の２進データ２を表す。各領域８０が表す２進データ２の量は、好ましくは領域８０について用いられる色選択の組における離散の色の数により決定される。例えば色選択セットに１８の個々の色がある場合、２進データ２の４ビット（２４＝１６）は１８色のうちの１６色を用いて符号化することができる。色選択セットでより多くの色が利用可能になればなるほど、２進データ２でより多くのビット数が単一領域８０で符号化され、そして所定量の２進データ２を符号化するのに必要な領域８０がより少なくなる。さらに、領域８０で表される２進データ２の数値は、領域８０の所定色に対応する。２進データ２がどのように符号化されていろデータマーク領域８０を形成するかについては、後にさらに詳細に説明する。
【００２８】
各領域８０のサイズ、各領域が仮定することができる可能な色選択セットは、符号化行列イメージ４が送信されるべきイメージデータチャネル４０のイメージひずみ特性３２に基づいて決定される。一般的にチャネル４０は、空間的なひずみ（例えば、領域８０のX、Y方向のサイズ変更）や、色のひずみ（例えば、領域８０の全て又は一部の色の変更）を生み出している。こうしたひずみを補償するために、領域８０のサイズ及び色選択セットが選択され、変換された線形行列イメージ６の変換されたデータ部６ｂが高い程度の精度で回復された２進データ８に復号されることができる。所定の程度の精度について、より大きなひずみを生むチャネル４０のデータ部４ｂは、より大きいサイズ、より少ない色選択、又はその両方となる領域８０を有する。逆に、ひずみが少ないチャネル４０のデータ部４ｂは、より小さいサイズ、より多くの色選択、又はその両方となる領域８０を有する。より高い程度の精度について、データ部４ｂはより大きいサイズ、より少ない色選択、又はその両方となる領域８０を有する。
【００２９】
意図されたチャネル４０のイメージひずみ特性３２が具体的に決定できる一方で、チャネル４０の最適データ部４ｂを構築することができる。意図されたチャネル４０のイメージひずみ特性３２が具体的に決定できない場合、様々な異なるチャネル４０について復号できる最悪の場合のデータ部４ｂが構築される。
【００３０】
ここで符号化線形行列イメージ４のヘッダ部４ａを検討すると、ヘッダ部４ａは好ましくは複数の色ヘッダマーク領域を含んでいる。領域８２の異なるサブセットは異なる用途を提供する。あるサブセットは、イメージデータチャネル４０で送信されるチャネルデータのストリーム内で変換された線形行列イメージ６を認識するため、例えば印刷されるべきデータ等の他のチャネルデータからの変換された線形行列イメージ６を分離するために、検知キー８４を形成する。検知キー８４は、所定パターンを有し、線形行列復号サブシステム６０に伝えられるものであり、容易に検知されると共に他のチャネルデータではあまり起こらない。変換された行列イメージ６が認識されることが確保されるために、検知キー８４のパターンは好ましくは少なくとも一度繰り返され、そして好ましくは大きな領域サイズ及び少ない色選択を有する色セットを用いて符号化される。
【００３１】
色ヘッダマーク領域８２の他のサブセットは、チャネル４０のイメージひずみ特性３２を定義するために受信線形行列イメージ６の変換チューニングパターンに比べられる所定の知られたチューニングパターン８６を形成する。チューニングパターン８６は好ましくは異なるサイズ及び色のヘッダマーキング領域８２の組を有する。変換チューニングパターンにおける領域のサイズ及び色を既知のチューニングパターン８６におけるものと比較することにより、イメージひずみ特性３２を決定することができる。イメージひずみ特性３２は、続いてヘッダ部６ａの符号化パラメータ及び変換行列イメージ６のデータ部６ｂの２進データを復号するのに用いられる。
【００３２】
カラーヘッダマーキング領域８２の追加サブセットは、２進データ２をデータ部分４ｂに符号化するのに用いられる符号化パラメータ３０の符号化バージョンを表す符号化パラメータイメージを組を形成する。一度符号化パラメータ３０が変換ヘッダ部６ａから復号されると、それらは変換データ部６ｂを復号して２進データを回復するのに用いられることができる。符号化パラメータ３０が変換行列イメージ６から正確に再構築されることを確保するために、符号化パラメータイメージ８８の組は好ましくは大きい領域サイズと少ない色を持つ色セットを用いて符号化される。
【００３３】
うまく検知を行い変換ヘッダセクション６ａの内容を復号することを確保する他の方法として、符号化線形行列イメージ４のヘッダ４ａにおける白空間の領域は、検知キー８４、所定チューニングパターン８６、及び符号化パラメータイメージ８８を分離している。
【００３４】
ある実施形態においては、ヘッダ部４ａは、人が読むことができる命令文字９０も含む。文字９０は、符号化行列イメージ４又は変換行列イメージ６を見るユーザに提供できるようにしている。例えばホスト１２０上のウェブブラウザを持つ符号化行列イメージ４につながるウェブページ３６を見るとき、文字９０は、このファームウェアをアップグレードするためにプリンタ１３０へのウェブページを印刷するようユーザに伝えることができる。
【００３５】
ヘッダ部４ａのある実施形態は、周辺機器キー９２を形成する着色ヘッダマーキング領域８２のサブセットも含む。周辺機器キー９２は、符号化行列４に符号化されたデータが周辺機器１３０に適切であるかどうかを示すパターンを有している。周辺機器キー９２が周辺機器１３０に合ってない場合、周辺機器１３０はデータを無視する。
【００３６】
ここで符号化パラメータ３０をさらに詳細に検討すると、符号化パラメータ３０の好ましい組は、表１に示されている。ここで説明するように、符号化パラメータ３０の値は好ましくはイメージデータチャネル４０のイメージひずみ特性３２から決定される。
【００３７】
【表１】
0003860102.tif 000002
【００３８】
符号化データ部４ｂの各矩形色データマーク領域８０のサイズは、MinX×MinYピクセルである。色選択セットの離散色の数は次の式に従って決定される（余りは切り捨てられる）。
【００３９】
【数１】
組の色の数＝（MaxColorVal-MinColorVal）／MinColorChg
【００４０】
補足すると、符号化パラメータ３０の代わりの実施形態は、色チャネルの各々についてMin-Color-Val、Max-Color-Val、及びMin-Color-Chgパラメータを別々に含むことができる。
【００４１】
領域８０は、好ましくは各水平方向の列に左から右に配列されている。先の１つの下に位置する新たな水平方向の列は、列における領域８０の最大数に達するとき開始する。単一の水平方向の列で印刷することができる領域８０の最大数は、次の式によって決定される（余りは切り捨てられる）。
【００４２】
【数２】
列中の領域の数＝SafeWidth／MinX
【００４３】
データ部４ｂのブロック９６で配列されることができる領域８０の水平方向の列の最大数は、次の式によって決定される。
【００４４】
【数３】
ブロック中の列の数＝SafeHeight／MinY
【００４５】
ブロック９６は、Y方向のクリッピングが避けられることを確保する組み込みページ付け白空間９７によりデータ部４ｂで互いから分離される。
【００４６】
ここで２進データ２を符号化して色データマーキング領域８０を検討すると、図８の模範的な行列イメージ４、図９の模範的な符号化の例、及び符号化パラメータ３０についての表２の一般的な値を参照して、“12345678”の１６進データ値がデータ領域８０の組に符号化されることを仮定する。各データ領域８０は、水平X方向に３０ピクセル、垂直Y方向に３０ピクセルの最小の検知可能なサイズを有することになっている。
【００４７】
【表２】
0003860102.tif 000003
【００４８】
色選択セットの離散色の数は、（255-10）/7＝32.8で、切り捨てられて３２である。３２の離散色により領域８０内で表すことができる２進データのビット数は、log232で計算され、（切り捨て後）５ビットとなる。従って、１６進データの２進表現１４２はデータストリームとして扱われ、６つの５ビットブロック１４４に分割される。５ビットブロックは各々データ領域８０の符号化される（この例では２進データ１４２の２つの残ったビット１４６は図示しない更なる領域の一部として符号化される）。
【００４９】
各５ビットブロック１４４のデータ値は、次の式に従って色チャネル値１４８の組の対応する１つへと変換される。
【００５０】
【数４】
色チャネル値＝（データ値＊MinColorChg）＋MinColorVal
【００５１】
この例でのNumChannelsは、RGB色符号化手法を表す３であるので、３つの色チャネル値は相互にグループ化され各領域８０を定義する。領域８０ａは（24,66,192）のRGB色値を有し、領域８０ｂは（45,94,220）のRGB色値を有する。
【００５２】
模範的な領域８０ａ、８０ｂをイメージデータチャネル４０を介して対応する受信色データマーク領域１５０ａ、１５０ｂを形成すべく送信することにより生成される受信データ部６ｂの復号について、ここでさらに検討する。説明のため、各領域がX方向に３５ピクセル、Y方向に２５ピクセルを占めるよう、イメージデータチャネル４０のひずみ特性３２が領域８０ａ、８０ｂを変換することを仮定する。さらに、色マッピング、ダウンサンプリング、平滑化、圧縮などの他の変換の結果、領域１５０ａ、１５０ｂが異なる色による多くの副領域を有することになる。ここで説明するように、イメージデータチャネル４０により実行される変換は、チャネル４０を送信中に既知のチューニングパターン８６になされた変換の分析を介して決定される。
【００５３】
領域１５０ａ、１５０ｂで表現された回復色チャネル値１５２の各組の回復色チャネル値を決定するために、好ましい実施形態では、各領域１５０ａ、１５０ｂ内の各ピクセルのRGB色値は、相互に平均化される。他の実施形態は、回復色チャネル値を計算すべく、業界のものに知られた異なるアルゴリズムを用いることができる。平均化する結果、模範領域１５０ａについて（22,68,189）の平均RGB色値、模範領域１５０ｂについて（43,96,217）の平均RGB色値となる。
【００５４】
回復したチャネル値１５２は、次の式に従って（結果は四捨五入して最も近い整数にする）回復２進データ１５４の対応５ビットブロックに変換される。
【００５５】
【数５】
ブロック値＝（回復チャネル値−MinColorVal）／MinColorChg
【００５６】
本発明の他の実施形態は、図１０を参照して理解されるように、イメージデータチャネル４０で送信するための符号化２進データ２についての方法２００である。２０２において、線形行列イメージ４に符号化すべき２進データは、イメージデータチャネル４０で送信するために出力される。２０４において、ある実施形態では冗長情報が２進データ２に加えられる。冗長データの用途は、エラー修正及び検知がイメージデータチャネル４０での送信後に受信データ部６ｂで実行されるようにすることであり、そして冗長情報は、従来のエラー修正及び検知アルゴリズムに従って提供される。２０６において２進データは、従来の暗号化アルゴリズムに従ってセキュリティ用途のために暗号化される。２０８において、（冗長データの追加２０４や暗号化２０６の後に）２進データ２を符号化するための符号化パラメータ３０は、送信により生み出された変換行列イメージ６が符号化線形行列４へと再構築できるように定義される。２１０において、（さらに選択的な追加２０４や暗号化２０６の後に）２進データ２は、符号化パラメータ３０に従って線形行列イメージ４へと符号化される。２１２において、符号化線形行列イメージ４は電気的にイメージファイルとして記憶される。２１４において、イメージファイルはウェブページ３６に関連する。そして方法２００が終了する。
【００５７】
ここで図１１を参照して符号化パラメータ３０の定義２０８をさらに詳細に検討すると、２２２において、イメージデータチャネル４０のイメージひずみ特性３２が識別される。２２４において、２進データ２の集合を表す線形行列イメージ４の各領域８０について、サイズ及び色の組を示す符号化パラメータ３０が、イメージひずみ特性３２から決定される。そして定義２０８が終了する。
【００５８】
ここで２進データの符号化２１０を、図１２を参照してさらに詳細に説明すると、２３２において、符号化線形行列イメージ４のヘッダ部４ａにおける検知キー８４を形成する色マーキングの領域８２による第１サブセットが提供され、検知キー８４が様々なイメージデータチャネル４０での送信後に検知可能となるよう、領域の第１サブセットについてのサイズ及び色の組が選択される。２３４において、ヘッダ部４ａにおけるチューニングパターン８６を形成する色マーキングの領域８２による第２サブセットが提供され、領域の第２サブセットについてのサイズ及び色の組はイメージデータチャネル４０のイメージひずみ特性３２を定義するために使用可能となる。２３６において、ヘッダ部４ａの第３サブセットは、１つ又は複数の符号化パラメータ３０を、色マーキングの領域８２の符号化パラメータイメージ８８サブセットへと符号化することにより形成され、符号化パラメータ３０が様々なイメージデータチャネル４０で送信後に回復可能となるように、領域についてのサイズ及び色の組が選択される。２３８において、ヘッダ部４ａの第４サブセットは、周辺機器キー９２を色マーキングの領域８２の第４サブセットに符号化することにより形成され、周辺機器キー９２は２進データ２が意図される周辺機器装置１３０の所定の組を示している。２４０において、ヘッダ部４ａの第５サブセットは、人が読むことができる英数字文字９０の領域に文字情報を符号化することによって形成される。２４２において、符号化線形行列イメージ４のデータ部４ｂは、２進データ２（冗長データの追加２０４や暗号化２０６）を符号化パラメータ３０に従って色マーキングの領域８０に符号化することにより形成される。符号化パラメータ３０は、データ部４ｂの各領域８０のサイズ及び色を決定する。そして符号化２１０は終了する。
【００５９】
本発明の更なる実施形態は、図１３を参照して理解されるように、受信線形行列イメージ６としてイメージデータチャネルで受信された線形行列イメージ４に符号化された２進データ２を回復する方法３００である。３０２において、受信行列イメージ６は、イメージデータチャネル４０から受信される。３０４において、受信線形行列イメージ６は、受信行列イメージ６のヘッダ部６ａにおける検知キー８４を認識することにより検知される。３０６において、受信行列イメージ６は、イメージデータチャネル４０から受信された他のデータから分離されている。３０８において、ヘッダ部６ａは、ヘッダ部６ａのチューニングパターン部を既知のチューニングパターンと比較することにより決定するために解析される。３１０において、ヘッダ部６ａは符号化パラメータ３０を回復するためにイメージひずみ特性３２に従って復号される。３１２において、受信行列イメージ６のデータ部６ｂは、回復された２進データ８を形成するために符号化パラメータ３０に従って復号される。符号化線形行列イメージ４が、イメージデータチャネル４０での送信に先立って暗号化されている場合、３１４において、回復された２進データ８は符号化パラメータ３０の１つとして含められる暗号化キーを用いて暗号解除される。３１６において、回復２進データ２が利用される。そして方法３００が終了する。
【００６０】
先の記述より、本発明により提供されるシステム及び方法は、当該技術において重要な進歩を表していることは理解されるであろう。本発明についていくつかの特定の実施形態が記述され説明されているが、本発明は記述され説明されている特定の方法、形式、又は配置に限定されるものではない。本発明は特許請求の範囲のみによって限定される。
【図面の簡単な説明】
【図１】イメージデータチャネルで２進データを送受信する本発明に従ったシステムの実施形態のブロック概略図である。
【図２】サーバ、ホスト、及び周辺機器による図１のシステムの区分けを示した概略図である。
【図３】図２のシステムで用いられるサーバの第１実施形態の概略図である。
【図４】図２のシステムで用いられるホストの第１実施形態の概略図である。
【図５】図２のシステムで用いられるプリンタの概略図である。
【図６】図２のシステムで用いられるサーバの第２実施形態の概略図である。
【図７】図２のシステムで用いられるホストの第２実施形態の概略図である。
【図８】図１のシステムで用いられる符号化線形行列イメージの一実施形態の概略図である。
【図９】図１のシステムの模範的なデータを用いた符号化及び複合化処理、及びイメージ変換の概略図である。
【図１０】本発明に係る線形行列を符号化する実施形態の最上位フローチャートである。
【図１１】図１０の符号化パラメータを定義するより詳細なフローチャートである。
【図１２】図１０の線形行列イメージへと２進データを符号化するより詳細なフローチャートである。
【図１３】本発明に係る受信された線形行列から２進データを回復する実施形態の最上位フローチャートである。
【符号の説明】
２    ２進データ
４    符号化線形行列イメージ
６    変換された符号化線形行列イメージ
２６    線形行列符号化部
２８    ひずみ補償部
３０    符号化パラメータ
３２    イメージひずみ特性
【図１】
0003860102.tif 000004
【図２】
0003860102.tif 000005
【図３】
0003860102.tif 000006
【図４】
0003860102.tif 000007
【図５】
0003860102.tif 000008
【図６】
0003860102.tif 000009
【図７】
0003860102.tif 000010
【図８】
0003860102.tif 000011
【図９】
0003860102.tif 000012
【図１０】
0003860102.tif 000013
【図１１】
0003860102.tif 000014
【図１２】
0003860102.tif 000015
【図１３】
0003860102.tif 000016