KR20170074789A - 컨테이너 기반의 영상 처리 방법 - Google Patents

컨테이너 기반의 영상 처리 방법 Download PDF

Info

Publication number
KR20170074789A
KR20170074789A KR1020160173840A KR20160173840A KR20170074789A KR 20170074789 A KR20170074789 A KR 20170074789A KR 1020160173840 A KR1020160173840 A KR 1020160173840A KR 20160173840 A KR20160173840 A KR 20160173840A KR 20170074789 A KR20170074789 A KR 20170074789A
Authority
KR
South Korea
Prior art keywords
container
divided
node
video
information
Prior art date
Application number
KR1020160173840A
Other languages
English (en)
Inventor
조정현
문종배
장종현
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20170074789A publication Critical patent/KR20170074789A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/436Methods 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 using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 실시 예들은 컨테이너를 기반으로 하는 영상 처리 방법에 관한 것으로, 본 발명의 일 실시 예에 따른 컨테이너 기반의 영상 처리 방법은, 영상 서버가, 영상을 복수의 분할 화면으로 분할하는 단계; 관리 서버가, 분할 화면 정보 및 노드 자원 정보를 기반으로 컨테이너를 할당할 노드를 선택하고, 컨테이너에 자원을 할당하는 단계; 컨테이너가 할당된 노드들이, 상기 영상 서버로부터 수신된 분할 화면을 부호화하여 분할 부호화 스트림을 생성하는 단계; 마스터 노드가, 상기 노드들로부터 수신된 복수의 분할 부호화 스트림을 병합하여 하나의 부호화 스트림을 생성하는 단계; 및 영상 재생 단말이, 상기 마스터 노드로부터 수신된 부호화 스트림을 복호화하여 영상을 재생하는 단계를 포함한다.

Description

컨테이너 기반의 영상 처리 방법{Method for processing image based on container}
본 발명의 실시 예들은, 컨테이너를 기반으로 하는 영상 처리 방법에 관한 것이다.
영상 입출력 장치 및 영상 처리 자원의 성능 향상, 영상 재생 단말들의 성능 향상 및 다양화, 그리고 사용자의 요구 수준 향상으로 고품질 영상 처리 기술에 대한 연구 및 개발이 활발히 진행되고 있다. 이와 관련하여 HEVC(High Efficiency Video Coding, 혹은 H.265)은 동영상 부호화 기술로 기존의 H.264 동영상 부호화 기술에 비해 다시점 부호화(Multi-view video coding)와 가변적 부호화(Scalable video coding), 3D 비디오 부호화를 지원하며, 기존의 H264/AVC 방식의 인코딩을 했을 때와 비교하여 동일한 조건에서 Full HD 이상의 해상도의 경우 같은 화질에 절반 이하의 용량만 차지하는 장점을 보인다. 그러나 HEVC는 H.264보다 압축 알고리즘이 복잡하여 인코딩과 디코딩시 H.264 대비 1.2~2배정도 컴퓨팅 리소스가 추가적으로 요구된다. 따라서 4K, 8K, UHD급 고해상도 및 다시점(Multi-view)과 같은 입체영상을 방송 서비스나 스트리밍 서비스로 제공하기 위해서는 기존에 비하여 약 2배 이상의 압축효율을 가지는 HEVC를 통한 대용량 비디오 이미지의 실시간 압축 및 복원 기술 적용이 효과적이지만, 이를 위한 고속 처리 지원을 위해 HEVC의 화면 분할 및 병렬 기능을 활용함이 더욱 효율적이다.
HEVC 부호화의 처리 속도 개선을 위한 화면 분할 및 분할 화면의 자원 병렬 처리 기술을 살펴보면 먼저, 화면 분할 기술은 크게 엔트로피 슬라이스, WPP(Wavefront Parallel Processing), 타일(Tile) 방법이 있다. 이와 같은 분할법을 기반으로 하여 화면 분할 및 분할 화면간 참조 계산 등을 통한 영상 처리 대한 방법들도 제시되고 있지만, 분할된 화면을 적절한 자원에 할당 및 관리하는 방법이 부족하다.
기존에는 쓰레드(Thread)를 통한 병렬 처리의 접근법도 활용하였지만, 해상도 증가 및 대량의 연속적인 스트리밍 처리 요청에 대해서는 멀티 쓰레드를 통한 계산으로는 서버의 부하가 가중되어 실시간 서비스 지원 속도를 내기 어렵다. 또한 이를 위해 CPU만으로 처리하기 보다는 영상 처리를 GPU 가속 처리 기반으로 하여 부하는 감소시키고 처리량은 증가시키는 것도 지원 방안 중 하나이다.
그러나 이러한 분할 영상 처리를 위해 컴퓨팅 자원을 설정하고 관리하는 것이 기존의 영상 처리 기술 측면에서는 복잡한 업무로 발생할 수 있다. 이를 위해 멀티 쓰레드로만 구동하면 자원이 부족할 수 있고, 각 화면 분할에 다른 부호화기를 노드별로 할당하게 되면, 가용 자원 및 성능이 남은 노드도 다른 부호화 처리에 활용될 수 없이 낭비될 수 있는 단점이 있다. 전체 노드별 가용 자원 상태 등을 파악하여 할당하는 것 또한 복잡한 일이다.
본 발명의 실시 예들은, 기존의 고해상도 영상의 고속 처리를 지원하기 위해 화면을 분할하고 분할된 화면을 병렬적으로 처리하는 시스템을 컨테이너 기반으로 처리하도록 하여 자원의 효율성은 높이되, 보유 자원 상에서 최적화하여 구동하도록 한다.
본 발명의 실시 예들은, 고품질 영상 전송을 위해 화면을 분할하고, 분할 화면을 최적화하여 처리하기 위해 컨테이너 기반의 가상머신을 동적으로 생성 및 관리한다.
본 발명의 실시 예들은, 생성 가능 자원 상황을 파악하고 자동 생성하여 분할 영상 처리 가능 프로세스 수를 확보하고 이를 반영한 분할 화면 전송 개수 조절 및 위한 전송 서버의 캐쉬 제어, 처리 호스트 제어 방법을 제공한다.
본 발명의 일 실시 예에 따른 컨테이너 기반의 영상 처리 방법은, 영상 서버가, 영상을 복수의 분할 화면으로 분할하는 단계; 관리 서버가, 분할 화면 정보 및 노드 자원 정보를 기반으로 컨테이너를 할당할 노드를 선택하고, 컨테이너에 자원을 할당하는 단계; 컨테이너가 할당된 노드들이, 상기 영상 서버로부터 수신된 분할 화면을 부호화하여 분할 부호화 스트림을 생성하는 단계; 마스터 노드가, 상기 노드들로부터 수신된 복수의 분할 부호화 스트림을 병합하여 하나의 부호화 스트림을 생성하는 단계; 및 영상 재생 단말이, 상기 마스터 노드로부터 수신된 부호화 스트림을 복호화하여 영상을 재생하는 단계를 포함한다.
본 발명의 실시 예에 따르면 기존의 고품질 영상을 고성능으로 처리하기 위해 화면을 분할하고 병렬적으로 처리하는 시스템을 컨테이너 기반의 가상머신에서 처리하도록 하여 자원의 효율성은 높이되, 보유 자원 상에서 최적화하여 구동할 수 있다.
본 발명의 실시 예에 따르면 고품질 영상 전송을 위해 화면을 분할하고, 분할 화면을 최적화하여 처리하기 위해 컨테이너 기반의 가상머신을 동적으로 생성 및 관리할 수 있다.
본 발명의 실시 예에 따르면 분할된 화면에 따른 할당 가능 자원 상황을 파악하고 자동 생성하여 반영한 분할 화면 전송 개수 조절 및 위한 전송 서버의 캐쉬 제어, 처리 호스트를 제어 할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 컨테이너 기반의 영상 분할 처리 시스템을 설명하기 위한 예시도,
도 2는 본 발명의 일 실시 예에 따른 영상 서버와 관리 서버를 설명하기 위한 블록도,
도 3은 본 발명의 일 실시 예에 따른 마스터 노드와 노드를 설명하기 위한 블록도,
도 4는 본 발명의 일 실시 예에 따른 컨테이너 기반의 영상 분할 처리 제어 방법을 설명하기 위한 흐름도.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
본 발명의 실시 예들은, 복수 개로 분할된 영상화면이 적절한 컴퓨팅 자원에 배치될 수 있도록 컴퓨팅 자원을 관리 및 할당 기술, 분할된 화면 중 연관성(dependency)을 갖는 작업에 대해서는 연관성 정보 입력을 통한 병렬 자원 간 연관성 할당 기술 및 GPU 처리기반으로 계산하여 부하는 감소하고 처리량은 증가시키기 위한 그래픽 처리 장치 제어 기술을 통합하여 컨테이너 기반으로 영상 분할 처리를 수행하는 방안을 제안한다.
컨테이너는 기존의 하이퍼바이저 기반 가상머신에서 발생하였던 하이퍼바이저 중재로 인한 오버헤드 없이 호스트 서버 자체의 성능을 내지만, 프로세스를 이미지화 하여 관리하기 때문에 저장 및 배포, 설치 및 확장이 용이하다는 장점이 있다. 특히 Copy-On-Write 구조의 계층적 파일 시스템을 기반으로 커널 레벨은 공유하되, 어플리케이션 레벨의 파일 시스템만 관리하기 때문에 파일 및 메모리 사용량이 적다는 장점도 있다.
본 발명의 실시 예들은, 처리해야 할 영상의 증가로 분할 영상 처리 시스템이 확장성이 지원되어야 하거나, 시스템 장애가 발생하여 대체 시스템으로 빠른 복구가 필요하거나, 별도의 관리 프로그램을 제작하지 않고 관리 시스템의 도움을 받을 필요가 있는 경우를 위하여 컨테이너 기반의 영상 분할 처리 수행 방안을 제안한다.
도 1은 본 발명의 일 실시 예에 따른 컨테이너 기반의 영상 분할 처리 시스템을 설명하기 위한 예시도이다. 실시 예에 따라, 도 1에 도시된 구성 요소들 중 적어도 하나는 생략될 수 있다.
영상 서버(100)는 영상 분할 처리의 대상이 되는 고해상도 영상을 제공할 수 있다. 영상 서버(100)는, 입력된 영상을 화면 분할 알고리즘에 따라 복수 개의 분할 화면(10)으로 분할할 수 있다. 영상 서버(100)는, 분할 화면의 크기 및 화면 분할 개수 등의 분할 화면 정보를 관리 서버(200)에 전달할 수 있다.
관리 서버(200)는, 노드(400)들 중에서 유휴(idle)한 노드를 화면 분할 개수만큼 선택하고, 선택된 노드에 컨테이너(600)를 할당할 수 있다.
컨테이너가 구동된 노드(400)는, 영상 서버(100)로부터 분할 화면을 수신하고, 수신된 분할 화면을 부호화한 분할 부호화 스트림을 생성하여 마스터 노드(500)로 전송할 수 있다.
마스터 노드(500)는, 컨테이너가 구동된 노드(400)로부터 수신된 분할 부호화 스트림을 병합하여 하나의 부호화 스트림을 생성하고, 생성된 부호화 스트림을 영상 재생 단말(700)로 전송할 수 있다.
대용량 고해상도 영상의 노드 병렬 처리를 위해 영상 서버(100)와 컨테이너(600) 간의 전송은, 고성능 I/O 지원을 위한 직접 메모리 접근을 지원하는 스위치 방식의 고속 네트워크(300)로 연결될 수 있다.
노드(400)들의 제어 및 관리는 계층적으로 이루어질 수 있으며, 영상 처리 부호화 처리 프로세스 관리 및 컨테이너의 그래픽 처리 장치 제어 및 관리 용이성을 위해 컨테이너 기반으로 관리될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 영상 서버와 관리 서버를 설명하기 위한 블록도이다. 실시 예에 따라, 도 2에 도시된 구성 요소들 중 적어도 하나는 생략될 수 있다.
영상 서버(100)는, 영상 입력기(102), 화면 분할기(104), 화면 분할 정보 전송기(106), 데이터 전송 제어기(108) 및 분할 화면 전송기(110)를 포함할 수 있다.
영상 입력기(102)는, 외부로부터 영상 처리 요청을 수신할 수 있다. 영상 처리 요청에는, 영상 처리의 대상이 되는 영상 및 부호화 정보가 포함될 수 있다. 부호화 정보에는, 영상의 해상도가 포함될 수 있다.
화면 분할기(104)는, 수신된 영상을 소정의 분할 알고리즘에 따라 복수 개의 분할 화면으로 분할할 수 있다.
화면 분할 정보 전송기(106)는, 화면 분할 정보를 관리 서버(200)에 전송할 수 있다. 화면 분할 정보에는, 분할 화면의 개수, 분할 화면의 크기 및 분할 화면의 해상도에 대한 정보 중 적어도 하나가 포함될 수 있다.
데이터 전송 제어기(108)는, 영상 서버(100)의 메모리(미도시)와 네트워크 입출력 장치(미도시)간의 독립적인 메시지 전달 인터페이스를 통해 운영체제 중재 없이 통신이 가능하도록 지원할 수 있다. 즉, 데이터 전송 제어기(108)는, 직접 메모리 접근(Direct Memory Access) 엔진을 사용하여 데이터가 네트워크 입출력 장치로 부하 없이 빠르게 전송될 수 있도록 제어할 수 있다.
분할 화면 전송기(110)는, 분할 화면들을 고속 네트워크(300)를 통하여 각각의 분할 화면에 매칭되는 컨테이너(600)로 전송할 수 있다.
관리 서버(200)는, 화면 분할 정보 수신기(202), 최적 노드 선택기(204), 노드 정보 취합기(206), 컨테이너 할당기(208) 및 컨테이너 관리기(210)를 포함할 수 있다.
화면 분할 정보 수신기(202)는, 영상 서버(100)로부터 화면 분할 정보를 수신할 수 있다. 화면 분할 정보는, 할당해야 할 컨테이너 개수 및 컨테이너에서 처리해야 할 부호화기 처리량에 따라 최적의 자원 할당이 이루어지도록 하는 데 이용될 수 있다.
최적 노드 선택기(204)는, 노드 정보 취합기(206)에서 취합한 노드별 컨테이너 할당 정보 및 노드 별 자원 성능 모니터링 결과를 기반으로 분할 화면의 부호화 처리를 수행할 컨테이너 최적 배치 노드를 선택할 수 있다.
노드 정보 취합기(206)는, 노드(400)들로부터 노드별 자원 상태, 성능 정보, 구동 컨테이너 정보를 수신할 수 있다.
컨테이너 할당기(208)는, 최적 노드 선택기(204)가 선택한 노드(400)들에게 컨테이너 생성 명령을 전송할 수 있다. 컨테이너 할당기(208)는, 각 노드(400)에서 처리해야 할 분할 화면의 크기, 해상도, 분할된 영상의 나머지 개수, 데이터의 포맷 정보 및 필요한 GPU, 메모리, 네트워크 성능 최소/최대 정보 중 적어도 하나를 각 노드(400)에 전송할 수 있다. 전술한 정보들은, 컨테이너가 생성된 노드에서 컴퓨팅 자원 및 네트워크 자원 제어를 통한 컨테이너로의 자원 할당에 이용될 수 있다.
컨테이너 관리기(210)는, 전체 노드에서 구동중인 컨테이너 개수 및 성능 정보를 모니터링하고, 모니터링된 정보들을 관리할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 마스터 노드(500)와 노드(400)를 설명하기 위한 블록도이다. 실시 예에 따라, 도 3에 도시된 구성 요소들 중 적어도 하나는 생략될 수 있다.
마스터 노드(500)는, 분할 부호화 스트림 수신기(502), 분할 부호화 스트림 병합기(504), 부호화 스트림 전송기(506), 컨테이너 성능 정보 수신기(508) 및 컨테이너 그룹 정보 전송기(510)를 포함할 수 있다.
마스터 노드(500)는 컨테이너가 구동되는 노드(400)들을 관리할 수 있다.
분할 부호화 스트림 수신기(502)는, 노드들로부터 부호화된 분할 스트림, 즉 분할 부호화 스트림을 수신할 수 있다.
분할 부호화 스트림 병합기(504)는, 수신된 복수의 분할 부호화 스트림들을 정렬 및 병합함으로써 화면당 하나의 부호화 스트림을 생성할 수 있다.
부호화 스트림 전송기(506)는, 병합된 하나의 부호화 스트림을 영상 재생 단말(700)에게 전송할 수 있다. 따라서, 영상 재생 단말(700)은 스트림별 복호화기를 구비하거나 또는 구비하고 있더라도 이를 구동할 필요가 없다. 즉, 영상 복호화기(702)는, 마스터 노드(500)로부터 수신되는 부호화 스트림을 화면당 하나의 스트림으로 인식하고 복호화할 수 있다.
컨테이너 성능 정보 수신기(508)는, 노드(400)로부터 컨테이너 정보를 수신할 수 있다.
컨테이너 그룹 정보 전송기(510)는, 컨테이너 성능 정보 전송기(414)를 통해 수신한 컨테이너 정보를 취합하여 주기적으로 관리 서버(200)에 전달할 수 있다. 컨테이너 그룹 정보 전송기(510)는, 분할된 화면들이 각각 컨테이너로 매칭되므로 분할된 화면들을 계산하는 컨테이너들을 하나의 그룹으로 관리할 수 있다. 컨테이너 그룹 정보 전송기(510)는, 노드(400)들로부터 장애 없이 정보들이 수신되고 있는지 등의 컨테이너 그룹 진행 상황에 대한 정보를 주기적으로 관리 서버(200)에 전달할 수 있다.
노드(400)는, 컨테이너 제어 관리기(402), 노드 제어 관리기(404), 분할 화면 수신기(406), 부호화기(408), 메모리 제어기(410), 재분할 프로세스 생성기(412), 컨테이너 성능 정보 전송기(414) 및 분할 부호화 스트림 전송기(416)를 포함할 수 있다.
컨테이너 제어 관리기(402)는, 관리 서버(200)로부터 수신되는 컨테이너 생성 명령에 따라 컨테이너를 생성할 수 있다. 컨테이너 제어 관리기(402)는, 자신의 노드에서 처리해야 할 분할 화면의 크기, 해상도, 분할된 영상의 나머지 개수, 데이터의 포맷 정보 및 필요한 GPU, 메모리, 네트워크 성능 최소/최대 정보를 관리 서버(200)로부터 수신하고, 수신된 정보들을 기반으로 컴퓨팅 자원(예를 들어, 그래픽 처리 장치) 및 네트워크 자원을 제어하여 컨테이너에게 자원을 할당할 수 있다.
노드 제어 관리기(404)는, 자신의 노드가 시스템 상에 새로운 노드로서 추가되는 경우 관리 서버(200)에 의하여 설치될 수 있다. 노드 제어 관리기(404)는, 자신의 접속 정보 및 컴퓨팅 자원 정보를 취합하여 관리 서버(200)에게 전송할 수 있다.
분할 화면 수신기(406)는, 영상 서버(100)로부터 분할 화면을 수신할 수 있다.
부호화기(408)는, 분할된 영상을 고속으로 처리하기 위해 내부 알고리즘에 따라 다시 한번 영상을 재분할 처리할 수 있다. 이를 고속으로 처리하기 위해 메모리 제어기(410)에서는 재분할 영상 처리 고속 지원을 위해 전용 메모리를 할당하여 입출력 부하를 감소하고, 재분할 영상 처리에서의 화면간 부호화 참조 데이터 공유를 지원할 수 있다.
재분할 프로세스 생성기(412)는 동적으로 재분할 및 처리되어야 하는 재분할 영상 처리를 위한 멀티 쓰레드 기반의 프로세스 할당 및 제어를 수행할 수 있다.
컨테이너 성능 정보 전송기(414)는, 컨테이너 성능 정보를 마스터 노드(500)에게 전송할 수 있다. 따라서, 영상의 화면이 병렬 및 복수 개로 분할 처리되고 있더라도, 마스터 노드(500)는 노드(400)들로부터 수신되는 컨테이너 성능 정보를 취합하여 분할 영상들을 처리하는 컨테이너들을 그룹 별로 관리하고 관리자에게 제공할 수 있다.
분할 부호화 스트림 전송기(416)는, 분할 화면을 부호화한 분할 부호화 스트림을 마스터 노드(500)에게 전송할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 컨테이너 기반의 영상 분할 처리 제어 방법을 설명하기 위한 흐름도이다.
단계(401)에서, 영상 서버는, 외부로부터 영상 처리 요청을 수신할 수 있다. 영상 처리 요청에는, 영상 처리의 대상이 되는 영상 및 부호화 정보가 포함될 수 있다.
단계(403)에서, 영상 서버는, 수신된 영상을 소정의 분할 알고리즘에 따라 복수 개의 분할 화면으로 분할하고, 화면 분할 정보를 관리 서버에 전송할 수 있다.
단계(405)에서, 관리 서버는, 영상 서버로부터 수신된 화면 분할 정보, 노드별 부하 및 노드상에서 구동중인 컨테이너 정보 중 적어도 하나를 기반으로 필요한 컴퓨팅 자원, 컴퓨팅 처리량 및 네트워크 전송 처리량 등을 예측하여 최적의 노드를 선택할 수 있다.
단계(407)에서, 컨테이너가 할당된 노드는 처리해야 할 분할 화면의 크기, 해상도, 분할된 영상의 나머지 개수, 데이터의 포맷 정보 및 필요한 GPU, 메모리, 네트워크 성능 최소/최대 정보를 관리 서버로부터 수신하고, 수신된 정보들을 기반으로 컴퓨팅 자원(예를 들어, 그래픽 처리 장치) 및 네트워크 자원을 제어하여 컨테이너에게 자원을 할당할 수 있다.
단계(409)에서, 영상 서버는, 직접 메모리 접근(Direct Memory Access) 엔진을 사용하여 데이터가 네트워크 입출력 장치로 부하 없이 빠르게 전송될 수 있도록 제어할 수 있다.
단계(411)에서, 영상 서버는, 분할 화면들을 고속 네트워크를 통하여 각각의 분할 화면에 매칭되는 컨테이너로 전송할 수 있다.
단계(413)에서, 컨테이너가 할당된 노드는, 내부 알고리즘에 따라 분할 화면을 고속으로 처리하기 위해 분할 화면을 재분할할 수 있다. 노드는, 재분할 영상의 고속 처리 지원을 위해 전용 메모리를 할당하여 입출력 부하를 감소하고, 재분할 영상 처리에서의 화면간 부호화 참조 데이터 공유를 지원할 수 있다.
단계(415)에서, 컨테이너가 할당된 노드는, 부호화 처리가 완료된 분할 영상을 마스터 노드로 전송할 수 있다.
단계(417)에서, 마스터 노드는, 노듣들로부터 수신된 분할 영상 스트림들을 정렬 및 병합하여 하나의 영상 스트림을 생성할 수 있다.
단계(419)에서, 마스터 노드는, 생성된 영상 스트림을 영상 재생 단말로 전송할 수 있다.
단계(421)에서, 영상 재생 단말은, 마스터 노드로부터 수신된 영상 스트림을 복호화할 수 있다.
단계(423)에서, 영상 재생 단말은, 복호화된 영상 스트림을 재생할 수 있다.
100 : 영상 서버
200 : 관리 서버
400 : 노드
500 : 마스터 노드
600 : 컨테이너
700 : 영상 재생 단말

Claims (1)

  1. 컨테이너 기반의 영상 처리 방법으로서,
    영상 서버가, 영상을 복수의 분할 화면으로 분할하는 단계;
    관리 서버가, 분할 화면 정보 및 노드 자원 정보를 기반으로 컨테이너를 할당할 노드를 선택하고, 컨테이너에 자원을 할당하는 단계; 컨테이너가 할당된 노드들이, 상기 영상 서버로부터 수신된 분할 화면을 부호화하여 분할 부호화 스트림을 생성하는 단계;
    마스터 노드가, 상기 노드들로부터 수신된 복수의 분할 부호화 스트림을 병합하여 하나의 부호화 스트림을 생성하는 단계; 및
    영상 재생 단말이, 상기 마스터 노드로부터 수신된 부호화 스트림을 복호화하여 영상을 재생하는 단계
    를 포함하는 컨테이너 기반의 영상 처리 방법.
KR1020160173840A 2015-12-21 2016-12-19 컨테이너 기반의 영상 처리 방법 KR20170074789A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150183164 2015-12-21
KR20150183164 2015-12-21

Publications (1)

Publication Number Publication Date
KR20170074789A true KR20170074789A (ko) 2017-06-30

Family

ID=59279739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160173840A KR20170074789A (ko) 2015-12-21 2016-12-19 컨테이너 기반의 영상 처리 방법

Country Status (1)

Country Link
KR (1) KR20170074789A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163402B1 (ko) * 2020-06-15 2020-10-08 주식회사 딥노이드 멀티 노드와 멀티 gpu를 이용한 분산 학습 시스템 및 방법
KR20220084790A (ko) * 2020-12-14 2022-06-21 건국대학교 산학협력단 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102163402B1 (ko) * 2020-06-15 2020-10-08 주식회사 딥노이드 멀티 노드와 멀티 gpu를 이용한 분산 학습 시스템 및 방법
KR20220084790A (ko) * 2020-12-14 2022-06-21 건국대학교 산학협력단 3차원 공간정보 생성을 위한 병렬처리 장치 및 방법

Similar Documents

Publication Publication Date Title
Sembiring et al. Dynamic resource allocation for cloud-based media processing
EP3244621B1 (en) Video encoding method, system and server
CN110381322B (zh) 视频流解码方法、装置、终端设备及存储介质
US11006137B2 (en) Scheduler of processes having timed predictions of computing loads
CN103838779A (zh) 复用空闲计算资源的云转码方法及系统、分布式文件装置
CN108449633B (zh) 基于nfv的机顶盒云化系统及业务实现方法
CN105451031B (zh) 一种视频转码方法和系统
KR101265990B1 (ko) 비디오 파일 처리 시스템 및 방법
CN104604235A (zh) 用于视频处理的发送装置及其方法
US20180184146A1 (en) Video streaming resource optimization
US20160029079A1 (en) Method and Device for Playing and Processing a Video Based on a Virtual Desktop
US10805622B2 (en) High efficiency video coding method and apparatus, and computer-readable storage medium
CN104158909B (zh) 一种分布式媒体处理方法及其系统
CN105577819A (zh) 一种虚拟化桌面的分享系统、分享方法以及分享装置
US11881998B2 (en) System for network-based reallocation of functions
CN110430398B (zh) 一种基于强化学习的视频编码分布式方法
CN103813181A (zh) 一种视频优化系统及方法
KR20170074789A (ko) 컨테이너 기반의 영상 처리 방법
CN111510743B (zh) 转码资源的调度方法、装置、系统、设备和存储介质
CN112714319B (zh) 计算机可读取存储介质、使用多个执行单元的视频编解码方法和装置
Sankaraiah et al. Performance optimization of video coding process on multi-core platform using gop level parallelism
KR102296987B1 (ko) 기계 학습 모델에 기초한 블록 체인을 이용한 hevc 분산형 복호화 방법, 장치 및 시스템
US11445248B1 (en) Pooling user interface (UI) engines for cloud UI rendering
Nirmalan et al. An intelligent surveillance video analytics framework using NACT-Hadoop/MapReduce on cloud services
Sanchez et al. Analysis of parallel encoding using tiles in 3D High Efficiency Video Coding