KR100777144B1 - 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 기록 매체 - Google Patents
코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 기록 매체 Download PDFInfo
- Publication number
- KR100777144B1 KR100777144B1 KR1019990043059A KR19990043059A KR100777144B1 KR 100777144 B1 KR100777144 B1 KR 100777144B1 KR 1019990043059 A KR1019990043059 A KR 1019990043059A KR 19990043059 A KR19990043059 A KR 19990043059A KR 100777144 B1 KR100777144 B1 KR 100777144B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- image
- partial
- coded
- coding
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
- G06T1/0035—Output size adaptive watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32203—Spatial or amplitude domain methods
- H04N1/32224—Replacing pixels of an image with other pixels from the same image, e.g. texture block coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
- H04N1/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
- H04N1/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32347—Reversible embedding, i.e. lossless, invertible, erasable, removable or distorsion-free embedding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/913—Television signal processing therefor for scrambling ; for copy protection
- H04N2005/91307—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal
- H04N2005/91335—Television signal processing therefor for scrambling ; for copy protection by adding a copy protection signal to the video signal the copy protection signal being a watermark
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/78—Television signal recording using magnetic recording
- H04N5/781—Television signal recording using magnetic recording on disks or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/907—Television signal recording using static stores, e.g. storage tubes or semiconductor memories
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
본 발명은 제 1 데이터를 변형시키지 않고 제 2 데이터를 제 1 데이터에 삽입하는 코딩 장치와, 이들 데이터를 변형시키지 않고 코딩된 데이터를 원래의 제 1 데이터와 제 2 데이터로 디코딩하는 디코딩 장치에 관한 것이다. 본 발명은 제 1 데이터 중 적어도 일부 데이터를 저장하기 위한 메모리를 갖고, 제 2 데이터에 따라, 메모리에 저장된 제 1 데이터 중 적어도 일부 데이터를 재배열함으로써 제 2 데이터를 제 1 데이터에 삽입하는 코딩 장치를 제공한다. 본 발명은 또한 제 2 데이터가 삽입되고 다수의 재배열 패턴 중 하나를 사용함으로써 코딩된 데이터 중 적어도 일부 데이터에 재배열이 행해진 코딩된 데이터를 디코딩하는 코딩 장치를 제공한다. 디코딩 장치는 각 재배열 패턴에 대해 인접한 데이터간의 상관관계를 계산하고, 그 상관관계를 근거로 결정된 재배열 패턴에 따라 원래의 제 1 데이터와 제 2 데이터를 디코딩한다.
코딩 장치, 디코딩 장치, 기록매체, 데이터베이스
Description
도 1은 본 발명이 적용된 영상 전송 시스템의 실시예를 도시하는 블록도.
도 2는 본 발명에서 코딩 대상인 영상을 도시하는 도면.
도 3(a)는 본 발명의 실시예에서 영상이 상관관계를 사용해 코딩되기 이전의 상태 또는 디코딩 결과를 도시하는 개념도.
도 3(b)는 본 발명의 실시예에서 상관관계를 사용해 영상을 코딩함으로써 구해진 결과를 도시하는 개념도.
도 4(a)는 본 발명의 실시예에서 영상이 연속성을 사용해 코딩되기 이전의 상태 또는 디코딩 결과를 도시하는 도면.
도 4(b)는 본 발명의 실시예에서 연속성을 사용해 영상을 코딩함으로써 구해진 결과를 도시하는 도면.
도 5a는 본 발명의 실시예에서 영상이 유사성을 사용해 코딩되기 이전의 상태 또는 디코딩 결과를 도시하는 도면.
도 5b는 본 발명의 실시예에서 유사성을 사용해 영상을 코딩함으로써 구해진 결과를 도시하는 도면.
도 6은 도 1에 도시된 삽입 인코더(embedded encoder)(3)의 하드웨어 구성예를 도시하는 블록도.
도 7은 도 6의 삽입 인코더(3)에서 기능적인 구성예를 도시하는 블록도.
도 8은 도 7의 삽입 인코더(3)에 의해 실시되는 동작을 도시하는 흐름도.
도 9a는 도 8의 삽입 코딩 처리에 의한 추가 정보의 삽입 이전의 영상을 도시하는 도면.
도 9b는 도 8에 도시된 단계(S3)의 스와핑(swapping) 방식을 도시하는 도면.
도 9c는 도 8에 도시된 단계(S3)의 스와핑이 완료된 이후의 영상을 도시하는 도면.
도 10은 도 1에 도시된 디코더(decoder)(6)의 하드웨어 구성예를 도시하는 블록도.
도 11은 도 10의 디코더(6)에서 기능적인 구성예를 도시하는 블록도.
도 12는 도 11의 디코더(6)에 의해 실시되는 동작을 도시하는 흐름도.
도 13은 도 8의 삽입 코딩 처리의 시뮬레이션(simulation)에서 사용되었던 원래 영상의 사진을 도시하는 도면.
도 14는 도 8의 삽입 코딩 처리의 시뮬레이션 결과인 영상의 사진을 도시하는 도면.
도 15는 도 12의 디코딩 처리의 시뮬레이션 결과인 영상의 사진을 도시하는 도면.
도 16은 도 12의 흐름도에 따라 스와핑의 대상인 칼럼 벡터(column vector)를 도시하는 도면.
도 17은 칼럼 벡터 공간에서 칼럼 벡터의 제 1 설명도.
도 18은 칼럼 벡터 공간에서 칼럼 벡터의 제 2 설명도.
도 19는 칼럼(column) 및 로우(row) 방향으로 스와핑하기 이전의 영상 데이터를 도시하는 도면.
도 20a는 칼럼 방향으로의 스와핑을 설명하는 도면.
도 20b는 로우 방향으로의 스와핑을 설명하는 도면.
도 21은 디코딩의 기준으로 픽셀의 세트를 도시하는 제 1 도면.
도 22는 디코딩의 기준으로 픽셀의 세트를 도시하는 제 2 도면.
도 23은 디코딩의 기준으로 픽셀의 세트를 도시하는 제 3 도면.
도 24a는 본 발명에 관련된 처리를 실행하기 위한 프로그램이 설치될 컴퓨터를 도시하는 도면.
도 24b는 본 발명에 관련된 처리를 실행하기 위한 프로그램이 저장될 저장 매체의 예를 도시하는 도면.
도 24c는 본 발명에 관련된 처리를 실행하기 위한 프로그램이 위성이나 네트워크를 통해 컴퓨터에 배급되는 방법을 도시하는 개념도.
도 25는 본 발명에 관련된 처리를 실행하기 위한 프로그램이 설치될 컴퓨터의 예를 도시하는 블록도.
* 도면의 주요부분에 대한 부호의 설명 *
1 : 영상 데이터베이스 2 : 추가 정보 데이터베이스
3 : 인코더 4 : 기록매체
5 : 전송매체 6 : 디코더
10 : 코딩 장치 20 : 디코딩 장치
발명의 분야
본 발명은 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 신호에 관한 것이다. 특히, 본 발명은 디코딩된 데이터가 왜곡되지 않고 데이터량이 증가되지 않으면서 정보가 데이터에 삽입되도록 허용하는 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 신호에 관한 것이다.
본 발명은 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 신호에 관한 것이다. 특히, 본 발명은 디코딩된 데이터가 왜곡되지 않고 데이터량이 증가되지 않으면서 정보가 데이터에 삽입되도록 허용하는 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 신호에 관한 것이다.
발명의 배경
데이터량이 증가되지 않고 정보를 삽입하는 기술의 예는 디지털 오디오 데이터의 LSB 또는 하위 2 비트가 삽입되는 정보로 변환되는 것이다. 이 기술에서는 디지털 오디오 데이터의 최하위 비트 또는 하위 비트들이 사운드의 질에 많은 영향을 주지 않는다는 사실이 활용되고, 디지털 오디오 데이터의 최하위 비트 또는 하위 비트들은 간단히 삽입되는 정보에 의해 대치된다. 그러므로, 재생시, 정보가 삽입된 디지털 오디오 데이터는 그대로, 즉 최하위 비트 또는 하위 비트들을 원래 상태로 복귀시키지 않고 출력된다. 즉, 디지털 오디오 데이터는 정보가 삽입된 최하위 비트 또는 하위 비트들을 원래 상태로 복귀시키기 어렵고 최하위 비트 또는 하위 비트들이 사운드의 질에 많은 영향을 주지 않기 때문에 정보가 그에 삽입된 상태로 출력된다.
데이터량이 증가되지 않고 정보를 삽입하는 기술의 예는 디지털 오디오 데이터의 LSB 또는 하위 2 비트가 삽입되는 정보로 변환되는 것이다. 이 기술에서는 디지털 오디오 데이터의 최하위 비트 또는 하위 비트들이 사운드의 질에 많은 영향을 주지 않는다는 사실이 활용되고, 디지털 오디오 데이터의 최하위 비트 또는 하위 비트들은 간단히 삽입되는 정보에 의해 대치된다. 그러므로, 재생시, 정보가 삽입된 디지털 오디오 데이터는 그대로, 즉 최하위 비트 또는 하위 비트들을 원래 상태로 복귀시키지 않고 출력된다. 즉, 디지털 오디오 데이터는 정보가 삽입된 최하위 비트 또는 하위 비트들을 원래 상태로 복귀시키기 어렵고 최하위 비트 또는 하위 비트들이 사운드의 질에 많은 영향을 주지 않기 때문에 정보가 그에 삽입된 상태로 출력된다.
그러나, 상기 기술에서는 원래 신호와 다른 신호가 출력된다. 그러므로, 신호가 오디오 데이터일 때는 사운드의 질에, 또는 신호가 비디오 신호일 때는 영상의 질에 영향을 준다.
발명의 개요
본 발명의 목적은 상술된 문제점을 해결하는 것이다.
본 발명의 목적은 상술된 문제점을 해결하는 것이다.
상기 목적을 이루기 위해, 본 발명은 제 1 데이터 중 적어도 일부 데이터를 저장하는 메모리; 및 제 2 데이터에 따라 메모리에 저장된 제 1 데이터 중 적어도 일부 데이터를 재배열함으로써 제 2 데이터에 관련된 데이터를 제 1 데이터에 삽입하는 코딩부(coding section)를 구비하여, 제 2 데이터에 따라 제 1 데이터를 코딩하는 코딩 장치를 제공한다.
상기 목적을 이루기 위해, 본 발명은 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터 사이의 상관관계를 계산하는 상관관계 계산부; 및 상관관계 계산부에 의해 계산된 상관관계를 근거로 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터를 이동시킴으로써 코딩된 데이터를 원래의 제 1 데이터로 디코딩하고, 그 이동에 따라 코딩된 데이터에 삽입된 제 2 데이터를 복구하는 디코딩부를 구비하여, 제 2 데이터에 따라 제 1 데이터를 코딩함으로써 만들어진 코딩된 데이터를 디코딩하는 디코딩 장치를 제공한다.
이후에는 첨부된 도면을 참조하여 본 발명에 따른 코딩 장치와 방법, 디코딩 장치와 방법, 디지털 처리 시스템, 저장 매체, 및 신호가 설명된다.
도 1은 본 발명이 적용된 영상 전송 시스템의 실시예에 관한 구성예를 도시한다. "시스템"이란 용어는 다수의 디바이스의 논리적인 집합체를 의미하고, 구성 디바이스가 같은 본체에 포함되는가 여부는 이 용어의 정의와 무관하다.
상기 영상 전송 시스템은 코딩 장치(10)와 디코딩 장치(20)로 구성된다. 코딩 장치(10)는 영상과 같은 코딩 대상을 코딩하고 코딩된 데이터를 출력한다. 디코딩 장치(20)는 코딩된 데이터를 원래 영상으로 디코딩한다.
영상 데이터베이스(1)는 코딩될 영상, 예를 들면 디지털 영상을 저장한다. 저장된 영상은 영상 데이터베이스(1)로부터 판독되어 삽입 인코더(embedded encoder)(3)에 공급된다.
추가 정보 데이터베이스(2)는 코딩 대상인 영상에 삽입되는 정보로서 디지털 데이터와 같은 추가 정보를 저장한다. 저장된 추가 정보는 또한 추가 정보 데이터베이스(2)로부터 판독되어 삽입 인코더(3)에 공급된다.
삽입 인코더(3)는 영상 데이터베이스(1)로부터 영상을 수신하고 추가 정보 데이터베이스(2)로부터 추가 정보를 수신한다. 삽입 인코더(3)는 디코딩이 영상의 에너지 편차를 사용해 실행되는 방식으로 추가 정보 데이터베이스(2)로부터 공급된 추가 정보에 따라 영상 데이터베이스(1)로부터 공급된 영상을 코딩하고, 결과의 영상을 출력한다. 즉, 삽입 인코더(3)는 디코딩이 영상의 에너지 편차를 사용해 실행되는 방식으로 추가 정보를 영상에 삽입함으로써 영상을 코딩하고, 코딩된 데이터를 출력한다. 삽입 인코더(3)로부터 출력된 코딩된 데이터는 반도체 메모리, 자기 광학 디스크, 자기 디스크, 광학 디스크, 자기 테이프, 또는 위상 변화 디스크와 같은 기록 매체(4)에 기록된다. 다른 방법으로, 코딩된 데이터는 지상파, 위상 채널, CATV(cable television) 네트워크, 인터넷, 또는 공중선과 같은 전송 매체(5)를 통해 신호로서 전송되어 디코딩 장치(20)에 공급된다.
디코딩 장치(20)는 디코더(decoder)(6)로서, 기록 매체(4) 또는 전송 매체(5)를 통해 공급되는 코딩된 데이터를 수신한다. 디코더(6)는 영상의 에너지 편차를 사용함으로써 코딩된 데이터를 원래 영상과 추가 정보로 디코딩한다. 디코딩 영상은 예를 들면, 모니터(도시되지 않은)에 공급되어 디스플레이된다. 디코딩된 추가 정보는 영상에 관련된 텍스트 데이터, 오디오 데이터, 감소된 영상 등이다.
다음에는 도 1에 도시된 삽입 인코더(3)에서의 삽입 코딩 및 도 1에 또한 도시된 디코더(6)의 디코딩에 대한 원리를 설명한다.
일반적으로, 정보라 칭하여지는 것은 에너지나 엔트로피(entropy)의 편차를 포함하고, 그 편차는 가치있는 정보라 인식된다. 예를 들어, 특정한 장면을 촬영하여 구해진 영상이 사람에 의해 화면의 영상으로 인식되는 이유는 영상, 예를 들면 영상을 포함하는 각 픽셀(pixel)의 픽셀값이 화면에 대응하는 에너지 편차를 갖기 때문이다. 에너지 편차를 갖지 않는 영상은 단지 잡음 같은 것으로, 소용없는 정보이다.
그러므로, 가치있는 정보의 원래 에너지 편차가 정보에 특정한 조작을 실행함으로써 말하자면, 손상되더라도, 가치있는 정보는 손상된 것으로부터 원래 에너지 편차를 복구함으로써 복구될 수 있다. 즉, 정보를 코딩하여 구해진 코딩된 데이터는 정보의 원래 에너지 편차를 사용함으로써 원래 정보로 디코딩될 수 있다.
예를 들어, 정보의 에너지 편차는 상관관계, 연속성, 유사성 등으로 나타내진다.
정보의 상관관계는 자기상관관계(autocorrelation)와 같이 구성 소자(영상의 경우에는 영상을 구성하는 픽셀, 선 등) 사이의 상관관계 또는 특정한 구성 소자와 또 다른 정보 사이의 거리를 의미한다. 상관관계의 예는 대응하는 픽셀값 사이의 차이의 제곱합으로 나타내지는 상관값인 영상의 두 선 사이의 상관관계이다.
예를 들어, 이제는 도 2에 도시된 바와 같이 H 선(102)으로 형성된 영상(101)을 가정한다. 일반적으로, 도 3(a)에 도시된 바와 같이, 영상의 상단으로부터 제 1 로우의(row) 선(제 1 선)(103)과 다른 각 선들 사이의 상관값은 제 M 선과의 상관값(201)으로 나타내지는 바와 같이 선이 제 1 선(103)에 더 가까워질 때(즉, 도 2의 영상에서 더 높이 위치할 때) 더 커지고, 제 N 선과의 상관값(202)으로 나타내지는 바와 같이 선이 제 1 선(103)으로부터 더 멀어질 때(즉, 도 2의 영상에서 더 낮게 위치할 때) 더 작아진다. 즉, 제 1 선(103)과의 상관값이 제 1 선(103)에 더 가까워지는 선에 대해 더 커지고 제 1 선(103)으로부터 더 멀리 있는 선에 대해 더 작아지는 상관값의 편차가 있다.
도 2의 영상(101)에서는 제 1 선(103)에 비교적 가까운 제 M 선(104)의 픽셀값을 제 1 선(103)으로부터 비교적 멀리 있는 제 N 선(105)과 상호교환하는 조작이 실행된다. 선이 상호교환된 영상(101)에서, 제 1 선(103)과 다른 선 사이의 상관값은 예를 들면, 도 3(b)에 도시된 바와 같다.
선이 상호교환된 영상(101)에서, 제 1 선(103)에 가까운 제 M 선(104)과의 상관값은 제 M 선과의 상관값(203)으로 나타내지는 바와 같이 작아지고, 제 1 선(103)으로부터 멀리 있는 제 N 선(105)과의 상관값은 제 N 선과의 상관값(204)으로 나타내지는 바와 같이 커진다.
그러므로, 도 3(b)에서는 상관값이 제 1 선(103)에 더 가까운 선에 대해 더 크고 제 1 선(103)으로부터 더 멀리 있는 선에 대해 더 작은 상관관계의 편차가 손상된다. 그러나, 영상의 상관관계의 손상된 편차는 상관값이 제 1 선(103)에 더 가까운 선에 대해 더 크고 제 1 선(103)으로부터 더 멀리 있는 선에 대해 더 작은 상관관계의 편차를 사용함으로써 원래 상태로 복귀될 수 있다. 도 3(b)에서, 제 1 선(103)에 가까운 제 M 선(104)과의 상관값이 작고 제 1 선(103)으로부터 멀리 있는 제 N 선(105)과의 상관값이 더 크다는 사실은 명백히 부자연스러우므로, 상관관계의 원래 편차는 제 M 선(104)과 제 N 선(105)을 서로 상호교환함으로써 복구된다. 도 3(a)에 도시된 상관관계의 편차를 갖는 영상, 즉 원래 영상(101)은 도 3(b)에서 제 M 선(104)과 제 N 선(105)을 서로 상호교환함으로써 복구된다.
도 2, 도 3(a), 및 도 3(b)를 참고로 상술된 경우에서는 영상이 선 상호교환에 의해 코딩된다. 코딩에서는 예를 들면, 삽입 인코더(3)가 추가 정보를 근거로 어느 선이 이동되어야 하는가 또는 어느 선들이 서로 상호교환되어야 하는가를 결정한다. 한편, 디코더(6)는 코딩 영상의 상관관계를 사용해 상호교환된 선들을 그들의 원래 위치로 이동함으로써 코딩 영상, 즉 선-상호교환된 영상으로부터 원래 영상을 복구한다. 또한, 디코딩에서는 동시에 디코더(6)가 어느 선이 이동되었나 또는 어느 선들이 서로 상호교환되었는지를 검출함으로써 영상에 삽입된 추가 정보를 복구한다.
정보의 연속성에 대해, 영상의 특정한 선에서 도 4(a)에 도시된 바와 같이 픽셀값의 변화 패턴이 연속적인 파형(301)이 관찰된다고 가정한다. 상기 선으로부터 멀리 있는 또 다른 선에서는 연속성에 있어 상기 선의 변화 패턴과 다른 픽셀값의 변화 패턴이 관찰된다; 연속성의 편차도 또한 존재한다. 즉, 특정한 픽셀값 변화 패턴에 주의를 기울일 때, 인접한 부분에 유사한 픽셀값 변화 패턴이 존재하고 위치가 멀어짐에 따라 픽셀값 변화 패턴이 더 달라지는 연속성의 패턴이 발견된다.
예를 들면, 픽셀값의 변화 패턴이 연속적인 도 4(a)에 도시된 파형(301)의 일부는 파형(301)으로부터 멀리 있고, 도 4(b)에 도시된 바와 같이 픽셀값의 변화 패턴이 다른 파형(302)으로 대치된다.
도 4(b)의 경우, 상술된 연속성의 편차는 손상된다. 그러나, 손상된 연속성의 편차는 서로 인접한 부분이 연속적인 픽셀값 변화 패턴을 갖고 서로 더 멀리 있을 때 픽셀값 변화 패턴이 더 달라지는 연속성의 편차를 사용함으로써 복구될 수 있다. 특별히, 도 4(b)에서, 파형 일부의 픽셀값 편차 패턴(302)은 다른 부분의 픽셀값 변화 패턴과 명백히 다르므로, 원래 영상의 연속성의 편차는 다른 부분의 픽셀값 변화 패턴과 유사한 픽셀값 변화 패턴을 갖는 파형으로 픽셀값 변화 패턴(302)을 대치함으로써 복구될 수 있다. 도 4(a)에 도시된 파형, 즉 원래 파형은 이러한 대치를 실행함으로써 도 4b에 도시된 파형으로부터 복구될 수 있다.
도 4(a) 및 도 4(b)를 참고로 상술된 경우에서, 영상 코딩은 파형의 일부를 인접한 픽셀값 변화 패턴과 많이 다른 픽셀값 변화 패턴으로 대치하는 것이다. 코딩에서는 예를 들면, 삽입 인코더(3)가 추가 정보를 근거로 파형 중 어느 부분이 픽셀값 변화 패턴에서 많이 변화되어야 하는가 및 얼마나 많이 픽셀값 변화 패턴이 변화되어야 하는가를 결정한다. 디코더(6)는 인접한 픽셀값 변화 패턴이 연속적이고 서로 더 멀리 있을 때는 픽셀값 변화 패턴이 더 달라지는 연속성의 편차를 사용함으로써 코딩 신호, 즉 많이 다른 픽셀값 변화 패턴의 부분을 갖는 파형으로부터 원래 파형을 복구한다. 또한, 디코딩에서는 동시에 디코더(6)가 예를 들면, 파형 중 어느 부분이 픽셀값 변화 패턴에서 많이 변화되었나 및 얼마나 많이 픽셀값 변화 패턴이 변화되었는지를 검출함으로써 삽입된 추가 변화를 복구한다.
정보의 유사성에 대해, 예를 들어 화면을 촬영하여 구해진 영상의 일부는 영상의 차원 분열(fractal), 즉 자기유사성(autosimilarity)을 사용해 발생되는 것으로 공지되어 있다. 예를 들면, 도 5a에 도시된 바다(401)와 숲(402)의 촬영 영상은 바다(401) 일부분의 픽셀값 변화 패턴과 바다(401)의 또 다른 부분 사이의 유사성은 높지만 똑같은 부분의 픽셀값 변화 패턴과 바다(401)에서 멀리 있는 숲(402)의 일부분 사이의 유사성은 낮은 유사성의 편차를 갖는다. 픽셀값 변화 패턴보다 영상 일부분의 엣지 형상 패턴과 같은 자체 형상의 유사성에서도 그러하다.
예를 들면, 도 5a에 도시된 바다(401)의 일부(403)는 도 5b에 도시된 숲(402)의 일부(404)로 대치된다.
도 5b에서, 상술된 유사성의 편차는 손상된다. 그러나, 손상된 유사성의 편차는 인접한 픽셀값 변화 패턴에서는 유사성이 높고 픽셀값 변화 패턴이 서로 더 멀리 있을 때에는 유사성이 더 낮아지는 유사성의 편차를 사용함으로써 복귀될 수 있다. 특별히, 바다(401)의 영상 일부분이 숲(402) 영상의 일부(405)로 이루어진 도 5b에서, 바다(401) 일부와 숲(402) 영상 중 대치된 부분(405) 사이의 유사성은 바다(401) 영상 내의 부분들 사이의 유사성보다 명백히 더 낮다. 원래 영상의 유사성 편차는 숲(402) 영상으로 이루어진 부분(405)을 그 부분(405) 주위의 바다(401) 영상과 유사한 특성을 갖는 영상, 즉 바다(401) 영상의 일부(406)로 대치함으로써 복구된다. 도 5a에 도시된 영상, 즉 원래 영상은 이러한 대치를 실행함으로써 도 5b에 도시된 영상으로부터 복구된다.
도 5a 및 도 5b를 참고로 상술된 경우에서, 영상 코딩은 바다(402) 영상의 일부(403)를 숲(402) 영상의 일부(404)로 대치하는 것이다. 코딩에서는 예를 들면, 삽입 인코더(3)가 추가 정보를 근거로 바다(401) 영상 중 어느 부분(예를 들면 화상 위의 한 지점)이 숲(402) 영상의 일부(404)로 대치되어야 하는가를 결정한다. 디코더(6)는 인접한 픽셀값 변화 패턴에서 유사성이 높고 픽셀값 변화 패턴이 서로 더 멀리 있을 때 유사성이 더 낮아지는 코딩 신호의 유사성 편차를 사용함으로써 코딩 신호, 즉 숲(402) 영상의 일부(405)를 갖는 바다(401) 영상으로부터 도 5a에 도시된 원래 영상을 복구한다. 또한, 디코딩에서는 동시에 디코더(6)가 예를 들면, 바다(401) 영상 중 어느 부분이 숲(402) 영상의 일부로 대치되었는지를 검출함으로써 삽입된 추가 영상을 복구한다.
상술된 바와 같이, 삽입 인코더(3)는 영상의 에너지 편차를 사용해 디코딩이 실행되도록 추가 정보에 따라 코딩 목적 영상을 코딩한다. 디코더(6)는 영상의 에너지 편차를 사용함으로써 디코딩에 대한 오버헤드(overhead) 없이 코딩된 데이터를 원래 영상과 추가 정보로 디코딩한다.
추가 정보가 코딩 목적 영상에 삽입되므로, 결과의 코딩 영상은 원래 상태와 달라지게 되고 가치있는 정보로 인식될 수 없게 된다. 즉, 오버헤드 없이 코딩 목적 영상의 암호화가 실현된다.
또한, 완전하게 역으로 될 수 있는 디지털 워터마킹(watermarking)이 실현된다. 예를 들어, 종래의 디지털 워터마킹에서는 영상의 질에 많은 영향을 주지 않는 픽셀값의 하위 비트들이 간단하게 디지털 워터마크에 대응하는 값으로 변화된다. 그러나, 하위 비트들을 원래의 값으로 복귀시키는 것이 어렵다. 그러므로, 하위 비트들을 디지털 워터마킹으로 변화시키는 것은 디코딩된 영상의 영상질에 변형을 일으킨다. 본 발명의 삽입 코딩에서는 코딩된 데이터가 원래 영상의 에너지 편차를 사용해 디코딩되는 경우, 변형되지 않은 원래 영상과 추가 정보가 얻어진다. 그러므로, 추가 정보가 디지털 워터마킹 정보로 사용되더라도 디코딩된 영상의 영상질이 변형되지 않는다.
코딩된 데이터를 영상으로 디코딩함으로써 삽입된 추가 정보가 발췌되므로, 오버헤드 없이 사이드 정보가 제공된다. 다른 말로 하면, 통상적으로 추가 정보를 발췌할 필요가 있는 오버헤드 없이 추가 정보가 영상에 삽입되므로, 삽입 결과로 구해진 코딩된 데이터는 추가 정보에 대응하는 양만큼 압축된다. 예를 들어, 영상의 반이 코딩 대상으로 이루어지고 다른 반이 추가 정보로 이루어지면, 또한 영상의 나중 반이 코딩 대상으로서 처음 반의 영상으로 삽입되면, 영상은 간단하게 원래 영상의 1/2로 압축된다.
코딩된 데이터가 말하자면 통계량인 원래 영상의 에너지 편차를 사용해 디코딩되므로, 에러 레지스턴스(error resistance)가 높다. 즉, 확실성이 높은 확실한 코딩이 실현된다.
코딩된 데이터가 원래 영상의 에너지 편차를 사용해 디코딩되므로, 에너지 편차가 더 특징적일 때, 즉 영상의 경우에서 영상의 활동이 더 높거나 용장도(redundancy)가 더 낮을 때 더 많은 추가 정보가 삽입될 가능성이 있다. 상술된 바와 같이, 추가 정보의 삽입 결과로 구해진 코딩된 데이터는 추가 정보에 대응하는 양 만큼 압축된다. 즉, 압축 비율은 영상의 활동이 더 높거나 영상의 용장도가 더 낮을 때 더 크다. 예를 들면, 종래 코딩 구조인 MPEG(Moving Picture Experts Group)에서, 기본적으로 압축 비율은 영상의 활동이 더 높거나 영상의 용장도가 더 낮을 때 더 작다. 본 발명의 삽입 코딩 구조는 이 면에 있어서 종래 코딩 구조와 많이 다르다.
영상에는 영상을 코딩 대상으로 만들고 추가 정보로서 영상과 다른 매체의 정보, 예를 들면 음성을 사용함으로써 키(key)로 사용되는 음성이 제공될 수 있다. 특별히, 코딩 장치(10)측에서, "열려라 참깨"와 같이, 가입자에 의해 발성된 음성은 추가 정보로서 영상에 삽입된다. 디코딩 장치(20)측에서는 사용자에게 음성 "열려라 참깨"를 발생하게 하고, 사용자의 음성을 영상에 삽입된 음성과 비교함으로써 발성자 인식이 실행된다. 이 발성자 인식은 사용자가 가입자로 인식될 때에만 영상의 자동적인 표시를 허용한다. 음성의 특성 매개변수라 칭하여지는 것뿐만 아니라 음성 파형 자체는 추가 정보인 음성으로 사용될 수 있다.
음성에는 음성을 코딩 대상으로 만들고 추가 정보로서 영상과 다른 매체의 정보, 예를 들면 영상을 사용함으로써 키(예를 들면, 얼굴 인식 이후의 음성 응답)로 사용되는 영상이 제공될 수 있다. 특별히, 코딩 장치(10)측에서, 사용자 얼굴의 영상은 예를 들면, 음성에 사용자에 대한 응답으로 삽입된다. 디코딩 장치(20)측에서는 사용자의 얼굴이 촬영되고, 촬영된 영상과 정합하는 얼굴 영상이 삽입된 음성이 출력된다. 이 방식으로, 각 사용자에 대해 다른 음성 응답을 만드는 음성 응답 시스템이 실현된다.
또한, 한 음성을 또 다른 음성에 삽입하거나 한 영상을 또 다른 영상에 삽입하는 것과 같이, 특정한 매체의 정보를 같은 매체의 또 다른 정보에 삽입하는 것이 가능하다. 더욱이, 가입자의 음성 및 얼굴 영상을 삽입함으로써, 사용자의 음성과 얼굴 영상이 영상에 삽입된 것과 일치할 때만 영상이 제시될 수 있는 이중 키 시스템이라 칭하여지는 것이 실현될 수 있다.
예를 들면, 텔레비젼 방송 신호를 구성하고 말하자면 서로 동기화되는 영상 및 음성 중 하나가 다른 것에 삽입되는 것이 가능하다. 이 경우, 다른 매체의 정보 일부가 서로 집적되는 진정한 집적 신호라 칭하여지는 것이 실현될 수 있다.
본 발명의 삽입 코딩 구조에서는 상술된 바와 같이, 정보의 에너지 편차가 보다 특징적일 때 더 많은 추가 정보가 정보에 삽입될 수 있다. 그러므로, 전체적인 데이터량은 예를 들면, 보다 특징적인 에너지 편차를 갖는 두 정보 부분 중 하나를 적응력 있게 선택하고 선택된 정보 부분에 다른 것을 삽입함으로써 제어된다. 즉, 두 정보 부분 중 하나가 다른 것의 정보량을 흡수하게 하는 것이 가능해진다. 전체적인 데이터량을 제어하는 것은 전송 대역폭, 전송선의 사용 상태, 및 전송 환경(즉, 환경-적응성 네트워크 전송)의 다른 계수에 따르는 데이터량을 사용한 정보 전송을 가능하게 한다.
예를 들면, 감소된 영상을 원래 영상에 삽입하거나 추려진 음성을 원래 음성에 삽입함으로써 데이터량을 증가시키지 않고 하위층 정보보다 더 적은 정보량을 갖는 상위층 정보가 발생되는 코딩(층형 코딩이라 칭하여지는)이 실현된다.
예를 들면, 각각의 원래 영상을 회복시키기 위한 키로 동작하는 영상을 각각의 원래 영상에 삽입함으로써, 키 영상을 근거로 영상이 회복되는 데이터베이스가 실현된다.
도 6은 영상의 상관관계를 사용함으로써 원래 영상이 복구될 수 있도록 추가 정보가 영상에 삽입되는 삽입 코딩을 실행하는 도 1에 도시된 삽입 인코더(3)의 하드웨어 구성예를 도시한다.
영상 데이터베이스(1)로부터 공급된 영상은 프레임 메모리(frame memory)(31)에 공급된다. 프레임 메모리(31)는 예를 들면, 프레임 대 프레임을 근거로 영상 데이터베이스(1)로부터 공급된 영상을 저장한다.
CPU(central processing unit)(32)는 프로그램 메모리(33)에 저장된 프로그램을 실행하여 삽입 코딩 동작(이후 설명될)이 실행되도록 제어를 실행한다. 즉, CPU(32)는 추가 정보 데이터베이스(2)로부터 공급되는 추가 정보를 수신하고, 추가 정보가 프레임 메모리(31)에 저장된 영상에 삽입되도록 프로그램에 따라 전체적인 삽입 인코더(3)를 제어한다. 특별히, CPU(32)는 예를 들면, 칼럼(column)(칼럼: 픽셀의 수직 어레이) 대 칼럼을 근거로 추가 정보에 따라 프레임 메모리(31)에 저장된 영상을 구성하는 픽셀의 위치를 재배열함으로써 추가 정보가 각 칼럼에 삽입되도록 제어를 실행한다. CPU(32)는 추가 정보가 삽입된 영상이 코딩된 데이터로 출력되도록 제어를 실행한다.
예를 들어 ROM(read-only memory) 또는 RAM(random access memory)인 프로그램 메모리(33)는 CPU(32)가 삽입 코딩 동작을 실행하게 하는 컴퓨터 프로그램을 저장한다.
다수의 프레임을 저장할 수 있도록, 프레임 메모리(31)는 다수의 뱅크(bank)로 구성된다. 뱅크간을 스위칭시킴으로서, 프레임 메모리(31)는 영상 데이터베이스(1)로부터 공급된 영상의 저장, CPU(32)의 삽입 코딩 동작의 대상인 영상의 저장, 및 삽입 코딩 동작에 의해 만들어진 영상, 즉 코딩된 데이터의 출력을 동시에 실행한다. 코딩된 데이터는 영상 데이터베이스(1)로부터 공급된 영상이 이동 화상이더라도 실시간을 근거로 출력된다.
도 7은 도 6의 삽입 인코더(3)의 기능적인 구성예를 도시한다. 도 7에 도시된 기능적인 구성은 CPU(32)가 프로그램 메모리(33)에 저장된 컴퓨터 프로그램을 실행함으로써 실현된다.
도 6을 참고로 상술된 바와 같이, 프레임 메모리(31)는 영상 데이터베이스(1)로부터 공급된 영상을 임시로 저장한다.
스와프(swap) 정보 발생부(36)는 추가 정보 데이터베이스(2)로부터 추가 정보를 판독하고, 추가 정보를 근거로, 프레임 메모리(31)에 저장된 한 프레임 영상의 각 칼럼 위치가 어떻게 재배열되어야 하는가를 나타내는 스와프 정보를 발생한다. 프레임 메모리(31)에 저장된 1-프레임 영상이 M-로우(row)/N-칼럼(column) 픽셀로 구성되고 영상의 제 n 칼럼(좌측 끝으로부터)이 제 n' 칼럼으로 이동되어야 할 때, 스와프 정보 발생부(36)는 n을 n'과 상관시키는 스와프 정보를 발생한다(여기서, n 및 n'은 1 내지 N의 정수).
1-프레임 영상이 N 칼럼으로 구성되는 경우, 모든 칼럼에 재배열이 행해져야 하면 칼럼을 재배열하는 방법은 N!("!"는 계승(factorial)을 의미)개의 종류이다. 그러므로, 한 프레임에서 log2(N!) 비트의 추가 정보가 삽입된다.
스와프 정보 발생부(36)에 의해 발생된 스와프 정보는 스와핑부(swapping section)(37)에 공급된다. 스와핑부(37)는 스와프 정보 발생부(36)로부터 공급된 스와프 정보에 따라 프레임 메모리(31)에 저장된 1-프레임 영상의 각 칼럼 위치를 재배열한다.
이후에는 도 8의 흐름도를 참고로 하여 도 7의 삽입 인코더(3)에서 실행되는 삽입 코딩 처리에 대해 설명한다.
저장된 영상은 영상 데이터베이스(1)로부터 판독되고, 순차적으로 프레임 메모리(31)에 공급되어 그에 저장된다.
단계(S1)에서, 스와프 정보 발생부(36)는 추가 정보 데이터베이스(2)로부터 1-프레임 영상으로 삽입될 수 있는 데이터량의 추가 정보를 판독한다. 예를 들면, 상술된 바와 같이, 1-프레임 영상이 N 칼럼으로 구성되고 모든 칼럼에서 재배열이 행해질 때, 최대 log2(N!) 비트의 추가 정보가 한 프레임에 삽입될 수 있다. log2(N!) 비트 이하의 추가 정보는 추가 정보 데이터베이스(2)로부터 판독된다.
이어서, 처리 과정은 단계(S2)로 진행되고, 스와프 정보 발생부(36)는 단계(S1)에서 판독되었던 추가 정보를 근거로 스와프 정보를 발생한다. 특별히, 추가 정보를 근거로, 스와프 정보 발생부(36)는 예를 들어 프레임 메모리(31)에 저장된 처리 대상 프레임의 제 1 내지 제 N 칼럼에서 제 2 내지 제 N 칼럼(제 1 칼럼을 제외한)이 어느 칼럼으로 이동되어야 하는가를 나타내는 스와프 정보를 발생한다. 스와프 정보는 스와핑부(37)에 공급된다.
스와핑부(37)가 스와프 정보 발생부(36)로부터 스와프 정보를 수신할 때, 처리 과정은 단계(S3)로 진행되고, 스와핑부(37)는 스와프 정보에 따라 프레임 메모리(31)에 저장된 처리 대상 프레임의 각 칼럼 위치를 재배열시킨다. 칼럼 위치가 재배열된 프레임은 프레임 메모리(31)로부터 판독되어 코딩된 데이터로 출력된다. 칼럼 위치가 재배열된 프레임은 프레임 메모리(31)에 저장된 영상의 각 칼럼 메모리 위치가 재배열된 이후에 판독될 수 있다. 다른 방법으로, CPU(32)는 판독 순서의 변화를 통해 "데이터가 재배열된 상태"에서 출력 데이터가 주어지도록 제어를 실행할 수 있다.
본 실시예에서 상술된 바와 같이, 비록 스와프 정보는 제 2 내지 제 N 칼럼이 어느 칼럼으로 이동되어야 하는가를 나타내는 정보를 포함하지만, 이는 제 1 칼럼이 어느 칼럼으로 이동되어야 하는가를 나타내는 정보를 포함하지 않는다. 그러므로, 스와핑부(37)는 제 2 내지 제 N 칼럼을 이동시키는 동안 제 1 칼럼을 이동시키지 않는다.
처리 대상 프레임의 제 2 내지 제 N 칼럼 모두에 재배열이 행해질 때, 처리 과정은 단계(S4)로 진행되어, 프레임 메모리(31)가 처리 대상이 되지 않은 프레임을 저장하는가 여부를 판단한다. 프레임 메모리(31)가 이러한 프레임을 저장하는 것으로 판단되면, 처리 과정은 단계(S1)로 복귀되고 아직 처리되지 않은 프레임에 대해 상기와 유사한 동작이 실행된다.
단계(S4)에서 프레임 메모리(31)가 처리 대상이 되지 않은 프레임을 저장하지 않는 것으로 판단되면, 삽입 코딩 처리는 종료된다.
상기의 삽입 코딩 처리에 따라, 1-프레임 영상은 다음의 방식으로 코딩된 데이터로 코딩된다.
예를 들어, 처리 대상 프레임의 제 2 칼럼이 제 6 칼럼(참고 번호 411로 나타내지는)으로, 제 3 칼럼이 제 9 칼럼(412)으로, 제 4 칼럼이 제 7 칼럼(413)으로, 제 5 칼럼이 제 3 칼럼(414)으로, 제 6 칼럼이 제 8 칼럼(415)으로, 제 7 칼럼이 제 4 칼럼(416)으로, 제 9 칼럼이 제 2 칼럼(417)으로, 제 8 칼럼이 제 5 칼럼(418)으로, ..., 제 N 칼럼이 제 N 칼럼으로 이동되는 재배열에 추가 정보가 대응하면, 스와프 정보 발생부(36)는 이러한 재배열을 나타내는 스와프 정보를 발생한다. 상기 스와프 정보에 따라, 스와핑부(37)는 예를 들면, 도 9a에 도시된 프레임을 도 9b에 도시된 방식으로, 즉 제 2 칼럼이 제 6 칼럼(참고 번호 411로 나타내지는)으로, 제 3 칼럼이 제 9 칼럼(412)으로, 제 4 칼럼이 제 7 칼럼(413)으로, 제 5 칼럼이 제 3 칼럼(414)으로, 제 6 칼럼이 제 8 칼럼(415)으로, 제 7 칼럼이 제 4 칼럼(416)으로, 제 9 칼럼이 제 2 칼럼(417)으로, 제 8 칼럼이 제 5 칼럼(418)으로, ..., 제 N 칼럼이 제 N 칼럼으로 이동되는 방식으로 재배열한다. 그 결과로, 도 9a의 영상은 도 9c에 도시된 영상으로 코딩된다.
재배열과 삽입 정보 사이의 관계는 도 9b를 참고로 이후 간략하게 설명된다.
참고 번호(411)로 나타내지는 바와 같이, 제 2 칼럼의 이동 목적지는 이용가능한 8개 칼럼 영역 중에서 결정된다. 8 종류의 선택이 있으므로, 삽입 인코더(3)는 예를 들면, 0, 1, 2, 3, 4, 5, 6, 및 7 중 하나인 추가 정보를 삽입할 수 있다. 도 9b의 예에서는 제 2 칼럼이 제 6 칼럼, 즉 제 5 영역으로 이동되므로, 추가 정보 "4"가 삽입된다.
이어서, 참고 번호(412)로 나타내지는 바와 같이, 제 3 칼럼의 이동 목적지는 이용 가능한 7개 칼럼 영역 중에서 결정된다. 7 종류의 선택이 있으므로, 삽입 인코더(3)는 예를 들면, 0, 1, 2, 3, 4, 5, 및 6 중 하나인 추가 정보를 삽입할 수 있다. 도 9b의 예에서는 제 3 칼럼이 제 9 칼럼, 즉 제 7 영역으로 이동되므로, 추가 정보 "6"이 삽입된다.
다음 단계에서, 추가 정보는 유사한 동작으로 영상에 삽입된다. 이 삽입 기술에서는 삽입 동작이 진행됨에 따라 삽입되는 추가 정보의 비트 수가 감소된다.
추가 정보의 수와 같은 수의 픽셀만큼 그로부터 멀리 있는 칼럼에 각 칼럼을 이동시키는 동작이 순차적으로 실행되는 상기의 재배열 구조 대신에, 추가 정보가 영상 데이터일 때, 각 칼럼은 히스토그램(histogram), DR, 분산과 같은 영상 데이터의 특성값에 따라 이동될 수 있다.
또한, 상기의 예에서는 삽입 인코더(3)가 일부 추가 정보를 순차적으로 삽입하지만, 모든 칼럼수의 계승(factorial)과 같은 종류수의 배열 순서 패턴 중 하나로서 배열 순서 패턴 자체가 추가 정보에 의해 결정될 수 있다. 추가 정보가 배열 순서 패턴의 형태로 삽입될 때, 모든 칼럼수의 계승과 같은 수의 모든 배열 순서 패턴은 하나씩 점검되어 칼럼간의 상관관계를 근거로 한 배열 순서 패턴이 결정되고, 그에 의해 삽입 영상은 원래 영상으로 디코딩된다.
스와핑부(37)는, 추가 정보에 따라, 프레임 메모리(31)에 저장된 영상을 구성하는 하나 이상의 픽셀 세트인 각 칼럼의 픽셀 위치를 이동시킨다. 추가 정보는 스와핑부(37)에 의한 재배열을 통해 각 칼럼으로 삽입된다. 원래 영상은 스와핑부(37)에 의한 재배열과 반대인 재배열을 실행함으로써 복구되고, 어떠한 재배열이 실행되었는지를 나타내는 정보는 추가 정보가 된다. 그러므로, 삽입 인코더(3)는 영상질을 변형시키지 않고 데이터량을 증가시키지 않으면서 추가 정보를 영상에 삽입할 수 있다.
추가 정보가 삽입된 영상인 칼럼 위치가 재배열된 영상의 각 칼럼은 영상의 상관관계, 즉 원래 영상의 경우와 같이 정확한 위치에 놓인 칼럼과의 상관관계를 사용함으로써 오버헤드 없이 원래 위치로 이동될 수 있다. 또한, 추가 정보는 이러한 재배열을 통해 복구된다. 그러므로, 디코딩 영상은 추가 정보의 삽입으로 인한 영상질의 변형을 전혀 갖지 않는다.
코딩된 데이터에서 정확한 위치에 놓인 칼럼이 존재하지 않을 때, 상술된 방식으로 영상의 상관관계를 사용해 영상과 추가 정보를 복구하는데는 시간이 걸린다. 도 8의 삽입 코딩 처리에서는 각 프레임의 제 1 칼럼이 이동되지 않고 그대로 코딩된 데이터의 일부로 출력된다.
제 1 칼럼을 포함하는 모든 칼럼을 재배열의 대상으로 만들어 삽입 코딩을 실행하는 것이 가능하다. 코딩된 데이터가 오버헤드로 재배열된 칼럼 중 적어도 하나의 원래 위치 정보를 포함하면, 영상과 추가 정보는 용이하게 복구될 수 있다.
도 10은 영상의 상관관계를 사용함으로써 도 7의 삽입 인코더(3)로부터 출력된 코딩된 데이터를 원래 영상 및 추가 정보로 디코딩하는 도 1의 디코더(6)의 하드웨어 구성예를 도시한다.
코딩된 데이터, 즉 추가 정보가 삽입된 영상(또한 삽입 영상이라 칭하여지는)은 프레임 메모리(41)에 공급된다. 프레임 메모리(41)는 예를 들면, 프레임 대 프레임을 근거로 삽입 영상을 임시로 저장한다. 도 6에 도시된 프레임 메모리(31)와 같은 방식으로 구성되어, 뱅크 스위칭을 통해, 프레임 메모리(41)는 이동 화상이더라도 실시간을 근거로 삽입 영상을 처리할 수 있다.
CPU(42)는 프로그램 메모리(43)에 저장된 프로그램을 실시하고, 디코딩 동작이 실행되도록 디코더(6)에 제어를 실행한다. 즉, CPU(42)는 프레임 메모리(41)에 저장된 삽입 영상이 영상의 상관관계를 사용함으로써 원래 영상과 추가 정보로 디코딩되도록 디코더(6)를 제어한다. 특별히, CPU(42)는 삽입 영상을 구성하는 칼럼 중에서 마지막으로 디코딩된 칼럼과 다른 칼럼 사이의 상관값을 계산한다. CPU(42)는 삽입 영상을 구성하는 모든 칼럼에 대해, 마지막으로 디코딩된 칼럼과 최대 상관값을 갖는 칼럼을 마지막으로 디코딩된 칼럼의 바로 우측 위치로 이동시키는 동작을 실행한다. CPU(42)는 이 방식으로 원래 영상을 복구하고, 또한 삽입 영상을 원래 영상으로 디코딩할 때 삽입 영상의 각 칼럼 위치의 재배열 방식을 근거로 추가 정보를 복구한다.
예를 들어, 도 6에 도시된 프레임 메모리(33)와 같은 방식으로 구성된 프로그램 메모리(43)는 CPU(42)가 디코딩 동작을 실행하게 하는 컴퓨터 프로그램을 저장한다.
도 11은 도 10의 디코더(6)의 기능적인 구성예를 도시한다. 도 11에 도시된 기능적 구성은 CPU(42)가 프로그램 메모리(43)에 저장된 컴퓨터 프로그램을 실시함으로써 실현된다.
도 10을 참고로 상술된 바와 같이, 프레임 메모리(41)는 삽입 영상을 임시로 저장한다.
스와핑부(46)는 프레임 메모리(41)에 저장된 처리 대상 프레임에서 원래 위치로 이동된 칼럼 중 최근 것과 다른 칼럼(즉, 원래 위치로 복귀되지 않은 칼럼) 사이의 상관값을 계산한다. 이들 상관값을 근거로, 스와핑부(46)는 원래 위치로 복귀되지 않은 처리 대상 프레임에서 칼럼의 위치를 재배열하고, 그에 의해 이들 칼럼을 원래 위치로 복귀시킨다(즉, 이들 칼럼의 위치를 복구한다). 또한, 스와핑부(46)는 프레임의 칼럼이 어떻게 재배열되었는지를 나타내는 스와프 정보를 스와프 정보 변환부(47)에 공급한다.
스와프 정보 변환부(47)는 스와핑부(46)로부터 공급된 스와프 정보를 근거로, 즉 재배열 이전의 처리 대상 프레임의 각 칼럼 위치와 재배열 이후의 위치 사이의 대응 관계를 근거로 삽입 영상에 삽입된 추가 정보를 복구한다.
이후에는 도 12의 흐름도를 참조하여 도 11의 디코더(6)에서 실행되는 디코딩 처리가 설명된다.
프레임 메모리(41)는 예를 들면, 프레임 대 프레임을 근거로 그에 공급된 삽입 영상(코딩된 데이터)를 순차적으로 저장한다.
단계(S11)에서, 스와핑부(46)는 프레임의 칼럼 수를 카운트하는 변수 n을 예를 들면, "1"인 초기값으로 설정한다. 이어서, 처리 과정은 단계(S12)로 진행되고, 스와핑부(46)는 변수 n이 N-1(즉, 프레임의 칼럼수 N - 1) 보다 작거나 같은가 여부를 판단한다.
단계(S12)에서 변수 n이 N-1 보다 작거나 같은 것으로 판단되면, 처리 과정은 단계(S13)로 진행되어, 스와핑부(46)는 프레임 메모리(41)에 저장된 처리 대상 프레임의 제 n 칼럼의 픽셀(또는 픽셀 순차)을 판독하고, 제 n 칼럼의 각 픽셀의 픽셀값이 소자로 배열된 벡터(즉, 칼럼 벡터) vn을 발생한다. 본 실시예에서는 상술된 바와 같이 각 프레임이 M개 로우의 픽셀로 구성되므로, 칼럼 벡터 vn는 M 차원의 벡터가 된다. 벡터 vk(이후 설명됨)에도 똑같은 것이 적용된다.
단계(S14)에서는 제 n 칼럼의 우측에 위치하는 칼럼을 카운트하는 변수 k가 n+1인 초기값으로 설정된다. 이어서, 처리 과정은 단계(S15)로 진행되어, 스와핑부(46)는 제 k 칼럼의 픽셀을 판독하고, 제 k 칼럼의 픽셀값을 소자로 갖는 칼럼 벡터 vk를 발생한다. 이어서, 처리 과정은 단계(S16)로 진행된다.
단계(S16)에서, 스와핑부(46)는 칼럼 벡터 vn 및 vk를 사용해 제 n 칼럼과 제 k 칼럼 사이의 상관값을 계산한다.
특별히, 스와핑부(46)에서, 칼럼 벡터 vn와 vk 사이의 거리 d(n, k)는 다음의 식에 따라 계산된다:
여기서, ∑는 1에서 M으로 변하는 m의 합을 의미하고, A(i, j)는 프레임의 제 i 로우, 제 j 칼럼 픽셀값을 처리 대상으로 나타낸다.
스와핑부(46)에서, 칼럼 벡터 vn과 vk 사이의 거리 d(n, k)의 역 1/d(n, k)은 제 n 칼럼과 제 k 칼럼 사이의 상관값으로 계산된다.
제 n 칼럼과 제 k 칼럼 사이의 상관값을 계산한 이후에, 처리 과정은 단계(S17)로 진행되어, 변수 k가 프레임의 칼럼수 N - 1과 작거나 같은가 여부를 판단한다. 단계(S17)에서 변수 k가 N-1 보다 작거나 같은 것으로 판단되면, 처리 과정은 단계(S18)로 진행되어 변수 k가 1 만큼 증가된다. 이어서, 처리 과정은 단계(S15)로 복귀한다. 이후에는 단계(S17)에서 변수 k가 N-1 보다 작거나 같은 것으로 판단될 때까지 단계(S15 내지 S18)가 반복적으로 실시된다. 그 결과로, 제 n 칼럼의 우측에 있는 삽입 영상의 칼럼들과 제 n 칼럼 사이의 상관값들이 계산된다.
단계(S17)에서 변수 k가 N-1 보다 작거나 같지 않은 것으로 판단되면, 처리 과정은 단계(S19)로 진행되어, 스와핑부(46)는 제 n 칼럼과의 상관값을 최대화하는 k를 결정한다. K는 제 n 칼럼과의 상관값을 최대화하는 k를 나타낸다. 단계(S20)에서, 스와핑부(46)는 프레임 메모리(41)에 저장된 처리 대상 프레임의 제 K 칼럼과 제(n+1) 칼럼을 스와프 처리한다. 즉, 제 n 칼럼의 바로 우측에 있는 제 (n+1) 칼럼과 제 K 칼럼을 상호교환시킨다.
단계(S21)에서는 변수 n이 1 만큼 증가되고, 처리 과정은 단계(S12)로 복귀한다. 이후에는 단계(S12)에서 변수 n이 N-1 보다 작거나 같지 않은 것으로 판단될 때까지 단계(S12) 내지 (S21)이 반복적으로 실시된다.
본 실시예에서, 삽입 영상의 제 1 칼럼은 원래 영상의 제 1 칼럼과 똑같이 유지된다. 그러므로, 변수 n이 초기값 "1"과 같을 때, 제 1 칼럼과 최대 상관값을 갖는 삽입 영상의 칼럼은 제 1 칼럼의 바로 우측에 있는 제 2 칼럼과 상호교환된다. 영상의 상관관계로부터, 제 1 칼럼과 최대 상관값을 갖는 칼럼은 원래 영상의 제 2 칼럼이 되어야 한다. 그러므로, 삽입 코딩 동작시 삽입 영상의 특정한 칼럼이 되도록 이동되었던 원래 영상의 제 2 칼럼은 이제 원래 위치로 복귀되고, 이는 디코딩을 의미한다.
변수 n이 2로 증가될 때, 상술된 방식으로, 원래 위치로 복귀된 제 2 칼럼과 최대 상관값을 갖는 삽입 영상의 칼럼은 제 2 칼럼의 바로 우측에 있는 제 3 칼럼과 상호교환된다. 영상의 상관관계로부터, 제 2 칼럼과 최대 상관값을 갖는 칼럼은 원래 영상의 제 3 칼럼이 되어야 한다. 그러므로, 삽입 코딩 동작시 삽입 영상의 특정한 칼럼이 되도록 이동되었던 원래 영상의 제 3 칼럼은 이제 원래 위치로 복귀된다.
유사한 방식으로, 프레임 메모리(41)에 저장된 삽입 영상은 원래 영상으로 계속 디코딩된다.
단계(S12)에서 변수 n이 N-1 보다 작거나 같지 않은 것으로 판단되면, 즉 영상의 상관관계를 사용해 삽입 영상을 구성하는 제 2 내지 제 N 칼럼 모두가 원래 위치로 복귀되고 그에 의해 프레임 메모리(41)에 저장된 삽입 영상이 원래 영상으로 디코딩될 때, 처리 과정은 단계(S22)로 진행되어, 프레임 메모리(41)로부터 디코딩 영상이 판독된다. 단계(S22)에서, 스와핑부(46)가 삽입 영상을 원래 영상으로 디코딩할 때 삽입 영상의 제 2 내지 제 N 칼럼이 어떻게 재배열되었는지를 나타내는 스와프 정보는 스와프 정보 변환부(47)로 입력된다. 스와프 정보 변환부(47)는 스와핑부(46)로부터의 스와프 정보를 근거로 삽입 영상에 삽입되었던 추가 정보를 복구하고, 복구된 추가 정보를 출력한다.
이어서, 처리 과정은 단계(S23)로 진행되어, 프레임 메모리(41)가 처리의 대상이 되지 않은 삽입 영상 프레임을 저장하였나 여부를 판단한다. 이러한 프레임이 저장된 것으로 판단되면, 처리 과정은 단계(S11)로 복귀되어, 처리 대상이 되지 않은 삽입 영상 프레임에 대해 상기와 유사한 동작이 반복된다.
단계(S23)에서 프레임 메모리(41)가 처리의 대상이 되지 않은 프레임을 저장하지 않은 것으로 판단되면, 디코딩 처리는 종료된다.
상술된 바와 같이, 디코더(6)는 영상의 상관관계를 사용함으로써 코딩된 데이터, 즉 추가 정보가 삽입된 영상을 원래 영상 및 추가 정보로 디코딩한다. 디코더(6)는 디코딩의 오버헤드 없이 코딩된 데이터를 원래 영상 및 추가 정보로 디코딩할 수 있다. 그러므로, 추가 정보의 삽입이 디코더(6)에 의해 제작된 디코딩 영상에서 영상질의 변형을 일으키지 않는다.
도 12의 디코딩 처리에서, 디코더(6)는 가장 최근에 디코딩된 칼럼(예를 들면, n = 1일 때, 삽입 코딩에서 이동되지 않았던 제 1 칼럼)과 디코딩되지 않은 칼럼 사이의 상관값을 계산하고, 계산된 상관값을 근거로 가장 최근에 디코딩된 칼럼의 바로 우측 위치로 이동되어야 하는 칼럼을 검출한다. 예를 들면, 디코더(6)가 디코딩된 다수의 칼럼과 디코딩되지 않은 칼럼 사이의 상관값을 계산함으로써 가장 최근에 디코딩된 칼럼의 바로 우측 위치로 이동되어야 하는 칼럼을 검출하는 것이 가능하다.
도 13 내지 도 15는 상기 삽입 코딩 처리와 디코딩 처리의 시뮬레이션(simulation) 결과를 도시한다.
도 13은 삽입 코딩 처리가 행해졌고, 길이 방향이 수직 방향으로 될 때 512 (수평) x 832 (수직) 픽셀로 구성된 원래 영상을 도시한다.
도 14는 도 13의 영상에 실행된 삽입 코딩 동작의 처리 결과를 도시한다. 도 14의 코딩 영상에는 log2(512!) 비트의 추가 정보가 삽입된다. 도 14로부터 명백한 바와 같이, 상술된 삽입 코딩은 영상 암호화의 기능을 갖는다.
도 15는 디코딩 동작에 의해 삽입 코딩 동작의 결과(도 14를 참고)를 디코딩하여 만들어진 디코딩 영상을 도시한다. 도 13과 도 15 사이를 비교하면, 영상질이 변형되지 않고 원래 영상이 복구된 것으로 나타난다. 삽입 영상이 디코딩 처리에 의해 원래 영상으로 정확하게 디코딩되면, 디코딩 시 삽입 영상의 칼럼 재배열 방식을 근거로 추가 정보도 또한 정확하게 복구될 수 있다.
상기의 예에서, 삽입 인코더(3)는 예를 들면, 제 1 칼럼을 고정시키고 추가 정보에 따라 제 2 내지 제 N 칼럼을 재배열함으로써 도 16에 도시된 바와 같은 N개 칼럼으로 구성된 코딩 대상 영상에 삽입 코딩을 실행한다. 디코더(6)는 영상의 상관관계를 사용함으로써 삽입 코딩 결과를 원래 영상과 추가 정보로 디코딩한다. 디코더(6)는 영상의 상관관계에 부가하여 연속성(이후 설명될)을 사용함으로써 삽입 코딩의 결과를 디코딩하는 것이 가능하다.
즉, 도 12에 도시된 경우에서, 도 16에 도시된 영상의 대응하는 칼럼에 대한 구성 픽셀의 픽셀값을 소자로 각각 갖는 칼럼 벡터 vn간 거리의 역수가 상관관계로 정의되고, 코딩된 데이터는 이와 같이 정의된 상관관계만을 사용해 디코딩된다. 디코더(6)에서는 먼저, 고정된 제 1 칼럼의 칼럼 벡터로부터 가장 작은 거리를 갖는 칼럼 벡터에 대응하는 칼럼이 제 2 칼럼으로 된다. 이어서, 디코더(6)에서는 제 2 칼럼의 칼럼 벡터로부터 가장 작은 거리를 갖는 칼럼 벡터에 대응하는 칼럼이 제 3 칼럼으로 된다. 유사한 동작은 다음 단계에도 반복되고, 그에 의해 원래 영상이 복구되고 제 2 내지 제 N 칼럼이 어떻게 재배열되었는지에 근거하여 삽입된 추가 정보가 복구된다.
이제 칼럼 벡터 공간에서, 도 16에 도시된 영상의 제 N 칼럼의 칼럼 벡터 v1, v2, ..., vN 궤도는 예를 들어 도 17에서 얇은 점선으로 나타내지는 것으로 가정한다.
스와핑부(46)에서 가장 작은 거리를 갖는 칼럼 벡터가 상술된 방식으로 제 1 칼럼을 주체 칼럼으로 하는 상태에서 시작되는 순서로 검출되면, 도 17에서 두꺼운 점선으로 나타내지는 궤도가 그려진다. 즉, 칼럼 벡터는 v1, v2, v13, v
3, v14, v15, v4, v5, v6, ...의 순서로 검출된다. 그러므로, 스와핑부(46)에서, 칼럼 벡터는 상관관계만이 사용될 때에 정확한 순서로 검출되지 않고, 그 결과로 영상이나 추가 정보가 정확하게 복구될 수 없게 된다.
이 문제점을 해결하기 위해서는 예를 들어, 스와핑부(46)에서 제 1 칼럼의 칼럼 벡터 v1로부터 가장 작은 거리를 갖는 칼럼 벡터에 대응하는 칼럼이 제 2 칼럼으로 된 이후에, 도 18에 도시된 바와 같이 제 2 칼럼의 칼럼 벡터 v2와 제 1 칼럼 의 칼럼 벡터 v1 사이의 차이 벡터 △v12가 계산된다. 이어서, 스와핑부(46)에서는 차이 벡터 △v12를 더하여 구해진 벡터로 나타내지는 점 P12에 가장 가까운 칼럼 벡터에 대응하는 칼럼이 제 3 칼럼으로 된다.
또한, 스와핑부(46)에서는 제 3 칼럼의 칼럼 벡터 v3와 제 2 칼럼의 칼럼 벡터 v2 사이의 차이 벡터가 계산되고, 칼럼 벡터 v3에 차이 벡터를 더하여 구해진 벡터로 나타내지는 지점에 가장 가까운 칼럼 벡터에 대응하는 칼럼이 제 4 칼럼으로 된다. 다음 단계로부터, 제 N 칼럼까지의 나머지 칼럼은 유사한 방식으로 결정된다.
상술된 바와 같이, 스와핑부(46)에서 제 n 칼럼과 제 (n+1) 칼럼 사이의 상관관계 뿐만 아니라 제 n 칼럼의 칼럼 벡터 vn와 제 (n+1) 칼럼의 칼럼 벡터 vn+1 사이의 연속성도 사용함으로써, 즉 이 경우에서는 차이 벡터 vn+1 - vn의 변화가 연속적이라는 사실을 사용함으로써, 칼럼 벡터는 도 17에서 얇은 점선으로 나타내지는 방식으로 궤도가 그려지는 정확한 순서로 검출되고 영상 및 추가 정보가 정확히 복구된다.
도 9의 실시예에서, 제 1 칼럼의 픽셀을 제외한 코딩 대상 영상의 픽셀은 추가 정보를 근거로 칼럼 단위로 재배열되고, 그에 의해 영상으로의 추가 정보 삽입, 즉 삽입 코딩이 실행된다. 삽입 코딩은 다른 방법으로 실행될 수 있다. 예를 들면, 코딩 대상 영상의 픽셀이 로우 단위로 재배열되거나, 시간상으로 배열된 소정의 수의 프레임 중 같은 위치에 놓이는 픽셀 순차의 위치가 이동될 수 있다.
삽입 코딩의 또 다른 예는 코딩 대상 영상의 픽셀이 칼럼 단위로 재배열되고 결과 영상의 픽셀이 로우 단위로 또한 재배열되는 것이다.
예를 들면, 도 19에 도시된 바와 같이 M (수직) x N (수평) 픽셀로 구성된 영상의 칼럼은 삽입 인코더(3)에 의해 추가 정보를 근거로 재배열되어 도 20a에 도시된 바와 같은 삽입 영상을 만든다. 도 20a에서, 도 19의 영상 중 제 1 칼럼은 제 5 칼럼으로, 제 2 칼럼은 제 N 칼럼으로, 제 3 칼럼은 제 1 칼럼으로, 제 4 칼럼은 제 2 칼럼으로, 제 1 칼럼은 제 4 칼럼으로, 제 6 칼럼은 제 3 칼럼으로, ..., 제 N 칼럼은 제 6 칼럼으로 이동된다.
예를 들면, 도 20a의 영상 로우들은 삽입 인코더(3)에 의해 추가 정보를 근거로 재배열되어 도 20b에 도시된 바와 같은 삽입 영상을 만든다. 도 20b에서, 도 20a의 영상 중 제 1 로우는 제 3 로우로, 제 2 로우는 제 5 로우로, 제 3 로우는 제 2 로우로, 제 4 로우는 제 M 로우로, 제 5 로우는 제 1 로우로, ..., 제 M 로우는 제 4 로우로 이동된다.
이동되지 않은 칼럼이 예를 들어, 제 1 칼럼의 바로 좌측에 존재하면, 도 20b의 삽입 영상은 디코더(6)가 그 칼럼을 새로운 제 1 칼럼으로 사용해 도 12를 참고로 상술된 디코딩 처리를 실시함으로써 도 19의 원래 영상으로 디코딩된다. 즉, 칼럼과 로우 방향으로 재배열하여 만들어진 삽입 영상에서, 식 (1)의 합산 ∑으로 함께 더해지는 항들 자체는 그 순서가 변하더라도 변하지 않는다. 그러므로, 식 (1)에 의해 계산된 거리 d(n, k)는 삽입 코딩이 행해진 영상이 똑같은 한, 칼럼만이 재배열된 경우 및 칼럼과 로우 모두가 재배열된 경우에서 똑같이 유지된다. 칼럼과 로우 모두를 재배열하여 만들어진 삽입 영상은 또한 칼럼만을 재배열하여 만들어진 삽입 영상이 행해진 것과 같은 방식으로 도 12의 디코딩 처리에 의해 원래 영상 및 추가 정보로 디코딩된다.
상기의 논의로부터, 삽입 인코더(3)가 칼럼과 로우를 모두 재배열할 때, 칼럼 및 로우 중 어느 것이 먼저 재배열되었는가는 디코딩 동작에 영향을 주지 않는 것으로 이해된다. 그러므로, 삽입 인코더(3)는 칼럼이나 로우를 먼저 재배열할 수 있고, 디코더(6)는 칼럼이나 로우를 먼저 재배열할 수 있다. 인코더(3)와 디코더(6)가 각각 다른 방법으로 먼저 재배열되는 항목으로 칼럼 및 로우를 사용하는 것도 가능하다.
삽입 인코더(3)가 삽입 코딩 동작에서 칼럼만을 재배열하는 경우, 디코더(6)가 삽입 영상을 원래 영상으로 디코딩할 때 삽입 영상의 칼럼을 재배열하는 방식은 추가 정보의 디코딩 결과가 된다. 삽입 인코더(3)가 로우와 칼럼을 모두 재배열하는 경우, 삽입 영상 중 예를 들어 제 m 로우, 제 n 칼럼 위치(m, n)에 있는 픽셀이 디코딩 영상의 어느 위치(m', n')로 이동되는가는 추가 정보의 디코딩 결과가 된다.
도 8의 삽입 코딩 처리에서는 코딩 대상 영상의 제 1 칼럼만이 고정되고, 디코더(6)는 말하자면 제 1 칼럼을 디코딩 기준으로 사용하여 삽입 영상의 다른 칼럼을 재배열한다. 삽입 인코더(3) 및 디코더(6)에서 설정되는 한, 디코딩 기준은 제 1 칼럼에 제한되지 않고, 마지막 제 N 칼럼이나 다른 칼럼이 될 수 있다. 또한, 디코딩의 기준은 항상 한 칼럼의 픽셀일 필요가 없고, 극단적인 경우 한 픽셀이 될 수 있다.
삽입 인코더(3)가 예를 들어, 제 1 칼럼을 디코딩의 기준으로 사용하고 영상 상관관계를 사용해 삽입 영상의 다른 칼럼을 재배열하는 경우, 한 칼럼이 잘못 이동되면, 에러가 있는 칼럼이 다음 칼럼(본 예에서는 에러가 있게 이동된 칼럼의 바로 우측에 있는 칼럼)으로 이동될 가능성이 높다. 이 경우에, 디코더(6)는 원래 영상을 복구할 수 없으므로, 정확한 추가 정보를 복구할 수 없다.
삽입 코딩 처리에서는 다수의 칼럼을 디코딩의 기준으로 남기는 것, 즉 재배열 대상으로부터 이들 칼럼을 배제시키는 것이 가능하다.
예를 들면, 삽입 인코더(3)가 칼럼 방향으로 배열된 영상의 픽셀 세트를 재배열 단위로 사용해 재배열을 실행하는 경우, 삽입 인코더(3)가 하나씩 건너 있는 다른 칼럼(도 21에서 빗금친 부분)을 디코딩 기준으로 하고 나머지 칼럼(즉, 도 21에서 빈칸으로 나타내진 칼럼)을 재배열의 대상으로 하는 것이 가능하다.
도 21의 경우, 영상이 2N개 칼럼을 가지면, 삽입 인코더(3)에 의해 삽입될 수 있는 추가 정보의 데이터량은 log2(N!) 비트가 된다.
삽입 인코더(3)가 한 칼럼이나 한 로우, 즉 하나 이상의 픽셀 세트보다 더 작은 재배열 단위를 사용하는 것이 가능하다.
예를 들면, 도 22에 도시된 바와 같이, 삽입 인코더(3)는 영상의 각 칼럼을 하나 이상의(예를 들면, 5개) 연속 픽셀의 세트로 나누고 이러한 세트를 재배열 단위로 사용함으로써 재배열을 실행할 수 있다. 도 22에 도시된 바와 같이, 삽입 인코더(3)는 재배열 단위를 체크 무늬 패턴의 두 카테고리로 분류할 수 있고, 한 카테고리(예를 들면, 도 22에서 빈칸으로 나타내지는 부분)를 재배열의 대상으로 하고 다른 것(도 22에서 빗금친 것)을 디코딩의 기준으로 할 수 있다. 이 경우, 영상에서 로우의 수, 즉 칼럼 방향으로 픽셀의 수가 M개의 재배열 유닛을 수용하는 것이고 영상이 2N개 칼럼을 가지면, 삽입 인코더(3)에 의해 삽입될 수 있는 추가 정보의 데이터량은 log2{(M x N)!} 비트가 된다.
예를 들면, 도 23에 도시된 바와 같이, 삽입 인코더(3)는 소정의 수의 픽셀(예를 들면, 6개 픽셀)만큼 서로로부터 떨어져 있는 영상의 각 칼럼의 픽셀을 추출하고, 추출된 픽셀의 세트(예를 들면, 도 23에서 "o"로 나타내지는 픽셀, "x"로 나타내지는 픽셀, 또는 "△"로 나타내지는 픽셀)를 재배열 유닛으로 사용해 재배열을 실행할 수 있다. 도 23에 도시된 바와 같이, 삽입 인코더(3)는 영상을 구성하는 픽셀을 체크 무늬 패턴의 두 카테고리로 분류할 수 있고, 한 카테고리(예를 들면, 도 23에서 빈칸으로 나타내지는 부분)를 재배열의 대상으로 하고 다른 것(도 23에서 빗금친 것)을 디코딩의 기준으로 할 수 있다. 이 경우, 2M개 픽셀(도 23에서는 6개 픽셀)만큼 서로로부터 떨어져 있는 영상의 각 칼럼의 픽셀을 추출하여 구해진 픽셀의 세트가 재배열 단위로 사용되고 영상이 N개 칼럼을 가지면, 영상으로 삽입될 수 있는 추가 정보의 데이터량은 log2{(M x N)!} 비트가 된다. 삽입 인코더(3)가 "o"로 나타내진 세트를 재배열 단위로 사용함으로써 예를 들면, 참고 번호(421 및 422)로 나타내지는 바와 같이 칼럼 단위로 삽입을 실행할 수 있기 때문에, 데이터량은 log2{(M x N)!}가 된다.
도 21 내지 도 23의 예에서, 재배열 대상인 각 픽셀 세트(즉, 도 21 내지 도 23에서 빈칸으로 나타내지는 픽셀)는 다수의 디코딩 기준(즉, 도 21 내지 도 23에서 빗금친 부분)에 인접한다. 이 경우, 예를 들면, 디코더(6)는 재배열 대상인 픽셀의 세트와 다수의 디코더 기준 사이의 거리를 제곱하여 더한 수의 역을 상관관계로 사용함으로써 디코딩을 실행한다.
상술된 바와 같이, 삽입 코딩 및 디코딩에서 사용되는 재배열의 단위에는 특별한 제한이 부과되지 않는다.
또한, 디코딩 기준인 픽셀 세트에도 특별한 제한이 부과되지 않는다.
디코딩의 정확성을 고려할 때, 재배열 대상인 픽셀은 디코딩 기준인 픽셀에 가능한 많이 인접하는 것이 양호하다. 그러므로, 도 23의 예가 가장 바람직하다. 디코딩의 정확도를 고려할 때, 디코딩 기준인 픽셀은 가능한 많이 있는 것이 양호하다.
그러나, 디코딩 기준인 픽셀은 재배열 대상이 되지 않으므로, 삽입 인코더(3)에 의해 영상에 삽입될 수 있는 추가 정보의 데이터량은 디코딩 기준인 픽셀의 수가 증가됨에 따라 감소한다. 본 발명의 삽입 코딩 동작의 암호화 효과는 디코딩 기준인 픽셀이 많이 있을 때나 재배열 대상인 픽셀이 디코딩 기준인 픽셀에 많이 인접할 때 덜 두드러진다.
디코딩의 정확도, 삽입되는 추가 정보의 데이터량, 및 암호화 효과를 고려해, 디코딩 기준인 픽셀의 수와 그 배열 패턴은 삽입 코딩 및 디코딩의 목적에 따라 설정되는 것이 바람직하다.
임의의 칼럼이 근처의 칼럼으로 이동되거나 서로 가까운 칼럼들이 그들의 위치 관계를 유지하면서 이동되면, 암호화 효과는 약화되므로, 이러한 재배열을 회피하는 것이 필요하다. 삽입 인코더(3)의 삽입 코딩 동작에서는, 각 칼럼이 소정의 거리 보다 많이 그 칼럼으로부터 떨어져 있는 칼럼으로 이동되어야 하고, 서로 가까운 칼럼들은 소정의 거리 보다 많이 이들 칼럼들로부터 떨어져 있는 칼럼들로 이동되어야 한다는 제한을 부가하는 것이 가능하다.
삽입 코딩의 대상인 영상이 예를 들어, RGB 구성성분 신호로 구성된 칼라 영상인 경우, 삽입 코딩(3)은 RGB 구성성분의 대응하는 칼럼을 같은 위치로 이동시키거나 서로 독립적으로 RGB 구성성분의 칼럼을 재배열할 수 있다. 삽입 인코더(3)가 RGB 구성성분의 대응하는 칼럼을 같은 위치로 이동시키는 경우, 삽입될 수 있는 추가 정보의 데이터량은 더 작아지지만, 디코딩시 디코딩 정확도는 삽입 인코더(3)가 서로 독립적으로 RGB 구성성분의 칼럼을 이동시키는 경우보다 더 높아진다. 반대로, 삽입 인코더(3)가 서로 독립적으로 RGB 구성성분의 칼럼을 이동시키는 경우, 디코딩시 디코딩 정확도는 더 낮아지지만, 삽입될 수 있는 추가 정보의 데이터량은 삽입 인코더(3)가 RGB 구성성분의 대응하는 칼럼을 같은 위치로 이동시키는 경우보다 더 높다.
추가 정보의 종류에는 특별한 제한이 없다. 예를 들면, 영상, 음성, 텍스트, 컴퓨터 프로그램, 제어 신호, 및 다른 종류의 데이터가 추가 정보로 사용될 수 있다. 영상 데이터베이스(1)에 저장된 영상의 일부가 추가 정보로 되고 나머지 부분이 프레임 메모리(31)에 공급되는 코딩 대상으로 되는 경우, 추가 정보인 영상의 전자 부분은 후자 부분에 삽입되고, 이는 영상 압축이 실현됨을 의미한다.
비록 본 발명의 실시예는 영상에 대한 것이지만, 본 발명은 소정의 시간의 음성 데이터 순차가 재배열되는 방식으로 실시될 수 있다.
비록 실시예에서는 삽입 코딩 동작이나 디코딩 동작이 CPU(32 또는 42)의 제어하에서 컴퓨터 프로그램을 실시함으로써 실행되지만, 이는 전용 하드웨어에 의해 실행될 수 있다.
비록 실시예에서는 CPU(32 또는 42)의 제어하에서 실시되는 컴퓨터 프로그램이 프로그램 메모리(33 또는 43)에 저장되지만, 컴퓨터 프로그램은 반도체 메모리, 자기 테이프, 자기 디스크, 광학 디스크, 자기-광학 디스크, 또는 위상 변화 디스크와 같은 기록 매체나 인터넷, 지상파, 위성 채널, 공중 네트워크, 또는 CATV(cable television) 네트워크와 같은 전송 매체를 통해 신호로 제공될 수 있다.
도 24a 내지 도 24c를 참고로, 컴퓨터 프로그램이 기록된 기록 매체와, 상기 컴퓨터 프로그램이 컴퓨터에 설치되고 컴퓨터에 의해 실행가능하게 되는 상태를 이루는데 사용되는 전송 매체를 통해 컴퓨터에 공급되는 신호에 대한 설명이 이루어진다.
도 24a에 도시된 바와 같이, 프로그램은 컴퓨터(601)에 포함된 기록 매체인 하드 디스크(602)나 반도체 메모리(603)에 미리 기록된다.
다른 방법으로, 도 24b에 도시된 바와 같이, 프로그램은 플로피 디스크(611), CD-ROM(compact disc read-only memory)(612), MO(magneto-optical) 디스크(613), DVD(digital versatile disc)(614), 자기 디스크(615), 또는 반도체 메모리(616)와 같은 기록 매체에 임시로 또는 영구히 기록된다.
도 24c에 도시된 바와 같이, 프로그램이 상기 기록 매체 중 임의의 것으로부터 컴퓨터에 설치되는 방법에 부가하여, 프로그램을 디지털 위성 방송을 위한 인공 위성(622)을 통해, 다운로드(download) 위치(621)에서 컴퓨터(601)로 무선 전달하거나 프로그램을 LAN(local area network) 또는 인터넷과 같은 네트워크(631)를 통해 다운로드 위치(621)에서 컴퓨터(601)로 유선 전달하고, 이를 예를 들면, 컴퓨터(601)에 포함된 하드 디스크(102)에 저장하도록 컴퓨터(601)에 설치하는 것이 가능하다.
본 발명의 다양한 처리를 각각 실시하기 위한 프로그램으로 설명되는 단계는 항상 흐름도에서 설명된 바와 같은 순서에서 시간-직렬 방식으로 실시될 필요가 없고, 본 발명은 그 단계가 병렬로 또는 개별적으로 실시되는 처리(예를 들면, 병렬 처리 및 목적 처리)를 포함한다.
도 25는 도 24a 및 도 24c에 도시된 컴퓨터(601)의 구성예를 도시한다.
도 25에 도시된 바와 같이, 컴퓨터(601)는 CPU(central processing unit)(642)을 포함한다. 입력/출력 인터페이스(645)는 버스(641)를 통해 CPU(642)에 연결된다. 입력/출력 인터페이스(64)를 통해 사용자가 키보드나 마우스와 같은 입력부(647)를 조작하여 제작된 명령을 수신할 때, CPU(642)는 그 명령에 따라 도 24a에 도시된 반도체 메모리(603)에 대응하는 ROM(read-only memory)(643)에 저장된 프로그램을 실시한다. 이 프로그램으로 도 8 또는 도 12에 도시된 흐름도가 실시된다. 다른 방법으로, CPU(642)는 하드 디스크(602)에 저장된 프로그램, 위성(622)이나 네트워크(631)를 통해 전달되고, 통신부(648)에 의해 수신되고, 또한 하드 디스크(602)에 설치된 프로그램, 또는 드라이브(649)에 설치된 플로피 디스크(611), CD-ROM(612), MO 디스크(613), DVD(614), 자기 디스크(615), 또는 반도체 메모리(616)로부터 판독되고 하드 디스크(602)에 설치된 프로그램을 RAM(random access memory)(644)으로 로드(load)시키고 그 프로그램을 실시한다. 예를 들면, CPU(641)는 필요할 때, 처리 결과를 입력/출력 인터페이스(645)를 통해 LCD(liquid crystal display)와 같은 디스플레이부(646)로 출력한다.
이상과 같이, 본 발명에 의하면, 신호가 오디오 데이터일 때는 사운드의 질에, 또는 신호가 비디오 신호일 때는 영상의 질에 악영향을 주는 것이 방지된다.
Claims (60)
- 제 2 데이터에 따라 제 1 데이터를 코딩하기 위한 코딩 장치에 있어서,상기 제 1 데이터 중 적어도 일부 데이터를 저장하기 위한 저장 수단; 및상기 제 2 데이터에 따라, 상기 저장 수단에 저장된 상기 제 1 데이터 중 적어도 상기 일부 데이터를 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 제 1 데이터에 삽입하기 위한 코딩 수단을 구비하는, 코딩 장치.
- 제 1 항에 있어서,상기 제 1 데이터 및 상기 제 2 데이터의 입력을 허용하기 위한 입력 수단을 더 구비하는, 코딩 장치.
- 제 1 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터(pixel data)로 구성되는 영상 데이터(image data)이고,상기 저장 수단은 상기 영상 데이터를 저장하고,상기 코딩 수단은 상기 제 2 데이터에 따라, 상기 저장 수단에 저장된 상기 영상 데이터를 구성하는 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 영상 데이터에 삽입하는, 코딩 장치.
- 제 3 항에 있어서,상기 코딩 수단은 상기 제 2 데이터에 따라, 상기 영상 데이터의 프레임에서 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 코딩 장치.
- 제 3 항에 있어서,상기 코딩 수단은 상기 제 2 데이터에 따라, 상기 영상 데이터를 구성하는 상기 픽셀 데이터 세트들의 위치들을 재배열하고, 상기 픽셀 데이터 세트들 각각은 한 칼럼(column) 또는 한 로우(row)를 구성하는, 코딩 장치.
- 제 1 항에 있어서,상기 제 1 데이터의 일부는 상기 코딩 수단에 의한 데이터 재배열이 금지되는, 코딩 장치.
- 제 3 항에 있어서,상기 코딩 수단은 상기 제 2 데이터의 값들에 대응하는 픽셀들의 수들에 따라 상기 영상 데이터를 구성하는 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 코딩 장치.
- 제 2 데이터에 따라 제 1 데이터를 코딩하기 위한 코딩 방법에 있어서,상기 제 1 데이터 중 적어도 일부 데이터를 저장하는 저장 단계; 및상기 제 2 데이터에 따라 상기 제 1 데이터 중 저장된 적어도 일부 데이터를 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 제 1 데이터에 삽입하는 코딩 단계를 구비하는, 코딩 방법.
- 제 8 항에 있어서,상기 제 1 데이터 및 상기 제 2 데이터의 입력을 허용하는 단계를 더 구비하는, 코딩 방법.
- 제 8 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고,상기 저장 수단은 상기 영상 데이터를 저장하고,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 저장된 영상 데이터를 구성하는 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 영상 데이터에 삽입하는, 코딩 방법.
- 제 10 항에 있어서,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 영상 데이터의 프레임에서 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 코딩 방법.
- 제 10 항에 있어서,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 영상 데이터를 구성하는 상기 픽셀 데이터 세트들의 위치들을 재배열하고, 상기 픽셀 데이터 세트들 각각은 한 칼럼 또는 한 로우를 구성하는, 코딩 방법.
- 제 8 항에 있어서,상기 제 1 데이터의 일부는 데이터 재배열이 금지되는, 코딩 방법.
- 제 10 항에 있어서,상기 코딩 단계는 상기 제 2 데이터의 값들에 대응하는 픽셀들의 수들에 따라 상기 영상 데이터를 구성하는 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 코딩 방법.
- 제 2 데이터에 따라 제 1 데이터를 코딩하여 생성된 코딩된 데이터를 디코딩하기 위한 디코딩 장치에 있어서,상기 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터 사이의 관계를 계산하기 위한 관계 계산 수단; 및상기 관계 계산 수단에 의해 계산된 관계에 기초하여 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시킴으로써 상기 코딩된 데이터를 원래의 제 1 데이터로 디코딩하고, 상기 이동에 따라 상기 코딩된 데이터에 삽입된 상기 제 2 데이터를 디코딩하기 위한 디코딩 수단을 구비하는, 디코딩 장치.
- 제 15 항에 있어서,상기 관계 계산 수단은 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 연속성에 대한 관계를 계산하는, 디코딩 장치.
- 제 15 항에 있어서,상기 디코딩 수단은 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 관계가 가장 강할 때, 서로 인접해지도록 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 디코딩 장치.
- 제 15 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고, 상기 디코딩 수단은 칼럼 단위로(column-by-column basis) 또는 로우 단위로 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 디코딩 장치.
- 제 15 항에 있어서,상기 코딩된 데이터의 일부는 상기 이동이 금지되는, 디코딩 장치.
- 제 15 항에 있어서,상기 디코딩 수단은 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터의 상기 이동에 대한 이동 패턴을 결정하고, 상기 이동 패턴에 대응하는 값을 상기 제 2 데이터로서 사용하는, 디코딩 장치.
- 제 2 데이터에 따라 제 1 데이터를 코딩하여 생성된 코딩된 데이터를 디코딩하기 위한 디코딩 방법에 있어서,상기 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터 사이의 관계를 계산하는 관계 계산 단계, 및상기 계산된 관계에 기초하여 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시킴으로써 상기 코딩된 데이터를 원래의 제 1 데이터로 디코딩하고, 상기 이동에 따라 상기 코딩된 데이터에 삽입된 상기 제 2 데이터를 디코딩하기 위한 디코딩 단계를 구비하는, 디코딩 방법.
- 제 21 항에 있어서,상기 관계 계산 단계는 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 연속성에 대한 관계를 계산하는, 디코딩 방법.
- 제 21 항에 있어서,상기 디코딩 단계는 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 관계가 가장 강할 때, 서로 인접해지도록 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 디코딩 방법.
- 제 21 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고, 상기 디코딩 단계는 칼럼 단위로 또는 로우 단위로 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 디코딩 방법.
- 제 21 항에 있어서,상기 코딩된 데이터의 일부는 상기 이동이 금지되는, 디코딩 방법.
- 제 21 항에 있어서,상기 디코딩 단계는 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터의 상기 이동에 대한 이동 패턴을 결정하고, 상기 이동 패턴에 대응하는 값을 상기 제 2 데이터로서 사용하는, 디코딩 방법.
- 제 2 데이터에 따라 제 1 데이터를 코딩된 데이터로 코딩하고 상기 코딩된 데이터를 디코딩하기 위한 데이터 처리 시스템에 있어서,상기 제 1 데이터 중 적어도 일부 데이터를 저장하기 위한 저장 수단;상기 제 2 데이터에 따라, 상기 저장 수단에 저장된 상기 제 1 데이터 중 적어도 일부 데이터를 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 제 1 데이터에 삽입하기 위한 코딩 수단;상기 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터 사이의 관계를 계산하기 위한 관계 계산 수단; 및상기 관계 계산 수단에 의해 계산된 관계에 기초하여 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시킴으로써 상기 코딩된 데이터를 원래의 제 1 데이터로 디코딩하고, 상기 이동에 따라 상기 코딩된 데이터에 삽입된 상기 제 2 데이터를 디코딩하기 위한 디코딩 수단을 구비하는, 데이터 처리 시스템.
- 컴퓨터를 제어할 수 있고 제 2 데이터에 따라 제 1 데이터를 코딩하도록 하는 프로그램을 저장하는 저장 매체에 있어서,상기 프로그램은,상기 제 1 데이터 중 적어도 일부 데이터를 저장하는 저장 단계; 및상기 제 2 데이터에 따라 상기 제 1 데이터 중 저정된 적어도 일부 데이터를 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 제 1 데이터에 삽입하는 코딩 단계를 구비하는, 저장 매체.
- 제 28 항에 있어서,상기 프로그램은 상기 제 1 데이터 및 상기 제 2 데이터의 입력을 허용하는 단계를 더 구비하는, 저장 매체.
- 제 28 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고,상기 저장 단계는 상기 영상 데이터를 저장하고,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 저장된 영상 데이터를 구성하는 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 영상 데이터에 삽입하는, 저장 매체.
- 제 30 항에 있어서,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 영상 데이터의 프레임에서 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 저장 매체.
- 제 30 항에 있어서,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 영상 데이터를 구성하는 상기 픽셀 데이터 세트들의 위치들을 재배열하고, 상기 픽셀 데이터 세트들 각각은 한 칼럼 또는 한 로우를 구성하는, 저장 매체.
- 제 28 항에 있어서,상기 제 1 데이터의 일부는 데이터 재배열이 금지되는, 저장 매체.
- 제 30 항에 있어서,상기 코딩 단계는 상기 제 2 데이터의 값에 대응하는 픽셀들의 수들에 따라 상기 영상 데이터를 구성하는 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 저장 매체.
- 컴퓨터를 제어할 수 있고 제 2 데이터에 따라 제 1 데이터를 코딩하여 생성된 코딩된 데이터를 디코딩하도록 하는 프로그램을 저장하는 저장 매체에 있어서,상기 프로그램은,상기 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터 사이의 관계를 계산하는 관계 계산 단계; 및상기 계산된 관계에 기초하여 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시킴으로써 상기 코딩된 데이터를 원래의 제 1 데이터로 디코딩하고, 상기 이동에 따라 상기 코딩된 데이터에 삽입된 상기 제 2 데이터를 디코딩하기 위한 디코딩 단계를 구비하는, 저장 매체.
- 제 35 항에 있어서,상기 관계 계산 단계는 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 연속성에 대한 관계를 계산하는, 저장 매체.
- 제 35 항에 있어서,상기 디코딩 단계는 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 관계가 가장 강할 때, 서로 인접해지도록 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 저장 매체.
- 제 35 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고, 상기 디코딩 단계는 칼럼 단위로 또는 로우 단위로 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 저장 매체.
- 제 35 항에 있어서,상기 코딩된 데이터의 일부는 상기 이동이 금지되는, 저장 매체.
- 제 35 항에 있어서,상기 디코딩 단계는 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터의 상기 이동에 대한 이동 패턴을 결정하고, 상기 이동 패턴에 대응하는 값을 상기 제 2 데이터로서 사용하는, 저장 매체.
- 컴퓨터를 제어할 수 있고 제 2 데이터에 따라 제 1 데이터를 코딩하도록 하는 프로그램을 갖는 기록 매체에 있어서,상기 프로그램은,상기 제 1 데이터 중 적어도 일부 데이터를 저장하는 저장 단계, 및상기 제 2 데이터에 따라 상기 제 1 데이터 중 저장된 적어도 일부 데이터를 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 제 1 데이터에 삽입하는 코딩 단계를 구비하는, 기록 매체.
- 제 41 항에 있어서,상기 프로그램은 상기 제 1 데이터 및 상기 제 2 데이터의 입력을 허용하는 단계를 더 구비하는, 기록 매체.
- 제 41 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고,상기 저장 단계는 상기 영상 데이터를 저장하고,상기 코딩 단계는 제 2 데이터에 따라, 상기 저장된 영상 데이터를 구성하는 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열함으로써 상기 제 2 데이터에 관련된 데이터를 상기 영상 데이터에 삽입하는, 기록 매체.
- 제 43 항에 있어서,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 영상 데이터의 프레임에서 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 기록 매체.
- 제 43 항에 있어서,상기 코딩 단계는 상기 제 2 데이터에 따라, 상기 영상 데이터를 구성하는 상기 픽셀 데이터 세트들의 위치들을 재배열하고, 상기 픽셀 데이터 세트들 각각은 한 칼럼 또는 한 로우를 구성하는, 기록 매체.
- 제 41 항에 있어서,상기 제 1 데이터의 일부는 데이터 재배열이 금지되는, 기록 매체.
- 제 43 항에 있어서,상기 코딩 단계는 상기 제 2 데이터의 값들에 대응하는 픽셀들의 수들에 따라 상기 영상 데이터를 구성하는 상기 하나 이상의 픽셀 데이터 세트들의 위치들을 재배열하는, 기록 매체.
- 컴퓨터를 제어할 수 있고 제 2 데이터에 따라 제 1 데이터를 코딩하여 생성된 코딩된 데이터를 디코딩하도록 하는 프로그램을 갖는 기록 매체에 있어서,상기 프로그램은,상기 코딩된 데이터의 제 1 일부 데이터와 제 2 일부 데이터 사이의 관계를 계산하는 관계 계산 단계, 및상기 계산된 관계에 기초하여 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시킴으로써 상기 코딩된 데이터를 원래의 제 1 데이터로 디코딩하고, 상기 이동에 따라 상기 코딩된 데이터에 삽입된 상기 제 2 데이터를 디코딩하기 위한 디코딩 단계를 구비하는, 기록 매체.
- 제 48 항에 있어서,상기 관계 계산 단계는 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 연속성에 대한 관계를 계산하는, 기록 매체.
- 제 48 항에 있어서,상기 디코딩 단계는 상기 제 1 일부 데이터와 상기 제 2 일부 데이터 사이의 관계가 가장 강할 때, 서로 인접해지도록 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 기록 매체.
- 제 48 항에 있어서,상기 제 1 데이터는 다수의 픽셀 데이터로 구성되는 영상 데이터이고, 상기 디코딩 단계는 칼럼 단위로 또는 로우 단위로 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터를 이동시키는, 기록 매체.
- 제 48 항에 있어서,상기 코딩된 데이터의 일부는 상기 이동이 금지되는, 기록 매체.
- 제 48 항에 있어서,상기 디코딩 단계는 상기 코딩된 데이터의 상기 제 1 일부 데이터와 상기 제 2 일부 데이터의 상기 이동에 대한 이동 패턴을 결정하고, 상기 이동 패턴에 대응하는 값을 상기 제 2 데이터로서 사용하는, 기록 매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP98-285308 | 1998-10-07 | ||
JP28530898 | 1998-10-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000028877A KR20000028877A (ko) | 2000-05-25 |
KR100777144B1 true KR100777144B1 (ko) | 2007-11-19 |
Family
ID=17689855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990043059A KR100777144B1 (ko) | 1998-10-07 | 1999-10-06 | 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 기록 매체 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0993199B1 (ko) |
KR (1) | KR100777144B1 (ko) |
CN (1) | CN1143548C (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69943015D1 (de) * | 1998-10-07 | 2011-01-20 | Sony Corp | Verfahren und Vorrichtung zur Bilddatenkodierung mit Zusatzdateneinfügung |
JP5590390B2 (ja) * | 2010-07-15 | 2014-09-17 | ソニー株式会社 | 画像処理装置および方法 |
CN104581120A (zh) * | 2015-01-23 | 2015-04-29 | 深圳超多维光电子有限公司 | 图像信息保存方法、保存装置、立体图像生成方法和装置 |
KR101926221B1 (ko) | 2015-10-06 | 2018-12-06 | (주)엘지하우시스 | 자동차 인테리어 시트, 이를 이용한 자동차 내장재의 제조방법 및 이 제조방법에 의해 제조된 자동차 내장재 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5144663A (en) * | 1986-04-18 | 1992-09-01 | Kudelski S.A. Fabrique D'engregistreurs Nagra | Method of interactive communication between a subscriber and a decoder of a system of pay-television and decoder thereof |
EP0635828A1 (en) * | 1993-07-22 | 1995-01-25 | Victor Company Of Japan, Limited | An optical disc and a recording and/or reproducing apparatus having copy-protection function |
KR970008408A (ko) * | 1995-07-31 | 1997-02-24 | 배순훈 | 광로 조절 장치의 다층 배선 평탄화 방법 |
EP0762764A2 (en) * | 1995-08-31 | 1997-03-12 | AT&T Corp. | Video scrambling |
KR970008408B1 (ko) * | 1994-03-02 | 1997-05-23 | 엘지전자 주식회사 | 디지탈 영상의 복사 방지 장치 |
KR970060937A (ko) * | 1996-01-08 | 1997-08-12 | 구자홍 | 엠펙ⅰ(mpegⅰ)의 부호/복호화 장치 및 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6229924B1 (en) * | 1996-05-16 | 2001-05-08 | Digimarc Corporation | Method and apparatus for watermarking video images |
US6188776B1 (en) * | 1996-05-21 | 2001-02-13 | Interval Research Corporation | Principle component analysis of images for the automatic location of control points |
US5825892A (en) * | 1996-10-28 | 1998-10-20 | International Business Machines Corporation | Protecting images with an image watermark |
-
1999
- 1999-10-06 KR KR1019990043059A patent/KR100777144B1/ko not_active IP Right Cessation
- 1999-10-07 EP EP99307890A patent/EP0993199B1/en not_active Expired - Lifetime
- 1999-10-07 CN CNB991263332A patent/CN1143548C/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5144663A (en) * | 1986-04-18 | 1992-09-01 | Kudelski S.A. Fabrique D'engregistreurs Nagra | Method of interactive communication between a subscriber and a decoder of a system of pay-television and decoder thereof |
EP0635828A1 (en) * | 1993-07-22 | 1995-01-25 | Victor Company Of Japan, Limited | An optical disc and a recording and/or reproducing apparatus having copy-protection function |
KR970008408B1 (ko) * | 1994-03-02 | 1997-05-23 | 엘지전자 주식회사 | 디지탈 영상의 복사 방지 장치 |
KR970008408A (ko) * | 1995-07-31 | 1997-02-24 | 배순훈 | 광로 조절 장치의 다층 배선 평탄화 방법 |
EP0762764A2 (en) * | 1995-08-31 | 1997-03-12 | AT&T Corp. | Video scrambling |
KR970060937A (ko) * | 1996-01-08 | 1997-08-12 | 구자홍 | 엠펙ⅰ(mpegⅰ)의 부호/복호화 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP0993199B1 (en) | 2013-03-27 |
CN1255808A (zh) | 2000-06-07 |
EP0993199A3 (en) | 2001-04-11 |
KR20000028877A (ko) | 2000-05-25 |
CN1143548C (zh) | 2004-03-24 |
EP0993199A2 (en) | 2000-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100636606B1 (ko) | 화상 처리 장치, 화상 처리 방법 및 기록 매체 | |
KR100817732B1 (ko) | 부호화 장치 및 방법, 복호장치 및 방법, 데이터 처리시스템 및, 저장매체 | |
US6546139B1 (en) | Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal | |
US7738711B2 (en) | Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal | |
KR100647022B1 (ko) | 부호화 장치 및 부호화 방법, 복호 장치 및 복호 방법, 정보 처리 장치 및 정보 처리 방법 및 제공 매체 | |
US7424130B2 (en) | Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal | |
KR100777144B1 (ko) | 코딩 장치와 방법, 디코딩 장치와 방법, 데이터 처리 시스템, 저장 매체, 및 기록 매체 | |
US6738492B1 (en) | Coding apparatus and method, decoding apparatus and method, data processing system, storage medium, and signal | |
EP0993194B1 (en) | Method and apparatus for embedding an additional signal into an image signal | |
JP4556147B2 (ja) | 復号装置および復号方法、記録媒体、並びにデータ処理装置 | |
JP4099687B2 (ja) | 画像処理装置および画像処理方法、並びに媒体 | |
JP4092608B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム格納媒体 | |
JP3310633B2 (ja) | 復号装置 | |
JPH0937264A (ja) | 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録媒体 | |
JP2000324482A (ja) | データ処理装置およびデータ処理方法、並びに画像処理装置および画像処理方法 | |
JP2003125193A (ja) | データ処理装置およびデータ処理方法、並びにプログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Publication of correction | ||
FPAY | Annual fee payment |
Payment date: 20111109 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20121105 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |