KR102114136B1 - method of providing object sequence management for compressed video by use of blockchain of motion vectors - Google Patents

method of providing object sequence management for compressed video by use of blockchain of motion vectors Download PDF

Info

Publication number
KR102114136B1
KR102114136B1 KR1020190015276A KR20190015276A KR102114136B1 KR 102114136 B1 KR102114136 B1 KR 102114136B1 KR 1020190015276 A KR1020190015276 A KR 1020190015276A KR 20190015276 A KR20190015276 A KR 20190015276A KR 102114136 B1 KR102114136 B1 KR 102114136B1
Authority
KR
South Korea
Prior art keywords
image
motion vector
sequence
compressed image
blockchain
Prior art date
Application number
KR1020190015276A
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 KR1020190015276A priority Critical patent/KR102114136B1/en
Application granted granted Critical
Publication of KR102114136B1 publication Critical patent/KR102114136B1/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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/66Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving data partitioning, i.e. separation of data into packets or partitions according to importance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability

Landscapes

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

Abstract

The present invention relates to a technique for obtaining sequence information for objects present in general compressed videos such as H.264 AVC and H.265 HEVC videos and effectively managing the objects so that the sequence information cannot be forged or falsified. More specifically, the present invention relates to a technique which classifies and manages objects so that the same is difficult to forge or falsify as the objects become important by differently setting the difficulty of a blockchain according to the importance of the objects by adopting a method for identifying the objects in compressed videos generated by, for example, a CCTV camera or a vehicle black box, managing the same, and checking whether the sequence information for the objects is forged or falsified by managing, as the blockchain, motion vectors for the compressed videos without the need for identification experts to view a playback screen or use special identification information inserted into the compressed videos as in a conventional technique, so as to verify whether the sequence information for the objects has been forged or falsified. A method for managing an object sequence for compressed videos comprises a step of determining whether the object sequence has been forged or falsified on the basis of a comparison result between a first motion vector sequence and a second motion vector sequence.

Description

모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법 {method of providing object sequence management for compressed video by use of blockchain of motion vectors}{Method of providing object sequence management for compressed video by use of blockchain of motion vectors}

본 발명은 일반적으로 H.264 AVC 및 H.265 HEVC 등의 압축영상에 대해 영상 내에 존재하는 객체들의 시퀀스 정보를 얻고 이들이 무단 위변조되지 않도록 효과적으로 관리하는 기술에 관한 것이다.The present invention generally relates to a technique for obtaining sequence information of objects existing in an image for compressed images such as H.264 AVC and H.265 HEVC and effectively managing them so that they are not tampered with.

더욱 상세하게는, 본 발명은 예컨대 CCTV 카메라나 차량용 블랙박스가 생성하는 압축영상에서 객체를 식별하여 관리하고 이들 객체들의 시퀀스 정보가 위변조되었는지 검증하기 위해 종래기술처럼 감식 전문가들이 재생화면을 살펴보거나 압축영상에 삽입된 특수한 감식정보를 이용할 필요없이 압축영상의 모션벡터를 블록체인으로 관리하여 위변조 여부를 확인하는 방식을 채택하며 객체의 중요도에 따라 블록체인의 난이도를 상이하게 설정하여 중요한 객체일수록 위변조가 더욱 곤란하도록 구분 관리하는 기술에 관한 것이다.More specifically, in the present invention, for example, in order to identify and manage objects in a compressed image generated by a CCTV camera or a vehicle black box, and verify that the sequence information of these objects has been forged, reviewing or compressing playback screens by the expert experts as in the prior art It adopts a method to check for forgery or alteration by managing the motion vector of a compressed image as a block chain without using the special identification information embedded in the image.It sets the difficulty of the blockchain differently according to the importance of the object, so that the forgery forgery becomes more important. It is about the technology to manage the classification so that it is more difficult.

최근에는 범죄예방이나 사후증거 확보 등을 위해 CCTV 영상관제 시스템을 구축하는 것이 일반적이다. 지역별로 다수의 CCTV 카메라를 설치해둔 상태에서 이들 CCTV 카메라가 생성하는 영상을 관제 모니터에 표시하고 스토리지 장치에 저장해두는 것이다. 범죄나 사고가 발생하는 장면을 관제 요원이 발견하면 그 즉시 적절하게 대처하는 한편, 범죄나 사고발생 이후에 사후증거 확보를 위해 스토리지 장치에 저장되어 있는 영상을 검색한다.Recently, it is common to establish a CCTV video control system to prevent crime or secure post-evidence. In the state where multiple CCTV cameras are installed in each region, the video generated by these CCTV cameras is displayed on a control monitor and stored in a storage device. When a control agent finds a scene in which a crime or accident occurs, it immediately responds appropriately, and searches for the video stored in the storage device to secure post-mortem evidence after the crime or accident occurs.

또한, 교통사고 처리에서 유리한 위치에 서기 위하여 차량에 블랙박스를 장착하는 것이 일반적이다. 블랙박스는 차량 운행시에 카메라를 통해 지속적으로 주변 상황을 촬영하여 메모리 카드에 저장해주는데, 교통사고가 발생하게 되면, 운전자는 자신의 차량에 장착된 블랙박스 영상을 확인하고 자신에게 유리한 내용이라면 사고발생 시점의 영상을 증거로 활용한다. 이들 CCTV 영상이나 블랙박스 영상을 증거로서 활용하거나 반대로 이들의 증거력을 부정하기 위해서는 그 영상이 위변조되었는지 여부를 확인할 수 있어야 한다. In addition, it is common to mount a black box on a vehicle to stand in an advantageous position in handling traffic accidents. When the vehicle is in operation, the camera continuously photographs the surrounding situation through the camera and stores it in the memory card. When a traffic accident occurs, the driver checks the image of the black box installed in his vehicle and accidents if it is advantageous to him. The image at the time of occurrence is used as evidence. In order to use these CCTV images or black box images as evidence, or conversely, to deny their evidence, it is necessary to be able to check whether the images have been forged.

또한, 촬영 영상에서 특정 인물에 관련된 영상이나 이미지 시퀀스(예: 애니매이션 GIF 등)를 따로 편집 작성하여 인터넷 사이트(예: 유튜브)에 공개하는 경우도 발생한다. 이중에는 영상의 일부를 삭제하거나 특정 인물의 동선을 약간 변경함으로써 원본 영상과는 전혀 상이한 결과물 혹은 원본과 유사하지만 뉘앙스가 상당히 다른 결과물을 만들어 내기도 한다. 인터넷에서 이러한 콘텐츠를 제거하기 위해서도 영상 위변조 여부를 확인할 필요가 있다.In addition, a video or image sequence related to a specific person (eg, animation GIF, etc.) is separately edited and created and published on an Internet site (eg, YouTube). Among them, by deleting a part of the image or slightly changing the movement line of a specific person, it may produce a result that is completely different from the original image or a result that is similar to the original image but with significantly different nuances. In order to remove such content from the Internet, it is necessary to check whether the video is forged or not.

컴퓨터 그래픽 소프트웨어를 사용하여 영상에서 한두 사람을 삭제하거나 약간 이동하는 것은 그다지 어려운 것이 아니다. 이를 통해, 실제로는 세 사람이 공동으로 범죄를 저질렀음에도 불구하고 그중에서 한 사람을 영상에서 지워 두 사람만 범인으로 만들 수도 있다. 또는, 영상에서 특정인이 찍힌 중간의 3초 분량을 잘라내고 영상을 새로 인코딩하는 것도 가능하다. 또는, 실제로는 부딪쳤음에도 불구하고 옆으로 스쳐지나간 것처럼 수정하는 것도 가능하다. 이러한 일은 블랙박스 영상에서도 마찬가지로 발생한다. 교통사고 발생 시에 사고 당사자는 자신의 차량에 장착된 블랙박스에서 사고당시 영상을 확보한 후에, 자신에게 불리한 부분은 잘라내고 유리한 부분만 보험사나 경찰에 제출한다. Using computer graphics software to delete one or two people from a video or move it a little is not that difficult. Through this, even though three people actually committed a crime, only one of them can be made a criminal by deleting one of them from the video. Alternatively, it is possible to cut a 3 second portion in the middle taken by a specific person from the image and encode the image newly. Alternately, it is also possible to fix it as if it was rubbed sideways despite being hit. This happens in the black box video as well. In the event of a traffic accident, the accident party obtains a video at the time of the accident from the black box mounted on his vehicle, cuts out the parts that are unfavorable to him, and submits only the advantageous parts to the insurance company or the police.

그러나, 종래에는 영상이 위변조되었는지 여부를 식별하는 것이 매우 어려웠다. 감식 전문가들이 검사대상 영상을 반복하여 재생하면서 그 화면이 자연스러운지 여부를 살펴보는 것이 일반적이었다. 또한, 워터마크와 같은 특수한 감식정보를 영상에 삽입해둠으로써 위변조 여부를 판단하였다.However, conventionally, it has been very difficult to discern whether an image has been forged. It has been common for sensational experts to repeatedly check the image to be inspected and check whether the screen is natural. In addition, by forcing special identification information such as a watermark into the image, it was determined whether the forgery has been forged.

그러나, 이러한 방식은 CCTV 영상이나 블랙박스 영상과 같이 대규모로 생성되고 특히 손실압축(lossy compression) 기술이 채택된 영상에는 적합하지 않다. 전문가 감식은 판별 속도가 느리기 때문에 소량의 영상을 감별하는 데에만 적합할 뿐만 아니라 불리한 결과를 받은 사람들이 쉽게 동의하지 않는 문제점이 있다. 감식정보 방식은 영상에 삽입된 감식정보들이 영상처리 과정에서 깨지면 안되기 때문에 손실압축 기술이 적용된 분야에는 적용이 곤란하다.However, this method is not suitable for images that are generated on a large scale, such as CCTV images or black box images, and which employs a lossy compression technique. Since expert discrimination is slow in discrimination, it is not only suitable for discriminating a small amount of images, but also has a problem that people with adverse results do not readily agree. The identification information method is difficult to apply in the field in which lossy compression technology is applied because the identification information embedded in the image should not be broken in the image processing process.

따라서, CCTV 영상이나 블랙박스 영상 등의 압축영상에 대해 영상 위변조를 효과적으로 식별해내는 기술이 필요하다. 특히, 영상 내에 복수의 객체가 촬영되어 있는 경우에 영상 위변조가 발생하였는지 여부를 개별 객체 단위로 판별할 수 있는 기술이 구현된다면 유용할 것이다.Therefore, there is a need for a technique for effectively identifying image forgery and alteration for compressed images such as CCTV images and black box images. In particular, it would be useful if a technique capable of discriminating whether or not image forgery occurred in individual object units when a plurality of objects are captured in the image is implemented.

본 발명의 목적은 일반적으로 H.264 AVC 및 H.265 HEVC 등의 압축영상에 대해 영상 내에 존재하는 객체들의 시퀀스 정보를 얻고 이들이 무단 위변조되지 않도록 효과적으로 관리하는 기술을 제공하는 것이다.An object of the present invention is to provide a technique for effectively obtaining sequence information of objects existing in an image for compressed images such as H.264 AVC and H.265 HEVC, and effectively preventing them from unauthorized forgery.

특히, 본 발명의 목적은 예컨대 CCTV 카메라나 차량용 블랙박스가 생성하는 압축영상에서 객체를 식별하여 관리하고 이들 객체들의 시퀀스 정보가 위변조되었는지 검증하기 위해 종래기술처럼 감식 전문가들이 재생화면을 살펴보거나 압축영상에 삽입된 특수한 감식정보를 이용할 필요없이 압축영상의 모션벡터를 블록체인으로 관리하여 위변조 여부를 확인하는 방식을 채택하며 객체의 중요도에 따라 블록체인의 난이도를 상이하게 설정하여 중요한 객체일수록 위변조가 더욱 곤란하도록 구분 관리하는 기술을 제공하는 것이다.In particular, the object of the present invention is to identify and manage objects in a compressed image generated by, for example, a CCTV camera or a vehicle black box, and to verify whether the sequence information of these objects has been forged or altered, expert users look at the playback screen or view compressed images as in the prior art. It adopts a method to check for forgery or alteration by managing the motion vector of the compressed image as a block chain without using the special identification information inserted in the block, and by setting the difficulty of the blockchain differently according to the importance of the object, forgery is more important It is to provide the technology to manage the classification so that it is difficult.

상기의 목적을 달성하기 위하여 본 발명에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법은, 영상 위변조 여부 관리 대상인 제 1 압축영상을 제공받는 제 1 단계; 제 1 압축영상을 파싱하여 다수의 모션벡터('제 1 모션벡터')를 시간 진행에 따라 순차적으로 획득하는 제 2 단계; 제 1 압축영상에서 위변조 여부의 관리 대상 이미지 덩어리인 객체 단위영역을 하나이상 식별하고 그 객체 단위영역 각각을 구분 식별하기 위한 제 1 객체 식별정보를 식별하는 제 3 단계; 미리 설정된 블록체인 갱신주기 단위로, 다수의 제 1 모션벡터 중에서 객체 단위영역에 각각 관련된 모션벡터의 시퀀스('모션벡터 객체시퀀스')를 식별하고, 하나이상의 객체 단위영역 별로 제 1 객체 식별정보와 모션벡터 객체시퀀스를 결합하여 객체 단위궤적을 생성하고, 하나이상의 객체 단위궤적을 취합하여 블록 데이터를 생성하는 제 4 단계; 블록체인 갱신주기마다 블록 데이터를 반영하여 메인 블록체인을 업데이트하는 제 5 단계; 영상 위변조 여부 확인 대상인 객체의 이미지 시퀀스('객체 시퀀스')가 포함된 제 2 압축영상을 제공받는 제 6 단계; 제 2 압축영상을 파싱하여 다수의 모션벡터('제 2 모션벡터')를 시간 진행에 따라 순차적으로 획득하는 제 7 단계; 제 2 압축영상으로부터 영상 위변조 여부 확인 대상인 객체를 구분 식별하기 위한 제 2 객체 식별정보를 추출하는 제 8 단계; 다수의 제 2 모션벡터 중에서 제 2 객체 식별정보에 관련된 모션벡터의 시퀀스를 식별하여 연결함으로써 객체 시퀀스를 위한 제 1 모션벡터 시퀀스를 획득하는 제 9 단계; 메인 블록체인을 조회하여 제 2 객체 식별정보에 대응하는 객체 단위궤적을 구비하는 하나이상의 블록 데이터를 추출하고, 그 추출된 블록 데이터에 포함된 객체 단위궤적의 모션벡터 객체시퀀스를 분석하여 객체 시퀀스를 위한 제 2 모션벡터 시퀀스를 획득하는 제 10 단계; 제 1 모션벡터 시퀀스와 제 2 모션벡터 시퀀스를 비교한 결과에 기초하여 객체 시퀀스의 위변조 여부를 판단하는 제 11 단계;를 포함하여 구성된다.In order to achieve the above object, a method for managing an object sequence of a compressed image using a motion vector block chain according to the present invention includes: a first step of receiving a first compressed image that is a target for managing forgery or alteration of an image; A second step of parsing the first compressed image and sequentially obtaining a plurality of motion vectors ('first motion vectors') over time; A third step of identifying one or more object unit areas, which are chunks of images to be managed for forgery or not, in the first compressed image, and identifying first object identification information for discriminating and identifying each of the object unit areas; In a preset block chain update cycle unit, a sequence of motion vectors ('motion vector object sequence') related to each object unit area among a plurality of first motion vectors is identified, and first object identification information for each one or more object unit areas and A fourth step of generating an object unit trajectory by combining motion vector object sequences, and generating block data by combining one or more object unit trajectories; A fifth step of updating the main blockchain by reflecting block data at each blockchain update cycle; A sixth step of receiving a second compressed image including an image sequence ('object sequence') of an object to be checked for forgery of the image; A seventh step of parsing the second compressed image and sequentially obtaining a plurality of motion vectors ('second motion vectors') over time; An eighth step of extracting second object identification information for classifying and identifying the object to be checked for forgery of the image from the second compressed image; A ninth step of obtaining a first motion vector sequence for an object sequence by identifying and linking a sequence of motion vectors related to second object identification information among a plurality of second motion vectors; Query the main blockchain to extract one or more block data having an object unit trajectory corresponding to the second object identification information, and analyze the motion vector object sequence of the object unit trajectory included in the extracted block data to analyze the object sequence. A tenth step of obtaining a second motion vector sequence for the operation; And an eleventh step of determining whether the object sequence is forged or not based on the result of comparing the first motion vector sequence and the second motion vector sequence.

이때, 본 발명에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법은, 제 5 단계 이후에 수행되는, 메인 블록체인의 블록 데이터에 저장된 다수의 객체 단위궤적을 각각의 제 1 객체 식별정보가 속하는 객체 그룹에 대응하여 난이도를 달리하는 복수의 백업 블록체인에 백업 복사하는 제 12 단계; 제 9 단계와 제 10 단계 사이에 수행되는, 제 2 객체 식별정보가 백업 블록체인에 백업 복사된 경우에, 복수의 백업 블록체인 중에서 제 2 객체 식별정보가 속하는 객체 그룹에 대응하는 백업 블록체인을 조회하여 제 2 객체 식별정보에 대응하는 객체 단위궤적을 구비하는 하나이상의 블록 데이터를 추출하고, 그 추출된 블록 데이터에 포함된 객체 단위궤적의 모션벡터 객체시퀀스를 분석하여 객체 시퀀스를 위한 제 2 모션벡터 시퀀스를 획득하고 제 11 단계로 진행하는 제 13 단계;를 더 포함하여 구성될 수 있다.At this time, the object sequence management method of the compressed image using the motion vector block chain according to the present invention is performed after the fifth step, the first object identification information of a plurality of object unit trajectories stored in the block data of the main blockchain A twelfth step of backing up and copying a plurality of backup blockchains having different difficulty levels corresponding to a group of objects to which they belong; When the second object identification information, which is performed between the ninth step and the tenth step, is backed up and copied to the backup blockchain, the backup blockchain corresponding to the object group to which the second object identification information belongs among the plurality of backup blockchains Second motion for the object sequence by searching and extracting one or more block data having the object unit trajectory corresponding to the second object identification information, and analyzing the motion vector object sequence of the object unit trajectory included in the extracted block data And a 13th step of acquiring a vector sequence and proceeding to the 11th step.

이때, 제 12 단계는, 상이한 난이도를 갖는 복수의 백업 블록체인을 설정하는 단계; 복수의 객체 그룹을 복수의 백업 블록체인에 대응 설정하는 단계; 메인 블록체인에서 각각의 블록 데이터에 저장되어 있는 각각의 객체 단위궤적을 각자의 제 1 객체 식별정보가 속하는 객체 그룹에 대응하여 복수의 백업 블록체인 중 하나의 백업 블록체인을 선택하여 해당 블록 데이터로 백업 복사하는 단계; 복수의 백업 블록체인에 대하여 각자의 난이도에 따라 블록데이터를 구성하는 단계;를 포함하여 구성될 수 있다.At this time, the twelfth step may include setting up a plurality of backup blockchains having different difficulty levels; Setting a plurality of object groups corresponding to a plurality of backup blockchains; In the main blockchain, each unit trajectory stored in each block data is selected as a corresponding block data by selecting one backup blockchain among a plurality of backup blockchains in correspondence with the object group to which the first object identification information belongs. Copying a backup; And configuring block data according to respective difficulty levels of a plurality of backup blockchains.

이때, 객체 단위영역은 제 1 압축영상의 데이터 또는 제 2 압축영상을 각각의 타겟 압축영상으로 하는 디코딩, 다운스케일 리사이징, 영상 분석을 통해 타겟 압축영상으로부터 추출된 하나이상의 이동객체 이미지로 설정될 수 있다.In this case, the object unit area may be set as one or more moving object images extracted from the target compressed image through decoding, downscale resizing, and image analysis, in which the data of the first compressed image or the second compressed image is each target compressed image. have.

또한, 객체 단위영역은 제 1 압축영상 또는 제 2 압축영상을 각각의 타겟 압축영상으로 하는 신택스 기반 이동객체 영역 추출 프로세스에 의해 식별될 수 있다. 이때, 신택스 기반 이동객체 영역 추출 프로세스는, 타겟 압축영상의 비트스트림을 파싱하여 코딩 유닛에 대한 모션벡터 및 코딩유형을 획득하는 제 A 단계; 타겟 압축영상을 구성하는 복수의 영상 블록 별로 미리 설정된 시간동안의 모션벡터 누적값을 획득하는 제 B 단계; 복수의 영상 블록에 대하여 모션벡터 누적값을 미리 설정된 제 1 임계치와 비교하는 제 C 단계; 제 1 임계치를 초과하는 모션벡터 누적값을 갖는 영상 블록을 이동객체 영역으로 마킹하는 제 D 단계; 이동객체 영역으로 마킹된 영상 블록의 개별 덩어리를 객체 단위영역으로 설정하는 제 E 단계;를 포함하여 구성될 수 있다.In addition, the object unit region may be identified by a syntax-based moving object region extraction process using a first compressed image or a second compressed image as each target compressed image. At this time, the syntax-based moving object region extraction process includes: a step A of parsing a bitstream of a target compressed image to obtain a motion vector and a coding type for a coding unit; A step B of obtaining a motion vector accumulation value for a preset time for each of a plurality of image blocks constituting a target compressed image; A step C of comparing a motion vector accumulation value with a preset first threshold value for a plurality of image blocks; A step D of marking an image block having a motion vector accumulation value exceeding a first threshold as a moving object region; And an E step of setting an individual chunk of an image block marked as a moving object area as an object unit area.

이때, 신택스 기반 이동객체 영역 추출 프로세스는, 제 D 단계와 제 E 단계 사이에 수행되는, 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록('이웃 블록')을 식별하는 제 a 단계; 복수의 이웃 블록에 대하여 제 1 단계에서 획득된 모션벡터 값을 미리 설정된 제 2 임계치와 비교하는 제 b 단계; 복수의 이웃 블록 중에서 제 b 단계의 비교 결과 제 2 임계치를 초과하는 모션벡터 값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계; 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 d 단계; 복수의 이동객체 영역에 대하여 인터폴레이션을 수행하여 이동객체 영역으로 둘러싸인 미리 설정된 갯수 이하의 비마킹 영상 블록을 이동객체 영역으로 추가 마킹하는 제 e 단계;를 더 포함하여 구성될 수 있다.At this time, the syntax-based moving object region extraction process includes: a step of identifying a plurality of adjacent image blocks ('neighbor blocks') centered on the moving object region, which is performed between steps D and E; A step b of comparing a motion vector value obtained in the first step with a second preset threshold value for a plurality of neighboring blocks; A step c of additionally marking a neighboring block having a motion vector value exceeding a second threshold as a moving object area as a result of the comparison of step b among the plurality of neighboring blocks; A d step of additionally marking a neighboring block having an intra-picture coding type as a moving object area among a plurality of neighboring blocks; And performing an interpolation on a plurality of moving object areas to additionally mark a predetermined number of non-marked image blocks surrounded by the moving object areas as moving object areas.

또한, 신택스 기반 이동객체 영역 추출 프로세스는, 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록('이웃 블록')을 식별하는 제 a 단계; 복수의 이웃 블록에 대하여 모션벡터 누적값을 제 1 임계치보다 작은 값으로 미리 설정된 제 2 임계치와 비교하는 제 b 단계; 복수의 이웃 블록 중에서 제 b 단계의 비교 결과 제 2 임계치를 초과하는 모션벡터 누적값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계; 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 d 단계; 복수의 이동객체 영역에 대하여 인터폴레이션을 수행하여 이동객체 영역으로 둘러싸인 미리 설정된 갯수 이하의 비마킹 영상 블록을 이동객체 영역으로 추가 마킹하는 제 e 단계;를 더 포함하여 구성될 수 있다.In addition, the syntax-based moving object region extraction process includes: a step of identifying a plurality of adjacent image blocks (“neighbor blocks”) around the moving object region; A step b of comparing a motion vector accumulation value with respect to a plurality of neighboring blocks to a second threshold that is preset to a value less than the first threshold; A step c of additionally marking a neighboring block having a motion vector accumulation value exceeding a second threshold as a moving object area as a result of the comparison of step b among the plurality of neighboring blocks; A d step of additionally marking a neighboring block having an intra-picture coding type as a moving object area among a plurality of neighboring blocks; And performing an interpolation on a plurality of moving object areas to additionally mark a predetermined number of non-marked image blocks surrounded by the moving object areas as moving object areas.

한편, 본 발명에 따른 컴퓨터프로그램은 하드웨어와 결합되어 이상과 같은 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법을 실행시키기 위하여 매체에 저장된 것이다.On the other hand, the computer program according to the present invention is stored in a medium in order to execute the object sequence management method of the compressed image using the motion vector block chain as described above in combination with hardware.

본 발명에 따르면 CCTV 영상이나 블랙박스 영상에서 개별 객체 단위로 영상이 위변조 되었는지 여부를 명확하게 검증할 수 있어 범죄 수사나 교통사고 분석 등의 사후 증거로서 영상 증거의 신뢰도를 높일 수 있는 장점이 있다. 특히, 압축영상의 신택스 정보에 기반하여 프로세스를 처리하므로 복잡한 영상처리를 거치지 않아도 되어 연산 속도가 대단히 빠르다는 장점이 있다.According to the present invention, it is possible to clearly verify whether a video is forged or altered in units of individual objects in a CCTV video or a black box video, thereby enhancing the reliability of video evidence as post-evidence such as crime investigation or traffic accident analysis. In particular, since the process is processed based on the syntax information of the compressed image, there is an advantage in that the computation speed is very fast since no complicated image processing is required.

또한, 본 발명에 따르면 영상에 존재하는 다수의 객체들 중에서 일부를 선별하여 블록체인의 난이도를 높여 관리함으로써 이들에 대한 영상 위변조를 더욱 곤란하게 설정할 수 있고 이를 통해 주요 객체에 대한 신뢰도를 상대적으로 높게 관리할 수 있는 장점이 있다. 반대로, 특별 관리되지 않는 다수의 객체에 대해서는 블록체인의 난이도를 낮추어 관리함으로써 전체 시스템의 신뢰도는 유지하면서도 블록체인의 운영효율을 개선할 수 있는 장점도 있다.In addition, according to the present invention, by selecting a part of a plurality of objects existing in the image and managing the difficulty of the blockchain by increasing the difficulty, forgery of the images for these can be set more difficult, and thus the reliability of the main object is relatively high. It has the advantage of being manageable. Conversely, by managing the number of objects that are not specially managed by lowering the difficulty level of the blockchain, there is an advantage of improving the operational efficiency of the blockchain while maintaining the reliability of the entire system.

[도 1]은 본 발명에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 시스템을 개념적으로 나타내는 도면.
[도 2]는 본 발명에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법의 전체 프로세스를 나타내는 순서도.
[도 3]은 CCTV 영상에서 시간 진행에 따라 각 영상 프레임에서 획득되는 모션벡터의 일 예를 나타내는 도면.
[도 4]는 본 발명에서 모션벡터 객체시퀀스, 객체 단위궤적, 블록 데이터를 생성하는 개념을 나타내는 도면.
[도 5]는 본 발명에서 메인 블록체인을 백업할 때 객체 그룹 별로 백업 블록체인의 난이도를 상이하게 설정하는 개념을 나타내는 도면.
[도 6]은 블록체인의 난이도를 상이하게 설정하는 개념을 나타내는 도면.
[도 7]은 본 발명에서 압축영상에 대해 객체 단위영역을 설정하는 제 1 실시예를 개념적으로 나타내는 순서도.
[도 8]은 동영상 디코딩 장치의 일반적인 구성을 나타내는 블록도.
[도 9]는 본 발명에서 압축영상에 대해 객체 단위영역을 설정하는 제 2 실시예를 나타내는 순서도.
[도 10]은 본 발명에서 압축영상으로부터 유효 움직임을 검출하는 과정의 구현 예를 나타내는 순서도.
[도 11]은 CCTV 영상에 대해 본 발명에 따른 유효 움직임 영역 검출 과정을 적용한 결과의 일 예를 나타내는 도면.
[도 12]는 본 발명에서 이동객체 영역에 대한 바운더리 영역을 검출하는 과정의 구현 예를 나타내는 순서도.
[도 13]은 [도 11]의 CCTV 영상 이미지에 대해 본 발명에 따른 바운더리 영역 검출 과정을 적용한 결과의 일 예를 나타내는 도면.
[도 14]는 [도 13]의 CCTV 영상 이미지에 대해 인터폴레이션을 통해 이동객체 영역을 정리한 결과의 일 예를 나타내는 도면.
1 is a diagram conceptually showing an object sequence management system of a compressed image using a motion vector blockchain according to the present invention.
2 is a flow chart showing the entire process of a method for managing an object sequence of a compressed image using a motion vector blockchain according to the present invention.
3 is a diagram showing an example of a motion vector obtained in each video frame over time in a CCTV image.
4 is a diagram showing the concept of generating a motion vector object sequence, object unit trajectory, and block data in the present invention.
5 is a diagram showing the concept of differently setting the difficulty of the backup blockchain for each object group when backing up the main blockchain in the present invention.
6 is a diagram showing the concept of differently setting the difficulty level of the blockchain.
7 is a flowchart conceptually showing a first embodiment of setting an object unit area for a compressed image in the present invention.
8 is a block diagram showing a general configuration of a video decoding apparatus.
9 is a flowchart illustrating a second embodiment of setting an object unit area for a compressed image in the present invention.
10 is a flowchart illustrating an example of an implementation of a process for detecting effective motion from a compressed image in the present invention.
11 is a diagram showing an example of a result of applying an effective motion area detection process according to the present invention to a CCTV image.
12 is a flowchart illustrating an example of implementation of a process for detecting a boundary area for a moving object area in the present invention.
13 is a view showing an example of a result of applying the boundary area detection process according to the present invention to the CCTV video image of [11].
14 is a diagram showing an example of a result of arranging a moving object area through interpolation with respect to the CCTV video image of [FIG. 13].

이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

[도 1]은 본 발명에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 시스템을 나타내는 도면이고, [도 2]는 본 발명에 따른 객체 이미지 시퀀스 관리 방법의 전체 프로세스를 나타내는 순서도이다.1 is a diagram showing an object sequence management system of a compressed image using a motion vector blockchain according to the present invention, and [FIG. 2] is a flowchart showing the entire process of the object image sequence management method according to the present invention.

[도 1]을 참조하면, 본 발명에 따른 압축영상에 대한 객체 이미지 시퀀스 관리 시스템은 영상관리 서버(100)의 압축영상 위변조 방지처리 서브시스템, 블록체인 서브시스템, 영상검증 서버(300)의 객체 시퀀스 검증처리 서브시스템을 구비한다. 이때, 영상관리 서버(200)와 영상검증 서버(300)는 구현예에 따라서 동일한 장치일 수도 있고 별개의 장치일 수도 있다.Referring to FIG. 1, the object image sequence management system for a compressed image according to the present invention is a compressed image forgery prevention processing subsystem of the image management server 100, a blockchain subsystem, an object of the image verification server 300 And a sequence verification processing subsystem. In this case, the image management server 200 and the image verification server 300 may be the same device or separate devices depending on the implementation.

먼저, 영상관리 서버(200)는 다수의 CCTV 카메라(210)로부터 촬영영상을 제공받아 영상 스토리지(220)에 저장한다. 또한, 영상관리 서버(200)는 CCTV 영상에 포함되어 있는 개별 객체의 시퀀스에 대해 나중에 위변조 여부를 확인할 수 있도록 블록체인을 활용한다. 메인 블록체인에 CCTV 영상의 개별 객체에 대한 이동궤적 관련 정보를 넣어두었다가 나중에 특정의 객체에 대하여 그 객체의 일련의 행위가 담긴 일련의 이미지 영상에 관한 진위 여부가 문제되면 메인 블록체인으로부터 해당 객체의 이동궤적 관련 정보를 찾아내서 위변조 확인에 활용하는 것이다. 본 명세서에서는 이러한 이미지 영상을 '객체 시퀀스'라고 부르는데, 일반적은 압축파일의 형태일 수도 있고 일련의 이미지 파일이 부가 데이터(관련 모션벡터)와 함께 패키징된 형태일 수도 있다.First, the image management server 200 receives captured images from a plurality of CCTV cameras 210 and stores them in the image storage 220. In addition, the image management server 200 utilizes a blockchain so that it can later check for forgery or alteration of the sequence of individual objects included in the CCTV image. If the main block chain puts information on the movement trajectories of individual objects in a CCTV image, and later, if it is a matter of authenticity about a series of image images containing a series of actions of the object for a specific object, It is to find information related to the movement trajectory and use it to confirm forgery and alteration. In this specification, such an image image is referred to as an 'object sequence', and may be in the form of a compressed file or a series of image files packaged with additional data (related motion vectors).

이때, CCTV 영상 전체를 영상 스토리지(220)에 저장해두었다가 진위 여부가 문제되는 특정의 객체 시퀀스에 대해 원본 CCTV 영상을 재생하면서 디스플레이 화면 상에서 검증하는 방식도 생각할 수 있다. 그러나 대규모의 영상 스토리지(220)에서 원본 CCTV 영상을 찾고 CCTV 영상을 재생하면서 내용을 살펴봐야 하기 때문에 시간이 상당히 많이 소요될 뿐만 아니라 컴퓨터 프로세싱을 통해 진위 여부 식별을 자동화하기 곤란한 접근 방식이다. 만일 컴퓨터 프로세싱을 통해 자동화하려면 영상분석을 수행해야 하므로 현실적으로 어려움이 많다.At this time, a method of storing the entire CCTV image in the image storage 220 and then verifying it on the display screen while reproducing the original CCTV image for a specific object sequence in which authenticity is a problem may be considered. However, it is a difficult approach to automate identification of authenticity through computer processing, as well as time-consuming because it is necessary to find the original CCTV video in the large-scale video storage 220 and look at the content while playing the CCTV video. If it is necessary to perform image analysis in order to automate through computer processing, it is difficult in reality.

또한, 영상 데이터 전체를 블록체인에 넣거나 혹은 객체 시퀀스를 블록체인에 넣는 방식도 생각할 수 있으나, 이러한 경우에는 블록 데이터가 비대해져서 블록체인의 운영 효율이 저하되기 때문에 현실적으로 곤란하다.In addition, it is possible to think of a method in which the entire image data is put in the blockchain or the object sequence is put in the blockchain, but in this case, it is difficult in reality because the block data is enlarged and the operation efficiency of the blockchain is reduced.

이러한 사항들을 고려하여, 본 발명에서는 모션벡터를 블록체인으로 관리하는 방식을 채택한다. 모션벡터는 데이터량이 매우 적기 때문에 블록 데이터의 크기를 줄일 수 있어 블록체인의 운영 효율을 높일 수 있다. 또한, 모션벡터는 압축영상을 디코딩하지 않고 단순히 데이터 파싱만 하면 얻을 수 있는 정보이기 때문에 영상관리 서버(200)의 데이터 처리 속도를 높일 수 있다. 또한, 모션벡터는 디지털 데이터의 포맷을 가지고 있기 때문에 임계조건만 적절히 설정한다면 컴퓨터 프로세싱을 통해 자동화하기에 적합하다.In consideration of these matters, the present invention adopts a method of managing motion vectors with a blockchain. Since the motion vector has a very small amount of data, the size of the block data can be reduced, which can increase the operational efficiency of the blockchain. In addition, since the motion vector is information obtained by simply parsing data without decoding the compressed image, the data processing speed of the image management server 200 can be increased. In addition, since the motion vector has a format of digital data, it is suitable for automation through computer processing if only critical conditions are properly set.

본 명세서에서 영상관리 서버(200)가 객체 시퀀스 관리를 수행하는 영상을 제 1 압축영상이라고 표시한다. 영상관리 서버(200)가 다수의 채널을 통해 다수의 압축영상을 제공받는 구현 예에서는 이들을 서로 구별하기 위한 정보인 '영상 메타정보'를 제 1 압축영상으로부터 추출한다. 예를 들어, 해당 영상을 생성한 CCTV 카메라(210)의 기기식별정보(Device Unique ID)와 촬영시각(recording time) 정보의 조합을 영상 메타정보로 설정할 수 있다. In the present specification, an image in which the image management server 200 performs object sequence management is displayed as a first compressed image. In the implementation example in which the image management server 200 receives a plurality of compressed images through a plurality of channels, 'image meta information' which is information for distinguishing them from each other is extracted from the first compressed image. For example, a combination of device unique ID and recording time information of the CCTV camera 210 that generated the corresponding video may be set as video meta information.

또한, 영상관리 서버(200)는 제 1 압축영상으로부터 모션벡터(움직임 벡터)를 획득한다. 본 명세서에서는 제 1 압축영상에서 얻은 모션벡터를 제 1 모션벡터라고 부른다. 일반적으로 시간이 경과함에 따라 제 1 압축영상으로부터 [도 3]과 같이 다수의 제 1 모션벡터가 획득된다. Also, the image management server 200 obtains a motion vector (motion vector) from the first compressed image. In this specification, a motion vector obtained from a first compressed image is called a first motion vector. In general, as time passes, a plurality of first motion vectors are obtained from the first compressed image as shown in FIG. 3.

이어서, 영상관리 서버(200)는 제 1 압축영상에 대해 위변조 여부 관리 목적으로 모션벡터를 다루기 위한 단위 이미지 덩어리를 식별하는데, 본 명세서에서는 이를 '객체 단위영역'이라고 부른다. 객체 단위영역은 본 발명에서는 하나의 객체로서 간주되며 압축영상에서 객체 단위영역을 얻는 개념은 [도 7] 내지 [도 9]를 참조하여 후술한다. 일반적으로 제 1 압축영상으로부터 복수의 객체 단위영역이 식별된다. 또한, 영상관리 서버(200)는 객체 단위영역을 구분 식별하기 위한 정보인 '객체 식별정보'를 추출한다. 예를 들어, 압축영상으로부터 객체 단위영역을 추출해내는 과정에서 소프트웨어적으로 할당되는 오브젝트 식별정보(Object ID)를 객체 식별정보로 설정할 수 있다.Subsequently, the image management server 200 identifies a unit image chunk for handling a motion vector for the purpose of managing forgery or alteration of the first compressed image, and is referred to as an 'object unit region' in this specification. The object unit area is regarded as one object in the present invention, and the concept of obtaining an object unit area from a compressed image will be described later with reference to [FIG. 7] to [FIG. 9]. Generally, a plurality of object unit areas are identified from the first compressed image. In addition, the image management server 200 extracts 'object identification information', which is information for classifying and identifying object unit areas. For example, in the process of extracting an object unit region from a compressed image, object identification information allocated in software may be set as object identification information.

이상에서 영상관리 서버(200)는 제 1 압축영상으로부터 다수의 제 1 모션벡터와 복수의 객체 단위영역을 획득하였다. 이어서, 영상관리 서버(200)는 다수의 제 1 모션벡터 중에서 각각의 객체 단위영역에 관련된 모션벡터들을 식별하여 객체 단위영역 별로 구분 정렬하고 이들을 시간 순서대로 나열한다. 이처럼 객체 단위영역 별로 정렬된 모션벡터의 시퀀스를 본 명세서에서는 '모션벡터 객체시퀀스'라고 부른다. 그리고 나서, 각각의 객체 단위영역에 대하여 해당 객체 식별정보와 모션벡터 객체시퀀스를 조합하여 객체 단위궤적를 획득한다.In the above, the image management server 200 obtained a plurality of first motion vectors and a plurality of object unit areas from the first compressed image. Subsequently, the image management server 200 identifies motion vectors related to each object unit region among a plurality of first motion vectors, and sorts them by object unit region and arranges them in chronological order. The sequence of motion vectors sorted for each object unit region is referred to as a 'motion vector object sequence' in this specification. Then, the object unit trajectory is obtained by combining the object identification information and the motion vector object sequence for each object unit area.

예를 들어, 영상관리 서버(200)는 1000대의 CCTV 카메라(210)와 연결되어 있고 블록체인 갱신주기는 30초라고 가정한다. 영상관리 서버(200)는 블록체인 갱신주기마다 CCTV 카메라(210)로부터 30초 분량의 CCTV 영상 1000개를 제공받는데, 이는 제 1 압축영상 1000개에 해당된다. 이중에서 하나의 CCTV 영상(30초 분량)으로부터 예컨대 250개의 제 1 모션벡터와 7개의 객체 단위영역를 얻는다고 가정하면, 이들 7개의 객체 단위영역마다 하나씩의 객체 식별정보가 할당될 것이고, 이들 250개의 제 1 모션벡터를 그 대응하는 객체 단위영역을 기준으로 정렬하여 7개의 모션벡터 객체시퀀스를 얻는다. 각각의 객체 단위영역에 대하여 객체 식별정보와 모션벡터 객체시퀀스를 조합함으로써, 해당 CCTV 영상 하나로부터 7개의 객체 단위궤적를 획득한다. CCTV 카메라(210)로부터 CCTV 영상 1000개를 제공받으므로, CCTV 영상 하나로부터 평균 7개의 객체 단위궤적을 획득한다면, 영상관리 서버(200)는 블록체인 갱신주기마다 7000개의 객체 단위궤적를 획득한다.For example, it is assumed that the image management server 200 is connected to 1000 CCTV cameras 210 and the blockchain update cycle is 30 seconds. The image management server 200 receives 1000 CCTV images of 30 seconds each from the CCTV camera 210 every block chain update cycle, which corresponds to the first 1000 compressed images. Assuming, for example, that 250 first motion vectors and 7 object unit areas are obtained from one CCTV image (30 seconds), one object identification information will be assigned to each of these 7 object unit areas, and these 250 products 7 Motion vector object sequences are obtained by sorting 1 motion vector based on the corresponding object unit area. By combining object identification information and motion vector object sequences for each object unit area, 7 object unit trajectories are obtained from a corresponding CCTV image. Since 1000 CCTV images are provided from the CCTV camera 210, if an average of 7 object unit trajectories is obtained from one CCTV image, the image management server 200 acquires 7000 object unit trajectories for each blockchain update cycle.

영상관리 서버(200)는 이들 객체 단위궤적를 포함시켜 블록 데이터를 생성하고 미리 설정된 스케쥴에 따라 해당 블록 데이터를 반영하여 메인 블록체인을 업데이트한다. 이 실시예에서는 각각의 CCTV 영상 하나를 제 1 압축영상이라고 모델링하였는데, 예컨대 1000개의 CCTV 영상 전체를 제 1 압축영상으로 모델링하는 것도 가능하다. 이상의 과정을 통해 제 1 압축영상의 객체 시퀀스를 관리하기 위해 영상관리 서버(200)가 수행하는 작업이 마무리되었다.The image management server 200 includes these object unit trajectories to generate block data and updates the main blockchain by reflecting the block data according to a preset schedule. In this embodiment, each CCTV image is modeled as a first compressed image. For example, it is also possible to model all 1000 CCTV images as a first compressed image. Through the above process, the operation performed by the image management server 200 to manage the object sequence of the first compressed image has been completed.

블록체인(block chain)은 일반적으로는 네트워크 상에서 발생된 거래 정보가 네트워크 참여자들 간에 공유되는 노드 수만큼 복제되어 분산 저장되는 공개 디지털 거래 장부라는 개념을 갖는다. 블록체인 기술은 현재는 암호화폐를 중심으로 활발하게 적용되고 있는데, 본 발명에서는 압축영상의 객체 시퀀스 관리에 블록체인 기술을 활용하며, 이를 위해 영상관리 서버(200)와 영상검증 서버(300)가 피어(peer)로서 블록체인의 디지털 원장 관리에 참여한다.Block chains generally have the concept of an open digital transaction ledger in which transaction information generated on a network is replicated and stored as many nodes as shared among network participants. Blockchain technology is currently actively applied around cryptocurrencies. In the present invention, the blockchain technology is used to manage the object sequence of compressed images, and for this purpose, the image management server 200 and the image verification server 300 are used. As a peer, he participates in the digital ledger management of the blockchain.

본 명세서에서는 블록체인이 객체 시퀀스 관리를 위해 관리하는 분산원장을 나타내기 위해 모션벡터 분산원장(100)이라는 용어를 사용하였다. 즉, 모션벡터 분산원장(100)은 블록체인을 위한 디지털 거래 장부로서 본 발명에서는 압축영상의 객체 시퀀스 관리에 필요한 정보를 담는다. In this specification, the term motion vector distributed ledger 100 is used to indicate a distributed ledger managed by a blockchain for object sequence management. That is, the motion vector distributed ledger 100 is a digital transaction ledger for a blockchain, and in the present invention, it contains information necessary for object sequence management of compressed images.

모션벡터 분산원장(100)은 다수의 거래 데이터가 각각 블록처럼 구성되어 서로 연결되어 있는 형태인데, 하나의 블록은 그 대응하는 블록체인 갱신주기(예: 30초)에서 블록체인에 연동하는 피어들, 즉 하나이상의 영상관리 서버(200)가 새롭게 생성한 블록데이터에 대응한다. [도 1]을 참조하면, 이러한 블록에는 영상 메타정보와 객체 단위궤적이 포함될 수 있다. 분산 네트워크 기반이라는 블록체인의 속성상, 모션벡터 분산원장(100)에 반영된 데이터는 무단으로 수정하는 것이 사실상 불가능하므로 신뢰할 수 있다.The motion vector distributed ledger 100 is a form in which a plurality of transaction data are configured as blocks and connected to each other. One block is peers that link to the blockchain in the corresponding blockchain update cycle (eg, 30 seconds). That is, one or more image management servers 200 correspond to newly generated block data. Referring to FIG. 1, such blocks may include image meta information and object unit trajectories. Due to the nature of the blockchain, which is based on a distributed network, data reflected in the motion vector distributed ledger 100 can be trusted because it is virtually impossible to modify it without permission.

본 발명에서는 블록체인을 메인 블록체인과 백업 블록체인으로 이중화하여 구성할 수 있는데, [도 1]에는 메인 블록체인을 도시하였으며, [도 5]에 메인 블록체인과 백업 블록체인의 관계에 대해 도시하였다.In the present invention, the blockchain can be configured by dualizing it into a main blockchain and a backup blockchain. [Figure 1] shows the main blockchain, and [Figure 5] shows the relationship between the main blockchain and the backup blockchain. Did.

메인 블록체인은 제 1 압축영상을 데이터 처리하여 얻어지는 정보를 관리하기 위한 블록체인이며, 백업 블록체인은 메인 블록체인에 저장되어 있던 정보를 장기 보관을 위해 백업 복사하는 블록체인이다. [도 5]와 [도 6]을 참조하여 후술하는 바와 같이, 복수의 백업 블록체인을 마련한 후에, 객체 그룹 별로 백업 블록체인의 난이도를 상이하게 설정하여 보관하는 것이 가능하다. 예를 들어, 미리 설정된 특징을 갖는 객체들(예: 초속 3 ~ 5미터의 이동 속도를 갖는 객체, 3개 이상의 객체가 함께 이동하는 객체)은 난이도가 높게 설정된 백업 블록체인으로 관리함으로써 위변조를 더욱 어렵게 관리할 수 있다. 역으로, 별다른 특징이 없는 대부분의 객체들에 대해서는 난이도가 낮은 백업 블록체인으로 관리함으로써 블록체인 처리 부담을 전체적으로 낮출 수 있다.The main blockchain is a blockchain for managing information obtained by processing the first compressed image data, and the backup blockchain is a blockchain that backs up and copies the information stored in the main blockchain for long-term storage. As described later with reference to FIGS. 5 and 6, after preparing a plurality of backup blockchains, it is possible to set and store the difficulty of the backup blockchain differently for each object group. For example, objects with preset characteristics (e.g., objects with a moving speed of 3 to 5 meters per second, objects with 3 or more objects moving together) are managed by a backup blockchain with a high difficulty level, which further improves forgery and forgery. Difficult to manage. Conversely, it is possible to lower the overall burden of blockchain processing by managing the backup blockchain with low difficulty for most objects that have no special features.

다음으로, 영상검증 서버(300)는 관리자 컴퓨터(400)로부터 특정 영상에 포함되어 있는 객체 시퀀스가 위조된 것인지 혹은 얼마나 신뢰할 수 있는지(예컨대, 신뢰도 지수가 얼마인지)에 대한 확인을 요구받는다. 본 명세서에서 영상검증 서버(300)가 위변조 여부를 확인해야 하는 객체 시퀀스가 포함된 영상을 제 2 압축영상이라고 부른다. 확인 대상인 특정 객체가 재생 화면에 나타나는 압축영상의 형태일 수도 있고, 특정 객체의 이미지 시퀀스와 원본 영상에서 해당 이미지 시퀀스에 대응하여 획득한 모션벡터가 패키징된 형태일 수도 있다. 제 2 압축영상은 이전에 영상관리 서버(200)가 데이터 처리를 수행하였던 영상에 포함된 객체 시퀀스 중에서 예컨대 범죄 증거로서의 무결성 입증 등을 위해 위변조 여부를 확인할 필요성이 생긴 영상이다. 이때, 확인대상인 객체 시퀀스의 길이는 블록체인 갱신주기보다 길 수도 있고 혹은 짧을 수도 있다.Next, the image verification server 300 is requested from the administrator computer 400 to confirm whether the object sequence included in the specific image is forged or how reliable (eg, how much the reliability index is). In this specification, the image including the object sequence that the image verification server 300 needs to check for forgery or alteration is referred to as a second compressed image. The specific object to be checked may be in the form of a compressed image that appears on the playback screen, or a motion vector obtained corresponding to the corresponding image sequence from the image sequence of the specific object and the original image may be packaged. The second compressed image is an image in which it is necessary to check for forgery or alteration, for example, for verifying integrity as a crime evidence, among object sequences included in the image previously processed by the image management server 200. At this time, the length of the object sequence to be checked may be longer or shorter than the blockchain update cycle.

객체 시퀀스에 대해 신뢰도를 평가하기 위해 영상검증 서버(300)는 제 2 압축영상에 대해 2가지 경로로 모션벡터 시퀀스를 획득하고 이들을 비교하여 얼마나 대응하는지를 살핀다. 개념적으로는 2가지 모션벡터 시퀀스의 대응 정도가 객체 시퀀스의 신뢰도에 대응한다. 이때, 모션벡터 시퀀스가 완전히 대응한다면 해당 객체 시퀀스는 위변조되지 않았다고 명확하게 판단할 수 있다. 또한, 모션벡터 시퀀스가 예컨대 90% 대응한다면 해당 객체 시퀀스의 신뢰도는 90 %라고 평가할 수 있다. 바람직하게는 일정 임계치(예: 97 %) 이상의 신뢰도를 나타내는 경우에 해당 객체 시퀀스에 대해 위변조되지 않았다고 판단할 수 있다.In order to evaluate the reliability of the object sequence, the image verification server 300 acquires motion vector sequences in two paths for the second compressed image and compares them to see how much correspondence is there. Conceptually, the degree of correspondence between two motion vector sequences corresponds to the reliability of the object sequence. At this time, if the motion vector sequence completely corresponds, it can be clearly determined that the corresponding object sequence has not been forged. In addition, if the motion vector sequence corresponds to, for example, 90%, the reliability of the corresponding object sequence can be evaluated as 90%. Preferably, when the reliability is higher than a certain threshold (for example, 97%), it may be determined that the object sequence has not been forged.

먼저, 제 1 획득 경로에 대해 기술한다.First, the first acquisition path will be described.

개념적으로 제 1 획득 경로는 영상관리 서버(200)가 제 1 압축영상에 대해 수행했던 절차를 제 2 압축영상에 대해 유사하게 적용하여 제 2 압축영상으로부터 모션벡터의 시퀀스를 얻는 것이다.Conceptually, the first acquisition path is to obtain a sequence of motion vectors from the second compressed image by similarly applying the procedure performed by the image management server 200 to the first compressed image for the second compressed image.

즉, 영상검증 서버(300)는 제 2 압축영상을 파싱하여 제 2 압축영상을 구분 식별하기 위한 정보인 '영상 메타정보'를 추출하고 제 2 압축영상으로부터 다수의 모션벡터, 즉 제 2 모션벡터를 획득한다. 이어서, 제 2 압축영상으로부터 확인 요구 대상인 객체 시퀀스를 식별하기 위한 정보를 추출한다. 일반적으로, 객체 시퀀스는 객체 식별정보와 객체 이미지 시퀀스로 구성될 수 있는데, 이 단계에서는 객체 시퀀스의 객체 식별정보(즉, 제 2 객체 식별정보)가 유용하다. 이때, 제 2 압축영상에 대해 획득한 영상 메타정보와 객체 식별정보는 제 2 획득 경로에서 메인 블록체인을 조회할 때에 바람직하게 활용된다.That is, the image verification server 300 parses the second compressed image and extracts 'image meta information', which is information for distinguishing the second compressed image, and extracts a plurality of motion vectors from the second compressed image, that is, the second motion vector. To acquire. Subsequently, information for identifying the object sequence to be checked is extracted from the second compressed image. In general, the object sequence may be composed of object identification information and an object image sequence. In this step, object identification information (ie, second object identification information) of the object sequence is useful. At this time, the image meta information and the object identification information acquired for the second compressed image are preferably utilized when querying the main blockchain in the second acquisition path.

영상검증 서버(300)는 다수의 제 2 모션벡터 중에서 제 2 객체 식별정보와 관련된 모션벡터의 시퀀스를 식별해내고, 이들을 연결하여 그 확인 대상인 객체 시퀀스를 위한 제 1 모션벡터 시퀀스를 획득한다. 만일 객체 이미지 시퀀스가 해당 객체와 관련하여 원본 영상에 포함되어 있던 그대로라면, 그 확인 대상인 객체 시퀀스의 객체 식별정보와 제 1 모션벡터 시퀀스를 과거에 영상관리 서버(200)가 메인 블록체인에 넣어두었을 것이기 때문에 영상검증 서버(300)가 메인 블록체인으로부터 얻을 수 있을 것이다.The image verification server 300 identifies a sequence of motion vectors related to the second object identification information among a plurality of second motion vectors, and connects them to obtain a first motion vector sequence for the object sequence to be identified. If the object image sequence is included in the original image in relation to the object, the image management server 200 previously put the object identification information and the first motion vector sequence of the object sequence to be checked into the main blockchain. Because it will be, the image verification server 300 will be able to obtain from the main blockchain.

이어서, 제 2 획득 경로에 대해 기술한다.Next, the second acquisition path will be described.

영상검증 서버(300)는 메인 블록체인을 조회하여 제 2 객체 식별정보에 대응하는 하나이상의 블록 데이터를 추출한다. 위변조가 없었다면 제 2 객체 식별정보는 이전에 영상관리 서버(200)에 의해 객체 시퀀스 관리를 위한 데이터 처리를 수행했었기 때문에 그에 대한 객체 단위궤적이 메인 블록체인의 어딘가에는 존재하여야 한다. 따라서, 영상검증 서버(300)는 예컨대 자신이 내부 관리하는 모션벡터 분산원장(100)을 분석하여 제 2 객체 식별정보에 대응하는 하나 혹은 그 이상의 블록 데이터를 추출한다. 이때, 영상 메타정보가 참조될 수 있다. 예를 들어, 해당 영상을 생성한 CCTV 카메라(210)의 기기식별정보와 촬영시각 정보의 조합이라면 다수의 영상들 중에서 제 2 압축영상을 구분 식별할 수 있으며, 이를 통해 메인 블록체인의 검색 범위를 좁혀 연산속도를 향상시킬 수 있다.The image verification server 300 searches the main blockchain to extract one or more block data corresponding to the second object identification information. If there is no forgery and alteration, the second object identification information has been previously processed by the image management server 200 to process the object sequence, so the object unit trajectory for it must exist somewhere in the main blockchain. Therefore, the image verification server 300 extracts one or more block data corresponding to the second object identification information by, for example, analyzing the motion vector distribution ledger 100 managed by the user. At this time, image meta information may be referenced. For example, if the combination of the device identification information and the shooting time information of the CCTV camera 210 that generated the video, the second compressed video can be discriminated from among a plurality of video images, thereby enabling the search scope of the main blockchain. It can be narrowed to improve the operation speed.

그리고 나서, 이 추출된 블록 데이터로부터 객체 시퀀스에 대한 제 2 모션벡터 시퀀스를 획득한다. 블록 데이터에는 이전에 객체 시퀀스의 원본 영상으로부터 영상관리 서버(200)가 객체 단위영역 별로 정리해두었던 모션벡터의 정보, 즉 객체 단위궤적이 저장되어 있다. 따라서, 영상검증 서버(300)는 하나 또는 그 이상의 블록 데이터의 저장 내용으로부터 제 2 객체 식별정보에 대응하는 객체 단위궤적을 얻을 수 있고, 객체 단위궤적에 저장된 모션벡터 객체시퀀스를 분석함으로써 객체 시퀀스에 대한 제 2 모션벡터 시퀀스를 획득한다. Then, a second motion vector sequence for the object sequence is obtained from the extracted block data. In the block data, motion vector information, that is, object unit trajectories, previously organized by the image management server 200 for each object unit area is stored from the original image of the object sequence. Accordingly, the image verification server 300 may obtain the object unit trajectory corresponding to the second object identification information from the storage contents of one or more block data, and analyze the motion vector object sequence stored in the object unit trajectory to the object sequence. The second motion vector sequence for is obtained.

그리고 나서, 영상검증 서버(300)는 제 1 모션벡터 시퀀스와 제 2 모션벡터 시퀀스를 비교하고, 그 결과에 기초하여 객체 시퀀스가 위조된 것인지 혹은 얼마나 신뢰할 수 있는지 판단한다. 개념적으로는, 현재 위변조 여부 확인 대상으로 제공된 제 2 압축영상으로부터 영상검증 서버(300)가 추출한 모션벡터의 시퀀스를 이전에 원본 영상에 대해 영상관리 서버(200)가 추출하여 메인 블록체인에 넣어두었던 모션벡터의 시퀀스를 대비하려는 것이다. 이때, 위조 혹은 원본동일 등과 같은 양자 택일의 결과를 도출할 수도 있고 신뢰도 지수를 판정할 수 있다.Then, the image verification server 300 compares the first motion vector sequence and the second motion vector sequence and determines whether the object sequence is forged or how reliable it is based on the result. Conceptually, the sequence of the motion vector extracted by the image verification server 300 from the second compressed image provided as the object of checking for forgery and alteration is previously extracted by the image management server 200 for the original image and put in the main blockchain. This is to prepare a sequence of motion vectors. At this time, alternative results such as counterfeiting or the same as the original may be derived, and the reliability index may be determined.

다음으로, [도 2]를 참조하여 본 발명에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법의 전체 프로세스를 살펴본다.Next, with reference to FIG. 2, the entire process of the object sequence management method of the compressed image using the motion vector blockchain according to the present invention will be described.

단계 (S1000, S1100) : 먼저, 영상관리 서버(200)가 객체 시퀀스의 위변조 여부 관리 대상인 제 1 압축영상을 예컨대 다수의 CCTV 카메라(210)로부터 제공받는다. 영상관리 서버(200)는 제 1 압축영상에 대한 영상 메타정보를 획득하고 제 1 압축영상의 비트스트림을 파싱하여 다수의 모션벡터('제 1 모션벡터')를 시간 진행에 따라 순차적으로 획득한다. Steps (S1000, S1100): First, the image management server 200 receives a first compressed image, which is a management target for forgery or alteration of an object sequence, for example, from a plurality of CCTV cameras 210. The image management server 200 acquires image meta information for the first compressed image and parses the bitstream of the first compressed image to sequentially acquire a plurality of motion vectors ('first motion vector') over time. .

[도 3]은 CCTV 영상에서 시간 진행에 따라 각 영상 프레임에서 획득되는 모션벡터의 일 예를 나타내는 도면이다. 시간이 경과(t = t0 ~ t4)함에 따라 CCTV 영상에는 여러 객체들이 나타나고 이동하며 사라진다. CCTV 영상을 살펴보면 객체들의 이미지 덩어리가 발견되는데, CCTV 영상을 파싱하면 이들 이미지 덩어리와 관련하여 다수의 모션벡터가 추출된다. 이러한 모션벡터는 H.264 AVC 및 H.265 HEVC 등의 영상압축 기술 규격에서 영상 압축률을 높여 데이터 사이즈를 줄이기 위해 CCTV 카메라(210)가 생성하여 CCTV 영상에 삽입한 정보이다. 본 발명에서는 이러한 모션벡터를 객체 시퀀스 관리에 활용한다.3 is a diagram illustrating an example of a motion vector obtained in each video frame over time in a CCTV video. As time elapses (t = t0 ~ t4), several objects appear in the CCTV image and move and disappear. Looking at the CCTV image, the image chunks of objects are found. When parsing the CCTV image, multiple motion vectors are extracted in relation to these image chunks. The motion vector is information generated by the CCTV camera 210 and inserted into the CCTV image to reduce the data size by increasing the image compression rate in the video compression technology standards such as H.264 AVC and H.265 HEVC. In the present invention, such a motion vector is used for object sequence management.

단계 (S1200) : 영상관리 서버(200)는 제 1 압축영상에서 위변조 여부의 관리 대상 이미지 덩어리인 객체 단위영역을 하나이상 식별한다. [도 3]의 CCTV 영상을 살펴보면 객체들, 특히 움직이는 객체들의 이미지 덩어리들이 발견되는데 이들이 객체 단위영역이 된다. 또한, 영상관리 서버(200)는 해당 영상 내에서 객체 단위영역을 구분 식별하기 위한 정보인 객체 식별정보('제 1 객체 식별정보')를 추출한다. 예를 들어, 소프트웨어 처리 과정에서 객체 단위영역에 할당되는 오브젝트 식별정보를 객체 식별정보로 활용할 수 있다. 본 발명에서 객체 단위영역의 구현예에 대해서는 [도 7] 내지 [도 9]를 참조하여 후술한다.Step (S1200): The image management server 200 identifies one or more object unit areas, which are chunks of images to be managed for forgery or not in the first compressed image. Looking at the CCTV image of [Fig. 3], objects, especially moving object images, are found, and these are object unit areas. In addition, the image management server 200 extracts object identification information ('first object identification information'), which is information for classifying and identifying an object unit region within the corresponding image. For example, object identification information allocated to an object unit region in a software processing process may be used as object identification information. An embodiment of the object unit region in the present invention will be described later with reference to [FIG. 7] to [FIG. 9].

단계 (S1300, S1400) : 영상관리 서버(200)는 미리 설정된 블록체인 갱신주기(예: 30초) 단위로 다수의 제 1 모션벡터 중에서 객체 단위영역에 각각 관련된 모션벡터의 시퀀스를 식별하여 모션벡터 객체시퀀스로 설정한다. 예를 들면, 제 1 압축영상(예: 30초 분량의 CCTV 영상)으로부터 250개의 제 1 모션벡터와 7개의 객체 단위영역를 얻고, 이들 250개의 제 1 모션벡터를 7개의 객체 단위영역에 대해 구분 정렬하여 7개의 모션벡터 객체시퀀스를 얻는다. Steps (S1300, S1400): The video management server 200 identifies a sequence of motion vectors related to each object unit area among a plurality of first motion vectors in units of a preset block chain update cycle (for example, 30 seconds), and thus a motion vector Set to object sequence. For example, 250 first motion vectors and 7 object unit regions are obtained from the first compressed image (for example, a 30-second CCTV image), and the 250 first motion vectors are sorted and sorted for 7 object unit regions. To get 7 motion vector object sequences.

이어서, 영상관리 서버(200)는 이들 객체 단위영역 별로 자신의 제 1 객체 식별정보와 모션벡터 객체시퀀스를 결합하여 객체 단위궤적을 생성한다. 즉, 객체 단위궤적은 해당 객체를 구분 식별하기 위한 정보와 그 객체와 관련하여 제 1 압축영상에서 얻어진 모션벡터들을 시간 진행에 따라 연결한 것이다. 위의 예에서는 30초 분량의 CCTV 영상으로부터 7개의 객체 단위궤적을 얻는다.Subsequently, the image management server 200 generates an object unit trajectory by combining its first object identification information and a motion vector object sequence for each object unit area. That is, the object unit trajectory is the information for distinguishing and identifying the corresponding object and the motion vectors obtained from the first compressed image in connection with the object are connected over time. In the above example, 7 object unit trajectories are obtained from a 30-second CCTV image.

이어서, 영상관리 서버(200)는 이들 객체 단위궤적(즉, 7개의 객체 단위궤적)을 취합하여 블록 데이터를 생성하며, 미리 설정된 스케쥴에 따라 블록 데이터를 반영하여 메인 블록체인을 업데이트한다.Subsequently, the image management server 200 collects these object unit trajectories (that is, seven object unit trajectories) to generate block data, and updates the main blockchain by reflecting block data according to a preset schedule.

단계 (S1500) : 영상검증 서버(300)는 그 위변조 여부에 대해 확인이 필요한 객체 시퀀스가 포함되어 있는 제 2 압축영상을 제공받는다. 제 2 압축영상은 외부, 예컨대 관리자 컴퓨터(400)로부터 제공될 수도 있고 내부, 예컨대 영상 스토리지(220)로부터 제공될 수도 있다. Step (S1500): The image verification server 300 receives a second compressed image including an object sequence that needs to be checked for the forgery. The second compressed image may be provided from the external, for example, the administrator computer 400, or may be provided from the internal, for example, the image storage 220.

단계 (S1600 ~ S1800) : 영상검증 서버(300)는 제 2 압축영상을 구분 식별하기 위한 정보인 '영상 메타정보'를 추출하고 제 2 압축영상으로부터 다수의 모션벡터('제 2 모션벡터')를 시간 진행에 따라 순차적으로 획득한다. Step (S1600 ~ S1800): The image verification server 300 extracts 'image meta information', which is information for distinguishing and identifying the second compressed image, and multiple motion vectors from the second compressed image ('second motion vector') Are acquired sequentially over time.

이어서, 영상검증 서버(300)는 제 2 압축영상으로부터 확인 대상인 객체를 식별하기 위한 정보로서 객체 식별정보('제 2 객체 식별정보')를 추출한다. 위변조 여부에 대해 확인이 필요한 대상으로서 객체 시퀀스가 제 2 압축영상에 포함되어 있는데, 객체 시퀀스는 바람직하게는 객체 식별정보와 객체 이미지 시퀀스로 구성될 수 있다. 객체 시퀀스에 포함되어 있는 객체 식별정보를 (S1700)에서 제 2 객체 식별정보로서 활용할 수 있다.Subsequently, the image verification server 300 extracts object identification information ('second object identification information') as information for identifying the object to be checked from the second compressed image. The object sequence is included in the second compressed image as an object that needs to be checked for forgery or alteration, and the object sequence may preferably consist of object identification information and an object image sequence. The object identification information included in the object sequence may be used as the second object identification information in (S1700).

이어서, 영상검증 서버(300)는 제 2 압축영상에서 획득한 다수의 제 2 모션벡터 중에서 제 2 객체 식별정보에 관련된 모션벡터의 시퀀스를 식별하여 이들을 시간 순서에 따라 연결한다. 이를 통해, 그 위변조 확인 대상인 객체 시퀀스를 위한 제 1 모션벡터 시퀀스를 획득한다.Subsequently, the image verification server 300 identifies a sequence of motion vectors related to the second object identification information among a plurality of second motion vectors obtained from the second compressed image, and connects them in chronological order. Through this, the first motion vector sequence for the object sequence that is the forgery check target is obtained.

단계 (S1900) : 영상검증 서버(300)는 메인 블록체인을 조회하여 제 2 객체 식별정보에 대응하는 하나이상의 블록 데이터를 추출한다. 블록 데이터에는 객체 단위궤적이 저장되어 있는데, 객체 단위궤적에는 객체 식별정보가 포함되어 있다. 따라서, 영상검증 서버(300)는 메인 블록체인, 예컨대 자신이 내부 관리하는 모션벡터 분산원장(100)을 분석하여 제 2 객체 식별정보에 대응하는 객체 단위궤적을 구비하고 있는 블록 데이터를 찾아서 추출한다. Step (S1900): The image verification server 300 searches the main blockchain and extracts one or more block data corresponding to the second object identification information. The object unit trajectory is stored in the block data, and the object unit trajectory includes object identification information. Therefore, the image verification server 300 analyzes the main blockchain, for example, the motion vector distributed ledger 100 managed by itself, finds and extracts block data having an object unit trajectory corresponding to the second object identification information. .

그리고 나서, 영상검증 서버(300)는 그 추출된 블록 데이터에 포함된 객체 단위궤적의 모션벡터 객체시퀀스를 분석하여 객체 시퀀스를 위한 제 2 모션벡터 시퀀스를 획득한다. 블록 데이터로부터 객체 시퀀스의 식별정보, 즉 제 2 객체 식별정보에 대응하는 하나이상의 객체 단위궤적을 식별해내고, 이들 객체 단위궤적을 구성하는 모션벡터 객체시퀀스를 시간 순서대로 연결함으로써 객체 시퀀스에 대한 제 2 모션벡터 시퀀스를 획득한다. Then, the image verification server 300 obtains a second motion vector sequence for the object sequence by analyzing the motion vector object sequence of the object unit trajectory included in the extracted block data. By identifying the object sequence identification information, that is, one or more object unit trajectories corresponding to the second object identification information, from the block data, the motion vector object sequences constituting these object unit trajectories are connected in chronological order to eliminate the object sequence. 2 Obtain a motion vector sequence.

단계 (S2000) : 영상검증 서버(300)는 제 1 모션벡터 시퀀스와 제 2 모션벡터 시퀀스를 비교하고, 그 결과에 기초하여 제 2 압축영상에 포함된 객체 시퀀스가 원본으로부터 위변조되었는지 혹은 원본과 동일하다는 것을 얼마만큼 신뢰할 수 있는지를 산출한다. 개념적으로는 2가지 모션벡터 시퀀스의 대응 정도가 객체 시퀀스의 신뢰도에 대응한다. Step (S2000): The image verification server 300 compares the first motion vector sequence and the second motion vector sequence, and based on the result, whether the object sequence included in the second compressed image is forged from the original or the same as the original Calculate how reliable you can be. Conceptually, the degree of correspondence between two motion vector sequences corresponds to the reliability of the object sequence.

메인 블록체인으로부터 얻은 제 2 모션벡터 시퀀스는 이론적으로는 해당 객체와 관련하여 원본 영상에서 얻은 모션벡터들과 동일하다. 반면, 제 2 압축영상은 해당 객체의 이미지 시퀀스 및 모션벡터를 패키징한 것이므로 구현예에 따라서는 원본의 샘플링에 해당할 수 있다. 또한, 시간 범위에 있어서도 제 2 압축영상은 원본의 블록체인 갱신주기의 정수 배에 매칭되지 않고 그 일부분에 해당할 수 있다. 예를 들어, 제 2 압축영상은 원본 영상의 105초 분량에서 얻은 이미지 시퀀스인데 반해, 그와 대비될 블록 데이터는 블록체인 갱신주기(예: 30초)의 4배인 120초 혹은 5배인 150초의 영상분량에 대응한다.The second motion vector sequence obtained from the main blockchain is theoretically identical to the motion vectors obtained from the original image in relation to the object. On the other hand, since the second compressed image is a package of an image sequence and a motion vector of a corresponding object, it may correspond to sampling of the original according to an implementation. In addition, even in the time range, the second compressed image may not correspond to an integer multiple of the original blockchain update cycle and may correspond to a portion thereof. For example, the second compressed image is an image sequence obtained from 105 seconds of the original image, whereas the block data to be contrasted with it is 150 seconds, 120 times or 5 times the blockchain update cycle (eg 30 seconds). Corresponds to the quantity.

따라서, 제 2 압축영상으로부터 얻은 제 1 모션벡터 시퀀스는 제 2 모션벡터 시퀀스에 대해 부분집합의 관계를 갖는다. 이에, 제 1 및 제 2 모션벡터 시퀀스를 비교하여 그 대응 정도를 산출하는 것은 완전히 동일한지 여부를 보는 것보다는 좀더 넓은 개념을 갖는다. 좀더 일반적인 용어로 표현한다면, 제 1 모션벡터 시퀀스의 항목들이 제 2 모션벡터 시퀀스에 얼마나 포함되는지, 혹은 반대로 말한다면, 제 1 모션벡터 시퀀스의 항목들 중에서 제 2 모션벡터 시퀀스에는 없는 것이 얼마나 되는지를 산출하는 것으로 표현할 수 있다.Therefore, the first motion vector sequence obtained from the second compressed image has a subset relationship with respect to the second motion vector sequence. Accordingly, comparing the first and second motion vector sequences and calculating the corresponding degree has a wider concept than seeing whether they are completely the same. In more general terms, how many items of the first motion vector sequence are included in the second motion vector sequence, or, conversely, how many of the items of the first motion vector sequence are not in the second motion vector sequence. It can be expressed as calculating.

그 비교 결과, 제 1 및 제 2 모션벡터 시퀀스가 완전히 대응한다면 해당 객체 시퀀스는 위변조되지 않았다고 판단할 수 있다. 또한, 모션벡터 시퀀스가 예컨대 90% 대응한다면 해당 객체 시퀀스의 신뢰도는 90 %라고 평가할 수 있다. 바람직하게는 일정 임계치(예: 97 %) 이상의 신뢰도를 나타내는 경우에 해당 객체 시퀀스에 대해 위변조되지 않았다고 판단할 수 있다.As a result of the comparison, if the first and second motion vector sequences completely correspond, it can be determined that the corresponding object sequence has not been forged. In addition, if the motion vector sequence corresponds to, for example, 90%, the reliability of the corresponding object sequence can be evaluated as 90%. Preferably, when the reliability is higher than a certain threshold (for example, 97%), it may be determined that the object sequence has not been forged.

[도 4]는 본 발명에서 모션벡터 객체시퀀스, 객체 단위궤적, 블록 데이터를 생성하는 개념을 나타내는 도면이다. 4 is a diagram illustrating the concept of generating motion vector object sequences, object unit trajectories, and block data in the present invention.

본 발명에서 영상관리 서버(200)는 제 1 압축영상으로부터 객체 단위영역 별로 모션벡터 객체시퀀스를 획득하고 이로부터 객체 단위궤적를 생성한다. [도 4]는 블록체인 갱신주기가 30초이고, 그 30초 분량의 CCTV 영상에 대해 모션벡터 객체시퀀스와 객체 단위궤적를 획득하는 예를 나타내었다. 통상 30초 분량의 CCTV 영상에서는 다수의 객체 단위영역이 식별될 수 있으나, 설명의 편이를 위해 2개의 객체 단위영역 A, B가 식별되었다고 가정한다. In the present invention, the image management server 200 obtains a motion vector object sequence for each object unit area from the first compressed image and generates an object unit trajectory therefrom. [Fig. 4] shows an example of obtaining a motion vector object sequence and an object unit trajectory for a CCTV image having a block chain update period of 30 seconds, and for 30 seconds. Normally, in a 30-second CCTV image, multiple object unit areas can be identified, but it is assumed that two object unit areas A and B are identified for convenience of explanation.

시간 경과(t = t0 ~ t4)에 대응하여 객체 단위영역 A, B와 관련하여 일련의 모션벡터가 추출될 수 있다. [도 4]에서는 객체 단위영역 A, B가 시간 경과에 따라 CCTV 영상에서 그 위치를 변경하였고, 그러한 위치 이동에 맞게 A, B에 대해 일련의 모션벡터가 추출되었다. [도 3]의 예에서도 시간 경과에 따라 CCTV 영상에서 객체들이 나타나고 사라지며 이동하는 모습이 관찰되고, 그에 대응하도록 각각의 객체에 대해 모션벡터가 추출되었다.In response to the passage of time (t = t0 to t4), a series of motion vectors may be extracted in relation to object unit regions A and B. In [Fig. 4], the object unit areas A and B have changed their positions in the CCTV image over time, and a series of motion vectors are extracted for A and B according to the movement of the position. In the example of [Fig. 3], it is observed that objects appear and disappear and move in the CCTV image over time, and motion vectors have been extracted for each object to respond.

이처럼 30초의 시간 동안 압축영상에서 획득되는 모션벡터를 객체 단위영역 별로 구분 정렬하면 [도 4]와 같이 객체 단위영역 A, B 각각에 대하여 모션벡터 객체시퀀스를 획득한다. 예를 들어, 객체 단위영역 A의 모션벡터 객체시퀀스는 A와 관련하여 30초 동안 추출된 일련의 모션벡터 mva0 ~ mva4 를 시간 순서대로 정렬하여 [ mva0 mva1 mva2 mva3 mva4 ]를 만든 것이다. When the motion vectors obtained from the compressed image are sorted and sorted for each object unit area for a time of 30 seconds, a motion vector object sequence is obtained for each of the object unit areas A and B as shown in FIG. 4. For example, the motion vector object sequence in the object unit area A is [mva0 mva1 mva2 mva3 mva4] by sorting a sequence of motion vectors mva0 to mva4 extracted for 30 seconds in relation to A.

이어서, 각각의 객체 단위영역에 대하여 객체 단위궤적을 생성한다. 바람직하게는 객체 식별정보 "obj_ida", "obj_idb"와 모션벡터 객체시퀀스 [ mva0 mva1 mva2 mva3 mva4 ]와 [ mvb0 mvb1 mvb2 mvb3 mvb4 ] 를 조합하여 객체 단위궤적를 획득한다. 예를 들어, 객체 단위영역 A의 객체 단위궤적은 A의 객체 식별정보 "obj_ida"와 A의 모션벡터 객체시퀀스 [ mva0 mva1 mva2 mva3 mva4 ]를 조합하여 [ obj_ida mva0 mva1 mva2 mva3 mva4 ] 로 구성할 수 있다.Subsequently, an object unit trajectory is generated for each object unit area. Preferably, the object unit trajectory is obtained by combining the object identification information "obj_ida", "obj_idb" and the motion vector object sequence [mva0 mva1 mva2 mva3 mva4] and [mvb0 mvb1 mvb2 mvb3 mvb4]. For example, the object unit trajectory of the object unit area A can be composed of [obj_ida mva0 mva1 mva2 mva3 mva4] by combining A's object identification information "obj_ida" and A's motion vector object sequence [mva0 mva1 mva2 mva3 mva4]. have.

이어서, 해당 압축영상에서 획득된 객체 단위궤적을 결합하여 그 압축영상에 대한 블록체인 갱신주기(예: 30초) 동안의 블록 데이터를 생성한다. 압축영상으로부터 2개의 객체 단위영역 A, B 가 식별되었으므로, 2개의 객체 단위궤적과 그 압축영상의 식별정보 "video_id76"을 결합하여 블록 데이터 [ video_id76; obj_ida mva0 ~ mva4; obj_idb mvb0 ~ mvb4 ] 를 구성할 수 있다. Subsequently, object unit trajectories obtained from the compressed image are combined to generate block data for a blockchain update period (eg, 30 seconds) for the compressed image. Since two object unit areas A and B have been identified from the compressed image, the block data is combined by combining the two object unit trajectories and the identification information "video_id76" of the compressed image [video_id76; obj_ida mva0 to mva4; obj_idb mvb0 to mvb4].

만일 영상관리 서버(200)가 1000대의 CCTV 카메라(210)로부터 1000개의 CCTV 영상을 제공받는다면, [도 4]에 도시된 블록 데이터 1000개를 결합하여 구성한 블록 데이터를 메인 블록체인에 반영하여 업데이트한다.If the image management server 200 receives 1000 CCTV images from 1000 CCTV cameras 210, the block data constructed by combining 1000 block data shown in [FIG. 4] is reflected in the main blockchain and updated. do.

한편, [도 4]에서 모션벡터 mva0 ~ mva4, mvb0 ~ mvb4는 각각 모션벡터 하나를 의미하는 것이 아니라 해당 시점에서 객체 단위영역 A, B에 관련되어 추출된 모션벡터의 집합을 의미하는 것이다. 예를 들어, mva3은 시간 t = t3에서 객체 단위영역 A와 관련하여 압축영상으로부터 추출된 예컨대 모션벡터 17개의 집합을 의미하는 것이 될 수 있다.Meanwhile, in [FIG. 4], the motion vectors mva0 to mva4 and mvb0 to mvb4 do not each mean one motion vector, but a set of motion vectors extracted in relation to object unit regions A and B at the corresponding point in time. For example, mva3 may mean, for example, a set of 17 motion vectors extracted from a compressed image in relation to the object unit region A at time t = t3.

[도 5]는 본 발명에서 메인 블록체인을 백업하면서 객체 그룹 별로 백업 블록체인의 난이도를 상이하게 설정하는 과정을 개념적으로 나타내는 도면이고, [도 6]은 일반적으로 블록체인의 난이도를 상이하게 설정하는 개념 및 프로그램 소스코드의 예를 나타내는 도면이다.5 is a diagram conceptually showing a process of differently setting the difficulty of a backup blockchain for each object group while backing up the main blockchain in the present invention, and [FIG. 6] is generally set to differently the difficulty of the blockchain. This is a diagram showing an example of concept and program source code.

본 발명에서는 메인 블록체인에 저장되어 있던 정보를 장기 보관을 위해 백업 블록체인으로 백업 복사한다. 이때, 난이도를 상이하게 설정하여 복수의 백업 블록체인을 마련한 후에, 객체 그룹 별로 그에 대응하는 백업 블록체인으로 백업 복사함으로써, 결과적으로는 객체 그룹 별로 블록체인의 난이도를 상이하게 설정하여 백업 보관하도록 구성하는 것이 가능하다. In the present invention, the information stored in the main blockchain is backed up and copied to the backup blockchain for long-term storage. At this time, the difficulty is set differently, and then a plurality of backup blockchains are prepared, and then copied by backup group to the corresponding backup blockchain for each object group. As a result, the difficulty of the blockchain is set differently for each object group to be configured to store the backup. It is possible to do.

[도 5]를 참조하면, 3개의 백업 블록체인이 마련되어 있는데, 상위백업 분산원장(510)을 관리하는 백업 블록체인이 난이도가 가장 높고, 중위백업 분산원장(520)을 관리하는 백업 블록체인이 난이도가 중간이며, 하위백업 분산원장(530)을 관리하는 백업 블록체인이 난이도가 가장 낮다. 블록체인에 대해 난이도를 설정하는 개념에 대해서는 [도 6]을 참조하여 후술한다.Referring to FIG. 5, three backup blockchains are provided, and the backup blockchain managing the upper backup distributed ledger 510 has the highest difficulty, and the backup blockchain managing the middle backup distributed ledger 520 is provided. The difficulty is medium, and the backup blockchain that manages the sub-backup distributed ledger 530 has the lowest difficulty. The concept of setting the difficulty level for the blockchain will be described later with reference to [FIG. 6].

그리고 나서, 메인 블록체인의 정보를 백업 블록체인으로 백업 복사할 때에 해당 객체가 속하는 그룹에 대응하여 정보를 복사할 경로의 종착지인 백업 블록체인을 지정하는 것이다. 이때, 객체 그룹의 구분을 설계자의 의도에 따라 다양한 형태로 구현될 수 있다. 예를 들어, 중요도에 따라 객체 그룹을 구별할 수 있다. 중요한 객체는 제 1 객체그룹으로 분류하고, 덜 중요한 객체는 그 정도에 따라 제 2 객체그룹 혹은 제 3 객체그룹으로 분류하는 것이다.Then, when backing up and copying the information of the main blockchain to the backup blockchain, it designates a backup blockchain that is the destination of the path to copy the information in correspondence to the group to which the object belongs. At this time, the classification of the object group may be implemented in various forms according to the designer's intention. For example, a group of objects can be classified according to importance. The important objects are classified into the first object group, and the less important objects are classified into the second object group or the third object group according to the degree.

또한, 객체의 속성에 따라 객체 그룹을 구별할 수도 있다. 예를 들어, 일정한 특징을 갖는 객체들(예: 초속 3 ~ 5미터의 이동 속도를 갖는 객체, 3개 이상의 객체가 함께 이동하는 객체)은 제 1 객체그룹으로 분류할 수 있다. 제 2 객체그룹에 대해서는 다른 속성을 정의할 수 있으며, 여기에 해당되지 않는 나머지 객체들은 제 3 객체그룹으로 분류할 수 있다.Also, object groups may be classified according to the properties of the objects. For example, objects having a certain characteristic (eg, objects having a moving speed of 3 to 5 meters per second, objects in which three or more objects move together) may be classified into a first object group. Other properties may be defined for the second object group, and the remaining objects that do not correspond may be classified as the third object group.

또한, 관리자가 마우스 조작 등을 통해 다수의 객체들 중에서 제 1 객체그룹과 제 2 객체그룹에 속할 객체들을 선택할 수 있다. 이때, 선택되지 않은 나머지 객체들은 제 3 객체그룹으로 분류된다.In addition, the administrator may select objects belonging to the first object group and the second object group from among a plurality of objects through mouse manipulation. At this time, the remaining unselected objects are classified into a third object group.

[도 5]을 참조하면, 메일 블록체인에 3개의 객체 식별정보 a, b, c에 대한 객체 단위궤적이 저장되어 있다. 첫번째 블록 데이터에는 객체 식별정보 a, b, c의 객체 단위궤적이 포함되어 있고, 두번째 블록 데이터에는 객체 식별정보 a, c의 객체 단위궤적이 포함되어 있으며, 세번째 블록 데이터에는 객체 식별정보 b, c의 객체 단위궤적이 포함되어 있다. 이때, 객체 식별정보 a는 제 1 객체그룹으로 분류하고 객체 식별정보 b는 제 2 객체그룹으로 분류하며 객체 식별정보 c는 제 3 객체그룹으로 분류하였다.Referring to FIG. 5, object unit trajectories for three object identification information a, b, and c are stored in the mail blockchain. The first block data includes object unit trajectories of object identification information a, b, c, the second block data contains object unit trajectories of object identification information a, c, and the third block data includes object identification information b, c. Object trajectory of is included. At this time, object identification information a was classified into a first object group, object identification information b was classified into a second object group, and object identification information c was classified into a third object group.

이러한 조건에서 메인 블록체인의 정보를 백업 블록체인으로 백업 복사하면 난이도(상)의 백업 블록체인에는 제 1 객체그룹에 속하는 객체 식별정보 a의 객체 단위궤적이 복사된다. 마찬가지로, 난이도(중)의 백업 블록체인에는 제 2 객체그룹에 속하는 객체 식별정보 b의 객체 단위궤적이 복사되고, 난이도(하)의 백업 블록체인에는 제 3 객체그룹에 속하는 객체 식별정보 c의 객체 단위궤적이 복사된다. 이때, 단순히 객체 단위궤적만 복사되는 것으로 끝나는 것은 아니고, 각각의 난이도에 따라 블록 데이터의 필드를 채워야 한다.Under these conditions, when the backup information of the main blockchain is copied to the backup blockchain, the object unit trajectory of object identification information a belonging to the first object group is copied to the backup blockchain of difficulty (upper level). Likewise, the object unit trajectory of object identification information b belonging to the second object group is copied to the backup blockchain of difficulty (medium), and the object of object identification information c belonging to the third object group is copied to the backup blockchain of difficulty (below). The unit trajectory is copied. At this time, the object unit trajectory does not end with being copied, but the field of block data must be filled according to each difficulty.

블록체인 기술에서 난이도가 높게 설정된 경우에는 해당 블록체인을 구성하는 것이 더 복잡하게 되는데, 그로 인한 결과로, 일단 한번 구성되어진 블록체인의 데이터를 제 3 자가 위변조하는 것도 더 곤란해지게 되며 결국 그 데이터에 대한 신뢰도는 더욱 높아지게 된다. 따라서, 중요한 객체 혹은 특별한 속성을 가지고 있는 객체에 대해서는 난이도가 높게 설정된 백업 블록체인으로 관리함으로써 위변조를 더욱 어렵게 관리할 수 있게 된다. 역으로, 별다른 특징이 없는 대부분의 객체들에 대해서는 난이도가 낮은 백업 블록체인으로 관리함으로써 블록체인 처리 부담을 전체적으로 낮출 수 있는 장점도 얻을 수 있다.When the difficulty is set high in the blockchain technology, it becomes more complicated to configure the blockchain, and as a result, it becomes more difficult for a third party to forge and falsify the data of the blockchain once constructed, and eventually the data The credibility for is increased. Therefore, it is possible to manage forgery and alteration more difficult by managing an important object or an object having a special property by using a backup block chain with high difficulty. Conversely, by managing a backup block chain with low difficulty for most objects that have no special features, it is also possible to obtain an advantage of lowering the overall blockchain processing burden.

한편, 영상검증 서버(300)가 특정의 제 2 객체 식별정보에 대해 객체 시퀀스를 확인하려고 할 때에, 그 제 2 객체 식별정보에 대응하는 정보가 메인 블록체인에 존재하지 않고 백업 블록체인에 백업 복사된 경우라면 제 2 모션벡터 시퀀스를 획득하는 과정은 [도 2]의 (S1900)과는 달라져야 한다.On the other hand, when the image verification server 300 tries to check the object sequence with respect to the specific second object identification information, the information corresponding to the second object identification information does not exist in the main blockchain and the backup copy to the backup blockchain If it is, the process of acquiring the second motion vector sequence should be different from (S1900) of [FIG. 2].

이 경우에는, 제 2 객체 식별정보가 어떠한 객체 그룹에 속하는지 식별하고, 복수의 백업 블록체인 중에서 제 2 객체 식별정보가 속하는 객체 그룹에 대응하는 백업 블록체인을 조회해야 한다. 예를 들어, 제 2 객체 식별정보가 제 2 객체그룹에 속한다면, 난이도(중)의 백업 블록체인을 조회하여 블록 데이터를 살펴봐야 한다. 이를 통해, 해당 백업 블록체인으로부터 제 2 객체 식별정보에 대응하는 객체 단위궤적을 구비하는 하나이상의 블록 데이터를 추출하고, 그 추출된 블록 데이터에 포함된 객체 단위궤적의 모션벡터 객체시퀀스를 분석하여 객체 시퀀스를 위한 제 2 모션벡터 시퀀스를 획득한다.In this case, it is necessary to identify which object group the second object identification information belongs to, and query the backup blockchain corresponding to the object group to which the second object identification information belongs among the plurality of backup blockchains. For example, if the second object identification information belongs to the second object group, the block data must be checked by querying the backup blockchain of difficulty (medium). Through this, one or more block data having the object unit trajectory corresponding to the second object identification information is extracted from the backup blockchain, and the motion vector object sequence of the object unit trajectory included in the extracted block data is analyzed to analyze the object Obtain a second motion vector sequence for the sequence.

이하에서는 [도 6]을 참조하여 블록체인에 대해 난이도를 설정하는 개념에 대해 기술한다.Hereinafter, the concept of setting the difficulty level for the blockchain will be described with reference to FIG. 6.

블록체인을 구성하는 하나의 블록은 One block that makes up the blockchain is

- [압축영상 내에서 객체로 감지된 모션벡터값], -[Motion vector value detected as an object in the compressed image],

- [시간적 순서를 알기위한 시간], -[Time to know temporal order],

- [이전블록의 해시값], -[Hash value of the previous block],

- [A. 난이도에 따라 계산된 해시값], -[A. Hash value calculated according to the difficulty],

- [B. 난이도에 따라 해시값의 조건을 만족하는 nonce 값]-[B. Nonce value that satisfies the condition of hash value according to the difficulty]

으로 이루어지며, 이 블록을 구성하는 필드 값을 계산해내는 과정은 [도 6]의 <step 1> 내지 <step 4>와 같다.The process of calculating the field values constituting this block is as shown in <step 1> to <step 4> in [Fig. 6].

이때, 블록체인의 난이도를 결정하는 값은 000000000...XXXXXX (256bit)으로 정의되는데, 0의 갯수가 많을수록, 즉 X의 갯수가 적을수록 해당 블록체인의 난이도는 높다고 정의된다. 즉, <step 3>에서 난이도 값보다 작은 해시값이 나올 때까지 nonce 값을 증가시키면서 해시 계산을 반복 수행하는데, 이때 난이도 값에서 0의 갯수가 많을수록 난이도 값이 작아지면서 조건이 까다로와지기 때문에 계산이 복잡해지고 블록체인의 난이도는 올라간다.At this time, the value that determines the difficulty of the blockchain is defined as 000000000 ... XXXXXX (256bit), and the more the number of 0s, that is, the less the number of Xs, the higher the difficulty of the blockchain. That is, in <step 3>, hash calculation is performed repeatedly by increasing the nonce value until a hash value smaller than the difficulty value is generated. At this time, the more the number of 0s in the difficulty value, the smaller the difficulty value and the more difficult the condition becomes. The calculation becomes complicated and the difficulty of the blockchain increases.

예를 들어, 2개의 블록체인 A, B에 대해 이들의 난이도를 00000000XXXX 와 0000XXXXXXXX 라고 가정한다. 블록체인 A의 난이도 값에 포함된 0의 갯수가 더 많기 때문에 블록체인 A가 블록체인 B보다 난이도가 높은 것이다. 블록체인 기술에서 블록체인 업데이트를 수행할 때의 주요 과제는 아래와 같은 조건을 만족하는 해시값을 찾는 것이다.For example, it is assumed that the difficulty of these two blockchains A and B is 00000000XXXX and 0000XXXXXXXX. Since the number of zeros included in the difficulty value of Blockchain A is higher, Blockchain A has higher difficulty than Blockchain B. The main challenge when performing blockchain update in blockchain technology is to find a hash value that satisfies the following conditions.

블록체인 A : 00000000XXXX 보다 작은값을 만족하는 해시값Blockchain A: Hash value that satisfies a value less than 00000000XXXX

블록체인 B : 0000XXXXXXXX 보다 작은값을 만족하는 해시값Blockchain B: Hash value that satisfies a value less than 0000XXXXXXXX

따라서, 블록체인 B에 비해 블록체인 A에서 해시값을 찾기가 훨씬 까다로와질 수밖에 없으며, 과제 해결 값을 얻을 때까지 수행해야 하는 연산량 및 그 연산에 소요되는 시간이 훨씬 많아지는 것이다.Therefore, compared to Blockchain B, it is inevitable to find hash value in Blockchain A, and the amount of computation to be performed and the time required to perform the computation are much longer to obtain the task solving value.

[도 7]은 본 발명에서 압축영상에 대해 객체 단위영역을 설정하는 제 1 실시예로서 CCTV 영상에서 영상 분석을 통해 이동객체를 식별하여 객체 단위영역으로 설정하는 과정을 나타내는 순서도이고, [도 8]은 동영상 디코딩 장치의 일반적인 구성을 나타내는 블록도이다.7 is a flow chart showing a process of identifying a moving object through video analysis in a CCTV image and setting it as an object unit area as a first embodiment of setting an object unit area for a compressed image in the present invention. ] Is a block diagram showing a general configuration of a video decoding apparatus.

제 1 실시예는 압축영상에 대해 복잡하고 고차원적인 영상분석 프로세스를 수행하여 오브젝트(예: 사람 A, 사람 B, 자동차, 동물 등)를 식별해내고 각각의 오브젝트가 영상에서 차지하는 이미지 덩어리(즉, 오브젝트 이미지)를 객체 단위영역으로 설정하는 방식이다. The first embodiment identifies an object (eg, human A, human B, car, animal, etc.) by performing a complex and high-dimensional image analysis process on the compressed image, and each object occupies an image chunk (ie, Object image) is set as an object unit area.

[도 8]은 H.264 AVC 기술규격에 따른 동영상 디코딩 장치의 일반적인 구성을 나타내는 블록도이다. [도 8]을 참조하면, H.264 AVC에 따른 동영상 디코딩 장치는 구문분석기(11), 엔트로피 디코더(12), 역 변환기(13), 모션벡터 연산기(14), 예측기(15), 디블로킹 필터(16)를 포함하여 구성된다. 이들 하드웨어 모듈이 압축영상의 데이터를 순차적으로 처리함으로써 압축영상에서 압축을 풀고 원래의 영상 데이터를 복원해낸다. 이때, 구문분석기(11)는 압축영상의 코딩 유닛에 대해 모션벡터 및 코딩유형을 파싱해낸다. 이러한 코딩 유닛(coding unit)은 일반적으로는 매크로블록이나 서브 블록과 같은 영상 블록이다.8 is a block diagram showing a general configuration of a video decoding apparatus according to the H.264 AVC technology standard. 8, the video decoding apparatus according to H.264 AVC includes a parser 11, an entropy decoder 12, an inverse transformer 13, a motion vector operator 14, a predictor 15, and deblocking It comprises a filter 16. These hardware modules sequentially process the compressed image data to decompress the compressed image and restore the original image data. At this time, the parser 11 parses the motion vector and coding type for the coding unit of the compressed image. Such a coding unit is a video block such as a macroblock or subblock.

[도 7]은 영상분석을 통해 CCTV 영상으로부터 오브젝트(이동객체)를 추출하여 객체 단위영역으로 설정하는 과정을 나타내는 순서도이다. [도 7]을 참조하면, 타겟 압축영상을 H.264 AVC 및 H.265 HEVC 등에 따라 디코딩하고(S10), 재생영상의 프레임 이미지들을 작은 이미지, 예컨대 320x240 정도로 다운스케일 리사이징을 한다(S20). 이때, 다운스케일 리사이징을 하는 이유는 이후 영상분석 과정에서의 프로세싱 부담을 그나마 줄이기 위한 것이다. 그리고 나서, 리사이징된 프레임 이미지들에 대해 차영상(differentials)을 구한 후에 영상 분석을 통해 이동객체를 추출해낸다(S30). 그리고 나서, 이들 이동객체의 이미지를 CCTV 영상에 대한 객체 단위영역으로 설정한다(S40). 7 is a flow chart showing a process of extracting an object (moving object) from a CCTV image through image analysis and setting it as an object unit area. Referring to FIG. 7, the target compressed image is decoded according to H.264 AVC and H.265 HEVC (S10), and the frame images of the reproduced image are downscaled to a small image, for example, about 320x240 (S20). At this time, the reason for downscale resizing is to reduce the processing burden in the subsequent image analysis process. Then, after obtaining differential images for the resized frame images, a moving object is extracted through image analysis (S30). Then, the images of these moving objects are set as object unit areas for CCTV images (S40).

제 1 실시예는 압축영상의 내용을 이해한 상태에서 오브젝트를 선별하는 것이기 때문에 객체 단위영역의 추출이 정확하고 그 경계가 실제 영상과 정확히 대응된다는 장점이 있다. 반면, 압축영상 디코딩, 다운스케일 리사이징, 영상 분석 과정은 복잡도가 매우 높은 프로세스이기 때문에 시스템의 영상 처리 속도가 상당히 늦어지게 되는 단점이 있다.In the first embodiment, since the object is selected while the content of the compressed image is understood, there is an advantage in that the extraction of the object unit region is accurate and the boundary is exactly corresponding to the actual image. On the other hand, compressed video decoding, downscale resizing, and video analysis processes are very complex processes, so there is a disadvantage in that the system's image processing speed is significantly slowed down.

[도 9]는 본 발명에서 압축영상에 대해 객체 단위영역을 설정하는 제 2 실시예로서 타겟 압축영상으로부터 신택스(syntax) 기반으로 이동객체 영역을 추출하고 이를 타겟 압축영상에 대한 객체 단위영역으로 설정하는 프로세스를 나타내는 순서도이다.9 is a second embodiment of setting an object unit region for a compressed image in the present invention, extracting a moving object region based on syntax from the target compressed image and setting it as an object unit region for the target compressed image It is a flowchart showing the process.

제 2 실시예는 압축영상을 파싱하여 얻은 신택스 정보(syntax information)에 기초하여 압축영상으로부터 이동객체로 보이는 부분을 식별해내고 이들을 객체 단위영역으로 설정하는 방식이다. 전술하였던 제 1 실시예와 비교하면, 제 2 실시예는 영상의 내용을 이해하고 오브젝트 이미지를 추출하는 것이 아니라, 압축영상의 내용을 전혀 모르는 상태에서 신택스 정보에 근거하여 이동객체가 포함된 것으로 추정되는 이미지 덩어리를 추출하는 방식이라는 점에서 제 1 실시예와는 개념상 차이가 있다. 즉, 영상 분석을 하지 않았기에 영상 내용에 대해서는 정보가 없는 상태에서 이동객체 영역을 추출해내는 것이다.The second embodiment is a method of identifying a portion that appears as a moving object from a compressed image based on syntax information obtained by parsing the compressed image and setting them as an object unit area. Compared to the first embodiment described above, the second embodiment does not understand the contents of the image and extract the object image, but presumes that the moving object is included based on syntax information in a state where the contents of the compressed image are completely unknown. There is a conceptual difference from the first embodiment in that it is a method of extracting an image lump. That is, since the image analysis is not performed, the moving object area is extracted without information on the image content.

제 2 실시예에서는 압축영상을 디코딩할 필요없이 압축영상의 비트스트림을 파싱하여 각 영상 블록에 대한 신택스 정보를 통해 이동객체 영역을 빠르게 추출한다. 영상 블록으로는 매크로블록(Macro Block) 및 서브블록(Sub Block) 등의 어느 하나 혹은 이들의 조합을 채택할 수 있고, 신택스 정보로는 모션벡터(Motion Vector)와 코딩유형(Coding Type)이 바람직하다. 이렇게 얻어진 이동객체 영역은 본 명세서에 첨부된 여러 이미지에서 확인되는 바와 같이 영상 내에 존재하는 이동객체의 경계선을 정밀하게 반영하지는 못하지만 처리속도가 빠르면서도 신뢰도가 높은 장점이 있다. In the second embodiment, the bitstream of the compressed image is parsed without the need to decode the compressed image, and a moving object region is quickly extracted through syntax information for each image block. As a video block, any one or a combination of macro blocks and sub blocks may be adopted, and motion vector and coding type are preferable as syntax information. Do. The moving object region thus obtained does not accurately reflect the boundary of the moving object existing in the image, as confirmed in the various images attached to the present specification, but has a high processing speed and high reliability.

이하, [도 9]를 참조하여 제 2 실시예에 따라 압축영상으로부터 신택스 기반으로 이동객체 영역을 빠르게 추출하고 이를 타겟 압축영상에 대한 객체 단위영역으로 설정하는 과정의 개념을 살펴본다.Hereinafter, a concept of a process of quickly extracting a moving object region based on syntax from a compressed image and setting it as an object unit region for a target compressed image according to the second embodiment will be described with reference to FIG. 9.

단계 (S100) : 먼저, 압축영상의 모션벡터에 기초하여 압축영상으로부터 실질적으로 의미를 인정할만한 유효 움직임을 검출하며, 이처럼 유효 움직임이 검출된 영상 영역을 이동객체 영역으로 설정한다.Step (S100): First, based on the motion vector of the compressed image, effective motion that is substantially recognizable from the compressed image is detected, and the image area in which the effective motion is detected is set as a moving object area.

이를 위해, H.264 AVC 및 H.265 HEVC 등의 동영상압축 표준에 따라서 압축영상의 코딩 유닛(coding unit)의 모션벡터와 코딩유형을 파싱한다. 이때, 코딩 유닛의 사이즈는 일반적으로 64x64 픽셀 내지 4x4 픽셀 정도이며 설계자의 선택에 따라 다양하게 설정될 수 있다.To this end, motion vectors and coding types of a coding unit of a compressed image are parsed according to video compression standards such as H.264 AVC and H.265 HEVC. At this time, the size of the coding unit is generally about 64x64 pixels to 4x4 pixels, and may be variously set according to the designer's selection.

각 영상 블록에 대해 미리 설정된 일정 시간(예: 500 msec) 동안 모션벡터를 누적시키고, 그에 따른 모션벡터 누적값이 미리 설정된 제 1 임계치(예: 20)을 초과하는지 검사한다. 만일 그러한 영상 블록이 발견되면 해당 영상 블록에서 유효 움직임이 발견된 것으로 보고 이동객체 영역으로 마킹한다. 그에 따라, 모션벡터가 발생하였더라도 일정 시간동안의 누적값이 제 1 임계치를 넘지 못하는 경우에는 영상 변화가 미미한 것으로 추정하고 무시한다.For each video block, the motion vectors are accumulated for a predetermined time (eg, 500 msec), and it is checked whether the resulting motion vector accumulation value exceeds a preset first threshold (eg, 20). If such an image block is found, it is considered that an effective motion is found in the corresponding image block and is marked as a moving object area. Accordingly, even if a motion vector occurs, if the cumulative value for a certain time does not exceed the first threshold, the video change is assumed to be negligible and ignored.

단계 (S200) : 앞의 (S100)에서 검출된 이동객체 영역에 대하여 그 주변 영역을 모션벡터와 코딩유형에 기초하여 검사함으로써 이들 이동객체 영역의 바운더리가 대략적으로 어디까지인지 확장해나간다. 이러한 과정을 통해서 앞서 (S100)에서 파편화된 영상 블록의 형태로 검출된 이동객체 영역을 서로 연결하여 유의미한 덩어리 형태를 만들어가는 결과를 얻는다.Step (S200): The area around the moving object detected in the previous step (S100) is inspected based on the motion vector and the coding type to expand the boundary of these moving object areas to approximately the extent. Through this process, the moving object regions detected in the form of fragmented image blocks in (S100) are connected to each other to obtain a meaningful lump shape.

앞의 (S100)에서는 엄격한 판단기준에 따라 영상 블록들을 선별함으로써 압축영상 내에서 이동객체에 대응하는 것이 확실해 보이는 영상 블록을 검출하여 이동객체 영역으로 마킹하였다. 이번의 (S200)에서는 이렇게 (S100)에서 이동객체 영역으로 마킹되었던 영상 블록 주변에 위치하는 다른 영상 블록들을 검사한다. 이들을 본 명세서에서는 편이상 '이웃 블록'이라고 부른다. 이들 이웃 블록에 대해서는 앞서 (S100)에 적용하였던 판단기준에 비해 상대적으로 완화된 판단기준에 따라 이동객체 영역에 해당하는지 여부를 판단한다.In the previous step (S100), by selecting image blocks according to strict criteria, an image block that seems to correspond to a moving object in a compressed image is detected and marked as a moving object area. In this time (S200), other image blocks located around the image block marked as the moving object area in (S100) are examined. These are referred to as one or more 'neighbor blocks' in this specification. For these neighboring blocks, it is determined whether or not they correspond to the moving object area according to the criterion that is relatively relaxed compared to the criterion applied in (S100).

압축영상에서 매크로블록이나 서브블록 등은 매우 작은 사이즈이다. 따라서 CCTV 영상과 같이 사람, 자동차, 동물 등을 촬영한 영상이라면 그 속성상 이동객체가 하나의 영상 블록에만 나타나기는 곤란하고 여러 영상 블록에 걸쳐서 나타날 것으로 예상한다. 즉, 이동객체가 찍힌 영상 블록 근방에 존재하는 영상 블록에는 이동객체가 찍혀있을 가능성이 그렇지 않은 영상 블록에 비해 상대적으로 높다고 예상한다. 그러한 기술적 사상을 반영하여 (S200)에서는 이동객체 영역 주변에 존재하는 이웃 블록에 대해 상대적으로 완화된 판단기준에 따라 이동객체 영역에 해당하는지 여부를 판단한다.In compressed images, macroblocks or subblocks are very small. Therefore, if it is a video shot of a person, a car, or an animal, such as a CCTV video, it is difficult for the moving object to appear only in one video block due to its nature, and it is expected to appear across multiple video blocks. That is, it is predicted that the probability that a moving object is stamped on an image block existing in the vicinity of the image block on which the moving object is photographed is relatively higher than that on the image block that is not. Reflecting such technical ideas, in (S200), it is determined whether or not it corresponds to the moving object area according to the relatively relaxed determination criteria for the neighboring block existing around the moving object area.

바람직하게는 각각의 이웃 블록을 검사하여, 현재 프레임에서 검출된 모션벡터 값이 미리 설정된 제 2 임계치(예: 0) 이상이거나 코딩유형이 인트라 픽쳐(Intra Picture)일 경우에는 해당 영상 블록도 이동객체 영역으로 마킹한다. 다른 실시예로는, 이웃 블록에 대해 앞서 (S100)에서 산출하였던 모션벡터 누적값이 제 2 임계치(예: 5) 이상이거나 코딩유형이 인트라 픽쳐일 경우에는 해당 영상 블록도 이동객체 영역으로 마킹할 수 있다. 이때, 제 2 임계치는 제 1 임계치에 비해 작은 값으로 설정되는 것이 논리적으로 타당하다.Preferably, each neighboring block is inspected, and if the motion vector value detected in the current frame is greater than or equal to a preset second threshold (eg, 0) or the coding type is an intra picture, the corresponding image block is also a moving object Mark as an area. In another embodiment, when the motion vector accumulation value previously calculated in (S100) with respect to the neighboring block is greater than or equal to the second threshold (eg, 5) or the coding type is intra picture, the corresponding video block is also marked as a moving object area. Can be. At this time, it is logically reasonable that the second threshold is set to a smaller value than the first threshold.

개념적으로는, 유효 움직임이 발견되어 이동객체 영역의 근방에서 어느 정도의 움직임이 있는 영상 블록이라면 이는 앞의 이동객체 영역과 한 덩어리일 가능성이 높기 때문에 이동객체 영역이라고 마킹하는 것이다. 또한, 인트라 픽쳐의 경우에는 모션벡터가 존재하지 않기 때문에 모션벡터에 기초하여 이동객체 영역인지 여부를 판단하는 것이 불가능하다. 이에, 이동객체 영역으로 이미 검출된 영상 블록에 인접하여 위치하는 인트라 픽쳐라면 기 추출된 이동객체 영역과 함께 한 덩어리를 이루는 것으로 추정한다. 이동객체 영역이 아닌 영상 블록 하나가 이동객체 영역에 포함되었을 때의 손실은 별로 크지 않은 반면, 이동객체 영역이 파편화되었을 때의 손실은 크기 때문이다.Conceptually, if an image block in which an effective motion is found and there is a certain amount of motion in the vicinity of the moving object area is marked as a moving object area because it is likely to be a single chunk with the preceding moving object area. In addition, in the case of an intra picture, since there is no motion vector, it is impossible to determine whether it is a moving object area based on the motion vector. Accordingly, if the intra picture is located adjacent to an image block that has already been detected as a moving object area, it is estimated that a single chunk is formed together with the extracted moving object area. This is because the loss when the moving object region is fragmented is not large, whereas the loss when the image block other than the moving object region is included in the moving object region is large.

단계 (S300) : 앞의 (S100)과 (S200)에서 검출된 이동객체 영역에 인터폴레이션(interpolation)을 적용하여 이동객체 영역의 분할(fragmentation)을 정리한다. 앞의 과정에서는 영상 블록 단위로 이동객체 영역 여부를 판단하였기 때문에 실제로는 하나의 이동객체(예: 사람)임에도 불구하고 중간중간에 이동객체 영역으로 마킹되지 않은 영상 블록이 존재하여 여러 개의 이동객체 영역으로 분할되는 현상이 발생할 수 있다. 그에 따라, 이동객체 영역으로 마킹된 복수의 영상 블록으로 둘러싸여 하나 혹은 소수의 비마킹 영상 블록이 존재한다면 이들은 이동객체 영역으로 추가로 마킹한다. 이를 통해, 여러 개로 분할되어 있는 이동객체 영역을 하나로 뭉쳐지도록 만들 수 있는데, 이와 같은 인터폴레이션의 영향은 [도 13]과 [도 14]를 비교하면 명확하게 드러난다.Step (S300): The fragmentation of the moving object area is arranged by applying interpolation to the moving object area detected in the preceding (S100) and (S200). In the previous process, since it is determined whether the moving object area is in units of image blocks, there are several moving object areas because there is an image block that is not marked as a moving object area in the middle even though it is actually one moving object (eg, a person). The phenomenon of splitting into may occur. Accordingly, if there is one or a small number of non-marked image blocks surrounded by a plurality of image blocks marked as a moving object region, they are additionally marked as a moving object region. Through this, it is possible to make the moving object area divided into several pieces into one, and the effect of such interpolation is clearly seen when comparing [FIG. 13] and [FIG. 14].

앞서의 과정 (S100) 내지 (S300)을 통하여 압축영상으로부터 하나이상의 이동객체 영역을 획득하였다. 이동객체 영역(region of moving object)는 [도 14]에 도시된 것과 같이 다수의 영상블록들이 뭉쳐진 덩어리로서, 신택스 정보에 기초하여 그 안에 하나이상의 이동객체가 포함되어 있을 것으로 추정되기에 압축영상으로부터 별도로 선별된 것이다. 소프트웨어 처리를 위하여 이들 이동객체 영역에는 고유 식별정보(Unique ID)를 할당하여 관리하는 것이 바람직하다.Through the above steps (S100) to (S300), one or more moving object regions were obtained from the compressed image. The region of moving object is a lump in which a plurality of image blocks are aggregated as shown in [Fig. 14], and it is estimated that one or more moving objects are included therein based on syntax information. It was selected separately. For software processing, it is desirable to allocate and manage unique identification information (Unique ID) to these mobile object areas.

단계 (S400) : 이상의 과정을 통하여 압축영상에 대해 코딩 유닛의 신택스(모션벡터, 코딩유형)에 기초하여 이동객체 영역을 신속하게 추출하였다. 단계 (S400)에서는 이러한 이동객체 영역을 타겟 압축영상에 대한 객체 단위영역으로 설정한다.Step (S400): Through the above process, the moving object region is quickly extracted based on the syntax (motion vector, coding type) of the coding unit for the compressed image. In step S400, the moving object region is set as an object unit region for the target compressed image.

[도 10]은 본 발명에서 압축영상으로부터 유효 움직임(effective movement)을 검출하는 과정의 구현 예를 나타내는 순서도이고, [도 11]은 CCTV 영상에 대해 유효 움직임 영역 검출 과정이 적용된 결과의 일 예를 나타내는 도면이다.[Figure 10] is a flow chart showing an example of the implementation of the process of detecting an effective movement (effective movement) from a compressed image in the present invention, [Figure 11] is an example of the result of the effective motion area detection process is applied to the CCTV image It is a figure to show.

단계 (S110) : 먼저, 압축영상의 코딩 유닛을 파싱하여 모션벡터 및 코딩유형을 획득한다. [도 8]을 참조하면, 동영상 디코딩 장치는 압축영상의 스트림에 대해 H.264 AVC 및 H.265 HEVC 등과 같은 동영상압축 표준에 따라 구문분석(헤더 파싱) 및 모션벡터 연산을 수행한다. 이러한 과정을 통하여 압축영상의 코딩 유닛에 대하여 모션벡터와 코딩유형을 파싱해낸다.Step (S110): First, the coding unit of the compressed image is parsed to obtain a motion vector and a coding type. Referring to FIG. 8, the video decoding apparatus performs parsing (header parsing) and motion vector calculation according to video compression standards such as H.264 AVC and H.265 HEVC on a stream of compressed video. Through this process, motion vectors and coding types are parsed for the coding unit of the compressed image.

단계 (S120) : 압축영상을 구성하는 복수의 영상 블록 별로 미리 설정된 시간(예: 500 ms) 동안의 모션벡터 누적값을 획득한다. Step (S120): The motion vector accumulation value for a preset time (eg, 500 ms) is obtained for each of the plurality of image blocks constituting the compressed image.

이 단계는 압축영상으로부터 실질적으로 의미를 인정할만한 유효 움직임, 예컨대 주행중인 자동차, 달려가는 사람, 서로 싸우는 군중들이 있다면 이를 검출하려는 의도를 가지고 제시되었다. 흔들리는 나뭇잎, 잠시 나타나는 고스트, 빛의 반사에 의해 약간씩 변하는 그림자 등은 비록 움직임은 있지만 실질적으로는 무의미한 객체이므로 검출되지 않도록 한다.This step was presented with the intention of detecting effective motions that are practically recognizable from the compressed image, such as a driving car, a running person, and a crowd fighting each other. Shaking leaves, ghosts that appear briefly, and shadows that change slightly due to reflection of light, etc., should not be detected as they are practically meaningless objects even though there is movement.

이를 위해, 미리 설정된 일정 시간(예: 500 msec) 동안 하나이상의 영상 블록 단위로 모션벡터를 누적시켜 모션벡터 누적값을 획득한다. 이때, 영상 블록은 매크로블록과 서브블록을 포함하는 개념으로 사용된 것이다.To this end, a motion vector is accumulated by accumulating motion vectors in one or more image block units for a predetermined time (eg, 500 msec). At this time, the video block is used as a concept including a macroblock and a subblock.

단계 (S130, S140) : 복수의 영상 블록에 대하여 모션벡터 누적값을 미리 설정된 제 1 임계치(예: 20)와 비교하며, 제 1 임계치를 초과하는 모션벡터 누적값을 갖는 영상 블록을 이동객체 영역으로 마킹한다.Steps (S130, S140): The motion vector accumulation value is compared with a preset first threshold value (for example, 20) for a plurality of image blocks, and an image block having a motion vector accumulation value exceeding the first threshold value is moved object area It is marked with.

만일 이처럼 일정 이상의 모션벡터 누적값을 갖는 영상 블록이 발견되면 해당 영상 블록에서 무언가 유의미한 움직임, 즉 유효 움직임이 발견된 것으로 보고 이동객체 영역으로 마킹한다. 예컨대 영상관제 시스템에서 사람이 뛰어가는 정도로 관제 요원이 관심을 가질만한 가치가 있을 정도의 움직임을 선별하여 검출하려는 것이다. 반대로, 모션벡터가 발생하였더라도 일정 시간동안의 누적값이 제 1 임계치를 넘지 못할 정도로 작을 경우에는 영상에서의 변화가 그다지 크지않고 미미한 것으로 추정하고 검출 단계에서 무시한다.If an image block having a motion vector cumulative value equal to or greater than a certain level is found, it is marked as a moving object area, as something significant motion, that is, an effective motion is found in the corresponding image block. For example, it is intended to select and detect movements that are worth the attention of the control personnel to the extent that a person jumps in the video control system. Conversely, even if a motion vector occurs, if the accumulated value for a certain time is small enough to not exceed the first threshold, the change in the image is not so large and is assumed to be insignificant and ignored in the detection step.

[도 11]은 본 발명에서 [도 10]의 과정을 통해 CCTV 영상으로부터 유효 움직임 영역을 검출한 결과를 시각적으로 나타낸 일 예이다. [도 11]에서는 제 1 임계치 이상의 모션벡터 누적값을 갖는 영상 블록이 이동객체 영역으로 마킹되어 붉은 색으로 표시되었다. [도 11]을 살펴보면 보도블럭이나 도로, 그리고 그림자가 있는 부분 등은 이동객체 영역으로 표시되지 않은 반면, 걷고있는 사람들이나 주행중인 자동차 등이 이동객체 영역으로 표시되었다.[Fig. 11] is an example of visually showing the result of detecting an effective motion area from a CCTV image in the present invention through the process of [Fig. 10]. In FIG. 11, an image block having a motion vector cumulative value equal to or greater than a first threshold is marked as a moving object area and displayed in red. Looking at [Fig. 11], a sidewalk block, a road, and a shadowed part are not displayed as a moving object area, while walking people or a driving car are displayed as a moving object area.

[도 12]는 본 발명에서 이동객체 영역에 대한 바운더리 영역(boundary area)을 검출하는 과정의 구현 예를 나타내는 순서도이고, [도 13]은 [도 11]의 CCTV 영상 이미지에 대해 [도 12]에 따른 바운더리 영역 검출 과정이 적용된 결과의 일 예를 나타내는 도면이다. [Fig. 12] is a flowchart showing an example of the implementation of the process of detecting a boundary area for a moving object area in the present invention, [Fig. 13] is [Fig. 12] for the CCTV video image of [Fig. 11] A diagram showing an example of a result of applying a boundary region detection process according to.

앞서의 [도 11]을 살펴보면 이동객체가 제대로 마킹되지 않았으며 일부에 대해서만 마킹이 이루어진 것을 발견할 수 있다. 즉, 걷고있는 사람이나 주행중인 자동차를 살펴보면 객체의 전부가 마킹된 것이 아니라 일부 영상블록만 마킹되었다는 것을 발견할 수 있다. 더욱이 하나의 이동객체에 대해 복수의 이동객체 영역이 마킹된 것도 많이 발견된다. 이는 앞의 (S100)에서 채택한 이동객체 영역의 판단 기준이 일반 영역을 필터링 아웃하는 데에는 매우 유용하지만 상당히 엄격한 것이었다는 것을 의미한다. 따라서, 이동객체 영역을 중심으로 그 주변을 살펴봄으로써 이동객체의 바운더리를 검출하는 과정이 필요하다.Looking at [FIG. 11] above, it can be found that the moving object was not properly marked and only a part was marked. That is, if you look at a person walking or a driving car, you can find that not all objects are marked, but only some video blocks are marked. Moreover, it is also found that a plurality of moving object areas are marked for one moving object. This means that the criteria for determining the moving object area adopted in (S100) above is very useful for filtering out the general area, but it is quite strict. Therefore, a process of detecting the boundary of the moving object is necessary by looking around the area around the moving object area.

단계 (S210) : 먼저, 앞의 (S100)에 의해 이동객체 영역으로 마킹된 영상 블록을 중심으로 하여 인접하는 복수의 영상 블록을 식별한다. 이들은 본 명세서에서는 '이웃 블록(neighboring blocks)'이라고 부른다. 이들 이웃 블록은 (S100)에 의해서는 이동객체 영역으로 마킹되지 않은 부분인데, [도 12]의 프로세스에서는 이들에 대해 좀더 살펴봄으로써 이들 이웃 블록 중에서 이동객체 영역의 바운더리에 포함될만한 것이 있는지 확인하려는 것이다.Step (S210): First, a plurality of adjacent image blocks are identified centering on the image block marked as the moving object area by the preceding (S100). These are referred to herein as 'neighboring blocks'. These neighboring blocks are parts that are not marked as moving object areas by (S100). In the process of [Fig. 12], by looking at them more, it is to check whether there are any of these neighboring blocks that may be included in the boundary of the moving object area. .

단계 (S220, S230) : 복수의 이웃 블록에 대하여 모션벡터 값을 미리 설정된 제 2 임계치와 비교하고, 제 2 임계치를 초과하는 모션벡터 값을 갖는 이웃 블록을 이동객체 영역으로 마킹한다. 실질적으로 의미를 부여할만한 유효 움직임이 인정된 이동객체 영역에 인접하여 위치하고 그 자신에 대해서도 어느 정도의 움직임이 발견되고 있다면 그 영상 블록은 촬영 영상(예: CCTV 영상)의 특성상 앞의 이동객체 영역과 한 덩어리일 가능성이 높다. 따라서, 이러한 이웃 블록도 이동객체 영역이라고 마킹한다. Steps (S220, S230): For a plurality of neighboring blocks, a motion vector value is compared with a preset second threshold, and a neighboring block having a motion vector value exceeding the second threshold is marked as a moving object area. If the effective motion that can give practical meaning is located adjacent to the recognized moving object area, and a certain amount of motion is also found in itself, the video block may differ from the preceding moving object area due to the nature of the captured video (eg CCTV video). It is most likely a lump. Therefore, this neighboring block is also marked as a moving object area.

이를 구현하는 제 1 실시예로서, 각각의 이웃 블록을 검사하여, 현재 프레임에서 검출된 모션벡터 값이 미리 설정된 제 2 임계치(예: 0) 이상인 경우에 해당 영상 블록도 이동객체 영역으로 마킹한다.As a first embodiment to implement this, each neighboring block is examined, and when the motion vector value detected in the current frame is greater than or equal to a preset second threshold (eg, 0), the corresponding video block is also marked as a moving object area.

한편, 제 2 실시예로서, 이웃 블록에 대해 앞서 (S100)에서 산출하였던 모션벡터 누적값이 미리 설정된 제 2 임계치(예: 5) 이상인 경우에는 해당 영상 블록도 이동객체 영역으로 마킹할 수 있다. 이때, 제 2 임계치는 제 1 임계치에 비해 작은 값으로 설정되는 것이 타당하다.On the other hand, as a second embodiment, if the motion vector accumulation value previously calculated in (S100) for a neighboring block is equal to or greater than a preset second threshold (eg, 5), the corresponding image block may also be marked as a moving object area. At this time, it is reasonable that the second threshold is set to a smaller value than the first threshold.

단계 (S240) : 또한, 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 것을 이동객체 영역으로 마킹한다. 인트라 픽쳐의 경우에는 모션벡터가 존재하지 않기 때문에 해당 이웃 블록이 이동객체 영역에 해당되는지 여부를 모션벡터에 기초하여 판단하는 것이 불가능하다. 이동객체 영역으로 이미 검출된 영상 블록에 인접하여 위치하는 인트라 픽쳐라면 기 추출된 이동객체 영역과 함께 한 덩어리를 이루는 것으로 추정하는 것이 바람직하다. 이동객체 영역이 아닌 영상 블록 하나가 이동객체 영역에 포함되었을 때의 손실은 별로 크지 않은 반면, 이동객체 영역이 파편화되었을 때의 손실은 크기 때문이다.Step S240: Further, among the plurality of neighboring blocks, a coding type is an intra picture, and is marked as a moving object area. In the case of an intra picture, since a motion vector does not exist, it is impossible to determine whether a corresponding neighboring block corresponds to a moving object region based on the motion vector. If the intra picture is located adjacent to the image block that has already been detected as the moving object area, it is preferable to estimate that it is formed as a lump together with the extracted moving object area. This is because the loss when the moving object region is fragmented is not large, whereas the loss when the image block other than the moving object region is included in the moving object region is large.

[도 13]은 본 발명에서 CCTV 영상에 바운더리 영역 검출 과정까지 적용된 결과를 시각적으로 나타낸 도면인데, 이상의 과정을 통해 이동객체 영역으로 마킹된 다수의 영상 블록을 파란 색으로 표시하였다. [도 13]을 살펴보면, 앞서 [도 11]에서 붉은 색으로 표시되었던 이동객체 영역의 근방으로 파란 색의 이동객체 영역은 좀더 확장되었으며 이를 통해 CCTV로 촬영된 실제 영상과 비교할 때 이동객체를 전부 커버할 정도가 되었다는 사실을 발견할 수 있다.13 is a diagram visually showing results applied to a boundary area detection process on a CCTV image in the present invention, and a plurality of image blocks marked as moving object areas are displayed in blue color through the above process. Looking at [Fig. 13], in the vicinity of the moving object area indicated in red in [Fig. 11], the moving object area of blue color is expanded further, and through this, it covers all moving objects when compared with the actual video captured by CCTV. You can find that it is enough to do.

[도 14]는 [도 13]의 CCTV 영상 이미지에 대해 인터폴레이션을 통해 이동객체 영역을 정리한 결과의 일 예를 나타내는 도면이다.14 is a diagram showing an example of a result of arranging a moving object area through interpolation for the CCTV video image of [FIG. 13].

단계 (S300)은 앞의 (S100)과 (S200)에서 검출된 이동객체 영역에 인터폴레이션을 적용하여 이동객체 영역의 분할을 정리하는 과정이다. [도 13]을 살펴보면 파란 색으로 표시된 이동객체 영역 사이사이에 비마킹 영상 블록이 발견된다. 이렇게 중간중간에 비마킹 영상 블록이 존재하게 되면 이들이 다수의 개별적인 이동객체인 것처럼 간주될 수 있다. 이렇게 이동객체 영역이 파편화되면 본 발명에 따른 압축영상에 대한 객체 이미지 시퀀스 관리 결과가 부정확해질 수 있고, 이동객체 영역의 갯수가 많아져서 본 발명에 따른 압축영상에 대한 객체 이미지 시퀀스 관리 프로세스가 복잡해지는 문제도 있다.Step (S300) is a process of arranging the division of the moving object area by applying interpolation to the moving object areas detected in the above (S100) and (S200). Referring to FIG. 13, a non-marking image block is found between regions of a moving object indicated in blue. If there are non-marking image blocks in the middle, it can be considered that they are a large number of individual mobile objects. When the moving object region is fragmented, the result of object image sequence management for the compressed image according to the present invention may be inaccurate, and the number of moving object regions increases, which complicates the process of managing the object image sequence for the compressed image according to the present invention. There is also a problem.

그에 따라, 본 발명에서는 이동객체 영역으로 마킹된 복수의 영상 블록으로 둘러싸여 하나 혹은 소수의 비마킹 영상 블록이 존재한다면 이는 이동객체 영역으로 마킹하는데, 이를 인터폴레이션이라고 부른다. [도 13]과 대비하여 [도 14]를 살펴보면, 이동객체 영역 사이사이에 존재하던 비마킹 영상 블록이 모두 이동객체 영역이라고 마킹되었다. 이를 통해, 덩어리로 움직이는 영역은 모두 묶어서 하나의 이동객체로서 다루게 된다.Accordingly, in the present invention, if there is one or a small number of non-marked image blocks surrounded by a plurality of image blocks marked as a moving object region, it is marked as a moving object region, which is called interpolation. Looking at [FIG. 14] in contrast to [FIG. 13], all non-marking image blocks existing between the moving object areas are marked as moving object areas. Through this, all the areas moving by the lump are bundled and treated as one moving object.

[도 11], [도 13], [도 14]를 비교하면 바운더리 영역 검출 과정과 인터폴레이션 과정을 거치면서 이동객체 영역이 실제 영상의 상황을 제대로 반영하게 되어간다는 사실을 발견할 수 있다. [도 11]에서 붉은 색으로 마킹된 덩어리로 판단한다면 영상 화면 속에 아주 작은 물체들이 다수 움직이는 것처럼 다루어질 것인데, 이는 실제와는 부합하지 않는다. 반면, [도 14]에서 파란 색으로 마킹된 덩어리로 판단한다면 어느 정도의 부피를 갖는 몇 개의 이동객체가 존재하는 것으로 다루어질 것이어서 실제 장면을 유사하게 반영한다.When comparing [FIG. 11], [FIG. 13], and [FIG. 14], it can be found that the moving object region properly reflects the situation of the real image through the boundary region detection process and the interpolation process. In [Fig. 11], if it is judged as a chunk marked with red, it will be treated as if a lot of very small objects move in the video screen, which does not correspond to the real thing. On the other hand, if it is judged as a lump marked with blue in [Fig. 14], several moving objects having a certain volume will be treated as being, and thus the actual scene is similarly reflected.

한편, 본 발명은 컴퓨터가 읽을 수 있는 비휘발성 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현되는 것이 가능하다. 이러한 비휘발성 기록매체로는 다양한 형태의 스토리지 장치가 존재하는데 예컨대 하드디스크, SSD, CD-ROM, NAS, 자기테이프, 웹디스크, 클라우드 디스크 등이 있고 네트워크로 연결된 다수의 스토리지 장치에 코드가 분산 저장되고 실행되는 형태도 구현될 수 있다. 또한, 본 발명은 하드웨어와 결합되어 특정의 절차를 실행시키기 위하여 매체에 저장된 컴퓨터프로그램의 형태로 구현될 수도 있다.On the other hand, the present invention can be implemented in the form of computer-readable code on a computer-readable non-volatile recording medium. There are various types of storage devices such as hard disks, SSDs, CD-ROMs, NAS, magnetic tapes, web disks, cloud disks, etc., and codes are distributed and stored in multiple networked storage devices. It can also be implemented as a form of execution. In addition, the present invention may be implemented in the form of a computer program stored in a medium in order to execute a specific procedure in combination with hardware.

100 : 모션벡터 분산원장
200 : 영상관리 서버
210 : CCTV 카메라
220 : 영상 스토리지
300 : 영상검증 서버
400 : 관리자 컴퓨터
510 : 상위백업 분산원장
520 : 중위백업 분산원장
530 : 하위백업 분산원장
100: motion vector distributed ledger
200: video management server
210: CCTV camera
220: video storage
300: image verification server
400: administrator computer
510: Top Backup Distributed Ledger
520: Deputy General Ledger
530: Distributed backup ledger

Claims (9)

영상 위변조 여부 관리 대상인 제 1 압축영상을 제공받는 제 1 단계;
제 1 압축영상을 파싱하여 다수의 모션벡터(이하, '제 1 모션벡터'라 함)를 시간 진행에 따라 순차적으로 획득하는 제 2 단계;
상기 제 1 압축영상에서 위변조 여부의 관리 대상 이미지 덩어리인 객체 단위영역을 하나이상 식별하고 그 객체 단위영역 각각을 구분 식별하기 위한 제 1 객체 식별정보를 식별하는 제 3 단계;
미리 설정된 블록체인 갱신주기 단위로, 상기 다수의 제 1 모션벡터 중에서 상기 객체 단위영역에 각각 관련된 모션벡터의 시퀀스(이하, '모션벡터 객체시퀀스'라 함)를 식별하고, 상기 하나이상의 객체 단위영역 별로 상기 제 1 객체 식별정보와 상기 모션벡터 객체시퀀스를 결합하여 객체 단위궤적을 생성하고, 상기 하나이상의 객체 단위궤적을 취합하여 블록 데이터를 생성하는 제 4 단계;
상기 블록체인 갱신주기마다 상기 블록 데이터를 반영하여 메인 블록체인을 업데이트하는 제 5 단계;
영상 위변조 여부 확인 대상인 객체의 이미지 시퀀스(이하, '객체 시퀀스'라 함)가 포함된 제 2 압축영상을 제공받는 제 6 단계;
상기 제 2 압축영상을 파싱하여 다수의 모션벡터(이하, '제 2 모션벡터'라 함)를 시간 진행에 따라 순차적으로 획득하는 제 7 단계;
상기 제 2 압축영상으로부터 상기 영상 위변조 여부 확인 대상인 객체를 구분 식별하기 위한 제 2 객체 식별정보를 추출하는 제 8 단계;
상기 다수의 제 2 모션벡터 중에서 상기 제 2 객체 식별정보에 관련된 모션벡터의 시퀀스를 식별하여 연결함으로써 상기 객체 시퀀스를 위한 제 1 모션벡터 시퀀스를 획득하는 제 9 단계;
상기 메인 블록체인을 조회하여 상기 제 2 객체 식별정보에 대응하는 객체 단위궤적을 구비하는 하나이상의 블록 데이터를 추출하고, 상기 추출된 블록 데이터에 포함된 객체 단위궤적의 모션벡터 객체시퀀스를 분석하여 상기 객체 시퀀스를 위한 제 2 모션벡터 시퀀스를 획득하는 제 10 단계;
상기 제 1 모션벡터 시퀀스와 상기 제 2 모션벡터 시퀀스를 비교한 결과에 기초하여 상기 객체 시퀀스의 위변조 여부를 판단하는 제 11 단계;
를 포함하여 구성되는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
A first step of receiving a first compressed image that is an object of management for forgery of the image;
A second step of parsing the first compressed image and sequentially obtaining a plurality of motion vectors (hereinafter referred to as 'first motion vectors');
A third step of identifying one or more object unit areas, which are chunks of images to be managed for forgery or non-falsification in the first compressed image, and identifying first object identification information for classifying and identifying each of the object unit areas;
In a preset block chain update cycle unit, a sequence of motion vectors (hereinafter referred to as a 'motion vector object sequence') related to the object unit area among the plurality of first motion vectors is identified, and the one or more object unit areas are identified. A fourth step of generating an object unit trajectory by combining the first object identification information and the motion vector object sequence for each, and generating block data by combining the one or more object unit trajectories;
A fifth step of updating a main blockchain by reflecting the block data at each blockchain update cycle;
A sixth step of receiving a second compressed image including an image sequence (hereinafter referred to as an 'object sequence') of an object to be checked for forgery of the image;
A seventh step of parsing the second compressed image and sequentially obtaining a plurality of motion vectors (hereinafter referred to as 'second motion vectors');
An eighth step of extracting second object identification information for discriminating and identifying the object to be checked for forgery of the image from the second compressed image;
A ninth step of obtaining a first motion vector sequence for the object sequence by identifying and connecting a sequence of motion vectors related to the second object identification information among the plurality of second motion vectors;
By querying the main blockchain, one or more block data having an object unit trajectory corresponding to the second object identification information is extracted, and the motion vector object sequence of the object unit trajectory included in the extracted block data is analyzed to obtain the A tenth step of obtaining a second motion vector sequence for the object sequence;
An eleventh step of determining whether the object sequence is falsified or not based on a result of comparing the first motion vector sequence and the second motion vector sequence;
A method of managing an object sequence of a compressed image using a motion vector block chain composed of a.
청구항 1에 있어서,
상기 제 5 단계 이후에 수행되는,
상기 메인 블록체인의 블록 데이터에 저장된 다수의 객체 단위궤적을 각각의 제 1 객체 식별정보가 속하는 객체 그룹에 대응하여 난이도를 달리하는 복수의 백업 블록체인에 백업 복사하는 제 12 단계;
상기 제 9 단계와 상기 제 10 단계 사이에 수행되는,
상기 제 2 객체 식별정보가 상기 백업 블록체인에 백업 복사된 경우에, 상기 복수의 백업 블록체인 중에서 상기 제 2 객체 식별정보가 속하는 객체 그룹에 대응하는 백업 블록체인을 조회하여 상기 제 2 객체 식별정보에 대응하는 객체 단위궤적을 구비하는 하나이상의 블록 데이터를 추출하고, 상기 추출된 블록 데이터에 포함된 객체 단위궤적의 모션벡터 객체시퀀스를 분석하여 상기 객체 시퀀스를 위한 제 2 모션벡터 시퀀스를 획득하고 상기 제 11 단계로 진행하는 제 13 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 1,
Is performed after the fifth step,
A twelfth step of backing up and copying a plurality of object unit trajectories stored in the block data of the main blockchain to a plurality of backup blockchains of varying difficulty according to the object group to which each first object identification information belongs;
Performed between the ninth step and the tenth step,
When the second object identification information is backed up and copied to the backup blockchain, among the plurality of backup blockchains, the second object identification information is retrieved by querying the backup blockchain corresponding to the object group to which the second object identification information belongs Extracting one or more block data having an object unit trajectory corresponding to, and analyzing a motion vector object sequence of the object unit trajectory included in the extracted block data to obtain a second motion vector sequence for the object sequence and A thirteenth step proceeding to the eleventh step;
A method of managing an object sequence of a compressed image using a motion vector block chain, further comprising a.
청구항 2에 있어서,
상기 제 12 단계는,
상이한 난이도를 갖는 복수의 백업 블록체인을 설정하는 단계;
복수의 객체 그룹을 상기 복수의 백업 블록체인에 대응 설정하는 단계;
상기 메인 블록체인에서 각각의 블록 데이터에 저장되어 있는 각각의 객체 단위궤적을 각자의 상기 제 1 객체 식별정보가 속하는 객체 그룹에 대응하여 상기 복수의 백업 블록체인 중 하나의 백업 블록체인을 선택하여 해당 블록 데이터로 백업 복사하는 단계;
상기 복수의 백업 블록체인에 대하여 각자의 난이도에 따라 블록데이터를 구성하는 단계;
를 포함하여 구성되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 2,
The twelfth step,
Setting up a plurality of backup blockchains having different difficulty levels;
Setting a plurality of object groups corresponding to the plurality of backup blockchains;
In the main blockchain, each object unit trajectory stored in each block data corresponds to an object group to which the first object identification information belongs, and selects one backup blockchain among the plurality of backup blockchains. Backup copying to block data;
Configuring block data according to respective difficulty levels of the plurality of backup blockchains;
Object sequence management method of a compressed image using a motion vector blockchain, characterized in that comprises a.
청구항 1에 있어서,
상기 객체 단위영역은 상기 제 1 압축영상의 데이터 또는 상기 제 2 압축영상을 각각의 타겟 압축영상으로 하는 디코딩, 다운스케일 리사이징, 영상 분석을 통해 상기 타겟 압축영상으로부터 추출된 하나이상의 이동객체 이미지로 설정되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 1,
The object unit area is set as one or more moving object images extracted from the target compressed image through decoding, downscale resizing, and image analysis of the first compressed image or the second compressed image as each target compressed image. A method of managing an object sequence of a compressed image using a motion vector blockchain, which is characterized by being
청구항 1에 있어서,
상기 객체 단위영역은 상기 제 1 압축영상 또는 상기 제 2 압축영상을 각각의 타겟 압축영상으로 하는 신택스 기반 이동객체 영역 추출 프로세스에 의해 식별되고,
상기 신택스 기반 이동객체 영역 추출 프로세스는,
타겟 압축영상의 비트스트림을 파싱하여 코딩 유닛에 대한 모션벡터 및 코딩유형을 획득하는 제 A 단계;
타겟 압축영상을 구성하는 복수의 영상 블록 별로 미리 설정된 시간동안의 모션벡터 누적값을 획득하는 제 B 단계;
상기 복수의 영상 블록에 대하여 상기 모션벡터 누적값을 미리 설정된 제 1 임계치와 비교하는 제 C 단계;
상기 제 1 임계치를 초과하는 모션벡터 누적값을 갖는 영상 블록을 이동객체 영역으로 마킹하는 제 D 단계;
상기 이동객체 영역으로 마킹된 영상 블록의 개별 덩어리를 객체 단위영역으로 설정하는 제 E 단계;
를 포함하여 구성되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 1,
The object unit region is identified by a syntax-based moving object region extraction process using the first compressed image or the second compressed image as each target compressed image,
The syntax-based moving object region extraction process,
A step A of parsing the bitstream of the target compressed image and obtaining a motion vector and a coding type for the coding unit;
A step B of obtaining a motion vector accumulation value for a preset time for each of a plurality of image blocks constituting a target compressed image;
A C step of comparing the accumulated motion vector with respect to the plurality of image blocks with a preset first threshold;
A step D of marking an image block having a motion vector accumulation value exceeding the first threshold as a moving object area;
An E step of setting an individual chunk of the image block marked as the moving object area as an object unit area;
Object sequence management method of a compressed image using a motion vector blockchain, characterized in that comprises a.
청구항 5에 있어서,
상기 신택스 기반 이동객체 영역 추출 프로세스는,
상기 제 D 단계와 상기 제 E 단계 사이에 수행되는,
상기 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록(이하, '이웃 블록'이라 함)을 식별하는 제 a 단계;
상기 복수의 이웃 블록에 대하여 상기 제 1 단계에서 획득된 모션벡터 값을 미리 설정된 제 2 임계치와 비교하는 제 b 단계;
상기 복수의 이웃 블록 중에서 상기 제 b 단계의 비교 결과 상기 제 2 임계치를 초과하는 모션벡터 값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 5,
The syntax-based moving object region extraction process,
Performed between the D step and the E step,
A step a of identifying a plurality of adjacent image blocks (hereinafter referred to as 'neighbor blocks') with respect to the moving object region;
A step b of comparing the motion vector values obtained in the first step with a preset second threshold for the plurality of neighboring blocks;
A step c of additionally marking a neighboring block having a motion vector value exceeding the second threshold as a moving object area as a result of the comparison of step b among the plurality of neighboring blocks;
A method of managing an object sequence of a compressed image using a motion vector block chain, further comprising a.
청구항 5에 있어서,
상기 신택스 기반 이동객체 영역 추출 프로세스는,
상기 제 D 단계와 상기 제 E 단계 사이에 수행되는,
상기 이동객체 영역을 중심으로 그 인접하는 복수의 영상 블록(이하, '이웃 블록'이라 함)을 식별하는 제 a 단계;
상기 복수의 이웃 블록에 대하여 상기 모션벡터 누적값을 상기 제 1 임계치보다 작은 값으로 미리 설정된 제 2 임계치와 비교하는 제 b 단계;
상기 복수의 이웃 블록 중에서 상기 제 b 단계의 비교 결과 상기 제 2 임계치를 초과하는 모션벡터 누적값을 갖는 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 c 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 5,
The syntax-based moving object region extraction process,
Performed between the D step and the E step,
A step a of identifying a plurality of adjacent image blocks (hereinafter referred to as 'neighbor blocks') with respect to the moving object region;
A step b of comparing the accumulated motion vector with respect to the plurality of neighboring blocks to a second threshold that is preset to a value less than the first threshold;
A step c of additionally marking a neighboring block having a motion vector accumulation value exceeding the second threshold as a moving object area as a result of the comparison of step b among the plurality of neighboring blocks;
A method of managing an object sequence of a compressed image using a motion vector block chain, further comprising a.
청구항 6 또는 청구항 7에 있어서,
상기 신택스 기반 이동객체 영역 추출 프로세스는,
상기 제 c 단계와 상기 제 E 단계 사이에 수행되는,
상기 복수의 이웃 블록 중에서 코딩유형이 인트라 픽쳐인 이웃 블록을 이동객체 영역으로 추가 마킹하는 제 d 단계;
상기 복수의 이동객체 영역에 대하여 인터폴레이션을 수행하여 이동객체 영역으로 둘러싸인 미리 설정된 갯수 이하의 비마킹 영상 블록을 이동객체 영역으로 추가 마킹하는 제 e 단계;
를 더 포함하여 구성되는 것을 특징으로 하는 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법.
The method according to claim 6 or 7,
The syntax-based moving object region extraction process,
It is performed between the step c and the step E,
A d step of additionally marking a neighboring block having an intra-picture coding type as a moving object area among the plurality of neighboring blocks;
An e-step of interpolating the plurality of moving object areas to additionally mark a non-marked image block of a preset number or less surrounded by the moving object area as a moving object area;
A method of managing an object sequence of a compressed image using a motion vector block chain, further comprising a.
하드웨어와 결합되어 청구항 1 내지 7 중 어느 하나의 항에 따른 모션벡터 블록체인을 이용한 압축영상의 객체 시퀀스 관리 방법을 실행시키기 위하여 매체에 저장된 컴퓨터프로그램.A computer program stored in a medium in combination with hardware to execute a method for managing an object sequence of a compressed image using a motion vector blockchain according to any one of claims 1 to 7.
KR1020190015276A 2019-02-11 2019-02-11 method of providing object sequence management for compressed video by use of blockchain of motion vectors KR102114136B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190015276A KR102114136B1 (en) 2019-02-11 2019-02-11 method of providing object sequence management for compressed video by use of blockchain of motion vectors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190015276A KR102114136B1 (en) 2019-02-11 2019-02-11 method of providing object sequence management for compressed video by use of blockchain of motion vectors

Publications (1)

Publication Number Publication Date
KR102114136B1 true KR102114136B1 (en) 2020-05-22

Family

ID=70913820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190015276A KR102114136B1 (en) 2019-02-11 2019-02-11 method of providing object sequence management for compressed video by use of blockchain of motion vectors

Country Status (1)

Country Link
KR (1) KR102114136B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190045207A1 (en) * 2017-12-28 2019-02-07 Yen-Kuang Chen Context-aware image compression

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190045207A1 (en) * 2017-12-28 2019-02-07 Yen-Kuang Chen Context-aware image compression

Similar Documents

Publication Publication Date Title
Shelke et al. A comprehensive survey on passive techniques for digital video forgery detection
Chen et al. Automatic detection of object-based forgery in advanced video
JP4990383B2 (en) Image group expression method, image group search method, apparatus, computer-readable storage medium, and computer system
Poisel et al. Forensics investigations of multimedia data: A review of the state-of-the-art
JP5711387B2 (en) Method and apparatus for comparing pictures
Hosler et al. The video authentication and camera identification database: A new database for video forensics
KR101709085B1 (en) Shot Boundary Detection method and apparatus using Convolutional Neural Networks
Sowmya et al. A survey on video forgery detection
KR102090785B1 (en) syntax-based method of providing inter-operative processing with video analysis system of compressed video
KR101949676B1 (en) syntax-based method of providing intrusion detection in compressed video
CN108063914B (en) Method and device for generating and playing monitoring video file and terminal equipment
JP2014239495A (en) Frame based video matching
Johnston et al. Video tampering localisation using features learned from authentic content
WO2021007846A1 (en) Method, apparatus and device for video similarity detection
KR102187376B1 (en) syntax-based method of providing selective video surveillance by use of deep-learning image analysis
CN110505513A (en) A kind of video interception method, apparatus, electronic equipment and storage medium
KR20090006397A (en) System and method for multi-stage filtering of malicious videos in video distribution environment
Sharma et al. Video interframe forgery detection: Classification, technique & new dataset
Verde et al. Focal: A forgery localization framework based on video coding self-consistency
KR102179077B1 (en) syntax-based method of providing object classification in compressed video by use of neural network which is learned by cooperation with an external commercial classifier
KR102114136B1 (en) method of providing object sequence management for compressed video by use of blockchain of motion vectors
KR102061915B1 (en) syntax-based method of providing object classification for compressed video
KR20190021993A (en) method of providing extraction of moving object area out of compressed video based on syntax of the compressed video
KR102192039B1 (en) Method and system for managing traffic violation using video/image device
KR102042397B1 (en) syntax-based method of producing heat-map for compressed video

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant