KR101602581B1 - 압축 영상의 암호화 방법 및 시스템 - Google Patents
압축 영상의 암호화 방법 및 시스템 Download PDFInfo
- Publication number
- KR101602581B1 KR101602581B1 KR1020140167630A KR20140167630A KR101602581B1 KR 101602581 B1 KR101602581 B1 KR 101602581B1 KR 1020140167630 A KR1020140167630 A KR 1020140167630A KR 20140167630 A KR20140167630 A KR 20140167630A KR 101602581 B1 KR101602581 B1 KR 101602581B1
- Authority
- KR
- South Korea
- Prior art keywords
- input frame
- encryption
- encrypting
- image
- compressed
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000004048 modification Effects 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims description 5
- 238000007906 compression Methods 0.000 description 25
- 239000000284 extract Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000006835 compression Effects 0.000 description 6
- 238000013139 quantization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4408—Processing 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 encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- 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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- 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/48—Methods 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
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
- H04N21/23473—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption by pre-encrypting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/835—Generation of protective data, e.g. certificates
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
Abstract
압축 영상의 암호화 방법은 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 단계; 및 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 선택적으로 암호화하는 단계를 포함한다.
Description
본 발명은 압축 영상의 암호화 시스템 및 그 방법으로서, 보다 구체적으로, 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 입력 프레임의 내용에 따라 선택적으로 암호화하는 시스템 및 그 방법에 관한 기술이다.
기존의 영상을 암호화하는 기술로는 영상 전체를 암호화하는 표준 암호화 방식인 AES(Advanced Encryption Standard) 방식 및 RSA(Rivest Shamir Adleman) 방식이 이용된다.
그러나, 영상 전체를 암호화하는 표준 암호화 방식은 암호화해야 하는 양이 방대하기 때문에, 암호화된 영상의 양, 암호화 과정에 소요되는 시간 및 소모되는 비용이 큰 문제점이 있다.
이에, 본 명세서에서는 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시키는 기술을 제안한다.
본 발명의 실시예들은 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시키는 암호화 방법 및 시스템을 제공한다.
이 때, 본 발명의 실시예들은 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하는 암호화 방법 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 암호화된 영상을 복호화할 때 지연되는 시간을 감소시키고, 압축 표준 포맷을 유지하는 암호화 방법 및 시스템을 제공한다.
본 발명의 일실시예에 따른 압축 영상의 암호화 방법은 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 단계; 및 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 선택적으로 암호화하는 단계를 포함한다.
상기 입력 프레임을 선택적으로 암호화하는 단계는 상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 암호화하는지 여부를 결정하는 단계; 상기 결정 결과, 상기 입력 프레임을 암호화하는 경우, 상기 복수의 매크로 블록들 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계를 포함할 수 있다.
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계는 상기 암호화 옵션 중 상기 매크로블록 순서 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)을 이용하여 상기 복수의 매크로블록들의 순서를 변경하는 단계를 포함할 수 있다.
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계는 상기 암호화 옵션 중 상기 DCT 계수 부호 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크(random bitmask)를 이용하여 상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경하는 단계를 포함할 수 있다.
상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경하는 단계는 상기 랜덤 비트마스크의 성분 및 상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호 비트에 논리 연산을 적용하는 단계를 포함할 수 있다.
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계는 상기 암호화 옵션 중 상기 모션 벡터 디퍼런스 코드 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크를 이용하여 상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경하는 단계를 포함할 수 있다.
상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경하는 단계는 상기 랜덤 비트마스크의 성분 및 상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드에 포함되는 정보 코드에 논리 연산을 적용하는 단계를 포함할 수 있다.
상기 압축 영상의 암호화 방법은 상기 암호화된 입력 프레임에 대해 엔트로피 인코딩을 수행하는 단계를 더 포함할 수 있다.
상기 입력 프레임을 획득하는 단계는 상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 상기 입력 프레임으로 추출하는 단계를 포함할 수 있다.
상기 입력 프레임을 획득하는 단계는 상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 상기 입력 프레임으로 추출하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 획득부; 및 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 선택적으로 암호화하는 암호화부를 포함한다.
상기 암호화부는 상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 암호화하는지 여부를 결정하고, 상기 결정 결과, 상기 입력 프레임을 암호화하는 경우, 상기 복수의 매크로 블록들 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하며, 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화할 수 있다.
상기 암호화부는 상기 암호화 옵션 중 상기 매크로블록 순서 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)을 이용하여 상기 복수의 매크로블록들의 순서를 변경할 수 있다.
상기 암호화부는 상기 암호화 옵션 중 상기 DCT 계수 부호 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크(random bitmask)를 이용하여 상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경할 수 있다.
상기 암호화부는 상기 암호화 옵션 중 상기 모션 벡터 디퍼런스 코드 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크를 이용하여 상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경할 수 있다.
상기 압축 영상의 암호화 시스템은 상기 암호화된 입력 프레임에 대해 엔트로피 인코딩을 수행하는 인코딩 수행부를 더 포함할 수 있다.
상기 획득부는 상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 상기 입력 프레임으로 추출할 수 있다.
상기 획득부는 상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 상기 입력 프레임으로 추출할 수 있다.
본 발명의 실시예들은 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시키는 암호화 방법 및 시스템을 제공할 수 있다.
이 때, 본 발명의 실시예들은 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하는 암호화 방법 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예들은 암호화된 영상을 복호화할 때 지연되는 시간을 감소시키고, 압축 표준 포맷을 유지하는 암호화 방법 및 시스템을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 압축 영상으로부터 추출된 입력 프레임에 포함되는 복수의 매크로블록들을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 3은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 4는 본 발명의 또 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 5는 도 2, 3 및 4에 도시된 암호화 옵션을 혼용하는 암호화 과정을 나타낸 개념도이다.
도 6은 본 발명의 일실시예에 따른 압축 영상의 암호화 방법을 나타낸 플로우 차트이다.
도 7은 도 6에 도시된 입력 프레임을 선택적으로 암호화하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 8은 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템을 나타낸 블록도이다.
도 2는 본 발명의 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 3은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 4는 본 발명의 또 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 5는 도 2, 3 및 4에 도시된 암호화 옵션을 혼용하는 암호화 과정을 나타낸 개념도이다.
도 6은 본 발명의 일실시예에 따른 압축 영상의 암호화 방법을 나타낸 플로우 차트이다.
도 7은 도 6에 도시된 입력 프레임을 선택적으로 암호화하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 8은 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템을 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 일실시예에 따른 압축 영상으로부터 추출된 입력 프레임에 포함되는 복수의 매크로블록들을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 압축 영상은 복수의 매크로블록들(110)을 각각 포함하는 복수의 프레임들(120)로 구성된다. 여기서, 복수의 매크로블록들(110) 각각은 16X16 픽셀로 구성되는 정사각형 영역을 의미한다.
이 때, 복수의 매크로블록들(110) 각각은 픽셀 성분을 갖는 픽셀 도메인으로부터 영상 압축 과정을 거쳐 주파수 성분을 갖는 주파수 도메인으로 변환되기 때문에, DCT 계수(Discrete Cosine Transform coefficient)를 갖는 16개의 4X4 DCT 블록(130)을 포함할 수 있다. 이하, 4X4 DCT 블록(130)은 주파수 도메인의 블록을 의미할 수 있고, DCT 계수는 4X4 DCT 블록(130)에 대응하는 주파수 성분을 의미할 수 있다.
여기서, 영상 압축 과정은 영상의 프레임 별로 이전 프레임의 값에 기초하여 현재 프레임의 값이 예측됨으로써, 수행될 수 있다. 구체적으로, 픽셀 도메인에서 예측 모드에 따라 예측된 현재 프레임의 예측값과 현재 프레임의 실제값 사이의 차이인 residual 값이 주파수 도메인에서 4X4 크기의 블록 단위로 나누어 저장되고, 저장된 값이 DCT 변환되어 DCT 계수로 표현됨으로써, 픽셀 도메인의 16X16 픽셀이 DCT 계수를 갖는 4X4 DCT 블록(130)으로 변환되는 영상 압축 과정이 수행될 수 있다.
이 때, 영상 압축 과정은 양자화 과정을 포함함으로써, DCT 변환된 DCT 계수 중 0이 아닌 값의 개수를 줄일 수 있고, DCT 계수를 스캔하여 일렬로 정렬하고 코드를 바꾸는 엔트로피 인코딩 과정을 포함함으로써, 부호화를 수행할 수 있다. 이러한 부호화 과정은 최소 길이가 되도록 하는 가변 길이 코딩을 의미한다. 또한, 영상 압축 결과, 1차원 이진값으로 표현되는 비트스트림이 생성될 수 있다(도면에는 도시하지 않음).
영상 압축 과정에서 예측 모드는 매크로블록의 종류에 따라 intra 예측 또는 inter 예측이 이용될 수 있다. intra 예측은 동일한 프레임 내의 이웃한 매크로블록(예컨대, 현재 매크로블록의 바로 위쪽 위치의 매크로블록 또는 바로 왼쪽 위치의 매크로블록)의 픽셀값을 이용하여 현재 매크로블록의 픽셀값을 예측하는 예측 모드이다. 반면에, inter 예측은 참조 프레임에서 현재 매크로블록과 가장 유사한 값은 가지는 매크로블록을 탐색하고, 탐색된 매크로블록과 현재 매크로블록 사이의 위치 차이인 모션 벡터(motion vector)로부터 이웃한 매크로블록 사이의 모션 벡터의 차이값인 모션 벡터 디퍼런스(motion vector difference)를 계산하여, 모션 벡터 디퍼런스를 이용함으로써, 현재 매크로블록의 픽셀값을 예측하는 예측 모드이다. intra 예측 및 inter 예측에 대한 상세한 설명은 본 발명의 기술적 사상을 벗어나므로, 생략하기로 한다.
이와 같이 영상 압축 과정에서 이용되는 예측 모드가 압축 영상의 프레임에 대한 영상 특성에 영향을 미치기 때문에, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 압축 영상을 부분 해제한(예컨대, 부분적으로 복호화함) 후, 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들(110) 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 압축 영상의 프레임에 대한 영상 특성에 따라 입력 프레임을 선택적으로 암호화할 수 있다.
예를 들어, 입력 프레임 내의 모든 복수의 매크로블록들(110)이 intra 예측의 예측 모드에 따라 코딩된 경우, 해당 프레임은 I 프레임이고, intra 예측 및 inter 예측이 혼용되어 코딩된 경우, 해당 프레임은 P 프레임이기 때문에, 압축 영상의 암호화 시스템은 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들(110) 각각의 예측 모드의 비율에 따라 프레임의 영상 특성을 파악할 수 있고, 프레임의 영상 특성에 따라 입력 프레임을 선택적으로 암호화할 수 있다(예컨대, 압축 영상의 암호화 시스템은 P 프레임을 항상 암호화하지 않고, 한 개의 프레임을 건너뛰면서 적응적으로 암호화할 수 있음). 이 때, I 프레임은 inter 예측에 의한 오차가 없기 때문에, 좋은 화질을 가짐으로써, P 프레임의 압축 시에 참조 프레임 역할을 할 수 있다.
따라서, 압축 영상의 암호화 시스템은 복수의 매크로블록들(110) 각각의 예측 모드에 기초하여 입력 프레임의 영상 특성을 분석하고, 분석된 영상 특성을 이용하여 입력 프레임을 암호화하는지 여부를 결정함으로써, 결정 결과에 따라 입력 프레임을 선택적으로 암호화할 수 있다.
또한, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 입력 프레임을 암호화하기로 결정한 경우, 입력 프레임에 포함되는 복수의 매크로블록들(110) 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택함으로써, 선택된 암호화 옵션에 따라 입력 프레임을 효율적으로 암호화할 수 있다. 예를 들어, 압축 영상의 암호화 시스템은 입력 프레임에 포함되는 복수의 매크로블록들(110) 각각의 예측 모드에서 intra 예측, inter 예측 및 skip 예측이 각각 차지하는 비율에 따라, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다. 더 구체적인 예를 들면, 입력 프레임에 포함되는 복수의 매크로블록들(110) 각각의 예측 모드에서 intra 예측이 inter 예측 및 skip 예측보다 많은 경우, 압축 영상의 암호화 시스템은 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 매크로블록 순서 변경의 옵션을 선택하여, 입력 프레임을 선택된 매크로 순서 변경의 옵션에 따라 암호화할 수 있다.
이 때, 압축 영상의 암호화 시스템은 미리 설정된 암호키를 이용하여 표준과의 호환성을 유지하도록 암호화 과정을 수행할 수 있다. 이에 대한 상세한 설명은 도 2, 3 및 4를 참조하여 기재하기로 한다.
여기서, 압축 영상의 암호화 시스템은 압축 영상을 부분 해제한 후에, 위에서 상술한 바와 같이 암호화 과정을 수행할 뿐만 아니라, 압축 과정에서 암호화 과정을 수행할 수도 있다. 이러한 경우, 압축 영상의 암호화 시스템은 부분 해제된 압축 영상의 비트스트림으로부터 입력 프레임을 파싱하는 대신에, 압축될 영상으로부터 입력 프레임을 획득할 수 있다. 예를 들어, 압축 영상의 암호화 시스템은 압축 과정을 수행하기 위하여, 압축될 영상의 입력 프레임에 포함되는 복수의 매크로 블록들 각각의 예측 모드를 설정한 후에, 설정된 복수의 매크로 블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화할 수 있다. 이 때, 암호화 방식은 위에서 상술한 바와 동일하다. 이하, 압축 영상의 암호화는 압축될 영상에 대한 암호화 또는 부분 해제된 압축 영상에 대한 암호화를 의미한다.
도 2는 본 발명의 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 매크로블록 순서 변경의 암호화 옵션에 따라, 입력 프레임(210)을 암호화할 수 있다. 이 때, 압축 영상의 암호화 시스템은 미리 설정된 암호키(220)를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)(230)을 이용하여 매크로 순서 변경의 암호화 옵션에 따라, 입력 프레임(210)을 암호화할 수 있다. 여기서, 랜덤 셔플링 맵(230)은 미리 설정된 암호키(220)를 시드로 하여 PRNG(Pseudo Random Number Generator)(240)을 통하여 생성된 랜덤값이 셔플링되어 생성될 수 있다.
구체적으로, 압축 영상의 암호화 시스템은 부분 해제된 압축 영상의 비트스트림(250)으로부터 입력 프레임(210)을 파싱한 후(만약, 후술될 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 입력 프레임(210)을 파싱하는 대신에 압축될 영상으로부터 입력 프레임(210)을 획득함), 입력 프레임(210)에 포함되는 복수의 매크로블록들(260) 각각의 예측 모드에 기초하여 입력 프레임(210)을 암호화하는지 여부를 결정할 수 있다. 결정 결과, 입력 프레임(210)을 암호화하는 경우, 압축 영상의 암호화 시스템은 랜덤 셔플링 맵(230)을 이용하여 입력 프레임(210)에 포함되는 복수의 매크로블록들(260)의 순서를 변경함으로써, 입력 프레임(210)을 암호화할 수 있다.
이와 같은 암호화 과정은 압축 영상의 비트스트림(250)에 포함되는 복수의 프레임들이 순차적으로 입력 프레임(210)으로 추출됨으로써, 복수의 프레임들 각각에 대해 수행될 수 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(250)에 포함되는 복수의 프레임들을 순차적으로 입력 프레임(210)으로 추출하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 순차적으로 입력 프레임(210)으로 추출할 수 있음). 이 때, 암호화 과정은 입력 프레임(210)에 포함되는 복수의 매크로블록들(260) 각각의 예측 모드와 같은 입력 프레임(210)의 영상 특성에 따라 선택적으로 수행되거나, 수행되지 않을 수 있다.
또한, 별도의 도면으로 도시하지는 않았지만, 암호화 과정은 압축 영상의 비트스트림(250)에 포함되는 복수의 프레임들이 두 개 이상의 프레임들로 그룹화되어, 순차적으로 입력 프레임으로 추출됨으로써, 프레임이 그룹화되어 수행될 수도 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(250)에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 두 개 이상의 프레임들로 그룹화할 수 있음). 이러한 경우, 압축 영상의 암호화 시스템은 랜덤 셔플링 맵(230)을 이용하여, 두 개의 프레임들로 구성되는 입력 프레임에 포함되는 복수의 매크로블록들(두 개의 프레임들에 포함되는 복수의 매크로블록들 모두)의 순서를 두 개의 프레임들로 구성되는 입력 프레임 내에서 변경함으로써, 입력 프레임을 암호화할 수 있다.
또한, 압축 영상의 암호화 시스템은 위에서 상술한 암호화 과정을 수행한 뒤, 표준과의 호환성을 위해, 암호화된 입력 프레임(270)에 대해 엔트로피 인코딩을 추가적으로 수행할 수 있다.
도 3은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 3을 참조하면, 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 시스템은 DCT 계수 부호 변경의 암호화 옵션에 따라, 입력 프레임(310)을 암호화할 수 있다. 이 때, 압축 영상의 암호화 시스템은 미리 설정된 암호키(320)를 이용하여 생성된 랜덤 비트마스크(random bitmask)(330)를 이용하여 DCT 계수 부호 변경의 암호화 옵션에 따라, 입력 프레임(310)을 암호화할 수 있다. 여기서, 랜덤 비트마스크(330)는 미리 설정된 암호키(320)를 시드로 하여 PRNG(340)을 통하여 생성된 랜덤값이 셔플링되고, LFSR(Linear Feedback Shift Register)(350)을 통하여 시프트되어 생성될 수 있다.
구체적으로, 압축 영상의 암호화 시스템은 부분 해제된 압축 영상의 비트스트림(360)으로부터 입력 프레임(310)을 파싱한 후(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 입력 프레임(310)을 파싱하는 대신에 압축될 영상으로부터 입력 프레임(310)을 획득함), 입력 프레임(310)에 포함되는 복수의 매크로블록들(370) 각각의 예측 모드에 기초하여 입력 프레임(310)을 암호화하는지 여부를 결정할 수 있다. 결정 결과, 입력 프레임(310)을 암호화하는 경우, 압축 영상의 암호화 시스템은 랜덤 비트마스크(330)의 성분 및 복수의 매크로블록들(370) 각각에 포함되는 DCT 계수의 부호 비트에 논리 연산(예컨대, 배타적 논리합)을 적용하여 DCT 계수의 부호를 변경함으로써, 입력 프레임(310)을 암호화할 수 있다. 이 때, DCT 계수의 부호 변경은 복수의 매크로블록들(370) 각각에 대해 수행될 수 있거나, 복수의 매크로블록들(370) 중 일부에 대해서만 수행될 수도 있다.
이와 같은 암호화 과정은 압축 영상의 비트스트림(360)에 포함되는 복수의 프레임들이 순차적으로 입력 프레임(310)으로 추출됨으로써, 복수의 프레임들 각각에 대해 수행될 수 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(360)에 포함되는 복수의 프레임들을 순차적으로 입력 프레임(310)으로 추출하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 순차적으로 입력 프레임(310)으로 추출할 수 있음). 이 때, 암호화 과정은 입력 프레임(310)에 포함되는 복수의 매크로블록들(370) 각각의 예측 모드와 같은 입력 프레임(310)의 영상 특성에 따라 선택적으로 수행되거나, 수행되지 않을 수 있다.
또한, 별도의 도면으로 도시하지는 않았지만, 암호화 과정은 압축 영상의 비트스트림(360)에 포함되는 복수의 프레임들이 두 개 이상의 프레임들로 그룹화되어, 순차적으로 입력 프레임으로 추출됨으로써, 프레임이 그룹화되어 수행될 수도 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(360)에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 두 개 이상의 프레임들로 그룹화할 수 있음).
또한, 압축 영상의 암호화 시스템은 위에서 상술한 암호화 과정을 수행한 뒤, 표준과의 호환성을 위해, 암호화된 입력 프레임(380)에 대해 엔트로피 인코딩을 추가적으로 수행할 수 있다.
도 4는 본 발명의 또 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 4를 참조하면, 본 발명의 또 다른 일실시예에 따른 압축 영상의 암호화 시스템은 모션 벡터 디퍼런스 코드 변경의 암호화 옵션에 따라, 입력 프레임(410)을 암호화할 수 있다. 이 때, 압축 영상의 암호화 시스템은 미리 설정된 암호키(420)를 이용하여 생성된 랜덤 비트마스크(430)를 이용하여 모션 벡터 디퍼런스 코드 변경의 암호화 옵션에 따라, 입력 프레임(410)을 암호화할 수 있다. 여기서, 랜덤 비트마스크(430)는 미리 설정된 암호키(420)를 시드로 하여 PRNG(440)을 통하여 생성된 랜덤값이 셔플링되고, LFSR(450)을 통하여 시프트되어 생성될 수 있다.
구체적으로, 압축 영상의 암호화 시스템은 부분 해제된 압축 영상의 비트스트림(460)으로부터 입력 프레임(410)을 파싱한 후(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 입력 프레임(410)을 파싱하는 대신에 압축될 영상으로부터 입력 프레임(410)을 획득함), 입력 프레임(410)에 포함되는 복수의 매크로블록들(470) 각각의 예측 모드에 기초하여 입력 프레임(410)을 암호화하는지 여부를 결정할 수 있다. 결정 결과, 입력 프레임(410)을 암호화하는 경우, 압축 영상의 암호화 시스템은 랜덤 비트마스크(430)를 이용하여 모션 벡터 디퍼런스 코드의 적어도 일부를 변경함으로써, 입력 프레임(410)을 암호화할 수 있다. 예를 들어, 압축 영상의 암호화 시스템은 랜덤 비트마스크(430)의 성분 및 복수의 매크로블록들(470) 각각에 대한 모션 벡터 디퍼런스 코드에 포함되는 정보 코드에 논리 연산(예컨대, 배타적 논리합)을 적용하여 모션 벡터 디퍼런스 코드의 적어도 일부를 변경함으로써, 입력 프레임(410)을 암호화할 수 있다. 이 때, 모션 벡터 디퍼런스 코드 변경은 복수의 매크로블록들(470) 각각에 대해 수행될 수 있거나, 복수의 매크로블록들(470) 중 일부에 대해서만 수행될 수도 있다.
이와 같은 암호화 과정은 압축 영상의 비트스트림(460)에 포함되는 복수의 프레임들이 순차적으로 입력 프레임(410)으로 추출됨으로써, 복수의 프레임들 각각에 대해 수행될 수 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(460)에 포함되는 복수의 프레임들을 순차적으로 입력 프레임(410)으로 추출하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 순차적으로 입력 프레임(410)으로 추출할 수 있음). 이 때, 암호화 과정은 입력 프레임(410)에 포함되는 복수의 매크로블록들(470) 각각의 예측 모드와 같은 입력 프레임(410)의 영상 특성에 따라 선택적으로 수행되거나, 수행되지 않을 수 있다.
또한, 별도의 도면으로 도시하지는 않았지만, 암호화 과정은 압축 영상의 비트스트림(460)에 포함되는 복수의 프레임들이 두 개 이상의 프레임들로 그룹화되어, 순차적으로 입력 프레임으로 추출됨으로써, 프레임이 그룹화되어 수행될 수도 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(460)에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 두 개 이상의 프레임들로 그룹화할 수 있음).
또한, 압축 영상의 암호화 시스템은 위에서 상술한 암호화 과정을 수행한 뒤, 표준과의 호환성을 위해, 암호화된 입력 프레임(480)에 대해 엔트로피 인코딩을 추가적으로 수행할 수 있다.
도 5는 도 2, 3 및 4에 도시된 암호화 옵션을 혼용하는 암호화 과정을 나타낸 개념도이다.
도 5를 참조하면, 압축 영상의 암호화 시스템은 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 혼용하여, 입력 프레임(510)을 암호화할 수 있다. 이 때, 압축 영상의 암호화 시스템은 미리 설정된 암호키(520)를 이용하여 생성된 랜덤 셔플링 맵(530) 및 랜덤 비트마스크(540)를 이용하여 매크로 순서 변경의 암호화 옵션에 따라, 입력 프레임(510)을 암호화할 수 있다. 여기서, 랜덤 셔플링 맵(530)은 미리 설정된 암호키(520)를 시드로 하여 PRNG(550)을 통하여 생성된 랜덤값이 셔플링되어 생성될 수 있고, 랜덤 비트마스크(540)는 미리 설정된 암호키(520)를 시드로 하여 PRNG(550)을 통하여 생성된 랜덤값이 셔플링되고, LFSR(560)을 통하여 시프트되어 생성될 수 있다.
구체적으로, 압축 영상의 암호화 시스템은 부분 해제된 압축 영상의 비트스트림(570)으로부터 입력 프레임(510)을 파싱한 후(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 입력 프레임(510)을 파싱하는 대신에 압축될 영상으로부터 입력 프레임(510)을 획득함), 입력 프레임(510)에 포함되는 복수의 매크로블록들(580) 각각의 예측 모드에 기초하여 입력 프레임(510)을 암호화하는지 여부를 결정할 수 있다. 결정 결과, 입력 프레임(510)을 암호화하는 경우, 압축 영상의 암호화 시스템은 랜덤 셔플링 맵(530)을 이용하여 입력 프레임(510)에 포함되는 복수의 매크로블록들(580)의 순서를 변경한 후, 랜덤 비트마스크(540)의 성분 및 순서가 변경된 복수의 매크로블록들(581) 각각에 포함되는 DCT 계수의 부호 비트에 논리 연산(예컨대, 배타적 논리합)을 적용하여, DCT 계수의 부호를 변경하고, 랜덤 비트마스크(540)의 성분 및 순서가 변경된 복수의 매크로블록들(581) 각각에 대한 모션 벡터 디퍼런스 코드에 포함되는 정보 코드에 논리 연산을 적용하여 모션 벡터 디퍼런스 코드의 적어도 일부를 변경함으로써, 입력 프레임(510)을 암호화할 수 있다.
이 때, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 모두를 혼용하여 암호화하는 과정으로 설명하지만, 이에 제한되거나 한정되지 않고, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 두 개 이상의 옵션이 선택되어 혼용될 수도 있다.
이와 같은 암호화 과정은 압축 영상의 비트스트림(570)에 포함되는 복수의 프레임들이 순차적으로 입력 프레임(510)으로 추출됨으로써, 복수의 프레임들 각각에 대해 수행될 수 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(570)에 포함되는 복수의 프레임들을 순차적으로 입력 프레임(510)으로 추출하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 순차적으로 입력 프레임(510)으로 추출할 수 있음). 이 때, 암호화 과정은 입력 프레임(510)에 포함되는 복수의 매크로블록들(580) 각각의 예측 모드와 같은 입력 프레임(510)의 영상 특성에 따라 선택적으로 수행되거나, 수행되지 않을 수 있다.
또한, 별도의 도면으로 도시하지는 않았지만, 암호화 과정은 압축 영상의 비트스트림(570)에 포함되는 복수의 프레임들이 두 개 이상의 프레임들로 그룹화되어, 순차적으로 입력 프레임으로 추출됨으로써, 프레임이 그룹화되어 수행될 수도 있다(만약, 암호화 과정이 압축 과정에서 수행되는 경우, 압축 영상의 암호화 시스템은 압축 영상의 비트스트림(570)에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하는 대신에, 압축될 영상으로부터 획득된 복수의 프레임들을 두 개 이상의 프레임들로 그룹화할 수 있음).
또한, 압축 영상의 암호화 시스템은 위에서 상술한 암호화 과정을 수행한 뒤, 표준과의 호환성을 위해, 암호화된 입력 프레임(590)에 대해 엔트로피 인코딩을 추가적으로 수행할 수 있다.
도 6은 본 발명의 일실시예에 따른 압축 영상의 암호화 방법을 나타낸 플로우 차트이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득한다(610).
여기서, 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 과정은 부분 해제된 압축 영상의 비트스트림으로부터 추출된 입력 프레임을 파싱하는 과정을 의미할 수 있다.
이 때, 압축 영상의 암호화 시스템은 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 입력 프레임으로 추출함으로써, 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들 각각에 대해 암호화 과정을 수행할 수 있다.
또한, 압축 영상의 암호화 시스템은 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 입력 프레임으로 추출함으로써, 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 그룹화하여 암호화 과정을 수행할 수도 있다.
이어서, 압축 영상의 암호화 시스템은 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화한다(620). 이에 대한 상세한 설명은 도 7을 참조하여 기재하기로 한다.
도 7은 도 6에 도시된 입력 프레임을 선택적으로 암호화하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 암호화하는지 여부를 결정할 수 있다(710).
결정 결과, 입력 프레임을 암호화하는 경우, 압축 영상의 암호화 시스템은 복수의 매크로 블록들 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다(720).
그 후, 압축 영상의 암호화 시스템은 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다(730).
구체적으로, 암호화 옵션 중 매크로블록 순서 변경이 선택된 경우, 압축 영상의 암호화 시스템은 미리 설정된 암호키를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)을 이용하여 복수의 매크로블록들의 순서를 변경함으로써, 입력 프레임을 암호화할 수 있다.
반면에, 암호화 옵션 중 DCT 계수 부호 변경이 선택된 경우, 압축 영상의 암호화 시스템은 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크(random bitmask)를 이용하여 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경함으로써, 입력 프레임을 암호화할 수 있다. 예를 들어, 압축 영상의 암호화 시스템은 랜덤 비트마스크의 성분 및 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호 비트에 논리 연산을 적용함으로써, DCT 계수의 부호를 변경할 수 있다.
또한, 암호화 옵션 중 모션 벡터 디퍼런스 코드 변경이 선택된 경우, 압축 영상의 암호화 시스템은 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크를 이용하여 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경함으로써, 입력 프레임을 암호화할 수 있다. 예를 들어, 압축 영상의 암호화 시스템은 랜덤 비트마스크의 성분 및 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드에 포함되는 정보 코드에 논리 연산을 적용함으로써, 모션 벡터 디퍼런스 코드의 적어도 일부를 변경할 수 있다.
이 때, 도면에는 도시하지 않았지만, 압축 영상의 암호화 시스템은 위에서 상술한 암호화 과정을 수행한 뒤, 표준과의 호환성을 위해, 암호화된 입력 프레임에 대해 엔트로피 인코딩을 수행할 수도 있다.
이와 같이, 본 발명의 일실시예에 따른 압축 영상의 암호화 방법은 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들 중 입력 프레임을 암호화하는지 여부를 결정하고, 결정 결과에 따라 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시킬 수 있다.
또한, 본 발명의 일실시예에 따른 압축 영상의 암호화 방법은 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택적으로 이용함으로써, 압축 표준 포맷을 유지하면서, 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하며, 암호화된 영상을 복호화할 때 지연되는 시간을 감소시킬 수 있다.
도 8은 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템을 나타낸 블록도이다.
도 8을 참조하면, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 획득부(810) 및 암호화부(820)를 포함한다.
획득부(810)는 압축될 영상 또는 부분 해제된 압축 영상으로부터 추출된 입력 프레임을 획득한다.
여기서, 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 과정은 부분 해제된 압축 영상의 비트스트림으로부터 추출된 입력 프레임을 파싱하는 과정을 의미할 수 있다.
이 때, 획득부(810)는 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 입력 프레임으로 추출함으로써, 암호화부(820)에서 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들 각각에 대해 암호화 과정을 수행하도록 할 수 있다.
또한, 획득부(810)는 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 입력 프레임으로 추출함으로써, 암호화부(820)에서 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 그룹화하여 암호화 과정을 수행하도록 할 수도 있다.
암호화부(820)는 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화한다.
구체적으로, 암호화부(820)는 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 암호화하는지 여부를 결정하고, 결정 결과, 입력 프레임을 암호화하는 경우, 압축 영상의 암호화 시스템은 복수의 매크로 블록들 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하며, 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다.
예를 들어, 암호화부(820)는 암호화 옵션 중 매크로블록 순서 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)을 이용하여 복수의 매크로블록들의 순서를 변경함으로써, 입력 프레임을 암호화할 수 있다.
다른 예를 들어, 암호화부(820)는 암호화 옵션 중 DCT 계수 부호 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크(random bitmask)를 이용하여 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경함으로써, 입력 프레임을 암호화할 수 있다. 이 때, 암호화부(820)는 랜덤 비트마스크의 성분 및 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호 비트에 논리 연산을 적용함으로써, DCT 계수의 부호를 변경할 수 있다.
또 다른 예를 들어, 암호화부(820)는 암호화 옵션 중 모션 벡터 디퍼런스 코드 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크를 이용하여 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경함으로써, 입력 프레임을 암호화할 수 있다. 이 때, 암호화부(820)는 랜덤 비트마스크의 성분 및 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드에 포함되는 정보 코드에 논리 연산을 적용함으로써, 모션 벡터 디퍼런스 코드의 적어도 일부를 변경할 수 있다.
이 때, 압축 영상의 암호화 시스템은 위에서 상술한 암호화 과정을 수행한 뒤, 표준과의 호환성을 위해, 암호화된 입력 프레임에 대해 엔트로피 인코딩을 수행하는 인코딩 수행부(도면에는 도시하지 않음)를 더 포함할 수 있다.
이와 같이, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들 중 입력 프레임을 암호화하는지 여부를 결정하고, 결정 결과에 따라 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시킬 수 있다.
또한, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택적으로 이용함으로써, 압축 표준 포맷을 유지하면서, 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하며, 암호화된 영상을 복호화할 때 지연되는 시간을 감소시킬 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (19)
- 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 단계; 및
상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에서 intra 예측, inter 예측 및 skip 예측이 각각 차지하는 비율에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 선택적으로 암호화하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 암호화 옵션 중 적어도 어느 하나를 선택하는 단계는
상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 암호화하는지 여부를 결정하는 단계
를 더 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계는
상기 암호화 옵션 중 상기 매크로블록 순서 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)을 이용하여 상기 복수의 매크로블록들의 순서를 변경하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계는
상기 암호화 옵션 중 상기 DCT 계수 부호 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크(random bitmask)를 이용하여 상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제4항에 있어서,
상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경하는 단계는
상기 랜덤 비트마스크의 성분 및 상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호 비트에 논리 연산을 적용하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계는
상기 암호화 옵션 중 상기 모션 벡터 디퍼런스 코드 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크를 이용하여 상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제6항에 있어서,
상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경하는 단계는
상기 랜덤 비트마스크의 성분 및 상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드에 포함되는 정보 코드에 논리 연산을 적용하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 암호화된 입력 프레임에 대해 엔트로피 인코딩을 수행하는 단계
를 더 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 입력 프레임을 획득하는 단계는
상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 상기 입력 프레임으로 추출하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제1항에 있어서,
상기 입력 프레임을 획득하는 단계는
상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 상기 입력 프레임으로 추출하는 단계
를 포함하는 압축 영상의 암호화 방법. - 제1항 내지 제10항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
- 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 획득부; 및
상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에서 intra 예측, inter 예측 및 skip 예측이 각각 차지하는 비율에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하고, 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 선택적으로 암호화하는 암호화부
를 포함하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 암호화부는
상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 암호화하는지 여부를 결정하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 암호화부는
상기 암호화 옵션 중 상기 매크로블록 순서 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 셔플링 맵(random shuffling map)을 이용하여 상기 복수의 매크로블록들의 순서를 변경하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 암호화부는
상기 암호화 옵션 중 상기 DCT 계수 부호 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크(random bitmask)를 이용하여 상기 복수의 매크로블록들 각각에 포함되는 DCT 계수의 부호를 변경하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 암호화부는
상기 암호화 옵션 중 상기 모션 벡터 디퍼런스 코드 변경이 선택된 경우, 미리 설정된 암호키를 이용하여 생성된 랜덤 비트마스크를 이용하여 상기 복수의 매크로블록들 각각에 대한 모션 벡터 디퍼런스 코드의 적어도 일부를 변경하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 암호화된 입력 프레임에 대해 엔트로피 인코딩을 수행하는 인코딩 수행부
를 더 포함하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 획득부는
상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 상기 입력 프레임으로 추출하는 압축 영상의 암호화 시스템. - 제12항에 있어서,
상기 획득부는
상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 상기 입력 프레임으로 추출하는 압축 영상의 암호화 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140167630A KR101602581B1 (ko) | 2014-11-27 | 2014-11-27 | 압축 영상의 암호화 방법 및 시스템 |
US14/950,873 US9992535B2 (en) | 2014-11-27 | 2015-11-24 | Fast processing and encryption method and system for compressed video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140167630A KR101602581B1 (ko) | 2014-11-27 | 2014-11-27 | 압축 영상의 암호화 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101602581B1 true KR101602581B1 (ko) | 2016-03-11 |
Family
ID=55583041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140167630A KR101602581B1 (ko) | 2014-11-27 | 2014-11-27 | 압축 영상의 암호화 방법 및 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9992535B2 (ko) |
KR (1) | KR101602581B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190036339A (ko) * | 2017-09-27 | 2019-04-04 | 주식회사 에이치앤비트 | 동영상 암호화 방법 |
CN115550692A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种对视频流实时加密的方法、装置及设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106570815A (zh) * | 2016-10-21 | 2017-04-19 | 广东工业大学 | 一种基于双混沌系统和分块的图像加密方法 |
CN109391846B (zh) | 2017-08-07 | 2020-09-01 | 浙江宇视科技有限公司 | 一种自适应模式选择的视频加扰方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006101472A (ja) * | 2004-04-23 | 2006-04-13 | Sumitomo Electric Ind Ltd | 動画像データの符号化方法、復号化方法、これらを実行する端末装置、及び双方向対話型システム |
KR100764246B1 (ko) * | 2005-12-30 | 2007-10-08 | 고려대학교 산학협력단 | 비디오 암호화 방법, 비디오 복호화 방법 및 그 장치 |
JP2014127990A (ja) * | 2012-12-27 | 2014-07-07 | Canon Inc | 暗号化装置、暗号化方法及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2404467A (en) * | 2003-07-31 | 2005-02-02 | Sony Uk Ltd | Access control for digital content |
JP2014236264A (ja) * | 2013-05-31 | 2014-12-15 | ソニー株式会社 | 画像処理装置、画像処理方法及びプログラム |
-
2014
- 2014-11-27 KR KR1020140167630A patent/KR101602581B1/ko active IP Right Grant
-
2015
- 2015-11-24 US US14/950,873 patent/US9992535B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006101472A (ja) * | 2004-04-23 | 2006-04-13 | Sumitomo Electric Ind Ltd | 動画像データの符号化方法、復号化方法、これらを実行する端末装置、及び双方向対話型システム |
KR100764246B1 (ko) * | 2005-12-30 | 2007-10-08 | 고려대학교 산학협력단 | 비디오 암호화 방법, 비디오 복호화 방법 및 그 장치 |
JP2014127990A (ja) * | 2012-12-27 | 2014-07-07 | Canon Inc | 暗号化装置、暗号化方法及びプログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190036339A (ko) * | 2017-09-27 | 2019-04-04 | 주식회사 에이치앤비트 | 동영상 암호화 방법 |
KR101997136B1 (ko) | 2017-09-27 | 2019-07-08 | 주식회사 에이치앤비트 | 동영상 암호화 방법 |
CN115550692A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种对视频流实时加密的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
US9992535B2 (en) | 2018-06-05 |
US20160156970A1 (en) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | An efficient chaos pseudo-random number generator applied to video encryption | |
Long et al. | Separable reversible data hiding and encryption for HEVC video | |
Shahid et al. | Visual protection of HEVC video by selective encryption of CABAC binstrings | |
Yao et al. | Inter-frame distortion drift analysis for reversible data hiding in encrypted H. 264/AVC video bitstreams | |
CN102843558B (zh) | H.264/avc压缩域视频加密/解密装置及其加密/解密方法 | |
Shah et al. | Video encryption: A survey | |
CN1852443B (zh) | 数据处理装置 | |
KR101602581B1 (ko) | 압축 영상의 암호화 방법 및 시스템 | |
CN104093029B (zh) | 一种基于新时空混沌系统的视频加密算法 | |
Algin et al. | Scalable video encryption of H. 264 SVC codec | |
CN103856786A (zh) | 一种基于h.264的流媒体视频加密方法及其加密装置 | |
Khlif et al. | Secure chaotic dual encryption scheme for H. 264/AVC video conferencing protection | |
KR101757559B1 (ko) | 압축 영상의 고속 처리 및 암호화 방법 및 시스템 | |
El-Mowafy et al. | Chaos based encryption technique for compressed h264/avc videos | |
CN104301727B (zh) | 基于cabac的质量可控的h.264视频感知加密算法 | |
Sbiaa et al. | A selective encryption scheme with multiple security levels for the H. 264/AVC video coding standard | |
Song et al. | Efficient protection using chaos for context-adaptive binary arithmetic coding in H. 264/advanced video coding | |
Xu et al. | Reversible data hiding in encrypted H. 264/AVC video streams | |
Hong et al. | The study of selective encryption of motion vector based on the S-Box for the security improvement in the process of video | |
Hooda et al. | A comprehensive survey of video encryption algorithms | |
Peng et al. | An effective selective encryption scheme for HEVC based on rossler chaotic system | |
CN113795861B (zh) | 发送端和接收端的隐私保护方法、电子设备、以及计算机可读存储介质 | |
Jenisch et al. | A detailed evaluation of format-compliant encryption methods for JPEG XR-compressed images | |
Varalakshmi et al. | An enhanced encryption algorithm for video based on multiple Huffman tables | |
Tew et al. | Joint selective encryption and data embedding technique in HEVC video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190305 Year of fee payment: 4 |