KR102399199B1 - 실시간 영상 보안 전송 시스템 및 방법 - Google Patents

실시간 영상 보안 전송 시스템 및 방법 Download PDF

Info

Publication number
KR102399199B1
KR102399199B1 KR1020220020549A KR20220020549A KR102399199B1 KR 102399199 B1 KR102399199 B1 KR 102399199B1 KR 1020220020549 A KR1020220020549 A KR 1020220020549A KR 20220020549 A KR20220020549 A KR 20220020549A KR 102399199 B1 KR102399199 B1 KR 102399199B1
Authority
KR
South Korea
Prior art keywords
yuv
image frame
value
shuffling
encrypted
Prior art date
Application number
KR1020220020549A
Other languages
English (en)
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 KR1020220020549A priority Critical patent/KR102399199B1/ko
Application granted granted Critical
Publication of KR102399199B1 publication Critical patent/KR102399199B1/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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/913Television signal processing therefor for scrambling ; for copy protection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

동영상을 효율적으로 암호화 및 복호화할 수 있으며, 암호화 및 복호화에 소요되는 연산량을 획기적으로 저감할 수 있는 동영상 보안 전송 시스템 및 방법이 개시된다. 본 발명의 실시예에 따른 동영상 보안 전송 시스템은 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 암호화 모듈; 및 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 복호화 모듈;을 포함한다.

Description

실시간 영상 보안 전송 시스템 및 방법{REALTIME SECURITY SYSTEM FOR TRANSMITTING VIDEO DATA AND METHOD OF THE SAME}
본 발명은 동영상을 효율적으로 암호화 및 복호화할 수 있는 동영상 보안 전송 시스템 및 방법에 관한 것이다.
영상 데이터를 암호화하는 방식으로, 행렬 형태의 배열을 갖거나 또는 행렬 형태의 배열을 갖게 재배열한 데이터를 복수의 블록으로 분할한 후 블록의 배열 위치를 랜덤하게 변경하여 암호화하는 기술이 있다. 본 발명자는 이러한 퍼즐화 방식의 암호화 기술을 개량하기 위해서 블록의 크기 및 블록의 위치 변경 횟수인 셔플 횟수)를 사용자가 임의로 변경하게 하여 보안을 강화한 기술을 창안한 바 있으며, 등록특허 제10-1112157호로 특허 등록을 받았다.
이러한 암호화 기술은 보안 강화를 위해 블록 크기 및 셔플 횟수를 적절하게 선정할 필요가 있다. 보안 강화를 위해 블록의 사이즈를 작게 설정하면 셔플링되는 블록 개수가 커지며, 셔플 횟수의 증가에 따라 암호화 및 복호화에 소요되는 시간이 증가하게 된다. 특히 영상 프레임들의 연속적인 연결에 의해 구현되는 동영상 데이터(즉, 비디오 데이터)에 이러한 암호화/복호화 기술을 적용하는 경우, 암호화/복호화에 소요되는 시간이 크게 증가될 수 있다.
또한, RGB 영상에 대한 셔플링 처리는 계산량이 크다는 문제도 갖고 있다. RGB 영상은 24 Bit로 구성되며, 모든 이미지를 암호화 함수를 이용하여 암호화(또는 복호화)하는 경우, 암호화 또는 복호화를 위한 연산량은 영상 프레임 너비 × 높이 × 셔플 횟수(10,000회 이상)에 비례하여 증가되므로, 암호화/복호화 연산량이 많은 문제가 있다.
KR 10-1112157 B1 (2012.01.27.) KR 10-0732056 B1 (2007.06.19.)
본 발명은 동영상을 효율적으로 암호화 및 복호화할 수 있으며, 암호화 및 복호화에 소요되는 연산량을 획기적으로 저감할 수 있는 동영상 보안 전송 시스템 및 방법을 제공하기 위한 것이다.
본 발명의 실시예에 따른 동영상 보안 전송 시스템은 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 암호화 모듈; 및 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 복호화 모듈;을 포함한다.
상기 암호화 모듈은 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 상기 암호 셔플 함수를 제1 영상 프레임에 적용하여 상기 제1 영상 프레임을 구성하는 복수개의 제1 블록을 임의 선택하여 위치 교환하는 셔플링(shuffling)을 반복적으로 수행하고; 셔플링의 반복적 수행에 따른 상기 복수개의 제1 블록의 위치 변화를 기초로 제1 YUV 위치정보를 생성하고; 그리고 상기 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 상기 암호화 YUV 영상 프레임을 생성하도록 구성될 수 있다.
상기 복호화 모듈은 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 복호 셔플 함수를 제2 영상 프레임에 적용하여 상기 제2 영상 프레임을 구성하는 복수개의 제2 블록을 임의 선택하여 위치 교환하는 셔플링을 반복적으로 수행하고; 셔플링의 반복적 수행에 따른 상기 복수개의 제2 블록의 위치 변화를 기초로 제2 YUV 위치정보를 생성하고; 그리고 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치 정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하도록 구성될 수 있다.
본 발명의 실시예에 따른 동영상 보안 전송 방법은 암호화 모듈에 의해, 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 단계; 및 복호화 모듈에 의해, 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 단계;를 포함한다.
상기 암호화 YUV 영상 프레임을 생성하는 단계는 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 상기 암호 셔플 함수를 제1 영상 프레임에 적용하여 상기 제1 영상 프레임을 구성하는 복수개의 제1 블록을 임의 선택하여 위치 교환하는 셔플링(shuffling)을 반복적으로 수행하는 단계; 셔플링의 반복적 수행에 따른 상기 복수개의 제1 블록의 위치 변화를 기초로 제1 YUV 위치정보를 생성하는 단계; 및 상기 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 상기 암호화 YUV 영상 프레임을 생성하는 단계;를 포함할 수 있다.
상기 YUV 영상 프레임을 복원하는 단계는 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 복호 셔플 함수를 제2 영상 프레임에 적용하여 상기 제2 영상 프레임을 구성하는 복수개의 제2 블록을 임의 선택하여 위치 교환하는 셔플링을 반복적으로 수행하는 단계; 셔플링의 반복적 수행에 따른 상기 복수개의 제2 블록의 위치 변화를 기초로 제2 YUV 위치정보를 생성하는 단계; 및 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치 정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 단계;를 포함할 수 있다.
본 발명의 실시예에 따르면, 상기 동영상 보안 전송 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램이 제공된다.
본 발명의 실시예에 의하면, 동영상을 효율적으로 암호화 및 복호화할 수 있으며, 암호화 및 복호화에 소요되는 연산량을 획기적으로 저감할 수 있는 동영상 보안 전송 시스템 및 방법이 제공된다.
도 1은 본 발명의 실시예에 따른 동영상 보안 전송 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 동영상 보안 전송 시스템의 암호화 및 복호화 과정을 나타낸 개념도이다.
도 3은 본 발명의 실시예에 따라 생성된 제1 YUV 위치정보의 예시도이다.
도 4는 본 발명의 실시예에 따른 동영상 보안 전송 방법의 순서도이다.
도 5는 본 발명의 실시예에 따라 제1 영상 프레임에 셔플링을 반복하여 적용한 것을 나타낸 예시도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 명세서에서 '제1 ~', '제2 ~'와 같은 기재는 상이한 구성들을 서로 구별하기 위한 목적으로만 사용될 뿐이다. 본 명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 본 명세서에서 사용되는 '~모듈', '~부'는 적어도 하나의 기능이나 동작을 처리하는 단위로서, 예를 들어 소프트웨어, FPGA 또는 하나 이상의 프로세서와 같은 하드웨어 구성요소를 의미할 수 있다. 본 발명의 실시 예를 설명함에 있어서, 관련된 공지의 기능 또는 공지의 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시예에 따른 동영상 보안 전송 시스템의 구성도이다. 도 2는 본 발명의 실시예에 따른 동영상 보안 전송 시스템의 암호화 및 복호화 과정을 나타낸 개념도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 동영상 보안 전송 시스템(100)은 동영상 송신 단말에 제공되는 암호화 모듈(110)과, 동영상 수신 단말에 제공되는 복호화 모듈(120)을 포함할 수 있다.
암호화 모듈(110)은 키(Key) 값, 블록 크기(Block size) 및 셔플 횟수(Shuffle time)를 주입한 암호 셔플 함수(112)를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보(114a)를 생성할 수 있다.
도 3은 본 발명의 실시예에 따라 생성된 제1 YUV 위치정보의 예시도이다. 도 1 내지 도 3을 참조하면, 암호화 모듈(110)은 YUV 영상 프레임(10)의 Y 값, U 값 및 V 값을 제1 YUV 위치정보(114a)에 따라 이동시켜 암호화 YUV 영상 프레임(20)을 생성할 수 있다.
YUV는 영상신호를 휘도(luminance)와 색차 신호(chrominance)로 구성하는 컴포넌트 신호이다. YUV 영상은 휘도 신호(Y), 휘도 신호와 청색 성분의 차(U), 휘도 신호와 적색 성분의 차(V)의 3가지 정보로 색을 나타내는 이미지 형식을 갖는다.
즉, U, V는 각각 색차 신호를 나타내는 공간의 축으로, U는 휘도 신호와 청색 성분의 차(Y-B)이고, V는 휘도 신호와 적색 성분의 차(Y-R)이다. U 값과 V 값은 Y 성분 보다 오차에 덜 민감하여 Y 성분보다 적은 비트로 코딩된다. YUV 영상의 Y:U:V의 비율은 예를 들어, 4:2:2로 설정될 수 있다.
복호화 모듈(120)은 암호화 모듈(110)과 동일한 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 복호 셔플 함수(122)를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보(124a)를 생성할 수 있다.
복호화 모듈(120)은 유/무선 통신 모듈(도시 생략됨)을 통해 동영상 송신 단말로부터 수신한 암호화 YUV 영상 프레임(20)의 Y 값, U 값 및 V 값을 제2 YUV 위치정보(124a)에 따라 이동시켜 원본 영상 프레임과 동일한 YUV 영상 프레임(10, 30)을 복원할 수 있다.
도 4는 본 발명의 실시예에 따른 동영상 보안 전송 방법의 순서도이다. 도 1 내지 도 4를 참조하면, 본 발명의 실시예에 따른 동영상 보안 전송 방법은 도 1에 도시된 동영상 보안 전송 시스템에 의해 수행될 수 있다.
본 발명의 실시예에 따른 동영상 보안 전송 방법은 YUV 영상 프레임(10)을 암호화 모듈(110)에 의해 암호화하는 암호화 단계(S110)와, 암호화 모듈(110)에 의해 암호화된 암호화 YUV 영상 프레임(20)을 복호화 모듈(120)에 의해 YUV 영상 프레임(30)으로 복원하는 단계(S120)를 포함할 수 있다.
암호화 모듈(110)은 제1 YUV 위치정보 생성부(114)와, YUV 영상 암호화부(116)를 포함할 수 있다. 제1 YUV 위치정보 생성부(114)는 키 값, 블록 크기 및 셔플 횟수를 기반으로 암호 셔플 함수(112)를 제1 영상 프레임에 적용하여 제1 영상 프레임을 구성하는 복수개의 제1 블록을 임의 선택하여 위치 교환하는 셔플링(shuffling)을 반복적으로 수행할 수 있다(S112).
보다 구체적으로 설명하면, 암호화 모듈(110)은 동영상의 YUV 영상 프레임을 복수의 블록(이미지 조각)으로 분할하고, 분할된 2개의 블록을 랜덤하게 선택하여 위치 교환하는 셔플링(shuffling)을 반복함으로써, 제1 영상 프레임(암호화 대상인 동영상의 첫번째 영상 프레임 또는 동영상을 구성하는 영상 프레임과 동일한 크기와 해상도를 가지는 기준 영상 프레임)에 대해 이미지 퍼즐화 방식의 암호화 영상 프레임을 생성할 수 있다.
암호화 모듈(110)은 YUV 영상 프레임의 암호화에 적용할 암호화 정보를 설정하고, 설정된 암호화 정보에 따라 동영상의 제1 영상 프레임(예를 들어, 암호화되는 복수개의 영상 프레임 중 첫번째 영상 프레임)을 암호화할 수 있다.
도 5는 본 발명의 실시예에 따라 제1 영상 프레임에 셔플링을 반복하여 적용한 것을 나타낸 예시도이다. 도 5를 참조하면, 암호화 이전의 제1 영상 프레임(A)을 다수의 블록(이미지 조각)으로 분할한 후 각 블록에 a01, a02, ..., a63의 순번을 매긴 후 셔플링을 반복 수행할 수 있다. 각 블록은 a X b 픽셀 크기를 가지도록 설정될 수 있다.
셔플링 과정에서 2개의 블록을 랜덤하게 선택한 후 위치 교환하며, 이에 따라 셔플링의 반복 횟수가 증가할수록 원 위치에서 다른 위치로 이동하는 블록의 개수도 증가한다. 셔플링은 복수회 반복될 수 있으며, 예를 들어 3회 반복되거나, 혹은 그 이상 반복될 수 있다.
제1 YUV 위치정보 생성부(114)는 제1 영상 프레임에 대한 셔플링의 반복적 수행에 따른 복수개의 제1 블록의 위치 변화를 기초로 제1 YUV 위치정보(114a)를 생성할 수 있다(S114).
암호화 모듈(110)의 제1 YUV 위치정보 생성부(114)는 제1 영상 프레임의 각 블록의 위치와, 이미지 퍼즐화 방식으로 암호화되어 생성된 암호화 영상 프레임의 각 블록의 위치를 비교하여, 각 블록의 위치 변화를 나타내는 제1 YUV 위치정보(114a)를 생성할 수 있다.
제1 YUV 위치정보(114a)는 암호화되는 복수개의 YUV 영상 프레임 중 두번째 이후의 YUV 영상 프레임(동영상을 구성하는 원본 영상 프레임에 해당하는 제2 영상 프레임)을 셔플링 없이 암호화하기 위해 활용될 수 있다.
도 3의 예시를 참고하면, 제1 YUV 위치정보(114a)의 1행 1열에 기재된 (101, 15)는 원본 영상 프레임(제1 영상 프레임)의 1행 1열 블록은 셔플링 반복에 의해 101행 15열 블록으로 위치 변환되는 것을 나타낸다.
유사하게, 제1 YUV 위치정보(114a)의 1행 2열 내지 4열에 기재된 (203, 20), (620, 104), (900, 304)는 각각 원본 영상 프레임(제1 영상 프레임)의 1행 2열 내지 4열 블록이 셔플링 반복에 의해 203행 20열 블록, 620행 104열 블록, 900행 304열 블록으로 위치 변환되는 것을 나타낸다.
YUV 영상 암호화부(116)는 YUV 영상 프레임(제2 영상 프레임)(10)의 Y 값, U 값 및 V 값을 제1 YUV 위치정보 생성부(114)에 의해 생성된 제1 YUV 위치정보(114a)에 따라 이동시켜 암호화 YUV 영상 프레임(20)을 생성할 수 있다(S116).
도 3의 예시를 참고하면, YUV 영상 프레임(제2 영상 프레임)(10)의 1행 1열 내지 4열의 블록 값이 각각 109, 100, 203, 19이면, YUV 영상 암호화부(116)에 의해 암호화되어 생성되는 암호화 YUV 영상 프레임(20)은 101행 15열 블록, 203행 20열 블록, 620행 104열 블록, 900행 304열 블록이 각각 109, 100, 203, 19 값을 가지게 된다.
YUV 영상 암호화부(116)에 의해 생성된 암호화 YUV 영상 프레임(20)은 유/무선 통신 모듈(도시 생략됨)을 통해 동영상 수신 단말로 전송될 수 있다. 키 값, 블록 크기, 셔플 횟수와 같은 암호화 정보는 동영상 헤더(header)에 기록되어 동영상 수신 단말로 전송될 수 있다.
동영상 헤더에 기록되는 암호화 정보(키 값, 셔플 횟수, 블록 크기 등)는 동영상 수신 단말에 설치되는 복호화 모듈(120)과의 사전 약속에 따라 암호화한 코드로 기록될 수 있다.
다른 대안으로, 동영상 송신 단말은 키 값, 블록 크기, 셔플 횟수 등의 암호화 정보를 동영상 헤더에 기록하지 않고, 별도의 데이터 패킷으로 동영상 수신 단말로 전송하는 것도 가능하다.
복호화 모듈(120)은 동영상 송신 단말로부터 암호화된 동영상이 수신되면 수신 초기에 동영상 헤더에 기록되어 있는 키 값, 블록 크기(이미지 조각 크기) 및 셔플 횟수를 읽어들여 이를 기초로 동영상 복호화를 위한 제2 YUV 위치정보를 생성할 수 있다.
복호화 모듈(120)은 제2 YUV 위치정보 생성부(124)와, YUV 영상 복원부(126)를 포함할 수 있다. 제2 YUV 위치정보 생성부(124)는 암호화 모듈(110)에서 셔플링에 활용된 암호화 정보와 동일한 키 값, 블록 크기 및 셔플 횟수를 기반으로 복호 셔플 함수(122)를 제2 영상 프레임(복원될 복수의 암호화 YUV 영상 프레임 중 첫번째 암호화 영상 프레임에 적용하여 제2 영상 프레임을 구성하는 복수개의 제2 블록을 임의 선택하여 위치 교환하는 셔플링을 반복적으로 수행할 수 있다(S122).
제2 YUV 위치정보 생성부(124)는 암호화 모듈(110)에 의한 암호화 단계의 순서를 따르되, 블록의 자리를 바꾸는 반복적인 셔플링을 역순으로 수행하는 차이가 있다.
제2 YUV 위치정보 생성부(124)는 제2 영상 프레임을 블록 크기로 분할한 후, 각 블록(제2 블록)에 번호를 매기고, 암호화 모듈(110)에서 수행된 셔플링 과정의 역순으로 블록의 위치를 교환하는 셔플링 과정(역퍼즐화)을 셔플 횟수만큼 반복함으로써 복호화 영상 프레임을 얻을 수 있다.
제2 YUV 위치정보 생성부(124)는 제2 영상 프레임에 대한 셔플링의 반복적 수행에 따른 복수개의 제2 블록의 위치 변화를 기초로 제2 YUV 위치정보(124a)를 생성할 수 있다(S124).
복호화 모듈(120)의 제2 YUV 위치정보 생성부(124)는 제2 영상 프레임의 각 블록의 위치와, 역퍼즐화되어 생성된 복호화 영상 프레임의 각 블록의 위치를 비교하여, 각 블록의 위치 변화를 나타내는 제2 YUV 위치정보(124a)를 생성할 수 있다.
제2 YUV 위치정보(124a)는 복원 대상인 복수개의 암호화 YUV 영상 프레임 중 두번째 이후의 암호화 YUV 영상 프레임을 셔플링 없이 복호화하여 원본 YUV 영상 V프레임을 복원하기 위해 활용될 수 있다.
YUV 영상 복원부(126)는 암호화 모듈(110)로부터 전송받은 암호화 YUV 영상 프레임(20)의 Y 값, U 값 및 V 값을 제2 YUV 위치정보 생성부(124)에 의해 생성된 제2 YUV 위치 정보(124a)에 따라 이동시켜 YUV 영상 프레임(30)을 복원할 수 있다(S126).
앞서 설명한 도 3의 예시를 참고하면, 제2 YUV 위치정보(124a)는 101행 15열 블록에 (1, 1) 값을 가지게 되고, 이는 암호화 YUV 영상 프레임(제2 영상 프레임)의 101행 15열 블록은 셔플링 반복에 의해 1행 1열 블록으로 위치 변환되는 것을 나타낸다.
유사하게, 제2 YUV 위치정보(124a)의 203행 20열 블록, 620행 104열 블록, 900행 304열 블록에는 각각 (1, 2), (1, 3), (1, 4) 값을 가지게 되며, 이는 암호화 YUV 영상 프레임(제2 영상 프레임)의 203행 20열 블록, 620행 104열 블록, 900행 304열 블록은 셔플링 반복에 의해 각각 1행 2열 블록, 1행 3열 블록, 1행 4열 블록으로 위치 변환되는 것을 나타낸다.
따라서, 암호화 YUV 영상 프레임(제2 영상 프레임)(20)의 101행 15열 블록, 203행 20열 블록, 620행 104열 블록, 900행 304열 블록 값이 각각 109, 100, 203, 19이면, YUV 영상 복원부(126)에 의해 복원되는 YUV 영상 프레임(30)은 원본 영상 프레임과 동일하게, 1행 1열 블록, 1행 2열 블록, 1행 3열 블록, 1행 4열 블록이 각각 109, 100, 203, 19 값을 가지게 된다.
RGB 이미지는 24 Bit로 구성되는 반면, YUV420P 이미지는 12 Bit로 구성된다. 따라서 본 발명의 실시예에 따르면, 원본 이미지 대비 1/2 수준으로 이미지 크기가 감소되어 암호화/복호화 연산량을 줄일 수 있다.
RGB24는 R 값, G 값, B 값이 각각 해상도에 해당하는 바이트 수를 가지며, 예를 들어, 총 바이트 수는 1920×1080×3 이다. 이에 반해, YUV420P는 Y 값은 해상도(예를 들어, 1920×1080) 만큼의 바이트 수를 가지지만, U 값과 V 값은 각각 Y 값의 1/4에 해당하는 바이트 수(960×540)를 가지므로, YUV420P로 암호화를 하면 RGB를 이용한 암호화 기술 대비 1/2로 크기가 줄어들게 되어 연산량이 현저하게 저감된다.
또한, 본 발명의 실시예에 의하면, 암호화 및 복호화 속도를 대략 10배 이상 향상시킬 수 있다. 모든 이미지를 암호화 함수를 이용하여 암호화(또는 복호화)하는 경우, 암호화 또는 복호화를 위한 연산량은 영상 프레임 너비 × 높이 × 셔플 횟수(10,000회 이상)에 비례한다.
이에 반해, 본 발명의 실시예에 의하면, 암호화 함수를 이용하여 최초 영상 프레임에 대해 처음 한번만 기존과 동일한 연산량으로 YUV 위치정보를 추출한 후, 그 이후에 순차적으로 입력되는 영상 프레임에 대해서는 YUV 위치정보를 이용하여 영상 프레임의 픽셀 값을 이동하여 암호화 또는 복호화가 가능하므로, 암호화 또는 복호화를 위한 연산량은 (연산 프레임 너비 × 높이) + (연산 프레임 너비 × 높이) × 1/2 으로 감소된다.
또한, 본 발명의 실시예에 의하면, 영상 디코딩을 통해 YUV420P 값을 생성하고, 이를 암호화하여 인코딩하여 전송하면 되기 때문에, YUV420P 값을 RGB로 변환하거나, 암호화된 RGB 데이터를 YUV420P 데이터로 변한할 필요가 없어 영상 인코딩, 디코딩 속도가 기존 대비 4배 이상 향상된다.
또한, 본 발명의 실시예에 의하면, 암호 해독에 필요한 연산 횟수는 이미지 너비 × 높이 / 블록 크기)!로 기존과 동등한 수준 이상의 암호 수준을 얻을 수 있으며, 기존과 동일한 암호 정확성을 갖는다.
뿐만 아니라, 본 발명의 실시예에 의하면, 암호화/복호화 시에 데이터 손실이 없고, 이미지 연산(예를 들어, 크기 값)에 따라 YUV 위치 정보를 선택적으로 선택할 경우 보다 높은 수준의 암호화가 가능하다.
이상에서 설명된 실시예들의 구성 중 적어도 일부는 하드웨어 구성요소, 소프트웨어 구성요소, 및/ 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(Arithmetic Logic Unit), 디지털 신호 프로세서(Digital Signal Processor), 마이크로컴퓨터, FPGA(Field Programmable Gate Array), PLU(Programmable Logic Unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다.
처리 장치는 운영 체제 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술 분야에서 통상의 지식을 가진 자는 처리 장치가 복수 개의 처리 요소(Processing Element) 및/또는 복수 유형의 처리요소를 포함할 수 있음을 이해할 것이다.
예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(Parallel Processor) 와 같은, 다른 처리 구성(Processing configuration)도 가능하다. 소프트웨어는 컴퓨터 프로그램(Computer Program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.
소프트웨어 및/ 또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody) 될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CDROM, DVD와 같은 광기록 매체(optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
10 : YUV 영상 프레임
20 : 암호화 YUV 영상 프레임
30 : YUV 영상 프레임
100 : 동영상 보안 전송 시스템
110 : 암호화 모듈
112 : 암호 셔플 함수
114 : 제1 YUV 위치정보 생성부
114a : 제1 YUV 위치정보
116 : YUV 영상 암호화부
120 : 복호화 모듈
122 : 복호 셔플 함수
124 : 제2 YUV 위치정보 생성부
124a : 제2 YUV 위치정보
126 : YUV 영상 복원부

Claims (11)

  1. 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 암호화 모듈; 및
    상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 복호화 모듈;을 포함하고,
    상기 암호화 모듈은:
    상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 상기 암호 셔플 함수를 제1 영상 프레임에 적용하여 상기 제1 영상 프레임을 구성하는 복수개의 제1 블록을 임의 선택하여 위치 교환하는 셔플링(shuffling)을 반복적으로 수행하고;
    셔플링의 반복적 수행에 따른 상기 복수개의 제1 블록의 위치 변화를 기초로 제1 YUV 위치정보를 생성하고; 그리고
    상기 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 상기 암호화 YUV 영상 프레임을 생성하도록 구성되는 동영상 보안 전송 시스템.
  2. 삭제
  3. 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 암호화 모듈; 및
    상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 복호화 모듈;을 포함하고,
    상기 복호화 모듈은:
    상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 복호 셔플 함수를 제2 영상 프레임에 적용하여 상기 제2 영상 프레임을 구성하는 복수개의 제2 블록을 임의 선택하여 위치 교환하는 셔플링을 반복적으로 수행하고;
    셔플링의 반복적 수행에 따른 상기 복수개의 제2 블록의 위치 변화를 기초로 제2 YUV 위치정보를 생성하고; 그리고
    상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치 정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하도록 구성되는, 동영상 보안 전송 시스템.
  4. 삭제
  5. 삭제
  6. 암호화 모듈에 의해, 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 단계; 및
    복호화 모듈에 의해, 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 단계;를 포함하고,
    상기 암호화 YUV 영상 프레임을 생성하는 단계는:
    상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 상기 암호 셔플 함수를 제1 영상 프레임에 적용하여 상기 제1 영상 프레임을 구성하는 복수개의 제1 블록을 임의 선택하여 위치 교환하는 셔플링(shuffling)을 반복적으로 수행하는 단계;
    셔플링의 반복적 수행에 따른 상기 복수개의 제1 블록의 위치 변화를 기초로 제1 YUV 위치정보를 생성하는 단계; 및
    상기 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 상기 암호화 YUV 영상 프레임을 생성하는 단계;를 포함하는 동영상 보안 전송 방법.
  7. 삭제
  8. 암호화 모듈에 의해, 키 값, 블록 크기 및 셔플 횟수를 기반으로 하는 암호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제1 YUV 위치정보를 생성하고, YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제1 YUV 위치정보에 따라 이동시켜 암호화 YUV 영상 프레임을 생성하는 단계; 및
    복호화 모듈에 의해, 상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 하는 복호 셔플 함수를 이용하여 셔플링 반복에 따른 블록 위치 변화를 나타내는 제2 YUV 위치정보를 생성하고, 상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 단계;를 포함하고,
    상기 YUV 영상 프레임을 복원하는 단계는:
    상기 키 값, 상기 블록 크기 및 상기 셔플 횟수를 기반으로 복호 셔플 함수를 제2 영상 프레임에 적용하여 상기 제2 영상 프레임을 구성하는 복수개의 제2 블록을 임의 선택하여 위치 교환하는 셔플링을 반복적으로 수행하는 단계;
    셔플링의 반복적 수행에 따른 상기 복수개의 제2 블록의 위치 변화를 기초로 제2 YUV 위치정보를 생성하는 단계; 및
    상기 암호화 YUV 영상 프레임의 Y 값, U 값 및 V 값을 상기 제2 YUV 위치 정보에 따라 이동시켜 상기 YUV 영상 프레임을 복원하는 단계;를 포함하는, 동영상 보안 전송 방법.
  9. 삭제
  10. 삭제
  11. 청구항 6 또는 청구항 8의 동영상 보안 전송 방법을 실행시키도록 컴퓨터로 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램.
KR1020220020549A 2022-02-17 2022-02-17 실시간 영상 보안 전송 시스템 및 방법 KR102399199B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220020549A KR102399199B1 (ko) 2022-02-17 2022-02-17 실시간 영상 보안 전송 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220020549A KR102399199B1 (ko) 2022-02-17 2022-02-17 실시간 영상 보안 전송 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102399199B1 true KR102399199B1 (ko) 2022-05-18

Family

ID=81800877

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220020549A KR102399199B1 (ko) 2022-02-17 2022-02-17 실시간 영상 보안 전송 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102399199B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950008638A (ko) * 1993-09-17 1995-04-19 홍건희 고무를 기재로 하는 은현잉크의 제조방법
KR100732056B1 (ko) 2005-09-14 2007-06-27 엘지전자 주식회사 디지털 컨텐츠 암호화 및 복호화 방법 및 장치
KR101112157B1 (ko) 2010-01-25 2012-02-22 주식회사 인쿠시스 데이터 암호화 방법
KR20180099327A (ko) * 2017-02-28 2018-09-05 한국전자통신연구원 영상 데이터의 마스킹 및 언마스킹 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950008638A (ko) * 1993-09-17 1995-04-19 홍건희 고무를 기재로 하는 은현잉크의 제조방법
KR100732056B1 (ko) 2005-09-14 2007-06-27 엘지전자 주식회사 디지털 컨텐츠 암호화 및 복호화 방법 및 장치
KR101112157B1 (ko) 2010-01-25 2012-02-22 주식회사 인쿠시스 데이터 암호화 방법
KR20180099327A (ko) * 2017-02-28 2018-09-05 한국전자통신연구원 영상 데이터의 마스킹 및 언마스킹 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Grayscale-based block scrambling image, warit sirichotedumrong and hitoshi kiya, SIP (2019), vol. 8, e7, page 1 of 15(2019.02.01. 공개) 1부.*
Grayscale-based block scrambling image, warit sirichotedumrong and hitoshi kiya, SIP (2019), vol. 8, e7, page 1 of 15(2019.02.01.) *

Similar Documents

Publication Publication Date Title
Chai et al. Medical image encryption algorithm based on Latin square and memristive chaotic system
Zhou et al. Image compression–encryption scheme based on hyper-chaotic system and 2D compressive sensing
KR101669157B1 (ko) 데이터 보호장치 및 그 방법
Pareek et al. Image encryption using chaotic logistic map
RU2449482C2 (ru) Устройство обработки шифрования, способ обработки шифрования и компьютерная программа
CN100464584C (zh) 实现信号加密的视频监控系统和视频监控方法
CN101490999A (zh) 表示意在用于人感知的刺激的材料与编解码无关的加密
Liu et al. Cryptanalysis and improvement in a plaintext-related image encryption scheme based on hyper chaos
RU2006139126A (ru) Способы скремблирования и дескремблирования единиц данных
CN1993922A (zh) 流密码组合系统和方法
EP2316189A2 (en) Method for generating a cipher-based message authentication code
CN113067696B (zh) 一种基于比特位分组的多轮对称数字图像加密方法及系统
Iqbal et al. An efficient grayscale image encryption scheme based on variable length row-column swapping operations
Ramírez-Torres et al. Image encryption with an improved cryptosystem based on a matrix approach
JPWO2020214464A5 (ko)
KR102399199B1 (ko) 실시간 영상 보안 전송 시스템 및 방법
Mishra et al. Security of RGB image data by affine hill cipher over SLn (Fq) and Mn (Fq) domains with Arnold transform
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
CN108174053B (zh) 一种有向面积和扑克牌映射的解密区域限定图像加密方法
Aparna et al. Implementation of AES algorithm on text and image using MATLAB
Bidgar et al. Key based visual cryptography scheme using novel secret sharing technique with steganography
Rani et al. A novel and efficient approach to encrypt images using chaotic logistic map and stream cipher
Tabash et al. Image encryption algorithm based on chaotic map
Xu et al. Security analysis of a novel fusion encryption algorithm based on dna sequence operation and hyper-chaotic system
Raj et al. An expeditious chaos based digital image encryption algorithm

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant