KR20210078538A - 타임-시프트된 재생 - Google Patents

타임-시프트된 재생 Download PDF

Info

Publication number
KR20210078538A
KR20210078538A KR1020217015312A KR20217015312A KR20210078538A KR 20210078538 A KR20210078538 A KR 20210078538A KR 1020217015312 A KR1020217015312 A KR 1020217015312A KR 20217015312 A KR20217015312 A KR 20217015312A KR 20210078538 A KR20210078538 A KR 20210078538A
Authority
KR
South Korea
Prior art keywords
service
audio
broadcaster
time
video content
Prior art date
Application number
KR1020217015312A
Other languages
English (en)
Other versions
KR102523444B1 (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 KR20210078538A publication Critical patent/KR20210078538A/ko
Application granted granted Critical
Publication of KR102523444B1 publication Critical patent/KR102523444B1/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4333Processing operations in response to a pause request
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4382Demodulation or channel decoding, e.g. QPSK demodulation
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • 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/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • 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)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

수신 장치는 (i) 사용자에 의해 선택된 제1 방송사 서비스 및 (ii) 제2 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로를 포함한다. 상기 수신 장치는 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성되는 복조기를 추가로 포함한다. 상기 수신 장치는: 상기 제1 및 제2 방송사 서비스들에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고, 상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고, 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하도록 구성된 처리 회로를 추가로 포함한다.

Description

타임-시프트된 재생
본 개시내용은 라이브 방송 동안 이용가능한 인터랙티브 콘텐츠를 갖는 타임-시프트된 재생을 허용하는 장치, 컴퓨터 판독가능 매체, 및 방법에 관한 것이다.
PVR(Personal Video Recorder)은 일반적으로 사용자가 이전에 레코딩된 콘텐츠의 재생을 즐길 수 있게 한다. PVR(Personal Video Recorder)의 특징들을 즐기기 위해, 사용자는 나중에 시청을 위해 메모리에 라이브 방송 프로그램을 캡처하기로 선택할 수 있다. 전자 프로그램 가이드(Electronic Program Guide, EPG) 내의 데이터는 관심 프로그램의 서비스, 시각 및 지속기간을 식별한다. 프로그램이 방송되도록 스케줄링될 때, 수신기는 지시된 서비스에 튜닝하고 미디어 세그먼트들을 영구 스토리지에 저장하기 시작할 수 있다. 사용자가 나중에 돌아올 때, 또는 심지어 프로그램이 레코딩되고 있는 동안에도, 해당 미디어 세그먼트들은 디코딩 및 프레젠테이션을 위해 미디어 엔진에 전달될 수 있다. 더욱이, 일시 정지(pause), 빨리 감기(fast-forward), 및 빨리 되감기(fast-rewind)와 같은 트릭 플레이 모드들이 재생 동안 제공될 수 있다.
통상의 라이브 TV 동작에서, 미디어 세그먼트들(예를 들어, MPEG DASH 미디어 세그먼트들 또는 MPEG MMT 미디어 처리 유닛들[MPU들])은 수집되고 디코딩 및 프레젠테이션을 위해 미디어 엔진에 전달되기에 충분할 정도의 시간 동안만 버퍼링된다. 수신기가 PVR 기능성을 포함한다면, 이들 미디어 세그먼트는 나중의 시청을 위해 버퍼링될 수 있다. 예를 들어, DTV는 "라이브 TV 일시 정지" 기능을 제공할 수 있다.
더욱이, 텔레비전의 시청에 중요한 것은 오디오 및 비디오의 정확한 시간 동기화에 따른 콘텐츠의 재생이다. ATSC(Advanced Television Systems Committee) 3.0 수신기는 소프트웨어 운영 체제(OS) 플랫폼 상에서 실행되는 특수화된 애플리케이션으로서 작성될 수 있다. 예시적인 OS 플랫폼은, 텔레비전 수신기 애플리케이션의 예인 ATSC 3.0 애플리케이션이 그 OS를 지원하는 디지털 텔레비전(DTV) 제품에서 안드로이드 애플리케이션으로서 작성되어, 앱 설계자가 표준 시스템 호출에 의해 안드로이드 OS의 특징들 및 기능들을 이용할 수 있게 하는 "안드로이드 TV"이다.
라이브 TV 방송을 취득 및 프레젠테이션하기 위해, 텔레비전 수신기 애플리케이션은 선택된 서비스와 연관된 시그널링을 수신 및 처리하고, 서비스의 MPEG DASH 미디어 프레젠테이션 기술(Media Presentation Description, MPD) 파일을 검사하고, MPD에서 이용가능성 시작 시간(Availability Start Time, AST) 파라미터를 처리하여 어느 미디어 세그먼트 파일들(예를 들어, 시간의 세그먼트들에 대한 별개의 파일들, 및 오디오, 비디오, 및 자막들에 대한 별개의 파일 세트들)이 가장 최근에 송신된 것들인지를 결정할 수 있다. 이들 파일 중에서 선택하면, 텔레비전 수신기 애플리케이션은 이어서 최저 양의 대기시간으로 라이브 방송에 조인할 수 있다("고속 채널 변경"을 구현함).
AST는 MPEG DASH 표준(ISO/IEC 23009-1)에 의해 "미디어 프레젠테이션에서의 임의의 세그먼트에 대한 (UTC에서의) 가장 이른 이용가능성 시간의 계산을 위한 앵커"를 시그널링하는 UTC 시간인 것으로서 특정된다. MPEG DASH 표준은 ISO/IEC 23009-1:2014, "Information technology ― Dynamic adaptive streaming over HTTP (DASH) ― Part 1: Media presentation description and segment formats," International Organization for Standardization, 15 May 2014(이하, "MPEG DASH 표준")에 설명되어 있고, 그 전체 내용은 인용에 의해 포함된다. AST는 절대 포맷으로 특정되는 MPD에서의 유일한 시간이고, 여기서 MPD에서의 모든 다른 시간들은 AST 앵커 포인트에 대한 것이다.
본 개시내용의 실시예에 따르면, (i) 사용자에 의해 선택된 제1 방송사 서비스 및 (ii) 제2 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로를 포함하는 수신 장치가 제공된다. 상기 수신 장치는 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성되는 복조기를 추가로 포함한다. 상기 수신 장치는, 상기 제1 및 제2 방송사 서비스들에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고, 상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고, 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하도록 구성된 처리 회로를 추가로 포함한다.
본 개시내용의 실시예에 따르면, 사용자에 의해 선택된 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로를 포함하는 수신 장치가 제공되고, 상기 수신 장치는 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기를 추가로 포함한다. 상기 수신 장치는, 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고, 상기 선택된 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고, 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하고, 상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고, 상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고, 상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고, 타임-시프트 재생의 일부로서, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하고, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징 - 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷에 포함됨 - 를 제공하도록 구성된 처리 회로를 추가로 포함한다.
본 개시내용의 실시예에 따르면, 사용자에 의해 선택된 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로를 포함하는 수신 장치가 제공된다. 상기 수신 장치는 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성되는 복조기를 추가로 포함한다. 상기 수신 장치는 운영 체제 클록 시간을 결정하고, 상기 데이터 패킷들을 처리하여 상기 방송사 서비스와 연관된 텔레비전 콘텐츠의 시그널링된 이용가능성 시작 시간(AST)을 결정하고, 상기 시그널링된 AST에 기초하여 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정하고, 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정하고, 상기 미디어 세그먼트들의 수신 시간과 상기 미디어 세그먼트들의 예상 수신 시간 간의 차이와 상기 시그널링된 AST의 합계를 나타내는 관측된 AST를 결정하고, 상기 관측된 AST에 따라 상기 운영 체제 클록 시간으로부터 오프셋된 재생 클록 시간을 결정하고, 상기 결정된 재생 클록 시간에 따라 상기 수신된 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 출력하도록 구성된 처리 회로를 추가로 포함한다.
본 개시내용의 실시예에 따르면, 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체가 제공되는데, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금, 사용자에 의해 선택된 제1 방송사 서비스 및 제2 방송사 서비스에 대응하는 복수의 데이터 패킷을 일시 정지 버퍼에 저장하는 단계 - 상기 제1 및 제2 방송사 서비스들은 상기 복수의 데이터 패킷으로 복조되는 방송 스트림에서 수신됨 -, 상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하는 단계, 및 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하는 단계를 포함하는 방법을 실행하게 한다.
본 개시내용의 실시예에 따르면, 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체가 제공되는데, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금, 복수의 데이터 패킷으로 복조되는 방송 스트림에서 수신된 방송사 서비스에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하는 단계, 상기 선택된 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하는 단계, 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하는 단계, 상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하는 단계, 상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하는 단계, 상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하는 단계, 타임-시프트 재생의 일부로서, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하는 단계, 및 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징 - 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷에 포함됨 - 를 제공하는 단계를 포함하는 방법을 실행하게 한다.
본 개시내용의 실시예에 따르면, 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체가 제공되는데, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금, 수신된 방송 스트림으로부터 복조된 데이터 패킷들을 처리하여 상기 수신된 방송 스트림에 포함된 방송사 서비스와 연관된 텔레비전 콘텐츠의 시그널링된 이용가능성 시작 시간(AST)을 결정하는 단계, 상기 시그널링된 AST에 기초하여 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정하는 단계, 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정하는 단계, 상기 미디어 세그먼트들의 수신 시간과 상기 미디어 세그먼트들의 예상 수신 시간 간의 차이와 상기 시그널링된 AST의 합계를 나타내는 관측된 AST를 결정하는 단계, 상기 관측된 AST에 따라 상기 운영 체제 클록 시간으로부터 오프셋된 재생 클록 시간을 결정하는 단계, 및 상기 결정된 재생 클록 시간에 따라 상기 수신된 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 출력하는 단계를 포함하는 방법을 실행하게 한다.
첨부 도면들과 관련하여 고려될 때 이하의 상세한 설명을 참조하여 본 개시내용 및 그의 많은 부수적인 이점들이 더 잘 이해됨에 따라 그에 대한 보다 완전한 이해가 용이하게 달성될 것이다.
도 1은 예시적인 디지털 텔레비전 방송 시스템을 예시한다;
도 2는 예시적인 수신 장치를 예시한다;
도 3은 예시적인 수신 장치의 프로세서 중심적인 블록도이다;
도 4는 예시적인 방송 스트림을 예시한다.
도 5는 일시 정지 버퍼 내의 예시적인 데이터베이스 구조를 예시한다.
도 6은 전자 프로그래밍 가이드를 갖는 예시적인 디스플레이를 예시한다.
도 7은 예시적인 타임-시프트 시청 예들을 예시한다.
도 8은 복수의 콘텐츠 서비스 특징을 갖는 예시적인 디스플레이를 예시한다.
도 9는 운영 체제 클록과 미디어 세그먼트들의 도착 시간 간의 예시적인 관계를 예시한다.
도 10은 수신 장치에 의해 수행되는 예시적인 프로세스를 예시한다.
도 11은 수신 장치에 의해 수행되는 예시적인 프로세스를 예시한다.
도 12는 컴퓨터의 예시적인 하드웨어 구성을 예시한다.
본 개시내용은 많은 상이한 형태들의 실시예를 허용하지만, 그러한 실시예들의 본 개시내용이 원리들의 예로서 고려되어야 하고, 본 개시내용을 도시되고 설명된 특정 실시예들로 제한하도록 의도되지 않는다는 이해와 함께, 특정 실시예들이 도면들에 도시되고 본 명세서에서 상세히 설명될 것이다.
본 명세서에서 사용되는, 단수형 용어들("a" 또는 "an")은 하나 또는 하나보다 많은 것으로서 정의된다. 본 명세서에서 사용되는, "복수"라는 용어는, 2개 또는 2개보다 많은 것으로서 정의된다. 본 명세서에서 사용되는, "다른"이라는 용어는 적어도 제2 또는 그 이상으로서 정의된다. 본 명세서에서 사용되는, "포함하는(including)" 및/또는 "갖는(having)"이라는 용어들은 포함하는(comprising)(즉, 개방형 언어)으로서 정의된다. 본 명세서에서 사용되는, "결합된"이라는 용어는, 연결된 것으로서 정의되지만, 그 연결이 반드시 직접적일 필요는 없고 반드시 기계적일 필요는 없다. 본 명세서에서 사용되는, "프로그램" 또는 "컴퓨터 프로그램"이라는 용어 또는 유사한 용어들은, 컴퓨터 시스템 상에서의 실행을 위해 설계된 명령어들의 시퀀스로서 정의된다. "프로그램" 또는 "컴퓨터 프로그램"은 서브루틴, 프로그램 모듈, 스크립트, 함수, 절차, 객체 메소드, 객체 구현, 실행가능 애플리케이션, 애플릿, 서블릿, 소스 코드, 객체 코드, 공유 라이브러리/동적 로드 라이브러리 및/또는 컴퓨터 시스템 상에서의 실행을 위해 설계된 명령어들의 다른 시퀀스를 포함할 수 있다.
본 명세서에서 사용되는, "프로그램"이라는 용어는, 제2 컨텍스트에서 이용될 수도 있다(위의 정의는 제1 컨텍스트에 대한 것이다). 제2 컨텍스트에서, 이 용어는 "텔레비전 프로그램"의 의미로 사용된다. 이 컨텍스트에서, 이 용어는 콘텐츠가 영화, 스포츠 이벤트, 멀티-파트 시리즈의 세그먼트, 뉴스 방송 등인지에 관계없이 전자 프로그램 가이드(EPG)로서 해석되고 EPG에서 단일 텔레비전 프로그램으로서 보고되는 것들과 같은 오디오/비디오 콘텐츠의 임의의 일관된 시퀀스를 의미하기 위해 사용된다. 이 용어는 또한 EPG에서 프로그램으로서 보고되지 않을 수 있는 상업적 스폿들 및 다른 프로그램 유사 콘텐츠를 포함하는 것으로 해석될 수 있다.
이 문서 전체에 걸쳐 "일 실시예", "특정 실시예들", "실시예", "구현", "예" 또는 유사한 용어들에 대한 언급은 그 실시예와 관련하여 설명된 특정한 특징, 구조, 또는 특성이 본 개시내용의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전체에 걸쳐 다양한 곳에서의 그러한 문구들의 출현은 반드시 모두가 동일한 실시예를 언급하는 것은 아니다. 더욱이, 특정한 특징들, 구조들, 또는 특성들은 제한 없이 하나 이상의 실시예에서 임의의 적합한 방식으로 조합될 수 있다.
본 명세서에서 사용되는 "또는"이라는 용어는 은 포괄적인 것으로서 또는 어느 하나 또는 임의의 조합을 의미하는 것으로서 해석되어야 한다. 따라서, "A, B 또는 C"는 "A; B; C; A 및 B; A 및 C; B 및 C; A, B 및 C 중 임의의 것"을 의미한다. 이러한 정의에 대한 예외는 요소들, 기능들, 단계들 또는 동작들의 조합이 소정의 방식으로 본질적으로 상호 배타적일 때에만 발생할 것이다.
이제, 여러 도면들에 걸쳐 유사한 참조 번호들이 동일하거나 대응하는 부분들을 지시하는 도면들을 참조하면, 다음의 설명은 보호 콘텐츠에 대한 액세스를 제공하는 것에 관한 것이다.
본 개시내용의 실시예들은, 라이브 방송 동안 방송사에 의해 제공되었을 수 있는 임의의 인터랙티브 특징들의, 타임-시프트된 재생 동안의, 지원을 포함하는, 종래의 PVR 능력에 비해 여러 신규한 특징들을 제공하는 텔레비전 수신 장치(예를 들어, ATSC 3.0 수신기)에서의 PVR의 구현을 개시한다. 사용자는, 프로그램의 재생 동안, 상이한 언어 오디오 트랙 또는 자막들과 같은 상이한 프레젠테이션 옵션들을 즐기기로 선택할 수 있다. 본 개시내용의 실시예들은, 그 전체가 인용에 의해 본 명세서에 포함되는, 2017년 10월 19일자의 ATSC 표준 A/300 - ATSC 3.0 시스템(이하, "A/300 표준")에 설명된, 인터넷 프로토콜(IP) 패킷 또는 ATSC 3.0 링크 계층 프로토콜(ALP) 패킷의 형태로 방송으로부터의 오디오/비디오/자막/애플리케이션 데이터의 저장을 추가로 포함한다.
본 개시내용의 실시예들은 다음과 같은 PVR 능력을 갖는 수신기들에 특징들을 추가하는 것에 관한 것이다:
(1) 프로그래밍이 생방송된 것과 동일한 방식으로 타임-시프트된 재생 동안 프로그래밍과 상호작용하는 능력.
(2) 다수의 오디오 언어 또는 비디오 트랙들의 레코딩에서의 이용가능성은 프로그래밍이 생방송된 것과 동일한 방식으로 레코딩된 프로그램의 원하는 프레젠테이션을 사용자가 선택할 수도 있도록 한다.
(3) ATSC 3.0 방송이 다수의 서브채널을 포함할 때 "일시 정지 버퍼"에 다수의 서비스를 버퍼링하는 반면, 종래의 수신기들은 사용자가 현재 시청하고 있는 서비스만을 버퍼링한다.
ATSC 3.0 방송 프로토콜에서, 예를 들어, 오디오, 비디오, 자막, 및 애플리케이션과 같은 프로그램 컴포넌트들은 별개의 파일 기반 콘텐츠 스트림들에서 전달될 수 있다. 모든 이용가능한 프로그램 컴포넌트들이 저장되는 PVR 설계는 시청자에게, 프로그램이 실시간으로 라이브로 시청되었다면(타임-시프트되지 않았다면) 그들이 가질 수 있는 것과 동일하게, 재생 시에 그들의 원하는 프레젠테이션을 선택하는 능력을 제공한다. 또한, 동일한 프로그램은 이전과는 상이하게 선택된 하나 이상의 컴포넌트로 재생될 수 있다(예를 들어, 동일한 콘텐츠의 반복된 재생 동안에 상이한 언어들 또는 시야각들이 재생될 수 있다).
일부 실시예들에서, 텔레비전 수신기 장치는 방송사가 시청되고 있는 프로그래밍과 함께 시작될 수 있는 방송사 애플리케이션(예를 들어, HTML5 애플리케이션)을 공급하는 것을 허용하는 "런타임 애플리케이션 환경"에서 동작한다. 방송사 애플리케이션은 서비스 사용 모니터링 또는 개성화된 광고와 같은 태스크들을 수행하기 위해 배경에서 조용히 동작할 수 있거나, 방송사 애플리케이션은 사용자가 프로그램의 콘텐츠와 상호작용할 수 있도록 텍스트 및 그래픽을 사용자에게 프레젠테이션할 수 있다. 방송사 애플리케이션의 설계자는, 상이한 서비스들, 상이한 오디오, 비디오, 또는 자막 트랙들이 선택되도록 방송사 애플리케이션을 설계하기 위한 능력, 및 비디오 프레젠테이션이 스케일링되고 스크린 상에 배치되게 하는 능력을 포함한, 풍부한 세트의 TV-관련된 기능들에 액세스할 수 있다.
[출원일 삽입]에 출원되고, 그 전체 내용이 인용에 의해 본 명세서에 포함되는, 발명의 명칭이 Receiver Device Including Native Broadcaster Application인 출원 번호 [출원 번호 삽입]에 설명된 바와 같이, 수신기가, 예를 들어, 안드로이드 플랫폼 상에 구축될 때, 방송사는, 방송 신호 내에서 전달되는 방송사 애플리케이션과 연계하여 동작하거나 이를 대신하는, 네이티브 방송사 애플리케이션(예를 들어, 안드로이드 애플리케이션)을 공급할 수 있다. 방송사 애플리케이션 또는 네이티브 방송사 애플리케이션 중 어느 하나 또는 양쪽 모두가 사용자에게 인터랙티브 경험을 제공할 수 있다.
본 개시내용의 실시예들은 방송사에 의해 공급되는 MPD 파일의 분석에 기초하는 수신기에서의 "Wall Clock Time"의 도출을 위한 방법을 또한 포함한다. 서비스의 빠른 취득을 위해 AST를 처리하고 이용하기 위해, 수신기는 시그널링된 AST 값을 수신기의 운영 체제에 의해 특정된 시각과 비교하고, 어느 미디어 세그먼트(들)가 가장 최근에 이용가능하게 된 것들인지를 계산할 수 있다. 이들은 수신기에 방금 도착한 파일들이고, 이는 수신기가 이들 방금 도착한 파일들을 디코딩하여 프레젠테이션하는 것에 의해 시작하는 경우, 수신기가 소위 "라이브 에지"에서 서비스에 조인할 것임을 의미한다. DASH-IF(DASH Interoperability Forum)은 "Guidelines for Implementation: DASH-IF Interoperability Points," Dash Industry Forum, V. 4.1, September 7, 2017에서 DASH 구현들을 위한 가이드라인 문서를 공개하였고, 그 전체 내용은 본 명세서에 인용에 의해 포함된다. DASH-IF 가이드라인들은 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이 동적 MPD들 및 라이브 스트리밍을 위한 "라이브 에지" 특징들을 개시한다.
ATSC 표준은, 방송사가 GPS(Global Position System) 소스들에 동기화된 매우 정확한 시각 클록들을 이용하여 방송국을 운영할 것을 요구할 수 있다. 라이브 에지에서의 수신기에 의한 서비스의 취득은 수신기가 양호한 정확도(예를 들어, 100msec가 수용가능함)로 정확한 시각을 알 것을 요구한다. 그러나, 전형적인 소비자 수신기에서의 시각 클록들은 정확하지 않을 수 있다. 일부 운영 체제들은 시스템 클록을 재동기화하고, 이는 주당 한 번만 시각 서비스들을 애플리케이션들에 제공한다. 따라서, 시스템 클록의 재동기화 간의 일주일의 시간 동안, 클록은 빠르게 또는 느리게 드리프트할 수 있다.
부정확한 값이 시스템 시간 동안 사용되면, 서비스 취득을 위해 사용할 정확한 미디어 세그먼트의 계산은 아직 송신되지 않은 미디어 세그먼트를 참조할 수 있거나, 가장 최근에 수신된 것보다 오래된 것을 가리킬 수 있다. 전자의 경우에, 수신기가 요청된 파일이 도착하기를 기다리는 동안 취득이 지연되고, 따라서 취득을 느리게 한다. 후자의 경우, 참조된 파일은 수신기가 서비스를 취득하는 프로세스를 시작하기 전에 방송되었기 때문에 결코 이용가능하지 않을 수 있다. 따라서, 본 발명의 실시예들은 방송사에 의해 공급되는 MPD 파일의 분석에 기초하는 수신기에서의 "Wall Clock Time"의 도출에 의해 이들 부정확성들을 해결한다.
도 1은 텔레비전 콘텐츠에 대한 액세스를 제공하는 예시적인 디지털 텔레비전 방송 시스템(100)이다. 시스템은 서비스 제공자(102), 수신 장치(120), 및 입력 디바이스(140)를 포함한다. 수신 장치(102)는 안테나를 통해 데이터를 수신하도록 구성될 수 있다. 수신 장치(102)는 데이터를 수신하기 위해 인터넷(130)에 연결하도록 추가로 구성될 수 있다.
일 예에서, 서비스 제공자(102)는 텔레비전 콘텐츠의 방송사이고, 수신 장치(120)는 평면 스크린 TV, 랩톱, 태블릿, 또는 스마트폰과 같은 텔레비전으로서 동작하도록 구성되는 임의의 디바이스일 수 있다. 입력 디바이스(140)는 수신 장치(120)에 물리적으로 또는 무선으로 연결될 수 있고, 숫자 키들 및/또는 영숫자 키들 또는 QWERTY 키보드를 갖는 리모트와 같은 수신 장치(120)를 동작시키기에 적합한 임의의 디바이스일 수 있다. 입력 디바이스(140) 상의 키들은 물리적 버튼들 또는 터치스크린 상의 숫자 또는 영숫자 키들의 디지털 표현일 수 있다. 본 개시내용의 실시예들은 다른 방송 콘텐츠(예를 들어, HTML5 애플리케이션들과 같은 실행가능 애플리케이션들)에 대한 액세스를 제공하기 위해 이용될 수 있다. 서비스 제공자(102)는 텔레비전 콘텐츠를 포함하고 디지털 텔레비전 방송 신호를 통해 전달될 수 있는 방송 스트림을 송신한다.
서비스 제공자(102)(예를 들어, 방송사 엔티티 또는 방송국)는, 일 실시예에서, 데이터 스트림(예를 들어, 방송 스트림) 내의 콘텐츠, 애플리케이션, 및/또는 서비스를 수신 장치(120)에 송신하도록 구성되는 송신기를 갖는 송신 장치를 포함하는 서비스 배포 시스템이다. 송신기는 데이터 스트림을, 예를 들어 디지털 지상파 방송을 통해, 수신 장치(120)에 제공하도록 구성된다. 다른 예들에서, 데이터 스트림은 디지털 지상파 방송, 모바일 폰 네트워크, 인터넷과 같은 광대역 네트워크, 케이블 네트워크, 및 위성 링크 중 하나 또는 이들의 조합을 통해 수신 장치(120)에 송신될 수 있다. 서비스 배포 시스템은 데이터 스트림을 수신 장치(120)에 전달하기 위해 어느 하나 또는 다양한 송신 기법들을 사용할 수 있다.
일 실시예에 따른 서비스 배포 시스템은 소스 인코더, 채널 인코더, 및 변조기를 포함한다. 소스 인코더는 소스로부터 수신된 오디오, 비디오, 시그널링, 제어 또는 다른 데이터를 압축하기 위한 데이터, 오디오 및 비디오 인코더들을 포함한다. 채널 인코더는 압축된 미디어 및 시그널링 데이터를 랜덤화, 인터레이싱, 채널 코딩, 및 프레임 맵핑한다. 예를 들어, 채널 인코더는 많은 데이터 셀들을 직교 주파수 분할 멀티플렉싱(OFDM) 부호들 상에서 반송될 시퀀스들로 형성하는 프레임 빌더를 포함한다. 변조기(예를 들어, 멀티플렉서)는 처리된 디지털 데이터를, 예를 들어 OFDM 부호들일 수 있는, 변조 부호들로 변환한다. 이어서, 멀티플렉싱된 데이터는 주파수 영역 신호를 시간 영역 신호로 변환하는 역 고속 푸리에 변환기(IFFT)로 전달된다. 시간 영역 신호는 부호들 사이에 보호 구간(guard interval, GI)을 생성하기 위한 가드 삽입 모듈에, 그리고 이어서 디지털-아날로그(D/A) 컨버터에 공급된다. 이어서, 상향 변환, RF 증폭, 및 공중파(over-the air) 방송을 수행하여 방송 스트림을 송신한다.
송신 장치 또는 수신 장치의 특정 컴포넌트들은 다른 실시예들에서 필요하지 않을 수 있다. OFDM 송신기 및 수신기의 상세들은, 예를 들어, DVB-T2 표준(2015년 7월 1일자의 ETSI EN 302 755 V1.4.1), 2017년 6월 6일자의 ATSC 표준 A/322 - 물리 계층 프로토콜(이하, "A/322 표준"), 및 2016년 3월 23일자의 ATSC 표준 A/321 - 시스템 발견 및 시그널링(이하, "A/321 표준")에서 발견될 수 있고, 이들 각각은 그 전체가 본 명세서에 인용에 의해 포함된다.
도 2는 텔레비전 콘텐츠 및 방송사 애플리케이션들에 액세스하도록 구성되는 예시적인 수신 장치(120)를 예시한다. 수신 장치(120)는 텔레비전 세트, 셋톱 박스, 스마트폰, 태블릿 컴퓨터, 랩톱, 휴대용 컴퓨터, 또는 텔레비전 콘텐츠를 수신하도록 구성된 임의의 다른 디바이스와 같은 고정 또는 모바일 디바이스일 수 있다. 또한, 수신 장치(120)는 차량 또는 전술한 고정 또는 모바일 디바이스들 중 임의의 것에 통합되는 디지털 텔레비전 수신기일 수 있다.
수신 장치(120)는 하나 이상의 서비스 제공자(102)로부터 데이터 스트림(예를 들어, 방송 스트림)을 수신하도록 구성되는 수신기 회로 및 수신 장치(120)의 다양한 기능들을 수행하도록 구성되는 처리 회로를 포함한다. 일 실시예에서, 튜너/복조기(202)는 방송 스트림을 포함하는 방송 송출들을 수신한다. 실시예에 따라, 수신 장치(120)는 대안적으로 또는 추가적으로 케이블 텔레비전 송신 또는 위성 방송을 수신하도록 구성될 수 있다.
ATSC 3.0 방송 송출이 튜너/복조기(202)에 의해 취득되었을 때, ALP 패킷들과 같은 데이터 패킷들이 프로세서(270)로 전달되고 프로세서는 이들 패킷을 추가 처리를 위해 인터넷 프로토콜(IP) 패킷들로 변환한다. ALP 패킷들은 또한 방송을 타임-시프팅할 목적으로 영구 스토리지(280)에 버퍼링되고 저장될 수 있다. 영구 스토리지(280)는 디스크 스토리지 형태뿐만 아니라, 예를 들어, 네트워크 메모리 디바이스들, 자기 스토리지 요소들, 광자기 스토리지 요소들, 플래시 메모리, 코어 메모리 및/또는 다른 비-휘발성 스토리지 기술들을 포함하는 비-일시적 스토리지 디바이스들과 같은 다른 형태들의 스토리지를 이용하여 구현될 수 있다.
디멀티플렉서(204)는, 스토리지(280)로부터의 임의의 필요한 파일들을 이용하여, IP 패킷들로 변환된 데이터 스트림을 디멀티플렉싱하고, 디멀티플렉싱된 데이터를 개별 오디오 및 비디오(A/V) 스트림들로 디코딩하기 위해 미디어 엔진(280)으로 전달할 수 있다. 메타데이터, LLS(Low Level Signaling) 및 SLS(Service Layer Signaling) 파일들, 미디어 파일들, 및 ESG(Electronic Service Guide) 파일들과 같은 디멀티플렉서(204)에 의해 출력되는 파일들이 처리를 위해 CPU(238)에 제공될 수 있다. 그 전체가 인용에 의해 포함된, 2017년 12월 6일자의 ATSC 표준 A/331 - Signaling, Delivery, Synchronization, and Error Protection(이하, "A/331 표준")는 ATSC 3.0에 대한 LLS 및 SLS를 특정한다. 오디오는 오디오 디코더(210)에 의해 디코딩되고, 비디오는 비디오 디코더(214)에 의해 디코딩된다.
수신 장치(120)는 일반적으로 하나 이상의 버스(예를 들어, 버스(250))을 통해 영구 스토리지(280), 작업 메모리(240), 프로그램 메모리(242), 및 그래픽 서브시스템(244)에 결합되는 CPU(238)와 같은 적어도 하나의 프로세서의 제어 하에서 동작한다. CPU(238)는 일 실시예에 따라 사용자가 보호된 서비스에 액세스하기 위한 라이센스 정보를 취득하기 위한 사용자 인터페이스를 생성하도록 구성된다. 그래픽 서브시스템(244)에 의해 출력된 그래픽들은 컴포지터 및 비디오 인터페이스(260)에 의해 비디오 이미지들과 조합되어 비디오 디스플레이 상에 디스플레이하기에 적합한 출력을 생성한다.
CPU(238)는, 예를 들어, 프로그램 메모리(242)에 저장된 HTML5 사용자 에이전트를 이용하여, 방송사 애플리케이션(예를 들어, HTML5 애플리케이션)에 포함된 스크립트 객체들(제어 객체들)을 실행하는 것을 포함한 수신 장치(120)의 기능들을 수행하도록 동작한다. 네이티브 방송사 애플리케이션들도 프로그램 메모리(242)에 상주할 수 있다.
일 실시예에서, 방송사 애플리케이션을 구성하는 파일들의 컬렉션은, 예를 들어, A/331 표준에서 기술된 ROUTE 프로토콜을 통해, 패키지들로서 방송을 통해 전달될 수 있다. 예시적인 방송사 애플리케이션 프레임워크는, 그 전체 내용이 인용에 의해 포함되는, 2017년 12월 18일자의 ATSC 표준 A/344 - ATSC 3.0 Interactive Content에 설명되어 있다.
특정 실시예들에서, CPU(238)는 하나 이상의 기능의 제어를 중앙집중화하기 위해 수신 장치(120) 리소스들 중 어느 하나 또는 이들의 조합에 결합될 수 있다. 일 실시예에서, CPU(238)는 또한 튜너/복조기(202) 및 다른 텔레비전 리소스들을 포함하는 수신 장치(120)의 제어를 감독하도록 동작한다.
수신 장치(120)의 더 프로세서 중심적인 뷰가 도 3에 예시되어 있다. 메모리(240 및 242)는 메모리(310)로서 집합적으로 묘사되어 있다. 또한, 프로세서(300)는 CPU(238)와 같은 하나 이상의 처리 유닛을 포함한다. 유사하게, 디지털 텔레비전 신호들을 초기에 처리하는 다양한 복조기들, 디코더들 등은 텔레비전 수신기/튜너(320)로서 집합적으로 묘사되어 있다. 수신 장치(120)는 리모트 컨트롤러 수신기 인터페이스(340)와 통신하는 리모트 컨트롤러(360)를 추가로 포함한다. 추가적으로, 디스플레이(350)는 예를 들어 컴포지터(260)를 포함하는 디스플레이 인터페이스(330)에 연결되고, 텔레비전 세트에서와 같이 수신 장치(120)에 통합된 디스플레이이거나 또는 수신 장치(120)가 셋톱 박스에 통합된 경우에서와 같이 연결된 디스플레이 디바이스이다.
메모리(310)는 다양한 기능 프로그램 모듈들 및 데이터를 포함한다. 메모리(310)는 수신 장치(120)에 의해 사용되는 데이터를 저장한다. 수신 장치(120) 내의 메모리(310)는 디스크 스토리지 형태뿐만 아니라, 예를 들어, 네트워크 메모리 디바이스들, 자기 스토리지 요소들, 광자기 스토리지 요소들, 플래시 메모리, 코어 메모리 및/또는 다른 비-휘발성 스토리지 기술들을 포함하는 비-일시적 스토리지 디바이스들과 같은 다른 형태들의 스토리지를 이용하여 구현될 수 있다. "비-일시적"이라는 용어는 데이터 스토리지 지속성(예를 들어, RAM 대 ROM)에 대한 제한과는 대조적으로 매체 자체(즉, 신호가 아니라 유형적)의 제한이다. 스토리지(280)(도 2)에 대응할 수 있는 스토리지(380)가 타임-시프트된 재생을 위한 레코딩들의 저장을 위해 또한 포함된다.
메모리(310)는 텔레비전 수신기 애플리케이션(311)을 포함한다. 방송사 애플리케이션(316a)과 네이티브 방송사 애플리케이션(316b) 양쪽 모두가 메모리(310)에 저장된다. 방송사 애플리케이션(316a)은 방송 스트림에 포함되는 HTML5 애플리케이션일 수 있다. 네이티브 방송사 애플리케이션(316b)은 수신 장치(120)를 구비하거나 나중 시간에 설치(예를 들어, 앱 스토어로부터 다운로드)될 수 있다. 방송사 애플리케이션(316a) 및 네이티브 방송사(316b)는 프로세서(300)에 의해 실행된다. 또한, 이들 애플리케이션은 프로세서(300)로 하여금 후속 검색을 위해 메모리(310)에 저장되는 대체 콘텐츠(318)를 취득하도록 수신 장치(120)를 제어하게 할 수 있다. 다른 실시예에서, 프로세서(300)는 수신 장치(120)로 하여금 프레젠테이션 시에 대체 콘텐츠(318)를 검색하거나 스트리밍하게 한다.
위에서 언급된 특징들이 사용자에게 이용가능하게 되는 PVR 설계의 기술적 양태들은 예를 들어 다음을 포함한다:
(1) 디폴트 또는 사용자 선호 언어에 대응하는 단지 메인 비디오 트랙 및 오디오 트랙을 넘어서는 콘텐츠를 메모리(휘발성 또는 비-휘발성)에 저장하는 것;
(2) 타임-시프트된 재생을 실시하기 위한 서비스 계층 시그널링(Service Layer Signaling) 데이터의 적절한 수정(아래의 상세들); 및
(3) 재생 동안에 프로그램의 오디오, 비디오, 자막, 및 인터랙티브 콘텐츠 부분들의 동기화를 실시하기 위한 방송사 애플리케이션 및/또는 네이티브 방송사 애플리케이션의 관리.
ATSC 1.0(기존의 DTV 시스템) 표준들에 기초하여 디지털 텔레비전 콘텐츠를 타임-시프팅하는 것을 수반하는 관련 PVR 설계들, 또는 아날로그 TV 신호들이 디지털화되고, 압축되고, 디스크 상에 저장된 설계들에서, 전형적으로 메인 비디오 및 하나의 오디오 트랙만이 나중의 재생을 위해 저장되었다. 관련 DTV 시스템에서, MPEG-2 전송 스트림(TS)이 전송으로서 사용되었다. 이러한 상황에서, PVR들은 비디오 기본 스트림(ES) 및 오디오 기본 스트림으로부터의 MPEG-2 TS 패킷들만으로 구성된 "부분" 전송 스트림들을 생성할 것이다. 자막들은 비디오 ES 내부에 인코딩되었다. 부분 TS는 타임-시프트된 방식으로 재생될 수 있다. ES 컴포넌트들이 비디오에 PCR(Program Clock Reference)들을 포함하고 비디오와 오디오 둘 다에 PTS(Presentation Time Stamp)들을 포함하기 때문에, 동기화 및 타이밍은 간단하였다. ATSC 1.0 시스템은 방송사 애플리케이션을 표준화하지 않았다.
디지털 비디오 압축 기술(HEVC 대 MPEG-2)의 진보뿐만 아니라, 물리 계층의 효율(예를 들어, 변조 및 코딩)의 개선은 방송 신호들의 더 높은 용량을 야기하였다. 일부 실시예들에서, ATSC 3.0 방송 신호와 같은 방송 스트림은 2개 이상의 ATSC 3.0 서비스를 포함한다. 따라서, 방송 스트림은 다수의 방송사의 방송들을 반송하도록 구성될 수 있고, 각각의 방송사는 방송 스트림에 대한 할당된 대역폭(예를 들어, 미국의 지상파 방송 시스템들에 대해 6 MHz) 내의 하나 또는 2개의 서브채널과 함께 하나의 메인 채널을 제공한다.
도 4는 수신 장치(120)에 의해 수신되는 방송 스트림의 일 실시예를 예시한다. 예로서, 사용자가 텔레비전을 조작하고 있을 때, 사용자는 방송사와 연관된 특정한 채널을 선택할 수 있다. 채널의 선택 시, 사용자에 의해 선택된 채널을 적어도 포함하는 방송 스트림이 프레젠테이션된다. 더욱이, 방송 스트림은 동일한 방송사에 의한 다수의 채널을 포함할 수 있고, 다른 방송사(예를 들어, 방송사 B)에 의한 다수의 채널을 또한 포함할 수 있다.
도 5는 일시 정지 버퍼의 역할을 하는 임의의 유형의 메모리에 저장된 파일들을 나타내는 데이터베이스 구조(500) 실시예를 예시한다. 도 5에 예시된 바와 같이, 각각의 방송사 서비스(예를 들어, A_1)에 대해, 데이터베이스 구조는 미디어 프레젠테이션 기술 파일(500a)을 저장할 수 있다. 미디어 프레젠테이션 기술 파일은 선택된 서비스에 대응하는 미디어 세그먼트들(500b)의 위치뿐만 아니라 AST를 나타낼 수 있다. 데이터베이스 구조(500)는 각각의 방송사 서비스에 대한 LLS 및 SLS 파일들(500c)을 포함한다. 추가적으로, 방송사 서비스에 대한 데이터베이스 구조는 방송사 애플리케이션과 같은 임의의 연관된 애플리케이션 파일(500d)을 포함할 수 있다.
방송 스트림으로부터의 패킷들의 버퍼링은 어느 서비스들이 재생을 위해 이용가능한지를 결정할 수 있다. 일부 실시예들에서, 수신 장치는 "일시 정지 버퍼" 내의 임의의 방송 스트림(예를 들어, ATSC 3.0 방송 신호) 내의 모든 IP 패킷들을 버퍼링할 수 있다. 더욱이, "PVR 능력"을 갖는 것으로 광고되지 않거나 초기에 구성되지 않은 DTV 제품은 휘발성 메모리 또는 영구 스토리지와 같은 DTV 제품의 기존 메모리를 이용하여 일시 정지 버퍼를 구현할 수 있다. DTV 제품이 방송 스트림 내의 모든 데이터 방송을 저장할 때, 다음의 상당히 유리한 특징들이 달성된다:
(1) 사용자가 동일한 방송 신호에서 전송된 상이한 서비스로 스위칭하기로 선택하는 경우, 스위칭 시간은 거의 즉각적이다.
(2) 사용자는 일시 정지 버퍼로부터 콘텐츠를 재생할 때에도 이용가능한 오디오 및 자막 언어 옵션들의 세트 중에서 선택할 수 있다.
(3) 인터랙티브 요소들은, 인터랙티브 요소들과 프로그램 재생 간의 동기화를 유지하면서, 오디오/비디오/자막과 함께 일시 정지될 수 있다.
(4) 사용자가 잠시 동안 서비스 A의 시청을 시작하고, 이어서 동일 신호 상에서 방송되는 서비스 B로 스위칭하는 경우, 사용자는 일시 정지 버퍼의 깊이 및 수신기가 이 방송 신호로 튜닝된 시간의 양에 따라 해당 서비스 상의 이전에 방송된 콘텐츠의 일부를 보기 위해 "되감기"할 수 있다.
모든 방송 패킷의 무차별 대입 레코딩(brute-force recording)은 비효율적인데, 그 이유는 특정의 패킷이 방송에 바로 조인하고 있는 수신기들의 이익을 위해 방송 신호에서 반복되는 파일들을 전달하기 때문이다. 반복된 파일들의 예로서는, LLS(Low Level Signaling) 및 SLS(Service Layer Signaling) 파일들, IS(Initialization Segment) 파일들(MPEG DASH 표준 참조), 및 방송사 애플리케이션들을 포함하는 파일들이 포함된다.
일부 실시예들에서, 임의의 반복된 파일의 제1 인스턴스만을 저장하는 것에 의해 모든 방송 패킷을 저장하는 기법에 비해 유리한 최적화가 달성된다. 예를 들어, 방송에서 모든 IP 또는 ALP 패킷을 레코딩하는 대신에, IP 또는 ALP 패킷을 처리하는 것으로부터 획득된 개별 파일들이 저장된다. 따라서, 방송에서 발견된 파일이 이미 저장된 것의 중복인 것으로 발견되면, 중복 파일이 폐기될 수 있거나, 새로운 사본이 메모리에 저장되면 이전에 저장된 사본이 소거될 수 있다(즉, 파일이 점유하는 메모리가 비워짐).
주어진 ATSC 3.0 송신 신호에서 전달된 모든 파일 객체들을 저장하는 것은 수신기에서의 처리에 상당한 부담을 부과할 수 있다. 튜너/복조기(202)가 복조 후에 ALP 패킷들을 산출하지만, ALP 패킷들을 파일들로 전환하는 프로세스는 1) ALP 패킷들을 IP 패킷들로 변환하는 단계; 2) 방송 신호에서 멀티플렉싱된 각각의 서비스에 대한 LLS(Lower Layer Signaling) 및 SLS(Service Level Signaling) 파일들을 처리하여 방송 스트림 내의 각각의 파일 객체에 관한 정보를 발견하는 단계; 및 3) 각각의 파일 객체를 검색하고 이를 파일 시스템에 저장하는 단계를 포함한다.
ALP 패킷들을 일시 정지 버퍼 내에 직접 버퍼링하는 것에 의해, 개시된 실시예들은 방송 스트림에 포함된 모든 ALP 패킷 및 파일을 처리하지 않아도 된다는 상당히 유리한 특징들을 제공한다. 도 2에 예시된 바와 같이, ALP 패킷들은 직접 라이브 재생(예를 들어, 디코딩된 오디오 및 비디오의 출력)을 위해 하향으로 흐를 수 있거나, 스토리지 디바이스(280)에 구현될 수 있는, 일시 정지 버퍼에 저장될 수 있다. 일시 정지 버퍼에 저장된 ALP 패킷들은 일시 정지 버퍼로부터 검색되고 동일한 디코딩 및 미디어 프레젠테이션 기능들로 전달될 수 있다. 일부 실시예들에서, 튜너/복조기(202)로부터 오는 모든 ALP 패킷이 일시 정지 버퍼에 저장된다. 일부 실시예들에서, ALP 패킷들로부터 도출된 모든 파일들이 일시 정지 버퍼에 저장된다. 더욱이, 일부 실시예들에서, 주어진 서비스와 연관된 모든 ALP 패킷들이 일시 정지 버퍼에 저장된다. 추가적으로, 일부 실시예들에서, 주어진 서비스와 연관된 모든 파일들이 일시 정지 버퍼에 저장된다.
일부 실시예들에서, 텔레비전 수신기 애플리케이션은 방송 스트림 내의 파일들을 이용하여, 타임-시프트된 재생을 위해 사용되는 파라미터들을 결정한다. A/331 표준은, 전송 프로토콜들에 대한 2개의 옵션, MPEG DASH(Dynamic adaptive streaming over HTTP(ROUTE라고 불리는 FLUTE 유사 방송 파일 전달 프로토콜과 연계하여), 및 MPEG MMT (ISO/IEC 23008-1:2017 "technology -- High efficiency coding and media delivery in heterogeneous environments -- Part 1: MPEG media transport (MMT)," International Organization for Standardization, August 2017을 정의하고, 그 전체 내용은 인용에 의해 본 명세서에 포함된다. 위에 논의된 바와 같이, MPEG DASH는 ISO/IEC 23009-1에서 표준화되어 있다. 일부 실시예들에 따르면, 수신 장치는 DASH/ROUTE 전송을 지원한다.
MPEG DASH에서, 미디어 프레젠테이션 기술(MPD) 파일은, 오디오, 비디오, 및 자막을 반송하는 미디어 세그먼트들의 위치들을 참조하는 데이터 구조이다. 일부 실시예들에서, MPD는 MPD 파일에서 MPD@availabilityStartTime 속성으로서 식별될 수 있는, 이용가능성 시작 시간(AST)이라고 불리는 파라미터를 포함한다. AST는 방송의 모든 타이밍 양태들을 클록 시간(날짜 및 시각)에 앵커링한다. 현재 시각에 대응하는 정보를 갖는 수신기는 AST 파라미터를 이용하여 서비스의 콘텐츠의 초기 재생을 시작하기 위해 어느 미디어 세그먼트가 검색될 수 있는지를 결정한다.
안드로이드 OS 플랫폼 상에 구축된 ATSC 3.0 수신기로서 동작하고 있는 수신 장치의 일부 실시예들에서, 콘텐츠를 디코딩 및 렌더링하기 위해 미디어 플레이어 라이브러리가 포함된다. 미디어 플레이어의 표준 오디오 및 비디오 컴포넌트들은 안드로이드의 MediaCodec API 상에 구축될 수 있다. 더욱이, 미디어 플레이어는 DASH를 지원할 수 있다.
미디어 플레이어가 라이브 스트리밍 콘텐츠를 플레이하기 위한 요청을 수신할 때, 방송 MPD에 주어진 AST는, 수신기가 서비스를 먼저 취득할 때, 미디어 플레이어가 선택된 서비스의 가장 빠른 가능한 취득을 위해 최적의 미디어 세그먼트를 페치하려고 시도하도록 조정될 수 있다. 이 방법은 최저 가능한 채널 변경 시간을 산출한다. 안드로이드 OS에 의해 사용되는 내부 시각 클록(internal time of day clock)이 방송사에 의해 사용되는 GPS 시각과 정확히 일치하지 않으면 AST에 대한 조정이 필요할 수 있다. 이 클록 조정이 아래에 개시된다.
수신 장치 또는 PVR이 라이브 TV를 일시 정지하기 위한 일시 정지 버퍼를 포함하는 경우, 미디어 플레이어는, 예를 들어, 일시 정지 및 되감기 동작들을 지원하기 위해 더 오래된 미디어 세그먼트들의 이용가능성을 알게 될 수 있다. DASH MPD는 더 오래된 미디어 세그먼트들의 이용가능성을 나타낼 목적으로 MPD@timeShiftBufferDepth라고 불리는 속성을 포함한다. 방송사는 미디어 세그먼트들이 HTTP 서버로부터 풀링되도록 이용가능하기보다는 방송을 통해 푸시된다는 사실을 인식하여 이 파라미터를 낮은 값으로 설정할 수 있다. 수신 장치는 MPD@timeShiftBufferDepth의 값을 조정하여 타임-시프트 버퍼에서의 미디어 세그먼트들의 이용가능성을 반영하여, 미디어 플레이어가 더 효과적으로 동작하고 사용자에게 가장 유연한 재생 경험을 제공할 수 있도록 할 수 있다. 예를 들어, 타임-시프트 버퍼가 오디오/비디오/자막 세그먼트들의 과거 5분을 포함한다면, 수신기는 MPD@timeShiftBufferDepth를 5분의 값으로 설정할 수 있다(예를 들어, 속성 값은 "PT5M"으로 설정될 수 있다).
일부 실시예들에서, 미디어 플레이어는 타임-시프트된 콘텐츠, 예를 들어, PVR 기능을 실행하는 것에 의해 나중 시간에 시청하기 위해 레코딩되고 저장된 콘텐츠를 재생하기 위해 사용될 수 있다. 방송사에 의해 송신되는 MPD는 "동적" 다양성을 가질 수 있다(MPD@type, MPEG DASH Standard, Section 5.3.9.5.3 Media Segment information 참조). 일부 실시예들에서, DASH 콘텐츠가 저장되면, 저장된 미디어 세그먼트 파일들을 참조하기 위해 "정적" MPD가 생성될 수 있다. 정적 MPD들은 주문형 비디오 콘텐츠에 적합하고, 콘텐츠는 저장된 후에 온다. 타이틀, 등급, 시놉시스, 오리지널 방송 날짜/시간 등과 같은 프로그램 콘텐츠를 기술하는 정보가 별개의 매니페스트 파일에 저장될 수 있다.
일반적으로, 사용자의 디바이스 내의 DASH 클라이언트가 DASH 서버에 액세스하여 MPD에 액세스하고 이어서 참조된 미디어 세그먼트 파일들에 액세스한다. 이 액세스는 HTTP 프로토콜들을 사용하여 인터넷을 통해 이루어진다. 그러나, DASH가 ATSC 3.0 수신기에서 구현될 때, 콘텐츠가 로컬로 저장되고 로컬로 소비되기 때문에, 전체 HTTP 스택이 사용될 필요가 없다. 예를 들어, HTTP GET 동작들은 ATSC 3.0 수신기 애플리케이션을 호스팅하는 OS에서 지원되는 파일 시스템을 통해 파일들의 페치들로 대체될 수 있다.
일부 실시예들에 따르면, 미디어 렌더링을 위해 미디어 재생기를 이용하는 ATSC 3.0 수신기 구현에서, 미디어 재생기의 MPEG DASH의 네이티브 지원이 이용된다. DASH 클라이언트로서 동작하는 임의의 디바이스에서와 같이, DASH MPD는 그것이 렌더링할 어느 미디어 세그먼트 파일들(예를 들어, 프로그램의 어떤 부분)의 선택을 구동한다. DASH 클라이언트가, MPD 내의 다른 파라미터들과 함께, 방송 MPD에 포함된 AST(예를 들어, MPD@availabilityStartTime)를 처리하고 시각에 기초하여, 라이브 TV 방송을 렌더링하도록 요청받을 때, DASH 클라이언트는 어느 미디어 세그먼트가 가장 최신의(즉, 가장 최근에 송신된) 것인지를 계산하고 재생의 시작을 위해 그것을 이용할 수 있다. 이 프로세스는 수신기가 채널 변경 후에 방송 서비스를 처음 만날 때 발생할 수 있다.
일부 실시예들에 따르면, 수신기가 DASH 클라이언트를 이용하여 타임-시프트된 콘텐츠를 렌더링하도록 구성되는 경우, 수신기는 실제 시간보다 미리 결정된 양만큼 이른 시각을 나타내도록 AST를 조정할 수 있다. 이 조정에 기초하여, DASH 클라이언트는 이어서 버퍼로부터 더 오래된 미디어 세그먼트 파일들을 요청할 것이다.
도 2에 도시된 바와 같이, 일부 실시예들에서, 수신 장치(120) 내의 튜너/복조기(202)에 의해 제공되는 ALP 패킷들이, 스토리지 디바이스(280) 내에 구현될 수 있는, 일시 정지 버퍼 내에 직접 저장될 수 있다. 추가 실시예들에서, 일시 정지 버퍼는 작업 메모리(240)(예를 들어, RAM) 내에 구현될 수 있다.
일부 실시예들에서, 방송사가 ATSC 3.0 표준들(A/330, A/331, A/337, A/344 등)에 정의된 IP 프로토콜들을 사용하고 있는 ATSC 3.0 방송 송출에 대해, ALP 패킷들은 몇몇 시그널링 패킷들이 산재되어 있는 압축된 IP 패킷들의 조합이다. A/337 표준은 ATSC 표준: 애플리케이션 시그널링(2018년 1월 2일자의 문서 A/337:2018)(이하, "A/337 표준")에서 정의되고, 그 전체 내용은 인용에 의해 포함된다. IP 패킷들의 압축은 주로 방송 내에서 멀티캐스트 UDP/IP 패킷들의 전달의 효율을 최적화하기 위해 이용되는 헤더 압축이다.
A/330 표준에 정의된 ALP 프로토콜을 처리하기 위해, 예를 들어, ALP 패킷들을 압축해제하여 IP 패킷들을 산출하기 위해 특정 양의 CPU 오버헤드가 사용된다. 일부 실시예들에서, 사용자가 방송 스트림에 포함된 (아마도 많은) 서비스들 중 하나의 시청을 요청할 때마다, 요청된 서비스와 연관된 ALP 패킷들은 실시간으로 처리된다. 그러나, 선택된 서비스 이외의 서비스들을 반송하는 ALP 패킷들은 실시간으로 처리될 필요가 없고, 일시 정지 버퍼에 직접 저장될 수 있다.
본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 주어진 IP 소스/목적지 어드레스 및 포트 번호에 대응하는 UDP/IP 패킷들은 A/321 표준 및 A/322 표준에 특정된 바와 같이 특정 PLP(Physical Layer Pipe)에서 송신될 수 있다. 일부 실시예들에서, 주어진 방송 송출은 최대 64개의 상이한 PLP들을 가질 수 있다. 사용자가 서비스 A를 시청하기로 선택하고, 서비스 A에 대한 모든 컴포넌트들 및 시그널링(SLS)이 PLP #1에서 반송된다면, 일부 실시예들에서, PLP #1로부터의 모든 ALP 패킷들은 IP 패킷들로 처리되어 서비스 A의 실시간 시청이 달성될 수 있다. PLP #1 이외의 PLP들로부터의 ALP 패킷들은 IP 패킷들로 처리되지 않고 일시 정지 버퍼에 저장될 수 있다.
이어서, 사용자가 서비스 B로 스위칭하기를 원하고, 그 서비스에 대한 ALP 패킷들이 일시 정지 버퍼 내에 있다면, 수신기는 일시 정지 버퍼로부터 적절한 ALP 패킷들 및/또는 파일들을 검색하는 것에 의해 서비스 B를 재생할 수 있고, 심지어 사용자가 서비스 A를 시청하고 있는 동안에 놓친 프로그래밍의 일부를 보기 위해 사용자가 되감기하는 것을 허용할 수 있다. 서비스 B에 대응하는 적절한 ALP 패킷들을 일시 정지 버퍼로부터 검색한 후에, 수신기는, 서비스 B가 라이브 방송 시청을 위해 초기에 선택된 것과 동일한 방식으로 검색된 ALP 패킷들을 후속해서 처리할 수 있다.
임의의 주어진 서비스와 연관된 모든 ALP(및 IP) 패킷이 버퍼링되기 때문에, 라이브 TV를 시청할 때, 사용자는, 다수의 언어 선택으로 폐쇄 자막을 켜거나, 이용가능하다면 상이한 유형의 언어의 대체 오디오 트랙을 켜기로 선택하는 것을 포함한, 프로그래밍을 시청하고 즐기기 위한 상이한 옵션들을 선택할 수 있다. 방송 스트림에 포함된 임의의 주어진 서비스와 연관된 모든 ALP 패킷들이 일시 정지 버퍼에 저장되기 때문에, 사용자가 타임-시프트된 콘텐츠를 시청할 때 이들 동일한 선택들이 사용자에게 이용가능하다.
도 6은 전자 프로그래밍 가이드(602)가 또한 디스플레이되는 예시적인 디스플레이(600)를 예시한다. 전자 프로그래밍 가이드(602)에 예시된 바와 같이, 방송사는 3개의 채널 A_1, A_2, 및 A_3을 가질 수 있다. 채널 A_1은 7:00 p.m.부터 9:00 p.m.까지 이용가능한 프로그램 1을 가질 수 있다. 채널 A_2는 7:00 p.m.부터 8:00 p.m.까지 이용가능한 프로그램 2 및 8:00 p.m.부터 9:00 p.m.까지 이용가능한 프로그램 3을 가질 수 있다. 채널 A_3은 7:00 p.m.부터 7:30 p.m.까지 이용가능한 프로그램 4, 오후 7:30 p.m.부터 8 p.m.까지 이용가능한 프로그램 5, 8 p.m.부터 9 p.m.까지 이용가능한 프로그램 6을 가질 수 있다.
도 7은 도 6에 예시된 이용가능한 프로그램에 기초한 예시적인 시청 시나리오를 예시한다. 예를 들어, 도 7의 (a)에서, 사용자는 채널 A_1을 선택하고 7 p.m.에 프로그램 1을 시청하기 시작했을 수 있다. 도 7의 (b)에서, 8 p.m.에, 사용자는 8 p.m. 전의 시간(예를 들어, 대략 7:15 p.m.)에 시작하는 프로그램 1의 재생을 요청한다. 프로그램 1과 연관된 콘텐츠가 일시 정지 버퍼에 저장되기 때문에, 재생 시간 7:15 p.m.에 대응하는 프로그램 1의 오디오 및 비디오 콘텐츠뿐만 아니라, 사용자가 7:15 p.m.에 프로그램 1을 시청하고 있었다면 이용가능했을 언어 선호 또는 시야각 선호와 같은 임의의 콘텐츠 서비스 특징들이 이용가능하다. 도 7의 (c)는 8:00 p.m.에, 사용자가 프로그램 1의 재생을 중지하고 채널 A_2에 의해 제공되는 프로그램 2의 시청을 선택할 수 있는 다른 시나리오를 예시한다. 더욱이, 사용자는 8:00 p.m. 전에(예를 들어, 7:15 p.m.) 이용가능했던 프로그램 2의 콘텐츠의 재생을 요청할 수 있다. 프로그램 1이 사용자 1에 의해 선택되었을 때 프로그램 2가 방송 스트림에서 다운로드되었을 것이기 때문에, 재생 시간 7:15 p.m.에 대응하는 프로그램 2의 오디오 및 비디오 콘텐츠뿐만 아니라, 사용자가 7:15 p.m.에 프로그램 2를 라이브로 시청하고 있었다면 이용가능했을 임의의 콘텐츠 서비스 특징들(예를 들어, 언어 선호, 시야각 등)이 이용가능하다.
위에 논의된 바와 같이, 일부 실시예들에 따르면, 수신 장치 런타임 환경은 적어도 2개의 상이한 애플리케이션: (1) 방송사 애플리케이션(예를 들어, 방송사 HTML5 애플리케이션) 및 (2) 네이티브 방송사 애플리케이션(예를 들어, 수신기가 안드로이드 플랫폼 상에 구축될 때 안드로이드 애플리케이션)을 실행하도록 구성된다.
일부 실시예들에서, 방송사 애플리케이션은 선택된 서비스를 포함하는 오디오/비디오/자막 콘텐츠와 함께 송신된다. 방송사 애플리케이션은, A/337 표준에 정의된 HELD(즉, HTML Entry pages Location Description의 두문자어)라 불리는 SLS 테이블에 의해 참조되는 파일들을 포함할 수 있다.
방송사 애플리케이션은, 실행될 때, 프로그램 콘텐츠와 동기화되는 인터랙티브 경험을 제공할 수 있다. 예를 들어, 게임 쇼와의 인터랙티브 경험의 경우, 방송사 애플리케이션은 사용자가 프로그램 동안의 한 시점에서 물은 퀴즈 질문에 대한 답변을 추측하게 할 수 있다. 이 예에서, 방송사 애플리케이션은 적절한 순간에 "예 또는 아니오?" 대화를 디스플레이하고 결과의 나중의 검토를 위해 임의의 답변을 레코딩할 수 있다.
일부 실시예들에 따르면, 방송사 애플리케이션은 이벤트에 응답하는 것에 의해 이벤트에 대한(예를 들어, 게임 쇼 예에서의 대화에 대한 것과 같은) 적절한 타이밍을 결정한다(A/344 Standard, Section 6.3.2 Broadcaster Application Events [Static / Dynamic] 참조). 이벤트들은 "동적(dynamic)" 또는 "정적(static)"일 수 있다.
일부 실시예들에서, 이벤트가 동적 이벤트일 때, 방송사는 'emsg'(이벤트 메시지) 박스를 표현의 미디어 세그먼트 파일들 중 하나에 임베드하여 'emsg'를 만나고 재생의 적절한 시점에서 처리되게 한다. 표현은 전달 포맷의 그리고 디스크립티브 메타데이터와 연관된 하나 이상의 미디어 스트림의 컬렉션 및 캡슐화일 수 있다. 예를 들어, 표현은, 오디오 스트림들(예를 들어, 언어당 하나의 표현), 또는 하나 이상의 비디오 트랙, 또는 자막 트랙일 수 있다. 수신 장치는, 수신 장치가 방송사 애플리케이션(A/344 Standard Section 9.5.3 참조)에 의해 등록된 이벤트의 유형에 대응하는 스트림 내의 'emsg' 박스를 만날 때 방송사 애플리케이션에 Event Stream Event WebSocket 메시지(A/344 Standard Section 9.5 참조)를 송신하는 것에 의해 동적 이벤트 프로세스를 처리할 수 있다. 해당 메시지는, 방송사 애플리케이션이 특정 대화 상자를 디스플레이하기 위해 알 필요가 있는 정보를 포함할 수 있다. 예를 들어, 콘텐츠의 재생의 특정한 시점에서, 방송사 애플리케이션이 인터랙티브 정보(예를 들어, 선택가능한 아이콘)를 사용자에게 디스플레이하게 하는 'emsg'를 만날 수 있다.
정적 이벤트의 경우, 일부 실시예들에서, 방송사 애플리케이션은 재생 동안에 트릭 플레이 모드들(예를 들어, 일시 정지, 빨리 감기, 되감기 등)이 발생할 수 있기 때문에 재생의 타임라인의 어디에서 사용자가 현재 시청하고 있는지를 알 필요가 있다. 정적 이벤트를 알리기 위해, 예를 들어, MPD는 주어진 이벤트가 발생할 MPD 기간의 컨텍스트 내에서 타이밍을 식별하는 EventStream 요소를 포함한다. ISO/IEC 23009-1 clause 5.10.2 "MPD Events"를 참조한다.
정적 이벤트들은 수신 장치가 주어진 이벤트가 발생해야 하는 미디어 내의 시간을 아는 경우에 처리될 수 있고, 따라서 수신 장치는 사용자가 콘텐츠를 재생할 때 사실상 그 자신을 미디어 타임라인에 동기화하고, 재생의 적절한 시점이 발생할 때 인터랙티비티를 수행할 수 있다. 예를 들어, ATSC 3.0 런타임 애플리케이션 환경은 A/344 Standard, Section 9.13 RMP, Content Synchronization APIs에 정의된 것들과 같은 본 기술분야의 통상의 기술자에게 알려진 WebSocket API들에 의해 애플리케이션/콘텐츠 재생 동기화를 지원할 수 있다. 방송사 애플리케이션이 프레젠테이션되고 있는 콘텐츠의 현재 프레젠테이션 시간을 알 필요가 있을 때, Content Synchronization API가 기동되어 방송사 애플리케이션이 프레젠테이션된 콘텐츠에 동기화된 보조 콘텐츠를 프레젠테이션(예를 들어, 프로그램에서 미리 결정된 시간에서의 그래픽 오버레이의 디스플레이)할 수 있게 할 수 있다.
일부 실시예들에서, 사용자가 재생 시에 임의의 트릭 플레이 조작을 수행할 때, 방송사 애플리케이션은 RMP Media Time Change 이벤트 통보를 가입하는 것에 의해 이 트릭 플레이 조작을 통보받을 수 있다(A/344 Standard, Section 9.6.12, Subscribe RMP Media Time Change Notification API 참조). 따라서, 방송사 애플리케이션이 트릭 플레이 조작을 통보받게 유지하는 것에 의해, 방송사 애플리케이션은 일시 정지 버퍼로부터 재생 중인 콘텐츠에 동기화된 콘텐츠를 프레젠테이션할 수 있다.
애플리케이션과 콘텐츠의 재생 간의 시간 동기화를 확립하기 위해 WebSocket API가 정의되는 방송사 애플리케이션과는 달리, 네이티브 방송사 애플리케이션은 이들 애플리케이션이 수신 장치와 통신하는 것을 허용하는 표준화된 방법을 가지고 있지 않다. 그 전체 내용이 본 명세서에 인용에 의해 포함되는, [날짜 삽입]에 출원된, 발명의 명칭이 "Broadcaster Application Remote Control Key Handling"인 출원, 미국 특허 출원 번호[출원 번호 삽입]는, 제조사가 방송사의 네이티브 애플리케이션과 방송사 애플리케이션 간의 범용 통신 경로를 제공하는 전용 API를 개시한다. 일부 실시예들에 따르면, 방송사 애플리케이션은 위에 논의된 바와 같이 일시 정지 버퍼로부터 재생되는 콘텐츠에 동기화될 수 있으므로, 방송사 애플리케이션은 이 통신 경로를 이용하여, 일시 정지 버퍼로부터 재생되는 콘텐츠의 타임라인 및 콘텐츠와 상호작용하는 사용자에 의해 야기될 타임라인에 대한 임의의 조정들(예를 들어, 빨리 감기, 되감기, 일시 정지)을 네이티브 방송사 애플리케이션에 통보할 수 있다.
일부 실시예들에 따르면, 방송사 서비스(예를 들어, ATSC 3.0 서비스)는, 사용자가 프로그램이 보기를 원할 시청 시점을 선택하는 것을 허용하는 다수의 비디오 트랙과 함께 방송될 수 있다. 예를 들어, 자동차 경주는 상이한 자동차들의 조종석들 내로부터의 뷰들을 제공할 수 있다. 주어진 시청자가 주어진 시간에 볼 비디오 뷰의 선택은 그 시청자가 방송사 애플리케이션과 상호작용하기 때문에 이루어질 것으로 예상된다. 방송사 애플리케이션은 사용자가 뷰의 선택을 행하는 것을 허용하는 사용자 인터페이스를 제공할 수 있다.
도 8은 콘텐츠(800)뿐만 아니라 이용가능한 콘텐츠 서비스 특징들의 예시적인 디스플레이를 예시한다. 예를 들어, 콘텐츠 서비스 특징들(800a 내지 800c)은 각각 뷰 1 내지 뷰 3의 상이한 시청 선호들의 옵션들을 제공한다. 더욱이, 콘텐츠 서비스 특징들(800d 내지 800f)은 각각 영어, 스페인어, 프랑스어와 같은 이용가능한 언어 선호들을 예시한다. 따라서, 콘텐츠 서비스 특징들(800a 내지 800f)은 디스플레이(800)에 예시된 콘텐츠의 라이브 방송 동안 이용가능할 수 있다. 추가적으로, 이들 콘텐츠 서비스 특징들은 또한 사용자가 콘텐츠를 라이브로 시청하고 있는 것처럼 콘텐츠의 타임-시프트된 재생 동안 이용가능할 수 있다. 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 본 실시예들은 도 8에 예시된 콘텐츠 서비스 특징들로 제한되지 않고, 본 기술분야의 통상의 기술자에게 알려진 임의의 콘텐츠 서비스 특징을 포함할 수 있다.
따라서, 타임-시프트된 콘텐츠에 모든 가능한 비디오 트랙을 포함시키는 특징을 포함하는 현재 개시된 실시예들은 사용자에게 라이브 방송 동안 이용가능했을 시청 특징들을 선택하는 상당히 유리한 특징들을 제공한다. 더욱이, 사용자는 동일한 프로그램 또는 프로그램의 부분을 여러 번 재생하고 상이한 시청 시에 상이한 비디오 뷰들을 선택할 수 있다.
일부 실시예들에 따르면, 수신 장치는 방송사에 의해 참조되거나 사용되는 클록에 기초하여 운영 체제 클록을 조정할 수 있다. 이와 관련하여, 수신 장치는 다음과 같은 표준 시스템 호출을 사용하여 현재 시각을 획득할 수 있다:
import java.util.Calendar
Calendar rightNow = Calendar.getInstance().
그러나, 이러한 표준 시스템 호출은 작은 양 또는 많은 양만큼 오차가 있는 현재 시간에 대한 값을 산출할 수 있다. 수신 장치에서의 현재 시각 클록과 방송사에서의 클록 간의 임의의 불일치는 서비스의 취득에서 문제들을 야기할 수 있다. 따라서, 수신 장치에서 부정확한 시각 클록을 갖는 것으로부터 기인하는 상당한 단점들을 완화하고 제거하기 위해 수신 장치 내에서 정확한 클록을 획득하는 것에 대한 개선들이 필요하다.
일부 실시예들에서, 수신 장치에 의해 실행되는 텔레비전 수신기 애플리케이션은, AST 값 및 수신된 미디어 세그먼트들 자체의 타이밍으로부터, 서비스 취득 프로세스를 관리하기 위해 사용될 시각 클록을 도출한다. 방송사들이 GPS 시스템을 통해 프로그램들의 타이밍을 동기화할 것으로 예상되기 때문에, 방송사에 의해 관측되는 클록은 텔레비전 수신 장치에서의 클록보다 더 정확한 것으로 간주된다. 예를 들어, AST가 방금 수신된 주어진 미디어 세그먼트가 시각에 대한 방송사의 이해에 기초하여 시간 X에서 이용가능할 것이라는 것을 지시하면, 대응하는 시스템 시간은, 일부 실시예들에서, 다음과 같이 도출된다:
Wall Clock Time = OS_clock + (signaled_AST - observed_AST)
여기서
(a) Wall Clock Time은 텔레비전 수신기 애플리케이션이 시각을 수반하는 계산들에서 사용하는 시간이고;
(b) OS_clock은 운영 체제에 의해 보고된 시각이고;
(c) signaled_AST는 방송 MPD에서 시그널링되는 availabilityStartTime이고;
(d) observed_AST는 OS_clock이 정확한 경우에 수신되었을 것으로 예상된 때에 대해 주어진 미디어 세그먼트가 수신된 때의 관측에 기초하여 수신기가 계산한 AST이다(예를 들어, observed_AST = signaled_AST + (미디어 도착 시간 - 예상 미디어 도착 시간).
위의 예시적인 수학식에 따르면, 관측된 AST가 시그널링된 것과 동일하다면, OS_clock이 정확하고, 조정이 행해질 필요가 없다. 그러나, 관측된 AST가 시그널링된 AST로부터 전진된 시간(즉, 그에 대해 미래에)을 지시한다면, 미디어 세그먼트들은 OS_clock이 정확한 경우에 예상되는 것보다 더 빨리 도착하고 있다. 따라서, 이 시나리오에서, Wall Clock Time은 OS_clock에 대한 불일치에 대응하는 양만큼 감소된다.
관측된 AST가 시그널링된 AST로부터 지연된 시간(즉, 그에 대해 과거에)을 지시한다면, 미디어 세그먼트들은 OS_clock가 정확한 경우에 예상되는 것보다 더 늦게 도착하였다. 따라서, 이 시나리오에서, Wall Clock Time은 OS_clock에 대한 불일치에 대응하는 양으로 설정된다. 초기 시간(예를 들어, 수신 장치의 파워 업 시에, 시간 = 0) 동안, Wall Clock Time은 OS_clock으로 설정될 수 있다. Wall Clock Time이 조정되는 동안, OS_clock은 조정되지 않는다.
이 방법에 기초하여, 방송사에 의해 이용되는 정확한 시각에 대한 OS_clock의 큰 오차도 수용된다. 도 9는 미디어 세그먼트들이 도착할 것으로 예상되는 예상 시간, 및 미디어 세그먼트들의 실제 도착 시간에 대한 예시적인 시나리오들을 예시한다. 예를 들어, 도 9의 (a)는 OS_clock이 20초 느린 시나리오를 예시한다. 이러한 상황에서, 미디어 세그먼트들은 그것들이 예상되었을 때보다 20초 앞서 들어오고 "이용가능한" 것으로 관측될 것이다. 도 9의 (a)에 예시된 바와 같이, 미디어 세그먼트들은 7:00에 도착할 것으로 예상되지만, 미디어 세그먼트들은 그것들이 도착할 것으로 예상되는 때(예를 들어, 7:00:00)보다 20초 더 일찍(예를 들어, 6:59:40) 도착한다. 따라서, 관측된 AST는 시그널링된 AST보다 20초 더 작을 것이다(예를 들어, signaled_AST - observed_AST) = 20초). 따라서, 정확한 Wall Clock Time를 산출하기 위해 OS_clock에 20초를 더하는 것에 의해 20초의 조정이 이루어질 것이다.
도 9의 (b)는 OS_clock이 20초 너무 빠른 예를 예시한다. 도 9(b)에 예시된 바와 같이, 미디어 세그먼트들은 세그먼트들이 도착할 것으로 예상되었을 때(예를 들어, 7:00:00)와 비교하여 20초 늦게(예를 들어, 7:00:20) 들어오고 "이용가능" 한 것으로 관측된다. 따라서, 관측된 AST는 시그널링된 AST보다 20초 더 클 것이다(예를 들어, signaled_AST - observed_AST = -20초). 따라서, -20초의 조정이 이루어지고, 그에 의해 OS_clock으로부터 20초를 감산하여 정확한 Wall Clock Time을 산출한다.
도 10은 수신 장치(120)에 의해 수행되는 프로세스의 실시예를 예시한다. 프로세스는 일반적으로 단계 S1000에서 시작되고 여기서 사용자는 방송 서비스를 선택한다(예를 들어, EPG를 보는 프로그램의 선택). 프로세스는 단계 S1002로 진행하고 여기서 수신 장치는 선택된 방송 서비스를 포함하는 방송 스트림(예를 들어, 도 4에 예시된 방송 스트림)을 수신한다. 프로세스는 단계 S1004로 진행하고 여기서 수신 장치는 ALP 패킷들을 일시 정지 버퍼(예를 들어, 스토리지(280))에 저장한다.
프로세스는 단계 S1006으로 진행하고 여기서 선택된 방송 서비스에 대응하는 ALP 패킷들 및 파일들이 처리되는데 예컨대 1) ALP 패킷들을 IP 패킷들로 변환하는 것; 2) 방송 신호에서 멀티플렉싱된 각각의 서비스에 대한 LLS(Lower Layer Signaling) 및 SLS(Service Level Signaling) 파일들을 처리하여 방송 스트림 내의 각각의 파일 객체에 관한 정보를 발견하는 것; 및 3) 각각의 파일 객체를 검색하고 이를 파일 시스템에 저장하는 것이다. 프로세스는 단계 S1008로 진행하고 여기서 처리된 ALP 패킷들로부터 생성된 파일들이 일시 정지 버퍼에 저장되어 있는지가 결정된다. 처리된 ALP 패킷들로부터 생성된 파일들이 일시 정지 버퍼에 저장되어 있지 않으면, 프로세스는 단계 S1010으로 진행하고 여기서 생성된 파일들이 일시 정지 버퍼에 저장된다. 처리된 ALP 패킷들로부터 생성된 파일들이 일시 정지 버퍼에 저장되어 있다면, 프로세스는 단계 S1012로 진행하고 여기서 오디오 및 비디오 콘텐츠가 디스플레이에 출력되고, 언어 선호들과 같은 콘텐츠 서비스 특징들이 이용가능하게 되고, 여기서 사용자는 버튼을 눌러 이들 콘텐츠 서비스 특징 중 하나를 활성화할 수 있다.
프로세스는 단계 S1014로 진행하고 여기서 타임-시프트 재생에 대한 요청이 수신되는지가 결정된다. 예를 들어, 타임-시프트 재생에 대한 요청은, 사용자가 현재 시청하고 있는 콘텐츠를 되감기 또는 빨리 감기하기 위한 요청, 또는 선택된 방송 서비스로부터 다른 방송 서비스로 변경하기 위한 요청에 대응할 수 있고, 여기서, 사용자는 사용자가 선택된 방송 서비스를 현재 시청하고 있는 시점에 대해 다른 방송 서비스를 되감기 또는 빨리 감기할 수 있다.
타임-시프트 재생에 대한 요청이 수신되지 않으면, 프로세스는 단계 S1012에 돌아가고 여기서 사용자는 콘텐츠의 재생을 계속 시청할 수 있다. 타임 시프트 재생에 대한 요청이 수신되면, 프로세스는 단계 S1016으로 진행하고, 여기서 요청된 콘텐츠가 일시 정지 버퍼에 있는지가 결정된다. 콘텐츠가 일시 정지 버퍼에 기입되거나, 파일들이 삭제될 때, 수신기는 프로그램의 모든 요소들(예를 들어, 비디오, 오디오, 자막들 및 인터랙티브 콘텐츠)을 고려하여, 버퍼에서 이용가능한 재생 시간의 지속기간을 계속 추적할 수 있다. 이어서, 이것은 요청된 콘텐츠가 일시 정지 버퍼에서 이용가능한지를 결정하기 위해 사용될 수 있다. . 요청된 콘텐츠가 일시 정지 버퍼 내에 있다면, 프로세스는 단계 S1018로 진행하고 여기서 요청된 콘텐츠와 연관된 ALP 패킷들 및 파일들이 일시 정지 버퍼로부터 검색된다. 프로세스는 단계 S1018에서 단계 S1006으로 진행하여 타임-시프트 재생을 위한 요청과 연관된 요청된 콘텐츠에 대응하는 검색된 ALP 패킷들 및 파일들을 처리한다.
요청된 콘텐츠가 일시 정지 버퍼 내에 없다면, 프로세스는 단계 S1016에서 단계 S1020으로 진행하여 사용자가 콘텐츠를 역방향으로 타임-시프팅하고 있는지(예를 들어, 사용자가 역방향 버튼을 누르는지)를 결정한다. 사용자가 콘텐츠를 역방향으로 타임-시프팅하고 있다면, 프로세스는 단계 S1022로 진행하고 여기서 일시 정지 버퍼 내의 가장 가까운 이용가능한 콘텐츠가 선택된다. 예를 들어, 이러한 시나리오는 사용자가 콘텐츠를 5분만큼 역방향으로 이동시키기를 원하지만, 일시 정지 버퍼에서 3분의 레코딩들만이 이용가능할 때 발생할 수 있다. 이러한 상황이 발생할 때, 원하는 타임-시프트된 콘텐츠에 가장 가까운 이용가능한 콘텐츠가 사용자에게 제공된다. 프로세서는 단계 S1022로부터 단계 S1014로 돌아간다.
단계 S1020으로 돌아가서, 사용자가 콘텐츠를 역방향으로 타임-시프팅하고 있지 않다면, 사용자는 콘텐츠를 순방향으로 타임-시프팅하고 있다(예를 들어, 사용자가 빨리 감기 버튼을 누른다). 따라서, 프로세스는 단계 S1020으로부터 단계 S1002로 돌아가서 가장 새로운 이용가능한 콘텐츠를 획득한다. 도 10에 예시된 프로세스는 사용자가 텔레비전 수신기 애플리케이션 또는 텔레비전 수신기 장치를 셧오프하는 임의의 시점에 종료될 수 있다.
도 11은 수신 장치에 의해 수행되는 프로세스의 실시예를 예시한다. 프로세스는 일반적으로 단계 S1100에서 시작되고 여기서 운영 체제 클록 시간(예를 들어, OS_clock)이 결정된다. 프로세스는 단계 S1102로 진행하여 수신된 방송 스트림(예를 들어, signaled_AST)으로부터 방송사 서비스의 텔레비전 콘텐츠의 이용가능성 시작 시간을 결정한다. 이 이용가능성 시작 시간은 방송 스트림에 포함된 MPD 파일로부터 검색될 수 있다. 프로세스는 단계 S1104로 진행하여 이용가능성 시작 시간에 기초하여 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정한다. 미디어 세그먼트들의 예상 수신 시간은 MPD 파일에 포함된 이용가능성 시작 시간에 기초하여 결정될 수 있다.
프로세스는 단계 S1106으로 진행하여 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정한다. 프로세스는 단계 S1108로 진행하여 이용가능성 시작 시간(예를 들어, signaled_AST)과, 미디어 세그먼트들의 수신 시간과 미디어 세그먼트들의 예상 수신 시간 간의 차이 간의 합계를 나타내는 관측된 AST를 결정한다(예를 들어, observed_AST = signaled_AST + (미디어 도착 시간 - 예상 미디어 도착 시간)). 프로세스는 단계 S1110으로 진행하여 관측된 AST에 따라 운영 체제 클록을 조정한다(예를 들어, Wall Clock Time = OS_clock + (signaled_AST - observed_AST)).
도 12는 수신 장치 및 서비스 배포 시스템 중 어느 하나 또는 이들의 조합의 기능들을 수행하도록 구성될 수 있는 컴퓨터의 하드웨어 구성의 예를 도시하는 블록도이다. 예를 들어, 일 실시예에서, 컴퓨터는 수신 장치(20) 및/또는 서비스 제공자(102)에 대해 본 명세서에 설명되는 기능들 중 하나 또는 이들의 조합을 수행하도록 구성된다.
도 12에 예시된 바와 같이 컴퓨터는 하나 이상의 버스(1208)를 통해 서로 상호연결되는 CPU(1202), ROM(read only memory)(1204), 및 RAM(random access memory)(1206)을 포함한다. 하나 이상의 버스(1208)는 입력-출력 인터페이스(1210)와 추가로 연결된다. 입력-출력 인터페이스(1210)는 키보드, 마우스, 마이크로폰, 리모트 컨트롤러 등에 의해 형성되는 입력 부분(1212)과 연결된다. 입력-출력 인터페이스(1210)는 오디오 인터페이스, 비디오 인터페이스, 디스플레이, 스피커 등에 의해 형성되는 출력 부분(1214); 하드 디스크, 비-휘발성 메모리 또는 다른 비-일시적 컴퓨터 판독가능 스토리지 매체에 의해 형성된 레코딩 부분(1216); 네트워크 인터페이스, 모뎀, USB 인터페이스, 파이어 와이어 인터페이스 등에 의해 형성된 통신 부분(1218); 및 자기 디스크, 광 디스크, 광자기 디스크, 반도체 메모리 등과 같은 이동식 매체(1222)를 구동하기 위한 드라이브(1220)에도 연결된다.
일 실시예에 따르면, CPU(1202)는 레코딩 부분(1216)에 저장된 프로그램을 입력-출력 인터페이스(1210) 및 버스(1208)를 통해 RAM(1206)에 로딩하고, 이어서 수신 장치(120) 및/또는 서비스 제공자(102)에 대해 본 명세서에 설명된 기능들 중 하나 또는 이들의 조합의 기능성을 제공하도록 구성되는 프로그램을 실행한다.
도 2 및 도 12에 도시된 구조 예들 중 어느 하나에 의해 예시된, 위의 하드웨어 설명은, 예를 들어 도 10 및 도 11을 참조하여 위에 설명된 알고리즘을 수행하도록 프로그래밍되거나 구성되는 특수화된 대응하는 구조를 구성하거나 포함한다. 예를 들어, 도 10 및 도 11에 도시된 알고리즘들 중 어느 하나 또는 이들의 조합은 도 2에 도시된 단일 디바이스에 포함된 회로에 의해 완전히 수행될 수 있다.
분명히, 위의 교시 내용들에 비추어 다수의 수정 및 변형이 가능하다. 따라서, 첨부된 청구항들의 범위 내에서, 본 개시내용은 본 명세서에 구체적으로 설명된 것과 다르게 실시될 수 있다는 것을 이해해야 한다.
따라서, 전술한 논의는 본 개시내용의 단지 예시적인 실시예들을 개시하고 설명한다. 본 기술분야의 통상의 기술자에 의해 이해되는 바와 같이, 본 개시내용은 그 사상 또는 본질적인 특성들로부터 벗어나지 않고 다른 특정 형태들로 구현될 수 있다. 따라서, 본 개시내용은 본 개시내용뿐만 아니라 다른 청구항들의 범위에 대한 제한이 아니라, 예시적인 것으로 의도된다. 본 명세서에서의 교시 내용들의 임의의 용이하게 인식할 수 있는 변형들을 포함하는 개시내용은, 어떠한 발명 주제도 대중에게 헌정되지 않도록 전술한 청구항 용어의 범위를 부분적으로 정의한다.
본 개시내용의 실시예들은 다음과 같은 상당히 유리한 특징들을 포함한다:
(1) 상당한 양의 콘텐츠를 버퍼링하기에 충분한 용량을 갖는 이용가능한 스토리지.
(2) 일시 정지 버퍼로부터의 재생을 위해 튜너/복조기로부터 수신된 ALP 패킷들을 직접 버퍼링.
(3) 부과될 타임 시프트의 양은 제로(예를 들어, 라이브 TV 시청)로부터 일시 정지 버퍼 내의 이용가능한 메모리에 따른 임의의 원하는 양으로 조정 가능하다.
(4) 서비스로의 스위칭을 행한 후에 그러한 서비스 상에서 이전에 방송된 콘텐츠를 보기 위해 되감기하는 능력과 함께 동일 방송 스트림에서 반송되는 서비스에 대한 즉석 채널 변경을 제공하기 위해 일시 정지 버퍼 내에 다수의 TV 서비스를 레코딩하는 능력.
(5) 일시 정지 버퍼로부터의 콘텐츠를 재생할 때 트릭 플레이 재생(예를 들어, 빨리 감기, 빨리 되감기, 일시 정지 등)의 이용가능성.
(6) 콘텐츠가 라이브로 재생된 것처럼, 오디오 또는 자막들에 대한 언어의 선택 또는 타임-시프트된 재생 시 상이한 비디오 트랙과 같은 재생 옵션들(예를 들어, 콘텐츠 서비스 특징들)을 선택하는 능력.
(7) 타임-시프트된 콘텐츠와 상호작용하는 능력.
(8) 방송사들에 의해 이용되는 GPS-정확한 시간에 대한 운영 체제 시간의 정확성에서의 오차를 다루는 능력.
위의 개시내용은 또한 아래에 열거된 실시예들을 포함한다.
(1) 수신 장치로서, (i) 사용자에 의해 선택된 제1 방송사 서비스 및 (ii) 제2 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로; 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기; 상기 제1 및 제2 방송사 서비스들에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고, 상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고, 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하도록 구성된 처리 회로를 포함하는, 수신 장치.
(2) 특징 (1)에 따른 수신 장치로서, 상기 처리 회로는, 상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 상기 제2 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고, 상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고, 상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고, 타임-시프트 재생의 일부로서, 상기 제2 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하도록 추가로 구성된다.
(3) 특징 (2)에 따른 수신 장치로서, 상기 처리 회로는 상기 제2 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하도록 추가로 구성되고, 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 방송 스트림에 포함된다.
(4) 특징 (1) 내지 (3) 중 어느 하나에 따른 수신 장치로서, 상기 처리 회로는, 상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 상기 제1 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고, 상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고, 상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고, 타임-시프트 재생의 일부로서, 상기 제2 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하고, 상기 제1 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하도록 추가로 구성되고, 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 수신된 방송 스트림에 포함된다.
(5) 특징 (3) 또는 (4)에 따른 수신 장치로서, 상기 제1 방송사 서비스와 연관된 상기 적어도 하나의 콘텐츠 서비스는, 폐쇄 자막, 비-1차 언어 오디오, 비-1차 언어 자막, 및 대체 시야각으로 구성된 그룹으로부터 선택된다.
(6) 특징 (3) 내지 (5) 중 어느 하나에 따른 수신 장치로서, 상기 처리 회로는 상기 수신된 방송 스트림과 함께 제공되는 방송사 애플리케이션을 실행하도록 구성되고, 상기 방송사 애플리케이션은 상기 적어도 하나의 콘텐츠 서비스 특징을 포함하는 복수의 사용자 선택가능한 옵션을 디스플레이한다.
(7) 특징 (6)에 따른 수신 장치로서, 상기 방송사 애플리케이션은 상기 적어도 하나의 콘텐츠 서비스 특징을 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생과 동기화하도록 구성된다.
(8) 특징 (1) 내지 (7) 중 어느 하나에 따른 수신 장치로서, 상기 처리 회로는, 각각의 데이터 패킷의 처리로부터 생성된 각각의 파일이 상기 일시 정지 버퍼에 저장되어 있는지를 결정하고, 상기 생성된 파일들로부터의 파일이 상기 일시 정지 버퍼에 저장되어 있지 않다는 결정에 응답하여, 상기 파일을 상기 일시 정지 버퍼에 저장하고, 상기 생성된 파일들로부터의 파일이 상기 일시 정지 버퍼에 저장되어 있다는 결정에 응답하여, 상기 파일을 폐기하도록 추가로 구성된다.
(9) 특징 (1) 내지 (7) 중 어느 하나에 따른 수신 장치로서, 상기 수신된 방송 스트림에 포함된 각각의 방송사 서비스는 ATSC(Advanced Television Systems Committee) 서비스이고, 상기 복수의 데이터 패킷은 ATSC 링크 계층 프로토콜(ATSC Link-layer Protocol, ALP) 패킷들이다.
(10) 수신 장치로서, 사용자에 의해 선택된 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로; 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기; 및 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고, 상기 선택된 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고, 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하고, 상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고, 상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고, 상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고, 타임-시프트 재생의 일부로서, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하고, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징 - 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷에 포함됨 - 를 제공하도록 구성된 처리 회로를 추가로 포함하는, 수신 장치.
(11) 특징 (10)에 따른 수신 장치로서, 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷은 IP 패킷들 또는 ATSC(Advanced Television Systems Committee) 링크 계층 프로토콜(ALP) 패킷들이다.
(12) 특징 (10) 또는 (11)에 따른 수신 장치로서, 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷은 DASH(Dynamic Adaptive Streaming over HTTP) 콘텐츠 또는 MMT(MPEG Media Transport) 콘텐츠를 포함한다.
(13) 특징 (10) 내지 (12) 중 어느 하나에 따른 수신 장치로서, 상기 방송사 서비스와 연관된 상기 적어도 하나의 콘텐츠 서비스는, 폐쇄 자막, 비-1차 언어 오디오, 비-1차 언어 자막, 및 대체 시야각으로 구성된 그룹으로부터 선택된다.
(14) 수신 장치로서, 사용자에 의해 선택된 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로; 상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기; 운영 체제 클록 시간을 결정하고, 상기 데이터 패킷들을 처리하여 상기 방송사 서비스와 연관된 텔레비전 콘텐츠의 시그널링된 이용가능성 시작 시간(AST)을 결정하고, 상기 시그널링된 AST에 기초하여 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정하고, 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정하고, 상기 미디어 세그먼트들의 수신 시간과 상기 미디어 세그먼트들의 예상 수신 시간 간의 차이와 상기 시그널링된 AST의 합계를 나타내는 관측된 AST를 결정하고, 상기 관측된 AST에 따라 상기 운영 체제 클록 시간으로부터 오프셋된 재생 클록 시간을 결정하고, 상기 결정된 재생 클록 시간에 따라 상기 수신된 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 출력하도록 구성된 처리 회로를 포함하는, 수신 장치.
(15) 특징 (14)에 따른 수신 장치로서, 상기 재생 클록 시간은 상기 시그널링된 AST와 상기 관측된 AST 간의 차이를 상기 운영 체제 클록에 더하는 것에 의해 상기 운영 체제 클록으로부터 오프셋된다.
(16) 특징 (14) 또는 (15)에 따른 수신 장치로서, 상기 시그널링된 AST는 미디어 프레젠테이션 기술 파일에 포함된다.
(17) 특징 (14)에 따른 수신 장치로서, 상기 방송 스트림에 포함된 방송사 서비스는 ATSC(Advanced Television Systems Committee) 서비스이고, 상기 복수의 데이터 패킷은 ATSC 링크 계층 프로토콜(ALP) 패킷들이다.
(18) 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금, 사용자에 의해 선택된 제1 방송사 서비스 및 제2 방송사 서비스에 대응하는 복수의 데이터 패킷을 일시 정지 버퍼에 저장하는 단계 - 상기 제1 및 제2 방송사 서비스들은 상기 복수의 데이터 패킷으로 복조되는 방송 스트림에서 수신됨 -; 상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하는 단계; 및 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하는 단계를 포함하는 방법을 실행하게 한다.
(19) 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금, 복수의 데이터 패킷으로 복조되는 방송 스트림에서 수신된 사용자에 의해 방송사 서비스에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하는 단계; 상기 선택된 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하는 단계; 라이브 TV 방송의 일부로서, 제1 기간 동안 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하는 단계; 상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하는 단계; 상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하는 단계; 상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하는 단계; 타임-시프트 재생의 일부로서, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하는 단계; 및 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하는 단계 - 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷에 포함됨 - 를 포함하는 방법을 실행하게 한다.
(20) 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금, 수신된 방송 스트림으로부터 복조된 데이터 패킷들을 처리하여 상기 수신된 방송 스트림에 포함된 방송사 서비스와 연관된 텔레비전 콘텐츠의 시그널링된 이용가능성 시작 시간(AST)을 결정하는 단계; 상기 시그널링된 AST에 기초하여 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정하는 단계; 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정하는 단계; 상기 미디어 세그먼트들의 수신 시간과 상기 미디어 세그먼트들의 예상 수신 시간 간의 차이와 상기 시그널링된 AST의 합계를 나타내는 관측된 AST를 결정하는 단계; 상기 관측된 AST에 따라 상기 운영 체제 클록 시간으로부터 오프셋된 재생 클록 시간을 결정하는 단계; 및 상기 결정된 재생 클록 시간에 따라 상기 수신된 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 출력하는 단계를 포함하는 방법을 실행하게 한다.

Claims (20)

  1. 수신 장치로서,
    (i) 사용자에 의해 선택된 제1 방송사 서비스 및 (ii) 제2 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로;
    상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기; 및
    처리 회로를 포함하고, 상기 처리 회로는:
    상기 제1 및 제2 방송사 서비스들에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고,
    상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고,
    라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하도록 구성되는, 수신 장치.
  2. 제1항에 있어서,
    상기 처리 회로는:
    상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 상기 제2 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고,
    상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고,
    상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고,
    타임-시프트 재생의 일부로서, 상기 제2 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하도록 추가로 구성되는, 수신 장치.
  3. 제2항에 있어서,
    상기 처리 회로는 상기 제2 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하도록 추가로 구성되고, 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 방송 스트림에 포함되는, 수신 장치.
  4. 제1항에 있어서,
    상기 처리 회로는:
    상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 상기 제1 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고,
    상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고,
    상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고,
    타임-시프트 재생의 일부로서, 상기 제2 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하고,
    상기 제1 방송사 서비스에 대한 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하도록 추가로 구성되고, 상기 적어도 하나의 콘텐츠 서비스 특징은 상기 수신된 방송 스트림에 포함되는, 수신 장치.
  5. 제3항에 있어서,
    상기 제1 방송사 서비스와 연관된 상기 적어도 하나의 콘텐츠 서비스는, 폐쇄 자막, 비-1차 언어 오디오, 비-1차 언어 자막, 및 대체 시야각으로 구성된 그룹으로부터 선택되는, 수신 장치.
  6. 제3항에 있어서,
    상기 처리 회로는 상기 수신된 방송 스트림과 함께 제공되는 방송사 애플리케이션을 실행하도록 구성되고, 상기 방송사 애플리케이션은 상기 적어도 하나의 콘텐츠 서비스 특징을 포함하는 복수의 사용자 선택가능한 옵션을 디스플레이하는, 수신 장치.
  7. 제6항에 있어서,
    상기 방송사 애플리케이션은 상기 적어도 하나의 콘텐츠 서비스 특징을 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생과 동기화하도록 구성되는, 수신 장치.
  8. 제1항에 있어서,
    상기 처리 회로는, 각각의 데이터 패킷의 처리로부터 생성된 각각의 파일이 상기 일시 정지 버퍼에 저장되어 있는지를 결정하고,
    상기 생성된 파일들로부터의 파일이 상기 일시 정지 버퍼에 저장되어 있지 않다는 결정에 응답하여, 상기 파일을 상기 일시 정지 버퍼에 저장하고,
    상기 생성된 파일들로부터의 파일이 상기 일시 정지 버퍼에 저장되어 있다는 결정에 응답하여, 상기 파일을 폐기하도록 추가로 구성되는, 수신 장치.
  9. 제1항에 있어서,
    상기 수신된 방송 스트림에 포함된 각각의 방송사 서비스는 ATSC(Advanced Television Systems Committee) 서비스이고, 상기 복수의 데이터 패킷은 ATSC 링크 계층 프로토콜(ALP) 패킷들인, 수신 장치.
  10. 수신 장치로서,
    사용자에 의해 선택된 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로;
    상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기; 및
    처리 회로를 포함하고, 상기 처리 회로는:
    상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하고,
    상기 선택된 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하고,
    라이브 TV 방송의 일부로서, 제1 기간 동안 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하고,
    상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하고,
    상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하고,
    상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하고,
    타임-시프트 재생의 일부로서, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하고,
    상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하도록 구성되고,
    상기 적어도 하나의 콘텐츠 서비스 특징은 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷 내에 포함되는, 수신 장치.
  11. 제10항에 있어서,
    상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷은 IP 패킷들 또는 ATSC(Advanced Television Systems Committee) 링크 계층 프로토콜(ALP) 패킷들인, 수신 장치.
  12. 제10항에 있어서,
    상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷은 DASH(Dynamic Adaptive Streaming over HTTP) 콘텐츠 또는 MMT(MPEG Media Transport) 콘텐츠를 포함하는, 수신 장치.
  13. 제10항에 있어서,
    상기 방송사 서비스와 연관된 상기 적어도 하나의 콘텐츠 서비스는, 폐쇄 자막, 비-1차 언어 오디오, 비-1차 언어 자막, 및 대체 시야각으로 구성된 그룹으로부터 선택되는, 수신 장치.
  14. 수신 장치로서,
    사용자에 의해 선택된 방송사 서비스를 포함하는 방송 스트림을 수신하도록 구성된 수신기 회로;
    상기 방송 스트림을 복수의 데이터 패킷으로 복조하도록 구성된 복조기; 및
    처리 회로를 포함하고, 상기 처리 회로는:
    운영 체제 클록 시간을 결정하고,
    상기 데이터 패킷들을 처리하여 상기 방송사 서비스와 연관된 텔레비전 콘텐츠의 시그널링된 이용가능성 시작 시간(AST)을 결정하고,
    상기 시그널링된 AST에 기초하여 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정하고,
    상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정하고,
    상기 미디어 세그먼트들의 수신 시간과 상기 미디어 세그먼트들의 예상 수신 시간 간의 차이와 상기 시그널링된 AST의 합계를 나타내는 관측된 AST를 결정하고,
    상기 관측된 AST에 따라 상기 운영 체제 클록 시간으로부터 오프셋된 재생 클록 시간을 결정하고,
    상기 결정된 재생 클록 시간에 따라 상기 수신된 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 출력하도록 구성되는, 수신 장치.
  15. 제14항에 있어서,
    상기 재생 클록 시간은 상기 시그널링된 AST와 상기 관측된 AST 간의 차이를 상기 운영 체제 클록에 더하는 것에 의해 상기 운영 체제 클록으로부터 오프셋되는, 수신 장치.
  16. 제14항에 있어서,
    상기 시그널링된 AST는 미디어 프레젠테이션 기술 파일에 포함되는, 수신 장치.
  17. 제14항에 있어서,
    상기 방송 스트림에 포함된 방송사 서비스는 ATSC(Advanced Television Systems Committee) 서비스이고, 상기 복수의 데이터 패킷은 ATSC 링크 계층 프로토콜(ALP) 패킷들인, 수신 장치.
  18. 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    사용자에 의해 선택된 제1 방송사 서비스 및 제2 방송사 서비스에 대응하는 복수의 데이터 패킷을 일시 정지 버퍼에 저장하는 단계 - 상기 제1 및 제2 방송사 서비스들은 상기 복수의 데이터 패킷으로 복조되는 방송 스트림에서 수신됨 -;
    상기 선택된 제1 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하는 단계; 및
    라이브 TV 방송의 일부로서, 제1 기간 동안 상기 제1 방송사 서비스와 연관된 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하는 단계를 포함하는 방법을 실행하게 하는, 비-일시적 컴퓨터 판독가능 매체.
  19. 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    복수의 데이터 패킷으로 복조되는 방송 스트림에서 수신된 방송사 서비스에 대응하는 상기 복수의 데이터 패킷을 일시 정지 버퍼에 저장하는 단계;
    상기 선택된 방송사 서비스와 연관된 각각의 데이터 패킷을 처리하여 오디오 및 비디오 콘텐츠를 추출하는 단계;
    라이브 TV 방송의 일부로서, 제1 기간 동안 상기 추출된 오디오 및 비디오 콘텐츠를 상기 사용자에게 출력하는 단계;
    상기 제1 기간보다 늦은 제2 기간 동안, 상기 제1 기간과 상기 제2 기간 사이에 있는 중간 기간 동안 이용가능한 오디오 및 비디오 콘텐츠를 생성하기 위한 요청을 나타내는 사용자 입력을 수신하는 단계;
    상기 일시 정지 버퍼로부터, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠와 연관된 데이터 패킷들을 검색하는 단계;
    상기 일시 정지 버퍼로부터 검색된 각각의 데이터 패킷을 처리하여 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 추출하는 단계;
    타임-시프트 재생의 일부로서, 상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠를 출력하는 단계; 및
    상기 중간 기간 동안 이용가능한 상기 오디오 및 비디오 콘텐츠의 타임-시프트 재생 동안 적어도 하나의 콘텐츠 서비스 특징을 제공하는 단계를 포함하는 방법을 실행하게 하고,
    상기 적어도 하나의 콘텐츠 서비스 특징은 상기 일시 정지 버퍼에 저장되고 그로부터 검색되는 상기 복수의 데이터 패킷에 포함되는, 비-일시적 컴퓨터 판독가능 매체.
  20. 그 안에 저장된 명령어들을 포함하는 비-일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은, 수신 장치 내의 프로세서에 의해 실행될 때 상기 프로세서로 하여금,
    수신된 방송 스트림으로부터 복조된 데이터 패킷들을 처리하여 상기 수신된 방송 스트림에 포함된 방송사 서비스와 연관된 텔레비전 콘텐츠의 시그널링된 이용가능성 시작 시간(AST)을 결정하는 단계;
    상기 시그널링된 AST에 기초하여 상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 예상 수신 시간을 결정하는 단계;
    상기 텔레비전 콘텐츠에 대응하는 미디어 세그먼트들의 실제 수신 시간을 결정하는 단계;
    상기 미디어 세그먼트들의 수신 시간과 상기 미디어 세그먼트들의 예상 수신 시간 간의 차이와 상기 시그널링된 AST의 합계를 나타내는 관측된 AST를 결정하는 단계;
    상기 관측된 AST에 따라 상기 운영 체제 클록 시간으로부터 오프셋된 재생 클록 시간을 결정하는 단계; 및
    상기 결정된 재생 클록 시간에 따라 상기 수신된 방송사 서비스와 연관된 오디오 및 비디오 콘텐츠를 출력하는 단계를 포함하는 방법을 실행하게 하는, 비-일시적 컴퓨터 판독가능 매체.
KR1020217015312A 2018-11-23 2019-11-20 타임-시프트된 재생 KR102523444B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/199,110 2018-11-23
US16/199,110 US11076194B2 (en) 2018-11-23 2018-11-23 Time-shifted playback
PCT/IB2019/060005 WO2020104976A1 (en) 2018-11-23 2019-11-20 Time-shifted playback

Publications (2)

Publication Number Publication Date
KR20210078538A true KR20210078538A (ko) 2021-06-28
KR102523444B1 KR102523444B1 (ko) 2023-04-20

Family

ID=68733415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217015312A KR102523444B1 (ko) 2018-11-23 2019-11-20 타임-시프트된 재생

Country Status (6)

Country Link
US (1) US11076194B2 (ko)
EP (1) EP3868118A1 (ko)
JP (2) JP7288588B2 (ko)
KR (1) KR102523444B1 (ko)
CN (1) CN113170226B (ko)
WO (1) WO2020104976A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104648A (zh) * 2020-09-14 2020-12-18 北京达佳互联信息技术有限公司 数据处理方法、装置、终端、服务器及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044570A1 (en) * 2003-08-20 2005-02-24 Thomas Poslinski Caching data from multiple channels simultaneously
US20070143493A1 (en) * 2005-12-04 2007-06-21 Turner Broadcasting System, Inc. System and method for delivering video and audio content over a network
US20090148134A1 (en) * 2007-12-05 2009-06-11 Kabushiki Kaisha Toshiba Broadcast receiving apparatus and broadcast receiving method
US20140223502A1 (en) * 2013-02-06 2014-08-07 General Instrument Corporation Method of Operating an IP Client
US20140282790A1 (en) * 2013-03-15 2014-09-18 Echostar Technologies L.L.C. Systems and methods for avoiding missing television programming when changing between television channels

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2398200C (en) 2000-08-02 2011-04-26 Opentv, Inc. System and method for providing multi-perspective instant replay
GB0303176D0 (en) * 2003-02-12 2003-03-19 Video Networks Ltd A system for capture and selective playback of broadcast programmes
JP5234801B2 (ja) 2009-04-21 2013-07-10 Necシステムテクノロジー株式会社 デジタル放送録画装置及び方法
JP2011010006A (ja) 2009-06-25 2011-01-13 Sony Corp 情報処理装置及び情報処理方法
JP2013121120A (ja) 2011-12-08 2013-06-17 Samsung Yokohama Research Institute Co Ltd デジタル放送受信機、及びデジタル放送記録方法
CN104429087B (zh) 2012-07-10 2018-11-09 夏普株式会社 再现装置、再现方法、发布装置、发布方法
US20140282699A1 (en) * 2013-03-15 2014-09-18 Motive Television Plc Enhanced broadcast television for portable devices
JP6488565B2 (ja) 2014-06-06 2019-03-27 日本電気株式会社 データ放送情報制御装置、データ放送情報表示システム、データ放送情報制御方法およびデータ放送情報制御装置プログラム
US20160248829A1 (en) 2015-02-23 2016-08-25 Qualcomm Incorporated Availability Start Time Adjustment By Device For DASH Over Broadcast
US20180048932A1 (en) * 2016-08-15 2018-02-15 Sony Corporation Signaling methods and apparatus
JPWO2018079295A1 (ja) 2016-10-27 2019-09-12 ソニー株式会社 情報処理装置、及び、情報処理方法
US20180176637A1 (en) 2016-12-16 2018-06-21 Electronics And Telecommunications Research Institute Apparatus and method for retransmitting advanced television systems committee (atsc) 3.0 digital tv broadcast

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050044570A1 (en) * 2003-08-20 2005-02-24 Thomas Poslinski Caching data from multiple channels simultaneously
US20070143493A1 (en) * 2005-12-04 2007-06-21 Turner Broadcasting System, Inc. System and method for delivering video and audio content over a network
US20090148134A1 (en) * 2007-12-05 2009-06-11 Kabushiki Kaisha Toshiba Broadcast receiving apparatus and broadcast receiving method
US20140223502A1 (en) * 2013-02-06 2014-08-07 General Instrument Corporation Method of Operating an IP Client
US20140282790A1 (en) * 2013-03-15 2014-09-18 Echostar Technologies L.L.C. Systems and methods for avoiding missing television programming when changing between television channels

Also Published As

Publication number Publication date
CN113170226A (zh) 2021-07-23
US20200169776A1 (en) 2020-05-28
JP7288588B2 (ja) 2023-06-08
US11076194B2 (en) 2021-07-27
JP2023130333A (ja) 2023-09-20
EP3868118A1 (en) 2021-08-25
WO2020104976A1 (en) 2020-05-28
KR102523444B1 (ko) 2023-04-20
CN113170226B (zh) 2023-09-15
JP2022507910A (ja) 2022-01-18

Similar Documents

Publication Publication Date Title
US10462530B2 (en) Systems and methods for providing a multi-perspective video display
JP6979108B2 (ja) コマーシャルの自動プレイバック・システム
JP5950821B2 (ja) 受信装置、受信方法、及びプログラム
US8752092B2 (en) Method and apparatus for providing low resolution images in a broadcast system
US20030221194A1 (en) Fast-advance while recording on-demand content
US20150237416A1 (en) Method, computer program, and reception apparatus for delivery of supplemental content
US9955107B2 (en) Digital video recorder recording and rendering programs formed from spliced segments
US9258599B2 (en) Systems and methods for interrupted program recording
KR102020689B1 (ko) 수신 장치, 수신 방법, 프로그램 및 정보 처리 시스템
EP2442581B1 (en) Video assets having associated graphical descriptor data
CA2615008A1 (en) Method and apparatus for providing commercials suitable for viewing when fast-forwarding through a digitally recorded program
JP2004297628A (ja) ストリーム切替装置およびその装置にコンテンツを提供する装置
JP2023130333A (ja) タイムシフト再生
EP1266521A1 (en) System and method for providing multi-perspective instant replay
JP5997500B2 (ja) 放送通信連携受信装置
KR102049119B1 (ko) 클라우드 환경에서 녹화 서비스 제공 방법 및 장치
WO2023136241A1 (ja) 番組受信表示装置及び番組受信表示制御方法
JP7462199B1 (ja) 番組受信表示装置及び番組受信表示制御方法
JP2011077893A (ja) コンテンツ送信装置、コンテンツ受信装置及びコンテンツ受信方法
KR101094794B1 (ko) 디지털 방송 송수신 장치 및 송수신 방법.
JP6596363B2 (ja) 時刻マッピング情報生成装置、同期再生システム、時刻マッピング情報生成方法及び時刻マッピング情報生成プログラム
KR101283978B1 (ko) 디지털 방송수신 장치에서 백그라운드 저장을 이용한 미싱캐치 지원 방송재생 방법 및 이를 위한 컴퓨터로 판독가능한 기록매체
KR20050080829A (ko) 디지털 방송 수신 시스템의 프로그램 정보 재생방법
JP2011193184A (ja) コンテンツ再生装置及びコンテンツ再生プログラム

Legal Events

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