KR101997136B1 - 동영상 암호화 방법 - Google Patents

동영상 암호화 방법 Download PDF

Info

Publication number
KR101997136B1
KR101997136B1 KR1020170125454A KR20170125454A KR101997136B1 KR 101997136 B1 KR101997136 B1 KR 101997136B1 KR 1020170125454 A KR1020170125454 A KR 1020170125454A KR 20170125454 A KR20170125454 A KR 20170125454A KR 101997136 B1 KR101997136 B1 KR 101997136B1
Authority
KR
South Korea
Prior art keywords
frame
image
shuffling
encryption
size
Prior art date
Application number
KR1020170125454A
Other languages
English (en)
Other versions
KR20190036339A (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 KR1020170125454A priority Critical patent/KR101997136B1/ko
Publication of KR20190036339A publication Critical patent/KR20190036339A/ko
Application granted granted Critical
Publication of KR101997136B1 publication Critical patent/KR101997136B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 압축 코딩하여 I 프레임, P 프레임 및 B 프레임을 갖는 동영상에 대해서, I 프레임만을 암호화 대상으로 선별하여 이미지 퍼즐화 방식으로 암호화하되, 프레임의 데이터량 또는 프레임 레이트에 따라 암호화 소요 시간을 탄력적으로 조절할 수 있는 동영상 암호화 방법에 관한 것으로서, 퍼즐화할 시에 소요되는 시간 및 보안성을 좌우하는 분할 이미지 조각의 크기 및 셔플링 횟수를 I 프레임 이미지 픽셀수, 프레임 레이트 또는 P/B 프레임 데이터량에 따라 가변적으로 설정 사용한다.

Description

동영상 암호화 방법{VIDEO DATA ENCRYPTION METHOD}
본 발명은 압축 코딩하여 I 프레임, P 프레임 및 B 프레임을 갖는 동영상에 대해서, I 프레임만을 암호화 대상으로 선별하여 이미지 퍼즐화 방식으로 암호화하되, 프레임의 데이터량 또는 프레임 레이트에 따라 암호화 소요 시간을 탄력적으로 조절할 수 있는 동영상 암호화 방법에 관한 것이다.
이미지를 비롯한 다양한 형식의 데이터를 암호화하는 방식으로서, 행렬 형태의 배열을 갖거나 또는 행렬 형태의 배열을 갖게 재열한 데이터를 복수의 서브블록으로 분할한 후 서브블록의 배열 위치를 랜덤하게 변경하여 암호화하는 기술이 있다.
본 발명의 발명자는 이러한 퍼즐화 방식의 암호화 기술을 개량하기 위해서 서브블록의 크기 및 서블블록의 위치 변경 횟수(즉, 셔플링 횟수)를 사용자가 임의로 변경하게 하여서 보안을 강화한 기술을 창안하였고, 등록특허 제10-1112157호로 특허 등록을 받았다.
그런데, 이러한 암호화 기술은 서브블록의 크기 및 셔플링 횟수를 적절하게 선정하여야만 보안을 강화할 수 있는 데, 이미지 프레임의 연속적인 연결에 의해 구현되는 동영상 데이터(즉, 비디오 데이터)에 적용하는 경우, 암호화에 소요되는 시간이 문제가 될 수 있다.
즉, 예를 들어 HD, FULL HD, UHD 등의 서로 다른 해상도 및 15, 20, 30, 60 등의 서로 다른 프레임 레이트를 갖고 있어서 지원하는 화질의 차이가 있는 동영상 데이터에 대해서 서브블록의 크기 및 셔플링 횟수를 일률적인 값으로 선정 사용하거나, 임의적으로 선정 사용하면, 동영상을 신호처리하는 데 암호화 소요 시간만큼 지연되고, 예를 들어 실시간 스트리밍 서비스를 제공할 시에 문제가 될 수 있다.
한편, 동영상 데이터는 통상적으로 I 프레임, P 프레임 및 B 프레임으로 갖게 압축 코딩하여 사용하며, 이때, I 프레임만 온전한 이미지를 갖고 있다.
등록특허 제10-0732056호에 따르면, 이러한 압축 코딩 구조를 고려하여, I 프레임만을 암호화한다. 이에 따라, 암호화 소요 시간을 단축할 수 있고, 오버헤드(overhead)도 감소시킬 수 있다.
그렇지만, 동영상 데이터가 지원하는 화질의 차이에 따라 암호화 소요 시간의 편차가 심하게 나타나고, 적절한 암호화를 보장하기도 어려우며, 동영상 처리를 안정적으로 처리하지 못하는 경우도 발생할 수 있다.
KR 10-1112157 B1 2012.01.27. KR 10-0732056 B1 2007.06.19.
따라서, 본 발명은 지원하는 화질의 차이가 있는 동영상에 대해서도 암호화 과정을 탄력으로 가변 운용하여, 암호화 소요 시간을 적절하게 조절할 수 있는 동영상 암호화 방법을 제공하는 데 목적을 둔다.
상기 목적을 달성하기 위해 본 발명은 암호화장치(10)가 입력받는 동영상의 프레임 이미지를 복수의 이미지 조각으로 분할한 이후, 2개의 이미지 조각을 랜덤하게 선택하여 위치 교환하는 셔플링(shuffling) 과정의 반복에 의해 암호화된 동영상으로 출력시키는 동영상 암호화 방법에 있어서, 동영상의 I 프레임 이미지의 픽셀수를 획득하는 암호화 여건 획득 단계(S10); 동영상의 I 프레임의 암호화에 소요되는 시간을 좌우하는 이미지 조각의 크기 및 셔플링 횟수를 I 프레임 이미지의 픽셀수에 따라 가변적으로 설정하는 동작 조건 설정 단계(S20); 동영상에서 I 프레임을 추출하는 I 프레임 추출 단계(S30); 추출한 I 프레임의 이미지를 설정한 이미지 조각의 크기 및 셔플링 횟수에 따라 암호화한 퍼즐화 I 프레임을 생성하는 암호화 단계(S40); 및 퍼즐화 I 프레임을 동영상에 삽입 대치하여 출력하는 I 프레임 대치 단계(S50);를 포함한다.
또한 본 발명은 상기 동작 조건 설정 단계(S20)는 I 프레임 이미지의 픽셀수가 많을수록 픽셀수가 적은 이미지 조각의 크기를 갖게 설정하고, 설정한 이미지 조각의 크기에 따라 결정되는 이미지 조각의 개수가 많을수록 셔플링 횟수를 많아지게 설정한다.
또한, 본 발명의 상기 암호화 여건 획득 단계(S10)는 I 프레임 이미지의 픽셀수에 더하여 동영상의 프레임 레이트(frame rate)도 획득하고, 상기 동작 조건 설정 단계(S20)는 I 프레임 이미지의 픽셀수에 따라 설정하였던 이미지 조각의 크기를 프레임 레이트가 클수록 작아지게 조절하여 재설정하고, 셔플링 횟수도 재설정한 이미지 조각의 크기에 따라 조절하여 재설정한다.
아울러 본 발명의 상기 암호화 단계(S40)는 2개의 이미지 조각을 셔플링 횟수만큼 랜덤하게 선택하기 위해 적용한 난수 발생기의 시이드(seed) 값을 설정한 이미지 조각의 크기 및 셔플링 횟수와 함께 암호화한 설정값 코드를 생성하고, 설정값 코드를 I 프레임의 헤더(header)에 포함시켜서, 복호화 시에 사용할 수 있게 한다.
본 발명의 상기 I 프레임 추출 단계(S30)는 I 프레임을 추출할 시에, I 프레임에 종속적인 P 프레임의 데이터량 및 B 프레임의 데이터량도 함께 추출하고, P 프레임과 B 프레임의 합산 데이터량에 따라 셔플링 횟수를 증가시켜 재설정하되, 합산 데이터량이 많을수록 증가 횟수를 많게 한다.
본 발명의 상기 I 프레임 추출 단계(S30)는 P 프레임과 B 프레임의 합산 데이터량에 따른 셔플링 횟수의 증가 횟수를 미리 정한 상한선을 넘지 아니하도록 제한한다.
상기한 바와 같이 이루어지는 본 발명은 I 프레임만을 암호화하면서, 암호화 소요 시간을 좌우하는 분할 이미지 조각의 크기 및 셔플링 횟수를 I 프레임 이미지의 픽셀수에 따라 가변함으로써, 동영상이 지원하는 화질에 따라 암호화 소요 시간을 탄력적으로 가감하며 운영할 수 있다.
본 발명의 일 실시 예에 따르면, 동영상이 지원하는 화질에 따라 분할 이미지 조각의 크기를 조절하고, 분할 이미지 조각의 크기에 따라 셔플링 횟수를 조절함으로써, 암호화 소요 시간을 용이하면서 적절한 값으로 조절할 수 있다.
본 발명의 일 실시 예에 따르면, 프레임 레이트에 따라 재설정함으로써, 전체 암호화 소요 시간을 더욱 적절한 값으로 조절할 수 있다.
본 발명의 일 실시 예에 따르면, P 프레임 및 B 프레임의 합산 데이터량에 따라 셔플링 횟수를 증가시키므로, GOP의 정보량에 따라 보안성를 강화할 수도 있다.
도 1은 본 발명의 실시 예에 따른 동영상 암호화 방법을 적용한 동영상 송수신 시스템의 구성도.
도 2는 본 발명의 실시 예에 따른 동영상 암호화 방법의 순서도.
도 3은 동영상 암호화 방법을 도식적으로 보여주는 도면.
도 4는 셔플링(shuffling)을 반복함에 따라 변동하는 이미지를 보여주는 이미지 도면.
본 발명에 따른 동영상 암호화 방법은 I 프레임, P 프레임 및 B 프레임으로 구성된 코딩(coding) 구조를 갖는 동영상을 입력받아 프레임 이미지를 암호화 프레임으로 대치한 후 출력한다.
여기서, 암호화 프레임은 프레임의 데이터 영역에 있는 이미지를 복수의 이미지 조각으로 분할하고, 2개의 이미지 조각을 랜덤(random)하게 선택하여 2개 이미지 조각의 위치를 교환하는 셔플링(shuffing) 과정을 소정 횟수 반복하여서 퍼즐화된 이미지를 갖게 함으로써, 분할한 이미지 조각의 크기, 랜덤 시퀀스 및 셔플링 횟수를 알아야만 원 이미지로 복원할 수 있는 암호화를 실현한다.
이때, P 프레임 및 B 프레임은 그대로 두고, I 프레임만을 암호화하여서, I, P 및 B 프레임을 모두 암호화하는 경우보다 암호화 소요 시간을 단축한다.
나아가, 암호화 소요 시간을 좌우하는 이미지 조각의 크기 및 셔플링 횟수를 I 프레임의 픽셀수에 따라 가변적으로 설정 사용함으로써, 해상도(resolution)가 상이한 동영상에 대해서 암호화 소요 시간의 차이가 나지 않거나 또는 그 차이를 줄일 수 있다.
본 발명의 일 실시 예에 따르면, 동영상의 프레임 레이트(frame rate)에 따라 이미지 조각의 크기 및 셔플링 횟수를 재설정 사용함으로써, 프레임 레이트가 상이한 동영상에 대해서 암호화 소요 시간의 차이가 나지 않거나 또는 그 차이를 줄일 수 있다.
본 발명의 일 실시 예에 따르면, P 프레임과 B 프레임의 합산 데이터량에 따라 셔플링 횟수의 횟수 증가량을 가감함으로써, 정보량이 많은 GOP(Group of Picture)일수록 보안을 강화한다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 당해 분야에 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 설명한다. 본 발명의 실시 예를 설명함에 있어서, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시 예에 따른 동영상 암호화 방법을 적용하여 실시하기 위한 동영상 송수신 시스템의 구성도이다.
도 2는 본 발명의 실시 예에 따른 동영상 암호화 방법의 순서도이다.
도 1을 참조하면, I(Intra) 프레임, P(Predictive) 프레임 및 B(Bi-directionary predictive)으로 구분되는 프레임을 갖도록 코딩된 동영상을 통신모듈(1a)을 통해 전송하는 제1 단말(1) 내에 암호화 장치(10)를 설치 운용함으로써, 본 발명의 실시 예에 따른 동영상 암호화 방법에 의해 암호화된 동영상을 전송할 수 있다.
여기서, I 프레임, P 프레임 및 B 프레임은 연속적인 각 프레임이 정지동영상 이미지로 된 동영상 데이터에 대해 GOP(Group of Picture) 단위로 압축하여 얻는 프레임으로서, 공지의 압축 코딩 기술에 의해 얻어지므로, 상세한 설명은 생략하고 본 발명의 이해를 위해서 도 3에 도시한 동영상 데이터의 코딩 구조를 참조하며 간략하게 설명한다.
I 프레임은 코딩 이전 GOP에서 취하여 얻는 프레임으로서, 일반 이미지처럼 취한 프레임 내의 모든 이미지 데이터를 그대로 갖고 있는 독립적인 프레임이 되며, GOP 내에서 기준 프레임이 된다. 이러한 I 프레임은 정지영상처럼 예를 들어 DCT 변환하여 압축 사용할 수 있다.
P 프레임과 B 프레임은 I 프레임을 참조하여 모션 벡터라는 변환값을 갖는 프레임으로서, I 프레임에 종속적이다.
구분하여 설명하면, P 프레임은 기준이 되는 I 프레임과의 차이점만을 보충하여 재생할 수 있게 코딩한 프레임으로써, 그 다음에 재생할 P 프레임의 기준이 되기도 한다.
B 프레임은 앞 프레임, 뒷 프레임 또는 앞뒤 프레임 모두를 참조하여 코딩한 프레임으로서, I 프레임과 P 프레임의 사이, 또는 P 프레임과 다음 P 프레임 사이에 배치된다.
또한, I, P, B 프레임은 적어도 프레임 종류를 식별하기 위한 코드를 기록하는 헤더(header)를 갖고 있다.
따라서, I, P, B 프레임 중에 I 프레임이 가장 많은 데이터량을 갖게 되고, 온전한 이미지를 갖고 있어서, 보안을 위해 I 프레임만을 암호화하더라도, I 프레임에 종속적인 P 프레임 및 B 프레임만으로는 동영상 복원이 거의 불가능하다.
이러한 이유로, I, P, B 프레임을 헤더로 구분하여 식별한 후 I 프레임만을 암호화함으로써, 암호화 소요 시간을 단축하고 암호화장치를 효율적으로 운용할 수 있다.
도 2를 참조하면, 본 발명에 따른 동영상 암호화 방법은 I 프레임만을 암호화하기 위해서 I 프레임 추출 단계(S30), 암호화 단계(S40), 및 I 프레임 대치 단계(S50)를 수행하고, 이를 위한 암호화 장치(10)에는 암호화부(11)를 구비하지만, 동영상의 화질 또는 P 프레임 및 B 프레임의 데이터량에 따라 적응적으로 암호화하여 탄력적으로 운용하기 위해서, 암호화 여건 획득 단계(S10) 및 동작 조건 설정 단계(S20)를 먼저 수행하고, 이를 위해서 암호화 장치(10)에는 암호화 여건 획득부(12) 및 동작 조건 설정부(13)를 더욱 구비한다.
또한, 암호화부(11)에 의해 수행되는 암호화 단계(S40)는 암호화 수준이 조절 가능한 이미지 퍼즐화 방식으로 암호화하기 위해서, 동영상에서 I 프레임만을 추출한 후 I 프레임 이미지를 복수의 이미지 조각으로 분할하며, 2개 이미지 조각을 랜덤하게 선택하고 2개 이미지 조각을 자리 바꿈(즉, 위치 교환)하는 셔플링(shuffling) 과정을 반복함으로써, 이미지 조각의 배열 변경에 의해 퍼즐화된 이미지로 암호화한다.
동영상 암호화 방법의 순서도를 도시한 도 2와, 동영상 데이터의 구조 및 예시적 이미지를 첨부하여 동영상 암호화 방법을 도식적으로 보여주는 도 3과, 셔플링(shuffling)을 반복함에 따라 변동하는 이미지를 보여주는 도 4를 참조하여 구체적으로 설명한다.
상기 암호화 여건 획득 단계(S10)는 암호화하려는 동영상에서 화질에 관련된 정보를 미리 획득한다.
본 발명의 실시 예에 따르면, 획득하는 화질 관련 정보는 동영상의 해상도를 나타내는 I 프레임 이미지의 픽셀수와, 1초당 프레임 개수를 나타내는 프레임 레이트(frame rate)이다.
여기서, I 프레임 이미지의 픽셀수는 암호화 소요 시간을 좌우하고, 프레임 레이트는 암호화하는 데 허용되는 시간에 영향을 주므로, 암호화하기 이전에 암호화 여건으로서 획득하여서, 하기의 동작 조건 설정부(12)에서 암호화 동작 조건에 반영하는 것이다.
상기 동작 조건 설정 단계(20)는 상기 암호화 여건 획득 단계(S10)에서 획득한 I 프레임 이미지의 픽셀수 및 프레임 레이트(frame rate)에 따라 이미지 조각의 크기 및 셔플링 횟수를 가변적으로 설정한다.
이미지 조각의 크기 및 셔플링 횟수는 상호 상관성을 가질 뿐만 아니라, I 프레임의 암호화에 소요되는 시간을 좌우하며, 이에, 암호화 소요 시간을 적정 수준으로 맞추기 위해서 I 프레임 이미지의 픽셀수 및 프레임 레이트(frame rate)에 따라 가변적으로 설정하는 것이다.
도 3에 도시한 I 프레임 이미지를 참조하며 설명하면, 동영상에서 추출한 I 프레임 이미지를 a X b 픽셀 크기를 갖는 이미지 조각으로 분할한 후, 2개 이미지 조각을 랜덤하게 선택하여 셔플링하는 과정을 반복할 시에, 셔플링 횟수를 충분히 하여야만 가시적으로서 어떤 이미지인지 알아볼 수 없게 하고, 데이터로서 원 이미지 데이터로 복원하기 어렵게 한다.
그런데, 이미지 조각의 크기를 작게 할수록 분할하여 얻는 이미지 조각의 개수는 많아지고, 이미지 조각의 개수가 많아지면 셔플링 횟수도 많아져야 한다.
본 발명의 발명자는 이미지 개수와 적정 셔플링 횟수 사이의 상관관계를 나타내는 아래의 수학식1의 결과를 확률에 대한 수학적 이론을 이용하여 얻을 수 있었고, 분할 이미지 조각의 개수 N을 달리하며 퍼즐화하여 얻는 이미지로부터 상관관계를 검증하였다. 그리고, 수학식의 결과를 적절하게 가감하여 이미지 조각의 개수가 많을수록 셔플링 횟수를 많아지게 하는 규칙 또는 데이터테이블을 마련함으로써 이미지 크기에 따라 적정 셔플링 횟수를 설정할 수 있었다.
Figure 112017094806908-pat00001
수학식 1에서, k는 적정 셔플링 회수이고, N은 분할 이미지 조각의 개수이고, β는 셔플링 과정을 반복함에 따라 어느 하나의 특정 이미지 조각이 확률적으로 분할 위치에 관계없이 균일 확률로 존재할 수 있는 정상 분포(stationary distribution)로의 수렴도(convergence rate)이다.
또한, 암호화 단계(S40)를 수행하기 위한 프로그램의 수행 시간을 보면, 이미지 조각의 크기가 클수록 분할 이미지 조각의 개수는 적어져서, 1회 셔플링에 소요되는 시간은 길어지는 반면에 셔플링 횟수를 줄여도 되어 셔플링 횟수의 감소에 따른 시간 절약은 가능하다.
즉, 이미지 조각의 크기에 따른 소요 시간은 증가 요인뿐만 아니라 감소 요인도 있다.
그런데, 분할 이미지 조각의 크기를 작게 하여 1회 셔플링의 수행 시간은 상대적으로 짧아지게 하고, 대응되는 셔플링 횟수는 상대적으로 많게 하는 것이 분할 이미지 조각의 크기를 크게 하여 1회 셔플링의 수행 시간은 상대적으로 길어지게 하고, 대응되는 셔플링 횟수는 상대적으로 적게 하는 것보다 퍼즐화(암호화) 소요 시간을 줄일 수 있다.
이는, 상대적으로 큰 분할 이미지 조각을 위치 교환하는 데 필요한 프로그램 코드의 실행이 퍼즐화 소요 시간에 더욱 큰 영향을 주는 것을 의미하며, 본 발명의 발명자가 암호화 프로그램을 작성하여 이미지 조각의 크기를 가변하면서 이미지 조각의 크기에 대해 적절한 셔플링 횟수를 적용하여 암호화 프로그램을 실행시킨 결과, 이미지 크기를 작게 할수록 I 프레임 이미지의 퍼즐화, 즉 암호화에 소요되는 시간이 줄어듬을 확인할 수 있었다.
물론, 프로그램을 작성한 결과, 이미지 조각의 크기를 크게 하여 셔플링 횟수를 줄이는 경우에 암호화 소요 시간을 줄일 수 있다면, 암호화 소요 시간을 줄이기 위해서 이미지 조각의 크기를 키우고, 대신에 이미지 조각의 크기에 대해 상한선을 두면 되지만, 본 발명의 출원인이 확인한 프로그램에 의하면, 이미지 조각의 크기를 작게 할수록 암호화 소요 시간이 줄어든다.
이에, 본 발명의 실시 예에서는 I 프레임 이미지의 픽셀수가 많을수록 증가하는 암호화(퍼즐화) 소요 시간을 줄이기 위해서, I 프레임의 픽셀수가 많을수록 픽셀수가 적은 이미지 조각의 크기를 갖게 설정하는 규칙 또는 룩업테이블을 마련하여 적용하였다. 규칙에 대한 예를 들면, 분할 이미지 조각의 크기는 I 프레임 픽셀수에 반비례하는 규칙을 이용할 수 있다.
그런데, 분할 이미지 조각의 개수가 지나치게 많으면 그만큼 필요한 의사 난수(pseudo random number)도 지나치게 많아져서, 의사 난수 발생기의 성능 및 동작 시간에 의해 영향을 크게 받는다. 그리고, 이미지 조각의 크기가 너무 크면 퍼즐화 과정을 모르는 상황에서도 역퍼즐화가 가능할 수 있다.
이에, 이미지 조각의 개수에 상한을 두어서 이미지 조각의 크기에 대해 최소치를 정하고, 이미지 조각의 크기에 대해 최대치는 역퍼즐화의 어려움 정도에 따라 적절하게 정하며, 정한 범위 내에서 이미지 조각의 크기를 설정하도록 규칙 또는 룩업테이블을 결정하는 것이 좋다.
또한, 상기 동작 조건 설정 단계(S20)는 I 프레임 이미지의 픽셀수에 따라 설정한 이미지 조각의 크기를 프레임 레이트(frame rate)에 따라 재설정한다.
재설정 방식은 프레임 레이트가 클수록 이미지 조각의 크기를 작게 하는 방식이며, 이에 따라, 프레임 레이트가 상이하더라도 암호화 소요 시간의 차이를 줄일 수 있다.
물론, 이미지 조각의 크기를 재설정하면, 재설정한 이미지 조각의 크기에 대응되는 분할 이미지 조각의 개수도 변경되므로, 셔플링 횟수도 그에 맞게 재설정한다.
한편, 일반적으로 사용하는 동영상에 따르면, I 프레임 이미지의 전체 픽셀수(또는 화소수) 및 프레임 레이트가 한정되어 있으므로, I 프레임 이미지의 전체 픽셀수 및 프레임 레이트에 대응되는 이미지 조각의 크기 및 셔플링 횟수를 룩업테이블로 작성하여 사용하는 방식도 좋다.
이와 같이 설정 완료된 이후에는 암호화부(11)에서 동영상 데이터를 입력받으며 I 프레임 추출 단계(S30), 암호화 단계(S40) 및 I 프레임 대치 단계(S50)를 수행하고, 수행 결과에 따라 암호화한 동영상 데이터로 출력시킨다.
상기 I 프레임 추출 단계(S30)는 도 3에 도시한 바와 같이 I 프레임을 추출하고, 추출하는 I 프레임에 종속적인 P 프레임 및 B 프레임에 대해서는 각각 데이터량을 추출한 후 P 프레임 및 B 프레임의 합산 데이터량을 얻는다.
도 3에는 GOP 내의 프레임에 한정하여 압축 인코딩함으로써 I, P, B 프레임을 생성한 closed GOP를 예시하였으므로, 추출한 I 프레임에 이어지면서 GOP 내에 존재하는 P, B 프레임의 데이터량을 추출한다. 그렇지만, open GOP도 지원하게 할 경우에는 추출한 I 프레임 이전에 나타나는 프레임을 포함하도록 범위 조절하며, 다만 open GOP 내에 존재하는 P, B 프레임에 한정하면 된다.
그리고, 상기 I 프레임 추출 단계(S30)는 P, B 프레임의 합산 데이터량에 따라 셔플링 횟수를 증가시켜 셔플링 횟수를 재설정한다(S31).
여기서의 셔플링 횟수 재설정은 P, B 프레임의 합산 데이터량이 많을수록 셔플링 횟수의 증가 횟수를 많게 하는 방식으로서, 동상영의 각 GOP에 적응적하여 재설정하는 것이라 하겠다.
이는, 상기한 바와 같이 분할 이미지 조각의 크기에 따라 셔플링 횟수를 정하였더라도, P, B 프레임의 데이터량이 크면 클수록 셔플링 횟수의 증가량을 더욱 크게 하여서, I 프레임에 대한 보안을 강화하기 위함이다.
물론, 셔플링 횟수를 직접 조절하였으므로, 설정한 분할 이미지 조각의 크기에 대해서는 수정하지 아니한다.
한편, 셔플링 횟수가 많을수록 암호화 소요 시간이 길어지므로, 셔플링 횟수의 증가 횟수를 미리 정한 상한선을 넘지 아니하도록 제한한다.
또한, 반복적인 GOP 내에서 P, B 프레임 정보량에 적응하며 I 프레임의 암호화시에 셔플링 횟수를 늘리므로, 늘린 횟수만큼 지연 시간이 늘어난다. 이에, 상기 동작 조건 설정 단계(S20)에서 설정하는 셔플링 횟수는 셔플링 횟수의 재설정을 감안하여 수학식 1에 따라 정해지는 값보다 약간 낮춰 설정하는 것이 좋다.
상기 암호화 단계(S40)는 도 3에 도시한 바와 같이 추출한 I 프레임을 퍼즐화방식으로 암호화한 퍼즐화 I 프레임을 생성하는 단계로서, 추출한 I 프레임의 데이터 영역에 있는 I 프레임 이미지를 얻어 설정한 분할 이미지 조각의 크기에 따라 격자 형태로 분할한 후 각 이미지 조각에 번호를 매기는 이미지 분할 단계(S41), 매긴 번호를 랜덤하게 선택하여 난수 수열을 생성하되 시이드(seed)에 따라 난수 수열이 결정되는 의사 난수 발생기(pseudo random number generator)를 이용하여 설정 셔플링 횟수의 2배수 난수 수열을 생성하는 난수 생성 단계(S42), 난수 수열의 순서에 따라 2개씩 난수를 취하여 2개의 난수 번호가 매겨져 있는 이미지 조각을 위치 교환하는 셔플링(shuffling) 과정을 설정한 셔플링 횟수만큼 반복하는 퍼즐화 단계(S43), 및 퍼즐화 단계(S43)에 의해 얻은 퍼즐화 I 프레임 이미지를 I 프레임의 데이터 영역에 넣어 퍼즐화 이전 이미지를 대치하게 하고, 시이드 값, 이미지 조각의 크기 및 셔플링 횟수를 I 프레임의 헤더(header)에 기록함으로써 복호화 시에 사용하게 하는 퍼즐화 I 프레임 생성단계(S44)를 포함한다.
여기서, I 프레임의 헤더(header)에 기록하는 시이드 값, 이미지 조각의 크기 및 셔플링 횟수는 수신측 제2 단말(2)에 설치한 복호화 장치(20)와의 사전 약속에 따라 암호화한 설정값 코드로 기록하는 것이 바람직하다.
분할 이미지 조각의 개수를 63개로 가정하여 예시적으로 도시한 도 4를 참조하여 상기 퍼즐화 단계(S43)에 대해 설명하면, 퍼즐화 이전 I 프레임 이미지(A)를 분할 이미지 조각63개의 이미지 조각으로 분할한 후 각 이미지 조각에 a01, a02, ..., a63의 순번을 매긴 후 셔플링을 반복 수행한다.
셔플링을 할 시에는 2개 이미지 조각을 랜덤하게 선택한 후 위치 교환하며, 이에 따라 셔플링의 반복 횟수가 증가할수록 원 위치에서 다른 위치로 이동하는 이미지 조각의 개수도 증가한다.
그리고, 매회 셔플링할 때마다 이미지 조각을 랜덤하게 선택하므로, 셔플링을 반복함에 따라 각 이미지 조각 또는 어느 하나의 특정 이미지 조각이 각 분할 위치에 존재할 수 있는 확률 분포는 분할 위치에 관계없이 균일 확률로 존재할 수 있는 정상 분포(stationary distribution)로 수렴(convergence)하게 된다. 이에, 수학식 1의 수렴도를 적절하게 선택하여, 분할 이미지 조각의 개수에 대응되는 적정 셔플링 횟수를 미리 설정함으로써, 적절하게 퍼즐화할 정도만 셔플링을 반복하게 한다. 물론, 수학식 1을 그대로 적용하는 것보다는 이미지 크기, 분할 개수 등을 상이하게 하며 퍼즐화한 후, 적절한 셔플링 횟수를 갖게 수정 사용하는 것이 좋다.
상기 I 프레임 대치 단계(S50)는 생성한 퍼즐화 I 프레임을 동영상 데이터에 삽입하여 퍼즐화 이전 I 프레임을 대치함으로써, I프레임을 암호화한 동영상 데이터를 출력되게 한다.
그리고, 동영상 데이터에서 다음 순서의 I 프레임을 암호화하기 위해 상기 I 프레임 추출 단계(S30)로 넘어간다.
본 발명의 실시 예 설명에서는 동영상 데이터를 제1 단말(1)에서 통신망의 통신 경로(3)을 통해 제2 단말(2)에 전송하는 동영상 송수신 시스템에 적용하기 위해서, 암호화 장치(10)를 제1 단말(1)에 설치하는 것으로 하였으므로, I 프레임 대치 단계(S50)에 의해 출력되는 암호화 동영상 데이터는 제1 단말(1)의 통신모듈(1a)에 의해 제2 단말(2)에 전송된다.
그리고, 제2 단말(2)은 통신 경로(3)를 통해 전송되는 암호화 동영상 데이터를 통신모듈(2a)로 수신한 후 복호화하기 위한 복호화 장치(20)를 구비한다.
복호화 장치(20)는 I 프레임만을 추출한 후 헤더에 기록된 시이드 값, 분할 이미지 조각의 크기 및 셔플링 횟수에 따라 I 프레임의 데이터 영역에 있는 퍼즐화 I 프레이미 이미지를 복호화하고, 복호화한 I 프레임을 동영상 데이터에 대치함으로써, 암호화 이전 동영상 데이터를 복원한다.
퍼즐화 I 프레임 이미지의 복호화는 암호화 단계(S40)의 순서를 따르되, 퍼즐화 단계(S43) 대신에 역퍼즐화 단계를 수행하는 차이가 있다.
우선, 분할 이미지 조각의 크기에 따라 퍼즐화 I 프레임 이미지를 격자 형태로 분할한 후 각 이미지 조각에 번호를 매기고, 셔플링 횟수의 2배수 난수 수열을 시이드 값에 따라 생성한다.
다음으로, 난수 수열에서 역순으로서 2개씩 난수를 취하여 2개 난수 번호가 매겨져 있는 이미지 조각을 위치 교환하는 셔플링 과정을 셔플링 횟수만큼 반복함으로써 역퍼즐화한 I 프레임 이미지를 얻는다.
다음으로, 역퍼즐화 I 프레임 이미지를 I 프레임의 데이터 영역에 넣어 퍼즐화 I 프레임 이미지를 대치한 복원한 I 프레임을 얻는다.
다음으로, 복원한 I 프레임을 수신 동영상 데이터에 대치하여서, 동영상 데이터를 복원한다.
한편, 본 발명은 동영상 데이터를 암호화하여 저장 매체에 저장하는 단말, 또는 유무선 통신망을 통해 다른 단말에 전송하는 단말 등 다양한 단말에도 적용할 수 있음은 당연하다고 하겠다.
또한, 암호화 시에 사용한 이미지 조각의 크기, 셔플링 횟수 및 시이드 값은 I 프레임의 헤더에 기록하지 아니하고, 동영상 데이터의 헤더에 기록하거나 또는 별도의 데이터 패킷으로 전송하게 하여도 좋다.
이상에서 본 발명의 기술적 사상을 예시하기 위해 구체적인 실시 예로 도시하고 설명하였으나, 본 발명은 상기와 같이 구체적인 실시 예와 동일한 구성 및 작용에만 국한되지 않고, 여러가지 변형이 본 발명의 범위를 벗어나지 않는 한도 내에서 실시될 수 있다. 따라서, 그와 같은 변형도 본 발명의 범위에 속하는 것으로 간주해야 하며, 본 발명의 범위는 후술하는 특허청구범위에 의해 결정되어야 한다.
1 : 제1 단말 1b : 통신모듈
2 : 제2 단말 2b : 통신모듈
3 : 통신 경로
10 : 암호화 장치 11 : 암호화부
12 : 암호화 여건 획득부 13 : 동작 조건 설정부
20 : 복호화 장치

Claims (6)

  1. 암호화장치(10)가 입력받는 동영상의 프레임 이미지를 복수의 이미지 조각으로 분할한 이후, 2개의 이미지 조각을 랜덤하게 선택하여 위치 교환하는 셔플링(shuffling) 과정의 반복에 의해 암호화된 동영상으로 출력시키는 동영상 암호화 방법에 있어서,
    동영상의 I 프레임 이미지의 픽셀수 및 동영상의 프레임 레이트(frame rate)를 획득하는 암호화 여건 획득 단계(S10);
    동영상의 I 프레임의 암호화에 소요되는 시간을 좌우하는 이미지 조각의 크기 및 셔플링 횟수를 I 프레임 이미지의 픽셀수에 따라 가변적으로 설정하되, I 프레임 이미지의 픽셀수가 많을수록 픽셀수가 적은 이미지 조각의 크기를 갖게 설정하고, 설정한 이미지 조각의 크기에 따라 결정되는 이미지 조각의 개수가 많을수록 셔플링 횟수를 많아지게 설정하며, I 프레임 이미지의 픽셀수에 따라 설정하였던 이미지 조각의 크기를 프레임 레이트가 클수록 작아지게 조절하여 재설정하고, 셔플링 횟수도 재설정한 이미지 조각의 크기에 따라 조절하여 재설정하는 동작 조건 설정 단계(S20);
    동영상에서 I 프레임을 추출하는 I 프레임 추출 단계(S30);
    추출한 I 프레임의 이미지를 설정한 이미지 조각의 크기 및 셔플링 횟수에 따라 암호화한 퍼즐화 I 프레임을 생성하는 암호화 단계(S40); 및
    퍼즐화 I 프레임을 동영상에 삽입 대치하여 출력하는 I 프레임 대치 단계(S50);를 포함하는
    동영상 암호화 방법.
  2. 삭제
  3. 삭제
  4. 제 1항에 있어서,
    상기 암호화 단계(S40)는 2개의 이미지 조각을 셔플링 횟수만큼 랜덤하게 선택하기 위해 적용한 난수 발생기의 시이드(seed) 값을 설정한 이미지 조각의 크기 및 셔플링 횟수와 함께 암호화한 설정값 코드를 생성하고, 설정값 코드를 I 프레임의 헤더(header)에 포함시켜서, 복호화 시에 사용할 수 있게 하는 동영상 암호화 방법.
  5. 제 1항에 있어서,
    상기 I 프레임 추출 단계(S30)는 I 프레임을 추출할 시에, I 프레임에 종속적인 P 프레임의 데이터량 및 B 프레임의 데이터량도 함께 추출하고, P 프레임과 B 프레임의 합산 데이터량에 따라 셔플링 횟수를 증가시켜 재설정하되, 합산 데이터량이 많을수록 증가 횟수를 많게 하는 동영상 암호화 방법.
  6. 제 5항에 있어서,
    상기 I 프레임 추출 단계(S30)는 P 프레임과 B 프레임의 합산 데이터량에 따른 셔플링 횟수의 증가 횟수를 미리 정한 상한선을 넘지 아니하도록 제한하는 동영상 암호화 방법.
KR1020170125454A 2017-09-27 2017-09-27 동영상 암호화 방법 KR101997136B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170125454A KR101997136B1 (ko) 2017-09-27 2017-09-27 동영상 암호화 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170125454A KR101997136B1 (ko) 2017-09-27 2017-09-27 동영상 암호화 방법

Publications (2)

Publication Number Publication Date
KR20190036339A KR20190036339A (ko) 2019-04-04
KR101997136B1 true KR101997136B1 (ko) 2019-07-08

Family

ID=66105403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170125454A KR101997136B1 (ko) 2017-09-27 2017-09-27 동영상 암호화 방법

Country Status (1)

Country Link
KR (1) KR101997136B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111866457B (zh) * 2020-07-14 2022-07-12 广州市宏视电子技术有限公司 监控图像处理方法、电子设备、存储介质及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008118406A (ja) * 2006-11-06 2008-05-22 Dainippon Printing Co Ltd コンテンツ暗号方法、コンテンツ暗号装置及びコンピュータプログラム
JP2009244775A (ja) 2008-03-31 2009-10-22 Fujitsu Ltd 画像暗号装置及び画像復号化装置
JP2012531763A (ja) 2009-06-25 2012-12-10 トムソン ライセンシング マクロブロック・シャッフリング装置、シャッフリング方法、及びシャッフリング・プログラム
KR101602581B1 (ko) 2014-11-27 2016-03-11 한동대학교 산학협력단 압축 영상의 암호화 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100732056B1 (ko) 2005-09-14 2007-06-27 엘지전자 주식회사 디지털 컨텐츠 암호화 및 복호화 방법 및 장치
KR101112157B1 (ko) * 2010-01-25 2012-02-22 주식회사 인쿠시스 데이터 암호화 방법
KR101757559B1 (ko) * 2015-12-16 2017-07-13 한동대학교 산학협력단 압축 영상의 고속 처리 및 암호화 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008118406A (ja) * 2006-11-06 2008-05-22 Dainippon Printing Co Ltd コンテンツ暗号方法、コンテンツ暗号装置及びコンピュータプログラム
JP2009244775A (ja) 2008-03-31 2009-10-22 Fujitsu Ltd 画像暗号装置及び画像復号化装置
JP2012531763A (ja) 2009-06-25 2012-12-10 トムソン ライセンシング マクロブロック・シャッフリング装置、シャッフリング方法、及びシャッフリング・プログラム
KR101602581B1 (ko) 2014-11-27 2016-03-11 한동대학교 산학협력단 압축 영상의 암호화 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이지범, and 고형화. "인터리빙과 랜덤 셔플링을 이용한 디지털 영상의 암호화 방법." 한국통신학회논문지 31.5C (2006): 497-502. (2006.05.31.)

Also Published As

Publication number Publication date
KR20190036339A (ko) 2019-04-04

Similar Documents

Publication Publication Date Title
KR102008424B1 (ko) 프레임 선별적 동영상 암호화 방법
US7680269B2 (en) Method for ciphering a compressed audio or video stream with error tolerance
US20140119456A1 (en) Encoding video into lower resolution streams
JP2006516072A (ja) データ圧縮および解凍におけるパラメーター選択
JPH08228342A (ja) 圧縮方法及びコンテキスト・モデラー
US20120219231A1 (en) Method of compression of digital images using a fixed number of bits per block
CN105025347B (zh) 一种gop图像组的发送和接收方法
CN100407609C (zh) 编码分组传送接收方法及其装置
CN112752038A (zh) 背景替换方法、装置、电子设备及计算机可读存储介质
KR101899554B1 (ko) 동영상 보안 전송 시스템
CN114631315A (zh) 图像编码方法和设备以及图像解码方法和设备
KR101997136B1 (ko) 동영상 암호화 방법
US9992535B2 (en) Fast processing and encryption method and system for compressed video
US10848777B2 (en) Interleaved watermarking
CN107231564A (zh) 一种视频直播方法、直播系统和直播服务器
JP5172874B2 (ja) 映像同期装置、映像表示装置、映像同期方法及びプログラム
KR101757559B1 (ko) 압축 영상의 고속 처리 및 암호화 방법 및 시스템
JP2013026952A (ja) 画像処理方法、エンコード装置、デコード装置および画像処理装置
CN110636293B (zh) 视频编码、解码方法和装置、存储介质及电子装置
CN103442233B (zh) 基于排序置换的低码率h.264视频加密压缩传输方法
JP2017060004A (ja) エンコード装置、デコード装置、エンコードプログラム、デコードプログラム及びストリーミングシステム
CN113795861A (zh) 发送端和接收端的隐私保护方法、电子设备、以及计算机可读存储介质
WO2012128209A1 (ja) 画像符号化装置、画像復号装置、プログラムおよび符号化データ
JPH1188857A (ja) 画像暗号化装置
CN114612317B (zh) 一种用于对抗均值滤波的秘密图像分享方法和系统

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