KR102097753B1 - Method and Apparatus for Processing Video for Monitoring Video - Google Patents
Method and Apparatus for Processing Video for Monitoring Video Download PDFInfo
- Publication number
- KR102097753B1 KR102097753B1 KR1020140125827A KR20140125827A KR102097753B1 KR 102097753 B1 KR102097753 B1 KR 102097753B1 KR 1020140125827 A KR1020140125827 A KR 1020140125827A KR 20140125827 A KR20140125827 A KR 20140125827A KR 102097753 B1 KR102097753 B1 KR 102097753B1
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- channel
- kernel
- address information
- specific address
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
영상 감시를 위한 영상 처리방법 및 장치를 개시한다.
중앙 처리유닛에서 하나의 커널로 다채널 영상 데이터를 획득하고, 다채널 영상 데이터를 그래픽 처리유닛에서 채널별로 특정 주소정보를 할당하여 디코딩하고, 디코딩된 원본영상을 중앙 처리유닛으로 복사하여 출력하는 영상 감시를 위한 영상 처리방법 및 장치에 관한 것이다.Disclosed is a video processing method and apparatus for video surveillance.
The central processing unit acquires multi-channel image data with one kernel, decodes multi-channel image data by assigning specific address information for each channel in the graphic processing unit, and copies and outputs the decoded original image to the central processing unit. It relates to an image processing method and apparatus for monitoring.
Description
본 실시예는 그래픽 처리유닛을 이용하여 영상 감시를 위한 영상 처리성능을 향상시키는 영상 처리방법 및 그를 위한 장치에 관한 것이다. The present embodiment relates to an image processing method and an apparatus therefor for improving image processing performance for image monitoring using a graphic processing unit.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information for this embodiment, and do not constitute a prior art.
최근 영상 보안의 발달로 인해 영상 감시 시스템은 영상 개선, 분석, 추적, 감시 등의 다양한 분야에 활용되고 있다. 특히, 영상 관제 시스템(VMS: Video Management System)는 네크워크 카메라, 비디오 서버 등 네트워크 제품을 통합하여 감시, 녹화, 제어할 수 있는 소프트웨어입니다. 영상 관제 시스템에서 네트워크를 통하여 전송된 카메라의 영상은 H.264 코덱(Codec)을 활용하여 압축되어 있으며, 영상을 화면에 디스플레이하기 위해서는 H.264 디코딩(Decoding) 과정이 필요하다.Due to the recent development of video security, video surveillance systems are used in various fields such as video improvement, analysis, tracking, and surveillance. In particular, a video management system (VMS) is a software that can monitor, record, and control network products such as network cameras and video servers. The video of the camera transmitted through the network in the video control system is compressed by using the H.264 codec, and H.264 decoding is required to display the video on the screen.
또한, 지능형 알고리즘 연산을 위해서는 디코딩된 원본 데이터(Raw Data)가 필요하며, H.264 디코딩에는 많은 컴퓨팅 자원을 필요로 한다. 다수의 카메라 영상을 모니터링하는 영상 감시 시스템에서는 모니터링 영상의 채널 수가 증가할수록 디코딩을 위한 고성능의 중앙 제어 유닛의 자원이 필요하다. In addition, decoded raw data is required for intelligent algorithm operation, and H.264 decoding requires a lot of computing resources. In an image surveillance system that monitors multiple camera images, as the number of channels of the monitoring image increases, a high-performance central control unit resource for decoding is required.
일반적인 영상 감시 시스템에서 영상을 처리하기 위한 장치는 영상 데이터의 채널별로 복수 개의 커널을 생성하고, 각 커널은 순차적으로 메모리 정보를 생성 후 디코딩한 데이터를 순차적으로 각 커널로 전달한다. 복수 개의 커널은 중앙 처리유닛에 부하를 증가시키고, 복수 개의 커널을 구동하기 위해서는 고사량의 컴퓨팅 장치가 요구된다. In a general video surveillance system, a device for processing an image generates a plurality of kernels for each channel of the image data, and each kernel sequentially generates memory information and sequentially delivers the decoded data to each kernel. The plurality of kernels increases the load on the central processing unit, and a high-capacity computing device is required to drive the plurality of kernels.
본 실시예는 중앙 처리유닛에서 하나의 커널로 다채널 영상 데이터를 획득하고, 다채널 영상 데이터를 그래픽 처리유닛에서 채널별로 특정 주소정보를 할당하여 디코딩하고, 디코딩된 원본영상을 중앙 처리유닛으로 복사하여 출력하는 영상 감시를 위한 영상 처리방법 및 장치를 제공하는 데 주된 목적이 있다.This embodiment obtains multi-channel image data with one kernel from the central processing unit, decodes multi-channel image data by assigning specific address information for each channel in the graphics processing unit, and copies the decoded original image to the central processing unit. The main purpose is to provide an image processing method and apparatus for monitoring video output.
본 실시예의 일 측면에 의하면, 영상 감시를 위한 영상 처리장치에서 영상을 처리하는 방법에 있어서, 하나의 커널로부터 복수의 채널에 대한 영상 데이터를 획득하는 획득과정; 상기 영상 데이터의 각각의 채널마다 할당된 특정 주소정보에 대한 채널 프레임 동기화를 수행하는 메모리 관리과정; 상기 영상 데이터를 디코딩하여 원본영상 데이터로 변환하는 디코딩 과정; 상기 원본영상 데이터에 상기 특정 주소정보를 재설정하고, 상기 원본영상 데이터를 상기 하나의 커널로 전송하는 전송과정; 및 상기 하나의 커널에서 상기 각각의 채널별로 상기 원본영상 데이터를 출력하는 출력과정을 포함하는 것을 특징으로 하는 영상 감시를 위한 영상 처리방법을 제공한다.According to an aspect of the present embodiment, a method of processing an image in an image processing apparatus for monitoring an image includes: an acquisition process of obtaining image data for a plurality of channels from one kernel; A memory management process for performing channel frame synchronization for specific address information allocated to each channel of the image data; A decoding process of decoding the image data and converting it into original image data; A transmission process of resetting the specific address information in the original image data and transmitting the original image data to the one kernel; And an output process of outputting the original image data for each channel in the one kernel.
또한, 본 실시예의 다른 측면에 의하면, 하나의 커널로부터 복수의 채널에 대한 영상 데이터를 획득하고, 상기 영상 데이터의 각각의 채널마다 할당된 특정 주소정보에 대한 채널 프레임 동기화를 수행하는 메모리 관리부; 상기 영상 데이터를 디코딩하여 원본영상 데이터로 변환하는 디코딩부; 상기 원본영상 데이터에 상기 특정 주소정보를 재설정하고, 상기 원본영상 데이터를 상기 하나의 커널로 전송하는 데이터 관리부; 및 상기 하나의 커널에서 상기 각각의 채널별로 상기 원본영상 데이터를 출력하는 원본영상 출력부를 포함하는 것을 특징으로 하는 영상 감시를 위한 영상 처리장치를 제공한다.In addition, according to another aspect of the present embodiment, a memory management unit for acquiring image data for a plurality of channels from one kernel and performing channel frame synchronization for specific address information allocated to each channel of the image data; A decoding unit for decoding the image data and converting it into original image data; A data management unit that resets the specific address information to the original image data and transmits the original image data to the one kernel; And an original image output unit that outputs the original image data for each channel in the one kernel.
이상에서 설명한 바와 같이 본 실시예에 의하면, 영상 처리장치의 중앙 처리유닛에서 하나의 커널을 이용하여 영상 데이터를 처리함으로써, 영상 처리장치가 안정적으로 동작할 수 있고, 영상 처리 성능을 향상시킬 수 있는 효과가 있다. 또한, 영상 처리장치는 영상 데이터 획득 후 대부분의 과정이 그래픽 처리유닛에서 처리되기 때문에 중앙 처리유닛의 부하를 감소시킬 수 있어 전체 시스템의 성능을 높일 수 있는 효과가 있다. As described above, according to the present embodiment, the image processing apparatus can stably operate and improve image processing performance by processing image data using one kernel in the central processing unit of the image processing apparatus. It works. In addition, the image processing apparatus has an effect of increasing the performance of the entire system by reducing the load on the central processing unit since most of the processes after image data acquisition are processed in the graphic processing unit.
도 1은 본 실시예에 따른 영상 감시를 위한 영상 처리장치를 개략적으로 나타낸 블록 구성도이다.
도 2는 본 실시예에 따른 영상 감시를 위해 중앙 처리유닛 및 그래픽 처리유닛을 이용하여 다채널 영상을 처리하는 동작을 설명하기 위한 예시도이다.
도 3은 본 실시예에 따른 영상 감시를 위해 중앙 처리유닛 및 그래픽 처리유닛을 이용하여 다채널 영상을 처리하는 방법을 설명하기 위한 순서도이다.
도 4는 본 실시예에 따른 다채널 영상 처리 시 중앙 처리유닛의 활용률을 나타낸 그래프이다. 1 is a block diagram schematically showing an image processing apparatus for video surveillance according to the present embodiment.
2 is an exemplary view for explaining an operation of processing a multi-channel image using a central processing unit and a graphics processing unit for video surveillance according to the present embodiment.
3 is a flowchart for explaining a method of processing a multi-channel image using a central processing unit and a graphics processing unit for image monitoring according to the present embodiment.
4 is a graph showing the utilization rate of the central processing unit in multi-channel image processing according to the present embodiment.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, this embodiment will be described in detail with reference to the accompanying drawings.
도 1은 본 실시예에 따른 영상 감시를 위한 영상 처리장치를 개략적으로 나타낸 블록 구성도이다. 1 is a block diagram schematically showing an image processing apparatus for video surveillance according to the present embodiment.
본 실시예에 따른 영상 처리장치(100)는 영상 획득부(110), 중앙 처리유닛(CPU: Central Processing Unit, 120), 커널부(130), 그래픽 처리유닛(GPU: Graphic Processing Unit, 140), 메모리 관리부(150), 디코딩부(160), 데이터 관리부(170) 및 원본영상 출력부(180)를 포함한다. 도 1에 도시된 영상 처리장치(100)는 일 실시예에 따른 것으로서, 도 1에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 영상 처리장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. The
영상 획득부(110)는 카메라, CCTV 등의 영상 촬영장치(미도시)로부터 영상 데이터를 획득한다. 영상 획득부(110)는 복수 개의 영상 촬영장치에서 각각 촬영된 촬영영상에 대한 영상 데이터를 복수 개의 채널로 획득한다. 여기서, 영상 획득부(110)는 영상 촬영장치로부터 촬영된 촬영영상이 저장된 영상 저장장치(미도시)로부터 영상 데이터를 획득할 수 있다. The image acquisition unit 110 acquires image data from an image capture device (not shown) such as a camera or CCTV. The image acquiring unit 110 acquires image data for each of the captured images captured by the plurality of image photographing devices through a plurality of channels. Here, the image acquisition unit 110 may acquire image data from an image storage device (not shown) in which the captured image captured by the image photographing apparatus is stored.
본 실시예에 따른 영상 획득부(110)는 복수 개의 채널(n 개의 다채널) 각각에 대한 영상 데이터를 획득한다. 여기서, 복수 개의 채널 각각에 대한 영상 데이터는 소정의 코덱(Codec)으로 기 인코딩된 데이터를 의미한다. 영상 획득부(110)는 획득한 모든 채널에 대한 영상 데이터를 중앙 처리유닛(120)으로 전송한다. The image acquisition unit 110 according to the present embodiment acquires image data for each of a plurality of channels (n multi-channels). Here, the image data for each of the plurality of channels means data pre-encoded with a predetermined codec. The image acquisition unit 110 transmits image data for all acquired channels to the
중앙 처리유닛(120)은 영상 처리장치(100)의 중앙에서 모든 데이터를 처리하는 모듈로서, 사용자로부터 입력된 명령어를 해석, 연산하여 그 결과를 출력하는 기능을 수행한다. 본 실시예에 따른 중앙 처리유닛(120)은 영상 획득부(110)로부터 모든 채널에 대한 영상 데이터를 수신하여 하나의 커널부(130)로 저장되도록 하고, 커널부(130)에 저장된 영상 데이터를 그래픽 처리유닛(140)에 저장되도록 한다. The
커널부(130)는 중앙 처리유닛(120)의 제어에 근거하여 하나의 커널을 생성하고, 생성된 커널에 모든 채널에 대한 영상 데이터를 저장하고, 저장된 영상 데이터를 그래픽 처리유닛(140)으로 전송한다. The
커널부(130)는 하나의 커널을 생성하고, 생성된 커널 내에 각각의 채널별로 특정 주소정보를 할당하여 영상 데이터를 저장한다. 여기서, 특정 주소정보는 각각의 영상 데이터를 채널별로 구분하여 저장하기 위한 식별정보를 의미한다. The
커널부(130)는 특정 주소정보를 할당하여 저장된 영상 데이터를 그래픽 처리유닛(140)으로 전송하고, 저장된 영상 데이터를 삭제하여 중앙 처리장치(120)의 연산량을 감소시키는 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 저장된 영상 데이터의 쿠키 정보 또는 일부 정보(예: 채널별 특정 주소정보 등)만을 저장할 수 있다. The
한편, 커널부(130)는 그래픽 처리유닛(140)으로부터 디코딩된 원본영상 데이터를 수신하는 경우, 수신된 원본영상 데이터의 특정 주소정보에 근거하여 채널별로 원본영상 데이터를 구분하여 저장한다. Meanwhile, when receiving the decoded original image data from the
커널부(130)는 그래픽 처리유닛(140)으로부터 수신된 원본영상 데이터를 각각의 특정 주소정보를 이용하여 채널별로 구분하여 동기화함으로써, 원본영상 데이터에 대한 채널 혼선과 같은 문제가 발생하지 않는다. The
그래픽 처리유닛(140)은 영상 처리장치(100)의 중앙 처리유닛(120)과 연동하여 영상 처리장치(100)의 영상(그래픽)을 처리하는 모듈이다. 그래픽 처리유닛(140)은 중앙 처리유닛(120)로부터 영상 처리와 관련된 연산을 처리하여 중앙 처리유닛(120)의 부하가 감소되도록 한다. 또한, 그래픽 처리유닛(140)은 대량의 행렬과 벡터를 처리할 수 있으므로 이러한 연산을 사용하는 영상 처리에 적용될 수 있다. The
메모리 관리부(150)는 커널부(130)로부터 모든 채널에 대한 영상 데이터를 수신하고, 수신된 영상 데이터에 대한 채널 프레임 동기화를 수행한다. 더 자세히 설명하자면, 메모리 관리부(150)는 커널부(130)로부터 수신된 영상 데이터에 포함된 채널별 특정 주소정보를 추출하고, 채널별 특정 주소정보를 이용하여 각각의 영상 데이터가 혼동되지 않도록 채널 및 특정 주소정보에 대한 채널 프레임 동기화를 수행한다. The
메모리 관리부(150)는 수신된 모든 채널에 대한 영상 데이터를 기초로 각각의 채널별로 할당된 특정 주소정보에 대해 채널 및 특정 주소정보에 대한 채널 프레임 동기화하여 메모리 관리정보를 생성한다. 예를 들어, 메모리 관리부(150)는 3 개의 채널에 대한 영상 데이터를 수신하는 경우, 제1 채널에 할당된 제1 주소값, 제2 채널에 할당된 제2 주소값 및 제3 채널에 할당된 제3 주소값을 추출하여 동기화한 메모리 관리정보를 생성하여 저장한다. The
디코딩부(160)는 모든 채널에 대한 영상 데이터를 디코딩하여 원본영상 데이터로 변환한다. 본 실시예에 따른 디코딩부(160)는 기 인코딩된 소정의 코덱을 기반으로 디코딩을 수행한다. 여기서, 디코딩부(160)는 모든 채널에 대한 영상 데이터에 블록을 설정하고, 블록 단위의 비트 스트림을 디코딩하는 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 영상 데이터를 원본영상 데이터로 변환할 수 있다면, 그 어떤 방식으로도 디코딩을 수행할 수 있다. The
데이터 관리부(170)는 디코딩된 원본영상 데이터를 데이터 동기화하여 저장하고, 원본영상 데이터를 커널부(140)로 전송한다. The
본 실시예에 따른 데이터 관리부(170)는 기 생성된 메모리 관리정보에 근거하여 원본영상 데이터의 특정 주소정보를 재설정하고, 각각의 특정 주소정보마다 독립 스레드(Thread) 정보를 추가로 설정하여 저장한다. 여기서, 독립 스레드 정보는 원본영상 데이터가 그래픽 처리유닛(140)에서 중앙 처리유닛(120)으로 전송될 때 원본영상 데이터가 채널별로 혼동되지 않도록 설정된 스레드 정보를 의미한다. The
데이터 관리부(170)는 원본영상 데이터의 각각의 채널에 대한 특정 주소정보에 근거하여 각각의 채널별로 원본영상 데이터를 저장하고, 저장된 원본영상 데이터를 특정 주소정보를 기반으로 데이터 동기화하여 커널부(130)로 전송한다. 여기서, 데이터 관리부(170)는 원본영상 데이터의 특정 주소정보에 따라 저장되는 위치를 구분하여 저장되도록 커널부(130)로 전송한다. The
한편, 데이터 관리부(170)는 커널부(130)에서 원본영상 데이터를 특정 주소정보에 따라 분리하여 저장할 수 없는 경우, 원본영상 데이터에 대한 채널 혼선이 되지 않도록 해상도 정보, 화소값 정보, GOP(Group Of Pictures) 등을 기준으로 적용하여 유동적으로 원본영상 데이터를 구분하여 커널부(130)에서 저장되도록 한다. On the other hand, if the
원본영상 출력부(180)는 커널부(130)에 저장된 원본영상 데이터를 출력하여 영상 감시가 수행되도록 한다. 원본영상 출력부(180)는 커널부(130)에 저장된 원본영상 데이터를 채널별로 출력하여 각각의 원본영상 데이터 내에서 객체 또는 이벤트를 검출하기 위한 영상 감시가 수행되도록 한다. The original
도 2는 본 실시예에 따른 영상 감시를 위해 중앙 처리유닛 및 그래픽 처리유닛을 이용하여 다채널 영상을 처리하는 동작을 설명하기 위한 예시도이다. 2 is an exemplary view for explaining an operation of processing a multi-channel image using a central processing unit and a graphics processing unit for video surveillance according to the present embodiment.
영상 획득부(110)는 다채널 영상 데이터를 획득한다. 예컨대, 영상 획득부(110)는 n 개의 채널 각각에 대한 비디오 스트림을 다채널 영상 데이터로 획득한다(210). The image acquisition unit 110 acquires multi-channel image data. For example, the image acquisition unit 110 acquires a video stream for each of the n channels as multi-channel image data (210).
중앙 처리유닛(120)은 영상 획득부(110)로부터 수신된 다채널 영상 데이터의 채널마다 특정 주소정보를 설정하고, CPU 메모리 영역(하나의 커널)의 특정 주소정보에 대응하는 복수 개의 스트림 각각에 채널별로 다채널 영상 데이터를 저장한다(220). The
중앙 처리유닛(120)은 CPU 메모리 영역에 저장된 다채널 영상 데이터를 그래픽 처리유닛(140)의 GPU 메모리로 복사하고, 그래픽 처리유닛(140)은 다채널 영상 데이터에 대한 채널 프레임 동기화를 수행하여 각 채널별 영상 데이터와 각각의 영상 데이터에 대응하는 특정 주소정보를 관리하기 위한 메모리 관리정보를 생성한다. The
그래픽 처리유닛(140)은 다채널 영상 데이터를 디코딩하고, 디코딩된 원본영상 데이터의 각각의 채널별 특정 주소정보를 재설정하고, 각각의 특정 주소정보마다 독립 스레드 정보를 추가로 설정하여 원본영상 데이터를 저장한다(230). 여기서, 독립 스레드 정보는 원본영상 데이터가 그래픽 처리유닛(140)에서 중앙 처리유닛(120)으로 전송될 때 원본영상 데이터가 채널별로 혼동되지 않도록 설정된 스레드 정보를 의미한다. The
그래픽 처리유닛(140)은 원본영상 데이터의 각각의 채널이 혼동되지 않도록 원본영상 데이터를 GPU 메모리에서 CPU 메모리로 복사하면서 특정 주소정보 기반의 데이터 동기화를 수행한다(240). 중앙 처리유닛(120)은 각각의 채널별로 특정 주소정보에 대응하는 CPU 메모리 영역에 저장된 원본영상 데이터를 각각의 채널별로 출력한다(250).The
도 3은 본 실시예에 따른 영상 감시를 위해 중앙 처리유닛 및 그래픽 처리유닛을 이용하여 다채널 영상을 처리하는 방법을 설명하기 위한 순서도이다. 3 is a flowchart for explaining a method of processing a multi-channel image using a central processing unit and a graphics processing unit for image monitoring according to the present embodiment.
영상 처리장치(100)는 복수의 채널에 대한 영상 데이터를 획득한다(S310). 여기서, 복수 개의 채널 각각에 대한 영상 데이터는 소정의 코덱으로 기 인코딩된 데이터를 의미한다.The
영상 처리장치(100)는 획득한 영상 데이터의 각각의 채널마다 특정 주소정보를 설정하고, 중앙 처리유닛(120)의 하나의 커널에 특정 주소정보에 근거하여 채널별로 영상 데이터를 저장한다(S320). The
영상 처리장치(100)는 하나의 커널에 저장된 영상 데이터를 그래픽 처리유닛(140)의 GPU 메모리로 복사한다(S330).The
영상 처리장치(100)는 영상 데이터에 대한 채널 프레임 동기화를 수행하여 각 채널별 영상 데이터와 각각의 영상 데이터에 대응하는 특정 주소정보를 관리하기 위한 메모리 관리정보를 생성하고, 영상 데이터를 디코딩한다(S340). 여기서, 영상 처리장치(100)는 인코딩된 소정의 코덱을 기초로 영상 데이터를 디코딩하여 원본영상 데이터으로 변환한다. The
영상 처리장치(100)는 디코딩된 원본영상 데이터를 각각의 채널별로 분리하고(S350), 각각의 채널별 원본영상 데이터에 특정 주소정보를 재설정하여 데이터 동기화를 수행하여 중앙 처리유닛(120)의 커널로 원본영상 데이터를 복사한다(S360). The
영상 처리장치(100)는 커널에 저장된 원본영상 데이터를 각각의 채널별로 출력하고(S370), 출력된 원본영상 데이터를 이용하여 객체 또는 이벤트를 검출하기 위한 영상 감시를 수행한다(S380).The
도 3에서는 단계 S310 내지 단계 S380를 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 단계 S310 내지 단계 S380 중 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.Although FIG. 3 describes that steps S310 to S380 are sequentially executed, this is merely illustrative of the technical idea of the present embodiment, and those skilled in the art to which this embodiment belongs belongs to this embodiment. Since the sequence described in FIG. 3 may be changed and executed or one or more of steps S310 to S380 may be executed in parallel within a range that does not deviate from essential characteristics, various modifications and variations may be applied, and FIG. 3 is a time series sequence. It is not limited.
전술한 바와 같이 도 3에 기재된 본 실시예에 따른 영상 처리장치(100)의 동작은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 영상 처리장치(100)의 동작을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다. As described above, the operation of the
도 4는 본 실시예에 따른 다채널 영상 처리 시 중앙 처리유닛의 활용률을 나타낸 그래프이다. 4 is a graph showing the utilization rate of the central processing unit in multi-channel image processing according to the present embodiment.
도 4의 (a)는 일반적인 영상 처리장치에서 중앙 처리유닛만을 이용하여 영상 데이터를 디코딩하고, 디코딩된 원본영상 데이터를 출력하는 동작에 따른 중앙 처리유닛의 활용률을 나타낸 그래프이다. 도 4의 (a)에 도시된 바와 같이, 일반적인 영상 처리장치는 10 개 채널을 갖는 영상 데이터를 디코딩하는 경우, 중앙 처리유닛의 활용률은 지속적으로 상승하여 10 번째 채널의 영상 데이터를 처리하는 과정에서 약 100 %로 증가하게 된다. 4A is a graph showing the utilization rate of the central processing unit according to an operation of decoding image data using only the central processing unit and outputting the decoded original image data in a general image processing apparatus. As shown in FIG. 4 (a), when a general image processing apparatus decodes image data having 10 channels, the utilization rate of the central processing unit continues to rise to process image data of the 10th channel. It will increase to about 100%.
도 4의 (b)는 본 실시예에 따른 영상 처리장치(100)에서 중앙 처리유닛(120) 및 그래픽 처리유닛(140)을 이용하여 다채널 영상 데이터를 디코딩하고, 디코딩된 원본영상 데이터를 출력하는 동작에 따른 중앙 처리유닛(120)의 활용률을 나타낸 그래프이다. 도 4의 (a)에 도시된 바와 같이, 영상 처리장치(100)는 16 개 채널을 갖는 영상 데이터를 디코딩하는 경우, 중앙 처리유닛의 활용률은 16 개의 채널에 대한 영상 데이터를 디코딩하는 동안에도 약 10 % 정도를 일정하게 유지된다. 4 (b) decodes multi-channel image data using the
전술한 일반적인 영상 처리장치와 본 실시예에 따른 영상 처리장치(100)에 대한 중앙 처리유닛(120)의 활용률 및 디코딩에 따른 개선률을 나타낸 결과는 표 1과 같다. Table 1 shows the results of the utilization rate of the
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the present embodiment, and those skilled in the art to which this embodiment belongs may be able to make various modifications and variations without departing from the essential characteristics of the present embodiment. Therefore, the present embodiments are not intended to limit the technical spirit of the present embodiment, but to explain, and the scope of the technical spirit of the present embodiment is not limited by these embodiments. The protection scope of the present embodiment should be interpreted by the claims below, and all technical spirits within the equivalent range should be interpreted as being included in the scope of the present embodiment.
이상에서 설명한 바와 같이 본 실시예는 영상 감시 분야에 적용되어, 영상 처리장치가 안정적으로 동작할 수 있고, 영상 처리 성능을 향상시킬 수 있으며, 영상 처리장치에서 영상 데이터 획득 후 대부분의 과정이 그래픽 처리유닛에서 처리되기 때문에 중앙 처리유닛의 부하를 감소시킬 수 있어 전체 시스템의 성능을 높일 수 있는 효과를 발생하는 유용한 발명이다.As described above, the present embodiment is applied to the field of video surveillance, so that the image processing device can operate stably, improve the image processing performance, and after the image data is acquired by the image processing device, most of the process is graphic processing. Since it is processed in the unit, it is a useful invention that can reduce the load of the central processing unit and generate an effect that can increase the performance of the entire system.
100: 영상 처리장치 110: 영상 획득부
120: 중앙 처리유닛 130: 커널부
140: 그래픽 처리유닛 150: 메모리 관리부
160: 디코딩부 170: 데이터 관리부
180: 원본영상 출력부100: image processing apparatus 110: image acquisition unit
120: central processing unit 130: kernel unit
140: graphic processing unit 150: memory management unit
160: decoding unit 170: data management unit
180: original video output unit
Claims (6)
하나의 커널로부터 복수의 채널에 대한 영상 데이터를 획득하는 획득과정;
상기 영상 데이터의 각각의 채널에 대하여 상기 커널로부터 할당된 특정 주소정보를 추출하고, 채널별 특정 주소정보를 이용하여 상기 영상 데이터 각각에 대한 채널 및 상기 특정 주소정보에 대한 채널 프레임 동기화를 수행하여 메모리 관리정보를 생성하는 메모리 관리과정;
상기 영상 데이터를 디코딩하여 원본영상 데이터로 변환하는 디코딩 과정;
상기 메모리 관리정보에 근거하여 상기 원본영상 데이터에 상기 특정 주소정보를 재설정하고, 상기 원본영상 데이터를 상기 하나의 커널로 전송하는 전송과정; 및
상기 하나의 커널에서 상기 각각의 채널별로 상기 원본영상 데이터를 출력하는 출력과정
을 포함하는 것을 특징으로 하는 영상 감시를 위한 영상 처리방법.A method of processing an image in an image processing apparatus for video surveillance,
An acquisition process of acquiring image data for a plurality of channels from one kernel;
Memory is obtained by extracting specific address information allocated from the kernel for each channel of the image data, and performing channel frame synchronization for each channel of the image data and the specific address information using specific address information for each channel. A memory management process for generating management information;
A decoding process of decoding the image data and converting it into original image data;
A transmission process of resetting the specific address information in the original image data based on the memory management information and transmitting the original image data to the one kernel; And
Output process of outputting the original image data for each channel in the one kernel
Video processing method for video surveillance comprising a.
상기 획득과정은,
중앙 처리유닛(CPU: Central Processing Unit)에서 상기 복수의 채널마다 상기 특정 주소정보를 할당하고, 기 인코딩된 채널별 상기 영상 데이터를 그래픽 처리유닛(GPU: Graphic Processing Unit)의 GPU 메모리로 복사하는 것을 특징으로 하는 특징으로 하는 영상 감시를 위한 영상 처리방법.According to claim 1,
The acquisition process,
The central processing unit (CPU) allocates the specific address information for each of the plurality of channels, and copies the image data for each pre-encoded channel into the GPU memory of a graphic processing unit (GPU). Image processing method for video surveillance characterized by a feature.
상기 전송과정은,
상기 특정 주소정보마다 상기 원본영상 데이터의 채널 혼동을 방지하기 위한 독립 스레드(Thread) 정보를 추가로 설정하는 것을 특징으로 하는 영상 감시를 위한 영상 처리방법.According to claim 1,
The transmission process,
An image processing method for video surveillance, characterized in that additional independent thread information for preventing channel confusion of the original video data is additionally set for each specific address information.
상기 출력과정은,
상기 하나의 커널 내에 상기 특정 주소정보를 기반으로 상기 원본영상 데이터를 상기 채널별로 구분하여 저장하는 것을 특징으로 하는 영상 감시를 위한 영상 처리방법.According to claim 1,
The output process,
A video processing method for video surveillance, characterized in that the original video data is classified and stored for each channel based on the specific address information in the one kernel.
상기 영상 데이터를 디코딩하여 원본영상 데이터로 변환하는 디코딩부;
상기 메모리 관리정보에 근거하여 상기 원본영상 데이터에 상기 특정 주소정보를 재설정하고, 상기 원본영상 데이터를 상기 하나의 커널로 전송하는 데이터 관리부; 및
상기 하나의 커널에서 상기 각각의 채널별로 상기 원본영상 데이터를 출력하는 원본영상 출력부
를 포함하는 것을 특징으로 하는 영상 감시를 위한 영상 처리장치.
Acquiring image data for a plurality of channels from one kernel, extracting specific address information allocated from the kernel for each channel of the image data, and using the specific address information for each channel for each of the image data A memory management unit generating memory management information by performing channel frame synchronization for a channel and the specific address information;
A decoding unit for decoding the image data and converting it into original image data;
A data management unit that resets the specific address information to the original image data based on the memory management information and transmits the original image data to the one kernel; And
The original image output unit for outputting the original image data for each channel in the one kernel
Video processing apparatus for video surveillance comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140125827A KR102097753B1 (en) | 2014-09-22 | 2014-09-22 | Method and Apparatus for Processing Video for Monitoring Video |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140125827A KR102097753B1 (en) | 2014-09-22 | 2014-09-22 | Method and Apparatus for Processing Video for Monitoring Video |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160034638A KR20160034638A (en) | 2016-03-30 |
KR102097753B1 true KR102097753B1 (en) | 2020-04-06 |
Family
ID=55660257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140125827A KR102097753B1 (en) | 2014-09-22 | 2014-09-22 | Method and Apparatus for Processing Video for Monitoring Video |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102097753B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102124027B1 (en) * | 2020-03-17 | 2020-06-17 | (주)스마트링스 | Clouding system for multi-channel monitoring and object analysis based on big-data, and coluding service providing method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100505156B1 (en) * | 2003-08-12 | 2005-08-02 | 주식회사 인텔릭스 | Apparatus and method for processing a video signal |
KR101118321B1 (en) * | 2008-04-09 | 2012-03-09 | 엔비디아 코포레이션 | Execution of retargetted graphics processor accelerated code by a general purpose processor |
-
2014
- 2014-09-22 KR KR1020140125827A patent/KR102097753B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
Reza Mokhtari 등, 'BigKernel-High Performance CPU-GPU Communication Pipelining for Big Data-Style Applications', IEEE 28th International Parallel and Distributed Processing Symp., 2014.05.23. 1 부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20160034638A (en) | 2016-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210136455A1 (en) | Communication apparatus, communication control method, and computer program | |
US9489387B2 (en) | Storage management of data streamed from a video source device | |
JP2020512772A5 (en) | A method and streaming server for image processing that optimizes image resolution and video streaming bandwidth for VR video. | |
JP2010136032A (en) | Video monitoring system | |
CN112804256B (en) | Method, device, medium and equipment for processing track data in multimedia file | |
EP4054190A1 (en) | Video data encoding method and device, apparatus, and storage medium | |
CN107155093B (en) | Video preview method, device and equipment | |
US10638135B1 (en) | Confidence-based encoding | |
KR20150086723A (en) | Image Recoding System | |
US10878850B2 (en) | Method and apparatus for visualizing information of a digital video stream | |
Zhang et al. | On the design and implementation of a high definition multi-view intelligent video surveillance system | |
JP7255841B2 (en) | Information processing device, information processing system, control method, and program | |
KR102097753B1 (en) | Method and Apparatus for Processing Video for Monitoring Video | |
JPWO2019150649A1 (en) | Image processing device and image processing method | |
EP3276967A1 (en) | Systems and methods for adjusting the frame rate of transmitted video based on the level of motion in the video | |
US10650843B2 (en) | System and method for processing sound beams associated with visual elements | |
JP2022075532A (en) | Image processing method and video processing device | |
JP2017195477A (en) | Image processing device and image processing method | |
US10448037B2 (en) | Decoding apparatus and method for discrete wavelet transform with buffer management | |
KR101850930B1 (en) | Collective camera video monitoring device | |
KR100623710B1 (en) | Method of processing a plurality of moving picture contents by sharing a hardware resource | |
Gibbon et al. | Distributed processing for big data video analytics | |
US20170187779A1 (en) | Providing apparatus, data providing method, and storage medium | |
KR102126794B1 (en) | Apparatus and Method for Transmitting Video Data | |
KR102633455B1 (en) | Encoding device for multi-channel video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |