(57)【要約】【課題】画像データを伝送する画像伝送装置で、受信側における改ざん検知の精度を向上させる。【解決手段】分割手段１が所定の単位の画像データを複数に分割し、第１のＭＡＣ値取得手段１２ａ〜１２ｃが分割手段により得られた複数の分割画像データのうちの１個以外についてそれぞれ分割画像データのＭＡＣ値を取得し、第２のＭＡＣ値取得手段１２ｄが分割手段により得られた複数の分割画像データのうちの前記１個について分割画像データと第１のＭＡＣ値取得手段により取得されたＭＡＣ値から成るデータのＭＡＣ値を取得し、伝送手段２が複数の分割画像データと複数のＭＡＣ値を伝送する。【選択図】  図１
2010114678.tif 000002
【特許請求の範囲】
【請求項１】
画像データを伝送する画像伝送装置において、
所定の単位の画像データを複数に分割する分割手段と、
前記分割手段により得られた複数の分割画像データのうちの１個以外について、それぞれ、分割画像データのＭＡＣ値を取得する第１のＭＡＣ値取得手段と、
前記分割手段により得られた複数の分割画像データのうちの前記１個について、分割画像データと前記第１のＭＡＣ値取得手段により取得されたＭＡＣ値から成るデータのＭＡＣ値を取得する第２のＭＡＣ値取得手段と、
前記分割手段により得られた複数の分割画像データと前記第１のＭＡＣ値取得手段により取得されたＭＡＣ値と前記第２のＭＡＣ値取得手段により取得されたＭＡＣ値を伝送する伝送手段と、
を備えたことを特徴とする画像伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を伝送する画像伝送装置に関し、特に、例えば、１画面を複数の領域に分割し、画像処理を並列で動作させ、ＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ：メッセージ認証コード）値を付加する画像伝送装置に関する。
【背景技術】
【０００２】
近年、ＮＴＳＣからハイビジョンへの移行に代表されるような高画素化の風潮に伴い、画像処理で処理すべき画素数（＝データ量）は増大している。このため、１画面の画像データを処理する場合に、画像表示の単位時間内に処理することが難しくなってきている。ここで、画像表示の単位時間とは、フレームレートの逆数であり、ＮＴＳＣの場合には２９．９７フレーム／秒の逆数であり約３３ミリ秒になる。
この画像表示の単位時間内に画像処理が終わらなければ、フレームレートを維持することができず、フレーム抜けとなる。但し、長時間で平均して画像表示の単位時間内に画像処理が終わればフレーム抜けにはならないシステムもある。
【０００３】
また、監視用途の画像伝送機器では、動画像データや静止画像データ（以下、まとめて画像データと称す）のデータ量を削減するために、画像に圧縮処理を施すことが一般的になっている。画像圧縮方式としては、動画像圧縮方式についてはＭＰＥＧ方式が使用されることが多く、静止画像圧縮方式についてはＪＰＥＧ方式が使用されることが多い。更に、より高圧縮が可能な新しい画像圧縮方式の出現で、１画面当たりの圧縮処理負荷が従来より大きくなっている。
【０００４】
画像伝送装置で画像データをインターネットなどの公共インフラを用いて伝送すると、悪意のある第三者がデータの改ざんを行う可能性があり、データの証拠性が重要になる監視用途では、画像データの改ざん検知を行う必要がある。この改ざん検知を行うためのＭＡＣ値を付加するＭＡＣ処理により処理負荷は更に大きくなる。
【０００５】
ここで、ＭＡＣ処理とＭＡＣ値について説明する。
ＭＡＣ処理は、入力データが書き換えられていないことを確認し認証を行う改ざん検知に使用される技術である。このＭＡＣ処理を行うために入力するデータのことをメッセージと呼ぶ。メッセージに対してＭＡＣ処理を行うことで固定長のＭＡＣ値を取得する。
ＭＡＣ処理ではメッセージのデータ内容は書き換えず、改ざん検知処理を行う受信側にデータを渡す場合には、送信側から受信側へメッセージとＭＡＣ値の２つを渡す。受信側では、受信したメッセージに対して送信側と同じＭＡＣ処理を行ってＭＡＣ値を取得し、そして、この処理結果のＭＡＣ値と、メッセージと共に受信したＭＡＣ値とを比較して、これらが同一の値である場合にはメッセージは改ざんされていないと判定する。
【０００６】
ＭＡＣ処理の一部には暗号技術が使われており、共通の暗号鍵を持つ送信側と受信側のペアで無ければ、正しいＭＡＣ値を計算することができないため、第三者がＭＡＣ値を生成することはできない。従って、第三者がメッセージを改ざんしても、そのメッセージのＭＡＣ値を生成することができないため、改ざんを防止することができる。
（なお、ＭＡＣ処理の詳細な説明については、図９や図１０を用いて後述する。）
【０００７】
このような大きな処理負荷の問題を解決するためには、処理構造を並列処理にすることが考えられる。例えば、画像データの場合、１画面を複数の領域に分割し、それぞれの分割画面毎に圧縮などの画像処理やＭＡＣ値を付加する処理を実行することが考えられる。
図６には、このような処理（画面分割と並列処理）の時間的な流れの一例を示してある。
本例では、画像処理として画像圧縮処理を行うものとする。
（なお、以降の全ての説明においても、同様に、画像処理として画像圧縮処理を行うものとして説明する。）
【０００８】
図６の例では、図６の左上に、並列処理のために１画面を（１）から（４）まで４分割した様子を表してある。この各々の分割画面に対して、圧縮処理、ＭＡＣ処理を実行し、ＭＡＣ値付き圧縮データを送信する。
本例では、順次走査で構成された画面を垂直方向に４分割している。通常、本例で挙げたような順次走査の画像データは左上から始まりライン毎に水平方向に進み、右下で終わる。従って、（１）と（２）の画像データを取り込むには、（１）の画像データを全て取り込んでから、（２）の画像データの取り込みが始まる。このため、（１）の画像データの圧縮処理（（１）圧縮処理）と（２）の画像データの圧縮処理（（２）圧縮処理）の開始時間は、（２）の方が遅れて始まる。同様に、（３）の圧縮処理、（４）の圧縮処理を遅らせて処理する。
【０００９】
（１）の圧縮処理の後は、（１）のＭＡＣ処理を実行し、ＭＡＣ値付き圧縮データを（１）送信で伝送する。（２）から（４）の分割画面についても同様に、圧縮処理、ＭＡＣ処理を実行して、送信する。但し、（２）の送信は（１）の送信が終わらないと送信できない。これは、圧縮データを（連結して）一本のストリームとして伝送するためである。（２）のＭＡＣ処理と（２）の送信との間に時間の隙間がある理由は、（１）の送信が終わるのを待っているからである。従って、（１）の送信、（２）の送信、（３）の送信、（４）の送信の順で順次伝送していく。そして、（１）の圧縮処理の始まりから、次の（１）の圧縮処理が始まるまでの時間が画像表示の単位時間（＝１フレームの表示時間）となる。
（１）、（２）、（３）、（４）の並列処理については、送信のみ順次処理していくが、その他の圧縮処理やＭＡＣ処理とは（１）、（２）、（３）、（４）の間で独立しているため、互いの処理タイミングで重なっている時間が存在しても構わない。並列処理は、このような処理時間の流れになる。
【００１０】
図７には、上記のような並列処理を実現するための画像伝送装置を構成する送信側の画像圧縮装置の構成例を示してある。
本例の画像圧縮装置は、フレームメモリ１０１、３個のスレーブ処理部１０３ａ、１０３ｂ、１０３ｃ、１個のマスター処理部１０３ｄ、フレームメモリ１０２を備えている。
各スレーブ処理部１０３ａ〜１０３ｃには、圧縮処理部１１１ａ〜１１１ｃ、ＭＡＣ処理部１１２ａ〜１１２ｃを備えている。
マスター処理部１０３ｄには、圧縮処理部１１１ｄ、ＭＡＣ処理部１１２ｄ、全体制御処理部１１３を備えている。
【００１１】
主な構成としては、入力した画像データｄ１がフレームメモリ１０１に入り、そこから（１）、（２）、（３）、（４）の４個の並列処理部（本例では、３個のスレーブ処理部１０３ａ〜１０３ｃ及び１個のマスター処理部１０３ｄ）へ画像データを分配する。各並列処理部は、圧縮処理、ＭＡＣ処理を実行した後に、ＭＡＣ値付き圧縮データをフレームメモリ１０２に書き込む。フレームメモリ１０２からは一本のストリームとしてＭＡＣ値付き圧縮データｄ２を出力する。
４個の並列処理部のうち、（４）には全体制御処理部１１３を搭載してあり、これにより（４）と残りの（１）、（２）、（３）の制御を行う。このため、本例では、（４）をマスター処理部１０３ｄと定め、それ以外をスレーブ処理部１０３ａ〜１０３ｃと定めている。
【００１２】
図７に示される画像圧縮装置における処理について更に詳しく説明する。
画像データｄ１を入力し、フレームメモリ１０１に蓄積する。この画像データｄ１を、本例では４分割するために、フレームメモリ１０１から読み出すための制御を、マスター処理部１０３ｄの全体制御処理部１１３が出力するメモリ制御信号ｄ４で行う。また、３個のスレーブ処理部１０３ａ〜１０３ｃについては、全体制御処理部１１３が出力するスレーブ制御信号ｄ３で制御することで、分割した画像データの対象となる画像領域を各々の並列処理部により取り込む。
（１）、（２）、（３）の各スレーブ処理部１０３ａ〜１０３ｃの内部構成は同じであり、圧縮処理を行う圧縮処理部１１１ａ〜１１１ｃと、ＭＡＣ処理を行うＭＡＣ処理部１１２ａ〜１１２ｃから成る。入力はフレームメモリ１０１が出力した画像データであり、処理後は、ＭＡＣ値付き圧縮データをフレームメモリ１０２へ出力する。
【００１３】
また、（４）のマスター処理部１０３ｄの内部構成はスレーブ処理部１０３ａ〜１０３ｃとほぼ同じであり、圧縮処理部１１１ｄ及びＭＡＣ処理部１１２ｄは、それぞれ、スレーブ処理部１０３ａ〜１０３ｃの圧縮処理部１１１ａ〜１１１ｃ及びＭＡＣ処理部１１２ａ〜１１２ｃと同じ処理を行う。入力が画像データであり、出力がＭＡＣ値付き圧縮データであることも、スレーブ処理部１０３ａ〜１０３ｃと同様である。
【００１４】
圧縮処理部１１１ａ〜１１１ｃ及び圧縮処理部１１１ｄは、入力した画像データに対して画像圧縮処理を行う。例えば、入力データが静止画像である場合にはＪＰＥＧ方式を使用し、入力データが動画像である場合にはＭＰＥＧ−２やＭＰＥＧ−４などのＭＰＥＧに代表される方式を使用して、画像を圧縮し、圧縮データを出力する。
４個の並列処理部が出力したＭＡＣ値付き圧縮データは、フレームメモリ１０２に集められ、全体制御処理部１１３が出力するメモリ制御信号ｄ５により、順次、ＭＡＣ値付き圧縮データｄ２として出力される。
【００１５】
図８には、ＭＡＣ値を付加した圧縮データの構造の例を示してある。
（１）から（４）までの４個の並列処理部（本例では、３個のスレーブ処理部１０３ａ〜１０３ｃ及び１個のマスター処理部１０３ｄ）が出力したデータでは、画像圧縮データの直後にＭＡＣ値が付いている。このＭＡＣ値は、圧縮データから唯一生成されるものであり、他の圧縮データでは別のＭＡＣ値が生成される。更に、ＭＡＣ値は暗号処理されており、暗号鍵の値を知らない第三者が同じＭＡＣ値を生成することができない。また、ＭＡＣ値から生成元の圧縮データを導き出すことはできない。
以上の特徴から、受信側では、圧縮データからＭＡＣ値を生成して、伝送されてきたＭＡＣ値と比較することで、この圧縮データとＭＡＣ値とのペアが正しいものであるか否かを判断する。仮に第三者が圧縮データを改ざんした場合には、受信側で生成したＭＡＣ値と異なるため、改ざんを検知することができる。
【００１６】
（１）から（４）までの４個の圧縮データとＭＡＣ値のペアは、フレームメモリ１０２に格納され、（１）から（４）までの圧縮データとＭＡＣ値を連結して、１つのストリームであるＭＡＣ値付き圧縮データｄ２として外部へ出力する。この時の連結方法は、装置のアプリケーションに合わせた構造になる。例えば、図８の下側に図示したように、フレームメモリ１０２の「データ構造１」と、フレームメモリ１０２の「データ構造２」の２つに分けるなど、フレームメモリへの格納方法としては、少なくとも２つ考えられる。
【００１７】
データ構造１では、フレームメモリ１０２に（１）から（４）までの圧縮データだけを連結し、その直後に（１）から（４）のＭＡＣ値を連結して、全てのデータをシーケンシャルにＭＡＣ値付き圧縮データｄ２として出力する。この構造は、例えば、無線伝送のようなアプリケーションで使用することができる。
また、データ構造２では、圧縮データとＭＡＣ値を分離して格納して別々に出力する。この構造は、例えば、パケット単位でデータを伝送するネットワーク回線を用いたアプリケーションで使用することができる。
【００１８】
次に、改ざん検知を行うためのＭＡＣ値を圧縮データに付加するＭＡＣ処理について説明する。
図９には、スレーブ処理部１０３ａ〜１０３ｃにおけるＭＡＣ処理部１１２ａ〜１１２ｃの構成例を示してある。始めに、スレーブ処理部１０３ａ〜１０３ｃによる処理（スレーブ処理）について説明する。
この処理では、入力した圧縮データに対するＭＡＣ値を計算し、圧縮データと合わせて出力する。本例では、一方向ハッシュ関数と暗号処理の組み合わせでメッセージ認証コードを生成しているが、他の構成例として、ブロック暗号を用いた方式など多数存在するいずれかが用いられてもよい。
ＭＡＣ処理部（スレーブ）１１２ａ〜１１２ｃの主な構成としては、メモリ１２１、一方向ハッシュ関数部１２２、共通鍵部１２３、暗号処理部１２４、メモリ１２５、制御処理部１２６から成る。
【００１９】
入力した圧縮データｅ１を、メモリ１２１に一時的に格納する。メモリ１２１では、制御処理部１２６からの圧縮データ読み出し制御信号ｅ６により、一方向ハッシュ関数部１２２の処理に合わせた読み出しタイミングの制御が行われる。そして、メモリ１２１からの出力データはメッセージｅ２として一方向ハッシュ関数部１２２に入力される。なお、圧縮データｅ１とメッセージｅ２のデータ内容に違いは無く、改ざん検知技術に合わせて入力データの呼び名を「メッセージ」に変えただけである。また、一方向ハッシュ関数部１２２への出力と同時に、メモリ１２５にも同じデータ（メッセージｅ２）を出力する。
【００２０】
一方向ハッシュ関数部１２２は、制御処理部１２６からのハッシュ値出力制御信号ｅ７により制御されて、一方向ハッシュ関数を用いて、入力したメッセージｅ２に対してハッシュ値ｅ３を計算して、暗号処理部１２４へ出力する。一方向ハッシュ関数は、（特徴１）任意長のメッセージから固定長のハッシュ値を出力する、（特徴２）メッセージが異なればハッシュ値も異なる、（特徴３）一方向性を持つ、という３つの特徴を有する。
【００２１】
（特徴１）では、入力データ（この場合には、圧縮データ）のデータ長が長くても短くてもハッシュ値のデータ長は一定であり、例えばＳＨＡ−１という方式であれば２０バイト固定長のハッシュ値を出力する。この性質により任意の長さのメッセージに対してハッシュ値で処理すれば一定の処理で対応することができる。
（特徴２）では、メッセージが１ビットでも変化すればハッシュ値は非常に高い確率で異なる値になる。異なるメッセージを入力し、同一のハッシュ値を出力する確率はハッシュ値の長さによるが、長いほど同一になる確率が低く２０バイトであれば同じハッシュ値を探し出すことはできないと一般に定義されている。この性質によりメッセージの唯一性を確認することができる。
（特徴３）では、ハッシュ値からメッセージを逆算できないため一方向と呼ばれる。この性質は、改ざんしてあってもハッシュ値が同一になるようなメッセージを計算で導き出せないという点で重要である。
【００２２】
共通鍵部１２３は、共通鍵をメモリに保持しており暗号処理部１２４へ出力する。
暗号処理部１２４は、ハッシュ値ｅ３と共通鍵を入力して、メッセージｅ２に対して暗号処理を実行し、この結果をＭＡＣ値ｅ４としてメモリ１２５へ出力する。暗号処理の方式としては、送信側と受信側で同じ方式を用いて、受信側で暗号データを復号化して元のデータが得られればどのような方式でも良い。共通鍵部１２３に保持される共通鍵は、その暗号方式に付随したビット長などの制約により定められた鍵データであり、送信側と受信側で共通に使用される。この鍵の値は第三者には秘密である。
【００２３】
メモリ１２５は、メモリ１２１が出力したメッセージｅ２と、暗号処理部１２４が出力したＭＡＣ値ｅ４を一時的に格納する。処理順序としては、メモリ１２１からのメッセージｅ２（＝圧縮データｅ１）をメモリ１２５に格納し、決まったデータ量の圧縮データをメモリ１２１から読み出した後に、計算されたＭＡＣ値ｅ４をメモリ１２５に格納する。これは、ＭＡＣ値ｅ４の計算では、ある決まったデータ量の圧縮データを全て処理しないと計算結果であるＭＡＣ値ｅ４を出力できないためである。そして、メモリ１２５は、ＭＡＣ値付き圧縮データｅ５としてデータを出力する。これらのＭＡＣ値ｅ４とメッセージｅ２の格納タイミングや、ＭＡＣ値付き圧縮データｅ５の出力タイミングは、制御処理部１２６が出力するＭＡＣ値格納制御信号ｅ８により制御される。
【００２４】
制御処理部１２６は、メモリ１２１、一方向ハッシュ関数部１２２、メモリ１２５について、データ入出力タイミングを制御する。更に、制御処理部１２６は、スレーブ制御信号ｄ３の入出力により、外部のマスター処理部１０３ｄに搭載した全体制御処理部１１３（詳細は後述する。）とのタイミングの連携を行う。この制御信号により、マスター処理部１０３ｄと複数あるスレーブ処理部１０３ａ〜１０３ｄとで処理タイミングの調整を行う。
【００２５】
図１０には、マスター処理部１０３ｄにおけるＭＡＣ処理部１１２ｄ及び全体制御処理部１１３の構成例を示してある。
マスター処理部１０３ｄの構成としては、概略的には、スレーブ処理部１０３ａ〜１０３ｃと同様な圧縮処理部１１１ｄ及びＭＡＣ処理部１１２ｄの外部に、全体制御処理部１１３が追加されたものとなっている。
ここで、本例では、全体制御処理部１１３をＭＡＣ処理部１１２ｄの外部に配置してあるが、例えば、回路を同じ基板上に配置するように物理的にまとめても構わない。全体制御処理部１１３に対して、少なくとも１個のＭＡＣ処理部が存在すればよく、このため、特別にマスター処理部１０３ｄとして他のスレーブ処理部１０３ａ〜１０３ｃと区別している。
【００２６】
マスター処理部１０３ｄのＭＡＣ処理部１１２ｄは、スレーブ処理部１０３ａ〜１０３ｃのＭＡＣ処理部１１２ａ〜１１２ｃと全く同一であり、構成としては、メモリ１３１、一方向ハッシュ関数部１３２、共通鍵部１３３、暗号処理部１３４、メモリ１３５、制御処理部１３６から成り、それぞれを結ぶ信号が、圧縮データｆ１、メッセージｆ２、ハッシュ値ｆ３、ＭＡＣ値ｆ４、ＭＡＣ値付き圧縮データｆ５、圧縮データ読み出し制御信号ｆ６、ハッシュ値出力制御信号ｆ７、ＭＡＣ値格納制御信号ｆ８から成る。
【００２７】
また、マスター処理部１０３ｄのＭＡＣ処理部１１２ｄでは、メッセージ処理の動作についても、スレーブ処理部１０３ａ〜１０３ｃのＭＡＣ処理部１１２ａ〜１１２ｃによる処理と同一である。具体的には、入力した圧縮データｆ１に対して、一方向ハッシュ関数部１３２の一方向ハッシュ関数処理と、共通鍵部１３３の共通鍵を鍵とした暗号処理部１３４の暗号処理を実行した後に、出力データであるＭＡＣ値ｆ４をメモリ１３５に格納し、別途格納したメッセージｆ２と合わせて、ＭＡＣ値付き圧縮データｆ５として外部へ出力する。これらの動作を制御処理部１３６がタイミング制御することについても、スレーブ処理部１０３ａ〜１０３ｃと同一である。
【００２８】
全体制御処理部１１３は、マスター処理とスレーブ処理の間のタイミングなど装置全体の制御を行う。既に図７を用いて説明したように、メモリ制御信号ｄ４でフレームメモリ１０１を制御し、メモリ制御信号ｄ５でフレームメモリ１０２を制御する。また、スレーブ制御信号ｄ３でマスター処理部１０３ｄ以外の各スレーブ処理部１０３ａ〜１０３ｃを制御する。
【００２９】
タイミング制御としては、図６を用いて説明したように、フレームメモリ１０１に入力した１画面のデータを分割して各々スレーブ処理部１０３ａ〜１０３ｃ及びマスター処理部１０３ｄへ出力する際における各分割画像データの遅延時間の調整（タイミング制御）や、スレーブ処理部１０３ａ〜１０３ｃ及びマスター処理部１０３ｄの各々からの出力データをフレームメモリ１０２に入力し、まとめてＭＡＣ値付き圧縮データｄ２として出力するためのタイミングの制御や、スレーブ処理部１０３ａ〜１０３ｃ及びマスター処理部１０３ｄの各々に遅延を持たせて処理するためのタイミング制御を行う。
【００３０】
【特許文献１】特開２００５−２１７５９８号公報
【特許文献２】特開２００６−２２９８００号公報
【特許文献３】特開２００８−２２３７２号公報
【特許文献４】特開平１１−１９６３９２号公報
【特許文献５】特開２００８−２２３７３号公報
【特許文献６】特開２００７−２８８５１４号公報
【特許文献７】特開２００６−３９２０６号公報
【特許文献８】特開２００５−２９２４８２号公報
【特許文献９】特開２００５−２１０４６４号公報
【特許文献１０】特開２００７−２７９２０号公報
【特許文献１１】特開２００３−１３１９２２号公報
【発明の開示】
【発明が解決しようとする課題】
【００３１】
以上の構成により、圧縮データに対して、それに対応するＭＡＣ値を計算して付加する画像圧縮装置（画像伝送装置）を実現することができる。この装置では、圧縮データの一部を書き換えるなどの改ざんをすると、対応するＭＡＣ値との不一致が発生して改ざんを検知することができる。
【００３２】
しかしながら、以上の構成では、データを改ざんしようとする第三者が圧縮データとＭＡＣ値をペアにして入れ換えた場合には、改ざんを検知することができない。
図１１には、このような様子の一例を示してある。
図１１の上半分には、図８を用いて説明したのと同様に、（１）処理、（２）処理、（３）処理、（４）処理の各々が出力した圧縮データとＭＡＣ値とのペアを連結して１個のＭＡＣ値付き圧縮データにした様子を示してある。
【００３３】
ここで、第三者が、異なる圧縮データＸと、その圧縮データＸから計算したＭＡＣ値Ｘのペアを用意したとする。例えば、伝送路から過去の圧縮データとＭＡＣ値のペアを抜き出すことで、このデータのペアを入手することができる。そのデータのペアを、図１１の下半分に示されるように、圧縮データ（３）の代わりに圧縮データＸとし、ＭＡＣ値（３）の代わりにＭＡＣ値Ｘとするように、入れ換えるとする。この場合、圧縮データＸとＭＡＣ値Ｘは正規のペアであることから改ざん検知処理では検知することができない。つまり、図６を用いて説明した１画面を４分割した場合では、（３）にあたる領域の画像データが全て異なるデータ、例えば過去の画像データに書き換えられてしまうが、受信側の改ざん検知処理では改ざんを検知することができない。
【００３４】
このように、例えば、１画面を複数領域に分割して、並列して実行可能な分割処理で画像伝送処理を行う装置において、ある画像領域の画像データを改ざんしようとする第三者が、異なる画像データとその画像データから計算したＭＡＣ値のペアを用意して、正規の画像データとＭＡＣ値のペアの代わりに入れ換えた場合には、第三者が入れ換えた画像データとＭＡＣ値が正規のペアであることから、受信側の改ざん検知処理では改ざんを検知することができなかった。
【００３５】
本発明は、このような従来の事情に鑑み為されたもので、画像を伝送するに際して、例えば、１画面を複数の領域に分割し、画像処理を並列で動作させ、ＭＡＣ値を付加することを効果的に行うことができる画像伝送装置を提供することを目的とする。
【課題を解決するための手段】
【００３６】
上記目的を達成するため、本発明では、画像データを伝送する画像伝送装置において、次のような構成とした。
すなわち、分割手段が、所定の単位の画像データを複数に分割する。第１のＭＡＣ値取得手段が、前記分割手段により得られた複数の分割画像データのうちの１個以外について、それぞれ、分割画像データのＭＡＣ値を取得する。第２のＭＡＣ値取得手段が、前記分割手段により得られた複数の分割画像データのうちの前記１個について、分割画像データと前記第１のＭＡＣ値取得手段により取得されたＭＡＣ値から成るデータのＭＡＣ値を取得する。伝送手段が、前記分割手段により得られた複数の分割画像データと前記第１のＭＡＣ値取得手段により取得されたＭＡＣ値と前記第２のＭＡＣ値取得手段により取得されたＭＡＣ値を伝送（例えば、送信）する。
従って、画像を伝送するに際して、例えば、１画面を複数の領域に分割し、画像処理を並列で動作させ、ＭＡＣ値を付加することを効果的に行うことができ、受信側における改ざん検知の精度を向上させることができる。
【００３７】
ここで、画像データとしては、静止画像データや動画像データなど、種々なものが用いられてもよい。
また、画像データとしては、例えば、圧縮処理などの任意の処理が行われたものが用いられてもよく、或いは、分割された後における画像データ（分割画像データ）に圧縮処理などの任意の処理が行われてからＭＡＣ値取得処理が行われてもよい。
また、画像伝送装置としては、例えば、送信側の装置が用いられてもよく、或いは、送信側の装置と受信側の装置の両方を有するものが用いられてもよい。
また、分割対象となる所定の単位の画像データとしては、種々な単位が用いられてもよく、例えば、１フレーム（１画面）の単位などを用いることができる。
また、画像データを分割する数としては、種々な数が用いられてもよい。
【００３８】
また、画像データの分割の仕方としては、種々なものが用いられてもよく、例えば、複数の領域のそれぞれ毎に分割するような仕方を用いることができる。
また、データ（分割画像データ）のＭＡＣ値を取得する仕方としては、種々なものが用いられてもよく、例えば、当該データに一方向ハッシュ関数をかける処理などによりＭＡＣ値を取得する仕方を用いることができ、また、更に、暗号化の処理が用いられてもよい。
また、複数の分割画像データと複数のＭＡＣ値（データ）を伝送する仕方としては、種々なものが用いられてもよく、例えば、これら全てのデータをまとめて伝送する仕方が用いられてもよく、或いは、分割画像データとＭＡＣ値を別々に伝送する仕方が用いられてもよい。
【発明の効果】
【００３９】
以上説明したように、本発明に係る画像伝送装置によると、画像を伝送するに際して、例えば、１画面を複数の領域に分割し、画像処理を並列で動作させ、ＭＡＣ値を付加することを効果的に行うことができ、受信側における改ざん検知の精度を向上させることができる。
【発明を実施するための最良の形態】
【００４０】
本発明に係る実施例を図面を参照して説明する。
図１には、本発明の一実施例に係る画像伝送装置を構成する送信側の画像圧縮装置の構成例を示してある。
本例の画像圧縮装置は、フレームメモリ１、３個のスレーブ処理部３ａ、３ｂ、３ｃ、１個のマスター処理部３ｄ、フレームメモリ２を備えている。
各スレーブ処理部３ａ〜３ｃには、圧縮処理部１１ａ〜１１ｃ、ＭＡＣ処理部１２ａ〜１２ｃを備えている。
マスター処理部３ｄには、圧縮処理部１１ｄ、ＭＡＣ処理部１２ｄ、全体制御処理部１３を備えている。
また、信号として、画像データａ１、ＭＡＣ値付き圧縮データａ２、スレーブ制御信号ａ３、ＭＡＣ値ａ４、メモリ制御信号ａ５、メモリ制御信号ａ６を示してある。
【００４１】
ここで、本例の画像圧縮装置の構成や動作は、例えば、図７に示される画像圧縮装置と概略的に同様であるが、本例の相違点は、各スレーブ処理部３ａ〜３ｃのＭＡＣ処理部１２ａ〜１２ｃが計算したＭＡＣ値をマスター処理部３ｄのＭＡＣ処理部１２ｄに入力するようになっている点である。このため、スレーブ処理部３ａ〜３ｃ内のＭＡＣ処理部１２ａ〜１２ｃとマスター処理部３ｄ内のＭＡＣ処理部１２ｄとの間でＭＡＣ値ａ４を受け渡しできるようにしてある。
また、本例では、マスター処理部３ｄのＭＡＣ処理部１２ｄが出力するＭＡＣ値は従来（例えば、図７に示される構成）とは異なるため、装置が出力するＭＡＣ値付き圧縮データａ２も従来（例えば、図７に示される構成）とは異なる。他の部分については従来の構成（例えば、図７に示される構成）と同様であり同様な動作を行う。
【００４２】
図２には、スレーブ処理部３ａ〜３ｃのＭＡＣ処理部１２ａ〜１２ｃの構成例を示してある。
本例のスレーブ処理部３ａ〜３ｃのＭＡＣ処理部１２ａ〜１２ｃは、メモリ２１、一方向ハッシュ関数部２２、共通鍵部２３、暗号処理部２４、ラッチ部２５、メモリ２６、制御処理部２７を備えている。
また、信号として、圧縮データｂ１、メッセージｂ２、ハッシュ値ｂ３、ＭＡＣ値ｂ４、ＭＡＣ値付き圧縮データｂ５、圧縮データ読み出し制御信号ｂ６、ハッシュ値出力制御信号ｂ７、ラッチ制御信号ｂ８、ＭＡＣ値格納制御信号ｂ９、ＭＡＣ値ｂ１０を示してある。
【００４３】
本例のスレーブ処理部３ａ〜３ｃのＭＡＣ処理部１２ａ〜１２ｃでは、従来の構成（例えば、図９に示される構成）と比較すると、暗号処理部２４が出力したＭＡＣ値ｂ４を保持するラッチ部２５を追加したことが特徴である。ラッチ部２５は、保持したＭＡＣ値ｂ４（ｂ１０）をマスター処理部３ｄのＭＡＣ処理部１２ｄへ出力する。また、制御処理部２７が、ラッチ部２５がＭＡＣ値を保持するタイミングを制御するためのラッチ制御信号ｂ８を、ラッチ部２５へ出力する。他の部分については従来の構成（例えば、図９に示される構成）と同様であり同様な動作を行う。
【００４４】
前記したラッチ部２５に関する動作としては、メモリ２１からのデータ出力タイミングや一方向ハッシュ関数部２２の計算開始タイミングを制御する制御処理部２７が、暗号処理部２４がＭＡＣ値を出力するタイミングでラッチ制御信号ｂ８を出力し、ラッチ部２５にＭＡＣ値ｂ４を保持する。ラッチ部２５は、保持したデータ（ＭＡＣ値ｂ４）をＭＡＣ値ｂ１０としてマスター処理部３ｄのＭＡＣ処理部１２ｄへ出力し続け、少なくともマスター処理部３ｄがＭＡＣ値ｂ１０を取り込むまでの期間は同じ値を保持し続ける。若しくは、次のＭＡＣ値ｂ１０が計算されるまで同じ値を保持し続けるようにラッチ制御信号ｂ８を制御しても良い。他の部分については従来（例えば、図９に示されるもの）と同様な動作を行う。
【００４５】
ここで、本例においてラッチ部２５を設けた理由は、ＭＡＣ値ｂ４を保持することであるため、他の構成例として、メモリ２６に格納、保持したＭＡＣ値ｂ４をＭＡＣ値ｂ１０として読み出すような構成が用いられてもよい。この場合、ラッチ制御信号ｂ８は、ＭＡＣ値格納制御信号ｂ９と統合されてメモリ２６に入力される。
【００４６】
図３には、マスター処理部３ｄのＭＡＣ処理部１２ｄ及び全体制御部１３の構成例を示してある。
本例のマスター処理部３ｄのＭＡＣ処理部１２ｄは、メモリ３１、一方向ハッシュ関数部３２、共通鍵部３３、暗号処理部３４、メモリ３５、制御処理部３６を備えている。
また、信号として、圧縮データｃ１、ＭＡＣ値ｃ２（図１におけるＭＡＣ値ａ４、図２における全てのスレーブ処理部３ａ〜３ｃからのＭＡＣ値ｂ１０と同じ）、メッセージｃ３、ハッシュ値ｃ４、ＭＡＣ値ｃ５、ＭＡＣ値付き圧縮データｃ６、圧縮データ制御信号ｃ７、ハッシュ値出力制御信号ｃ８、ＭＡＣ値格納制御信号ｃ９を示してある。
【００４７】
本例のマスター処理部３ｄのＭＡＣ処理部１２ｄでは、従来の構成（例えば、図１０に示される構成）と比較すると、スレーブ処理部３ａ〜３ｃのＭＡＣ処理部１２ａ〜１２ｃから入力したＭＡＣ値ｃ２をメモリ３１に格納することが特徴の一つである。これにより、従来では圧縮データのみがＭＡＣ値計算の対象データであったのが、本例ではスレーブ処理部３ａ〜３ｃが出力したＭＡＣ値ｃ２もＭＡＣ値の計算対象に追加される。従って、メッセージｃ３には圧縮データｃ１とＭＡＣ値ｃ２の両方が含まれ、そのデータ（メッセージｃ３）と、そのデータ（メッセージｃ３）に対して一方向ハッシュ関数部３２による一方向ハッシュ関数処理を行ったハッシュ値に対して更に暗号処理部３４による暗号処理を行ったＭＡＣ値ｃ５が、従来と異なるデータとしてメモリ３５に入力される。
【００４８】
そして、メモリ３５が出力するＭＡＣ値付き圧縮データｃ６は、従来と異なり、本例の特徴である各スレーブ処理部３ａ〜３ｃが出力するＭＡＣ値を含んで計算したＭＡＣ値付きの圧縮データとなる。
また、制御処理部３６は、メモリ３１に圧縮データｃ１とスレーブ処理部３ａ〜３ｃからのＭＡＣ値ｃ２を取り込み、圧縮データｃ１とＭＡＣ値ｃ２を連結してメッセージｃ３として出力するように、圧縮データ制御信号ｃ７を制御する。
【００４９】
図４には、ＭＡＣ値付き圧縮データの生成の流れの一例を示してある。
図４を参照して、どのようにして、圧縮データｃ１とＭＡＣ値ｃ２を連結して、ＭＡＣ値付き圧縮データｃ６を出力するのかを説明する。
図４の上半分には、マスター処理部３ｄの処理（マスター処理）を示してあり、入力した圧縮データ（４）からどのようにしてＭＡＣ値（４）を計算するかを左から右への流れで示してある。また、図４の下半分の左側には、各スレーブ処理部３ａ〜３ｃが出力した圧縮データ（１）〜（３）とＭＡＣ値（１）〜（３）の入力を示してあり、そのうちＭＡＣ値（１）〜（３）はマスター処理部３ｄにも入力している。そして、図４の最下部には、ＭＡＣ値付き圧縮データａ２として全てのデータを連結している様子を示してある。
【００５０】
マスター処理部３ｄでは、メモリ３１へ格納した圧縮データ（４）の後ろに各スレーブ処理部３ａ〜３ｃの処理（スレーブ処理）により得られたＭＡＣ値（１）、ＭＡＣ値（２）、ＭＡＣ値（３）を連結する。これを１つのデータとしてメモリ３１から出力し、一方向ハッシュ関数部３２と暗号処理部３４を通してＭＡＣ値（４）を計算する。そして、メモリ３５で、圧縮データ（４）とＭＡＣ値（４）を連結して出力する。ここで、従来（例えば、図１０に示される構成）では、ＭＡＣ処理部から出力するＭＡＣ値付き圧縮データは、一方向ハッシュ関数部に入力するデータ（メッセージ）と、その計算結果のＭＡＣ値とを連結したデータであったが、本例では、一方向ハッシュ関数部３２に入力したＭＡＣ値（１）、ＭＡＣ値（２）、ＭＡＣ値（３）については、マスター処理部３ｄからＭＡＣ値付き圧縮データｃ６として出力する際には削除する。この理由は、ＭＡＣ値（１）、ＭＡＣ値（２）、ＭＡＣ値（３）は、スレーブ処理部３ａ〜３ｃが出力したデータから得られることから、重複して付加することを避けるためである。
【００５１】
ここで、送信側と受信側との間の伝送路でデータの改ざんが行われたとする。
始めに、圧縮データ（１）だけが改ざんされたとする。この場合、受信側では、ＭＡＣ値（１）と、改ざんされた圧縮データ（１）から計算したＭＡＣ値とが一致しないことから、改ざんを検知することができる。
次に、圧縮データ（１）とＭＡＣ値（１）のペアを、例えば過去のデータと入れ換えるような改ざん処理が行われたとする。この場合には、受信側では、圧縮データ（１）から計算したＭＡＣ値とＭＡＣ値（１）とは計算結果が合うが、ＭＡＣ値（４）が、圧縮データ（４）、改ざんされたＭＡＣ値（１）、ＭＡＣ値（２）、ＭＡＣ値（３）から計算したＭＡＣ値とは異なるため、改ざんを検知することができる。
また、圧縮データ（４）とＭＡＣ値（４）のペアで改ざんした場合にも、同様に、ＭＡＣ値（４）とＭＡＣ値の計算結果が異なるため、改ざんを検知することができる。
このように、本例では、１画面を分割したある領域の画像データとＭＡＣ値とをペアで改ざんした場合においても、受信側で改ざんを検知することができる画像伝送装置を実現することができる。
【００５２】
図５（ａ）、（ｂ）には、画面分割の例を示してある。
図５（ａ）には１画面の画像データを縦（垂直）方向に４分割した例を示してあり、図５（ｂ）には１画面の画像データを縦（垂直）方向に２分割し横（水平）方向に２分割して計４分割した例を示してある。
ここで、入力画像データの分割方法としては、図５（ａ）に示した分割方法以外に、例えば図５（ｂ）に示したような分割方法などがあり、必ずしも本例の説明で用いた分割方法である必要はなく、どのような領域の形に分割しても構わない。
【００５３】
また、以上の説明で圧縮処理、及び、圧縮データとして説明した箇所について、本提案の主要技術は画像データに対して圧縮処理をするか否かを問わず成立するため、圧縮処理を画像処理、圧縮データを画像データとして読み替えても良い。この場合の画像処理とは特定の技術を指すわけではなく、任意の処理であっても良く、例えば、入力した画像データに対してノイズ除去や画像サイズ変換などを行うフィルタ処理、若しくは、入力した画像データに対して、何も処理せず、そのままのデータをメッセージとしてＭＡＣ処理部に入力する処理などであっても構わない。
【００５４】
以上のように、本例の画像伝送装置では、１画面を複数の領域に分割し、分割したそれぞれの領域の画像データに対して並列して画像処理とＭＡＣ処理を実施し、且つ複数の画像処理出力データと出力ＭＡＣ値を連結して伝送路へ出力するに際して、１個のマスター処理部３ｄと少なくとも１個のスレーブ処理部３ａ〜３ｃから成り、マスター処理部３ｄは、全てのスレーブ処理部３ａ〜３ｃが出力したＭＡＣ値を取り込み、画像処理データと全てのスレーブ処理部３ａ〜３ｃが出力したＭＡＣ値から新たなＭＡＣ値を出力する。
【００５５】
また、本例の画像伝送装置では、スレーブ処理部３ａ〜３ｃは、少なくともマスター処理部３ｄがＭＡＣ値を取り込むまでの期間だけＭＡＣ値を出力し続け、マスター処理部３ｄは、ＭＡＣ処理に使用したスレーブ処理部３ａ〜３ｃから取り込んだＭＡＣ値については出力データに付加せずに入力された画像処理データと処理結果のＭＡＣ値だけを出力する。
【００５６】
このように、本例では、１つのマスター処理と少なくとも１つのスレーブ処理から成る分割処理において、スレーブ処理では計算した各々のＭＡＣ値をマスター処理へ転送し、マスター処理が取り込むまでＭＡＣ値を保持し続ける。マスター処理は、スレーブ処理から受信したＭＡＣ値を含めて改ざん検知の対象としたＭＡＣ値を計算することで、マスター処理とスレーブ処理がそれぞれ出力する画像データの組み合わせの改ざんも検知することができる。この際、各スレーブ処理から転送したＭＡＣ値は、マスター処理でのＭＡＣ値計算の対象データになるが、本例では、マスター処理が出力するデータに再度スレーブ処理が出力したＭＡＣ値を付加することはしない。
【００５７】
本例では、単位構造（例えば、１画面）を有して時系列に入力される情報を、前記単位構造毎にｎ個に分割して、分割情報の（ｎ−１）個についてはそれぞれＭＡＣ処理（例えば、署名、ハッシュ、ダイジェスト、などの処理）を行い、残りの１個については、処理済の（ｎ−１）個のＭＡＣ値を分割情報とあわせてＭＡＣ処理を行う。また、本例では、並列処理も行う。
【００５８】
なお、本例の画像伝送装置（画像圧縮装置）では、フレームメモリ１において画像データａ１を複数に分割する機能により分割手段が構成されており、各スレーブ処理部３ａ〜３ｃのＭＡＣ処理部１２ａ〜１２ｃにおいて一方向ハッシュ関数部２２や共通鍵部２３や暗号処理部２４により分割画像データ（本例では、圧縮データｂ１に相当するメッセージｂ２）のＭＡＣ値を取得する機能により第１のＭＡＣ値取得手段が構成されており、マスター処理部３ｄのＭＡＣ処理部１２ｄにおいて一方向ハッシュ関数部３２や共通鍵部３３や暗号処理部３４により分割画像データ（本例では、圧縮データｃ１に相当するメッセージｃ３）及びスレーブ処理部３ａ〜３ｃからのＭＡＣ値から成るデータのＭＡＣ値を取得する機能により第２のＭＡＣ値取得手段が構成されており、フレームメモリ２において複数の分割画像データ及び複数のＭＡＣ値を伝送（送信）する機能により伝送手段が構成されている。
【００５９】
ここで、本発明に係るシステムや装置などの構成としては、必ずしも以上に示したものに限られず、種々な構成が用いられてもよい。また、本発明は、例えば、本発明に係る処理を実行する方法或いは方式や、このような方法や方式を実現するためのプログラムや当該プログラムを記録する記録媒体などとして提供することも可能であり、また、種々なシステムや装置として提供することも可能である。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係るシステムや装置などにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー（登録商標）ディスクやＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）−ＲＯＭ等のコンピュータにより読み取り可能な記録媒体や当該プログラム（自体）として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
【図面の簡単な説明】
【００６０】
【図１】本発明の一実施例に係る画像伝送装置を構成する画像圧縮装置の構成例を示す図である。
【図２】本発明の一実施例に係るＭＡＣ処理部（スレーブ）の構成例を示す図である。
【図３】本発明の一実施例に係るＭＡＣ処理部（マスター）及び全体制御処理部の構成例を示す図である。
【図４】本発明の一実施例に係るＭＡＣ値付き圧縮データの生成の流れの一例を示す図である。
【図５】（ａ）及び（ｂ）は本発明の一実施例に係る画面分割の例を示す図である。
【図６】画面分割と並列処理のタイムチャートの一例を示す図である。
【図７】画像伝送装置を構成する画像圧縮装置の構成例を示す図である。
【図８】圧縮データの構造の例を示す図である。
【図９】ＭＡＣ処理部（スレーブ）の構成例を示す図である。
【図１０】ＭＡＣ処理部（マスター）及び全体制御処理部の構成例を示す図である。
【図１１】圧縮処理単位によるデータ改ざんの一例を示す図である。
【符号の説明】
【００６１】
１、２、１０１、１０２・・フレームメモリ、  ３ａ〜３ｃ、１０３ａ〜１０３ｃ・・スレーブ、  ３ｄ、１０３ｄ・・マスター、  １１ａ〜１１ｄ、１１１ａ〜１１１ｄ・・圧縮処理部、  １２ａ〜１２ｄ、１１２ａ〜１１２ｄ・・ＭＡＣ処理部、  １３、１１３・・全体制御処理部、  ２１、２６、３１、３５、１２１、１２５、１３１、１３５・・メモリ、  ２２、３２、１２２、１３２・・一方向ハッシュ関数部、  ２３、３３、１２３、１３３・・共通鍵部、  ２４、３４、１２４、１３４・・暗号処理部、  ２５・・ラッチ部、  ２７、３６、１２６、１３６・・制御処理部、
【図１】
2010114678.tif 000003
【図２】
2010114678.tif 000004
【図３】
2010114678.tif 000005
【図４】
2010114678.tif 000006
【図５】
2010114678.tif 000007
【図６】
2010114678.tif 000008
【図７】
2010114678.tif 000009
【図８】
2010114678.tif 000010
【図９】
2010114678.tif 000011
【図１０】
2010114678.tif 000012
【図１１】
2010114678.tif 000013