KR20180064832A - Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same - Google Patents

Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same Download PDF

Info

Publication number
KR20180064832A
KR20180064832A KR1020160165190A KR20160165190A KR20180064832A KR 20180064832 A KR20180064832 A KR 20180064832A KR 1020160165190 A KR1020160165190 A KR 1020160165190A KR 20160165190 A KR20160165190 A KR 20160165190A KR 20180064832 A KR20180064832 A KR 20180064832A
Authority
KR
South Korea
Prior art keywords
texture data
bitstream
encrypted
encrypting
entropy
Prior art date
Application number
KR1020160165190A
Other languages
Korean (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 KR1020160165190A priority Critical patent/KR20180064832A/en
Publication of KR20180064832A publication Critical patent/KR20180064832A/en

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/134Methods 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/93Run-length coding

Landscapes

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

Abstract

According to an embodiment of the present invention, a bitstream encrypting method capable of encrypting a texture of an area of interest in an encoded bitstream comprises the following steps: extracting texture data of an area of interest from encoded bitstream; generating encrypted texture data by encrypting the extracted texture data; and generating bitstream in which the area of interest is encrypted based on the remaining data excluding the texture data and the encrypted texture data in the encoded bitstream.

Description

비트스트림을 암호화하는 방법 및 이를 이용하는 비트스트림 암호화기, 및 이를 포함하는 비트스트림 암호화 장치{METHOD FOR ENCRYPTING BITSTREAM, BITSTREAM ENCRYPTOR USING THE SAME, AND BITSTREAM ENCRYPTING DEVICE INCLUDING THE SAME }BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of encrypting a bitstream, a bitstream encryptor using the same, and a bitstream encrypting apparatus using the same. BACKGROUND ART < RTI ID = 0.0 >

본 발명의 기술적 사상은 비트스트림을 암호화하는 방법 및 이를 이용하는 비트스트림 암호화기, 및 이를 포함하는 비트스트림 암호화 장치에 관한 것으로, 보다 상세하게는 인코딩이 완료된 비트스트림에서 관심영역의 텍스쳐(texture)를 암호화할 수 있는 비트스트림을 암호화하는 방법 및 이를 이용하는 비트스트림 암호화기, 및 이를 포함하는 비트스트림 암호화 장치에 관한 것이다.The technical idea of the present invention relates to a method of encrypting a bitstream, a bitstream encryptor using the same, and a bitstream encryption apparatus using the same, and more particularly, to a method and apparatus for encrypting a texture of a region of interest A bit stream encrypting method using the same, and a bit stream encrypting apparatus including the same.

최근 CCTV(closed-circuit Television)는 사고, 범죄 예방 및 현장 감시 등의 목적으로 공공시설을 비롯한 사무실, 공장, 편의점, 유치원 등의 장소에 널리 설치되고 있다.Recently, CCTV (closed-circuit television) is widely installed in public facilities, offices, factories, convenience stores, kindergartens, etc. for the purpose of accident, crime prevention and field surveillance.

하지만, CCTV는 공공의 안전이라는 목적을 달성하고 있음에도 불구하고 개인의 프라이버시 침해에 대한 문제와 감시 영상의 노출 문제를 가지고 있다.However, although CCTV achieves the purpose of public safety, it has problems of privacy infringement and exposure of surveillance images.

본 발명의 기술적 사상에 따른 비트스트림을 암호화하는 방법 및 이를 이용하는 비트스트림 암호화기, 및 이를 포함하는 비트스트림 암호화 장치가 이루고자 하는 기술적 과제는, 인코딩이 완료된 비트스트림에서 관심영역의 텍스쳐(texture)를 암호화할 수 있는 비트스트림을 암호화하는 방법 및 이를 이용하는 비트스트림 암호화기, 및 이를 포함하는 비트스트림 암호화 장치를 제공하는 데 있다.A method of encrypting a bitstream according to the technical idea of the present invention, a bitstream encryptor using the same, and a bitstream encryption apparatus using the same, is characterized in that a texture of a region of interest is encoded in an encoded bitstream A method for encrypting a bitstream that can be encrypted, a bitstream encryption device using the same, and a bitstream encryption device including the same.

본 발명의 기술적 사상에 의한 일 양태에 따른 비트스트림을 암호화하는 방법은 인코딩된 비트스트림(bitstream)으로부터 관심영역의 텍스쳐(texture) 데이터를 추출하는 단계, 추출된 상기 텍스쳐 데이터를 암호화하여 암호화된 텍스쳐 데이터를 생성하는 단계 및 상기 인코딩된 비트스트림에서 상기 텍스쳐 데이터를 제외한 나머지 데이터 및 상기 암호화된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 단계를 포함할 수 있다.According to an aspect of the present invention, there is provided a method of encrypting a bitstream, the method including extracting texture data of a region of interest from an encoded bitstream, encrypting the extracted texture data, And generating an encrypted bitstream based on the encrypted texture data and the remaining data excluding the texture data in the encoded bitstream.

예시적인 실시예에 따르면, 상기 암호화된 텍스쳐 데이터를 생성하는 단계는, 추출된 상기 텍스쳐 데이터를 엔트로피 디코딩하는 단계, 엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 단계 및 암호화된 텍스쳐 데이터를 엔트로피 코딩하여, 엔트로피 코딩된 텍스쳐 데이터를 생성하는 단계를 포함할 수 있다.According to an exemplary embodiment, the step of generating the encrypted texture data entropy-decodes the extracted texture data, the step of entropy-decoding the entropy-decoded texture data, the entropy coding of the encrypted texture data, And generating the texture data.

예시적인 실시예에 따르면, 상기 관심영역이 암호화된 비트스트림을 생성하는 단계는, 상기 나머지 데이터 및 상기 엔트로피 코딩된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 단계를 포함할 수 있다.According to an exemplary embodiment, the step of generating the encrypted bit stream of the ROI comprises generating the encrypted bit stream based on the residual data and the entropy coded texture data .

예시적인 실시예에 따르면, 상기 엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 단계는, RC4 알고리즘을 이용하여 암호화할 수 있다.According to an exemplary embodiment, encrypting the entropy decoded texture data may be encrypted using the RC4 algorithm.

예시적인 실시예에 따르면, 상기 엔트로피 코딩 및 상기 엔트로피 디코딩 각각은, 런 렝스 코딩(run length coding)을 이용할 수 있다.According to an exemplary embodiment, each of the entropy coding and the entropy decoding may use run length coding.

예시적인 실시예에 따르면, 상기 엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 단계는, 상기 엔트로피 디코딩된 텍스쳐 데이터에서, DC 계수 값 및 AC 계수 값들 중에서 0이 아닌 AC 계수 값만을 선택적으로 암호화할 수 있다.According to an exemplary embodiment, encrypting the entropy decoded texture data may selectively encrypt only non-zero AC coefficient values among the DC coefficient values and AC coefficient values in the entropy decoded texture data.

예시적인 실시예에 따르면, 상기 관심영역이 암호화된 비트스트림을 생성하는 단계 이전에, 상기 관심영역의 이동 여부를 판단하는 단계 및 판단 결과 상기 관심영역이 이동하는 경우, 상기 인코딩된 비트스트림의 순방향 예측 부호화 영상들(uni-directional predicted pictures)과 양방향 예측 부호화 영상들(bi-directional predicted pictures) 중의 적어도 어느 하나를 인트라 부호화 영상(intra picture)으로 재구성(reconstruction)하는 단계를 더 포함할 수 있다.According to an exemplary embodiment of the present invention, it is determined whether or not the ROI is moved before the ROI is generated, and when the ROI is moved, Reconstructing at least one of uni-directional predicted pictures and bi-directional predicted pictures into an intra-picture. The method may further comprise reconstructing at least one of uni-directional predicted pictures and bi-directional predicted pictures into an intra-picture.

예시적인 실시예에 따르면, 상기 관심영역의 이동 여부를 판단하는 단계는, 상기 인코딩된 비트스트림 내에서의 PPS(Picture Parameter Set) NAL(Network Abstraction Layer)의 출현에 기초하여, 상기 관심영역의 이동 여부를 판단할 수 있다.According to an exemplary embodiment, the step of determining whether to move the ROI includes: determining whether the ROI of interest is based on an appearance of a PPS (Picture Parameter Set) Network Abstraction Layer (NPS) within the encoded bitstream; Can be determined.

예시적인 실시예에 따르면, 상기 재구성하는 단계를 수행하는 주기는, 상기 인코딩된 비트스트림의 상기 인트라 부호화 영상의 출현 주기보다 짧을 수 있다.According to an exemplary embodiment, the period of performing the reconstructing step may be shorter than the appearance period of the intra-encoded image of the encoded bitstream.

예시적인 실시예에 따르면, 상기 텍스쳐 데이터를 추출하는 단계 이전에, 상기 인코딩된 비트스트림으로부터 상기 관심영역을 검출하는 단계를 더 포함할 수 있다.According to an exemplary embodiment, the step of extracting the texture data may further include detecting the region of interest from the encoded bitstream.

예시적인 실시예에 따르면, 상기 관심영역의 텍스쳐 데이터를 추출하는 단계는, 상기 인코딩된 비트스트림 내의 상기 관심영역에 상응하는 IDR(Instantaneous Decoding Refresh) NAL 및 non-IDR NAL 중에서 모션 벡터들(motion vectors) 만으로 이루어진 NAL을 제외시킴으로써 상기 관심영역의 텍스쳐 데이터를 추출할 수 있다.According to an exemplary embodiment, the step of extracting texture data of the ROI comprises the steps of: extracting motion vectors from among an IDR (Instantaneous Decoding Refresh) NAL and a non-IDR NAL corresponding to the ROI in the encoded bitstream; ) Is excluded, texture data of the region of interest can be extracted.

본 발명의 기술적 사상에 의한 일 양태에 따른 비트스트림 암호화기는 인코딩된 비트스트림(bitstream)으로부터 관심영역의 텍스쳐(texture) 데이터를 추출하는 관심영역 데이터 추출기, 추출된 상기 텍스쳐 데이터를 암호화하여 암호화된 텍스쳐 데이터를 생성하는 암호화부 및 상기 인코딩된 비트스트림에서 상기 텍스쳐 데이터를 제외한 나머지 데이터 및 상기 암호화된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 가산기를 포함할 수 있다.According to an aspect of the present invention, there is provided a bitstream encoder comprising: a region of interest extractor for extracting texture data of a region of interest from an encoded bitstream; And an adder for generating an encrypted bitstream based on the encrypted texture data and the remaining data excluding the texture data in the encoded bitstream.

예시적인 실시예에 따르면, 상기 관심영역 데이터 추출기로부터 추출된 상기 텍스쳐 데이터를 엔트로피 디코딩하는 엔트로피 디코딩부, 엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 암호화 모듈 및 암호화된 텍스쳐 데이터를 엔트로피 코딩하여 엔트로피 코딩된 텍스쳐 데이터를 생성하는 엔트로피 코딩부를 더포함할 수 있다.According to an exemplary embodiment, an entropy decoding unit entropy decoding the texture data extracted from the ROI extractor, an encryption module encrypting the entropy decoded texture data, and entropy-coded entropy-coded texture data And an entropy coding unit for generating an entropy coding unit.

예시적인 실시예에 따르면, 상기 관심영역의 이동 여부를 판단하고 판단 결과 상기 관심영역이 이동하는 경우, 상기 인코딩된 비트스트림의 순방향 예측 부호화 영상들(uni-directional predicted pictures)과 양방향 예측 부호화 영상들(bi-directional predicted pictures) 중의 적어도 어느 하나를 인트라 부호화 영상(intra picture)으로 재구성(reconstruction)하는 시간적 드리프트 보상기를 더 포함할 수 있다.According to an exemplary embodiment of the present invention, it is determined whether or not the ROI is moved. When the ROI is moved, uni-directional predicted pictures of the encoded bitstream and bidirectional predictive- and reconstructing at least one of bi-directional predicted pictures into an intra picture.

본 발명의 기술적 사상에 의한 일 양태에 따른 비트스트림 암호화 장치는 수신된 비트스트림을 인코딩하는 인코더 및 인코딩된 비트스트림(bitstream)으로부터 관심영역의 텍스쳐(texture) 데이터를 추출하고, 추출된 상기 텍스쳐 데이터를 암호화하여 암호화된 텍스쳐 데이터를 생성하여, 상기 인코딩된 비트스트림에서 상기 텍스쳐 데이터를 제외한 나머지 데이터 및 상기 암호화된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 비트스트림 암호화기를 포함할 수 있다.An apparatus for encoding a bitstream according to an aspect of the present invention includes an encoder for encoding a received bitstream and a decoder for extracting texture data of a region of interest from an encoded bitstream, Includes a bitstream encryptor for generating encrypted texture data to generate an encrypted bitstream based on the encrypted texture data and the remaining data excluding the texture data in the encoded bitstream can do.

본 발명의 기술적 사상에 의한 실시 예들에 따른 방법과 장치는, 인코딩이 완료된 비트스트림을 암호화함에 따라 기존의 인코더 구조를 변형없이 그대로 활용할 수 있는 효과가 있다.The method and apparatus according to embodiments of the present invention can effectively utilize the existing encoder structure without modification as the encoded bit stream is encrypted.

또한, 본 발명의 기술적 사상에 의한 실시 예들에 따른 방법과 장치는, 인코딩된 비트스트림을 재구성하여 암호화함으로써, 인코딩된 비트스트림을 암호화함에 따라 발생하는 시간적 드리프트 에러(temporal drift error)를 줄일 수 있는 효과가 있다.In addition, the method and apparatus according to embodiments of the present invention can reconstruct and encrypt an encoded bit stream, thereby reducing the temporal drift error that occurs as the encoded bit stream is encrypted It is effective.

또한, 본 발명의 기술적 사상에 의한 실시 예들에 따른 방법과 장치는, 인코딩된 비트스트림의 관심영역을 선택적으로 암호화함으로써 암호화 효율을 향상시킬 수 있는 효과가 있다.In addition, the method and apparatus according to embodiments of the present invention can improve encryption efficiency by selectively encrypting a region of interest of an encoded bitstream.

본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 기술적 사상에 의한 일 실시 예에 따른 암복호화 시스템의 블록도이다.
도 2는 도 1에 도시된 암호화 장치의 블록도이다.
도 3은 인코딩된 비트스트림을 암호화함에 따라 발생할 수 있는 시간적 드리프트 에러를 설명하기 위한 도면이다.
도 4는 도 1의 시간적 드리프트 보상기에서 수행되는 비트스트림 재구성 과정을 설명하기 위한 도면이다.
도 5는 인코딩된 비트스트림의 구조를 나타낸 도면이다.
도 6은 본 발명의 기술적 사상에 의한 일 실시 예에 따라 암호화를 수행한 경우 시간적 드리프트 에러가 완화된 실시 예를 나타낸 도면이다.
도 7은 본 발명의 기술적 사상에 의한 일 실시 예에 따른 비트스트림을 암호화하는 방법의 플로우차트이다.
BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a block diagram of an encryption / decryption system according to an embodiment of the present invention.
2 is a block diagram of the encryption apparatus shown in Fig.
3 is a diagram for explaining a temporal drift error that may occur as a result of encrypting an encoded bit stream.
FIG. 4 is a diagram for explaining a bitstream reconstruction process performed in the temporal drift compensator of FIG. 1;
5 is a diagram showing the structure of an encoded bit stream.
FIG. 6 is a diagram illustrating an embodiment in which temporal drift error is mitigated when encryption is performed according to an embodiment of the present invention.
7 is a flowchart of a method of encrypting a bitstream according to an embodiment of the present invention.

본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. However, it should be understood that the technical idea of the present invention is not limited to the specific embodiments but includes all changes, equivalents, and alternatives included in the technical idea of the present invention.

본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0029] In the following description of the present invention, a detailed description of known technologies will be omitted when it is determined that the gist of the present invention may be unnecessarily obscured. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

또한, 본 명세서에 기재된 "~부(유닛)", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.It should be noted that the terms such as " unit, "" to, "and" to module ", as used herein, mean units for processing at least one function or operation, Or a combination of hardware and software.

그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.It is to be clarified that the division of constituent parts in this specification is merely a division by each main function of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. In addition, each of the constituent units described below may additionally perform some or all of the functions of other constituent units in addition to the main functions of the constituent units themselves, and that some of the main functions, And may be carried out in a dedicated manner.

이하, 본 발명의 기술적 사상에 따른 실시 예들을 차례로 상세히 설명한다.Hereinafter, embodiments according to the technical idea of the present invention will be described in detail.

도 1은 본 발명의 기술적 사상에 의한 일 실시 예에 따른 암복호화 시스템의 블록도이다.1 is a block diagram of an encryption / decryption system according to an embodiment of the present invention.

도 1을 참조하면, 암복호화 시스템(10)은 비트스트림 소스(bitstream source; 50), 암호화 장치(100), 복호화 장치(300), 및 복수의 비트스트림 수신자(bitstream recievers; 510,520)를 포함할 수 있다.1, the encryption and decryption system 10 includes a bitstream source 50, a cryptographic apparatus 100, a decryption apparatus 300, and a plurality of bitstream receivers 510 and 520 .

실시 예에 따라, 암복호화 시스템(10)은 CCTV(Closed-Circuit Television)를 통하여 촬영된 영상데이터를 암호화 또는 복호화하는 시스템으로 구현될 수도 있으나, 이에 한정되는 것은 아니다.According to an embodiment, the encryption / decryption system 10 may be implemented as a system for encrypting or decrypting image data photographed through a closed-circuit television (CCTV), but is not limited thereto.

비트스트림 소스(50)는 비트스트림을 생성하고 생성된 비트스트림을 암호화 장치(100)로 제공할 수 있다.The bitstream source 50 may generate a bitstream and provide the generated bitstream to the encryption device 100.

암호화 장치(100)는 인코더(encoder, 150)와 암호화기(encryptor, 200)를 포함할 수 있다.The encryption apparatus 100 may include an encoder 150 and an encryptor 200.

인코더(150)는 비트스트림 소스(50)부터 전송된 비트스트림(bitstream)을 수신하고, 수신된 비트스트림을 인코딩하여 인코딩된 비트스트림을 출력할 수 있다. 인코더(150)는 인코딩된 비트스트림을 암호화기(200)로 전송할 수 있다.The encoder 150 may receive a bitstream transmitted from the bitstream source 50, and may encode the received bitstream to output an encoded bitstream. The encoder 150 may transmit the encoded bitstream to the encryptor 200.

암호화기(200)는 인코더(150)로부터 전송된 인코딩된 비트스트림을 수신하고, 수신된 인코딩된 비트스트림의 관심영역의 텍스쳐(texture)만을 암호화할 수 있다. 암호화기(200)는 관심영역의 텍스쳐가 암호화된 비트스트림을 복호화 장치(300)로 전송할 수 있다.The encryptor 200 may receive the encoded bitstream transmitted from the encoder 150 and may encrypt only the texture of the region of interest of the received encoded bitstream. The encryptor 200 may transmit the encrypted bitstream of the texture of the region of interest to the decryption apparatus 300. [

실시 예에 따라, 암호화기(200)는 복호화 장치(300)의 복호화에 필요한정보(예컨대, 관심영역에 관한 정보, 관심영역의 텍스쳐 데이터의 위치정보 등)를 관심영역의 텍스쳐가 암호화된 비트스트림과 함께 복호화 장치(300)로 전송할 수도 있다.According to the embodiment, the encryptor 200 encrypts information necessary for decrypting the decryption apparatus 300 (for example, information on a region of interest, location information of texture data of a region of interest, etc.) To the decryption device 300. [

인코더(150)와 암호화기(200)의 세부적인 구조 및 동작은 도 2 내지 도 7을 참조하여 상세히 설명된다.The detailed structure and operation of the encoder 150 and the encryptor 200 will be described in detail with reference to FIG. 2 to FIG.

실시 예에 따라, 암호화 장치(100)와 복호화 장치(300)는 유, 무선 통신을 통하여 통신할 수 있다.According to the embodiment, the encryption apparatus 100 and the decryption apparatus 300 can communicate via wired or wireless communication.

복호화 장치(300)는 디코더(decoder, 350)와 복호화기(decryptor, 400)를 포함할 수 있다.The decoding apparatus 300 may include a decoder 350 and a decryptor 400.

디코더(350)는 암호화 장치(100)로부터 전송된 관심영역의 텍스쳐가 암호화된 비트스트림을 디코딩하여 출력할 수 있다. 디코더(350)는 디코딩된 비트스트림을 복호화 장치(300) 및 제1비트스트림 수신자(510)로 출력할 수 있다.The decoder 350 can decode and output the encrypted bitstream of the texture of the region of interest transmitted from the encryption apparatus 100. [ The decoder 350 may output the decoded bitstream to the decoding apparatus 300 and the first bitstream receiver 510.

복호화 장치(300)는 디코더(350)에 의해 디코딩되어 출력된 비트스트림을 수신하고, 수신된 비트스트림을 복호화하여 출력할 수 있다. 복호화 장치(300)는 복호화된 비트스트림을 제2비트스트림 수신자(520)로 출력할 수 있다.The decoding apparatus 300 receives the bit stream decoded and output by the decoder 350, decodes the received bit stream, and outputs the decoded bit stream. The decoding apparatus 300 may output the decoded bit stream to the second bit stream receiver 520. [

제1비트스트림 수신자(510)는 관심영역이 암호화되어 있는 상태의 비트스트림을 확인할 수 있다.The first bitstream receiver 510 can identify the bitstream in a state where the region of interest is encrypted.

제2비트스트림 수신자(520)는 관심영역이 복호화되어 있는 상태의 비트스트림을 확인할 수 있다.The second bitstream receiver 520 can identify the bitstream in a state where the ROI is decoded.

제1비트스트림 수신자(510)와 제2비트스트림 수신자(520)는 접근 권한에 따라 구분될 수 있다. 실시 예에 따라, 관심영역에 대한 접근 관한이 있는 사용자에 한하여 제2비트스트림 수신자(520)로 설정될 수 있다.The first bitstream receiver 510 and the second bitstream receiver 520 may be classified according to the access authority. Depending on the embodiment, only those users with access to the region of interest may be set to the second bitstream receiver 520.

도 2는 도 1에 도시된 암호화 장치의 블록도이다. 도 3은 인코딩된 비트스트림을 암호화함에 따라 발생할 수 있는 시간적 드리프트 에러를 설명하기 위한 도면이다. 도 4는 도 1의 시간적 드리프트 보상기에서 수행되는 비트스트림 재구성 과정을 설명하기 위한 도면이다. 도 5는 인코딩된 비트스트림의 구조를 나타낸 도면이다.2 is a block diagram of the encryption apparatus shown in Fig. 3 is a diagram for explaining a temporal drift error that may occur as a result of encrypting an encoded bit stream. FIG. 4 is a diagram for explaining a bitstream reconstruction process performed in the temporal drift compensator of FIG. 1; 5 is a diagram showing the structure of an encoded bit stream.

도 1과 도 2를 참조하면, 암호화 장치(100)는 인코더(150)와 암호화기(200)를 포함할 수 있다. Referring to FIGS. 1 and 2, the encryption apparatus 100 may include an encoder 150 and an encryptor 200.

도 2에서는 인코더(150)의 예시적인 구조를 도시하고 있으나, 인코더(150)에는 다양한 비디오 코덱(video codec), 예컨대 H.264 표준 , H.265 표준 등이 적용될 수 있으며 이에 따라 인코더(150) 내의 구조도 다양하게 변형될 수 있다.2 illustrates an exemplary structure of the encoder 150, various video codecs such as the H.264 standard and the H.265 standard may be applied to the encoder 150, The structure within the body may be variously modified.

인코더(150)는 인트라 예측부(intra predictor; 152), 움직임 보상부(motion compensator; 154), 움직임 추정부(motion estimator; 156), 감산기(158), 변환부(160), 양자화부(162), 엔트로피 코딩부(164), 역양자화부(166), 역변환부(168), 가산기(170), 디-블로킹 필터(de-blocking filter;172), 및 프레임 메모리(frame memory; 174)를 포함할 수 있다.The encoder 150 includes an intra predictor 152, a motion compensator 154, a motion estimator 156, a subtractor 158, a transform unit 160, a quantization unit 162 An entropy coding unit 164, an inverse quantization unit 166, an inverse transform unit 168, an adder 170, a de-blocking filter 172, and a frame memory 174 .

인코더(150)는 비트스트림 소스(50)로부터 입력된 비트스트림에 대하여 인트라 모드(intra mode) 또는 인터 모드(inter mode)로 인코딩을 수행하고, 인코딩된 비트스트림을 출력할 수 있다. The encoder 150 performs encoding in an intra mode or an inter mode with respect to the bit stream input from the bit stream source 50, and outputs the encoded bit stream.

인트라 모드에서는 화면 내 예측이 수행되며, 스위칭에 따라 인트라 예측부(152)가 스위치와 연결될 수 있다. 인트라 예측부(152)는 예측하고자 하는 블록에 인접한 블록의 픽셀 데이터를 이용하여 블록 예측을 수행할 수 있다.Intra prediction is performed in the intra mode, and the intra prediction unit 152 can be connected to the switch in accordance with the switching. The intraprediction unit 152 may perform block prediction using pixel data of a block adjacent to a block to be predicted.

인터 모드에서는 화면 간 예측이 수행되며, 스위칭에 따라 움직임 보상부(154)가 스위치와 연결될 수 있다. 움직임 보상부(154)는 프레임 메모리(174)에 저장된 참조 픽쳐(reference picture)를 이용하여 현재 픽쳐의 블록 예측을 수행할 수 있다. Inter-picture prediction is performed in the inter mode, and the motion compensation unit 154 can be connected to the switch in accordance with the switching. The motion compensation unit 154 may perform block prediction of the current picture using a reference picture stored in the frame memory 174. [

움직임 추정부(156)는 현재 프레임 내의 매크로 블록과 가장 유사한 매크로 블록을 이전 프레임에서 탐색하고, 탐색 결과를 토대로 매크로 블록의 위치 차이를 나타내는 움직임 벡터를 구할 수 있다.The motion estimation unit 156 searches for a macroblock most similar to the macroblock in the current frame in the previous frame and obtains a motion vector indicating the position difference of the macroblock based on the search result.

감산기(158)는 현재 픽쳐의 블록 데이터와 인트라 예측부(152)로부터 출력되는 블록 데이터 간의 차이 또는 현재 픽쳐의 블록 데이터와 움직임 보상부(154)로부터 출력되는 블록 데이터 간의 차이, 즉 잔차(residual)를 생성할 수 있다. 이후, 잔차에 대하여 인코딩 과정이 수행됨에 따라 데이터량이 줄어들 수 있다.The subtractor 158 subtracts the difference between the block data of the current picture and the block data output from the intraprediction unit 152 or the block data of the current picture and the block data output from the motion compensation unit 154, Lt; / RTI > Thereafter, the amount of data may be reduced as the encoding process is performed on the residuals.

변환부(160)는 감산기(158)로부터 출력되는 잔차를 변환할 수 있다. 실시 예에 따라, 변환부(160)는 감산기(158)로부터 출력되는 샘플을 이산 코사인 변환(Discrete Consine Transform(DCT))하여 이산 코사인 변환 계수를 출력할 수 있다.The conversion unit 160 may convert the residual output from the subtractor 158. [ According to an embodiment, the transforming unit 160 may output a discrete cosine transform coefficient by performing a discrete cosine transform (DCT) on a sample output from the subtractor 158. [

양자화부(162)는 변환부(160)로부터 변환되어 출력된 잔차, 예컨대 이산 코사인 변환 계수를 양자화할 수 있다.The quantization unit 162 can quantize the residual, for example, the discrete cosine transform coefficient, which is transformed and output from the transform unit 160. [

엔트로피 코딩부(164)는 양자화부(162)에서 양자화된 데이터에 대하여 엔트로피 코딩하여 엔트로피 코딩 된, 즉 인코딩된 비트스트림을 암호화기(200)로 출력할 수 있다.The entropy coding unit 164 entropy-codes the quantized data in the quantization unit 162 and outputs the entropy-encoded, i.e., encoded, bitstream to the encryptor 200. [

역양자화부(166), 역변환부(168), 가산기(170), 디-블로킹 필터(172)는 양자화된 데이터를 현재 픽쳐를 복원하기 위한 과정을 수행할 수 있다.The inverse quantization unit 166, the inverse transform unit 168, the adder 170, and the de-blocking filter 172 may perform a process of restoring the current picture with the quantized data.

역양자화부(166)는 양자화부(162)에서 양자화된 데이터를 역양자화할 수 있다. 역변환부(168)는 역양자화부(166)로부터 출력된 역양자화된 데이터를 역변환할 수 있다. 디-블로킹 필터(172)는 인코딩시 발생하는 블록왜곡을 감소시키기 위하여 필터링을 수행하며, 역양자화부(166), 역변환부(168), 가산기(170), 및 디-블로킹 필터(172)를 거쳐 복원된 현재 픽쳐는 프레임 메모리(174)에 저장될 수 있다.The inverse quantization unit 166 can dequantize the quantized data in the quantization unit 162. [ The inverse transform unit 168 may inversely transform the inverse quantized data output from the inverse quantization unit 166. [ The de-blocking filter 172 performs filtering to reduce block distortion occurring during encoding and outputs the de-quantized signal to the inverse quantization unit 166, the inverse transform unit 168, the adder 170, and the de-blocking filter 172 The current picture restored through the frame memory 174 may be stored in the frame memory 174. [

암호화기(200)는 관심영역 이동 검출기(ROI(Region Of Interest) moving detector; 202), 시간적 드리프트 보상기(temporal drift compensator;204), 관심영역 데이터 추출기(ROI data extractor; 206), 암호화부(210), 및 가산기(218)를 포함할 수 있다.The encryptor 200 includes a region of interest (ROI) moving detector 202, a temporal drift compensator 204, an ROI data extractor 206, an encryption unit 210 ), And an adder 218. [

도 3을 참조하면, 참조 픽쳐(reference picture)와 현재 픽쳐(current picture)를 비교하였을 때 관심영역(ROI)이 이동한 경우가 도시되어 있다.Referring to FIG. 3, a case where a ROI is shifted when a reference picture is compared with a current picture is shown.

이 때, 현재 픽쳐의 비관심영역이 참조 픽쳐의 비관심영역을 참조한 경우(CASE1)와 현재 픽쳐의 관심영역이 참조 픽쳐의 관심영역을 참조한 경우(CASE2)는 문제가 발생하지 않지만, 현재 픽쳐의 비관심영역이 참조 픽쳐의 관심영역을 참조한 경우(CASE3)에는 참조 픽쳐의 암호화된 관심영역을 참조하게되어 관심영역(ROI)이 이동하는 궤적에 따라서 잔상이 남게되는 시간적 드리프트 에러(temporal drift error)가 발생하게 된다.In this case, no problem occurs when the non-interest area of the current picture refers to the non-interest area of the reference picture (CASE1) and when the interest area of the current picture refers to the interest area of the reference picture (CASE2) When the non-interest area refers to the ROI of the reference picture (CASE3), a temporal drift error occurs in which the ROI moves due to the reference to the ROI, .

도 2로 돌아와서, 본 발명의 실시 예에 따른 암호화기(200)는 상기 시간적 드리프트를 줄이기 위하여 관심영역 이동 검출기(202)와 시간적 드리프트 보상기(204)를 포함한다.Returning to FIG. 2, the encryptor 200 according to an embodiment of the present invention includes a region of interest movement detector 202 and a temporal drift compensator 204 to reduce the temporal drift.

관심영역 이동 검출기(202)는 인코더(150)로부터 전송된 인코딩된 비트스트림으로부터 관심영역의 이동여부를 판단할 수 있다. The region of interest motion detector 202 may determine whether the region of interest is moved from the encoded bitstream transmitted from the encoder 150.

실시 예에 따라, 관심영역 이동 검출기(202)는 PPS(Picture Parameter Set) NAL(Nework Abstraction Layer)의 출현에 기초하여, 관심영역의 이동 여부를 판단할 수 있다.According to an embodiment, the region of interest detector 202 may determine whether the region of interest is moving based on the appearance of a Picture Parameter Set (PPS) Nework Abstraction Layer (NAL).

판단 결과, 관심영역의 이동이 있는 경우, 관심영역 이동 검출기(202)는 인코더(150)로부터 전송된 인코딩된 비트스트림을 시간적 드리프트 보상기(204)로 전송할 수 있다.As a result of the determination, if there is movement of the ROI, the ROI detector 202 may transmit the encoded bit stream transmitted from the encoder 150 to the temporal drift compensator 204. [

판단 결과, 관심영역의 이동이 없는 경우, 관심영역 이동 검출기(202)는 인코더(150)로부터 전송된 인코딩된 비트스트림을 관심영역 데이터 추출기(206)로 전송할 수 있다.As a result of the determination, if there is no movement of the ROI, the ROI detector 202 may transmit the encoded bitstream transmitted from the encoder 150 to the ROI extractor 206. [

시간적 드리프트 보상기(204)는 인코딩된 비트스트림을 재구성할 수 있다.The temporal drift compensator 204 may reconstruct the encoded bit stream.

도 2와 도 4를 함께 참조하면, 시간적 드리프트는 움직임 추정 및 움직임 보상에 의해 발생하며, 움직임 추정 및 움직임 보상에 의한 의존성은 비트스트림에서 새로운 인트라 부호화 영상(intra picture, I 픽쳐)이 등장하기 전까지 지속된다.Referring to FIG. 2 and FIG. 4 together, the temporal drift is generated by motion estimation and motion compensation, and the dependence by motion estimation and motion compensation is determined until a new intra-picture (I picture) It continues.

시간적 드리프트 보상기(204)는 상기 의존성에 의한 시간적 드리프트를 완화시키기 위하여, 인코딩된 비트스트림의 순방향 예측 부호화 영상들(uni-directional predicted pictures, P 픽쳐)과 양방향 예측 부호화 영상들(bi-directional predicted pictures, B 픽쳐(미도시)) 중의 적어도 어느 하나를 I 픽쳐로 재구성(reconstruction)할 수 있다.In order to mitigate the temporal drift due to the dependency, the temporal drift compensator 204 performs a temporal drift compensator 204 using uni-directional predicted pictures (P pictures) and bi-directional predicted pictures , And a B picture (not shown)) can be reconstructed into an I picture.

시간적 드리프트 보상기(204)의 동작에 따라 관심영역이 출현하였을 때 일부 P 픽쳐 또는 B 픽쳐를 I 픽쳐로 재구성함에 따라, I 픽쳐의 출현 주기가 원본 영상에서의 I 픽쳐의 출현 주기보다 짧아지며, 이후 암호화가 수행되었을 때에도 시간적 드리프트가 완화될 수 있다.When the P picture or the B picture is reconstructed into the I picture when the region of interest appears according to the operation of the temporal drift compensator 204, the appearance period of the I picture becomes shorter than the appearance period of the I picture in the original image, Time drift can be mitigated even when encryption is performed.

실시 예에 따라, 암호화기(200)는 관심영역 이동 검출기(202)와 시간적 드리프트 보상기(204)를 포함하지 않을 수도 있으며, 이 경우 인코딩된 비트스트림은 관심영역 데이터 추출기(206)로 직접 전송될 수 있다.The encoder 200 may not include the region of interest detector 202 and the temporal drift compensator 204 where the encoded bit stream is transmitted directly to the region of interest extractor 206 .

도 2로 돌아와서, 관심영역 데이터 추출기(206)는 인코딩된 비트스트림 또는 시간적 드리프트 보상기(204)로부터 처리되어 출력된 인코딩된 비트스트림을 수신하고, 인코딩된 비트스트림로부터 관심영역의 텍스쳐 데이터를 추출할 수 있다.2, the region of interest extractor 206 receives the encoded bit stream processed and output from the encoded bit stream or temporal drift compensator 204, and extracts the texture data of the region of interest from the encoded bit stream .

관심영역은 독립적인 슬라이스로 구성되어 인코딩되며, 하나의 픽쳐에 포함된 여러 개의 슬라이스들 중에서 마지막 슬라이스는 배경을 나타내며, 나머지 슬라이스들은 관심영역을 나타낸다.The region of interest is composed of independent slices and encoded. Of the multiple slices included in one picture, the last slice represents the background, and the remaining slices represent the region of interest.

도 2와 도 5를 함께 참조하면, 각 슬라이스의 위치정보는 PPS(Picture Parameter Set) NAL(Nework Abstraction Layer)에 정의되어 있으므로, 관심영역에 해당하는 슬라이스들의 위치정보(예컨대, 왼쪽 상단 매크로블록 주소(top-left MB address) 및 우측 하단 매크로블록 주소(bottom-right MB address))도 PPS NAL을 참조하여 획득할 수 있다.Referring to FIGS. 2 and 5, since the position information of each slice is defined in a PAL (Picture Parameter Set) NAL (Nework Abstraction Layer), position information of slices corresponding to a region of interest (top-left MB address) and bottom-right MB address (bottom-right MB address)) can also be obtained by referring to the PPS NAL.

관심영역 데이터 추출기(206)는 PPS NAL을 참조하여 획득한 관심영역의 위치정보를 통하여 PPS NAL에 뒤이어 위치하는 IDR(Instantaneous Decoding Refresh) NAL, non-IDR NAL 중에서 관심영역에 상응하는 NAL을 추출할 수 있다.The ROI extractor 206 extracts a NAL corresponding to the ROI from among the IDR (Instantaneous Decoding Refresh) NAL and the non-IDR NAL following the PPS NAL through the location information of the ROI obtained by referring to the PPS NAL .

관심영역 데이터 추출기(206)는 관심영역에 상응하여 추출된 NAL 중에서 텍스쳐 데이터를 추출할 수 있다.The ROI extractor 206 may extract the texture data from the extracted NAL corresponding to the ROI.

실시 예에 따라, 관심영역 데이터 추출기(206)는 관심영역에 상응하는 IDR NAL, non-IDR NAL 중에서 모션 벡터들(motion vectors) 만으로 이루어진 NAL(예컨대, non-IDR NAL)을 제외시킴으로써, 관심영역에 상응하는 텍스쳐 데이터만을 추출할 수 있다.According to an embodiment, the region of interest extractor 206 may extract an NAL (e.g., a non-IDR NAL) consisting only of motion vectors from an IDR NAL, a non-IDR NAL corresponding to a region of interest, Only the texture data corresponding to the texture data can be extracted.

도 5에 도시된 인코딩된 비트스트림 구조는 공지된 구조이므로 이에 대한 자세한 설명은 생략하도록 한다.Since the encoded bitstream structure shown in FIG. 5 is a known structure, a detailed description thereof will be omitted.

도 2로 돌아와서, 관심영역 데이터 추출기(206)에서 추출된 관심영역의 텍스쳐 데이터는 암호화부(210)로 전송되고, 관심영역 데이터 추출기(206)에 의해 추출에서 제외된 나머지 데이터(예컨대, 비관심영역의 데이터 및 관심영역의 모션 벡터 데이터)는 가산기(218)로 전송될 수 있다.2, the texture data of the ROI extracted by the ROI extractor 206 is transmitted to the encryption unit 210, and the remaining data (for example, non-ROI data) extracted by the ROI extractor 206 The data of the region and the motion vector data of the region of interest) may be transmitted to the adder 218.

암호화부(210)는 엔트로피 디코딩부(212), 암호화 모듈(encryption module; 214), 및 엔트로피 코딩부(216)를 포함할 수 있다.The encryption unit 210 may include an entropy decoding unit 212, an encryption module 214, and an entropy coding unit 216.

엔트로피 디코딩부(212)는 관심영역 데이터 추출기(206)에서 추출된 관심영역의 텍스쳐 데이터에 대하여 엔트로피 디코딩을 수행할 수 있다.The entropy decoding unit 212 may perform entropy decoding on the texture data of the ROI extracted by the ROI extractor 206. [

암호화 모듈(214)은 엔트로피 디코딩부(212)에 의해 엔트로피 디코딩된 관심영역의 텍스쳐 데이터를 암호화할 수 있다.The encryption module 214 can encrypt the entropy-decoded texture data of the region of interest by the entropy decoding unit 212. [

실시 예에 따라, 암호화 모듈(214)은 암호화키를 저장하기 위한 메모리를 포함할 수 있다.According to an embodiment, the encryption module 214 may include a memory for storing the encryption key.

다른 실시 예에 따라, 암호화 모듈(214)는 RC4 알고리즘을 이용하여 엔트로피 디코딩된 관심영역의 텍스쳐 데이터를 암호화할 수 있다.According to another embodiment, the encryption module 214 may encrypt the texture data of the entropy decoded region of interest using the RC4 algorithm.

또 다른 실시 예에 따라, 암호화 모듈(214)은 엔트로피 디코딩된 관심영역의 텍스쳐 데이터에서, DC 계수 값 및 AC 계수 값 중에서 0이 아닌 AC 값을 대상으로 선택적으로 암호화를 수행할 수 있다. 이 경우, 일부 데이터에 대해서만 암호화를 수행하므로 암호화로 인한 코딩 효율 감소를 방지할 수 있는 효과가 있다.According to another embodiment, the encryption module 214 may selectively perform encryption on non-zero AC values among the DC coefficient value and the AC coefficient value in texture data of the entropy decoded region of interest. In this case, since encryption is performed only for a part of data, a reduction in coding efficiency due to encryption can be prevented.

엔트로피 코딩부(216)은 암호화 모듈(214)에 의해 암호화된 관심영역의 텍스쳐 데이터를 다시 엔트로피 코딩하여 출력할 수 있다.The entropy coding unit 216 can again entropy code the texture data of the region of interest encrypted by the encryption module 214 and output it.

실시 예에 따라, 엔트로피 디코딩부(212)와 엔트로피 코딩부(216)는 런 렝스 코딩(run length coding)을 이용할 수 있다.According to the embodiment, the entropy decoding unit 212 and the entropy coding unit 216 may use run length coding.

가산기(218)는 관심영역 데이터 추출기(206)에 의해 추출에서 제외된 나머지 데이터(예컨대, 비관심영역의 데이터 및 관심영역의 모션 벡터 데이터)와 암호화부(210)에서 암호화되어 출력된 텍스쳐 데이터를 결합함으로써 관심 영역이 암호화된 비트스트림을 생성할 수 있다.The adder 218 adds the remaining data (for example, data of the non-interest area and motion vector data of the ROI) extracted by the ROI extractor 206 to the encoded data output from the encoding unit 210 By combining, the region of interest can generate an encrypted bitstream.

도 6은 본 발명의 기술적 사상에 의한 일 실시 예에 따라 암호화를 수행한 경우 시간적 드리프트 에러가 완화된 실시 예를 나타낸 도면이다.FIG. 6 is a diagram illustrating an embodiment in which temporal drift error is mitigated when encryption is performed according to an embodiment of the present invention.

도 2, 및 도 6(a) 내지 도 6(c)를 참조하면, 도 6(a)는 시간적 드리프트 보상기(204)에 의한 인코딩된 비트스트림의 재구성을 수행하지 않은 경우, 도 6(b)는 I 픽쳐를 30프레임 주기로 재구성한 경우, 도 6(c)는 I 픽쳐를 15프레임 주기로 재구성한 경우를 나타낸다.Referring to FIG. 2 and FIG. 6 (a) to FIG. 6 (c), FIG. 6 (a) shows a case where reconstruction of the encoded bit stream by the temporal drift compensator 204 is not performed, Shows a case where an I picture is reconstructed at a 30-frame period, and Fig. 6 (c) shows a case where an I-picture is reconstructed at a 15-frame period.

도 6(a)보다는 도 6(b)에서, 도 6(b)보다는 도 6(c)에서 시간적 드리프트가 더욱 완화된 것을 확인할 수 있다.The temporal drift is further relaxed in FIG. 6 (b) rather than in FIG. 6 (a) and in FIG. 6 (c) rather than in FIG. 6 (b).

도 1 내지 도 6에서는 암호화 장치(100)의 구성 및 동작을 위주로 설명되었으나, 복호화 장치(300)는 암호화 장치(100)의 구조와 대응되도록 구성될 수 있으며, 암호화 장치(100)의 인코딩, 암호화 단계의 역순으로 디코딩, 복호화를 수행할 수 있다.1 to 6, the decryption apparatus 300 may be configured to correspond to the structure of the encryption apparatus 100, and may be configured to encode and encrypt the encryption apparatus 100, It is possible to perform decoding and decoding in the reverse order of steps.

도 7은 본 발명의 기술적 사상에 의한 일 실시 예에 따른 비트스트림을 암호화하는 방법의 플로우차트이다.7 is a flowchart of a method of encrypting a bitstream according to an embodiment of the present invention.

도 1 내지 도 7을 참조하면, 암호화기(200)는 인코더(150)에 의해 인코딩된 비트스트림을 수신할 수 있다(S10).Referring to FIGS. 1 to 7, the encryptor 200 may receive a bitstream encoded by the encoder 150 (S10).

실시 예에 따라, 비트스트림은 다양한 비디오 코덱(video codec), 예컨대 H.264 표준 , H.265 표준 등을 통하여 인코딩된 상태로 수신될 수 있다.Depending on the embodiment, the bitstream may be received encoded in various video codecs, such as the H.264 standard, the H.265 standard, and the like.

관심영역 이동 검출기(202)는 인코딩된 비트스트림에서 관심영역(ROI)를 검출할 수 있다(S12).The ROI detector 202 may detect the ROI in the encoded bitstream (S12).

관심영역 이동 검출기(202)는 검출된 관심영역의 이동 여부를 판단할 수 있다(S14).The ROI detector 202 can determine whether the detected ROI has been moved (S14).

실시 예에 따라, 관심영역 이동 검출기(202)는 PPS NAL의 출현에 기초하여 관심영역의 이동 여부를 판단할 수 있다.According to an embodiment, the region of interest motion detector 202 may determine whether to move the region of interest based on the appearance of the PPS NAL.

관심영역 이동 검출기(202)의 판단결과 관심영역이 이동한 경우, 시간적 드리프트 보상기(204)는 인코딩된 비트스트림을 재구성할 수 있다(S16).When the ROI detector 202 determines that the ROI has moved, the temporal drift compensator 204 may reconstruct the encoded bitstream (S16).

실시 예에 따라, 관심영역 이동 검출기(202)는 인코딩된 비트스트림의 I 픽쳐와 B 픽쳐 중의 적어도 어느 하나를 I 픽쳐로 재구성할 수 있다.According to an embodiment, the region of interest motion detector 202 may reconstruct at least one of an I picture and a B picture of the encoded bit stream into an I picture.

관심영역 데이터 추출기(206)는 관심영역의 텍스쳐 데이터만을 추출할 수 있다(S18).The ROI extractor 206 extracts only the texture data of the ROI (S18).

실시 예에 따라, 관심영역 이동 검출기(202)의 판단결과 관심영역이 이동하지 않은 경우, S16 단계는 생략될 수도 있다.According to an embodiment, if the ROI detector 202 determines that the ROI has not moved, step S16 may be omitted.

암호화부(210)는 관심영역 데이터 추출기(206)에 의하여 추출된 관심영역의 텍스쳐 데이터를 암호화할 수 있다(S20).The encryption unit 210 may encrypt the texture data of the ROI extracted by the ROI extractor 206 (S20).

실시 예에 따라, 암호화부(210)는 엔트로피 디코딩, 암호화, 및 엔트로피 코딩 과정을 순차적으로 수행함으로써 관심영역 텍스쳐 데이터를 암호화할 수 있다.According to the embodiment, the encryption unit 210 can encrypt the region of interest texture by sequentially performing entropy decoding, encryption, and entropy coding.

가산기(218)는 관심영역 데이터 추출기(206)에 의해 추출에서 제외된 나머지 데이터(예컨대, 비관심영역의 데이터 및 관심영역의 모션 벡터 데이터)와 암호화부(210)에서 암호화되어 출력된 텍스쳐 데이터를 결합함으로써 관심 영역이 암호화된 비트스트림을 생성할 수 있다(S22).The adder 218 adds the remaining data (for example, data of the non-interest area and motion vector data of the ROI) extracted by the ROI extractor 206 to the encoded data output from the encoding unit 210 By combining, the region of interest can generate an encrypted bitstream (S22).

이상, 본 발명의 기술적 사상을 다양한 실시 예들을 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시 예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, Various modifications and variations are possible.

10 : 암복호화 시스템
100 : 암호화 장치
150 : 인코더
200 : 암호화기
202 : 관심영역 이동 검출기
204 : 시간적 드리프트 보상기
206 : 관심영역 데이터 추출기
210 : 암호화부
300 : 복호화 장치
350 : 디코더
400 : 복호화기
10: Encryption decryption system
100: Encryption device
150: Encoder
200: Encryptor
202: region of interest shift detector
204: Time Drift Compensator
206: ROI extractor
210:
300: Decryption device
350: decoder
400: Decoder

Claims (15)

인코딩된 비트스트림(bitstream)으로부터 관심영역의 텍스쳐(texture) 데이터를 추출하는 단계;
추출된 상기 텍스쳐 데이터를 암호화하여 암호화된 텍스쳐 데이터를 생성하는 단계; 및
상기 인코딩된 비트스트림에서 상기 텍스쳐 데이터를 제외한 나머지 데이터 및 상기 암호화된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 단계를 포함하는, 비트스트림을 암호화하는 방법.
Extracting texture data of a region of interest from an encoded bitstream;
Encrypting the extracted texture data to generate encrypted texture data; And
And generating an encrypted bit stream based on the encrypted texture data and the remaining data excluding the texture data in the encoded bit stream.
제1항에 있어서,
상기 암호화된 텍스쳐 데이터를 생성하는 단계는,
추출된 상기 텍스쳐 데이터를 엔트로피 디코딩하는 단계;
엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 단계; 및
암호화된 텍스쳐 데이터를 엔트로피 코딩하여, 엔트로피 코딩된 텍스쳐 데이터를 생성하는 단계를 포함하는, 비트스트림을 암호화하는 방법.
The method according to claim 1,
Wherein the generating the encrypted texture data comprises:
Entropy decoding the extracted texture data;
Encrypting entropy-decoded texture data; And
Entropy coding the encrypted texture data to generate entropy coded texture data.
제2항에 있어서,
상기 관심영역이 암호화된 비트스트림을 생성하는 단계는,
상기 나머지 데이터 및 상기 엔트로피 코딩된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 단계를 포함하는, 비트스트림을 암호화하는 방법.
3. The method of claim 2,
Wherein the step of generating the encrypted bitstream comprises:
And generating the encrypted bitstream based on the residual data and the entropy coded texture data.
제2항에 있어서,
상기 엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 단계는,
RC4 알고리즘을 이용하여 암호화하는, 비트스트림을 암호화하는 방법.
3. The method of claim 2,
Wherein encrypting the entropy-decoded texture data comprises:
A method for encrypting a bitstream, the method comprising encrypting using an RC4 algorithm.
제2항에 있어서,
상기 엔트로피 코딩 및 상기 엔트로피 디코딩 각각은, 런 렝스 코딩(run length coding)을 이용하는, 비트스트림을 암호화하는 방법
3. The method of claim 2,
Each of the entropy coding and the entropy decoding is a method of encrypting a bitstream, using run length coding
제2항에 있어서,
상기 엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 단계는,
상기 엔트로피 디코딩된 텍스쳐 데이터에서, DC 계수 값 및 AC 계수 값들 중에서 0이 아닌 AC 계수 값만을 선택적으로 암호화하는, 비트스트림을 암호화하는 방법.
3. The method of claim 2,
Wherein encrypting the entropy-decoded texture data comprises:
And selectively encrypting only non-zero AC coefficient values among DC coefficient values and AC coefficient values in the entropy decoded texture data.
제1항에 있어서,
상기 관심영역이 암호화된 비트스트림을 생성하는 단계 이전에,
상기 관심영역의 이동 여부를 판단하는 단계; 및
판단 결과 상기 관심영역이 이동하는 경우, 상기 인코딩된 비트스트림의 순방향 예측 부호화 영상들(uni-directional predicted pictures)과 양방향 예측 부호화 영상들(bi-directional predicted pictures) 중의 적어도 어느 하나를 인트라 부호화 영상(intra picture)으로 재구성(reconstruction)하는 단계를 더 포함하는, 비트스트림을 암호화하는 방법.
The method according to claim 1,
Before the step of generating the encrypted bitstream,
Determining whether the region of interest is moved; And
As a result of the determination, when the region of interest is moved, at least one of uni-directional predicted pictures and bi-directional predicted pictures of the encoded bitstream is referred to as an intra- further comprising the step of reconstructing the bitstream into an intra picture.
제7항에 있어서,
상기 관심영역의 이동 여부를 판단하는 단계는,
상기 인코딩된 비트스트림 내에서의 PPS(Picture Parameter Set) NAL(Network Abstraction Layer)의 출현에 기초하여, 상기 관심영역의 이동 여부를 판단하는, 비트스트림을 암호화하는 방법.
8. The method of claim 7,
Wherein the step of determining whether to move the ROI comprises:
And determining whether to move the ROI based on the appearance of a PAL (Picture Parameter Set) Network Abstraction Layer (NPS) within the encoded bitstream.
제7항에 있어서,
상기 재구성하는 단계를 수행하는 주기는,
상기 인코딩된 비트스트림의 상기 인트라 부호화 영상의 출현 주기보다 짧은, 비트스트림을 암호화하는 방법.
8. The method of claim 7,
The period of performing the reconstructing step may be,
Encoded video is shorter than an appearance period of the intra-encoded video of the encoded bitstream.
제1항에 있어서,
상기 텍스쳐 데이터를 추출하는 단계 이전에,
상기 인코딩된 비트스트림으로부터 상기 관심영역을 검출하는 단계를 더 포함하는, 비트스트림을 암호화하는 방법.
The method according to claim 1,
Before the step of extracting the texture data,
And detecting the region of interest from the encoded bitstream.
제10항에 있어서,
상기 관심영역의 텍스쳐 데이터를 추출하는 단계는,
상기 인코딩된 비트스트림 내의 상기 관심영역에 상응하는 IDR(Instantaneous Decoding Refresh) NAL 및 non-IDR NAL 중에서 모션 벡터들(motion vectors) 만으로 이루어진 NAL을 제외시킴으로써 상기 관심영역의 텍스쳐 데이터를 추출하는, 비트스트림을 암호화하는 방법.
11. The method of claim 10,
Wherein the extracting of texture data of the ROI comprises:
Extracting texture data of the ROI by excluding an NAL consisting of motion vectors only from an IDR (Instantaneous Decoding Refresh) NAL and a non-IDR NAL corresponding to the ROI in the encoded bitstream, Lt; / RTI >
인코딩된 비트스트림(bitstream)으로부터 관심영역의 텍스쳐(texture) 데이터를 추출하는 관심영역 데이터 추출기;
추출된 상기 텍스쳐 데이터를 암호화하여 암호화된 텍스쳐 데이터를 생성하는 암호화부; 및
상기 인코딩된 비트스트림에서 상기 텍스쳐 데이터를 제외한 나머지 데이터 및 상기 암호화된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 가산기를 포함하는, 비트스트림 암호화기.
A region of interest extractor for extracting texture data of a region of interest from an encoded bitstream;
An encryption unit for encrypting the extracted texture data to generate encrypted texture data; And
And an adder that generates an encrypted bitstream based on the encrypted texture data and the remaining data excluding the texture data in the encoded bitstream.
제12항에 있어서,
상기 관심영역 데이터 추출기로부터 추출된 상기 텍스쳐 데이터를 엔트로피 디코딩하는 엔트로피 디코딩부;
엔트로피 디코딩된 텍스쳐 데이터를 암호화하는 암호화 모듈; 및
암호화된 텍스쳐 데이터를 엔트로피 코딩하여 엔트로피 코딩된 텍스쳐 데이터를 생성하는 엔트로피 코딩부를 더포함하는, 비트스트림 암호화기.
13. The method of claim 12,
An entropy decoding unit for entropy decoding the texture data extracted from the ROI extractor;
An encryption module for encrypting entropy-decoded texture data; And
And an entropy coding unit for entropy coding the encrypted texture data to generate entropy coded texture data.
제12항에 있어서,
상기 관심영역의 이동 여부를 판단하고 판단 결과 상기 관심영역이 이동하는 경우, 상기 인코딩된 비트스트림의 순방향 예측 부호화 영상들(uni-directional predicted pictures)과 양방향 예측 부호화 영상들(bi-directional predicted pictures) 중의 적어도 어느 하나를 인트라 부호화 영상(intra picture)으로 재구성(reconstruction)하는 시간적 드리프트 보상기를 더 포함하는, 비트스트림 암호화기.
13. The method of claim 12,
Directional predicted pictures of the encoded bitstream and bi-directional predicted pictures of the encoded bitstream when the ROI is determined as a result of the determination, Further comprising a temporal drift compensator for reconstructing at least one of the at least one of the intra-picture and the at least one intra picture.
수신된 비트스트림을 인코딩하는 인코더; 및
인코딩된 비트스트림(bitstream)으로부터 관심영역의 텍스쳐(texture) 데이터를 추출하고, 추출된 상기 텍스쳐 데이터를 암호화하여 암호화된 텍스쳐 데이터를 생성하여, 상기 인코딩된 비트스트림에서 상기 텍스쳐 데이터를 제외한 나머지 데이터 및 상기 암호화된 텍스쳐 데이터에 기초하여, 상기 관심영역이 암호화된 비트스트림을 생성하는 비트스트림 암호화기를 포함하는, 비트스트림 암호화 장치.
An encoder for encoding the received bitstream; And
Extracting texture data of a region of interest from an encoded bitstream, encrypting the extracted texture data to generate encrypted texture data, extracting remaining data excluding the texture data in the encoded bitstream, And a bitstream encryptor for generating an encrypted bitstream based on the encrypted texture data.
KR1020160165190A 2016-12-06 2016-12-06 Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same KR20180064832A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160165190A KR20180064832A (en) 2016-12-06 2016-12-06 Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160165190A KR20180064832A (en) 2016-12-06 2016-12-06 Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020180157312A Division KR20180134801A (en) 2018-12-07 2018-12-07 Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same

Publications (1)

Publication Number Publication Date
KR20180064832A true KR20180064832A (en) 2018-06-15

Family

ID=62628986

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160165190A KR20180064832A (en) 2016-12-06 2016-12-06 Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same

Country Status (1)

Country Link
KR (1) KR20180064832A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040044685A (en) * 2002-11-21 2004-05-31 삼성전자주식회사 Coding compression apparatus and method for multimedia data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040044685A (en) * 2002-11-21 2004-05-31 삼성전자주식회사 Coding compression apparatus and method for multimedia data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Alexander Wong, et al. Backwards Compatible, Multi-Level Regions-of-Interest (ROI) Image Encryption Architecture with Biometric Authentication. SIGMAP. 2007. *
Fei Peng, et al. An ROI privacy protection scheme for H. 264 video based on FMO and chaos. IEEE transactions on information forensics and security. 2013. *
lexander Wong, et al. Backwards Compatible, Multi-Level Regions-of-Interest (ROI) Image Encryption Architecture with Biometric Authentication. SIGMAP. 2007. *
Yeongyun Kim, et al. A selective video encryption for the region of interest in scalable video coding. TENCON 2007-2007 IEEE Region 10 Conference. 2007. *

Similar Documents

Publication Publication Date Title
US20200296357A1 (en) Image processing apparatus and method thereof
Shahid et al. Visual protection of HEVC video by selective encryption of CABAC binstrings
Boyadjis et al. Extended selective encryption of H. 264/AVC (CABAC)-and HEVC-encoded video streams
MX2013014932A (en) Unified merge mode and adaptive motion vector prediction mode candidates selection.
Farajallah et al. ROI encryption for the HEVC coded video contents
MX2013013050A (en) Offset type and coefficients signaling method for sample adaptive offset.
KR100694137B1 (en) Apparatus for encoding or decoding motion image, method therefor, and recording medium storing a program to implement thereof
MX2014012291A (en) Wavefront parallel processing for video coding.
Sallam et al. Efficient HEVC selective stream encryption using chaotic logistic map
US20120230388A1 (en) Method and system for protecting image data in frame buffers of video compression systems
Ma et al. Lossless ROI privacy protection of H. 264/AVC compressed surveillance videos
KR102575244B1 (en) Apparatus and method for encrypting privacy areas from compressed video
Van Wallendael et al. Format-compliant encryption techniques for high efficiency video coding
Taha et al. End-to-end real-time ROI-based encryption in HEVC videos
JP2005229188A (en) Video communication apparatus and video communication method
Deng et al. Efficient block-based transparent encryption for H. 264/SVC bitstreams
Dubois et al. Smart selective encryption of H. 264/AVC videos using confidentiality metrics
US9826229B2 (en) Scan pattern determination from base layer pixel information for scalable extension
KR20180134801A (en) Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same
KR20180064832A (en) Method for encrypting bitstream, bitstream encryptor using the same, and bitstream encrypting device including the same
KR20180102455A (en) How to mask privacy data in the HEVC video
Unterweger et al. Slice groups for post-compression region of interest encryption in H. 264/AVC and its scalable extension
Wang et al. Privacy region protection for H. 264/AVC by encrypting the intra prediction modes without drift error in I frames
Gerhardt et al. Selective face encryption in H. 264 encoded videos
Choupani et al. Drift-free video coding for privacy protected video scrambling

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment