KR101757559B1 - 압축 영상의 고속 처리 및 암호화 방법 및 시스템 - Google Patents

압축 영상의 고속 처리 및 암호화 방법 및 시스템 Download PDF

Info

Publication number
KR101757559B1
KR101757559B1 KR1020150180392A KR20150180392A KR101757559B1 KR 101757559 B1 KR101757559 B1 KR 101757559B1 KR 1020150180392 A KR1020150180392 A KR 1020150180392A KR 20150180392 A KR20150180392 A KR 20150180392A KR 101757559 B1 KR101757559 B1 KR 101757559B1
Authority
KR
South Korea
Prior art keywords
encryption
input frame
encrypting
compressed image
bitstreams
Prior art date
Application number
KR1020150180392A
Other languages
English (en)
Other versions
KR20170072043A (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 한동대학교 산학협력단
Priority to KR1020150180392A priority Critical patent/KR101757559B1/ko
Publication of KR20170072043A publication Critical patent/KR20170072043A/ko
Application granted granted Critical
Publication of KR101757559B1 publication Critical patent/KR101757559B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

압축 영상의 암호화 방법은 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인하는 단계; 및 상기 확인 결과를 기초로, 룩업 테이블(lookup table)-상기 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 상기 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장됨-을 선택적으로 이용하여 상기 일부 비트 스트림을 암호화하는 단계를 포함한다.

Description

압축 영상의 고속 처리 및 암호화 방법 및 시스템{FAST PROCESSING AND ENCRIPTION METHOD AND SYSTEM FOR COMPRESSED VIDEO}
본 발명은 압축 영상의 암호화 시스템 및 그 방법으로서, 보다 구체적으로, 압축 영상에 포함되는 일부 비트 스트림에 대해 고속으로 암호화하는 시스템 및 그 방법에 관한 기술이다.
기존의 영상을 암호화하는 기술로는 영상 전체를 암호화하는 표준 암호화 방식인 AES(Advanced Encryption Standard) 방식 및 RSA(Rivest Shamir Adleman) 방식이 이용된다.
그러나, 영상 전체를 암호화하는 표준 암호화 방식은 암호화해야 하는 양이 방대하기 때문에, 암호화된 영상의 양, 암호화 과정에 소요되는 시간 및 소모되는 비용이 큰 문제점이 있다.
이에, 본 명세서에서는 압축 영상에 포함되는 일부 비트 스트림(bit stream)에 대해 고속으로 암호화함으로써, 암호화에 소요되는 시간 및 소모되는 비용을 감소시키는 기술을 제안한다.
또한, 본 명세서에서는 표준 복호화 방식을 이용하여 일부 비트 스트림을 복호화한 후, 암호화하는 경우에 일부 비트 스트림을 포함하는 입력 프레임 내의 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시키는 기술을 제안한다.
본 발명의 실시예들은 압축 영상에 포함되는 일부 비트 스트림에 대해 복호화없이 고속으로 암호화함으로써, 암호화에 소요되는 시간 및 소모되는 비용을 감소시키는 암호화 방법 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시키는 암호화 방법 및 시스템을 제공한다.
이 때, 본 발명의 실시예들은 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하는 암호화 방법 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 암호화된 영상을 복호화할 때 지연되는 시간을 감소시키고, 압축 표준 포맷을 유지하는 암호화 방법 및 시스템을 제공한다.
본 발명의 일실시예에 따른 압축 영상의 암호화 방법은 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인하는 단계; 및 상기 확인 결과를 기초로, 룩업 테이블(lookup table)-상기 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 상기 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장됨-을 선택적으로 이용하여 상기 일부 비트 스트림을 암호화하는 단계를 포함한다.
상기 일부 비트 스트림을 암호화하는 단계는 상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는 경우, 상기 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출하는 단계; 및 상기 추출된 암호화 정보에 기초하여 상기 일부 비트 스트림을 암호화하는 단계를 포함할 수 있다.
상기 암호화 정보는 상기 복수의 비트 스트림들 각각에 대응하는 매크로블록의 예측 모드에 대한 정보, 상기 복수의 비트 스트림들 각각에 포함되는 암호화될 비트들과 관련된 정보 및 상기 복수의 비트 스트림들 각각의 코드 길이 정보를 포함하고, 상기 일부 비트 스트림을 암호화하는 단계는 상기 일부 비트 스트림을 포함하는 입력 프레임을 획득하는 단계; 상기 추출된 암호화 정보로부터 확인되는 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계를 포함할 수 있다.
상기 일부 비트 스트림을 암호화하는 단계는 상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되지 않는 경우, 표준 복호화 방식에 기초하여 상기 일부 비트 스트림을 복호화하는 단계; 및 상기 복호화 결과에 기초하여 상기 일부 비트 스트림을 암호화하는 단계를 포함할 수 있다.
상기 일부 비트 스트림을 암호화하는 단계는 상기 일부 비트 스트림을 포함하는 입력 프레임을 획득하는 단계; 상기 복호화 결과로부터 확인되는 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계를 포함할 수 있다.
상기 압축 영상의 암호화 방법은 상기 복수의 비트 스트림들 각각이 갖는 패턴이 상기 압축 영상을 포함하는 복수의 압축 영상들에서 나타나는 빈도수에 기초하여 상기 룩업 테이블을 미리 구축하는 단계를 더 포함할 수 있다.
상기 압축 영상에 포함되는 일부 비트 스트림을 확인하는 단계는 상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는지 여부를 확인하는 단계를 포함할 수 있다.
본 발명의 다른 일실시예에 따른 압축 영상의 암호화 방법은 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 단계; 및 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 선택적으로 암호화하는 단계를 포함한다.
상기 입력 프레임을 선택적으로 암호화하는 단계는 상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 암호화하는지 여부를 결정하는 단계; 상기 결정 결과, 상기 입력 프레임을 암호화하는 경우, 상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계를 포함할 수 있다.
상기 입력 프레임을 획득하는 단계는 상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 순차적으로 상기 입력 프레임으로 추출하는 단계를 포함할 수 있다.
상기 입력 프레임을 획득하는 단계는 상기 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 복수의 프레임들을 두 개 이상의 프레임들로 그룹화하여, 순차적으로 상기 입력 프레임으로 추출하는 단계를 포함할 수 있다.
본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인하는 확인부; 및 상기 확인 결과를 기초로, 룩업 테이블(lookup table)-상기 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 상기 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장됨-을 선택적으로 이용하여 상기 일부 비트 스트림을 처리하는 처리부를 포함한다.
상기 처리부는 상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는 경우, 상기 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출하고, 상기 추출된 암호화 정보에 기초하여 상기 일부 비트 스트림을 암호화할 수 있다.
상기 처리부는 상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되지 않는 경우, 표준 복호화 방식에 기초하여 상기 일부 비트 스트림을 복호화하고, 상기 복호화 결과에 기초하여 상기 일부 비트 스트림을 암호화할 수 있다.
본 발명의 다른 일실시예에 따른 압축 영상의 암호화 시스템은 압축될 영상 또는 부분 해제된 압축 영상으로부터 입력 프레임을 획득하는 획득부; 및 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 선택적으로 처리하는 처리부를 포함한다.
상기 처리부는 상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 상기 입력 프레임을 암호화하는지 여부를 결정하고, 상기 결정 결과, 상기 입력 프레임을 암호화하는 경우, 상기 복수의 매크로블록들 각각의 예측 모드에 기초하여 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하며, 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화할 수 있다.
본 발명의 실시예들은 압축 영상에 포함되는 일부 비트 스트림에 대해 복호화없이 고속으로 암호화함으로써, 암호화에 소요되는 시간 및 소모되는 비용을 감소시키는 암호화 방법 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 압축될 영상 또는 부분 해제된 압축 영상에 포함되는 입력 프레임 내의 복수의 매크로블록들 각각의 예측 모드에 기초하여 입력 프레임을 선택적으로 암호화함으로써, 암호화된 영상의 양, 암호화하는 과정에 소요되는 시간 및 소모되는 비용을 감소시키는 암호화 방법 및 시스템을 제공할 수 있다.
이 때, 본 발명의 실시예들은 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하는 암호화 방법 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예들은 암호화된 영상을 복호화할 때 지연되는 시간을 감소시키고, 압축 표준 포맷을 유지하는 암호화 방법 및 시스템을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 압축 영상으로부터 추출된 입력 프레임에 포함되는 복수의 매크로블록들을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 3은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 4는 본 발명의 또 다른 일실시예에 따른 압축 영상의 암호화 과정을 나타낸 개념도이다.
도 5는 도 2, 3 및 4에 도시된 암호화 옵션을 혼용하는 암호화 과정을 나타낸 개념도이다.
도 6은 본 발명의 일실시예에 따른 압축 영상의 암호화 방법을 나타낸 플로우 차트이다.
도 7은 도 6에 도시된 입력 프레임을 선택적으로 암호화하는 단계를 구체적으로 나타낸 플로우 차트이다.
도 8은 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템을 나타낸 블록도이다.
도 9는 본 발명의 일실시예에 따른 일부 비트 스트림에 대해 복호화없이 고속으로 암호화하는 과정을 나타낸 개념도이다.
도 10은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 방법을 나타낸 플로우 차트이다.
도 11은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 시스템을 나타낸 블록도이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 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 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택적으로 이용함으로써, 압축 표준 포맷을 유지하면서, 암호화된 영상을 시각적으로 알아보기 힘들도록 하고, 공격자가 암호키를 역추정하기 힘들도록 하며, 암호화된 영상을 복호화할 때 지연되는 시간을 감소시킬 수 있다.
도 9는 본 발명의 일실시예에 따른 일부 비트 스트림에 대해 복호화없이 고속으로 암호화하는 과정을 나타낸 개념도이다.
도 9를 참조하면, 본 발명의 일실시예에 따른 압축 영상의 암호화 시스템은 압축 영상에 포함되는 일부 비트 스트림에 대해 복호화없이 고속으로 암호화를 수행할 수 있다.
구체적으로, 압축 영상의 암호화 시스템은 압축 영상의 복수의 비트 스트림들(910) 중 일부 비트 스트림(911)에 대해 룩업 테이블(920)를 선택적으로 이용함으로써, 일부 비트 스트림(911)을 암호화할 수 있다.
여기서, 룩업 테이블(920)에는 복수의 비트 스트림들 각각이 갖는 패턴(921)을 주소로 하여 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보(922)가 저장되어 유지될 수 있다. 복수의 비트 스트림들 각각이 갖는 패턴(921)은 이진값(0 또는 1)이 반복되어 형성되는 비트 상의 패턴을 의미한다. 도면에 도시된 x 비트는 0 또는 1의 이진값 중 어느 하나를 임의로 포함하는 비트를 의미한다. 이하, 룩업 테이블(920)에 저장되어 유지되는 정보와 관련되어 언급되는 복수의 비트 스트림들은 위에서 기재한 압축 영상의 복수의 비트 스트림들(910)을 포함 또는 포함하지 않는 다양한 압축 영상에 포함되는 복수의 비트 스트림들을 나타낸다.
복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보(922)는 복수의 비트 스트림들 각각에 대응하는 매크로블록의 예측 모드에 대한 정보, 복수의 비트 스트림들 각각에 포함되는 암호화될 비트들과 관련된 정보 및 복수의 비트 스트림들 각각의 코드 길이 정보를 포함할 수 있다. 예를 들어, 암호화 정보(922)는 복수의 비트 스트림들 각각에 대응하는 매크로블록에서 유효 DCT 계수와 관련된 정보(예컨대, 해당 매크로 블록에 유효 DCT 계수(non-zero coefficient)가 포함되는 개수에 대한 정보), 복수의 비트 스트림들 각각에 포함되는 암호화될 비트들과 관련된 정보(예컨대, 복수의 비트 스트림들 각각에서 암호화될 비트가 몇 번째 비트인지에 대한 정보) 및 복수의 비트 스트림들 각각의 코드 길이 정보를 포함할 수 있다.
이 때, 룩업 테이블(920)에는 복수의 비트 스트림들 각각이 갖는 패턴(921)과 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보(922)는 N:1로 대응되도록 저장될 수 있다.
이와 같은 룩업 테이블(920)은 일부 비트 스트림(911)에 대해 복호화없이 고속으로 암호화가 수행되기 이전에 미리 구축됨으로써, 고속 암호화 과정에서 이용될 수 있다.
또한, 룩업 테이블(920)은 일부 비트 스트림(911)에 대해 복호화없이 고속으로 암호화가 수행되기 이전에 미리 구축될 뿐만 아니라, 후술되는 표준 복호화 방식에 기초하여 일부 비트 스트림(911)이 한 비트씩 복호화되는 결과에 따라, 업데이트될 수도 있다. 이에 대한 상세한 설명은 도 10을 참조하여 기재하기로 한다.
또한, 룩업 테이블(920)에 저장되어 유지되는 복수의 비트 스트림들 각각이 갖는 패턴(921) 및 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보(922)의 용량(개수)는 적응적으로 설정될 수 있다. 예를 들어, 룩업 테이블(920)은 복수의 비트 스트림들 각각이 갖는 패턴(921)이 복수의 압축 영상들에서 나타나는 빈도수에 기초하여 미리 구축됨으로써, 너무 큰 용량을 갖지 않고 적절할 용량을 가질 수 있다.
즉, 룩업 테이블(920)은 특정 비트 스트림이 갖는 패턴이 압축 영상에서 많은 빈도수로 나타나는가 또는 상대적으로 적은 빈도수로 나타나는가에 기초하여, 특정 비트 스트림이 갖는 패턴을 포함하거나, 포함하지 않도록 구축될 수 있다.
따라서, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)이 갖는 패턴이 룩업 테이블(920)에 저장된 복수의 비트 스트림들 각각이 갖는 패턴(921) 중 어느 하나의 패턴과 매칭되는지 여부를 확인함으로써, 확인 결과, 일부 비트 스트림(911)이 갖는 패턴이 복수의 비트 스트림들 각각이 갖는 패턴(921) 중 어느 하나의 패턴과 매칭되는 경우, 룩업 테이블(920)에 저장된 암호화 정보(922)를 이용하여 일부 비트 스트림(911)을 암호화할 수 있다.
예를 들어, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)이 갖는 패턴이 룩업 테이블(920)에 저장된 복수의 비트 스트림들 각각이 갖는 패턴(921) 중 어느 하나의 패턴과 매칭되는 경우, 룩업 테이블(920)로부터 매칭되는 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출할 수 있다. 이에, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)을 암호화한 후, 암호화된 결과(940)를 출력할 수 있다. 이 때, 압축 영상의 암호화 시스템은 암호화 정보를 기초로 DCT 계수 부호 변경을 적용하여 일부 비트 스트림(911)을 암호화할 수 있다.
더 구체적인 예를 들면, 일부 비트 스트림(911)이 도면에 도시된 바와 같이 '0111001'의 패턴을 갖고, 룩업 테이블(920)에 '0111001'의 주소에 저장되어 있는 암호화 정보가 '(2, <3,4>, 7)'인 경우, 압축 영상의 암호화 시스템은 룩업 테이블(920)로부터 '0011000'의 비트마스크(923)를 추출할 수 있다(여기서, '0011000'의 비트마스크(923)는 일부 비트 스트림(911)에서 암호화될 비트의 위치인 3번째, 4번째 비트에 이진값 중 1이 할당되고 나머지 비트의 위치에는 이진값 중 0이 할당되어 생성됨). 이에, 압축 영상의 암호화 시스템은 랜덤 난수 생성기(930)로부터 출력되는 난수(931)와 룩업 테이블(920)로부터 추출된 '0011000'의 비트마스크(923)에 대해 AND 연산을 수행한 후, AND 연산이 수행된 값(932)과 일부 비트 스트림(911)에 대해 XOR 연산을 수행하여, 암호화된 결과(940)를 출력할 수 있다.
상술한 바와 같이, 일부 비트 스트림(911)에 대한 암호화가 완료되면, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)에 순차적으로 이어지는 다음 비트 스트림에 대해서도 동일한 방식으로 암호화를 수행함으로써, 압축 영상의 프레임 전체에 대해 룩업 테이블(920)을 이용하여 암호화를 수행할 수 있다.
여기서, 압축 영상의 암호화 시스템은 룩업 테이블(920)에 저장되는 암호화 정보에 DCT 계수 부호 변경의 암호화 기법 외에 다른 암호화 기법에서 요구되는 정보를 포함시킴으로써, 룩업 테이블(920)을 이용하는 암호화 과정에서 DCT 계수 부호 변경을 적용할 뿐만 아니라, 다른 다양한 암호화 기법을 적용할 수도 있다.
예를 들어, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)이 갖는 패턴이 룩업 테이블(920)에 저장된 복수의 비트 스트림들 각각이 갖는 패턴(921) 중 어느 하나의 패턴과 매칭되는 경우, 룩업 테이블(920)로부터 매칭되는 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출할 수 있다. 이에, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)을 포함하는 입력 프레임을 획득한 후, 상술한 바와 같이 추출된 암호화 정보로부터 확인되는 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드(복수의 매크로블록들 각각의 예측 모드는 추출된 암호화 정보에 포함되는 복수의 비트 스트림들 각각에 대응하는 매크로블록의 예측 모드에 대한 정보를 취합하여 획득됨)에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다. 따라서, 압축 영상의 암호화 시스템은 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다. 이러한 경우, 압축 영상의 암호화 시스템은 도 2 내지 8을 참조하여 기재한 암호화 과정을 동일하게 수행할 수 있다.
만약, 확인 결과, 일부 비트 스트림(911)이 갖는 패턴이 룩업 테이블(920)에 저장된 복수의 비트 스트림들 각각이 갖는 패턴(921) 중 어느 하나의 패턴과 매칭되지 않는 경우, 압축 영상의 암호화 시스템은 표준 복호화 방식에 기초하여 일부 비트 스트림(911)을 복호화하고, 복호화 결과에 기초하여 일부 비트 스트림(911)을 암호화할 수 있다.
예를 들어, 압축 영상의 암호화 시스템은 일부 비트 스트림(911)을 포함하는 입력 프레임을 획득한 후, 상술한 바와 같이 표준 복호화 방식에 기초하여 복호화된 결과로부터 확인되는 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다. 따라서, 압축 영상의 암호화 시스템은 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다. 마찬가지로, 압축 영상의 암호화 시스템은 도 2 내지 8을 참조하여 기재한 암호화 과정을 동일하게 수행할 수 있다.
이와 같이, 압축 영상의 암호화 시스템은 룩업 테이블(920)을 선택적으로 이용함으로써, 암호화 기법을 이원화하여 적용할 수 있다. 여기서, 룩업 테이블(920)을 선택적으로 이용한다는 것은 "일부 비트 스트림이 갖는 패턴이 룩업 테이블(920)에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는지 여부"에 따라 암호화를 수행하기 위하여 룩업 테이블(920)에 저장된 정보를 선택적으로 이용한다는 것을 의미한다.
도 10은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 방법을 나타낸 플로우 차트이다.
도 10을 참조하면, 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 시스템은 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인한다(1010).
예를 들어, 압축 영상의 암호화 시스템은 일부 비트 스트림이 갖는 패턴이 룩업 테이블에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는지 여부를 확인할 수 있다.
여기서, 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장된다.
또한 도면에는 도시되지 않았지만, 룩업 테이블은 1010 단계 이전에 미리 구축될 수 있다. 예를 들어, 압축 영상의 암호화 시스템은 복수의 비트 스트림들 각각이 갖는 패턴이 압축 영상을 포함하는 복수의 압축 영상들에서 나타나는 빈도수에 기초하여 룩업 테이블을 미리 구축할 수 있다.
그 후, 압축 영상의 암호화 시스템은 확인 결과를 기초로, 룩업 테이블을 선택적으로 이용하여 일부 비트 스트림을 암호화한다.
구체적으로, 일부 비트 스트림이 갖는 패턴이 룩업 테이블에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는 경우, 압축 영상의 암호화 시스템은 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출할 수 있다(1020).
이 때, 도면에는 도시되지 않았지만, 압축 영상의 암호화 시스템은 일부 비트 스트림에 대한 암호화 정보를 추출하면, 일부 비트 스트림에 순차적으로 이어지는 다음 비트 스트림에 대해서도 1010 단계 및 1020 단계를 거쳐 다음 비트 스트림에 대한 암호화 정보를 추출할 수 있다.
그 다음, 압축 영상의 암호화 시스템은 일부 비트 스트림을 포함하는 입력 프레임을 획득할 수 있다(1030). 예를 들어, 압축 영상의 암호화 시스템은 일부 비트 스트림과 순차적으로 이어지는 다음 비트 스트림, 그 다음 비트 스트림을 확인함으로써, 프레임 단위인 입력 프레임을 획득할 수 있다. 이러한 경우, 다음 비트 스트림 및 그 다음 비트 스트림 각각에 대해 1020 단계를 거쳐 추출된 암호화 정보는 취합되어 후술되는 암호화 옵션을 선택하는 과정 또는 암호화를 수행하는 과정에서 이용될 수 있다.
그 다음, 압축 영상의 암호화 시스템은 추출된 암호화 정보로부터 확인되는 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다(1040).
그 후, 압축 영상의 암호화 시스템은 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다(1050).
여기서, 1040 단계 및 1050 단계는 도 7을 참조하여 기재된 암호화 옵션에 따라 입력 프레임에 대해 암호화를 수행하는 과정과 동일하게 수행될 수 있다.
반면에, 일부 비트 스트림이 갖는 패턴이 룩업 테이블에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되지 않는 경우, 압축 영상의 암호화 시스템은 표준 복호화 방식에 기초하여 일부 비트 스트림을 복호화할 수 있다(1060).
이 때, 압축 영상의 암호화 시스템은 표준 복호화 방식에 기초하여 일부 비트 스트림이 복호화된 결과에 따라, 룩업 테이블을 업데이트할 수도 있다. 예를 들어, 압축 영상의 암호화 시스템은 일부 비트 스트림이 갖는 패턴을 주소로 하여, 일부 비트 스트림이 복호화된 결과에서 획득되는 암호화 정보를 저장함으로써, 룩업 테이블을 업데이트할 수 있다. 만약, 룩업 테이블이 사전에 완성되어 구축되어 있는 경우에는 업데이트 단계가 생략될 수 있다.
따라서, 압축 영상의 암호화 시스템은 일부 비트 스트림을 포함하는 입력 프레임을 획득하는 1030 단계를 거친 후, 암호화 옵션을 선택하는 1040 단계에서, 1060 단계의 복호화 결과로부터 확인되는 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다. 그 후, 압축 영상의 암호화 시스템은 1050 단계와 마찬가지로, 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다.
도 11은 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 시스템을 나타낸 블록도이다.
도 11을 참조하면, 본 발명의 다른 일실시예에 따른 압축 영상의 암호화 시스템은 확인부(1110) 및 처리부(1120)를 포함한다.
확인부(1110)는 압축 영상의 암호화 시스템은 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인한다.
예를 들어, 확인부(1110)는 일부 비트 스트림이 갖는 패턴이 룩업 테이블에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는지 여부를 확인할 수 있다.
여기서, 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장된다.
또한, 도면에는 도시되지 않았지만, 압축 영상의 암호화 시스템은 확인부(1110)에서 확인 동작을 수행하기 이전에 룩업 테이블을 미리 구축하는 룩업 테이블 구축부를 더 포함할 수 있다. 예를 들어, 룩업 테이블 구축부는 복수의 비트 스트림들 각각이 갖는 패턴이 압축 영상을 포함하는 복수의 압축 영상들에서 나타나는 빈도수에 기초하여 룩업 테이블을 미리 구축할 수 있다.
처리부(1120)는 확인 결과를 기초로, 룩업 테이블을 선택적으로 이용하여 일부 비트 스트림을 처리한다. 여기서, 처리는 암호화, 검색, 복호화 등을 포함할 수 있다.
구체적으로, 일부 비트 스트림이 갖는 패턴이 룩업 테이블에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는 경우, 처리부(1120)는 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출하고, 추출된 암호화 정보에 기초하여 일부 비트 스트림을 암호화할 수 있다.
여기서, 처리부(1120)는 일부 비트 스트림에 대한 암호화 정보를 추출하면, 일부 비트 스트림에 순차적으로 이어지는 다음 비트 스트림에 대해서도 동일한 방식으로 암호화 정보를 추출할 수 있다. 이와 같이 추출된 암호화 정보들은 처리부(1120)에 의해 임시 저장됨으로써, 후술되는 암호화 옵션을 선택하는 과정 또는 암호화를 수행하는 과정에서 이용될 수 있다.
이 때, 암호화 정보는 복수의 비트 스트림들 각각에 대응하는 매크로블록의 예측 모드에 대한 정보, 복수의 비트 스트림들 각각에 포함되는 암호화될 비트들과 관련된 정보 및 복수의 비트 스트림들 각각의 코드 길이 정보를 포함할 수 있기 때문에, 처리부(1120)는 일부 비트 스트림을 포함하는 입력 프레임을 획득한 후(일부 비트 스트림과 순차적으로 이어지는 다음 비트 스트림, 그 다음 비트 스트림을 확인함으로써, 프레임 단위인 입력 프레임이 획득됨), 추출된 암호화 정보로부터 확인되는 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수(Discrete Cosine Transform coefficient) 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택할 수 있다. 따라서, 처리부(1120)는 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다.
여기서, 선택된 암호화 옵션에 따라 입력 프레임을 암호화하는 처리부(1120)의 동작은 도 8을 참조하여 기재된 암호화 옵션에 따라 입력 프레임을 수행하는 암호화부의 동작과 동일할 수 있다.
반면에, 일부 비트 스트림이 갖는 패턴이 룩업 테이블에 저장된 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되지 않는 경우, 처리부(1120)는 표준 복호화 방식에 기초하여 일부 비트 스트림을 복호화하고, 복호화 결과에 기초하여 일부 비트 스트림을 암호화할 수 있다.
여기서, 처리부(1120)는 룩업 테이블 구축부와 연동함으로써, 표준 복호화 방식에 기초하여 일부 비트 스트림이 복호화된 결과에 따라, 룩업 테이블을 업데이트할 수도 있다.
따라서, 처리부(1120)는 일부 비트 스트림을 포함하는 입력 프레임을 획득한 후, 복호화 결과로부터 확인되는 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택함으로써, 선택된 암호화 옵션에 따라 입력 프레임을 암호화할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인하는 단계; 및
    상기 확인 결과를 기초로, 룩업 테이블(lookup table)-상기 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 상기 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장됨-을 선택적으로 이용하여 상기 일부 비트 스트림을 암호화하는 단계
    를 포함하고,
    상기 일부 비트 스트림을 암호화하는 단계는
    상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는 경우, 상기 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출하는 단계; 및
    상기 추출된 암호화 정보에 기초하여 상기 일부 비트 스트림을 암호화하는 단계
    를 포함하며,
    상기 암호화 정보는
    상기 복수의 비트 스트림들 각각에 대응하는 매크로블록의 예측 모드에 대한 정보, 상기 복수의 비트 스트림들 각각에 포함되는 암호화될 비트들과 관련된 정보 및 상기 복수의 비트 스트림들 각각의 코드 길이 정보를 포함하고,
    상기 추출된 암호화 정보에 기초하여 상기 일부 비트 스트림을 암호화하는 단계는
    상기 일부 비트 스트림을 포함하는 입력 프레임을 획득하는 단계;
    상기 추출된 암호화 정보로부터 확인되는 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및
    상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계
    를 포함하는 압축 영상의 암호화 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 일부 비트 스트림을 암호화하는 단계는
    상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되지 않는 경우, 표준 복호화 방식에 기초하여 상기 일부 비트 스트림을 복호화하는 단계; 및
    상기 복호화 결과에 기초하여 상기 일부 비트 스트림을 암호화하는 단계
    를 포함하는 압축 영상의 암호화 방법.
  5. 제4항에 있어서,
    상기 일부 비트 스트림을 암호화하는 단계는
    상기 일부 비트 스트림을 포함하는 입력 프레임을 획득하는 단계;
    상기 복호화 결과로부터 확인되는 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스(motion vector difference) 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택하는 단계; 및
    상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 단계
    를 포함하는 압축 영상의 암호화 방법.
  6. 제1항에 있어서,
    상기 복수의 비트 스트림들 각각이 갖는 패턴이 상기 압축 영상을 포함하는 복수의 압축 영상들에서 나타나는 빈도수에 기초하여 상기 룩업 테이블을 미리 구축하는 단계
    를 더 포함하는 압축 영상의 암호화 방법.
  7. 제1항에 있어서,
    상기 압축 영상에 포함되는 일부 비트 스트림을 확인하는 단계는
    상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는지 여부를 확인하는 단계
    를 포함하는 압축 영상의 암호화 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 제1항 또는 제4항 내지 제7항 중 어느 한 항의 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  13. 압축 영상에 포함되는 일부 비트 스트림(bit stream)을 확인하는 확인부; 및
    상기 확인 결과를 기초로, 룩업 테이블(lookup table)-상기 룩업 테이블에는 복수의 비트 스트림들 각각이 갖는 패턴을 주소로 하여 상기 복수의 비트 스트림들 각각의 암호화에 필요한 암호화 정보가 저장됨-을 선택적으로 이용하여 상기 일부 비트 스트림을 처리하는 처리부
    를 포함하고,
    상기 처리부는
    상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되는 경우, 상기 어느 하나의 패턴을 주소로 하는 암호화 정보를 추출하고, 상기 추출된 암호화 정보에 기초하여 상기 일부 비트 스트림을 암호화하며,
    상기 암호화 정보는
    상기 복수의 비트 스트림들 각각에 대응하는 매크로블록의 예측 모드에 대한 정보, 상기 복수의 비트 스트림들 각각에 포함되는 암호화될 비트들과 관련된 정보 및 상기 복수의 비트 스트림들 각각의 코드 길이 정보를 포함하고,
    상기 처리부는
    상기 일부 비트 스트림을 포함하는 입력 프레임을 획득하며, 상기 추출된 암호화 정보로부터 확인되는 상기 입력 프레임에 포함되는 복수의 매크로블록들 각각의 예측 모드에 기초하여, 매크로블록 순서 변경, DCT 계수 부호 변경 및 모션 벡터 디퍼런스 코드 변경을 포함하는 암호화 옵션 중 적어도 어느 하나를 선택함으로써, 상기 선택된 암호화 옵션에 따라 상기 입력 프레임을 암호화하는 압축 영상의 암호화 시스템.
  14. 삭제
  15. 제13항에 있어서,
    상기 처리부는
    상기 일부 비트 스트림이 갖는 패턴이 상기 룩업 테이블에 저장된 상기 복수의 비트 스트림들 각각이 갖는 패턴 중 어느 하나의 패턴과 매칭되지 않는 경우, 표준 복호화 방식에 기초하여 상기 일부 비트 스트림을 복호화하고, 상기 복호화 결과에 기초하여 상기 일부 비트 스트림을 암호화하는 압축 영상의 암호화 시스템.
KR1020150180392A 2015-12-16 2015-12-16 압축 영상의 고속 처리 및 암호화 방법 및 시스템 KR101757559B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150180392A KR101757559B1 (ko) 2015-12-16 2015-12-16 압축 영상의 고속 처리 및 암호화 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150180392A KR101757559B1 (ko) 2015-12-16 2015-12-16 압축 영상의 고속 처리 및 암호화 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20170072043A KR20170072043A (ko) 2017-06-26
KR101757559B1 true KR101757559B1 (ko) 2017-07-13

Family

ID=59282647

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150180392A KR101757559B1 (ko) 2015-12-16 2015-12-16 압축 영상의 고속 처리 및 암호화 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101757559B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101997136B1 (ko) * 2017-09-27 2019-07-08 주식회사 에이치앤비트 동영상 암호화 방법
KR101899554B1 (ko) * 2017-12-08 2018-09-18 주식회사 명광 동영상 보안 전송 시스템
CN109640067A (zh) * 2018-12-10 2019-04-16 Oppo广东移动通信有限公司 图像传输方法和装置、系统、电子设备、可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002208922A (ja) * 2001-01-12 2002-07-26 Ntt Docomo Inc 暗号化装置および復号装置ならびに認証情報付与装置、暗号化方法、復号方法、認証情報付与方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002208922A (ja) * 2001-01-12 2002-07-26 Ntt Docomo Inc 暗号化装置および復号装置ならびに認証情報付与装置、暗号化方法、復号方法、認証情報付与方法

Also Published As

Publication number Publication date
KR20170072043A (ko) 2017-06-26

Similar Documents

Publication Publication Date Title
Xu et al. An efficient chaos pseudo-random number generator applied to video encryption
CN1149781C (zh) 加密装置和解密装置
CN1893350B (zh) 数字数据加密和解密的方法和装置
CN102843558B (zh) H.264/avc压缩域视频加密/解密装置及其加密/解密方法
Xu Commutative encryption and data hiding in HEVC video compression
CN1852443B (zh) 数据处理装置
CN101465724A (zh) 一种加密的Huffman编码方法,及其解码方法
CN108924552B (zh) 基于同态加密的jpeg图像密文下解压缩方法及系统
CN103856786A (zh) 一种基于h.264的流媒体视频加密方法及其加密装置
KR101602581B1 (ko) 압축 영상의 암호화 방법 및 시스템
KR101757559B1 (ko) 압축 영상의 고속 처리 및 암호화 방법 및 시스템
Algin et al. Scalable video encryption of H. 264 SVC codec
Khlif et al. Secure chaotic dual encryption scheme for H. 264/AVC video conferencing protection
CN110677694A (zh) 一种用于抵抗轮廓攻击的视频加密方法
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
Sbiaa et al. A selective encryption scheme with multiple security levels for the H. 264/AVC video coding standard
CN107294946A (zh) 数据保护方法
Hooda et al. A comprehensive survey of video encryption algorithms
CN104301727A (zh) 基于cabac的质量可控的h.264视频感知加密算法
Varalakshmi et al. An enhanced encryption algorithm for video based on multiple Huffman tables
CN103442233B (zh) 基于排序置换的低码率h.264视频加密压缩传输方法
KR101997136B1 (ko) 동영상 암호화 방법
Alirezaei et al. Efficient video encryption by image key based on hyper-chaos system
Rajagopal et al. Partial video encryption using random permutation based on modification on Dct based transformation

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