WO2021256781A1 - 영상을 처리하는 디바이스 및 그 동작 방법 - Google Patents

영상을 처리하는 디바이스 및 그 동작 방법 Download PDF

Info

Publication number
WO2021256781A1
WO2021256781A1 PCT/KR2021/007329 KR2021007329W WO2021256781A1 WO 2021256781 A1 WO2021256781 A1 WO 2021256781A1 KR 2021007329 W KR2021007329 W KR 2021007329W WO 2021256781 A1 WO2021256781 A1 WO 2021256781A1
Authority
WO
WIPO (PCT)
Prior art keywords
target object
image
feature vector
degree
recognized
Prior art date
Application number
PCT/KR2021/007329
Other languages
English (en)
French (fr)
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 삼성전자 주식회사
Publication of WO2021256781A1 publication Critical patent/WO2021256781A1/ko
Priority to US18/081,195 priority Critical patent/US20230119685A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/07Target detection
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

카메라를 이용하는 촬영으로 획득된 동적 영상을 처리하는 디바이스 및 그 동작 방법을 제공한다. 본 개시의 일 실시예는, 원본 영상 및 원본 영상을 기설정된 압축률로 압축하고, 부호화 및 복호화함으로써 생성되는 복원 영상을 획득하고, 원본 영상으로부터 타겟 객체(target object) 및 타겟 객체를 포함하는 제1 관심 영역을 인식하고, 인식된 타겟 객체로부터 제1 특징 벡터(feature vector)를 추출(extract)하고, 복원 영상으로부터 타겟 객체 및 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 인식된 타겟 객체로부터 제2 특징 벡터를 추출하고, 제1 관심 영역과 제2 관심 영역 간의 중첩도 및 제1 특징 벡터와 제2 특징 벡터 간의 유사도에 기초하여, 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하고, 타겟 객체의 인식 여부에 따라 압축률을 조정하는 디바이스를 제공한다.

Description

영상을 처리하는 디바이스 및 그 동작 방법
본 개시는 동적 영상을 처리하는 디바이스 및 그 동작 방법에 관한 것이다. 보다 구체적으로는, 카메라를 이용하여 촬영된 동적 영상으로부터 타겟 객체를 인식하기 위한 영상 처리를 수행하는 디바이스에 관한 것이다.
최근에는, 방범, 보안, 매장 관리 등 다양한 목적으로 건물 내부 또는 외부, 길거리 등에 감시용 카메라 시스템(Surveillance system)을 설치하는 경우가 증가하고 있다. 감시용 카메라 시스템으로서, 유선 또는 무선 네트워크를 통해 서로 연결되고, 영상 데이터를 송수신할 수 있는 IP 카메라 시스템이 널리 사용되고 있다.
감시용 카메라 시스템에서는, 카메라를 통해 촬영된 동적 영상으로부터 사람의 얼굴이 얼마나 정확하게 인식될 수 있는지가 중요하다. 일반적인 디바이스를 이용하는 시스템에서는 저장 용량 또는 네트워크 대역폭의 한계로 인하여, 카메라를 이용하여 촬영된 동적 영상 압축하고, 부호화함으로써 외부 서버에 전송하게 된다. 이 경우, 압축률을 과도하게 높게 설정하여 인코딩을 하는 경우 영상이 열화(degrading)되어 인식하여야 하는 사람의 얼굴, 헤어 스타일, 옷 차림, 등을 인식할 수 없게 되는 문제점이 있다. 또한, 제한적인 네트워크 대역폭, 네트워크의 불안정성으로 인한 데이터 패킷(packet) 손실, 인코딩 단계에서의 오류, 또는 UDP 환경에서 데이터 패킷 손실 등 예외 상황에서 디코딩된 영상 프레임이 열화되고, 열화된 영상 프레임으로부터 사람의 얼굴 등을 인식할 수 없는 문제점이 있다. 열화된 영상 프레임으로부터 사람의 얼굴을 정확하게 인식하지 못하는 경우, 다른 사람으로 오 인식되고, 비인가자(unauthorized person)를 추적하기 어려운 문제가 발생된다.
본 개시는 카메라를 통해 촬영된 동적 영상을 처리하는 방법 및 디바이스에 관한 것으로, 구체적으로는 동적 영상으로부터 타겟 객체의 인식 정확도를 향상시킬 수 있는 압축률을 결정하는 디바이스 및 그 동작 방법을 제공한다.
상술한 기술적 과제를 해결하기 위하여, 본 개시의 일 실시예는 디바이스가 동적 영상을 처리하는 방법을 제공한다. 본 개시의 일 실시예에 따른 방법은, 적어도 하나의 이미징 센서로부터 원본 영상(raw image)을 획득하는 단계, 상기 원본 영상을 기설정된 압축률로 압축하고, 부호화 및 복호화함으로써 복원 영상을 획득하는 단계, 상기 원본 영상으로부터 타겟 객체(target object) 및 상기 타겟 객체를 포함하는 제1 관심 영역을 인식하고, 상기 인식된 타겟 객체로부터 제1 특징 벡터(feature vector)를 추출(extract)하는 단계, 상기 복원 영상으로부터 타겟 객체 및 상기 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 상기 인식된 타겟 객체로부터 제2 특징 벡터를 추출하는 단계, 상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도 및 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계, 상기 타겟 객체 인식 여부에 따라 압축률을 조정하는 단계를 포함한다.
예를 들어, 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계는 상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도를 산출하는 단계, 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도를 산출하는 단계, 상기 산출된 중첩도를 기설정된 제1 임계치와 비교하고, 상기 산출된 유사도를 기설정된 제2 임계치와 비교하는 단계, 및 비교 결과에 기초하여 상기 복원 영상으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계를 포함할 수 있다.
예를 들어, 상기 압축률을 조정하는 단계는 상기 중첩도가 상기 제1 임계치 이하이거나 또는 상기 유사도가 상기 제2 임계치 이하인 경우, 상기 기설정된 압축률 보다 낮은 값으로 상기 압축률의 값을 변경할 수 있다.
예를 들어, 상기 방법은, 변경된 압축률로 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 상기 복원 영상을 획득하는 단계, 상기 복원 영상으로부터 상기 타겟 객체를 인식하고, 상기 제2 특징 벡터를 추출하는 단계, 상기 중첩도를 산출하는 단계, 상기 유사도를 산출하는 단계, 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계 및 상기 압축률을 조정하는 단계를 반복적으로 수행할 수 있다.
예를 들어, 상기 압축률을 조정하는 단계는 상기 산출된 중첩도가 상기 제1 임계치를 초과하고, 상기 산출된 유사도가 상기 제2 임계치를 초과하는 경우, 상기 복원 영상을 획득하는데 이용된 상기 압축률을 최종 압축률로 결정할 수 있다.
예를 들어, 상기 방법은 결정된 최종 압축률을 이용하여 상기 원본 영상을 압축하고, 부호화함으로써 비트스트림(bitstream)을 생성하는 단계, 및 상기 비트스트림을 외부 서버에 전송하는 단계를 더 포함할 수 있다.
예를 들어, 상기 중첩도를 산출하는 단계는 상기 원본 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제1 관심 영역의 제1 위치 좌표값을 획득하는 단계, 상기 복원 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제2 관심 영역의 제2 위치 좌표값을 획득하는 단계, 및 상기 제1 위치 좌표값과 상기 제2 위치 좌표값을 이용하여 상기 제1 타겟 영역과 상기 제2 관심 영역이 겹치는 정도인 상기 중첩도를 산출하는 단계를 포함할 수 있다.
예를 들어, 상기 타겟 객체는 사람의 얼굴, 헤어 스타일, 옷, 및 포즈(posture) 중 적어도 하나를 포함할 수 있다.
예를 들어, 상기 복원 영상은 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 획득되고, 상기 압축률은 상기 영상 압축 표준 규격의 양자화 파라미터(Quantization Parameter; QP)에 의해 결정될 수 있다.
예를 들어, 상기 복원 영상은 상기 원본 영상을 CU(Coding Unit) 또는 LCU(Largest Coding Unit)에 따라 서로 다른 양자화 파라미터 값을 적용하여 압축하고, 부호화 및 복호화함으로써 생성될 수 있다.
상술한 기술적 과제를 해결하기 위하여, 본 개시의 일 실시예는 동적 영상을 처리하는 디바이스를 제공한다. 본 개시의 일 실시예에 따른 디바이스는, 객체를 촬영함으로써 원본 영상을 획득하는 이미징 센서, 상기 원본 영상을 기설정된 압축률로 압축하고 부호화함으로써 부호화된 영상 데이터를 생성하는 인코딩 모듈 및 상기 부호화된 영상 데이터를 복호화함으로써 복원 영상을 생성하는 디코딩 모듈을 포함하는 인코더, 상기 원본 영상 및 상기 복원 영상을 각각 수신하는 네트워크 인터페이스, 하나 이상의 명령어들(instructions)을 포함하는 프로그램을 저장하는 메모리, 및 상기 메모리에 저장된 프로그램의 하나 이상의 명령어들을 실행하는 프로세서를 포함하고, 상기 프로세서는 원본 영상으로부터 타겟 객체(target object) 및 상기 타겟 객체를 포함하는 제1 관심 영역을 인식하고, 상기 인식된 타겟 객체로부터 제1 특징 벡터(feature vector)를 추출(extract)하고, 상기 복원 영상으로부터 타겟 객체 및 상기 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 상기 인식된 타겟 객체로부터 제2 특징 벡터를 추출하고, 상기 제1 관심 영역과 상기 2 관심 영역 간의 중첩도 및 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하고, 상기 타겟 객체 인식 여부에 따라 압축률을 조정한다.
예를 들어, 상기 프로세서는 상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도를 산출하고, 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도를 산출하고, 상기 산출된 중첩도를 기설정된 제1 임계치와 비교하고, 상기 산출된 유사도를 기설정된 제2 임계치와 비교하며, 비교 결과에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단할 수 있다.
예를 들어, 상기 프로세서는 중첩도가 상기 제1 임계치 이하이거나 또는 유사도가 상기 제2 임계치 이하인 경우, 상기 기설정된 압축률 보다 낮은 값으로 상기 압축률의 값을 변경할 수 있다.
예를 들어, 상기 프로세서는 변경된 압축률로 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 상기 복원 영상을 획득하는 동작, 상기 복원 영상으로부터 상기 타겟 객체를 인식하고, 상기 제2 특징 벡터를 추출하는 동작, 상기 중첩도를 산출하는 동작, 상기 유사도를 산출하는 동작, 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 동작 및 상기 압축률을 조정하는 동작을 반복적으로 수행할 수 있다.
예를 들어, 상기 프로세서는 상기 산출된 중첩도가 상기 제1 임계치를 초과하고, 상기 산출된 유사도가 상기 제2 임계치를 초과하는 경우, 상기 복원 영상을 생성하는데 이용된 상기 압축률을 최종 압축률로 결정할 수 있다.
예를 들어, 상기 프로세서는 상기 결정된 최종 압축률에 관한 정보를 상기 인코더에 제공하고, 상기 인코더는 상기 최종 압축률로 상기 원본 영상을 압축하고, 부호화함으로써 비트스트림(bitstream)을 생성하고, 상기 비트스트림은 외부 서버에 전송될 수 있다.
예를 들어, 상기 프로세서는 상기 원본 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제1 관심 영역의 제1 위치 좌표값을 획득하고, 상기 복원 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제2 관심 영역의 제2 위치 좌표값을 획득하고, 상기 제1 위치 좌표값과 상기 제2 위치 좌표값을 이용하여 상기 제1 타겟 영역과 상기 제2 관심 영역이 겹치는 정도인 상기 중첩도를 산출할 수 있다.
예를 들어, 상기 복원 영상은 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 획득되고, 상기 압축률은 상기 영상 압축 표준 규격의 양자화 파라미터(Quantization Parameter; QP)에 의해 결정될 수 있다.
예를 들어, 상기 복원 영상은 상기 원본 영상을 CU(Coding Unit) 또는 LCU(Largest Coding Unit)에 따라 서로 다른 양자화 파라미터 값을 적용하여 압축하고, 부호화 및 복호화함으로써 생성될 수 있다.
상술한 기술적 과제를 해결하기 위하여, 본 개시의 다른 실시예는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
도 1a는 본 개시의 일 실시예에 따른 IP 카메라 시스템(IP Camera system)의 구조를 도시한 블록도이다.
도 1b는 본 개시의 일 실시예에 따른 모바일 디바이스의 구조를 도시한 블록도이다.
도 2는 본 개시의 일 실시예에 따른 IP 카메라 시스템에 포함되는 모듈을 통한 데이터의 흐름을 도시한 도면이다.
도 3은 본 개시의 일 실시예에 따른 디바이스가 영상을 처리하는 방법을 도시한 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 디바이스가 복원 영상에서의 타겟 객체 인식 여부를 판단하는 방법을 도시한 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 디바이스가 타겟 객체의 인식 여부 판단 결과에 기초하여, 영상의 압축률을 결정하는 방법을 도시한 흐름도이다.
도 6은 본 개시의 일 실시예에 따른 IP 카메라 시스템 및 서버의 동작 방법을 도시한 흐름도이다.
도 7은 본 개시의 일 실시예에 따른 디바이스가 CU(Coding Unit)에 따라 타겟 객체를 인식하고, 인식 결과에 기초하여 CU 별로 압축률을 조절하는 방법을 도시한 도면이다.
도 8은 본 개시의 일 실시예에 따른 디바이스가 CU(Coding Unit)에 따라 타겟 객체를 인식하고, 인식 결과에 기초하여 CU 별로 압축률을 조절하는 방법을 도시한 흐름도이다.
도 9는 본 개시의 일 실시예에 따른 디바이스가 영상 프레임으로부터 타겟 객체를 인식하고, 인식된 타겟 객체로부터 특징 벡터를 추출하는 방법을 도시한 도면이다.
본 명세서의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 명세서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다.
본 개시 전체에서 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 본 명세서에 기재된 “...부”, “...모듈” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 명세서에서 사용된 표현 “~하도록 구성된(또는 설정된)(configured to)”은 상황에 따라, 예를 들면, “~에 적합한(suitable for)”, “~하는 능력을 가지는(having the capacity to)”, “~하도록 설계된(designed to)”, “~하도록 변경된(adapted to)”, “~하도록 만들어진(made to)”, 또는 “~를 할 수 있는(capable of)”과 바꾸어 사용될 수 있다. 용어 “~하도록 구성된(또는 설정된)”은 하드웨어적으로 “특별히 설계된(specifically designed to)” 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, “~하도록 구성된 시스템”이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 “~할 수 있는” 것을 의미할 수 있다. 예를 들면, 문구 “A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서”는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시에서 '디바이스'는 IP 카메라 시스템 또는 모바일 디바이스 중 적어도 하나를 포함하는 전자 장치이다.
본 개시에서 '영상'은 적어도 하나의 프레임을 포함하는 동영상 또는 비디오를 의미한다.
본 개시에서 '원본 영상(Raw image)'은 카메라를 통해 촬영된 영상을 압축하지 않은 비압축 영상 데이터이다.
본 개시에서 '압축률'은 표준 규격에 매칭되는 방법을 이용하여 원본 영상을 압축하기 위한 영상 압축 파라미터를 나타낸다. 압축률은 표준 규격 마다 다양한 형태로 존재할 수 있다. 예를 들어, 동적 영상을 재생하기 위한 표준 규격(예를 들어, H. 264/AVC, HEVC(H.265) 등)에서는 양자화 파라미터(Quantization Parameter)에 기초하여 영상의 압축률이 결정될 수 있다.
본 개시에서 '양자화 파라미터'는 동적 영상의 압축과 관련된 표준 규격, 예를 들어 H.264/AVC, 또는 HEVC(H.265)에서 정의되는 변환 계수를 양자화하는 정도를 나타내는 파라미터로서, 양자화 파라미터에 의해 영상의 압축률이 결정될 수 있다. 일 실시예에서, 압축률은 양자화 파라미터의 값에 비례한다. 예를 들어, 양자화 파라미터의 값이 큰 경우, 압축률이 높고, 양자화 파라미터의 값이 작은 경우, 압축률이 낮다.
본 개시에서, '변환 계수(transform coefficient)'는 복수의 영상 프레임에서 공간적 상관 관계를 이용하는 인트라(intra) 예측 또는 시간적 상관 관계를 이용하는 인터(inter) 예측을 통해 형성된 예측 영상 프레임(I-frame)과 원 영상의 차이값인 잔차 데이터(residual date)가 다양한 변환 기법을 이용하여 변환 영역(transform domain)으로 변환된 계수를 의미한다. H. 264/AVC에서 변환 계수가 변환되는 방법은, 예를 들어, 이산 코사인 변환(Discrete Cosine Transform, DCT), 하다마드 변환(Hadamard Transform) 등이 사용될 수 있다.
도 1a는 본 개시의 일 실시예에 따른 IP 카메라 시스템(IP Camera system)(100)의 구조를 도시한 블록도이다.
일 실시예에서, IP 카메라 시스템(100)은 감시 카메라 시스템(Surveillance Camera System)으로서 감시 또는 보안의 목적으로 감시 대상 영역 또는 감시 대상 객체를 실시간으로 촬영할 수 있다.
도 1a를 참조하면, IP 카메라 시스템(100)은 IP 카메라(1000) 및 프로세싱 디바이스(2000)를 포함할 수 있다.
IP 카메라(1000)는 감시 대상 영역 또는 감시 대상 객체를 촬영함으로써 원본 영상(raw image)을 획득하고, 원본 영상을 기 설정된 압축률로 압축하고 부호화 및 복호화함으로써 복원 영상을 획득할 수 있다. IP 카메라(1000)는 PTZ(Pan-tilt-zoom) 카메라 또는 어안 카메라(fisheye camera)로 구현될 수 있으나, 이에 한정되는 것은 아니다. 도 1a에는 IP 카메라(1000)가 하나만 도시되어 있으나, 본 개시가 이에 한정되는 것은 아니다. 일 실시예에서, IP 카메라 시스템(100)은 복수 개의 IP 카메라(1000)를 포함할 수 있다.
IP 카메라(1000)는 원본 영상 및 복원 영상을 프로세싱 디바이스(2000)로 전송한다 (단계 S100).
IP 카메라(1000)는 이미징 센서(1100), 이미징 프로세서(1200), 메모리(1300), 및 네트워크 인터페이스(1400)를 포함할 수 있다.
이미징 센서(1100)는 렌즈를 통해 촬영되는 감시 대상 영역 또는 감시 대상 객체에 관한 영상을 획득할 수 있다. 이미징 센서(1100)를 통해 획득된 영상은 압축되지 않은 비압축 영상 데이터로서, 원본 영상(raw image)이다. 이미징 센서(1100)는 광 다이오드 어레이를 포함할 수 있다. 이미징 센서(1100)는 예를 들어, CCD 모듈(Charge-coupled device) 또는 CMOS(Complementary Metal-Oxide-Semiconductor) 모듈로 구성될 수 있지만, 이에 한정되는 것은 아니다.
도 1a에는 이미징 센서(1100)가 하나로 도시되어 있지만, 이에 한정되는 것은 아니다. 일 실시예에서, 이미징 센서(1100)는 하나 이상의 복수 개로 구성될 수도 있다.
이미징 프로세서(1200)는 이미징 센서(1100)에 의해 획득된 원본 영상을 이미지 처리하여 복원 영상을 생성할 수 있다. 이미징 프로세서(1200)는 메모리(1300)에 저장된 인코더(1310)를 이용하여 기 설정된 압축률로 원본 영상을 압축하고, 부호화 및 복호화함으로써 복원 영상을 생성할 수 있다.
이미징 프로세서(1200)는 공지의 이미지 처리(image processing)를 수행할 수 있는 연산 능력을 갖는 하드웨어 구성 요소로 구성될 수 있다. 예를 들어, 이미징 프로세서(1200)는 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 및 그래픽 프로세서(Graphic Processing Unit) 중 적어도 하나로 구성될 수 있다. 그러나, 이미징 프로세서(1200)가 상기 나열된 예시로 한정되는 것은 아니다.
메모리(1300)는 인코더(encoder)(1310)를 포함할 수 있다. 인코더(1310)는 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 원본 영상을 압축하고, 부호화 및 복호화함으로써 복원 영상을 생성하도록 구성된다.
인코더(1310)는 인코딩 모듈(1320) 및 디코딩 모듈(1330)을 포함할 수 있다. 인코딩 모듈(1320)은 입력된 영상, 즉 원본 영상을 기설정된 압축률을 이용하여 부호화하고, 원본 영상으로부터 부호화된 영상 데이터를 획득하도록 구성될 수 있다. 일 실시예에서, 이미징 프로세서(1200)는 인코딩 모듈(1320)을 이용하여 입력 영상, 즉 원본 영상으로부터 인터 예측 및 인트라 예측을 통해 예측 데이터를 획득하고, 원본 영상으로부터 예측 데이터를 뺀 잔차 데이터(residual date)를 획득하고, 잔차 데이터에 대하여 변환 및 양자화를 수행함으로써 부호화된 영상 데이터를 획득할 수 있다. 예를 들어, 부호화된 영상 데이터는 양자화된 변환 계수(transform coefficient)일 수 있다.
디코딩 모듈(1330)은 부호화된 영상 데이터를 복호화함으로써, 복원 영상을 생성하도록 구성될 수 있다. 일 실시예에서, 이미징 프로세서(1200)는 디코딩 모듈(1330)을 이용하여 부호화된 영상 데이터, 즉 양자화된 변환 계수에 대하여 역 양자화 및 역변환을 수행함으로써 잔차 데이터를 복원하고, 복원된 잔차 데이터와 인터 예측 및 인트라 예측을 통해 획득한 예측 데이터를 더함으로써 복원 영상을 획득할 수 있다.
H.264/ACV 또는 HEVC(H.265)와 같은 영상 압축 표준 규격을 사용하는 경우, 인코더(1310)는 예를 들어, 인터 예측 모듈, 인트라 예측 모듈, 디블록킹(deblocking) 모듈, 변환 모듈, 양자화 모듈, 역 변환 모듈, 역 양자화 모듈, 엔트로피 부호화 모듈을 포함할 수 있다. 이 경우, 상기 나열되는 모듈들은 인터 예측 및 인트라 예측을 수행하고, 부호화 및 복호화를 수행하는바, 도 1a에 도시된 바와 같이 인코딩 모듈(1320)과 디코딩 모듈(1330)로 완전히 구분되지는 않는다. 인코딩 모듈(1320) 및 디코딩 모듈(1330)은 도 2에 도시된 데이터의 변환 및 흐름을 설명하기 위한 예시이다.
H.264/AVC 또는 HEVC(H.265)를 이용하여 복원 영상이 생성되는 경우, 복원 영상은 원본 영상을 CU(Coding Unit) 또는 LCU(Largest Coding Unit)에 따라 서로 다른 양자화 파라미터 값을 적용하여 압축, 부호화 및 복호화 될 수 있다. 이 경우, 원본 영상에 포함되는 영상 프레임 내의 복수의 CU 또는 LCU 중 타겟 객체(예를 들어, 사람의 얼굴, 헤어 스타일, 옷, 포즈 등)가 검출된 특정 CU 또는 LCU에는 다른 CU 또는 LCU에 비하여 상대적으로 낮은 양자화 파라미터 값이 적용되어 압축될 수 있다.
네트워크 인터페이스(1400)는 IP 카메라(1000)와 프로세싱 디바이스(2000) 간의 데이터 송수신을 수행할 수 있다. 네트워크 인터페이스(1400)는 이더넷(Ethernet), 유무선 LAN(Local Area Network), 와이파이(Wi-Fi), WFD(Wi-Fi Direct), 및 와이기그(Wireless Gigabit Allicance, WiGig)를 포함하는 유무선 데이터 통신 방식 중 적어도 하나를 이용하여 프로세싱 디바이스(2000)와 데이터 통신을 수행할 수 있다. IP 카메라(1000)는 획득된 원본 영상의 영상 데이터 및 복원 영상의 영상 데이터를 네트워크 인터페이스(1400)를 이용하여 프로세싱 디바이스(2000)에 전송할 수 있다 (단계 S100).
프로세싱 디바이스(2000)는 IP 카메라(1000)로부터 원본 영상 및 복원 영상을 획득하고, 원본 영상 및 복원 영상으로부터 타겟 객체가 정확하게 인식되었는지를 판단하고, 판단 결과에 기초하여 복원 영상을 획득하기 위한 압축률을 결정하도록 구성되는 컴퓨팅 장치이다. 프로세싱 디바이스(2000)는 IP 카메라 시스템(100)이 설치되는 매장, 음식점과 같은 상업 시설 또는 가정 내에 배치될 수 있다. 프로세싱 디바이스(2000)는 예를 들어, PC일 수 있으나, 이에 한정되는 것은 아니다.
프로세싱 디바이스(2000)는 네트워크 인터페이스(2100), 프로세서(2200), 및 메모리(2300)를 포함할 수 있다.
네트워크 인터페이스(2100)는 프로세싱 디바이스(2000)와 IP 카메라(1000) 간의 데이터 송수신을 수행할 수 있다. 네트워크 인터페이스(2100)는 이더넷(Ethernet), 유무선 LAN(Local Area Network), 와이파이(Wi-Fi), WFD(Wi-Fi Direct), 및 와이기그(Wireless Gigabit Allicance, WiGig)를 포함하는 유무선 데이터 통신 방식 중 적어도 하나를 이용하여 IP 카메라(1000)와 데이터 통신을 수행할 수 있다. 일 실시예에서, 네트워크 인터페이스(2100)는 IP 카메라(1000)로부터 원본 영상(Raw image) 및 복원 영상을 수신할 수 있다.
프로세서(2200)는, 메모리(2300)에 저장된 프로그램의 하나 이상의 명령어들(instructions)을 실행할 수 있다. 프로세서(2200)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다. 프로세서(2200)는 예를 들어, 중앙 처리 장치(Central Processing Unit), 마이크로 프로세서(microprocessor), 그래픽 프로세서(Graphic Processing Unit), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나로 구성될 수 있으나, 이에 한정되는 것은 아니다.
메모리(2300)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나로 구성될 수 있다.
메모리(2300)에는 원본 영상 및 복원 영상 각각으로부터 타겟 객체가 검출되는 영역 및 타겟 객체로부터 추출한 특징 벡터에 기초하여 원본 영상을 인코딩하기 위한 압축률을 결정하는 기능 또는 동작의 수행과 관련된 명령어들(instruction)을 포함하는 프로그램이 저장될 수 있다. 메모리(2300)에는 프로세서(2200)가 판독할 수 있는 명령어들, 알고리즘(algorithm), 데이터 구조, 및 프로그램 코드(program code) 중 적어도 하나가 저장될 수 있다. 메모리(2300)에 저장되는 명령어들, 알고리즘, 데이터 구조, 및 프로그램 코드는 예를 들어, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 
이하의 실시예에서, 프로세서(2200)는 메모리에 저장된 프로그램의 명령어들 또는 프로그램 코드들을 실행함으로써 구현될 수 있다.
메모리(2300)는 객체 인식 모듈(2310), 특징 벡터 추출 모듈(2320), 인식 결과 판단 모듈(2330), 및 압축률 조절 모듈(2340)을 포함할 수 있다. 메모리(2300)에 포함되는 복수의 '모듈'은 프로세서(2200)에 의해 수행되는 기능이나 동작을 처리하는 단위를 의미하고, 이는 명령어들 또는 프로그램 코드와 같은 소프트웨어로 구현될 수 있다.
객체 인식 모듈(2310)은 동적 영상으로부터 타겟 객체를 인식하는 모듈이다. 일 실시예에서, 객체 인식 모듈(2310)은 딥 러닝(Deep Learning)을 포함하는 인공 지능 모델을 이용하여 동적 영상으로부터 타겟 객체를 검출하도록 구성될 수 있다. 일 실시예에서, 객체 인식 모듈(2310)은 컨볼루션 신경망 모델(Convolution Neural Network; CNN)을 이용하여 학습을 수행함으로써 동적 영상으로부터 타겟 객체를 검출할 수 있다. 타겟 객체(target object)는 사용자가 동적 영상으로부터 검출하고자 하는 관심있는 객체를 의미한다. 타겟 객체는 예를 들어, 사람의 얼굴, 헤어, 옷, 및 포즈(posture) 중 적어도 하나를 포함할 수 있다.
객체 인식 모듈(2310)은 컨볼루션 신경망 모델을 통해 학습된 모델 파라미터(trained model parameter)를 이용하여 동적 영상으로부터 타겟 객체를 인식하도록 구성될 수 있다. 예를 들어, 타겟 객체가 얼굴인 경우, 객체 인식 모듈(2310)은 대규모의 데이터 셋, 예를 들어 CASIA-WebFace, VGGFace/VGGFace 2, 또는 MS-Celeb-1M을 통해 동적 영상으로부터 사람의 얼굴을 검출할 수 있다. 일 실시예에서, 객체 인식 모듈(2310)은 VGGFace2 데이터 셋을 이용하여 얼굴 인식을 수행하도록 학습된 MobileNet을 포함할 수 있다.
일 실시예에서, 프로세서(2200)는 객체 인식 모듈(2310)의 데이터 및 프로그램 코드를 이용하여 원본 영상 및 인코딩 영상 각각으로부터 타겟 객체를 검출할 수 있다. 예를 들어, 프로세서(2200)는 객체 인식 모듈(2310)에 포함된 컨볼루션 신경망 모델을 통해 학습된 모델 파라미터를 이용하여 학습(training)을 수행함으로써, 원본 영상 및 복원 영상 각각으로부터 사람의 얼굴을 검출할 수 있다. 그러나, 이에 한정되는 것은 아니고, 프로세서(2200)는 객체 인식 모듈(2310)에 포함된 학습된 모델 파라미터를 이용하여 학습을 수행함으로써, 원본 영상 및 복원 영상 각각으로부터 사람의 헤어 스타일, 옷, 및 포즈(posture) 중 적어도 하나를 검출할 수 있다.
그러나, 객체 인식 모듈(2310)이 전술한 방법을 이용하여 타겟 객체를 검출하는 것으로 한정되지는 않는다. 일 실시예에서, 객체 인식 모듈(2310)은 순환 신경망 모델(Recurrent Neural Network; RNN), SVM(Support Vector Machine), 선형 회귀(linear regression), 로지스틱 회귀(logistic regression), 나이브 베이즈 분류(Naive Bayes), 랜덤 포레스트(random forest), decision tree, 또는 k-nearest neighbor algorithm 중 적어도 하나를 포함하는 인공 지능 모델을 이용하여 동적 영상으로부터 타겟 객체를 인식하도록 구성될 수 있다.
일 실시예에서, 객체 인식 모듈(2310)은 동적 영상 상에서 검출된 타겟 객체의 바운딩 박스(bounding box)를 식별하고, 식별된 바운딩 박스의 위치 좌표값을 획득하도록 구성될 수 있다. 프로세서(2200)는 객체 인식 모듈(2310)의 데이터 및 프로그램 코드를 이용하여, 원본 영상으로부터 검출된 타겟 객체의 바운딩 박스를 식별하고, 바운딩 박스 내에 포함된 영역을 제1 관심 영역(Region of Interest)으로 설정할 수 있다. 프로세서(2200)는 객체 인식 모듈(2310)의 데이터 및 프로그램 코드를 이용하여, 복원 영상으로부터 검출된 타겟 객체의 바운딩 박스를 식별하고, 바운딩 박스 내에 포함된 영역을 제2 관심 영역으로 설정할 수 있다.
특징 벡터 추출 모듈(2320)은 검출된 타겟 객체의 이미지로부터 특징 벡터(feature vector)를 추출하는 모듈이다. 특징 벡터 추출 모듈(2320)은 공지의 영상 처리 방법(image processing method) 또는 딥 러닝을 포함하는 인공 지능 모델을 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출하도록 구성될 수 있다. 예를 들어, 특징 벡터 추출 모듈(2320)은 ICA(Independent Component Analysis) 또는 PCA(Principle Component Analysis) 방법을 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출하도록 구성될 수 있다.
예를 들어, 타겟 객체 이미지가 사람의 얼굴인 경우, 특징 벡터 추출 모듈(2320)은 얼굴의 눈, 코, 및 입(양쪽 입 끝)을 포함하는 랜드마크(landmark)를 식별하고, 식별된 랜드마크에 대응되는 특징값(예를 들어, 위치 좌표값)을 획득하고, 획득된 특징값을 이용하여 특징 벡터를 추출할 수 있다. 다른 예를 들어, 타겟 객체 이미지가 사람의 헤어 스타일, 옷 차림, 또는 특정 자세(posture)인 경우, 특징 벡터 추출 모듈(2320)은 타겟 객체 이미지로부터 적어도 하나의 키 포인트(key-points)를 식별하고, 식별된 키 포인트에 대응되는 특징값(예를 들어, 위치 좌표값)을 획득하고, 획득된 특징값을 이용하여 특징 벡터를 추출할 수 있다. 특징 벡터 추출 모듈(2320)을 이용하여 사람의 헤어 스타일, 옷 차림, 또는 자세에 관한 특징 벡터를 추출하는 실시예에 대해서는 도 9에서 상세하게 설명하기로 한다.
일 실시예에서, 특징 벡터 추출 모듈(2320)은 컨볼루션 신경망 모델을 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출하도록 구성될 수 있다. 일 실시예에서, 특징 벡터 추출 모듈(2320)은 기설정된 크기 및 기설정된 채널 수를 갖는 커널(kernel)을 이용하여 타겟 객체 이미지 상을 이동함(stride)으로써 특징값들을 추출할 수 있다. 특징 벡터 추출 모듈(2320)은 추출된 특징값들을 포함하는 복수 개의 레이어(layer)를 획득하고, 복수 개의 레이어에 가중치(weight)를 적용함으로써 특징 벡터 맵(feature vector map)을 획득할 수 있다. 상기 특징 벡터 값을 획득하는 과정에서 정류 선형 유닛(ReLU) 모델이 이용될 수 있다. 컨볼루션 신경망 모델의 효율을 향상시키기 위하여 드롭 아웃(drop out)을 통해 특징값들을 정규화(normalization)하는 동작과, 풀링(pooling) 또는 맥스 풀링(max pooling)을 수행하는 동작들이 더 추가될 수 있다. 특징 벡터 추출 모듈(2320)은 예를 들어, MobileNet v1/v2 과 같은 컨볼루션 신경망 모델을 이용하여 특징 벡터를 추출하도록 구성될 수 있다.
프로세서(2200)는 특징 벡터 추출 모듈(2320)의 데이터 및 프로그램 코드를 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출할 수 있다. 일 실시예에서, 프로세서(2200)는 원본 영상으로부터 인식된 타겟 객체의 이미지로부터 제1 특징 벡터를 추출하고, 복원 영상으로부터 인식된 타겟 객체의 이미지로부터 제2 특징 벡터를 추출할 수 있다.
인식 결과 판단 모듈(2330)은 원본 영상과 복원 영상 각각으로부터 검출된 관심 영역 간의 중첩도 및 원본 영상과 복원 영상 각각으로부터 추출된 특징 벡터 간의 유사도에 기초하여, 복원 영상으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 모듈이다. 인식 결과 판단 모듈(2330)은 중첩도 산출 모듈(2332), 유사도 산출 모듈(2334), 및 비교 모듈(2336)을 포함할 수 있다.
중첩도 산출 모듈(2332)은 두 개 이상의 이미지 간의 중첩되는 정도를 계산하고, 결과값을 출력하는 모듈이다. 중첩도 산출 모듈(2332)은 두 개 이상의 이미지 각각의 바운딩 박스(bounding box)의 좌표값 정보를 획득할 수 있다. 중첩도 산출 모듈(2332)은 획득된 바운딩 박스의 좌표값을 이용하여 두 개 이상의 이미지가 겹치는 정도를 비교함으로써, 중첩도를 산출하도록 구성될 수 있다.
일 실시예에서, 중첩도 산출 모듈(2332)은 좌표값 정보를 이용하여 중첩도를 계산하는 IOU(Intersection Over Union) 방식을 이용하여 두 개 이상의 이미지 간의 중첩도를 계산할 수 있다. IOU 방식을 이용하는 중첩도 계산에서, IOU 값이 1인 경우, 두 개의 이미지가 완전히 겹쳐지는 것을 의미하고, IOU 값이 0인 경우, 두 개의 이미지가 전혀 겹쳐지지 않음을 의미한다. 예를 들어, IOU 값이 0.5 인 경우, 두 개의 이미지의 2/3 가 겹쳐지는 것을 의미한다.
일 실시예에서, 중첩도 산출 모듈(2332)은 복수의 이미지 각각의 좌표값 사이의 오차의 합을 계산함으로써, 중첩도를 산출할 수 있다. 예를 들어, 중첩도 산출 모듈(2332)은 하기 수식 1과 같이, 제1 이미지의 좌상단의 좌표값(x11, y11)과 우하단 좌표값(x12, y12) 및 제2 이미지의 좌상단 좌표값(x21, y21), 우하단 좌표값(x22, y22)을 이용하여, 좌표값 오차를 계산할 수 있다.
Figure PCTKR2021007329-appb-img-000001
그러나, IOU 방식 및 좌표값 오차 계산 방식은 중첩도 계산 방식의 일 예시이고, 중첩도 산출 모듈(2332)이 두 개 이상의 이미지 간의 중첩도를 계산하는 방식이 전술한 IOU 방식 및 좌표값 오차 계산 방식으로 한정되는 것은 아니다.
프로세서(2200)는 중첩도 산출 모듈(2332)의 데이터 및 프로그램 코드를 이용하여, 원본 영상으로부터 인식된 타겟 객체가 포함되는 제1 관심 영역의 바운딩 박스 좌표값 정보 및 복원 영상으로부터 인식된 타겟 객체가 포함되는 제2 관심 영역의 바운딩 박스 좌표값 정보에 기초하여, 제1 관심 영역과 제2 관심 영역 간의 중첩도를 산출할 수 있다. 일 실시예에서, 프로세서(2200)는 중첩도 산출 모듈(2332)로부터 제공되는 IOU 방식 또는 좌표값 오차 계산 방식을 이용하여 제1 관심 영역과 제2 관심 영역 간의 중첩도를 계산할 수 있다. 일 실시예에서, 프로세서(2200)는 제1 관심 영역의 바운딩 박스의 좌상단 좌표값 및 우하단 좌표값과 제2 관심 영역의 바운딩 박스의 좌상단 좌표값 및 우하단 좌표값을 이용하여, 제1 관심 영역과 제2 관심 영역 간의 좌표값 오차를 계산하고, 계산된 좌표값 오차에 기초하여 중첩도를 계산할 수 있다.
유사도 산출 모듈(2334)은 두 개의 특징 벡터 간의 유사도를 수치값으로 산출하는 모듈이다. 일 실시예에서, 유사도 산출 모듈(2334)은 두 개의 특징 벡터 간의 상관 관계(correlation)를 수치값으로 계산하도록 구성될 수 있다.
프로세서(2200)는 유사도 산출 모듈(2334)의 데이터 및 프로그램 코드를 이용하여, 원본 영상에서 검출된 타겟 객체로부터 추출된 제1 특징 벡터와 복원 영상에서 검출된 타겟 객체로부터 추출된 제2 특징 벡터 간의 유사도를 수치값으로 산출할 수 있다. 프로세서(2200) 예를 들어, 하기의 수식 2를 통해 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 계산할 수 있다.
Figure PCTKR2021007329-appb-img-000002
상기 수식 2에서 Forig 및 Fenc는 각각 원본 영상에서 검출된 타겟 객체로부터 추출된 제1 특징 벡터, 복원 영상에서 검출된 타겟 객체로부터 추출된 제2 특징 벡터를 의미하고, N은 특징 벡터의 길이, μ는 특징 벡터의 평균값, σ는 특징 벡터의 표준 편차를 의미한다.
수식 2는 유사도를 계산하기 위한 일 예시이고, 프로세서(2200)가 유사도 산출 모듈(2334)을 이용하여 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 계산하는 방식이 상기 수식 2로 한정되는 것은 아니다.
비교 모듈(2336)은, 중첩도 산출 모듈(2332)을 이용하여 산출된 제1 관심 영역과 제2 관심 영역 간의 중첩도를 기설정된 제1 임계치와 비교하고, 유사도 산출 모듈(2334)을 이용하여 산출된 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 기설정된 제2 임계치와 비교하도록 구성되는 모듈이다. 예를 들어, 제1 임계치는 0.8이고, 제2 임계치는 0.5일 수 있다. 그러나, 제1 임계치 및 제2 임계치의 수치가 전술한 바와 같이 한정되는 것은 아니다. 프로세서(2200)는 비교 모듈(2336)의 데이터 및 프로그램 코드를 이용하여, 제1 관심 영역과 제2 관심 영역 간의 중첩도를 제1 임계치와 비교하고, 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 기설정된 제2 임계치와 비교할 수 있다.
비교 모듈(2336)은 비교 결과에 관한 정보를 압축률 조절 모듈(2340)에 제공할 수 있다.
압축률 조절 모듈(2340)은 인식 결과 판단 모듈(2330)에 의해 판단된 타겟 객체의 인식 여부에 기초하여, 원본 영상을 압축하여 복원 영상을 획득하기 위한 압축률을 결정하는 모듈이다. 여기서 '압축률'은 원본 영상을 표준 규격에 매칭되는 방법을 이용하여 인코딩하기 위한 영상 압축 파라미터를 의미한다. 압축률은 표준 규격 마다 다양한 형태로 존재할 수 있다. 예를 들어, 동적 영상을 재생하기 위한 표준 규격(예를 들어, H. 264/AVC, HEVC(H.265) 등)에서는 양자화 파라미터(Quantization Parameter)를 이용하여 영상의 압축률이 결정될 수 있다. 일 실시예에서, 압축률 조절 모듈(2340)은 인식 결과 판단 모듈(2330)로부터 획득한 중첩도 및 유사도의 기설정된 임계치와의 비교 결과에 기초하여 양자화 파라미터 값을 결정하도록 구성될 수 있다.
'양자화 파라미터'는 동적 영상의 압축과 관련된 표준 규격, 예를 들어 H.264/AVC, 또는 HEVC(H.265)에서 정의되는 변환 계수를 양자화하는 정도를 나타내는 파라미터로서, 양자화 파라미터에 의해 영상의 압축률이 결정될 수 있다. 일 실시예에서, 압축률은 양자화 파라미터의 값에 비례한다. 예를 들어, 양자화 파라미터의 값이 큰 경우, 압축률이 높고, 양자화 파라미터의 값이 작은 경우, 압축률이 낮다.
압축률 조절 모듈(2340)은, 비교 모듈(2336)로부터 제공받은 비교 결과에 기초하여, 압축률의 값을 조절하도록 구성될 수 있다. 일 실시예에서, 프로세서(2200)는 압축률 조절 모듈(2340)의 데이터 및 프로그램 코드를 이용하여, 제1 관심 영역과 제2 관심 영역 간의 중첩도와 제1 임계치와의 비교 결과, 및 제1 특징 벡터와 제2 특징 벡터 간의 유사도와 제2 임계치와의 비교 결과에 기초하여 양자화 파라미터의 값을 조절할 수 있다. 압축률 조절 모듈(2340)은 기설정된 단위 만큼 압축률의 값을 변경할 수 있다.
일 실시예에서, 프로세서(2200)는 비교 모듈(2336)을 이용하여 비교한 결과, 중첩도가 제1 임계치 이하이거나, 또는 유사도가 제2 임계치 이하인 경우, 압축률의 값을 변경할 수 있다. 이 경우, 프로세서(2200)는 압축률 값을 기존 복원 영상을 압축하고 부호화하는데 사용되었던 압축률 보다 더 낮은 값으로 변경할 수 있다. 일 실시예에서, 프로세서(2200)는 비교 모듈(2336)을 이용하여 비교한 결과, 중첩도가 제1 임계치를 초과하고, 유사도가 제2 임계치를 초과하는 경우, 복원 영상을 생성하는데 이용된 압축률을 최종 압축률로 결정할 수 있다.
프로세싱 디바이스(2000)는 네트워크 인터페이스(2100)를 이용하여, 객체 인식 여부에 따라 결정된 압축률에 관한 정보를 IP 카메라(1000)에 전송한다 (단계 S110). 일 실시예에서, 프로세서(2200)는 중첩도가 제1 임계치 이하이거나, 또는 유사도가 제2 임계치 이하인 경우, 네트워크 인터페이스(2100)를 통해, 변경된 압축률 값에 관한 정보를 IP 카메라(1000)에 전송할 수 있다. 이 경우, 프로세서(2200)는 네트워크 인터페이스(2100)를 통해 변경된 압축률을 이용하여 압축되고 부호화 및 복호화 과정을 거쳐 생성된 복원 영상의 영상 데이터를 IP 카메라(1000)로부터 수신하는 동작, 수신된 복원 영상으로부터 타겟 객체를 인식하고 제2 특징 벡터를 추출하는 동작, 중첩도를 산출하는 동작, 유사도를 산출하는 동작, 타겟 객체가 정상적으로 인식되었는지 판단하는 동작, 및 압축률을 재조정(re-adjust)하는 동작들을 적어도 1회 이상 반복 수행할 수 있다.
일 실시예에서, 프로세서(2200)는 중첩도가 제1 임계치를 초과하고, 유사도가 제2 임계치를 초과하는 경우, 네트워크 인터페이스(2100)를 통해, 최종 압축률 값에 관한 정보를 IP 카메라(1000)에 전송할 수 있다.
IP 카메라(1000)는 네트워크 인터페이스(1400)를 통해 압축률 정보를 수신하고, 수신된 압축률을 이용하여 원본 영상을 압축하고, 부호화함으로써 비트스트림(bitstream)을 생성할 수 있다.
IP 카메라(1000)는 결정된 압축률로 원본 영상을 압축하여 생성된 비트스트림을 네트워크 인터페이스(1400)를 통해 외부의 서버(200)에 전송한다 (단계 S120). 도면에는 도시되지 않았지만, 일 실시예에서 IP 카메라(1000)는 게이트웨이(Gateway)를 통해 비트스트림을 서버(200)에 전송할 수 있다. 게이트웨이는 유무선 통신 방식을 통해 IP 카메라 시스템(100)과 서버(200)를 연결할 수 있다. 서버(200)는 IP 카메라(1000)로부터 수신된 비트스트림을 저장부(210)에 저장할 수 있다.
도 1b는 본 개시의 일 실시예에 따른 모바일 디바이스(300)의 구조를 도시한 블록도이다.
모바일 디바이스(300)는 카메라(310)로부터 획득된 동적 영상을 처리하고, 각종 연산을 수행하는 전자 장치일 수 있다. 모바일 디바이스(300)는 예를 들어, 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 영상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 또는 웨어러블 장치(wearable device) 중 적어도 하나일 수 있다.
도 1b를 참조하면, 모바일 디바이스(300)는 카메라(310), 인코더(320), 프로세서(330), 메모리(340), 이미지 데이터 저장부(350), 및 통신 인터페이스(360)를 포함할 수 있다.
카메라(310)는 렌즈(312) 및 이미징 센서(314)를 포함할 수 있다. 카메라(310)는 렌즈(312)를 이용하여 대상체를 촬영하고, 이미징 센서(314)를 이용하여 대상체에 관한 영상을 획득할 수 있다. 이미징 센서(314)를 통해 획득된 영상은 압축되지 않은 비압축 영상 데이터로서, 원본 영상(raw image)이다. 이미징 센서(314)는 광 다이오드 어레이를 포함할 수 있다. 이미징 센서(314)는 예를 들어, CCD 모듈(Charge-coupled device) 또는 CMOS(Complementary Metal-Oxide-Semiconductor) 모듈로 구성될 수 있지만, 이에 한정되는 것은 아니다.
인코더(320)는 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 원본 영상을 압축하고, 부호화 및 복호화함으로써 복원 영상을 생성하도록 구성된다.
인코더(320)는 인코딩 모듈(322) 및 디코딩 모듈(324)을 포함할 수 있다. 인코딩 모듈(322)은 입력된 영상, 즉 원본 영상을 기설정된 압축률을 이용하여 부호화하고, 원본 영상으로부터 부호화된 영상 데이터를 획득하도록 구성될 수 있다. 일 실시예에서, 프로세서(330)는 인코딩 모듈(322)을 이용하여 입력 영상, 즉 원본 영상으로부터 인터 예측 및 인트라 예측을 통해 예측 데이터를 획득하고, 원본 영상으로부터 예측 데이터를 뺀 잔차 데이터(residual date)를 획득하고, 잔차 데이터에 대하여 변환 및 양자화를 수행함으로써 부호화된 영상 데이터를 획득할 수 있다. 예를 들어, 부호화된 영상 데이터는 양자화된 변환 계수(transform coefficient)일 수 있다.
디코딩 모듈(324)은 부호화된 영상 데이터를 복호화함으로써, 복원 영상을 생성하도록 구성될 수 있다. 일 실시예에서, 프로세서(330)는 디코딩 모듈(324)을 이용하여 부호화된 영상 데이터, 즉 양자화된 변환 계수에 대하여 역 양자화 및 역변환을 수행함으로써 잔차 데이터를 복원하고, 복원된 잔차 데이터와 인터 예측 및 인트라 예측을 통해 획득한 예측 데이터를 더함으로써 복원 영상을 획득할 수 있다.
도 1b에 도시된 인코딩 모듈(322) 및 디코딩 모듈(324)은 도 1a에 도시된 인코딩 모듈(1320) 및 디코딩 모듈(1330)과 동일한 기능 및/또는 동작을 수행하는바, 중복되는 설명은 생략한다.
프로세서(330)는 메모리(340)에 저장된 적어도 하나의 프로그램 코드 또는 명령어들(instructions)을 실행함으로써, 원본 영상 및 복원 영상으로부터 타겟 객체가 정확하게 인식되었는지를 판단하고, 판단 결과에 기초하여 복원 영상을 획득하기 위한 압축률을 결정할 수 있다. 프로세서(330)는 산술, 로직 및 입출력 연산과 시그널 프로세싱을 수행하는 하드웨어 구성 요소로 구성될 수 있다. 일 실시예에서, 프로세서(330)는 모바일 디바이스(300) 용으로 개발된 애플리케이션 프로그램을 실행하도록 구성되는 애플리케이션 프로세서(Application Processor; AP)일 수 있다. 그러나, 이에 한정되는 것은 아니고, 프로세서(330)는 예를 들어, 중앙 처리 장치(CPU), 마이크로 프로세서(microprocessor), 그래픽 프로세서(GPU), ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), 및 FPGAs(Field Programmable Gate Arrays) 중 적어도 하나로 구성될 수 있다.
메모리(340)는 예를 들어, 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나로 구성될 수 있다.
메모리(340)에는 원본 영상 및 복원 영상 각각으로부터 타겟 객체가 검출되는 영역 및 타겟 객체로부터 추출한 특징 벡터에 기초하여 원본 영상을 인코딩하기 위한 압축률을 결정하는 기능 또는 동작의 수행과 관련된 명령어들(instruction)을 포함하는 프로그램이 저장될 수 있다. 메모리(340)에는 프로세서(330)가 판독할 수 있는 명령어들, 알고리즘(algorithm), 데이터 구조, 및 프로그램 코드(program code) 중 적어도 하나가 저장될 수 있다. 메모리(340)에 저장되는 명령어들, 알고리즘, 데이터 구조, 및 프로그램 코드는 예를 들어, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 
메모리(340)는 객체 인식 모듈(342), 특징 벡터 추출 모듈(344), 인식 결과 판단 모듈(346), 및 압축률 조절 모듈(348)을 포함할 수 있다.
객체 인식 모듈(342)은 동적 영상으로부터 타겟 객체를 인식하는 모듈이다. 일 실시예에서, 프로세서(330)는 객체 인식 모듈(342)의 데이터 및 프로그램 코드를 이용하여 원본 영상 및 인코딩 영상 각각으로부터 타겟 객체를 검출할 수 있다.
특징 벡터 추출 모듈(344)은 검출된 타겟 객체의 이미지로부터 특징 벡터(feature vector)를 추출하는 모듈이다. 일 실시예에서, 프로세서(330)는 특징 벡터 추출 모듈(344)의 데이터 및 프로그램 코드를 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출할 수 있다. 일 실시예에서, 프로세서(330)는 원본 영상으로부터 인식된 타겟 객체의 이미지로부터 제1 특징 벡터를 추출하고, 복원 영상으로부터 인식된 타겟 객체의 이미지로부터 제2 특징 벡터를 추출할 수 있다.
인식 결과 판단 모듈(346)은 원본 영상과 복원 영상 각각으로부터 검출된 관심 영역 간의 중첩도 및 원본 영상과 복원 영상 각각으로부터 추출된 특징 벡터 간의 유사도에 기초하여, 복원 영상으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 모듈이다. 인식 결과 판단 모듈(346)은 중첩도 산출 모듈(346a), 유사도 산출 모듈(346b), 및 비교 모듈(346c)을 포함할 수 있다.
중첩도 산출 모듈(346a)은 두 개 이상의 이미지 간의 중첩되는 정도를 계산하고, 결과값을 출력하는 모듈이다. 일 실시예에서, 프로세서(330)는 중첩도 산출 모듈(346a)의 데이터 및 프로그램 코드를 이용하여, 원본 영상으로부터 인식된 타겟 객체가 포함되는 제1 관심 영역의 바운딩 박스 좌표값 정보 및 복원 영상으로부터 인식된 타겟 객체가 포함되는 제2 관심 영역의 바운딩 박스 좌표값 정보에 기초하여, 제1 관심 영역과 제2 관심 영역 간의 중첩도를 산출할 수 있다.
유사도 산출 모듈(346b)은 두 개의 특징 벡터 간의 유사도를 수치값으로 산출하는 모듈이다. 일 실시예에서, 프로세서(330)는 유사도 산출 모듈(346b)의 데이터 및 프로그램 코드를 이용하여, 원본 영상에서 검출된 타겟 객체로부터 추출된 제1 특징 벡터와 복원 영상에서 검출된 타겟 객체로부터 추출된 제2 특징 벡터 간의 유사도를 수치값으로 산출할 수 있다.
비교 모듈(346c)은, 중첩도 산출 모듈(346a)을 이용하여 산출된 제1 관심 영역과 제2 관심 영역 간의 중첩도를 기설정된 제1 임계치와 비교하고, 유사도 산출 모듈(346b)을 이용하여 산출된 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 기설정된 제2 임계치와 비교하도록 구성되는 모듈이다. 일 실시예에서, 프로세서(330)는 비교 모듈(346c)의 데이터 및 프로그램 코드를 이용하여, 제1 관심 영역과 제2 관심 영역 간의 중첩도를 제1 임계치와 비교하고, 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 기설정된 제2 임계치와 비교할 수 있다.
압축률 조절 모듈(348)은 인식 결과 판단 모듈(346)에 의해 판단된 타겟 객체의 인식 여부에 기초하여, 원본 영상을 압축하여 복원 영상을 획득하기 위한 압축률을 결정하는 모듈이다. 일 실시예에서, 프로세서(330)는 압축률 조절 모듈(348)의 데이터 및 프로그램 코드를 이용하여, 제1 관심 영역과 제2 관심 영역 간의 중첩도와 제1 임계치와의 비교 결과, 및 제1 특징 벡터와 제2 특징 벡터 간의 유사도와 제2 임계치와의 비교 결과에 기초하여 양자화 파라미터의 값을 조절할 수 있다.
메모리(340)에 저장되어 있는 객체 인식 모듈(342), 특징 벡터 추출 모듈(344), 인식 결과 판단 모듈(346), 및 압축률 조절 모듈(348)은 도 1a에 도시된 객체 인식 모듈(2310), 특징 벡터 추출 모듈(2320), 인식 결과 판단 모듈(2330), 및 압축률 조절 모듈(2340)과 각각 동일하므로, 중복되는 설명은 생략한다.
일 실시예에서, 프로세서(330)는 중첩도가 제1 임계치 이하이거나, 또는 유사도가 제2 임계치 이하인 경우, 압축률의 값을 변경할 수 있다. 이 경우, 프로세서(330)는 압축률 값을 기존 복원 영상을 압축하고 부호화하는데 사용되었던 압축률 보다 더 낮은 값으로 변경할 수 있다. 일 실시예에서, 프로세서(330)는 중첩도가 제1 임계치를 초과하고, 유사도가 제2 임계치를 초과하는 경우, 복원 영상을 생성하는데 이용된 압축률을 최종 압축률로 결정할 수 있다.
프로세서(330)는 결정된 압축률을 이용하여, 원본 영상을 압축하고, 부호화함으로써 비트스트림(bitstream)을 생성할 수 있다. 일 실시예에서, 프로세서(330)는 생성된 비트스트림을 이미지 데이터 저장부(350)에 저장할 수 있다.
이미지 데이터 저장부(350)는 프로세서(330)에 의해 생성된 이미지 데이터를 저장하도록 구성되는 저장 장치이다. 이미지 데이터 저장부(350)는 비휘발성 메모리로 구성될 수 있다. 예를 들어, 이미지 데이터 저장부(350)는 플래시 메모리 (flash memory type), 하드디스크(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 자기 메모리, 자기 디스크, 및 광디스크 중 적어도 하나의 비휘발성 메모리로 구성될 수 있다.
일 실시예에서, 이미지 데이터 저장부(350)에 저장되는 비트스트림은 프로세서(330)의 제어에 의해 통신 인터페이스(360)로 전달될 수 있다.
통신 인터페이스(360)는 모바일 디바이스(300)와 서버(200) 간의 데이터 송수신을 수행할 수 있다. 통신 인터페이스(360)는 예를 들어, 무선 LAN(wireless LAN), 와이 파이(Wi-Fi), WFD(Wi-Fi Direct), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, WiMAX), SWAP(Shared Wireless Access Protocol), 및 와이기그(Wireless Gigabit Allicance, WiGig) 중 적어도 하나를 포함하는 무선 통신 방식을 이용하여, 서버(200)와 데이터를 송신 또는 수신할 수 있다. 일 실시예에서, 프로세서(330)는 통신 인터페이스(360)를 이용하여 비트스트림을 서버(200)에 전송할 수 있다.
서버(200)는 모바일 디바이스(300)로부터 수신된 비트스트림을 저장부(210)에 저장할 수 있다.
도 2는 본 개시의 일 실시예에 따른 디바이스에 포함되는 모듈을 통한 데이터의 흐름을 도시한 도면이다.
본 개시에서 '디바이스'는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)의 구성 요소를 기준으로 설명한다.
도 2를 참조하면, 원본 영상(io)은 객체 인식 모듈(2310) 및 인코딩 모듈(1320)로 각각 입력될 수 있다. 원본 영상(io)은 이미징 센서(1100, 도 1a 참조)에 의해 감시 대상 영역 또는 감시 대상 객체를 촬영함으로써 획득될 수 있다.
원본 영상(io)이 객체 인식 모듈(2310)에 입력되고, 객체 인식 모듈(2310)은 원본 영상(io)으로부터 타겟 객체를 검출할 수 있다. 일 실시예에서, 타겟 객체는 사람의 얼굴, 헤어 스타일, 옷, 및 포즈(posture) 중 적어도 하나를 포함할 수 있으나, 이에 한정되지 않는다. 객체 인식 모듈(2310)은 원본 영상(io)으로부터 검출된 타겟 객체를 포함하는 제1 관심 영역(R1)을 검출할 수 있다. 제1 관심 영역(R1)은 타겟 객체 이미지, 예를 들어 사람의 얼굴을 포함하는 바운딩 박스일 수 있다.
원본 영상(io)으로부터 검출된 타겟 객체는 특징 벡터 추출 모듈(2320)에 입력되고, 특징 벡터 추출 모듈(2320)은 타겟 객체 이미지로부터 제1 특징 벡터(f1)를 추출할 수 있다. 제1 특징 벡터(f1)는 예를 들어, 사람의 얼굴의 눈, 코, 입과 같은 랜드마크에 대응되는 특징값들을 포함하는 벡터일 수 있다. 그러나, 이에 한정되는 것은 아니고, 제1 특징 벡터(f1)는 사람의 헤어 스타일, 옷 차림, 또는 특정 자세로부터 추출된 적어도 하나의 키 포인트(key-points)에 대응되는 특징값들을 포함하는 벡터일 수 있다.
원본 영상(io)으로부터 검출된 제1 관심 영역(R1)과 타겟 객체로부터 추출된 제1 특징 벡터(f1)는 인식 결과 판단 모듈(2330)에 입력될 수 있다.
원본 영상(io)이 인코딩 모듈(1320)에 입력되는 경우, 인코딩 모듈(1320)은 기설정된 압축률(QP0)을 이용하여 원본 영상(io)를 압축하고, 부호화함으로써 부호화된 영상 데이터를 출력할 수 있다. 일 실시예에서, 부호화된 영상 데이터는 양자화된 변환 계수일 수 있다.
부호화된 영상 데이터는 디코딩 모듈(1330)에 입력되고, 디코딩 모듈(1330)은 부호화된 영상 데이터를 역 양자화 및 역 변환함으로써 잔차 데이터(residual data)를 복원할 수 있다. 디코딩 모듈(1330)은 복원된 잔차 데이터와 인터 예측 및 인트라 예측을 통해 획득한 예측 데이터를 더함으로써 복원 영상(irecon)을 획득할 수 있다.
복원 영상(irecon)은 객체 인식 모듈(2310)에 입력되고, 객체 인식 모듈(2310)은 복원 영상(irecon)으로부터 타겟 객체를 검출할 수 있다. 복원 영상(irecon)으로부터 검출된 타겟 객체는, 원본 영상(io)으로부터 검출된 타겟 객체와 동일할 수 있으나, 타겟 객체의 이미지의 해상도, 선예도 등 이미지 품질은 원본 영상(io)으로부터 검출된 타겟 객체 이미지 보다 낮을 수 있다. 객체 인식 모듈(2310)은 복원 영상(irecon)으로부터 검출된 타겟 객체를 포함하는 제2 관심 영역(R2)을 검출할 수 있다. 제2 관심 영역(R2)은 타겟 객체 이미지, 예를 들어 사람의 얼굴을 포함하는 바운딩 박스일 수 있다.
복원 영상(irecon)으로부터 검출된 타겟 객체는 특징 벡터 추출 모듈(2320)에 입력되고, 특징 벡터 추출 모듈(2320)은 복원 영상(irecon)에서 검출된 타겟 객체 이미지로부터 제2 특징 벡터(f2)를 추출할 수 있다. 제2 특징 벡터(f2)는 복원 영상(irecon)에서 검출된 타겟 객체 이미지로부터 추출되었다는 점을 제외하고는 제1 특징 벡터(f1)와 동일한 바, 중복되는 설명은 생략한다.
복원 영상(irecon)으로부터 검출된 제2 관심 영역(R2)과 타겟 객체로부터 추출된 제2 특징 벡터(f2)는 인식 결과 판단 모듈(2330)에 입력될 수 있다.
중첩도 산출 모듈(2332)은 제1 관심 영역(R1)의 바운딩 박스 좌표값 정보 및 제2 관심 영역(R2)의 바운딩 박스 좌표값 정보에 기초하여, 제1 관심 영역(R1)과 제2 관심 영역(R2) 간의 중첩도를 산출할 수 있다. 일 실시예에서, 중첩도 산출 모듈(2332)은 IOU(Intersection Over Union) 방식을 이용하여 제1 관심 영역(R1)과 제2 관심 영역(R2) 간의 중첩도를 계산할 수 있다. 중첩도 산출 모듈(2332)은 계산된 중첩도 값의 정보를 비교 모듈(2336)에 제공할 수 있다.
유사도 산출 모듈(2334)은 제1 특징 벡터(f1)와 제2 특징 벡터(f2) 간의 유사도를 계산할 수 있다. 일 실시예에서, 유사도 산출 모듈(2334)은 제1 특징 벡터(f1)와 제2 특징 벡터(f2) 간의 상관 관계(correlation)를 수치값으로 나타내는 유사도를 계산하고, 계산된 유사도 값의 정보를 비교 모듈(2336)에 제공할 수 있다.
비교 모듈(2336)은 중첩도 산출 모듈(2332)로부터 입력된 중첩도(R1, R2) 및 유사도 산출 모듈(2334)로부터 입력된 유사도(f1, f2) 값을 이용하여, 타겟 객체가 정상적으로 인식되었는지 판단할 수 있다. 일 실시예에서, 비교 모듈(2336)은 중첩도(R1, R2) 값을 제1 임계치와 비교하고, 유사도(f1, f2) 값을 제2 임계치와 비교함으로써, 복원 영상(irecon)으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단할 수 있다.
예를 들어, 비교 모듈(2336)은 중첩도(R1, R2) 값이 제1 임계치 이하이거나, 또는 유사도(f1, f2) 값이 제2 임계치 이하인 경우, 복원 영상(irecon)으로부터 타겟 객체가 정상적으로 인식되지 않았다고 판단한다. 이 경우, 비교 모듈(2336)은 타겟 객체 인식 여부에 관한 판단 결과를 압축률 조절 모듈(2340)에 제공한다.
압축률 조절 모듈(2340)은 비교 모듈(2336)로부터 타겟 객체가 정상적으로 인식되지 않았다는 판단 결과가 입력되면, 압축률을 복원 영상(irecon)을 획득하는데 이용된 기설정된 압축률(QP0)의 값보다 낮은 제1 압축률(QP1)로 조절할 수 있다. 압축률 조절 모듈(2340)은 조절된 압축률인 제1 압축률(QP1)의 값에 관한 정보를 인코딩 모듈(1320)에 제공할 수 있다.
인코딩 모듈(1320)은 압축률 조절 모듈(2340)로부터 입력받은 제1 압축률(QP1) 값을 이용하여, 원본 영상(io)을 압축하고, 부호화함으로써 부호화된 영상 데이터를 획득할 수 있다. 디코딩 모듈(1330), 객체 인식 모듈(2310), 특징 벡터 추출 모듈(2320), 인식 결과 판단 모듈(2330), 및 압축률 조절 모듈(2340)이 수행하는 동작들은 제1 압축률(QP1)을 통해 압축되고 부호화된 영상 데이터가 입력됨에 따라 반복적으로 수행될 수 있다.
다른 예를 들어, 비교 모듈(2336)은 중첩도(R1, R2) 값이 제1 임계치를 초과하고, 유사도(f1, f2) 값이 제2 임계치를 초과하는 경우, 복원 영상(irecon)으로부터 타겟 객체가 정상적으로 인식되었다고 판단한다. 이 경우, 비교 모듈(2336)은 인코딩 모듈(1320)에 비트스트림 생성을 요청하는 신호를 전송할 수 있다.
인코딩 모듈(1320)은 비트스트림 생성 요청 신호가 입력되는 경우, 원본 영상(io)를 기설정된 압축률(QP0)을 이용하여 압축하고, 부호화함으로써 비트스트림을 생성할 수 있다.
인코딩 모듈(1320)은 비트스트림을 서버(200)에 전송할 수 있다. 이 경우, 인코딩 모듈(1320)은 네트워크 인터페이스(1400, 도 1a 참조)를 이용하여, 외부에 위치하는 서버(200)에 비트스트림을 전송할 수 있다.
일반적인 감시 카메라 시스템에서는 저장 용량 또는 네트워크 대역폭의 한계로 인하여 카메라를 이용하여 촬영된 동영상을 표준 규격에 따른 압축 방법(예를 들어, H.264/AVC, HEVC(H.265) 등)을 이용하여 압축하고, 부호화함으로써 서버(200)에 전송한다. 이 경우, 압축률을 과도하게 높게 설정하여 인코딩을 하는 경우 영상이 열화(degrading)되어 인식하여야 하는 사람의 얼굴, 헤어 스타일, 옷 차림, 등을 인식할 수 없게 되는 문제점이 있다. 또한, 제한적인 네트워크 대역폭, 네트워크의 불안정성으로 인한 데이터 패킷(packet) 손실, 인코딩 단계에서의 오류, 또는 UDP 환경에서 데이터 패킷 손실 등 예외 상황에서 디코딩된 영상 프레임이 열화되고, 열화된 영상 프레임으로부터 사람의 얼굴 등을 인식할 수 없는 문제점이 있다. 열화된 영상 프레임으로부터 사람의 얼굴을 인식하지 못하는 경우, 다른 사람으로 오 인식되고, 비인가자(unauthorized person)를 추적하기 어려운 문제가 발생된다.
도 1a, 도 1b, 및 도 2에 도시된 실시예에 따른 디바이스는 전술한 문제점, 즉 제한적인 네트워크 대역폭, 네트워의 불안정성, 인코딩 단계에서의 오류, UDP 환경에서 데이터 패킷 손실 등의 예외 상황에서도 특정 타겟 객체(예를 들어, 얼굴, 헤어 스타일, 옷, 포즈 등)의 인식률을 높일 수 있다. 본 개시의 일 실시예에 따른 IP 카메라 시스템(100)은, IP 카메라(1000)로부터 획득한 원본 영상과 복원 영상 각각으로부터 타겟 객체를 인식하고, 타겟 객체로부터 특징 벡터를 추출하며, 타겟 객체를 포함하는 관심 영역 간의 중첩도 및 특징 벡터 간의 유사도에 기초하여 복원 영상의 압축률을 조정하는바, 타겟 객체의 인식에 최적화된 압축률을 결정할 수 있다. 따라서, 본 개시의 IP 카메라 시스템(100)는 타겟 객체, 예를 들어 사람의 얼굴의 인식률을 현저하게 향상시키고, 오 인식률을 감소시킬 수 있다.
도 3은 본 개시의 일 실시예에 따른 디바이스가 영상을 처리하는 방법을 도시한 흐름도이다.
본 개시에서 '디바이스'는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)이 동작 주체인 경우를 기준으로 설명한다. 이하에서 설명된 동작 또는 기능은 모바일 디바이스(300)에서도 동일하게 수행될 수 있다.
단계 S310에서, IP 카메라 시스템(100)은 적어도 하나의 이미징 센서(1100, 도 1a 참조)로부터 원본 영상(raw image)을 획득한다. 원본 영상은 이미징 센서(1100)를 이용하여 감시 대상 영역 또는 감시 대상 객체를 촬영하여 획득된 영상 데이터로서, 압축되지 않은 비압축 영상 데이터이다.
단계 S320에서, IP 카메라 시스템(100)은 원본 영상을 기설정된 압축률로 압축하고, 부호화 및 복호화를 수행함으로써 복원 영상을 획득한다. 일 실시예에서, IP 카메라(1000, 도 1a 참조)는 인코더(1310, 도 1a 참조)를 포함하고, 인코더(1310)를 이용하여 기 설정된 압축률로 원본 영상을 압축하고, 부호화 및 복호화함으로써 복원 영상을 생성할 수 있다. 일 실시예에서, IP 카메라(1000)에 포함되는 인코더(1310)는 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 상기 원본 영상을 압축하고, 부호화 및 복호화를 수행함으로써 복원 영상을 생성할 수 있다. IP 카메라(1000)는 원본 영상 및 복원 영상을 프로세싱 디바이스(2000, 도 1a 참조)에 전송할 수 있다. 프로세싱 디바이스(2000)는 네트워크 인터페이스(2100, 도 1a 참조)를 이용하여 IP 카메라(1000)로부터 원본 영상 및 복원 영상의 영상 데이터를 수신할 수 있다.
단계 S330에서, IP 카메라 시스템(100)은 원본 영상으로부터 타겟 객체 및 타겟 객체를 포함하는 제1 관심 영역을 인식(detect)하고, 타겟 객체로부터 제1 특징 벡터를 추출한다(extract). 타겟 객체는 예를 들어, 사람의 얼굴, 헤어 스타일, 옷, 및 포즈(posture) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, IP 카메라 시스템(100)은 공지의 영상 처리 기술 또는 딥 러닝을 포함하는 인공 지능 모델을 이용하여 원본 영상으로부터 타겟 객체를 인식하고, 인식된 타겟 객체로부터 제1 특징 벡터를 추출할 수 있다.
일 실시예에서, 프로세싱 디바이스(2000)의 프로세서(2200, 도 1a 참조)는 컨볼루션 신경망 모델(Convolution Neural Network; CNN)을 이용하여 학습을 수행함으로써 원본 영상으로부터 타겟 객체를 검출할 수 있다. 프로세서(2200)는 컨볼루션 신경망 모델을 통해 학습된 모델 파라미터를 이용하여 원본 영상으로부터 타겟 객체를 검출할 수 있다. 예를 들어, 타겟 객체가 얼굴인 경우, 프로세서(2200)은 대규모의 데이터 셋, 예를 들어 CASIA-WebFace, VGGFace/VGGFace 2, 또는 MS-Celeb-1M을 통해 원본 영상으로부터 사람의 얼굴을 검출할 수 있다.
일 실시예에서, 프로세서(2200)는 공지의 이미지 처리 기술 또는 딥 러닝을 포함하는 인공 지능 모델을 이용하여, 타겟 객체의 이미지로부터 제1 특징 벡터를 추출할 수 있다. 예를 들어, 프로세서(2200)는 ICA(Independent Component Analysis) 또는 PCA(Principle Component Analysis) 방법을 이용하여 타겟 객체 이미지로부터 제1 특징 벡터를 추출할 수 있다.
일 실시예에서, 프로세서(2200)는 컨볼루션 신경망 모델을 이용하여 타겟 객체 이미지로부터 제1 특징 벡터를 추출할 수 있다. 예를 들어, 프로세서(2200)는 기설정된 크기 및 기설정된 채널 수를 갖는 커널(kernel)을 이용하여 타겟 객체 이미지 상을 이동함(stride)으로써 특징값들을 추출하고, 추출된 특징값들을 포함하는 복수 개의 레이어(layer)를 획득하고, 복수 개의 레이어에 가중치(weight)를 적용함으로써 특징 벡터 맵(feature vector map)을 획득할 수 있다. 특징 벡터 값을 획득하는 과정에서 정류 선형 유닛(ReLU) 모델이 이용되고, 효율을 향상시키기 위하여 드롭 아웃(drop out)을 통해 특징값들을 정규화(normalization)하고, 풀링(pooling) 또는 맥스 풀링(max pooling)을 수행하는 동작들이 더 추가될 수 있다. 프로세서(2200)은 예를 들어, MobileNet v1/v2 과 같은 컨볼루션 신경망 모델을 이용하여 원본 영상에서 검출된 타겟 객체의 이미지로부터 제1 특징 벡터를 추출할 수 있다.
단계 S340에서, IP 카메라 시스템(100)은 복원 영상으로부터 타겟 객체 및 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 타겟 객체로부터 제2 특징 벡터를 추출한다. 단계 S340은 원본 영상이 아닌 '복원 영상'으로부터 타겟 객체를 인식하고, 제2 특징 벡터를 추출하는바, 단계 S330과 비교하면 타겟 객체의 인식 대상 및 제2 특징 벡터가 추출되는 대상이 되는 영상의 차이만 있을 뿐 동작 방법은 동일한다. 따라서, 단계 S330과 중복되는 설명은 생략한다.
단계 S350에서, IP 카메라 시스템(100)은 제1 관심 영역과 제2 관심 영역 간의 중첩도 및 제1 특징 벡터와 제2 특징 벡터 간의 유사도에 기초하여, 타겟 객체가 정상적으로 인식되었는지 여부를 판단한다. 일 실시예에서, 프로세싱 디바이스(2000)의 프로세서(2200)는 제1 관심 영역과 제2 관심 영역 간의 중첩도를 산출하고, 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 산출할 수 있다. 일 실시예에서, 프로세서(2200)는 산출된 중첩도를 기 설정된 제1 임계치와 비교하고, 산출된 유사도를 기 설정된 제2 임계치와 비교하며, 비교 결과에 기초하여 복원 영상으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단할 수 있다.
여기서 '압축률'은 원본 영상을 표준 규격에 매칭되는 방법을 이용하여 인코딩하기 위한 영상 압축 파라미터를 의미한다. 압축률은 표준 규격 마다 다양한 형태로 존재할 수 있다. 예를 들어, 동적 영상을 재생하기 위한 표준 규격(예를 들어, H. 264/AVC, HEVC(H.265) 등)에서는 양자화 파라미터(Quantization Parameter)를 이용하여 영상의 압축률이 결정될 수 있다.
'양자화 파라미터'는 동적 영상의 압축과 관련된 표준 규격, 예를 들어 H.264/AVC, 또는 HEVC(H.265)에서 정의되는 변환 계수를 양자화하는 정도를 나타내는 파라미터로서, 양자화 파라미터에 의해 영상의 압축률이 결정될 수 있다. 일 실시예에서, 압축률은 양자화 파라미터의 값에 비례한다. 예를 들어, 양자화 파라미터의 값이 큰 경우, 압축률이 높고, 양자화 파라미터의 값이 작은 경우, 압축률이 낮다.
일 실시예에서, 프로세서(2200)는 중첩도가 제1 임계치 이하이거나, 또는 유사도가 제2 임계치 이하인 경우, 복원 영상으로부터 타겟 객체가 정상적으로 인식되지 않았다고 판단할 수 있다.
일 실시예에서, 프로세서(2200)는 중첩도가 제1 임계치를 초과하고, 유사도가 제2 임계치를 초과하는 경우, 복원 영상으로부터 타겟 객체가 정상적으로 인식되었다고 판단할 수 있다.
단계 S360에서, IP 카메라 시스템(100)은 타겟 객체의 인식 여부 판단 결과에 기초하여 압축률을 조정(adjust)한다. 일 실시예에서, IP 카메라 시스템(100)은 복원 영상으로부터 타겟 객체가 정상적으로 인식되지 않았다고 판단된 경우, 압축률의 값을 기존 복원 영상을 압축하고 부호화하는데 사용되었던 압축률 보다 더 낮은 값으로 변경할 수 있다. 일 실시예에서, IP 카메라 시스템(100)은 복원 영상으로부터 타겟 객체가 정상적으로 인식되었다고 판단된 경우, 단계 S310에서 수신된 복원 영상을 생성하는데 이용된 압축률을 최종 압축률로 결정할 수 있다.
단계 S350 및 단계 S360의 구체적인 실시예에 관해서는 도 4에서 상세하게 설명하기로 한다.
도 4는 본 개시의 일 실시예에 따른 디바이스가 복원 영상에서의 타겟 객체 인식 여부를 판단하는 방법을 도시한 흐름도이다.
본 개시에서 '디바이스'는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)이 동작 주체인 경우를 기준으로 설명한다. 이하에서 설명된 동작 또는 기능은 모바일 디바이스(300)에서도 동일하게 수행될 수 있다.
도 4에 도시된 단계 S410 내지 단계 S450은 도 3에 도시된 단계 S350을 구체화한 단계들이다. 도 4에 도시된 단계 S320, S330, 및 S340은 도 3에 도시된 단계들과 동일하다. 도 4에 도시된 단계 S410 및 단계 S420은 도 3에 도시된 단계 S340이 수행된 이후에 수행된다.
단계 S410에서, IP 카메라 시스템(100)은 제1 관심 영역과 제2 관심 영역 간의 중첩도를 산출한다. 일 실시예에서, IP 카메라 시스템(100)은 원본 영상에서 검출된 타겟 객체가 포함되는 제1 관심 영역의 바운딩 박스(bounding box)의 위치 좌표값 정보 및 복원 영상에서 검출된 타겟 객체가 포함되는 제2 관심 영역의 바운딩 박스의 위치 좌표값 정보를 각각 획득하고, 획득된 위치 좌표값을 이용하여 제1 관심 영역과 제2 관심 영역이 겹치는 정도를 나타내는 중첩도를 산출할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000, 도 1a 참조)의 프로세서(2200, 도 1a 참조)는 위치 좌표값 정보를 이용하여 중첩도를 계산하는 IOU(Intersection Over Union) 방식을 이용하여 제1 관심 영역과 제2 관심 영역 간의 중첩도를 계산할 수 있다.
단계 S420에서, IP 카메라 시스템(100)은 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 산출한다. 프로세싱 디바이스(2000)의 프로세서(2200)는 벡터 간의 상관 관계(correlation)를 계산하는 공지의 방법을 이용하여, 원본 영상에서 검출된 타겟 객체의 이미지로부터 추출된 제1 특징 벡터와 복원 영상에서 검출된 타겟 객체의 이미지로부터 추출된 제2 특징 벡터 간의 유사도를 계산할 수 있다.
도 4에서, 단계 S410과 단계 S420은 동시에 독립적으로 수행될 수 있다. 그러나, 이에 한정되는 것은 아니고, 단계 S410이 단계 S420 보다 먼저 수행되거나, 또는 단계 S420이 단계 S410 보다 먼저 수행될 수도 있다.
단계 S430에서, IP 카메라 시스템(100)은 단계 S410에서 산출된 중첩도를 기 설정된 제1 임계치(α)와 비교하고, 단계 S420에서 산출된 유사도를 기 설정된 제2 임계치(β)와 비교할 수 있다. 예를 들어, 제1 임계치(α)의 값은 0.8이고, 제2 임계치(β)의 값은 0.5일 수 있지만, 이에 한정되는 것은 아니다.
중첩도가 제1 임계치(α)를 초과하고, 유사도가 제2 임계치(β)를 초과하는 경우(단계 S440), IP 카메라 시스템(100)은 복원 영상으로부터 타겟 객체가 정상적으로 인식되었다고 판단한다. 복원 영상에서 타겟 객체가 정상적으로 인식된 경우는 도 5의 ⓐ와 연결되고, 도 4의 단계 S440이 수행된 이후에는 도 5의 단계 S510이 수행될 수 있다.
중첩도가 제1 임계치(α) 이하 이거나, 또는 유사도가 제2 임계치(β) 이하인 경우(단계 S450), IP 카메라 시스템(100)은 복원 영상으로부터 타겟 객체가 정상적으로 인식되지 않았다고 판단한다. 복원 영상에서 타겟 객체가 정상적으로 인식되지 않은 경우는 도 5의 ⓑ와 연결되고, 도 4의 단계 S450이 수행된 이후에는 도 5의 단계 S520이 수행될 수 있다.
도 5는 본 개시의 일 실시예에 따른 디바이스가 타겟 객체의 인식 여부 판단 결과에 기초하여, 영상의 압축률을 결정하는 방법을 도시한 흐름도이다.
본 개시에서 '디바이스'는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)이 동작 주체인 경우를 기준으로 설명한다. 이하에서 설명된 동작 또는 기능은 모바일 디바이스(300)에서도 동일하게 수행될 수 있다.
도 5에 도시된 단계 S510 내지 단계 S530은 도 3에 도시된 단계 S360을 구체화한 단계들이다. 도 5에 도시된 단계 S320, S330, 및 S340은 도 3에 도시된 단계들과 동일하다.
단계 S510에서, IP 카메라 시스템(100)은 단계 S320에서 수신된 복원 영상을 생성하는데 이용되었던 압축률, 예를 들어 양자화 파라미터의 값을 최종 압축률로 결정할 수 있다. 단계 S510은 ⓐ를 통해 연결된 도 4의 단계 S440이 수행된 이후에 수행될 수 있다.
단계 S520에서, IP 카메라 시스템(100)은 압축률을 낮은 값으로 변경한다. 단계 S520은 ⓑ를 통해 연결된 도 4의 단계 S450이 수행된 이후에 수행될 수 있다. 일 실시예에서, IP 카메라 시스템(100)은 단계 S320에서 획득된 복원 영상을 생성하는데 이용되었던 압축률 보다 더 낮은 값으로 압축률을 조절할 수 있다. 예를 들어, 프로세싱 디바이스(2000, 도 1a 참조)의 프로세서(2200, 도 1a 참조)는 복원 영상을 생성하는데 사용되었던 양자화 파라미터의 값을 더 낮은 값으로 변경할 수 있다.
단계 S530에서, IP 카메라 시스템(100)은 변경된 압축률 정보를 IP 카메라(1000, 도 1a 참조)의 인코더(1310, 도 1a 참조)에 제공한다. 일 실시예에서, 프로세싱 디바이스(2000)는 네트워크 인터페이스(2100, 도 1a 참조)를 이용하여, 변경된 양자화 파라미터 값 정보를 IP 카메라(1000)에 전송할 수 있다.
단계 S530 이후, IP 카메라 시스템(100)은 단계 S320, 단계 S330, 단계 S340, 단계 S350, 및 단계 S360을 반복 수행한다. 일 실시예에서, IP 카메라(1000)는 프로세싱 디바이스(2000)로부터 수신된 압축률 정보에 기초하여, 변경된 압축률로 원본 영상을 압축하고, 부호화 및 복호화를 수행함으로써 복원 영상을 생성할 수 있다. IP 카메라 시스템(100)은 생성된 복원 영상을 수신하는 동작(단계 S320), 원본 영상으로부터 타겟 객체를 인식하고, 제1 특징 벡터를 추출하는 동작(단계 S330), 수신된 복원 영상으로부터 타겟 객체를 인식하고, 제2 특징 벡터를 추출하는 동작(단계 S340), 및 중첩도 및 유사도에 기초하여 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 동작(단계 S350), 및 압축률을 조절하는 동작(단계 S360)을 적어도 1회 이상 반복적으로 수행할 수 있다. IP 카메라 시스템(100)은 중첩도가 제1 임계치(α)를 초과하고, 유사도가 제2 임계치(β)를 초과할 때까지 단계 S320, S330, S340, S350, 및 S360을 반복적으로 수행할 수 있다.
도 6은 본 개시의 일 실시예에 따른 IP 카메라 시스템(100)과 서버(200)의 동작 방법을 도시한 흐름도이다.
도 6을 참조하면, IP 카메라 시스템(100)은 IP 카메라(1000) 및 프로세싱 디바이스(2000)를 포함할 수 있다.
IP 카메라(1000)는 이미징 센서(1100), 인코딩 모듈(1320), 및 디코딩 모듈(1330)를 포함할 수 있다. 이미징 센서(1100), 인코딩 모듈(1320), 및 디코딩 모듈(1330)은 도 1a에 도시된 구성 요소들과 동일하므로, 중복되는 설명은 생략한다.
프로세싱 디바이스(2000)는 객체 인식 모듈(2310), 특징 벡터 추출 모듈(2320), 인식 결과 판단 모듈(2330), 및 압축률 조절 모듈(2340)을 포함할 수 있다. 객체 인식 모듈(2310), 특징 벡터 추출 모듈(2320), 인식 결과 판단 모듈(2330) 및 압축률 조절 모듈(2340)은 도 1a에 도시된 구성 요소들과 동일하므로, 중복되는 설명은 생략한다.
단계 S610에서, IP 카메라(1000)는 이미징 센서(1100)를 이용하여 원본 영상(raw image)을 획득한다. 일 실시예에서, IP 카메라(1000)는 렌즈를 통해 감시 대상 영역 또는 감시 대상 객체를 촬영하고, 이미징 센서(1100)를 이용하여 감시 대상 영역 또는 감시 대상 객체에 관한 원본 영상을 획득할 수 있다. 일 실시예에서, 이미징 센서(1100)는 한 개 또는 적어도 하나 이상의 복수 개로 구성될 수 있다.
단계 S612에서, IP 카메라(1000)는 원본 영상의 데이터를 프로세싱 디바이스(2000)에 전송한다. IP 카메라(1000)는 예를 들어, 이더넷(Ethernet), 유무선 LAN(Local Area Network), 와이파이(Wi-Fi), WFD(Wi-Fi Direct), 및 와이기그(Wireless Gigabit Allicance, WiGig)를 포함하는 유무선 데이터 통신 방식 중 적어도 하나를 이용하여 프로세싱 디바이스(2000)에 원본 영상의 영상 데이터를 전송할 수 있다.
단계 S620에서, IP 카메라(1000)는 압축률 정보를 이용하여, 원본 영상을 압축하고, 부호화 및 복호화를 수행함으로써, 복원 영상을 생성한다. IP 카메라(1000)는 인코딩 모듈(1320)을 이용하여 원본 영상을 압축하고, 부호화할 수 있다. 인코딩 모듈(1320)은 원본 영상을 기설정된 압축률을 이용하여 부호화하고, 원본 영상으로부터 부호화된 영상 데이터를 획득하도록 구성될 수 있다. 일 실시예에서, IP 카메라(1000)는 인코딩 모듈(1320)을 이용하여 원본 영상으로부터 인터 예측 및 인트라 예측을 통해 예측 데이터를 획득하고, 원본 영상으로부터 예측 데이터를 뺀 잔차 데이터(residual date)를 획득하고, 잔차 데이터에 대하여 변환 및 양자화를 수행함으로써 부호화된 영상 데이터를 획득할 수 있다. 예를 들어, 부호화된 영상 데이터는 양자화된 변환 계수(transform coefficient)일 수 있다.
IP 카메라(1000)는 디코딩 모듈(1330)을 이용하여, 부호화된 영상 데이터를 복호화함으로써, 복원 영상을 생성할 수 있다. 일 실시예에서, IP 카메라(1000)는 디코딩 모듈(1330)을 이용하여 부호화된 영상 데이터, 즉 양자화된 변환 계수에 대하여 역 양자화 및 역변환을 수행함으로써 잔차 데이터를 복원하고, 복원된 잔차 데이터와 인터 예측 및 인트라 예측을 통해 획득한 예측 데이터를 더함으로써 복원 영상을 획득할 수 있다.
단계 S622에서, IP 카메라(1000)는 복원 영상의 데이터를 프로세싱 디바이스(2000)에 전송한다. 단계 S612와 마찬가지로, IP 카메라(1000)는 이더넷, 유무선 LAN, 와이파이, WFD(Wi-Fi Direct), 및 와이기그(WiGig)를 포함하는 유무선 데이터 통신 방식 중 적어도 하나를 이용하여 프로세싱 디바이스(2000)에 복원 영상의 영상 데이터를 전송할 수 있다.
단계 S630에서, 프로세싱 디바이스(2000)는 객체 인식 모듈(2310)을 이용하여 원본 영상으로부터 타겟 객체 및 제1 관심 영역을 인식하고, 특징 벡터 추출 모듈(2320)을 이용하여 타겟 객체로부터 제1 특징 벡터를 추출한다. 타겟 객체는 예를 들어, 사람의 얼굴, 헤어 스타일, 옷, 및 포즈(posture) 중 적어도 하나를 포함할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 공지의 영상 처리 기술 또는 딥 러닝을 포함하는 인공 지능 모델을 이용하여 원본 영상으로부터 타겟 객체를 인식하고, 인식된 타겟 객체로부터 제1 특징 벡터를 추출할 수 있다.
단계 S630은 도 3에 도시된 단계 S330과 동일하므로, 중복되는 설명은 생략한다.
단계 S640에서, 프로세싱 디바이스(2000)는 객체 인식 모듈(2310)을 이용하여 복원 영상으로부터 타겟 객체 및 제2 관심 영역을 인식하고, 특징 벡터 추출 모듈(2320)을 이용하여 타겟 객체로부터 제2 특징 벡터를 추출한다. 단계 S640은 원본 영상이 아닌 '복원 영상'으로부터 타겟 객체를 인식하고, 복원 영상에서 인식된 타겟 객체로부터 제2 특징 벡터를 추출하는 바, 단계 S630과 비교하면 타겟 객체의 인식 대상 및 제2 특징 벡터가 추출되는 대상이 되는 영상의 차이만 있을 뿐 동작 방법은 동일하다. 따라서, 단계 S630과 중복되는 설명은 생략한다.
단계 S650에서, 프로세싱 디바이스(2000)는 제1 관심 영역과 제2 관심 영역 간의 중첩도 및 제1 특징 벡터와 제2 특징 벡터 간의 유사도에 기초하여, 타겟 객체가 정상적으로 인식되었는지 여부를 판단한다. 일 실시예에서, 프로세싱 디바이스(2000)의 프로세서(2200, 도 1a 참조)는 인식 결과 판단 모듈(2330)을 이용하여, 원본 영상으로부터 인식된 제1 관심 영역과 복원 영상으로부터 인식된 제2 관심 영역 간의 중첩도를 산출할 수 있다. 일 실시예에서, 프로세서(2200)는 인식 결과 판단 모듈(2330)을 이용하여, 원본 영상의 타겟 객체로부터 추출된 제1 특징 벡터와 복원 영상의 타겟 객체로부터 추출된 제2 특징 벡터 간의 유사도를 산출할 수 있다. 일 실시예에서, 프로세서(2200)는 산출된 중첩도를 기 설정된 제1 임계치와 비교하고, 산출된 유사도를 기 설정된 제2 임계치와 비교하며, 비교 결과에 기초하여 복원 영상으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단할 수 있다.
복원 영상으로부터 타겟 객체가 정상적으로 인식되었다고 판단된 경우(단계 S660), 프로세싱 디바이스(2000)는 복원 영상을 생성하는데 사용된 압축률을 최종 압축률로 결정할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)의 프로세서(2200)는 압축률 조절 모듈(2340)을 이용하여, 단계 S620에서 원본 영상을 압축하고 부호화함으로써 복원 영상을 생성할 때의 압축률 정보를 획득하고, 획득된 압축률의 값을 최종 압축률로 결정할 수 있다.
단계 S662에서, 프로세싱 디바이스(2000)는 최종 압축률 정보를 IP 카메라(1000)에 전송한다. 일 실시예에서, 프로세서(2200)는 네트워크 인터페이스(2100, 도 1a 참조)를 이용하여, 최종 압축률에 관한 정보를 IP 카메라(1000)에 전송할 수 있다.
단계 S670에서, IP 카메라(1000)는 비트스트림을 서버(200)에 전송한다. 일 실시예에서, IP 카메라(1000)는 프로세싱 디바이스(2000)로부터 수신된 최종 압축률 정보에 기초하여 결정된 최종 압축률로 원본 영상을 압축하고 부호화함으로써 비트스트림을 생성할 수 있다. IP 카메라(1000)는 생성된 비트스트림을 서버(200)에 전송할 수 있다. 이 경우, IP 카메라(1000)는 네트워크 인터페이스(1400, 도 1a 참조)를 이용하여, 외부에 위치하는 서버(200)에 비트스트림을 전송할 수 있다.
복원 영상으로부터 타겟 객체가 정상적으로 인식되지 않았다고 판단된 경우(단계 S680), 프로세싱 디바이스(2000)는 압축률을 낮은 값으로 변경한다. 일 실시예에서, 프로세서(2200)는 압축률 조절 모듈(2340)을 이용하여, 압축률의 값을 단계 S620에서 원본 영상을 압축하고 부호화하여 복원 영상을 생성하는데 사용되었던 압축률의 값 보다 더 낮은 값으로 변경할 수 있다.
단계 S682에서, 프로세싱 디바이스(2000)는 변경된 압축률 정보를 IP 카메라(1000)에 전송한다. 일 실시예에서, 프로세싱 디바이스(2000)는 네트워크 인터페이스(2100)를 이용하여, 낮은 값으로 변경된 압축률에 관한 정보를 IP 카메라(1000)에 전송할 수 있다.
IP 카메라(1000)는 단계 S682에서 변경된 압축률의 정보를 수신한 경우, 단계 S620, S622를 다시 수행하고, 프로세싱 디바이스(2000)는 단계 S630, S640, 650을 다시 수행할 수 있다. 프로세싱 디바이스(2000)는 단계 S650에서 복원 영상으로부터 타겟 객체가 정상적으로 인식되지 않는 경우(NO), 단계 S680 및 단계 S682를 다시 수행할 수 있다. 프로세싱 디바이스(2000)는 단계 S650에서 복원 영상으로부터 타겟 객체가 정상적으로 인식되었다고 판단될 때까지 압축률의 값을 낮은 값으로 변경하고, 변경된 압축률 정보를 IP 카메라(1000)에 전송하는 단계들을 n회 반복적으로 수행할 수 있다.
도 7은 본 개시의 일 실시예에 따른 디바이스가 CU(Coding Unit)에 따라 타겟 객체를 인식하고, 인식 결과에 기초하여 CU 별로 압축률을 조절하는 방법을 도시한 도면이다.
본 개시에서 ‘디바이스’는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)이 동작 주체인 경우를 기준으로 설명한다. 이하에서 설명된 동작 또는 기능은 모바일 디바이스(300)에서도 동일하게 수행될 수 있다.
도 7을 참조하면, IP 카메라 시스템(100)의 프로세싱 디바이스(2000, 도 1a 참조)는 IP 카메라(1000, 도 1a 참조)로부터 획득한 원본 영상(700) 및 복원 영상(710)을 기설정된 영상 크기인 CU 단위로 분할(split)할 수 있다. 일 실시예에서, CU는 기설정된 픽셀의 개수를 포함할 수 있다. 예를 들어, CU는 16×16 또는 64×64의 픽셀 수로 구성될 수 있으나, 이에 한정되는 것은 아니다. 프로세싱 디바이스(2000)는 원본 영상(700)이 복수의 CU(700-1 내지 700-n)를 포함하도록 분할할 수 있다. 마찬가지로, 프로세싱 디바이스(2000)는 복원 영상(710)이 복수의 CU(710-1 내지 710-n)를 포함하도록 분할할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 원본 영상(700) 및 복원 영상(710) 각각을 LCU(Largest Coding Unit) 단위로 분할할 수 있다. LCU는 예를 들어, 적어도 하나의 CU를 포함하는 코딩 단위일 수 있다.
프로세싱 디바이스(2000)는 원본 영상(700)에 포함되는 복수의 CU(700-1 내지 700-n) 중 타겟 객체가 인식되는 적어도 하나의 제1 CU(700-a, 700-b, 700-c)를 식별할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)의 프로세서(2200, 도 1a 참조)는 객체 인식 모듈(2310)과 관련된 명령어 또는 프로그램 코드를 이용하여, 원본 영상(700)으로부터 타겟 객체를 검출하고, 복수의 CU(700-1 내지 700-n) 중 타겟 객체가 검출된 적어도 하나의 제1 CU(700-a, 700-b, 700-c)를 식별할 수 있다. 타겟 객체는 예를 들어, 사람의 얼굴, 헤어 스타일, 옷, 및 포즈 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 도 7에서, 적어도 하나의 제1 CU(700-a, 700-b, 700-c)는 3개의 CU로 도시되었지만, 타겟 객체가 검출된 CU의 개수가 3개로 한정되는 것은 아니다.
프로세서(2200)는 적어도 하나의 제1 CU(700-a, 700-b, 700-c) 각각으로부터 검출된 타겟 객체의 바운딩 박스(bounding box)를 식별하고, 식별된 바운딩 박스의 위치 좌표값을 획득할 수 있다. 일 실시예에서, 프로세서(2200)는 적어도 하나의 제1 CU(700-a, 700-b, 700-c) 각각으로부터 식별된 바운딩 박스를 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)으로 설정할 수 있다.
프로세서(2200)는 객체 인식 모듈(2310)과 관련된 명령어 또는 프로그램 코드를 이용하여, 복원 영상(710)으로부터 타겟 객체를 검출하고, 복수의 CU(710-1 내지 710-n) 중 타겟 객체가 검출된 적어도 하나의 제2 CU(710-a, 710-b, 710-c)를 식별할 수 있다. 프로세서(2200)는 객체 인식 모듈(2310)을 이용하여, 적어도 하나의 제2 CU(710-a, 710-b, 710-c) 각각으로부터 검출된 타겟 객체의 바운딩 박스를 식별하고, 식별된 바운딩 박스를 적어도 하나의 제2 관심 영역(R2-a, R2-b, R2-c)으로 설정할 수 있다.
프로세싱 디바이스(2000)는 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)에 포함되는 타겟 객체 이미지로부터 제1 특징 벡터를 추출할 수 있다. 일 실시예에서, 프로세서(2200)는 특징 벡터 추출 모듈(2320)과 관련된 명령어 또는 프로그램 코드를 이용하여, 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)에 포함되는 타겟 객체 이미지로부터 제1 특징 벡터를 추출할 수 있다. 특징 벡터 추출 모듈(2320)은 공지의 영상 처리 방법(image processing method) 또는 딥 러닝을 포함하는 인공 지능 모델을 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출하도록 구성될 수 있다. 예를 들어, 특징 벡터 추출 모듈(2320)은 ICA(Independent Component Analysis) 또는 PCA(Principle Component Analysis) 방법을 이용하여 타겟 객체 이미지로부터 특징 벡터를 추출하도록 구성될 수 있다.
일 실시예에서, 프로세서(2200)는 특징 벡터 추출 모듈(2320)을 이용하여, 적어도 하나의 제2 관심 영역(R2-a, R2-b, R2-c)에 포함되는 타겟 객체 이미지로부터 제2 특징 벡터를 추출할 수 있다.
프로세싱 디바이스(2000)는 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)과 적어도 하나의 제2 관심 영역(R2-a, R2-b, R2-c) 간의 중첩도 및 제1 특징 벡터와 제2 특징 벡터 간의 유사도에 기초하여, 타겟 객체의 인식 결과를 판단할 수 있다. 일 실시예에서, 프로세서(2200)는 인식 결과 판단 모듈(2330)과 관련된 명령어 또는 프로그램 코드를 이용하여, 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)과 적어도 하나의 제2 관심 영역(R2-a, R2-b, R2-c) 간의 중첩도를 산출할 수 있다. 일 실시예에서, 프로세서(2200)는 IOU(Intersection Over Union) 방식을 이용하여 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)과 적어도 하나의 제2 관심 영역(R2-a, R2-b, R2-c) 간의 중첩도를 산출할 수 있다.
프로세서(2200)는 인식 결과 판단 모듈(2330)을 이용하여, 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 산출할 수 있다. 일 실시예에서, 프로세서(2200)는 인식 결과 판단 모듈(2330)을 이용하여, 제1-a 관심 영역(R1-a)에 포함된 타겟 객체 이미지로부터 추출된 제1 특징 벡터와 제2-a 관심 영역(R2-a)에 포함된 타겟 객체 이미지로부터 추출된 제2 특징 벡터 간의 상관 관계(correlation)를 수치값으로 계산할 수 있다. 마찬가지로, 프로세서(2200)는 제1-b 관심 영역(R1-b)에 포함된 타겟 객체 이미지로부터 추출된 제1 특징 벡터와 제2-b 관심 영역(R2-b)에 포함된 타겟 객체로부터 추출된 제2 특징 벡터 간의 상관 관계를 수치값으로 계산할 수 있다.
프로세서(2200)는 인식 결과 판단 모듈(2330)을 이용하여, 적어도 하나의 제1 관심 영역(R1-a, R1-b, R1-c)과 적어도 하나의 제2 관심 영역(R2-a, R2-b, R2-c) 간의 중첩도를 기설정된 제1 임계치와 비교하고, 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 기설정된 제2 임계치와 비교함으로써, 타겟 객체가 정확하게 인식되었는지 여부를 판단할 수 있다. 프로세서(2200)는 비교 결과에 기초하여, 적어도 하나의 제2 CU(710-a, 710-b, 710-c) 중 타겟 객체가 정상적으로 인식되지 않은 미인식 CU(710-b)를 결정할 수 있다. 일 실시예에서, 프로세서(2200)는 적어도 하나의 제2 CU(710-a, 710-b, 710-c) 중 산출된 중첩도가 제1 임계치 이하이거나, 또는 유사도가 제2 임계치 이하인 미인식 CU(710-b)를 결정할 수 있다.
프로세싱 디바이스(2000)는 결정된 미인식 CU(710-b)의 압축률의 값을 조정(adjust)한다. 일 실시예에서, 프로세서(2200)는 압축률 조절 모듈(2340)과 관련된 명령어 또는 프로그램 코드를 이용하여, 미인식 CU(710-b)의 압축률의 값을 낮은 값으로 변경할 수 있다.
일 실시예에서, 프로세서(2200)는 인식 결과 판단 모듈(2330)을 통한 비교 결과, 중첩도가 제1 임계치를 초과하고, 유사도가 제2 임계치를 초과하여 타겟 객체가 정상적으로 인식된 것으로 판단된 CU인, 제2-a CU(710-a) 및 제2-c CU(710-c)의 경우, 복원 영상(710)을 생성하는데 이용된 압축률의 값을 최종 압축률로 결정할 수 있다.
도 8은 본 개시의 일 실시예에 따른 디바이스가 CU(Coding Unit)에 따라 타겟 객체를 인식하고, 인식 결과에 기초하여 CU 별로 압축률을 조절하는 방법을 도시한 흐름도이다.
본 개시에서 ‘디바이스’는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)이 동작 주체인 경우를 기준으로 설명한다. 이하에서 설명된 동작 또는 기능은 모바일 디바이스(300)에서도 동일하게 수행될 수 있다.
도 8에 도시된 단계 S810 내지 단계 S830은 도 3에 도시된 단계 S350을 구체화한 단계들이다. 도 8에 도시된 단계 S840 및 단계 S850은 도 3에 도시된 단계 S360을 구체화한 단계들이다. 도 8에 도시된 단계 S810은 도 3에 도시된 단계 S340이 수행된 이후에 수행될 수 있다.
단계 S810에서, IP 카메라 시스템(100)은 원본 영상 및 복원 영상을 CU(Coding Unit) 단위로 분할한다(split). 일 실시예에서, IP 카메라 시스템(100)의 프로세싱 디바이스(2000, 도 1a 참조)는 IP 카메라(1000, 도 1a 참조)로부터 획득한 원본 영상 및 복원 영상을 기설정된 영상 크기인 CU 단위로 분할할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 원본 영상 및 복원 영상을 LCU(Largest Coding Unit) 단위로 분할할 수 있다.
단계 S820에서, IP 카메라 시스템(100)은 원본 영상 및 복원 영상 각각으로부터 타겟 객체가 인식된 적어도 하나의 CU를 식별한다. 일 실시예에서, 프로세싱 디바이스(2000)는 원본 영상에 포함된 복수의 CU 중 타겟 객체가 인식된 적어도 하나의 제1 CU를 식별할 수 있다. 마찬가지로, 프로세싱 디바이스(2000)는 복원 영상에 포함된 복수의 CU 중 타겟 객체가 인식된 적어도 하나의 제2 CU를 식별할 수 있다.
단계 S830에서, IP 카메라 시스템(100)은 식별된 적어도 하나의 CU 각각에 대하여, 원본 영상과 복원 영상 간의 관심 영역의 중첩도 및 특징 벡터의 유사도 정보에 기초하여, 타겟 객체의 인식 결과를 판단한다. 일 실시예에서, 프로세싱 디바이스(2000)는 원본 영상으로부터 식별된 적어도 하나의 제1 CU 각각에 포함된 타겟 객체 이미지에 관한 바운딩 박스를 식별하고, 식별된 바운딩 박스를 적어도 하나의 제1 관심 영역으로 설정할 수 있다. 프로세싱 디바이스(2000)는 복원 영상으로부터 식별된 적어도 하나의 제2 CU 각각에 포함된 타겟 객체 이미지에 관한 바운딩 박스를 식별하고, 식별된 바운딩 박스를 적어도 하나의 제2 관심 영역으로 설정할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 적어도 하나의 제1 관심 영역과 적어도 하나의 제2 관심 영역 간의 중첩도를 산출할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 IOU(Intersection Over Union) 방식을 이용하여, 적어도 하나의 제1 관심 영역과 적어도 하나의 제2 관심 영역 간의 중첩도를 계산할 수 있다.
프로세싱 디바이스(2000)는 적어도 하나의 제1 관심 영역으로부터 제1 특징 벡터를 추출하고, 적어도 하나의 제2 관심 영역으로부터 제2 특징 벡터를 추출할 수 있다. 프로세싱 디바이스(2000)는 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 산출할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 제1 특징 벡터와 제2 특징 벡터 간의 상관 관계(correlation)를 수치값으로 계산할 수 있다.
프로세싱 디바이스(2000)는 적어도 하나의 제1 관심 영역과 적어도 하나의 제2 관심 영역 간의 중첩도를 기설정된 제1 임계치와 비교하고, 제1 특징 벡터와 제2 특징 벡터 간의 유사도를 기설정된 제2 임계치와 비교함으로써, 타겟 객체가 정확하게 인식되었는지 여부를 판단할 수 있다.
단계 S840에서, IP 카메라 시스템(100)은 단계 S830의 인식 결과에 기초하여, 타겟 객체가 인식되지 않은 미인식 CU를 결정한다. 일 실시예에서, 프로세싱 디바이스(2000)는 단계 S830에서 수행된 비교의 결과, 복원 영상으로부터 식별된 적어도 하나의 제2 CU 중 중첩도가 제1 임계치 이하이고, 유사도가 제2 임계치 이하인 CU를 식별하고, 식별된 CU를 타겟 객체가 정상적으로 인식되지 않은 미인식 CU로 결정할 수 있다.
단계 S850에서, IP 카메라 시스템(100)은 미인식 CU의 압축률을 조정한다(adjust). 일 실시예에서, 프로세싱 디바이스(2000)는 미인식 CU 압축률을 단계 S810에서 복원 영상의 압축률의 값 보다 낮은 값으로 변경할 수 있다.
도 9는 본 개시의 일 실시예에 따른 디바이스가 영상 프레임(900)으로부터 타겟 객체(910)를 인식하고, 인식된 타겟 객체(910)로부터 특징 벡터를 추출하는 방법을 도시한 도면이다.
본 개시에서 ‘디바이스’는 IP 카메라 시스템(100) 또는 모바일 디바이스(300)를 포함할 수 있다. 이하에서는, 설명의 편의를 위하여 디바이스의 일 예시로서, IP 카메라 시스템(100)이 동작 주체인 경우를 기준으로 설명한다. 이하에서 설명된 동작 또는 기능은 모바일 디바이스(300)에서도 동일하게 수행될 수 있다.
도 9를 참조하면, IP 카메라 시스템(100)의 프로세싱 디바이스(2000, 도 1a 참조)는 객체 인식 모듈(2310)을 이용하여 영상 프레임(900)으로부터 타겟 객체(910)를 인식할 수 있다. 영상 프레임(900)은 동적 영상을 구성하는 복수의 프레임(frame) 중 하나일 수 있다. 타겟 객체는 예를 들어, 사람의 얼굴, 헤어 스타일, 옷 차림, 또는 자세(posture) 일 수 있으나, 이에 한정되지 않는다. 도 9에 도시된 실시예에서, 타겟 객체(910)는 사람의 자세일 수 있다.
객체 인식 모듈(2310)은 예를 들어, 컨볼루션 신경망 모델을 통해 학습된 모델 파라미터를 이용는 학습(training)을 수행함으로써, 영상 프레임(900)으로부터 타겟 객체(910)를 검출할 수 있다. 그러나, 객체 인식 모듈(2310)이 전술한 방법을 이용하여 타겟 객체(910)를 검출하는 것으로 한정되지는 않는다. 일 실시예에서, 객체 인식 모듈(2310)은 순환 신경망 모델(Recurrent Neural Network; RNN), SVM(Support Vector Machine), 선형 회귀(linear regression), 로지스틱 회귀(logistic regression), 나이브 베이즈 분류(Naive Bayes), 랜덤 포레스트(random forest), decision tree, 또는 k-nearest neighbor algorithm 중 적어도 하나를 포함하는 인공 지능 모델을 이용하여 영상 프레임(900)으로부터 타겟 객체(910)를 인식할 수 있다.
일 실시예에서, 프로세싱 디바이스(2000)는 객체 인식 모듈(2310)을 이용하여, 영상 프레임(900)에서 검출된 타겟 객체(910)를 포함하는 바운딩 박스를 식별할 수 있다. 프로세싱 디바이스(2000)는 식별된 바운딩 박스를 관심 영역(R910)으로 설정할 수 있다.
프로세싱 디바이스(2000)는 특징 벡터 추출 모듈(2320)을 이용하여, 관심 영역(R910)에 포함된 타겟 객체(910)의 이미지로부터 특징 벡터를 추출할 수 있다. 일 실시예에서, 프로세싱 디바이스(2000)는 관심 영역(R910) 내의 타겟 객체 이미지로부터 적어도 하나의 키 포인트(key-points)(KP1 내지 KPn)를 식별하고, 식별된 적어도 하나의 키 포인트(KP1 내지 KPn) 각각에 관한 좌표값을 추출하며, 추출된 적어도 하나의 좌표값을 기설정된 규칙에 따라 특징값(feature value)으로 변환할 수 있다. 프로세싱 디바이스(2000)는 변환된 특징값을 이용하여 특징 벡터를 획득할 수 있다.
도 9에 도시된 실시예에서, 프로세싱 디바이스(2000)는 특징 벡터 추출 모듈(2320)을 이용하여 사람의 자세를 나타낼 수 있는 대표 값으로서 제1 키 포인트(KP1) 내지 제n 키 포인트(KPn)를 식별하고, 식별된 제1 키 포인트(KP1) 내지 제n 키 포인트(KPn)를 각각 특징값으로 변환하며, 변환된 특징값을 이용하여 특징 벡터를 생성할 수 있다.
다른 실시예에서, 특징 벡터 추출 모듈(2320)은 사람의 헤어 스타일(예를 들어 머리의 색깔, 머리의 길이 등), 옷 색깔, 또는 옷 스타일(예를 들어, 티셔츠, 청바지, 원피스, 치마 등) 각각에 따라 프리셋 값(preset value)을 저장하고 있을 수 있다. 프로세싱 디바이스(2000)는 특징 벡터 추출 모듈(2320)을 이용하여, 타겟 객체 이미지로부터 헤어 스타일, 또는 옷 차림에 관한 프리셋 값을 획득하고, 획득된 프리셋 값을 이용하여 특징 벡터를 추출할 수 있다.
본 개시를 통해 설명된 IP 카메라 시스템(100)에 의해 실행되는 프로그램은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 프로그램은 컴퓨터로 읽을 수 있는 명령어들을 수행할 수 있는 모든 시스템에 의해 수행될 수 있다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령어(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다.
소프트웨어는, 컴퓨터로 읽을 수 있는 저장 매체(computer-readable storage media)에 저장된 명령어를 포함하는 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체로는, 예를 들어 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
컴퓨터로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 명세서에 개시된 실시예들에 따른 프로그램은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다.
컴퓨터 프로그램 제품은 소프트웨어 프로그램, 소프트웨어 프로그램이 저장된 컴퓨터로 읽을 수 있는 저장 매체를 포함할 수 있다. 예를 들어, 컴퓨터 프로그램 제품은 디바이스의 제조사 또는 전자 마켓(예를 들어, 구글 플레이 스토어, 앱 스토어)을 통해 전자적으로 배포되는 소프트웨어 프로그램 형태의 상품(예를 들어, 다운로드 가능한 애플리케이션(downloadable application))을 포함할 수 있다. 전자적 배포를 위하여, 소프트웨어 프로그램의 적어도 일부는 저장 매체에 저장되거나, 임시적으로 생성될 수 있다. 이 경우, 저장 매체는 제조사의 서버, 전자 마켓의 서버, 또는 소프트웨어 프로그램을 임시적으로 저장하는 중계 서버의 저장매체가 될 수 있다.
컴퓨터 프로그램 제품은, 서버 및 디바이스로 구성되는 시스템에서, 서버의 저장매체 또는 디바이스의 저장매체를 포함할 수 있다. 또는, 서버 또는 디바이스와 통신 연결되는 제3의 디바이스(예, 스마트폰)가 존재하는 경우, 컴퓨터 프로그램 제품은 제3의 디바이스의 저장매체를 포함할 수 있다. 또는, 컴퓨터 프로그램 제품은 서버로부터 디바이스 또는 제3 디바이스로 전송되거나, 제3 디바이스로부터 디바이스로 전송되는 소프트웨어 프로그램 자체를 포함할 수 있다.
이 경우, 서버, 디바이스 및 제3 디바이스 중 하나가 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수 있다. 또는, 서버, 디바이스 및 제3 디바이스 중 둘 이상이 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 분산하여 실시할 수 있다.
예를 들면, 서버가 서버에 저장된 컴퓨터 프로그램 제품을 실행하여, 서버와 통신 연결된 디바이스가 개시된 실시예들에 따른 방법을 수행하도록 제어할 수 있다.
또 다른 예로, 제3 디바이스가 컴퓨터 프로그램 제품을 실행하여, 제3 디바이스와 통신 연결된 디바이스가 개시된 실시예에 따른 방법을 수행하도록 제어할 수 있다.
제3 디바이스가 컴퓨터 프로그램 제품을 실행하는 경우, 제3 디바이스는 서버로부터 컴퓨터 프로그램 제품을 다운로드하고, 다운로드된 컴퓨터 프로그램 제품을 실행할 수 있다. 또는, 제3 디바이스는 프리로드(pre-loaded)된 상태로 제공된 컴퓨터 프로그램 제품을 실행하여 개시된 실시예들에 따른 방법을 수행할 수도 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 컴퓨터 시스템 또는 모듈 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (15)

  1. 디바이스가 영상을 처리(processing)하는 방법에 있어서,
    적어도 하나의 이미징 센서로부터 원본 영상(raw image)을 획득하는 단계;
    상기 원본 영상을 기설정된 압축률로 압축하고, 부호화 및 복호화함으로써 복원 영상을 획득하는 단계;
    상기 원본 영상으로부터 타겟 객체(target object) 및 상기 타겟 객체를 포함하는 제1 관심 영역을 인식하고, 상기 원본 영상으로부터 인식된 타겟 객체로부터 제1 특징 벡터(feature vector)를 추출(extract)하는 단계;
    상기 복원 영상으로부터 타겟 객체 및 상기 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 상기 복원 영상으로부터 인식된 타겟 객체로부터 제2 특징 벡터를 추출하는 단계;
    상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도 및 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계; 및
    상기 타겟 객체 인식 여부에 따라 압축률을 조정하는 단계;
    를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계는,
    상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도를 산출하는 단계;
    상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도를 산출하는 단계;
    상기 산출된 중첩도를 기설정된 제1 임계치와 비교하고, 상기 산출된 유사도를 기설정된 제2 임계치와 비교하는 단계; 및
    비교 결과에 기초하여, 상기 복원 영상으로부터 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계;
    를 포함하는, 방법.
  3. 제2 항에 있어서,
    상기 압축률을 조정하는 단계는,
    상기 중첩도가 상기 제1 임계치 이하이거나 또는 상기 유사도가 상기 제2 임계치 이하인 경우, 상기 기설정된 압축률 보다 낮은 값으로 상기 압축률의 값을 변경하는, 방법.
  4. 제3 항에 있어서,
    상기 변경된 압축률로 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 상기 복원 영상을 획득하는 단계, 상기 복원 영상으로부터 상기 타겟 객체를 인식하고, 상기 제2 특징 벡터를 추출하는 단계, 상기 중첩도를 산출하는 단계, 상기 유사도를 산출하는 단계, 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계 및 상기 압축률을 조정하는 단계를 반복적으로 수행하는, 방법.
  5. 제2 항에 있어서,
    상기 압축률을 조정하는 단계는,
    상기 산출된 중첩도가 상기 제1 임계치를 초과하고, 상기 산출된 유사도가 상기 제2 임계치를 초과하는 경우, 상기 복원 영상을 획득하는데 이용된 상기 압축률을 최종 압축률로 결정하는, 방법.
  6. 제2 항에 있어서,
    상기 중첩도를 산출하는 단계는,
    상기 원본 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제1 관심 영역의 제1 위치 좌표값을 획득하는 단계;
    상기 복원 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제2 관심 영역의 제2 위치 좌표값을 획득하는 단계; 및
    상기 제1 위치 좌표값과 상기 제2 위치 좌표값을 이용하여 상기 제1 타겟 영역과 상기 제2 관심 영역이 겹치는 정도인 상기 중첩도를 산출하는 단계;
    를 포함하는, 방법.
  7. 제1 항에 있어서,
    상기 복원 영상은 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 획득되고,
    상기 압축률은 상기 영상 압축 표준 규격의 양자화 파라미터(Quantization Parameter; QP)에 의해 결정되는, 방법.
  8. 영상을 처리하는 디바이스에 있어서,
    객체를 촬영함으로써 원본 영상을 획득하는 이미징 센서;
    상기 원본 영상을 기설정된 압축률로 압축하고 부호화함으로써 부호화된 영상 데이터를 생성하는 인코딩 모듈 및 상기 부호화된 영상 데이터를 복호화함으로써 복원 영상을 생성하는 디코딩 모듈을 포함하는 인코더;
    상기 원본 영상 및 상기 복원 영상을 각각 수신하는 네트워크 인터페이스;
    하나 이상의 명령어들(instructions)을 포함하는 프로그램을 저장하는 메모리; 및
    상기 메모리에 저장된 프로그램의 하나 이상의 명령어들을 실행하는 프로세서;
    를 포함하고,
    상기 프로세서는,
    상기 원본 영상으로부터 타겟 객체(target object) 및 상기 타겟 객체를 포함하는 제1 관심 영역을 인식하고, 상기 원본 영상으로부터 인식된 타겟 객체로부터 제1 특징 벡터(feature vector)를 추출(extract)하고,
    상기 복원 영상으로부터 타겟 객체 및 상기 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 상기 복원 영상으로부터 인식된 타겟 객체로부터 제2 특징 벡터를 추출하고,
    상기 제1 관심 영역과 상기 2 관심 영역 간의 중첩도 및 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하고,
    상기 타겟 객체 인식 여부에 따라 압축률을 조정하는, 디바이스.
  9. 제8 항에 있어서,
    상기 프로세서는,
    상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도를 산출하고,
    상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도를 산출하고,
    상기 산출된 중첩도를 기설정된 제1 임계치와 비교하고, 상기 산출된 유사도를 기설정된 제2 임계치와 비교하며,
    비교 결과에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는, 디바이스.
  10. 제9 항에 있어서,
    상기 프로세서는,
    상기 중첩도가 상기 제1 임계치 이하이거나 또는 상기 유사도가 상기 제2 임계치 이하인 경우, 상기 기설정된 압축률 보다 낮은 값으로 상기 압축률의 값을 변경하는, 디바이스.
  11. 제10 항에 있어서,
    상기 프로세서는,
    상기 변경된 압축률로 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 상기 복원 영상을 획득하는 동작, 상기 복원 영상으로부터 상기 타겟 객체를 인식하고, 상기 제2 특징 벡터를 추출하는 동작, 상기 중첩도를 산출하는 동작, 상기 유사도를 산출하는 동작, 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 동작 및 상기 압축률을 조정하는 동작을 반복적으로 수행하는, 디바이스.
  12. 제9 항에 있어서,
    상기 프로세서는 상기 산출된 중첩도가 상기 제1 임계치를 초과하고, 상기 산출된 유사도가 상기 제2 임계치를 초과하는 경우, 상기 복원 영상을 생성하는데 이용된 상기 압축률을 최종 압축률로 결정하는, 디바이스.
  13. 제9 항에 있어서,
    상기 프로세서는,
    상기 원본 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제1 관심 영역의 제1 위치 좌표값을 획득하고,
    상기 복원 영상으로부터 상기 타겟 객체가 인식된 영역인 상기 제2 관심 영역의 제2 위치 좌표값을 획득하고,
    상기 제1 위치 좌표값과 상기 제2 위치 좌표값을 이용하여 상기 제1 타겟 영역과 상기 제2 관심 영역이 겹치는 정도인 상기 중첩도를 산출하는, 디바이스.
  14. 제8 항에 있어서,
    상기 복원 영상은 H.264/AVC 및 HEVC(H.265)를 포함하는 영상 압축 표준 규격 중 적어도 하나를 이용하여 상기 원본 영상을 압축하고, 부호화 및 복호화함으로써 획득되고,
    상기 압축률은 상기 영상 압축 표준 규격의 양자화 파라미터(Quantization Parameter; QP)에 의해 결정되는, 디바이스.
  15. 컴퓨터로 읽을 수 있는 저장 매체를 포함하는 컴퓨터 프로그램 제품(Computer Program Product)에 있어서,
    상기 저장 매체는
    적어도 하나의 이미징 센서로부터 원본 영상(raw image)을 획득하는 단계;
    상기 원본 영상을 기설정된 압축률로 압축하고, 부호화 및 복호화함으로써 복원 영상을 획득하는 단계;
    상기 원본 영상으로부터 타겟 객체(target object) 및 상기 타겟 객체를 포함하는 제1 관심 영역을 인식하고, 상기 인식된 타겟 객체로부터 제1 특징 벡터(feature vector)를 추출(extract)하는 단계;
    상기 복원 영상으로부터 타겟 객체 및 상기 타겟 객체를 포함하는 제2 관심 영역을 인식하고, 상기 인식된 타겟 객체로부터 제2 특징 벡터를 추출하는 단계;
    상기 제1 관심 영역과 상기 제2 관심 영역 간의 중첩도 및 상기 제1 특징 벡터와 상기 제2 특징 벡터 간의 유사도에 기초하여, 상기 복원 영상으로부터 상기 타겟 객체가 정상적으로 인식되었는지 여부를 판단하는 단계; 및
    상기 타겟 객체 인식 여부에 따라 압축률을 조정하는 단계;
    를 포함하는, 디바이스가 수행하는 명령어들(instructions)을 포함하는 컴퓨터 프로그램 제품.
PCT/KR2021/007329 2020-06-19 2021-06-11 영상을 처리하는 디바이스 및 그 동작 방법 WO2021256781A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/081,195 US20230119685A1 (en) 2020-06-19 2022-12-14 Device for processing image and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200074968A KR20210157100A (ko) 2020-06-19 2020-06-19 영상을 처리하는 디바이스 및 그 동작 방법
KR10-2020-0074968 2020-06-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/081,195 Continuation US20230119685A1 (en) 2020-06-19 2022-12-14 Device for processing image and operating method thereof

Publications (1)

Publication Number Publication Date
WO2021256781A1 true WO2021256781A1 (ko) 2021-12-23

Family

ID=79178142

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/007329 WO2021256781A1 (ko) 2020-06-19 2021-06-11 영상을 처리하는 디바이스 및 그 동작 방법

Country Status (3)

Country Link
US (1) US20230119685A1 (ko)
KR (1) KR20210157100A (ko)
WO (1) WO2021256781A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11908167B1 (en) * 2022-11-04 2024-02-20 Osom Products, Inc. Verifying that a digital image is not generated by an artificial intelligence

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101060528B1 (ko) * 2011-05-06 2011-08-30 웅진보안시스템(주) 보안시스템으로 적용되는 영상처리 시스템 및 그 운영방법
KR101523740B1 (ko) * 2014-01-03 2015-05-28 (주)유디피 공간 매핑을 이용한 객체 추적 장치 및 방법
KR101653223B1 (ko) * 2010-03-12 2016-09-02 주식회사 케이티 영상 품질 조절 시스템 및 방법
KR20170068499A (ko) * 2014-10-03 2017-06-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 관심 영역 내의 적응형 양자화

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101653223B1 (ko) * 2010-03-12 2016-09-02 주식회사 케이티 영상 품질 조절 시스템 및 방법
KR101060528B1 (ko) * 2011-05-06 2011-08-30 웅진보안시스템(주) 보안시스템으로 적용되는 영상처리 시스템 및 그 운영방법
KR101523740B1 (ko) * 2014-01-03 2015-05-28 (주)유디피 공간 매핑을 이용한 객체 추적 장치 및 방법
KR20170068499A (ko) * 2014-10-03 2017-06-19 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 관심 영역 내의 적응형 양자화

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HENG, WEN ET AL.: "How to Assess the Quality of Compressed Surveillance Videos Using Face Recognition", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 29, no. 8, 22 August 2018 (2018-08-22), pages 2229 - 2243, XP011738144, DOI: 10.1109/TCSVT.2018.2866701 *

Also Published As

Publication number Publication date
KR20210157100A (ko) 2021-12-28
US20230119685A1 (en) 2023-04-20

Similar Documents

Publication Publication Date Title
WO2020013592A1 (en) Improved point cloud compression via color smoothing of point cloud prior to texture video generation
WO2019132518A1 (en) Image acquisition device and method of controlling the same
WO2019074252A1 (en) METHOD AND ELECTRONIC DEVICE FOR PROCESSING A CAMERA-ACQUIRED RAW IMAGE USING AN EXTERNAL ELECTRONIC DEVICE
WO2022071695A1 (ko) 영상을 처리하는 디바이스 및 그 동작 방법
WO2019017641A1 (ko) 전자 장치 및 전자 장치의 이미지 압축 방법
WO2019066450A1 (ko) 외부 전자 장치에서 생성된 정보를 이용하여 이미지 데이터를 처리하는 방법 및 전자 장치
WO2021101243A1 (en) Apparatus and method for using ai metadata related to image quality
WO2019164185A1 (en) Electronic device and method for correcting image corrected in first image processing scheme in external electronic device in second image processing scheme
WO2015147508A1 (ko) 깊이 정보를 이용한 비디오 부호화 방법 및 장치
WO2020013631A1 (ko) 3차원 영상을 부호화 하는 방법 및 장치, 및 3차원 영상을 복호화 하는 방법 및 장치
WO2022114731A1 (ko) 딥러닝 기반 비정상 행동을 탐지하여 인식하는 비정상 행동 탐지 시스템 및 탐지 방법
WO2019156428A1 (en) Electronic device and method for correcting images using external electronic device
WO2021256781A1 (ko) 영상을 처리하는 디바이스 및 그 동작 방법
WO2022031041A1 (ko) 단말에 3d 캐릭터 이미지를 제공하는 엣지 데이터 네트워크 및 그 동작 방법
WO2022071647A1 (en) Video quality assessment method and apparatus
WO2022225375A1 (ko) 병렬처리 파이프라인을 이용한 다중 dnn 기반 얼굴 인식 방법 및 장치
WO2019160262A1 (ko) 전자 장치 및 전자 장치의 이미지 처리 방법
WO2022045613A1 (ko) 비디오 품질 향상 방법 및 장치
WO2022225102A1 (ko) Ai 기반 객체인식을 통한 감시 카메라의 셔터값 조절
WO2022186443A1 (ko) 전자 장치에서 이미지의 압축 품질에 기반한 이미지 보정 방법 및 장치
WO2021034160A1 (ko) 매트릭스 인트라 예측 기반 영상 코딩 장치 및 방법
WO2022131655A1 (ko) 영상 처리 장치 및 이에 의한 멀티 프레임의 처리 방법
WO2024085352A1 (ko) 인공 지능 모델의 학습을 위한 훈련용 데이터를 생성하는 방법 및 전자 장치
US20200252637A1 (en) Moving image processor, moving image processing system, and moving image processing method
WO2014003507A1 (ko) 영상 부호화기의 전처리 장치와 3차원 얼굴 생성 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21826649

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21826649

Country of ref document: EP

Kind code of ref document: A1