KR20070026523A - 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및프로그램 - Google Patents

정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및프로그램 Download PDF

Info

Publication number
KR20070026523A
KR20070026523A KR20067024594A KR20067024594A KR20070026523A KR 20070026523 A KR20070026523 A KR 20070026523A KR 20067024594 A KR20067024594 A KR 20067024594A KR 20067024594 A KR20067024594 A KR 20067024594A KR 20070026523 A KR20070026523 A KR 20070026523A
Authority
KR
South Korea
Prior art keywords
data
encrypted
divided
encryption
predetermined
Prior art date
Application number
KR20067024594A
Other languages
English (en)
Other versions
KR101120258B1 (ko
Inventor
히로시 미즈노
Original Assignee
소니 가부시끼 가이샤
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 소니 가부시끼 가이샤 filed Critical 소니 가부시끼 가이샤
Publication of KR20070026523A publication Critical patent/KR20070026523A/ko
Application granted granted Critical
Publication of KR101120258B1 publication Critical patent/KR101120258B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • H04N1/448Rendering the image unintelligible, e.g. scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/44Secrecy systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/20Manipulating the length of blocks of bits, e.g. padding or block truncation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Facsimile Transmission Control (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Storage Device Security (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

본 발명은 암호화 데이터중에서 소망하는 부분을 복호할 수 있도록 하는 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및 프로그램에 관한 것이다. JPEG2000의 계층부호화 화상 데이터(201)의 비트 스트림을 구성하는 패킷(211) 내지 패킷(216)중의, 패킷(211) 내지 패킷(213)과, 패킷(214) 내지 패킷(216)의 각각이 개별적으로 암호화되고, 공간 해상도가 0레벨의(R0에 대응한다) 암호화 분할 데이터(262)와, 공간 해상도가 1레벨의(R1에 대응한다) 암호화 분할 데이터(263)와 각각을 얻을 수 있다. 그리고, 계층부호화 화상 데이터(201)의 헤더(SOC 내지 SOD)가 헤더(261)로서 유용(流用)되고, 그에 계속해서, 암호화 분할 데이터(262), 암호화 분할 데이터(263), 및, EOC(264)가 그 순번으로 나열된 데이터(251)가, 최종적인 암호화 데이터로서 출력된다. 본 발명은, 화상 제공 장치에 적용 가능하다.
정보처리, 암호화, 복호, 인코딩, 디코딩

Description

정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및 프로그램{INFORMATION PROCESSING SYSTEM AND METHOD, INFORMATION PROCESSING DEVICE AND METHOD, AND PROGRAM}
본 발명은, 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및 프로그램에 관한 것으로, 특히, 암호화된 데이터중에서 소망하는 부분을 추출하여 복호할 수 있는, 정보 처리 시스템 및 방법, 정보 처리 장치 및 방법, 및 프로그램에 관한 것이다.
근래, 화상 데이터를 계층부호화 가능한 압축 부호화 방식으로서, 예를 들면, 정지화상 데이터뿐만 아니라 동화상 데이터도 취급할 수 있는 JPEG(Joint Photographic Experts Group)2000 등이 알려져 있다.
이와 같은 JPEG2000 등의 압축 부호화 방식에 따라 계층부호화(인코드)된 화상 데이터(이하, 계층부호화 화상 데이터라고 칭한다)를 복호(디코드)하는 경우에는, 그 계층부호화 화상 데이터의 계층화 구조를 이용함으로써, 각 계층(레벨)중의 임의의 계층의 공간 해상도의 화상 데이터를 복호(디코드)하거나, 각 계층중의 임의의 계층의 비트 레이트의 화상 데이터를 복호(디코드)하는 것이 가능해진다.
그런데, 이와 같은 계층부호화 화상 데이터가 서버로부터 네트워크를 통하여 클라이언트에 송신되는 경우 등에 있어서, 그 계층부호화 화상 데이터의 보호가 필요해진다. 이 때문에, 서버 측에서, 계층부호화 화상 데이터를 암호화한 다음에 네트워크를 통하여 클라이언트에 송신하는 일이 있다. 이와 같은 경우에 사용 가능한 암호화의 수법은, 예를 들면, 특허문헌1 내지 특허문헌3 등에 개시되어 있다.
또한, 본 명세서에서는, 압축 부호화(인코드: Encode)에 대한 복호와, 암호화(Encrypt)에 대한 복호의 구별을 명확히 하기 위해, 이하, 전자를 디코드(Decode)라고 칭하고, 후자를 그대로 복호(Decrypt)라고 칭한다.
특허문헌1 : 국제 공개 제02/017637호 팜플렛
특허문헌2 : 일본 특개평8-331543호 공보
특허문헌3 : 일본 특개2003-324418호 공보
발명이 해결하고자 하는 과제
그러나, 특허문헌1 내지 특허문헌3 등 종래의 수법으로 암호화된 계층부호화 화상 데이터 그대로의 상태에서는, 암호화 전의 계층부호화 화상 데이터가 갖는 계층화 구조를 이용하는것은 매우 곤란하고, 그 결과, 그 계층부호화 화상 데이터로부터 소망하는 계층에 대응하는 부분만을 추출하여 복호하는 것은 곤란해진다는 과제가 있다.
이 때문에, 예를 들면 다음의 문제가 발생한다. 즉, 각 계층중의 소정의 계층의 공간 해상도의 화상 데이터를 디코드하거나, 각 계층중의 소정의 계층의 비트 레이트의 화상 데이터를 디코드하는 경우, 암호화 전의 계층부호화 화상 데이터 전부를 사용할 필요는 반드시 없고, 그 중의 일부분을 사용하면 좋은 것이 많다. 그러나, 이와 같은 경우, 상술한 과제가 존재하기 때문에, 암호화된 계층부호화 화상 데이터중에서, 디코드에 필요한 부분만을 추출하여(잘라내여) 복호하는 것은 곤란하여, 결국, 암호화된 계층부호화 화상 데이터의 전부를 복호하여야 한다는 문제가 발생한다.
상술한 과제를 더욱 일반적인 표현으로 고치면, 계층부호화 화상 데이터로 한하지 않고 소정의 데이터가, 특허문헌1 내지 특허문헌3 등 종래의 수법으로 암호화된 경우, 그 암호화된 데이터로부터 소망하는 일부분을 추출하여 복호하는 것은 곤란하다는 과제가 된다. 구체적으로는 예를 들면, 1장의 정지화상에 대응하는 화상 데이터가 종래의 수법으로 암호화된 경우, 보다 구체적으로는 예를 들면, AES(Advanced Encryption Standard)와 같은 블록 암호가 이용되어 암호화된 경우, 그 화상 전체 전부에 대해 암호화가 시행되게 된다.
이 때문에, 그 암호화된 화상 데이터중에서, 그 정지화상의 한 영역(정지화상의 전 공간 영역중의 일부분)에 대응하는 부분을 추출하여 복호하는 것이 곤란하다는 과제가 발생하게 된다.
본 발명은, 이와 같은 상황을 감안하여 이루어진 것으로, 암호화된 데이터중에서 소망하는 부분을 추출하여 복호할 수 있도록 하는 것이다.
과제를 해결하기 위한 수단
본 발명의 정보 처리 시스템은, 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 제 1의 정보 처리 장치와, 상기 암호화 입력 데이터중의 적어도 일부를 복호하는 제 2의 정보 처리 장치로 이루어지는 정보 처리 시스템이다. 상세하게는, 제 1의 정보 처리 장치는, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 수단과, 분할 수단에 의해 분할된 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 수단과, 암호화 수단으로부터 출력된 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 그 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 수단에 의해 분할된 복수의 분할 데이터중의 암호화 수단의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 특정 데이터 생성 수단과, 특정 데이터 생성 수단에 의해 생성된 특정 데이터, 암호화 수단으로부터 출력된 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각을 소정의 배치 순번으로 나열한 데이터를, 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 수단과, 암호화 입력 데이터 생성 수단에 의해 생성된 암호화 입력 데이터를 제 2의 정보 처리 장치에 제공하는 제공 수단을 구비하는 것을 특징으로 한다. 또한, 제 2의 정보 처리 장치는, 제 1의 정보 처리 장치의 제공 수단으로부터 제공된 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 수단과, 제 1의 정보 처리 장치의 제공 수단으로부터 제공된 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출 수단에 의해 추출된 암호화 분할 데이터를 복호하는 복호 수단을 구비하는 것을 특징으로 한다.
본 발명의 정보 처리 시스템의 정보 처리 방법은, 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 제 1의 정보 처리 장치와, 암호화 입력 데이터중의 적어도 일부를 복호하는 제 2의 정보 처리 장치로 이루어지는 정보 처리 시스템의 정보 처리 방법이다. 상세하게는, 제 1의 정보 처리 장치는, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 처리를 실행하고, 분할 처리에 의해 분할된 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 처리를 실행하고, 암호화 처리의 결과로서 출력된 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 처리에 의해 분할된 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 특정 데이터 생성 처리를 실행하고, 특정 데이터 생성 처리에 의해 생성된 특정 데이터, 암호화 처리의 결과로서 출력된 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각을 소정의 배치 순번으로 나열한 데이터를, 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 처리를 실행하고, 암호화 입력 데이터 생성 처리에 의해 생성된 암호화 입력 데이터를 제 2의 정보 처리 장치에 제공하는 제공 처리를 실행하는 것을 특징으로 한다. 또한, 제 2의 정보 처리 장치는, 제 1의 정보 처리 장치의 제공 처리에 의해 제공된 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 처리를 실행하고, 제 1의 정보 처리 장치의 제공 처리에 의해 제공된 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출 처리에 의해 추출된 암호화 분할 데이터를 복호하는 복호 처리를 실행하는 것을 특징으로 한다.
본 발명의 정보 처리 시스템 및 방법에서는, 입력 데이터의 적어도 일부가 제 1의 정보 처리 장치에 의해 암호화되고, 그 결과 얻어지는 데이터가 암호화 입력 데이터로서 제 1의 정보 처리 장치로부터 제 2의 정보 처리 장치에 제공된다. 그리고, 암호화 입력 데이터중의 적어도 일부가 제 2의 정보 처리 장치에 의해 복호된다. 상세하게는, 제 1의 정보 처리 장치에 의해, 분할 처리, 암호화 처리, 특정 데이터 생성 처리, 암호화 입력 데이터 생성 처리, 및 제공 처리가 실행된다. 즉, 분할 처리란, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터를 분할하는 처리이다. 암호화 처리란, 분할 처리에 의해 분할된 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 처리이다. 특정 데이터 생성 처리란, 암호화 처리의 결과로서 출력된 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터를 생성하는 처리로서, 그 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 처리에 의해 분할된 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 처리이다. 암호화 입력 데이터 생성 처리란, 특정 데이터 생성 처리에 의해 생성된 특정 데이터, 암호화 처리의 결과로서 출력된 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각을 소정의 배치 순번으로 나열한 데이터를, 암호화 입력 데이터로서 생성하는 처리이다. 제공 처리란, 암호화 입력 데이터 생성 처리에 의해 생성된 암호화 입력 데이터를 제 2의 정보 처리 장치에 제공한 처리이고. 또한, 제 2의 정보 처리 장치에 의해, 제 1의 정보 처리 장치의 제공 처리에 의해 제공된 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 처리, 및, 제 1의 정보 처리 장치의 제공 처리에 의해 제공된 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출 처리에 의해 추출된 암호화 분할 데이터를 복호하는 복호 처리가 실행된다.
본 발명의 제 1의 정보 처리 장치는, 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 정보 처리 장치로서, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 수단과, 분할 수단에 의해 분할된 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 수단과, 암호화 수단으로부터 출력된 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 수단에 의해 분할된 복수의 분할 데이터중의 암호화 수단의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 특정 데이터 생성 수단과, 특정 데이터 생성 수단에 의해 생성된 특정 데이터, 암호화 수단으로부터 출력된 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각을 소정의 배치 순번으로 나열한 데이터를, 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 수단을 구비하는 것을 특징으로 한다.
소정의 계층부호화 방식에 따라 소정의 화상 데이터가 계층부호화된 결과 얻어지는 계층부호화 화상 데이터가 입력 데이터로서 정보 처리 장치에 입력되고, 분할 수단은, 입력된 계층부호화 화상 데이터로부터, 각 계층의 각각에 대응하는 부호화 데이터를 분할 데이터로서 각각 분할하도록 할 수 있다.
소정의 계층부호화 방식이 JPEG2000인 경우, 특정 데이터 생성 수단은, 또한, SIZ(Imagean ftile size) 및 COD(Coding style default) 및 PLM(Packet length, main header) 또는 PLT(Packet length, tile-part header)를 포함하는 계층부호화 화상 데이터의 헤더를 취득하고, 새로운 특정 데이터를 생성하는 대신에, 그 헤더를 특정 데이터로서 유용(流用)하고, 암호화 입력 데이터 생성 수단은, 특정 데이터 생성 수단에 의해 특정 데이터로서 유용된 계층부호화 화상 데이터의 헤더를 포함하는 미암호화 분할 데이터의 각각, 및, 암호화 분할 데이터의 각각을, 계층부호화 화상 데이터를 구성하는 각 패킷의 배치 순번에 따라서 나열한 데이터를, 암호화 입력 데이터로서 생성하도록 할 수 있다.
본 발명의 제 1의 정보 처리 장치의 제 1의 정보 처리 방법은, 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 제 1의 정보 처리 장치의 정보 처리 방법으로서, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 스텝과, 분할 스텝의 처리에 의해 분할된 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 스텝과, 암호화 스텝의 처리에 의해 출력된 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 스텝의 처리에 의해 분할된 복수의 분할 데이터중의 암호화 스텝의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 특정 데이터 생성 스텝과, 특정 데이터 생성 스텝의 처리에 의해 생성된 특정 데이터, 암호화 스텝의 처리에 의해 출력된 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각을 소정의 배치 순번으로 나열한 데이터를, 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제 1의 프로그램은, 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 처리를 제어하는 컴퓨터에 실행시키는 프로그램으로서, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 스텝과, 분할 스텝의 처리에 의해 분할된 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 스텝과, 암호화 스텝의 처리에 의해 출력된 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 스텝의 처리에 의해 분할된 복수의 분할 데이터중의 암호화 스텝의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 특정 데이터 생성 스텝과, 특정 데이터 생성 스텝의 처리에 의해 생성된 특정 데이터, 암호화 스텝의 처리에 의해 출력된 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각을 소정의 배치 순번으로 나열한 데이터를, 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제 1의 정보 처리 장치 및 방법, 및 제 1의 프로그램에서는, 입력 데이터의 적어도 일부가 암호화되고, 그 결과 얻어지는 데이터가 암호화 입력 데이터로서 출력된다. 상세하게는, 소정의 규칙에 따라, 입력 데이터로부터 복수의 분할 데이터가 분할되고, 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 얻어지는 암호화 분할 데이터의 각각이 출력된다. 또한, 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 분할 스텝의 처리에 의해 분할된 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터가 생성된다. 그리고, 특정 데이터, 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 나열된 데이터가, 암호화 입력 데이터로서 출력된다.
본 발명의 제 2의 정보 처리 장치는, 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고, 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고, 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터가 생성되고, 특정 데이터, 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 나열되고, 그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 암호화 입력 데이터중의 적어도 일부를 복호하는 정보 처리 장치이다. 상세하게는, 본 발명의 제 2의 정보 처리 장치는, 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 수단과, 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출 수단에 의해 추출된 암호화 분할 데이터를 복호하는 복호 수단을 구비하는 것을 특징으로 한다.
소정의 데이터는, 소정의 계층부호화 방식에 따라 소정의 화상 데이터가 계층부호화된 결과 얻어지는 계층부호화 화상 데이터로서, 계층부호화 화상 데이터로부터, 각 계층의 각각에 대응하는 부호화 데이터가 분할 데이터로서 각각 분할되고, 그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 소정의 화상 데이터의 재생시에 있어서의 계층을 지정하는 계층 지정 수단을 또한 마련하고, 추출 수단은, 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의, 계층 지정 수단에 의해 지정된 계층에 대응하는 암호화 분할 데이터를 추출하도록 할 수 있다.
소정의 계층부호화 방식이 JPEG2000이고, 계층부호화 화상 데이터의 헤더가 특정 데이터로서 유용되고, 그 헤더를 포함하는 미암호화 분할 데이터의 각각, 및, 암호화 분할 데이터의 각각이, 계층부호화 화상 데이터를 구성하는 각 패킷의 배치 순번에 따라서 나열되고, 그 결과 얻어지는 데이터가 암호화 입력 데이터로서 제공된 경우, 추출 수단은, 암호화 입력 데이터의 헤더에 포함되는 SIZ(Image anf tile size) 및 COD(Coding style default) 및 PLM(Packet length, main header) 또는 PLT(Packet length, tile-part header)에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의, 계층 지정 수단에 의해 지정된 계층에 대응하는 암호화 분할 데이터를 추출하도록 할 수 있다.
본 발명의 제 2의 정보 처리 장치의 제 2의 정보 처리 방법은, 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고, 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고, 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터가 생성되고, 특정 데이터, 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 나열되고, 그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 암호화 입력 데이터중의 적어도 일부를 복호하는 제 2의 정보 처리 장치의 정보 처리 방법이다. 상세하게는, 제 2의 정보 처리 방법은, 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 스텝과, 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출 스텝의 처리에 의해 추출된 암호화 분할 데이터를 복호하는 복호 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제 2의 프로그램은, 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고, 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고, 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터가 생성되고, 특정 데이터, 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 나열되고, 그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 암호화 입력 데이터중의 적어도 일부를 복호하는 처리를 제어하는 컴퓨터에 실행시키는 프로그램이다. 상세하게는, 본 발명의 제 2의 프로그램은, 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 스텝과, 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출 스텝의 처리에 의해 추출된 암호화 분할 데이터를 복호하는 복호 스텝을 포함하는 것을 특징으로 한다.
본 발명의 제 2의 정보 처리 장치 및 방법, 및 제 2의 프로그램에서는, 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고, 복수의 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고, 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 특정 데이터 자신, 암호화 분할 데이터의 각각, 및, 복수의 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터가 생성되고, 특정 데이터, 암호화 분할 데이터의 각각, 및, 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 나열되고, 그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 그 암호화 입력 데이터중의 적어도 일부가 복호된다. 상세하게는, 암호화 입력 데이터에 포함되는 특정 데이터에 의거하여, 암호화 입력 데이터에 포함되는 암호화 분할 데이터의 전부중의 일부가 추출되고, 암호화 입력 데이터에 포함되는 암호화 분할 데이터중의, 추출된 암호화 분할 데이터가 복호된다.
발명의 효과
이상과 같이, 본 발명에 의하면, 데이터를 암호화할 수 있다. 특히, 그와 같이 하여 암호화된 데이터중에서 소망하는 부분을 추출하여 복호할 수 있다. 또는, 그와 같은 복호 처리를 가능하게 하는 암호화 처리를 할 수 있다.
도 1은 본 발명이 적용되는 정보 처리 시스템의 기능적 구성의 한 예를 도시하는 블록도.
도 2는 도 1의 인코드부가 이용하는 부호화 방식인 JPEG2000를 설명하는 도면.
도 3은 도 1의 인코드부가 이용하는 부호화 방식인 JPEG2000를 설명하는 도면.
도 4는 도 1의 인코드부가 이용하는 부호화 방식인 JPEG2000를 설명하는 도면.
도 5는 도 1의 인코드부가 이용하는 부호화 방식인 JPEG2000를 설명하는 도면.
도 6은 도 1의 인코드부가 이용하는 부호화 방식인 JPEG2000를 설명하는 도면.
도 7은 도 1의 암호화부가 이용 가능한 암호 알고리즘(사용 모드)을 설명하는 도면.
도 8은 도 1의 암호화부가 이용 가능한 암호 알고리즘(사용 모드)을 설명하는 도면.
도 9는 도 1의 암호화부가 이용 가능한 암호 알고리즘(사용 모드)을 설명하는 도면.
도 10은 도 1의 암호화부가 이용 가능한 암호 알고리즘(사용 모드)을 설명하는 도면.
도 11은 도 1의 암호화부가 이용 가능한 암호 알고리즘(사용 모드)을 설명하는 도면.
도 12는 종래의 암호화 처리를 설명하는 도면.
도 13은 종래의 암호화 처리를 설명하는 도면.
도 14는 본 발명이 적용되는 암호화 처리에 필요한, JPEG2000의 메인 헤더의 구성을 도시하는 도면.
도 15는 도 14의 PLM의 상세한 구성을 도시하는 도면.
도 16은 본 발명이 적용되는 암호화 처리에 필요한, JPEG2000의 타일 헤더의 구성을 도시하는 도면.
도 17은 도 14의 PLT의 상세한 구성을 도시하는 도면.
도 18은 본 발명이 적용되는 암호화 처리, 즉, 도 1의 암호화부가 실행하는 암호화 처리를 설명하는 도면.
도 19는 본 발명이 적용되는 암호화 처리, 즉, 도 1의 암호화부가 실행하는 암호화 처리를 설명하는 도면.
도 20은 본 발명이 적용되는 암호화 처리, 즉, 도 1의 암호화부가 실행하는 암호화 처리를 설명하는 도면.
도 21은 본 발명이 적용되는 암호화 처리, 즉, 도 1의 암호화부가 실행하는 암호화 처리를 설명하는 도면.
도 22는 본 발명이 적용되는 암호화 처리, 즉, 도 1의 암호화부가 실행하는 암호화 처리를 설명하는 도면.
도 23은 본 발명이 적용되는 도 1의 암호화부의 상세한 구성예를 도시하는 블록도.
도 24는 도 1의 암호화 장치의 처리를 설명하는 순서도.
도 25는 도 24의 분할 암호화 처리를 설명하는 순서도.
도 26은 도 1의 복호 장치의 처리를 설명하는 순서도.
도 27은 도 26의 부분 데이터 추출 복호 처리를 설명하는 순서도.
도 28은 도 26과 도 28의 복호 장치의 처리 결과의 예를 도시하는 도면.
도 29는 본 발명이 적용되는 정보 처리 시스템의 기능적 구성의 다른 예를 도시하는 블록도.
도 30은 본 발명이 적용되는 정보 처리 장치의 기능적 구성의 한 예를 도시하는 블록도.
도 31은 본 발명이 적용되는 정보 처리 장치의 하드웨어 구성의 한 예를 도 시하는 블록도.
(도면의 주요 부분에 대한 부호의 설명)
1 : 암호화 장치 2 : 복호 장치
3 : 리무버블 기록 매체 11 : 인코드부
12 : 암호화부 13 : 기록 제어부
21 : 재생 계층 지정부 22 : 추출부
23 : 복호부 24 : 디코드부
201 : 계층부호화 데이터 211 내지 216 : 패킷
261 : 헤더 부분 262, 263 : 암호화 분할 데이터
451 : 데이터 분할부 452 : 암호화 처리부
453 : 특정 데이터 생성부(헤더 취득부)
454 : 암호화 입력 데이터(암호화 원화상 데이터) 생성부
501 : 암호화 장치(서버) 502 : 네트워크
503 : 복호 장치(클라이언트) 511 : 인코드부
512 : 암호화부 513 : 송신부
521 : 수신부 522 : 기억부
523 : 재생 계층 지정부 524 : 추출부
525 : 복호부 526 : 디코드부
551 : 기록 재생 장치 552 : 리무버블 기록 매체
561 : 인코드부 562 : 암호화부
563 : 기록 제어부 564 : 기억부
565 : 재생 계층 지정부 566 : 추출부
567 : 복호부 568 : 디코드부
601 : CPU 602 : ROM
603 : RAM 608 : 기억부
611 : 리무버블 기록 매체
다음에, 도면을 참조하여, 본 발명의 실시의 형태에 관해 설명한다.
또한, 본 발명은 다양한 정보 처리 장치나 정보 처리 시스템에 적용 가능하다. 즉, 본 발명은, 다양한 실시의 형태를 취할 수 있다. 그래서, 처음에, 이들의 다양한 실시의 형태 중의 하나에 관해, 도 1 내지 도 28을 참조하여 설명하고, 그 후, 도 29 이후의 도면을 참조하여, 그 밖의 몇 가지의 실시의 형태에 관해 설명한다.
도 1은, 본 발명이 적용되는 정보 처리 시스템의 기능적 구성의 한 예를 도시하는 도면이다.
도 1에 도시되는 바와 같이, 이 정보 처리 시스템은, 암호화 장치(1)와 복호 장치(2)로 구성된다.
암호화 장치(1)는, 원화상(原畵像)을 인코드(계층부호화)하고, 또한 암호화하여 리무버블 기록 매체(3)에 기록시킬 수 있다.
여기서 주목하여야 할 점은, 이 암호화 장치(1)로부터 출력되는 데이터, 즉, 원화상이 계층부호화되고, 또한, 암호화된 결과 얻어지는 데이터(이하, 암호화 원화상 데이터라고 칭한다)는, 그대로의 상태에서 임의의 계층의 재생(디코드)에 필요한 부분만을 추출하여 복호할 수 있도록 구성되어 있는 점이다. 그 밖에, 암호화 원화상 데이터의 상세나 구체적인 예에 관해서는 후술한다.
또한, 암호화 장치(1)에 입력되는 원화상이란, 정확하게는, 원화상에 대응하는 아날로그 화상 신호 또는 디지털 화상 신호(데이터)를 지칭한다. 또한, 원화상은, 동화상(화상 신호)의 경우도 있고, 정지화상(화상 신호)의 경우도 있다.
이와 같이 하여, 리무버블 기록 매체(3)에는, 1 이상의 암호화 원화상 데이터가 기록되게 된다.
복호 장치(2)는, 리무버블 기록 매체(3)로부터 소정의 하나의 암호화 원화상 데이터를 취득하여 복호하고, 또한 디코드하여, 그 결과 얻어지는 화상 신호를 재생 화상으로서 출력한다.
여기서 주목하여야 할 점은 다음의 점이다. 즉, 복호 장치(2)는, 리무버블 기록 매체(3)로부터 암호화 원화상 데이터의 전부를 반드시 복호하는 것은 아니라, 그 중의 임의의 계층의 재생(디코드)에 필요한 부분만을 추출하여 복호하는 점이다. 환언하면, 복호 장치(2)는, 소정 종류의 품질에 관해 소정의 계층(원화상이 원래 갖고 있는 최고 계층보다 낮은 계층)에서 원화상을 재생(디코드)하는 경우, 암호화 원화상 데이터의 전부를 복호하지 않고, 그 재생에 필요한 부분만을 추출하여 복호할 수 있는 점이다.
그런데, 원화상이나 재생 화상이 동화상인 경우, 암호화 장치(1)와 복호 장치(2)는, 원화상 또는 재생 화상에 대한 각종 처리를 실행할 때에는 프레임 또는 필드를 단위로 할 수 있다. 또한, 이하, 이와 같은 프레임이나 필드라는 단위를 액세스 유닛이라고 칭한다. 프레임이란, 동화상을 구성하는 각 정지화상이다. 즉, 암호화 장치(1)가나 복호 장치(2)는, 동화상을 구성하는 각 정지화상(프레임)의 각각마다 각종 처리를 반복하여 실행할 수 있다. 그래서, 이하에서는, 1장의 정지화상에 대한 처리에 관해서만 주목하여 설명하여 간다. 환언하면, 원화상과 재생 화상이란, 1장의 정지화상(화상 신호)이라고 간주하여 설명하여 간다.
다음에, 암호화 장치(1)와 복호 장치(2)의 각각의 기능적 구성예에 관해, 그 순번으로 개별적으로 설명하여 간다.
암호화 장치(1)에는, 인코드부(11), 암호화부(12), 및, 기록 제어부(13)가 마련되어 있다.
인코드부(11)는, 소정의 계층부호화 방식에 따라 원화상(정지화상)을 소정 종류의 품질에 주목하여 계층부호화하고, 그 결과 얻어지는 계층부호화 화상 데이터를 암호화부(12)에 공급한다.
또한, 인코드부(11)가 이용하는 계층부호화 방식은 특히 한정되지 않지만, 예를 들면 여기서는, JPEG2000이 채용되는 것으로 한다. 이 경우, 품질의 종류로서는, 예를 들면, 공간 해상도, SNR(Signal to Noise Ratio) 화질(이하 단지 화질이라고 칭한다), 위치(공간 영역), 및, 컴포넌트가 존재한다. 그 밖에, JPEG2000의 상세한 설명에 관해서는, 도 2 내지 도 6을 참조하여 후술한다.
암호화부(12)는, 인코드부(11)로부터 공급된 계층부호화 화상 데이터를, 각 계층마다의 인코드 데이터로 분할한다. 그리고, 암호화부(12)는, 분할된 각 계층(레벨)마다의 인코드 데이터의 각각을, 소정의 암호화 방식(암호 알고리즘)에 따라서 개별적으로 암호화한다. 이하, 이와 같이 하여 암호화된 각 계층마다의 인코드 데이터의 각각을, 이하, 대응하는 계층의 암호화 분할 데이터라고 칭한다.
또한, 본 명세서에서 말하는 분할이란, 실제로 데이터를 분할하여 분할 데이터를 잘라내는(추출하는)것만을 포함하는 것이 아니라, 후단의 처리에서, 데이터의 단락(분할점)을 특정할 수 있는 정보를 생성하는 것도 포함한다. 단, 이하의 설명에서는, 설명이 간략상, 실제로 분할 데이터(각 계층의 암호화 분할 데이터 등)가 잘라내여지는 것으로 하여 설명하여 간다.
또한, 암호화부(12)가 이용하는 암호화 방식은 특히 한정되지 않는다. 단, 암호화부(12)가 이용 가능한 암호화 방식의 구체적인 예에 관해서는, 도 7 내지 도 11을 참조하여 후술한다.
또한, 암호화부(12)는, 각 계층의 암호화 분할 데이터의 각각을 소정의 순번으로 나열하고, 또한, 각 계층의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 데이터(이하, 특정 데이터라고 칭한다), 즉, 복호시에서 있어서의 각 계층의 암호화 분할 데이터의 개별 추출을 가능하게 하는 특정 데이터를 부가하고, 그 결과 얻어지는 데이터를 암호화 원화상 데이터로서 기록 제어부(13)에 공급한다.
또한, 특정 데이터는, 상술한 정의와 같이, 각 계층의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 정보라면 특히 한정되지 않는다. 즉, 특정 데이터는, 복호시에서 있어서의 각 계층의 암호화 분할 데이터의 개별 추출을 가능하게 하는 정보라면 특히 한정되지 않는다.
단, 여기서는 후술하는 JPEG2000의 계층부호화 화상 데이터가 인코드부(11)로부터 암호화부(12)에 공급되기 때문에, 계층부호화 화상 데이터의 헤더를 그대로 특정 데이터로서 이용할 수 있다. 왜냐하면, 이들의 헤더에는, 후술하는 도 14 내지 도 17에 도시되는 SIZ, COD, PLM, PLT이 포함되어 있기 때문이다. 단, 이들의 SIZ, COD, PLM, PLT에 관해서는 후술한다.
환언하면, 여기서는 예를 들면, 암호화 원화상 데이터로서 다음과 같은 데이터를 이용할 수 있다. 즉, JPEG2000의 계층부호화 화상 데이터(암호화 전의 데이터)의 헤더를 특정 데이터로서 그대로 유용하고, 그 헤더, 및, 각 계층의 암호화 분할 데이터의 각각을, 암호화 전의 계층부호화 화상 데이터를 구성하는 각 패킷(패킷에 관해서는 후술한다)에 따라 나열한 데이터를, 암호화 원화상 데이터로서 이용할 수 있다.
이상, 암호화부(12)의 처리의 대략에 관해 설명하였지만, 그 상세한 처리의 설명(구체적인 예 등의 설명)에 관해서는, 도 12 내지 도 22를 참조하여 후술한다. 또한, 암호화부(12)의 상세한 기능적 구성예에 관해서도, 도 23을 참조하여 후술한다.
그런데, 기록 제어부(13)는, 암호화부(12)로부터 공급된 암호화 원화상 데이터를 리무버블 기록 매체(3)에 기록시킨다.
이상, 암호화 장치(1)의 기능적 구성예에 관해 설명하였다. 다음에, 복호 장치(2)의 기능적 구성예에 관해 설명한다.
복호 장치(2)에는, 재생 계층 지정부(21), 추출부(22), 복호부(23), 및 디코드부(24)가 마련되어 있다.
재생 계층 지정부(21)는, 리무버블 기록 매체(3)에 기록되어 있는 암호화 원화상 데이터에 대응하는 원화상이 재생되는 경우(재생 화상이 출력되는 경우)에 있어서의 소정 종류의 품질의 계층(이하, 재생 계층이라고 칭한다)을 지정하고, 추출부(22)에 통지하다. 또한, 이 때, 재생 계층 지정부(21)는, 유저로부터의 지시(도시하지 않은 유저 인터페이스로부터의 지령)에 의거하여 재생 계층을 지정할수도 있고, 자기 자신의 판단으로 재생 계층을 지정할 수도 있다.
추출부(22)는, 리무버블 기록 매체(3)에 기록되어 있는 암호화 원화상 데이터중에서, 재생 계층 지정부(21)에 의해 지정된 재생 계층에서의 재생에 필요하게 되는 부분만을 추출하고, 복호부(23)에 공급한다. 이 때, 추출부(22)는, 리무버블 기록 매체(3)에 기록되어 있는 암호화 원화상 데이터에 포함되는 상술한 특정 데이터를 이용하여, 예를 들면 JPEG2000의 경우 특정 데이터로서 유용된 헤더를 이용하여(보다 정확하게는 후술하는 바와 같이, 그 헤더에 포함되는 후술하는 SIZ 및 COD, 및 PLM 또는 PLT를 이용하여), 추출하여야 할 부분을 특정하게 된다.
복호부(23)는, 리무버블 기록 매체(3)에 기록되어 있는 암호화 원화상 데이터중의, 추출부(22)에 의해 추출된 부분을 복호하고, 그 결과 얻어지는 데이터(이하, 재생 계층의 인코드 데이터라고 칭한다)를 디코드부(24)에 공급한다.
또한, 보다 정확하게는, 재생 계층의 인코드 데이터란, 복호된 데이터 그 자체가 아니라, 복호된 데이터에 대해, 필요에 응하여 각종 처리(후술하는 도 27의 스텝 S66이나 도 26의 S48 참조)가 더욱 시행된 결과 얻어지는 데이터를 지칭한다.
디코드부(24)는, 복호부(23)로부터 공급된, 재생 계층의 인코드 데이터를 디코드하고, 그 결과 얻어지는 화상 신호(소정 종류의 품질에 관해 재생 계층에서 복원된 원화상)를 재생 화상으로서 출력한다.
이상 설명한 바와 같이, 암호화 장치(1)는, 계층부호화 화상 데이터를 암호화할 수 있다. 특히, 암호화 장치(1)에 의해 암호화된 계층부호화 화상 데이터(암호화 원화상 데이터)는, 그 상태 그대로로, 후단의 처리(도 1의 예에서는, 복호 장치(2)의 복호부(23))에 필요한 데이터만을 추출할 수 있도록 구성되어 있다. 이로써, 복호 장치(2)측에서는, 암호화 원화상 데이터의 전부를 복호할 필요는 없고, 재생 계층 지정부(21)에 의해 지정된 재생 계층에서의 재생(디코드)이 가능하게 되는 부분만을 복호할 수 있다. 즉, 상술한 종래의 과제를 해결하는 것이 가능해진다.
다음에, 도 2 내지 도 6을 참조하여, 본 실시의 형태의 인코드부(11)가 이용하는 JPEG2000의 계층화 구조(스케일러빌리티)에 관해 설명한다.
또한, JPEG2000에서는, 화상의 압축 부호화 데이터의 집합 단위는 패킷이라고 칭해지고 있고, 본 명세서에서도 그와 같이 칭한다.
JPEG2000에 의한 화상의 재생 처리는 다음과 같은 처리이다. 즉, 계층부호화 화상 데이터(헤더 등을 포함하는 전 데이터)중의, 실(實) 데이터(화상에 대응하는 데이터)인 비트 스트림의 최초부터 순번으로 디코드하고 순차적으로 재생을 행하여 가는 처리이다. 따라서, 품질의 각 종류의 각각에 응하여 패킷의 순서(Progression Order)를 가변함으로써, 화상의 재생시에 품질의 각 종류의 제어(임의의 계층에서의 재생 제어 등)가 가능해진다. 반복하게 되지만, JPEG2000에서의 품질의 종류란, 화질, 공간 해상도, 위치(공간 영역), 및 컴포넌트를 지칭한다.
최초에, 도 2를 참조하여, 공간 해상도 스케일러블에 관해 설명한다.
도 2에는, 공간 해상도에 주목하여 각 패킷이 나열되어 형성된 계층부호화 화상 데이터(31)가 도시되어 있다. 이 계층부호화 화상 데이터(31)(그 패킷의 나열 순서)는, 공간 해상도의 단계적인 개선을 목적으로 하고 있고, 저공간 해상도의 전(全) 화상 컴포넌트가 필요하게 되는 경우에 유용(有用)하다.
이 계층부호화 화상 데이터(31)에서, 각 매스(4각형 형상의 테두리)의 각각은 하나의 패킷을 나타내고 있다.
동 도면에 도시되는 바와 같이, 최초의 패킷은, SOC(Start Of Codestream)이고, 최초에 부가되는 마커이다. SOC에 계속되는 패킷은, 메인 헤더(Main Header)이다. 그리고, 메인 헤더의 상세에 관해서는, 도 14를 참조하여 후술한다. 메인 헤더에 계속되는 패킷은, SOT(Start Of Tile-part)이고, 그것에 계속되는 타일 헤더(Tile Header) 전에 반드시 부가된 마커이다. 그리고, 타일 헤더의 상세에 관해서는, 도 16을 참조하여 후술한다. 타일 헤더에 계속되는 패킷은, SOD(Start Of Data)이고, 그 후로부터 JPEG2000의 비트 스트림이 계속되는 것을 나타내는 마커이다.
또한, 이상의 패킷 군(群), 즉, SOC 내지 SOD로 이루어지는 패킷 군을, 이하, 단지 헤더라고 칭한다. 즉, 상술한 바와 같은 헤더의 후에, JPEG2000의 비트 스트림이 계속되게 된다.이 비트 스트림이란, 상술한 바와 같이, 원화상의 압축 부호화 데이터이고, 그것이 패킷마다 분할되어 있다. 그리고, 비트 스트림의 최후에는 반드시 EOC(End Of Codestream)라고 칭해지는 패킷이 부가된다.
도 2의 예에서는, 그와 같은 비트 스트림중의 패킷(41) 내지 패킷(49)만이 도시되어 있다.
이들의 패킷(41) 내지 패킷(49)의 각각 중에는, 품질의 각 종류와 계층(레벨)이, 주목되어 있는 순으로 왼쪽부터 차례로 기술되어 있다. 즉, 품질의 종류로서, R,L,C의 각각이 기술되어 있고, 그 R,L,C의 각각에는, 대응하는 패킷의 계층을 나타내는 수치(도 2의 예에서는, 0 내지 2중의 어는 하나의 값)가 나타내어져 있다. 그리고, R은 공간 해상도(Resolution)를, L은 품질(레이어: Layer)을, C는 컴포넌트(Component)를 각각 나타내고 있다. 또한, 실제로는, 컴포넌트(C)의 후에, 위치(포지션: Position)이 나열하게 되지만 도 2의 예에서는 생략되어 있다. 예를 들면, R0이라 함은, 공간 해상도의 계층이 0레벨인 것을 나타내고 있다. 또한, 이와 같은 스케일러블을, 그 품질의 주목 순서로 고려하여, RLCP 공간 해상도 스케일러블이라고 칭한다. 이상의 내용은, 후술하는 도 3 내지 도 6, 도 12, 도 13, 및 도 18 내지 도 22에서도 마찬가지로 된다.
이 RLCP 공간 해상도의 스케일러블에서는, 공간 해상도가 가장 낮은(공간 해상도의 계층이 0레벨인) 화상(51)은, R0에 부수되는 모든 패킷(41) 내지 패킷(43) 으로부터 재생된다. 즉, 패킷(41) 내지 패킷(43)까지가 디코드되면, 화상(51)이 얻어진다. 다음의 공간 해상도의(공간 해상도의 계층이 1레벨의) 화상(52)은, R0와 R1에 부수되는 모든 패킷(41) 내지 패킷(46)으로부터 재생된다. 그 다음의 공간 해상도의(공간 해상도의 계층이 2레벨의) 화상(53)은, R0 내지 R2에 부수되는 모든 패킷(41) 내지 패킷(49)으로부터 재생된다. 도시는 하지 않지만, 이하 마찬가지로 하여, 점점 큰 공간 해상도의 화상이 재생되어 간다.
다음에, 도 3을 참조하여, 화질 스케일러블에 관해 설명한다.
도 3에는, 화질에 주목하여 각 패킷이 나열되어 형성된 계층부호화 화상 데이터(61)가 도시되어 있다. 이 계층부호화 화상 데이터(61)(그 패킷의 나열 순서)는, 화질의 단계적인 개선을 목적으로 하고 있고, 화질이 낮아도 전 공간 해상도로 모든 컴포넌트 정보가 최초에 필요하게 되는 경우에 유용하다.
도 3의 계층부호화 화상 데이터(61)에서도, 도 2와 같은 헤더(SOC 내지 SOD)의 후에, 비트 스트림이 계속되어 있다. 도 3의 예에서는, 이 비트 스트림을 구성하는 패킷중의 패킷(71) 내지 패킷(79)만이 나타내어져 있다.
화질 스케일러블에서는, 비트 스트림을 구성하는 각 패킷은, 패킷(71) 내지 패킷(79) 중의 기술(記述)로부터 알 수 있는 바와 같이, L,R,C,P(P의 도시는 생략)의 순번으로 주목되어 나열되는 것으로 된다. 따라서, 이 화질 스케일러블은, LRCP 화질 스케일러블이라고 칭할 수 있다.
이 LRCP 화질 스케일러블에서는, 화질이 가장 낮은(레이어의 계층이 0레벨의) 화상(81)은, L0에 부수되는 모든 패킷(71) 내지 패킷(73)으로부터 재생된다. 즉, 패킷(71) 내지 패킷(73)까지가 디코드되면, 화상(81)이 얻어진다. 다음의 화질의(레이어의 계층이 1레벨의) 화상(82)은, L0와 L1에 부수되는 모든 패킷(71) 내지 패킷(76)으로부터 재생된다. 그 다음의 화질의(레이어의 계층이 2레벨의) 화상(83)은, L0 내지 L2에 부수되는 모든 패킷(71) 내지 패킷(79)으로부터 재생된다. 도시는 하지 않지만, 이하 마찬가지로 하여, 점점 높은 화질의 화상이 재생되어 간다.
다음에, 도 4를 참조하여, 다른 공간 해상도 스케일러블(도 2와는 다른 공간 해상도 스케일러블)에 관해 설명한다.
도 4에는, 공간 해상도에 주목하여 각 패킷이 나열되어 형성된 계층부호화 화상 데이터(91)가 도시되어 있다. 단, 상술한 도 2의 계층부호화 화상 데이터(31)는, RLCP 공간 해상도 스케일러블에 대응하는 데이터였지만, 이 도 4의 계층부호화 화상 데이터(91)는, 패킷(101) 내지 패킷(109) 내의 기술(그 나열 순서)로부터 알 수 있는 바와 같이, RPLC 공간 해상도 스케일러블에 대응하는 데이터이다. 이와 같은 계층부호화 화상 데이터(91)(그 패킷의 나열 순서)는, 특정한 공간 위치에서의 모든 컴포넌트의 저공간 해상도 레벨이 최초에 필요하게 되는 경우에 유용하다.
도 4의 계층부호화 화상 데이터(91)에서도, 도 2와 같은 헤더(SOC 내지 SOD)의 후에, 비트 스트림이 계속되어 있다. 도 4의 예에서는, 이 비트 스트림을 구성하는 패킷중의 패킷(101) 내지 패킷(109)만이 나타내어져 있다. 또한, 패킷(101) 내지 패킷(109) 내의 P는 위치(Position)를 나타내고 있다.
이 RPLC 공간 해상도의 스케일러블에서는, 공간 해상도가 가장 낮은(공간 해상도의 계층이 0레벨의) 화상(111)은, R0에 부수되는 모든 패킷(101) 내지 패 킷(103)으로부터 재생된다. 즉, 패킷(101) 내지 패킷(103)까지가 디코드되면, 화상(111)이 얻어진다. 다음의 공간 해상도의(공간 해상도의 계층이 1레벨의) 화상(112)은, R0와 R1에 부수되는 모든 패킷(101) 내지 패킷(106)으로부터 재생된다. 그 다음의 공간 해상도의(공간 해상도의 계층이 2레벨의) 화상(113)은, R0 내지 R2에 부수되는 모든 패킷(101) 내지 패킷(109)으로부터 재생된다. 도시는 하지 않지만, 이하 마찬가지로 하여, 점점 큰 공간 해상도의 화상이 재생되어 간다.
다음에, 도 5를 참조하여, 위치 스케일러블에 관해 설명한다.
도 5에는, 위치에 주목하여 각 패킷이 나열되어 형성된 계층부호화 화상 데이터(121)가 도시되어 있다. 이 계층부호화 화상 데이터(121)(그 패킷의 나열 순서)는, 공간 위치의 단계적인 개선을 목적으로 하고 있고, 모든 컴포넌트 내의, 특정한 공간 위치에 대해 높은 샘플 정밀도를 주는 경우에 유용하다.
도 5의 계층부호화 화상 데이터(121)에서도, 도 2와 같은 헤더(SOC 내지 SOD)의 후에, 비트 스트림이 계속되어 있다. 도 5의 예에서는, 이 비트 스트림을 구성하는 패킷중의 패킷(131) 내지 패킷(139)만이 나타내어져 있다.
위치 스케일러블에서는, 비트 스트림을 구성하는 각 패킷은, 패킷(131) 내지 패킷(139)중의 기술로부터 알 수 있는 바와 같이, P,C,R,L의 순번으로 주목되어 나열되는 것으로 된다. 따라서, 이 위치 스케일러블은, PCRL 위치 스케일러블이라고 칭할 수 있다.
예를 들면, 원화상이, 공간적으로 위로부터 소정의 간격마다 N(N은 임의의 정수치)개의 블록(영역)으로 구분된 경우, 위치의 계층으로서, 0 내지 N-1까지의 계층이 존재하게 된다. 즉, 위치의 계층이란, 원화상 전체중의 재생 대상 블록의 개수의 대소라고 말할 수 있다.
따라서 위치의 계층이 0레벨의 재생이란, 원화상중의, 위로부터 1번째의 블록이 재생되는 것을 지칭한다. 또한, 이 위로부터 1번째의 블록이 화상(141)으로서 나타내어져 있다. 위치의 계층이 0레벨의 화상(141)은, P0에 부수되는 모든 패킷(131) 내지 패킷(133)으로부터 재생된다. 즉, 패킷(131) 내지 패킷(133)까지가 디코드되면, 화상(141)이 얻어진다.
마찬가지로, 위치의 계층이 1레벨의 재생이란, 위로부터 1번째와 2번째의 블록으로 이루어지는 영역이 재생되는 것을 지칭한다. 또한, 이 위로부터 1번째와 2번째의 블록으로 이루어지는 영역이 화상(142)으로서 나타내어져 있다. 위치의 계층이 1레벨의 화상(142)은, P0와 P1에 부수되는 모든 패킷(131) 내지 패킷(136)으로부터 재생된다.
또한, 위치의 계층이 2레벨의 재생이란, 위로부터 1번째 내지 3번째의 블록으로 이루어지는 영역이 재생되는 것을 지칭한다. 또한, 이 위로부터 1번째 내지 3번째의 블록으로 이루어지는 영역이 화상(143)으로서 나타내어져 있다. 위치의 계층이 2레벨의 화상(143)은, P0 내지 P2에 부수되는 모든 패킷(131) 내지 패킷(139)으로부터 재생된다.
이하 마찬가지로 하여, 점점 많은 블록으로 이루어지는 영역(화상)이 재생되어 간다.
최후로,도 6을 참조하여, 컴포넌트 스케일러블에 관해 설명한다.
도 6에는, 컴포넌트에 주목하여 각 패킷이 나열되어 형성된 계층부호화 화상 데이터(151)가 도시되어 있다. 이 계층부호화 화상 데이터(151)(그 패킷의 나열 순서)는, 컴포넌트에 의한 단계적인 개선을 목적으로 하고 있고, 특정한 화상 컴포넌트 내의, 특정한 공간 위치에 대해 높은 정밀도를 주는 경우에 유용하다.
도 6의 계층부호화 화상 데이터(151)에서도, 도 2와 같은 헤더(SOC 내지 SOD)의 후에, 비트 스트림이 계속되어 있다. 도 6의 예에서는, 이 비트 스트림을 구성하는 패킷(161) 내지 패킷(169)이 나타내어져 있다.
컴포넌트 스케일러블에서는, 비트 스트림을 구성하는 각 패킷은, 패킷(161) 내지 패킷(169)중의 기술로부터 알 수 있는 바와 같이, C,P,R,L의 순번으로 주목되어 나열어 것으로 된다. 따라서, 이 컴포넌트 스케일러블은, CPRL 컴포넌트 스케일러블이라고 칭할 수 있다.
CPRL 컴포넌트 스케일러블에서, 컴포넌트의 계층이란 다음과 같이 하여 정의된다. 즉, 예를 들면, M개(M은 임의의 정수치)의 컴포넌트의 각각에 대해, 소정의 규칙(예를 들면, 최초에 그레이 컴포넌트가 재생되고, 다음에 컬러 컴포넌트가 재생되는 규칙 등)에 따라 번호 0 내지 번호 M-1이 각각 붙여져 있는 경우, 그 번호 0 내지 번호 M-1이, 컴포넌트의 계층이 된다.
따라서 컴포넌트의 계층이 0레벨의 재생이란, 번호 0의 컴포넌트로 화상이 재생되는 것을 지칭한다. 즉, 번호 0의 컴포넌트로 재생된 화상은, 컴포넌트의 계층이 0레벨의(C0에 상당한다) 화상이라고 할 수 있고, 도 6의 예에서는, 화상(171)으로서 나타내어져 있다. 컴포넌트의 계층이 0레벨의 화상(171)은, C0에 부수되는 모든 패킷(161) 내지 패킷(163)으로부터 재생된다. 즉, 패킷(161) 내지 패킷(163)까지가 디코드되면, 화상(171)이 얻어진다.
마찬가지로, 컴포넌트의 계층이 1레벨의 재생이란, 번호 1의 컴포넌트로 화상이 재생되는 것을 지칭한다. 즉, 번호 1의 컴포넌트로 재생된 화상은, 컴포넌트의 계층이 1레벨의(C1에 상당한다) 화상이라고 할 수 있고, 도 6의 예에서는, 화상(172)으로서 나타내어져 있다. 컴포넌트의 계층이 1레벨의 화상(172)은, C1에 부수되는 모든 패킷(164) 내지 패킷(166)으로부터 재생된다.
컴포넌트의 계층이 2레벨의 재생이란, 번호 2의 컴포넌트로 화상이 재생되는 것을 지칭한다. 즉, 번호 2의 컴포넌트로 재생된 화상은, 컴포넌트의 계층이 2레벨의(C2에 상당한다) 화상이라고 할 수 있고, 도 6의 예에서는, 화상(173)으로서 나타내어져 있다. 컴포넌트의 계층이 2레벨의 화상(173)은, C2에 부수되는 모든 패킷(167) 내지 패킷(169)으로부터 재생된다.
이하 마찬가지로 하여, 번호 3 내지 번호 M-1의 컴포넌트의 순번으로, 대응하는 번호의 컴포넌트로 화상이 재생되어 간다. 따라서, 상술한 바와 같이, 번호를 적절하게 부여함으로써, 예를 들면, 그레이 스케일의 컴포넌트를, 컬러 정보의 컴포넌트보다도 먼저 디코드시킬 수 있다.
이상, 도 2 내지 도 6을 참조하여, 본 실시의 형태의 도 1의 인코드부(11)가 이용하는 JPEG2000의 계층화 구조(스케일러빌리티)에 관해 설명한다.
다음에, 도 7 내지 도 22를 참조하여, 이와 같은 JPEG2000의 계층부호화 화상 데이터에 대한 암호화 처리의 상세에 관해 설명한다. 즉, 도 1의 암호화부(12) 의 처리의 상세에 관해 설명한다.
처음에, 도 7 내지 도 11을 참조하여, 암호화부(12)가 이용 가능한 암호 알고리즘의 한 예인 블록 암호에 관해 설명한다.
블록 암호란, 어느 일정 블록을 단위로 하여 암호화 처리를 행하는 암호 알고리즘을 지칭한다. 예를 들면, 128비트를 하나의 데이터 블록으로 간주하여, 128블록마다 암호화 처리를 행하는 암호 알고리즘은, 블록 암호의 한 예이다. 현재 상태의 유명한 블록 암호로서 AES(Advanced Encryption Standard)가 존재한다. 단, 암호화부(12)가 이용하는 암호 알고리즘은, 이 AES로 한정되지 않고, 일정한 블록 단위로 처리를 행하는 블록 암호라면 좋다.
암호화부(12)가 블록 암호를 사용하는 경우, 그 이용법에 있어서서 몇가지의 사용 모드가 존재한다. 이하, 도 7 내지 도 11의 각각을 참조하여, 5개의 사용 모드의 각각에 관해 개별적으로 설명하여 간다.
예를 들면, 도 7은, 그 중의 ECB 모드(Electronic Code block Mode)를 설명하는 도면이다.
도 7중, Encrypt라고 기술된 사각형의 심볼은, 입력되는 데이터를 암호화하여 출력하는 처리 자체를 나타내고 있다. 즉, 도 7의 예에서는, 이 심볼이 3개 존재하지만, 이것은, 3개의 암호화부 또는 3대의 암호화 장치가 필요한 것을 나타내고 있는 것이 아니라, 단지 3회의 암호화 처리가 행하여지는 것을 나타내고 있는데 지나지 않는다.
또한, 평분(平分)이라고 기술된 사각형의 심볼은, 암호화가 행하여지기 전의 데이터를 나타내고 있다. 따라서, 평분(H1) 내지 평분(H3)의 각각은, 연속하는 3개의 소정의 데이터를 나타내고 있다.
그리고, 암호문이라고 기술된 사각형의 심볼은, 1회의 암호화 처리의 결과 얻어지는 하나의 암호화 데이터를 나타내고 있다.
이상의 심볼에 관한 내용은, 후술하는 도 8 내지 도 11에서도 마찬가지로 된다.
도 7로부터 알 수 있는 바와 같이, ECB 모드에서는, 3개의 평분(H1) 내지 평분(H3)의 각각이 암호화되고, 그 결과, 3개의 암호문(Aa1) 내지 암호문(Aa3)을 얻을 수 있게 된다. 이와 같이, ECB 모드에서는, 평분과 암호문이 1대1로 대응하고 있다. 이 때문에, 평분(H1) 내지 평분(H3)중의 적어도 2개가 동일 내용이였은 경우, 예를 들면, 평분(H1)과 평분(H2)이 동일 내용이였은 경우, 그것들에 대응하는 암호문(Aa1)과 암호문(Aa2)도 동일 내용의 데이터가 된다. 따라서, 이 ECB 모드는, 후술하는 다른 모드에 비하여 가장 간단하게 실현 가능하다는 메리트를 갖는 반면, 통계적인 처리에 약하다는 단점도 갖고 있다.
다음에, 도 8을 참조하여, CBC 모드(Cipher Block Chaining Mode)에 관해 설명한다.
도 8중, Initial Value라고 기술된 사각형의 심볼은, 초기치(Initial Value)의 데이터를 나타내고 있다. 또한, 동그라미의 속에 십자가 기록된 심볼은, 2개의 입력 데이터를 배타적 논리합으로 가산하고, 그 연산 결과를 출력하는 처리를 나타내고 있다. 즉, 도 8의 예에서는, 동그라미의 속에 십자가 기록된 심볼이 3개 존재 하지만, 이것은, 3개의 배타적 논리합 연산부 또는 3대의 배타적 논리합 연산 장치가 필요한 것을 나타내고 있는 것이 아니라, 단지 3회의 연산 처리가 행하여지는 것을 나타내고 있는 것에 지나지 않는다. 또한, 평분(H1) 내지 평분(H3)의 각각은, 도 7이 대응하는 평분과 동일 데이터인 것을 나타내고 있다. 이상의 심볼에 관한 내용은, 후술하는 도 9 내지 도 11에서도 마찬가지로 된다.
도 8에 도시되는 바와 같이, CBC 모드에서는, 처음에, 평분(H1)과 초기치와의 배타적 논리합의 가산 결과(데이터)가 암호화되고, 그 결과 암호문(Ab1)이 얻어진다. 다음에, 이 암호문(Ab1)과 다음의 평분(H2)과의 배타적 논리합의 가산 결과가 암호화되고, 그 결과 암호문(Ab2)이 얻어진다. 또한, 이 암호문(Ab2)과 그 다음의 평분(H3)과의 배타적 논리합의 가산 결과(데이터)가 암호화되고, 그 결과 암호문(Ab3)이 얻어진다.
이와 같이, CBC 모드에서는, 평분에 동일 내용이 있어도, 암호문으로서는 각각 다른 데이터가 얻어지기 때문에, 상술한 도 7의 ECB 모드보다도 강한 암호 알고리즘이라고 말할 수 있다. 이 때문에, 현재, 이 CBC 모드는 널리 이용되고 있다.
그런데, 상술한 도 7의 ECB 모드와 도 8의 CBC 모드에서는, 암호문의 전체의 길이는 블록 길이의 정수배가 되고, 그 때문에, 평분의 최후의 부분에 패딩 처리가 시행되게 된다.
이에 대해, 다음의 도 9 내지 도 11에 도시되는 사용 모드에서는, 이 패딩 처리가 불필요해진다.
예를 들면, 도 9는, OFB 모드(Output Feedback Mode)를 설명하는 도면이다.
도 9에 도시되는 바와 같이, OFB 모드에서는, 최초에 초기치가 암호화되고, 암호화된 초기치와 평분(H1)과의 배타적 논리합의 가산치(데이터)가 암호문(Ac1)으로서 얻어진다. 다음에, 1회 암호화된 초기치가 또한 암호화되고(2회 암호화되고), 2회 암호화된 초기치와 다음의 평분(H2)과의 배타적 논리합의 가산치(데이터)가 암호문(Ac2)으로서 얻어진다. 그리고, 2회 암호화된 초기치가 또한 암호화되고(3회 암호화되고), 3회 암호화된 초기치와 그 다음의 평분(H3)과의 배타적 논리합의 가산치(데이터)가 암호문(Ac3)으로서 얻어진다.
이와 같이, OFB 모드에서는, 초기치의 암호화가 반복되고, 그때마다 평분에 가산됨으로써, 암호문이 순차적으로 얻어진다.
또한, 예를 들면, 도 10은, CFB 모드(Cipher Feedback Mode)를 설명하는 도면이다.
도 10에 도시되는 바와 같이, CFB 모드에서는, 최초에, 초기치가 암호화되고, 암호화된 초기치와 평분(H1)과의 배타적 논리합의 가산치(데이터)가 암호문(Ad1)으로서 얻어진다. 다음에, 이 암호문(Ad1)이 암호화되고, 그 결과 얻어지는 데이터와 다음의 평분(H2)과의 배타적 논리합의 가산치(데이터)가 암호문(Ad2)으로서 얻어진다. 그리고, 이 암호문(Ad2)이 암호화되고, 그 결과 얻어지는 데이터와 그 다음의 평분(H3)과의 배타적 논리합의 가산치(데이터)가 암호문(Ad3)으로서 얻어진다.
이와 같이, CFB 모드에서는, 앞의 블록의 암호문이 암호화되고, 그 결과 얻어지는 데이터와 현(現) 블록의 평분이 가산이 됨으로써 현 블록의 암호문이 얻어 진다.
또한, 예를 들면, 도 11은, CTR 모드(Counter Mode)를 설명하는 도면이다. 이 CTR 모드는, 무선 분야에서 널리 이용되고 있는 모드이다.
도 11중, Counter라고 기술된 사각형의 심볼은, 소정의 카운터 값을 나타내고 있다. 도 11에서도, C1와 C2라는 바와 같이 부호가 바뀌어 있도록, 이 카운터 값은, 매회 다른 값이 사용된다. 즉, 도 11에 도시되는 바와 같이, 최초의 평분(H1)에 대해서는 카운터 값(C1)이 사용되고, 다음의 평분(H2)에 대해서는, 카운터 값(C2)이 사용된다.
따라서 도 11에 도시되는 바와 같이, CTR 모드에서는, 최초에, 카운터 값(C1)이 암호화되고, 그 결과 얻어지는 데이터와 평분(H1)과의 배타적 논리합의 가산치(데이터)가 암호문(Ae1)으로서 얻어진다. 다음에, 카운터 값(C1)과는 다른 카운터 값(C2)이 암호화되고, 그 결과 얻어지는 데이터와 다음의 평분(H2)과의 배타적 논리합의 가산치(데이터)가 암호문(Ae2)으로서 얻어진다.
이와 같이, 도 9의 OFB 모드, 도 10의 CFB 모드, 및 도 11의 CTR 모드의 각각은 평분의 길이와 암호문의 길이가 동일이 되어, 패딩 처리는 필요 없게 된다.
이상, 도 1의 암호화부(12)가 블록 암호를 이용하는경우의 5개의 사용 모드에 관해 설명하였다.
그런데, 도 1에서, 인코드부(11)에 의해 인코드된 원화상, 즉, 계층부호화 화상 데이터는, 여기서는 정지화상에 대응하는 데이터로 되어 있지만, 실제로는 당연하지만 동화상에 대응하는 데이터로 되는 일도 있을 수 있다. 즉, 원화상은 동화 상인 경우도 있을 수 있다. 이 경우의 암호화부(12)의 가장 간단한 암호화 처리는, 동화상의 전부에 대응하는 계층부호화 화상 데이터의 전부에 대해 암호화를 행하는 처리이다. 그러나, 이와 같은 암호화 처리에서는, 프레임 사이의 독립성을 잃어버리기 때문에, 암호화부(12)의 암호화 처리로서는 부적합하다.
그래서, 예를 들면, 도 12에 도시되는 바와 같이, 프레임을 단위로 하는 암호화 처리가 적어도 필요해진다. 즉, 도 12에 도시되는 계층부호화 화상 데이터(201)는, 1프레임(정지화상)에 대응하는 계층부호화 화상 데이터를 나타내고 있다.
이 계층부호화 화상 데이터(201)는, 상술한 도 2와 마찬가지의 RLCP 공간 해상도 스케일러블에 대응하는 계층부호화 화상 데이터로서, 도 2와 같은 헤더에 계속되는 비트 스트림(원화상에 대응하는 실 데이터)이, 6개의 패킷(211) 내지 패킷(216)으로 분할된 계층부호화 화상 데이터를 나타내고 있다. 6개의 패킷(211) 내지 패킷(216) 중의 기술에 나타내여지는 바와 같이, 패킷(211) 내지 패킷(213)이 디코드되어 재생되면, 공간 해상도의 계층이 0레벨(R0)의 화상이 얻어지게 된다. 그리고, 패킷(211) 내지 패킷(216)의 전부가 디코드되고 재생되면, 공간 해상도의 계층이 1레벨(R1)의 화상이 얻어지게 된다.
또한, 도 12에서, 속이 하얀 화살표는, 그 내부에 기술되어 있는 바와 같이, 패딩 처리와 암호화 처리를 나타내고 있다. 또한, 상술한 바와 같이, 암호화의 사용 모드에 따라서는, 패딩 처리는 불필요하게 된다.
도 12에 도시되는 바와 같이, 암호화부(12)는, 암호화 키(Key1)를 이용하여 계층부호화 화상 데이터(201)의 전부를 암호화하고, 그 결과 얻어지는 암호화 원화상 데이터(221)를 출력할 수 있다. 또한, 암호화 원화상 데이터(221)는, 패딩 처리가 행하여진 경우의 암호화 원화상 데이터이고, 이 때문에, 최후의 패킷에 「padding」이 부가되어 있다.
또는, 도 13에 도시되는 바와 같이, 암호화부(12)는, 계층부호화 화상 데이터(201)중의 헤더(SOC 내지 SOD)를 제외한 부분에 대해 암호화 키(Key1)를 이용하여 암호화할 수 있다. 즉, 암호화부(12)는, 비트 스트림을 구성하는 패킷(211) 내지 패킷(216) 및 EOC에 대해, 암호화 키(Key1)를 이용하여 암호화할 수 있다. 그리고, 암호화부(12)는, 그와같은 암호화 처리의 결과 얻어지는 암호화 데이터(242)의 앞에, 계층부호화 화상 데이터(201)의 헤더 그 자체를 헤더(241)로서 부가하고, 그 결과 얻어지는 암호화 원화상 데이터(231)를 출력할 수도 있다. 또한, 암호화 원화상 데이터(231)도, 패딩 처리가 행하여진 경우의 암호화 원화상 데이터이고, 이 때문에, 최후의 패킷에 「padding」이 부가되어 있다.
그런데, 도 12와 도 13에 도시되는 암호화 처리는 종래부터 존재하는 처리이고, 도 12의 암호화 원화상 데이터(221)와 도 13의 암호화 원화상 데이터(231)는, 각 도면을 보면 분명한 바와 같이, JPEG2000의 특징인 스케일러빌리티를 잃어버리고 있다. 즉, 상술한 바와 같이, 공간 해상도의 계층이 레벨(0)의 화상을 재생시키고 싶은 경우, 패킷(211) 내지 패킷(213)만을 디코드하면 좋다. 그러나, 도 12의 암호화 원화상 데이터(221)와 도 13의 암호화 원화상 데이터(231)로부터는, 패킷(211) 내지 패킷(213)에 대응하는 부분(암호화 데이터)만을 추출하여 복호하는 것은 곤란하다(실질적으로 불가능하다). 즉, 결국, 도 12의 암호화 원화상 데이터(221) 또는 도 13의 암호화 원화상 데이터(231)의 전부를 복호하여, 계층부호화 화상 데이터(201)의 전부를 복원시킨 다음, 패킷(211) 내지 패킷(213)을 추출하지 않는다면, 그 패킷(211) 내지 패킷(213)의 디코드를 행하는 것은 곤란하다(실질적으로 불가능하다).
이와 같이, 도 12와 도 13에 도시되는 종래의 암호화 처리의 결과 얻어지는 암호화 원화상 데이터는, 그대로의 상태에서는 패킷의 단락을 찾아내는 것이 실질적으로 불가능하기 때문에, 상술한 종래의 과제를 해결한 것은 곤란하다. 또는, 상술한 종래의 과제 그 자체가 발생하여 버린다.
또한, JPEG2000의 마커의 하나인 SOP 마커, 즉, 각 패킷의 선두에 부가되는 SOP 마커를 이용함으로써, 암호화 전의 계층부호화 화상 데이터의 형태에서는, 패킷의 단락을 간단하게 식별할 수 있다. 그러나, 상술한 도 12나 도 13과 같이 비트 스트림 전체가 암호화되면, 결국, SOP 마커도 또한 암호화되게 되어, 패킷의 단락으로서 SOP 마커를 능숙하게 이용할 수 없다. 또한, 예를 들어 SOP 마커를 암호화하지 않고 남겼다고 하여도, 그 밖의 부분이 암호화된 결과 얻어지는 암호화 데이터의 중에는, SOP 마커와 동일 코드가 나오는 경우가 있다. 이와 같은 경우, 도 1의 복호 장치(2)측에서는, 이 암호화 데이터중의 SOP 마커와 동일 코드의 부분을, SOP라고 오인하여 버릴 가능성이 있다. 즉, 패킷의 단락을 오인하여 버릴 가능성이 있다. 이와 같이, SOP 마커를 사용하는 것은 부적합하다.
그래서, 본원 출원인은, SOP 마커를 사용하는 일 없이 종래의 과제를 해결 가능한, 즉, 암호화 화상 데이터의 상태에서 패킷의 단락을 용이하게 찾아 내는 것이 가능한 다음과 같은 암호화 처리를 샐각하여, 암호화부(12)에 실행시키는 것으로 하였다. 즉, 계층부호화 화상 데이터로부터 각 계층마다의 인코드 데이터의 각각을 분할하고, 분할된 각 계층마다의 인코드 데이터의 각각을 개별적으로 암호화한다. 그리고, 그 결과 얻어지는 각 계층마다의 암호화 분할 데이터의 각각을 소정의 순번으로 나열하고, 또한, 그 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈(데이터 길이)를 특정 가능한 특정 데이터를 부가하고, 그 결과 얻어지는 데이터를 최종적인 암호화 원화상 데이터로서 출력하는 처리이다.
이 특정 데이터는, 상술한 바와 같이, 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 정보라면 임의의 형태라도 좋고, 또한, 암호화 원화상 데이터에서의 그 배치 장소도 임의의 장소라도 좋다.
단, 상술한 바와 같이, 본 실시의 형태에서는, 암호화의 대상이 되는 계층부호화 화상 데이터는 JPEG2000에 따라 원화상이 계층부호화된 데이터이다. 그래서, 암호화 원화상 데이터에서의 각 계층마다의 암호화 분할 데이터의 각각을, 암호화 전의 계층부호화 화상 데이터를 구성하는 각 패킷의 나열 순서에 따라 나열한 것으로 하면, 암호화 전의 계층부호화 화상 데이터의 헤더를 그대로 특정 데이터로서 이용할 수 있다. 즉, 암호화 전의 계층부호화 화상 데이터의 헤더를 그대로 유용하고, 그 헤더, 및, 각 계층마다의 암호화 분할 데이터의 각각을, 암호화 전의 계층부호화 화상 데이터에서의 패킷의 배치 순번과 동일 순번으로 나열한 데이터를, 암호화 원화상 데이터로서 이용할 수 있다.
왜냐하면, 도 14에 도시되는 메인 헤더(Main Header)에 포함되는 SIZ 및 COD, 및, 그 메인 헤더에 포함되는 PLM 또는 도 16에 도시되는 타일 헤더(Tile Header)에 포함되는 PLT를 이용함으로써, 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정할 수 있기 때문이다.
그래서 이하, 이 도 14와 도 16을 포함하는 도 14 내지 도 17을 참조하여, 메인 헤더에 포함되는 SIZ, COD, PLM, 및, 타일 헤더에 포함되는 PLT에 관해 설명한다.
도 14는, JPEG2000에서 메인 헤더의 구성을 도시하고 있다.
메인 헤더는 상술한 바와 같이 SOC의 후에 계속된다. 즉, 도 14에 도시되는 바와 같이, 메인 헤더는, SOC의 직후에 부가된 마커인 SIZ, 필수 마커 세그먼트인 COD, COC, 및, 옵션 마커 세그먼트인 QCD, QCC, RGN, POC, PPM, TLM, PLM, CRG, COM으로 구성된다.
상술한 바와 같이, 이와 같은 메인 헤더의 구성 요소중의 SIZ, COD, PLM이, 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정하기 위한 일부로서 이용 가능하다. 그래서, 이하, SIZ, COD, PLM의 각각에 관해 개별적으로 설명한다.
SIZ란, 화상(여기서는 도 1의 원화상)에 관한 각종 정보(타일의 사이즈, 컴포넌트 수 등)가 기술되는 마커이다.
COD란, 디폴트의 부호 스타일이 기술되는 필수 마커이다. 타일이 복수로 분할되는 경우에는 선두 타일에 부가된다. 이 COD 내에는, 프로그래시브 순서(상술한 LRCP, RLCP, RPCL, PCRL, 및 CPRL를 특정할 수 있는 정보), 레이어 수, 및 색 변환 등이 포함된다.
PLM이란, 타일 부분의 각 패킷 길이 리스트가 기술되는 옵션 마커 세그먼트이다.
이 PLM의 구성이 도 15에 도시되어 있다. 그래서, 이하, 도 15를 참조하여, PLM의 구성 요소에 관해 설명한다.
도 15에 도시되는 바와 같이, PLM(마커 세그먼트)은, PLM(파라미터), Lplm, Zplm, Nplm(i), Iplm(i,j)(i는 1 내지 n이고, j는 1 내지 m이고, n과 m은 타일 수와 패킷 수에 의존하는 임의의 정수치이다)으로 구성된다.
PLM은 마커이다. Lplm은 이 마커 세그먼트(PLM)의 크기를 나타낸다. Zplm은 PLM 마커의 식별 번호를 나타낸다. Nplm(i)는 i번째의 타일 부분에서의 Iplm의 바이트 수를 나타낸다. Iplm(i,j)은, i번째의 타일 부분에서 j번째의 패킷의 길이를 나타낸다.
이상, 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능하게 하기 위해 이용 가능한 정보의 예로서, JPEG2000에서 메인 헤더중의 SIZ, COD, PLM에 관해 설명하였다.
또한, SIZ, COD, PLM 이외의 메인 헤더의 구성 요소의 설명에 관해서는 생략한다. SIZ, COD, PLM 이외의 메인 헤더의 구성 요소는, 본 실시의 형태의 암호화 처리나 그것에 대한 복호 처리에서는 사용되지 않고, 또한, JPEG2000의 부호 포맷으로서 정의되어 있는 정보이기 때문에 당업자가 용이하게 이해할 수 있기 때문이 다.
이와 같은 메인 헤더의 구성에 대해, 타일 헤더의 구성은 도 16에 도시되는 바와 같이 된다. 즉, 도 16은, 타일 헤더의 구성을 도시하고 있다.
타일 헤더는 상술한 바와 같이 SOT와 SOD의 사이에 배치된다. 즉, 도 16에 도시되는 바와 같이, 타일 헤더는, 필수 마커 세그먼트인 COD, COC, 및, 옵션 마커 세그먼트인 QCD, QCC, RGN, POC, PPM, PLT, COM로 구성된다.
이와 같은 타일 헤더의 구성 요소중의 PLT도, 상술한 PLM와 마찬가지로, 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정하기 위한 일부로서 이용 가능하다. 그래서, 이하, PLT에 관해 설명한다.
PLT란, 타일 부분의 각 패킷 길이 리스트를 기술하는 옵션 마커 세그먼트이다.
도 17에, 이 PLT의 구성이 도시되어 있다. 그래서, 이하, 도 17을 참조하여, PLT의 구성 요소에 관해 설명한다.
도 17에 도시되는 바와 같이, PLT(마커 세그먼트)는, PLT(파라미터), Lplt, Zplt, Iplt(i)(i는1 내지 n이고, n는 패킷 수에 의존하는 임의의 정수치이다)로 구성된다.
PLT는 마커이다. Lplt는 이 마커 세그먼트(PLT)의 크기를 나타낸다. Zplt는 PLT 마커의 식별 번호를 나타낸다. Iplt(i)는, i번째의 패킷의 길이를 나타낸다.
또한, PLT 이외의 타일 헤더의 구성 요소의 설명에 관해서는 생략한다. PLT 이외의 타일 헤더의 구성 요소는, 본 실시의 형태의 암호화 처리나 그것에 대한 복 호 처리에서는 사용되지 않고, 또한, JPEG2000의 부호 포맷으로서 정의되어 있는 정보이기 때문에 당업자가 용이하게 이해할 수 있기 때문이다.
그런데, 상술한 바와 같이, PLM과 PLT는 어느것이나, 타일 부분의 각 패킷 길이 리스트를 기술하는 선택 마커이다. 즉, PLM과 PLT의 각각에 기술되는 정보는, 인코드된 코드 스트림 내에 존재한 모든 패킷 길이이다. 단, PLM은 각 타일에 나눠저서 기술되어 있지만, PLT에서는 그 타일중에 포함되는 패킷의 패킷 길이가 전부 순번으로 기술되어 있게 된다.
이 때문에, 각 계층마다의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정하기 위해서는, PLT와 PLM을 양쪽 사용할 필요는 없고, 어느 한쪽의 사용으로 족하다. 따라서, 도 1의 인코드부(11)는, 원화상을 JPEG2000로 계층부호화하는 경우, PLT와 PLM 중의 어느 한쪽에 대해서만, 필요한 정보를 기술하면 좋다.
이상의 내용을 종합하면, 본 실시의 형태에서는, 계층부호화 화상 데이터는, 각 계층의 인코드 데이터마다 개별적으로 암호화되고, 그 결과, 각 계층의 각각의 암호화 분할 데이터가 생성된다. 그리고, 각 계층의 각각의 암호화 분할 데이터가 소정의 순번으로 나열되고, 암호화 원화상 데이터가 생성된다. 이 경우, 이 암호화 원화상 데이터중에서, 소정의 암호화 분할 데이터를 추출하기 위해서는, 추출 대상이되는 암호화 분할 데이터의 배치 위치(오프셋 위치)와 사이즈가 필요해진다. 그래서, 본 실시의 형태의 암호화 원화상 데이터에는, 각 계층의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터가 또한 포함되어 있는 것이다.
이 경우, 암호화 전의 계층부호화 화상 데이터 중에 특정 데이터로서 이용 가능한 정보가 포함되어 있지 않으면, 암호화 처리(도 1의 암호화부(12)의 처리)중에 특정 데이터를 새롭게 생성하는 필요가 있다.
이에 대해, 본 실시의 형태에서는, 암호화 전의 계층부호화 화상 데이터는 JPEG2000에 따라 인코드된 데이터이고, 이 JPEG2000에서의 헤더(메인 헤더 또는 타일 헤더) 내에는, SIZ, COD, PLM, PLT라는 각 계층의 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 정보가 포함되어 있다. 이 때문에, 본 실시 형태에서는, 특정 데이터를 암호화 처리중에 새롭게 생성할 필요는 없고, 계층부호화 화상 데이터의 헤더를 그대로 특정 데이터로서 유용할 수 있다.
따라서 본 실시의 형태의 암호화 처리에 의해 얻어지는 암호화 원화상 데이터로서는, 결국 다음과 같은 데이터가 된다. 즉, 암호화 전의 계층부호화 화상 데이터의 헤더가 그대로 헤더로서 유용되고, 그 헤더, 및, 각 계층마다의 암호화 분할 데이터의 각각이, 암호화 전의 계층부호화 화상 데이터의 각 패킷의 배치 순번에 따라서 나열되고, 그 결과 얻어지는 데이터가, 최종적인 암호화 원화상 데이터로서 도 1의 암호화부(12)로부터 출력되게 된다.
이와 같은 암호화 원화상 데이터의 구체적인 예가, 도 18 내지 도 22에 도시되어 있다. 그래서, 이하, 도 18 내지 도 22를 참조하여, 암호화 원화상 데이터의 구체적인 예와, 그들의 암호화 원화상 데이터를 생성 가능한 암호화 처리(본 발명이 적용되는 암호화 처리)에 관해 설명한다.
도 18에도, 상술한 종래의 암호화 처리를 설명할 때에 이용한 도 12와 도 13 의 계층부호화 화상 데이터(201)가 도시되어 있다. 단, 도 18에서는, 그 계층부호화 화상 데이터(201)가 본 발명의 암호화 처리에 의해 암호화된 결과로서 얻어지는 암호화 원화상 데이터(251)가 도시되어 있다.
즉, 반복하게 되지만, 암호화 전의 계층부호화 화상 데이터(201)는, 상술한 도 2와 같은 RLCP 공간 해상도 스케일러블에 대응하는 계층부호화 화상 데이터이고, 도 2와 같은 헤더에 계속되는 비트 스트림(원화상에 대응하는 실 데이터)이, 6개의 패킷(211) 내지 패킷(216)으로 분할된 계층부호화 화상 데이터를 나타내어져 있다. 6개의 패킷(211) 내지 패킷(216)의 중의 기술에 나타내여지는 바와 같이, 패킷(211) 내지 패킷(213)이 디코드되어 재생되면, 공간 해상도의 계층이 0레벨(R0)의 화상이 얻어지게 된다. 그리고, 패킷(211) 내지 패킷(216)의 전부가 디코드되고 재생되면, 공간 해상도의 계층이 1레벨(R1)의 화상이 얻어지게 된다.
그래서, 도 1의 암호화부(12)는, 처음에, 계층부호화 화상 데이터(201)를, 헤더(SOC 내지 SOD)와 비트 스트림으로 분할하고, 또한, 비트 스트림을, 각 계층마다의 인코드 데이터로 분할한다. 구체적으로는 예를 들면 도 18의 예에서는, 암호화부(12)는, 패킷(211) 내지 패킷(213)으로 이루어지는 제 1의 인코드 데이터와, 패킷(214) 내지 패킷(216)으로 이루어지는 제 2의 인코드 데이터로 분할한다.
다음에, 암호화부(12)는, 각 계층마다의 인코드 데이터의 각각을 개별적으로 암호화한다.
구체적으로는 예를 들면 도 18의 예에서는, 암호화부(12)는, 패킷(211) 내지 패킷(213)으로 이루어지는 제 1의 인코드 데이터를 키(Key1)를 이용하여 암호화한 다. 이로써, 공간 해상도의 계층이 0레벨의(R0에 대응한다) 암호화 분할 데이터(262)가 얻어진다. 또한, 암호화부(12)는, 패킷(214) 내지 패킷(216)으로 이루어지는 제 2의 인코드 데이터를 키(Key1)를 이용하여 암호화하다. 또한, 이 경우, 다른 키(Key2)의 이용도 가능하다. 이로써, 공간 해상도의 계층이 1레벨의(R1에 대응한다) 암호화 분할 데이터(263)가 얻어진다.
그리고, 암호화부(12)는, 암호화 전의 계층부호화 화상 데이터(201)의 헤더(SOC 내지 SOD)를 그대로 헤더(261)로서 유용하고, 헤더(261), 암호화 분할 데이터(262), 암호화 분할 데이터(263), 및, EOC(264)를 그 순번으로 나열함으로써, 최종적인 암호화 원화상 데이터(251)를 생성하고, 도 1의 기록 제어부(13)에 공급한다.
그 결과, 도 1의 복호 장치(2)측에서는, 이와 같은 암호화 원화상 데이터(251)의 중으로부터, 암호화된 그대로의 공간 해상도가 작은 데이터, 즉, 공간 해상도의 계층이 0레벨의 암호화 분할 데이터(262)만을 추출할 수 있다. 왜냐하면, 헤더(261) 내의 PLM 또는 PLT 마커에 의해, R0에 상당하는 전체의 패킷(여기서는, 암호화 분할 데이터(262))의 길이(사이즈)를 계산하는 것이 가능하고, 또한, 헤더(261) 내의 SIZ이나 COD에 의해, 패킷의 선두 위치(여기서는, 암호화 분할 데이터(262)의 선두 위치)의 SOD로부터의 오프셋을 계산하는 것이 가능하기 때문이다.
그런데, 각 계층마다의 인코드 데이터를 개별적으로 암호화할 수 있다는 것은, 암호화 키를 그때마다 바꿀 수 있는 것을 의미하고 있다. 예를 들면, 여기서는 상술한 바와 같이, 공간 해상도의 계층이 0레벨의(R0에 상당한다) 인코드 데이터, 즉, 패킷(211) 내지 패킷(213)이 암호화되는 경우에는 키(Key1)가 사용된다. 이 경우, 공간 해상도의 계층이 1레벨의(R1에 상당한다) 인코드 데이터, 즉, 패킷(214) 내지 패킷(216)이 암호화되는 경우에는 키(Key1)가 사용되어도 좋지만, 키(Key2)가 사용되어도 좋다. 후자의 키(Key2)가 사용되어 암호화된 경우에는, 복호 장치(2)측에서 키(Key1)밖에 보유하고 있지 않으면, 공간 해상도의 계층이 1레벨(R1에 상당한다)의 원화상의 재생은 불가능하게 된다. 즉, 공간 해상도의 계층이 1레벨(R1에 상당한다)에서의 원화상의 재생을 행하기 위해서는, 복호 장치(2)는, 키(Key1) 외에 키(Key2)도 보유할 필요가 있다.
도 18을 참조하여 설명한 이상의 암호화 처리는, 패딩 처리가 불필요한 경우의 암호화 처리의 예이였다. 그래서, 이하, 도 19를 참조하여, 패딩 처리가 필요한 경우의 암호화 처리에 관해 설명한다.
즉, 도 19에는, 상술한 도 18(및 도 12 및 도 13)과 같은 계층부호화 화상 데이터(201)와, 그 계층부호화 화상 데이터(201)가 패딩 처리를 수반하는 암호화 처리에 의해 암호화된 결과로서 얻어지는 암호화 원화상 데이터(271)가 도시되어 있다.
처음에, 도 1의 암호화부(12)는, 계층부호화 화상 데이터(201)를, 헤더(SOC 내지 SOD)와 비트 스트림으로 분할하고, 또한, 비트 스트림을, 각 계층마다의 인코드 데이터로 분할한다. 구체적으로는 예를 들면 도 19의 예에서는, 암호화부(12)는, 패킷(211) 내지 패킷(213)으로 이루어지는 제 1의 인코드 데이터와, 패킷(214) 내지 패킷(216)으로 이루어지는 제 2의 인코드 데이터로 분할하다. 또한, 여기까지 의 처리는 도 18에서 설명하는 처리와 같은 처리이다.
다음에, 암호화부(12)는, 각 계층마다의 인코드 데이터의 각각을 개별적으로 암호화한다.
이 때, 암호화부(12)는, 패딩 처리를 행하게 된다. 구체적으로는 예를 들면 도 19의 예에서는, 암호화부(12)는, 패킷(211) 내지 패킷(213)으로 이루어지는 제 1의 인코드 데이터에 대해 패딩(Paddinng0)을 부가하고, 그 결과 얻어지는 데이터를 키(Key1)를 이용하여 암호화한다. 이로써, 공간 해상도의 계층이 0레벨의(R0에 대응한다) 암호화 분할 데이터(282)가 얻어진다. 또한, 암호화부(12)는, 패킷(214) 내지 패킷(216)으로 이루어지는 제 2의 인코드 데이터에 대해서도 패딩(Padding1)을 부가하고, 그 결과 얻어지는 데이터를 키(Key1)를 이용하여 암호화하다. 또한, 이 경우도, 다른 키(Key2)의 이용이 가능하다. 이로써, 공간 해상도의 계층이 1레벨의(R1에 대응한다) 암호화 분할 데이터(283)가 얻어진다.
그 후의 처리의 흐름은 도 18에서 설명한 처리의 흐름과 같은 처리가 된다. 즉, 암호화부(12)는, 암호화 전의 계층부호화 화상 데이터(201)의 헤더(SOC 내지 SOD)를 그대로 헤더(281)로서 유용하고, 헤더(281), 암호화 분할 데이터(282), 암호화 분할 데이터(283), 및, EOC(284)를 그 순번으로 나열함으로써, 최종적인 암호화 원화상 데이터(271)를 생성하고, 도 1의 기록 제어부(13)에 공급한다.
다음에, 도 20과 도 21을 참조하여, 타일 분할되어 있는 계층부호화 화상 데이터에 대한 암호화 처리와, 그 결과 얻어지는 암호화 원화상 데이터의 구체적인 예에 관해 설명한다. 이 경우, 암호화부(12)는, 각 타일마다 암호화 처리를 반복하 여 가게 된다.
상세하게는, 패딩 처리가 불필요한 경우에는 예를 들면 도 20에 도시되는 바와 같은 암호화 처리가 된다.
즉, 예를 들면 지금, 도 20에 도시되는 바와 같은 계층부호화 화상 데이터(301)가 암호화부(12)에 공급되었다고 한다.
이 계층부호화 화상 데이터(301)는, 상술한 도 2와 같은 RLCP 공간 해상도 스케일러블에 대응하는 계층부호화 화상 데이터이다. 단, 이 계층부호화 화상 데이터(301)는, 원화상이 제 1의 타일과 제 2의 타일로 분할된 경우의 계층부호화 화상 데이터이다. 이 때문에, 메인 헤더 부분(SOC 내지 SOT)(311)에 계속되는 타일 헤더 부분(Tile Header, SOD)(312)은, 그것에 계속되는 제 1의 타일의 비트 스트림, 즉, 패킷(313) 내지 패킷(315)에 대한 헤더 부분이 된다. 그리고, 패킷(315)에 계속되는 타일 헤더 부분(Tile Header, SOD)(316)이, 그것에 계속되는 제 2의 타일의 비트 스트림, 즉, 패킷(317) 내지 패킷(319)에 대한 헤더가 된다.
따라서 암호화부(12)는, 처음에, 계층부호화 화상 데이터(301)를, 메인 헤더 부분(311), 제 1의 타일의 타일 헤더 부분(312), 제 1의 타일의 비트 스트림(인코드 데이터)를 구성하는 패킷(313) 내지 패킷(315), 제 2의 타일의 헤더 부분(316), 제 2의 타일의 비트 스트림(인코드 데이터)을 구성하는 패킷(317) 내지 패킷(319), 및, EOC(320)로 분할한다.
또한, 그 후 일반적으로는, 암호화부(12)는, 각 타일의 각각을 각 계층마다의 인코드 데이터로 또한 분할하게 된다. 단, 도 20의 예에서는, 각 타일의 계층 구조가 1계층밖에 없기 때문에, 즉, 공간 해상도의 계층이 0레벨뿐이기 때문에(R0의 패킷밖에 존재하지 않기 때문에), 그 이상의 분할 처리는 행하여지지 않는다.
다음에, 암호화부(12)는, 각 타일마다의 인코드 데이터의 각각을 개별적으로 암호화한다. 구체적으로는 예를 들면 도 20의 예에서는, 암호화부(12)는, 패킷(313) 내지 패킷(315)으로 이루어지는 제 1의 타일의 인코드 데이터를 키(Key1)를 이용하여 암호화한다. 이로써, 제 1의 타일의 암호화 분할 데이터(333)가 얻어진다. 또한, 암호화부(12)는, 패킷(317) 내지 패킷(319)으로 이루어지는 제 2의 타일의 인코드 데이터를 키(Key1)를 이용하여 암호화하다. 또한, 이 경우, 다른 키(Key2)의 이용도 가능하다. 이로써, 제 2의 타일의 암호화 분할 데이터(335)가 얻어진다.
그리고, 암호화부(12)는, 암호화 전의 계층부호화 화상 데이터(301)의 헤더, 즉, 메인 헤더 부분(311), 제 1의 타일의 타일 헤더 부분(312), 및 제 2의 타일의 타일 헤더 부분(316)의 각각을 그대로, 메인 헤더 부분(331), 제 1의 타일의 타일 헤더 부분(332), 및, 제 2의 타일의 타일 헤더 부분(334)의 각각으로서 유용하고, 다음과 같은 암호화 원화상 데이터(321)를 생성한다. 즉, 암호화부(12)는, 메인 헤더 부분(331), 제 1의 타일의 타일 헤더 부분(332), 제 1의 타일의 암호화 분할 데이터(333), 제 2의 타일의 타일 헤더 부분(334), 제 2의 타일의 암호화 분할 데이터(335), 및, EOC(336)를 그 순번으로 나열함으로써, 최종적인 암호화 원화상 데이터(321)를 생성하고, 도 1의 기록 제어부(13)에 공급한다.
그런데, 각 타일마다의 인코드 데이터를 개별적으로 암호화할 수 있다는 것 은, 암호화 키를 그때마다 바꿀 수 있는 것을 의미하고 있다. 예를 들면, 여기서는 상술한 바와 같이, 제 1의 타일의 인코드 데이터, 즉, 패킷(313) 내지 패킷(315)이 암호화되는 경우에는 키(Key1)가 사용된다. 이 경우, 제 2의 타일의 인코드 데이터, 즉, 패킷(317) 내지 패킷(319)이 암호화되는 경우에는 키(Key1)가 사용되어도 좋지만, 키(Key2)가 사용되어도 좋다. 후자의 키(Key2)가 사용되어 암호화된 경우에는, 복호 장치(2)측에서 키(Key1)밖에 보유하고 있지 않으면, 원화상중의 제 2의 타일의 부분의 재생은 불가능하게 된다. 즉, 원화상의 전 영역의 재생을 행하기 위해서는, 복호 장치(2)는, 키(Key1) 외에 키(Key2)도 보유할 필요가 있다.
이상의 도 20을 참조하여 설명한 암호화 처리는, 타일 분할되며 또한 패딩 처리가 불필요한 경우의 암호화 처리의 예이였다. 그래서, 이하, 도 21을 참조하여, 타일 분할되면 또한 패딩 처리가 필요한 경우의 암호화 처리에 관해 설명한다.
즉, 도 21에는, 상술한 도 20과 같은 계층부호화 화상 데이터(301)와, 그 계층부호화 화상 데이터(301)가 패딩 처리를 수반하는 암호화 처리에 의해 암호화된 결과로서 얻어지는 암호화 원화상 데이터(341)가 도시되어 있다.
처음에, 암호화부(12)는, 계층부호화 화상 데이터(301)를, 메인 헤더 부분(311), 제 1의 타일의 타일 헤더 부분(312), 제 1의 타일의 비트 스트림(인코드 데이터)을 구성하는 패킷(313) 내지 패킷(315), 제 2의 타일의 헤더 부분(316), 제 2의 타일의 비트 스트림(인코드 데이터)을 구성하는 패킷(317) 내지 패킷(319), 및, EOC(320)로 분할한다. 여기까지의 처리는, 도 20에서 설명한 처리와 같은 처리이다.
다음에, 암호화부(12)는, 각 타일마다의 인코드 데이터의 각각을 개별적으로 암호화한다. 이 때, 암호화부(12)는 패딩 처리를 실행하게 된다. 구체적으로는 예를 들면 도 21의 예에서는, 암호화부(12)는, 패킷(313) 내지 패킷(315)으로 이루어지는 제 1의 타일의 인코드 데이터에 패딩(Paddinng1)을 부가하고, 그 결과 얻어지는 데이터를 키(Key1)를 이용하여 암호화한다. 이로써, 제 1의 타일의 암호화 분할 데이터(353)가 얻어진다. 또한, 암호화부(12)는, 패킷(317) 내지 패킷(319)으로 이루어지는 제 2의 타일의 인코드 데이터에도 패딩(Paddinng2)을 부가하고, 그 결과 얻어지는 데이터를 키(Key1)를 이용하여 암호화하다. 또한, 이 경우도, 다른 키(Key2)의 이용이 가능하다.
이로써, 제 2의 타일의 암호화 분할 데이터(355)가 얻어진다.
그 후의 처리의 흐름은 도 20에서 설명하는 처리의 흐름과 마찬가지로 된다. 즉, 암호화부(12)는, 암호화 전의 계층부호화 화상 데이터(301)의 헤더, 즉, 메인 헤더 부분(311), 제 1의 타일의 타일 헤더 부분(312), 제 2의 타일의 타일 헤더 부분(316)의 각각을 그대로, 메인 헤더 부분(351), 제 1의 타일의 타일 헤더 부분(352), 및, 제 2의 타일의 타일 헤더 부분(354)의 각각으로서 유용하고, 다음과 같은 암호화 원화상 데이터(341)를 생성한다. 즉, 암호화부(12)는, 메인 헤더 부분(351), 제 1의 타일의 타일 헤더 부분(352), 제 1의 타일의 암호화 분할 데이터(353), 제 2의 타일의 타일 헤더 부분(354), 제 2의 타일의 암호화 분할 데이터(355), 및, EOC(356)를 그 순번으로 나열함으로써, 최종적인 암호화 원화상 데이터(341)를 생성하고, 도 1의 기록 제어부(13)에 공급한다.
그런데, 도 20과 도 21에서 설명한 암호화 처리의 예는, 상술한 바와 같이, 각 타일의 계층 구조가 1계층만의 경우의 암호화 처리이였다. 그래서, 도 22를 참조하여, 각 타일중의 적어도 하나의 계층 구조가 복수 계층인 경우의 암호화 처리예에 관해 설명한다.
즉, 예를 들면 지금, 도 22에 도시되는 바와 같은 계층부호화 화상 데이터(401)가 암호화부(12)에 공급되었다고 한다.
이 계층부호화 화상 데이터(401)는, 상술한 도 20이나 도 21과 마찬가지로, 원화상이 제 1의 타일과 제 2의 타일로 분할된 경우의 계층부호화 화상 데이터이다. 이 때문에, 메인 헤더 부분(SOC 내지 SOT)(411)에 계속되는 타일 헤더 부분(Tile Header, SOD)(412)는1, 그것에 계속되는 제 1의 타일의 비트 스트림, 즉, 패킷(413)과 패킷(414)에 대한 헤더 부분이 된다. 그리고, 패킷(414)에 계속되는 타일 헤더 부분(Tile Header, SOD)(415)이, 그것에 계속되는 제 2의 타일의 비트 스트림, 즉, 패킷(416)과 패킷(417)에 대한 헤더가 된다.
따라서 암호화부(12)는, 처음에, 계층부호화 화상 데이터(401)를, 메인 헤더 부분(411), 제 1의 타일의 타일 헤더 부분(412), 제 1의 타일의 비트 스트림(인코드 데이터)를 구성하는 패킷(413)과 패킷(414), 제 2의 타일의 헤더 부분(415), 제 2의 타일의 비트 스트림(인코드 데이터)을 구성하는 패킷(416)과 패킷(417), 및, EOC(418)로 분할한다.
도 22의 패킷(413), 패킷(414), 패킷(416), 및, 패킷(417) 내의 기술로부터 알 수 있는 바와 같이, 이번에는, 공간 해상도의 계층 구조가 0레벨과 1레벨의 2계 층으로 되어 있다. 그래서, 암호화부(12)는, 또한, 제 1의 타일의 비트 스트림(인코드 데이터)을 구성하는 패킷(413)과 패킷(414)을, 공간 해상도의 계층이 0레벨의(R0에 상당한다) 패킷(413)과, 공간 해상도의 계층이 1레벨의(R1에 상당한다) 패킷(414)으로 분할한다. 마찬가지로, 암호화부(12)는, 제 2의 타일의 비트 스트림(인코드 데이터)을 구성하는 패킷(416)과 패킷(417)을, 공간 해상도의 계층이 0레벨의(R0에 상당한다) 패킷(416)과, 공간 해상도의 계층이 1레벨의(R1에 상당한다) 패킷(417)으로 분할한다.
다음에, 암호화부(12)는, 각 타일마다, 또한 각 계층마다의 인코드 데이터의 각각을 개별적으로 암호화한다. 구체적으로는 예를 들면 도 22의 예에서는, 암호화부(12)는, 패킷(413)을 키(Key1)를 이용하여 암호화하고, 그 결과, 암호화 분할 데이터(433)를 얻는다. 마찬가지로, 암호화부(12)는, 패킷(414)을 키(Key2)를 이용하여, 패킷(416)을 키(Key1)를 이용하여, 패킷(417)을 키(Key2)를 이용하여, 각각 암호화한다. 그 결과, 암호화 분할 데이터(434), 암호화 분할 데이터(436), 및, 암호화 분할 데이터(437)의 각각이 얻어진다.
또한, 여기서는, 공간 해상도의 복호의 관리를 목적으로 하기 때문에, 공간 해상도마다에 암호화 키를 다르게 하였지만(키(Key1)와 키(Key2)를 분간하여 사용하였지만), 키의 사용 방법(조합)은 도 22의 예로 한정되지 않고, 임의의 사용 방법이여도 좋다(조합시켜도 좋다). 즉, 예를 들면 타일의 복호의 관리를 목적으로 하는 경우에는, 패킷(413)과 패킷(414)에 대해 키(Key1)를 이용하고, 패킷(416)과 패킷(417)에 대해 키(Key2)를 이용하는 것도 가능하다. 또는 예를 들면, 패 킷(413), 패킷(414), 패킷(416), 및, 패킷(417)의 각각에 대해 상이한 4개의 키(Key1 내지 Key4)의 각각을 이용하는 것도 가능하다. 이 경우, 공간 해상도의 복호와 타일의 복호와의 양자를 동시에 관리할 수 있다.
그 후, 암호화부(12)는, 암호화 전의 계층부호화 화상 데이터(401)의 헤더, 즉, 메인 헤더 부분(411), 제 1의 타일의 타일 헤더 부분(412), 제 2의 타일의 타일 헤더 부분(415)의 각각을 그대로, 메인 헤더 부분(431), 제 1의 타일의 타일 헤더 부분(432), 및, 제 2의 타일의 타일 헤더 부분(435)의 각각으로서 유용하고, 다음과 같은 암호화 원화상 데이터(421)를 생성한다.
즉, 암호화부(12)는, 메인 헤더 부분(431), 제 1의 타일의 타일 헤더 부분(432), 제 1의 타일의 공간 해상도의 계층이 0레벨의(R0에 상당한다) 암호화 분할 데이터(433), 제 1의 타일의 공간 해상도의 계층이 1레벨의(R1에 상당한다) 암호화 분할 데이터(434), 제 2의 타일의 타일 헤더 부분(435), 제 2의 타일의 공간 해상도의 계층이 0레벨의(R0에 상당한다) 암호화 분할 데이터(436), 제 2의 타일의 공간 해상도의 계층이 1레벨의(R1에 상당한다) 암호화 분할 데이터(437), 및, EOC(438)를 그 순번으로 나열함으로써, 최종적인 암호화 원화상 데이터(421)를 생성하고, 도 1의 기록 제어부(13)에 공급한다.
이상, 도 18 내지 22를 참조하여, JPEG2000의 프로그래시브 순서(패킷 나열 순서)가 RLCP인 경우의 암호화 처리(암호화부(12)의 처리)에 관해 설명하였지만, 그 외의 상술한 각종 프로그래시브 순서라도, 그 암호화 처리는 상술한 처리와 마찬가지로 된다.
또한, 상술한 예에서는, 각 계층마다의 인코드 데이터의 전부가 암호화되었지만, 각 계층마다의 인코드 데이터의 각각이 개별적으로 암호화 가능하기 대문에, 각 계층 중의 임의의 수의 임의의 계층의 인코드 데이터만을 암호화하는 것도 용이하게 가능하다. 마찬가지로, 상술한 예에서는, 각 타일마다의 인코드 데이터의 전부가 암호화되었지만, 각 타일마다의 인코드 데이터의 각각이 개별적으로 암호화 가능하기 때문에, 각 타일중의 임의의 수의 임의의 타일의 인코드 데이터만을 암호화하는 것도 용이하게 가능하다.
또한, 암호화 전의 데이터는, 상술한 예에서는 계층부호화 화상 데이터로 되었지만, 결국, 임의의 데이터(화상 데이터로 한정되지 않다)라도 좋고, 이 경우, 암호화부(12)는, 다음과 같은 제 1의 처리 내지 제 4의 처리를 순차적으로 실행할 수 있다.
즉, 제 1의 처리란, 암호화 전의 입력 데이터를 소정의 규칙에 따라 복수로 분할하고, 그 결과 얻어지는 분할 데이터를 출력한 처리이다. 또한, 소정의 규칙이란, 예를 들면 상술한 예에서는, 헤더 부분과 비트 스트림(원화상에 대응하는 실 데이터)으로 분할하고, 또한 비트 스트림을, 각 타일마다이면서 각 계층마다로 분할하는 규칙이 된다.
제 2의 처리란, 제 1의 처리에서 출력된 복수의 분할 데이터중에서 임의의 수의 임의의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터를 출력하는 처리이다.
제 3의 처리란, 제 2의 처리에서 출력된 암호화 분할 데이터를 복호시에 특 정하기 위한 특정 데이터로서, 암호화 분할 데이터의 각각, 제 1의 처리에서 출력된 복수의 분할 데이터중의 제 2의 처리의 대상 외의 분할 데이터의 각각, 및, 특정 데이터 자신이 소정의 배치 순번으로 배치된 경우에 있어서의, 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 특정 데이터를 생성하는 제 3의 처리이다. 또한, 상술한 예에서는 입력 데이터가 JPEG2000의 계층부호화 화상 데이터로 되어 있기 때문에, 특정 데이터로서, SIZ 및 COD 및 PLM 또는 PLT를 포함하는 헤더가 그대로 유용 가능하다. 또한, 소정의 배치 순번이란, 암호화 전의 계층부호화 화상 데이터의 각 패킷의 배치 순번 그 자체이다.
제 4의 처리란, 암호화 분할 데이터의 각각, 암호화되지 않은 분할 데이터의 각각, 및, 제 3의 처리에서 생성된 특정 정보를 상술한 소정의 배치 순번으로 나열한 데이터를, 입력 데이터가 암호화된 암호화 입력 데이터로서 출력하는 처리이다. 즉, 상술한 예의 암호화 원화상 데이터가, 여기서 말하는 암호화 입력 데이터이다.
이와 같은 제 1의 처리 내지 제 4의 처리라는 일련의 처리의 실행이 가능하게 되는 암호화부(12)의 상세한 기능적 구성예가 도 23에 도시되어 있다. 즉, 도 23은, 암호화부(12)의 상세한 기능적 구성예를 도시하고 있다.
도 23에 도시되는 바와 같이, 암호화부(12)에는, 데이터 분리부(451) 내지 암호화 입력 데이터 생성부(454)가 마련되어 있다. 데이터 분할부(451), 암호화 처리부(452), 특정 데이터 생성부(453), 및, 암호화 입력 데이터 생성부(454)의 각각은, 상술한 제 1의 처리 내지 제 4의 처리의 각각을 실행한다.
또한, 상술한 바와 같이, 입력 데이터가 JPEG2000의 계층부호화 화상 데이터 인 경우, SIZ 및 COD 및 PLM 또는 PLT를 포함하는 헤더가 특정 데이터로서 그대로 유용 가능하다. 따라서, 이 경우, 특정 데이터 생성부(453)이란, JPEG2000의 계층부호화 화상 데이터로부터 헤더를 취득하는 헤더 취득부라고도 할 수 있다.
또한, 상술한 바와 같이, 입력 데이터가 JPEG2000의 계층부호화 화상 데이터인 경우, 암호화 입력 데이터란, 암호화 원화상 데이터를 지칭한다. 따라서, 이 경우, 암호화 입력 데이터 생성부(454)란, 암호화 원화상 데이터 생성부라고도 할 수 있다.
다음에, 도 24의 순서도를 참조하여, 이러한 도 23의 기능적 구성을 갖는 암호화부(12)가 탑재된 도 1의 암호화 장치(1)의 처리예에 관해 설명한다.
처음에, 스텝 S1에서, 인코드부(11)는, 원화상을 인코드하여, 그 결과 얻어지는 계층부호화 화상 데이터를 출력한다.
상세하게는, 스텝 S1에서, 인코드부(11)는, 주목하는 종류의 품질의 계층수가 A(A는, 1 이상의 임의의 정수치)가 되도록, 원화상을 JPEG2000에 따라 계층부호화한다. 예를 들면, 상술한 도 18 내지 도 22의 예에서는, 주목하는 품질의 종류는 공간 해상도가 되고, 계층수(A)는 1 또는 2로 되었다. 즉, 도 18의 예와 같이, R0와 R1의 각각에 상당하는 패킷이 존재하는 계층부호화 화상 데이터가 출력된 경우에는, 계층수(A)는 2가 된다. 이에 대해, 도 20의 예와 같이, R0에 상당하는 패킷만이 존재하는 계층부호화 화상 데이터가 출력된 경우에는, 계층수(A)는 1이 된다.
또한, 이 경우, 상술한 바와 같이, JPEG2000로 기록이 필수로 규정되어 있는 SIZ 및 COD 외에, 기록은 임의이다(옵션이다)라고 규정되어 있는 PLM 또는 PLT도, 복호 장치(2)측에서 각 계층의 암호화 분할 데이터의 각각을 특정하기 위해 이용된다. 그래서, 인코드부(11)는, 메인 헤더의 SIZ 및 COD 외에, 메인 헤더의 PLM 또는 타일 헤더의 PLT에도 필요한 정보를 각각 기록한다.
이와 같이 하여 인코드부(11)로부터 출력된 계층부호화 화상 데이터가 암호화부(12)에 공급되면, 처리는 스텝 S2로 진행한다.
스텝 S2에서, 암호화부(12)는, 상술한 바와 같이, 계층부호화 화상 데이터로부터(주목하는 종류의 품질의) 각 계층마다의 인코드 데이터를 분할하고, 분할된 각 계층마다의 인코드 데이터의 각각을 개별적으로 암호화한다. 이로써, 각 계층마다의 암호화 분할 데이터가 얻어진다.
또한, 이하, 이와 같은 스텝 S2의 처리를 분할 암호화 처리라고 칭한다. 분할 암호화 처리의 상세에 관해서는 도 25의 순서도를 참조하여 후술한다.
다음에, 스텝 S3에서, 암호화부(12)의 도 23의 암호화 입력 데이터 생성부(454)는, 스텝 S2의 분할 암호화 처리의 결과 얻어진 각 계층의 암호화 분할 데이터를 소정의 순번으로 나열하여, 각 계층의 암호화 분할 데이터의 개별 추출에 필요한 정보(여기서는, SIZ 및 COD 및 PLM 또는 PLT)를 포함하는 헤더(도 23의 특정 데이터 생성부(453)에 의해 생성되는 특정 데이터)를 부가하고, 그 결과 얻어지는 데이터를 암호화 원화상 데이터로서 생성한다.
또한, 스텝 S1의 처리에서 출력된 계층부호화 화상 데이터가 JPEG2000에 따라 인코드된 데이터인 경우, 상술한 바와 같이, 소정의 순번이란, JPEG2000의 계층부호화 화상 데이터에서의 각 패킷의 배치 순번과 동일 순번이다. 또한, 이 경우, 특정 데이터로서는, JPEG2000의 계층부호화 화상 데이터의 헤더가 그대로 유용된다(구체적인 예는, 상술한 도 18 내지 도 22 참조).
이와 같이 하여 암호화부(12)에 의해 생성된 암호화 원화상 데이터가 기록 제어부(13)에 제공되면, 처리는 스텝 S4로 진행한다.
스텝 S4에서, 기록 제어부(13)는, 암호화 원화상 데이터를 리무버블 기록 매체(3)에 기록시킨다.
이로써, 암호화 장치(1)의 처리는 종료가 된다.
여기서, 도 25의 순서도를 참조하여, 스텝 S2의 분할 암호화 처리의 상세에 관해 설명한다.
스텝 S21에서, 도 1의 암호화부(12)의 도 23의 데이터 분할부(451)는, 계층부호화 화상 데이터의 메인 헤더 내의 SIZ 또는 COD로부터 계층수(A)를 얻는다.
구체적으로는 예를 들면 도 18의 계층부호화 화상 데이터(201)가 데이터 분할부(451)에 공급된 경우에는, 스텝 S21의 처리에서 계층수(A)로서 「2」가 얻어진다.
스텝 S22에서, 데이터 분할부(451)는, 처리의 대상으로서 주목하여야 할 계층(I)(이하, 주목 계층(I))을 초기화한다. 즉, 주목 계층(I)은 0으로 설정된다.
스텝 S23에서, 데이터 분할부(451)는, 주목 계층(I)은 계층수(A)보다 작은지(I<A인지) 여부를 판정한다.
지금의 경우, 주목 계층(I)=0이고 계층수(A)=2이기 때문에, 스텝 S23에서, I<A라고 판정되고, 처리는 스텝 S24로 진행한다.
스텝 S24에서, 데이터 분할부(451)는, 계층부호화 화상 데이터의 각 패킷중의 주목 계층(I)에 속하는 전(全) 패킷의 총 패킷 길이를, 계층부호화 화상 데이터의 메인 헤더 내의 PLM 또는 PLT로부터 얻는다.
즉, 암호화를 행하는 단위(분할 단위)란, 동일 계층에 포함되는 패킷의 총 패킷 길이가 되고, 이 총 패킷 길이는, PLM이나 PLT로부터 얻어지는 각 패킷 길이의 총 가산치가 된다.
단, 이 경우, SOP 마커가 부가되어 있는 경우는, SOP의 6바이트를 각 패킷에 가산할 필요가 있다. 이 SOP의 유무는 메인 헤더에 기술되어 있기 때문에, 그것을 참조하면 좋다.
데이터 분할부(451)는, 계층부호화 화상 데이터로부터, 이와 같이 하여 연산된총 패킷 길이로 특정되는 부분을 추출하고(분할하고), 그것을, 주목 계층(I)의 인코드 데이터로서 암호화 처리부(452)에 공급한다. 구체적으로는 예를 들면 지금의 경우, 주목 계층(I)=0이기 때문에, 도 18의 예에서는, 패킷(211) 내지 패킷(213)의 총 패킷 길이가 연산되게 되고, 그 결과로서, 그 패킷(211) 내지 패킷(213)이 계층부호화 화상 데이터(201)로부터 분할되고 암호화 처리부(452)에 공급되게 된다.
그러면, 암호화 처리부(452)는, 스텝 S25에서, 주목 계층(I)에 속하는 패킷, 즉, 계층부호화 화상 데이터중의 스텝 S24의 처리에서 연산된 총 패킷 길이로 특정되는 부분의 데이터를 대상으로 하여 암호화한다.
구체적으로는 예를 들면 지금의 경우, 주목 계층(I)=0이기 때문에, 도 18의 예에서는, 공간 해상도의 계층이 0레벨의(R0에 상당한다) 패킷(211) 내지 패킷(213)이 암호화되고, 그 결과로서 암호화 분할 데이터(262)가 얻어지게 된다.
또한, 이 때, 암호화 처리부(452)는, 패딩 처리가 필요하면, 최후의 블록에 대해 패딩을 행하고 나서 암호화를 행한다. 구체적으로는 예를 들면 지금의 경우, 주목 계층(I)=0이기 때문에, 도 19에 도시되는 바와 같이, 공간 해상도의 계층이 0레벨의(R0에 상당한다) 패킷(211) 내지 패킷(213)에 대해 패딩(padding0)이 부가된 데이터가 암호화되고, 그 결과로서 암호화 분할 데이터(282)가 얻어지게 된다.
스텝 S26에서, 데이터 분할부(451)는, 주목 계층(I)을 1 증가시키도록 갱신하고(I++), 처리를 스텝 S23으로 되돌리고, 그 이후의 처리를 반복한다.
구체적으로는 예를 들면, 이번에는 주목 회수(I)가 「1」로 갱신되기 때문에, 도 18의 예에서는, 스텝 S24의 처리에서, 패킷(214) 내지 패킷(216)이 계층부호화 화상 데이터(201)로부터 분할되고(암호화의 대상으로서 확정되고), 스텝 S25의 처리에서, 그 패킷(214) 내지 패킷(216)이 암호화되고, 그 결과로서 암호화 분할 데이터(263)가 얻어지게 된다.
단, 패딩 처리가 필요한 경우에는, 도 19의 암호화 분할 데이터(283)가 얻어지게 된다.
그리고, 스텝 S26의 처리에서 주목 계층(I)이 「2」로 갱신되고, 또한, 계층수(A)=2이기 때문에, 다음의 스텝 S23의 처리에서 NO라고 판정되고, 분할 암호화 처리는 종료한다. 즉, 도 24의 스텝 S2의 처리가 종료되고, 스텝 S3의 처리가 실행되게 된다.
구체적으로는 예를 들면 도 18의 예에서는, 특정 데이터 생성부(헤더 취득부)(453)는, 계층부호화 화상 데이터(201)의 헤더(SOC 내지 SOD)를 취득하고, 그것을 헤더(특정 데이터)(261)인 것으로서 그대로 유용(생성)하고, 암호화 입력 데이터(암호화 원화상 데이터) 생성부(454)에 공급한다.
이 때, 암호화 입력 데이터 생성부(454)에는, 스텝 S2의 처리의 결과 얻어진 암호화 분할 데이터(262)와 암호화 분할 데이터(263)의 각각도 공급되어 있다. 그래서, 암호화 입력 데이터 생성부(454)는, 스텝 S3의 처리에서, 헤더(특정 데이터)(261), 암호화 분할 데이터(262), 암호화 분할 데이터(263), 및, EOC(264)를 그 순번으로 나열한 데이터(251)를, 암호화 원화상 데이터로서 도 1의 기록 제어부(13)에 출력하는 것이다.
또한, 패딩 처리가 행하여진 경우, 스텝 S3의 처리에서는, 도 19의 암호화 원화상 데이터(271)가 얻어지고, 기록 제어부(13)에 공급되게 된다.
따라서 다음의 스텝 S4의 처리에서, 도 18의 암호화 원화상 데이터(251) 또는 도 19의 암호화 원화상 데이터(271)가, 리무버블 기록 매체(3)에 기록되는 것이다.
이상, 도 24와 도 25를 참조하여, 도 1의 암호화 장치(1)의 처리예에 관해 설명하였다.
다음에, 도 26의 순서도를 참조하여, 복호 처리 장치(2)의 처리예에 관해 설명한다. 단, 여기서 말하는 복호 처리 장치(2)의 처리란, 상술한 도 24와 도 25의 처리의 결과로서 리무버블 기록 매체(3)에 기록된 암호화 원화상 데이터에 대한 처 리이고, 그 암호화 원화상 데이터중의 적어도 일부분을 복호하여 디코드하기 까지의 일련의 처리를 지칭한다.
처음에, 스텝 S41에서, 복호 처리 장치(2)의 재생 계층 지정부(21)는, 소정 종류의 품질에 관한 재생 계층(X)(X는 1 이상의 임의의 정수치)을 지정하고, 추출부(22)에 통지한다.
스텝 S42에서, 추출부(22)는, 리무버블 기록 매체(3)에 기록된 암호화 원화상 데이터의 메인 헤더 내의 SIZ 또는 COD로부터, 소정 종류의 품질에 관한 계층수(A)를 얻는다.
구체적으로는 예를 들면 지금, 리무버블 기록 매체(3)에는 상술한 도 18의 암호화 원화상 데이터(251)가 기록되어 있다고 한다. 이 경우, 스텝 S42의 처리에서는, 공간 해상도의 계층수(A)로서 「2」를 얻게 된다.
스텝 S43에서, 추출부(22)는, 재생 계층(X)은 계층수(A)보다 작은지(X<A인지) 여부를 판정한다.
추출부(22)는, 스텝 S43에서, 재생 계층(X)은 계층수(A) 이상이다(NO이다)라고 판정하면, 스텝 S44에서, 소정의 에러 처리를 실행하고, 처리를 종료시킨다.
구체적으로는 예를 들면 지금의 경우, 재생 계층(X)으로서 2 이상이 지정되면, 스텝 S43에서 NO라고 판정되고, 스텝 S44의 처리에서, 소정의 에러 처리가 실행된다. 도 18의 예에서는, 공간 해상도의 계층은 0레벨 또는 1레벨뿐이기 때문이다.
즉, 재생 계층(X)은 0 또는 1만이 지정 가능하기 때문이다.
이에 대해, 지금의 경우, 재생 계층(X)으로서 예를 들면 0 또는 1이 지정되어 있으면, 스텝 S43에서 YES라고 판정되고, 처리는 스텝 S45로 진행한다.
스텝 S45에서, 추출부(22)는, 재생 계층(X)은 계층수(A)보다 1 작은지(X=A-1인지) 여부를 판정한다.
X=A-1이란, 소정 종류의 품질의 재생 계층(X)이, 맨 위의 계층(원화상이 원래 갖고 있는 최고의 계층)인 것을 나타내고 있다. 예를 들면, 지금의 경우, 공간 해상도의 최고 계층은 1레벨이기 때문에, 재생 계층(X)으로서 1이 지정되는 것은, 최고 공간 해상도(1레벨)로의 재생이 지정된 것으로 된다.
따라서 이와 같은 경우, 추출부(22)는, 스텝 S45에서, X=A-1이라고 판정하고, 리무버블 기록 매체(3)로부터 암호화 원화상 데이터 전체를 취득하여 복호부(23)에 공급한다.
구체적으로는 예를 들면 지금의 경우, 복호부(23)에는, 도 18의 암호화 원화상 데이터(251)가 공급되게 된다.
그래서, 스텝 S46에서, 복호부(23)는, 암호화 원화상 데이터의 전 암호화 부분을 복호한다. 예를 들면 지금의 경우, 스텝 S46의 처리에서, 암호화 분할 데이터(262)와 암호화 분할 데이터(263)가 함께 복호되고, 그 결과, 패킷(211) 내지 패킷(216)의 전부가 복원되게 된다.
또한, 예를 들면 도 19의 암호화 원화상 데이터(271)와 같은, 패딩 처리가 시행된 암호화 원화상 데이터가 복호부(23)에 공급되어 온 경우, 복호부(23)는, 암호화 부분을 복호 후, 패딩(도 19의 예에서는, Padding0과 Padding1)을 제거한다.
그리고, 스텝 S48에서, 복호부(23)는, 복호된 데이터에 헤더를 부가하여, 재생 계층(X)의 인코드 데이터를 복원한다.
구체적으로는 예를 들면 지금의 경우, 공간 해상도의 재생 계층(X)=1의 인코드 데이터로서, 도 18의 계층부호화 화상 데이터(201) 그 자체가 복원된다.
복원된 인코드 데이터가, 복호부(23)로부터 디코드부(24)에 공급되면, 처리는 스텝 S49로 진행한다.
스텝 S49에서, 디코드부(24)는, 재생 계층(X)의 인코드 데이터를 JPEG2000에 따라 디코드하고, 그 결과 얻어지는 화상 신호를 재생 화상으로서 출력한다. 구체적으로는 예를 들면 지금의 경우, 공간 해상도의 계층이 1레벨의(원화상이 원래 갖는 최고 공간 해상도의) 화상 신호가, 재생 화상으로서 출력되는 것이다. 이로써, 복호 처리 장치(2)의 처리는 종료가 된다.
이에 대해, 재생 계층(X)으로서 최고 계층보다 낮은 계층이 지정되면, 구체적으로는 예를 들면 지금의 경우에는 재생 계층(X)으로서 0레벨이 지정되면, 스텝 S45에서, NO라고 판정되고, 처리는 스텝 S47로 진행한다.
스텝 S47에서, 추출부(22)는, 리무버블 기록 매체(3)에 기록되어 있는 암호화 원화상 데이터중의, 소정 종류의 품질의 재생 계층(X)으로의 재생(디코드)에 필요한 암호화 분할 데이터를 추출하고, 복호부(23)에 공급한다. 그리고, 복호부(23)는, 추출된 암호화 분할 데이터만을 복호한다.
구체적으로는 예를 들면 지금의 경우, 공간 해상도의 재생 계층(X)=0(0레벨)으로 되어 있기 때문에, 공간 해상도가 0레벨오 재생하기 위해 필요한 암호화 분할 데이터로서, 도 18의 암호화 원화상 데이터(251)중의 R0에 상당하는 암호화 분할 데이터(262)가 추출되고, 복호되게 된다. 또한, 이 때, 암호화되지 않은 부분, 도 18의 예에서는, 헤더(261)와 EOC(264)도 거의 동시에 추출되는 것으로 한다.
이와 같은 스텝 S47의 처리를, 이하, 부분 데이터 추출 복호 처리라고 칭한다. 이 부분 데이터 추출 복호 처리의 상세예가 도 27의 순서도에 도시되어 있다. 그래서, 이하, 도 27의 순서도를 참조하여, 부분 데이터 추출 복호 처리의 상세에 관해 설명한다.
스텝 S61에서, 추출부(22)는, 리무버블 기록 매체(3)에 기록되어 있는 암호화 원화상 데이터의 헤더를 추출한다.
구체적으로는 예를 들면 지금의 경우, 도 28에 도시되는 암호화 원화상 데이터(251)(도 18과 동일한 암호화 원화상 데이터(251))중의 헤더(261)가 추출되게 된다.
다음에, 스텝 S62에서, 추출부(22)는, 그 헤더 내의 SIZ, COD, PLM, PLT중의 적어도 일부를 이용하여, 암호화 원화상 데이터중의, 재생 계층(X)의 인코드 데이터에 대응하는 암호화 부분을 특정한다. 즉, 추출부(22)는, 그 암호화 부분에 관한, SOD로부터의 오프셋과, 데이터 길이를 얻는다.
그리고, 스텝 S63에서, 추출부(22)는, 리무버블 기록 매체(3)에 기록된 암호화 원화상 데이터중에서, 특정된 암호화 부분(대응하는 1 이상의 암호화 분할 데이터)을 추출하고, 복호부(23)에 공급한다.
구체적으로는 예를 들면 지금의 경우, 도 28에 도시되는 암호화 원화상 데이 터(251)중의 암호화 분할 데이터(262)가 추출되고, 복호부(23)에 공급된다. 또한, 이 때, 헤더(261)와 EOC(264)도 복호부(23)에 공급되는 것으로 한다.
그러면, 스텝 S64에서, 복호부(23)는, 추출된 암호화 부분을 복호한다.
구체적으로는 예를 들면 지금의 경우, 도 28에 도시되는 암호화 분할 데이터(262)가 복호되고, 그 결과, 패킷(211) 내지 패킷(213)이 얻어지게 된다.
스텝 S65에서, 복호부(23)는, 복호된 데이터에 패딩이 포함되어 있는지의 여부를 판정한다.
지금의 경우, 도 28에 도시되는 바와 같이, 패딩이 포함되어 있지 않기 때문에, 스텝 S65에서 NO라고 판정되고, 부분 데이터 추출 복호 처리는 종료가 된다.
이에 대해, 예를 들면 가령 도 19의 암호화 분할 데이터(282)가 복호되면, 그 결과로서, 패킷(211) 내지 패킷(213)에 패딩(Padding0)이 부가된 데이터가 얻어지게 된다. 이와 같은 경우, 복호부(23)는, 스텝 S65의 처리에서 YES라고 판정하고, 스텝 S66에서, 그 패딩을 제거한 후, 부분 데이터 추출 복호 처리를 종료시킨다.
이와 같이 하여, 부분 데이터 추출 복호 처리가 종료되면, 즉, 도 26의 스텝 S47의 처리가 종료되면, 처리는 스텝 S48로 진행하고, 그 이후의 처리가 실행된다.
구체적으로는 예를 들면 지금의 경우, 스텝 S48의 처리에서, 도 28에 도시되는 바와 같이, 패킷(211) 내지 패킷(213)의 앞에 헤더(261)가 부가되고, 그 후에 EOC(261)가 부가되고, 그 결과로서, 공간 해상도가 0레벨의 인코드 데이터(481)가 복원되게 된다.
그리고, 스텝 S49의 처리에서, 이 인코드 데이터(481)가 디코드되고, 그 결과 얻어지는, 공간 해상도가 0레벨의 화상 신호(공간 해상도가 1레벨의 원화상에 대해 공간 해상도가 떨어진 화상 신호)가 재생 화상으로서 출력되는 것이다.
이상, 본 발명의 실시의 형태로서, 도 1에 도시되는 바와 같은 기능적 구성을 갖는 암호화 장치(1)와 복호 장치(2)로 이루어지는 정보 처리 시스템에 관해 설명하였다.
그러나, 상술한 바와 같이, 본 발명은, 다양한 실시의 형태를 취하는 것이 가능하고, 당연하지만 도 1의 예로 한정되지 않는다.
구체적으로는 예를 들면, 도 29에 도시되는 바와 같은 정보 처리 시스템에 대해서도 본 발명을 적용할 수 있다. 즉, 도 29는, 본 발명이 적용되는 정보 처리 시스템의 다른 구성예를 도시하고 있다.
도 29에 도시되는 바와 같이, 이 정보 처리 시스템도, 암호화 장치(501)와 복호 장치(503)로 구성된다.
단, 도 1의 정보 처리 시스템에서는, 암호화 원화상 데이터는, 리무버블 기록 매체(3)를 통하여 암호화 장치(1)로부터 복호 장치(2)에 공급되었다. 이에 대해, 도 29의 정보 처리 장치에서는, 암호화 원화상 데이터는, 네트워크(502)를 통하는 통신(스토리밍)에 의해 암호화 장치(501)로부터 복호 장치(503)에 공급된다. 따라서, 암호화 장치(501)로서, 예를 들면, 컨텐츠(원화상)를 배신하는 서버를 채용할 수 있다. 또한, 복호 장치(503)로서, 예를 들면, 그 컨텐츠를 다운로드하여 재생하는 클라이언트, 즉, 유저가 관리하는 클라이언트를 채용할 수 있다.
이 때문에, 암호화 장치(501)측에는, 인코드부(511)와 암호화부(512) 외에, 네트워크(502)를 개재하는 통신의 제어를 행하는 송신부(513)가 마련되어 있다. 즉, 송신부(513)는, 암호화부(512)로부터 공급된 암호화 원화상 데이터를 네트워크(502)를 통하여 복호 장치(503)에 송신(배신)할 수 있다.
또한, 인코드부(511)와 암호화부(512)의 각각은, 도 1의 인코드부(11)와 암호화부(12)의 각각과 기본적으로 같은 기능과 구성을 갖고 있기 때문에, 그 설명에 관해서는 생략한다.
또한, 복호 장치(503)측에는, 재생 계층 지정부(523) 내지 디코드부(526) 외에, 네트워크(502)를 개재하는 통신의 제어를 행하는 수신부(521), 및, 하드디스크 등으로 구성되는 기억부(522)가 마련되어 있다. 즉, 수신부(521)는, 암호화 장치(501)로부터 송신된 암호화 원화상 데이터(컨텐츠 데이터)를 네트워크를(502)를 통하여 기억부(522)에 기억시킨다. 따라서, 추출부(524)는, 리무버블 기록 매체가 아니라 기억부(522)에 기억된 암호화 원화상 데이터중에서 필요한 데이터를 적절히 추출하게 된다.
또한, 재생 계층 지정부(523) 내지 디코드부(526)의 각각은, 도 1의 재생 계층 지정부(21) 내지 디코드부(24)의 각각과 기본적으로 같은 기능과 구성을 갖고 있기 때문에, 그 설명에 관해서는 생략한다. 단, 추출부(524)는, 기억부(522)로부터 데이터를 판독하는 기능을 또한 갖고 있다.
나아가서는, 도 1과 도 29를 조합시킴으로써, 암호화 원화상 데이터의 배신 경로로서, 리무버블 기록 매체(3)와 네트워크(502)의 양자를 이용 가능한 본 발명 이 적용되는 정보 처리 시스템의 실현도 용이하게 가능해진다.
또한, 이와 같은 네트워크(502) 등을 통하는 스토리밍을 행하는 경우에는, 패킷 길이를 얻기 위한 정보로서는, PLM을 이용하기보다는 PMT를 이용하는 쪽이 알맞다.
왜냐하면, 화상 전체에 대해 하나밖에 없는 PLM을 이용하는것 보다도, 각 타일에 대해 존재하는 PLT를 이용하면, 전 타일이 아니라 일부분의 타일만을 송신하는 경우에, 오버 헤드가 적어지고, 보내저 오는 타일마다 제어를 행하는 것이 용이해진다는 메리트가 있기 때문에이다.
또한, 스토리밍을 행하는 경우, 그 통신 경로로서, 네트워크를 개재시킬 필요는 특히 없고, 그 통신 경로는 특히 한정되지 않는다.
그런데, 이상 설명한 바와 같은 정보 처리 시스템 외에, 하드디스크 기록 재생 장치와 같은 1대의 정보 처리 장치에 대해서도 본 발명을 적용하는 것은 당연히 가능하다.
구체적으로는 예를 들면, 도 30에 도시되는 바와 같은 기록 재생 장치(551)에 본 발명을 적용하는 것도 가능하다. 즉, 도 30은, 본 발명이 적용되는 정보 처리 장치로서의 기록 재생 장치의 구성예를 도시하고 있다.
도 30에 도시되는 바와 같이, 기록 재생 장치(551)에는, 인코드부(561) 내지 디코드부(568)가 마련되어 있다.
인코드부(561) 내지 기록 제어부(563)의 각각은, 도 1의 인코드부(11) 내지 기록 제어부(13)의 각각과 기본적으로 같은 기능과 구성을 갖고 있다. 따라서, 그 들의 설명에 관해서는 생략한다.
기억부(564)는, 예를 들면 하드디스크로 구성되고, 암호화부(562)로부터 출력된 암호화 원화상 데이터를 기억할 수 있다.
재생 계층 지정부(565) 내지 디코드부(568)의 각각은, 도 1의 재생 계층 지정부(21) 내지 디코드부(24)의 각각과 기본적으로 같은 기능과 구성을 갖고 있기 때문에, 그 설명에 관해서는 생략한다. 단, 추출부(566)는, 리무버블 기록 매체(552)로부터 데이터를 판독하는 기능과, 기억부(564)로부터 데이터을 판독한 기능을 겸비하고 있다.
그런데, 상술한 일련의 처리는, 하드웨어에 의해 실행시키는 것도 가능하지만, 소프트웨어에 의해 실행시킬 수 있다.
이 경우, 도 1의 암호화 장치(1) 및 복호 장치(2), 도 29의 암호화 장치(501) 및 복호 장치(503), 및, 기록 재생 장치(551)의 각각은, 예를 들면, 도 31에 도시되는 바와 같은 퍼스널 컴퓨터로 구성할 수 있다.
도 31에서, CPU(Central Processing Unit)(601)는, ROM(Read Only Memory)(602)에 기록되어 있는 프로그램, 또는 기억부(608)로부터 RAM(Random Access Memory)(603)에 로드된 프로그램에 따라 각종의 처리를 실행한다. RAM(603)에는 또한, CPU(601)가 각종의 처리를 실행함에 있어서 필요한 데이터 등도 적절히 기억된다.
CPU(601), ROM(602), 및 RAM(603)은, 버스(604)를 통하여 상호 접속되어 있다. 이 버스(604)에는 또한, 입출력 인터페이스(605)도 접속되어 있다.
입출력 인터페이스(605)에는, 키보드, 마우스 등으로 이루어지는 입력부(606), 디스플레이 등으로 이루어지는 출력부(607), 하드디스크 등으로 구성되는 기억부(608), 및, 모뎀, 터미널 어댑터 등으로 구성되는 통신부(609)가 접속되어 있다. 통신부(609)는, 인터넷을 포함하는 네트워크를 통하여 다른 정보 처리 장치와의 통신 처리를 행한다.
입출력 인터페이스(605)에는 또한, 필요에 응하여 드라이브(610)가 접속되고, 자기 디스크, 광디스크, 광자기 디스크, 또는 반도체 메모리 등으로 이루어지는 리무버블 기록 매체(611)가 적절히 장착되고, 그것들으로부터 판독된 컴퓨터 프로그램이, 필요에 응하여 기억부(608)에 인스톨된다.
일련의 처리를 소프트웨어에 의해 실행시키는 경우에는, 그 소프트웨어를 구성하는 프로그램이, 전용의 하드웨어에 조립되어 있는 컴퓨터, 또는, 각종의 프로그램을 인스톨함으로써, 각종의 기능을 실행하는 것이 가능한, 예를 들면 범용의 퍼스널 컴퓨터 등에, 네트워크나 기록 매체로부터 인스톨된다.
이와 같은 프로그램을 포함하는 기록 매체는, 도 31에 도시되는 바와 같이, 장치 본체와는 별도로, 유저에게 프로그램을 제공하기 위해 배포되는, 프로그램이 기록되어 있는 자기 디스크(플로피 디스크를 포함한다), 광디스크(CD-ROM(Compact Disk-Read Only Memory), DVD(Digital Versatile Disk)를 포함한다), 광자기 디스크(MD(Mini-Disk)를 포함한다), 또는 반도체 메모리 등으로 이루어지는 리무버블 기록 매체(패키지 미디어)(611)에 의해 구성될 뿐만 아니라, 장치 본체에 미리 조립된 상태에서 유저에게 제공되는, 프로그램이 기록되어 있는 ROM(602)이나, 기억 부(608)에 포함되는 하드디스크 등으로 구성된다.
또한, 본 명세서에서, 기록 매체에 기록되는 프로그램을 기술하는 스텝은, 그 순서에 따라 시계열적으로 행하여지는 처리는 물론, 반드시 시계열적으로 처리되지 않더라도, 나열적 또는 개별적으로 실행되는 처리도 포함하는 것이다.
또한, 본 명세서에서, 시스템이란, 복수의 장치나 처리부에 의해 구성되는 장치 전체를 나타내는 것이다.
그런데, 이상 설명한 바와 같이, 예를 들면, 도 29에 도시되는 바와 같은 네트워크 송신 모델에서는, 서버(501)측에서 암호화 원화상 데이터를 보존하고 있는 경우에는, 그곳으로부터 네트워크(502)의 통신 환경이나 클라이언트(503)측의 디바이스 능력에 응한 비트 레이트나 공간 해상도의 데이터를 빼냄에 의해, 재인코드나 재암호화가 필요 없이, 송신하는 것이 가능해진다.
또한, 이것은, 예를 들면 도 1에 도시되는 바와 같은 모델, 즉, 암호화 원화상 데이터가 패키지화된 모델에 대해서도 유효하다. 즉, 암호화된 상태의 컨텐츠로부터, 재생 디바이스나 표시 매체의 능력(공간 해상도) 등에 응한 적절한 데이터를, 암호화된 채의 상태로 빼내는 것이 가능해지고, 이 경우도 재인코드나 재암호화가 불필요해진다.
또한, 클라이언트가 현재 소지하는 키(Key1)로는 복호할 수 없는 높은 비트 레이트의 화상이나 높은 공간 해상도의 화상이라도, 서버로부터 복호에 필요한 키(Key2)를 비밀로 취득함에 의해, 그들의 화상을 부가적으로 즐기는 것이 가능해진다. 마찬가지로, 화상의 일부분만이 다른 키로 암호화되어 있는 경우에 관해서 도, 새롭게 발행된 키을 취득함에 의해, 지금까지 복호할 수 없었던 화상의 일부분을 복호할 수 있도록 된다.
이상과 같이, 재인코드나 재암호화의 필요 없이 컨텐츠를 계층적으로 배신, 재생할 수 있다. 또한, 복수의 키을 사용하여 암호화된 경우에는, 새롭게 키을 발행하던지, 또는, 이용자마다 재생하는 컨텐츠에 대해 제한을 거는 것이 가능해진다. 또한, 마찬가지로 하여 화상을 부분적으로 비밀로 하여 두는 것도 가능해진다.
환언하면, 본 발명을 적용함으로써, JPEG2000의 계층화 구조를 유지한 채로, 암호화, 복호를 행하는 수법의 실현이 용이하게 가능해진다. 즉, 하나의 화상 파일을 암호화한 후에, 그 화상 파일의 일부분을 취출함에 의해, 저공간 해상도의 암호화된 채의 화상을 취출하는 수법의 실현이 용이하게 가능해진다. 마찬가지로, 저 비트 레이트의 암호화된 채의 화상을 취출하는 수법의 실현도 용이하게 가능해진다.
또한, 공간 해상도나 비트 레이트라는 품질만이 아니라, 화상의 일부분만에 암호화를 거는 수법의 실현도 용이하게 가능해진다. 즉, 화상의 일부분만에 암호화를 행함에 의해, 그 부분만이 올바르게 디코드할 수 없게, 그 부분을 비밀로 하는 수법의 실현도 용이하게 가능하다.
또한, 이들의 수법을 복합적으로 사용함에 의해, 화상의 공간 해상도, 비트 레이트, 및 부분 화상에 대해, 암호화를 임의로 걸 수가 있다. 그리고, 동일 파일로부터 부분적으로 빼내는 것도 가능해진다.
이상의 내용으로부터, 인터넷 등 네트워크를 통하여 비트 레이트나 공간 해 상도를 필요에 응하여 변경하는 경우나, 디지털 시네마와 같은, 시큐어러티 의식이 높은 경우에 대해서도, 용이하게 대응하는 것이 가능해진다.

Claims (12)

  1. 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 제 1의 정보 처리 장치와, 상기 암호화 입력 데이터중의 적어도 일부를 복호하는 제 2의 정보 처리 장치로 이루어지는 정보 처리 시스템에 있어서,
    상기 제 1의 정보 처리 장치는,
    소정의 규칙에 따라, 상기 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 수단과, 상기 분할 수단에 의해 분할된 복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 수단과,
    상기 암호화 수단으로부터 출력된 상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 상기 분할 수단에 의해 분할된 복수의 상기 분할 데이터중의 상기 암호화 수단의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터를 생성하는 특정 데이터 생성 수단과,
    상기 특정 데이터 생성 수단에 의해 생성된 상기 특정 데이터, 상기 암호화 수단으로부터 출력된 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데 이터의 각각을 상기 소정의 배치 순번으로 나열한 데이터를, 상기 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 수단과,
    상기 암호화 입력 데이터 생성 수단에 의해 생성된 상기 암호화 입력 데이터를 상기 제 2의 정보 처리 장치에 제공하는 제공 수단을 구비하고,
    상기 제 2의 정보 처리 장치는,
    상기 제 1의 정보 처리 장치의 상기 제공 수단으로부터 제공된 상기 암호화 입력 데이터에 포함되는 상기 특정 데이터에 의거하여, 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 수단과,
    상기 제 1의 정보 처리 장치의 상기 제공 수단으로부터 제공된 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터중의, 상기 추출 수단에 의해 추출된 상기 암호화 분할 데이터를 복호하는 복호 수단을 구비하는 것을 특징으로 하는 정보 처리 시스템.
  2. 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 제 1의 정보 처리 장치와, 상기 암호화 입력 데이터중의 적어도 일부를 복호하는 제 2의 정보 처리 장치로 이루어지는 정보 처리 시스템의 정보 처리 방법에 있어서,
    상기 제 1의 정보 처리 장치는,
    소정의 규칙에 따라, 상기 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 처리를 실행하고,
    상기 분할 처리에 의해 분할된 복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 처리를 실행하고,
    상기 암호화 처리의 결과로서 출력된 상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 상기 분할 처리에 의해 분할된 복수의 상기 분할 데이터중의 상기 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터를 생성하는 특정 데이터 생성 처리를 실행하고,
    상기 특정 데이터 생성 처리에 의해 생성된 상기 특정 데이터, 상기 암호화 처리의 결과로서 출력된 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데이터의 각각을 상기 소정의 배치 순번으로 나열한 데이터를, 상기 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 처리를 실행하고,
    상기 암호화 입력 데이터 생성 처리에 의해 생성된 상기 암호화 입력 데이터를 상기 제 2의 정보 처리 장치에 제공하는 제공 처리를 실행하고,
    상기 제 2의 정보 처리 장치는,
    상기 제 1의 정보 처리 장치의 상기 제공 처리에 의해 제공된 상기 암호화 입력 데이터에 포함되는 상기 특정 데이터에 의거하여, 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 처리를 실행 하고,
    상기 제 1의 정보 처리 장치의 상기 제공 처리에 의해 제공된 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터중의, 상기 추출 처리에 의해 추출된 상기 암호화 분할 데이터를 복호하는 복호 처리를 실행하는 것을 특징으로 하는 정보 처리 방법.
  3. 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 정보 처리 장치에 있어서,
    소정의 규칙에 따라, 상기 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 수단과,
    상기 분할 수단에 의해 분할된 복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 수단과,
    상기 암호화 수단으로부터 출력된 상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 상기 분할 수단에 의해 분할된 복수의 상기 분할 데이터중의 상기 암호화 수단의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터를 생성하는 특정 데이터 생성 수단과,
    상기 특정 데이터 생성 수단에 의해 생성된 상기 특정 데이터, 상기 암호화 수단으로부터 출력된 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데이터의 각각을 상기 소정의 배치 순번으로 나열한 데이터를, 상기 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  4. 제 3항에 있어서,
    소정의 계층부호화 방식에 따라 소정의 화상 데이터가 계층부호화된 결과 얻어지는 계층부호화 화상 데이터가 상기 입력 데이터로서 상기 정보 처리 장치에 입력되고,
    상기 분할 수단은, 입력된 상기 계층부호화 화상 데이터로부터, 각 계층의 각각에 대응하는 부호화 데이터를 상기 분할 데이터로서 각각 분할하는 것을 특징으로 하는 정보 처리 장치.
  5. 제 4항에 있어서,
    상기 소정의 계층부호화 방식이 JPEG2000인 경우,
    상기 특정 데이터 생성 수단은, 또한, SIZ(Image anf tile size) 및 COD(Coding style default) 및 PLM(Packet length, main header) 또는 PLT(Packet length, tile-part header)를 포함하는 상기 계층부호화 화상 데이터의 헤더를 취득하고, 새로운 상기 특정 데이터를 생성하는 대신에, 그 헤더를 상기 특정 데이터 로서 유용하고,
    상기 암호화 입력 데이터 생성 수단은, 상기 특정 데이터 생성 수단에 의해 상기 특정 데이터로서 유용된 상기 계층부호화 화상 데이터의 상기 헤더를 포함하는 상기 미암호화 분할 데이터의 각각, 및, 상기 암호화 분할 데이터의 각각을, 상기 계층부호화 화상 데이터를 구성하는 각 패킷의 배치 순번에 따라서 나열한 데이터를, 상기 암호화 입력 데이터로서 생성하는 것을 특징으로 하는 정보 처리 장치.
  6. 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력하는 정보 처리 장치의 정보 처리 방법에 있어서,
    소정의 규칙에 따라, 상기 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 스텝과,
    상기 분할 스텝의 처리에 의해 분할된 복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 스텝과,
    상기 암호화 스텝의 처리에 의해 출력된 상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 상기 분할 스텝의 처리에 의해 분할된 복수의 상기 분할 데이터중의 상기 암호화 스텝의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터를 생성하는 특정 데이터 생성 스텝과,
    상기 특정 데이터 생성 스텝의 처리에 의해 생성된 상기 특정 데이터, 상기 암호화 스텝의 처리에 의해 출력된 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데이터의 각각을 상기 소정의 배치 순번으로 나열한 데이터를, 상기 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 스텝을 포함하는 것을 특징으로 하는 정보 처리 방법.
  7. 입력 데이터의 적어도 일부를 암호화하여, 그 결과 얻어지는 데이터를 암호화 입력 데이터로서 출력한 처리를 제어하는 컴퓨터에 실행시키는 프로그램으로서,
    소정의 규칙에 따라, 상기 입력 데이터로부터 복수의 분할 데이터를 분할하는 분할 스텝과,
    상기 분할 스텝의 처리에 의해 분할된 복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각을 개별적으로 암호화하고, 그 결과 얻어지는 암호화 분할 데이터의 각각을 출력하는 암호화 스텝과,
    상기 암호화 스텝의 처리에 의해 출력된 상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 상기 분할 스텝의 처리에 의해 분할된 복수의 상기 분할 데이터중의 상기 암호화 스텝의 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터를 생성하는 특정 데이터 생성 스텝과,
    상기 특정 데이터 생성 스텝의 처리에 의해 생성된 상기 특정 데이터, 상기 암호화 스텝의 처리에 의해 출력된 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데이터의 각각을 상기 소정의 배치 순번으로 나열한 데이터를, 상기 암호화 입력 데이터로서 생성하는 암호화 입력 데이터 생성 스텝을 포함하는 것을 특징으로 하는 프로그램.
  8. 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고,
    복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고,
    상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 복수의 상기 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터가 생성되고,
    상기 특정 데이터, 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데이터의 각각이 상기 소정의 배치 순번으로 나열되고,
    그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 상기 암호화 입력 데이터중의 적어도 일부를 복호하는 정보 처리 장치로서,
    상기 암호화 입력 데이터에 포함되는 상기 특정 데이터에 의거하여, 상기 암 호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 수단과,
    상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터중의, 상기 추출 수단에 의해 추출된 상기 암호화 분할 데이터를 복호하는 복호 수단을 구비하는 것을 특징으로 하는 정보 처리 장치.
  9. 제 8항에 있어서,
    상기 소정의 데이터는, 소정의 계층부호화 방식에 따라 소정의 화상 데이터가 계층부호화된 결과 얻어지는 계층부호화 화상 데이터이고, 상기 계층부호화 화상 데이터로부터, 각 계층의 각각에 대응하는 부호화 데이터가 상기 분할 데이터로서 각각 분할되고, 그 결과 얻어지는 상기 암호화 입력 데이터가 제공된 경우,
    상기 소정의 화상 데이터의 재생시에 있어서의 계층을 지정하는 계층 지정 수단을 또한 구비하고,
    상기 추출 수단은, 상기 암호화 입력 데이터에 포함되는 상기 특정 데이터에 의거하여, 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의, 상기 계층 지정 수단에 의해 지정된 상기 계층에 대응하는 암호화 분할 데이터를 추출하는 것을 특징으로 하는 정보 처리 장치.
  10. 제 9항에 있어서,
    상기 소정의 계층부호화 방식이 JPEG2000이고, 상기 계층부호화 화상 데이터 의 헤더가 상기 특정 데이터로서 유용되고, 그 헤더를 포함하는 상기 미암호화 분할 데이터의 각각, 및, 상기 암호화 분할 데이터의 각각이, 상기 계층부호화 화상 데이터를 구성하는 각 패킷의 배치 순번에 따라서 나열되고, 그 결과 얻어지는 데이터가 상기 암호화 입력 데이터로서 제공된 경우,
    상기 추출 수단은, 상기 암호화 입력 데이터의 상기 헤더에 포함되는 SIZ(Imageanf tile size) 및 COD(Coding style default) 및 PLM(Packet length, main header) 또는 PLT(Packet length, tile-part header)에 의거하여, 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의, 상기 계층 지정 수단에 의해 지정된 상기 계층에 대응하는 암호화 분할 데이터를 추출하는 것을 특징으로 하는 정보 처리 장치.
  11. 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고,
    복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고,
    상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 복수의 상기 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터가 생성되고,
    상기 특정 데이터, 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분 할 데이터의 각각이 상기 소정의 배치 순번으로 나열되고,
    그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 상기 암호화 입력 데이터중의 적어도 일부를 복호하는 정보 처리 장치의 정보 처리 방법으로서,
    상기 암호화 입력 데이터에 포함되는 상기 특정 데이터에 의거하여, 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 스텝과,
    상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터중의, 상기 추출 스텝의 처리에 의해 추출된 상기 암호화 분할 데이터를 복호하는 복호 스텝을 포함하는 것을 특징으로 하는 정보 처리 방법.
  12. 소정의 데이터가, 소정의 규칙에 따라 복수의 분할 데이터로 분할되고,
    복수의 상기 분할 데이터중에서 소정 개수의 소정의 분할 데이터의 각각이 개별적으로 암호화되고, 그 결과 암호화 분할 데이터의 각각이 얻어지고,
    상기 암호화 분할 데이터의 각각을 복호시에 개별적으로 특정하기 위한 특정 데이터로서, 상기 특정 데이터 자신, 상기 암호화 분할 데이터의 각각, 및, 복수의 상기 분할 데이터중의 암호화 처리의 대상 외의 미암호화 분할 데이터의 각각이 소정의 배치 순번으로 배치된 경우에 있어서의, 상기 암호화 분할 데이터의 각각의 배치 위치와 사이즈를 특정 가능한 상기 특정 데이터가 생성되고,
    상기 특정 데이터, 상기 암호화 분할 데이터의 각각, 및, 상기 미암호화 분할 데이터의 각각이 상기 소정의 배치 순번으로 나열되고,
    그 결과 얻어지는 암호화 입력 데이터가 제공된 경우, 상기 암호화 입력 데이터중의 적어도 일부를 복호하는 처리를 제어하는 컴퓨터에 실행시키는 프로그램으로서,
    상기 암호화 입력 데이터에 포함되는 상기 특정 데이터에 의거하여, 상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터의 전부중의 일부를 추출하는 추출 스텝과,
    상기 암호화 입력 데이터에 포함되는 상기 암호화 분할 데이터중의, 상기 추출 스텝의 처리에 의해 추출된 상기 암호화 분할 데이터를 복호하는 복호 스텝을 포함하는 것을 특징으로 하는 프로그램.
KR1020067024594A 2004-05-27 2005-03-23 정보 처리 시스템 및 방법 KR101120258B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00158325 2004-05-27
JP2004158325A JP2005341316A (ja) 2004-05-27 2004-05-27 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム
PCT/JP2005/005213 WO2005117411A1 (ja) 2004-05-27 2005-03-23 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
KR20070026523A true KR20070026523A (ko) 2007-03-08
KR101120258B1 KR101120258B1 (ko) 2012-03-16

Family

ID=35451260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067024594A KR101120258B1 (ko) 2004-05-27 2005-03-23 정보 처리 시스템 및 방법

Country Status (7)

Country Link
US (1) US8532287B2 (ko)
EP (1) EP1750427A4 (ko)
JP (1) JP2005341316A (ko)
KR (1) KR101120258B1 (ko)
CN (1) CN1993975B (ko)
TW (1) TW200604969A (ko)
WO (1) WO2005117411A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987514B2 (en) * 2006-04-04 2011-07-26 Intertrust Technologies Corp. Systems and methods for retrofitting electronic appliances to accept different content formats
US8868930B2 (en) 2006-05-31 2014-10-21 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US8924367B2 (en) 2006-05-31 2014-12-30 International Business Machines Corporation Method and system for transformation of logical data objects for storage
JP2008009140A (ja) * 2006-06-29 2008-01-17 Fujitsu Ltd 画像処理装置および画像処理方法
KR101059302B1 (ko) 2007-05-30 2011-08-24 후지쯔 가부시끼가이샤 화상 암호화 장치, 화상 암호화 방법, 및 기록 매체
WO2008146334A1 (ja) * 2007-05-30 2008-12-04 Fujitsu Limited 画像暗号化装置、画像復号装置、方法、及びプログラム
JP4995042B2 (ja) * 2007-11-05 2012-08-08 株式会社リコー 情報処理装置、情報処理方法、及び、情報記録媒体
JP2009124456A (ja) * 2007-11-15 2009-06-04 Ricoh Co Ltd 情報処理装置と情報処理方法と情報処理プログラム及び情報記録媒体
US8600050B1 (en) * 2008-02-22 2013-12-03 Sprint Communications Company L.P. Encrypting a data transmission using multiple channels
US20110170687A1 (en) * 2008-11-13 2011-07-14 Masahiko Hyodo Content decoding apparatus, content decoding method and integrated circuit
GB2454606C (en) * 2009-02-02 2017-01-25 Skype Ltd Method of transmitting data in a communication system
JP2011071649A (ja) * 2009-09-24 2011-04-07 Sony Corp 画像処理装置および方法
JP5515758B2 (ja) * 2010-01-18 2014-06-11 ソニー株式会社 画像処理装置および方法
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
US20150235633A1 (en) * 2014-02-20 2015-08-20 Chanpreet Singh Multi-layer display system
EP3160154B1 (en) 2014-06-20 2019-05-01 Sony Corporation Information processing apparatus and information processing method
EP3134995B1 (en) 2014-08-07 2021-12-22 DivX, LLC Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
TWM519795U (zh) 2014-09-15 2016-04-01 巴而可公司 具有增加顯示區域之磚的顯示器
AU2017325928C1 (en) 2016-09-15 2022-04-28 Nuts Holdings, Llc Encrypted userdata transit and storage
CN110446105B (zh) * 2019-09-20 2021-11-16 网易(杭州)网络有限公司 视频加密、解密的方法及装置
US11756218B2 (en) * 2019-10-08 2023-09-12 Sony Group Corporation Secure distribution of multi-resolution point cloud
IL296952A (en) 2020-04-09 2022-12-01 Nuts Holdings Llc (Encrypted User Data Transit and Storage Policy): Flexible Hierarchy Object Graphs
CN112600848B (zh) * 2020-12-17 2023-03-24 上海芯安信息科技有限公司 软件升级包封装方法和装置、解封装方法和装置
CN117724658B (zh) * 2023-12-15 2024-07-02 北京宜通华瑞科技有限公司 基于嵌入式Linux系统的数据安全存储方法及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3431934B2 (ja) * 1992-10-30 2003-07-28 キヤノン株式会社 画像処理装置およびその方法
JP3288898B2 (ja) 1995-05-31 2002-06-04 株式会社東芝 ディジタルテレビジョン放送システム
JP2000013614A (ja) * 1998-06-25 2000-01-14 Nippon Telegr & Teleph Corp <Ntt> 画像データ通信システム
JP2001258031A (ja) 2000-03-08 2001-09-21 Sony Corp 信号処理方法、画像符号化装置及び画像復号装置
US20020164024A1 (en) 2000-08-25 2002-11-07 Hiroshi Arakawa Data transmission method and data relay method
US6898323B2 (en) 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
JP2002300408A (ja) 2001-03-30 2002-10-11 Toshiba Corp 画像ファイリング装置及び方法、並びに画像復元装置及び方法
US6990202B2 (en) * 2001-10-04 2006-01-24 Hewlett-Packard Development Company, L.P. Packetizing devices for secure scalable data streaming
US7409094B2 (en) * 2001-05-04 2008-08-05 Hewlett-Packard Development Company, L.P. Methods and systems for packetizing encoded data
US6983049B2 (en) * 2001-05-04 2006-01-03 Hewlett-Packard Development Company, Lp. Storage devices for secure scalable data streaming
SE522647C2 (sv) 2001-07-04 2004-02-24 Ericsson Telefon Ab L M Säker brevhuvudinformation för e-brev av multi-innehållstyp
JP2003153228A (ja) 2001-11-15 2003-05-23 Sony Corp 画像符号化装置及び画像復号化装置
JP2003324418A (ja) 2002-02-27 2003-11-14 Canon Inc 画像処理装置、データ処理装置及びデータ処理方法
FR2842378B1 (fr) * 2002-07-15 2005-02-04 Canon Kk Procede et dispositif de traitement d'une requete ou de donnees numeriques compressees
US7167560B2 (en) * 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
JP2004140668A (ja) * 2002-10-18 2004-05-13 Canon Inc 情報処理方法
JP2004140667A (ja) 2002-10-18 2004-05-13 Canon Inc 情報処理方法
JP2004242287A (ja) * 2003-01-14 2004-08-26 Canon Inc 情報処理方法及び装置、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US7504968B2 (en) * 2004-02-13 2009-03-17 Hewlett-Packard Development Company, L.P. Media data decoding device

Also Published As

Publication number Publication date
WO2005117411A1 (ja) 2005-12-08
CN1993975B (zh) 2011-12-21
JP2005341316A (ja) 2005-12-08
EP1750427A1 (en) 2007-02-07
CN1993975A (zh) 2007-07-04
US8532287B2 (en) 2013-09-10
TWI333176B (ko) 2010-11-11
TW200604969A (en) 2006-02-01
EP1750427A4 (en) 2011-01-05
KR101120258B1 (ko) 2012-03-16
US20070223697A1 (en) 2007-09-27

Similar Documents

Publication Publication Date Title
KR101120258B1 (ko) 정보 처리 시스템 및 방법
US7457419B2 (en) Information processing method and apparatus for encrypting encoded data
US7057535B2 (en) Methods for scaling encoded data without requiring knowledge of the encoding scheme
US6989773B2 (en) Media data encoding device
CN100584014C (zh) 媒体数据代码转换设备
US7756271B2 (en) Scalable layered access control for multimedia
US8832434B2 (en) Methods for generating data for describing scalable media
KR100812909B1 (ko) 매체 데이터 디코딩 장치
JP2003324418A (ja) 画像処理装置、データ処理装置及びデータ処理方法
JP2007534230A (ja) プログレッシブ暗号化されたスケーラブルデータ列をスケーリングするための方法
JP2004040248A (ja) 情報処理装置、情報処理方法、プログラム、記憶媒体
JP2010041112A (ja) 階層型マルチキャスト配信のためのコンテンツ暗号化方法及び復号化方法並びにコンテンツ暗号化装置及び復号装置
JP2009124456A (ja) 情報処理装置と情報処理方法と情報処理プログラム及び情報記録媒体
Zhu et al. JPEG 2000 syntax-compliant encryption preserving full scalability
Zhu Scalable Encryption and Multi-Access Control for Multimedia
JP2012222568A (ja) データ暗号化装置及びデータ復号化装置及びデータ暗号化方法及びデータ復号化方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee