KR102511949B1 - 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치 - Google Patents

무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102511949B1
KR102511949B1 KR1020160049603A KR20160049603A KR102511949B1 KR 102511949 B1 KR102511949 B1 KR 102511949B1 KR 1020160049603 A KR1020160049603 A KR 1020160049603A KR 20160049603 A KR20160049603 A KR 20160049603A KR 102511949 B1 KR102511949 B1 KR 102511949B1
Authority
KR
South Korea
Prior art keywords
chunk
terminal device
chunks
content
transmitted
Prior art date
Application number
KR1020160049603A
Other languages
English (en)
Other versions
KR20170120971A (ko
Inventor
이종민
서덕영
조용우
조복연
허윤석
박수경
김태섭
Original Assignee
에스케이텔레콤 주식회사
경희대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사, 경희대학교 산학협력단 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020160049603A priority Critical patent/KR102511949B1/ko
Publication of KR20170120971A publication Critical patent/KR20170120971A/ko
Application granted granted Critical
Publication of KR102511949B1 publication Critical patent/KR102511949B1/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치에 관한 것으로서, 컨텐츠 제공 장치가 단말장치에서 현재 재생되는 시점으로부터 일정 시간 이상 재생할 청크가 저장되어 있는지를 확인하여, 저장되지 않았으면, 순번이 낮은 청크를 순차적으로 전송하고, 일정시간 이상 재생할 청크가 저장되었다면, 각 청크에 대한 히트포인트 정보를 기반으로 다음번에 전송할 청크를 선택하여 단말장치에 전송함으로써, 사용자가 소비하고 있는 컨텐츠 내에서 무작위로 소비 시점을 선택하는 경우에도 리버퍼링 시간을 최소화하여 사용자의 QoE를 향상시킬 수 있다.

Description

무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치{Method of Efficient Video Pacing Considering User's Random Watching Point and Apparatus therefor}
본 발명은 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치에 관한 것으로서, 더욱 상세하게는 실시간 스트리밍 서비스를 기반으로 컨텐츠 데이터 제공 시, 단말장치 사용자가 현재 시청되고 있는 부분 이외의 부분을 선택적으로 시청하고자 할 때 발생하는 일시적인 리버퍼링(Re-Buffering) 현상을 감소시켜 사용자의 QoE(Quality of Experience)를 향상시키기 위한 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
실시간 멀티미디어 서비스란, 멀티미디어 데이터의 전송 방식 중 하나로, 음성 및 영상의 컨텐츠를 재생 또는 소비하는 방식을 말한다. 이러한 실시간 멀티미디어 서비스는 서비스의 형태에 따라 대화형 서비스, 인터랙티브 서비스, 스트리밍 서비스로 나눌 수 있고, 이 중 스트리밍 서비스는 대용량의 멀티미디어 데이터를 전부 다운로드 하지 않고, 현재 재생하려고 하는 일부 데이터만 수신되면 즉시 실시간으로 재생이 가능하다.
이러한 스트리밍 서비스로 인하여, 생중계, 생방송과 같은 라이브 스트리밍 서비스에서는 이러한 스트리밍 방식이 기존의 다운로드 형태에 비해 실시간성을 더욱 보장할 수 있게 되었다.
하지만 이러한 스트리밍 서비스 시장이 점점 증가하게 됨에 따라, 스트리밍 서비스의 트래픽 증가문제가 야기되고 있다.
예를 들어, 사용자의 지속적인 시청을 예상하여, 컨텐츠의 상당 부분을 다운로드 하였으나, 사용자가 해당 컨텐츠를 모두 소비하지 않고 중간에 종료하거나 다른 장면을 선택하는 경우, 미리 전송된 컨텐츠 대역폭과 트래픽이 자원적 낭비와 손실로 남는 문제점이 있었다.
이러한 문제점을 해결하기 위하여, 비디오 페이싱 전송 기법이 개발되었는데, 비디오 페이싱 전송 기법이란, 사용자가 컨텐츠를 소비하는 시점에서 수 분 또는 수 십 초의 범위 내의 데이터만 전송하도록 서버가 조절하는 것으로서, 이러한 비디오 페이싱 전송 기법에 의해, 사용자가 컨텐츠를 소비하는 도중에 컨텐츠 소비를 중단하더라도 대역폭과 트래픽에 대한 소실을 최소화할 수 있었다.
하지만 상기와 같은 단순한 비디오 페이싱 전송 기법은 사용자가 현재 소비하고 있는 부분을 기준으로 전송하기 때문에 만약, 사용자가 미리 다운로드 되지 않은 영역을 선택하여 컨텐츠를 소비하고자 하는 경우, 사용자가 선택한 부분부터 다시 전송을 시작해야 하며, 이에 따라 일시적인 리버퍼링 현상이 발생하여, 해당 컨텐츠를 소비하는 사용자의 QoE를 떨어뜨리는 문제점이 있었다.
한국공개특허 제10-2016-0005663호 (명칭: 저지연 서비스를 위한 MMT 장치 및 방법, 공개일: 2016.01.15)
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 하나의 컨텐츠 내에서 사용자가 무작위로 컨텐츠 소비 영역을 선택하는 경우를 대비하여, 사용자가 선택할 것으로 예측되는 소비 영역을 미리 단말장치로 전송하여, 사용자의 QoE를 향상시킬 수 있는 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치를 제공하고자 한다.
즉, 해당 컨텐츠 내에서 사용자들에게 인기가 많아 무작위로 선택될 확률이 높은 부분에 해당하는 청크를 선별하여 미리 단말장치로 전송함으로써, 사용자가 해당 부분을 선택하여 시청하고자 하는 경우, 리버퍼링 현상을 줄여, 컨텐츠를 소비하는데 있어 사용자의 만족감을 높일 수 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치를 제공하고자 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 비디오 페이싱 방법은 복수의 청크로 이루어진 컨텐츠 데이터를 청크 단위로 전송하는 방법에 있어서, 컨텐츠 제공 장치가 특정 단말장치에 컨텐츠의 현재 재생 위치를 기준으로 순차적으로 재생될 적어도 하나의 다음 청크가 일정 수 이상 상기 특정 단말장치에 저장되어 있는지를 확인하는 단계, 일정 수 이상의 다음 청크가 상기 특정 단말장치에 저장된 것으로 판단된 경우, 적어도 하나의 단말장치에 의한 컨텐츠의 부분 별 재생 정도를 청크 별로 매칭시킨 히트포인트(Hit Point) 정보를 기반으로 전송할 청크를 선택하여, 상기 특정 단말장치에 전송하는 제1 전송 단계 및 일정 수 이상의 다음 청크가 상기 특정 단말장치에 저장되지 않은 것으로 판단된 경우, 상기 특정 단말장치에 청크 순번에 따라 순차적으로 청크를 전송하는 제2 전송 단계를 포함할 수 있다.
이 때, 상기 청크는 청크의 페이로드에 포함되는 최소 디코딩 단위인 적어도 하나의 MFU(Media Fragment Unit) 또는 상기 적어도 하나의 MFU를 포함하여 이루어지는 적어도 하나의 MPU(Media Processing Unit)로 구성되는 MMT(MPEG Media Transport) 청크이고, 상기 히트포인트 정보는 상기 MMT 청크에 포함된 각각의 MPU에 매칭될 수 있다.
또한, 상기 확인하는 단계 이전에, 적어도 하나의 단말장치에 의해 컨텐츠의 부분 별로 재생된 정도를 측정하는 단계 및 상기 측정된 재생 정도를 기반으로 상기 컨텐츠의 히트포인트 정보를 생성하는 단계를 더 포함할 수 있고, 상기 확인하는 단계는 상기 특정 단말장치로부터 현재 재생하고 있는 청크 정보 및 현재 저장하고 있는 청크 정보 중 적어도 하나를 포함하는 피드백 메시지를 수신하여 확인할 수 있다.
또한, 상기 확인하는 단계는 상기 컨텐츠 제공 장치와 상기 특정 단말장치 간의 네트워크 상황 및 각 청크에 할당된 표현 시간 중 적어도 하나를 기반으로 판단할 수 있고, 상기 확인하는 단계 이전에, 상기 히트포인트 정보 및 각 청크의 순번을 기반으로 상기 복수의 청크를 하나 이상의 그룹으로 그룹핑하는 단계를 더 포함하고, 상기 제1 전송 단계 또는 제2 전송 단계는 상기 그룹핑된 그룹 단위로 청크를 전송할 수 있으며, 상기 각 그룹별로, 가장 낮은 순번을 갖는 청크를 대표 청크로 지정하는 단계를 더 포함하고, 상기 제 1전송 단계는 상기 각 그룹별 대표 청크의 히트포인트 정보를 기반으로 상기 특정 단말장치에 전송할 그룹을 선택할 수 있다.
한편, 상술한 전송 방법은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체로 제공될 수 있고, 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램으로 제공될 수도 있다.
상술한 바와 같은 목적을 달성하기 위한 컨텐츠 제공 장치는 복수의 청크로 이루어진 컨텐츠 데이터를 청크 단위로 특정 단말장치에 전송하는 컨텐츠 제공 장치에 있어서, 적어도 하나의 단말장치에 의해 각 청크에 대응하는 컨텐츠의 일부분이 재생된 정도를 상기 각 청크 별로 매칭시킨 히트포인트 정보를 저장하는 저장모듈 및 특정 단말장치에서 현재 재생되는 청크 및 상기 재생되는 청크 이후에 순차적으로 재생될 적어도 하나의 다음 청크가 일정 수 이상 상기 특정 단말장치에 저장되어 있는지를 확인하고, 저장된 것으로 판단된 경우, 상기 히트포인트 정보를 기반으로 상기 특정 단말장치에 전송할 청크를 선택하여 전송하고, 저장되지 않은 것으로 판단된 경우, 상기 일정 수를 만족할 때까지 청크 순번에 맞춰 차례대로 청크를 전송하도록 제어하는 제어모듈을 포함할 수 있다.
이 때, 상기 청크는 청크의 페이로드에 포함되는 최소 디코딩 단위인 적어도 하나의 MFU(Media Fragment Unit) 또는 상기 적어도 하나의 MFU를 포함하여 이루어지는 적어도 하나의 MPU(Media Processing Unit)로 구성되는 MMT(MPEG Media Transport) 청크이고, 상기 히트포인트 정보는 상기 MMT 청크에 포함된 각각의 MPU에 매칭될 수 있다.
본 발명에 따르면, 컨텐츠 제공 장치가 단말장치에서 현재 재생되는 시점으로부터 일정 시간 이상 재생할 청크가 저장되어 있는지를 확인하여, 저장되지 않았으면, 시퀀스 넘버 기준으로 청크를 순차적으로 전송하고, 일정시간 이상 재생할 청크가 저장되었다면, 각 청크에 대한 히트포인트 정보를 기반으로 청크를 선택하여 단말장치에 전송함으로써, 사용자가 소비하고 있는 컨텐츠 내에서 무작위로 소비 시점을 선택하는 경우에도 리버퍼링 시간을 최소화하여 사용자의 QoE를 향상시킬 수 있다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도1은 본 발명의 실시 예에 따른 전송 시스템의 주요 구성을 나타낸 도면이다.
도2는 본 발명의 실시 예에 따른 MMT 청크 구조를 설명하기 위한 예시도이다.
도3은 본 발명에 따른 컨텐츠 제공 장치의 구성을 나타내는 블록도이다.
도4는 본 발명의 실시 예에 따른 전송 방법을 설명하기 위한 흐름도이다.
도5 내지 도7은 본 발명에 따른 전송 방법의 실시 예를 설명하기 위한 도면이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 명세서에 기재된 "부", "기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 본 발명을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
상술한 용어들 이외에, 이하의 설명에서 사용되는 특정 용어들은 본 발명의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 본 발명의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
아울러, 본 발명의 범위 내의 실시 예들은 컴퓨터 실행가능 명령어 또는 컴퓨터 판독가능 매체에 저장된 데이터 구조를 가지거나 전달하는 컴퓨터 판독가능 매체를 포함한다. 이러한 컴퓨터 판독가능 매체는, 범용 또는 특수 목적의 컴퓨터 시스템에 의해 액세스 가능한 임의의 이용 가능한 매체일 수 있다. 예로서, 이러한 컴퓨터 판독가능 매체는 RAM, ROM, EPROM, CD-ROM 또는 기타 광 디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장장치, 또는 컴퓨터 실행가능 명령어, 컴퓨터 판독가능 명령어 또는 데이터 구조의 형태로 된 소정의 프로그램 코드 수단을 저장하거나 전달하는 데에 이용될 수 있고, 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스 될 수 있는 임의의 기타 매체와 같은 물리적 저장 매체를 포함할 수 있지만, 이에 한정되지 않는다.
이하의 설명 및 특허청구범위에서 본 발명에 따른 비디오 페이싱 방법을 구현하기 위한 기술적인 배경은 MMT(MPEG Media Transport) 인 것을 가정하여 설명하도록 한다.
즉, 본 발명의 실시 예에서 설명되는 청크는 MMT 청크이며, 이러한 MMT 청크의 구조에 대한 상세한 설명은 후술하도록 한다.
그러나, 이는 본 발명의 이해를 돕기 위한, 편의상 예시일 뿐, 본 발명이 반드시 MMT 기술에만 한정되어 적용되는 것은 아니다.
그러면 이제, 본 발명의 실시 예에 따른 비디오 페이싱 방법에 대하여 도면을 참조하여 상세하게 설명하도록 한다.
도1은 본 발명의 실시 예에 따른 스트리밍 서비스에서 컨텐츠 데이터의 청크를 전송하기 위한 시스템의 구성을 나타내는 도면이다.
도1을 참조하면, 본 발명의 실시 예에 따른 컨텐츠 데이터의 청크를 전송하기 위한 시스템은 단말장치(200) 및 컨텐츠 제공 장치(300)를 포함하여 구성될 수 있으며, 상기 단말장치(200)와 컨텐츠 제공 장치(300)는 통신망(100)을 통해서 연동된다.
그러면 도1을 참조하여 각 구성요소에 대해 개략적으로 설명하도록 한다.
먼저, 통신망(100)은 단말장치(200)와 컨텐츠 제공 서버(300)간 데이터 송수신을 위해 데이터를 전달하는 역할을 하며, 시스템 구현 방식에 따라 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수도 있고, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access), LTE(Long Term Evolution), LTE-A (Long Term Evolution Advanced) 등의 무선 통신 방식을 이용할 수도 있으며, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
단말장치(200)는 사용자의 조작에 따라 통신망(100)을 통해 컨텐츠 제공 장치(300)와 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다.
이러한 단말장치(200)는 통신망(100)을 통하여 음성 또는 데이터 통신을 수행할 수 있으며, 데이터의 송수신 및 처리를 위한 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
또한, 이러한 본 발명의 단말장치(200)는 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말장치(200)는 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 노트북 컴퓨터(Laptop Computer), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수 있고, 이외에도 본 발명에 따른 데이터를 송수신 할 수 있는 장치라면, 그 어떠한 장치도 본 발명의 실시 예에 따른 단말장치(200)로 이용될 수 있다.
한편, 본 발명에 따른 단말장치(200)는 사용자의 입력에 따라 컨텐츠 제공 장치(300)로 컨텐츠 전송 요청을 하여, 컨텐츠 제공 장치(300)로부터 스트리밍 방식으로 컨텐츠를 수신할 수 있다.
이 때, 컨텐츠는 청크 단위로 수신할 수 있으며, 해당 청크는 MMT 청크일 수 있다.
한편, 단말장치(200)는 사용자의 입력에 따라 컨텐츠 제공 장치(300)로부터 컨텐츠 데이터의 청크를 순번에 따라 차례대로 수신할 수 있으나, 사용자가 임의의 부분을 선택하여, 해당 부분에 관한 청크를 요청하면, 컨텐츠 제공 장치(300)로부터 해당 부분의 청크를 수신할 수 있다.
특히, 본 발명의 실시 예에 따라 사용자가 임의의 부분을 선택하지 않더라도, 사용자가 임의로 선택할 가능성이 큰 부분의 청크를 컨텐츠 제공 장치(300)로부터 수신하여 임시로 저장할 수 있다.
또한, 단말장치(200)는 주기적 또는 비주기적으로 컨텐츠 제공 장치(300)에 피드백 메시지를 전송할 수 있는데, 상기 피드백 메시지에는 현재 단말장치(200)가 재생하고 있는 컨텐츠 부분에 해당하는 청크 정보 및 현재 단말장치(200)가 저장하고 있는 해당 컨텐츠의 청크 정보를 포함할 수 있다.
한편, 상기 피드백 메시지는 MQI(Message Queuing Interface) 메시지 또는 NAM Feedback 메시지 등이 될 수 있다. 즉, 현재 단말장치(200)가 재생하고 있는 컨텐츠 부분에 해당하는 청크 정보 및 현재 단말장치(200)가 저장하고 있는 청크 정보를 상기 MQI 메시지 혹은 NAM Feedback 메시지에 포함시켜 컨텐츠 제공 장치(300)에 전송할 수 있다.
마지막으로 컨텐츠 제공 장치(300)는 컨텐츠 제공 장치(300)에 저장되어 있거나, 외부 장치(미도시)로부터 수신한 동영상 등의 컨텐츠 데이터를 통신망(100)을 통해서 단말장치(200)로 전송하기 위한 장치이다.
이 때, 컨텐츠 제공 장치(300)는 단말장치(200)에 청크단위로 컨텐츠 데이터를 전송하게 되는데, 본 발명의 실시 예에서 상기 청크는 MMT 청크일 수 있다.
따라서, 본 발명의 실시 예를 설명하기에 앞서, 상기 컨텐츠 제공 장치(300)가 단말장치(200)에 전송하는 MMT 청크의 구조에 대해서 도2를 참조하여 살펴보면, MMT 패키지(10)는 MMT 기능 영역에서 정의하는 데이터 모델 중 논리적으로 구조화된 가장 큰 MMT 개체(entity)로서 영화 한편과 같은 하나의 독립적인 컨텐츠를 의미한다. 동영상 등의 스트리밍 컨텐츠 제공 서비스를 제공하는 컨텐츠 제공 장치(300)는 이러한 MMT 패키지를 생성하여 단말장치(200)로 제공할 수 있는데, MMT 패키지(10)는 여러 개체들의 모음으로 구성되는 논리적으로 구조화된 컬렉션이 될 수 있다. 이러한 MMT 패키지(10)는 하나 이상의 애셋(20), 프리젠테이션 정보(11), 트랜스포트 특성(13) 및 설명적인(descriptive) 정보, 예컨대, 패키지 정보를 포함할 수 있다.
이 중, 프리젠테이션 정보(Presentation Information, 11)은 복수의 애셋(20)들 사이의 관계(relationship), 즉 공간적 및 시간적 관계에 대한 정보를 포함하며, 하나의 컨텐츠(content)가 복수개의 MMT 패키지로 이루어질 경우 복수의 MMT 패키지간의 관계(relationship)를 나타내기 위한 정보를 더 포함할 수 있다. 이러한 프리젠테이션 정보(11)는 하이퍼텍스트 마크업 언어(HTML)와 구성 정보(Composition Information) 도큐먼트들의 조합이 프리젠테이션 정보(11)의 예라 할 수 있다.
트랜스포트 특성(ADC; Asset Delivery Characteristics, 13)은 애셋(20)의 전달을 위한 QoS(Quality of Service) 요구 및 통계를 나타낸다. 복수의 애셋(20)은 하나의 트랜스포트 특성(13)에 관련될 수 있다. 이때의 트랜스포트 특성(전송 특성)(13)은 애셋(20)의 효과적인 전달을 위해 패키지를 캡슐화하는 개체에 의해 MMT 페이로드 및 MMT 프로토콜의 파라미터를 설정하는데 사용될 수 있다. 또한 트랜스포트 특성(13)은 MMT 애셋(20) 또는 MMT 청크의 전달 조건(delivery condition)을 결정하기 위해 필요한 전달 특성 정보를 포함할 수 있으며, 예를 들어 트래픽 기술 파라미터(traffic description parameter) 및 QoS 기술자(QoS descriptor)를 포함할 수 있다. 이러한 전달 특성 정보는 통신망 환경에 무관한 파라미터 형태로 표현될 수 있다.
애셋(20)은 타임드 또는 넌 타임드 성질을 가진 오디오, 비디오 또는 웹페이지 데이터와 같은 부호화된 미디어 데이터를 캡슐화하는 패키지의 요소를 의미하는 것으로 가장 큰 논리적 데이터 단위를 의미한다. 이러한 애셋(20)은 동일한 전달 특성으로 데이터를 포함하는 데이터 개체를 의미한다. 예컨대, MMT 패키지(10)는 MMT 기능 영역에서 정의하는 데이터 모델 중 가장 큰 개체(entity)로서 영화 한편과 같은 하나의 독립적인 컨텐츠를 의미한다면, 애셋(20)은 오디오 데이터, 비디오 데이터, 스크립트 데이터와 같은 MMT 패키지(10)를 구성하는 데이터 단위를 의미한다. 이러한 애셋(20)은 동일한 애셋 ID를 공유하는 MPU들을 논리적으로 그룹화하게 된다.
아울러, 본 발명의 MMT 청크는 실질적으로는 MMT 헤더와 MMT 페이로드를 포함하여 구성될 수 있다.
또한, 본 발명의 실시 예에 따른 MMT 청크는 해당 MPU에 매핑된 히트 포인트 정보를 기반으로 해당 MMT 청크가 전송되는 경우, 히트 포인트 정보 기반 전송에 따른 전송 순서를 나타내는 mpu_interest_number 필드를 포함할 수 있다.
이와 같은 mpu_interest_number 필드는 MP table, MPU timestamp descriptor, CI 또는 그에 상응하는 시그널링 메시지에 포함될 수 있으며, 만약, MPU timestamp descriptor 내에 상기 mpu_interest_number 필드가 포함된다면, 해당 MPU timestamp descriptor의 구문(Syntax)는 다음의 [표1]과 같을 수 있다.
Syntax No. of bits Mnemonic
MPU_timestamp_descriptor(){
descriptor_tag
descriptor_length
for (i=0; i<N; i++){
mpu_sequence_number
mpu_presentation_time
mpu_interest_number
}
}

16
8

32
64
32

uimsbf
uimsbf

uimsbf
uimsbf
uimsbf
그러면 이제 본격적으로 본 발명에 따라 컨텐츠 제공 장치(300)가 상기 설명한 MMT 청크를 단말장치(200)로 전송하는 전송 방법 및 이에 따른 컨텐츠 제공 장치(300)의 구성에 대하여 도3 내지 도4를 통해 살펴보도록 한다.
도3은 컨텐츠 제공 장치(300)의 구성을 나타낸 블록도이고, 도4는 컨텐츠 제공 장치(300)가 단말장치(200)에 청크를 전송하는 방법을 설명하기 위한 흐름도이다.
도3을 살펴보면 컨텐츠 제공 장치(300)는 통신모듈(310), 저장모듈(330) 및 제어모듈(350)을 포함할 수 있다.
통신모듈(310)은 통신망(100)을 통해 단말장치(200)와 데이터를 송수신하기 위한 것으로서, 제어모듈(350)이 선택한 컨텐츠 데이터의 청크를 단말장치(200)에 전송하고, 단말장치(200)로부터 피드백 메시지를 수신할 수 있다.
저장모듈(330)은 통신모듈(310)을 통해 단말장치(200)에 전송할 다양한 컨텐츠의 데이터를 컨텐츠 정보 DB(333) 형태로 저장할 수 있다.
또한, 본 발명에 있어서, 저장모듈(330)은 각 컨텐츠 데이터의 청크 별로 히트 포인트(Hit Point) 정보를 매핑하여 히트 포인트 정보 DB(331) 형태로 저장할 수 있다.
이러한 히트 포인트 정보는 컨텐츠를 구성하는 각 청크에 대응하는 컨텐츠의 일부분이 재생된 정도를 각 청크 별로 매칭시킨 것으로서, 적어도 하나의 사용자가 해당 컨텐츠의 각 부분을 얼마나 소비하였는지, 즉, 해당 컨텐츠의 부분 별 사용자들의 흥미도 또는 관심도를 나타내는 척도라고 할 수 있다.
제어모듈(350)은 본 발명에 따른 컨텐츠 제공 장치(300)의 동작과정 전반을 제어하는 장치로서, 청크 전송 제어모듈(351) 및 히트 포인트 정보 생성 모듈(353)을 포함하여 구성될 수 있으며, 청크 전송 제어모듈(351)은 단말장치(200)에 전송할 컨텐츠 데이터의 청크를 선택하여 전송하도록 제어한다.
즉, 청크 전송 제어모듈(351)은 현재 단말장치(200)에서 소비되고 있는 청크의 순번, 단말장치(200)에 기 전송되어 저장되어 있는 청크의 양, 각 청크 별 히트포인트 정보 등을 기반으로 단말장치(200)에 전송할 컨텐츠 데이터의 청크 순서를 설정하고, 상기 순서에 따라 청크를 단말장치(200)로 전송하도록 제어한다. 다만, 전송되는 청크 순서는 모든 컨텐츠 데이터가 전송되기 까지 수시로 변화할 수 있다.
히트 포인트 정보 생성 모듈(353)은 히트 포인트 정보 DB(331)에 저장되는 각 청크 별 히트 포인트 정보를 생성하는 역할을 한다.
이제, 도4를 참조하여 상기 청크 전송 제어모듈(351) 및 히트 포인트 정보 생성 모듈(353)을 포함하는 제어모듈(350)에 의해 동작되는 컨텐츠 제공 장치(300)의 동작과정을 좀 더 구체적으로 살펴보도록 한다.
컨텐츠 제공 장치(300)는 컨텐츠를 구성하는 청크 별로, 청크에 대응하는 컨텐츠의 일부분이 적어도 하나의 단말장치(200)에 의해 재생된 정도를 측정하여, 이를 기반으로 청크 별, 히트포인트 정보를 생성하여 생성된 히트포인트 정보를 각 청크에 매핑하여 저장한다(S101).
즉, 해당 컨텐츠를 소비한 사용자들이 해당 컨텐츠의 어느 부분에 흥미와 관심을 더 가지고 무작위로 선택하여 시청하고 소비했는지를 측정하여, 이를 기반으로 해당 영역에 대응되는 청크 별로 히트 포인트 정보를 생성하는 것이다.
이 때, 사용자들이 해당 컨텐츠의 어느 부분을 재생하여 소비하였는지에 관한 정보는 단말장치(200)로부터 주기적 또는 비주기적으로 수신되는 피드백 메시지에 포함되거나, 히트 포인트 정보 생성을 위한 별도의 메시지에 포함되어 컨텐츠 제공 장치(300)에 전달될 수 있다.
그 후, 컨텐츠 제공 장치(300)는 현재 단말장치(200)에서 재생되고 있는 부분의 청크를 확인하고(S103), 현재 재생되고 있는 부분의 청크 이후에 순차적으로 다음에 재생되어야 하는 청크가 일정 수 이상 단말장치(200)에 저장되어 있는지를 확인한다(S105).
만약, 일정 수 이상의 청크가 단말장치(200)에 저장되었다면, 히트 포인트 정보를 기반으로 단말장치(200)에 전송할 청크를 선택하고, 그 순서를 설정하여, 다음 순서에 해당하는 청크부터 설정된 순서대로 청크를 단말장치(200)에 전송한다(S107).
만약, 일정 수 이상의 청크가 단말장치(200)에 저장되지 않았다면, 사용자의 안정적인 시청을 보장하기 위한 일정 이상의 청크가 저장될 때까지, 다음 순번의 청크를 단말장치(200)에 전송한다(S109).
이는 히트포인트 정보에만 의존하여 히트포인트가 높은 청크 위주로 청크를 단말장치(200)로 전송하면, 사용자가 컨텐츠를 무작위로 시청하지 않고, 순차적으로 시청하는 경우, 정작 다음번에 사용자가 시청하여야 할 청크가 수신되지 않아, 리버퍼링되어야 하는 현상을 방지하기 위함이다.
다시 말해, 현재 사용자가 시청하는 부분의 청크가 1번 청크이고, 사용자의 안정적인 시청을 보장하기 위하여는 5번 청크까지 단말장치(200)의 버퍼에 저장되어야 한다면, 컨텐츠 제공장치(300)는 단말장치(200)가 현재 재생하고 있는 청크가 1번 청크이고, 단말장치(200)에 적어도 5번 청크까지 저장되었는지를 확인한 후에, 5번 청크까지 저장되어 있다면, 히트 포인트 정보에 기반하여, 히트 포인트가 높은 청크를 단말장치(200)로 전송하고, 5번 청크까지 저장되어 있지 않다면, 5번 청크까지 전송한 후에 히트 포인트 정보에 기반하여, 히트 포인트가 높은 청크를 단말장치(200)에 전송할 것이다.
물론, 5번 청크까지 전송하는 중에 1번 청크에 해당하는 부분의 시청이 끝나, 현재 시청하는 지점이 2번 청크 부분이 되었다면, 적어도 6번 청크까지 단말장치(200)에 저장됐는지를 확인하여 S107 또는 S109 단계를 진행할 것이다.
한편, S103 및 S105 단계에서 현재 단말장치(200)에서 재생 중인 청크와 그 청크로부터 일정 수 이상의 다음 청크를 단말장치(200)가 확보하고 있는지를 확인하는 방법에 관한 실시 예로는 크게 두 가지가 있을 수 있다.
제1 실시 예는 단말장치(200)로부터 피드백 메시지를 수신하는 방법이다.
컨텐츠 제공 장치(300)는 단말장치(200)로부터 주기적 또는 비주기적으로 단말장치(200)가 현재 재생하고 있는 청크와 현재 저장하고 있는 청크에 대한 정보를 포함하는 피드백 메시지를 수신하여, 상기 피드백 메시지에 포함된 정보를 확인함으로써, 현재 단말장치(200)에 사용자의 순차적 시청에 대비한 충분한 청크가 저장되었는지를 판단하여, 전송할 청크 및 전송 순서를 선택할 수 있다.
그리고 앞서 상술한 것과 같이, 상기 피드백 메시지에 포함된 정보를 히트 포인트 정보를 생성하는데 이용할 수도 있다.
제2 실시 예는 컨텐츠 제공 장치(300)와 단말장치(200) 간의 네트워크 상황 및 각 청크에 할당된 표현 시간(Presentation time) 중 적어도 하나를 기반으로 현재 단말장치(200)에서 재생하고 있는 청크와 저장하고 있는 청크를 판단하는 방법이다.
예를 들어, 청크 당 표현 시간이 1초이고, 현재 네트워크 상황을 기반으로 할 때, 컨텐츠 제공 장치(300)가 1초에 평균 3개의 청크를 단말장치(200)에 전송할 수 있고, 단말장치(200)가 현재 재생하고 있는 지점으로부터 3개의 청크를 저장하고 있다면, 컨텐츠 제공 장치(300)는 히트 포인트가 높은 청크를 단말장치(200)에게 전송할 수 있다.
즉, 현재 단말장치(200)가 1번 청크를 재생하는 것으로 판단되고, 1번 청크의 표현 시간이 1초이며, 현 네트워크 상황이 컨텐츠 제공 장치(300)가 1초에 평균 3개의 청크를 단말장치(200)에 전송할 수 있다면, 컨텐츠 제공 장치(300)는 1번 청크가 재생되는 시점에 적어도 3번 청크까지 단말장치(200)에 전송하였는지를 확인하여, 적어도 3번 청크까지 단말장치(200)에 전송하였다면, 히트 포인트가 높은 청크를 단말장치(200)로 전송하고, 3번 청크까지 단말장치(200)에 전송하지 않았다면, 3번 청크까지 단말장치(200)에 전송한 후, 히트 포인트 정보에 따라 전송할 청크 및 전송 순서를 선택할 수 있다.
이러한 과정을 거쳐 컨텐츠 제공 장치(300)가 단말장치(200)가 요청한 컨텐츠의 청크를 모두 전송하였다면 컨텐츠 전송을 완료하고(S111), 컨텐츠의 청크를 모두 전송하지 않았다면, S101단계로 돌아가 전 과정을 반복하여 실행할 수 있다.
한편, 컨텐츠 제공 장치(300)가 청크를 전송할 때, 그룹 단위로 전송할 수 있다.
즉, 컨텐츠 제공 장치(300)는 히트 포인트 정보 및 각 청크의 순번을 기반으로 컨텐츠를 구성하는 복수의 청크를 하나 이상의 그룹으로 그룹핑 하여, 그룹 단위로 청크를 전송할 수 있다.
이 때, 각 그룹에서 가장 낮은 순번을 갖는 청크를 대표 청크로 지정하고, 각 그룹별 대표 청크의 히트포인트 정보를 기반으로 단말장치(200)에 전송할 그룹을 선택하여 전송할 수 있다.
예를 들어, 컨텐츠를 구성하는 청크가 1번~20번까지라면, 히트 포인트 정보 및 청크의 순번을 기반으로 1번~5번 청크를 제1 그룹, 6번~12번을 제2 그룹, 13번~15번을 제3 그룹, 16번~20번을 제4그룹으로 나눌 수 있고, 1번, 6번, 13번, 16번 청크를 각 그룹의 대표 청크로 지정할 수 있다.
그리고 도4의 S105단계에서 단말장치(200)가 순차적 재생을 위한 충분한 청크를 저장하고 있는지를 확인한 후, 충분한 청크를 저장한 것으로 판단되어 S107단계로 진행하는 경우, 1번, 6번, 13번, 16번 청크의 히트 포인트 정보를 기반으로 다음 전송할 청크를 선택하는데, 13번 청크가 다음 전송할 청크로 선택된다면, 13번 청크가 대표 청크로 있는 제3 그룹의 13번~15번 청크를 단말장치(200)로 전송할 수 있다.
그리고 이러한 전송 방법은 S109단계로 진행한 경우도 마찬가지일 수 있다.
즉, 현재 단말장치(200)에서 3번 청크 부분을 재생하고 있고, 사용자의 안정적인 시청을 위하여, 단말장치(200)가 적어도 7번 청크까지 확보하고 있어야 한다면, 7번 청크가 속한 제 2그룹의 청크인 6번~12번 청크를 단말장치(200)로 전송할 수 있다.
상술한 바와 마찬가지로, 상기와 같은 컨텐츠 제공 장치(300)의 동작과정 전반은 제어모듈(350)에 의해 수행된다.
이제, 본 발명에 따른 전송 방법의 실시 예를 구체적으로 살펴보도록 한다.
도5 내지 도7은 본 발명에 따른 전송 방법의 실시 예를 설명하기 위한 도면이다.
도 5 내지 도6에서 마지막 행에 있는 전송순서는 가장 윗 행인 MPU 시퀀스 넘버와 매칭된다. 따라서 전송순서가 1,4,5번의 시퀀스 넘버를 가진 청크를 차례로 보내는 것이 아니라, 1번 청크의 전송순서가 첫 번째이며 2번 청크의 전송순서는 네번째가 되는 것이다.
도5를 참조하면, MPU 단위로 이루어지는 청크의 시퀀스 넘버(순번)와 각 MPU 청크별, 히트포인트 정보가 나타나 있다.
도5를 통해 1번, 7번 내지 11번, 16번 청크의 히트포인트가 상대적으로 높은 것을 알 수 있다.
따라서, 컨텐츠 제공 장치(300)는 가장 먼저 시청되어야 할 1번 청크를 가장 우선적으로 전송하고 히트 포인트 정보 및 청크 순번을 고려하여 9번, 8번, 10번, 16번 순서로 MPU 청크를 전송할 수 있다.
그러나 7번 보다 2번, 3번의 MPU 청크의 히트포인트가 낮지만, 우선적으로 전송해야만 하는 상황이 있다. 이는 사용자가 무작위로 시청 영역을 선택하지 않고, 순차적으로 컨텐츠를 시청하는 경우, 현재 재생 시점을 기준으로 다음 재생에 필요한 최소한의 청크를 유지하여 사용자의 안정적인 컨텐츠의 시청을 보장하기 위함이다.
도6은 컨텐츠를 구성하는 복수의 청크를 하나 이상의 그룹으로 그룹핑하여, 그룹 단위로 전송하는 청크 전송 방법의 실시 예를 설명하기 위한 도면이다.
도6을 살펴보면, MPU 시퀀스 넘버와 각 MPU 청크 별, 히트포인트 정보는 도5와 같다.
다만, 도6에서는 히트포인트 정보와 각 청크의 순번을 고려하여 7번~11번 청크를 하나의 그룹으로 그룹핑하였다.
그리고 그룹의 대표 청크로 순번이 가장 낮은 7번을 지정하였다.
이렇게 복수의 청크를 그룹핑하고 그룹의 대표 청크를 지정한 컨텐츠 제공 장치(300)는 대표 청크인 7번의 히트포인트와 순번을 고려하여, 전송 순서를 결정한다.
도6을 보면, 1번, 7번~11번, 16번, 2번 순으로 MPU 청크가 단말장치(200)에 전송되는 것을 확인할 수 있다.
도7은 기존의 전송 방법과 본 발명에 따른 전송 방법을 비교 설명하기 위한 도면이다.
도7(a)는 기존의 전송 방법을 나타낸 것으로 컨텐츠 제공 장치(300)는 단말장치(200)에 청크를 순번에 기반하여 1번 청크부터 차례대로 전송한다.
하지만, 도7(b)에서 볼 수 있듯이, 본 발명에 따른 전송 방법은 각 청크 별로 매칭된 히트 포인트 정보 및, 단말장치(200)가 컨텐츠 제공 장치(300)로 전송하는 피드백 메시지를 기반으로 청크를 선택적으로 전송함으로써, 사용자의 안정적인 컨텐츠 시청과 함께, 사용자가 무작위로 시청영역을 선택하여 컨텐츠를 소비하는 경우를 대비하여 사용자의 QoE를 향상시킬 수 있는 것이다.
한편, 상술한 바와 같이, 도7(b)에 나타난 바와 다르게, 단말장치(200)로부터 피드백 메시지를 수신하지 않고, 단말장치(200)와 컨텐츠 제공 장치(300) 간의 네트워크 상황 및 MPU 청크의 표현 시간을 히트포인트 정보와 함께 고려하여 전송할 MPU 청크의 순서를 설정할 수도 있다.
이상에서 설명한 바와 같이, 본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다.
또한, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
본 기술한 설명은 본 발명의 최상의 모드를 제시하고 있으며, 본 발명을 설명하기 위하여, 그리고 통상의 기술자가 본 발명을 제작 및 이용할 수 있도록 하기 위한 예를 제공하고 있다. 이렇게 작성된 명세서는 그 제시된 구체적인 용어에 본 발명을 제한하는 것이 아니다. 따라서, 상술한 예를 참조하여 본 발명을 상세하게 설명하였지만, 통상의 기술자라면 본 발명의 범위를 벗어나지 않으면서도 본 예들에 대한 개조, 변경 및 변형을 가할 수 있다.
따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
본 발명은 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치에 관한 것으로서, , 더욱 상세하게는 실시간 스트리밍 서비스를 기반으로 컨텐츠 데이터 제공 시, 단말장치 사용자가 현재 시청되고 있는 부분 이외의 부분을 선택적으로 시청하고자 할 때 발생하는 일시적인 리버퍼링(Re-Buffering) 현상을 감소시켜 사용자의 QoE(Quality of Experience)를 향상시키기 위한 방법 및 장치에 관한 것이다.
본 발명에 따르면, 컨텐츠 제공 장치가 단말장치에서 현재 재생되는 시점으로부터 일정 시간 이상 재생할 청크가 저장되어 있는지를 확인하여, 저장되지 않았으면, 순번이 낮은 청크를 순차적으로 전송하고, 일정시간 이상 재생할 청크가 저장되었다면, 각 청크에 대한 히트포인트 정보를 기반으로 다음번에 전송할 청크를 선택하여 단말장치에 전송함으로써, 사용자가 소비하고 있는 컨텐츠 내에서 무작위로 소비 시점을 선택하는 경우에도 리버퍼링 시간을 최소화하여 사용자의 QoE를 향상시킬 수 있다.
따라서, 상기의 전송 방법을 통해 스트리밍 서비스 산업 발전에 이바지 할 수 있고, 더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 통신망 200: 단말장치 300: 컨텐츠 제공 장치
310: 컨텐츠 제공 장치의 통신모듈
330: 컨텐츠 제공 장치의 저장모듈
350: 컨텐츠 제공 장치의 제어모듈
331: 히트 포인트 정보 DB 333: 컨텐츠 정보 DB
351: 청크 전송 제어 모듈 353: 히트 포인트 정보 생성 모듈

Claims (11)

  1. 복수의 청크로 이루어진 컨텐츠 데이터를 청크 단위로 전송하는 방법에 있어서,
    컨텐츠 제공 장치가 특정 단말장치에 컨텐츠의 현재 재생 위치를 기준으로 순차적으로 재생될 적어도 하나의 다음 청크가 일정 수 이상 저장되어 있는지를 확인하는 단계;
    일정 수 이상의 다음 청크가 상기 특정 단말장치에 저장된 것으로 판단된 경우, 적어도 하나의 단말장치에 의한 컨텐츠의 부분 별 재생 정도를 청크 별로 매칭시킨 히트포인트(Hit Point) 정보를 기반으로 전송할 청크를 선택하여, 상기 특정 단말장치에 전송하는 제1 전송 단계; 및
    일정 수 이상의 다음 청크가 상기 특정 단말장치에 저장되지 않은 것으로 판단된 경우, 상기 특정 단말장치에 청크 순번에 따라 순차적으로 청크를 전송하는 제2 전송 단계;를 포함하고,
    상기 확인하는 단계는
    상기 청크들을 지정된 시간 동안 얼만큼 전송할 수 있는지에 대한 네트워크 상황 및 각 청크에 할당된 표현 시간을 기반으로 순차적으로 재생될 적어도 하나의 다음 청크의 일정 수를 추정하는 단계;
    상기 추정 수 만큼 상기 특정 단말 장치에 상기 적어도 하나의 다음 청크를 전송하였는지 확인하는 단계;를 포함하는 비디오 페이싱 방법.
  2. 제1항에 있어서, 상기 청크는
    청크의 페이로드에 포함되는 최소 디코딩 단위인 적어도 하나의 MFU(Media Fragment Unit) 또는 상기 적어도 하나의 MFU를 포함하여 이루어지는 적어도 하나의 MPU(Media Processing Unit)로 구성되는 MMT(MPEG Media Transport) 청크이고,,
    상기 히트포인트 정보는
    상기 MMT 청크에 포함된 각각의 MPU에 매칭되는 것을 특징으로 하는 비디오 페이싱 방법.
  3. 제1항에 있어서, 상기 확인하는 단계 이전에,
    적어도 하나의 단말장치에 의해 컨텐츠의 부분 별로 재생된 정도를 측정하는 단계; 및
    상기 측정된 재생 정도를 기반으로 상기 컨텐츠의 히트포인트 정보를 생성하는 단계;
    를 더 포함하는 비디오 페이싱 방법.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 상기 확인하는 단계 이전에,
    상기 히트포인트 정보 및 각 청크의 순번을 기반으로 상기 복수의 청크를 하나 이상의 그룹으로 그룹핑하는 단계;
    를 더 포함하고, 상기 제1 전송 단계 또는 제2 전송 단계는
    상기 그룹핑된 그룹 단위로 청크를 전송하는 것을 특징으로 하는 비디오 페이싱 방법.
  7. 제6항에 있어서,
    상기 각 그룹별로, 가장 낮은 순번을 갖는 청크를 대표 청크로 지정하는 단계;
    를 더 포함하고, 상기 제 1전송 단계는
    상기 각 그룹별 대표 청크의 히트포인트 정보를 기반으로 상기 특정 단말장치에 전송할 그룹을 선택하는 것을 특징으로 하는 비디오 페이싱 방법.
  8. 제1항 내지 3항, 6항 및 제7항 중 어느 하나의 항에 기재된 방법을 실행시키는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
  9. 제1항 내지 3항, 6항 및 제7항 중 어느 하나의 항에 기재된 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  10. 복수의 청크로 이루어진 컨텐츠 데이터를 청크 단위로 특정 단말장치에 전송하는 컨텐츠 제공 장치에 있어서,
    적어도 하나의 단말장치에 의해 각 청크에 대응하는 컨텐츠의 일부분이 재생된 정도를 상기 각 청크 별로 매칭시킨 히트포인트 정보를 저장하는 저장모듈; 및
    특정 단말장치에서 현재 재생되는 청크 및 상기 재생되는 청크 이후에 순차적으로 재생될 적어도 하나의 다음 청크가 일정 수 이상 상기 특정 단말장치에 저장되어 있는지를 확인하고, 저장된 것으로 판단된 경우, 상기 히트포인트 정보를 기반으로 상기 특정 단말장치에 전송할 청크를 선택하여 전송하고, 저장되지 않은 것으로 판단된 경우, 상기 일정 수를 만족할 때까지 청크 순번에 맞춰 차례대로 청크를 전송하도록 제어하는 제어모듈;을 포함하고,
    상기 제어 모듈은,
    상기 적어도 하나의 다음 청크 전송과 관련하여, 상기 청크들을 지정된 시간 동안 얼만큼 전송할 수 있는지에 대한 네트워크 상황 및 각 청크에 할당된 표현 시간을 기반으로 순차적으로 재생될 적어도 하나의 다음 청크의 일정 수를 추정하고, 상기 추정 수 만큼 상기 특정 단말 장치에 상기 적어도 하나의 다음 청크를 전송하였는지 확인하는 것을 특징으로 하는 컨텐츠 제공 장치.
  11. 제10항에 있어서, 상기 청크는
    청크의 페이로드에 포함되는 최소 디코딩 단위인 적어도 하나의 MFU(Media Fragment Unit) 또는 상기 적어도 하나의 MFU를 포함하여 이루어지는 적어도 하나의 MPU(Media Processing Unit)로 구성되는 MMT(MPEG Media Transport) 청크이고,
    상기 히트포인트 정보는
    상기 MMT 청크에 포함된 각각의 MPU에 매칭되는 것을 특징으로 하는 컨텐츠 제공 장치.
KR1020160049603A 2016-04-22 2016-04-22 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치 KR102511949B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160049603A KR102511949B1 (ko) 2016-04-22 2016-04-22 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160049603A KR102511949B1 (ko) 2016-04-22 2016-04-22 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20170120971A KR20170120971A (ko) 2017-11-01
KR102511949B1 true KR102511949B1 (ko) 2023-03-22

Family

ID=60382829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160049603A KR102511949B1 (ko) 2016-04-22 2016-04-22 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102511949B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140042263A (ko) * 2012-09-28 2014-04-07 삼성전자주식회사 미디어 스트리밍 서비스에서 버퍼링 데이터를 송수신하기 위한 장치 및 방법
KR102127672B1 (ko) * 2013-04-18 2020-06-29 삼성전자주식회사 멀티미디어 전송 네트워크에서 미디어 전송의 제어 방법 및 장치
KR20160005663A (ko) 2014-07-07 2016-01-15 한국전자통신연구원 저지연 서비스를 위한 mmt 장치 및 방법

Also Published As

Publication number Publication date
KR20170120971A (ko) 2017-11-01

Similar Documents

Publication Publication Date Title
US11853342B2 (en) Efficient data distribution to multiple devices
US10305947B2 (en) Pre-buffering audio streams
US10461884B2 (en) Server selected variable bitrate streaming
CN109565620A (zh) 低延迟http实时流传输
WO2019128800A1 (zh) 一种内容服务的实现方法、装置及内容分发网络节点
CN105025351A (zh) 流媒体播放器缓冲的方法及装置
US20140317668A1 (en) Carriage Of Quality Information Of Content In Media Formats
US11758203B2 (en) Adaptive bitrate video cache
US20220060532A1 (en) Method for transmitting resources and electronic device
US20110082943A1 (en) P2p network system and data transmitting and receiving method thereof
US9560390B2 (en) Asynchronous encoding of digital content
US20220385989A1 (en) Video playing control method and system
US9680904B2 (en) Adaptive buffers for media players
CN111093094A (zh) 视频转码方法、装置、系统及电子设备及可读存储介质
CN106603503A (zh) 直播数据的处理方法和装置
CN108881931A (zh) 一种数据缓冲方法及网络设备
KR20220059425A (ko) 비디오 스트리밍을 위한 세션 기반 적응적 재생 프로파일 판정
US10237195B1 (en) IP video playback
CN108124192A (zh) Hls流媒体的播放方法及系统
US10873781B2 (en) Video fragment file processing
KR102511949B1 (ko) 무작위 시청 영역 선택을 고려한 효율적인 비디오 페이싱 방법 및 이를 위한 장치
WO2017114393A1 (zh) Http流媒体传输方法及装置
KR102491247B1 (ko) 네트워크 상에서 실시간 멀티미디어 서비스의 품질을 제어하는 방법 및 이를 위한 장치
KR102513562B1 (ko) 컨텐츠 전송 방법 및 장치
WO2017071524A1 (zh) 多媒体资源的发布方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)