(57)【要約】【課題】暗号化処理や復号化処理をプロセッサを用いてソフトウェアで実行する場合には、例えば排他的論理和等の処理負荷が大きい演算が必要である。更に、画像圧縮処理をプロセッサで同時に実行する場合には、処理能力に余裕がなくなりやすく、暗号処理の負荷が大きいと全体の処理能力が不足し、リアルタイムに画像圧縮処理が実行できず、フレーム抜けを起こすことがある。【解決手段】可変長符号化方式の画像圧縮データについて、暗号処理部を周期的に動作させ、暗号データと平文データが周期的に混在するようにし、暗号化により隠されたデータ部分が分からないため、周期的に現れる平分データも、その値やコード長が分からず、その結果として被暗号データ部分の予想もできなくなる。このように周期的に暗号処理部を動作させることにより、プロセッサの処理負荷を低減する。【選択図】図４
2009213083.tif 000002
【特許請求の範囲】
【請求項１】
画像データを可変長符号化して画像圧縮データを出力する圧縮処理部と、上記画像圧縮データを暗号処理して暗号データを出力する暗号処理部と、上記暗号データをネットワークに配信する配信処理部とを備えた画像圧縮装置において、上記暗号処理部は、
上記画像圧縮データのフレーム内の暗号化対象領域のデータを部分的に暗号化して部分暗号データを出力する部分的暗号処理部と、
上記画像圧縮データと上記部分的暗号部データを入力し、どちらか一方を出力するデータ切替器と、
上記データ切替器を制御する制御部とを有し、
上記制御部は、上記暗号化対象領域のデータを所定の周期で暗号化するように制御して、上記画像圧縮データの上記暗号化対象領域のデータを上記所定の周期で暗号データと暗号化しないデータを配置したことを特徴とする画像圧縮装置。
【請求項２】
可変長符号で構成された画像圧縮データを暗号化しネットワークヘ配信する画像圧縮方法において、
上記画像圧縮データの暗号化対象領域のデータを、所定の周期で暗号データと暗号化しないデータを配置したことを特徴とする画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、周期的に画像データを暗号化し出力する画像圧縮装置に関するものである。
【背景技術】
【０００２】
近年のネットワーク技術の発達により、画像データをデジタル化してネットワークで伝送することが行われるようになった。ネットワークを介して伝送するために、画像データは、画像圧縮処理を施され伝送データ量を削減されることが一般的である。
しかし、ネットワークの普及と共に、画像データ等のデジタルデータは、インターネットなどの公開されたネットワークを介して伝送されることも多く、伝送されたデータの内容が、誰にでも受信して見られる可能性も増えてきている。
このため、例えば、監視等の目的でネットワークカメラを使用するというように、ネットワークを介して伝送する場合には、伝送されるデータの機密性が問題になるので、暗号化技術の導入などの対策が必要になる。
【０００３】
ネットワーク伝送に使用するためにデータの暗号化するには、主に２つのアプローチの方法がある。第１の方法は、ネットワークの伝送路全体を暗号化する方法である。代表的な技術にＶＰＮ（ Virtual Private Network ）がある。第２の方法は、デジタルデータを暗号化して伝送する方法である。第２の方法は、伝送路の種類によらず暗号化することができる。このため、ハードディスクレコーダなどの記録装置を接続しても、暗号化したままデジタルデータを記録することができるという特徴がある。
【０００４】
画像データの伝送を目的とする暗号化の方式では、一定サイズ毎に暗号化するブロック暗号方式よりも、ビット単位あるいはバイト単位などで逐次暗号化するストリーム暗号方式の方が、任意のデータ長になる画像圧縮データのリアルタイム伝送に適している。
また、近年の伝送機器では、画像圧縮処理をソフトウェアを使ってプロセッサ等で実行する製品が増えてきており、暗号化処理もソフトウェアで実行するようになった。しかし、監視等の目的で取得し伝送する動画像データの場介には、データを圧縮したとしても、数［Ｍｂｐｓ：Mega bit per second］のデータ量になる。ストリーム暗号方式は、リアルタイム伝送に向けに高速なアルゴリズムが考案されている。しかし、ソフトウェアで実行する場合には、ソフトウェアを実行するためのプロセッサの能力により、処理時間に限界が生じている。
【０００５】
従来の暗号化方式を、図１を参照して説明する。図１は、従来のソフトウェアに使って画像データを暗号化して、ネットワーク伝送する画像圧縮装置の構成を示すブロック図である。１５０は視野範囲内の動画像を取得するカメラ、１はカメラ１５０が出力する映像データ、７は映像データ１を圧縮する圧縮処理部、２は圧縮処理部７が出力する圧縮データ、１１は圧縮データを記録するメモリ部、２’はメモリ部１１から出力される被暗号化データである圧縮データ、８は暗号処理部、４は暗号処理部が出力する暗号データ、１２は暗号データを記録するメモリ部、４’はメモリ部１２から出力される暗号データ、９は暗号データ４’をデータ変換する配信処理部、５は配信処理部９から出力された配信データ、１６０は配信データ５を伝送するネットワーク、１００は画像圧縮装置、１０１はプロセッサ部、１９と１９’はメモリ読出し制御信号である。
画像圧縮装置１００は、主に、圧縮処理部７、暗号処理部８、配信処理部９、及びその３つの処理部を包括するプロセッサ部１０１、メモリ部１１、メモリ部１２からなる。プロセッサ部１０１は、画像圧縮装置１００内の構成要素７〜９の機能を内蔵し、メモリ部１１、及びメモリ部１２にアクセスしてソフトウェア処理を実行するプロセッサ部である。
なお、図１の構成では、圧縮処理部７と配信処理部９はプロセッサ部１０１のプロセッサにより実行されるソフトウエア処理の一部であるという例を示した。しかし、この２つの処理部の処理をプロセッサ部１０１の外部で実行する処理でるとした構成でもかまわない。
【０００６】
図１において、カメラ１５０から出力された映像データ１は、画像圧縮装置１００の圧縮処理部７に入力される。
画像圧縮装置１００において、圧縮処理部７は、入力された映像データ１の画像圧縮処理を行い、圧縮データ２としてメモリ部１１に出力する。メモリ部１１は入力された圧縮データを格納し、圧縮データ２’として出力する。暗号処理部８は、メモリ１１から入力された圧縮データ２’の暗号処理を行い、メモリ部１２に暗号データ４として出力する。
メモリ部１２は、入力された暗号データ４を格納し、暗号データ４’として出力する。配信処理部９は、メモリ部１２から入力された暗号データ４をネットワーク１６０のプロトコルに適合したデータに変換し、変換したデータを配信データ５としてネットワーク１６０に出力する（例えば、特許文献１参照。）。
なお、上記メモリ部１１と１２において、入力されるデータと出力されるデータの参照番号を異なるようにしているが、データの形式及び内容に実質的差異は無く、説明の都合上、区別するために異なる参照番号を付している。
【０００７】
【特許文献１】特開２００６−１０９４２８号公報（図７、等）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ストリーム暗号方式の特徴として、ビット単位あるいはバイト単位などで逐次暗号化する点は、上述した通りである。また、ＭＰＥＧ−４（ Moving Picture Experts Group ）やＪＰＥＧ（ Joint Photographic Expert Group ）、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４（ MPEG-4 Part10 Advanced Video Coding / ITU−T Rec H.264 ）等に代表される画像圧縮技術は、バイト単位で圧縮データを生成する。このため両者の親和性は非常に高い。
しかし、上述の従来技術では、この暗号化処理をプロセッサのソフトウェアで実行する場合に、処理負荷が大きい演算、例えば排他的論理和（以降、ＸＯＲと記述する）を必要とする。
更に、画像圧縮処理をプロセッサで同時に実行する場合には、処理能力に余裕がなくなり易い。従って、暗号処理の負荷が大きいと全体の処理能力が不足し、最悪の場合には、リアルタイムに画像圧縮処理を実行できず、フレーム抜けを起こすことがある。
以上の問題は、暗号データの復号処理でも同じであり、復号処理の場合には、処理負荷が大きいと、送信側と受信側の双方でプロセッサの処理能力の不足が発生してしまう問題があった。
本発明の目的は、上記のような問題を解決し、暗号処理とその対となる復号処理のプロセッサ処理負荷を軽減することができる画像圧縮方法及び装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の画像圧縮方法は、可変長符号化した画像圧縮データの暗号対象の領域を全て暗号化するのではなく、暗号処理と非暗号処理を周期的に行い、暗号データと平文データが周期的に混在するようにするものである。
即ち、本発明の画像圧縮方法は、可変長符号で構成された画像圧縮データを暗号化しネットワークヘ配信する画像圧縮方法において、上記画像圧縮データの暗号化対象領域のデータを、所定の周期で暗号データと暗号化しないデータを配置したものである。
【００１０】
また、本発明の画像圧縮装置は、画像データを可変長符号化して画像圧縮データを出力する圧縮処理部と、上記画像圧縮データを暗号処理して暗号データを出力する暗号処理部と、上記暗号データをネットワークに配信する配信処理部とを備えた画像圧縮装置において、上記暗号処理部は、上記画像圧縮データのフレーム内の暗号化対象領域のデータを部分的に暗号化して部分暗号データを出力する部分的暗号処理部と、上記画像圧縮データと上記部分的暗号部データを入力し、どちらか一方を出力するデータ切替器と、上記データ切替器を制御する制御部とを有し、上記制御部は、上記暗号化対象領域のデータを所定の周期で暗号化するように制御して、上記画像圧縮データの上記暗号化対象領域のデータを上記所定の周期で暗号データと暗号化しないデータを配置したものである。
また好ましくは、上記発明の画像圧縮装置の圧縮処理部は、圧縮データのサイズ情報を出力する圧縮処理部であって、上記暗号処理部の上記制御部は上記圧縮データのサイズ情報によって上記暗号化対象領域のデータを上記所定の周期で暗号データと暗号化しないデータを配置するものである。
【発明の効果】
【００１１】
本発明によれば、上記周期的に暗号処理部を動作させる画像データ圧縮装置を用いることで、暗号処理及び復号処理におけるプロセッサ処理負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１２】
本発明の画像圧縮装置は、可変長符号化した画像圧縮データの１つの画像フレーム中で、暗号化対象のデータ領域を全て暗号化せず、暗号処理と非暗号処理を所定の周期で行い、暗号データと平文データが所定の周期で混在するようにしたものである。
通常の電子データであれば、平文データの存在により、被暗号データ部分のデータ値が予想されてしまうが、可変長符号化を採用している画像圧縮データが暗号化対象の場合には、この処理のように平文が混在していても暗号化により隠されたデータ部分どこにあるかが分からない。このため、周期的に現れる平文データであっても、その値や符号長が分からず、その結果、被暗号データ部分の予想もできなくなる。
また、このように所定の周期で暗号処理動作を停止することにより、プロセッサの処理負荷を低減することができる。
【００１３】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、従来技術の説明に使用した図面を含む各図において、共通な機能を有する構成要素には同一の参照番号を付し、説明の重複を避け、できるだけ説明を省略する。
【００１４】
本発明の画像圧縮装置の一実施形態を図２〜図７によって説明する。図２は本発明の画像圧縮装置の一実施例の構成を示すブロック図である。２００は画像圧縮装置、３は暗号処理部、６と６’は暗号データ、１４は圧縮データサイズ情報である。図２の画像圧縮装置２００の構成は、従来の図１の画像圧縮装置１００の構成とほぼ同様であるが、暗号処理部８が内部構成と動作が異なる暗号処理部３に替えたことが図１と異なる。また、圧縮処理部７から圧縮データサイズ情報１４が暗号処理部３に出力される。
【００１５】
図２の圧縮処理部７の構成と動作を図３によって説明する。図３は、本発明の画像圧縮装置に使用する圧縮処理部の一実施例の構成を示すブロック図である。２７は画像圧縮部、１３は画像圧縮部２７から出力される圧縮データ、１４は画像圧縮部２７から出力される圧縮データサイズ情報、１６はスタッフィングサイズ情報、１７はスタッフィング数計算部、１８はスタッフィング発生部、１５はスタッフィング発生部１８から出力されるスタッフィングデータ、１０２は加算部である。
画像圧縮処理部７は、画像圧縮部２７、スタッフィング数計算部１７、及びスタッフィング発生部１８で構成される。スタッフィングデータとは「詰め物データ」のことで、所定のデータ数に調整するために追加する、画像圧縮データとは無関係なデータのことである。例えば、スタッフィングは、ＭＰＥＧ−４の規格では、最初の１ビット（ｂｉｔ）が“０”、それに続くビットが“１”であり、必要なデータ量だけバイト境界まで“１”が連続するデータである。
【００１６】
図３において、画像圧縮装置２００に入力された映像データ１は、画像圧縮処理部７の画像圧縮部２７に入力される。画像圧縮部２７は、入力された映像データ１を圧縮処理して、圧縮データ１３として加算部１０２に出力すると共に、圧縮データ１３のデータサイズを、圧縮データサイズ情報１４としてスタッフィング計算部１７に出力すると共に、暗号処理部３に出力する。
スタッフィング数計算部１７は、入力された圧縮データサイズ情報１４をもとに、目標とするデータサイズに合わせるために必要なスタッフィング数を計算し、スタッフィングサイズ情報１６として、スタッフィング発生部１８に出力する。
スタッフィング発生部１８は、入力されたスタッフィングサイズ情報１６から必要な数のスタッフィングをスタッフィングデータ１５として加算部１０２に出力する。
加算部１０２は、画像圧縮部２７から入力される当該圧縮データ１３に、スタッフィングデータ１５を追加してメモリ部１１に圧縮データ２として出力する。
【００１７】
なお、スタッフィング数計算部１７では、目標とするデータサイズが予め定められているものとし、ユーザの操作若しくは予め登録されたソフトウエアによって変更されるものである。
スタッフィングを付加する目的は、目標発生符号量に調整するためのデータ量調整であったり、データサイズをハードウェアに適したサイズ、例えば４の倍数長に調整するといったことである。
【００１８】
次に、図２の暗号処理部３の構成と動作を図４によって説明する。図４は、本発明の本発明の画像圧縮装置に使用する暗号処理部の一実施例の構成を示すブロック図である。１０３はＸＯＲ演算部、１９はメモリ読出し制御信号、２０はデータ切替信号、２５は鍵ストリーム、２６は鍵データ、２８は初期ベクトル、２９は鍵ストリーム発生制御信号、３４はフラグ付加制御信号、３２はフラグ、２４は暗号処理制御部、１０４はデータ切替器、１０５はフラグ切替器、２３は鍵ストリーム発生部、２１は初期ベクトル２８を発生し鍵ストリーム発生部２３に出力する初期ベクトル発生部、２２は鍵データ２６を鍵ストリーム発生部２３に出力する暗号鍵管理部、３３はフラグ３２を発生しフラグ切替器１０５に出力するフラグ発生部である。
【００１９】
図４において、暗号処理部３の暗号処理制御部２４は、メモリ部１１にメモリ読出し制御信号１９を出力してメモリ部１１から圧縮データ２’を読み出す。
入力された圧縮データ２’は、データ切替器１０４に直接入力する第１の系と、ＸＯＲ演算部１０３に入力する第２の系の２つに分かれる。また、暗号処理部３の暗号処理制御部２４には、圧縮処理部７から出力された圧縮データサイズ情報１４が入力され、この圧縮データサイズに対応して、データ切替信号２０をデータ切替器１０４に出力し、鍵ストリーム発生部２３に鍵ストリーム発生制御信号２９を出力し、フラグ切替器１０５にフラグ付加制御信号３４を出力する。例えば、暗号処理制御部２４は、圧縮データサイズ１４を所定のしきい値と大小比較を行い、その結果により、データ切替信号２０、鍵ストリーム発生制御信号２９、フラグ付加制御信号３４を出力する。しきい値については、後述する。
また、フラグ発生部３３が出力するフラグ３２には数種類ある。このフラグの種類を選択するためのフラグ種別選択信号３５を、暗号処理部２４からフラグ発生部３３に出力する。フラグの種類については後述する。
【００２０】
データ切替器１０４は、暗号処理制御部２４が出力したデータ切替信号２０により切替え、２つの入力系のどちらかの信号を出力する。それにより暗号化されない平文（第１の入力系）のデータと暗号文（第２の入力系）のデータを切替えて、フラグ切替器１０５を経由して暗号データ６としてメモリ１２に出力することができる。
鍵ストリーム発生部２３には、入力される初期ベクトル２８と鍵データ２６とから疑似乱数を生成し、生成した疑似乱数を鍵ストリーム２５としてＸＯＲ演算部１０３に出力する。ＸＯＲ演算部１０３は、この入力された２つのデータ（鍵ストリーム２５と圧縮データ２’）を結合することで、暗号データ６−１を生成する。結合の方法は、例えば、ＸＯＲを実行する処理（ＸＯＲ処理）である。
【００２１】
暗号処理制御部２４は、また、データ切替器１０４を制御する。即ち、暗号処理制御部２４は、データ切替信号２０を生成してデータ切替器１０４に出力し、データ切替器１０４は、入力されたデータ切替信号２０に基づく切替えタイミングによって入力データの出力を切替える。
また暗号処理制御部２４は、このデータ切替信号２０の切替えタイミングに合わせ、メモリ部１１から圧縮データ２’を読み出すためのメモリ読み出し制御信号１９をメモリ部ｌ１に出力する。
また暗号処理制御部２４は、鍵ストリーム発生部２３が鍵ストリーム２５を出力するタイミングを制御する鍵ストリーム発生制御信号２９を鍵ストリーム発生部２３に出力する。
また暗号処理制御部２４は、フラグ付加制御信号３４をフラグ切替器１０５に出力する。このフラグ付加制御信号３４に従って、フラグ切替器１０５は、データ切替器１０４から入力された圧縮データ６−２とフラグ発生部３３から入力されたフラグ３２とのどちらかを出力する。なお、フラグ３２は、暗号データ６の所定の場所に暗号化に関する各種情報を格納したデータである。このフラグの意味については後述する。
【００２２】
このような処理によって、メモリ部１１から出力された圧縮データ２’は、データ切替器１０４を通って、まず、暗号化された暗号データ６−１と暗号化されていない平文データ（圧縮データ２’）とが所定の周期で混在する暗号データ６−２が出力される。そして更に、フラグ切換器１０５を通過することによって、それぞれのデータにフラグ３２が挿入された暗号データ６となって、メモリ部１２に出力されることになる。
【００２３】
暗号化には様々な手法がある。例えば、その一例であるが、圧縮データ２’と鍵ストリーム２５とをＸＯＲすることで暗号データ６−１を生成する。鍵ストリーム２５は、鍵データ２６と、初期値が毎回変化する初期ベクトル２８から乱数列を生成する。ソフトウェアで発生する乱数列は真の乱数ではないので、疑似乱数と呼ぶ。
暗号処理部３の動作を更に、図５を参照して説明する。図５は本発明の一実施例の暗号データのデータ構造を説明するための図である。横軸は時間軸で、左から右に時間が経過する（左の方が時間的に古い処理順序である）。５００−１と５００−２はそれぞれ１フレーム分の画像フレームデータ、５１１は画像フレームデータ５００−１のヘッダデータ領域、５１２は画像フレームデータ５００−１の暗号化対象データ領域、５２はヘッダデータ領域５１１のフレームヘッダ領域、５３はヘッダデータ領域５１１の初期ベクトル領域、５４はヘッダデータ領域５１１のフラグ領域、５５−１、５５−２、５５−３は暗号化対象データ領域５１２の暗号文のデータ領域、５６−１、５６−２、５６−３は暗号化対象データ領域５１２の平文のデータ領域である。
【００２４】
図５において、横軸は間軸で、左側の部分から右側の部分のデータの順に、入力または出力される。
暗号処理部３が出力する暗号データ６の構成は、図５に示すように、１フレーム分の画像フレーム（‥‥‥画像フレーム５００−１、５００−２、‥‥‥）が複数連続したデータストリームとなっている。
そして、１フレームの画像フレームについて、ヘッダデータ領域５１１は暗号化されていない平文のデータ領域である。
また暗号化対象領域５１２はカメラ１５０等から入力された画像データや音声データが書込まれているデータ領域で、１つのフレーム中でも、一部分が平文のデータ領域５６−１、５６−２、５６−３、等に書込まれた平文データと、他の部分が暗号文のデータ領域５５−１、５５−２、５５−３、等に書込まれた暗号化データというようにデータ領域を分け、暗号データと非暗号の平文データの２つの種類のデータが混在して書込まれている。
【００２５】
ヘッダデータ領域５１１は、フレームヘッダ領域５２のほか、様々な状態を示すフラグを格納する領域（フラグ領域５４）や、いずれも受信機側で暗号データを復号する前段階として取得すべき初期ベクトルと呼ばれるデータ領域（初期ベクトル領域５３）など、特別な、暗号化されないデータの集まりである。
ヘッダデータ領域５１１に書込まれたデータの中に画像圧縮データのヘッダを含む場合、平文データが出現する周期は、画像圧縮データのヘッダが出現する周期に関係するものとなる。例えば、ＮＴＳＣ（ National Television Standards Committee ）方式の画像の各フレームを表すヘッダが平文データに含まれる場合では、平文データが出現する周期は、１秒間に約３０回になる。
また更に、暗号化に用いる初期ベクトル２８を暗号データ６’に含ませて伝送する場合には、初期ベクトル２８は暗号データの復号に使用するため、平文データとして伝送する必要がある。例えば、この初期ベクトル２８は、初期ベクトル領域５３に書込まれる。
【００２６】
暗号化対象データ領域５１２の部分は、本発明の特徴の１つである暗号文と平文とが所定の周期で配置された構成になっている。
通常の画像データの暗号化では、それぞれのフレーム毎に、この暗号化対象領域５１２のデータを、全て暗号化する。しかし、本発明では、この暗号化対象領域５１２のデータについて、所定の周期で平文データを暗号処理しないように切替えを行い、平文データと暗号データを所定の周期で混在させる。
データ切替器１０４の動作を図６を参照して説明する。図６(a) は、本発明の暗号化処理における暗号文と平文との切替え処理（間欠処理）動作の一実施例を説明するための図である。図６(b) は、ＸＯＲ演算部１０３の真理値表である。また、ｃ１、ｄ２、ｃ３、ｄ４、ｃ５、ｄ６は、それぞれ、図５における暗号化対象領域５１２のデータ領域に相当するデータ領域に書込まれたデータで、データｃ１が暗号文のデータ領域５５−１に書込まれ、データｄ２が平文のデータ領域５６−１に書込まれ、データｃ３が暗号文のデータ領域５５−２に書込まれ、データｄ４が平文のデータ領域５６−２に書込まれ、データｃ５が暗号文のデータ領域５５−３に書込まれ、データｄ６が平文のデータ領域５６−３に書込まれている。また、ｄ１〜ｄ６は、それぞれが、データｃ１、ｄ２、ｃ３、ｄ４、ｃ５、ｄ６に相当する圧縮データ２’（図４参照）データである。
【００２７】
図６において、暗号化対象の６バイトの平文データ（圧縮データ２’）に対して暗号処理を行う場合、平文データｄ１〜ｄ６に対し、鍵ストリーム２５はその半分のデータ数のｓ１〜ｓ３が出力される。即ち、暗号処理部３（図４参照）には、平文データｄ１〜ｄ６が、データｄ１、ｄ２、ｄ３、‥‥‥と順番に入力され、データｄ１がＸＯＲ演算部１０３に入力されるのに同期して鍵ストリーム発生部２３から鍵ストリーム２５のデータｓ１がＸＯＲ演算部１０３に入力される。同様に、データｄ３に同期してデータｓ２、データｄ５に同期してデータｓ３、‥‥‥と入力される。
そして先ず、平文データｄ１と鍵ストリーム２５のデータｓ１とをＸＯＲ処理し、暗号データ６−２のデータｃ１を得る。この時、データ切替器１０４は、平文データ（圧縮データ２’）と鍵ストリーム２５がＸＯＲ処理されたデータｃ１がフラグ切替器１０５に出力されるように、データ切替え信号２０によって切替えられる。
次に、平文データｄ２が入力された時には、データ切替器１０４は切替えられ、ＸＯＲ処理演算部１０３を通らず、そのまま平文データｄ２として出力される。
同様に、平文データｄ３が入力された時には、鍵ストリーム２５からｓ２が出力され、ＸＯＲ演算処理され、暗号データｃ３が出力される。また次に、平文データｄ４が入力された時には、そのまま平文データｄ２として出力される。
以下、この繰り返しとなる。つまり鍵ストリーム２５は、平文データ（圧縮データ２’）が入力される速度の半分で鍵ストリーム発生部２３から出力されている。
【００２８】
図６の実施例では、平文データに対し、半分のデータ量の鍵ストリームが出力され、その結果、暗号データ６の暗号化対象領域５１２に書込まれたデータは、暗号データと平文データの比がバイト単位で１：１の比率になっている。即ち、ＸＯＲ演算処理を含む暗号処理を、通常の半分に低減できる。
なお、この暗号データと平文データの含まれる割合は、１：１である必要はない。例えば、２：１であったり、暗号データ４バイトが連続した後、平文データが４バイト連続するような割合（４：４）でもかまわない。この切替え処理を制御するために、暗号処理制御部２４は、鍵ストリーム発生部２３からデータ切替信号２０を出力させるように制御する。この暗号処理制御部２４の動作については、後述する。
【００２９】
上述したような、本発明の一実施形態の暗号データと平文データの周期的な配置と、画像圧縮データの性質について、図７を用いて詳しく説明する。図７は、本発明の一実施例で、暗号データと平文データが所定の周期で現れる暗号処理の実施例を説明するための図である。横軸は時間軸で、左から右に時間が経過する（左の方が時間的に古い処理順序である）。
(a) は、バイト境界を示す図で８ビット毎に現れることを示している。この境界で区切ったデータ量が１バイト分である。
(b) は、データ切替信号２０であり、データ切替器１０４に出力されて、Ｈｉレベルでデータｄ１、ｄ３、ｄ５を暗号化し、Ｌｗレベルで平文のままデータｄ２、ｄ４、ｄ６を出力するようにデータ切替器１０４を制御する信号である。
【００３０】
(c) は、圧縮データ２’であり、可変長符号化されているため、符号の長さがビット単位で異なることを示している。
(d) は、(c)の圧縮データ２’のビット単位で異なる符号長が符号の値（圧縮データサイズ情報１４）により異なることを示している。(d) の実施例では、この圧縮データ２’の各符号の符号長が順に、３ビット、３ビット、４ビット、３ビット、２ビット、５ビット、４ビットである。
【００３１】
(e) は、このような符号長のデータに対して、データ切替信号２０に従い暗号処理を行った暗号データ６である。データ領域７４は、ビット長４のデータ７１が書込まれたデータ領域の一部である。しかし、この符号の値は、前半部分の２ビットが暗号化されているために、前半２ビット分は平文のときとは別のデータ値になっている。データ７１は、この暗号化されて隠されたデータ領域の部分を含めた可変長符号のデータであることから、データ領域７４のデータの値と暗号で隠された部分のデータの値が分からないと、データ７１が始まる位置を特定できない。従って、データ領域７４のデータは判別できない。
また、可変長符号は、始まりからのデータ値が１ビットでも判別できないと、その符号長自体も分からないので、データ領域７４の区切り自体が、暗号処理後には特定できなくなる。データ領域７４の区切りが分からないので、データ領域７４に続く、平文として暗号化されていないデータ領域７５もどこから始まるか分からず、またその符号長も分からない。従って、データ領域７５のデータもまた判別できないことになる。以降、データ領域７６の符号も同様に分からなくなり、データの判別ができない。
このように、暗号化対象データ５１２が可変長符号であることから、暗号データの間に暗号化していない平文のデータがはさまれていても、その平文のデータ自体がどの符号か特定できないため、暗号データの推測もできないことになる。
【００３２】
しかし、入力画像に静止画部分が含まれる場合、連続する画像フレームでその静止画部分は同じデジタル画像データになる。動画像圧縮方式の場合、直前の画像フレームのデータと圧縮対象である画像フレームのデータが同じである時、同じデータであることを示すフラグ（以後、符号化済みフラグと称する）を立てるだけで、ある矩形領域１ブロックの圧縮処理が完了することがある。例えば、１フレーム内の画像データの上半分が直前の画像フレームのデータと同じ場合、圧縮データの最初から数バイトは符号化済みフラグを立てるだけになる。この処理の結果、出力される圧縮データは入力される画像の複雑さや絵柄によらず、符号化済みフラグだけの集合になり毎フレームで同じ圧縮データが出力され続けることがある。
既に述べたように、所定の周期で平文データが出現する方式であるため、不正に暗号を解読しようとする者に、この平文データはどのように符号化済みフラグが付加されたかを確認するための手がかりを与えてしまう。
つまり、可変長符号化されたデータであるから、周期的に出現する平文データの符号の区切りが分からず、暗分化せずとも平文データがどの符号であるか特定できないという前提に反し、容易に平文データを推測できてしまう。これは暗号文を解読する手かかりになってしまい望ましくない。
そこで、符号化済みフラグの連続に対する処理を追加する。
【００３３】
例えば、１フレームの画像データを圧縮した結果、データサイズがある値より小さい場合、符号化済みフラグが連続したためにデータサイズが小さくなったと判断することができる。
これは、連続した符号化済みフラグを付けた場合の圧縮効率が、通常の圧縮手段で画像を圧縮した場合に比べ、数倍効率良く、データサイズを小さくできるためである。
従って、静止画部分を含む入力画像に対応するため、圧縮データサイズがあるしきい値より小さい場合、周期的な平文データの出現を止め、全ての圧縮データを暗号化するように処理を切替える。本方式が暗号化による処理負荷が大きい場合の対策でもあるので、圧縮データサイズか小さいだけならば、全ての圧縮データを暗号化しても処理負荷は小さく性能に与える影響がほとんど無い。つまり、データサイズのしきい値は、暗号化による処理負荷の余裕度から、全ての圧縮データを暗号化することが可能なデータサイズを算出するのが望ましい。
なお、符号化済みフラグの連続により圧縮データサイズがどのように変化するを実測した値から決定しても構わない。このデータサイズは、圧縮処理方式に依存する。
また、全ての圧縮データを暗号化したのか、周期的に平文データが出現するのかを受信側に知らせるため、後述するように、フラグ発生部３３で識別情報を圧縮データに付加する。
【００３４】
さて、本発明の、周期的に若しくは所定の周期で、暗号データと平文データを切替える機能を実現しているのは、暗号処理制御部２４である（図４参照）。
図８のフローチャートを用いて、この暗号処理制御部２４の動作を説明する。図８は、本発明の暗号処理部の制御方法の一実施例を説明するためのフローチャートである。図８のフローチャートの処理は、画像１フレーム分の圧縮データ（平文データ）を対象とした処理である。
また図中の記号の意味は、ｉが現在処理している圧縮データの位置、ｊが暗号対象領域５１２の暗号と平文を一組の単位としたとき（以降、暗号・平分ペアと称する）の処理したバイト数、Ｌが１フレームの圧縮データの総バイト数、Ｆがフラグを挿入する位置、Ｐがヘッダを含む平文データ（ヘッダデータ５１１）の終了位置、Ｃが暗号対象領域５１２の終了位置（＝Ｌ−１）、Ｍが暗号・平文ペアの暗号暗号部分のバイト数、Ｎが暗号・平文ペアの平文部分のバイト数である。図７の実施例に出した暗号データ１バイト、平文データ１バイトが周期的に現れる処理の場合は、Ｍ＝１、Ｎ−１である。
【００３５】
図８において、カウンタ値初期化処理ステップ８１では、ｉとｊのカウンタ値を０にする（ｉ＝０、ｊ＝０）。
フレーム長判断処理ステップ８２では、現在処理を行っている位置ｉが、圧縮データの総バイト数Ｌより小さいか否か（ｉ＜Ｌ？）の判断を行い、小さければステップ８３に進み、大きければ処理を終了する。
フラグ位置判断処理ステップ８３では、現在の処理位置ｉがフラグを挿入する位置Ｆと等しいか否か（ｉ＝Ｆ？）を判断し、等しければステップ８４に進み、等しくなければステップ８５に進む。
フラグ付加処理８４では、圧縮データにフラグを付加した後、ステップ８４に進む。
暗号範囲判断処理ステップ８５では、現在の処理位置ｉが平文データの終了位置Ｐより後ろで、かつ暗号対象領域５１２の終了位置Ｃより前若しくは等しいか、否か（Ｐ＜ｉ≦Ｃ？）を判断し、これが成り立てば暗号化の対象領域であるので、ステップ８６に進み、否であればヘッダデータ領域５１１であるので暗号処理を行わずにステップ９１に進む。
【００３６】
信号切替判断処理８６では、暗号・平文ペアの処理位置を示すカウンタの値ｊが、暗号・平文ペアの暗号部分の長さＭより小さいか否か（ｊ＜Ｍ）の判断か、または、圧縮データサイズがしきい値以下か否かの判断を行い、どちらかが成立するならばステップ８７に進み、どちらも否であれば、ステップ８８に進む。
即ち、カウンタの値ｊが、暗号・平文ペアの暗号部分の長さＭより小さい時には、暗号処理のプロセスに進み、否であれば、更に圧縮データサイズを確認しデータサイズが所定のしきい値以下であるか否かを判断する。しきい値以下であれば暗号処理のプロセスに進み、否であれば平分データのまま出力する処理プロセスに進む。
尚、上記ステップ８６では、先に、圧縮データサイズを確認しデータサイズが所定のしきい値以下であるか否かを判断し、否である時にカウンタの値ｊが、暗号・平文ペアの暗号部分の長さＭより小さいか否か（ｊ＜Ｍ）を判断しても良い。
【００３７】
データ切替信号Ｈｉ出力ステップ８７では、データ切替信号２０をＨｉで出力する（図７(b) 参照）。また、データ切替信号Ｌｗ出力ステップ８８では、データ切替信号２０をＬｗで出力する（図７(b) 参照）。
信号切替周期判断処理ステップ８９では、現在のバイト数の値ｊがＭとＮを足した数より小さいか否か、即ち、暗号・平文ペアの１単位をまだ処理中か否か（ｊ＜Ｍ＋Ｎ？）を判断し、小さければステップ９０に進み、否であればステップ９１に進む。
カウンタ値加算処理部９０では、暗号・平文ペアの次のデータを処理するため、値ｊに１を加える（ｊ＝Ｊ＋１）。
また、カウンタ値初期化処理ステップ９１では、現在の暗号・平文ペアの処理は終了したとして、次の暗号・平文ペアの処理の開始に備えるため、値ｊを０にしてステップ９２に進む。
カウンタ値加算処理ステップ９２では、現在の処理位値ｉの処理が終了したのでｉに１を加え（ｉ＝ｉ＋１）、次のデータ位置の処理を行うため、フレーム長判断処理ステップ８２に戻る。
このような処理動作で、データ切替信号２０の信号レベルをＨｉ（高）かＬｗ（低）に切替える。
【００３８】
次に、フラグ発生部３３から出力するフラグ３２について説明する。
フラグ３２は、上記図８のフローチャートにある暗号・平文ペアの発生周期、値Ｍと値Ｎを暗号データ６に付加し、受信側にその周期を知らせるためのものである。１フレームの画像圧縮データの先頭にある平文データの鎖域にフラグ３２を書込むことで、受信側でもフラグ３２の値をそのまま読むことができる。受信側では、この値ＭとＮに従い、暗号データが現れる周期またはタイミングを知り、暗号データの復号処理を実行する。このフラグ３２は、送信側と受信側とで同じ仕様であれぱ、どのような値をとってもかまわない。
また、全ての圧縮データを暗号化したのか、もしくは所定の周期で周期的に平文データが出現するのかを受信側に知らせるための情報もフラグ３２に持たせる。
【００３９】
なお、上述の実施例では、略号・平文ペアの発生周期を１フレームの画像圧縮データの先頭にある平文データの領域にフラグを書込むとしたが、このフラグは、圧縮データを伝送するプロトコルでの上位階層で付加しても構わない。例えば、ネットワーク伝送時では、画像圧縮データを伝送するための上位階層であるＲＴＰ（ Real-time Transport Protocol ）等のプロトコルにより伝送するなどの方法が考えられる。
このように画像圧縮データの暗号処理を、暗号データと平文データが周期的若しくは所定の周期で現われるよう制御することで、暗号処理に必要なプロセッサの負荷を低減することができる。
【図面の簡単な説明】
【００４０】
【図１】従来の画像圧縮装置の構成を示すブロック図。
【図２】本発明の画像圧縮装置の一実施例の構成を示すブロック図。
【図３】本発明の画像圧縮装置に使用する圧縮処理部の一実施例の構成を示すブロック図。
【図４】本発明の本発明の画像圧縮装置に使用する暗号処理部の一実施例の構成を示すブロック図。
【図５】本発明の一実施例の暗号データの構造を説明するための図。
【図６】本発明の暗号化処理における暗号文と平文との切替え処理動作の一実施例を説明するための図。
【図７】本発明の暗号処理の一実施例を説明するための図。
【図８】本発明の暗号処理部の制御方法の一実施例を説明するためのフローチャート。
【符号の説明】
【００４１】
１：映像データ、  ２、２’：圧縮データ、  ３：暗号処理部、  ４、４’：暗号データ、  ５：配信データ、  ６、６−１、６−２：暗号データ、  ７：圧縮処理部、  ８：暗号処理部、  ９：配信処理部、１１、１２：メモリ部、  １３：圧縮データ、  １４：圧縮データサイズ情報、  １５：スタッフィングデータ、  １６：スタッフィングサイズ情報、  １７：スタッフィング数計算部、  １８：スタッフィング発生部、  １９、１９’：メモリ読出し制御信号、  ２０：データ切替信号、  ２１：初期ベクトル発生部、  ２２：暗号鍵管理部、  ２３：鍵ストリーム発生部、  ２４：暗号処理制御部、  ２５：鍵ストリーム、  ２６：鍵データ、  ２７：画像圧縮部、  ２８：初期ベクトル、  ２９：鍵ストリーム発生制御信号、  ３２：フラグ、  ３３：フラグ発生部、  ３４：フラグ付加制御信号、  ３５：フラグ種別選択信号、  ５２：フレームヘッダ領域、  ５３：初期ベクトル領域、  ５４：フラグ領域、  ５５−１、５５−２、５５−３：暗号文のデータ領域、  ５６−１、５６−２：平文のデータ領域、  １００：画像圧縮装置、  １０１：プロセッサ部、  １０２：加算部、  １０３：ＸＯＲ演算部、  １０４：データ切替器、  １０５：フラグ切替器、  １５０：カメラ、  １６０：ネットワーク、  ２００：画像圧縮装置、  ５００−１、５００−２：画像フレームデータ、  ５１１：ヘッダデータ領域、  ５１２：暗号化対象データ領域。
【図１】
2009213083.tif 000003
【図２】
2009213083.tif 000004
【図３】
2009213083.tif 000005
【図４】
2009213083.tif 000006
【図５】
2009213083.tif 000007
【図６】
2009213083.tif 000008
【図７】
2009213083.tif 000009
【図８】
2009213083.tif 000010