KR20180022500A - Triple decoder and decoding how to handle - Google Patents

Triple decoder and decoding how to handle Download PDF

Info

Publication number
KR20180022500A
KR20180022500A KR1020160107995A KR20160107995A KR20180022500A KR 20180022500 A KR20180022500 A KR 20180022500A KR 1020160107995 A KR1020160107995 A KR 1020160107995A KR 20160107995 A KR20160107995 A KR 20160107995A KR 20180022500 A KR20180022500 A KR 20180022500A
Authority
KR
South Korea
Prior art keywords
gpu
core
utilizing
decoding
cpu
Prior art date
Application number
KR1020160107995A
Other languages
Korean (ko)
Inventor
정재호
Original Assignee
주식회사 포딕스시스템
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포딕스시스템 filed Critical 주식회사 포딕스시스템
Priority to KR1020160107995A priority Critical patent/KR20180022500A/en
Publication of KR20180022500A publication Critical patent/KR20180022500A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • 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
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Landscapes

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

Abstract

The present invention relates to a triple decoder and a method for processing decoding to minimize image delay and an image loss. The triple decoder is composed to decode by utilizing a central processing unit (CPU) core (2) utilizing an Intel CPU (1) of a software decoder, to decode by utilizing a first graphic processing unit (GPU) core (3) utilizing an Intel GPU of a hardware decoding included in the Intel CPU (1), to decode by utilizing a second GPU core (11) utilizing a cuda GPU of the hardware decoding mounted on a nvida graphic card (10), and to decode by utilizing only one CPU core (2) depending on performance supported by one system or by utilizing at least one method of the first GPU core (3) utilizing the Intel GPU in addition to the CPU core (2) or the second GPU core (11) utilizing the cuda GPU.

Description

트리플 디코더 및 디코딩 처리방법{Triple decoder and decoding how to handle}[0001] DESCRIPTION [0002] TRIPLE DECODER AND DECODING [

본 발명은 트리플 디코더 및 디코딩 처리방법에 관한 것으로, 상세하게는 하나의 시스템에서 처리할 수 있는 영상의 채널 수가 증가하도록 함으로써 기존에 여러 대의 시스템을 사용할 때보다 비용을 절약할 수 있도록 하고, 필요한 시스템의 수가 감소함에 따라 공간이 절약됨은 물론, 에너지가 절감되고, 리소스의 분산처리로 인해 처리속도를 개선할 수 있도록 함으로써 영상 지연과 영상 손실을 최소화할 수 있도록 한 트리플 디코더 및 디코딩 처리방법에 관한 것이다.The present invention relates to a triple decoder and a decoding processing method, and more particularly, to an apparatus and a method for decoding a triple decoder and a decoding processing method by increasing the number of channels of an image that can be processed by one system, The present invention relates to a triple decoder and a decoding processing method capable of minimizing a video delay and a video loss by saving space and energy as well as improving a processing speed due to a distributed processing of resources .

최근 CCTV 보급이 기하급수적으로 증가함에 따라 통합 관제에 대한 중요도가 점점 커지고 있는 실정이다.Recently, as CCTV penetration has increased exponentially, the importance of integrated control has become more and more important.

또한, 기존 SD 화질에 머물러 화면을 통한 식별이 용이하지 않았던 카메라를 HD, Full-HD, UHD 등 고해상도 용의 카메라로 많이 교체되고 있는데, 이로 인해 통합관제는 더 복잡해 지고 있는 게 현실이다.In addition, cameras that have remained in the existing SD image quality and are not easy to identify through the screen are being replaced with high-resolution cameras such as HD, Full-HD and UHD, which makes the integration control more complicated.

많은 카메라를 동시에 관제하기 위해서는 필수적인 기술이 디코딩 기술이다. Decoding technology is an essential technique for controlling many cameras simultaneously.

최근 대부분의 카메라는 H.264로 압축이 되어 오는데, 이는 수신단에서 디코딩 하는데 리소스를 많이 사용하고, Performance도 많이 필요하기 때문에 한 시스템에서 동시에 볼 수 있는 카메라의 수에 제한이 생기게 된다.Recently, most of the cameras have been compressed into H.264, which means that there is a limitation on the number of cameras that can be seen simultaneously in one system because the receiving end uses a lot of resources for decoding and requires a lot of performance.

특히 고해상도(4K-Ultra HD)로 갈수록 더 심해지는데, 최근의 경우 고해상도의 CCTV가 증가하고 있는 실정을 감안한다면, 디코딩 기술의 필요성은 더 커지게 되는 것이다.Especially, it is getting worse with high resolution (4K-Ultra HD), and considering the fact that CCTV is increasing in high resolution in recent years, the need for decoding technology becomes bigger.

그래서 2013년 10월 29일자 특허등록 제10-1325040호(통합관제시스템)가 제안되었으며,Therefore, the patent registration No. 10-1325040 (integrated control system) of October 29, 2013 was proposed,

이는, 건물 내에 설치된 분전반, 수배전반 등에서 입출력되는 전압이나 전류, 주파수 등의 데이터를 수집하는 전력감시부와,This includes a power monitoring unit that collects data such as voltage, current, and frequency input and output from a distribution board, a switchboard, and the like installed in a building,

건물내에 설치된 CCTV 카메라로부터 영상정보를 수집하는 영상정보수집부와,An image information collecting unit for collecting image information from a CCTV camera installed in a building,

엘리베이터, 회전문, 에스컬레이터 등을 작동시키는 전동기와 전동기 제어반의 작동 상태를 감시하는 EL감시부와,An EL monitor for monitoring an operation state of an electric motor for operating an elevator, a revolving door, an escalator and the like and an electric motor control panel,

건물 내부의 사용공간의 온도 변화 등으로 화재를 감지하는 화재감지부를 포함하는 관리장치부와,A management unit including a fire detection unit for detecting a fire due to a temperature change of a use space inside the building,

상기 관리장치부와 데이터 통신을 하여 수집된 정보를 그래픽 형태로 제공하여 실시간으로 현황감시 및 제어를 할 수 있도록 하는 메인서버와,A main server for providing information in a graphic form by data communication with the management unit and monitoring and controlling the status in real time,

상기 영상정보수집부에서 수집된 영상을 분할하여 상황실에 설치된 대형 모니터에 데이터를 제공하는 DVI영상전송장치부와,A DVI image transmitting unit for dividing the image collected by the image information collecting unit and providing data to a large monitor installed in the control room,

다수의 CCTV 카메라에서 촬영된 영상 신호를 상기 메인서버에 송수신하며 상기 메인서버에서 제공하는 제어프로그램의 통해 카메라의 영상 감시 및 제어를 수행할 수 있는 스위처와,A switcher for transmitting and receiving video signals photographed by a plurality of CCTV cameras to the main server and for monitoring and controlling the video of the camera through a control program provided by the main server;

상기 메인서버에서 수집 및 분석한 정보를 저장 관리하는 데이터베이스를 포함하며, 상기 메인서버와 연결된 콘트롤러는 모니터상에 GUI 화면을 구현함으로써 터치스크린을 통해 메뉴버튼 조작에 의해 각 CCTV 카메라를 선택하여 모니터하고 각종 카메라 제어기능을 수행할 수 있도록 하여 간편하고 효율적인 업무환경이 이루어질 수 있도록 구성하였다.And a database for storing and managing information collected and analyzed by the main server. A controller connected to the main server implements a GUI screen on a monitor, thereby selecting and monitoring each CCTV camera by operating a menu button through a touch screen It is possible to perform a variety of camera control functions so that a simple and efficient working environment can be achieved.

그리고 2016년 03월 30일자 공개특허 제10-2016-0034638호(영상 감시를 위한 영상 처리방법 및 장치)가 제안되었으며,And 10-2016-0034638 (image processing method and apparatus for video surveillance) of Mar. 30, 2016,

이는, 영상 감시를 위한 영상 처리장치에서 영상을 처리하는 방법에 있어서,This is a method for processing an image in an image processing apparatus for video surveillance,

하나의 커널로부터 복수의 채널에 대한 영상 데이터를 획득하는 획득과정;An acquiring step of acquiring image data for a plurality of channels from one kernel;

상기 영상 데이터의 각각의 채널마다 할당된 특정 주소정보에 대한 채널 프레임 동기화를 수행하는 메모리 관리과정;A memory management step of performing channel frame synchronization on specific address information allocated to each channel of the image data;

상기 영상 데이터를 디코딩하여 원본영상 데이터로 변환하는 디코딩 과정;A decoding process of decoding the image data and converting the image data into original image data;

상기 원본 영상 데이터에 상기 특정 주소정보를 재설정하고, 상기 원본 영상 데이터를 상기 하나의 커널로 전송하는 전송과정; 및Resetting the specific address information to the original image data, and transmitting the original image data to the one kernel; And

상기 하나의 커널에서 상기 각각의 채널별로 상기 원본 영상 데이터를 출력하는 출력과정을 포함하되,And outputting the original image data for each channel in the one kernel,

상기 획득과정은,The acquiring process includes:

중앙 처리유닛(CPU: Central Processing Unit)에서 상기 복수의 채널마다 상기 특정 주소정보를 할당하고,Allocating the specific address information for each of the plurality of channels in a central processing unit (CPU)

기인코딩된 채널별 상기 영상 데이터를 그래픽 처리유닛(GPU: Graphic Processing Unit)의 GPU 메모리로 복사하도록 하였고,The image data for each pre-encoded channel is copied to a GPU memory of a graphics processing unit (GPU)

상기 메모리 관리과정은,The memory management process includes:

상기 영상 데이터 각각에 포함된 상기 하나의 커널에 대한 상기 특정 주소 정보를 추출하고, 그래픽 처리유닛의 GPU 메모리에서 상기 영상 데이터 각각에 대한 채널 및 상기 특정 주소정보에 대한 채널 프레임 동기화를 수행하여 메모리 관리 정보를 생성하도록 하며,Extracting the specific address information for the one kernel included in each of the image data, performing channel frame synchronization for each of the image data and the specific address information in the GPU memory of the graphics processing unit, Information is generated,

하나의 커널로부터 복수의 채널에 대한 영상 데이터를 획득하고, 상기 영상 데이터의 각각의 채널마다 할당된 특정 주소정보에 대한 채널 프레임 동기화를 수행하는 메모리 관리부;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 decoding the image data and converting the image data into original image data;

상기 원본영상 데이터에 상기 특정 주소정보를 재설정하고, 상기 원본 영상 데이터를 상기 하나의 커널로 전송하는 데이터 관리부;A data management unit for resetting the specific address information to the original image data and transmitting the original image data to the one kernel;

상기 하나의 커널에서 상기 각각의 채널별로 상기 원본영상 데이터를 출력하는 원본영상 출력부로 구성하였다.And an original image output unit for outputting the original image data for each channel in the one kernel.

그러나 상기와 같은 종래의 통합관제시스템이나 영상 감시를 위한 영상 처리방법 및 장치에 의하여서는 CPU와 GPU를 개별적으로 사용한 기술이므로, 단일 Core만 사용하기 때문에 시스템 리소스를 충분히 활용할 수 없고, 이로 인해 디코딩할 수 있는 채널의 수가 적을 수밖에 없었고, 하나의 시스템에서 디코딩할 수 있는 카메라의 수가 제한되어 있으므로 다수의 카메라에 의한 화상을 디코딩하기 위하여 다시 하나의 시스템을 추가하여야 하는 단점이 있었다.However, since the conventional integrated control system or the image processing method and apparatus for video surveillance as described above use a CPU and a GPU separately, they can not fully utilize system resources because they use only a single core, And the number of cameras that can be decoded in one system is limited, so that there is a disadvantage that one system must be added again in order to decode an image by a plurality of cameras.

이에 본 발명은 상기한 바와 같은 종래의 문제점을 해소하기 위한 것으로, 하나의 시스템에서 처리할 수 있는 영상의 채널 수가 증가하도록 함으로써 기존에 여러 대의 시스템을 사용할 때보다 비용을 절약할 수 있도록 하고, 필요한 시스템의 수가 감소함에 따라 공간이 절약됨은 물론, 에너지가 절감되고, 리소스의 분산 처리로 인해 처리속도를 개선할 수 있도록 함으로써 영상 지연과 영상 손실을 최소화할 수 있도록 한 트리플 디코더 및 디코딩 처리방법을 제공하는 것을 그 목적으로 한다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and it is an object of the present invention to provide an image processing apparatus, A triple decoder and a decoding processing method are provided so that image delay and image loss can be minimized by saving energy as well as saving space as the number of systems is reduced and processing speed can be improved due to the distributed processing of resources The purpose of that is to do.

상기 목적을 달성하기 위한 본 발명의 트리플 디코더 및 디코딩 처리방법은,According to another aspect of the present invention, there is provided a triple decoder and decoding method,

하나의 CPU와 GPU를 동시에 활용하여 디코딩함으로써, 한 시스템에서 디코딩할 수 있는 카메라의 수를 증가시켜 시스템 자원 효율성의 극대화를 통해 공간 절약 및 에너지 절감과 비용 절약을 동시에 할 수 있도록 하되,By using a single CPU and GPU simultaneously to decode, the number of cameras that can be decoded in one system is increased, thereby maximizing system resource efficiency so as to save space, energy, and cost at the same time,

먼저, 소프트웨어 디코더는 Intel CPU를 활용한 CPU core(2)를 활용한 디코딩 방법이 있다.First, the software decoder has a decoding method using the CPU core (2) using the Intel CPU.

보통 Intel - i7 기준으로 Full-HD(1920X1080)영상 16채널 정도를 디코딩할 수 있으므로 많은 채널을 동시에 디코딩하기 힘든 점이 있다.It is usually difficult to decode many channels at the same time because it can decode about 16 channels of Full-HD (1920X1080) image based on Intel-i7 standard.

그리고 다음으로 Intel CPU에 포함된 Intel GPU를 활용한 하드웨어 디코딩의 제1 GPU core를 활용하는 방법이 있다.Next, there is a method of utilizing the first GPU core of the hardware decoding using the Intel GPU included in the Intel CPU.

주로 그래픽 작업에 활용되는 GPU core를 활용하면 영상 디코딩도 가능하게 되는데, 보통 Intel I7 CPU의 GPU를 활용할 경우 Full-HD 영상 32채널까지 디코딩 가능하게 된다.It is possible to decode video using GPU core which is mainly used for graphic work. When using GPU of Intel I7 CPU, it is possible to decode 32 channels of full-HD image.

또한, Cuda GPU를 활용한 하드웨어 디코딩의 제2 GPU core를 활용하는 방법이 있다.There is also a way to utilize the second GPU core of hardware decoding using Cuda GPU.

이는, Nvida Graphic Card에 장착된 Cuda GPU를 활용한 디코딩 기술로써 Intel CPU와는 독립적으로 디코딩이 가능하며, 그래픽카드에 장착된 GPU 성능과 메모리의 용량에 따라 차이가 나지만, GTX960 시리즈를 사용할 경우 Full-HD 영상 32 채널까지 디코딩할 수 있다.This is a decode technology using Cuda GPU installed in Nvida Graphic Card. It can be decoded independently from Intel CPU, and it depends on GPU performance and memory capacity of graphics card. However, when using GTX960 series, Full- HD video can be decoded up to 32 channels.

그러므로 하나의 시스템에서 지원하는 성능에 따라 Intel CPU를 활용한 CPU core 하나만 활용하거나, 상기 CPU core 외에 Intel GPU를 활용한 제1 GPU core 그리고 Cuda GPU를 활용한 제2 GPU core를 선택적으로 활용하도록 함으로써 리소스를 분산하고, 자원을 활용함에 있어 최대의 효과를 내고, 이로 인해 디코딩 채널수도 기존 기술대비 2배 이상 높일 수 있도록 한다.Therefore, it is possible to utilize only one CPU core utilizing Intel CPU according to the performance supported by one system, or to selectively utilize the first GPU core utilizing Intel GPU and the second GPU core utilizing Cuda GPU in addition to the CPU core It has the greatest effect in distributing resources and utilizing resources, which can double the number of decoding channels compared to existing technologies.

물론, 상기의 CPU core 외에 Intel GPU를 활용한 제1 GPU core 또는 Cuda GPU를 활용한 제2 GPU core를 활용하기 위하여는 각각의 개별 디코딩을 수행하는 중에 각각의 Core 별로 적절한 채널 배당을 수행하도록 함으로써 리소스를 분산할 수 있도록 하여야 한다.Of course, in order to utilize the first GPU core utilizing the Intel GPU or the second GPU core utilizing the Cuda GPU in addition to the CPU core, proper channel allocation is performed for each Core during each individual decoding The resources should be distributed.

그러므로 상기의 Core가 어느 영상 디코딩을 지원하는지도 알아야 한다.Therefore, it is necessary to know which image decoding is supported by the Core.

우선 CPU core를 사용한 소프트웨어 디코딩은 모든 영상에 대해 디코딩을 지원하므로 만약 Intel GPU를 활용한 제1 GPU core 및 cuda GPU를 활용한 제1 GPU core가 디코딩을 지원하지 않는 영상을 트리플 디코더 컨트롤러가 CPU core에서 디코딩하도록 자동 전환하도록 한다,First, since software decoding using CPU core supports decoding of all images, if the first GPU core using the Intel GPU and the first GPU core utilizing the cuda GPU do not support the decoding, the triple decoder controller controls the CPU core To be automatically decoded at the < RTI ID = 0.0 >

그리고 상기 각 Core에 대한 리소스 포화도를 검출해 낼 수 있어야 한다.And it should be able to detect the resource saturation for each Core.

GPU에 의한 디코딩 지원 여부는 Intel GPU를 활용한 제1 GPU core와 Intel GPU를 활용한 제1 GPU core를 사용하여 디코딩을 수행함으로써 지원 여부를 실제로 검출할 수 있다.The decoding support by the GPU can be actually detected by performing decoding using the first GPU core utilizing the Intel GPU and the first GPU core utilizing the Intel GPU.

그리고 리소스 사용 포화도의 경우 CPU는 CPU 사용률을 트리플 디코더 컨트롤러에서 판단할 수 있도록 하고,In the case of resource saturation, the CPU allows the triple decoder controller to determine CPU utilization,

제1 GPU core와 제2 GPU core의 경우에는 GPU 사용률과 GPU 메모리 사용량의 2가지로 트리플 디코더 컨트롤러에서 각각 판단할 수 있도록 한다.In the case of the first GPU core and the second GPU core, the triple decoder controller can judge the GPU usage rate and the GPU memory usage, respectively.

예를 들어 Cuda GPU를 활용한 제2 GPU core의 사용률이 80%가 넘거나, GPU가 사용하는 메모리가 90%를 초과하면, Cuda GPU를 활용한 제2 GPU core의 리소스가 포화되었다고 판단하고, 더 이상은 채널 배당을 하지 않고, 다른 Core로 채널을 배당하도록 구성한 것이다.For example, if the utilization rate of the second GPU core utilizing the Cuda GPU exceeds 80% or the memory used by the GPU exceeds 90%, it is determined that the resource of the second GPU core utilizing the Cuda GPU is saturated, It is configured to allocate channels to other core without any channel allocation.

상기의 본 발명에 따른 트리플 디코더 및 디코딩 처리방법에 의하여서는 하나의 시스템에서 처리할 수 있는 영상의 채널 수가 증가하도록 함으로써 기존에 여러 대의 시스템을 사용할 때보다 비용을 절약할 수 있도록 하고,According to the triple decoder and the decoding processing method of the present invention, the number of channels of an image that can be processed by one system can be increased, so that the cost can be saved as compared with the case of using a plurality of systems,

필요한 시스템의 수가 감소함에 따라 공간이 절약됨은 물론, 에너지가 절감되고, 리소스의 분산처리로 인해 처리속도를 개선할 수 있도록 함으로써 영상 지연과 영상 손실을 최소화할 수 있도록 하는 효과가 있다.As the number of necessary systems decreases, space is saved, energy is saved, and processing speed is improved due to the distributed processing of resources, thereby minimizing image delay and image loss.

도 1은 본 발명의 주요 구성을 도시한 블록도.
도 2는 본 발명의 모니터링을 위한 구성을 도시한 블록도.
도 3은 본 발명의 동작 과정을 도시한 플로차트.
1 is a block diagram showing a main configuration of the present invention;
2 is a block diagram illustrating a configuration for monitoring of the present invention;
3 is a flowchart showing an operation procedure of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.

본 발명에 따른 트리플 디코더는,A triple decoder according to the present invention comprises:

소프트웨어 디코더의 Intel CPU(1)를 활용한 CPU core(2)를 활용하여 디코딩하도록 한다.The CPU core 2 utilizing the Intel CPU 1 of the software decoder is used for decoding.

상기 CPU core(2)의 경우에는 보통 Intel - i7 기준으로 Full-HD(1920X1080) 영상 16채널 정도를 디코딩할 수 있으므로 많은 채널을 동시에 디코딩하기는 힘들게 된다.In the case of the CPU core 2, 16 channels of Full-HD (1920 × 1080) video can be decoded based on Intel-i7 standard, so it is difficult to decode many channels simultaneously.

Intel CPU(1)에 포함된 하드웨어 디코딩의 Intel GPU를 활용한 제1 GPU core(3)를 활용하여 디코딩하도록 한다.The first GPU core 3 utilizing the Intel GPU of the hardware decoding included in the Intel CPU 1 is used for decoding.

주로 그래픽 작업에 활용되는 상기 제1 GPU core(3)를 활용하면 영상 디코딩도 가능하게 되는데, 보통 Intel I7 CPU의 GPU를 활용할 경우 Full-HD 영상 32채널까지 디코딩 가능하게 된다.The first GPU core (3), which is mainly used for graphic work, enables image decoding. In general, when the GPU of the Intel I7 CPU is utilized, it is possible to decode up to 32 full HD video images.

Nvida Graphic Card(10)에 장착된 하드웨어 디코딩의 Cuda GPU를 활용한 제2 GPU core(11)를 활용하여 디코딩하도록 한다.The second GPU core 11 utilizing the Cuda GPU of the hardware decoding mounted on the NVIDIA Graphic Card 10 is used for decoding.

이는, Nvida Graphic Card(10)에 장착된 Cuda GPU를 활용한 디코딩 기술로써 Intel CPU(1)와는 독립적으로 디코딩이 가능하며, 그래픽카드에 장착된 GPU 성능과 메모리의 용량에 따라 차이가 나지만, GTX960 시리즈를 사용할 경우 Full-HD 영상 32 채널까지 디코딩할 수 있다.This is a decode technology using the Cuda GPU installed in the Nvida Graphic Card (10), which can be decoded independently of the Intel CPU (1). It differs depending on the GPU performance and memory capacity of the graphics card, but the GTX960 Series, it is possible to decode up to 32 full-HD video images.

그러므로 하나의 시스템에서 지원하는 성능에 따라 CPU core(2) 하나만 활용하거나, 상기 CPU core(2) 외에 Intel GPU를 활용한 제1 GPU core(3) 또는 Cuda GPU를 활용한 제2 GPU core(11) 중 적어도 하나 이상의 방법을 활용하도록 함으로써 리소스를 분산하고, 자원을 활용함에 있어 최대의 효과를 내고, 이로 인해 디코딩 채널수도 기존 기술대비 2배 이상 높일 수 있도록 한다.Therefore, only one CPU core (2) may be utilized depending on the performance supported by one system, or a first GPU core (3) utilizing an Intel GPU or a second GPU core (11) utilizing a Cuda GPU in addition to the CPU core ), Thereby maximizing the effect of distributing the resources and utilizing the resources, thereby increasing the number of decoding channels by more than two times compared with the existing technology.

물론, 상기의 CPU core(2) 외에 Intel GPU를 활용한 제1 GPU core(3) 또는 Cuda GPU를 활용한 제2 GPU core(11)를 활용하기 위하여는 각각의 개별 디코딩을 수행하는 중에 트리플 디코더 컨트롤러(20)에서 각각의 Core 별로 적절한 채널 배당을 수행하도록 함으로써 리소스를 분산할 수 있도록 하여야 한다.Of course, in order to utilize the first GPU core 3 utilizing the Intel GPU or the second GPU core 11 utilizing the Cuda GPU in addition to the CPU core 2, It is necessary to distribute resources by allowing the controller 20 to perform channel allocation appropriately for each Core.

그러므로 상기의 Core(2)(11)가 어느 영상 디코딩을 지원하는지도 알아야 한다.Therefore, it is necessary to know which image decoding is supported by the Core (2) (11).

우선 CPU core(2)를 사용한 소프트웨어 디코딩은 모든 영상에 대해 디코딩을 지원하므로 만약 Intel GPU를 활용한 제1 GPU core(3) 및 cuda GPU를 활용한 제2 GPU core(11)가 디코딩을 지원하지 않는 영상을 트리플 디코더 컨트롤러(20)가 CPU core(2)에서 디코딩하도록 자동 전환하도록 한다,First, since software decoding using the CPU core (2) supports decoding of all images, if the first GPU core (3) using the Intel GPU and the second GPU core (11) utilizing the cuda GPU do not support decoding So that the triple decoder controller 20 automatically decodes the decoded picture in the CPU core 2,

그리고 상기 각 Core에 대한 리소스 포화도를 검출해 낼 수 있어야 한다. And it should be able to detect the resource saturation for each Core.

GPU에 의한 디코딩 지원 여부는 Intel GPU를 활용한 제1 GPU core(3)와 Intel GPU를 활용한 제1 GPU core(3)를 사용하여 디코딩을 수행함으로써 지원 여부를 실제로 검출할 수 있다.Support for decoding by the GPU can be detected by performing decoding using the first GPU core (3) using the Intel GPU and the first GPU core (3) using the Intel GPU.

그리고 리소스 사용 포화도의 경우 CPU core(1)는 트리플 디코더 컨트롤러(20)에서 제1 리소스 모니터링부(4)를 통하여 CPU 사용률을 판단할 수 있도록 하고,In the case of the resource usage saturation, the CPU core (1) enables the triple decoder controller (20) to determine the CPU utilization rate through the first resource monitoring unit (4)

제1 GPU core(3)의 경우에는 트리플 디코더 컨트롤러(20)에서 제2 리소스 모니터링부(5)를 통하여 GPU 사용률과 GPU 메모리 사용량의 2가지로 판단할 수 있도록 한다.In the case of the first GPU core (3), the triple decoder controller (20) can determine the GPU usage rate and the GPU memory usage amount through the second resource monitoring unit (5).

제2 GPU core(11)의 경우에는 트리플 디코더 컨트롤러(20)에서 제3 리소스 모니터링부(12)를 통하여 Nvida Graphic Card(10)에 장착된 Cuda GPU의 사용률과 GPU 메모리 사용량의 2가지로 판단할 수 있도록 한다.In the case of the second GPU core 11, the triple decoder controller 20 judges the usage rate of the Cuda GPU mounted on the Nvida Graphic Card 10 and the GPU memory usage amount through the third resource monitoring unit 12 .

예를 들어 Cuda GPU를 활용한 제2 GPU core(11)의 사용률이 80%가 넘거나, GPU가 사용하는 메모리가 90%를 초과하면, Cuda GPU를 활용한 제2 GPU core(11)의 리소스가 포화되었다고 판단하고, 더 이상은 채널 배당을 하지 않고, 다른 제1 GPU Core(3)로 채널을 배 하도록 구성한 것이다.For example, if the usage rate of the second GPU core 11 using the Cuda GPU exceeds 80% or the memory used by the GPU exceeds 90%, the resources of the second GPU core 11 utilizing the Cuda GPU It is determined that the first GPU core 3 is saturated and the channel is distributed to another first GPU core 3 without any channel allocation.

상기와 같이 구성한 본 발명의 트리플 디코더 및 디코딩 처리방법은,In the triple decoder and decoding method of the present invention configured as described above,

외부의 많은 CCTV로부터 영상이 트리플 디코더 컨트롤러(20)에 스트림으로 입력되면(단계 21),When images from many outside CCTVs are input to the triple decoder controller 20 as a stream (step 21)

트리플 디코더 컨트롤러(20)에서 제1 GPU core(3)로 보내어 지원할 수 있는가를 판단하도록 하여(단계 22), 지원이 가능하면 Intel CPU(1)에 포함된 하드웨어 디코딩의 Intel GPU를 활용한 제1 GPU core(3)를 활용하여 디코딩하도록 한다(단계 23).The triple decoder controller 20 determines whether the triple decoder controller 20 can support the GPU core by sending it to the first GPU core 3 in step 22. If it is possible to support the first GPU core 3, core (3) (step 23).

제1 GPU core(3)에서 디코딩하도록 전달한 상태에서 트리플 디코더 컨트롤러(20)가 제2 리소스 모니터링부(5)를 통하여 GPU 사용률과 GPU 메모리 사용량의 2가지로 포화 상태를 판단하여(단계 24), 포화 상태가 아니면 계속 제1 GPU core(3)에서 디코딩하도록 하여 도면에 도시하지 않은 모니터에 화면으로 표출되도록 한다(단계 25).The triple decoder controller 20 determines the saturation state (step 24) by using the GPU usage rate and the GPU memory usage amount through the second resource monitoring unit 5 in a state in which the triple decoder controller 20 transmits the decoding result in the first GPU core 3, If it is not saturated, the first GPU core 3 continues to decode it so that it is displayed on a monitor (not shown) (step 25).

만약 상기의 단계 22에서, 제1 GPU core(3)에서 지원할 수 없다면, Nvida Graphic Card(10)에 장착된 하드웨어 디코딩의 Cuda GPU를 활용한 제2 GPU core(11)를 활용하여 디코딩하도록 전달하여 지원 가능한가를 판단하도록 한다(단계 26).If it can not be supported by the first GPU core 3 in step 22, the second GPU core 11 utilizing the Cuda GPU of hardware decoding installed in the Nvida Graphic Card 10 is used to decode the decoded data It is judged whether or not it is supportable (step 26).

상기의 제2 GPU core(11)에서 지원 가능하면, 상기 트리플 디코더 컨트롤러(20)에서 제3 리소스 모니터링부(12)를 통하여 Nvida Graphic Card(10)에 장착된 Cuda GPU의 사용률과 GPU 메모리 사용량의 2가지로 제2 GPU core(11)의 포화 상태를 판단하여(단계 27), 포화 상태가 아니면 제2 GPU core(11)를 활용하여 디코딩하도록 하여 도면에 도시하지 않은 모니터에 화면으로 표출되도록 한다(단계 28).If the second GPU core 11 can support it, the triple decoder controller 20 controls the third resource monitoring unit 12 to monitor the usage rate of the Cuda GPU mounted on the Nvida Graphic Card 10 and the GPU memory usage amount The saturation state of the second GPU core 11 is determined (step 27). If the saturation state is not satisfied, the second GPU core 11 is decoded using the second GPU core 11 so that the screen is displayed on a monitor (Step 28).

만약, 단계 26에서 지원 가능하지 않거나, 단계 27에서 포화 상태이면, 소프트웨어 디코더의 Intel CPU(1)를 활용한 CPU core(2)를 활용하여 디코딩하도록 하여 도면에 도시하지 않은 모니터에 화면으로 표출되도록 한다(단계 29).If it can not be supported in step 26 or is saturated in step 27, it is decoded by utilizing the CPU core 2 utilizing the Intel CPU 1 of the software decoder, so that it is displayed on a monitor (not shown) (Step 29).

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 또한 설명하였으나, 본 발명은 상기한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시 가능한 것은 물론이고, 그와 같은 변경은 기재된 청구범위 내에 있게 된다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but many variations and modifications may be made without departing from the scope of the invention. It will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined by the appended claims.

1 : Intel CPU 2 : CPU core
3 : 제1 GPU core 4 : 제1 리소스 모니터링부
5 : 제2 리소스 모니터링부 10 : Nvida Graphic Card
11 : 제2 GPU core 12 : 제3 리소스 모니터링부
20 : 트리플 디코더 컨트롤러
1: Intel CPU 2: CPU core
3: first GPU core 4: first resource monitoring unit
5: Second resource monitoring unit 10: Nvida Graphic Card
11: second GPU core 12: third resource monitoring unit
20: Triple Decoder Controller

Claims (3)

소프트웨어 디코더의 Intel CPU(1)를 활용한 CPU core(2)를 활용하여 디코딩하도록 하고,
Intel CPU(1)에 포함된 하드웨어 디코딩의 Intel GPU를 활용한 제1 GPU core(3)를 활용하여 디코딩하도록 하고,
Nvida Graphic Card(10)에 장착된 하드웨어 디코딩의 Cuda GPU를 활용한 제2 GPU core(11)를 활용하여 디코딩하도록 하고,
하나의 시스템에서 지원하는 성능에 따라 상기의 CPU core(2) 하나만 활용하거나, 상기 CPU core(2) 외에 상기의 Intel GPU를 활용한 제1 GPU core(3) 또는 상기의 Cuda GPU를 활용한 제2 GPU core(11) 중 적어도 하나 이상의 방법을 활용하여 디코딩하도록 구성한 것을 특징으로 하는 트리플 디코더.
The CPU core 2 utilizing the Intel CPU 1 of the software decoder is used for decoding,
The first GPU core 3 utilizing the Intel GPU of the hardware decoding included in the Intel CPU 1 is used for decoding,
The second GPU core 11 utilizing the Cuda GPU of hardware decoding mounted on the NVIDIA Graphic Card 10 is used for decoding,
It is possible to use only one of the CPU core 2 according to the performance supported by one system or to use the first GPU core 3 utilizing the Intel GPU or the Cuda GPU using the CPU core 2 2 GPU core (11) by using at least one method.
청구항 1에 있어서,
CPU는 제1 리소스 모니터링부(4)를 통하여 CPU 사용률에 의해 리소스 사용 포화도를 판단할 수 있도록 하고,
제1 GPU core(3)의 경우에는 제2 리소스 모니터링부(5)를 통하여 GPU 사용률과 GPU 메모리 사용량의 2가지로 리소스 사용 포화도를 판단할 수 있도록 하고,
제2 GPU core(11)의 경우에는 제3 리소스 모니터링부(12)를 통하여 Nvida Graphic Card(10)에 장착된 Cuda GPU의 사용률과 GPU 메모리 사용량의 2가지로 리소스 사용 포화도를 판단할 수 있도록 구성한 것을 특징으로 하는 트리플 디코더.
The method according to claim 1,
The CPU allows the first resource monitoring unit 4 to determine the resource usage saturation based on the CPU usage rate,
In the case of the first GPU core 3, the resource usage saturation can be determined through the second resource monitoring unit 5 using the GPU usage rate and the GPU memory usage amount,
In the case of the second GPU core 11, the resource usage saturation can be determined using the usage rate of the Cuda GPU mounted on the Nvida Graphic Card 10 and the GPU memory usage amount through the third resource monitoring unit 12 Lt; / RTI > decoder.
외부의 많은 CCTV로부터 영상이 트리플 디코더 컨트롤러(20)에 스트림으로 입력되면, 트리플 디코더 컨트롤러(20)에서 제1 GPU core(3)로 보내어 지원할 수 있는가를 판단하도록 하여, 지원이 가능하면 Intel CPU(1)에 포함된 하드웨어 디코딩의 Intel GPU를 활용한 제1 GPU core(3)를 활용하여 디코딩하도록 하는 단계와,
제1 GPU core(3)에서 디코딩하도록 전달한 상태에서 트리플 디코더 컨트롤러(20)가 제2 리소스 모니터링부(5)를 통하여 GPU 사용률과 GPU 메모리 사용량의 2가지로 포화 상태를 판단하여, 포화 상태가 아니면 계속 제1 GPU core(3)에서 디코딩하도록 하여 모니터에 화면으로 표출되도록 하는 단계와,
상기의 단계 22에서, 제1 GPU core(3)에서 지원할 수 없다면, Nvida Graphic Card(10)에 장착된 하드웨어 디코딩의 Cuda GPU를 활용한 제2 GPU core(11)를 활용하여 디코딩하도록 전달하여 지원 가능한가를 판단하도록 하는 단계와,
상기의 제2 GPU core(11)에서 지원 가능하면, 상기 트리플 디코더 컨트롤러(20)에서 제3 리소스 모니터링부(12)를 통하여 Nvida Graphic Card(10)에 장착된 Cuda GPU의 사용률과 GPU 메모리 사용량의 2가지로 제2 GPU core(11)의 포화 상태를 판단하여, 포화 상태가 아니면 제2 GPU core(11)를 활용하여 디코딩하도록 하여 모니터에 화면으로 표출되도록 하는 단계와,
단계 26에서 지원 가능하지 않거나, 단계 27에서 포화 상태이면, 소프트웨어 디코더의 Intel CPU(1)를 활용한 CPU core(2)를 활용하여 디코딩하도록 하여 모니터에 화면으로 표출되도록 하는 단계로 구성한 것을 특징으로 하는 트리플 디코더 및 디코딩 처리방법.
The triple decoder controller 20 determines whether the image can be supported by sending it to the first GPU core 3 so that it can be supported by the Intel CPU 1 ) Using the first GPU core (3) utilizing the Intel GPU of the hardware decoding included in the first GPU core (3)
The triple decoder controller 20 determines the saturation state using the GPU usage rate and the GPU memory usage amount through the second resource monitoring unit 5 in a state in which the triple decoder controller 20 transmits the decoding state in the first GPU core 3, Causing the first GPU core (3) to decode and display it on the monitor screen,
If it can not be supported by the first GPU core 3 in step 22, the second GPU core 11 utilizing the Cuda GPU of the hardware decoding mounted on the Nvida Graphic Card 10 is used to decode and transfer it to support Judging whether it is possible,
If the second GPU core 11 can support it, the triple decoder controller 20 controls the third resource monitoring unit 12 to monitor the usage rate of the Cuda GPU mounted on the Nvida Graphic Card 10 and the GPU memory usage amount Determining whether the second GPU core 11 is saturated with the second GPU core 11, if the second GPU core 11 is not saturated, decoding the second GPU core 11 so that the second GPU core 11 is displayed on the monitor,
(2) utilizing the Intel CPU (1) of the software decoder if it is not supportable in step 26 or is saturated in step 27, so that it is displayed on the monitor screen And a decoding processing method.
KR1020160107995A 2016-08-24 2016-08-24 Triple decoder and decoding how to handle KR20180022500A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160107995A KR20180022500A (en) 2016-08-24 2016-08-24 Triple decoder and decoding how to handle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160107995A KR20180022500A (en) 2016-08-24 2016-08-24 Triple decoder and decoding how to handle

Publications (1)

Publication Number Publication Date
KR20180022500A true KR20180022500A (en) 2018-03-06

Family

ID=61727597

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107995A KR20180022500A (en) 2016-08-24 2016-08-24 Triple decoder and decoding how to handle

Country Status (1)

Country Link
KR (1) KR20180022500A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246214A (en) * 2018-11-28 2020-06-05 杭州海康威视数字技术股份有限公司 Video decoding method and device
WO2022065863A1 (en) * 2020-09-24 2022-03-31 삼성전자 주식회사 Method and device for offloading hardware to software package
US11695626B2 (en) 2020-09-24 2023-07-04 Samsung Electronics Co., Ltd. Method and apparatus for offloading hardware to software package

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111246214A (en) * 2018-11-28 2020-06-05 杭州海康威视数字技术股份有限公司 Video decoding method and device
CN111246214B (en) * 2018-11-28 2022-05-06 杭州海康威视数字技术股份有限公司 Video decoding method and device
WO2022065863A1 (en) * 2020-09-24 2022-03-31 삼성전자 주식회사 Method and device for offloading hardware to software package
US11695626B2 (en) 2020-09-24 2023-07-04 Samsung Electronics Co., Ltd. Method and apparatus for offloading hardware to software package

Similar Documents

Publication Publication Date Title
CN110381322B (en) Video stream decoding method and device, terminal equipment and storage medium
CN106201413B (en) Touch distribution method and device for one-screen multi-window display and liquid crystal display device
CN111432070A (en) Application screen projection control method, device, equipment and medium
CN106454407A (en) Video live broadcast method and device
CN104137172B (en) Electronic installation
CN104219579A (en) Video switching method and video switching device
KR101372358B1 (en) System for displaying of video data
KR20180022500A (en) Triple decoder and decoding how to handle
CN112000306A (en) Reverse control method, device, equipment and storage medium for multi-terminal screen projection
CN108886633B (en) Image receiving and reproducing method and device, and image generating and transmitting method and device
CN103248946A (en) Method and system for rapidly transmitting video image
US10129500B2 (en) Multi-display apparatus
CN103677701A (en) Large screen synchronous display method and system
CN110768803B (en) Television wall display method and device and server
WO2014104685A1 (en) Display apparatus and method for providing menu thereof
EP3438943A1 (en) Information processing apparatus, information processing method, and computer program
KR20070076272A (en) Display apparatus having video wall function and method thereof
US20150050004A1 (en) System event assisted live keyboard, video and mouse (kvm) capture
CN104571982B (en) Ultrahigh resolution display system and display control method
CN107734278B (en) Video playback method and related device
JP5506250B2 (en) Stream decoding apparatus and stream decoding method
CN113316022B (en) Video playing method, device, equipment, system and storage medium
CN113691815B (en) Video data processing method, device and computer readable storage medium
KR101235305B1 (en) Display control apparatus for settled picture losing phenomenon
US20180054345A1 (en) Transmission apparatus and transmission method, reception apparatus and reception method, transmission system, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application