KR102398788B1 - 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템 - Google Patents

블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템 Download PDF

Info

Publication number
KR102398788B1
KR102398788B1 KR1020220021977A KR20220021977A KR102398788B1 KR 102398788 B1 KR102398788 B1 KR 102398788B1 KR 1020220021977 A KR1020220021977 A KR 1020220021977A KR 20220021977 A KR20220021977 A KR 20220021977A KR 102398788 B1 KR102398788 B1 KR 102398788B1
Authority
KR
South Korea
Prior art keywords
video
definition
control service
service providing
compression technology
Prior art date
Application number
KR1020220021977A
Other languages
English (en)
Inventor
김형만
김영환
Original Assignee
주식회사 코코넛랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코코넛랩 filed Critical 주식회사 코코넛랩
Priority to KR1020220021977A priority Critical patent/KR102398788B1/ko
Application granted granted Critical
Publication of KR102398788B1 publication Critical patent/KR102398788B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템이 제공되며, 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 스트리밍받아 고화질 동영상 내 객체를 탐지 및 분석한 후 결과를 이벤트로 출력하는 사용자 단말 및 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 수신하여 사용자 단말로 스트리밍하는 전송부, 고화질 동영상을 기 설정된 영상압축기술을 이용하여 압축하는 압축부, 고화질 동영상이 압축된 압축 동영상을 블록체인을 이루도록 블록을 생성하여 저장하는 저장부, 블록을 블록체인을 이루는 적어도 하나의 노드에 분산저장하는 분산부를 포함하는 관제 서비스 제공 서버를 포함한다.

Description

블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템{SYSTEM FOR PROVIDING BLOCKCHAIN BASED REALTIME MONITORING SERVICE FOR HIGH DEFINITION VIDEO USING VIDEO COMPRESSION TECHNOLOGY}
본 발명은 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템에 관한 것으로, CCTV로부터 출력되는 고화질 영상을 실시간 영상압축기술을 이용하여 스트리밍시키고, 실시간으로 객체를 감지 및 분석하며 블록체인으로 압축 동영상을 분산저장할 수 있는 시스템을 제공한다.
동영상 객체인식 기반의 지능형 영상분석 솔루션은 시각지능 산업을 유지하는 핵심기술로 정확도 부문에 대한 높은 신뢰성을 요구하고 있다. CCTV를 통한 영상 감시 분야는 전문 관제센터의 영역으로 점진적으로 통합되고, 늘어나는 관제 모니터 수와 효율적인 감시 인력의 증대를 통한 단순 관리 방법으로는 리스크를 발생시키는 잠재요소를 감시하고 분석하는 것에는 한계가 있다. 급격히 늘어나는 CCTV의 양적인 규모에 비해 한정적인 예산 및 보안요원 관리 등의 한계를 보완하고 극복할 수 있는 방법의 하나로서 동영상 객체인식 기반의 영상분석 솔루션 도입은 필수적이다. 국내에서도 시각지능 기술을 선도하려는 노력이 지속적으로 이어지고 있는데, 과기정통부는 인공지능 국가전략프로젝트로 VTT(Video Turing Test) 사업을 추진하고, 동영상 객체인식 및 분석 기술 개발을 핵심과제로 추진중에 있으며, 휴먼 수준의 이해능력과 분석능력이 가능한 AI 개발을 목표로 추진하고 있다.
이때, 딥러닝 영상분석을 이용하여 객체 메타데이터로 자동 선별관제를 수행하거나 객체의 이상패턴을 이벤트로 출력하는 방법이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국등록특허 제10-2144531호(2020년08월14일 공고) 및 한국공개특허 제2021-0117760호(2021년09월29일 공개)에는, CCTV 영상 내 객체 메타데이터를 추출한 후 딥러닝 영상분석 데이터를 획득하고, 객체 메타데이터 및 CNN으로 객체를 분류하며, 객체의 이상패턴이 감지되면 객체 정보를 추출하여 관제알림을 출력하는 구성과, CCTV 영상을 분석하여 이상행동을 감지하기 위하여 사람인 객체를 추출한 후 추적정보에 기반하여 추적정보리스트를 생성하고, 추적정보리스트 내 객체에 대한 이상행동 여부를 판정하여 알람 이벤트를 출력하는 구성이 각각 개시되어 있다.
다만, 전자의 경우 CCTV가 위변조될 가능성을 배제할 수 없고 후자의 경우에도 고화질 동영상을 처리하기 위한 플랫폼이 존재하지 않는다. 최근 고화질 CCTV의 가격이 낮아지면서 관제센터에도 고화질 동영상이 실시간으로 스트리밍되고 있지만, 고화질 동영상을 압축기술을 적용하여 압축하고 위변조 가능성까지 없애 증거력을 갖추거나 무결성을 보존할 수 있는 플랫폼은 존재하지 않는다. 이에, 고화질 동영상을 영상압축기술을 이용하여 압축하여 스트리밍하면서도 위변조 가능성을 없애 증거력을 갖추면서 무결성을 가질 수 있도록 하는 실시간 관제 시스템의 연구 및 개발이 요구된다.
본 발명의 일 실시예는, 블록체인 기반으로 고화질 동영상을 업로드할 때 실시간 영상압축기술을 이용하여 압축된 동영상을 블록을 생성하여 분산저장하고, 실시간 관제가 가능하도록 스트리밍되는 동영상 내 객체를 인식한 후 기 설정된 이벤트에 매칭되는 객체를 추출 및 추적할 수 있는, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템이 제공되며, 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 스트리밍받아 고화질 동영상 내 객체를 탐지 및 분석한 후 결과를 이벤트로 출력하는 사용자 단말 및 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 수신하여 사용자 단말로 스트리밍하는 전송부, 고화질 동영상을 기 설정된 영상압축기술을 이용하여 압축하는 압축부, 고화질 동영상이 압축된 압축 동영상을 블록체인을 이루도록 블록을 생성하여 저장하는 저장부, 블록을 블록체인을 이루는 적어도 하나의 노드에 분산저장하는 분산부를 포함하는 관제 서비스 제공 서버를 포함한다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 블록체인 기반으로 고화질 동영상을 업로드할 때 실시간 영상압축기술을 이용하여 압축된 동영상을 블록을 생성하여 분산저장하고, 실시간 관제가 가능하도록 스트리밍되는 동영상 내 객체를 인식한 후 기 설정된 이벤트에 매칭되는 객체를 추출 및 추적할 수 있다.
도 1은 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 관제 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다.
본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템(1)은, 적어도 하나의 사용자 단말(100), 관제 서비스 제공 서버(300), 적어도 하나의 CCTV(400)를 포함할 수 있다. 다만, 이러한 도 1의 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.
이때, 도 1의 각 구성요소들은 일반적으로 네트워크(Network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 사용자 단말(100)은 네트워크(200)를 통하여 관제 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 관제 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 사용자 단말(100), 적어도 하나의 CCTV(400)와 연결될 수 있다. 또한, 적어도 하나의 CCTV(400)는, 네트워크(200)를 통하여 관제 서비스 제공 서버(300)와 연결될 수 있다.
여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.
하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.
적어도 하나의 사용자 단말(100)은, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 CCTV(400)로부터 전송된 고화질 영상을 출력하는 단말일 수 있다. 사용자는, 관공서, 대형매장, 금융기관, 재난감시, 무인감시, 카지노, 보안시설, 원자력발전소, 항만, 아파트, 군사시설, 교통관제, 의료기관, 공사현장, 창고 및 터널 등의 상황을 모니터링하는 직원일 수 있으나 열거된 것으로 한정되지는 않는다.
여기서, 적어도 하나의 사용자 단말(100)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(100)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(100)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
관제 서비스 제공 서버(300)는, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 관제 서비스 제공 서버(300)는, CCTV(400)로부터 출력되는 고화질 동영상을 실시간 압축하여 사용자 단말(100)로 전송하고, 사용자 단말(100)에서 기 설정된 이상행동 패턴을 감지하거나 각 피사체인 객체 및 객체의 행동을 태그로 출력할 수 있도록 하는 서버일 수 있다. 관제 서비스 제공 서버(300)는, 고화질 동영상을 실시간으로 압축할 때, 중복배경정보를 객체와 구별하고 중복배경정보를 제거한 후 압축을 실시함으로써 높은 데이터 압축률을 유지하면서도 해상도, 포맷 및 퀄리티를 떨어트리지 않는 것을 핵심으로 하는 서버일 수 있다. 압축된 고화질 동영상을 관제 서비스 제공 서버(300)는 실시간으로 블록체인 내 블록을 생성하여 저장하고 분산하는 서버일 수 있다. 이때 관제 서비스 제공 서버(300)는 압축을 실시할 때 엣지 컴퓨팅의 노드를 이용할 수 있으며 CCTV(400)와 물리적 거리가 가까운 노드를 이용하도록 지정하는 서버일 수 있다.
여기서, 관제 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.
적어도 하나의 CCTV(400)는, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하는 지능형 CCTV일 수 있다.
여기서, 적어도 하나의 CCTV(400)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 CCTV(400)는, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 CCTV(400)는, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.
도 2는 도 1의 시스템에 포함된 관제 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 2를 참조하면, 관제 서비스 제공 서버(300)는, 전송부(310), 압축부(320), 저장부(330), 분산부(340), 이상행동감지부(350), 검색지원부(360), 엣지컴퓨팅부(370), 노드선정부(380), 압축률선정부(390) 및 상황인지적용부(391)를 포함할 수 있다.
본 발명의 일 실시예에 따른 관제 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 사용자 단말(100) 및 적어도 하나의 CCTV(400)로 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 사용자 단말(100) 및 적어도 하나의 CCTV(400)는, 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 사용자 단말(100) 및 적어도 하나의 CCTV(400)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.
도 2를 참조하면, 전송부(310)는, 적어도 하나의 CCTV(400)로부터 고화질 동영상을 실시간으로 수신하여 사용자 단말(100)로 스트리밍할 수 있다. 적어도 하나의 CCTV(400)는 지능형 CCTV(400)일 수 있다. 사용자 단말(100)은, 적어도 하나의 CCTV(400)로부터 고화질 동영상을 실시간으로 스트리밍받아 고화질 동영상 내 객체를 탐지 및 분석한 후 결과를 이벤트로 출력할 수 있다. 이때, 딥러닝 아키텍처는 매우 높은 수준의 객체 인식 특징을 가지고 있지만, 실시간 영상처리 기술에서 낮은 성능을 나타낸다. 이는 딥러닝 아키텍처의 구조에서 기인하는 문제이다. 딥러닝 아키텍처 중 하나인 CNN(Convolutional nueral networks)은 3D 가중치와 3D 입력 기능의 커널 곱셈을 기반으로 하며, 큰 컴퓨팅 성능과 높은 대역폭을 필요로 하는 특성을 가지고 있다. 이에 따라, 본 발명의 일 실시예에서는 딥러닝 아키텍처의 연산속도를 높이기 위해, 하드웨어 구현을 위한 풀링 레이어를 이용할 수 있다. 딥러닝 아키텍처를 하드웨어로 구현함으로써, 소프트웨어보다 더 빠른 실시간 영상처리 성능을 기대할 수 있고, FPGA(Field-Programmable Gate Array)를 사용함으로써, 하드웨어수정에 많은 비용을 들이지 않고도 딥러닝 아키텍처 모델에 광범위하게 적용할 수 있다.
본 발명의 일 실시예에서는 딥러닝 아키텍처에서 사용할 수 있는 범용적 풀링(Pooling) 모듈을 이용할 수 있다. CNN에서 풀링 레이어는 주로 컨볼루션 레이어 또는 RELU와 같은 활성함수 뒤쪽에 위치한다. 대부분의 딥러닝 아키텍처들은 컨볼루션 레이어를 반복하는 구조이기 때문에 모든 부분에 대해 분석할 필요가 없다. 연산량을 줄이기 위한 기법으로 풀링을 사용하는데, 풀링은 컨볼루션 레이어 입력크기를 줄이고 특성만 뽑아내는 서브 샘플링 역할을 수행한다. 특징만을 추출함으로써 데이터 압축에 좋은 성능을 보여줄 수 있다. 풀링을 사용함으로써 얻을 수 있는 장점은 크게 세 가지가 있다. 입력 데이터의 감소된 차원에 상응하여 저장소(Memory) 요구량이 감소한다. 또한, 모델 파라미터의 수가 줄어들기 때문에 학습과 평가에 필요한 전체 연산량(Computational Cost)도 감소하여 학습 속도가 증가한다. 마지막으로 적당히 얕은 모델의 경우 파라미터의 수가 적다는 것은 신경망의 표현력(Expressive Power)이 작다는 것을 의미하고, 이는 곧 학습 데이터에 대한 과적합(Overfitting) 문제를 방지하는 데 도움이 된다.
<맥스 풀링>
맥스 풀링은 가장자리, 점 등과 같은 부분의 특징을 추출하는데 효율적이라는 장점을 가지고 있어, 많은 영상 인식분야에서 사용하는 기법이다. 입력크기에 해당하는 데이터들에서 최대값만을 사용하기 때문에 하드웨어에서 구현시 연산부담이 적다. 일반적으로 오버래핑(Overlapping)은 사용하지 않지만, 아키텍처의 마지막 풀링 수행시 피처의 특징을 두드러지게 할 때 사용하기도 한다. 이를 위해 커널 파라미터를 변경함으로써 오버래핑 기능을 사용할 수 있도록 한다. 초기 매트릭스의 폭(Width)과 높이(Height)는 맥스 풀링의 폭 및 높이의 배수여야 한다. 그렇지 않다면 패딩(Padding)으로 사이즈를 맞춰주는 작업이 추가로 필요하다. 패딩 기법에서는 주로 제로 패딩과 미러(Mirror) 패딩이 사용된다. 본 발명의 일 실시예에서는 패딩으로 사이즈를 맞추지 않고, 하드웨어 설계상에서 연산량을 줄이기 위해 실제 데이터만을 받아 처리하도록 설계할 수 있다.
CNN은 풀링 레이어를 거칠 때마다, 마지막 1 회를 제외하고는 폭 및 높이 사이즈가 1/2로 줄어드는 형태이다. 마지막 1 회 풀링 레이어는 특징을 두드러지게 하기 위해 오버랩을 적용한 맥스 풀링을 1 회 수행한다. 이후부터는 풀링을 더 이상 사용할 필요가 없게 된다. 본 발명의 일 실시예에서는 풀링 모듈 내부에 스키핑(Skipping) 모듈을 추가함으로써 사용자가 풀링 사용유무를 쉽게 컨트롤할 수 있도록 할 수 있다. 풀링 레이어 내부는 크게 풀링, 풀링 컨트롤러, 어드레스 컨트롤러, Spbram, 스키핑(Skipping) 모듈로 구성될 수 있다. 컨볼루션 레이어의 데이터를 저장하기 위한 용도로 Xilinx Spbram IP를 사용할 수 있다. 이와 같이 CNN을 FPGA로 설계할 수도 있지만, 이하와 같이 오픈소스 클러스터 컴퓨팅 프레임워크 로 대용량의 데이터 분산 처리를 위한 스파크(Spark)를 이용할 수도 있다.
<스파크>
스파크는 오픈소스 클러스터 컴퓨팅 프레임워크로 대용량의 데이터 분산 처리를 지원한다. 인메모리 저장 및 효과적인 장애 복구 지원에 기반을 두어 반복성 알고리즘에 빠르게 동작한다. 또한 HDFS(Hadoop Distributed File System)은 물론, 하둡(Hadoop) API(Application Programming Interface)가 지원하는 로컬 파일시스템, AWS S3, Apache Cassandra, Apache Hive 등 다른 저장 시스템에 있는 어떤 파일에 대해서도 분산 데이터 모음을 만들 수 있으므로 연동이 쉽게 가능하다. 스파크 스트리밍은 높은 처리량, 확장성, 내결함성을 바탕으로 카프카(Kafka)로부터 가져온 연속적인 데이터 스트림을 처리할 수 있다.
카프카는 실시간 데이터 전달에 특화된 발행-구독 형태의 분산 메시지 처리 시스템이다. 클러스터 환경을 기반으로 설계되어 고가용성 및 높은 확장성을 갖고 있다. JMS(Java Message Service) API 및 AMQP(Advanced Message Queuing Protocol)를 사용하지 않고 단순한 메시지 헤더를 지닌 TCP 기반의 프로토콜을 사용하여 프로토콜에 의한 오버헤드를 감소시켰다. 또한, 메시지를 메모리가 아닌 파일시스템에 저장하기 때문에 데이터의 영속성을 보장한다. 카프카는 점점 증가하는 CCTV 데이터를 전달하기에 효과적인 메세징 시스템이다. 본 발명의 일 실시예에서는 실시간으로 스트리밍되는 대용량 CCTV 영상에서 딥러닝을 기반으로 사용자가 지정한 행동을 감지 및 인식할 수 있는 플랫폼을 이용할 수 있다. 스파크와 카프카를 이용해 점점 증가하는 대용량 CCTV 데이터에 대응할 수 있는 뛰어난 시스템 확장성과 고가용성을 제공한다.
<대용량 CCTV 데이터 실시간 스트리밍>
일반적으로 단일 장치로부터 영상 데이터를 받아 처리하도록 설계되는데, 다수의 대용량 영상 데이터가 입력으로 들어오는 경우 실시간 처리에 어려움이 따른다. 본 발명의 일 실시예에서는 대용량 CCTV 데이터를 고가용성을 보장하며 빠르게 스파크에 전달하기 위해 카프카를 사용한다. 카프카는 클러스터 환경을 기반으로 설계되어 고가용성 및 높은 확장성을 갖고 있으며 실시간 데이터 전달에 특화된 발행-구독 형태의 분산 메시지 처리 시스템이다. 프로듀서는 대용량의 CCTV 데이터를 발행하여 브로커에 전달하고, 컨슈머인 스파크는 브로커에 요청을 통해 처리하고자 하는 스트림 데이터를 받아온다. 컨슈머로 전송된 스트림 데이터는 스파크의 각각의 처리 노드에 의해 범죄 인식을 수행한다. 카프카는 클러스터로 작동하므로 고가용성 서비스를 제공할 수 있으며 분산처리를 통해 빠른 데이터 전달이 가능하다. 또한, 카프카 서버를 수평적으로 늘려 안정성과 성능을 향상하는 스케일아웃(Scale-out)이 쉽게 가능하다.
<딥러닝 및 분산처리를 이용한 실시간 분석>
딥러닝을 이용해 객체의 행동을 인식하는 스파크의 마스터 노드와 워커 노드의 구조를 설명한다. 아파치 스파크는 빅데이터 처리를 위한 오픈소스 분산처리 프레임워크이다. 스파크는 RDD(Resilient Distributed Datasets)를 이용하여 CCTV 영상 데이터의 내결함성을 갖고 영상 처리를 할 수 있도록 한다. 또한 인메모리에서 동작하기 때문에 반복적인 처리가 필요한 작업에서 하둡(Hadoop) 보다 빠르게 동작한다. 스파크 스트리밍은 카프카로부터 얻어온 연속적인 데이터 스트림을 실시간으로 처리할 수 있다. 스파크로 전송된 영상 스트림 데이터를 16프레임 단위로 묶은 다음 각 묶음에대해 C3D 네트워크(Convolutional 3D Network)를 통해 시각적 특징을 추출한다. C3D는 3D Convolutional Networks를 사용하여 시공간 특징을 인식하는 방법이며, 2D Convolutional Networks에 비해 좋은 성능을 보여주고 있어 영상 분석을 위한 특징 추출기로 사용된다. 영상 데이터를 데이터셋으로 사용하는 것은 많은 컴퓨팅 자원이 요구되므로 C3D의 단순하고 압축된 구조는 컴퓨터 부하를 줄인다는 관점에서 상당한 장점이 있다.
행동 인식을 위한 딥러닝 네트워크에 넣기 위한 특징을 만들기 위해, 각 영상 데이터를 N 개의 겹치지 않는 구간으로 나누고 각 구간을 하나의 묶음으로 취급한다. 각 구간에 포함되는 비디오 클립들의 C3D 네트워크를 통해 얻은 시각적 특징들을 모아 평균을 구하고 해당 구간에 할당한다. N 개 묶음은 경험적으로 설정될 수 있다. 각 묶음에 대해 행동 인식을 수행할 수 있는데, 예를 들어, 학대, 체포, 방화, 폭행, 사고, 강도, 폭발, 싸움, 절도, 총격, 기물 파손 등의 범죄를 탐지할 수 있다. C3D 및 행동 인식 네트워크는 BigDL 라이브러리로 구현하여 분산처리 기반으로 딥러닝이 동작하도록 할 수 있다. 영상 데이터의 특징 추출 및 예측이 분산처리 기반으로 동작하여 빠른 속도를 얻음으로써 점점 증가하는 대용량 CCTV 데이터에 대응할 수 있다. 또한, 스파크를 사용함으로써 CCTV 영상 데이터가 내결함성을 지니며, 딥러닝 처리 노드가 부족할 경우 높은 확장성을 바탕으로 워커 노드를 추가함으로써 대용량 데이터에도 쉽게 대처할 수 있다.
압축부(320)는, 고화질 동영상을 기 설정된 영상압축기술을 이용하여 압축할 수 있다. 기 설정된 영상압축기술은, MPEG-2, MPEG-4 Visual, H.264 및 HEVC를 포함할 수 있다. 이때, H.265나 HEVC는 ITU-T(International Telecommunication Union Telecommunication Standardization Sector) VCEG(Video Coding Experts Group) 및 ISO/IEC MPEG에서 공동으로 개발한 영상압축표준으로 현재 가장 널리 사용되고 있는 기술이다. 이러한 종류의 블록기반 영상 부호화 기술은 손실압축기법을 이용하여 목표 압축치를 달성하게 되는데 이로 인해 압축된 영상의 화질을 떨어뜨리는 다양한 노이즈가 발생한다. 주관적 또는 객관적 화질을 향상시키기 위해 영상압축표준에는 DF(De-Blocking Filter), SAO(Sample Adaptive 0ffset)등의 필터링 기술들이 포함되어 있다. 특히, 인공지능분야, 예를 들어, 객체 인식에서 높은 성과를 나타내고 있는 CNN을 화질 향상에 적용하려는 시도가 많이 있었으며 계속적으로 의미있는 성과를 거두고 있다.
영상 부호화에 딥러닝 기법을 적용하는 목적은 크게 두 가지로 구분할 수 있다. 첫 번째는 영상 부호화의 고속화 또는 빠른 모드 결정(Fast Mode Decision)이다. 화면 내 예측(Intra Prediction), 화면 간 예측(Inter Prediction), 비트율 제어(Rate Control), 변환 부호화(Transform Coding) 등 부호화 표준을 구성하는 기술들은 율-왜곡최적화(Rate- Distortion Optimization, RDO)를 통해 최대의 압축률을 달성할 수 있는 최적의 모드를 결정하는 과정으로 볼 수 있다. 가능한 모든 모드를 비교하고 결정하는 과정은 과도한 연산량을 요구하므로 CNN 모델의 학습을 통해 최적화 계산을 간소화하고 부호화 효율을 높이는 방식이다. 두 번째는 화질 향상이다. 다양한 CNN 구조가 후처리필터 또는 인트라 또는 인터 코딩을 위한 인루프 필터 방식으로 이용되어 왔다. 최근 새로운 영상부호화기술을 표준화하기 위한 워킹그룹에 CNN 기술접목을 위한 애드-혹 그룹이 추가되는 등 활발한 연구활동이 진행되고 있지만 여전히 많은 한계가 존재한다. 특히, 충분한 성능을 보장하기위해 심층적인 네트워크를 추구하게 되면 과도한 계산량 및 메모리가 필요하게 되는데 이와 같은 비용에 비해 얻어지는 화질 개선량은 충분하지 않다. 단일 이미지와 달리 비디오는 공간적 중복성 뿐만 아니라 시간적 중복성으로 인해 복잡한 영상특성을 갖는다. 그러므로 이를 적절히 반영할수 있는 학습 모델을 이용하는 것이 중요한 문제이다.
<배경 차분>
본 발명의 일 실시예에서는 배경 차분을 이용하여 관심 물체를 추출할 때 극복되어야 할 동적배경상황을 중복으로 제거하고 압축을 실시함으로써 포커스를 맞출 객체의 운동만을 저장하고 나머지인 배경의 중복 이미지는 제거함으로써 압축률은 높이면서도 고화질은 낮아지지 않게 또 포맷도 변경되지 않게 할 수 있다. 또, 동적배경을 픽셀 수준이 아닌 개체 수준으로 이해하고 대응할 수 있다면 최근 급격하게 축적되는 다양한 객체 영상 및 카테고리 라벨 정보를 배경 차분 기법에 적극적으로 이용할 수 있다. 입력 영상에서 주요한 물체들의 카테고리 정보를 인지하며, 배경을 학습할 수 있다면 알고있는 배경 물체들의 동적 움직임과 무관하게 배경 모델링을 수행하는 정책들을 고려할 수 있다.
배경 차분(Object-Aware Background Subtraction)이란 여러 장의 영상으로부터 학습된 배경과 현재 입력과의 차이가 생기는 영역을 확인하는 분석법이다. 이 방법에서는 배경이 고정되고 전경만 움직이는 상황에서 관심 영역을 찾기 때문에, 카메라가 움직이거나 배경이 달라지는 상황은 이론적인 가정을 벗어난 것으로 판단한다. 이 한계를 극복하기 위해 배경을 갱신하는 방법, 통계적으로 모델링하는 방법, 심층 구조를 설계하는 방법 등이 존재한다. 대표적으로 알려진 동적배경 모델링에서 흔들리는 나뭇잎이나 그림자, 흐르는 물 등과 같은 국소적 변화, 또는 날씨 변화나 전체적으로 반복되는 전역적 패턴 변화를 다루고 있다. 예를 들어, 반복되는 픽셀 패턴을 여러 개의 가우시안(Gaussian)들의 합으로 학습 배경을 업데이트하는 MoG(Mixture of Gaussian)와 같은 통계적 분석방법은 OpenCV 기본 기능으로도 구현되어 있다.
본 발명의 일 실시예에서는, 최신 객체 검출기, 예를 들어 YOLO를 물체 중심으로 관리하는 방법을 이용할 수 있다. 후술하겠지만 상황인지(Context-Awareness) 개념에서는 가용할 수 있는 영상 DB를 통해 배경 객체들을 미리 학습하고, 알고 있는 카테고리의 객체 검출 기반으로 입력 영상에서 중요한 영역을 학습 범주별로 나눌 수 있다는 가정에서 시작된다. 그리고 움직이지만 관심 없는 영역을 동적배경으로 판단해, 전통적 배경 모델 갱신에서 제외하는 것을 고려할 수 있다. 가정하는 동적배경 상황은 실제 정적배경 위에 다양한 동적배경 객체들이 합쳐진 것으로 해석한다. 그리고 정적배경에서 움직이는 배경 객체들은 객체별로 학습할 수 있다는 것을 이용하는 것이다. 반복되는 동적 패턴에서도 고정 카메라에서 고유한 정적배경에 대해 신뢰도를 측정하며, 충분한 관찰을 확보할 수 있다.
학습 과정에서 배경 물체로 인지된 객체들은 영역의 신뢰도에 반영하지 않는다. 따라서, 그러한 동적객체들이 상대적으로 적은 영상들이 많은 구간에서 신뢰도가 높은 배경 모델링이 이루어진다. 평가 단계에서는 전혀 학습되지 않은 물체를 배경 차분만으로 검출한다. 예를 들어, YOLO 검출기에서 사전에 학습된 MS COCO DB에서 사람, 자동차, 버스, 자전거, 오토바이를 알고 있는 5 종 배경 객체로 고려하는 것을 가정한다. 비정상적인 교통 흐름을 만들어 낼 수 있는 비정형 낙하물을 관심 있는 전경으로 고려하고 있기 때문에, 학습된 동적객체를 배경 학습에서 제외하려는 것이다. 따라서, 동적배경 객체가 나타나는 영역은 가려짐에 의해 배경 샘플을 모을 수 없는 상황으로 간주하고 배경 학습에서 완전히 무시한다. 또, 학습 신뢰도 점수를 점차 낮추어 오랜 기간 동안 배경 객체가 영상에 존재하고 있는 경우, 다시 충분한 샘플이 모일 때까지 해당 영역에서는 낙하물 검출을 하지 않게 된다.
객체 인지 기반 배경 차분 방법론은 추출 대상은 학습할 수 없지만, 배경에서 반복되는 개체들은 학습할 수 있을 때 적용할 수 있다. 본 발명의 일 실시예는 예를 들어, 교통 CCTV에서의 비정형 낙하물을 탐지하는 것을 가정할 수 있다. 관심 대상인 비정형 낙하물이 혼잡한 도로에 놓여 있을 때, 이를 배경 차분을 통해 구할 수 있다. 먼저 도로 위에 움직이는 차들은 정적배경에 대한 근본적인 문제로 확인된다. 본 발명의 일 실시예에서는 이를 데이터 기반 객체 인지를 통해 차별적으로 학습을 진행할 수 있다. 결과적으로 움직이는 차가 존재하는 도로 위에서 학습된 배경과 큰 차이를 보이는 영역만 낙하물로 탐지, 즉 원활한 교통 흐름을 방해하는 물체로 표시할 수 있다. 이와 같이, 본 발명의 일 실시예는 동적배경 객체를 학습하여, 실제로 학습이 어려운 전경 객체를 찾아낼 수 있게 되고 중복된 부분이나 관심이 없는 객체에 대해서는 제거하여 압축률은 높이면서 해상도도 떨어지지 않게 할 수 있다.
저장부(330)는, 고화질 동영상이 압축된 압축 동영상을 블록체인을 이루도록 블록을 생성하여 저장할 수 있다. 분산부(340)는, 블록을 블록체인을 이루는 적어도 하나의 노드에 분산저장할 수 있다. 블록체인은 폐쇄형 블록체인이고, 블록체인은 이더리움 기반 블록체인일 수 있다. 또는 각 동영상을 확인하는 조직, 예를 들어, 수사기관, 사법기관, 행정기관 등 기관 직원이 직접 동영상을 확인해야 하는 경우도 존재하므로 허가형 블록체인을 이용할 수도 있고 이는 하이퍼레저 패브릭일 수도 있다.
<하이퍼레저 패브릭의 스마트 컨트랙트>
대표적인 허가형 블록체인 플랫폼인 하이퍼레저 패브릭에서 사용하는 체인코드는 내부에 다수의 스마트 컨트랙트를 갖는다. 스마트 컨트랙트에는 계약의 내용에 해당하는 다양한 함수들이 존재한다. 스마트 컨트랙트 함수는 JVM(Java Virtual Machine) 혹은 Node.js 런타임을 지원하는 언어로 개발할 수 있으며, 데이터나 상태를 처리하는 다양한 함수와 IF- ELSE나 WHILE과 같은 제어문이 존재한다.
<허가형 블록체인>
클라이언트에서 트랜잭션을 요청하면 가장 먼저 Index File을 탐색한다. Index File을 통해 요청하는 트랜잭션에 해당하는 함수를 찾고 각 함수의 우선순위에 따라 트랜잭션을 정렬하고 보증피어로 트랜잭션을 전달한다. 보증 과정이 끝나면 결과를 클라이언트에게 반환하고 클라이언트는 전달받은 결과를 바탕으로 블록체인 네트워크에 블록 생성을 요청한다. 본 발명의 일 실시예에 따른 스마트 컨트랙트 함수의 실행 비용을 결정하기 위하여 정의한 요소는 다음과 같다. Operation은 함수의 정렬 기준 요소를 나타낸다. ① 코드 길이는 N줄마다 비용을 1씩 할당한다. 스마트 컨트랙트에 속한 함수의 길이가 다양하기 때문에 함수들을 구분할 수 있도록 N을 임의로 정한다. ② 제어문의 경우 함수 수행에 직접적인 영향을 주므로 실행 비용 계산 요소에 포함할 수 있다. ③ 데이터 처리는 데이터를 원하는 형식에 맞게 변경하거나 장부(Ledger) 에서 값을 읽고 쓰는 동작을 하는 함수를 뜻한다. 데이터 처리 함수도 실행 시간에 영향을 미칠 수 있으므로 실행 비용 계산 요소에 포함할 수 있다.
④ Execution Cost는 각 요소에 할당하는 비용으로, 모든 요소의 Cost를 1로 두고 해당 요소가 등장할 때마다 Cost를 더한다. 모든 Cost를 합한 값이 낮을수록 실행 시간이 짧다고 판단한다. ⑤ Weight는 각 요소를 비교하기 위한 가중치이다. 최종 Cost가 같은 경우 Weight가 큰 Operation부터 각각 비교한다. 실행 시간에 많은 영향을 끼치는 순으로 큰 가중치를 부여하여 함수 정렬 기준을 책정할 수 있다. Cost를 추출하여 우선순위를 정한 후 암호화를 수행한다. 관리자의 승인을 받아야 거래에 참여할 수 있는 허가형 블록체인의 특성상 스마트 컨트랙트 함수의 정보가 노출되면 보안의 위협이 가해질 수 있기 때문에 함수를 외부로부터 숨기기 위해 함수 이름에 암호화 알고리즘을 적용한다. 각 함수별 Cost와 우선순위를 바탕으로 전체 스마트 컨트랙트를 관리하기 위한 Index File을 생성한다.
⑥ Index File은 json 형식으로 생성되며 추출한 스마트 컨트랙트 함수의 정보를 Total Cost, Function Name, Code_List_Cost, Control_Statement_Cost, Data_Process_Cost로 나눠서 나타낸다. Total Cost는 총 비용을 나타낸다. Function Name은 스마트 컨트랙트의 각 함수 이름을 나타낸다. 함수 이름 별 Code_List_Cost, Control_Statement_Cost, Data_Process_Cost는 각각 코드길이, 제어문, 데이터 처리에 대한 Cost를 나타낸다. 클라이언트에서 요청하는 트랜잭션은 Index File에 정의된 우선순위를 바탕으로 정렬된 후 실행된다. 물론, 허가형 블록체인이 아닌 퍼블릭 블록체인일 수도 있음은 배제하지 않는다.
이상행동감지부(350)는, 적어도 하나의 이상행동 감지패턴에 대한 데이터를 저장하고, 사용자 단말(100)에서 지정한 적어도 하나의 이상행동 감지패턴을 고화질 동영상 내 적어도 하나의 객체에 대하여 적용한 후, 적어도 하나의 객체가 사용자 단말(100)에서 지정한 적어도 하나의 이상행동 감지패턴에 대응하는 행동을 하는 경우, 사용자 단말(100)로 알람 이벤트를 행동에 대응하는 태그와 함께 전송할 수 있다.
검색지원부(360)는, 고화질 동영상 내 적어도 하나의 객체의 행동을 기술하는 기술자(Descriptor)를 로그 데이터로 저장할 때 시간에 동기화하여 저장하고, 사용자 단말(100)에서 고화질 동영상을 검색할 때 로그 데이터 내 포함된 기술자를 검색하는 방식으로 고화질 동영상 내 객체를 검색하도록 할 수 있다. 예를 들어, OpenCV에서 제공하는 기술자를 이용하여 영상에서 관심있는 특징을 추출하고 이에 대한 설명을 인간이 읽을 수 있는 키워드로 기술해줄 수 있다. 자연어 검색이 가능해지는 경우 프로그래머가 아니더라도 각 영상에서 찾고자 하는 것들을 키워드로 검색할 수 있으며, 메타데이터로 동기화를 시키지 않아도 영상 내 검색이 가능해진다.
엣지컴퓨팅부(370)는, 고화질 동영상을 영상압축기술로 압축할 때 엣지 컴퓨팅(Edge Computing) 기반 노드에서 압축을 실시하도록 할 수 있다. 노드선정부(380)는, 노드를 적어도 하나의 CCTV(400)와 지리적 위치가 기 설정된 거리 이내인 노드를 선정할 수 있다. 엣지 컴퓨팅 기술은 클라우드 환경을 지리적으로 분산된 모바일 사용자의 엑세스 근처로 배포하여 가상화망 기능 또는 응용 기능들에 대한 저지연 엑세스 및 코어 네트워크로의 트래픽을 분산하는 효과가 있다. 이러한 분산 엣지 컴퓨팅 환경에서 단말이 특정 서비스에 대한 연결을 요청하는 경우, 일반적인 방식은 물리적으로 가장 가까운 위치의 엣지 클라우드 서버로의 연결을 제공하는 것이다. 그러나, 클라우드 인프라에 대한 효율적인 운영을 위해서는 단순한 근거리 기반의 엣지 서버 선택이 아닌 각 엣지 서버의 컴퓨팅 성능을 고려한 엣지 선택 방안이 필요하다.
이를 위해서, 최근 IETF 표준화기구에서는 Dyncast(Dynamic Anycast) 기술이 제안되었는데, 이는 단말의 요청에 의해 분산 서비스에 엑세스하고자 할 때 위치 정보뿐만 아니라 각 엣지 서버의 컴퓨팅 자원에 대한 메트릭을 추가적으로 고려하여 동적 라우팅 경로를 설정하도록 한다. 이 Dyncast 방안은 단말이 요청한 서비스에 대한 각 엣지 서버의 컴퓨팅 메트릭에 대한 정보 교환을 해당 서비스가 위치한 인근 엣지 서버 간에 완전 분산 방식으로 제공한다. 이러한 방식은 중앙으로의 제어 메시지에 대한 오버헤드를 방지하고 온디맨드(On-demand) 형태의 상태 업데이트를 빠르게 반영할 수 있다는 장점이 있지만, 정보 교환을 위한 엣지 서버의 범위가 증가하면 이에 따라 서비스 요청에 따른 최적의 엣지를 결정하기까지의 지연시간이 증가하여 빠른 서비스 연결이 어렵다는 단점이 있다. 따라서 본 발명의 일 실시예에서는 중앙 집중형 Control Plane을 제공하는 LISP(Location/ID Separation Protocol)을 기반으로 하는 Dyncast 방안을 이용할 수 있다. 이는 중앙화된 LISP Control Plane 내 매핑 각 엣지로부터 서비스의 위치와 함께 컴퓨팅 자원에 대한 메트릭 정보를 수집함으로써, 메트릭 정보 공유에 따른 지연시간을 최소화할 수 있다.
<Dyncast>
Dyncast는 분산 엣지 컴퓨팅 환경에서, 컴퓨팅 자원을 고려한 최적의 엣지 서버를 선택하기 위한 방안이다. 각 엣지에 동작하는 가상화 서비스는 동일 서비스에 대해 Anycast 주소를 Service ID(SID)로써 할당받으며, SID는 해당 서비스가 위치한 엣지 컴퓨팅 내 Dyncast를 지원하는 노드인 CFN(Compute First Networking) 노드의 실제 라우팅 가능한 주소 프리픽스 내에서 구성되는 Binding ID(BID)를 가진다. 단말에서 특성 서비스의 SID를 통해 네트워크 내 서비스를 요청하면, 단말의 엑세스 인근에 있는 CFN 노드는 인근의 엣지 서버의 CFN 노드에 해당 SID 에 대한 BID 및 메트릭 정보를 요청하여 수신하고, 이를 기반으로 최적의 서비스 연결 엣지를 결정하여 해당 BID 주소로 패킷을 전달한다. 이러한 방안은 서비스 요청 시점을 기준으로 각 엣지 클라우드 내 서비스의 현황 및 자원상황을 기반으로 최적의 엣지를 결정할 수 있기 때문에 메트릭 정보에 대한 신뢰성이 크고, 단말 인근의 노드에서 결정 후 바로 패킷을 전달할 수 있기 때문에 결정 이후의 패킷 전달 과정을 빠르게 수행할 수 있다는 장점이 있으나, 각각의 CFN 노드간의 정보 교환을 위한 지연시간이 증가할 수 있다는 단점이 있다.
LISP는 네트워크 내 기존의 IP 구조가 가지고 있는 한계점을 해결하기 위해 표준화된 ID/Location 분리 기술로써, IP 주소를 각각 EID와 RLOC로 분리한다. EID는 단말에 할당되는 전역적으로 고유한 식별자로, 단말 간 통신에 사용되며, EID 간의 패킷 전달을 위해서 각 EID가 접속한 위치의 LISP 라우터의 주소를 RLOC 로 할당하고 RLOC 값을 송수신 주소로 하는 IP 헤더를 캡슐화하여 네트워크 내에서 전달한다. LISP의 Control Plane 에는 EID 와 RLOC의 매핑 정보를 관리하는 매핑시스템이 존재하는데, 이는 단말의 접속 또는 이동에 따라 각 LISP 라우터에서 매핑 정보를 업데이트하거나 목적지 EID 에 대한 RLOC 정보를 요청할 수 있다. LISP 은 단말의 위치가 변하더라도 동일한 EID로 통신이 가능하여 세션 연결성을 지원할 수 있으며, 단말 식별자에 대한 도달성을 일관적으로 제공할 수 있다는 장점이 있다. Dyncast 또한 서비스에 대한 ID 와 위치를 분리하는 관점에서는 LISP와 유사하나, 컴퓨팅 자원 메트릭을 추가적으로 수집하고 이에 따라 최적의 엣지를 결정할 수 있게 하기 위해서는 추가적인 방안이 요구된다.
본 발명의 일 실시예에 따른 LISP 기반의 Dyncast 구조 및 해당 구조에서의 엣지 선택 동작을 설명한다. 각 엣지 내에 동작하는 서비스는 각 서비스별로 고유한 Anycast IP 주소를 SEID(Service Endpoint ID)로써 할당받으며, 각 엣지 서버 앞에 위치한 LISP 라우터인 xTR (Ingress/Egress Tunneling Router)는 Dyncast 의 CFN 노드로써 동작하며, 각 SEID에 대한 RLOC를 가지고 있다. 즉, 기존의 Dyncast 구조와 달리, 본 발명의 일 실시예에서는 동일한 엣지 서버에 있는 서비스들은 모두 동일한 Locator를 할당받는다. 각 엣지 서버에 특정 SEID를 가지는 서비스가 생성되면, 해당 엣지 서버는 SEID 와 함께 엣지 서버에 대한 메트릭 정보를 xTR 을 통해 LISP 제어평면의 매핑 시스템에 업데이트한다. 이를 통해, LISP 제어평면 내 매핑 시스템은 SEID-RLOC 매핑 정보와 함께 각 엔트리에 대한 메트릭 정보를 함께 관리하게 되어, 단말에서 해당 SEID 에 대한 RLOC 정보를 요청할 때 해당 메트릭을 참고하여 최적의 위치를 선정한다.
상술한 구조를 위해, LISP 에서 컴퓨팅 메트릭 정보를 삽입하기 위해서는 LISP 프로토콜 헤더 내 ASCII 문자열을 삽입할 수 있는 인코딩 방안을 사용할 수 있으며, 이와 함께 추가적으로 xTR 사이에서 네트워크 메트릭을 수집할 수 있는 Telemetry 방안을 사용하여 노드간 네트워크 정보를 실시간으로 반영할 수 있다. 추가적으로, 컴퓨팅 메트릭을 고려한 라우팅을 통해 안정적인 QoS 보장과 효율적인 망 관리를 수행할 수 있다.
압축률설정부(390)는 기 설정된 영상압축기술을 적용할 때 고화질 동영상의 크기에 기초하여 기 설정된 압축률을 가지는 영상압축기술을 적용할 수 있다. 예를 들어 MPEG의 압축률이 1/50이라면, MPEG-4 Visual은 1/75, H.264는 1/100, HEVC는 1/200이다. 각 동영상의 크기가 동일한 것이 아니라면 상술한 블록체인에 동영상을 압축하여 넣기 위해서는 동일한 크기로 맞춰주는 것이 필요할 수 있다. 이에 따라, 각 동영상의 크기에 따라 영상압축기술을 서로 다르게 적용할 수 있고 최종적으로 블록 내에 저장되는 동영상의 크기가 기 설정된 오차범위 내로 수렴하도록 압축기술을 적용할 수 있다.
상황인지적용부(391)는, CCTV(400) 데이터셋(DataSet)을 이용하여 적어도 하나의 인공지능 알고리즘을 학습 및 검증함으로써 모델링을 수행하고, 적어도 하나의 인공지능 알고리즘 중 상황인지(Context Awareness) 기반으로 검출율이 가장 높은 어느 하나의 인공지능을 선택하여 객체의 이벤트를 추출할 수 있다. 데이터셋을 학습 및 검증할 때 각 상황마다 해당 객체를 잘 추출해내는 인공지능 알고리즘이 존재한다. 예를 들어, 비가 오고 안개가 낀 상태에서도 객체를 잘 추출하는 알고리즘 A가 있지만, 화창한 날에는 오히려 다른 알고리즘 B보다는 추출속도가 낮고 연산량이 많은 단점이 있을 수 있다. 이에 따라, 날씨, 객체가 움직이는 속도, 동적배경이 어느 정도 존재하는지 등에 따라 이를 가장 잘 검출하는 인공지능 알고리즘은 서로 다를 수 있다. 이에 따라, 상황인지를 기반으로 각 상황에서 가장 좋은 성능을 낼 수 있는 알고리즘을 각각 설정해두고, 각 상황에 따라 서로 다른 알고리즘을 이용하여 객체를 탐지하고 분석할 수도 있다. 예를 들어, [A상황-B알고리즘] 등과 같이 저장해놓는 경우, 각 상황에 따라 어떠한 알고리즘을 써야 할지를 판단 및 적용할 수 있다.
덧붙여서, 상술한 실시간 압축에서 원하는 표적 영역, 예를 들어 관심영역(Region of Interest)만을 추출하여 고화질로 압축을 하지만 관심영역이 아닌 부분도 때에 따라 필요할 때가 있다. 예를 들어, 낙하물만 감지하는 상술한 배경 차분을 이용했기에 고속도로를 달리는 차량들은 관심영역이 아니어서 제거하거나 해상도를 흐리게 하는 등으로 압축을 했지만, 차량충돌이 일어나 이 부분 영상 중 번호판까지 추출해야 하는 경우가 존재한다. 이 경우에는 초고해상도(Super-Resolution, SR) 기술을 이용할 수 있다. 이는 저해상도 영상을 고해상도 영상으로 변환하는 기술로 존재하지 않는 픽셀정보를 복원 및 예측이 필요하다. SR은 하나의 입력에 대해 복수의 결과물이 나올 수 있는 잘 정의되지 않은 문제인데, 빠른 초고해상도 합성곱 신경망(Fast Super-Resolution Convolutional Neural Network, FSRCNN)을 이용할 수 있다. CNN 구조의 초고해상도 알고리즘인 FSRCNN은 마지막 레이어를 제외하고 모두 합성곱 층이며 마지막 층만 역합성곱 층(전치 합성곱 층, Deconvolutional Layer)이다. 저해상도영상을높은 성능의 고해상도 영상으로 복원하는 CNN 구조의 FSRCNN 모델을 하드웨어 플랫폼에서 빠르게 동작하기 위해서 중앙 처리 유닛(CPUs) 그래픽 처리 유닛(GPUs)을 이용할 수있다. 그러나 엄청난 에너지 소비량으로 임베디드 시스템에서는 한계가 존재한다. 반대로 FPGA와 ASIC 칩은 높은 에너지 효율과 병렬 연산의 이점으로 CNN 가속기의 충분한 매력을 가지고 있어 상술한 바와 같이 FPGA 기반 CNN 가속기의 구현이 가능하다.
FSRCNN을 가속하기 위해서 합성곱 연산 가속기뿐만 아니라 역합성곱 연산을 가속하기 위한 방법이 필요하다. 역합성곱 연산을 합성곱 연산으로 바꾸는 TDC(Transforming Deconvolutional layer into Convolutional layer)를 이용할 수 있다. 이 방법으로 합성곱 연산 가속기를 사용하여 역합성곱 연산이 가능하다. 이에, 본 발명의 일 실시예에서는, 딥러닝 기반 초고해상도 영상을 생성하는 알고리즘을 FPGA 하드웨어 플랫폼에서 외부 메모리 사용없이 가속하여 실시간으로 동작하는 시스템을 이용할 수 있다. FPGA 리소스를 고려하여 FSRCNN 알고리즘을 성능 저하를 최소로 하여 압축하는 방법과 FPGA의 리소스를 충분히 사용하면서 양자화 오류를 최소로 하는 방법을 이용할 수 있다.
<FSRCNN 모델>
딥러닝 기반 초고해상도 알고리즘으로 SRCNN, FSRCNN, VDSR 등이 대표적인 모델이다. FSRCNN은 SRCNN과 VDSR과 비교하여 다음과 같은 특징을 가지고 있다. 첫 번째, 모델의 입력 영상이 저해상도 영상이다. SRCNN과 VDSR은 모델 입력을 쌍입방 보간법과 같은 규칙기반 초고해상도 알고리즘을 이용하여 타겟 해상도로 변환 후 딥러닝 기반 알고리즘으로 디테일을 살리는 방법이다. 반면 FSRCNN은 딥러닝 기반 모델에서 저해상도 영상을 고해상도 영상으로 업 스케일링하는 방법으로 모델 내부에서도 모든 특징 맵들은 저해상도 영상이다. 따라서 FSRCNN은 메모리 사용량과 연산량이 적다. 두 번째, FSRCNN은 입력 영상이 저해상도 영상이므로 저해상도 영상을 고해상도 영상으로 변환하는 레이어를 사용한다. 이를 위해 SRCNN과 VDSR과 다르게 마지막 층에서 저해상도 영상을 고해상도 영상으로 변환하기 위해 역합성곱 층을 사용한다. 역합성곱 층의 보폭에 따라 몇 배 업 스케일링하는지 결정할 수 있다.
<역합성곱 연산 가속기>
역합성곱 연산은 합성곱 연산과 수학적인 연산 방법이 다르다. 합성곱 연산은 입력 데이터에서 필터와 겹치는 영역에 대해서 필터와 곱셈 후 모두 더해서 하나의 출력 데이터를 생성하지만, 역합성곱 연산은 하나의 입력 데이터와 필터와 곱하여 필터의 크기만큼 출력 데이터를 생성한다. 역합성곱 연산 과정에서 보폭이 작은 경우 서로 다른 입력 데이터에 대해서 생성된 두 출력 데이터가 있을 때 일부데이터는 출력 특징맵에서 같은 위치이다. 이러한 두 데이터는 덧셈 연산을 추가로 해야 한다. 이를 오버래핑합(Overlapping Sum)이라고 한다. 이는 하드웨어에서 추가적으로 메모리에 접근하여 데이터를 읽기나 쓰기 간접비가 발생한다. 이에 의해 에너지 소비량 증가, 속도 저하의 문제를 야기한다. 이러한 문제를 해결하기 위해서 두 가지 해결 방법이 존재한다. 첫 번째, 입력 특징 맵들에서 데이터 사이마다 영을 삽입하는 방법이다. 그러나 영을 삽입하면서 루프 차원이 증가하기 때문에 매우 비효율적인 방법이다. 두 번째, 역합성곱 연산을 합성곱연산으로 대체하는 TDC 방법이다. TDC 방법은 역합성곱 층의 필터 값들을 합성곱 층의 필터에매핑하는 방법이다. 이 방법은 일반 역합성곱 연산과 같은 출력 값을 얻으면서 병렬 연산을 증가하여 스루풋을 높이기 때문에 매우 효율적인 방법이다.
<하드웨어에 최적화된 모델>
FSRCNN 모델을 타겟 FPGA에서 외부 메모리를 사용하지 않고 구현하는데 다음과 같은 어려움이 존재한다. 첫 번째, 합성곱 층의 필터의 커널 크기는 5x5이다. 따라서 최소 4개 행의 데이터를 저장하기 위한 버퍼가 필요하다. 이는 지연 시간 증가뿐만 아니라 메모리 사용량 증가에 따른 에너지 소비량이 증가한다. 두 번째, FSRCNN의 총 Weight 개수는 12,636개이다. 외부 메모리를 사용하지 않으면서 실시간으로 동작하기 위해서는 FPGA 리소스 중에서 디지털 신호 처리기(DSP) 개수보다 적은 웨이트 개수를 가진 모델만 설계가 가능하다. 따라서 타겟 FPGA의 DSP 리소스가 적은 경우 FSRCNN의 모델 압축은 피할 수 없다.
FSRCNN의 압축 방법은 세 가지가 있다. 커널 크기 조정, 펄터 개수 조정, 매핑 층의 개수 조정이다. 하드웨어의 DSP 개수를 고려하여 압축하기 위해 위 세 가지에 따른 모델의 DSP 사용량은 이하의 수학식 1로 계산할 수 있다. 합성곱 층에서 곱셈 횟수는 다음과 같다.
Figure 112022018908543-pat00001
여기서 m, n, k는 각각 입력 특징 맵들의 개수, 출력 특징 맵들의 개수, 그리고 커널 크기이다. Parametric 정류 선형 단위 활성화 층에서의 곱셈 횟수는 이하 수학식 2와 같다.
Figure 112022018908543-pat00002
마지막으로 역합성곱 층을 TDC 방법으로 대체된 합성곱 층에서의 곱셈 횟수는 이하 수학식 3과 같다.
Figure 112022018908543-pat00003
여기서 C, Ck는 각각 TDC 방법 적용 후 합성곱 층의 개수, 커널 크기이다. 위 수학식 1 내지 수학식 3을 통해 FSRCNN을 하드웨어에 설계하기 위한 필요한 DSP 개수를 계산할 수 있다. 본 발명의 일 실시예에서는 하드웨어의 DSP 개수를 고려하여 FSRCNN 모델을 압축하여 연산 복잡도를 줄일 수 있다. 이때, 하드웨어에 구현할 때 발생할 수 있는 양자화 오류를 고려할 수 있다. 양자화 오류가 심한 경우, 일정하게 픽셀 값이 증가하는 영역에서 계단식으로 픽셀 값이 증가하는 영역으로 변환된 출력 영상이 생성되어 윤곽이 보이는 문제가 발생하게 된다. 양자화 오류는 연산량이 많을수록 증가하며, 특히 층 개수가 많을수록 증가하는 문제가 존재한다. 이는 각 층의 출력 특징맵들에서 양자화 과정을 거치기 때문이다. 따라서 먼저 층 개수를 줄일 수 있고, 그 후 필터 개수를 줄일 수 있다. 커널 크기의 경우 모든 합성곱 층의 커널 크기를 N 이하로 하여 지연 시간을 줄일 수 있다.
<외부 메모리를 사용하지 않는 하드웨어 가속기>
FSRCNN을 FPGA에서 실시간으로 동작하는 시스템을 위한 가속기를 구현할 수 있다. 입력 저해상도 영상은 매 클럭마다 한 픽셀 씩 입력된다. 이 RGB 타입의 픽셀은 RGB to YCbCr 모듈에서 YCbCr 도메인으로 변환되어 Y 데이터는 CNN 아키텍처에서 고해상도 데이터로 변환된다. Cb와 Cr 데이터는 쌍 입방 보간법에서 규칙기반 초고해상도 영상 생성 알고리즘으로 고해상도 데이터로 변환된다. CNN 아키텍처에서는 여러 개의 합성곱 층 프로세서(CLP)가 결합된 Combined CLP를 여러 개 거치면서 특징 추출 및 고해상도 영상으로 변환된다. 각 CLP는 여러 개의 처리 요소(PEs)로 구성된다. FSRCNN에서 각 층는 커널 크기, 입력 특징 맵들 개수, 그리고 출력 특징 맵들 개수와 같은 하이퍼 파라미터가 다르다. 따라서 각 층마다 서로 다른 CLP를 설계해야 하드웨어 리소스를 덜 사용하는 문제를 해결할 수 있다. 따라서 각 층마다 적합한 CLP를 구현할 수 있다. 라인 버퍼에서 합성곱 연산에 필요한 데이터를 읽기하여 병렬 연산으로 하드웨어 리소스 사용량을 늘리고 지연 시간을 줄일 수 있다. 입력 특징 맵들의 채널 방향, 커널 방향, 출력 특징 맵들의 채널 방향으로 루프 풀기를 하여 병렬 연산을 수행할 수 있고, 완전 파이프라이닝을 통해 실시간으로 동작하도록 할 수 있다.
웨이트와 입력 데이터와 DSP를 사용하여 곱셈 연산 후 Adder Tree에서 모두 덧셈을 수행하여 최종 출력 데이터를 얻는다. 이때 입력 데이터 및 웨이트는 16-Bits 고정 소수점이며 DSP의 출력은 32-Bits 고정 소수점의 데이터 타입이다. Adder Tree에서 모든 연산은 32-Bits에서 연산하도록 하여 양자화 오류를 최소화 할 수 있다. 최종 출력 데이터에서 32-Bits를 16-Bits로 양자화하며 이때 반올림 연산을 구현하여 추가로 양자화 오류를 줄일 수 있다. 입력 특징 맵들의 채널 방향, 출력 특징 맵들의 채널 방향으로만 루프 풀기를 하여 병렬 연산 및 파이프라이닝 연산을 하도록 구현할 수 있다. 또한 커널 크기가 1x1인 경우 라인 버퍼가 불필요한데, 이전 CLP의 출력 데이터가 생성되면 바로 연산이 가능하다. 따라서 커널 크기가 1x1인 CLP가 있을 경우 이전 CLP와 결합한 Combined CLP를 구현하여 중간에 라인 버퍼 사용을 제거할 수 있다. 이러한 경우 메모리 사용량 감소 및 지연 시간을 감소할 수 있다. 역합성곱 층은 TDC 방법으로 변환된 합성곱 층을 CLP로 구현할 수 있다. 예를 들어, 역합성곱 층의 커널 크기를 5x5를 사용하는 경우, TDC 방법으로 커널 크기가 3x3인 4개의 합성곱 층으로 변환된다. 따라서 CLP를 병렬로 4개를 구현하여 지연시간은 1개의 CLP와 동일한 아키텍처를 구현할 수 있다.
정리하면, FSRCNN을 타겟 FPGA 하드웨어 플랫폼에서 외부 메모리 사용 없이 실시간으로 동작하기 위한 방법으로 첫 번째, 타겟 FPGA 하드웨어 리소스를 고려하여 FSRCNN을 성능 저하 없이 압축할 수 있다. DSP의 개수 및 양자화 오류를 고려하여 가장 효율적으로 압축하여 FSRCNN 모델을 설계할 수 있다. 두 번째, 타겟 FPGA 하드웨어에 FSRCNN 모델을 가장 효율적으로 설계하기 위한 아키텍처를 이용할 수 있다. 각 레이어의 특성을 분석하여 하드웨어 리소스의 덜 사용하는 문제를 해결하기 위해 다양한 형태로 CLP를 설계하는 방법 및 DSP를 제외한 나머지 리소스의 사용량을 줄이고 지연 시간을 줄이기 위한 Combined CLP 설계 방법을 이용할 수 있다.
이하, 상술한 도 2의 관제 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.
도 3을 참조하면, (a) 관제 서비스 제공 서버(300)는 적어도 하나의 CCTV(400)로부터 수신될 때부터 압축받거나 받은 후 압축을 하여 이를 사용자 단말(100)로 전송하며, 사용자 단말(100)에서는 이를 이용하여 객체 식별, 탐지, 추적, 이상행동감지 등의 이벤트를 출력할 수 있도록 한다. 또, (b)와 같이 엣지 컴퓨팅을 이용하여 동영상을 실시간으로 압축한 후 블록체인에 블록을 생성하여 동영상을 저장할 수 있고, (c) 딥러닝의 표적이 되는 위치 및 범위를 동영상 프레임 내에서 확인할 수 있다. (d)와 같이 압축률은 높이되 해상도는 그대로 유지하기 위하여 사용자가 관심없는 영역이나 객체 또는 중복되는 배경을 제거하고 관심있는 영역 및 객체를 딥러닝 기반으로 추출하여 해상도를 그대로 유지하도록 함으로써 압축률은 높이고 해상도는 떨어지지 않게 할 수 있다. 이의 기본개념 및 적용분야에 대해서는 도 4에 기재 및 도시되어 있다.
이와 같은 도 2 내지 도 4의 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5는 본 발명의 일 실시예에 따른 도 1의 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.
도 5를 참조하면, 관제 서비스 제공 서버는, 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 수신하여 사용자 단말로 스트리밍한다(S5100).
그리고, 관제 서비스 제공 서버는, 고화질 동영상을 기 설정된 영상압축기술을 이용하여 압축하고(S5200), 고화질 동영상이 압축된 압축 동영상을 블록체인을 이루도록 블록을 생성하여 저장한다(S5300).
또, 관제 서비스 제공 서버는, 블록을 블록체인을 이루는 적어도 하나의 노드에 분산저장한다(S5400).
상술한 단계들(S5100~S5400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.
이와 같은 도 5의 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.
도 5를 통해 설명된 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (10)

  1. 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 스트리밍받아 상기 고화질 동영상 내 객체를 탐지 및 분석한 후 결과를 이벤트로 출력하는 사용자 단말; 및
    상기 적어도 하나의 CCTV로부터 고화질 동영상을 실시간으로 수신하여 상기 사용자 단말로 스트리밍하는 전송부, 상기 고화질 동영상을 기 설정된 영상압축기술을 이용하여 압축하는 압축부, 상기 고화질 동영상이 압축된 압축 동영상을 블록체인을 이루도록 블록을 생성하여 저장하는 저장부, 상기 블록을 상기 블록체인을 이루는 적어도 하나의 노드에 분산저장하는 분산부, 상기 기 설정된 영상압축기술을 적용할 때 기 설정된 서로 다른 압축률을 가지는 복수의 영상압축기술 중에서 상기 고화질 동영상의 크기에 기초하여 어느 하나의 영상압축기술을 선택하고, 상기 선택된 영상압축기술을 적용하는 압축률설정부를 포함하는 관제 서비스 제공 서버;를 포함하며,
    상기 기 설정된 영상압축기술은,
    MPEG-2, MPEG-4 Visual, H.264 및 HEVC를 포함하는 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  2. 제 1 항에 있어서,
    상기 관제 서비스 제공 서버는,
    적어도 하나의 이상행동 감지패턴에 대한 데이터를 저장하고, 상기 사용자 단말에서 지정한 적어도 하나의 이상행동 감지패턴을 상기 고화질 동영상 내 적어도 하나의 객체에 대하여 적용한 후, 상기 적어도 하나의 객체가 상기 사용자 단말에서 지정한 적어도 하나의 이상행동 감지패턴에 대응하는 행동을 하는 경우, 상기 사용자 단말로 알람 이벤트를 행동에 대응하는 태그와 함께 전송하는 이상행동감지부;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  3. 제 1 항에 있어서,
    상기 관제 서비스 제공 서버는,
    상기 고화질 동영상 내 적어도 하나의 객체의 행동을 기술하는 기술자(Descriptor)를 로그 데이터로 저장할 때 시간에 동기화하여 저장하고, 상기 사용자 단말에서 상기 고화질 동영상을 검색할 때 상기 로그 데이터 내 포함된 기술자를 검색하는 방식으로 상기 고화질 동영상 내 객체를 검색하도록 하는 검색지원부;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  4. 제 1 항에 있어서,
    상기 관제 서비스 제공 서버는,
    상기 고화질 동영상을 상기 영상압축기술로 압축할 때 엣지 컴퓨팅(Edge Computing) 기반 노드에서 압축을 실시하도록 하는 엣지컴퓨팅부;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  5. 제 4 항에 있어서,
    상기 관제 서비스 제공 서버는,
    상기 노드를 상기 적어도 하나의 CCTV와 지리적 위치가 기 설정된 거리 이내인 노드를 선정하는 노드선정부;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  6. 제 1 항에 있어서,
    상기 블록체인은 폐쇄형 블록체인이고,
    상기 블록체인은 이더리움 기반 블록체인인 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  7. 삭제
  8. 삭제
  9. 제 1 항에 있어서,
    상기 적어도 하나의 CCTV는 지능형 CCTV인 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
  10. 제 1 항에 있어서,
    상기 관제 서비스 제공 서버는,
    CCTV 데이터셋(DataSet)을 이용하여 적어도 하나의 인공지능 알고리즘을 학습 및 검증함으로써 모델링을 수행하고, 상기 적어도 하나의 인공지능 알고리즘 중 상황인지(Context Awareness) 기반으로 검출율이 가장 높은 어느 하나의 인공지능을 선택하여 객체의 이벤트를 추출하는 상황인지적용부;
    를 더 포함하는 것을 특징으로 하는 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템.
KR1020220021977A 2022-02-21 2022-02-21 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템 KR102398788B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220021977A KR102398788B1 (ko) 2022-02-21 2022-02-21 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220021977A KR102398788B1 (ko) 2022-02-21 2022-02-21 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템

Publications (1)

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

Family

ID=81800526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220021977A KR102398788B1 (ko) 2022-02-21 2022-02-21 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템

Country Status (1)

Country Link
KR (1) KR102398788B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102512091B1 (ko) 2022-07-29 2023-03-20 주식회사 다누시스 명도계산에 기반한 로컬 바이러니 패턴을 이용한 노이즈 제거 시스템

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200103394A (ko) * 2019-02-25 2020-09-02 주식회사 시그널나인 블록체인 기반의 무결성 검증을 위한 콘텐츠 공유 스마트 계약 구현 시스템 및 방법
KR102153673B1 (ko) * 2019-12-18 2020-09-08 제주대학교 산학협력단 엣지 블록체인을 이용한 지능형 cctv 영상데이터의 저장 및 전송을 처리하는 방법, 시스템 그리고 기록매체
KR102189301B1 (ko) * 2020-04-22 2020-12-11 주식회사 한국정보보호경영연구소 블록체인 기반 보안이 강화된 클라우드 서비스 제공 시스템 및 방법
JP2021057767A (ja) * 2019-09-30 2021-04-08 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置および画像データ転送方法
KR102277967B1 (ko) * 2021-02-02 2021-07-16 (주)무지개반사 인공지능 기반 영유아 모니터링 서비스 제공 시스템
KR20220001969A (ko) * 2020-06-30 2022-01-06 (주)에이에스티홀딩스 인공지능 기반 실시간 배경분리 및 객체합성을 이용한 가상여행 서비스 제공 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200103394A (ko) * 2019-02-25 2020-09-02 주식회사 시그널나인 블록체인 기반의 무결성 검증을 위한 콘텐츠 공유 스마트 계약 구현 시스템 및 방법
JP2021057767A (ja) * 2019-09-30 2021-04-08 株式会社ソニー・インタラクティブエンタテインメント 画像データ転送装置および画像データ転送方法
KR102153673B1 (ko) * 2019-12-18 2020-09-08 제주대학교 산학협력단 엣지 블록체인을 이용한 지능형 cctv 영상데이터의 저장 및 전송을 처리하는 방법, 시스템 그리고 기록매체
KR102189301B1 (ko) * 2020-04-22 2020-12-11 주식회사 한국정보보호경영연구소 블록체인 기반 보안이 강화된 클라우드 서비스 제공 시스템 및 방법
KR20220001969A (ko) * 2020-06-30 2022-01-06 (주)에이에스티홀딩스 인공지능 기반 실시간 배경분리 및 객체합성을 이용한 가상여행 서비스 제공 방법
KR102277967B1 (ko) * 2021-02-02 2021-07-16 (주)무지개반사 인공지능 기반 영유아 모니터링 서비스 제공 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102512091B1 (ko) 2022-07-29 2023-03-20 주식회사 다누시스 명도계산에 기반한 로컬 바이러니 패턴을 이용한 노이즈 제거 시스템

Similar Documents

Publication Publication Date Title
Ali et al. Edge enhanced deep learning system for large-scale video stream analytics
Bochie et al. A survey on deep learning for challenged networks: Applications and trends
Hu et al. Mining mobile intelligence for wireless systems: a deep neural network approach
CN112183353B (zh) 一种图像数据处理方法、装置和相关设备
WO2012095867A4 (en) An integrated intelligent server based system and method/systems adapted to facilitate fail-safe integration and /or optimized utilization of various sensory inputs
CN114679607B (zh) 一种视频帧率控制方法、装置、电子设备及存储介质
Zhang et al. Towards cloud-edge collaborative online video analytics with fine-grained serverless pipelines
CN116980569A (zh) 一种基于云计算的安全监控系统及方法
KR102333143B1 (ko) 무인 계수 서비스 제공 시스템
KR102398788B1 (ko) 블록체인 기반 영상압축기술을 이용한 고화질 실시간 관제 서비스 제공 시스템
CN111510680B (zh) 一种图像数据的处理方法、系统及存储介质
CN114357216A (zh) 一种人像聚档方法、装置、电子设备及存储介质
Kumar et al. Multi-neural network based tiled 360° video caching with Mobile Edge Computing
Ren et al. Adaptive computation offloading for mobile augmented reality
Assem et al. St-dennetfus: A new deep learning approach for network demand prediction
Aguilar-Armijo et al. Space: Segment prefetching and caching at the edge for adaptive video streaming
Qian et al. Osmoticgate: Adaptive edge-based real-time video analytics for the internet of things
Yuan et al. AccDecoder: Accelerated decoding for neural-enhanced video analytics
CN116455515A (zh) 数据传输方法及相关设备
Ramya et al. QoS in multimedia application for IoT devices through edge intelligence
Constantinou et al. A crowd-based image learning framework using edge computing for smart city applications
WO2023098688A1 (zh) 图像编解码方法和装置
White et al. Smart cities with deep edges
Xu et al. Accurate and Efficient Federated Learning based Edge Intelligence for Effective Video Analysis
Rachuri et al. Decentralized modular architecture for live video analytics at the edge

Legal Events

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