KR102097753B1 - Method and Apparatus for Processing Video for Monitoring Video - Google Patents

Method and Apparatus for Processing Video for Monitoring Video Download PDF

Info

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
Application number
KR1020140125827A
Other languages
Korean (ko)
Other versions
KR20160034638A (en
Inventor
김민규
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR1020140125827A priority Critical patent/KR102097753B1/en
Publication of KR20160034638A publication Critical patent/KR20160034638A/en
Application granted granted Critical
Publication of KR102097753B1 publication Critical patent/KR102097753B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

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

영상 감시를 위한 영상 처리방법 및 장치{Method and Apparatus for Processing Video for Monitoring Video}Image processing method and apparatus for video surveillance {Method and Apparatus for Processing Video for Monitoring Video}

본 실시예는 그래픽 처리유닛을 이용하여 영상 감시를 위한 영상 처리성능을 향상시키는 영상 처리방법 및 그를 위한 장치에 관한 것이다. 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 image processing apparatus 100 according to the present embodiment includes an image acquisition unit 110, a central processing unit (CPU) 120, a kernel unit 130, a graphic processing unit (GPU) 140 , A memory management unit 150, a decoding unit 160, a data management unit 170, and an original image output unit 180. The image processing apparatus 100 shown in FIG. 1 is according to an embodiment, and not all blocks shown in FIG. 1 are essential components, and in another embodiment, some blocks included in the image processing apparatus 100 are added. , Can be changed or deleted.

영상 획득부(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 central processing unit 120.

중앙 처리유닛(120)은 영상 처리장치(100)의 중앙에서 모든 데이터를 처리하는 모듈로서, 사용자로부터 입력된 명령어를 해석, 연산하여 그 결과를 출력하는 기능을 수행한다. 본 실시예에 따른 중앙 처리유닛(120)은 영상 획득부(110)로부터 모든 채널에 대한 영상 데이터를 수신하여 하나의 커널부(130)로 저장되도록 하고, 커널부(130)에 저장된 영상 데이터를 그래픽 처리유닛(140)에 저장되도록 한다. The central processing unit 120 is a module that processes all data in the center of the image processing apparatus 100, and performs a function of interpreting and calculating a command input from a user and outputting the result. The central processing unit 120 according to the present embodiment receives image data for all channels from the image acquisition unit 110 to be stored as one kernel unit 130, and stores the image data stored in the kernel unit 130. To be stored in the graphics processing unit 140.

커널부(130)는 중앙 처리유닛(120)의 제어에 근거하여 하나의 커널을 생성하고, 생성된 커널에 모든 채널에 대한 영상 데이터를 저장하고, 저장된 영상 데이터를 그래픽 처리유닛(140)으로 전송한다. The kernel unit 130 generates one kernel based on the control of the central processing unit 120, stores image data for all channels in the generated kernel, and transmits the stored image data to the graphic processing unit 140 do.

커널부(130)는 하나의 커널을 생성하고, 생성된 커널 내에 각각의 채널별로 특정 주소정보를 할당하여 영상 데이터를 저장한다. 여기서, 특정 주소정보는 각각의 영상 데이터를 채널별로 구분하여 저장하기 위한 식별정보를 의미한다. The kernel unit 130 generates one kernel and allocates specific address information for each channel in the generated kernel to store image data. Here, the specific address information refers to identification information for storing and storing each image data for each channel.

커널부(130)는 특정 주소정보를 할당하여 저장된 영상 데이터를 그래픽 처리유닛(140)으로 전송하고, 저장된 영상 데이터를 삭제하여 중앙 처리장치(120)의 연산량을 감소시키는 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 저장된 영상 데이터의 쿠키 정보 또는 일부 정보(예: 채널별 특정 주소정보 등)만을 저장할 수 있다. The kernel unit 130 preferably allocates specific address information to transmit the stored image data to the graphic processing unit 140, and deletes the stored image data to reduce the computation amount of the central processing unit 120, but is limited to this. It is not possible to store only cookie information or some information (eg, specific address information for each channel) of stored video data.

한편, 커널부(130)는 그래픽 처리유닛(140)으로부터 디코딩된 원본영상 데이터를 수신하는 경우, 수신된 원본영상 데이터의 특정 주소정보에 근거하여 채널별로 원본영상 데이터를 구분하여 저장한다. Meanwhile, when receiving the decoded original image data from the graphic processing unit 140, the kernel unit 130 classifies and stores the original image data for each channel based on specific address information of the received original image data.

커널부(130)는 그래픽 처리유닛(140)으로부터 수신된 원본영상 데이터를 각각의 특정 주소정보를 이용하여 채널별로 구분하여 동기화함으로써, 원본영상 데이터에 대한 채널 혼선과 같은 문제가 발생하지 않는다. The kernel unit 130 separates and synchronizes the original image data received from the graphic processing unit 140 for each channel by using each specific address information, so that there is no problem such as channel crosstalk for the original image data.

그래픽 처리유닛(140)은 영상 처리장치(100)의 중앙 처리유닛(120)과 연동하여 영상 처리장치(100)의 영상(그래픽)을 처리하는 모듈이다. 그래픽 처리유닛(140)은 중앙 처리유닛(120)로부터 영상 처리와 관련된 연산을 처리하여 중앙 처리유닛(120)의 부하가 감소되도록 한다. 또한, 그래픽 처리유닛(140)은 대량의 행렬과 벡터를 처리할 수 있으므로 이러한 연산을 사용하는 영상 처리에 적용될 수 있다. The graphic processing unit 140 is a module that processes an image (graphic) of the image processing apparatus 100 in conjunction with the central processing unit 120 of the image processing apparatus 100. The graphic processing unit 140 processes operations related to image processing from the central processing unit 120 so that the load of the central processing unit 120 is reduced. Also, since the graphic processing unit 140 can process a large number of matrices and vectors, it can be applied to image processing using such an operation.

메모리 관리부(150)는 커널부(130)로부터 모든 채널에 대한 영상 데이터를 수신하고, 수신된 영상 데이터에 대한 채널 프레임 동기화를 수행한다. 더 자세히 설명하자면, 메모리 관리부(150)는 커널부(130)로부터 수신된 영상 데이터에 포함된 채널별 특정 주소정보를 추출하고, 채널별 특정 주소정보를 이용하여 각각의 영상 데이터가 혼동되지 않도록 채널 및 특정 주소정보에 대한 채널 프레임 동기화를 수행한다. The memory management unit 150 receives image data for all channels from the kernel unit 130 and performs channel frame synchronization on the received image data. In more detail, the memory management unit 150 extracts specific address information for each channel included in the image data received from the kernel unit 130, and uses the specific address information for each channel so that each image data is not confused. And channel frame synchronization for specific address information.

메모리 관리부(150)는 수신된 모든 채널에 대한 영상 데이터를 기초로 각각의 채널별로 할당된 특정 주소정보에 대해 채널 및 특정 주소정보에 대한 채널 프레임 동기화하여 메모리 관리정보를 생성한다. 예를 들어, 메모리 관리부(150)는 3 개의 채널에 대한 영상 데이터를 수신하는 경우, 제1 채널에 할당된 제1 주소값, 제2 채널에 할당된 제2 주소값 및 제3 채널에 할당된 제3 주소값을 추출하여 동기화한 메모리 관리정보를 생성하여 저장한다. The memory management unit 150 generates memory management information by synchronizing a channel frame with respect to a channel and specific address information for specific address information allocated for each channel based on image data of all received channels. For example, when receiving image data for three channels, the memory management unit 150 may allocate a first address value assigned to the first channel, a second address value assigned to the second channel, and a third channel assigned to the third channel. The third address value is extracted and synchronized memory management information is generated and stored.

디코딩부(160)는 모든 채널에 대한 영상 데이터를 디코딩하여 원본영상 데이터로 변환한다. 본 실시예에 따른 디코딩부(160)는 기 인코딩된 소정의 코덱을 기반으로 디코딩을 수행한다. 여기서, 디코딩부(160)는 모든 채널에 대한 영상 데이터에 블록을 설정하고, 블록 단위의 비트 스트림을 디코딩하는 것이 바람직하나 반드시 이에 한정되는 것은 아니며, 영상 데이터를 원본영상 데이터로 변환할 수 있다면, 그 어떤 방식으로도 디코딩을 수행할 수 있다. The decoding unit 160 decodes image data for all channels and converts it into original image data. The decoding unit 160 according to the present embodiment performs decoding based on a pre-encoded predetermined codec. Here, the decoding unit 160, it is preferable to set blocks in the image data for all channels and decode a bit stream in block units, but is not limited thereto. If the image data can be converted into original image data, Decoding can be performed in any way.

데이터 관리부(170)는 디코딩된 원본영상 데이터를 데이터 동기화하여 저장하고, 원본영상 데이터를 커널부(140)로 전송한다. The data management unit 170 stores the decoded original image data by data synchronization, and transmits the original image data to the kernel unit 140.

본 실시예에 따른 데이터 관리부(170)는 기 생성된 메모리 관리정보에 근거하여 원본영상 데이터의 특정 주소정보를 재설정하고, 각각의 특정 주소정보마다 독립 스레드(Thread) 정보를 추가로 설정하여 저장한다. 여기서, 독립 스레드 정보는 원본영상 데이터가 그래픽 처리유닛(140)에서 중앙 처리유닛(120)으로 전송될 때 원본영상 데이터가 채널별로 혼동되지 않도록 설정된 스레드 정보를 의미한다. The data management unit 170 according to the present embodiment resets specific address information of the original image data based on previously generated memory management information, and additionally sets and stores independent thread information for each specific address information. . Here, the independent thread information means thread information set so that the original image data is not confused for each channel when the original image data is transmitted from the graphic processing unit 140 to the central processing unit 120.

데이터 관리부(170)는 원본영상 데이터의 각각의 채널에 대한 특정 주소정보에 근거하여 각각의 채널별로 원본영상 데이터를 저장하고, 저장된 원본영상 데이터를 특정 주소정보를 기반으로 데이터 동기화하여 커널부(130)로 전송한다. 여기서, 데이터 관리부(170)는 원본영상 데이터의 특정 주소정보에 따라 저장되는 위치를 구분하여 저장되도록 커널부(130)로 전송한다. The data management unit 170 stores the original image data for each channel based on specific address information for each channel of the original image data, and synchronizes the stored original image data based on the specific address information to synchronize the kernel unit 130 ). Here, the data management unit 170 transmits it to the kernel unit 130 so as to distinguish and store a location stored according to specific address information of the original image data.

한편, 데이터 관리부(170)는 커널부(130)에서 원본영상 데이터를 특정 주소정보에 따라 분리하여 저장할 수 없는 경우, 원본영상 데이터에 대한 채널 혼선이 되지 않도록 해상도 정보, 화소값 정보, GOP(Group Of Pictures) 등을 기준으로 적용하여 유동적으로 원본영상 데이터를 구분하여 커널부(130)에서 저장되도록 한다. On the other hand, if the data management unit 170 cannot separate and store the original image data according to specific address information in the kernel unit 130, the resolution information, the pixel value information, the GOP (Group) so as not to be a channel confusion about the original image data Of Pictures) and the like, and the original image data is flexibly classified and stored in the kernel unit 130.

원본영상 출력부(180)는 커널부(130)에 저장된 원본영상 데이터를 출력하여 영상 감시가 수행되도록 한다. 원본영상 출력부(180)는 커널부(130)에 저장된 원본영상 데이터를 채널별로 출력하여 각각의 원본영상 데이터 내에서 객체 또는 이벤트를 검출하기 위한 영상 감시가 수행되도록 한다. The original image output unit 180 outputs the original image data stored in the kernel unit 130 to perform image monitoring. The original image output unit 180 outputs the original image data stored in the kernel unit 130 for each channel so that image monitoring is performed to detect objects or events within each original image data.

도 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 central processing unit 120 sets specific address information for each channel of the multi-channel image data received from the image acquisition unit 110, and each of a plurality of streams corresponding to specific address information in the CPU memory area (one kernel). Stores multi-channel image data for each channel (220).

중앙 처리유닛(120)은 CPU 메모리 영역에 저장된 다채널 영상 데이터를 그래픽 처리유닛(140)의 GPU 메모리로 복사하고, 그래픽 처리유닛(140)은 다채널 영상 데이터에 대한 채널 프레임 동기화를 수행하여 각 채널별 영상 데이터와 각각의 영상 데이터에 대응하는 특정 주소정보를 관리하기 위한 메모리 관리정보를 생성한다. The central processing unit 120 copies the multi-channel image data stored in the CPU memory area to the GPU memory of the graphic processing unit 140, and the graphic processing unit 140 performs channel frame synchronization for the multi-channel image data to perform each Memory management information for managing image data for each channel and specific address information corresponding to each image data is generated.

그래픽 처리유닛(140)은 다채널 영상 데이터를 디코딩하고, 디코딩된 원본영상 데이터의 각각의 채널별 특정 주소정보를 재설정하고, 각각의 특정 주소정보마다 독립 스레드 정보를 추가로 설정하여 원본영상 데이터를 저장한다(230). 여기서, 독립 스레드 정보는 원본영상 데이터가 그래픽 처리유닛(140)에서 중앙 처리유닛(120)으로 전송될 때 원본영상 데이터가 채널별로 혼동되지 않도록 설정된 스레드 정보를 의미한다. The graphic processing unit 140 decodes multi-channel image data, resets specific address information for each channel of the decoded original image data, and sets independent thread information for each specific address information to set the original image data. Save (230). Here, the independent thread information means thread information set so that the original image data is not confused for each channel when the original image data is transmitted from the graphic processing unit 140 to the central processing unit 120.

그래픽 처리유닛(140)은 원본영상 데이터의 각각의 채널이 혼동되지 않도록 원본영상 데이터를 GPU 메모리에서 CPU 메모리로 복사하면서 특정 주소정보 기반의 데이터 동기화를 수행한다(240). 중앙 처리유닛(120)은 각각의 채널별로 특정 주소정보에 대응하는 CPU 메모리 영역에 저장된 원본영상 데이터를 각각의 채널별로 출력한다(250).The graphic processing unit 140 performs data synchronization based on specific address information while copying the original image data from the GPU memory to the CPU memory so that each channel of the original image data is not confused (240). The central processing unit 120 outputs the original image data stored in the CPU memory area corresponding to specific address information for each channel for each channel (250).

도 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 image processing apparatus 100 acquires image data for a plurality of channels (S310). Here, the image data for each of the plurality of channels refers to data pre-encoded with a predetermined codec.

영상 처리장치(100)는 획득한 영상 데이터의 각각의 채널마다 특정 주소정보를 설정하고, 중앙 처리유닛(120)의 하나의 커널에 특정 주소정보에 근거하여 채널별로 영상 데이터를 저장한다(S320). The image processing apparatus 100 sets specific address information for each channel of the acquired image data, and stores image data for each channel based on specific address information in one kernel of the central processing unit 120 (S320). .

영상 처리장치(100)는 하나의 커널에 저장된 영상 데이터를 그래픽 처리유닛(140)의 GPU 메모리로 복사한다(S330).The image processing apparatus 100 copies the image data stored in one kernel to the GPU memory of the graphic processing unit 140 (S330).

영상 처리장치(100)는 영상 데이터에 대한 채널 프레임 동기화를 수행하여 각 채널별 영상 데이터와 각각의 영상 데이터에 대응하는 특정 주소정보를 관리하기 위한 메모리 관리정보를 생성하고, 영상 데이터를 디코딩한다(S340). 여기서, 영상 처리장치(100)는 인코딩된 소정의 코덱을 기초로 영상 데이터를 디코딩하여 원본영상 데이터으로 변환한다. The image processing apparatus 100 performs channel frame synchronization for image data, generates memory management information for managing image data for each channel and specific address information corresponding to each image data, and decodes the image data ( S340). Here, the image processing apparatus 100 decodes the image data based on the encoded predetermined codec and converts the image data into original image data.

영상 처리장치(100)는 디코딩된 원본영상 데이터를 각각의 채널별로 분리하고(S350), 각각의 채널별 원본영상 데이터에 특정 주소정보를 재설정하여 데이터 동기화를 수행하여 중앙 처리유닛(120)의 커널로 원본영상 데이터를 복사한다(S360). The image processing apparatus 100 separates the decoded original image data for each channel (S350), resets specific address information to the original image data for each channel, and performs data synchronization to perform kernel synchronization of the central processing unit 120 The original image data is copied with (S360).

영상 처리장치(100)는 커널에 저장된 원본영상 데이터를 각각의 채널별로 출력하고(S370), 출력된 원본영상 데이터를 이용하여 객체 또는 이벤트를 검출하기 위한 영상 감시를 수행한다(S380).The image processing apparatus 100 outputs the original image data stored in the kernel for each channel (S370), and performs image surveillance to detect an object or event using the output original image data (S380).

도 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 image processing apparatus 100 according to the present embodiment described in FIG. 3 may be implemented as a program and recorded in a computer-readable recording medium. The program for implementing the operation of the image processing apparatus 100 according to the present embodiment is recorded, and the computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of such computer-readable recording media include ROM, RAM, CD-ROM, magnetic tapes, floppy disks, optical data storage devices, etc., and also implemented in the form of carrier waves (for example, transmission via the Internet). It also includes. In addition, the computer readable recording medium may be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and code segments for implementing the present embodiment can be easily inferred by programmers in the technical field to which this embodiment belongs.

도 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 central processing unit 120 and the graphic processing unit 140 in the image processing apparatus 100 according to the present embodiment, and outputs the decoded original image data. It is a graph showing the utilization rate of the central processing unit 120 according to the operation. As shown in FIG. 4 (a), when the image processing apparatus 100 decodes image data having 16 channels, the utilization rate of the central processing unit is about to be decoded while decoding image data for 16 channels. About 10% is kept constant.

일반 영상 처리장치General image processing device 본 발명의 영상 처리장치Image processing apparatus of the present invention 개선률(%)Improvement rate (%) 프레임 수Number of frames 250250 300300 20 %20% CPU 활용률(%)CPU utilization (%) 100100 1111 1,100 %1,100%

전술한 일반적인 영상 처리장치와 본 실시예에 따른 영상 처리장치(100)에 대한 중앙 처리유닛(120)의 활용률 및 디코딩에 따른 개선률을 나타낸 결과는 표 1과 같다. Table 1 shows the results of the utilization rate of the central processing unit 120 and the improvement rate according to decoding of the above-described general image processing apparatus and the image processing apparatus 100 according to the present embodiment.

이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.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.
제 1 항에 있어서,
상기 획득과정은,
중앙 처리유닛(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.
삭제delete 제 1 항에 있어서,
상기 전송과정은,
상기 특정 주소정보마다 상기 원본영상 데이터의 채널 혼동을 방지하기 위한 독립 스레드(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.
제 1 항에 있어서,
상기 출력과정은,
상기 하나의 커널 내에 상기 특정 주소정보를 기반으로 상기 원본영상 데이터를 상기 채널별로 구분하여 저장하는 것을 특징으로 하는 영상 감시를 위한 영상 처리방법.
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.
KR1020140125827A 2014-09-22 2014-09-22 Method and Apparatus for Processing Video for Monitoring Video KR102097753B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
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