KR20210052345A - 이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치 - Google Patents

이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치 Download PDF

Info

Publication number
KR20210052345A
KR20210052345A KR1020200142664A KR20200142664A KR20210052345A KR 20210052345 A KR20210052345 A KR 20210052345A KR 1020200142664 A KR1020200142664 A KR 1020200142664A KR 20200142664 A KR20200142664 A KR 20200142664A KR 20210052345 A KR20210052345 A KR 20210052345A
Authority
KR
South Korea
Prior art keywords
frames
dash segment
frame
dash
content
Prior art date
Application number
KR1020200142664A
Other languages
English (en)
Other versions
KR102401372B1 (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 KR20210052345A publication Critical patent/KR20210052345A/ko
Application granted granted Critical
Publication of KR102401372B1 publication Critical patent/KR102401372B1/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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip

Abstract

본 발명은 미디어 프레임을 렌더링하는 방법 및 장치에 관한 것으로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하는 단계; 상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하는 단계; 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계; 상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하는 단계; 상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하는 단계; 상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 DPB(decoded picture buffer)에 저장하는 단계; 및 상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하는 단계; 및 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링하는 단계를 포함한다.

Description

이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치{METHOD AND APPARATUS FOR INSERTING CONTENT RECEIVED VIA HETEROGENEOUS NETWORK}
이하의 설명은 콘텐츠의 렌더링 방법 및 장치에 관한 것으로, 이종 네트워크를 통해 수신한 콘텐츠를 기존 네트워크를 통해 수신한 콘텐츠에 삽입하고, 렌더링하는 방법 및 장치에 관한 것이다.
DASH(dynamic adaptive streaming over HTTP(hypertext transfer protocol))는 방송/통신 네트워크 기반의 스트리밍 서비스를 위한 기술 표준으로, 가변적인 방송/통신 네트워크 상황에 따른 적응형 스트리밍 서비스를 제공하기 위하여 제정된 기술 표준이다.
DASH 시스템은 서버와 클라이언트를 포함하고, 서버는 하나의 영상을 다양한 화질로 각각 인코딩하고, 콘텐츠를 작은 시간 단위로 나눈 세그먼트들을 HTTP를 통해서 전송한다. 클라이언트는 대역폭의 상황에 따라 어떤 화질의 미디어를 다운로드할 것인지 선택하고 다운로드와 재생을 반복하게 된다.
DASH 서비스는 ATSC(Advanced Television Systems Committee) 3.0 어플리케이션 시그널링(Application Signaling) 표준에 따라 스트리밍 서비스 중 이벤트 시그널을 통해서 광고 콘텐츠 삽입 서비스를 제공할 수 있다. 이와 같은 콘텐츠 삽입을 위해서는 정확한 시점에서 콘텐츠를 삽입하여 재생하고, 삽입한 콘텐츠의 재생이 완료된 후에, 원래 콘텐츠로 정확한 시점에 회귀할 수 있어야 한다. 이벤트 시그널 속성으로는 콘텐츠 삽입을 위한 URL, 이벤트 시작 시간, 이벤트 지속 시간 등이 필요하다.
방송 프로그램은 초 단위로 구성되지만, 방송국에서는 기존의 인코더를 계속해서 사용하기 위해 방송 프로그램을 59.94FPS로 촬영한다. 그리고 방송용 인코더는 촬영된 미디어 데이터를 56 또는 60프레임 단위로 인코딩할 수 있다. 즉, 방송 프로그램의 촬영 FPS와 인코딩 프레임 단위는 일치하지 않으며, 이와 같은 문제로 인해, 콘텐츠는 초 단위로 구성되지 못하고, 따라서, 특정 시점에서 두 개의 방송 콘텐츠가 충돌하는 문제가 발생한다.
본 개시는 UHD 방송 서비스를 제공함에 있어, 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하기 위한 송수신 방법 및 장치를 제공함에 있다.
본 개시는 콘텐츠 삽입 시 발생하는 프레임 드랍 문제를 해결하기 위해 UHD TV 송신기 내 부호화기의 참조 프레임 구조 설정에 따른 효율적인 콘텐츠 삽입 방법 및 장치를 제공함에 있다.
본 개시는 콘텐츠 삽입 시 발생하는 프레임 드랍 문제를 해결하기 위해 UHD TV 수신기 내 복호기의 인스턴스 생성 방법 및 장치를 제공함에 있다.
본 개시는 콘텐츠 삽입 시 발생하는 프레임 드랍 문제를 해결하기 위해 UHD TV 수신기 내 복호기의 DPB(Decoded Picture Buffer) 관리 방법 및 장치를 제공함에 있다.
본 개시에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 개시의 실시 예들로부터 본 개시의 기술 구성이 적용되는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
본 발명은 UHD 방송 서비스의 이종 네트워크를 통해 전송되는 콘텐츠 삽입 시 발생하는 프레임 드랍을 해결하는 것을 특징으로 한다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하는 단계; 상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하는 단계; 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계; 상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하는 단계; 상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하는 단계; 상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 DPB(decoded picture buffer)에 저장하는 단계; 상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하는 단계; 및 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계는, 상기 제1 MPD에 포함된 이벤트 시그널의 검출 결과를 기초로 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다.
본 개시의 일 예로서, 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계는, 상기 DPB의 크기와 상기 제2 DASH 세그먼트의 프레임을 복호화하기 위해 참조하는 프레임의 최대 개수의 차이가 미리 설정된 값 이상인 경우, 상기 제2 네트워크를 통해 전송되는 콘텐츠를 삽입하도록 결정할 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들로부터 참조 프레임들을 생성하고, 상기 참조 프레임들을 상기 DPB에 저장하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들은, 상기 참조 프레임들을 기반으로 복호화될 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 복호화된 상기 제1 DASH 세그먼트의 적어도 하나의 프레임들을 상기 DPB에 저장하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 상기 제2 DASH 세그먼트의 복수의 프레임들은, 상기 DPB에 저장된 상기 제1 DASH 세그먼트의 복수의 프레임들이 렌더링되는 시구간 동안 복호화될 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 제2 DASH 세그먼트의 적어도 하나의 프레임들 중에서, 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 전인 프레임을 드랍하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하는 단계; 상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하는 단계; 복호화된 상기 제1 DASH 세그먼트의 복수의 프레임들을 제1 DPB(decoded picture buffer)에 저장하는 단계; 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계; 상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하는 단계; 상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하는 단계; 상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 제2 DPB(decoded picture buffer)에 저장하는 단계; 상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하는 단계; 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링하는 단계를 포함할 수 있다.
본 개시의 일 예로서, 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계는, 상기 제1 MPD에 포함된 이벤트 시그널의 검출 결과를 기초로 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들로부터 참조 프레임들을 생성하는 단계; 및 상기 참조 프레임들을 상기 제2 DPB에 저장하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들은, 상기 참조 프레임들을 기반으로 복호화될 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 복호화된 상기 제1 DASH 세그먼트의 적어도 하나의 프레임들을 상기 DPB에 저장하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 상기 제2 DASH 세그먼트의 복수의 프레임들은, 상기 제1 DASH 세그먼트의 복수의 하나의 프레임들과 병렬적으로 복호화될 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트의 동작 방법은, 제2 DASH 세그먼트의 적어도 하나의 프레임들 중에서, 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 전인 프레임을 드랍하는 단계를 더 포함할 수 있다.
본 개시의 일 예로서, 미디어 프레임을 렌더링하는 클라이언트는, 송수신기; 및 상기 송수신기에 결합된 프로세서를 포함하고, 상기 프로세서는, 제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하고; 상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하고; 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하고; 상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하고; 상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하고; 상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 DPB(decoded picture buffer)에 저장하고; 상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하고; 그리고 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링할 수 있다.
본 개시에 기초한 실시 예들에 의해 하기와 같은 효과가 있을 수 있다.
본 개시에 따르면, UHD TV 방송 서비스의 이종 네트워크를 통해 전송되는 콘텐츠 삽입 시 발생할 수 있는 방송 콘텐츠의 프레임 드랍 문제를 해결할 수 있고, 따라서, 이종 네트워크를 통해 전송되는 콘텐츠 삽입 시에도 끊김 없는 방송 서비스를 제공할 수 있다.
본 개시의 실시 예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 이하의 본 개시의 실시 예들에 대한 기재로부터 본 개시의 기술 구성이 적용되는 기술분야에서 통상의 지식을 가진 자에게 명확하게 도출되고 이해될 수 있다. 즉, 본 개시에서 서술하는 구성을 실시함에 따른 의도하지 않은 효과들 역시 본 개시의 실시 예들로부터 당해 기술분야의 통상의 지식을 가진 자에 의해 도출될 수 있다.
이하에 첨부되는 도면들은 본 개시에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 본 개시에 대한 실시 예들을 제공할 수 있다. 다만, 본 개시의 기술적 특징이 특정 도면에 한정되는 것은 아니며, 각 도면에서 개시하는 특징들은 서로 조합되어 새로운 실시 예로 구성될 수 있다. 각 도면에서의 참조 번호(reference numerals)들은 구조적 구성요소(structural elements)를 의미할 수 있다.
도 1은 본 개시에서 적용되는 DASH 네트워크 시스템의 예시를 도시한 도면이다.
도 2는 본 개시에서 적용되는 MPD의 기본 구조를 도시한 도면이다.
도 3은 본 개시에서 적용되는 DASH 초기화 세그먼트의 구조를 도시한 도면이다.
도 4는 본 개시에서 적용되는 DASH 미디어 세그먼트의 구조를 도시한 도면이다.
도 5는 본 개시에서 적용되는 하나의 DASH 미디어 세그먼트에 대응되는 시구간 동안 서로 다른 두 개의 콘텐츠가 충돌하는 경우의 제1 실시예를 도시한 도면이다.
도 6은 본 개시에서 적용되는 하나의 DASH 미디어 세그먼트에 대응되는 시구간 동안 서로 다른 두 개의 콘텐츠가 충돌하는 경우의 제2 실시예를 도시한 도면이다.
도 7은 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하기 위한 방법을 도시한 도면이다.
도 8은 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하는 과정의 제1 실시예를 도시한 도면이다.
도 9는 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하는 과정의 제2 실시예를 도시한 도면이다.
도 10은 본 개시에서 적용되는 DPB의 크기와 방송 콘텐츠의 최대 참조 프레임 수에 따른 콘텐츠 삽입 가능 확률을 도시하는 도면이다.
도 11은 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하는 과정의 제3 실시예를 도시한 도면이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하, 첨부한 도면들을 참조하여, 본 발명의 실시예들을 상세하게 설명한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
DASH(dynamic adaptive streaming over HTTP(hypertext transfer protocol))는 방송/통신 네트워크 기반의 스트리밍 서비스를 위한 기술 표준으로, DASH는 데스크탑 및 모바일 기기의 보급에 따른 스트리밍 서비스를 이용한 콘텐츠의 소비가 증가함에 따라 가변적인 방송/통신 네트워크 상황에 따른 적응형 스트리밍 서비스를 제공하기 위하여 제정된 기술 표준이다.
지상파 UHD(ultra-HD) TV에서는 스트리밍 서비스를 위한 DASH 시스템을 방송용으로 적용하기 위해 ROUTE(real-time object delivery over unidirectional transport) 프로토콜을 사용하였다. ROUTE 프로토콜은 DASH 세그먼트로 제작된 스트리밍 콘텐츠를 기존의 TV 서비스와 유사하도록 방송망을 통하여 실시간 전송을 제공하기 위해서 설계되었다.
ROUTE 프로토콜은 기존의 파일 전송을 위해 사용되던 프로토콜인 FLUTE(file delivery over unidirectional transport)를 계승한다. ROUTE 프로토콜은 FLUTE를 실시간 방송 서비스에 적합하도록 일부 기능들을 개선하였다. ROUTE에서 제공하는 개선된 기능들은 다음과 같다.
ROUTE 프로토콜은 오브젝트 기반 미디어 데이터를 실시간으로 전송할 수 있다. ROUTE 프로토콜은 데이터를 패킷화함에 있어, 패킷에 포함된 데이터가 미디어 데이터인지 또는 전송에 관한 메타데이터인지 여부를 지시하는 정보를 포함하도록 유연하게 데이터를 패킷화하는 방법을 지원할 수 있다. ROUTE 프로토콜은 파일과 전송 오브젝트의 독립성을 보장할 수 있다. ROUTE 프로토콜은 실시간 콘텐츠뿐만 아니라 NRT 미디어, EPG, ESG 데이터와 같은 비 실시간 콘텐츠의 전송을 지원한다.
도 1은 본 개시에서 적용되는 DASH 네트워크 시스템의 예시를 도시한 도면이다.
도 1을 참조하면, DASH 서비스는 DASH 생성기(generator)(110)에 의해 생성된 MPD(media presentation descriptor), DASH 세그먼트를 HTTP를 통해서 서버(120)와 클라이언트(130) 간에 교환하는 서비스이다. HTTP는 요청 및 응답 프로토콜로 구성되며, 서버와 클라이언트가 존재하고 클라이언트의 요청에 서버가 응답하는 식으로 서비스가 구현된다. 따라서 DASH 또한 서버에 저장된 미디어 파일을 클라이언트가 원하는 파일을 지정하고, 다운로드하여 사용하는 서비스이다.
DASH 서비스를 지원하는 네트워크 시스템에서, DASH 생성기(110)는 영상 등의 미디어 데이터를 여러 가지 화질, 시간으로 나누어 세그먼트들을 생성하고, 세그먼트들 간의 관계를 기술하는 MPD 파일을 생성하고, 생성한 세그먼트들 및 MPD 파일을 서버(120)에 업로드한다. 또한, 세그먼트의 관계를 기술하는 MPD 파일은 스트리밍 서비스를 지원하는 미디어 프레젠테이션에 필요한 정보들을 포함하며, 세그먼트들 각각의 HTTP URL을 포함한다. 즉, MPD 파일은 클라이언트(130)로 하여금 원하는 파일을 다운로드 받을 수 있도록 한다.
서버(120)는 DASH 생성기로부터 MPD 파일 및 하나의 미디어 콘텐츠를 다양한 화질로 각각 인코딩하고, HTTP(hypertext transfer protocol) 전송에 적합하도록 작은 시간 단위로 분할된 세그먼트들을 수신할 수 있다. 그리고 서버(120)는 MPD 및 세그먼트들을 HTTP를 통해서 전송한다.
클라이언트(130)는 서버(120)로부터 MPD 파일을 수신할 수 있으며, MPD 파일을 기초로 세그먼트들을 수신할 수 있으며, 대역폭의 상황에 따라 어떤 화질의 미디어 콘텐츠를 다운로드할 것인지 선택하고 다운로드와 재생을 반복하게 된다.
DASH 서비스에서 서버와 클라이언트 간에 교환되는 MPD 파일 및 세그먼트들의 구조는 아래에 설명한 바와 같을 수 있다.
도 2는 본 개시에서 적용되는 MPD의 기본 구조를 도시한 도면이다.
도 2를 참조하면, MPD 파일은 계층적인 구조를 가지고 있다. MPD 파일은 스트리밍 서비스를 지원하기 위해 필요한 비트율, 언어, 해상도 등의 특성에 따른 미디어 관련 초기 정보와 세그먼트의 URL 정보를 제공한다. MPD 파일의 최상위 요소는 프로파일, 서비스 타입, 서비스 시작 및 끝 시간, 버퍼 관련 정보 등을 포함할 수 있다.
MPD 파일은 복수의 피리어드(period) 요소들을 포함할 수 있다. 피리어드 요소들 각각은 피리어드의 시작 시점에 관한 정보 및 피리어드 구간의 시간 정보, 세그먼트에 관한 정보를 지시하는 요소 및 속성들을 포함한다.
피리어드 요소는 복수의 적응 셋(adaptation set) 요소들을 포함할 수 있다. 적응 셋 요소들 각각은 콘텐츠의 언어, 최대/최소 대역폭, 화면 정보, 프레임 정보를 지시하는 요소 및 속성 등을 포함할 수 있다.
적응 셋 요소는 복수의 레프리젠테이션(representation) 요소들을 포함할 수 있다. 레프리젠테이션 요소는 콘텐츠의 품질, 대역폭, 세그먼트 관련 URL 등을 기술하는 요소 및 속성을 포함할 수 있다. 레프리젠테이션 요소는 콘텐츠의 품질별로 세그먼트들을 구분할 수 있다.
레프리젠테이션 요소는 복수의 세그먼트들을 포함할 수 있다. 세그먼트는 세그먼트 리스트, 세그먼트 템플릿에 관한 정보 등을 포함할 수 있다. 레프리젠테이션 요소의 세그먼트들은 DASH 초기화 세그먼트(initialization segment) 및 적어도 하나의 DASH 미디어 세그먼트(media segment)를 포함한다.
DASH 초기화 세그먼트는 MPEG-ISOBMFF(ISO base media file format)에서 공통으로 사용되는 형식의 세그먼트이다. DASH 초기화 세그먼트는 콘텐츠 디코더 초기화 정보와 미디어 데이터의 디코딩에 관한 메타데이터를 포함한다. 따라서 클라이언트는 세그먼트들을 디코딩하고 렌더링하기 위해, 레프리젠테이션의 DASH 초기화 세그먼트를 먼저 수신해야 한다. DASH 초기화 세그먼트의 구체적인 구성은 아래의 도 3에 설명한 바와 같다.
도 3은 본 개시에서 적용되는 DASH 초기화 세그먼트의 구조를 도시한 도면이다.
도 3을 참조하면, DASH 초기화 세그먼트는 ISOBMFF의 미디어의 파일 타입에 관한 정보를 포함하는 ‘ftyp’ Box와 미디어 디코딩에 관한 메타데이터를 포함하는 ‘moov’ Box를 포함한다.
DASH 미디어 세그먼트(media segment)는 MPEG-ISOBMFF와 MPEG2-TS에서 공통으로 사용되는 형식의 세그먼트이다. 실제 미디어 데이터를 포함하는 DASH 미디어 세그먼트는 기본적으로 MPEG-ISOBMFF을 계승하지만, MPEG2-TS(transport stream) 또한 DASH 세그먼트로 사용될 수 있다. 본 개시에서의 DASH 미디어 세그먼트는 MPEG-ISOBMFF 기반으로 계승된 DASH 세그먼트를 중점적으로 다루나, 그에 한정되지 않음은 자명할 것이다. DASH 미디어 세그먼트의 구체적인 구성은 아래의 도 4에 설명한 바와 같다.
도 4는 본 개시에서 적용되는 DASH 미디어 세그먼트의 구조를 도시한 도면이다.
도 4를 참조하면, DASH 미디어 세그먼트는 콘텐츠의 비트스트림 및 재생에 관한 메타데이터를 포함하며, 복수의 프레그먼트들을 포함할 수 있다.
'styp' 박스는 세그먼트들의 타입 정보를 포함한다. 그리고 ‘sidx’박스는 레프리젠테이션 내의 다른 미디어 세그먼트와의 연결 관계를 표현하기 위한 인덱스 정보를 포함한다.
프레그먼트들 각각은 ‘moof(movie fragment)’ 박스 및 ‘mdat(movie data)’ 박스를 포함한다. ‘moof’ 박스는 프레그먼트에 포함된 미디어 데이터를 재생하기 위한 메타데이터를 포함한다. 'moof' 박스는 moof 헤더, 및 traf 헤더(track fragment header)를 포함하며, traf 헤더는 tfdt(track fragment decode time)를 더 포함한다. 그리고 ‘mdat’ 박스는 실제 미디어 데이터를 포함한다.
DASH 시스템은 ATSC(Advanced Television Systems Committee) 3.0 어플리케이션 시그널링(application signaling) 표준에 따라 스트리밍 서비스 중 이벤트 시그널을 통해서 광고 등의 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 서비스를 제공할 수 있다. 이벤트 시그널은 정적 이벤트와 동적 이벤트로 구분된다.
정적 이벤트는 정해진 시점에 콘텐츠 삽입 이벤트를 제공하는 방법이고, 동적 이벤트는 정적 이벤트에 비해 유연한 시점에 콘텐츠 삽입 이벤트를 제공하는 방법이다. 일 실시예에 따르면, 정적 이벤트는 녹화 방송과 같이 명확한 콘텐츠 교체 시점을 갖는 이벤트일 수 있으며, 동적 이벤트는 생방송과 같이 유연하게 변화하는 콘텐츠의 교체 시점을 갖는 이벤트일 수 있다.
DASH/ROUTE 시스템 기반의 녹화 방송과 같이 방송 콘텐츠의 교체 시점이 명확한 경우에 전송되는 정적 이벤트 시그널의 구조에 관해서 설명한다. 정적 이벤트 시그널은 MPD의 피리어드의 하위 요소인 이벤트 스트림(event stream)에 기술되어 전달된다. 이벤트 스트림의 구성 요소들 및 구성 요소들 각각의 내용은 표 1에 정의된 바와 같으며, 표 1은 아래와 같다.
Figure pat00001
표 1을 참조하면, “schemeIdUri”는 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 MPD의 URL을 지시한다. “value”는 해당 이벤트 스트림 요소의 값을 지시한다. “timescale”은 방송/통신 네트워크를 통해서 전송되는 콘텐츠에 적용되는 시간 단위를 지시한다. “presentation Time”은 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 교체 시점 정보를 지시한다. “duration”은 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 지속시간을 지시한다.
다음으로, DASH/ROUTE 시스템 기반의 생방송과 같이 콘텐츠의 교체 시점이 가변적인 경우에 전송되는 동적 이벤트 시그널의 구조에 관해서 설명한다. 동적 이벤트 시그널은 ‘emsg’ 박스를 통해서 전달된다. 서버는 'emsg' 박스를 통해 동적 이벤트 시그널을 지시하기에 앞서, MPD의 적응 셋의 하위 요소인 Inband_event_stream을 통해서 DASH 미디어 세그먼트 내부의 ‘emsg’ 박스의 존재 여부를 우선적으로 전달한다. Inband_event_stream의 구성 요소들 및 구성 요소들 각각의 내용은 표 2에 정의된 바와 같으며, 표 2는 아래와 같다.
Figure pat00002
표 2를 참조하면, “schemeIdUri”는 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 MPD의 URL을 지시한다. “value”는 해당 이벤트 스트림 요소의 값을 지시한다. Inband Event stream은 MPD의 적응 셋의 하위 요소로 위치하고, DASH 미디어 세그먼트의 ‘emsg’ box의 존재 가능성을 전달할 수 있다.
동적 이벤트 시그널에 관한 정보인 ‘emsg’ box는 ‘styp’ box와 ‘moof’ box 사이에 위치하며, ‘emsg’ box의 구조는 표 3과 같다.
Figure pat00003
표 3의 “schemeIdUri”는 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 MPD의 URL을 지시한다. “value”는 해당 이벤트 스트림 요소의 값을 지시한다. “timescale”은 방송/통신 네트워크를 통해서 전송되는 콘텐츠에 적용되는 시간 단위를 지시한다. “presentation_time_delta”는 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 교체되는 상대적 시간 정보를 지시한다. 그리고 “duration”은 방송/통신 네트워크를 통해서 전송되는 콘텐츠의 지속시간을 지시한다.
이와 같은 콘텐츠 삽입을 위해서는 정확한 시점에서 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하고, 삽입된 콘텐츠의 재생을 완료한 후, 정확한 시점에서 기존의 콘텐츠를 다시 재생할 수 있어야 한다. 따라서, 콘텐츠 삽입을 위한 URL, 이벤트 시작 시간, 이벤트 지속 시간 등을 포함하는 이벤트 시그널 속성이 필요하다.
방송 프로그램은 초 단위로 구성되지만, 방송국에서는 기존의 인코더를 계속해서 사용하기 위해 방송 프로그램을 59.94FPS로 촬영한다. 방송용 인코더는 촬영된 영상을 입력으로 일정한 싱크를 맞추기 위해 56 또는 60프레임으로 콘텐츠를 구성한다. 이와 같은 문제로 인해, 콘텐츠는 초 단위로 구성되지 못하고, 하나의 콘텐츠 안에 두 개의 방송 프로그램이 존재하는 문제가 발생한다.
도 5는 본 개시에서 적용되는 하나의 DASH 미디어 세그먼트에 대응되는 시구간 동안 서로 다른 두 개의 콘텐츠가 충돌하는 경우의 제1 실시예를 도시한 도면이다.
도 5를 참조하면, 하나의 DASH 미디어 세그먼트에 대응되는 시구간 동안 서로 다른 두 개의 콘텐츠가 충돌하는 경우가 발생할 수 있다. 도 5에 도시된 예시를 기반으로 추가적인 설명을 진행한다.
DASH 서비스에서의 타임스케일(timescale)은 60,000이고, 샘플 듀레이션은 1001일 수 있어, 입력된 데이터의 Fps는 59.94 frame/sec일 수 있다. 입력된 데이터의 GOP(group of picture)는 60 frame일 수 있다. 출력되는 데이터의 Fps 역시, 59.94 frame/sec일 수 있다. 그리고, DASH 미디어 세그먼트의 듀레이션은 60frame/59.94Fps 인, 1.001초일 수 있다.
즉, 주어진 DASH 서비스 조건에서, DASH 미디어 세그먼트의 듀레이션(duration)은 1.001초인 반면, 콘텐츠의 듀레이션은 초 단위로 구성된다. 따라서, 하나의 DASH 미디어 세그먼트에 대응되는 시구간 동안 서로 다른 두 개의 콘텐츠가 충돌할 수 있다.
도 6은 본 개시에서 적용되는 하나의 DASH 미디어 세그먼트에 대응되는 시구간 동안 서로 다른 두 개의 콘텐츠가 충돌하는 경우의 제2 실시예를 도시한 도면이다.
도 6을 참조하면, 방송 콘텐츠가 재생되는 도중에 광고 콘텐츠의 삽입 여부에 따라서, 발생할 수 있는 문제가 도시되어 있다. 도 6에 도시된 예시를 기반으로 관련된 내용을 추가적으로 설명한다.
광고 콘텐츠를 삽입하지 않는 경우, 610th DASH 미디어 세그먼트에 포함된 프레임을 디코딩하는 데 있어, 문제가 발생하지 않는다. 반면, 광고 콘텐츠를 삽입하는 경우, 삽입된 광고 콘텐츠가 렌더링된 이후에 재생되는 610th DASH 미디어 세그먼트의 방송 컨텐츠는 'I' 프레임으로 시작하지 않을 수 있다. 따라서, 610th DASH 미디어 세그먼트의 ‘I’ 프레임의 키 프레임 및 참조 프레임은 디코딩되지 않을 수 있다. 즉, 클라이언트는 609.993sec ~ 610.610sec 사이의 디코딩된 프레임을 렌더링함에 있어서, 재생 문제를 유발할 수 있다.
도 7은 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하기 위한 방법을 도시한 도면이다. 도 7은 DASH 서비스를 지원하는 DASH 네트워크 시스템의 제1 서버, 제2 서버 및 클라이언트의 동작을 예시한다.
S701 단계에서 제1 서버는 제1 네트워크를 통해 전송될 콘텐츠를 획득할 수 있다. 예를 들어, 제1 네트워크를 통해 전송되는 콘텐츠는 방송 콘텐츠일 수 있다. 제1 서버는 종래의 다양한 방송 콘텐츠 획득 방식을 통해 방송 콘텐츠를 획득할 수 있다.
S703 단계에서, 제1 서버는 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 이종 네트워크를 통해 전송되는 콘텐츠의 삽입을 결정한 경우, 제1 서버는 본 개시에서 개시된 다양한 실시 예에 따른 콘텐츠 삽입 여부를 지시하는 방안을 사용할 수 있다. 예를 들어 제1 서버는 정적 이벤트 시그널 또는 동적 이벤트 시그널을 생성할 수 있다. 콘텐츠 삽입 여부의 결정은 송신 측에서 이루어지나, 콘텐츠의 실제 삽입 여부는 추후 수신 측의 결정에 따라 변경될 수 있다.
반면, 제1 서버가 콘텐츠 삽입에 관한 설정을 하지 않는 경우, 클라이언트는 방송 콘텐츠 소비하는 도중에 이종 네트워크를 통해 전송되는 콘텐츠를 삽입할 수 없다.
S705 단계에서, 제1 서버는 방송 콘텐츠의 부호화 결과 생성된 제1 MPD 및 제1 DASH 세그먼트들을 클라이언트에게 전송할 수 있다. 제1 서버는 기존의 방송망에서 사용하는 다양한 부호화 방안을 사용함으로써, 방송 콘텐츠를 부호화할 수 있다. 그리고 제1 서버는 종래의 다양한 방송 콘텐츠 전송 방식을 적용함으로써, 제1 MPD 및 제1 DASH 세그먼트들을 클라이언트에게 전송할 수 있다. 여기서, 제1 MPD는 정적 이벤트 시그널 또는 동적 이벤트 시그널을 포함할 수 있다.
S707 단계에서, 클라이언트는 제1 MPD 및 제1 DASH 세그먼트들을 검출할 수 있으며, 방송 콘텐츠를 복호화할 수 있다. 클라이언트는 방송 콘텐츠로부터 생성된 제1 MPD 및 제1 DASH 세그먼트들을 수신하고, 부호화 방식에 대응되는 복호화 방식을 적용함으로써, 제1 DASH 세그먼트들을 디코딩한다.
S709 단계에서, 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 예를 들어, 클라이언트는 제1 MPD에 포함된 정적 이벤트 시그널 또는 동적 이벤트 시그널을 검출함으로써, 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 하지만 기존의 동영상 부호화 방안은 콘텐츠 삽입 시 클라이언트에서 발생할 수 있는 상황을 고려하지 않으므로, 클라이언트 측은 클라이언트의 구조에 따라서 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하지 못할 수 있다. 따라서, 클라이언트는 클라이언트의 구조를 반영하여, 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다.
S711 단계에서 제2 서버는 제2 네트워크를 통해 전송될 콘텐츠를 획득할 수 있다. 예를 들어, 제2 네트워크를 통해 전송될 콘텐츠는 광고 콘텐츠일 수 있다. 제2 서버는 종래의 다양한 방송 콘텐츠 획득 방식을 통해 방송 콘텐츠를 획득할 수 있다. 이종 네트워크를 통해 전송되는 콘텐츠의 삽입을 실시하기 위해서, 제2 서버는 방송망이 아닌 다른 망으로부터 삽입 콘텐츠를 획득하여야 한다.
S713 단계에서, 제2 서버는 방송 콘텐츠의 부호화 결과 생성된 제2 MPD 및 제2 DASH 세그먼트들을 클라이언트에게 전송할 수 있다. 제2 서버는 기존의 방송/통신 네트워크에서 사용하는 다양한 동영상 부호화 방안을 사용함으로써, 방송 콘텐츠를 부호화할 수 있다. 그리고 제2 서버는 종래의 다양한 방송 콘텐츠 전송 방식을 적용함으로써, 제2 MPD 및 제2 DASH 세그먼트들을 클라이언트에게 전송할 수 있다. 여기서, 제2 MPD 및 제2 DASH 세그먼트들은 제1 MPD 및 제1 DASH 세그먼트들을 전송하기 위해 사용된 네트워크와 별도의 네트워크인 이종 네트워크를 통해 전송된다.
S715 단계에서, 클라이언트는 제2 MPD 및 제2 DASH 세그먼트들을 검출할 수 있으며, 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하고, 이중망 콘텐츠를 방송 콘텐츠 중간에 삽입할 수 있다. 클라이언트는 방송 콘텐츠를 포함하는 제2 MPD 및 제2 DASH 세그먼트들을 수신하고, 부호화 방식에 대응되는 복호화 방식을 적용함으로써, 제2 DASH 세그먼트들을 디코딩한다. 클라이언트는 디코딩 결과 획득한 이종 네트워크를 통해 전송되는 콘텐츠를 방송 콘텐츠 중간에 삽입할 수 있다.
방송 컨텐츠를 재생하는 도중 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하기 위해서, 클라이언트는 수신한 방송 콘텐츠 및 삽입 대상 콘텐츠인 광고 콘텐츠를 실시간 재생 환경에서 문제없이 소비자에게 제공할 수 있어야 한다. 하지만 앞서 밝힌 바와 같이, DASH 세그먼트의 중간에 삽입 콘텐츠의 재생을 시작하거나, 방송 콘텐츠로 회귀할 수 있다. 이러한 경우 UHD TV 수신기는 블랙 아웃, 끊김 현상 등의 문제를 방지하고, 수신한 콘텐츠들을 실시간으로 소비자에 제공할 수 있는 방안을 고려해야 한다.
앞서 언급한 문제를 해결하기 위해, UHD TV 수신기와 같은 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하기 위한 복호기를 추가함으로써, 해결할 수 있다. 하지만, 복호기를 추가하는 경우, 결국 수신기 제작을 위한 추가 비용이 요구되어 TV 수신기의 생산에 따른 부담이 가중될 수 있다. 따라서 기존의 UHD TV 수신기 모델을 기반으로 이종 네트워크를 통해 전송되는 콘텐츠의 삽입으로 인해 발생하는 전송 문제를 해결하기 위해, 본 개시에서는 병렬 복호화 방식과 순차 복호화 방식으로 해결 방안을 나누어 각각에서 다양한 실시 예들을 제안한다.
클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠를 삽입하기 위해 병렬 복호화 방식 및/또는 순차 복호화 방식을 사용할 수 있다. 병렬 복호화 방식의 경우 방송 콘텐츠와 이종 네트워크를 통해 전송되는 콘텐츠를 병렬적으로 복호화 하는 방안이다. 그리고, 순차 복호화 방식은 콘텐츠 삽입 시 방송 콘텐츠를 복호화하고, 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하고, 방송 콘텐츠를 다시 복호화하는 동작을 순서대로 수행함으로써, 순차적인 복호화를 실시하는 방안이다.
순차 복호화 방식을 수행하는 클라이언트는 콘텐츠를 순차적으로 복호화 하기 때문에, 클라이언트는 내부의 복호기의 성능과 콘텐츠의 복호화 형식을 기반으로 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 본 개시에서는 클라이언트의 이종 네트워크를 통해 전송되는 콘텐츠 삽입 가능 확률을 높이기 위해, 콘텐츠를 디코딩함에 있어, 참조 프레임의 구조를 설정하는 방안을 제안한다.
참조 프레임 구조 설정 방안은 서버의 방송 콘텐츠의 부호화 시 참조 프레임의 개수를 조절함으로써, 클라이언트 내의 복호기로 하여금 DPB(decoded picture buffer)를 효율적으로 활용할 수 있도록 지원하는 방안이다.
클라이언트는 DASH 세그먼트를 복호화할 수 있는 복호기를 포함하고, 클라이언트의 복호기는 DPB를 포함한다. DPB는 현재 프레임을 복호화하기 위해 참조할 이전 프레임들을 저장하기 위한 버퍼이며, UHD TV 클라이언트에 따라 다양한 크기를 갖는다. 여기서, DPB의 크기는 DASH 세그먼트의 디코딩의 안정성을 확보하기 위해, 세그먼트 디코딩 시 참조할 수 있는 프레임의 최대 개수보다 클 수 있다.
또한 DPB는 참조 프레임을 저장하는 버퍼뿐만 아니라 렌더링을 위해 영상 데이터를 저장하는 버퍼로서도 사용된다. 따라서 클라이언트는 렌더링 되기 전까지의 영상 데이터를 DPB에 저장할 수 있다. 그리고 콘텐츠의 세그먼트 디코딩 시 참조 가능한 프레임의 개수 및 DPB의 크기에 따라 미리 저장할 수 있는 영상의 프레임의 수가 달라진다.
도 8은 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하는 과정의 제1 실시예를 도시한 도면이다. 도 8은 DASH 서비스를 지원하는 DASH 네트워크 시스템의 클라이언트의 동작을 예시한다.
도 8을 참조하면, 클라이언트는 ISOBMFF 핸들러 모듈(handler module)을 통해 서버로부터 DASH 미디어 세그먼트를 수신할 수 있으며, 수신한 DASH 미디어 세그먼트를 디코더에 입력할 수 있다. 클라이언트는 DASH 디코더를 이용하여, 미디어 세그먼트를 디코딩한 후, 디스플레이 모듈을 통해 렌더링할 수 있다. 여기서, 클라이언트는 콘텐츠 삽입을 위해 순차 복호화 방식을 사용하고 있다.
클라이언트의 DPB는 클라이언트에 의해 디코딩된 복수의 프레임들을 저장할 수 있으며, DPB 내에 저장된 프레임들은 삽입 콘텐츠의 프레임 또는 방송 콘텐츠의 프레임일 수 있다. 예를 들어,
Figure pat00004
프레임은 삽입 콘텐츠의 재생이 종료되는 시점의 프레임을 나타내며,
Figure pat00005
프레임은 방송 콘텐츠로 회귀하는 시점의 프레임을 나타낸다.
클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠의 복호화를 종료한 후, 방송 콘텐츠의 복호화를 개시한다. 만일 클라이언트가 방송 콘텐츠를 복호화함에 있어, 최대 3장의 프레임들을 참조할 수 있다면, 클라이언트는 방송 콘텐츠를 복호화 하기 위해 4장의 버퍼를 확보해야 한다.
즉, 서버가 방송 콘텐츠를 부호화함에 있어, 참조 가능한 프레임의 수를 줄이는 경우, 클라이언트의 복호기는 방송 콘텐츠의 복호화를 위해 종래보다 작은 크기의 버퍼를 사용할 수 있다. 따라서, 클라이언트의 복호기는 이종 네트워크를 통해 전송되는 콘텐츠의 복호화를 종료한 후 방송 콘텐츠를 복호화함에 있어, DPB 내에 더 많은 수의 이종 네트워크를 통해 전송되는 콘텐츠를 저장할 수 있게 된다.
DPB에 저장되어 있는 이종 네트워크를 통해 전송되는 콘텐츠의 프레임들은 렌더링 시간에 따라 하나씩 제거(clear)된다. DPB에 존재하는 이종 네트워크를 통해 전송되는 콘텐츠의 프레임들이 많을수록, 클라이언트의 디코더는 더 긴 시간 동안 이종 네트워크를 통해 전송되는 콘텐츠를 렌더링할 수 있다. 따라서, 클라이언트의 디코더는 더 많은 방송 콘텐츠 프레임들의 복호화 시간을 확보할 수 있다.
즉, 서버의 부호기가 방송 콘텐츠를 부호화함에 있어, 참조 가능한 프레임의 수를 줄일 수록, 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠를 성공적으로 삽입할 확률을 높일 수 있다. 클라이언트의 이종 네트워크를 통해 전송되는 콘텐츠 삽입의 성공 확률은 [수학식 1]에 의해 산출될 수 있으며, [수학식 1]은 다음과 같다.
Figure pat00006
[수학식 1]에서,
Figure pat00007
는 클라이언트 내의 복호기의 DPB의 크기를 지시하고,
Figure pat00008
는 방송 콘텐츠의 부호화 시 참조 가능한 프레임의 최대 개수를 지시하며,
Figure pat00009
은 이종 네트워크를 통해 전송되는 콘텐츠의 초당 프레임 수를 지시한다.
Figure pat00010
내에서
Figure pat00011
를 제외하면, DPB에 저장 가능한 이종 네트워크를 통해 전송되는 콘텐츠의 프레임의 수를 산출할 수 있다. DPB에 저장 가능한 이종 네트워크를 통해 전송되는 콘텐츠의 프레임의 수를 초당 프레임 수로 나누면, 이종 네트워크를 통해 전송되는 콘텐츠로 인하여 확보할 수 있는 렌더링 시간을 산출할 수 있다.
분자의
Figure pat00012
는 세그먼트 내의 방송 콘텐츠의 프레임 수를 지시하고,
Figure pat00013
는 클라이언트 내 복호기에서 방송 콘텐츠의 하나의 프레임을 디코딩 하는데 걸리는 시간을 지시한다.
Figure pat00014
는 클라이언트 내 복호기를 초기화 하는데 걸리는 시간을 지시하므로, [수학식 1]의 분자는 클라이언트의 복호기를 초기화 한 뒤 하나의 방송 콘텐츠 세그먼트를 복호화 하는데 걸리는 시간을 의미한다.
즉, 하나의 방송 콘텐츠 세그먼트를 복호화 하는데 걸리는 시간과 삽입 콘텐츠에서 확보할 수 있는 렌더링 시간에 따라 콘텐츠 삽입의 성공 확률을 계산할 수 있다.
Figure pat00015
Figure pat00016
,
Figure pat00017
의 경우 클라이언트의 성능에 따라 좌우되는 값이므로 콘텐츠 삽입을 위해 송신기는
Figure pat00018
Figure pat00019
,
Figure pat00020
를 변경할 수 있다. 이때
Figure pat00021
Figure pat00022
의 경우 송신기에서 변경하기 어려우므로, 송신기내 부호기는
Figure pat00023
를 줄여 클라이언트의 이종 네트워크를 통해 전송되는 콘텐츠 삽입의 성공 확률을 높일 수 있다.
순차 복호화 방식은 방송 콘텐츠와 이종 네트워크를 통해 전송되는 콘텐츠를 순차적으로 복호화하는 방식이다. 순차 복호화 방식을 활용한 해결 방안으로 본 특허에서 제안하는 실시 예인 클라이언트의 성능 기반 콘텐츠 삽입 방식을 사용할 수 있다. 클라이언트의 성능 기반 콘텐츠 삽입 방식은 클라이언트 측에서 실시간으로 방송 콘텐츠를 재생하는 도중 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 자체적으로 판단하고, 방송 콘텐츠와 이종 네트워크를 통해 전송되는 콘텐츠를 순차적으로 복호화 하는 방안이다.
콘텐츠 삽입 시 콘텐츠 제공에 문제가 발생할 수 있는 부분은 콘텐츠 삽입 시작 부분과 방송 콘텐츠의 회귀 부분이다. 그 중 이종 네트워크를 통해 전송되는 콘텐츠의 삽입하는 경우, 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠의 시작 직전까지의 방송 콘텐츠를 복호화 한 뒤, 이종 네트워크를 통해 전송되는 콘텐츠를 복호화한다. 따라서, 복호기의 초기화를 제외한다면 재생 문제의 발생할 여지는 적다.
하지만 이종 네트워크를 통해 전송되는 콘텐츠로부터 방송 콘텐츠로 회귀하는 경우, 이종 네트워크를 통해 전송되는 콘텐츠의 종료 시점에서 바로 방송 콘텐츠를 재생하는 것이 불가능할 수 있다. 만일 이종 네트워크를 통해 전송되는 콘텐츠의 종료 지점이 방송 콘텐츠의 특정 세그먼트 중간에 위치하는 경우, 클라이언트는 방송 콘텐츠를 복호화하기 위해서 세그먼트 전체를 복호화 하거나, 특정 세그먼트를 버리고 그 다음 세그먼트부터 재생하여야 한다. 세그먼트 중간의 프레임을 재생하기 위해 세그먼트의 전체를 복호화하여야 하는 이유는 세그먼트의 시작 부분이 I 프레임이므로, 시작 부분부터 순차적으로 복호화 하지 않으면 참조 프레임을 생성할 수 없기 때문이다.
만일 특정 세그먼트를 버리고 다음 세그먼트부터 재생하는 경우, 필연적으로 끊김 현상이나 블랙아웃이 발생하게 된다. 따라서, UHD TV 등의 클라이언트는 클라이언트의 성능에 따라 세그먼트 전체의 복호화 가능 여부를 판단하고, 방송 콘텐츠로의 회귀 가능 여부를 확인하여야 한다. 본 특허에서는 클라이언트의 성능과 콘텐츠의 참조 가능한 프레임 최대 개수를 기반으로 이종 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 방안을 제안한다.
클라이언트가 복호기를 순차적으로 사용하는 경우, 방송 콘텐츠로 회귀하는 상황에서 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠의 복호화를 완료한 후, 방송 콘텐츠를 복호화하여야 한다. 하지만, 이종 네트워크를 통해 전송되는 콘텐츠의 재생이 종료되는 시점 이후, 방송 콘텐츠의 프레임들만을 렌더링 해야 한다. 따라서 방송 콘텐츠 세그먼트의 시작 프레임부터 삽입 콘텐츠의 재생 완료 시점까지의 프레임은 복호화는 되지만 렌더링은 되지 않아야 한다.
도 9는 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하는 과정의 제2 실시예를 도시한 도면이다. 도 9는 DASH 서비스를 지원하는 DASH 네트워크 시스템의 클라이언트의 동작을 예시한다.
도 9를 참조하면, 클라이언트는 ISOBMFF 핸들러 모듈(handler module)을 통해 서버로부터 DASH 미디어 세그먼트를 수신할 수 있으며, 수신한 DASH 미디어 세그먼트를 디코더에 입력할 수 있다. 클라이언트는 DASH 디코더를 이용하여, 미디어 세그먼트를 디코딩한 후, 디스플레이 모듈을 통해 렌더링할 수 있다. 여기서, 클라이언트는 콘텐츠 삽입을 위해 순차 복호화 방식을 사용하고 있다.
DPB에 저장된 P116, B117 내지 B119 프레임은 삽입 콘텐츠의 프레임을 지시하며, I0, P1 및 B2 내지 B3 프레임은 방송 콘텐츠의 프레임을 지시한다. 그리고 I0, P1 및 B2 프레임은 복호화는 되지만, 렌더링은 되지 않는 방송 콘텐츠 프레임을 나타낸 것이다.
클라이언트는 제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신할 수 있다. 클라이언트는 제1 DASH 세그먼트의 복수의 프레임들을 복호화할 수 있다. 클라이언트는 복호화된 제1 DASH 세그먼트의 복수의 프레임들을 DPB에 저장할 수 있다.
클라이언트는 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 일 실시예에 따르면, 클라이언트는 제1 MPD에 포함된 이벤트 시그널의 검출 결과를 기초로 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 그리고 다른 실시예에 따르면, 클라이언트는 클라이언트의 성능과 콘텐츠의 참조 가능한 프레임 최대 개수를 기반으로 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다.
클라이언트는 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신할 수 있으며, 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화할 수 있다. 제2 DASH 세그먼트의 복수의 프레임들은 제1 DASH 세그먼트의 복수의 프레임들이 렌더링되는 시구간 동안 복호화될 수 있다.
클라이언트는 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 DPB에 저장하고 저장된 프레임들을 참조함으로써, 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 제2 DASH 세그먼트의 프레임들을 복호화하고 렌더링할 수 있다. 그리고, 클라이언트는 제2 DASH 세그먼트의 프레임들 중에서 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 전 이전의 프레임들을 드랍할 수 있다.
도 9에 도시된 바와 같이, 클라이언트는 방송 컨텐츠를 복호화하기 위하여 방송 콘텐츠를 복호화하기 위해 참조할 수 있는 프레임의 최대 개수만큼 DPB를 사용할 수 있다. 그리고 클라이언트는 DPB 중에서, 방송 콘텐츠 복호화에 사용되지 않는 부분에 이종 네트워크를 통해 전송되는 콘텐츠의 렌더링 될 프레임을 저장해 둘 수 있다.
여기서, DPB에 저장되는 이종 네트워크를 통해 전송되는 콘텐츠의 렌더링 될 프레임의 개수는 방송 콘텐츠를 복호화하기 위해 사용 가능한 시간과 관련된다. 따라서 방송 콘텐츠를 복호화하는 경우에서, UHD TV 수신기 등의 클라이언트의 방송 콘텐츠 프레임 평균 복호화 시간을 계산한다면, 방송 콘텐츠 복호화에 사용할 수 있는 시간 동안 몇 장의 방송 콘텐츠 프레임을 복호화 할 수 있는 지 계산할 수 있다.
도 10은 본 개시에서 적용되는 DPB의 크기와 방송 콘텐츠의 최대 참조 프레임 수에 따른 콘텐츠 삽입 가능 확률을 도시하는 도면이다.
도 10을 참조하면, 4k 크기의 콘텐츠 60 프레임을 복호화 하는데 0.1sec가 걸리는 복호기와 59.94fps인 방송 콘텐츠를 사용할 경우의 DPB의 크기와 방송 콘텐츠의 최대 참조 프레임 수에 따른 콘텐츠 삽입 가능 확률 간의 관계가 도시되어 있다.
도 10에 도시된 바와 같이 UHD TV 수신기와 같은 클라이언트 내 복호기의 DPB 크기가 9이고, 방송 콘텐츠의 최대 참조 프레임의 장 수가 4장일 경우에는 삽입 콘텐츠의 렌더링 될 프레임을 총 5장만큼 저장할 수 있어 66.4msec의 시간을 확보할 수 있다. 따라서 60 프레임을 복호화 하는데 0.1sec가 걸리는 복호기는 총 40 프레임만큼을 복호화 할 수 있을 것이며, 방송 콘텐츠로의 회귀 상황에 렌더링될 프레임이 세그먼트 내 프레임의 40번째 보다 앞에 존재한다면 콘텐츠 삽입이 가능함을 알 수 있다. 만일 DPB의 크기가 11이며, 방송 콘텐츠의 최대 참조 프레임 장 수가 4일 경우에는 예시에서 상정한 UHD TV 수신기는 방송 콘텐츠의 회귀가 세그먼트의 어느 시점에서 이루어지는 지와 무관하게 항상 콘텐츠 삽입이 가능함을 알 수 있다.
결국 UHD TV 수신기 등의 클라이언트는 DPB의 크기와 방송 콘텐츠의 최대 참조 프레임 수에 따라 방송 콘텐츠 회귀 시 방송 콘텐츠의 복호화가 가능한지 불가능한지 여부를 판단할 수 있다.
방송 콘텐츠의 회귀가 가능하다면 콘텐츠 삽입 역시 가능하므로, UHD TV 수신기 등의 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠를 수신할 수 있다. 반면, 방송 콘텐츠로의 회귀가 불가능하다고 판단한 경우, 클라이언트는 이종 네트워크를 통해 전송되는 콘텐츠 삽입 시 발생할 수 있는 재생 문제를 회피하기 위해 이종 네트워크를 통해 전송되는 콘텐츠의 삽입을 포기할 수 있다.
병렬 복호화 방식은 복호기가 지원하는 병렬 복호화 기능을 활용하여 방송 콘텐츠와 삽입 콘텐츠를 병렬적으로 복호화 하는 방식이다. 병렬 복호화 방식을 활용한 해결 방안으로 본 특허에서 제안하는 실시 예인 복호기 내 추가 인스턴스 활용 방안을 실시할 수 있다.
도 11은 본 개시에서 적용되는 이종 네트워크를 통해 전송되는 콘텐츠를 복호화하는 과정의 제3 실시예를 도시한 도면이다. 도 11은 DASH 서비스를 지원하는 DASH 네트워크 시스템의 클라이언트의 동작을 예시한다.
도 11을 참조하면, 클라이언트는 ISOBMFF 핸들러 모듈을 통해 서버로부터 DASH 미디어 세그먼트를 수신할 수 있으며, 수신한 DASH 미디어 세그먼트를 디코더에 입력할 수 있다. 클라이언트는 DASH 디코더를 이용하여, 미디어 세그먼트를 디코딩한 후, 디스플레이 모듈을 통해 렌더링할 수 있다.
클라이언트는 제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신할 수 있다. 클라이언트는 제1 DASH 세그먼트의 복수의 프레임들을 복호화할 수 있다. 클라이언트는 복호화된 제1 DASH 세그먼트의 복수의 프레임들을 제1 DPB에 저장할 수 있다.
클라이언트는 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 일 실시예에 따르면, 클라이언트는 제1 MPD에 포함된 이벤트 시그널의 검출 결과를 기초로 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다. 그리고 다른 실시예에 따르면, 클라이언트는 클라이언트의 성능과 콘텐츠의 참조 가능한 프레임 최대 개수를 기반으로 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정할 수 있다.
클라이언트는 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신할 수 있으며, 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화할 수 있다. 클라이언트는 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 제2 DPB에 저장할 수 있다.
그리고 클라이언트는 저장된 프레임들을 참조함으로써, 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 제2 DASH 세그먼트의 프레임들을 복호화하고 렌더링할 수 있다. 그리고, 클라이언트는 제2 DASH 세그먼트의 프레임들 중에서 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 전 이전의 프레임들을 드랍할 수 있다.
즉, 클라이언트는 단일 복호화 모듈 내에서 2개의 DPB와 CPB를 사용함으로써, 단일 복호기를 이용하여, 방송 콘텐츠 및 이종 네트워크를 통해 전송되는 콘텐츠의 병렬 복호화를 실시할 수 있다. 상기 제안 기술을 활용할 경우, 클라이언트는 방송 콘텐츠와 이종 네트워크를 통해 전송되는 콘텐츠를 동시에 복호화 할 수 있으므로, 순차 복호화 방식에서 발생하는 문제들을 해결할 수 있으면서도, 추가적인 물리 복호기를 필요로 하지 않을 수 있다.
본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.

Claims (16)

  1. 미디어 프레임을 렌더링하는 클라이언트의 동작 방법으로서,
    제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하는 단계;
    상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하는 단계;
    제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계;
    상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하는 단계;
    상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하는 단계;
    상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 DPB(decoded picture buffer)에 저장하는 단계;
    상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하는 단계; 및
    상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링하는 단계를 포함하는, 동작 방법.
  2. 청구항 1에 있어,
    상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계는,
    상기 제1 MPD에 포함된 이벤트 시그널의 검출 결과를 기초로 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는, 동작 방법.
  3. 청구항 1에 있어,
    상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계는,
    상기 DPB의 크기와 상기 제2 DASH 세그먼트의 프레임을 복호화하기 위해 참조하는 프레임의 최대 개수의 차이가 미리 설정된 값 이상인 경우, 상기 제2 네트워크를 통해 전송되는 콘텐츠를 삽입하도록 결정하는, 동작 방법.
  4. 청구항 1에 있어,
    상기 제2 DASH 세그먼트의 적어도 하나의 프레임들로부터 참조 프레임들을 생성하고,
    상기 참조 프레임들을 상기 DPB에 저장하는 단계를 더 포함하는, 동작 방법.
  5. 청구항 4에 있어,
    상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들은,
    상기 참조 프레임들을 기반으로 복호화되는, 동작 방법.
  6. 청구항 1에 있어,
    복호화된 상기 제1 DASH 세그먼트의 적어도 하나의 프레임들을 상기 DPB에 저장하는 단계를 더 포함하는, 동작 방법.
  7. 청구항 6에 있어,
    상기 제2 DASH 세그먼트의 복수의 프레임들은,
    상기 DPB에 저장된 상기 제1 DASH 세그먼트의 복수의 프레임들이 렌더링되는 시구간 동안 복호화되는, 동작 방법.
  8. 청구항 1에 있어,
    제2 DASH 세그먼트의 적어도 하나의 프레임들 중에서, 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 전인 프레임을 드랍하는 단계를 더 포함하는, 동작 방법.
  9. 미디어 프레임을 렌더링하는 클라이언트의 동작 방법으로서,
    제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하는 단계;
    상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하는 단계;
    복호화된 상기 제1 DASH 세그먼트의 복수의 프레임들을 제1 DPB(decoded picture buffer)에 저장하는 단계;
    제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계;
    상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하는 단계;
    상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하는 단계;
    상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 제2 DPB(decoded picture buffer)에 저장하는 단계;
    상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하는 단계; 및
    상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링하는 단계를 포함하는, 동작 방법.
  10. 청구항 9에 있어,
    상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는 단계는,
    상기 제1 MPD에 포함된 이벤트 시그널의 검출 결과를 기초로 상기 제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하는, 동작 방법.
  11. 청구항 9에 있어,
    상기 제2 DASH 세그먼트의 적어도 하나의 프레임들로부터 참조 프레임들을 생성하고,
    상기 참조 프레임들을 상기 제2 DPB에 저장하는 단계를 더 포함하는, 동작 방법.
  12. 청구항 11에 있어,
    상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들은,
    상기 참조 프레임들을 기반으로 복호화되는, 동작 방법.
  13. 청구항 9에 있어,
    복호화된 상기 제1 DASH 세그먼트의 적어도 하나의 프레임들을 상기 DPB에 저장하는 단계를 더 포함하는, 동작 방법.
  14. 청구항 13에 있어,
    상기 제2 DASH 세그먼트의 복수의 프레임들은,
    상기 제1 DASH 세그먼트의 복수의 하나의 프레임들과 병렬적으로 복호화되는, 동작 방법.
  15. 청구항 9에 있어,
    제2 DASH 세그먼트의 적어도 하나의 프레임들 중에서, 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 전인 프레임을 드랍하는 단계를 더 포함하는, 동작 방법.
  16. 미디어 프레임을 렌더링하는 클라이언트에 있어서,
    송수신기; 및
    상기 송수신기에 결합된 프로세서를 포함하고, 상기 프로세서는,
    제1 네트워크를 통해 제1 DASH 세그먼트를 포함하는 제1 MPD를 수신하고;
    상기 제1 DASH 세그먼트의 복수의 프레임들을 복호화하고;
    제2 네트워크를 통해 전송되는 콘텐츠의 삽입 여부를 결정하고;
    상기 제2 네트워크를 통해 제2 DASH 세그먼트를 포함하는 제2 MPD를 수신하고;
    상기 제2 DASH 세그먼트의 복수의 프레임들 중에서, 적어도 하나의 프레임들을 복호화하고;
    상기 복호화된 상기 제2 DASH 세그먼트의 적어도 하나의 프레임들을 DPB(decoded picture buffer)에 저장하고;
    상기 DPB에 저장된 프레임들을 기초로 랜더링 시점이 상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 복호화하고; 그리고
    상기 제1 DASH 세그먼트의 마지막 프레임의 렌더링 시점 이후인 상기 제2 DASH 세그먼트의 프레임들을 렌더링하는, 클라이언트.
KR1020200142664A 2019-10-30 2020-10-30 이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치 KR102401372B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190136938 2019-10-30
KR20190136938 2019-10-30

Publications (2)

Publication Number Publication Date
KR20210052345A true KR20210052345A (ko) 2021-05-10
KR102401372B1 KR102401372B1 (ko) 2022-05-24

Family

ID=75918013

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200142664A KR102401372B1 (ko) 2019-10-30 2020-10-30 이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102401372B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140107251A (ko) * 2011-12-12 2014-09-04 엘지전자 주식회사 미디어 컨텐트를 수신하는 장치 및 방법
KR20160019471A (ko) * 2013-06-14 2016-02-19 삼성전자주식회사 Dash 클라이언트 레이트 적응 제어
KR20160044819A (ko) * 2014-10-16 2016-04-26 삼성전자주식회사 무선 네트워크 환경에서 http 적응적 스트리밍 방법 및 장치
KR20160106718A (ko) * 2014-01-09 2016-09-12 삼성전자주식회사 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140107251A (ko) * 2011-12-12 2014-09-04 엘지전자 주식회사 미디어 컨텐트를 수신하는 장치 및 방법
KR20160019471A (ko) * 2013-06-14 2016-02-19 삼성전자주식회사 Dash 클라이언트 레이트 적응 제어
KR20160106718A (ko) * 2014-01-09 2016-09-12 삼성전자주식회사 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치
KR20160044819A (ko) * 2014-10-16 2016-04-26 삼성전자주식회사 무선 네트워크 환경에서 http 적응적 스트리밍 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김두환 외 2명. "지상파 UHD 방송 MMT/ROUTE 기반 브로드밴드 콘텐츠 삽입 기술." 방송공학회논문지,2019.03.* *

Also Published As

Publication number Publication date
KR102401372B1 (ko) 2022-05-24

Similar Documents

Publication Publication Date Title
RU2571375C2 (ru) Режимы быстрого доступа к произвольной точке для сетевой потоковой передачи кодированных видеоданных
US9591361B2 (en) Streaming of multimedia data from multiple sources
US11375258B2 (en) Transitioning between broadcast and unicast streams
CN111837403B (zh) 处理用于以流传送媒体数据的交互性事件
US20150269629A1 (en) Targeted advertisement insertion for streaming media data
US10887645B2 (en) Processing media data using file tracks for web content
CN111656796A (zh) 动态条件性广告插入
KR102076064B1 (ko) Dash의 강건한 라이브 동작
US10560866B2 (en) Method of handling packet losses in transmissions based on DASH standard and FLUTE protocol
KR20160139020A (ko) Mmt 및 dash를 이용한 브로드캐스트 및 브로드밴드 하이브리드 서비스
US11321516B2 (en) Processing dynamic web content of an ISO BMFF web resource track
US20180176278A1 (en) Detecting and signaling new initialization segments during manifest-file-free media streaming
TWI577186B (zh) 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置
US20210084091A1 (en) Use of In-Band Metadata as Basis to Access Reference Fingerprints to Facilitate Content-Related Action
WO2016077072A1 (en) Delivering partially received segments of streamed media data
US20210185381A1 (en) Reducing latency during service change and improving robustness in advanced television systems committee (atsc) 3.0 system
US20140201368A1 (en) Method and apparatus for enforcing behavior of dash or other clients
KR102401372B1 (ko) 이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant