JP4136812B2 - 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 - Google Patents

画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP4136812B2
JP4136812B2 JP2003189604A JP2003189604A JP4136812B2 JP 4136812 B2 JP4136812 B2 JP 4136812B2 JP 2003189604 A JP2003189604 A JP 2003189604A JP 2003189604 A JP2003189604 A JP 2003189604A JP 4136812 B2 JP4136812 B2 JP 4136812B2
Authority
JP
Japan
Prior art keywords
encryption
data
decryption
unit
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
JP2003189604A
Other languages
English (en)
Other versions
JP2005026970A (ja
JP2005026970A5 (ja
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003189604A priority Critical patent/JP4136812B2/ja
Priority to US10/877,665 priority patent/US7515711B2/en
Publication of JP2005026970A publication Critical patent/JP2005026970A/ja
Publication of JP2005026970A5 publication Critical patent/JP2005026970A5/ja
Application granted granted Critical
Publication of JP4136812B2 publication Critical patent/JP4136812B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6334Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
    • H04N21/63345Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • H04N21/8153Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics comprising still images, e.g. texture, background image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8193Monomedia components thereof involving executable data, e.g. software dedicated tools, e.g. video decoder software or IPMP tool
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Facsimile Transmission Control (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は画像データの暗号化及び暗号復号技術に関するものである。
【0002】
【従来の技術】
画像データなどのアクセス制御を目的として、画像データの暗号化やスクランブルを行う技術がある。これは、予め画像データを暗号鍵情報を用いて暗号化し、この暗号鍵情報に対応する復号鍵情報を有する者だけが正しく再生できるようにする技術である。
【0003】
一方、画像データは情報量が大きいために、これを効率的に伝送、及び蓄積する際に圧縮符号化を行う場合が多い。圧縮符号化としては、例えば、ISO/IEC JTC 1/SC 29/WG1にて標準化されているJPEG2000規格と呼ばれる技術などが適応される。前述した画像データの暗号化はJPEG2000規格のような圧縮符号化された画像データに対して施される場合もある。これにより、画像データを効率的に伝送、及び蓄積すると同時に、画像データに対するアクセスを制御できるという利点がある。
【0004】
特に、JPEG2000規格のような圧縮符号化技術によれば、画像データは、解像度、画質、空間的領域、及び画素を構成する成分などに応じて階層的に圧縮符号化できる。こうした階層構造を有する画像データに対して、階層構造に応じた暗号化処理を行うことにより、階層構造に応じたアクセス制御を実現することができる。
【0005】
例えば、解像度毎にアクセス制御する場合、低解像度成分は暗号化せずに、高解像度成分だけ暗号化するようにすれば、低解像度成分は誰でも再生可能であるが、高解像度成分は許可された利用者(復号鍵の所有者)だけが正しく再生するようにアクセス制御できるようになる。
【0006】
また、JPEG2000規格のような圧縮符号化データを暗号化する際には、圧縮段階において暗号化を施すことも可能である。
【0007】
その1つとしては、JPEG2000規格に基づいた圧縮符号化過程における量子化後の係数(或いは、そのその係数の符号ビットプレーン)に対して暗号化を施し、前記暗号化された量子化係数をエントロピ符号化することによって、暗号化された圧縮符号化データを生成することである(第1の暗号化方法)。この暗号化方法によれば、画像データに圧縮処理と暗号化処理を施すような場合、圧縮符号化の過程で暗号化を実行できるため、全体の処理時間を短くすることが可能であり効率的である。また、この暗号化方法によって暗号化された圧縮符号化データは、JPEG2000規格と互換性を保つことが可能であるという利点も有する。
【0008】
もう1つは、JPEG2000規格に基づいた圧縮符号化過程における最終的な符号化データに対して暗号化を施すことによって暗号化された圧縮符号化データを生成することである(第2の暗号化方法)。この暗号化方法によれば、既に圧縮符号化された圧縮符号化データに対して暗号化処理を実行するような場合、暗号化処理における処理時間を短くすることが可能であり効率的である。また、この暗号化方法によって暗号化された圧縮データは暗号化の前後でデータの容量が変化し難いという利点を有する。
【0009】
また、上記第1、第2の暗号化方法の2種類の暗号方式に限定されることなく、3種類以上の様々な圧縮符号化段階におけるデータを暗号化することも考えられる。
【非特許文献1】
ISO/IEC 15444−1 “Information technology − JPEG2000 image coding system Part1 − Core coding system”
【0010】
【発明が解決しようとする課題】
上記の暗号化手法によれば、所定の圧縮符号化段階において暗号化を施すことは可能であるものの、複数の圧縮符号化段階を複数設定可能とし、前記複数の圧縮符号化段階の中から選択した何れかの圧縮符号化段階の符号化データを暗号化することは困難である。また、上記のような、第1、第2の暗号化方法の両方を同時に用いることも困難でもある。
【0011】
本発明はかかる問題点に鑑みなされたものであり、圧縮符号化データ、特に、ウェーブレット変換を利用したJPEG2000による圧縮符号化データに好適な暗号化並びに暗号復号技術を提供しようとするものである。
【0012】
【課題を解決するための手段】
この課題を解決するため、例えば本発明の画像暗号化方法は以下の工程を備える。すなわち、
ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化方法であって、
コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、符号化する際の各処理段階のデータを示す何れかの段階と、前記符号化画像データのうち、暗号化処理を行う暗号化処理部分を指定する指定工程と、
該指定工程で指定された段階のデータ形式となるまで、前記符号化画像データを復号する復号工程と、
該復号工程により復号したデータを、前記指定された暗号化処理部分に対応するデータと前記指定された暗号化処理部分以外に対応するデータとに分離し、前記暗号化処理部分に対応するデータに対して暗号化する暗号化工程と、
該暗号化工程で暗号化して得たデータと前記暗号化処理部分以外に対応するデータとを合成し、前記指定工程で指定された段階に後続する符号化処理段階を行わせる符号化工程と、
前記符号化データ中のヘッダ領域に、前記指定された段階と前記暗号化処理部分とを特定する情報を格納し、前記符号化工程で符号化されたデータを出力する出力工程とを備える。
【0013】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を説明する。
【0014】
<全体構成の説明>
実施形態におけるシステム概要例を図25に示す。図中、250はインターネットであって、251は例えばデジタルカメラやイメージスキャナ、フィルムスキャナ等で撮像した画像データを圧縮符号化、及び暗号化処理を行う装置である。252はインターネット250を介して画像データを受信し、復号する装置、253は復号する際に必要となる鍵情報を記憶している鍵サーバある。装置251乃至253はパーソナルコンピュータ等の汎用装置で構わない。実施形態における処理の流れを簡単に説明すると、次の通りである。
【0015】
装置251では、所望とする画像データを圧縮符号化及び暗号化処理を行い、インターネット250を介して配布する。配布するのは装置251が直接行ってもよい(例えばメール)し、適当なサーバを介して配布しても構わない。ただし、暗号化されている関係で、それを解除するために必要な鍵情報を、その画像データを特定する情報(例えばID)と共に鍵サーバ253が有するDBに登録しておく。画像復号装置252は所望とする画像を受信し、復号を行ない閲覧するものであるが、暗号化されている画像データを閲覧するには、鍵サーバ253にその画像を特定する情報を通知して、鍵情報を要求する。この結果、鍵情報が鍵サーバ253より受信するので、それを用いて暗号化を解除し、復号再生する。また、暗号化、及び復号の際に不足しているツール(プログラム)をツールサーバ254に要求し、当該ツールを画像暗号化装置、及び画像復号装置に配信した後、暗号化、及び復号を実行するようにしてもよい。更に、復号の際にツールの不足などにより復号処理を実行できない場合には、復号サーバに暗号化データを送信し、復号サーバ255で暗号を復号した後、復号データを画像復号装置に送信するようにしても良い。
【0016】
実施形態では説明を簡単なものとするため、暗号化対象の画像(ファイル)はISO/IEC JTC1/SC29/WG1 15444−1において標準化されている、通称JPEG2000と呼ばれる圧縮符号化方式によって符号化されたデータであるものとして説明するが、JPEG2000に本発明が限定されることなく、JPEGなど種々の圧縮符号化の方式を適応可能であることは以下の説明から明らかになるであろう。
【0017】
さて、装置251での圧縮処理、及び暗号化処理の詳細を説明する前に、実施形態における暗号化処理のアプリケーションの操作画面(ウインドウ)について図26を用いて説明することとする。
【0018】
図示において、260がそのウインドウを示している。ウィンドウ260の左側には、暗号化対象となるファイルを指定する欄261を有する。261に対して不図示のキーボードよりファイル名により指定しても良いし、その欄201の右端に設けられたボタンをクリックすることで、ファイルブラウザを表示し、その中で選択しても構わない。263は選択されたファイルで示される画像を表示する領域である。261により指定されたファイルが圧縮符号化データである場合は、復号して表示するようにすればよい。
【0019】
一方、ウインドウ260の右側には、暗号化後の出力ファイル名を入力する欄262、及び、暗号化された画像を表示する領域264が設けられている。
【0020】
また、ウィンドウ260の下側には、夫々、圧縮符号化段階を指定する領域265、暗号化アルゴリズムを指定する領域266、及び鍵ファイルを指定する領域267が設けられている。領域265、266には、複数の候補の中から選択できるようにするため、コンボボックス形式(欄右端をクリックすると、複数の候補一覧のプルダウンメニューが表示され、選択するコントロール)にしている。上記設定を行ない、図示の「OK」ボタンをクリックすると、設定された鍵ファイルの中身に従い、暗号化処理が行われることになる。なお、鍵ファイルは図25に示すように、暗号化したファイルをユニークに示す情報(IDやファイル名等)と共に鍵サーバ253にアップロードされ、登録されることになる。或いは、既に鍵サーバ253に登録されている鍵ファイルを、267により指定するようにしても良い。
【0021】
尚、図26に示した操作画面は本発明に適応可能な一つの例を示すものであり、これに限定されるものでないことは明らかである。
【0022】
<圧縮符号化処理部及び方法>
図1は、本実施形態における画像圧縮符号化機能を説明する図である。図25における装置251が実行する機能図と考えれば分かりやすい。なお、便宜的に以下では処理部として説明するが、各処理部に相当する部分はコンピュータプログラムであっても構わないのは明らかである。
【0023】
図1において、11は符号化対象の画像データを入力する画像データ入力部であって、イメージスキャナ、画像データが記憶された記憶媒体から読取るドライブ、もしくへネットワークからダウンロードするのであればネットワークインタフェース等がこれに相当する。12は離散ウェーブレット変換部、13は量子化部、14はエントロピ符号化部、15はコードストリーム出力部である。
【0024】
まず、画像入力部11に対して符号化対象となる画像を構成する画素信号がラスタスキャン順に入力し、その出力は離散ウェーブレット変換部12に入力される。以降の説明では、その説明を容易なものとするため、画像信号はモノクロの多値画像を表現しているが、カラー画像等、複数の色成分を符号化するならば、RGB各色成分、或いは輝度、色差成分を上記単色成分として圧縮すればよい。
【0025】
離散ウェーブレット変換部12は、入力した画像信号に対して2次元の離散ウェーブレット変換処理を行い、変換係数を計算して出力するものである。図2(a)は離散ウェーブレット変換部12の基本構成を表したものであり、入力された画像信号はメモリ21に一時的に記憶され、処理部22により順次読み出されて変換処理が行われ、再びメモリ21に書き込まれる。本実施形態においては、処理部22における処理の構成は同図(b)に示すものとする。同図において、入力された画像信号は遅延素子およびダウンサンプラの組み合わせにより、偶数アドレスおよび奇数アドレスの信号(偶数、奇数番目の画素データ)に分離され、2つのフィルタpおよびuによりフィルタ処理が施される。同図sおよびdは、各々1次元の画像信号に対して1レベルの分解を行った際のローパス係数およびハイパス係数を表しており、次式により計算されるものとする。
d(n) = x(2*n + 1) - floor((x(2*n) + x(2*n + 2))/2) (式1)
s(n) = x(2*n) + floor((d(n - 1) + d(n))/4) (式2)
ただし、x(n)は変換対象となる画像信号であり、floor(x)はxを越えない最大整数を返す関数である。
【0026】
以上の処理により、画像信号に対する1次元の離散ウェーブレット変換処理が行われる。2次元の離散ウェーブレット変換は、1次元の変換を画像の水平及び垂直方向に対して順次行うものであり、その詳細は公知であるのでここでは説明を省略する。図2(c)は2次元の変換処理により得られる2レベルの変換係数群の構成例であり、画像信号は異なる周波数帯域の係数列HH1、HL1、LH1、…、LLに分解される。なお、以降の説明ではこれらの係数列をサブバンドと呼ぶ。また、同じ分割レベルに属するサブバンドの集合を解像度レベルと呼ぶ。例えば、HH1、HL1、LH1は同じ解像度レベルに属する。各サブバンドの係数は後続の量子化部13に出力される。
【0027】
量子化部13は、入力した係数を所定の量子化ステップにより量子化し、その量子化値に対するインデックスを出力する。ここで、量子化は次式により行われる。
q = sign (c) floor(abs(c) / Δ) (式3)
sign(c) = 1 ; c ≧ 0 (式4)
sign(c) = -1; c < 0 (式5)
ここで、cは量子化対象となる係数である。
【0028】
また、本実施形態においてはΔの値として1を含むものとする。この場合、実際に量子化は行われず、量子化部13に入力された変換係数はそのまま後続のエントロピ符号化部14に出力される。
【0029】
エントロピ符号化部114は入力したサブバンドを互いに重ならない複数の矩形領域に分割し、夫々の分割した矩形領域に含まれる量子化インデックスをビットプレーンに分解し、ビットプレーンを単位として2値算術符号化を行ってコードストリームを出力する。ここで、エントロピ符号化部における符号化単位となる矩形領域をコードブロックと呼ぶ。
【0030】
図3はエントロピ符号化部14の動作を説明する図であり、この例においては4×4の大きさを持つコードブロックにおいて非0の量子化インデックスが3個存在しており、それぞれ+13、−6、+3の値を持っている。エントロピ符号化部14はコードブロックを走査して最大値MAXを求め、次式により最大の量子化インデックスを表現するために必要なビット数Sを計算する。
S = ceil(log2( abs(MAX) )) (式6)
ここでceil(x)はx以上の整数の中で最も小さい整数値を表す関数である。
【0031】
図3においては、最大の係数値は「+13」であるのでSは4であり、シーケンス中の16個の量子化インデックスは同図(b)に示すように4つのビットプレーンを単位として処理が行われる。ただし、正負の符号のビットプレーンを生成する必要があるので、実際はS+1の5個のビットプレインを単位として処理が行われる。
【0032】
最初にエントロピ符号化部114は最上位ビットプレーン(同図MSBで表すビットプレーンで、正負の符号ビットプレーンである)の各ビットをエントロピ符号化(本実施の形態では2値算術符号化)し、ビットストリームとして出力する。次にビットプレーンを1レベル下げ、以下同様に対象ビットプレーンが最下位ビットプレーン(同図LSBで表す)に至るまで、ビットプレーン内の各ビットを符号化し符号出力部15に出力する。
【0033】
また、以上の様にエントロピ符号化されたエントロピ符号を所定の符号量となるように集めた処理単位をレイヤと呼ぶ。複数のレイヤを構成することにより、復号時に種々の符号量に対応した画像を再生することが可能となる。
【0034】
<圧縮復号処理部、及び方法>
次に、以上述べた圧縮符号化処理部に符号列を復号する方法について説明する。図25における装置252の一部、もしくは、図1に示すコードストリーム出力部15からの出力を入力すると言えばわかり易い。
【0035】
図4は本実施の形態における圧縮復号化処理部の構成を表すブロック図であり、41がコードストリーム入力部、42はエントロピ復号部、43は逆量子化部、44は逆離散ウェーブレット変換部、45は画像出力部である。なお、これらについても便宜的に処理部としているが、それらはコンピュータプログラムでも実現できるのは明らかである。
【0036】
コードストリーム入力部41は符号列を入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、あるいは後続の処理ユニットに対して該当するパラメータを送出するものである。コードストリームに含まれるビットストリームはエントロピ復号部42に出力される。
【0037】
エントロピ復号部42はビットストリームをコードブロックに分割し、コードブロック内においてビットプレーン単位で復号し、出力する。この時の復号化手順を図5に示す。図5(a)は復号対象となるコードブロックをビットプレーン単位で順次復号化し、最終的に量子化インデックスを復元する流れを図示したものであり、同図の矢印の順にビットプレーンが復号される。復元された量子化インデックスは逆量子化部43に出力される。
【0038】
逆量子化部43は入力した量子化インデックスから、次式に基づいて離散ウェーブレット変換係数を復元する。
c' = Δ * q ; q ≠ 0 (式7)
c' = 0 ; q = 0 (式8)
ここで、qは量子化インデックス、Δは量子化ステップであり、Δは符号化時に用いられたものと同じ値である。c'は復元された変換係数であり、符号化時ではsまたはdで表される係数の復元したものである。変換係数c'は後続の逆離散ウェーブレット変換部44に出力される。
【0039】
図6は逆離散ウェーブレット変換部44の構成および処理のブロック図を示したものである。同図(a)において、入力された変換係数はメモリ61に一時的に記憶される。処理部62は1次元の逆離散ウェーブレット変換を行い、メモリ61から順次変換係数を読み出して処理を行うことで、2次元の逆離散ウェーブレット変換を実行する。2次元の逆離散ウェーブレット変換は、順変換と逆の手順により実行されるが、詳細は公知であるので説明を省略する。また同図(b)は処理部62処理ブロックを示したものであり、入力された変換係数はuおよびpの2つのフィルタ処理を施され、アップサンプリングされた後に重ね合わされて画像信号x'が出力される。これらの処理は次式により行われる。
x'(2*n) = s'(n) - floor ((d'(n-1) + d'(n))/4) (式9)
x'(2*n+1) = d'(n) + floor ((x'(2*n) + x'(2*n+2))/2) (式10)
こで、式(1)、式(2)、および式(9)、式(10)による順方向および逆方向の離散ウェーブレット変換についてであるが、完全再構成条件を満たす、すなわち、量子化ステップΔが1とするなら、ビットプレーン復号において全ての復号されたビットプレーンを、逆ウェーブレット変換して得た画像信号x'は原画像の信号xと一致することになる。
【0040】
以上の処理により画像が復元されて画像出力部45に出力される。 画像出力部45はモニタ等の画像表示装置であってもよいし、あるいは磁気ディスク等の記憶装置であってもよい。
【0041】
<暗号化処理部及び方法>
次に、本実施形態に適応可能な暗号化処理方法について説明する。
【0042】
図7は本実施形態における暗号処理部の構成を示すブロック図であり、71がコードストリーム入力部、72がコードストリーム暗号化部、73が暗号化コードストリーム出力部である。
【0043】
コードストリーム入力部71は、コードストリームを入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し、必要な場合は処理の流れを制御し、或いは後続の処理ユニットに対して該当するパラメータを送出するものである。図1に示すコードストリーム出力部15からの出力を入力すると言えば分かり易い。また、入力されたコードストリームはコードストリーム暗号化部72に出力される。
【0044】
コードストリーム暗号化部72には、種々の暗号化処理がアドオン、もしくは追加可能となっている。
【0045】
追加可能な暗号化処理は、それぞれ暗号化する対象データ(符号化する際の段階)が異なるものであり、実施形態では、
・コードストリーム出力部からの出力
・エントロピ符号化部からの出力
・量子化部からの出力
・離散ウェーブレット変換部からの出力
・画像データ発生部からの出力
の中の少なくとも1つ(全部でも良い)が切り換え可能に設定登録できる。
【0046】
更に、各処理部の出力の全データでなく、適当な一部のデータを設定するようにすることも可能である。例えば、
・コードストリーム出力部からの出力のうちパケットボディ
・量子化部からの出力のうち符号ビットプレーン
のように指定可能としてもよい。尚、パケットボディについては後述する。
【0047】
上記構成において、コードストリーム入力部71は、図26で示された暗号化段階(欄265で指定された段階)に関する情報、暗号化アルゴリズム、及び暗号化鍵情報が与えられるが、コードストリーム暗号化部72が如何なる符号化段階での、如何なる暗号化アルゴリズムによる暗号化処理が可能かを把握するため、コードストリーム暗号化部72に対して処理能力の問い合わせリクエスト(符号化ストリームと区別可能なコマンド形式)を信号cとして出力する。この結果は、図示の信号Pとしてコードストリーム入力部71に返送されることになるので、ユーザが指定した符号化段階及びアルゴリズムに対する暗号化処理機能を持っていれば、その暗号化処理で暗号化するよう指示を与える。もし、なければその暗号化処理は行わない。
【0048】
なお、ここでは、図26に示すように、ユーザが暗号化する段階を指定するものとして説明した。しかし、毎回、指定する作業は必要になるので、一旦設定した段階に関する情報や暗号化アルゴリズム、鍵情報をHDD等に記憶保持しておいて、特に変更がない限りは従前の設定内容で暗号化するようにしても構わない。
【0049】
何れにしても、コードストリーム暗号化部72は、コードストリーム入力部71より指定された符号化段階及び暗号化アルゴリズムに従い暗号化処理、及び、符号化処理を行ない、暗号化されたコードストリームC’を暗号化コードストリーム出力部73に出力する。暗号化コードストリーム出力部73は図26で示された出力先に指定されたファイル名で出力することになる。
【0050】
なお、コードストリーム暗号化部72に登録される処理の中には、符号化処理の途中の段階でのデータを暗号化処理する処理が含まれることになるので、その段階まで復号処理を行う機能を有することになる。
【0051】
ここで、コードストリーム暗号化部72に適応可能なコードストリーム暗号化処理方法について、2つの例を用いて説明する。1つは、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の例(第1の暗号化方法)、もう1つは、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合である(第2の暗号化方法)。
【0052】
尚、これは具体例を示すためのものであって、第1の暗号化方法と、第2の暗号化方法とは、設定された圧縮符号化段階が異なれば良いし、前述したような種々の圧縮符号化段階を適応可能であることは明らかである。
【0053】
まず、第1の暗号化処理方法について図9を用いて説明する。図9は本実施の形態に適応可能な第1の暗号化処理方法を示す図である。同図において、91はエントロピ復号部、92は暗号箇所抽出部、93は暗号化部、94は合成部、95はエントロピ符号化部である。
【0054】
エントロピ復号部91は図4におけるエントロピ復号部42、エントロピ符号化部95は図1におけるエントロピ符号化部15と同様の動作をするので説明は省略する。
【0055】
暗号箇所抽出部92は、エントロピ復号部91からの量子化インデックスQが入力され、入力された量子化インデックスのうち符号ビットプレーンQ1だけが抽出され、抽出された符号ビットプレーンQ1が後段の暗号化部93に出力される。一方、それ以外のビットプレーンQ2は合成部94に出力される。
【0056】
次に、暗号化部93は、暗号箇所抽出部92からの符号ビットプレーンQ1が入力され、入力された符号ビットプレーンQ1に対して暗号化処理が施され、暗号化された符号ビットプレーンQ1'が出力される。
【0057】
本実施形態において特に暗号化アルゴリズムについては特に限定せず、DES(Data Encryption Standard)や、AES(Advanced Encryption Standard)などの共通鍵暗号アルゴリズムや、RSAなどの公開鍵暗号アルゴリズムなどの種々の暗号アルゴリズムを適用可能である。また、適応した暗号化アルゴリズムに関しては図13に示すようにコードストリーム中に記録し、後述する暗号復号処理部に伝達するようにすればよい。更に、暗号化の処理単位や、モードなどの情報も同様に伝達するようにする。
【0058】
次に、合成部94では、暗号化処理が施された符号ビットプレーンQ1'、及び暗号箇所抽出部92で抽出されなかったビットプレーンQ2が入力され、暗号化されたビットプレーンQ1'がQ2の符号ビットプレーンの位置に合成され、合成された量子化インデックスQ'が出力される。
【0059】
ここで、暗号箇所抽出部92、暗号化部93、及び合成部94における処理の例について図10を用いて説明する。
【0060】
図10(a)は、図3に示したコードブロックの一つの列(図示は図3の矢印Aで示される1行)を示す図である。図(a)に示すように量子化インデックス{+13,0,0,−6}の符号ビットは、正符号を0、負符号を1とした場合、夫々{0,0,0,1}であり(零値は0とした)、符号ビットプレーンQ1として、暗号箇所抽出部92において抽出される。前述したように、本実施形態におけるエントロピ符号化処理は、各ビットプレーン内部の冗長性を利用し、ビットプレーン毎に実行される。よって、量子化インデックスを構成する符号ビットプレーンの全てを暗号化することにより、この冗長性が小さくなり、後段のエントロピ符号化処理における圧縮効果が小さくなる場合がある。ゆえに、本実施形態では、量子化インデックスのうち符号ビットプレーンだけを暗号箇所抽出部92で抽出し、暗号化する。
【0061】
次に、抽出された符号ビットプレーンQ1{0,0,0,1}は暗号化部93において暗号化処理が施され、暗号化された符号ビットプレーンQ1'{1,0,0,0}となる。なお、図示では、たまたまゼロ以外の値の符号が逆転しているが、暗号化アルゴリズム並びに鍵情報と、暗号化対象のデータの論理演算によって決定されるので、実質的に、ランダムになり、暗号化鍵情報に対応する解除鍵情報がない限りは正しい符号ビットプレーンに復号することはできない。
【0062】
こうして、暗号化されたビットプレーンQ1'は、合成部94において、図10(b)に示すように他のビットプレーンQ2と合成され、暗号化された量子化インデックスQ'{−13,0,0、+6}として出力される。
【0063】
以上、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の第1の暗号化処理方法について説明した。
【0064】
次に、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第2の暗号化処理方法について説明する。
【0065】
図11は本実施の形態に適応可能な第2の暗号化処理方法を示す図である。同図において、111は暗号箇所抽出部、112は暗号化部、113は合成部、114は適合処理部である。
【0066】
暗号箇所抽出部111は、コードストリームCを入力し、コードストリームC中のパケットボディC1のみを抽出し、抽出されたパケットボディC1を後段の暗号化部112に出力する。一方、パケットボディ以外の構成要素C2は合成部113に出力される。
【0067】
ここで、図12を用いてパケットボディC1の抽出について説明する。図12(a)はコードストリームC(図1のJPEG2000の符号化処理後のストリーム)の全体構成を示している。同図(a)に示すように、コードストリームCはひとつのメインヘッダと、複数のタイルパートから構成されている。また、個々のタイルパートは同図(b)の如く、1つのタイルパートヘッダと、複数のパケットから構成されている。更に、夫々のパケットはパケットヘッダとパケットボディで構成されている。本実施形態においては、図12に示す構成のコードストリームCのうち、パケットボディのみを抽出し、暗号化処理を施すようにする。このように処理することにより、暗号化したコードストリームC'を、入力されたコードストリームCと同じ規定(例えば、JPEG2000規格)に従った構成とすることができる。
【0068】
暗号化部112は、上記のように、暗号箇所抽出部111からのパケットボディC1を入力し、入力されたパケットボディC1に対して暗号化処理を施し、暗号化されたパケットボディC1'を出力する。
【0069】
本実施形態において特に暗号化アルゴリズムについては特に限定せず、DES(Data Encryption Standard)や、AES(Advanced Encryption Standard)などの共通鍵暗号アルゴリズムや、RSAなどの公開鍵暗号アルゴリズムなどの種々の暗号アルゴリズムを適用可能である。また、適応した符号化段階や暗号化アルゴリズムに関しては図13に示すようにコードストリーム中のメインヘッダ中に記録し、後述する暗号復号処理部に伝達するようにすればよい。更に、暗号化の処理単位や、モードなどの情報も同様に伝達するようにする。なお、メインヘッダに暗号化した段階を示す情報、暗号化処理単位を示す情報、並びに、使用した暗号化アルゴリズムを示す情報やモードを格納する点は、先に説明した図9、図10でも同様である。
【0070】
また、暗号化部112は、暗号化処理したパケットボディC1'をJPEG2000規格に適合させるための処理を実行する適合ツール114を用いて暗号化処理を実行するようにしてもよい。
【0071】
次に、合成部113を説明する。この合成部112は、暗号化処理が施されたパケットボディC1'、及び暗号箇所抽出部111で非暗号箇所として判定されたコードストリームの構成要素C2を入力し、暗号化されたパケットボディC1'が元ののパケットボディの位置に合成され、合成されたコードストリームC'が出力される。
【0072】
以上、圧縮段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第2の暗号化処理方法について説明した。
【0073】
こうして暗号化処理が施された暗号化コードストリームは、暗号化コードストリーム出力部73から出力される。
【0074】
次に、以上説明したような暗号化処理の流れを図8を用いて説明する。図8は本実施形態に適応可能な暗号化処理を説明するフローチャートである。
【0075】
まず、ステップS81では、暗号化処理される圧縮符号化段階が指定される(図26参照)。次に、ステップS82で、指定された圧縮符号化段階における暗号化処理は、コードストリーム暗号化処理部72で実行可能か否かが判定される。これは、予め、コードストリーム暗号化部72において、その暗号化処理に関する処理能力Pを記録しておき、コードストリーム暗号化部72から、その暗号化処理に関する処理能力を示す情報Pを受信することなどによって判定可能である。ここで、コードストリーム暗号化処理部72は、その暗号化処理に関する処理能力を示す情報として、以下のように図1に示したような圧縮符号化処理部における各出力部の出力データを暗号化可能か否かを示す情報を送信するようにする。
・コードストリーム出力部からの出力を処理可能
・エントロピ符号化部からの出力を処理可能
・離散ウェーブレット変換部からの出力を処理可能
・画像データ発生部からの出力を処理可能
更に、各処理部の出力の全データでなく、適当な一部のデータに対する処理能力を送信するようにすることも可能である。例えば、
・コードストリーム出力部からの出力のうちパケットボディを処理可能
・量子化部からの出力のうち符号ビットプレーンを処理可能
のように送信可能としてもよい。
【0076】
いずれにしても、ステップS82において、指定された圧縮符号化段階のデータを暗号化処理不可であると判断した場合には、この暗号化処理を終了する。このとき、指定された段階に対する暗号化できない旨を示すエラーメッセージ表示するとよい。
【0077】
一方、指定された段階での暗号化が可能であると判断した場合には、ステップS83に進み、ステップS81で判定された段階となるまで、符号化データを復号する。そして、暗号化対象のデータが生成されると、ステップS84でユーザにより指定された暗号化アルゴリズムに従い暗号化処理を行う。この後は、ステップS85に進み、ステップS83とは逆に符号化処理を行っていき、最終的に符号化データが出来上ったところで、そのメインヘッダにどの符号化段階のデータに対して暗号化を行ったか、その際に利用したアルゴリズムは何であったのかを示す情報(図13)を格納し、ステップS87で符号化ストリームとして出力することになる。
【0078】
なお、先に説明した第2の暗号化処理方法は、符号化データの最終段階でのパケットボディを暗号化するものであったので、ステップS83、ステップS85の処理は実質的にパスすることになる。
【0079】
以上であるが、ステップS82における判定処理について例を用いて説明する。例えば、ステップS81において圧縮符号化段階として「エントロピ符号化部からの出力」が指定され、処理能力として「エントロピ符号化部からの出力を処理可能」と受信した場合には、実行可能であると判定し、処理をステップS83に進める。一方、例えば、圧縮符号化段階として「離散ウェーブレット変換部からの出力」が指定され、処理能力として「エントロピ符号化部からの出力を処理可能」と受信した場合には、実行不可能であると判定し、暗号化判定処理を終了する。
【0080】
以上説明したように、本実施形態によれば、符号化後のデータ、及び、符号化する際に各中間段階で発生するデータの所望とする段階に対して暗号化処理を行うことが可能になる。
【0081】
また、実施形態によれば、種々の圧縮符号化段階において、種々の暗号化アルゴリズムを選択可能とするために、適応した圧縮符号化段階、或いは暗号化アルゴリズムを、図13に示すような情報としてコードストリーム中(メインヘッダ等)に記録することになるので、この情報を解析すればどの段階で暗号化され、それに用いられたアルゴリズムを検出することが可能となり、その結果を暗号復号処理部において用いることが可能となる。
【0082】
<暗号復号処理部及び方法>
次に、本実施の形態に適応可能な暗号復号処理方法について説明する。
【0083】
図14は本実施の形態における暗号復号処理部の構成を示すブロック図であり、141がコードストリーム入力部、142がコードストリーム暗号復号部、143が暗号復号コードストリーム出力部である。
【0084】
コードストリーム入力部141はコードストリームを入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、或いは後続の処理ユニットに対して該当するパラメータを送出するものである。このコードストリーム入力部141は、図7に示すコードストリーム出力部73からの出力を入力すると言えば分かり易い。また、入力されたコードストリームはコードストリーム暗号復号部142に出力される。
【0085】
コードストリーム入力部141の具体的な処理は、暗号復号処理が実行される(前述した)圧縮符号化段階、暗号化アルゴリズムを、入力されたコードストリーム中の図13に示すデータを解析することで取得し、コードストリーム暗号復号部142がそれに応じた復号能力を有するのかを判断する。そして、その復号能力があると判断し、尚且つ、ユーザより暗号解除鍵情報が与えられた場合に、暗号化段階、アルゴリズム、及び、暗号化鍵情報をコードストリーム暗号復号部142に提供し、その後で、暗号化された符号化ストリムをコードストリーム暗号復号部142に出力する。
【0086】
次に、コードストリーム暗号復号部142で実行されるコードストリーム暗号復号処理について説明する。コードストリーム暗号復号処理142には暗号化されたコードストリームC’が入力され、入力されたコードストリームC’に対して前段のコードストリーム入力部で設定された圧縮符号化段階のデータに対し、設定された暗号化解除鍵情報と暗号復号アルゴリズムで暗号復号処理を実行し、その結果を暗号復号処理後のコードストリームC''が出力される。このコードストリームC''は、図9のエントロピー復号部91に渡されることになる。
【0087】
ここで、暗号化処理部で用いた例と同様に、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の第1の暗号復号方法、及び、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第2の暗号復号方法について夫々説明する。
【0088】
尚、本実施形態では、説明のために、第1の暗号復号方法として圧縮符号化段階が「コードストリーム出力部からの出力のうちパケットボディを処理可能」と指定された場合の例、及び第2の暗号復号方法として圧縮符号化段階が「量子化部からの出力のうち符号ビットプレーンを処理可能」とした場合の例を用いて説明する。しかしながら、本発明はこれに限定されることなく、第1の暗号復号方法と第2の暗号復号方法は、設定された圧縮符号化段階が異なることを特徴とするものであり、前述したような種々の圧縮符号化段階を設定可能であることは明らかである。
【0089】
まず、第1の暗号復号処理方法について図16を用いて説明する。図16は本実施の形態に適応可能な第1の暗号復号処理の機能ブロック図であって、図14におけるコードストリーム暗号復号部142の一部である。図示において、161はエントロピ復号部、162は暗号箇所抽出部、163は暗号復号部、164は合成部、165はエントロピ符号化部である。
【0090】
エントロピ復号部161は図4におけるエントロピ復号部42、及びエントロピ符号化部165は図1におけるエントロピ符号化部15と、また、暗号箇所抽出部162、及び合成部164は図9における暗号箇所抽出部92、及び合成部94と同様の動作をするので説明は省略する。
【0091】
暗号復号部163は、暗号箇所抽出部162からの正負の符号ビットプレーンQ1'を入力し、入力された符号ビットプレーンQ1’を、設定された暗号解除鍵情報に基づき暗号復号処理を施し、暗号復号処理された符号ビットプレーンQ1''を出力する。
【0092】
ここで、暗号箇所抽出部162、暗号復号部163、及び合成部164における処理の例について図17を用いて説明する。
【0093】
図17(a)はエントロピ復号後のコードブロックの一つの行を示す図である。同図(a)に示すように量子化インデックス{−13、0、0、+6}の符号ビットは、正符号を0、負符号を1とした場合、夫々{1、0、0、0}であり(零値は0とした)、符号ビットプレーンQ1'として、暗号箇所抽出部162において抽出される。
【0094】
次に、抽出された符号ビットプレーンQ1’{1,0,0,0}は暗号復号部163において暗号復号処理が施され、暗号復号処理された符号ビットプレーンQ1''{0,0,0,1}となる。
【0095】
そして、暗号復号されたビットプレーンQ1''は、合成部164において、図17(b)に示すようにビットプレーンQ2と合成され、暗号復号された量子化インデックスQ''{−13,0,0,6}として出力される。このあと、図16のエントロピ符号化部165で再エントロピ符号化が行われ、暗号解除された符号ストリームが生成されることになる。これ以降は、図4に示される処理を経ることで、画像データにまで復元されることになる。
【0096】
以上、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と設定された場合の第1の暗号復号処理方法について説明した。次に、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第2の暗号復号処理方法について説明する。
【0097】
図18は本実施の形態に適応可能な第2の暗号復号処理方法の機能ブロック図であり、図14におけるコードストリーム暗号復号部142の一部でもある。
【0098】
なお、図18に示す構成は、図13に示したようなコードストリーム中に記録された情報を読み取ることにより、機能することになる。
【0099】
同図において、181は暗号箇所抽出部、182は暗号復号処理部、183は合成部である。
【0100】
暗号箇所抽出部181、及び合成部183は、夫々図16における暗号箇所抽出162、及び合成部164と同様の動作をするので、説明は省略する。
【0101】
暗号復号処理182は、暗号箇所抽出部181からのパケットボディC1'を入力し、入力されたパケットボディC1'に対して暗号復号処理を施し、暗号復号処理したパケットボディC1''を出力する。
【0102】
尚、暗号復号部184は、図11で説明したような適合処理114が用いられている場合は、適合ツール184を用いて暗号復号処理を実行するようにしてもよい。
【0103】
以上、圧縮符号化段階として「コードストリーム出力部からの出力のうちパケットボディ」と設定された場合の第2の暗号復号処理方法について説明したが、暗号復号処理が施された暗号復号コードストリームは、暗号復号コードストリーム出力部143から出力される。
【0104】
次に、以上説明したような暗号復号処理の流れを図15を用いて説明する。図15は本実施形態に適応可能な暗号復号処理を説明するフローチャートである。
【0105】
まず、ステップS151では、コードストリームに付加されている、暗号化情報に関する情報(暗号処理が実行されている圧縮符号化段階、暗号化アルゴリズム)を読み取り、暗号化された符号化段階を判定する。
【0106】
次に、ステップS152で、読み取られた圧縮符号化段階における暗号復号処理は、コードストリーム暗号復号処理部142で実行可能か否かが判定される。これは、予め、コードストリーム暗号復号部142において、その暗号復号処理に関する処理能力Pを記録しておき、コードストリーム暗号復号部142から、その暗号復号処理に関する処理能力を示す情報Pを受信することなどによって判定可能である。暗号復号処理に関する能力は、前述した暗号化処理に関する処理能力と同様であるので説明は省略する。
【0107】
ステップS152において、実行不可能である場合には本暗号復号処理を終了する。この際には、暗号復号処理を実行できないことを通知するようにしても良い。
【0108】
一方、暗号復号処理が可能であると判断した場合には、ステップS153に進め、暗号化対象となった符号化段階になるまで、復号処理を行う。そして、ステップS154において暗号復号処理を行う。ステップS155では、ステップS153とは逆に圧縮符号化処理を行うことになる。このあと、ステップS156では、符号化ストリームにおける暗号化情報を除去したメインヘッダを生成し、ステップS157で暗号復号した、すなわち、暗号化を解除した圧縮符号化ストリームを出力することになる。
【0109】
以上説明したように、本実施形態による暗号復号処理によれば、複数の圧縮符号化段階のうち、暗号化処理がいずれの圧縮符号化段階に対するデータに対して施されたかを示す情報を、暗号化処理部から暗号復号処理部に送信するようにすることによって、異なる圧縮符号化段階で暗号化されたデータを共通の暗号復号処理部で処理することが可能となる。
【0110】
<機能追加に関しての変形例1>
以上説明したように、本実施形態によれば、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から選択可能とし、選択された圧縮符号化段階の暗号化が可能である場合は暗号化を実行し、一方で、選択された圧縮符号化段階の暗号化が不可能である場合には暗号化を実行しないようにすることが可能である。同様に、本実施形態によれば、暗号復号段階において、前述したように暗号化処理された、いずれかの圧縮符号化段階の暗号化データを暗号復号処理可能であるか否かを判定し、暗号復号可能である場合には暗号復号処理を実行し、一方で、暗号復号不可能である場合には暗号復号処理を実行しないようにすることが可能である。
【0111】
しかしながら、本発明はこれに限定されることなく、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から選択可能とし、選択された圧縮符号化段階の暗号化が可能である場合には暗号化を実行し、一方で、選択された圧縮符号化段階の暗号化が不可能である場合には、暗号化を実行可能とするように機能を追加し、暗号化処理を実行可能状態とすることも可能である。更に、暗号復号段階において、前述したように暗号化処理された、いずれかの圧縮符号化段階の暗号化データを暗号復号処理可能であるか否かを判定し、暗号復号可能である場合には暗号復号処理を実行し、一方で、暗号復号不可能である場合には暗号復号処理を可能とするように機能を追加し、暗号復号処理を実行状態とすることが可能である。この変形例について、図19及び図20を用いて説明する。なお、ここで説明する変形例の場合、図7や図14にかかる構成はコンピュータプログラムで構築する場合となる。
【0112】
まず、図19を用いて暗号化処理の変形例を説明する。同図は、図7中のコードストリーム入力部71で実行される暗号化処理の変形例を説明するフローチャートである。
【0113】
まず、ステップS191では、ユーザによって指定された暗号化処理対象となる圧縮符号化段階を取得する。次いで、ステップS192に進み、ユーザにより指定された圧縮符号化段階における暗号化処理が、コードストリーム暗号化処理72で実行可能か否か、換言すれば、コードストリーム暗号化処理72が指定された段階の暗号化処理機能を有しているか否かを判断する。これは、予め、コードストリーム暗号化部72において、その暗号化処理に関する処理能力Pを記録しておき、コードストリーム暗号化部72から、その暗号化処理に関する処理能力を示す情報Pを受信することなどによって判定可能である。
【0114】
そして、コードストリーム暗号化部72が、ユーザから指定された圧縮符号化段階のデータの暗号化処理可能であると判断した場合にはステップS193に進み、コードストリーム暗号化部72に対して、その機能を実行するよう指示すると共に暗号化アルゴリズムを指定した後、符号化データストリームを出力して暗号化を行わせる。なお、ステップS193での処理の内容は、図8のステップS83乃至S87と実質的に同じであるので、図19では簡単に示した。
【0115】
一方、ステップS192において、コードストリーム暗号化部72には、ユーザが指定した符号化段階に対する暗号化処理機能が備わっていないと判断した場合には、処理をS194に進め、機能追加可能か否かが判定される。ここで、機能追加可能かどうかの判定は、本装置(ここでは暗号化する装置であるので、図25の装置251が該当する)がインターネット接続環境を有し、ツールサーバ254に接続できるか否か、及び、ツールサーバにログインするためのアカウントを所持しているか否か等から判定する。場合によってはツールサーバ254に接続し、該当するプログラムの配信要求し、それを受信したか否かで判断しても良い。或いは、リムーバブルディスクやHDなどの記憶媒体から取得可能か否かによって判断しても良い。本発明においては、特に機能追加する手段については限定しない。尚、以降では、説明のため追加するプログラムはツールサーバからダウンロードして取得するようにする。いずれにしても、この機能追加不可であると判断した場合には、これ以上の処理は打ち切る。また、機能追加可能と判断した場合には、ステップS195に進んで、図25のツールサーバ254から該当する暗号化処理に必要なプログラムをダウンロードし、コードストリーム暗号化部72に追加登録し、ステップS193で今回追加登録した機能プログラムと暗号化アルゴリズムを指示して暗号化を行わせる。
【0116】
ここで、ステップS195における機能追加処理について、前述した第1の暗号化処理方法、及び第2の暗号化処理方法の例を用いて説明する。ここでは、例として、図7におけるコードストリーム暗号化部72には前記第2の暗号化処理方法を実行する機能プログラムのみ実装されており、第1の暗号化処理方法を実行する機能プログラムが実装されていない場合であって、ステップS191において、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」と指定された場合(即ち、第1の暗号化処理を実行することを指定された場合)について説明する。
【0117】
前述したように第1の暗号化処理方法は図9に示すような構成で実現している。また第2の暗号化処理方法は図11に示した構成で実現している。これら2つの図を比べると明らかであるように、第2の暗号化処理方法(図11)の場合、暗号箇所抽出部111の前段にエントロピ復号部を配置し、且つ、合成部113の後段にエントロピ符号化部を配置することによって、目的とする第1の暗号化処理方法(図9)の構成とすることが可能である。
【0118】
従って、図19におけるステップS195では、ツールサーバからエントロピ復号部、及びエントロピ符号化部に相当するプログラムを受信し、コードストリーム暗号化部72に実装された第2の暗号化処理部において、エントロピ復号部を暗号箇所抽出部111の前段に配置し、且つ、エントロピ符号化部を合成部113の後段に配置することによって、第1の暗号化処理部と同等の機能を有するように機能追加するようにする。このようにすることで、各圧縮符号化段階で暗号化する場合であっても、互いに重複する部分的なプログラムを組み合わせることで、複数の暗号化に対処できることになり、コードストリーム暗号化部72が肥大化することを抑制することが可能となると共に、ツールサーバからダウンロードする情報量も、必要なパーツ的なプログラムで良くなるので、ダウンロードにかかる時間を短縮させることが可能となる。
【0119】
以上説明したように、機能追加されたコードストリーム暗号化部72を用いて、指定された圧縮符号化段階で暗号化するようにすることが可能である。
【0120】
なお、上記は、図9、図11に示される各処理部が個々に独立したプログラムであって、それぞれの入出力は所定の規則に従ったものとする。そして、図9、図11に示すように、各プログラムはパイプライン形式に処理順序を並べることで、所望とする処理を行うことを可能にしている。ここで、上記のように、図11に示す各処理部111乃至114ようなプログラム(以下、パーツプログラムという)が既に存在していて、図9に示すような機能を実現する場合に、エントロピ復号部91、エントロピー符号化部95を新に必要とすることを判別可能とする構成を図29を用いて説明する。
【0121】
図示において、291は暗号化する段階別(E1、E2、…)の項目と、その際に使用するパーツプログラムとその順序を示すリスト項目とで構成される暗号化プログラムテーブルを示している。暗号化段階E1、E2の添え字の数字が小さいほど、暗号化しようとする段階が早いことを示している。また、パーツプログラムリスト項目中のP1、P2…はそれぞれパーツプログラムのファイル名を示し、下線が付されたパーツプログラムは現在ハードディスク292に記憶保持されていることを示している。換言すれば、下線が付されていないパーツプログラムはハードディスク292には記憶されていないことを示している。各パーツプログラムは、エントロピー復号にかかるプログラムであったり、逆量子化プログラムであったり、復号処理の各段階を行うもの、逆に、符号化する際の各段階のプログラムであったりする。
【0122】
上記図9、図11の関係で言えば、図示の段階Ejが図11の暗号化段階に相当し、段階Eiが図9の段階であることになる。今、段階Eiを実行しようとしたとき、下線が示されていないパーツプログラム100、104が存在しないことが判明するので、そのパーツプログラム100、104をツールサーバからダウンロードすれば良いことが分かる。ツールサーバからダウンロードができた場合には、そのパーツプログラム100、104をハードディスク292に保存するとともに、パーツプログラムリストを更新すればよい。なお、図示では、存在するプログラムかどうかを下線で示したが、これは便宜的なものであって、これに限定されるものではない。要するに、暗号化しようとする段階で必要なパーツプログラム及びその順序を規定するテーブルがあって、必要とするパーツプログラムが存在するか否かが判別可能になっていれば良い。
【0123】
次に、図20を用いて暗号復号判定処理の変形例を説明する。図20は、図14中のコードストリーム入力部141で実行される暗号復号判定処理の変形例を説明するフローチャートである。
【0124】
まず、ステップS201では、符号化データストリーム中の所定データ(メインヘッダ)を解析することで、暗号復号処理を実行する圧縮符号化段階がいずれであるのかを判定する。
【0125】
次に、ステップS202で、指定された圧縮符号化段階における暗号復号処理が、現在のコードストリーム暗号復号処理部142で実行可能か否かが判定される。これは、予め、コードストリーム暗号復号部142において、その暗号復号処理に関する処理能力Pを記録しておき、コードストリーム暗号復号部142から、その暗号復号処理に関する処理能力を示す情報Pを受信することなどによって判定可能である。
【0126】
そして、指定された圧縮符号化段階のデータを暗号復号処理可能である場合には、処理をステップS203に進め、コードストリーム暗号復号部142に対し、圧縮符号化段階を示す情報、並びに、暗号解読アルゴリズム、並びに、ユーザにより指定された暗号解除するための鍵情報を渡した後、暗号化された符号化ストリームを出力することで、暗号復号化処理を行わせる。なお、ステップS203の処理は、実質的に図15におけるステップS153乃至157と同様であるので、簡単に示した。
【0127】
一方、現在のコードストリーム暗号復号部142には、入力した暗号化データを復号できないと判断した場合には、ステップS204に進み、コードストリーム暗号復号部142にその機能追加可能か否かが判定される。ここで、追加されるべき機能は、例えば、所定のツールサーバからネットワークを経由して受信するようにしてもよい。その場合、ステップS204においては、暗号復号処理部から所定のツールサーバに対して機能配信要求を行うようにする。すると、ツールサーバでは、要求された機能を実装したツールが配信可能か否かが判定される。そして、配信可能である場合には、ツールサーバから暗号復号処理部に対して当該ツールを配信し、一方で配信不可能である場合には、配信不可能である旨を通知するようにする。或いは、リムーバブルディスクやHDなどの記憶媒体から取得するようにしてもよい。本発明においては、特に機能追加する手段については限定しない。尚、以降では、説明のため追加するプログラムはツールサーバからダウンロードして取得するようにする。ステップS204において、ツールサーバからツールプログラムが配信したと判断した場合には処理をステップS205に進め、配信不可能である旨を受信した場合には暗号復号処理を終了する。
【0128】
ステップS205では、ツールサーバから受信した機能をコードストリーム暗号復号処理部142に追加登録し、ステップS203で暗号復号処理を行うことになる。
【0129】
ここで、ステップS205における機能追加処理について、前述した第1の暗号復号処理方法、及び第2の暗号復号処理方法の例を用いて説明する。ここでは、例として、図14におけるコードストリーム暗号復号処理部142においては前記第2の暗号復号処理方法にかかるプログラム(複数の部分的なプログラムで構成される)のみ実装されており、図20におけるS201においてはコードストリームC'を解析した結果として、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」のデータが暗号化されていた場合(即ち、第1の暗号復号処理を実行することが指定された場合)について説明する。
【0130】
前述したように第1の暗号復号処理方法は図16に示すような構成であり、また第2の暗号復号処理部は図18に示したような構成である。これら2つの図を比べてみると明らかであるように、第2の暗号復号処理部(図18)は、暗号箇所抽出部181の前段にエントロピ復号部を配置し、且つ、合成部183の後段にエントロピ復号部を配置することによって、第1の暗号化処理部(図16)と同様の構成とすることが可能である。
【0131】
従って、図20におけるステップS204においては、サーバからエントロピ復号部、及びエントロピ符号化部を受信し、コードストリーム暗号復号部142に実装された第2の暗号復号処理部において、エントロピ復号部を暗号箇所抽出部181の前段に配置し、且つ、エントロピ符号化部を合成部183の後段に配置することによって、第1の暗号復号処理部と同等の機能を有するように機能追加する。
【0132】
なお、上記説明から明らかなように、暗号復号する際にも、図29に示すような構成のテーブルが存在することになる。
【0133】
以上説明したように、機能追加されたコードストリーム暗号復号部142を用いて、指定された圧縮段階で暗号復号するようにすることが可能である。
【0134】
尚、本実施形態では、追加されるべき機能はサーバからネットワークを経由して受信するようにしたが、本発明はこれに限定されることなく、CD、DVD、HDなどの記憶媒体から獲得する、或いは、コードストリーム中に記録されているモジュールを抽出する、及び、これらを組み合わせて用いることによって追加するようにすることも可能である。
【0135】
<機能追加に関しての変形例2>
以上説明したように、本実施形態によれば、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から選択可能とし、選択された圧縮符号化段階の暗号化が可能である場合には暗号化を実行し、一方で、選択された圧縮符号化段階の暗号化が不可能である場合には、暗号化を実行可能とするように機能を追加し、暗号化処理を実行可能状態とすることが可能である。更に、暗号復号段階において、前述したように暗号化処理された、いずれかの圧縮符号化段階の暗号化データを暗号復号処理可能であるか否かを判定し、暗号復号可能である場合には暗号復号よりを実行し、一方で、暗号復号不可能である場合には暗号復号処理を可能とするように機能を追加し、暗号復号処理を実行状態とすることが可能である。
【0136】
しかしながら、本発明はこれに限定されることなく、暗号化段階において、暗号化処理の対象となる圧縮符号化段階を複数の中から2つ以上選択可能とし、選択された2つ以上の圧縮符号化段階のデータに対して暗号化処理を実行することが可能である。更に、暗号復号段階において、複数の圧縮符号化段階のデータに対して暗号化処理が施されたデータに対して、夫々独立に暗号復号処理を実行することが可能である。この変形例を図21及び図22を用いて説明する。
【0137】
先ず、図21を用いて暗号化処理部の変形例を説明する。同図は図7で説明した暗号化処理の変形例を説明するブロック図である。
【0138】
図21において、211はエントロピ復号部、212は暗号箇所抽出部、213は暗号化部、214は合成部、215はエントロピ符号化部、216は暗号箇所抽出部、217は暗号化部、218は合成部、219は適合処理部である。
【0139】
図22に示す構成は、前述した第1の暗号化処理方法での暗号化結果の出力(その出力結果は図9と等価)を、第2の暗号化処理方法での処理(図11)の入力として機能するよう、図9の構成と図11の構成とを連結することによって実現可能である。このような構成とすることによって、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」のデータと「コードストリーム出力部からの出力のうちパケットボディ」のデータの両方に対して暗号化処理を実行することが可能である。最終的に出力される符号化データのメインヘッダには、2箇所で暗号化処理が施されている点、それぞれの暗号化アルゴリズムが記述されることになる。暗号化に用いた暗号化鍵情報は同じであってもよいし、異なっていても構わない。
【0140】
次に、図22を用いて暗号復号処理部の変形例を説明する。図22は図14で説明した暗号復号処理の変形例を説明するブロック図である。
【0141】
図22において、221はエントロピ復号部、222は暗号箇所抽出部、223は暗号復号部、224は合成部、225はエントロピ符号化部、226は暗号箇所抽出部、227は暗号復号部、228は合成部、229は適合処理部である。
【0142】
図22に示す構成は、前述した第2の暗号復号処理部(図18)の出力を、前述した第1の暗号復号処理方法を実現する機能図(図16)の入力とすることで実現可能である。このような構成とすることによって、前述した図21のような構成の暗号化処理部によって暗号化処理されたようなデータの暗号をすべて復号することが可能となる。即ち、圧縮符号化段階として「量子化部からの出力のうち符号ビットプレーン」のデータと「コードストリーム出力部からの出力のうちパケットボディ」のデータの両方に対して暗号復号処理を実行することが可能である。
【0143】
一方、図21のような構成の暗号化処理部によって暗号化処理されたようなデータを、前述した図16、図18のような構成の暗号復号処理部に入力することによって暗号化処理されたデータを選択的に復号するようにすることも可能である。
【0144】
尚、本実施形態では、複数の圧縮符号化段階における暗号化処理、及び暗号復号処理の例として、圧縮符号化段階が「量子化部からの出力のうち符号ビットプレーン」のデータを暗号化、及び暗号復号する第1の暗号化処理、及び第1の暗号復号処理、及び圧縮符号化段階が「コードストリーム出力部からの出力のうちパケットボディ」のデータを暗号化、及び暗号復号する第2の暗号化処理、及び第2の暗号復号処理の例を用いて説明したが、本発明はこれに限定されることなく、前述した種々の圧縮符号化段階のデータに対する暗号化処理、及び復号処理の夫々を二つ以上組み合わせて実行するようにすることが可能であることは明らかである。
【0145】
<コードストリーム暗号復号部の変形例>
以上説明した実施形態においては、暗号復号段階において、暗号復号処理を実行可能か否かを判定し、実行不可能な場合は暗号復号処理を中止したり、或いは、機能を追加するようにしていた。しかしながら本発明はこれに限定されることなく、実行不可能な場合に、暗号復号処理をネットワーク先のサーバへ委託するようにすることも可能である。この変形例について図23に示す暗号復号処理部の変形例に従い説明する。
【0146】
同図は、図14で説明した暗号復号処理部の変形例を説明するブロック図である。
【0147】
図23において、231はコードストリーム入力部、234は第1のコードストリーム暗号復号部、232は第2のコードストリーム暗号復号部、233は暗号復号コードストリーム出力部である。
【0148】
コードストリーム入力部231は暗号化されたコードストリームを入力し、それに含まれるヘッダを解析して後続の処理に必要なパラメータを抽出し必要な場合は処理の流れを制御し、或いは後続の処理ユニットに対して該当するパラメータを送出するものである。図7に示す暗号化コードストリーム出力部73からの出力を入力すると言えば分かり易い。
【0149】
また、コードストリーム入力部231では、暗号復号処理を実行する圧縮符号化段階を判定する。これは、これまで説明したように、入力されたコードストリームを解析し、コードストリームに付加されている圧縮符号化段階に関する情報を検出することにより判定する。
【0150】
更に、コードストリーム入力部231では、指定された圧縮符号化段階における暗号復号処理を第2のコードストリーム暗号復号部232で実行可能か否かを判定するための判定処理が実行される。この判定結果に応じて、入力されたコードストリームC'が、暗号化コードストリーム入力部231から第1のコードストリーム暗号復号部234(復号サーバ255)、或いは第2のコードストリーム暗号復号部232へ出力される。このとき、暗号復号鍵情報も送信することになる。なお、暗号復号鍵情報はインターネットのベースサーバに保存されている場合には、そのアドレスとファイル名の情報を、復号サーバ255である第1のコードストリーム暗号復号部234に送信しても構わない。
【0151】
第1の暗号化コードストリーム暗号復号部234、及び第2の暗号化コードストリーム暗号復号部232は、暗号化されたコードストリームC'を入力し、入力されたコードストリームに対して、夫々前述した第1の暗号復号処理、あるいは、第2の暗号復号処理を実行し、暗号復号処理されたコードストリームC''が出力される。ここで、第1のコードストリーム暗号復号部234は、リモートコンピュータ上で実行するようにし、コードストリームC'を暗号化コードストリーム入力部231から、ネットワークを経由して第1のコードストリーム暗号復号部に送信するようにしても良い。或いは、ローカルコンピュータ上で、第2のコードストリーム暗号復号部とは独立に実行するようにし、コードストリームC'を暗号化コードストリーム入力部231から、第1のコードストリーム暗号化復号部に入力するようにしても良い。
【0152】
そして、第1のコードストリーム暗号復号部232、及び第2のコードストリーム暗号復号部234で暗号復号処理されたコードストリームC''は、最終的に暗号復号コードストリーム出力部233から出力される。
【0153】
次に、以上説明した変形例の処理の流れを図24を用いて説明する。
【0154】
まず、ステップS241では、コードストリームに付加されている、暗号復号処理が実行されている圧縮符号化段階に関する情報を検出する。次に、ステップS242において、指定された圧縮符号化段階における暗号復号処理は、第2のコードストリーム暗号復号処理部232(装置自身内のコードストリーム暗号復号部142)において実行可能か否かが判定される。実行可能である場合には処理をステップS243に進み、暗号復号処理を行わせる。一方で実行不可能である場合には処理をS244に進める。ステップS243では、第2のコードストリーム暗号復号処理部232において第2の暗号復号処理を実行させる。
【0155】
一方、ステップS244では、第1のコードストリーム暗号復号部244において第1の暗号復号処理が実行可能か否かが判定される。実行可能である場合には処理をS245に進め、一方で実行不可能である場合には処理を暗号復号処理を終了する。
【0156】
ステップS245では、暗号化コードストリーム入力部231から第1のコードストリーム暗号復号部234へ、ネットワークを経由して暗号化コードストリーム及び暗号復号鍵情報を送信し、外部サーバに該当するコードストリームの暗号復号処理を行わせる。そして、ステップS247において、暗号復号がなされたコードストリームを受信する。
【0157】
尚、インターネットを介して、外部サーバ(上記例では第1のコードストリーム暗号復号部234)に送信する際、及び、外部サーバが本装置に復号結果を送信する際、第3者に盗聴される可能性は否定できないので、本装置と外部サーバ間で予め設定された暗号化を施すようにしてもよい。
【0158】
以上説明したように、本実施形態によれば、ローカルマシンで暗号復号処理が実行不可能な場合に、ネットワーク先のサーバへ暗号処理を委託することが可能である。
【0159】
例えば、暗号化コードストリームとして、前述した第1の暗号化処理が施されたコードストリームが入力された場合、ローカルコンピュータに実装された第2のコードストリーム暗号復号部では処理できないため、暗号化処理が施されたコードストリームをリモートコンピュータに送信し、リモートコンピュータ上で第1のコードストリーム暗号復号処理を実行するようにし、暗号復号処理されたコードストリームを再びローカルコンピュータに送信するようにすることが可能となる。
【0160】
尚、本変形例は、前述した第1のコードストリーム暗号化処理部において暗号化処理されたコードストリーム(即ち、量子化部からの出力が暗号化されているコードストリーム)を、ローカルコンピュータで復号可能か否かをステップS242において判定し、処理が不可能である場合には、サーバへ暗号復号処理を委託するような例を説明したが、本発明はこれに限定されることなく、例えば、ローカルのコンピュータで所定の暗号化方式(例えば、AES)を用いて暗号化処理されたコードストリームを、ローカルコンピュータで復号可能か否かをステップS242において判定し、処理が不可能(例えば、ローカルコンピュータにおいてはAESの復号処理することが不可能)である場合には、サーバへ暗号復号処理(例えば、AESの復号処理)を委託するようにすることも可能である。
【0161】
更に、本変形例は、ローカルコンピュータには何れかの暗号復号処理が実装されているような例を用いて説明したが、本発明はこれに限定されることなく、ローカルコンピュータには何れの暗号復号処理も実装されておらず、全ての暗号復号処理をサーバに委託するようにすることも可能である。
【0162】
<圧縮符号化過程で暗号化する変形例>
以上説明した実施形態においては、圧縮符号化が施された圧縮符号化データを入力し、入力された圧縮符号化データに暗号化処理、或いは暗号復号処理を施し、暗号化された圧縮符号化データ、或いは暗号復号処理された圧縮符号化データを出力ようにしていた。
【0163】
しかしながら、本発明はこれに限定されることなく、暗号段階において、画像データを入力し、入力された画像データを圧縮符号化すると同時に、何れかの圧縮符号化段階で暗号化処理を施し、暗号化された圧縮符号化データを出力するようにも構成可能である。また、このように構成した場合も、暗号化処理に関する処理能力Pは、圧縮符号化過程の最終段階である「コードストリーム出力部からの出力を処理可能」に限定されることなく、前述した様に種々の処理能力を設定可能である。これは、本変形例においては、画像データを完全に圧縮符号化することが可能であるが、圧縮符号化過程のデータを取得可能なインターフェイスを備えているか否かにより、実質的な処理能力Pが変化し得ることによるものである。
【0164】
更に、暗号復号段階において、暗号化された圧縮符号化データを入力し、入力された画像データを圧縮復号すると同時に、何れかの圧縮符号化段階で暗号復号処理を施し、圧縮復号された画像データを出力するようにも構成可能である。また、このように構成した場合も、暗号復号処理に関する処理能力Pは、圧縮復号過程の最終段階である「画像データ出力部からの出力を処理可能」に限定されることなく、前述したように種々の処理能力を設定可能である。これは、本変形例においては、圧縮符号化データを完全に圧縮復号することが可能であるが、圧縮符号化過程のデータを取得可能なインターフェイスを備えているか否かにより,実質的な処理能力Pが変化し得ることによるものである。
【0165】
上記を実現するためには、暗号化する装置、あるいは、暗号復号する側の装置の構成は図27、28に示す構成となるであろう。
【0166】
まず、図27を用いて暗号化処理装置を説明する。図27は圧縮処理と暗号化処理を同時に実行可能な処理の構成を説明するブロック図である。
【0167】
同図において、271は画像入力部、272は離散ウェーブレット変換部、273は量子化部、274はエントロピ復号部、275はコードストリーム出力部であり、夫々、前述した図1における画像データ発生部11、離散ウェーブレット変換部12、量子化部13、エントロピ符号化部14、及びコードストリーム出力部15と同様の動作をするので説明は省略する。また、暗号化部277も、前述した図9における暗号化部93などと同様の動作をするので説明は省略する。
【0168】
制御部276は、図26における欄265などを用いて指定された圧縮符号化段階に応じて、インターフェイス278、279、2710、2711、及び2712の何れかからの圧縮符号化過程のデータを入力し、入力された圧縮符号化過程のデータを暗号化部277を用いて暗号化し、暗号化されたデータを再び、インターフェイス278、279、2710、2711、及び2712の何れかに返すことで符号化処理を行わせる。
【0169】
要するに、通常の符号化処理は、処理部271、272、273、274、275の順に行われるが、図26で示された符号化段階に相当する各処理部の出力結果を割込んで取得し、暗号化を行い、その割込み位置の下流にある処理部に暗号化結果を出力することで、圧縮符号化過程の所望とする位置に暗号化処理を行うことになる。
【0170】
また、本発明においては、インターフェイス278、279、2710、2711、及び2712は必ずしも全て備わっている必要はなく、当該暗号化処理部に備わっているインターフェイスに応じて、暗号化処理に関する処理能力Pを設定し、図8に示したように処理を終了したり、図19に示したように機能を追加するようにすることが可能である。
【0171】
また、暗号化部277は、暗号化処理の際に用いる暗号鍵を生成するために暗号鍵生成部2713を用いるように構成することも可能である。この場合、制御部276は暗号鍵生成部2713によって暗号鍵を適時生成し、生成した鍵を用いて暗号化部277において暗号化を実行するようにする。更に、特にコードストリーム出力部275からの出力であるインターフェイス2712からデータを取得し、暗号化処理を実行する場合、暗号化されたデータがJPEG2000規格に適合するようにするための処理を実行する適合処理部2714を用いるように構成することも可能である。この場合、制御部276は、暗号化部277に加えて、適合処理部2714を用いてインターフェイス2712からのデータに対して暗号化処理を実行するようにする。
【0172】
更に、制御部276は、夫々のインターフェイスから必ずしも全てのデータを取得する必要はなく、その一部のデータを取得するようにしてもよい。例えば、前述したように、インターフェイス2710から「量子化部からの出力のうち符号ビットプレーン」だけを取得したり、或いは、インターフェイス2712から「コードストリーム出力部からの出力のうちパケットボディ」だけを取得するようにしてもよい。以上、暗号化処理部の変形例について説明した。
【0173】
次に、図28を用いて、暗号復号処理装置の構成とその処理内容を説明する。
【0174】
同図において、281はコードストリーム入力部、282はエントロピ復号部、283は逆量子化部、284は逆離散ウェーブレット変換部、285は画像データ出力部であり、夫々、前述した図4におけるコードストリーム入力部41、エントロピ復号部42、逆量子化部43、逆離散ウェーブレット変換部44、及び画像データ出力部45と同様の動作をするので説明は省略する。また、暗号復号部287も、前述した図16における暗号復号部163などと同様の動作をするので説明は省略する。
【0175】
制御部286には、コードストリームから抽出された圧縮符号化段階に関する情報に応じて、インターフェイス288、289、2810、2811、及び2812の何れかからの圧縮符号化過程の中間データを入力し、入力された圧縮符号化過程の中間データに対し、暗号復号部287を用いて暗号復号処理を行なわせ、その結果得された暗号復号データを再びインターフェイス288、289、2810、2811、及び2812の何れかに返される。
【0176】
そして、引き続き、後段の処理を実行して、最終的に暗号復号処理された画像データを出力する。
【0177】
また、本発明においてはインターフェイス288、289、2810、2811、及び2812は必ずしも全て備わっている必要はなく、当該暗号復号処理に備わっているインターフェイスに応じて、図15に示したように処理を終了したり、図20に示したように機能を追加するようにすることが可能である。
【0178】
また、暗号復号部287は、暗号復号処理の際に用いる復号鍵を生成するために復号鍵生成部2813を用いるように構成することも可能である。この場合、制御部286は復号鍵生成部2813によって復号鍵を適時生成し、生成した鍵を用いて暗号復号部287において暗号復号処理を実行するようにする。更に、特にインターフェイス288からデータを取得し、暗号復号処理を実行する場合、前述した図27における暗号化部277に加えて、適合処理部2714によって処理されている。よって、復号処理の際も、制御部286は、暗号復号部287に加えて、適合処理部2814を用いてインターフェイス282からのデータに対して暗号復号処理を実行するようにする。
【0179】
更に、制御部286は、夫々のインターフェイスから必ずしも全てのデータを取得する必要はなく、その一部のデータを取得するようにしても良い。例えば、前述したように、インターフェイス2810から「量子化部からの出力のうち符号ビットプレーン」だけを取得したり、或いは、インターフェイス288から「コードストリーム出力部からの出力のうちパケットボディ」だけを取得するようにしてもよい。
【0180】
以上本発明にかかる実施形態を説明したが、先に説明したように、画像データを符号化、復号する装置は、通常のパーソナルコンピュータ等の汎用情報処理装置であって、それ上で動作するコンピュータプログラムで実現できるものであるから、本発明はコンピュータプログラムをその範疇とすることは明らかである。また、通常、コンピュータプログラムは、CDROM等のコンピュータ可読記憶媒体に記憶されており、それをコンピュータの対応するドライブにセットしてシステムにコピーやインストール処理することで実行可能となるわけであるから、本発明は当然にそのようなコンピュータ可読記憶媒体をもその範疇とすることも明らかである。
【0181】
以上説明したように本実施形態によれば、JPEG2000の如く、複数の工程を経て符号化されたコードストリーム中の、所望とする符号化段階での中間データに対して暗号化を行うことが可能となり、その際に、どの段階で暗号化を行ったかを示す情報を所定のエリア(実施形態ではメインヘッダ)に格納しておくことで、暗号復号する際にも適切な段階で暗号復号処理を行うことが可能になる。
【0182】
【発明の効果】
以上説明したように本発明によれば、圧縮符号化データ、特に、ウェーブレット変換を利用した、例えばJPEG2000のいような圧縮符号化処理の何れかの処理段階に暗号化を設定できるようになると共に、暗号化がなされたデータストリーム、もしくはデータの構造は、非暗号化の圧縮符号化データと同じ構造を維持できるようになる。
【図面の簡単な説明】
【図1】実施形態における画像圧縮処理部の構成を示す図である。
【図2】実施形態における離散ウェーブレット変換部の構成とその動作を説明する図である。
【図3】実施形態におけるエントロピ符号化の動作を説明する図である。
【図4】実施形態における画像圧縮復号処理の構成を示す図である。
【図5】実施形態におけるエントロピ復号の動作を説明する図である。
【図6】実施形態における逆離散ウェーブレット変換部の構成とその動作を説明する図である。
【図7】実施形態における暗号化処理部の構成を説明する図である。
【図8】実施形態における暗号化処理手順を示すフローチャートである。
【図9】実施形態における第1のコードストリーム暗号化を行うための構成を示す図である。
【図10】実施形態における第1の暗号化処理の処理内容を示す図である。
【図11】実施形態における第2のコードストリーム暗号化を行うための構成を示す図である。
【図12】符号化されたコードストリームのデータ構造を示す図である。
【図13】実施形態におけるコードストリームに付加される情報を示す図である。
【図14】実施形態における暗号復号処理部の構成を説明する図である。
【図15】実施形態における暗号復号処理手順を示すフローチャートである。
【図16】実施形態における第1の暗号復号部の構成を示す図である。
【図17】実施形態における第1の暗号復号部の処理内容を示す図である。
【図18】実施形態における第2の暗号復号部の構成を示す図である。
【図19】実施形態における暗号化処理の変形例のフローチャートである。
【図20】実施形態における暗号復号処理の変形例のフローチャートである。
【図21】実施形態における暗号化処理の変形例の構成を示す図である。
【図22】実施形態における暗号復号処理の変形例の構成を示す図である。
【図23】実施形態における暗号復号処理の更なる変形例の構成を示す図である。
【図24】図23の構成における処理手順を示すフローチャートである。
【図25】実施形態におけるシステム全体構成を示す図である。
【図26】実施形態における暗号化処理を行う際のGUI画面の例を示す図である。
【図27】実施形態の他の変形例の画像符号化・暗号化装置のブロック構成図である。
【図28】実施形態の他の変形例の画像復号・暗号復号装置のブロック構成図である。
【図29】実施形態における暗号化処理を実現するためのテーブル構成と、各パーツプログラムの関係を示す図である。

Claims (10)

  1. ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化方法であって、
    コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、符号化する際の各処理段階のデータを示す何れかの段階と、前記符号化画像データのうち、暗号化処理を行う暗号化処理部分を指定する指定工程と、
    該指定工程で指定された段階のデータ形式となるまで、前記符号化画像データを復号する復号工程と、
    該復号工程により復号したデータを、前記指定された暗号化処理部分に対応するデータと前記指定された暗号化処理部分以外に対応するデータとに分離し、前記暗号化処理部分に対応するデータに対して暗号化する暗号化工程と、
    該暗号化工程で暗号化して得たデータと前記暗号化処理部分以外に対応するデータとを合成し、前記指定工程で指定された段階に後続する符号化処理段階を行わせる符号化工程と、
    前記符号化データ中のヘッダ領域に、前記指定された段階と前記暗号化処理部分とを特定する情報を格納し、前記符号化工程で符号化されたデータを出力する出力工程と
    を備えることを特徴とする画像暗号化方法。
  2. 前記指定工程は、コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、符号化する際の各処理段階のデータを示す何れかの段階うち、複数段階を指定可能とすることを特徴とする請求項1に記載の画像暗号化方法。
  3. ウェーブレット変換手段を用いて圧縮符号化された符号化画像データを暗号化する画像暗号化装置であって、
    コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、符号化する際の各処理段階のデータを示す何れかの段階と、前記符号化画像データのうち、暗号化処理を行う暗号化処理部分を指定する指定手段と、
    該指定手段で指定された段階のデータ形式となるまで、前記符号化画像データを復号する復号手段と、
    該復号手段により復号したデータを、前記指定された暗号化処理部分に対応するデータと前記指定された暗号化処理部分以外に対応するデータとに分離し、前記暗号化処理部分に対応するデータに対して暗号化する暗号化手段と、
    該暗号化手段で暗号化して得たデータと前記暗号化処理部分以外に対応するデータとを合成し、前記指定手段で指定された段階に後続する符号化処理段階を行わせる符号化手段と、
    前記符号化データ中のヘッダ領域に、前記指定された段階と前記暗号化処理部分とを特定する情報を格納し、前記符号化手段で符号化されたデータを出力する出力手段と
    を備えることを特徴とする画像暗号化装置。
  4. 前記指定手段は、コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、符号化する際の各処理段階のデータを示す何れかの段階うち、複数段階を指定可能とすることを特徴とする請求項3に記載の画像暗号化装置。
  5. 暗号化及びウェーブレット変換手段で圧縮符号化された画像データの暗号化を解除する暗号復号方法であって、
    入力した暗号化及び圧縮符号化された画像データのヘッダ領域の情報を解析することで、コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、どの段階で暗号化されたのか、及び、前記符号化画像データのうち、暗号化処理が行われた暗号化処理部分を判定する判定工程と、
    該判定工程で判定した段階にまで遡って復号処理を行う復号工程と、
    該復号工程により復号したデータを、前記判定工程で判定された暗号化処理部分に対応するデータと、暗号化処理部分以外に対応するデータとに分離し、前記暗号化処理部分に対応するデータに対し、暗号復号を行なう暗号復号工程と、
    該暗号復号工程で暗号復号したデータと前記暗号化処理部分以外に対応するデータと前記判定工程で判定した段階以降の段階の圧縮符号化を行うことで暗号復号した圧縮符号化データを生成し、出力する出力工程
    を備えることを特徴とする暗号復号方法。
  6. 前記出力工程は、前記圧縮符号化データのヘッダ領域における、暗号化されていた段階及び暗号化処理部分を示す情報を除去することを特徴とする請求項5に記載の暗号復号方法。
  7. 暗号化及びウェーブレット変換手段で圧縮符号化された画像データの暗号化を解除する画像暗号復号装置であって、
    入力した暗号化及び圧縮符号化された画像データのヘッダ領域の情報を解析することで、コードストリーム、エントロピー符号化されたデータ、量子化されたデータ、離散ウェーブレットされたデータ、画像データのうち、どの段階で暗号化されたのか、及び、前記符号化画像データのうち、暗号化処理が行われた暗号化処理部分を判定する判定手段と、
    該判定手段で判定した段階にまで遡って復号処理を行う復号手段と、
    該復号手段により復号したデータを、前記判定手段で判定された暗号化処理部分に対応するデータと、暗号化処理部分以外に対応するデータとに分離し、前記暗号化処理部分に対応するデータに対し、暗号復号を行なう暗号復号手段と、
    該暗号復号手段で暗号復号したデータと前記暗号化処理部分以外に対応するデータと前記判定手段で判定した段階以降の段階の圧縮符号化を行うことで暗号復号した圧縮符号化データを生成し、出力する出力手段
    を備えることを特徴とする画像暗号復号装置。
  8. 前記出力手段は、前記圧縮符号化データのヘッダ領域における、暗号化されていた段階及び暗号化処理部分を示す情報を除去することを特徴とする請求項7に記載の画像暗号復号装置。
  9. 請求項に記載の画像暗号化装置、又は、請求項に記載の画像暗号復号装置の機能をコンピュータに実現させるためのコンピュータプログラム。
  10. 請求項に記載のコンピュータプログラムを格納し、コンピュータが読込み可能なコンピュータ可読記憶媒体。
JP2003189604A 2003-07-01 2003-07-01 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体 Expired - Fee Related JP4136812B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003189604A JP4136812B2 (ja) 2003-07-01 2003-07-01 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US10/877,665 US7515711B2 (en) 2003-07-01 2004-06-25 Methods and apparatuses for encrypting video and for decrypting video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003189604A JP4136812B2 (ja) 2003-07-01 2003-07-01 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Publications (3)

Publication Number Publication Date
JP2005026970A JP2005026970A (ja) 2005-01-27
JP2005026970A5 JP2005026970A5 (ja) 2006-08-10
JP4136812B2 true JP4136812B2 (ja) 2008-08-20

Family

ID=34074315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003189604A Expired - Fee Related JP4136812B2 (ja) 2003-07-01 2003-07-01 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体

Country Status (2)

Country Link
US (1) US7515711B2 (ja)
JP (1) JP4136812B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226748B1 (en) * 1997-06-12 2001-05-01 Vpnet Technologies, Inc. Architecture for virtual private networks
FR2879878B1 (fr) * 2004-12-22 2007-05-25 Thales Sa Procede de chiffrement selectif compatible pour flux video
JP4698261B2 (ja) * 2005-03-25 2011-06-08 Necフィールディング株式会社 暗号通信システムと方法、及びプログラム
JP4821200B2 (ja) * 2005-07-12 2011-11-24 三菱電機株式会社 データ変換装置、データ変換方法、データ変換プログラムおよびデータ変換プログラムを記録したコンピュータ読み取り可能な記録媒体
TWI325113B (en) * 2006-10-13 2010-05-21 Data security device and the method thereof
JP5117748B2 (ja) * 2007-03-29 2013-01-16 株式会社日立製作所 暗号化機能を備えたストレージ仮想化装置
US20100095114A1 (en) * 2008-10-10 2010-04-15 Richard Greene Method and system for encrypting and decrypting data streams
US8363829B2 (en) * 2010-08-04 2013-01-29 Huang Lawrence P System for descrambling and methods for use therewith
KR101506934B1 (ko) * 2014-04-10 2015-04-08 충남대학교산학협력단 이미지 암호화 장치 및 그것의 이미지 암호화 방법
CN105704499B (zh) * 2016-01-25 2018-10-19 西北工业大学 一种基于ChaCha20和CCSDS的选择性卫星图像压缩加密方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872845A (en) * 1996-06-05 1999-02-16 Feder; Benjamin Method and apparatus for interfacing fax machines to digital communication networks
US6236727B1 (en) 1997-06-24 2001-05-22 International Business Machines Corporation Apparatus, method and computer program product for protecting copyright data within a computer system
JP2000151411A (ja) 1998-11-10 2000-05-30 Canon Inc 情報処理装置およびその方法、並びに、記憶媒体
JP2003016040A (ja) 2001-06-28 2003-01-17 Sony Corp ネットワークシステム、情報処理装置および方法、記録媒体、並びにプログラム
JP2003189086A (ja) 2001-12-21 2003-07-04 Konica Corp データ処理装置、データ処理方法、データ処理プログラム及びデータ処理プログラムが記憶されたプログラム記憶媒体
US7120297B2 (en) * 2002-04-25 2006-10-10 Microsoft Corporation Segmented layered image system
JP4101073B2 (ja) 2003-01-31 2008-06-11 株式会社リコー 画像符号化装置、符号復号化装置、プログラム及び記憶媒体

Also Published As

Publication number Publication date
JP2005026970A (ja) 2005-01-27
US7515711B2 (en) 2009-04-07
US20050018844A1 (en) 2005-01-27

Similar Documents

Publication Publication Date Title
Qian et al. New framework of reversible data hiding in encrypted JPEG bitstreams
JP4612787B2 (ja) 画像データの暗号化装置の制御方法及び画像データ変換装置の制御方法、及び、それらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
Long et al. Separable reversible data hiding and encryption for HEVC video
US7457419B2 (en) Information processing method and apparatus for encrypting encoded data
JP4480119B2 (ja) 画像処理装置及び画像処理方法
CN100584014C (zh) 媒体数据代码转换设备
US7463736B2 (en) Data process apparatus and method therefor
JP2007526507A (ja) スケーラブルメディアを記述するデータを生成するための方法
JP2004040246A (ja) 情報処理装置、情報処理方法
JP2010004518A (ja) スケーラブルビデオ符号化コンテンツの保護方法及びその装置
US20070217607A1 (en) Repetition Coded Compression For Encrypting Highly Correlated Data
JP4181802B2 (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP4136812B2 (ja) 画像暗号化方法及び画像暗号復号方法及びそれらの装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
Liu Efficient selective encryption for JPEG 2000 images using private initial table
JP2007534230A (ja) プログレッシブ暗号化されたスケーラブルデータ列をスケーリングするための方法
US9552486B2 (en) Systems and methods for protecting video content
WO2010042318A1 (en) Method and system for encrypting and decrypting data streams
JP2003153228A (ja) 画像符号化装置及び画像復号化装置
JP4227425B2 (ja) 情報処理方法及び装置、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
JP2004032538A (ja) 情報処理装置及び情報処理方法
Xu et al. Two-dimensional histogram modification for reversible data hiding in partially encrypted H. 264/AVC videos
JPH1118070A (ja) 画像圧縮装置および画像伸長装置および伝送装置
JP2010021931A (ja) 映像送信装置及び映像受信装置
JP2009124456A (ja) 情報処理装置と情報処理方法と情報処理プログラム及び情報記録媒体
JP4956179B2 (ja) データ処理装置、データ処理方法、データ処理プログラム並びに記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060623

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080417

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees