KR20220030779A - 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램 - Google Patents

영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20220030779A
KR20220030779A KR1020200112531A KR20200112531A KR20220030779A KR 20220030779 A KR20220030779 A KR 20220030779A KR 1020200112531 A KR1020200112531 A KR 1020200112531A KR 20200112531 A KR20200112531 A KR 20200112531A KR 20220030779 A KR20220030779 A KR 20220030779A
Authority
KR
South Korea
Prior art keywords
image
coordinate information
frame
detection error
region
Prior art date
Application number
KR1020200112531A
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 주식회사 케이티
Priority to KR1020200112531A priority Critical patent/KR20220030779A/ko
Publication of KR20220030779A publication Critical patent/KR20220030779A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/144Movement detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/14Picture signal circuitry for video frequency region
    • H04N5/147Scene change detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0127Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level by changing the field or frame frequency of the incoming video signal, e.g. frame rate converter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

영상의 형태를 변환하는 사용자 단말은 콘텐츠 제공 서버로 영상을 요청하는 요청부, 상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하는 영상 수신부, 상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하는 관심 객체 영역 설정부, 상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하는 오류 보정부, 상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하는 크롭 영역 도출부 및 상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 영상 변환부를 포함한다.

Description

영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램{USER DEVICE, METHOD AND COMPUTER PROGRAM FOR CONVERTING SHAPE OF VIDEO}
본 발명은 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램에 관한 것이다.
최근의 모바일 단말의 사용자들은 모바일 단말을 이용하여 비디오 콘텐츠를 소비하는 시간이 급증하고 있다. 예를 들어, 사용자들은 출퇴근 시간 등을 이용하여 모바일 IPTV, 글로벌 OTT(Over The Top) 등을 이용한 콘텐츠, 브이로거와 같이 개인들이 촬영한 콘텐츠 등을 주로 시청하고 있다.
비디오 콘텐츠는 대부분 가로 형태의 비율(예를 들어, 16:9 비율)로 인코딩된다. 만약, 사용자가 세로 화면인 모바일 단말을 이용하여 비디오 콘텐츠를 시청하고자 하는 경우, 사용자는 비디오 콘텐츠를 크게 시청하기 위해 모바일 단말을 가로로 회전시킨 후 시청해야 한다.
그러나 사용자가 모바일 단말기의 화면을 가로 화면으로 장시간 유지한 채 시청하는 경우, 손목에 무리가 가게 됨에 따라 모바일 단말의 세로 화면을 통해 비디오 콘텐츠를 작게 시청하는 사용자들도 적지 않다.
이와 같이, 사용자들이 비디오 콘텐츠의 시청을 용이하게 하기 위해 비디오 콘텐츠의 영상의 비율을 변환하는 기술이 개발되고 있으며, 이와 관련하여, 선행기술인 한국공개특허 제2011-0007397호는 영상 리사이징 방법 및 장치를 개시하고 있다.
그러나 가로 형태 기반의 영상을 세로 형태의 영상으로 제공하기 위해서는 관심 영역을 선택해야 하며, 가로 형태 기반의 영상으로부터 어느 정도의 영역까지를 관심 영역으로 선택해야 하는지의 문제가 발생한다.
또한, 관심 영역의 선택을 객체의 얼굴 기준으로 하는 경우, 검출된 얼굴의 크기에 따라 영상의 비율이 달라질 수 있으며, 다수의 얼굴이 검출된 경우, 관심 영역을 어디까지 설정할 것인가의 문제가 발생한다는 단점을 가지고 있다.
콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하고, 영상으로부터 객체를 검출하고, 검출된 객체에 대한 관심 객체 영역을 설정하고, 영상에 포함된 적어도 하나의 프레임으로부터 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 발생된 객체 검출 오류에 따라 관심 객체 영역을 보정하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
관심 객체 영역으로부터 크롭 영역을 도출하고, 도출된 크롭 영역에 기초하여 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 콘텐츠 제공 서버로 영상을 요청하는 요청부, 상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하는 영상 수신부, 상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하는 관심 객체 영역 설정부, 상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하는 오류 보정부, 상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하는 크롭 영역 도출부 및 상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 영상 변환부를 포함하는 사용자 단말을 제공할 수 있다.
본 발명의 다른 실시예는, 콘텐츠 제공 서버로 영상을 요청하는 단계, 상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하는 단계, 상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하는 단계, 상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하는 단계, 상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하는 단계, 상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하는 단계 및 상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 단계를 포함하는 영상 변환 방법을 제공할 수 있다.
본 발명의 또 다른 실시예는, 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 콘텐츠 제공 서버로 영상을 요청하고, 상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하고, 상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하고, 상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하고, 상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하고, 상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 종래에는 사용자들이 가로 형태 기반의 영상을 전체 화면으로 시청하기 위해 사용자 단말의 화면을 가로 화면이 되도록 회전시켰어야 했으나, 사용자 단말의 화면을 가로 화면으로 회전시키지 않고도, 세로 화면을 통해 객체 중심의 영상을 시청할 수 있도록 하는 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
사용자가 좋아하는 인물, 관심있는 아이템 등을 중심으로 객체가 확대된 영상을 제공할 수 있도록 하는 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
사용자 단말의 세로 화면을 분할하여 제 1 영역을 통해서는 원본 영상을 표시하고, 제 2 영역을 통해서는 원본 영상의 보조 수단으로서 객체 중심의 영상을 같이 제공함으로써, 영상의 몰입도를 향상시킬 수 있는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
과거의 표준 디스플레이 형태를 따르는 과거 영상을 현재의 표준 디스플레이 형태로 변환하여 과거 영상이 늘어지거나, 잘리는 부분이 없이 디스플레이에 적합하게 재생되도록 하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
유투버, 브이로거와 같이 동영상을 제작하여 업로드하는 1인 방송 제작자들에게 자신이 원하는 영상의 형태로 영상이 변환되도록 하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
영상에 포함된 텍스트를 중심으로 영상의 형태 변환을 통해 확대된 텍스트가 표시되도록 함으로써, 시력이 좋지 않은 시니어들에게 더 나은 시청 영상을 제공하도록 하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
원본 영상으로부터 아이템을 중심으로 하는 객체 중심의 영상을 제공하고, 아이템과 관련된 정보를 제공하는 사용자 단말, 방법 및 컴퓨터 프로그램을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 변환 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 제 1 형태의 영상을 도시한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 객체를 검출하여 관심 객체 영역을 설정하는 과정을 설명하기 위한 예시적인 도면이다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 객체의 얼굴에 대한 얼굴 좌표 정보에 기초하여 관심 객체 영역을 보정하는 과정을 설명하기 위한 예시적인 도면이다.
도 6은 본 발명의 일 실시예에 따른 객체의 신체에 대한 신체 좌표 정보에 기초하여 관심 객체 영역을 보정하는 과정을 설명하기 위한 예시적인 도면이다.
도 7은 본 발명의 일 실시예에 따른 기설정된 알고리즘을 이용하여 관심 객체 영역을 보정하는 과정을 설명하기 위한 예시적인 도면이다.
도 8a 내지 도 8d는 본 발명의 일 실시예에 따른 영상 처리 시간에 기초하여 영상에 대한 해상도 및 FPS를 조정하는 과정을 설명하기 위한 예시적인 도면이다.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 관심 객체 영역으로부터 크롭 영역을 도출하여 제 2 형태의 영상으로 변환하는 과정을 설명하기 위한 예시적인 도면이다.
도 10a 및 도 10b는 본 발명의 일 실시예에 따른 제 2 형태의 영상으로 변환되기 전에 수행되는 후처리 과정을 설명하기 위한 예시적인 도면이다.
도 11a 내지 도 11e는 본 발명의 일 실시예에 따른 제 1 형태의 영상으로부터 제 2 형태의 영상으로의 변환을 통해 제공되는 다양한 서비스를 도시한 예시적인 도면이다.
도 12는 본 발명의 일 실시예에 따른 사용자 단말에서 영상의 비율을 변환하는 방법의 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 영상 변환 시스템의 구성도이다. 도 1을 참조하면, 영상 변환 시스템(1)은 사용자 단말(110), 콘텐츠 제공 서버(120) 및 자막 제공 서버(130)를 포함할 수 있다. 사용자 단말(110), 콘텐츠 제공 서버(120) 및 자막 제공 서버(130)는 영상 변환 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 영상 변환 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 사용자 단말(110)은 콘텐츠 제공 서버(120) 또는 자막 제공 서버(130)와 동시에 또는 시간 간격을 두고 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(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) 등이 포함되나 이에 한정되지는 않는다.
사용자 단말(110)은 사용자로부터 요청받는 영상을 재생할 수 있다. 이를 위해, 사용자 단말(110)은 콘텐츠 제공 서버(120)로 영상을 요청할 수 있다.
사용자 단말(110)은 요청에 응답하여 콘텐츠 제공 서버(120)로부터 제 1 형태의 영상을 수신할 수 있다. 예를 들어, 제 1 형태의 영상은 16:9의 비율로 인코딩된 가로 비율 기반의 영상일 수 있다. 제 1 형태는 일반적으로 사용자 단말을 통해 영상이 재생되는 경우 기본으로 설정된 디스플레이 형태에 해당할 수 있다. 이 경우, 사용자는 사용자 단말의 화면을 가로 방향으로 돌려서 제 1 형태의 영상을 시청하는 것이 제 1 형태의 영상에 맞게 최적화된 시청 방법일 수 있다. 하지만 매번 영상을 시청할 때마다 사용자 단말의 화면을 가로 방향으로 돌리는 번거로움을 줄이기 위해, 본원 발명은 제 1 형태의 영상을 제 2 형태로 변형하는 방법을 아래와 같이 제안하고자 한다.
사용자 단말(110)은 영상으로부터 객체를 검출하고, 검출된 객체에 대한 관심 객체 영역을 설정할 수 있다. 이 때, 사용자 단말(110)은 적어도 하나의 프레임으로부터 객체를 추적하고, 적어도 하나의 프레임으로부터 추적된 객체의 좌표 정보를 추출할 수 있다.
예를 들어, 사용자 단말(110)은 적어도 하나의 프레임으로부터 객체의 얼굴을 검출하고, 객체의 얼굴을 검출한 경우, 검출된 객체의 얼굴에 대한 얼굴 좌표 정보를 추출할 수 있다.
다른 예를 들어, 사용자 단말(110)은 적어도 하나의 프레임으로부터 객체의 신체를 검출하고, 검출된 객체의 신체에 대한 신체 좌표 정보를 추출할 수 있다.
사용자 단말(110)은 영상에 포함된 적어도 하나의 프레임으로부터 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 발생된 객체 검출 오류에 따라 관심 객체 영역을 보정할 수 있다.
예를 들어, 사용자 단말(110)은 객체의 얼굴에 대한 얼굴 좌표 정보가 추출된 경우, 객체의 얼굴이 검출된 이웃하는 프레임 간의 장면 변환이 발생되었는지 여부를 판단하고, 장면 변환이 발생되지 않은 경우, 이웃하는 프레임 간의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단할 수 있다. 이 때, 사용자 단말(110)은 객체 검출 오류가 발생된 경우, 객체 검출 오류가 발생된 프레임에서 얼굴 좌표 정보를 보정할 수 있다.
다른 예를 들어, 사용자 단말(110)은 객체의 신체가 검출된 이웃하는 프레임 간의 신체 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단할 수 있다. 이 때, 사용자 단말(110)은 객체 검출 오류가 발생된 경우, 객체가 검출된 이웃하는 프레임 간의 신체 좌표 정보를 비교하여 이동 경로 벡터를 도출하고, 도출된 이동 경로 벡터를 이용하여 객체 검출 오류가 발생된 프레임에서 얼굴 좌표 정보를 보정할 수 있다.
또 다른 예를 들어, 사용자 단말(110)은 영상에 대한 색채, 색상, 엣지 중 적어도 하나를 이용하는 기설정된 알고리즘에 기초하여 객체가 검출된 프레임에서 객체의 얼굴에 대한 얼굴 좌표 정보를 보정할 수 있다.
이러한 객체 검출 오류에 대한 보정은 객체의 얼굴->신체->기설정된 알고리즘의 순으로 점진적으로 수행될 수 있다.
사용자 단말(110)은 적어도 하나의 프레임을 처리하는 영상 처리 시간을 측정하고, 측정된 영상 처리 시간에 기초하여 제 2 형태의 영상에 대한 해상도 및 FPS(Frames Per Second) 중 적어도 하나를 조정할 수 있다. 이는, 사용자 단말(110) 별로 영상 처리에 대한 성능이 각각 달라 영상 처리 시간이 달라질 수 있으며, 객체 검출 오류가 발생된 경우, 객체 검출 오류로 인해 영상 처리 시간이 달라질 수 있어 사용자에게 디스플레이해주는 영상의 해상도 및 FPS를 조정해주기 위함이다.
사용자 단말(110)은 보정된 관심 객체 영역으로부터 크롭 영역을 도출하고, 도출된 크롭 영역에 기초하여 제 1 형태의 영상을 제 2 형태의 영상으로 변환할 수 있다.
사용자 단말(110)은 영상으로부터 자막 영역을 검출하고, 영상으로부터 자막 영역이 검출된 경우, 크롭 영역에 기초하여 검출된 자막 영역을 제 2 형태의 영상에 적용할 수 있다.
콘텐츠 제공 서버(120)는 사용자 단말(110)로부터 콘텐츠를 요청받고, 요청받은 콘텐츠를 사용자 단말(110)로 제공할 수 있다. 여기서, 콘텐츠는 영화, 방송, 게임, 스포츠 등의 방송사 또는 제작사에 의해 제작된 영상, 개인에 의해 촬영 및 업로드된 1인 영상을 포함할 수 있다.
자막 제공 서버(130)는 콘텐츠와 대응하는 자막을 사용자 단말(110)로 제공할 수 있다. 이 때, 자막은 사람에 의해 수동으로 번역되거나 또는 AI(Artificial Intelligence)에 의해 자동 기계 번역된 것일 수 있다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다. 도 2를 참조하면, 사용자 단말(110)은 요청부(210), 영상 수신부(220), 관심 객체 영역 설정부(230), 오류 보정부(240), 조정부(250), 크롭 영역 도출부(260), 영상 변환부(270) 및 자막 영역 검출부(280)를 포함할 수 있다.
요청부(210)는 콘텐츠 제공 서버(120)로 영상을 요청할 수 있다. 예를 들어, 요청부(210)는 콘텐츠 제공 서버(120)로 영화, 드라마, 스포츠 등과 같이 방송된 영상을 요청할 수 있다. 다른 예를 들어, 요청부(2120)는 콘텐츠 제공 서버(120)로 개인이 촬영하여 업로드한 1인 영상을 요청할 수도 있다.
영상 수신부(220)는 요청에 응답하여 콘텐츠 제공 서버(120)로부터 제 1 형태의 영상을 수신할 수 있다. 예를 들어, 영상 수신부(220)는 실시간 스트리밍 또는 VoD(Video on Demand) 스트리밍 방식을 통해 제 1 형태의 영상을 수신할 수 있다. 여기서, 잠시 도 3a 및 도 3b를 통해 제 1 형태의 영상에 대해 설명하도록 한다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 제 1 형태의 영상을 도시한 예시적인 도면이다.
도 3a를 참조하면, 제 1 형태의 영상(300)이란 가로 형태 기반의 영상으로, 현재 표준 디스플레이 비율에 해당하는 16:9 비율로 인코딩된 영상일 수 있다. 이러한 제 1 형태의 영상(300)은 가로 형태 기반의 영상으로 인코딩됨에 따라, 사용자는 사용자 단말(110)의 화면을 가로 방향으로 회전시킴에 따라 사용자 단말(110)의 가로 화면을 통해 제 1 형태의 영상을 전체 화면으로 시청할 수 있게 된다.
그러나 사용자가 제 1 형태의 영상(300)을 사용자 단말(110)의 전체 화면으로 시청하기 위해 사용자 단말(110)의 화면을 가로 화면으로 회전시킨 후 장시간 유지시킨 경우, 사용자의 손목에 무리가 가게 되고, 심하게는 손목 터널 증후군이 발생될 수 있다는 단점을 가지고 있다.
도 3b를 참조하면, 제 1 형태의 영상(300)은 가로 형태 기반의 영상으로 인코딩됨에 따라, 사용자가 사용자 단말(110)의 세로 화면을 통해 제 1 형태의 영상(300)을 시청하고자 하는 경우, 사용자는 사용자 단말(110)의 전체 화면 중 일부분에 해당하는 작은 영역을 통해 제 1 형태의 영상(300)을 시청할 수 밖에 없었다.
따라서, 본 발명에서는 제 1 형태의 영상(300)을 사용자 단말(110)의 세로 화면을 통해서도 전체 화면으로 시청할 수 있도록 하는 방법을 제공하고자 한다.
다시 도 2로 돌아와서, 관심 객체 영역 설정부(230)는 영상으로부터 객체를 검출하고, 검출된 객체에 대한 관심 객체 영역을 설정할 수 있다. 여기서, 객체는 영상 내에서 볼 수 있는 사람 또는 사물 등을 포함할 수 있고, 관심 객체 영역을 설정하는 방식은 사용자 입력에 의한 방식 또는 딥러닝을 이용한 방식 중 어느 하나가 이용될 수 있다.
관심 객체 영역 설정부(230)는 객체 추적부(231) 및 좌표 정보 추출부(232)를 포함할 수 있다.
객체 추적부(231)는 영상에 포함되는 적어도 하나의 프레임으로부터 객체를 추적할 수 있다. 예를 들어, 객체 추적부(231)는 설정된 관심 객체 영역에 기초하여 각 프레임 간의 관계(예를 들어, 현재 프레임과 이전 프레임 간의 관계)를 이용하여 객체를 추적할 수 있다.
좌표 정보 추출부(232)는 적어도 하나의 프레임으로부터 추적된 객체의 좌표 정보를 추출할 수 있다. 예를 들어, 좌표 정보 추출부(232)는 객체의 중심 좌표(center(x, y))를 추출할 수 있다.
이하에서는, 관심 객체 영역의 설정 방식에 따라 관심 객체 영역을 설정하는 과정에 대해 설명하도록 한다.
일 실시예에 따르면, 관심 객체 영역 설정부(230)는 사용자로부터 터치 입력을 통해 영상 내에 출현하는 특정 객체를 기준으로 관심 객체 영역의 크기 및 형태를 수동으로 설정받을 수 있다. 이 때, 객체 추적부(231)는 설정된 관심 객체 영역에 기초하여 각 프레임 간의 비교를 통해 해당 객체에 대해 객체 추적을 수행하고, 좌표 정보 추출부(232)는 추적된 객체의 중심 좌표 정보(center(x, y))를 추출할 수 있다.
이후, 산출된 객체의 중심 좌표 정보에 기초하여 사용자에 의해 선택된 관심 객체 영역 기반으로 트래킹 알고리즘인 CSRT 알고리즘에 입력되어, 객체의 다음 좌표 정보가 추출될 수 있다.
이후, 크롭 영역 도출부(260)를 통해 사용자에 의해 설정된 관심 객체 영역 및 객체의 좌표 정보에 기초하여 크롭 영역이 도출되고, 영상 변환부(270)를 통해 제 1 형태의 영상을 제 2 형태의 영상으로 변환될 수 있다.
이러한 사용자 입력을 이용하여 관심 객체 영역을 수동으로 설정하는 방식은 영상 내에서 객체의 검출이 일정하게 수행되지 않는 게임 콘텐츠 또는 영상의 장면 전환이 거이 발생되지 않는 1인 방송 등에 적합할 수 있다.
다른 실시예에 따르면, 관심 객체 영역 설정부(230)는 딥러닝 방식을 이용하여 자동으로 관심 객체 영역을 설정할 수 있다. 잠시, 도 4를 통해 딥러닝 방식을 이용하여 관심 객체 영역을 설정하는 과정에 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 객체를 검출하여 관심 객체 영역을 설정하는 과정을 설명하기 위한 예시적인 도면이다. 도 4를 참조하면, 관심 객체 영역 설정부(230)는 딥러닝 방식을 이용하여 영상(400)에 포함된 사람, 얼굴, 동물, 기타 관심 객체 등을 검출 알고리즘을 통해 객체(410)를 검출할 수 있다. 이 때, 객체 추적부(231)는 검출된 객체(410)를 추적하고, 좌표 정보 추출부(232)는 추적된 객체(410)의 중심 좌표 정보(center(x, y))를 추출할 수 있다.
이후, 관심 객체 영역 설정부(230)는 딥러닝을 통해 각 프레임 내에서 미리 학습된 사람의 얼굴, 신체, 눈 등의 신체 정보나 기타 부분을 검출하여 관심 객체 영역(420)으로 설정할 수 있다.
이러한 딥러닝을 이용하여 관심 객체 영역(420)을 설정하는 방식은 장면 전환이 많이 발생되는 드라마, 영화 등에 적합할 수 있다.
그러나 딥러닝을 이용하여 관심 객체 영역을 설정하는 방식은 객체 검출의 오류 발생으로 인해 객체의 추적이 자연스럽게 이어지지 않고, 부자연스럽게 수행되는 경우가 종종 발생한다. 또는, 검출하던 객체에 폐색(occlusion) 영역이 발생하여 객체가 검출되지 않을 수 있으며, 이 경우, 다른 영역의 객체가 검출되어 화면이 튀는 현상이 발생될 수 있다. 여기서, 폐색이란 시간적으로 인접한 제 1 프레임 및 제 2 프레임에 객체 또는 영역이 모두 존재하지 않고, 둘 중 하나에만 존재하는 것을 의미할 수 있다.
따라서, 본 발명은 딥러닝을 이용하여 관심 객체 영역을 설정하는 방식의 경우, 관심 객체 영역의 설정 후, 점진적인 알고리즘의 수행을 통해 객체 검출 오류를 판단하여 오류를 보정하도록 할 수 있다.
오류 보정부(240)는 영상에 포함된 적어도 하나의 프레임으로부터 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 발생된 객체 검출 오류에 따라 관심 객체 영역을 보정할 수 있다.
오류 보정부(240)는 객체의 얼굴에 기초하여 관심 객체 영역을 보정할 수 있다. 이를 위해, 객체 추적부(231)는 적어도 하나의 프레임으로부터 객체의 얼굴을 검출하고, 좌표 정보 추출부(232)는 객체 추적부(231)에서 객체의 얼굴을 검출한 경우, 검출된 객체의 얼굴에 대한 얼굴 좌표 정보를 추출할 수 있다.
오류 보정부(240)는 객체의 얼굴에 대한 얼굴 좌표 정보가 추출된 경우, 객체의 얼굴이 검출된 이웃하는 프레임 간의 장면 변환이 발생되었는지 여부를 판단하고, 장면 변환이 발생되지 않은 경우, 이웃하는 프레임 간의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단할 수 있다.
이하에서는, 객체의 얼굴에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단하는 과정에 대해서는 도 5a 내지 도 5c를 통해 상세히 설명하도록 한다.
도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 객체의 얼굴에 대한 얼굴 좌표 정보에 기초하여 관심 객체 영역을 보정하는 과정을 설명하기 위한 예시적인 도면이다.
도 5a는 본 발명의 일 실시예에 따른 각 프레임 마다 설정된 관심 객체 영역을 도시한 예시적인 도면이다. 도 5a를 참조하면, 객체의 얼굴을 검출하여 관심 객체 영역을 설정하는 경우, 객체의 얼굴이 가려지거나, 객체의 얼굴이 정확하게 검출되지 않아 객체의 얼굴 검출에 오류가 발생되면, 관심 객체 영역이 다른 객체의 얼굴에 설정될 수 있다.
예를 들어, 관심 객체 영역이 여배우(510)에게 설정되었다고 가정하자.
객체 추적부(231)는 적어도 하나의 프레임으로부터 여배우(510)의 얼굴을 검출할 수 있다. 예를 들어, 객체 추적부(231)는 'n 프레임'(500)에서 여배우(510)의 얼굴을 검출하여 여배우(510)의 얼굴에 관심 객체 영역이 설정되도록 할 수 있다. 이후, 'n+1 프레임'(501)에서 여배우(510)가 입을 가리고 웃은 경우, 객체 추적부(231)는 여배우(510)의 얼굴을 검출하지 못함으로써, 관심 객체 영역을 남배우(511)의 얼굴로 설정되도록 할 수 있다. 이후, 객체 추적부(231)는 'n+2 프레임'(502)에서 다시 여배우(510)의 얼굴을 검출한 경우, 관심 객체 영역이 다시 여배우(510)의 얼굴로 설정되도록 할 수 있다.
이와 같이, 객체의 얼굴의 검출에 오류가 발생되면, 관심 객체 영역이 정확하게 설정되지 않을 수 있다. 이는, 추후에 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 경우, 제 2 형태의 영상이 자연스럽게 변환되지 않을 수 있다.
도 5b는 본 발명의 일 실시예에 따른 임계값에 기초하여 객체 검출 오류의 발생 여부를 판단하는 과정을 설명하기 위한 예시적인 도면이다. 도 5a 및 도 5b를 참조하면, 오류 보정부(240)는 '이전 프레임(530)'과 '현재 프레임'(531) 간의 장면 변환이 발생되었는지 여부를 판단할 수 있다. 여기서, 이전 프레임과 현재 프레임은 설명의 용이성을 위해 표현한 것으로, 현재 프레임과 다음 프레임으로 대체될 수도 있다.
이 때, '이전 프레임'(530)과 '현재 프레임'(531) 간의 장면 변환이 발생되지 않은 경우, 오류 보정부(240)는 '이전 프레임'(530)과 '현재 프레임'(531) 간의 여배우(510)의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단할 수 있다. 만약, 장면 변환의 발생 여부를 판단하기 전에 이웃하는 프레임 간의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부를 먼저 판단하는 경우, 임계값을 이용하여 객체 검출 오류를 판단한 후에 장면 변환에 의해 새로운 객체가 검출되면 정확한 얼굴 좌표 정보를 검출할 수 없게 된다. 따라서, 장면 변환의 판단 후에 프레임 간의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부를 판단하는 것이 바람직할 수 있다.
영상에서 객체를 검출하는 경우, 객체의 형태와 관계 없이 '이전 프레임'(530) -> '현재 프레임'(531)으로 넘어가는데 있어서, 객체의 움직임은 한계가 존재할 수 밖에 없다. 따라서, 임계값은 객체의 종류, 콘텐츠의 종류에 따라 각각 다르게 설정될 수 있으며, 객체가 사람 또는 사람의 얼굴인 경우, 임계값은 30Pixel을 기준으로 할 수 있다.
오류 보정부(240)는 '이전 프레임'(530)에서 객체(520)가 검출되고, 콘텐츠의 종류에 따라 설정된 임계값(521)을 중심으로 '현재 프레임'(531)의 중심값이 임계값(521) 내에 존재하는 경우(522), 객체가 이동한 것으로 판단하고, '현재 프레임'(531)의 중심값이 임계값(521) 밖으로 벗어나는 경우(523), 객체 검출 오류가 발생한 것으로 판단할 수 있다.
이를 통해, 오류 보정부(240)는 알고리즘을 이용하여 도 5a에서 여배우(510)의 얼굴 좌표 정보가 임계값 이상 차이는지 여부에 기초하여 객체의 얼굴이 이동할 수 있는 범위를 초과하는 경우 객체 검출 오류가 발생된 것으로 판단할 수 있다.
도 5c는 본 발명의 일 실시예에 따른 장면 변환 여부에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단하는 과정을 설명하기 위한 예시적인 도면이다. 도 5a 내지 도 5c를 참조하면, 오류 보정부(240)는 객체 검출 오류가 발생된 경우, 객체 검출 오류가 발생된 프레임에서 얼굴 좌표 정보를 보정할 수 있다. 예를 들어, 오류 보정부(240)는 'n+1 프레임'(501)에서 남배우(511)의 얼굴에 설정된 관심 객체 영역을 여배우(510)의 얼굴로 이동되도록 얼굴 좌표 정보를 보정할 수 있다.
한편, '이전 프레임'(530)과 '현재 프레임'(531) 간의 장면 변환이 발생된 경우, 오류 보정부(240)는 '이전 프레임'(530)과 '현재 프레임'(531) 간의 객체의 얼굴 좌표 정보가 임계값 이상 차이 나더라도 객체 검출 오류가 발생되지 않은 것으로 판단할 수 있다.
다시 도 2로 돌아와서, 오류 보정부(240)는 객체의 신체에 기초하여 관심 객체 영역을 보정할 수 있다. 이를 위해, 객체 추적부(231)는 적어도 하나의 프레임으로부터 객체의 신체를 검출하고, 좌표 정보 추출부(232)는 검출된 객체의 신체에 대한 신체 좌표 정보를 추출할 수 있다.
오류 보정부(240)는 객체의 신체가 검출된 이웃하는 프레임 간의 신체 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단할 수 있다.
이하에서는, 객체의 신체에 기초하여 객체 검출 오류가 발생되었는지 여부를 판단하는 과정에 대해서는 도 6을 통해 상세히 설명하도록 한다.
도 6은 본 발명의 일 실시예에 따른 객체의 신체에 대한 신체 좌표 정보에 기초하여 관심 객체 영역을 보정하는 과정을 설명하기 위한 예시적인 도면이다. 도 6을 참조하면, 오류 보정부(240)는 객체의 얼굴을 검출하는 과정에서 객체 검출 오류가 발생된 경우, 객체가 검출된 이웃하는 프레임 간의 신체 좌표 정보를 비교하여 이동 경로 벡터를 도출하고, 도출된 이동 경로 벡터를 이용하여 객체 검출 오류가 발생된 프레임에서 얼굴 좌표 정보를 보정할 수 있다.
예를 들어, 영상에서 객체의 얼굴 및 신체에 대해 관심 객체 영역(600)이 설정되던 중 객체의 얼굴을 검출하는 과정에서 객체 검출 오류가 발생된 경우(610), 오류 보정부(240)는 좌표 정보 추출부(232)가 각 프레임마다 캐쉬에 저장한 신체 좌표 정보를 이용하여 이전 프레임(예를 들어, n 프레임)의 신체 좌표 정보 및 현재 프레임(예를 들어, n+1 프레임)의 신체 좌표 정보를 비교하여 이동 경로 벡터를 도출할 수 있다.
오류 보정부(240)는 도출된 이동 경로 벡터를 이전 프레임(n 프레임)의 얼굴 좌표 정보에 대입하여 현재 프레임(n+1 프레임)의 얼굴 좌표 정보를 예측하여 보정(620)할 수 있다.
다시 도 2로 돌아와서, 오류 보정부(240)는 영상에 대한 색채, 색상, 엣지 중 적어도 하나를 이용하는 기설정된 알고리즘에 기초하여 객체가 검출된 프레임에서 객체의 얼굴에 대한 얼굴 좌표 정보를 보정할 수 있다. 기설정된 알고리즘에 기초하여 얼굴 좌표 정보를 보정하는 과정에 대해서는 도 7을 통해 상세히 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 기설정된 알고리즘을 이용하여 관심 객체 영역을 보정하는 과정을 설명하기 위한 예시적인 도면이다. 도 7을 참조하면, 오류 보정부(240)는 영상에서 객체의 얼굴에 대해 관심 객체 영역(700)이 설정되던 중 객체의 얼굴을 검출하는 과정 및 객체의 신체를 검출하는 과정에서 모두 객체 검출 오류가 발생된 경우(710), 이전 프레임(예를 들어, n 프레임)에서의 얼굴 검출을 통해 검출된 얼굴 좌표 정보를 CSRT 알고리즘에 적용할 수 있다.
여기서, CSRT 알고리즘(Channel and Spatial Reliability Algorithm)이란 트래킹 알고리즘의 하나로, 관심 영역(ROI, Region of Interest)으로 설정한 객체의 가중치(Weight)를 맵핑(mapping)하는 방식으로 작동한다. CSRT 알고리즘은 일반적으로 공간 신뢰도 맵 구축, 제한된 상관 필터 학습, 채널 신뢰성 추정의 3단계 연산을 통해 작동한다.
CSRT 알고리즘은 선택된 관심 객체 영역의 색채(color), 색상(hue), 엣지(edge) 등의 다양한 정보를 이용하여 이전 프레임(n 프레임)의 다음에 해당하는 현재 프레임(n+1 프레임)의 이동된 얼굴 좌표 정보를 예측하여 보정(720)할 수 있다.
조정부(250)는 적어도 하나의 프레임을 처리하는 영상 처리 시간을 측정하고, 측정된 영상 처리 시간에 기초하여 제 2 형태의 영상에 대한 해상도 및 FPS(Frames Per Second) 중 적어도 하나를 조정할 수 있다. 만약, 영상 처리 시간이 빠른 경우(예를 들어, 초당 30프레임 이상 처리 가능한 경우), 원래 인코딩되어 있던 FPS에 맞게 프레임을 렌더링해야 하고, 영상 처리 시간이 오래 걸리는 경우(예를 들어, 초당 30프레임 미만 처리 가능한 경우), 그에 맞게 프레임률(frame rate) 또는 해상도를 조정할 수 있다.
조정부(250)는 객체 검출 오류가 발생된 경우, 영상 처리 시간이 기준 시간(예를 들어, 0.034초) 이상인지 여부에 기초하여 적어도 하나의 프레임 중 일부 프레임의 스킵(skip)을 조정 또는 객체에 대해 기저장된 좌표 정보의 수에 기초하여 적어도 하나의 프레임에 대한 렌더링 스케쥴링 조정 중 어느 하나를 수행할 수 있다. 제 2 형태의 영상에 대한 해상도 또는 FPS를 조정하는 과정에 대해서는 도 8a 내지 도 8d를 통해 상세히 설명하도록 한다.
도 8a 내지 도 8d는 본 발명의 일 실시예에 따른 영상 처리 시간에 기초하여 영상에 대한 해상도 및 FPS를 조정하는 과정을 설명하기 위한 예시적인 도면이다.
도 8a는 본 발명의 일 실시예에 따른 영상의 각 장면별 첫 번째 프레임을 이용하여 영상 처리 시간을 측정하는 과정을 설명하기 위한 예시적인 도면이다. 도 8a를 참조하면, 조정부(250)는 콘텐츠 중 각 장면(800)이 스트리밍되는 첫 번째 프레임을 이용하여 초기화(801, initializing)를 수행할 수 있다.
조정부(250)는 초기화(801)의 수행 과정에서 첫 번째 프레임을 이용하여 각 객체를 검출하는데 소요되는 시간 및 사용자 단말(110)에서 첫 번째 프레임을 처리하는데 소요되는 시간을 측정할 수 있다. 이 때, 조정부(250)는 각 장면 별 첫 번째 프레임을 이용하여 영상 처리 시간을 측정하므로, 장면에서 객체 검출 오류(810)가 발생되더라도 그에 맞는 영상 처리 시간으로 대응할 수 있다.
조정부(250)는 캐쉬에 저장된 1) 객체의 얼굴 검출을 통해 얼굴 좌표 정보가 보정되는데 소요되는 시간, 2) 객체의 신체 검출을 통해 얼굴 좌표 정보가 보정되는데 소요되는 시간, 3) 기설정된 알고리즘을 이용하여 얼굴 좌표 정보가 보정되는데 소요되는 시간 등을 이용하여 장면 별로 'FPS=1/영상 처리 시간(processing time)'으로 프레임률(frame rate)을 결정하여 그에 맞는 영상 처리가 이루어지도록 조정할 수 있다.
이후, 조정부(250)는 첫 번째 프레임이 0.034초 이내(30frame) 처리되는 경우와 첫 번째 프레임이 0.034 이상 처리되는 경우로 나누어 제 2 형태의 영상에 대한 해상도 또는 FPS를 조정할 수 있다.
도 8b는 본 발명의 일 실시예에 따른 첫 번째 프레임에 대한 영상 처리 시간이 34ms 이상인 경우의 영상 처리 과정을 설명하기 위한 예시적인 도면이다. 도 8b를 참조하면, 영상 처리 시간(820)은 각 프레임에서 객체를 검출하는데 소요되는 시간을 나타내고, 실제 디스플레이된 시간(821)은 34ms 기준 대비 실제로 디스플레이되는 시간을 나타내는 것일 수 있다.
첫번째 프레임에 대한 영상 처리 시간이 34ms 이상인 경우, FPS는 객체 검출 오류가 발생되기 전에 영상 처리 시간(820)을 기준으로 영상 처리가 한 번 끝날 때 마다 한번씩 렌더링하게 되므로, '1/영상 처리 시간'을 통해 도출될 수 있다.
그러나 N번째 프레임에서 객체 검출 오류(822)가 발생되는 경우, N+1번째 위치에서 렌더링되야 할 프레임에서 시간이 소요됨에 따라 N+4번째 위치에서 렌더링될 수 있다.
이 경우, 조정부(250)는 디스플레이 시간이 느려지는 것을 방지하기 위해 다음 N+1번째 프레임을 다시 처리하여 렌더링하는 것이 아닌, 시간이 소요된 만큼 프레임 스킵(823)을 수행한 후, N+4번째 프레임으로 건너 뛰어 영상을 처리할 수 있다. 스킵되는 프레임의 수(NF)는, 예를 들어, 다음의 수학식 1을 통해 도출될 수 있다.
Figure pat00001
도 8c는 본 발명의 일 실시에에 따른 첫 번째 프레임에 대한 영상 처리 시간이 34ms 이내인 경우의 영상 처리 과정을 설명하기 위한 예시적인 도면이다. 도 8c를 참조하면, 영상 처리 시간(830)은 각 프레임에서 객체를 검출하는데 소요되는 시간을 나타내고, 실제 디스플레이된 시간(831)은 34ms 기준 대비 실제로 디스플레이되는 시간을 나타내는 것일 수 있다.
첫번째 프레임에 대한 영상 처리 시간이 34ms 이내인 경우, 사용자 단말(110)의 디스플레이에 렌더링되는 속도보다 객체의 좌표 정보를 획득하는 속도가 더 빠르므로, 객체 검출 오류(833)가 발생하기 전까지 객체의 좌표 정보는 저장 파트(832)로서 캐쉬에 미리 저장될 수 있다.
이후, 객체 검출 오류(833)가 발생된 경우, 캐쉬에 저장된 객체의 좌표 정보에 기초하여 렌더링이 수행되고, 조정부(250)는 객체 검출 오류(833)의 발생 이후에 영상 처리 시간(830)과 캐쉬에 미리 저장된 좌표 정보(834)의 수에 기초하여 FPS를 조정할 수 있다.
만약, 객체 검출 오류(833)가 발생한 이후의 영상 처리 시간이 34ms 이상인 경우, 객체 검출 오류(833)가 반복적으로 발생되면, 캐쉬에 저장된 객체의 좌표 정보가 모두 사라지고, 정상적인 화면 표출이 어려워지게 되므로, 미리 적절한 프레임 조정을 통해 이를 방지하도록 할 수 있다.
이를 위해, 조정부(250)는 객체 검출 오류(833)의 최대 발생 횟수를 30회로 설정하여 저장 정지 파트(835)에서 조정하는 FPS를, 예를 들어, 다음의 수학식을 통해 산출할 수 있다.
Figure pat00002
(여기서, adjusted FPS의 최대값은 30임)
수학식 2를 참조하면, 조정부(250)는 캐쉬에 미리 저장된 좌표 정보에 대한 결과값에서 30을 더하는 이유는 객체 검출 오류(833)가 발생되는 상황에서도 전체 기간(예를 들어, 최대 30 프레임) 동안 30 프레임의 결과값이 더 생성되기 때문이다. 또한, 객체 검출 오류(833)의 발생 이후에 영상 처리 시간에 30을 곱하는 이유는 객체 검출 오류(833)가 연속적으로 발생하는 상황이 30 프레임을 초과하지 않는 것을 가정하여 최대값으로 30이 설정될 수 있다.
예를 들어, 객체 검출 오류(833)가 발생됨으로써, 하나의 프레임에서 객체의 좌표 정보를 추출하는데 소요되는 시간이 100ms로 늘어나게 되고, 저장 파트(832)에서 좌표 정보에 대한 결과값이 20개가 존재하였다고 가정하자. 조정부(250)는 (20+30)/(100msx30)=13.34(frame)에 기초하여 초당 13.34 프레임으로 FPS를 조정함으로써, 객체 검출 오류(833)가 발생하더라도 영상이 자연스럽게 디스플레이되도록 할 수 있다.
도 8d는 본 발명의 일 실시예에 따른 슈도 코드를 이용하여 해상도 또는 FPS를 조정하는 과정을 설명하기 위한 예시적인 도면이다. 도 8d를 참조하면, 일반적으로 영상 처리 시간이 0.034초 이상(840) 소요되는 경우, 사용자 단말(110)의 성능이 좋지 않아 정상적으로 디스플레이 속도를 맞출 수 없는 상황일 수 있다.
이 경우, 조정부(250)는 해상도를 FHD->HD(841)로 낮추고, 이후, HD->SD(842)로 낮춘 후, 다시 첫 번째 프레임에 대한 영상 처리 시간을 측정(843)할 수 있다.
만약, 영상 처리 시간이 0.034초 이내로 돌아오지 않은 경우(844), 조정부(250)는 측정된 지연 시간에 맞추어 FPS를 조정할 수 있다.
크롭 영역 도출부(260)는 보정된 관심 객체 영역으로부터 크롭 영역을 도출할 수 있다.
영상 변환부(270)는 도출된 크롭 영역에 기초하여 제 1 형태의 영상을 제 2 형태의 영상으로 변환할 수 있다. 크롭 영역을 도출하여 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 과정에 대해서는 도 9a 내지 도 9d를 통해 상세히 설명하도록 한다.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 관심 객체 영역으로부터 크롭 영역을 도출하여 제 2 형태의 영상으로 변환하는 과정을 설명하기 위한 예시적인 도면이다.
도 9a는 본 발명의 일 실시예에 따른 관심 객체 영역이 사용자 입력에 의한 방식을 통해 설정된 경우의 크롭 영역을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 도 9a를 참조하면, 관심 객체 영역 설정부(230)에서 사용자 입력에 의한 방식을 통해 영상(900)에 대한 관심 객체 영역의 크기와 형태를 설정받았다고 가정하자.
객체 추적부(231)는 설정된 관심 객체 영역(902)에 기초하여 프레임 간의 비교를 통해 객체 추적을 수행하고, 좌표 정보 추출부(232)는 추적한 객체의 중심 좌표(901)를 추출할 수 있다.
크롭 영역 도출부(260)는 사용자 입력에 의한 방식을 통해 관심 객체 영역(902)이 설정된 경우, 예를 들어, 다음의 수학식 3을 이용하여 크롭 영역(903)을 도출할 수 있다.
Figure pat00003
수학식 3을 참조하면, center_x는 추출된 객체의 중심 x 좌표일 수 있다. 여기서, 수학식 3은 영상의 비율이 16:9이고, 해상도가 1920:1080으로 가정된 것이며, 다른 비율로 인코딩된 영상의 경우, 영상의 비율에 맞게 숫자가 조정될 수 있다.
영상 변환부(270)는 사용자 입력에 의한 방식을 통해 설정된 관심 객체 영역(902)에 기초하여 도출된 크롭 영역(903)을 이용하여 제 1 형태의 영상(900)을 제 2 형태의 영상(904)으로 변환할 수 있다. 이 때, 제 2 형태의 영상(904)은 사용자 단말(110)의 세로 화면의 비율에 맞추어 디스플레이될 수 있으며, 세로 화면에서의 영역의 길이가 일정하게 유지시켜, 영상 내의 가로 영역만 하이라이팅(highlight)되도록 할 수 있다.
도 9b는 본 발명의 일 실시예에 따른 관심 객체 영역이 딥러닝을 이용한 방식에 의해 설정된 경우의 크롭 영역을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 도 9b를 참조하면, 관심 객체 영역 설정부(230)는 딥러닝을 이용한 방식에 의해 영상(910)으로부터 객체를 검출하고, 검출된 객체에 기초하여 관심 객체 영역(911)을 자동으로 설정할 수 있다.
객체 추적부(231)는 설정된 관심 객체 영역(911)에 기초하여 프레임 간의 비교를 통해 객체 추적을 수행하고, 좌표 정보 추출부(232)는 추적한 객체의 중심 좌표를 추출할 수 있다.
크롭 영역 도출부(260)는 딥러닝을 이용한 방식에 의해 관심 객체 영역(911)이 설정된 경우, 예를 들어, 다음의 수학식 4를 이용하여 크롭 영역(912)을 도출할 수 있다.
Figure pat00004
수학식 4를 참조하면, RoI_x는 관심 객체 영역의 가로 길이일 수 있다. 만약, 수학식 4를 이용하지 않은 경우, 관심 객체 영역(911)이 정해진 크롭 영역(912)보다 크게 검출될 수 있으며, 해당 관심 객체 영역(911)만큼 크롭을 수행하면, 검출된 객체가 잘리게 됨에 따라 영상의 시청이 어려워지게 된다. 객체가 검출된 크기에 따라 크롭 영역(912)을 결정하는 경우, 객체의 움직임에 따라 디스플레이 영역의 크기가 계속 변하게 된다.
따라서, 크롭 영역 도출부(260)는 객체가 기준보다 크게 검출되는 경우, 디스플레이할 영역의 비율을 결정한 후, 그 장면이 유지될 때까지 객체의 크기가 작아지더라도 비율을 유지하고, 장면이 변하는 경우, 다시 객체의 크기에 따라 영역의 크기를 조정할 수 있다.
영상 변환부(270)는 딥러닝을 이용한 방식에 의해 설정된 관심 객체 영역(911)에 기초하여 조정된 크롭 영역(913)을 이용하여 제 1 형태의 영상(910)을 제 2 형태의 영상(914)으로 변환할 수 있다.
도 9c는 본 발명의 일 실시예에 따른 다중 객체가 검출된 경우의 크롭 영역을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 도 9c를 참조하면, 관심 객체 영역 설정부(230)는 영상(920)을 구성하는 하나의 프레임으로부터 다중 객체(921, 922)를 검출할 수 있다. 이 경우, 사용자의 선택에 따라 객체 A(921), 객체 B(922)를 각각 별도의 중심으로 보여지도록 할 수도 있고, 콘텐츠의 성격에 따라 객체 A(921), 객체 B(922)가 함께 보여지도록 할 수도 있다.
예를 들어, 객체 A(921), 객체 B(922)를 각각 별도의 중심으로 보여지도록 하는 경우, 크롭 영역 도출부(260)는 관심 객체 영역이 크게 검출된 객체를 먼저 선택하여 크롭을 수행하여 크롭 영역(923)을 도출할 수 있다.
영상 변환부(270)는 객체 A(921), 객체 B(922) 각각에 대해 도출된 크롭 영역(912)을 이용하여 제 1 형태의 영상(920)을 제 2 형태의 영상(925)으로 변환할 수 있다.
다른 예를 들어, 객체 A(921), 객체 B(922)가 함께 보여지도록 하는 경우, 크롭 영역 도출부(260)는, 예를 들어, 다음의 수학식 5를 이용하여 크롭 영역(924)을 도출할 수 있다.
Figure pat00005
수학식 5를 참조하면, center_x_A는 객체 A의 중심 x 좌표이고, RoI_x_A는 객체 A에 대한 관심 객체 영역의 가로 길이를 나타낸다.
영상 변환부(270)는 객체 A(921), 객체 B(922)가 함께 포함되도록 도출된 크롭 영역(924)을 이용하여 제 1 형태의 영상(920)을 제 2 형태의 영상(925)으로 변환할 수 있다. 이 경우, 크롭 영역(924)은 한 번 커지면, 동일 장면 내에서는 더 이상 작아지지 않도록 비율이 고정될 수 있다.
도 9d는 본 발명의 일 실시예에 따른 제 2 형태의 영상을 도시한 예시적인 도면이다. 도 9d를 참조하면, 영상 변환부(270)는 별도의 후처리 과정을 필요로 하지 않은 영상의 경우, 가로 비율 기반의 제 1 형태의 영상(930)을 세로 비율 기반의 제 2 형태의 영상(931)으로 변환할 수 있다.
다시 도 2로 돌아와서, 영상 변환부(270)는 후처리 과정을 필요로 하는 영상의 경우, 후처리 과정을 거쳐 제 1 형태의 영상을 제 2 형태의 영상으로 변환할 수 있다. 후처리 과정은 예를 들어, 자막 처리 과정 및 듀얼 뷰(Duel View) 동시 처리 과정을 포함할 수 있다. 후처리 과정을 거쳐 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 과정에 대해서는 도 10a 및 도 10b를 통해 상세히 설명하도록 한다.
도 10a 및 도 10b는 본 발명의 일 실시예에 따른 제 2 형태의 영상으로 변환되기 전에 수행되는 후처리 과정을 설명하기 위한 예시적인 도면이다.
도 10a는 본 발명이 일 실시예에 따른 자막 처리 과정이 수행된 제 2 형태의 영상을 도시한 예시적인 도면이다. 도 10a를 참조하면, 관심 객체 영역 설정부(230)가 제 1 형태의 영상으로부터 객체를 검출하고, 검출된 객체에 대해 관심 객체 영역을 설정한 경우, 후에 크롭 영역 도출부(260)는 자막 영역을 고려하지 않고, 영상의 세로 영역을 자르게 됨에 따라 영상의 자막이 함께 잘라지게 되어 자막을 읽기 불편해지게 된다.
이러한 문제점을 방지하고자, 관심 객체 영역 설정부(230)는 영상(1010)으로부터 객체를 검출하여 관심 객체 영역(1011)을 설정하고, 자막 영역 검출부(280)는 영상(1010)으로부터 기존의 자막 영역(1012)을 검출할 수 있다.
자막 영역 검출부(280)는 관심 객체 영역(1010)을 중심으로 크롭핑된 크롭 영역(1020)의 프레임으로부터 자막 영역(1030)의 위치를 재검출할 수 있다.
영상 변환부(270)는 영상으로부터 자막 영역(1030)이 검출된 경우, 크롭 영역(1020)에 기초하여 검출된 자막 영역(1030)을 제 2 형태의 영상(1040)에 적용할 수 있다. 예를 들어, 영상 변환부(270)는 크롭핑한 크롭 영역(1020)의 프레임에서 검출된 자막의 시작(start) 위치 및 종료(end) 위치를 자막 영역(1030)의 크롭핑 부분의 시작 위치 및 종료 위치를 맵핑시켜 픽셀을 치환시킴으로써, 자막 영역(1030)을 제 2 형태의 영상(1040)에 적용시켜 사용자가 관심 객체와 함께 자막을 불편함 없이 시청하도록 할 수 있다.
다른 예를 들어, 영상 변환부(270)는 자막 제공 서버(130)로부터 자막을 수신하고, 수신한 자막을 세로 화면 기반으로 크롭핑된 영상에 자막을 적절하게 배치시켜 제 2 형태의 영상(1040)에 적용할 수 있다.
도 10b는 본 발명이 일 실시예에 따른 듀얼 뷰 동시 처리 과정이 수행된 제 2 형태의 영상을 도시한 예시적인 도면이다. 도 10b를 참조하면, 영상 변환부(270)는 제 1 형태의 영상(1054)과 함께 제 1 형태의 영상(1054)의 보조 수단으로 제 2 형태의 영상(1055)을 함께 표시되도록 재생 싱크(play sync)를 맞출 수 있다.
이를 위해, 영상 변환부(270)는 제 1 형태의 영상(1054)의 프레임으로부터 제 2 형태의 영상(1055)이 위치할 세로뷰 영역(1053)을 확정하고, 세로뷰 영역(1053)을 나타내기 위해 사용자 단말(110)의 웹뷰(1050) 상에 서피스뷰(1051, surface view)를 생성할 수 있다.
영상 변환부(270)는 원본 영역(1052) 및 세로뷰 영역(1053)을 하나의 서피스 뷰(1051)를 통해 각각의 영상이 출력되도록 함으로써, 별도의 플레이어의 개발 없이도 간단하게 듀얼 뷰 동시 처리를 수행할 수 있다.
이를 통해, 사용자가 영상의 시청 시, 원본 영상을 시청함과 동시에 해당 장면의 객체를 디테일하게 관찰할 수 있어 영상 시청에 대한 몰입감을 제공할 수 있다.
이러한 사용자 단말(110)은 영상의 비율을 변환하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 의해 실행될 수 있다. 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 콘텐츠 제공 서버(120)로 영상을 요청하고, 요청에 응답하여 콘텐츠 제공 서버(120)로부터 제 1 형태의 영상을 수신하고, 영상으로부터 객체를 검출하고, 검출된 객체에 대한 관심 객체 영역을 설정하고, 영상에 포함된 적어도 하나의 프레임으로부터 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 발생된 객체 검출 오류에 따라 관심 객체 영역을 보정하고, 보정된 관심 객체 영역으로부터 크롭 영역을 도출하고, 도출된 크롭 영역에 기초하여 제 1 형태의 영상을 제 2 형태의 영상으로 변환하도록 하는 명령어들의 시퀀스를 포함할 수 있다.
도 11a 내지 도 11e는 본 발명의 일 실시예에 따른 제 1 형태의 영상으로부터 제 2 형태의 영상으로의 변환을 통해 제공되는 다양한 서비스를 도시한 예시적인 도면이다.
도 11a 는 본 발명의 일 실시예에 따른 모바일용 세로 영상 서비스를 도시한 예시적인 도면이다.
사용자들은 사용자 단말(110)을 이용하여 콘텐츠를 시청하는 경우, 영상이 가로 비율 기반으로 인코딩됨에 따라 사용자 단말(110)을 가로 방향으로 회전시킨 후, 시청해야 했다. 그러나 사용자 단말(110)을 가로 방향으로 회전시켜 콘텐츠를 장시간 시청하는 경우, 사용자의 손목에 무리가 가게 되며, 크게는 손목 터널 증후군까지 발생하게 될 수도 있다는 문제점을 가지고 있었다.
또한, 일반적으로 사용자 단말(110)의 경우 세로 화면 기반으로 이용하게 되므로, 사용자는 콘텐츠의 시청을 위해 가로 방향으로 회전시킨 후, 다시 세로 방향으로 회전시키는 등 사용자 단말(110)의 UX의 이용에 있어 불편함을 느끼게 된다.
이를 개선하고자, 도 11a를 참조하면, 사용자 단말(110)은 가로 비율 기반의 영상(1101)을 비율 변환을 통해 세로 비율 기반의 영상(1102)으로 재생되도록 함으로써, 세로 화면 기반 영상 서비스(1100)를 제공할 수 있다.
이와 반대로, 사용자 단말(110)은 세로 비율 기반의 영상(1111)을 비율 변환을 통해 가로 비율 기반의 영상(1112)으로 재생되도록 함으로써, 가로 화면 기반 영상 서비스(1110)를 제공할 수도 있다. 이는, 메뉴 화면으로 인해 가로 화면이 잘리게 될 수 있으므로, 전체 화면을 객체 중심으로 디스플레이되도록 할 수 있다.
도 11b는 본 발명의 일 실시예에 따른 과거 영상의 비율 변환 서비스를 도시한 예시적인 도면이다. 도 11b를 참조하면, 과거 영상(1120)은 표준 디스플레이 비율인 4:3 기반으로 인코딩되었다.
그러나 현재 표준 디스플레이 비율이 16:9가 됨에 따라, 현재의 TV를 이용하여 과거 영상(1120)을 재생하는 경우, 과거 영상(1120)의 늘어짐이 발생되거나, 과거 영상(1120)의 양 옆이 잘려지는 문제점(1121)이 발생하였다.
따라서, 본 발명은 서버에서 별도의 처리 없이도, 사용자 단말(110)을 이용하여 사용자가 관심있어 하는 객체가 중심이 되도록 과거 영상(1120)의 비율을 변환함으로써, 관심 객체 영역을 중심으로 하는 전체 화면 서비스(1122)를 제공할 수 있다.
도 11c는 본 발명의 일 실시예에 따른 영상 변환 툴 서비스를 도시한 예시적인 도면이다. 도 11c를 참조하면, 사용자 단말(110)은 녹화 기능을 통해 사용자 자신이 원하는 비율로 영상이 변환되어 저장되도록 하는 영상 변환 툴 서비스(1130)를 제공할 수 있다.
종래에는 관심 객체 영역이 사용자 입력 방식에 의해 설정되는 경우, 사용자가 일일이 자신이 원하는 객체를 수동으로 지정해주어 인코딩해야 하므로, 객체가 많이 움직이는 영상의 경우 많은 시간이 소요되었다.
그러나 본 발명은 관심 객체 영역이 사용자 입력에 의한 방식을 통해 설정되는 경우, 사용자 단말(110)이 사용자에 의해 설정된 관심 객체 영역에 기초하여 자동으로 객체를 검출하여 추적하도록 함으로써, 사용자가 원하는 영상의 비율로 객체가 중심이 되도록 하는 영상이 저장되도록 할 수 있다.
도 11d는 본 발명의 일 실시예에 따른 시니어 서비스를 도시한 예시적인 도면이다. 도 11d를 참조하면, 사용자 단말(110)은 텍스트(1140)를 관심 객체 영역으로 설정한 경우, 영상의 비율을 변환하여 확대된 텍스트(1141)가 표시되도록 함으로써, 눈이 좋지 않은 시니어들에게 좀더 향상된 뷰를 제공할 수 있다.
도 11e는 본 발명의 일 실시예에 따른 관심 키워드 서비스를 도시한 예시적인 도면이다. 도 11e를 참조하면, 사용자 단말(110)은 사용자로부터 관심 키워드를 설정받은 경우, 영상으로부터 자신이 관심있어 하는 아이템의 정보를 제공할 수 있다.
예를 들어, 사용자 단말(110)은 사용자로부터 관심 키워드로 '가방'을 설정받은 경우, 영화, 드라마 등의 영상(1150)의 재생 시, '가방' 부분을 포커싱(1151)하여 사용자에게 관련 정보(1152)를 제공할 수 있다.
도 12는 본 발명의 일 실시예에 따른 사용자 단말에서 영상의 비율을 변환하는 방법의 순서도이다. 도 12에 도시된 사용자 단말(110)에서 영상의 형태를 변환하는 방법은 도 1 내지 도 11e에 도시된 실시예에 따른 영상 변환 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 11e에 도시된 실시예에 따른 사용자 단말(110)에서 영상의 형태를 변환하는 방법에도 적용된다.
단계 S1210에서 사용자 단말(110)은 콘텐츠 제공 서버(120)로 영상을 요청할 수 있다.
단계 S1220에서 사용자 단말(110)은 요청에 응답하여 콘텐츠 제공 서버(120)로부터 제 1 형태의 영상을 수신할 수 있다.
단계 S1230에서 사용자 단말(110)은 영상으로부터 객체를 검출하고, 검출된 객체에 대한 관심 객체 영역을 설정할 수 있다.
단계 S1240에서 사용자 단말(110)은 영상에 포함된 적어도 하나의 프레임으로부터 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단할 수 있다.
단계 S1250에서 사용자 단말(110)은 발생된 객체 검출 오류에 따라 관심 객체 영역을 보정할 수 있다.
단계 S1260에서 사용자 단말(110)은 보정된 관심 객체 영역으로부터 크롭 영역을 도출할 수 있다.
단계 S1270에서 사용자 단말(110)은 도출된 크롭 영역에 기초하여 제 1 형태의 영상을 제 2 형태의 영상으로 변환할 수 있다.
상술한 설명에서, 단계 S1210 내지 S1270은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.
도 1 내지 도 12를 통해 설명된 사용자 단말에서 영상의 형태를 변환하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 12를 통해 설명된 사용자 단말에서 영상의 형태를 변환하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다.
컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 사용자 단말
120: 콘텐츠 제공 서버
130: 자막 제공 서버
210: 요청부
220: 영상 수신부
230: 관심 객체 영역 설정부
231: 객체 추적부
232: 좌표 정보 추출부
240: 오류 보정부
250: 조정부
260: 크롭 영역 도출부
270: 자막 영역 검출부
280: 영상 변환부

Claims (20)

  1. 영상의 형태를 변환하는 사용자 단말에 있어서,
    콘텐츠 제공 서버로 영상을 요청하는 요청부;
    상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하는 영상 수신부;
    상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하는 관심 객체 영역 설정부;
    상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하는 오류 보정부;
    상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하는 크롭 영역 도출부; 및
    상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 영상 변환부
    를 포함하는, 사용자 단말.
  2. 제 1 항에 있어서,
    상기 관심 객체 영역 설정부는 상기 적어도 하나의 프레임으로부터 상기 객체를 추적하는 객체 추적부; 및
    상기 적어도 하나의 프레임으로부터 추적된 객체의 좌표 정보를 추출하는 좌표 정보 추출부를 포함하는, 사용자 단말.
  3. 제 2 항에 있어서,
    상기 객체 추적부는 상기 적어도 하나의 프레임으로부터 상기 객체의 얼굴을 검출하고,
    상기 좌표 정보 추출부는 상기 검출된 객체의 얼굴에 대한 얼굴 좌표 정보를 추출하는 것인, 사용자 단말.
  4. 제 3 항에 있어서,
    상기 오류 보정부는 상기 객체의 얼굴이 검출된 이웃하는 프레임 간의 장면 변환이 발생되었는지 여부를 판단하고,
    상기 장면 변환이 발생되지 않은 경우, 상기 이웃하는 프레임 간의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 상기 객체 검출 오류가 발생되었는지 여부를 판단하는 것인, 사용자 단말.
  5. 제 4 항에 있어서,
    상기 오류 보정부는 상기 객체 검출 오류가 발생된 경우, 상기 객체 검출 오류가 발생된 프레임에서 상기 얼굴 좌표 정보를 보정하는 것인, 사용자 단말.
  6. 제 4 항에 있어서,
    상기 객체 추적부는 상기 적어도 하나의 프레임으로부터 상기 객체의 신체를 검출하고,
    상기 좌표 정보 추출부는 상기 검출된 객체의 신체에 대한 신체 좌표 정보를 추출하는 것인, 사용자 단말.
  7. 제 6 항에 있어서,
    상기 오류 보정부는 상기 객체의 신체가 검출된 이웃하는 프레임 간의 신체 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 상기 객체 검출 오류가 발생되었는지 여부를 판단하는 것인, 사용자 단말.
  8. 제 6 항에 있어서,
    상기 오류 보정부는 상기 객체 검출 오류가 발생된 경우, 상기 객체가 검출된 상기 이웃하는 프레임 간의 신체 좌표 정보를 비교하여 이동 경로 벡터를 도출하고, 상기 도출된 이동 경로 벡터를 이용하여 상기 객체 검출 오류가 발생된 프레임에서 상기 얼굴 좌표 정보를 보정하는 것인, 사용자 단말.
  9. 제 3 항에 있어서,
    상기 오류 보정부는 상기 영상에 대한 색채, 색상, 엣지 중 적어도 하나를 이용하는 기설정된 알고리즘에 기초하여 상기 객체가 검출된 프레임에서 상기 객체의 얼굴에 대한 얼굴 좌표 정보를 보정하는 것인, 사용자 단말.
  10. 제 1 항에 있어서,
    상기 적어도 하나의 프레임을 처리하는 영상 처리 시간을 측정하고, 상기 측정된 영상 처리 시간에 기초하여 상기 제 2 형태의 영상에 대한 해상도 및 FPS(Frames Per Second) 중 적어도 하나를 조정하는 조정부
    를 더 포함하는 것인, 사용자 단말.
  11. 제 10 항에 있어서,
    상기 조정부는 상기 객체 검출 오류가 발생된 경우, 상기 영상 처리 시간이 기준 시간 이상인지 여부에 기초하여 상기 적어도 하나의 프레임 중 일부 프레임의 스킵(skip)을 조정 또는 상기 객체에 대해 기저장된 좌표 정보의 수에 기초하여 상기 적어도 하나의 프레임에 대한 렌더링 스케쥴링을 조정 중 어느 하나를 수행하는 것인, 사용자 단말.
  12. 제 1 항에 있어서,
    상기 영상으로부터 자막 영역을 검출하는 자막 영역 검출부
    를 더 포함하고,
    상기 영상 변환부는 상기 크롭 영역에 기초하여 상기 검출된 자막 영역을 상기 제 2 형태의 영상에 적용하는 것인, 사용자 단말.
  13. 사용자 단말에서 영상의 형태를 변환하는 방법에 있어서,
    콘텐츠 제공 서버로 영상을 요청하는 단계;
    상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하는 단계;
    상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하는 단계;
    상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하는 단계;
    상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하는 단계;
    상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하는 단계; 및
    상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하는 단계
    를 포함하는, 영상 형태 변환 방법.
  14. 제 13 항에 있어서,
    상기 적어도 하나의 프레임으로부터 상기 객체를 추적하는 단계; 및
    상기 적어도 하나의 프레임으로부터 추적된 객체의 좌표 정보를 추출하는 단계를 더 포함하는, 영상 형태 변환 방법.
  15. 제 14 항에 있어서,
    상기 객체를 추적하는 단계는,
    상기 적어도 하나의 프레임으로부터 상기 객체의 얼굴을 검출하는 단계를 포함하고,
    상기 객체의 좌표 정보를 추출하는 단계는,
    상기 검출된 객체의 얼굴에 대한 얼굴 좌표 정보를 추출하는 단계를 포함하는 것인, 영상 형태 변환 방법.
  16. 제 15 항에 있어서,
    상기 객체 검출 오류가 발생되었는지 여부를 판단하는 단계는,
    상기 객체의 얼굴이 검출된 이웃하는 프레임 간의 장면 변환이 발생되었는지 여부를 판단하는 단계;
    상기 장면 변환이 발생되지 않은 경우, 상기 이웃하는 프레임 간의 얼굴 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 상기 객체 검출 오류가 발생되었는지 여부를 판단하는 단계;
    상기 객체 검출 오류가 발생된 경우, 상기 객체 검출 오류가 발생된 프레임에서 상기 얼굴 좌표 정보를 보정하는 단계를 더 포함하는 것인, 영상 형태 변환 방법.
  17. 제 16 항에 있어서,
    상기 객체를 추적하는 단계는,
    상기 적어도 하나의 프레임으로부터 상기 객체의 신체를 검출하는 단계를 포함하고,
    상기 객체의 좌표 정보를 추출하는 단계는,
    상기 검출된 객체의 신체에 대한 신체 좌표 정보를 추출하는 단계를 포함하는 것인, 영상 형태 변환 방법.
  18. 제 17 항에 있어서,
    상기 객체 검출 오류가 발생되었는지 여부를 판단하는 단계는,
    상기 객체의 신체가 검출된 이웃하는 프레임 간의 신체 좌표 정보가 임계값 이상 차이 나는지 여부에 기초하여 상기 객체 검출 오류가 발생되었는지 여부를 판단하는 단계;
    상기 객체 검출 오류가 발생된 경우, 상기 객체가 검출된 상기 이웃하는 프레임 간의 신체 좌표 정보를 비교하여 이동 경로 벡터를 도출하는 단계; 및
    상기 도출된 이동 경로 벡터를 이용하여 상기 객체 검출 오류가 발생된 프레임에서 상기 얼굴 좌표 정보를 보정하는 단계를 포함하는 것인, 영상 형태 변환 방법.
  19. 제 15 항에 있어서,
    상기 객체 검출 오류가 발생되었는지 여부를 판단하는 단계는,
    상기 영상에 대한 색채, 색상, 엣지 중 적어도 하나를 이용하는 기설정된 알고리즘에 기초하여 상기 객체가 검출된 프레임에서 상기 객체의 얼굴에 대한 얼굴 좌표 정보를 보정하는 단계를 포함하는 것인, 영상 형태 변환 방법.
  20. 영상의 형태를 변환하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 있어서,
    상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
    콘텐츠 제공 서버로 영상을 요청하고,
    상기 요청에 응답하여 상기 콘텐츠 제공 서버로부터 제 1 형태의 영상을 수신하고,
    상기 영상으로부터 객체를 검출하고, 상기 검출된 객체에 대한 관심 객체 영역을 설정하고,
    상기 영상에 포함된 적어도 하나의 프레임으로부터 상기 검출된 객체에 대해 객체 검출 오류가 발생되었는지 여부를 판단하고, 상기 발생된 객체 검출 오류에 따라 상기 관심 객체 영역을 보정하고,
    상기 보정된 관심 객체 영역으로부터 크롭 영역을 도출하고,
    상기 도출된 크롭 영역에 기초하여 상기 제 1 형태의 영상을 제 2 형태의 영상으로 변환하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
KR1020200112531A 2020-09-03 2020-09-03 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램 KR20220030779A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200112531A KR20220030779A (ko) 2020-09-03 2020-09-03 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200112531A KR20220030779A (ko) 2020-09-03 2020-09-03 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20220030779A true KR20220030779A (ko) 2022-03-11

Family

ID=80814801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200112531A KR20220030779A (ko) 2020-09-03 2020-09-03 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20220030779A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214794A1 (ko) * 2022-05-04 2023-11-09 한국전자기술연구원 적응적 영상 재생을 수행하는 전자장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023214794A1 (ko) * 2022-05-04 2023-11-09 한국전자기술연구원 적응적 영상 재생을 수행하는 전자장치 및 방법

Similar Documents

Publication Publication Date Title
US10602233B2 (en) Apparatus for adapting a presentation of media content to a requesting device
US10313417B2 (en) Methods and systems for auto-zoom based adaptive video streaming
US9185438B2 (en) Apparatus and method for providing media content
US9560406B2 (en) Method and apparatus for adapting a presentation of media content
RU2493613C2 (ru) Устройство воспроизведения изображений и способ управления
US9530450B2 (en) Video system with fovea tracking and methods for use therewith
US8654131B2 (en) Video image processing apparatus and video image processing method
US8848782B2 (en) Reception apparatus, reception method, and program with encoding bit rate determination
WO2019158000A1 (zh) 虚拟现实vr直播中的视角同步方法及装置
JP2012083412A (ja) 画像処理装置、画像処理方法、およびプログラム
US11553215B1 (en) Providing alternative live media content
KR102383117B1 (ko) 디스플레이 장치, 디스플레이 방법 및 디스플레이 시스템
US10405010B2 (en) Methods, systems, and devices for adjusting streaming video field-of-view in accordance with client device commands
JP2016532386A (ja) ビデオを表示する方法及びビデオを表示する装置
KR20150097609A (ko) 이머전 통신 클라이언트, 서버 및 컨텐츠 뷰를 획득하는 방법
US20180338093A1 (en) Eye-tracking-based image transmission method, device and system
KR20220030779A (ko) 영상의 형태를 변환하는 사용자 단말, 방법 및 컴퓨터 프로그램
JP2012173683A (ja) 表示制御装置、情報表示装置、及び表示制御方法
WO2018196530A1 (zh) 一种视频信息处理方法及终端、计算机存储介质
JP5594842B2 (ja) 映像配信装置
JP5141477B2 (ja) 動画像受信装置、動画像通信システム、動画像受信プログラム及び動画像通信プログラム
KR101371430B1 (ko) 아날로그 영상을 보정하는 방법 및 장치
KR20170081361A (ko) 셋톱 박스에서 수행되는 영상 처리 방법, 셋톱 박스 및 영상 처리 시스템
US20180084236A1 (en) Systems and methods for reducing horizontal misalignment in 360-degree video
US11627370B1 (en) Converting video according to status of user device

Legal Events

Date Code Title Description
A201 Request for examination