KR20200026759A - 영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램 - Google Patents

영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20200026759A
KR20200026759A KR1020190109153A KR20190109153A KR20200026759A KR 20200026759 A KR20200026759 A KR 20200026759A KR 1020190109153 A KR1020190109153 A KR 1020190109153A KR 20190109153 A KR20190109153 A KR 20190109153A KR 20200026759 A KR20200026759 A KR 20200026759A
Authority
KR
South Korea
Prior art keywords
data
encoding
training data
learning
encoding parameters
Prior art date
Application number
KR1020190109153A
Other languages
English (en)
Other versions
KR102255363B9 (ko
KR102255363B1 (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 주식회사 카카오
Publication of KR20200026759A publication Critical patent/KR20200026759A/ko
Application granted granted Critical
Publication of KR102255363B1 publication Critical patent/KR102255363B1/ko
Publication of KR102255363B9 publication Critical patent/KR102255363B9/ko

Links

Images

Classifications

    • 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
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 일 실시예에 따르는 영상 컨텐츠를 처리하는 장치는 학습 데이터에 대해 특성값을 추출하는 추출부, 복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하는 인코딩부, 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 파라미터 관리부 및 상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하는 학습부를 포함한다.

Description

영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램{APPARATUS, METHOD AND COMPUTER PROGRAM FOR PROCESSING VIDEO CONTENTS}
본 발명은 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램에 관한 것으로서, 보다 상세하게는 영상 컨텐츠의 특성값에 기초하여 최적 인코딩 파라미터를 추출하고, 추출된 최적 인코딩 파라미터를 이용하여 영상 컨텐츠를 인코딩하는 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램에 관한 것이다.
비디오 인코딩이란 비디오 데이터의 사이즈는 줄이면서, 화질은 최대한 원본 영상과 비슷하게 유지하는 기능을 의미한다. 비디오 컨텐츠는 종류에 따라 각기 다른 영상 복잡성 요소를 가지고 있으며, 이러한 각기 다른 영상 복잡성 요소를 가진 영상들을 고정된 비트레이트로 인코딩하는 경우, 트래픽 낭비 및 품질 저하를 유발시킨다는 단점을 가지고 있다.
최근에는 고정된 인코딩 옵션을 사용하는 대신에 영상의 종류에 따라 최적의 인코딩 설정값을 찾아 영상을 인코딩하여 영상 서비스를 제공하고 있다. 그러나 일반적으로 최적의 인코딩 설정값은 코덱별로 의존성을 가질 수 있으며 일반적인 옵션이나 수치를 적용하기가 어렵다는 단점을 가지고 있다. 또한, 최적의 인코딩 설정값을 찾아 인코딩하는 기술은 주문형 비디오(VOD)에 특화되어 있어 실시간 라이브 방송에 적용하기 어렵다는 단점을 가지고 있다.
따라서, 주문형 비디오뿐만 아니라, 실시간 라이브 영상에도 적용가능한 최적의 인코딩 방법이 요구되고 있다.
한국공개특허공보 제2006-0056558호 (2006.05.25 공개)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 인코딩 파라미터를 적용하여 학습 데이터를 인코딩하여, 복수의 인코딩 파라미터 중 학습 데이터에 가장 적합한 최적의 인코딩 파라미터를 추출하도록 하는 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
학습 데이터에 대해 추출된 특성값 및 최적 인코딩 파라미터에 기초하여 사용자 단말로부터 요청받은 영상 컨텐츠에 대해 가장 적합한 인코딩 파라미터로 인코딩하도록 하는 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따르는 학습 데이터에 대해 특성값을 추출하는 추출부, 복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하는 인코딩부, 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 파라미터 관리부 및 상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하는 학습부를 포함하는 영상 처리 장치를 제공할 수 있다.
본 발명의 다른 실시예에 따르는 학습 데이터에 대해 특성값을 추출하는 단계, 복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하는 단계, 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 단계 및 상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하는 단계를 포함하는 영상 처리 방법을 제공할 수 있다.
본 발명의 또 다른 실시예에 따르는 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 학습 데이터에 대해 특성값을 추출하고, 사용자 단말로부터 영상 컨텐츠를 요청받는 경우 상기 요청받은 영상 컨텐츠에 대해 특성값을 추출하고, 복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하고, 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하고, 상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 사용자 단말로부터 요청받은 영상 컨텐츠를 최적 인코딩 파라미터로 인코딩함으로써, 고품질의 영상 컨텐츠를 제공하거나 또는 적은 데이터로 영상 컨텐츠를 전송할 수 있도록 하는 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
원본 비디오 데이터의 코덱의 종류와는 무관하게, 학습 데이터에 대해 다양한 종류의 코덱을 지원하여 영상 컨텐츠를 인코딩하고, 인코딩된 영상 컨텐츠를 전송할 수 있도록 하는 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
VOD(Video On demand) 영상 외에 실시간 스트리밍 영상에 대해서도 최적 인코딩 파라미터를 적용하여 인코딩할 수 있도록 하는 영상 컨텐츠를 처리하는 장치, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 영상 처리 장치의 구성도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 원본 비디오 데이터로부터 학습 데이터를 생성하는 과정을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 복수의 인코딩 파라미터를 적용하여 인코딩된 학습 데이터에 기초하여 최적 인코딩 파라미터를 추출하는 과정을 설명하기 위한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터셋을 생성하는 과정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 데이터 셋을 이용하여 학습하는 과정을 설명하기 위한 예시적인 도면이다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 화질 특성 함수에 기초하여 최적 인코딩 파라미터를 결정하는 과정을 설명하기 위한 예시적인 도면이다.
도 8은 본 발명의 일 실시예에 따른 복수의 인코딩 파라미터에 대해 가중치를 조절하여 최적 인코딩 파라미터를 추출하는 방법의 순서도이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 영상 컨텐츠의 최적의 인코딩 파라미터를 예측하는 과정을 설명하기 위한 예시적인 도면이다.
도 10은 본 발명의 일 실시예에 따른 영상 처리 장치에서 영상 컨텐츠를 처리하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰(smart phone), 태블릿 PC, 웨어러블 디바이스뿐만 아니라, 블루투스(BLE, Bluetooth Low Energy), NFC, RFID, 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. 또한, "네트워크"는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
도 1은 본 발명의 일 실시예에 따른 영상 처리 시스템의 구성도이다. 도 1을 참조하면, 영상 처리 시스템(1)은 영상 처리 장치(110) 및 사용자 단말(120)을 포함할 수 있다. 여기서, 도 1의 영상 처리 시스템(1)은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니다. 즉, 본 발명의 다양한 실시예들에 따르면 영상 처리 시스템(1)은 도 1과 다르게 구성될 수도 있다.
영상 처리 장치(110)는 원본 비디오 데이터로부터 학습 데이터를 생성할 수 있다. 예를 들어, 영상 처리 장치(110)는 원본 비디오 데이터로부터 화면 전환 구간을 검출하고, 검출된 화면 전환 구간에 따라 원본 비디오 데이터를 분할하여 인코딩함으로써, 학습 데이터를 생성할 수 있다. 한편, 영상 처리 장치(110)는 인코딩된 학습 데이터와 관련된 원본 비디오 데이터를 디코딩할 수 있다.
영상 처리 장치(110)는 학습 데이터에 대해 특성값을 추출할 수 있다.
영상 처리 장치(110)는 복수의 인코딩 파라미터를 적용하여 학습 데이터를 인코딩할 수 있다. 여기서, 복수의 인코딩 파라미터는 기설정된 복수의 화질 레벨 및 기설정된 복수의 파일 사이즈 제한값의 조합으로 구성될 수 있다.
영상 처리 장치(110)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출할 수 있다. 예를 들어, 영상 처리 장치(110)는 화질 특성 함수를 통해 복수의 인코딩 파라미터에 대한 가중치를 조절하고, 복수의 인코딩 파라미터 중 조절된 가중치를 반영하여 최적 인코딩 파라미터를 추출할 수 있다.
영상 처리 장치(110)는 사용자 단말(120)로부터 영상 컨텐츠를 요청받은 경우, 요청받은 영상 컨텐츠에 대해 특성값을 추출하고, 요청받은 영상 컨텐츠에 대해 추출된 특성값 및 영상 컨텐츠에 대해 추출된 특성값과 대응되는 학습 데이터에 대해 추출된 특성값이 포함된 데이터셋에 기초하여 영상 컨텐츠에 대한 최적 인코딩 파라미터를 결정할 수 있다. 이 때, 영상 처리 장치(110)는 결정된 최적 인코딩 파라미터를 적용하여 영상 컨텐츠를 인코딩할 수 있다.
영상 처리 장치(110)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출할 수 있다. 예를 들어, 영상 처리 장치(110)는 산출된 품질 점수 및 인코딩된 학습 데이터의 파일 사이즈를 이용하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출할 수 있다.
영상 처리 장치(110)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터를 각각의 비디오 데이터로 디코딩하고, 디코딩된 원본 비디오 데이터와 학습 데이터가 디코딩된 비디오 데이터 간의 품질을 비교하여 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출할 수 있다.
영상 처리 장치(110)는 학습 데이터에 대해 추출된 특성값과 추출된 최적 인코딩 파라미터에 기초하여 학습할 수 있다. 예를 들어, 영상 처리 장치(110)는 학습 데이터에 대해 추출된 특성값과 추출된 최적 인코딩 파라미터를 매핑하여 데이터셋을 생성하고, 생성된 데이터셋을 이용하여 학습할 수 있다.
영상 처리 장치(110)는 복수의 인코딩 파라미터의 변화에 대한 화질 특성 함수에 산출된 품질 점수 및 인코딩된 학습 데이터의 파일 사이즈를 입력하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출할 수 있다. 이 때, 영상 처리 장치(110)는 화질 특성 함수의 결과값으로부터 추출된 최적 인코딩 파라미터와 학습 데이터에 대해 추출된 특성값을 매핑하여 데이터셋을 생성하고, 생성된 데이터셋을 이용하여 학습할 수 있다. 예를 들어, 영상 처리 장치(110)는 화질 특성 함수를 통해 복수의 인코딩 파라미터에 대한 가중치를 조절하고, 복수의 인코딩 파라미터 중 조절된 가중치를 반영하여 최적 인코딩 파라미터를 추출하고, 조절된 가중치에 따라 추출된 최적 인코딩 파라미터에 기초하여 학습할 수 있다.
영상 처리 장치(110)는 생성된 데이터셋을 이용하여 사용자 단말(120)로부터 요청받은 영상 컨텐츠에 대한 최적 인코딩 파라미터를 도출하고, 도출된 최적 인코딩 파라미터를 적용하여 영상 컨텐츠를 인코딩할 수 있다.
이러한 과정을 걸쳐, 영상 처리 장치(110)는 스케쥴러를 통해 대용량 비디오 데이터와 태스크를 효과적으로 처리하기 위한 잡(job)을 생성하고, 저장된 원본 비디오 데이터의 비디오 청크(video chunk)를 이용하여 학습 비디오 데이터의 최적 인코딩 파라미터를 찾아 딥러닝을 통해 해당 값을 찾는 데이터셋을 생성할 수 있다. 예를 들어, 영상 처리 장치(110)는 각 세그먼별로 학습 데이터의 특성값과 관련된 로그 파일이 생성되면, 해당 로그 파일명에 최적의 화질 레벨 및 최대 파일 사이즈 제한값에 대한 설정값이 파일명에 표시되고, 해당 로그 파일을 읽어 필드별로 파싱한 후에 입력값에 대해 전처리를 수행할 수 있다. 예를 들어, 영상 처리 장치(110)는 주어진 화질 레벨 및 최대 파일 사이즈 제한값을 라벨(label)로 하여 학습할 수 있다.
사용자 단말(120)은 영상 컨텐츠를 영상 처리 장치(110)로 요청할 수 있다. 여기서, 영상 컨텐츠는 VOD(Video On Demand), 실시간 스트리밍 채널 등을 포함할 수 있다.
사용자 단말(120)은 영상 처리 장치(110)로부터 최적 인코딩 파라미터에 기초하여 인코딩된 영상 컨텐츠를 수신할 수 있다. 예를 들어, 사용자 단말(120)은 영상 처리 장치(110)로부터 최적 인코딩 파라미터에 기초하여 인코딩된 고품질의 영상 컨텐츠 또는 데이터를 적게 소모하는 영상 컨텐츠를 수신할 수 있다.
이와 같은 도 1의 영상 처리 시스템(1)에 포함된 각각의 구성요소의 동작에 대해서는 이하의 도면들을 통해 보다 구체적으로 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 영상 처리 장치의 구성도이다. 도 2를 참조하면, 영상 처리 장치(110)는 학습 데이터 생성부(210), 추출부(220), 인코딩부(230), 디코딩부(240), 파라미터 관리부(250), 품질 점수 산출부(260) 및 학습부(270)를 포함할 수 있다. 다만, 본 발명의 일 실시예에 따른 영상 처리 장치(110)의 구성은 도 2와 다르게 이루어질 수도 있다.
학습 데이터 생성부(210)는 원본 비디오 데이터로부터 학습 데이터를 생성할 수 있다. 예를 들어, 학습 데이터 생성부(210)는 원본 비디오 데이터의 청크(chunk)에 기초하여 학습 데이터를 생성할 수 있다.
이하에서는, 원본 비디오 데이터로부터 학습 데이터를 생성하는 과정에 대해 도 3a 및 도 3b를 통해 상세히 설명하도록 한다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 원본 비디오 데이터로부터 학습 데이터를 생성하는 과정을 설명하기 위한 예시적인 도면이다.
도 3a를 참조하면, 학습 데이터 생성부(210)는 다양한 영상 컨텐츠의 특성값을 추출하기 위해 다양한 비디오 스트림(300)을 수집하여 저장할 수 있다. 예를 들어, 학습 데이터 생성부(210)는 실시간으로 야구 경기 비디오 스트림, 축구 경기 비디오 스트림, 골프 경기 비디오 스트림, 뉴스 비디오 스트림, 게임 경기 비디오 스트림 등의 다양한 비디오 스트림(300)을 수집하여 저장(310)할 수 있다. 이 때, 학습 데이터 생성부(210)는 각 비디오 스트림의 'TS chunk'(315)에 기초하여 원본 비디오 데이터의 청크(chunk)를 저장(320)할 수 있다.
도 3b를 참조하면, 학습 데이터 생성부(210)는 저장된 비디오 스트림의 청크에 기초하여 원본 비디오 데이터(330)를 생성할 수 있다. 예를 들어, 학습 데이터 생성부(210)는 소정의 시간(예를 들어, 1분) 단위로 비디오 스트림의 청크를 다운로드(download)하여 원본 비디오 데이터(330)를 생성할 수 있다. 여기서, 원본 비디오 데이터(330)는 예를 들어, 'Sample01.mp4'과 같이 파일 포맷을 포함하도록 구성될 수 있다.
인코딩부(230)는 원본 비디오 데이터(330)에 대해 인코딩(340)을 수행할 수 있다. 인코딩부(230)는 학습 데이터가 생성되기 이전에 원본 비디오 데이터(330)에 대해 1차 인코딩(340)을 수행할 수 있다. 여기서, 원본 비디오 데이터(330)에 대해 수행되는 1차 인코딩(340)은 딥러닝 학습을 위해 영상의 특성값을 추출하여 다양한 코덱 또는 설정이 적용된 학습 데이터를 생성하기 위함이다. 예를 들어, 인코딩부(230)는 1차 인코딩(340)을 통해 원본 비디오 데이터(330)를 기설정된 해상도의 높은 품질을 갖도록 인코딩할 수 있다.
인코딩부(230)는 원본 비디오 데이터(330)로부터 화면 전환 구간을 검출할 수 있다. 예를 들어, 인코딩부(230)는 IDR(Instantaneous Decoding Refresh) 단위로 화면 전환 구간을 검출할 수 있다.
여기서, IDR은 일종의 키 프레임(key frame)으로, 일반적으로 비디오의 I-프레임(I frame)이 이에 해당한다. IDR은 인코딩 과정에서 장면 전환이 필요하거나, 인코딩 파라미터의 큰 변화가 필요하다고 판단되는 경우에 각 부분이 나누어 처리될 수 있으며, 이 때의 나누어지는 부분을 의미할 수 있다. 원본 비디오 데이터를 IDR 단위로 분할하여 세그먼트화하는 이유는 IDR 단위로 원본 비디오 데이터를 세그먼트화하여 분석하는 경우, IDR 단위로 원본 비디오 데이터의 특징을 추출할 수 있어, 임의의 시간 단위로 나누어진 비디오 데이터에 비해 두드러진 특성값을 획득할 수 있기 때문이다.
인코딩부(230)는 검출된 화면 전환 구간에 따라 원본 비디오 데이터(330)를 분할할 수 있다. 예를 들어, 인코딩부(230)는 1차 인코딩(340)을 통해 원본 비디오 데이터(330)를 IDR 단위로 예를 들어, 'segment_00.mp4', 'segment_01.mp4', 'segment_02.mp4', 'segment_03.mp4', 'segment_04.mp4'와 같이 복수의 세그먼트(segment, 350)로 분할할 수 있다.
추출부(220)는 분할된 원본 비디오 데이터에 대해 특성값을 추출할 수 있다. 예를 들어, 추출부(220)는 원본 비디오 데이터로부터 IDR 단위로 분할된 각각의 세그먼트에 대해 특성값을 추출할 수 있다.
학습 데이터 생성부(210)는 분할된 원본 비디오 데이터 및 추출된 특성값에 기초하여 학습 데이터(360)를 생성할 수 있다. 이 때, 학습 데이터 생성부(210)는 생성된 학습 데이터(360)의 위치 및 메타데이터를 함께 저장할 수 있다.
다시 도 2로 돌아와서, 인코딩부(230)는 복수의 인코딩 파라미터를 적용하여 학습 데이터를 인코딩할 수 있다. 파라미터 관리부(250)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출할 수 있다.
이하에서는, 도 4를 통해 복수의 인코딩 파라미터를 적용하여 인코딩된 학습 데이터에 기초하여 최적 인코딩 파라미터를 추출하는 과정에 대해서 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 복수의 인코딩 파라미터를 적용하여 인코딩된 학습 데이터에 기초하여 최적 인코딩 파라미터를 추출하는 과정을 설명하기 위한 예시적인 도면이다.
도 4를 참조하면, 디코딩부(240)는 학습 데이터와 관련된 원본 비디오 데이터를 디코딩(400)할 수 있다. 디코딩된 학습 데이터와 관련된 원본 비디오 데이터는 예를 들어, 'segment_00.yuv', 'segment_01.yuv', 'segment_02.yuv', 'segment_03.yuv', 'segment_04.yuv'와 같이 YUV의 파일포맷으로 구성될 수 있다.
인코딩부(230)는 복수의 인코딩 파라미터를 적용하여 학습 데이터를 인코딩할 수 있다. 인코딩부(230)는 학습 데이터가 생성된 이후에 2차 인코딩(410)을 수행할 수 있다. 여기서, 복수의 인코딩 파라미터는 기설정된 복수의 화질 레벨 및 기설정된 복수의 파일 사이즈 제한값의 조합으로 구성될 수 있다. 예를 들어, 인코딩부(230)는 제 1 케이스로 구성된 화질 레벨과 최대 파일 사이즈 제한값의 조합을 이용하여 학습 데이터를 인코딩(420)할 수 있다. 이러한 과정을 통해, 인코딩부(230)는 학습 데이터에 복수의 인코딩 파라미터를 적용하여 모든 케이스에 대해 인코딩할 수 있다.
화질 레벨(CRF)은 0~51 사이의 정수값을 가지며, 파일 사이즈 제한값(Max Rate)은 영상의 해상도에 따라 소정의 범위가 설정될 수 있다. 예를 들어, 인코딩부(230)는 화질 레벨(CRF)을 19~27까지 9개, 최대 파일 사이즈 제한값(Max Rate)을 1.5Mbps~4.5Mbps까지 0.5Mbps 간격으로 8가지의 값을 샘플링하여 사용할 수 있으며, 화질 레벨(CRF)과 최대 파일 사이즈 제한값(Max Rate) 간의 파라미터 조합을 통해 총 72가지의 인코딩 결과를 생성할 수 있다.
디코딩부(240)는 각각의 케이스로 인코딩된 학습 데이터를 디코딩(430)할 수 있다.
파라미터 관리부(250)는 디코딩된 학습 데이터와 관련된 원본 비디오 데이터와 각각의 케이스로 인코딩된 후 디코딩된 비디오 데이터를 비교하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출(440)하여, 최적 인코딩 파라미터를 결정(450)할 수 있다.
다시 도 2로 돌아와서, 품질 점수 산출부(260)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출할 수 있다.
학습부(270)는 학습 데이터에 대해 추출된 특성값과 추출된 최적 인코딩 파라미터에 기초하여 학습할 수 있다. 예를 들어, 학습부(270)는 학습 데이터에 대해 추출된 특성값과 추출된 최적 인코딩 파라미터를 매핑하여 데이터셋을 생성하고, 생성된 데이터셋을 이용하여 학습할 수 있다.
추출부(220)는 사용자 단말(120)로부터 영상 컨텐츠를 요청받은 경우, 요청받은 영상 컨텐츠에 대해 특성값을 추출하고, 파라미터 관리부(250)는 데이터셋을 이용하여 최적의 화질 레벨 및 최대 파일 사이즈 제한값을 검출할 수 있다. 여기서, 화질 레벨(CRF)과 최대 파일 사이즈 제한값(Max Rate)의 조합을 검출하는 이유는 종래의 경우 화질 레벨과 비트레이트 중 어느 하나에 대해서만 고려하고, 나머지가 두 요소 사이의 관련성에 의해 결정되도록 하였으나, 본 발명에서는 화질 레벨이 아닌 시청자에게 시각화된 실제 화질을 타겟 밸류(target value)로 놓고, 최적의 화질 레벨(CRF)과 최대 파일 사이즈 제한값(Max Rate)의 조합을 구함으로써, 실제 화질에 기반한 최적값을 획득할 수 있게 된다. 이를 통해, 화질 레벨을 타겟팅하는 것이 아닌 실제 사용자가 인식하는 화질을 타겟팅하여 해당 화질을 획득할 수 있도록 하는 화질 레벨(CRF)과 비트레이트의 조합을 찾을 수 있다. 여기서, 화질 레벨은 인코딩하는 과정 중 영상 분석의 관점에서 화질을 판단하는 방식을 의미하며, 실제 사용자가 인식하는 화질과 차이가 발생할 수 있다. 따라서, 화질 레벨을 타겟팅하는 것이 아닌 실제 사용자가 인식하는 화질을 타겟팅하여 해당 화질을 획득할 수 있는 화질 레벨(CRF)과 비트레이트 조합을 찾기 위함이다.
데이터셋을 생성하는 과정에 대해서는 도 5를 통해 상세히 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 데이터셋을 생성하는 과정을 설명하기 위한 예시적인 도면이다. 도 5를 참조하면, 디코딩부(240)는 학습 데이터와 관련된 원본 비디오 데이터(500)를 디코딩할 수 있다. 또한, 인코딩부(230)는 화질레벨 및 최대 파일 사이즈 제한값의 조합으로 구성된 복수의 인코딩 파라미터를 적용하여 학습 데이터를 인코딩(510)하고, 디코딩부(240)는 인코딩된 학습 데이터를 디코딩할 수 있다.
품질 점수 산출부(260)는 디코딩된 원본 비디오 데이터와 학습 데이터가 디코딩된 비디오 데이터 간의 품질을 비교하여 측정(515)하고, 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수(VMAF)를 산출(520)할 수 있다.
예를 들어, 품질 점수 산출부(260)는 디코딩된 원본 비디오 데이터와 학습 데이터가 디코딩된 비디오 데이터 간의 품질을 비교함으로써, 영상의 품질을 유지하는 동시에 영상 사이즈의 크기가 너무 크지 않은 정도의 최적의 화질 레벨(CRF) 및 최대 파일 사이즈 제한값(Max Rate)의 조합을 검출할 수 있는 비교데이터를 생성할 수 있다. 이를 위해, 품질 점수 산출부(260)는 디코딩된 원본 비디오 데이터(YUV)와 72가지 조합의 인코딩된 영상을 디코딩한 비디오 데이터(YUV)의 품질을 비교하여 각각의 인코딩 케이스의 품질 점수를 산출할 수 있으며, 72가지 조합의 인코딩된 영상으로부터 각각의 파일 사이즈를 도출할 수 있다. 이 때, 원본 비디오 데이터와 72가지 조합으로 인코딩된 영상의 품질을 비교하는 경우, YUV raw video data가 비교될 수 있다.
파라미터 관리부(250)는 산출된 품질 점수 및 파일 사이즈를 이용하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출(530)할 수 있다.
학습부(270)는 학습 데이터에 대해 추출된 특성값과 추출된 최적의 화질 레벨(CRF) 및 최대 파일 사이즈 제한값(Max Rate) 조합으로 구성된 최적 인코딩 파라미터를 하나의 세트로 하는 데이터셋(540)을 생성할 수 있다. 예를 들어, 학습부(270)는 제 1 원본 비디오 데이터(501)와 제 2 원본 비디오 데이터(502)의 경우, '화질 레벨=28', '최대 파일 사이즈 제한값=1.5Mbps'인 최적 인코딩 파라미터를 포함하는 제 1데이터셋(541)을 생성할 수 있다. 다른 예를 들어, 제 3 원본 비디오 데이터(503)와 제 4 원본 비디오 데이터(504)의 경우, '화질 레벨=24' '최대 파일 사이즈 제한값=2.2Mbps'인 최적 인코딩 파라미터를 포함하는 제 2 데이터셋(542)을 생성할 수 있다.
이러한 과정을 반복함으로써, 예를 들어, 수십만개의 영상에 대해 딥러닝을 위한 학습용 데이터셋을 확보할 수 있게 된다.
학습부(270)는 생성된 데이터셋을 이용하여 학습할 수 있다. 데이터셋을 이용하여 학습하는 과정에 대해서는 도 6을 통해 상세히 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 데이터 셋을 이용하여 학습하는 과정을 설명하기 위한 예시적인 도면이다. 도 6을 참조하면, 인코딩부(230)는 세그먼트와 특성값으로 구성된 학습 데이터(600) 중 소정의 학습 데이터(610)에 대해 인코딩(611)을 수행할 수 있다. 예를 들어, 인코딩부(230)는 화질 레벨(CRF) 및 최대 파일 사이즈 제한값의 조합으로 구성된 각각의 케이스를 학습 데이터에 적용하여 인코딩(611)을 수행할 수 있다. 예를 들어, 인코딩부(230)는 '화질 레벨+최대 파일 사이즈 제한값'의 조합으로 구성된 인코딩 파라미터를 적용하여 학습 데이터를 인코딩(620)할 수 있다. 이 때, 학습 데이터는 '화질 레벨+최대 파일 사이즈 제한값.mp4'(621)와 같은 파일 포맷으로 구성될 수 있다.
디코딩부(240)는 인코딩된 학습 데이터인 '화질 레벨+최대 파일 사이즈 제한값.mp4'를 '화질 레벨+최대 파일 사이즈 제한값.yuv'(622)로 디코딩할 수 있다. 한편, 디코딩부(240)는 학습 데이터(610)와 관련된 원본 비디오 데이터를 디코딩(612)할 수 있다. 이 때, 디코딩된 원본 비디오 데이터는 'segment[0-N].yuv' (613)과 같은 파일 포맷으로 구성될 수 있다.
품질 점수 산출부(260)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출(630)할 수 있다. 예를 들어, 품질 점수 산출부(260)는 디코딩된 원본 비디오 데이터와 학습 데이터가 디코딩된 비디오 데이터 간의 품질을 비교하여 복수의 인코딩 파라미터에 따라 학습 데이터 각각에 대해 품질 점수를 산출(630)할 수 있다.
학습부(270)는 산출된 품질 점수에 기초하여 스코어셋(640)을 생성할 수 있다. 스코어셋(640)은 예를 들어, 학습 데이터의 점수(641), 파일 사이즈(642), 특성값(643) 등을 포함할 수 있다.
학습부(270)는 복수의 인코딩 파라미터의 변화에 대한 화질 특성 함수를 이용(650)할 수 있다.
이 때, 파라미터 관리부(250)는 화질 특성 함수를 통해 복수의 인코딩 파라미터에 대한 가중치를 조절하고, 복수의 인코딩 파라미터 중 조절된 가중치를 반영하여 최적 인코딩 파라미터를 추출할 수 있다. 학습부(270)는 조절된 가중치에 따라 추출된 최적 인코딩 파라미터에 기초하여 학습할 수 있다.
예를 들어, 학습부(270)는 학습 데이터에 대해 화질 레벨 및 최대 파일 사이즈 제한값의 조합으로 구성된 각 인코딩 파라미터의 변화에 따른 화질 특성 함수를 이용(650)하고, 이후 파라미터 관리부(250)가 사용자 단말(120)로부터 요청받은 영상 컨텐츠의 특성값으로 화질 특성 함수를 유추하여 상황에 따라 화질 레벨 또는 파일 사이즈를 선택적으로 유연하게 가중치를 부여할 수 있다. 예를 들어, 학습부(270)는 복수의 인코딩 파라미터의 변화에 대한 화질 특성 함수에 산출된 품질 점수 및 인코딩된 학습 데이터의 파일 사이즈를 입력하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출할 수 있다.
파라미터 관리부(250)는 복수의 인코딩 파라미터의 변화에 대한 화질 특성 함수에 산출된 품질 점수 및 인코딩된 학습 데이터의 파일 사이즈를 입력하여 최적의 인코딩 파라미터 조합을 추출(660)하고, 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 결정(670)할 수 있다. 이 때, 파라미터 관리부(250)는 알고리즘을 이용하여 가중치를 화질 또는 파일 사이즈에 부여할지를 조정할 수 있다.
학습부(270)는 학습 데이터에 대해 추출된 특성값과 추출된 최적 인코딩 파라미터를 매핑하여 데이터셋(680)을 생성하고, 생성된 데이터셋(680)을 이용하여 딥러닝을 통해 최적의 인코딩 파라미터 조합을 검출하도록 학습할 수 있다.
예를 들어, 학습부(270)는 학습 데이터에 대한 화질 레벨(CRf), 최대 파일 사이즈 제한값(Max Rate), 품질 점수(Quality Score)에 대한 데이터 피팅 모델(Curve fitting model) 모델을 생성하고, 생성된 데이터 피팅 모델을 통해 획득된 화질 특성 함수의 결과값으로부터 추출된 최적의 인코딩 파라미터를 학습 데이터의 특성값과 매핑하여 하나의 데이터셋(680)으로 생성할 수 있다.
학습부(270)는 화질 특성 함수의 결과값으로부터 추출된 최적 인코딩 파라미터와 학습 데이터에 대해 추출된 특성값을 매핑하여 데이터셋을 생성하고, 생성된 데이터셋을 이용하여 최적의 인코딩 파라미터 조합을 검출하도록 학습할 수 있다. 또한, 화질 특성 함수의 각 가중치는 최적의 인코딩 파라미터 조합을 검출하도록 하는 학습과 별개로 학습될 수 있다. 예를 들어, 학습부(270)는 학습 데이터로부터 추출된 특성값, 화질 레벨(CRF)/품질 점수(Quality Score), 최대 파일 사이즈 제한값(Max Rate)/품질 점수(Quality Score)의 데이터를 활용하여 화질 특성 함수의 결과값을 도출할 수 있다. 품질 또는 파일 사이즈와 관련된 화질 특성 함수의 가중치를 선택적으로 조절하여 학습 데이터에 적합한 최적의 인코딩 파라미터를 도출할 수 있으며, 영상 처리 장치(110)에 의해 상황에 따라 화질 또는 파일 사이즈에 가중치가 부여된 인코딩 파라미터가 획득될 수 있다.
최적의 화질 레벨 및 최대 파일 사이즈 제한값은 화질 특성 함수의 계산시, 가중치에 따라 변동될 수 있다. 지속적으로 학습이 가능하기 때문에 업로드되는 영상 컨텐츠를 분석하여 가중치를 변경함으로써, 전체적인 학습 결과의 효용성을 높일 수 있다. 예를 들어, 월드컵 기간과 같이 스포츠 관련 영상의 업로드가 많아 지는 경우, 학습부(270)는 화질에 가중치를 조금 더 부여하여 화질 특성 함수를 조절함으로써, 전체적으로 화질이 높아지는 방향으로 학습되도록 함으로써, 학습된 모델을 적용하여 획득된 화질 레벨(CRF)/최대 파일 사이즈 제한값(Max Rate)이 적용된 영상 컨텐츠는 기존 대비 화질이 좋아지는 효과를 획득할 수 있게 된다. 이와 달리, 뉴스, 직캠, 개인 동영상 등과 같이 움직임이 적은 영상의 업로드가 많아지는 경우, 학습부(270)는 비트레이트(용량)를 감소시키는 방향으로 가중치를 조절함으로써, 전체적으로 영상 컨텐츠의 트래픽을 감소시킬 수 있다는 장점을 갖는다.
이러한 과정의 반복을 통해, 학습부(270)는 수만~수십만번에 거쳐 많은 데이터셋을 확보하고, 확보된 데이터셋을 딥러닝을 통해 최적의 인코딩 파라미터 조합을 검출하도록 학습하는데 이용될 수 있다. 예를 들어, 학습부(270)는 원본 비디오 데이터의 청크의 특성값과 최적의 화질 레벨(CRF) 및 최대 파일 사이즈 제한값(Max Rate)로 조합된 최적 인코딩 파라미터에 기초하여 학습할 수 있다.
다시 도 2로 돌아와서, 추출부(220)는 사용자 단말(120)로부터 영상 컨텐츠를 요청받은 경우 요청받은 영상 컨텐츠에 대해 특성값을 추출할 수 있다. 예를 들어, 추출부(220)는 실시간으로 스트리밍되는 영상 컨텐츠에 대해 소정의 시간 간격(예를 들어, 10초)으로 영상 컨텐츠의 특성값을 추출할 수 있다.
인코딩부(230)는 추출된 영상 컨텐츠의 특성값에 기초하여 영상 컨텐츠에 대한 최적 화질 레벨(CRF) 및 최대 파일 사이즈 제한값(Max Rate)의 조합으로 구성된 최적의 인코딩 파라미터를 추출하고, 추출된 최적의 인코딩 파라미터를 적용하여 영상 컨텐츠를 인코딩할 수 있다.
전송부(미도시)는 인코딩된 영상 컨텐츠를 사용자 단말(120)로 전송할 수 있다.
도 7a 및 도 7b는 본 발명의 일 실시예에 따른 화질 특성 함수에 기초하여 최적 인코딩 파라미터를 결정하는 과정을 설명하기 위한 예시적인 도면이다.
도 7a는 본 발명의 일 실시예에 따른 화질 레벨 및 비트레이트의 상관 관계에 기초하여 품질 점수를 산출하는 과정을 설명하기 위한 예시적인 도면이다.
도 7a는 본 발명의 일 실시예에 따른 화질 레벨과 비트레이트 간의 상관 관계를 도시한 그래프이다. 도 7a를 참조하면, 화질 레벨과 비트레이트 간의 관계는 영상별로 다르므로, 영상 자체가 아닌 영상의 특성값을 추출하고, 해당 특성값을 가지는 영상들에 대해 화질 레벨과 비트레이트 제한 옵션(최대 비트레이트)을 변경함으로써, 인코딩된 영상의 실제 화질과 할당된 비트레이트를 측정할 수 있다. 이 때, 화질은 화질 레벨(CRF)이 낮을수록 좋아지는 경향을 나타낸다.
그림 (a, 710)는 가로축이 화질 레벨(711), 세로축이 화질(712)을 나타낸다. 여기서, 그림 (a, 710)의 각 라인은 설정된 최대 비트레이트에 따라 도출된다. 그림 (a, 710)를 참조하면, 화질 레벨(711)을 높은 값에서 낮은 값으로 변화시키면 초기에는 화질이 상대적으로 많이 좋아지나(영역 I), 일정 레벨이 지나면 그 증가속도가 현저히 낮아진다(영역 II). 그러나 화질 레벨(711)이 높아지면 실제 화질은 떨어지게 된다(영역 I, II 참조). 따라서, 최대 비트레이트를 높임으로써, 화질을 좋아지게 할 수 있다. 그러나 최대 비트레이트를 높일수록 화질은 좀 더 좋아지지만, 최대 비트레이트가 일정 크기를 넘어서면, 화질이 좋아지는 효과가 크지 않을 수 있다.
그림 (b, 720)는 가로축이 화질 레벨(721), 세로축이 비트레이트(722)를 나타낸다. 그림 (b, 720)를 참조하면, 화질 레벨(721)이 높은 경우 비트레이트(722)가 크지 않지만(영역 I), 화질 레벨(721)이 낮아질수록 할당되는 비트레이트(722)가 급격하게 증가한다(영역 II).
그림 (a, 710), (b, 720)를 동시에 고려하면, 화질 레벨(711, 721)이 높은 경우 사용하는 비트레이트(722) 대비 높은 화질(712)을 획득할 수 있지만, 일정 레벨 이하가 되는 경우 좋아지는 화질(712) 대비 과도한 비트레이트(722)를 사용하게 된다.
그림 (c, 730)는 가로축이 최대 비트레이트(731), 세로축이 화질(732)을 나타내고, 그림 (d, 740)는 가로축이 최대 비트레이트(741), 세로축이 비트레이트(742)를 나타낸다. 여기서, 그림 (c, 730), (d, 740)는 그림 (a, 710), 그림 (b, 720)과 같은 결과를 가로축만 최대 비트레이트(731, 741)로 바꾸어 표현한 것이다.
그림 (c, 730), 그림 (d, 740)를 동시에 고려하면, 최대 비트레이트(731, 741)가 작을 경우에는 비트레이트(742)가 조금만 커져도 화질(732)이 많이 좋아지지만, 일정값을 넘어서게 되면 추가적인 화질의 증가가 거의 없다는 것을 알 수 있다.
따라서, 최적의 인코딩 파라미터를 결정하기 위해서는 영역 I(750)과 영역 II(760) 사이에서 화질 레벨과 최대 비트레이트를 선택해야 한다.
도 7b는 본 발명의 일 실시예에 따른 화질 특성 함수에 기초하여 최적 인코딩 파라미터를 결정하는 과정을 설명하기 위한 예시적인 도면이다. 영상 처리 장치(110)는 최적의 조합 선택 알고리즘을 이용하여 화질 레벨-최대 파일 사이즈 제한값의 조합별로 품질 점수(r값)를 계산하고, 높은 조합순으로 정렬할 수 있다. 이 때, 화질이 높은 조합(예를 들어, 품질 점수가 높은 조합)이 상대적으로 적은 비트레이트로 높은 화질을 획득할 수 있는 조합을 의미할 수 있다. 영상 처리 장치(110)는 가장 점수가 높은 소정의 조합(예를 들어, 상위 10개)을 선택하고, 이 중 비정상적인 조합의 포함 여부를 확인한 후 해당 조합을 저장할 수 있다.
도 7b를 참조하면, 좌측의 그래프(760)는 화질 데이터 상에 표시된 화질 레벨과 최대 파일 사이즈 제한값에 따라 선택된 조합(예를 들어, 점수가 높은 상위 10개의 조합)이고, 우측의 그래프(761)는 비트레이트 데이터 상에 표시된 화질 레벨과 최대 파일 사이즈 제한값에 따라 선택된 조합을 도시한 것이다.
이를 통해, 화질 및 최대 파일 사이즈 제한값의 기울기가 꺾이는 부근에서 최적의 조합들이 선택된 것을 확인할 수 있다.
예를 들어, 고정 비트레이트를 적용(781)한 경우, 품질 점수(772)가 '95.26'이고, 파일 사이즈(773)가 '761KB'이고, 본 발명에서 제안하는 최적 인코딩 파라미터를 적용(782)한 경우, 화질 레벨(770)이 '24.0'이고, 최대 파일 사이즈 제한값(771)이 '2.0Mbsp'이고, 품질 점수(772)가 '93.05'이고, 파일 사이즈(773)가 '524KB'로 고정 비트레이트 대비 최적 인코딩 파라미터를 적용한 결과(783)는 품질 점수(772)가 97.68%이고, 파일 사이즈(773)가 68.9%로 도출된 것을 확인할 수 있다. 품질 점수는 거의 비슷하지만 파일 사이즈가 많이 감소되었기 때문에 그만큼 데이터를 효율적으로 사용했음을 알 수 있다.
도 8은 본 발명의 일 실시예에 따른 복수의 인코딩 파라미터에 대해 가중치를 조절하여 최적 인코딩 파라미터를 추출하는 방법의 순서도이다. 도 8을 참조하면, 영상 처리 장치(110)는 화질 레벨을 정규화하고(S801), 다항식 피팅에 의한 데이터를 생성할 수 있다(S802). 이 때, 영상 처리 장치(110)는 화질 레벨에 대한 기울기를 산출하여(S803), 가중치를 조절할 수 있다(S804).
영상 처리 장치(110)는 최대 파일 사이즈 제한값을 정규화하고(S805), 다항식 피팅에 의한 데이터를 생성할 수 있다(S806). 이 때, 영상 처리 장치(110)는 최대 파일 사이즈 제한값에 대한 기울기를 산출하여(S807), 가중치를 조절할 수 있다(S808).
예를 들어, 영상 처리 장치(110)는 데이터 전처리(data reprocessing) 알고리즘을 이용하여 다양한 조합의 화질 레벨과 최대 비트레이트의 설정에 의해 인코딩된 학습 데이터로부터 계산된 품질 점수 및 비트레이트(또는 파일 사이즈, 비트레이트는 파일 사이즈/시간을 의미함)의 데이터를 읽어오고(read), 읽어온 데이터로부터 품질 점수(quality)와 비트레이트(bitrate) 데이터를 분리하고(quality/bitrate), 연산할 화질 특성 함수를 위해 품질 점수(quality)와 비트레이트(bitrate) 데이터를 정규화(normalization)할 수 있다. 이 때, 모든 화질 레벨과 최대 비트레이트 조합을 대상으로 데이터를 생성하는 것은 많은 연산을 필요로 하므로, 몇가지 조합에 대해서만 실제 인코딩을 수행하고, 나머지 조합에 대해서는 해당 결과를 다항식 피팅에 의한 데이터를 이용할 수 있다.
영상 처리 장치(110)는 화질 특성 함수로부터 품질 점수를 산출하고(S809), 품질 점수에 의한 후보 인코딩 파라미터 조합을 분류할 수 있다(S810).
예를 들어, 영상 처리 장치(110)는 점수 계산(calculating scores) 알고리즘을 이용하여 품질 점수(r값)를 계산할 수 있다. 여기서, 화질 특성 함수는 비트레이트 대비 좋은 화질을 얻을수록 높은 값을 가지도록 설계될 수 있다. 이 때, 화질은 무시한채 최대 파일 사이즈 제한값이 낮은 데이터 영역의 점수가 좋아질 수 있으므로, 화질은 다음의 수학식을 통해 보장되도록 할 수 있다.
Figure pat00001
여기서, qv는 정규화된 품질 점수를 의미하고, bv는 정규화된 비트 레이트(또는 파일 사이즈)를 의미하고, qs는 qv로부터 각 화질 레벨/최대 파일 사이즈 제한값의 구간에서 계산한 기울기를 의미하고, bs는 bv로부터 각 화질 레벨/최대 파일 사이즈 제한값의 구간에서 계산한 기울기를 의미하고, weight_1은 품질 점수와 비트레이트값을 어느 정도 반영할지를 결정하는 가중치를 의미하고, weight_2는 각 데이터의 기울기를 어느 정도에 반영할지를 결정하는 가중치를 의미할 수 있다. 여기서, bv는 파일사이즈/시간을 통해 비트레이트값으로 도출될 수도 있다.
수학식 1을 참조하면, qv가 커지면, r이 커지고, bv가 커지면, r이 작아지게 된다. 즉, 화질이 좋아지면, r이 커지고, 비트레이트가 커지면 r이 작아진다. 이 때, weight_1은 qv와 bv에 대한 가중치를 조절하는 역할을 수행할 수 있다. 예를 들어, weight_1을 0.5로 설정하면, qv와 bv를 동일하게 반영하게 되고, weight_1을 0.5보다 크게 설정하면, r값은 qv에 민감하게 반응하게 되고, weight_1을 0.5보다 작게 설정하면, r값은 bv의 변화에 민감하게 반응하게 된다. 또한, qs가 크면, 화질 레벨 및 최대 파일 사이즈 제한값의 변동에 대해 화질이 효과적으로 증가하게 되므로, r값에 긍정적인 영향을 미치게 된다.
이와 달리, bs가 커지면, 화질 레벨 및 최대 파일 사이즈 제한값의 변동에 대해 데이터의 크기가 민감하게 증가한다는 의미이기 때문에, r값에 부정적인 영항을 미치게 된다.
이러한 기울기의 변화에 대한 영향을 weight_2의 값을 이용하여 가중치를 조절할 수 있다.
영상 처리 장치(110)는 후보 인코딩 파라미터 조합 중 상위 10개를 선택하고(S811), 상위 10개의 후보 인코딩 파라미터 조합이 주어진 조건을 만족하는지 여부를 판단할 수 있다(S812). 예를 들어, 영상 처리 장치(110)는 상위 10개의 후보 인코딩 파라미터 조합이 주어진 조건을 만족하는 경우(S813), 상위 10개의 후보 인코딩 파라미터 중 주어진 조건을 만족하는 최적 인코딩 파라미터를 결정할 수 있다(S814). 다른 예를 들어, 영상 처리 장치(110)는 상위 10개의 후보 인코딩 파라미터 조합이 주어진 조건을 만족하지 않은 경우(S815), 후보 인코딩 파라미터 조합 중 상위 10개를 재선택할 수 있다(S811).
상술한 설명에서, 단계 S801 내지 S815은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 영상 컨텐츠의 최적의 인코딩 파라미터를 예측하는 과정을 설명하기 위한 예시적인 도면이다.
도 9a는 본 발명의 일 실시예에 따른 프레임 번호에 따른 프레임 사이즈를 도시한 그래프이다. 도 9a를 참조하면, 프레임 번호(900)에 따른 프레임 사이즈(910)에 대한 그래프는 영상 컨텐츠의 화질 레벨(CRF)과 최대 파일 사이즈 제한값(Max Rate)은 급격히 변화하지 않고, 이전 영상 컨텐츠와 연계되거나 특정 패턴으로 연결되는 경우가 많은 것을 알 수 있다.
도 9b는 본 발명의 일 실시예에 따른 최적 인코딩 파라미터를 영상 컨텐츠에 적용하여 보정하는 과정을 설명하기 위한 예시적인 도면이다. 도 9b를 참조하면, 영상 처리 장치(110)는 선택된 화질 레벨(CRF)과 최대 파일 사이즈 제한값(Max Rate)를 10초 후의 영상에 적용하는 경우 보정을 수행할 수 있다. 예를 들어, 선택된 최적 인코딩 파라미터는 10초 후의 영상 데이터를 기반으로 하며, 현재 영상 컨텐츠에 이전 최적 인코딩 파라미터를 적용할 경우, 오차가 발생할 수 있으므로, 지난 최적 인코딩 파라미터를 기반으로 적정한 수준의 세트를 전달하는 역할을 수행할 수 있다.
예를 들어, 이전 청크인 청크 #3(930)의 최적 인코딩 파라미터에 기초하여 해당 청크와 관련된 청크를 검색할 수 있다. 이후, 영상 처리 장치(110)는 청크 #1(931), 청크 #2(932), 청크 #3(933)의 청크 조합값(chunk SVS)을 비교하여 패턴을 분석(예를 들어, chunk, sec, min)할 수 있다.
영상 처리 장치(110)는 예측된 청크 #4(934)의 조합값(SVS)을 선택하고, 청크 #4의 조합값에 기초하여 영상 컨텐츠를 인코딩(940)할 수 있다.
도 10은 본 발명의 일 실시예에 따른 영상 처리 장치에서 영상 컨텐츠를 처리하는 방법의 순서도이다. 도 10에 도시된 영상 처리 장치(110)에서 영상 컨텐츠를 처리하는 방법은 도 1 내지 도 9b에 도시된 실시예에 따라 영상 처리 시스템(1)에 의해 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 9b에 도시된 실시예에 따른 영상 처리 장치(110)에서 영상 컨텐츠를 처리하는 방법에도 적용된다.
단계 S1010에서 영상 처리 장치(110)는 학습 데이터에 대해 특성값을 추출할 수 있다.
단계 S1020에서 영상 처리 장치(110)는 복수의 인코딩 파라미터를 적용하여 학습 데이터를 인코딩할 수 있다.
단계 S1030에서 영상 처리 장치(110)는 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출할 수 있다.
단계 S1040에서 영상 처리 장치(110)는 학습 데이터에 대해 추출된 특성값과 추출된 최적 인코딩 파라미터에 기초하여 학습할 수 있다.
상술한 설명에서, 단계 S1010 내지 S1040은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 10을 통해 설명된 영상 처리 장치(110)에서 영상 컨텐츠를 처리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 10을 통해 설명된 영상 처리 장치(110)에서 영상 컨텐츠를 처리하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 영상 처리 장치
120: 사용자 단말
210: 학습 데이터 생성부
220: 추출부
230: 인코딩부
240: 디코딩부
250: 파라미터 관리부
260: 품질 점수 산출부
270: 학습부

Claims (20)

  1. 영상 컨텐츠를 처리하는 장치에 있어서,
    학습 데이터에 대해 특성값을 추출하는 추출부;
    복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하는 인코딩부;
    상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 파라미터 관리부; 및
    상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하는 학습부
    를 포함하는 것인, 영상 처리 장치.
  2. 제 1 항에 있어서,
    상기 학습부는 상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터를 매핑하여 데이터셋을 생성하고, 상기 생성된 데이터셋을 이용하여 학습하는 것인, 영상 처리 장치.
  3. 제 1 항에 있어서,
    상기 복수의 인코딩 파라미터는 기설정된 복수의 화질 레벨 및 기설정된 복수의 파일 사이즈 제한값의 조합으로 구성되는 것인, 영상 처리 장치.
  4. 제 1 항에 있어서,
    상기 추출부는 사용자 단말로부터 영상 컨텐츠를 요청받는 경우 상기 요청받은 영상 컨텐츠에 대해 특성값을 추출하고,
    상기 파라미터 관리부는 상기 요청받은 영상 컨텐츠에 대해 추출된 특성값 및 상기 영상 컨텐츠에 대해 추출된 특성값과 대응되는 상기 학습 데이터에 대해 추출된 특성값이 포함된 데이터셋에 기초하여 상기 영상 컨텐츠에 대한 최적 인코딩 파라미터를 결정하고,
    상기 인코딩부는 상기 결정된 최적 인코딩 파라미터를 적용하여 상기 영상 컨텐츠를 인코딩하는 것인, 영상 처리 장치.
  5. 제 4 항에 있어서,
    상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출하는 품질 점수 산출부를 더 포함하는, 영상 처리 장치.
  6. 제 5 항에 있어서,
    상기 학습 데이터와 관련된 원본 비디오 데이터를 디코딩하고, 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터를 각각의 비디오 데이터로 디코딩하는 디코딩부를 더 포함하되,
    상기 품질 점수 산출부는 상기 디코딩된 원본 비디오 데이터와 상기 학습 데이터가 디코딩된 비디오 데이터 간의 품질을 비교하여 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출하는 것인, 영상 처리 장치.
  7. 제 6 항에 있어서,
    상기 파라미터 관리부는 상기 산출된 품질 점수 및 상기 인코딩된 학습 데이터의 파일 사이즈를 이용하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 것인, 영상 처리 장치.
  8. 제 6 항에 있어서,
    상기 학습부는 상기 복수의 인코딩 파라미터의 변화에 대한 화질 특성 함수에 상기 산출된 품질 점수 및 상기 인코딩된 학습 데이터의 파일 사이즈를 입력하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 것인, 영상 처리 장치.
  9. 제 8 항에 있어서
    상기 학습부는 상기 화질 특성 함수의 결과값으로부터 추출된 최적 인코딩 파라미터와 상기 학습 데이터에 대해 추출된 특성값을 매핑하여 데이터셋을 생성하고, 상기 생성된 데이터셋을 이용하여 학습하는 것인, 영상 처리 장치.
  10. 제 9 항에 있어서,
    상기 파라미터 관리부는 상기 생성된 데이터셋을 이용하여 상기 사용자 단말로부터 요청받은 영상 컨텐츠에 대한 상기 최적 인코딩 파라미터를 도출하고,
    상기 인코딩부는 상기 도출된 최적 인코딩 파라미터를 적용하여 상기 영상 컨텐츠를 인코딩하는 것인, 영상 처리 장치.
  11. 제 10 항에 있어서,
    상기 파라미터 관리부는 상기 화질 특성 함수를 통해 상기 복수의 인코딩 파라미터에 대한 가중치를 조절하고, 상기 복수의 인코딩 파라미터 중 상기 조절된 가중치를 반영하여 최적 인코딩 파라미터를 추출하고,
    상기 학습부는 상기 조절된 가중치에 따라 추출된 최적 인코딩 파라미터에 기초하여 학습하는 것인, 영상 처리 장치.
  12. 제 1 항에 있어서,
    원본 비디오 데이터로부터 상기 학습 데이터를 생성하는 학습 데이터 생성부를 더 포함하되,
    상기 인코딩부는 상기 원본 비디오 데이터로부터 화면 전환 구간을 검출하고, 상기 검출된 화면 전환 구간에 따라 상기 원본 비디오 데이터를 분할하고,
    상기 학습 데이터 생성부는 상기 분할된 원본 비디오 데이터로부터 상기 학습 데이터를 생성하는 것인, 영상 처리 장치.
  13. 영상 처리 장치에서 영상 컨텐츠를 처리하는 방법에 있어서,
    학습 데이터에 대해 특성값을 추출하는 단계;
    복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하는 단계;
    상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 단계; 및
    상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하는 단계
    를 포함하는 것인, 영상 처리 방법.
  14. 제 13 항에 있어서,
    상기 학습하는 단계는,
    상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터를 매핑하여 데이터셋을 생성하고, 상기 생성된 데이터셋을 이용하여 학습하는 단계를 포함하는 것인, 영상 처리 방법.
  15. 제 13 항에 있어서,
    상기 복수의 인코딩 파라미터는 기설정된 복수의 화질 레벨 및 기설정된 복수의 파일 사이즈 제한값의 조합으로 구성되는 것인, 영상 처리 방법.
  16. 제 13 항에 있어서,
    사용자 단말로부터 영상 컨텐츠를 요청받는 경우 상기 요청받은 영상 컨텐츠에 대해 특성값을 추출하는 단계;
    상기 요청받은 영상 컨텐츠에 대해 추출된 특성값 및 상기 영상 컨텐츠에 대해 추출된 특성값과 대응되는 상기 학습 데이터에 대해 추출된 특성값이 포함된 데이터셋에 기초하여 상기 영상 컨텐츠에 대한 최적 인코딩 파라미터를 결정하는 단계 및
    상기 결정된 최적 인코딩 파라미터를 적용하여 상기 영상 컨텐츠를 인코딩하는 단계를 더 포함하는 것인, 영상 처리 방법.
  17. 제 16 항에 있어서,
    상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출하는 단계를 더 포함하는, 영상 처리 방법.
  18. 제 17 항에 있어서,
    상기 학습 데이터와 관련된 원본 비디오 데이터를 디코딩하고, 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터를 각각의 비디오 데이터로 디코딩하는 단계 및
    상기 디코딩된 원본 비디오 데이터와 상기 학습 데이터가 디코딩된 비디오 데이터 간의 품질을 비교하여 상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터 각각에 대해 품질 점수를 산출하는 단계를 더 포함하는 것인, 영상 처리 방법.
  19. 제 18 항에 있어서,
    상기 산출된 품질 점수 및 상기 인코딩된 학습 데이터의 파일 사이즈를 이용하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하는 단계를 더 포함하는 것인, 영상 처리 방법.
  20. 영상 컨텐츠를 처리하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    학습 데이터에 대해 특성값을 추출하고,
    복수의 인코딩 파라미터를 적용하여 상기 학습 데이터를 인코딩하고,
    상기 복수의 인코딩 파라미터에 따라 인코딩된 학습 데이터에 기초하여 상기 복수의 인코딩 파라미터 중 적어도 하나를 최적 인코딩 파라미터로 추출하고,
    상기 학습 데이터에 대해 추출된 특성값과 상기 추출된 최적 인코딩 파라미터에 기초하여 학습하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
KR1020190109153A 2018-09-03 2019-09-03 영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램 KR102255363B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180104821 2018-09-03
KR1020180104821 2018-09-03

Publications (3)

Publication Number Publication Date
KR20200026759A true KR20200026759A (ko) 2020-03-11
KR102255363B1 KR102255363B1 (ko) 2021-05-26
KR102255363B9 KR102255363B9 (ko) 2021-07-14

Family

ID=69809821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190109153A KR102255363B1 (ko) 2018-09-03 2019-09-03 영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102255363B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220068880A (ko) * 2020-11-19 2022-05-26 네이버 주식회사 인공지능 모델을 이용한 동영상 인코딩 최적화 방법, 시스템, 및 컴퓨터 프로그램
CN114666634A (zh) * 2022-03-21 2022-06-24 北京达佳互联信息技术有限公司 画质检测结果显示方法、装置、设备及存储介质
WO2022163995A1 (ko) * 2021-01-27 2022-08-04 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
WO2023017873A1 (ko) * 2021-08-09 2023-02-16 김승모 영상 인코딩 품질학습 및 예측 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060056558A (ko) 2004-11-22 2006-05-25 주식회사 네빌소프트 영상의 인코딩 및 디코딩 방법
WO2017002283A1 (ja) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
KR20170079852A (ko) * 2015-12-31 2017-07-10 네이버 주식회사 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060056558A (ko) 2004-11-22 2006-05-25 주식회사 네빌소프트 영상의 인코딩 및 디코딩 방법
WO2017002283A1 (ja) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 符号化方法、復号方法、符号化装置、復号装置および符号化復号装置
KR20170079852A (ko) * 2015-12-31 2017-07-10 네이버 주식회사 이미지 압축 품질을 최적화 하기 위한 방법 및 시스템

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220068880A (ko) * 2020-11-19 2022-05-26 네이버 주식회사 인공지능 모델을 이용한 동영상 인코딩 최적화 방법, 시스템, 및 컴퓨터 프로그램
WO2022163995A1 (ko) * 2021-01-27 2022-08-04 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
WO2023017873A1 (ko) * 2021-08-09 2023-02-16 김승모 영상 인코딩 품질학습 및 예측 시스템
CN114666634A (zh) * 2022-03-21 2022-06-24 北京达佳互联信息技术有限公司 画质检测结果显示方法、装置、设备及存储介质
CN114666634B (zh) * 2022-03-21 2024-03-19 北京达佳互联信息技术有限公司 画质检测结果显示方法、装置、设备及存储介质

Also Published As

Publication number Publication date
KR102255363B9 (ko) 2021-07-14
KR102255363B1 (ko) 2021-05-26

Similar Documents

Publication Publication Date Title
KR102255363B1 (ko) 영상 컨텐츠를 처리하는 장치, 방법, 및 컴퓨터 프로그램
US11979627B2 (en) Optimization of encoding profiles for media streaming
US20220030244A1 (en) Content adaptation for streaming
US20210168397A1 (en) Systems and Methods for Learning Video Encoders
US10999578B2 (en) Transcoding media content using an aggregated quality score
US10476943B2 (en) Customizing manifest file for enhancing media streaming
US20190294729A1 (en) Content Type Detection In Videos Using Multiple Classifiers
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
US11729407B2 (en) Saliency-based video compression systems and methods
US20180191801A1 (en) Adaptively updating content delivery network link in a manifest file
US20180191586A1 (en) Generating manifest file for enhancing media streaming
US9877056B1 (en) Compressed media with still images selected from a video stream
Zabrovskiy et al. ComplexCTTP: complexity class based transcoding time prediction for video sequences using artificial neural network
US20230169691A1 (en) Method of providing image storage service, recording medium and computing device
Devlic et al. QoE-aware optimization for video delivery and storage
US10440085B2 (en) Effectively fetch media content for enhancing media streaming
US10609383B2 (en) Video compression using down-sampling patterns in two phases
US20240187548A1 (en) Dynamic resolution switching in live streams based on video quality assessment
US10681105B2 (en) Decision engine for dynamically selecting media streams
EP4068779A1 (en) Cross-validation of video encoding
JP5981803B2 (ja) 画質評価装置、画質評価方法及び画質評価プログラム
Mazumdar et al. Vignette: perceptual compression for video storage and processing systems
CN111818338B (zh) 一种异常显示检测方法、装置、设备及介质
WO2018236715A1 (en) STORING PREDICTIVE CONTINUOUS DIFFUSION CONTENT OF IMMERSIVE 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
G170 Publication of correction