KR20100053618A - 방송 클립 스케줄러 - Google Patents

방송 클립 스케줄러 Download PDF

Info

Publication number
KR20100053618A
KR20100053618A KR1020107005066A KR20107005066A KR20100053618A KR 20100053618 A KR20100053618 A KR 20100053618A KR 1020107005066 A KR1020107005066 A KR 1020107005066A KR 20107005066 A KR20107005066 A KR 20107005066A KR 20100053618 A KR20100053618 A KR 20100053618A
Authority
KR
South Korea
Prior art keywords
clip
content
content file
scheduler
schedule
Prior art date
Application number
KR1020107005066A
Other languages
English (en)
Inventor
쉬미몬 마날리쿠디 안쓰루
질 맥도날드 보이스
데이비드 앤서니 캠파나
데이비드 브라이언 앤더슨
아비나쉬 스리다
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20100053618A publication Critical patent/KR20100053618A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/06Arrangements for scheduling broadcast services or broadcast-related services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/42Arrangements for resource management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/68Systems specially adapted for using specific information, e.g. geographical or meteorological information
    • H04H60/73Systems specially adapted for using specific information, e.g. geographical or meteorological information using meta-information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

방송 네트워크에서 스케줄러는 전송을 위해 멀티미디어 콘텐츠 파일을 스케줄링한다. 스포츠 비디오, 뮤직 비디오, 뉴스 클립, 영화 사운드 트랙 등과 같은 멀티미디어 콘텐츠 파일은 임의의 종류의 오디오/비디오 클립일 수 있다. 특히, 스케줄러는 적어도 콘텐츠 파일 간의 비유사도에 따라 결정되는 동적 우선순위 값의 함수로서 콘텐츠 파일에 대한 전송 속도를 결정하고, 미디어 콘텐츠 파일의 비유사도는 더욱이 각 클립과 관련된 클립 메타 데이터의 함수로서 결정된다. 스케줄 시간 정보 및 메타 데이터 정보는 방송 네트워크에서 클립과 함께 전송되며, 수신기는 배터리 전력과 저장 공간을 절약하면서 선호 클립의 선택적 수신을 할 수 있다.

Description

방송 클립 스케줄러{BROADCAST CLIP SCHEDULER}
본 발명은 일반적으로 통신 시스템에 관한 것으로, 보다 구체적으로는 지상파 방송(terrestrial broadcast), 셀룰러, 와이-파이(Wi-Fi), 및 위성 등과 같은 무선 시스템에 관한 것이다.
오늘날, MP3 플레이어에서부터 개인 휴대 정보 단말기(personal digital assistants), 셀룰러 폰, 및 모바일 텔레비전에 이르는 모바일 장치가 곳곳에 존재한다. 불행히도, 모바일 기기는 전형적으로 계산 자원(computational resources) 및/또는 전력에 제한이 따른다. 이 점과 관련하여, DVB-H(Digital Video Broadcasting-Handheld) 상의 인터넷 프로토콜 데이터캐스트{Internet Protocol(IP) Datacast}는, 그러한 장치로 최적화된 IP 기반 메커니즘을 사용하는 임의의 종류의 파일 및 서비스를 제공하기 위한 엔드-투-엔드(end-to-end) 방송 시스템이다. 예를 들면, ETSI EN 302 304 V1.1.1(2004-11) "디지털 비디오 방송(DVB); 휴대용 단말기를 위한 전송 시스템(DVB-H)"; ETSI EN 300 468 V1.7.1 (2006-05) "디지털 비디오 방송(DVB); DVB 시스템에서의 서비스 정보(Service Information; SI)에 대한 사양"; ETSI TS 102 472 V1.1.1 (2006-06) "디지털 비디오 방송(DVB); DVB-H에서의 IP 데이터 캐스트: 콘텐츠 전달 프로토콜(Content Delivery Protocols)"; 및 ETSI TS 102 471 V1.1.1 (2006-04) "디지털 비디오 방송(DVB); DVB-H상의 IP 데이터캐스트: 전자 서비스 가이드(Electronic Service Guide; ESG)"를 참고한다. 업계에 알려진 DVB-H 시스템상의 IP 데이터캐스트는 도 1에 도시된다. 도 1에서, 안테나(35)를 통해 (본 명세서에서 "서버"라고도 지칭되는) 헤드엔드(head-end; 10)는 수신기(90)로 표시되는 (본 명세서에서 "고객" 또는 "수신기"라고도 지칭되는) 하나 이상의 수신 장치로 DVB-H 신호(36)를 방송한다. DVB-H 신호(36)는 고객에게 IP 데이터캐스트를 전달한다. 수신기(90)는 DVB-H 신호로부터 IP 데이터캐스트를 복구하기 위하여, 안테나(도시되지 않음)를 통해 DVB-H 신호(36)를 수신한다. 도 1의 시스템은 단방향 네트워크의 대표예이다.
위에 기술된 IP 데이터캐스트는 전자 서비스 가이드(electronic service guide; ESG) 및 콘텐츠 파일과 같은 파일을 전송함으로써 콘텐츠 기반 서비스를 제공하기 위하여 사용된다. 도 1에서, 콘텐츠 기반 서비스는 텔레비전(TV) 프로그램과 같은 실시간 콘텐츠, 또는 전형적인 TV 프로그램보다 짧은 쇼트-폼 (short-form) 콘텐츠와 같은 파일 기반 콘텐츠일 수 있다. ESG는 사용자에게 콘텐츠 기반 서비스를 선택할 수 있는 능력을 제공하고, 수신기가 선택된 콘텐츠를 복구할 수 있게 한다. 이런 점에서, ESG는 전형적으로 (여기에서 이벤트로도 지칭되는) 콘텐츠에 대한 기술형 데이터(descriptive data), 또는 메타데이터를 포함한다. 본 명세서에서, 예를 들면 방송을 위해 스케줄링된 시간, 날짜, 기간, 및 채널과 더불어 TV 프로그램, 시놉시스, 배우, 감독의 이름을 포함하는 이 메타데이터는 "콘텐츠 메타데이터"로 지칭된다. 수신기(90)를 ESG에 의해 식별되는 적절한 채널로 튜닝함으로써, 수신기(90)를 사용하는 사용자는 ESG에 의해 조회되는 콘텐츠를 수신할 수 있다. 실시간 콘텐츠, 예를 들면 TV 방송의 경우, ESG가 세션 기술 프로토콜(Session Description Protocol; SDP) 파일을 포함한다는 것을 주의해야 한다(예를 들면, M.Handley, V.Jacobson, 1998년 4월 - "RFC 2327" - SDP: 세션 기술 프로토콜 참조). SDP 파일은 수신기(90)를 선택된 방송 콘텐츠로 조정하는(tune) 추가적인 정보를 포함한다.
파일 기반 콘텐츠에 대하여, 도 1의 헤드엔드(10)는 단방향 수송에 의한 파일 전송(File Delivery over Unidirectional Transport; FLUTE) 프로토콜을 사용하여 파일을 전송한다(예를 들어, T. Paila, M. Luby, V. Roca, R. Walsh, "RFC 3926 - FLUTE - 단방향 수송에 의한 파일 전송", 2004년 10월 참조). 단방향 네트워크를 통하여 파일 또는 데이터를 전송하기 위해 FLUTE 프로토콜이 사용되고, FLUTE 프로토콜은 멀티캐스트 파일 전송을 제공한다. 이 예에서, 또한 FLUTE를 위한 기본 수송 수단으로서 헤드엔드(10)는 비동기 계층화 코딩 프로토콜{Asynchronous Layered Coding(ALC) protocol)을 사용한다는 것이 가정된다{예를 들면, Luby, M., Gemmell, J., Vicisano, L., Rizzo, L., 및 J. Crowcroft, "비동기 계층화 코딩(ALC) 프로토콜 예(Instantiation)", RFC 3450, 2002년 12월 참조}. ALC 프로토콜은 임의의 바이너리 오브젝트(binary objects)를 전송하도록 설계된다. ALC 프로토콜은 대규모로 확장가능한 단방향 멀티캐스트 전송에 특히 적합하다.
도 2에서는, ESG를 방송하는 헤드엔드(10) 내에서의 FLUTE를 이용한 파일 기반 콘텐츠의 전송이 도시된다. 다른 파일 기반 콘텐츠의 전송은 이와 유사하지만, 본 명세서에서 기술되지 않는다. 헤드엔드(10)는 ESG 생성기(ESG generator; 15), FLUTE 송신기(FLUTE sender; 20), IP 캡슐화기(IP encapsulator; 25), 및 DVB-H 변조기(DVB-H modulator; 30)를 포함한다. ESG 생성기(15)는 ESG를 FLUTE 송신기(20)로 제공하며, 당업계에 알려진 바와 같이 FLUTE 송신기(20)는 ALC 기반의 FLUTE에 따라 ESG를 포맷팅하고, IP 패킷 내에서 캡슐화하도록 IP 캡슐화기(25)로 FLUTE 파일을 전달하는, 결과 ALC 패킷(resulting ALC packets)을 제공한다. 도 1에 도시된 바와 같이, 결과로 얻은 IP 패킷은 하나 이상의 수신기로 전송하기 위해 DVB-H 변조기(30)로 제공된다. 수신기에서 사용하기 위한 ESG를 복구하기 위해 수신기는 특정 FLUTE 채널(예를 들어, IP 주소 및 포트 넘버)로 조정된다.
위에서 언급한 바와 같이, 수신기는 예를 들면 배터리 수명과 같은 전력 제한을 가질 수 있다. 게다가, 방송 네트워크에서 수신기는 오직 특정 시간에서 특정 파일 또는 선택된 파일 기반 콘텐츠만을 수신할 수 있다. 다른 시간대에서 수신기가 완전히 전력 상승 되어 있는(fully powered up) 동안에 수신기는 방송 네트워크에 의해 전송된 임의의 다른 콘텐츠를 처리하지 않는다. 이와 같이, 만약 FLUTE 송신기{예를 들어, 도 2의 헤드엔드(10)의 FLUTE 송신기(20)} 및 FLUTE 수신기{예를 들어, 도 1의 수신기(90)의 FLUTE 수신기 부분(도시되지 않음)}가 시간 동기화되어서, 수신기의 배터리 수명을 증가시키기 위해 선택된 정보가 수신되지 않을 때 그 시간 간격 동안 수신기가 전력을 감소시킬 수 있다면, 이는 유익할 것이다. 시간 동기화를 수행하는 하나의 접근 방법이 도 3에서 도시된다. 특히, 도 3에서 시간 동기화는 네트워크 타임 프로토콜 서버(NTP 서버; 45)를 통하여 헤드엔드(10) 및 수신기(90) 사이에서 수행된다. 이 케이스에서, {헤드엔드(10)의} FLUTE 송신기(20)는 NPT 서버(45)로부터의 NPT 타임스탬프를 포함하는 시간 및 날짜 표(Time and Date Table; TDT)를 제공한다(위에서 지칭된 ETSI EN 300 468 V1.7.1 참조). 헤드엔드(10)는 DVB-H 신호(36)의 TDT를 방송한다. 특정 시간에서 선택된 콘텐츠를 찾기 위해, 수신기(90)는 수신된 바로 그 NTP 타임스탬프를 사용한다. 대신, 헤드엔드(10)는 라이브 서비스 방송에 포함된 실시간 수송 제어 프로토콜 송신기 리포트{Real-time Transport Control Protocol(RTCP) Sender Reports}의 수신기(90)로 NPT 타임스탬프를 제공할 수 있다(예를 들어, 오디오-비디오 작업 그룹, H. Schulzrinne, GMD Fokus S. Casner,Precept Software, Inc., R. Frederick, Xerox Palo Alto Research Center, V. Jacobson, 1996년 1월 - "RFC 1889 RTP: 실시간 애플리케이션을 위한 수송 프로토콜 참조).
(예를 들면, 도 1에 도시된) 단방향 방송 네트워크는 멀티미디어 또는 데이터 콘텐츠의 확장가능한 방송을 위한 이상적인 선택이다. 특히 멀티미디어 콘텐츠 전송 및 스트리밍을 위해 방송 네트워크가 폭 넓게 사용된다. 그러나 이런 종류의 네트워크는 수신기를 위한 포인트-투-포인트(point-to-point) 서비스를 행하는 능력이 결여되어 있고, 또한 수신기가 송신기로 그들의 선호도를 알릴 어떤 역방향 채널도 갖지 않는다.
방송 네트워크에서 동작하는 푸쉬-VOD(Push-Video On Demand; Push-VOD) 종류의 서비스를 제공하기 위하여, 송신기는 최대 수(maximum number)의 수신기가 선호 콘텐츠(preferred content)를 얻을 수 있도록 한다. 또한, 콘텐츠 제공자(content providers) 및 운영자(operators)는 전송에 대한 그들만의 우선순위를 가질 것이다. (서비스 제공자라고도 지칭되는) "운영자"는 방송 서비스를 정의하고, 서비스를 위한 콘텐츠를 제공하는 개체이다. "콘텐츠 제공자"는 특정 서비스 또는 서비스 세트를 위한 콘텐츠를 제공하는 개체이다.
그러므로, 본 발명의 원리에 따르면, 헤드엔드는 적어도 콘텐츠 파일 간의 비유사도(dissimilarity measure)에 따라 결정되는 동적 우선순위 값의 함수로서 콘텐츠 파일에 대한 전송 순서를 결정하고, 결정된 전송 순서에 따라 콘텐츠 파일을 전송한다.
본 발명의 예시적인 실시예에서, 스포츠 비디오, 뮤직 비디오, 뉴스 클립, 영화 사운드 트랙 등과 같은 콘텐츠 파일은 임의의 종류의 오디오/비디오 클립일 수 있고, "클립 메타 데이터(clip meta data)"는 각 클립과 관련이 있다. 콘텐츠 파일 간의 비유사도에 따라 결정되는 동적 우선순위 값의 함수로서, 헤드엔드는 콘텐츠 파일에 대한 전송 순서를 결정하는 스케줄러를 포함하고, 적어도 각 클립과 관련된 클립 메타 데이터의 함수로서 콘텐츠 파일의 비유사도가 결정된다. 방송 네트워크에서 스케줄 타이밍 정보 및 메타 데이터 정보는 클립과 함께 전송되므로, 수신기는 배터리 전력 및 저장 공간을 절약하면서 선호 클립에 대한 선택적 수신을 할 수 있다.
상기의 관점에서 상세한 설명을 읽음으로써, 본 발명의 원리 내에서 본 발명의 다른 실시예 및 특성이 가능하다는 것은 자명할 것이다.
도 1-3은 종래 기술에 따른 DVB-H(Digital Video Broadcasting - Handheld) 시스템 상에서의 인터넷 프로토콜(IP) 데이터캐스트를 도시하는 도면.
도 4 및 5는 도 1-3의 시스템에 대한 파일 기반 콘텐츠 전송 및 관련 ESG의 프래그먼트(associated fragment of ESG)를 도시하는 도면.
도 6은 본 발명의 원리에 따른 시스템의 예시적인 실시예를 도시하는 도면.
도 7은 본 발명의 원리에 따른 서버를 도시하는 도면.
도 8은 본 발명의 원리에 따른 예시적인 스케줄링 메타데이터를 도시하는 도면.
도 9는 본 발명의 원리에 따른 서버(150)에서 사용하기 위한 예시적인 흐름도.
도 10은 본 발명의 원리에 따른 예시적인 스케줄을 도시하는 도면.
도 11 및 12는 본 발명의 원리에 따른 서버(150)에서 사용하기 위한 다른 예시적인 흐름도.
도 13은 본 발명의 원리에 따른 다른 예시적인 스케줄을 도시하는 도면.
도 14 및 15는 본 발명의 원리에 따른 예시적인 수신기의 실시예를 도시하는 도면.
도 16은 본 발명의 원리에 따른 수신기에서의 사용에 대한 예시적인 흐름도.
도 17은 본 발명의 원리에 따른 또 다른 예시적인 서버를 도시한 도면.
본 발명의 개념 이외에, 도면에 도시된 요소는 잘 알려져 있으며 상세히 기술되지 않을 것이다. 예를 들면, 본 발명의 개념 이외에 {직교 주파수 분할 다중방식(Orthogonal Frequency Division Multiplexing; OFDM) 또는 직교 부호화 주파수 분할 다중방식(Coded Orthogonal Frequency Division Multiplexing; COFDM)으로도 지칭되는} 이산 멀티톤(Discrete MultiTone; DMT) 전송과의 친숙함(familiarity)이 가정되고, 본 명세서에서 기술되지 않는다. 또한, 텔레비전 방송, 수신기, 및 비디오 인코딩과의 친숙함도 가정되고, 본 명세서에서 자세히 기술되지 않는다. 예를 들면, 본 발명의 개념 이외에, NTSC(National Television Systems Committee), PAL(Phase Alternation Lines), SECAM(SEquential Couleur Avec Memoire), 및 ASTC(Advanced Television Systems Committee)와 같은 TV 표준에 대한 현재의 권고안 및 제안된 권고안(current and proposed recommendations), 중국 디지털 텔레비전 시스템(GB) 20600-2006, 및 DVB-H와의 친숙함이 가정된다. 마찬가지로, 본 발명의 개념 이외에, 8 계층 잔류 측파대(eight-level vestigial sideband; 8-VSB), 및 직교 진폭 변조(Quadrature Amplitude Modulation; QAM)와 같은 다른 전송 개념 및 (낮은 노이즈 블록, 튜너, 다운 컨버터 등과 같은) 무선 주파수 프론트-엔드{radio frequency(RF) front-end}, 복조기(demodulators), 상관기(correlators), 리크 적분기(leak integrators), 및 제곱기(squarers)와 같은 수신기 구성요소가 가정된다. 더욱이, 본 발명의 개념 이외에, FLUTE 프로토콜, ALC 프로토콜, IP 및 인터넷 프로토콜 캡슐화기(Internet Protocol Encapsulator; IPE)와 같은 프로토콜과의 친숙함이 가정되며, 본 명세서에서 기술되지 아니한다. 유사하게, 본 발명의 개념 이외에, {Moving Picture Expert Group(MPEG)-2 시스템 표준(ISO/IEC 13818-1)과 같은} 전송 비트 스트림을 생성하기 위한 방법의 포맷팅 및 인코딩이 잘 알려져 있고, 본 명세서에서 기술되지 아니한다. 풀-VOD(Pull-VOD) 및 푸시-VOD(Push-VOD) 서비스와의 친숙함도 역시 가정된다. 풀-VOD서비스에서, 사용자는 특정 비디오 클립을 요청하고, 서버는 특정 사용자에게 특정 비디오 클립을 전송한다. 푸시-VOD 서비스에서, 사용자가 능동적으로 비디오를 요청하지 않아도 사용자가 선호하는 비디오가 수신기로 수신된다. 본 발명의 개념은 본 명세서에 기술되지 않은 기존의 프로그래밍 기술을 사용하여 구현될 수 있음을 주의한다. 마지막으로, 도면에서 동일한 참조 번호들은 비슷한 요소들을 나타낸다.
본 발명의 개념을 기술하기 전에, 도 4는 종래 기술에 따른 DVB-H에서의 파일 기반 콘텐츠 전송을 도시한다. 도 4에서, DVB-H에서의 파일 기반 콘텐츠 전송은 클립(50, 51, 52, 및 53)으로 표현되는 (본 명세서에서 클립으로도 지칭되는) 다수의 이벤트를 포함한다. 각 클립은 다수의 패킷을 포함할 수 있지만, 이는 본 발명의 개념과 관련이 없다. ESG은 시작 시간(start time) 및 종료 시간(end time)과 관련이 있고, 대응하는 FLUTE 세션의 관련된 콘텐츠 파일을 식별한다. 이는 도 4에서 클립(51)과 관련하여 ESG 프래그먼트(ESG fragment; 60)에 대해 도시된다. 간략화(simplicity)를 위해, 다른 ESG 데이터는 도시되지 않는다. 도 4에 도시된 바와 같이, ESG 프래그먼트(60)는 클립(51)과 관련된 변수 PublishedEndTime(62)와 더불어 변수 ContentLocation(65), 변수 PublishedStartTime(61)을 포함한다. 예를 들면, 대응하는 FLUTE 세션의 관련된 콘텐츠 파일은 "Clip1.mp4"이다. PublishedStartTime 및 PublishedEndTime, 63 및 64 각각은 세계 협정시(Coordinated Universal Time; UTC) 유닛에 속한다. PublishedStartTime에 대한 값은 FLUTE 송신기가 실제로 파일을 전송하기 시작하는 시간, 즉 클립이 FLUTE 송신기로부터 시스템 체인(system chain)의 다음 블록으로 전달되는 시간이다. 이는 도 5에서 DVB-H 시스템에 대하여 더 도시되어 있는데, 예를 들어 PublishedStartTime에 대한 값은 FLUTE 송신기(20)가 IP 캡슐화기(25)로 클립을 전달하는 시간이다.
앞에서 기술한 바와 같이, 방송 네트워크에서 동작하는 푸쉬-VOD와 같은 서비스를 제공하기 위하여, 송신기는 최대 수의 수신기가 선호 콘텐츠를 얻을 수 있도록 한다. 게다가, 콘텐츠 제공자 또는 운영자는 또한 전송에 대한 그들만의 우선순위를 가질 것이다. (서비스 제공자라고도 지칭되는) "운영자"는 방송 서비스를 정의하고 서비스를 위한 콘텐츠를 제공하는 개체이다. "콘텐츠 제공자"는 특정 서비스 또는 서비스 세트를 위해 콘텐츠를 생성하는 개체이다.
상기 관점에서, 푸쉬-VOD 서비스에서의 전송을 위한 콘텐츠의 제공 및 스케줄링에 대해 우리는 다수의 문제를 발견해 왔다. 예를 들면, 콘텐츠 데이터베이스는 기간에 걸쳐 변할 수 있고, 동작자 선호도 또한 새로운 클립의 추가에 따라 변할 수 있다. 이와 같이 새로운 클립이 추가되면서 우선순위에 기반한 클립 전송의 스케줄링이, 방송을 위해 스케줄링된 덜 선호되는 클립을 무기한으로 차단할 수 있기 때문에, 우선순위에 기반한 클립 전송의 스케줄링은 단순하게 수행될 수 없다.
게다가, 스케줄의 예측성이 또 다른 중요한 요인이다. 임의의 시간 포인트에서 스케줄은 클립의 추가 및 제거, 또는 심지어 우선순위의 변화 때문에 변할 수 있다. 그러나, 단방향 네트워크 환경에서 수신 단말기는 자신이 선호하는 콘텐츠를 시기적절하게 수신하기 위한 스케줄에 많이 의존한다. 만약 스케줄이 예측 가능하지 않다면, 수신기는 항상 대기해야 하고, 이는 불필요하게 전력을 낭비하는 것이다. 더구나, 단방향 네트워크에서 수신기는 송신기로 손상된 파일에 대해 알릴 방법이 없다. 그러므로, 수신기 동작에서 스케줄의 예측성이 매우 중요하다.
또한, 수신기에서 우선순위 설정은 사용자 개인의 관심, 수신기의 위치, 수신 시간 등에 따라 달라질 수 있다. 예를 들면, 멀티미디어 클립 방송에서 시청자는 자연스럽게 높게 선호되는 클립을 여러 번 얻는 것보다 새로운 클립을 얻는 것을 선호한다고 관측되어 왔다. 그러나, 푸쉬-VOD 서비스 방송에서는 우선순위 설정을 즉시 고려할 수 있는 역방향 채널이 없다. 이런 점에서, 멀티미디어 클립에 대한 전송 스케줄을 업데이트할 때, 임의의 스케줄링은 위와 같은 문제를 다루어야(address) 한다.
상기의 관점에서, 본 발명의 원리에 따라 푸쉬-VOD 서비스가 상기 기술된 문제를 다룰 수 있게 하는 스케줄러가 기술된다. 그러므로, 본 발명의 원리에 따라, 헤드엔드는 적어도 콘텐츠 파일 간의 비유사도에 따라 결정되는 동적 우선순위 값의 함수로서 콘텐츠 파일에 대한 전송 순서를 결정하고, 결정된 전송 순서에 따라 콘텐츠 파일을 전송한다.
본 발명의 예시적인 실시예에서, 스포츠 비디오, 뮤직 비디오, 뉴스 클립, 영화 사운드 트랩 등과 같은 콘텐츠 파일은 임의의 종류의 오디오/비디오 클립일 수 있고, "클립 메타 데이터"는 각 클립과 관련이 있다. 헤드엔드는 적어도 콘텐츠 파일 간의 비유사도에 따라 결정되는 동적 우선순위 값의 함수로서 콘텐츠 파일에 대한 전송 순서를 결정하는 스케줄러를 포함하고, 더욱이 각 클립과 관련된 클립 메타 데이터의 함수로서, 콘텐츠 파일의 비유사도가 결정된다. 방송 네트워크에서 스케줄 타이밍 정보 및 메타 데이터 정보가 클립과 함께 전송되므로, 수신기는 배터리 전력 및 저장 공간을 절약하면서 수신기의 선호 클립에 대한 선택적 수신을 할 수 있다.
도 6에서, 본 발명의 원리에 따른 예시적인 시스템이 도시된다. 이 예의 목적을 위하여, 도 6에 도시된 시스템은 도 1에 기술된 것과 유사한 DVB-H 시스템 상의 IP 데이터캐스트이다. 본 발명의 원리에 따라, 멀티미디어 콘텐츠 파일에 대한 전송 순서를 결정하기 위해 헤드엔드(150)는 멀티미디어 콘텐츠 파일과 관련된 기술형 데이터를 분석하고, 안테나(185)를 통해 결정된 전송 순서에 따라 멀티미디어 콘텐츠 파일을 전송한다. 특히, IP 데이터캐스트를 전송하기 위해 (본 명세서에서 "고객" 또는 "수신기"라고도 지칭되는) 노트북(100-1), 개인 휴대 정보 단말기(PDA; 100-2), 및 셀룰러 폰(100-3) 중 임의의 하나로 표현되는 하나 이상의 수신 장치로 헤드엔드(150)가 DVB-H 신호(186)를 방송하고, 수신 장치 각각은 실시간 콘텐츠 및 파일 기반 콘텐츠에 대한 방송 IP 데이터캐스트를 복구하기 위해 DVB-H 신호를 수신하도록 구성된다고 가정된다. 도 6의 시스템은 단방향 네트워크의 대표예이다. 그러나, 본 발명이 이에 한정되는 것은 아니다.
도 7에서, 본 발명의 원리에 따른 헤드엔드 또는 서버(150)의 예시적인 실시예가 도시된다. 도 7에서 도시된 본 발명의 개념 이외의 요소는 잘 알려져 있고, 본 명세서에서 기술되지 아니한다. 헤드엔드(150)는 프로세서 기반의 시스템이고, 도 7에서 점선의 형태로 도시된 하나 이상의 프로세서(190) 및 메모리(195)에 의해 표현되는 프로세서 및 관련 메모리를 포함한다. 본 명세서에서, 컴퓨터 프로그램 또는 소프트웨어는 프로세서(190)에 의한 실행을 위하여 메모리(195)에 저장되고, 예를 들면 스케줄러(240)를 구현한다. 프로세서(190)는 하나 이상의 저장된 프로그램 컨트롤 프로세서의 대표예이고, 예를 들면 프로세서(190)가 헤드엔드(150)의 다른 기능도 제어할 수 있는 것과 같이, 하나 이상의 저장된 프로그램 컨트롤 프로세서는 스케줄링 기능 전용일 필요는 없다. 예를 들면, 랜덤 액세스 메모리(random access memory; RAM), 읽기전용 메모리(read-only memory; ROM) 등과 같은 메모리(195)가 임의의 저장 장치의 대표예이고, 헤드엔드(150)에 내재되고/되거나 외재될 수 있으며, 필요에 의해 휘발성 및/또는 비휘발성이 된다.
헤드엔드(150)는 ESG 생성기(215), FLUTE 송신기(220), IP 캡슐화기(225), DVB-H 변조기(230), 콘텐츠 데이터베이스(235), 및 스케줄러(240)를 포함한다. ESG 생성기(215), FLUTE 송신기(220), IP 캡슐화기(225), 및 DVB-H 변조기(230)는 도 2에서 도시된 대응되는 구성요소와 유사하고, 본 명세서에서 더 기술되지 않을 것이다. 아래에 기술된 본 발명의 개념 외의 ESG 생성기(215)는 ESG를 FLUTE 송신기(220)로 제공하고, FLUTE 송신기는 ALC 기반의 FLUTE에 따라 ESG를 형성하며, 종래에 알려진 바와 같이 IP 패킷 내에서 캡슐화하기 위한 IP 캡슐화기(225)로, FLUTE 파일을 전달하는 결과물 ALC 패킷을 제공한다. 결과로 얻은 IP 패킷은 도 6에서 도시된 바와 같이 하나 이상의 수신 기기로 전송되기 위해 DVB-H 변조기(230)로 제공된다. 수신기{예를 들면, 도 6의 수신기(100-2)}는 수신기에서 사용하기 위한 ESG를 복구하도록 특정 FLUTE 채널(예를 들면, IP 주소 및 포트 번호)로 조정한다.
도 7에서 도시된 바와 같이, 헤드엔드(150)는 또한 콘텐츠 데이터베이스(235) 및 스케줄러(240)를 포함한다. 콘텐츠 데이터베이스(235)는 콘텐츠, 즉 멀티미디어 파일을 저장한다. 스포츠 비디오, 뮤직 비디오, 뉴스 클립, 영화 사운드 트랙 등과 같은 멀티미디어 콘텐츠 파일은 임의의 종류의 오디오/비디오 클립이다. 본 발명의 개념 외의 이런 클립은 신호(238)를 통해 FLUTE 송신기(220)로 제공되고, 위에서 도 4와 관련하여 기술되었듯이 DVB-H에서의 파일 기반 콘텐츠 전송과 같이 전송된다. 콘텐츠 메타데이터는 각 클립과 관련이 있다. 각 클립에 대한 콘텐츠 메타데이터는 신호(236)를 통해 ESG 생성기(215) 및 본 발명의 원리에 따른 스케줄러(240)로 제공된다. 스케줄러(240)는 신호(239)를 통해 콘텐츠 데이터베이스(235)를 제어하고 감시한다. 결과적으로, 스케줄러(240)는 예를 들어 클립의 콘텐츠 메타 데이터 변화에 의한 추가/삭제 또는 수정과 같은 콘텐츠 데이터베이스(235)의 변화를 감지한다.
본 발명의 원리에 따라, 멀티미디어 콘텐츠 파일에 대한 전송 순서를 결정하기 위해 스케줄러(240)는 콘텐츠 데이터베이스(235)에 저장된 클립과 관련된 콘텐츠 메타데이터를 분석한다. 이런 관점에서, 스케줄러(240)는 제어 신호(242)를 통해 FLUTE 송신기(220)의 전송 순서를 제어한다. 게다가, 수신기로 전송된 ESG에게 알리는데 사용되기 위하여 스케줄러(240)는 신호(241)를 통해 ESG 생성기(215)로 추가적인 스케줄링 정보를 제공한다. 이 추가적인 스케줄링 정보는 본 명세서에서 "스케줄링 메타데이터"라고 지칭된다. 특히 각 클립과 관련된 콘텐츠 메타데이터와 더불어, 스케줄러(240)는 도 8에서 도시된 스케줄링 메타데이터를 추가한다. 스케줄링 메타데이터(200)는, 동적 우선순위(Dynamic Priority; 201), 전송 카운트(Sent Count; 202), 대기 시간(Waiting Time; 203), 및 선택적으로 (점선 형태로 도시된) 키워드들(Keywords; 204)과 같은 여러 필드를 포함한다. 그러므로 현재 각 클립은 콘텐츠 메타데이터(210)와 스케줄링 메타데이터(200)를 갖는다. 이들은 본 명세서에서 도 8에서 도시된 바와 같이 전체 클립 메타데이터(overall clip metadata; 220)로 지칭된다. 콘텐츠 메타데이터(210)는 콘텐츠 데이터베이스(235) 내에 저장된다. 콘텐츠 메타데이터(210)는 콘텐츠 ID(211), 우선순위(212), 기술(a Description; 213), 및 선택적으로 (점선 형태로 도시된) 키워드들(214)을 포함한다. 예시적으로, XML(eXtensible Markup Language)은 메타 데이터를 대표하기 위하여 사용될 수 있다.
콘텐츠 메타데이터(210)에 대하여, 콘텐츠 ID(211)는 콘텐츠 데이터베이스(235)에서 각 클립을 식별하기 위한 고유의 숫자 식별자(unique numerical identifier)이다. 우선순위(212)는 식별된 클립에 대한 우선순위 레벨을 나타내는 숫자 값이다. 기술(213)은 예를 들어 방송을 위해 스케줄링된 시간, 날짜, 기간, 및 채널과 더불어 TV 프로그램, 시놉시스, 배우, 감독 등을 나타낸다. 마지막으로, 키워드들(214)은 식별된 클립에서 간략하게 콘텐츠를 서술하는 하나 이상의 키워드를 나타내는 문자-숫자 단어(alpha-numeric words)이다.
스케줄링 메타데이터(200)에 대하여, 동적 우선순위(201)는 식별된 클립을 방송 또는 전송하기 위해 실제 우선순위 레벨을 나타내는 숫자 값이다. 전송 카운트(202)는 식별된 클립이 방송된 횟수 또는 전송된 횟수를 나타내는 숫자 값이다. 대기 시간(203)은 식별된 클립이 마지막으로 방송된 이후 몇 초나 흘렀는지를 나타내는 숫자 값이다. 마지막으로, 키워드들(204)은 식별된 클립의 콘텐츠를 간략하게 기술하는 하나 이상의 키워드를 표현하는 문자-숫자 단어의 리스트이다. 위에서 언급한 바와 같이, 키워드는 스케줄링 메타데이터(200) 또는 콘텐츠 메타데이터(210) 중 하나에 위치할 수 있다. 스케줄링 메타데이터에서, 키워드들(204)은 기술(213)을 분석하는 스케줄러(240)에 의해 결정된다. 콘텐츠 메타데이터에서, 키워드들(214)은 콘텐츠 메타데이터(210)의 일부로서 운영자에 의해 설정된다.
도 9의 흐름도에서는 본 발명의 원리에 따른 예시적인 스케줄링 방법을 도시한다. 단계(305)에서, 스케줄러(240)는 (아래에서 기술되는) 스케줄 정적 부분(schedule static part)과 더불어 스케줄링 주파수(
Figure pct00001
; 316)를 초기화하고 결정한다. 예를 들면, 이 값들은 도 7의 메모리(195)에 저장되므로, 예시적으로 스케줄링 주파수(
Figure pct00002
; 316)는 스케줄 정적 부분처럼 선험적으로 결정된다(determined a priori). 이 값들은 또한 운영자에 의하여 신호(243)를 통해 {예를 들면, (도시되지 않은) 키보드/콘솔을 통해} 설정될 수 있다. 스케줄링 주파수(
Figure pct00003
; 316)는 스케줄이 얼마나 자주 생성되는지를 결정한다. 단계(310)에서, 스케줄러(240)는 콘텐츠 데이터베이스(235)에 저장된 클립에 대한 콘텐츠 메타데이터를 가져온다(retrieve).
단계(315)에서, 스케줄러(240)는 스케줄을 생성할 시간이 되었는지를 검사하는데, 스케줄은 스케줄링 주파수(
Figure pct00004
; 316)에 의해 결정된다. 스케줄을 생성할 시간이 아니라면, 스케줄러(240)는 콘텐츠 데이터베이스(235)가 {예를 들면, 도 7의 신호(239)를 통해} 단계(325)에서 업데이트되었는지를 검사한다. 만약 콘텐츠 데이터베이스(235)가 업데이트되지 않았다면, 스케줄러(240)는 다시 단계(315)에서 스케줄을 생성할 시간이 되었는지 검사한다. 그러나, 콘텐츠 데이터베이스(235)가 업데이트되었다면, 스케줄러(240)는 단계(310)에서 업데이트된 콘텐츠를 가져온다. 이 업데이트된 콘텐츠는 변경된 콘텐츠, 새로운 콘텐츠, 또는 삭제된 콘텐츠를 나타낸다. 이와 관련하여, 단계(310)에서 스케줄러(240)는 가져온 콘텐츠 메타데이터를 생성, 업데이트, 또는 삭제하기 위해 필수 프로세싱을 수행한다.
단계(315)에서 스케줄러(240)가 스케줄을 생성할 시간이라고 결정하면, 단계(320)로 실행이 진행되어 스케줄러(240)가 각 식별된 클립에 대해 스케줄링 메타데이터(200)를 위한 값을 결정하거나 업데이트하고, 스케줄을 생성한다. 첫 번째로, 스케줄러(240)는 스케줄링 메타데이터(200)의 키워드들(204) 영역에 대한 키워드를 결정하기 위해 필요하다면 기술(213)을 분석한다. 이와 달리, 만약 키워드가 존재한다면, 스케줄러(240)는 키워드들(214)을 사용한다. 그리고 스케줄러(240)는 식별된 클립{콘텐츠 ID(211)}에 대한 실제 우선순위를 표현하는 값을 결정하고, (아래에 기술될) 동적 우선순위(201)에 이 값을 저장한다. 스케줄러(240)는 또한 식별된 클립이 몇 번 전송되었는지를 나타내는 전송 카운트(202) 값을 업데이트하고, 식별된 클립이 마지막으로 방송된 이후 몇 초가 지났는지를 나타내는 대기 시간(203) 값을 업데이트한다. 각 식별된 클립에 대한 스케줄링 메타데이터가 결정되면, 스케줄러(240)는 {신호(241)를 통해} ESG 생성기(215)에 의한 사용 및 {신호(242)를 통해} FLUTE 송신기(220)에 의한 사용을 위하여 스케줄을 생성한다. 실행은 단계(325)에서 계속된다. 또한, 간략화를 위해 다른 종료 및/또는 에러 조건은 여기에 기술된 흐름도에 도시되지 않았음을 주의한다.
수신기 측 및 송신기 측에서의 불필요한 구현 복잡성을 피하기 위하여, 스케줄러(240)는 예시적으로 비선점 스케줄러(non-preemptive scheduler)로 설계된다. 이는 각 비디오 클립 또는 임의의 다른 콘텐츠 파일이 작은 덩어리로 쪼개지지 않는 것, 그리고 전송이 상이한 타임 슬롯(time slots)에 걸쳐 분리되지 않는 것을 의미한다. 즉, 콘텐츠 전송이 시작되면, 전송은 또 다른 클립을 전송하기 위하여 종료시까지 스케줄러(240)에 의해 방해받지 않는다. 이는 단말기에서 수신 완료를 위해 필요한 시간을 최소화하는 것을 돕는다. 그러나, 본 발명의 개념은 이에 한정되는 것은 아니고, 선점 스케줄러에도 적용된다.
위에서 언급한 바와 같이, 스케줄러(240)는 스케줄을 생성한다. 본 발명의 원리에 따라, 도 10에서는 예시적인 스케줄러(400)를 도시한다. 스케줄러(400)는 정적 부분(401) 및 동적 부분(410)을 포함한다. 정적 부분(401)은 J 클립, 즉 J≥0일 때, A(401-1), C(401-2), … F(401-J)을 포함하고, 동적 부분(410)은 K 클립, 즉 K≥0일 때, D(410-1) … E(410-K)을 포함한다. 스케줄 지속 기간은 종료 시간에서 시작 시간을 뺀 값, 즉
Figure pct00005
다. 도 10에서 관측될 수 있듯이, 정적 부분(401)은 시간
Figure pct00006
에서 시작해서, 시간
Figure pct00007
에서 끝난다. 시간
Figure pct00008
는, 스케줄 종료 시간
Figure pct00009
에서 끝나는 동적 부분(410)의 시작이다. 도 10에서 관측될 수 있듯이, 각 클립은 관련된 지속 시간을 갖는다. 예를 들면, 클립 C(401-2)는 관련된 지속 시간
Figure pct00010
를 갖는다. 도 10은 정적 부분 및 동적 부분을 도시하지만, 예를 들어
Figure pct00011
Figure pct00012
가 같을 수 있듯이 각 부분의 클립의 수가 0일 수 있다는 것을 주의한다.
도 11에서는 도 9의 단계(320)에서의 사용을 위한 예시적인 흐름도가 도시된다. 도 11의 단계(350)에서, 새로운 스케줄을 생성할 시간이라면, 예를 들어
Figure pct00013
과 같이 스케줄 시간 t가 초기화된다. 단계(355)에서, 스케줄러(240)는 이전 스케줄이 존재하는지를 검사한다. 만약 이전 스케줄이 존재한다면, 단계(360)에서 스케줄러(240)는 이전 스케줄을 로딩하고, 예를 들어 도 10의 스케줄(400)에 대한
Figure pct00014
와 같이 t를 이전 스케줄의 동적 부분의 시작 시간과 같게 설정한다. 임의의 이벤트에 대해, 단계(365)에서는 스케줄러(240)가 (아래에서 기술되는) 이 스케줄링 세션을 위해 가져온 각 클립 또는 콘텐츠의 동적 부분(
Figure pct00015
)을 결정한다. 단계(370)에서, 스케줄 시간 t에서 최고 동적 우선순위
Figure pct00016
를 갖는 클립(i)은 새로운 스케줄 시작점에 위치한다. 이 클립(i)는 관련된 지속 기간
Figure pct00017
를 갖는다. 단계(375)에서, 스케줄 시간 t는
Figure pct00018
로 전개된다. 단계(380)에서, 스케줄 시간 t는 스케줄 종료 시간
Figure pct00019
에 대응하여 검사된다. 만약 스케줄 종료에 도달하면, 단계(385)에서 스케줄러(240)는 새로운 스케줄을 반환하거나 생성한다. 그러나, 스케줄의 종료에 도달하지 못하면, 스케줄러(240)는 단계(365)에 남아있는 클립에 대한 동적 우선순위(
Figure pct00020
)를 재계산하고, 최고 동적 우선순위(
Figure pct00021
) 등을 갖는 클립을 다시 선택한다. 이 프로세스는 스케줄러(240)가 전체 스케줄을 충족할 때까지 반복된다. 흐름도에서 도시된 바와 같이, 만약 이전 스케줄이 시스템 상에 존재한다면, 시작 시간 "t"는 동적 우선순위 계산을 하기 전에 조정된다. 이 케이스에서, 이전 스케줄의 정적 부분의 이벤트들은 변경 없이 새로운 스케줄로 복사된다. 이는 수신기에서 스케줄을 더 예측 가능하도록 만든다(아래에서 기술됨).
도 11의 흐름도에서, 특정 시간 인스턴트(time instant) t에서 스케줄링된 클립은 그 인스턴트에서의 클립의 동적 우선순위에 의해 결정된다. 도 11의 단계(365)의 예시적인 실시예는 도 12에서 도시된다. 단계(450)에서, 스케줄러(240)는 현재 스케줄 시간 t, 및 현재 지속 기간
Figure pct00022
를 로딩한다. 만약 이전 스케줄이 존재하지 않고 어떤 클립도 현재 이 스케줄링 세션에 스케줄링되어 있지 않다면, 현재 지속 기간
Figure pct00023
는 0과 같다. 만약 이전 스케줄이 존재하지만 어떤 클립도 현재 스케줄링 세션에 스케줄링되어 있지 않다면,
Figure pct00024
는 동적 부분의 시작
Figure pct00025
및 정적 부분의 시작과의 차와 같다. 그렇지 않다면,
Figure pct00026
는 스케줄링된 마지막 클립의 지속 기간과 같다. 단계(455)에서, 스케줄러(240)는 모든 클립의 전송 카운트{예를 들면, 도 8의 전송 카운트(202)}를 업데이트하고, 또한 모든 클립의 마지막 방송 시간을 업데이트한다. 단계(460)에서, 스케줄러(240)는 현재 지속 기간
Figure pct00027
의 값을 검사한다. 만약 현재 지속 기간
Figure pct00028
가 0과 같다면, 단계(470)에서 {도 8에서 도시된 대기 시간(203)으로도 도시된} 각 클립에 대한 대기 시간
Figure pct00029
은 단순히 현재 시간과 그 클립의 마지막 방송 시간과의 차로 다음과 같이 계산된다.
Figure pct00030
Figure pct00031
그러나, 현재 지속 기간의 값
Figure pct00032
가 0과 같지 않다면, 단계(465)에서 이 지속 기간이 {도 8에서 도시된 대기 시간(203)으로도 도시된} 각 클립에 대한 대기 시간
Figure pct00033
에 더해지고, 이전에 스케줄링된 클립의 지속 시간(또는 스케줄의 정적 부분의 지속 시간)을 표현하는
Figure pct00034
에 의해 다음과 같이 계산된다.
Figure pct00035
Figure pct00036
단계(475)에서, 스케줄러(240)는 전송하기 위하여 아직 스케줄링되지 않은 클립의 비유사성을 결정한다. 이와 관련하여, 방송에서의 푸쉬-VOD 종류의 애플리케이션을 실현하는데 있어서 피드백 채널이 없다는 것을 주의해야 한다. 최종 사용자(end users)가 그의 선호도를 송신기로 알리는 역방향 채널이 없다. 푸쉬-VOD 종류의 애플리케이션에서는 전형적으로 서로 우선순위들이 각기 상이한 다양한 종류의 사용자(수신기)가 존재한다. 이런 특정 문제를 고려하지 않는 스케줄러는 푸쉬-VOD 종류의 애플리케이션에게 이상적이지 않다. 예를 들면, 만약 열정적인 축구 팬이 축구 월드컵 하일라이트를 보기 위하여 뉴스 및 뮤직 비디오 전송의 다음 10개의 클립이 끝나기를 기다려야 한다면, 그는 절대로 푸쉬-VOD 종류의 애플리케이션을 좋아하지 않을 것이다.
다양한 종류의 시청자 선호도의 가능성을 고려하기 위하여, 그리고 본 발명의 원리에 따라, 도 12의 단계(475)에서 스케줄러(240)는 이전에 스케줄링된 클립과 비교하여 스케줄링에 이용가능한 각 클립의 비유사성에 가중치를 부여한다. 예를 들면, 시간 t에서 가장 비유사한 클립은 다른 클립보다 큰 비유사성 가중치 값을 가질 것이다. 이 비유사성 가중치 값은 그 후 클립의 동적 우선순위를 결정하는데 사용되고, 그 결과(이하에 기술된 다른 요인들을 고려하지 않음) 유사한 클립이 연속하여 전송되는 대신 비유사한 클립들이 서로 인접하여 전송되도록 스케줄링된다. 스케줄링되지 않은 클립이 스케줄링된 클립과 비교해 얼마나 유사한지를 발견하기 위해, 스케줄러는 예시적으로 각 클립과 관련된 키워드 데이터{도 8의 키워드들(204)}를 사용한다. 위에서 언급하였듯이, 콘텐츠 제공자는 이 키워드 데이터를 제공할 수 있고/있거나 운영자 또한 콘텐츠를 더 잘 분류하기 위해 추가적인 키워드를 특정할 수 있다. 그 대신에, 또한 위에서 언급한 바와 같이, 스케줄러(240)는 키워드들(204)에 저장하기 위한 키워드를 스스로 형성하기 위해 도 8의 기술(213)을 분석할 수 있다. 키워드들(204) 또는 키워드들(214) 내의 키워드 전체 리스트는 유사도(measure of similarity)를 얻기 위하여 다른 클립의 각 키워드와 비교된다. 두 세트의 키워드 간의 상호 관계 비율(the rate of correlation)을 계산하기 위한 여러 가지 방법이 존재한다. 두 벡터들 간의 내적 연산(dot product)을 수행함으로써, 예를 들면 그들 간의 상호 관계를 발견할 수 있다.
예시적으로 단계(475)에서, 스케줄러는 예를 들면 클립 X로 표시되는 스케줄링되지 않은 클립 및 클립 Y로 표시되는 마지막으로 스케줄링된 클립과 같은 두 클립 간의 유사도를 다음과 같이 계산한다.
Figure pct00037
Figure pct00038
Figure pct00039
는 클립 X 및 클립 Y 간의 유사도이고,
Figure pct00040
는 클립 X 및 클립 Y 모두에서 유사한 키워드 수이며,
Figure pct00041
는 클립 X에서의 키워드의 총 수이고,
Figure pct00042
는 클립 Y에서의 키워드의 총 수이다. 식 (3)에서,
Figure pct00043
값은 0 및 1 사이에서 변할 수 있다. 값 1은 전적으로 유사한 클립임을 나타내고, 값 0은 전적으로 비유사한 클립임을 나타낸다. 그러므로, 비유사도는 다음과 같다.
Figure pct00044
Figure pct00045
스케줄러(240)에 의하여 스케줄링되지 않은 각 클립의 비유사도 값
Figure pct00046
는 클립에 대한 동적 우선순위를 결정하는데 사용된다. 이 프로세스에서 키워드들을 특정하는 운영자/콘텐츠 제공자는 시놉시스/요약 영역을 분석함으로써 스케줄러에 의해 생성된 키워드보다 더 가중치가 주어진다.
비유사도는 이전과 비교할 때 가장 비유사한 클립을 식별하기 위해서만 측정될 수는 없지만, 전송의 이전 기록과 비교할 때 가장 비유사한 클립을 찾는 것으로 확장될 수 있다. 이는 비유사도를 변화하는 과거의 비유사도의 평균으로 만듦으로써 성취될 수 있다. 이처럼, 식 (3) 및 (4)과 더불어, 스케줄러(240)는 또한 비유사도를 더 개선할 수도 있다. 특히, 지속 기간
Figure pct00047
를 가지는 클립 X가
Figure pct00048
시간에서 스케줄링된다고 가정하자. 그리고 시간 "t"에서 각 클립의 는 또한 다음과 같이 계산된다.
Figure pct00050
식에서
Figure pct00051
는 {식 (3) 및 (4)로부터 얻은} 클립 X에 대한 클립(i)의 비유사도이고,
Figure pct00052
는 시간
Figure pct00053
, 즉 이전 스케줄링 구간에서 측정된 클립(i)의 비유사도이며,
Figure pct00054
는 0 및 1 사이의 값을 가지는 상수이다.
Figure pct00055
값은 이전 기록보다는 가장 최근 스케줄링된 클립에 대한 비유사도에 최고 가중치가 주어지는 방법으로 선택된다.
스케줄링되지 않은 각 클립에 대한 비유사도를 결정한 후에, 단계(480)에서 스케줄러(240)는 스케줄링되지 않은 모든 클립에 대한 동적 우선순위를 결정한다. 예시적으로, 시간 "t"에서 각 클립의 동적 우선순위는 다음과 같이 주어진다.
Figure pct00056
식에서
Figure pct00057
는 시간 t에서의 클립의 동적 우선순위이고,
Figure pct00058
는 클립의 우선순{도 8의 우선순위(212)}가 주어진 동작자/콘텐츠 제공자이며,
Figure pct00059
는 상기 기술된 시간 t에서의 클립의 비유사도이고(이와 달리,
Figure pct00060
Figure pct00061
대신 사용될 수 있음),
Figure pct00062
는 시간 t에서의 클립의 대기 시간이며,
Figure pct00063
는 클립의 전송 카운트이고,
Figure pct00064
,
Figure pct00065
,
Figure pct00066
,및
Figure pct00067
는 동작자 우선순위, 비유사성, 수명, 및 전송 카운트 각각의 상대적인 가중치를 결정하는 상수이다. 이런 상수가 선험적으로 설정되는 동안, 이런 상수는 또한 최적의 스케줄을 얻기 위해 수동으로 조정되거나, 시청자들로부터의 선택적인 피드백의 총합을 이용함으로써 스케줄러에서 조정될 수 있다. 피드백의 총합은 상이한 순간에 시청자로부터 얻어진 오프라인 피드백의 모음이다. 이는 게이트웨이에 기반한 웹 포탈 또는 SMS(단문 메시지 서비스), 또는 기타 유사한 통신 채널들 중 하나를 통하여 실현될 수 있다.
동적 우선순위는 식 (6)에서 기술되었으나, 변수들
Figure pct00068
,
Figure pct00069
,
Figure pct00070
, 및
Figure pct00071
중 임의의 하나, 둘 또는 세 가지가 동적 우선순위를 결정하기 위해 사용될 수 있다는 것을 주의해야 한다. 사실 본 발명의 원리에 따라, 추가적인 변수 또한 동적 우선순위를 결정하기 위해 이 4가지와 더불어 정의될 수 있다.
위에서 기술한 바와 같이, 예시적으로 전송 카운트
Figure pct00072
는 클립이 전송된 횟수를 측정하는 스케줄링 프로세스를 고려하기 위해 사용된다. 예를 들면, 방송 시스템 비디오 클립에서 시청자는 항상 새로운 클립을 찾을 것이다. 전형적으로, 시청자는 오래된 클립보다는 새로운 클립을 선호할 것이고, 만약 오래된 클립이 운영자 또는 콘텐츠 제공자에 의해 높은 순위가 매겨졌음에도 불구하고 선호되지 못하는 케이스가 가끔 생긴다. 그러므로 스케줄러는 클립이 전송된 횟수를 고려해야 하고, 이에 따라 클립을 스케줄링해야 한다. 스케줄러는 특정 클립이 전송된 횟수를 계산하기 위한
Figure pct00073
를 사용함으로써 이 문제를 해결한다. 모든 새로운 클립은 그들의 전송 카운트
Figure pct00074
값을 0으로 가질 것이다. 클립의 동적 우선순위를 정할 때, 스케줄러는 우선순위를 전송 카운트와 직접 비례하게 감소시킬 것이다. 즉, 전송 카운트가 낮을수록, 동적 우선순위가 높아진다.
이와 관련하여, 스케줄러가 높은 우선순위 콘텐츠를 선호하고 오래된 클립보다 새롭게 추가된 클립을 특별히 고려하기 때문에, 새로운 클립의 잦은 추가는 데이터베이스의 낮은 우선순위 클립을 전송하지 않은 채 무기한 낮은 우선순위로 유지하도록 할 가능성이 있다. 이를 보완하기 위하여, 스케줄러는 식 (6)의 변수
Figure pct00075
를 통해 클립의 수명(aging)을 고려한다(account for). 이와 같이, 클립의 동적 우선순위는 대기 시간이 증가할수록 증가한다.
식 (6)으로부터 클립의 운영자/콘텐츠 제공자 우선순위
Figure pct00076
의 증가는 바로 동적 우선순위의 증가로 이어진다는 것이 또한 발견될 수 있다. 그러므로 운영자/콘텐츠 제공자 선호 클립은 일찍 스케줄링될 것임을 예상할 수 있다.
단계(485)에서, 스케줄러(240)는 전송을 위해 시간 t에서 가장 높은 우선순위 또는 최대의 동적 우선순위
Figure pct00077
를 가지는 클립을 선택하고, 이 클립을 스케줄에 위치시킨다. 만약 다수의 클립이 같은 동적 우선순위를 가진다면, 스케줄러(240)는 클립들 중 하나를 선택하거나, 동적 우선순위가 동일한 클립들 사이에서 라운드 로빈 스케줄(round robin schedule)을 수행할 수 있다는 것을 주의하여야 한다. 예를 들면, 만약 모든 클립 세트의 동적 우선순위로 같은 값이 생성된다면, 스케줄러는 스케줄을 생성하는 세트를 단순히 반복하고, 이리하여 모두가 전송되었음을 확인한다.
단계(490)에서, 선택된 클립은 자신의 대기 시간을 0으로 설정하고{예를 들면, 도 8의 대기 시간(203)}
Figure pct00078
는 선택된 클립의 지속 기간과 같게 설정되어서,
Figure pct00079
값은 스케줄링 프로세스의 다음 반복시 (위에서 기술된) 단계(450)에서 사용된다.
위에서 언급한 바와 같이, 스케줄의 예측가능성은 중요하다. 단방향 방송 환경에서, 수신기는 콘텐츠가 선택적으로 수신되게 하는 스케줄 및 메타데이터 정보에 많이(heavily) 의존한다. 그래서, 수신기가 스케줄을 미리 수신해야 한다는 것은 매우 중요하다. 더구나 만약 새로운 콘텐츠 또는 임의의 다른 이유 때문에 서버에서 임의의 스케줄 변경이 일어난다면, 최근 스케줄은 모든 수신기로 전송될 필요가 있다. 스케줄러는 주기적인 스케줄 업데이트, 예를 들면
Figure pct00080
가 이전에 언급된 스케줄링 주파수일 때 매
Figure pct00081
초마다 스케줄 업데이트를 전송함으로써 이를 수행한다. 주기적인 스케줄 업데이트는 예를 들면 새롭게 스케줄링된 이벤트 및 스케줄링된 콘텐츠에 관련된 다른 메타 데이터를 포함한다. 이런 정보를 이용하여, 수신기는 콘텐츠를 수신할 필요가 있는지 및 콘텐츠를 얻기 위해 언제 조정되어야 하는지의 여부를 결정할 수 있다. 그러므로, 단말기는 전력 및 저장 공간 모두를 절약할 수 있다.
그러나 특정 시스템에서, 스케줄 주파수 업데이트 및 단말기에서의 스케줄 업데이트의 순시 수신(instantaneous reception of the schedule update on the terminal)이 제한된다. 즉, 스케줄 변경이 서버에서 발생하면, 수신기가 이것을 알게 되기까지 소정의 시간이 걸릴 것이다. 이 지연(delay)을 단말기에서의 최소 스케줄 업데이트 간격(minimum schedule update interval)으로서 고려하자. 이 최소 스케줄 업데이트 간격 및 이로 인한 비예측가능성을 설명하기 위해, 스케줄러는 본 발명의 원리에 따라 다른 개념, 즉 도 10에서 도시된 바와 같이 스케줄을 정적 및 동적 부분으로 나누는 것을 도입한다.
이는 도 13에서 더 도시된다. 이 도면은 연속적인 시간 구간에서의 스케줄러(240)에 의한 세 ESG(701, 702, 및 703)의 형성을 도시한다. 간략화를 위해, ESG는 매 분마다 형성되고, 이전 스케줄이 없다고 가정한다. 스케줄러(240)에 의해 0분에서 형성된 제1 ESG는 ESG(701)이다. ESG(701)을 형성하면서, 스케줄러(240)는 클립들 A, B, C, D, 및 E가 전송에 이용가능한지를 결정하고, 위에 기술된 도 9, 11, 및 12의 스케줄링 프로세스에 따라 도 13에 도시된 바와 같이 전송을 위해 클립들 A, B, C, D, 및 E를 스케줄링한다. 도 13에서 관측될 수 있듯이, ESG(701)에서 클립 C가 2분의 지속 기간을 가지는 반면, 클립 A, B, D, 및 E 각각은 1분의 지속 기간을 가진다. 게다가, 남아있는 ESG 일부(401)가 ESG의 동적 부분(410)으로 지정되면서, 정적 부분(401)은 선험적으로 2분의 지속 기간을 갖는 것으로 정의된다.
다음 스케줄링 구간에서, 스케줄러(240)는 클립 B, C, D, E, 및 F가 전송을 위해 이용가능한지 결정한다(클립 A는 전송됨). 게다가, 스케줄러(240)는 이전 스케줄{ESG(701)}이 존재했는지를 결정하고, 정적 부분(401)을 결정한다. 이전에 언급한 바와 같이, 스케줄러(240)는 예시적으로 비선점 스케줄러로 설계된다. 이는 각 비디오 클립 또는 임의의 다른 콘텐츠 파일이 작은 덩어리로 쪼개지지 않는다는 것 및 전송이 다른 타임 슬롯으로 분리되지 않는다는 것을 의미한다. 그러므로, 정의된 정적 부분(401)이 2분의 지속 기간을 가지더라도(클립 C의 중간에 해당됨), 정적 부분(401)은 클립 C 전체를 포함하기 위해 일시적으로 연장된다. 즉, 정적 부분은 최소 2분의 지속 기간을 갖는다. 결과적으로, 클립 B 및 C는 이전에 ESG(701)에서 결정된 바와 같이 전송을 위해 스케줄링된다. 그러나, 도 13에서 관측될 수 있듯이, 클립 D, E, 및 F의 전송의 동적 우선순위를 재계산하는데 있어서, 클립 F는 현재 전송을 위하여 동적 우선순위(410)에서 클립 D 및 E에 앞서 스케줄링된다. 그러므로, 예를 들어 ESG(702)에서의 클립 D는 현재 ESG(701)에서의 클립 D와 다른 전송 순서 또는 우선순위를 가진다.
마지막으로, 다음 스케줄링 구간에서 스케줄러(240)는 클립 C, D, E, F, 및 G가 전송을 위해 이용가능한지를 결정한다(클립 B는 전송됨). 게다가, 스케줄러(240)는 이전 스케줄{ESG(702)}이 존재했는지를 결정하고, 정적 부분(401)을 결정한다. 그러나 정적 부분(401)이 오직 클립 C만 포함하고 있기 때문에, 현재 정적 부분(401)은 2분 뒤로 설정되었다. 그러므로, 클립 C는 전송을 위해 이전에 ESG(702)에서 결정된 바와 같이 스케줄링된다. 그러나 도 13으로부터 관측될 수 있듯이, 클립 D, E, F, 및 G의 전송의 동적 우선순위를 재계산함에 있어서, 클립 G는 현재 전송을 위하여 동적 부분(410)에서 클립 F, D, 및 E의 앞에 스케줄링되어 있다. 그러므로, 예를 들어 ESG(703)에서의 클립 F는 현재 ESG(702)에서의 클립 F와 다른 우선순위 순서를 가진다.
위의 관점에서, 임의의 시간 포인트에서 스케줄러에 의해 생성된 스케줄은 두 부분을 갖는다. 현재 스케줄의 정적 부분은, 대응되는 기간에서 이전 스케줄에 존재했던 이벤트를 가질 것이다. 스케줄의 정적 부분은 또한 타임 라인에서 스케줄이 이동함에 따라 앞으로 이동할 것이다. 즉, 만약 정적 기간이 30초라면 타임 인스턴트 t에서 만들어진 스케줄은 시간 t에서부터
Figure pct00082
까지 정적 부분을 갖고,
Figure pct00083
초에서 만들어진 스케줄은 시간
Figure pct00084
에서부터
Figure pct00085
까지 정적 부분을 가질 것이다.
리스케줄(reschedule)이 발생할 때마다, 새로운 스케줄 변경은 t가 리스케줄링의 타임 인스턴트일 때
Figure pct00086
으로부터 시작하는 스케줄의 동적 부분에서 발생한다. 새로운 스케줄의 정적 부분은 이전 스케줄의 t에서
Figure pct00087
까지의 기간에 대응하여 이벤트를 얻음으로써 만들어진다. 정적 부분에 대한 고정 지속 기간이 구성될 수 있음에도 불구하고(예를 들어, 30초), 도 13의 ESG(701, 702, 및 703)에 대하여 위에서 예시한 바와 같이 정확한 정적 부분은 정적 부분의 클립의 지속 기간에 따라 변할 수 있다.
스케줄의 정적 지속 기간은 시간 기간에 따라 조정될 수 있다. 이상적으로 정적 지속 기간은 단말기에 의해 요구되는 최소 스케줄 업데이트 간격과 같다. 리스케줄링 간격은 또한 새로운 스케줄의 프로세싱 및 전송에 임의의 오버헤드(overhead)를 수용하기 위하여, 필요하다면 조정될 수 있다. 그러므로 단말기가 변경되지 않은 정적 부분에 의존할 수 있는 동안, 임의의 리스케줄 변경이 단말기로 전송될 수 있다.
도 14에 있어서, 수신기(100)의 예시적인 실시예가 본 발명의 원리에 따라 도시된다. 본 발명의 개념과 관련된 수신기(100)의 부분만이 도시된다. 예를 들면 PC, 개인 휴대 정보 단말기(PDA), 셀룰러 폰, 휴대용 디지털 텔레비전(DTV) 등과 같은 수신기(100)는 임의의 프로세서 기반 플랫폼의 대표예이다. 이와 관련하여, 수신기(100)는 도 14에서 점선 박스 형태로 도시된 프로세서(890) 및 메모리(895)에 의해 표현되는 하나 이상의 프로세서 및 관련 메모리를 포함한다. 본 명세서에서, 컴퓨터 프로그램 또는 소프트웨어는 프로세서(890)에 의해 실행되기 위해 메모리(895)에 저장된다. 소프트웨어는 하나 이상의 저장된 프로그램 제어 프로세서의 대표예이고, 예를 들면 프로세서(890)가 또한 수신기(100)의 다른 기능들도 제어할 수 있는 것과 같이 수신 기능 전용일 필요는 없다. 예를 들면, 랜덤 액세스 메모리(RAM), 읽기전용 메모리(ROM) 등과 같은 메모리(895)는 임의의 저장 장치의 대표예이고, 수신기(100)에 내재 및/또는 외재될 수 있으며, 휘발성 또는 비휘발성이다. 수신기(100)는 DVB-H 수신기(810), IP 디-인캡슐레이터(de-encapsulator; 815), 및 FLUTE 수신기(820)를 포함한다. 프로세서(890) 및 메모리(895)에 의해 표현되는 것과 같이 이런 임의의 또는 모든 구성요소는 소프트웨어로 구현될 수 있다. DVB-H 수신기(810)는 안테나(805)를 통해 (도 6의) DVB-H 신호(186)를 수신하고, 복조 신호(demodulated signal)를 IP 디-인캡슐레이터(815)로 제공한다. 후자는 FLUTE 수신기(810)로 ALC 패킷을 제공하는데, 이는 신호(821)에 의해 표시되는 바와 같이 콘텐츠를 복구한다(recover). 이 콘텐츠는 종래에 알려진 바와 같이 수신기(100)에 의해 더 프로세싱될 수 있다{타원(830)으로 표현됨}. 위에서 기술하였듯이, 본 발명의 원리에 따라 프로세서(890)는 식별하는 선택된 클립(콘텐츠)에서 사용하기 위한 정적 부분 및 동적 부분을 가지는 ESG를 복구한다. 이 예에서, 제어 신호(809 및 819)에 의해 표시된 것과 같이 FLUTE 수신기(820) 및 DVB-H 수신기(810)는 프로세서(890)에 의해 전원이 켜졌다가 꺼지므로, 적어도 선택되지 않은 일부 콘텐츠 수신기(100)는 감소된 전력으로 작동된다. 이처럼, 프로세서(890)는 적어도 ESG의 동적 부분에 적응하여(adapts to) 수신된 프로그램 가이드에 표시된 선택 콘텐츠의 수신을 스케줄링한다.
본 발명의 원리에 따른 수신기(900)의 또 다른 예시적인 실시예는 도 15에 도시된다. 오직 본 발명의 개념과 관련된 수신기(900)의 부분만이 도시된다. 수신기(900)는 DVB-H 수신기(910), 복조기/디코더(915), 수송 프로세서(transport processor; 920), 컨트롤러(950), 및 메모리(960)를 포함한다. 아날로그-디지털 변환기(analog-to-digital converter), 프론트-엔드 필터(front-end filter) 등과 같은 수신기의 다른 구성요소는 간략화를 위해 도시되지 않았음을 주목해야 할 것이다. 수송 프로세서(920) 및 컨트롤러(950) 모두는 하나 이상의 마이크로프로세스 및/또는 디지털 신호 프로세서(DSPs)의 각 대표예이고, 프로그램을 실행하고 데이터를 저장하기 위한 메모리를 포함할 수 있다. 이와 관련하여, 메모리(960)는 수신기(900)의 메모리의 대표예이고, 예를 들면 수송 프로세서(920) 및/또는 컨트롤러(950)의 임의의 메모리를 포함한다. 예시적인 양방향 데이터 및 컨트롤 버스(901)는 도시된 바와 같이 수신기(900)의 다양한 요소 중 하나와 함께 결합한다. 예를 들어, (병렬 및/또는 직렬 형태의) 개별 신호가 수신기(900)의 요소들 사이에서 데이터 및 제어 신호를 전달하기 위해 사용될 수 있는 버스(901)가 단순한 대표예이다. DVB-H 수신기(910)는 DVB-H 신호(909)를 수신하고, 복조기/디코더(915)에 하향 변환된(down-converted) DVB-H 신호(911)를 제공한다. 후자는 신호(911)의 복조/디코딩을 수행하고, 수송 프로세서(920)에 디코딩된 신호(916)를 제공한다. 수송 프로세서(920)는 패킷 프로세서이고, DVB-H에 따른 실시간 콘텐츠 또는 파일 기반 콘텐츠 중 하나를 복구하기 위한 실시간 프로토콜 및 FLUTE/ALC 프로토콜 스택 모두를 구현한다. 수송 프로세서(920)는 {타원들(991)로 표시되는} 적절한 후속 회로망에 콘텐츠 신호(921)로 표시되는 콘텐츠를 제공한다. 컨트롤러(950)는 메모리(960)에 저장하기 위한 도 13의 ESG에 의해 표현되는 ESG 정보를 복구하기 위해, 상기 기술된 흐름도에 따른 버스(901)를 통해 수송 프로세서(920)를 제어한다. 컨트롤러(950)는 본 발명의 원리에 따라 선택된 클립(콘텐츠)을 위해 수신된 ESG의 정적 및 동적 부분에 대응하여, 제어 신호(951, 952, 및 953)를 통해{버스(901)를 통해} 수송 프로세서(920), DVB-H 수신기(910), 및 복조기/디코더(915)의 전력 관리를 수행한다. 이와 같이, 컨트롤러(950)는 수신된 프로그램 가이드에서 표현되는 선택된 컨텐츠의 수신을 스케줄링하기 위해 적어도 ESG의 동적 부분에 적응한다.
수신기(100) 또는 수신기(900) 중 하나에서의 사용을 위한 예시적인 흐름도가 도 16에 도시된다. 단계(505)에서, 수신기는 정적 부분 및 동적 부분을 가지는 ESG를 수신하고, 동적 부분에서 표현되는 콘텐츠의 전송 순서는 이전에 수신된 프로그램 가이드의 대응되는 콘텐츠의 전송 순서와 다른 반면, 정적 부분에서 표현되는 콘텐츠의 전송 순서는 이전에 수신된 프로그램 가이드의 대응되는 콘텐츠의 전송 순서로부터 결정된다. 예를 들면, 수신기는 도 13의 ESG(702)를 수신한다. 동적 부분(410)에서 표현되는 콘텐츠의 전송 순서가 ESG(701)에서 표현되는 이전에 수신된 프로그램 가이드에서의 대응되는 콘텐츠의 전송 순서와 다른 반면, ESG(702)의 정적 부분(401)에서 표현되는 콘텐츠의 전송 순서는 ESG(701)로부터 결정된다. 예를 들면, (이전에 수신된 프로그램 가이드인) ESG(701)에서, 클립 D 및 E는 각각 4분 및 5분에서 전송을 위해 스케줄링된다. 그러나 ESG(702)에서는, 클립 D 및 E가 현재 각각 5분 및 6분에서 전송을 위해 스케줄링되어 있는 것과 같이 전송 순서가 변한다는 것을 관측할 수 있다. 도 16으로 돌아가서, 단계(510)에서, 수신기는 ESG의 동적 부분이 이전에 수신된 ESG로부터 변하였는지를, 예를 들면 이전에 수신된 ESG와의 비교에 의해, 또는 ESG의 버전 번호의 사용에 의해 결정한다(도시되지 않음). 만약 ESG의 동적 부분이 변하였다면, 수신기는 단계(515)에서 임의의 전력 관리 스케줄을 업데이트한다. 예를 들면, 만약 클립 D가 수신기에서 선택된 콘텐츠라면, ESG(701)의 수신에 있어서 수신기는
Figure pct00088
분에 수신하도록 스케줄링한다. 그러나, ESG(702)의 수신 후에, 수신기는 프로그램 가이드의 동적 부분에서의 변화를 감지하고, 현재
Figure pct00089
분에서 클립 D로 나타나는 선택된 콘텐츠를 수신하도록 스케줄링한다. 그러므로 수신기는 수신된 프로그램 가이드에 나타난 선택된 콘텐츠의 수신을 스케줄링하기 위해 적어도 수신된 프로그램 가이드의 동적 부분에서의 변화에 적응한다.
기회주의적인(opportunistic) 대역폭 환경{예를 들면, 가변 비트율(variable bit rate; VBR)}에서, 출력 채널 대역폭은 상수가 아니다. 이는 스케줄러에 의해 행해지는 모든 시간 계산에 영향을 미친다. 이를 설명하기 위해, 스케줄러는 대역폭 피드백 인터페이스를 구비할 수 있다. 이와 같이, 스케줄러(240)는 스케줄러가 다음 클립을 스케줄링할 수 있는 시간을 결정할 각 클립의 전송 지속 기간(지속 기간 = 클립의 크기/대역폭)을 계산하기 위하여 출력 대역폭을 감시한다. 이는 FLUTE 송신기(220)로부터 스케줄러(240)로 향하는 피드백 통신 경로(244)만 제외하고는 도 7의 서버(150)와 유사한 도 17의 서버(150')에서 도시된다. 결과적으로, 스케줄러(240)는 대역폭 변화를 지속적으로 감시할 수 있고, FLUTE 송신기(220)가 피드백 통신 경로(244)를 통해 스케줄러(240)로 전송의 완료를 알리기 때문에 변화를 통계적으로 예상할 수 있다. 그러므로, 장기적으로 스케줄러가 행하는(produce) 시간 측정은 더욱 정확성을 가질 것이다. 게다가, 스케줄러는 각 콘텐츠 전송의 상태를 업데이트할 수 있다. 이는 VBR 환경에서 전송 카운트 계산의 에러를 최소화하는데 도움을 준다.
위에서 기술한 바와 같이, 본 발명은 방송 네트워크에서의 전송을 위한 멀티미디어 콘텐츠 파일의 스케줄링에 대해 다수의 문제점을 해결한다. 예를 들면, 본 발명은, 예를 들어 새로운 클립들의 추가 및/또는 삭제와 더불어 콘텐츠 데이터베이스를 기간에 따라 변하게 할 수 있다. 또한, 개별 클립과 관련된 운영자 선호도 또한 시간에 따라 변할 수 있다. 더욱이, 스케줄러는 고정 비트율(Constant Bit Rate; CBR) 출력 채널 또는 가변 비트율(VBR) 출력 채널 중 하나에 적용될 수 있다.
본 발명이 DVB-H 시스템 상에서 기술되었지만, 이에 한정되지 않는다는 것에 주의해야 한다. 게다가, 본 발명이 스케줄링 메타데이터의 특정 요소에 대해 기술되었지만, 본 발명은 이에 한정되지 않으며, 추가적인 또는 적은 분야에서 스케줄링 메타데이터를 포함할 수 있다. 또한, 스케줄러는 서버 또는 헤드엔드의 일부로 도시되지만, 본 발명은 이에 제한되지 않으며, 스케줄러는 ESG 및/또는 FLUTE 송신기로 스케줄링된 정보를 제공하기 위해 서버로부터 분리될 수 있다.
상기 관점에서, 앞의 내용은 본 발명의 원리를 단지 예시할 뿐이므로, 여기에 명확히 기술되지는 않았지만 본 발명의 원리를 포함하고 본 발명의 사상과 범주 내에 있는 수 많은 대안적인 방식을 당업자가 고안할 수 있을 것이다. 예를 들면, 개별 기능적 요소로 도시되었지만, 이 기능적 요소는 하나 이상의 집적 회로(ICs)에 포함될 수 있다. 유사하게, 개별적 요소로 도시되었음에도 불구하고, (예를 들면 도 7의) 임의의 또는 모든 요소는 디지털 신호 프로세서와 같은 저장된 프로그램으로 컨트롤되는 프로세서(stored-program-controlled processor)로 구현될 수 있고, 이 프로세서는 도 9, 11, 및 12의 하나 이상의 단계에 대응하는 관련된 소프트웨어를 실행한다. 더욱이, 본 발명의 원리는 예를 들면 위성, 와이-파이, 셀룰러 등과 같은 다른 형식의 통신 시스템에도 적용될 수 있다. 사실, 본 발명은 또한 비휴대용 또는 휴대용 수신기에 적용될 수도 있다. 그러므로 예시적인 실시예에 수 많은 수정이 가해질 수 있고, 본 발명의 사상과 범주에 벗어나지 않는 범위 내에서 다른 방식이 고안될 수 있다.

Claims (20)

  1. 적어도 콘텐츠 파일 간의 비유사도(a dissimilarity measure)에 따라 결정되는 동적 우선순위 값의 함수로서 콘텐츠 파일에 대한 전송 순서를 결정하는 단계; 및
    상기 결정된 전송 순서에 따라 상기 콘텐츠 파일을 전송하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 비유사도는 상기 콘텐츠 파일들이 얼마나 유사한지를 나타내는, 방법.
  3. 제1항에 있어서, 상기 콘텐츠 파일은 오디오 클립 또는 비디오 클립인, 방법.
  4. 제1항에 있어서, 상기 콘텐츠 파일 각각에 대한 상기 동적 우선순위 값
    은 또한 각 콘텐츠 파일과 관련된 콘텐츠 제공자 값, 대기 시간 값, 및 전송 카운트 값 중 적어도 하나에 따라 결정되는, 방법.
  5. 제1항에 있어서,
    상기 결정된 전송 순서를 나타내는 전자 서비스 가이드를 생성하는 단계; 및
    상기 전자 서비스 가이드를 전송하는 단계
    를 더 포함하는, 방법.
  6. 제1항에 있어서, 상기 결정하는 단계는,
    각 콘텐츠 파일과 관련된 기술형 데이터(descriptive data)를, 각 콘텐츠 파일에 대한 비유사도를 결정하기 위해 전송되도록 이전에(previously) 스케줄링된 적어도 하나의 콘텐츠 파일과 관련된 기술형 데이터와 비교하는 단계
    를 더 포함하는, 방법.
  7. 제5항에 있어서, 상기 기술형 데이터는 클립 메타 데이터인, 방법.
  8. 제5항에 있어서, 상기 기술형 데이터는 각 클립과 관련된 키워드를 나타내는, 방법.
  9. 제1항에 있어서, 상기 전송 순서에서의 상기 콘텐츠 파일의 위치는, 후속하여 전송되는 콘텐츠 파일의 동적 우선순위 값보다 높지는 않지만 적어도 동일한 관련 동적 우선순위 값을 갖는, 방법.
  10. 제1항에 있어서, 상기 결정하는 단계는,
    상기 콘텐츠 파일에 대한 전송 시간을 조정하는데 사용하기 위하여 출력 대역폭을 감시하는, 방법.
  11. 적어도 콘텐츠 파일 간의 비유사도에 따라 결정되는 동적 우선순위 값의 함수로서 상기 콘텐츠 파일에 대한 전송 순서를 결정하기 위한 프로세서; 및
    상기 결정된 전송 순서에 따라 상기 콘텐츠 파일을 전송하기 위한 변조기
    를 포함하는, 장치.
  12. 제11항에 있어서, 상기 비유사도는 상기 콘텐츠 파일들이 얼마나 유사한지를 나타내는, 장치.
  13. 제11항에 있어서, 상기 콘텐츠 파일은 오디오 클립 또는 비디오 클립인, 장치.
  14. 제11항에 있어서, 상기 콘텐츠 파일 각각에 대한 상기 동적 우선순위 값은 또한 각 콘텐츠 파일과 관련된 콘텐츠 제공자 값, 대기 시간 값, 및 전송 카운트 값 중 적어도 하나에 따라 결정되는, 장치.
  15. 제11항에 있어서, 상기 프로세서는 전송을 위하여 전자 서비스가 생성되도록 하고, 상기 전자 서비스 가이드는 상기 결정된 전송 순서를 나타내는, 장치.
  16. 제11항에 있어서, 상기 프로세서는 각 콘텐츠 파일과 관련된 기술형 데이터를, 각 콘텐츠 파일에 대한 비유사도를 결정하기 위해 전송되도록 이전에 스케줄링된 적어도 하나의 콘텐츠 파일과 관련된 기술형 데이터와 비교하는, 장치.
  17. 제16항에 있어서, 상기 기술형 데이터는 클립 메타 데이터인, 장치.
  18. 제16항에 있어서, 상기 기술형 데이터는 각 클립과 관련된 키워드를 나타내는, 장치.
  19. 제11항에 있어서, 상기 전송 순서에서의 상기 콘텐츠 파일의 위치는, 후속하여 전송되는 콘텐츠 파일의 동적 우선순위 값보다 높지는 않지만 적어도 동일한 관련 동적 우선순위 값을 갖는, 장치.
  20. 제11항에 있어서, 상기 프로세서는 상기 콘텐츠 파일에 대한 전송 시간을 조정하는데 사용하기 위하여 출력 대역폭을 감시하는, 장치.
KR1020107005066A 2007-08-07 2008-06-17 방송 클립 스케줄러 KR20100053618A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US96378207P 2007-08-07 2007-08-07
US60/963,782 2007-08-07

Publications (1)

Publication Number Publication Date
KR20100053618A true KR20100053618A (ko) 2010-05-20

Family

ID=40341935

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107005066A KR20100053618A (ko) 2007-08-07 2008-06-17 방송 클립 스케줄러
KR1020107003746A KR20100049606A (ko) 2007-08-07 2008-06-17 방송 클립 스케줄러

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107003746A KR20100049606A (ko) 2007-08-07 2008-06-17 방송 클립 스케줄러

Country Status (7)

Country Link
US (2) US20100138871A1 (ko)
EP (2) EP2176975A2 (ko)
JP (2) JP2010536238A (ko)
KR (2) KR20100053618A (ko)
CN (2) CN101772911A (ko)
BR (2) BRPI0815128A2 (ko)
WO (2) WO2009020492A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009020492A2 (en) * 2007-08-07 2009-02-12 Thomson Licensing Broadcast clip scheduler
CN101889425B (zh) 2007-12-14 2013-10-30 汤姆逊许可公司 通过可变带宽信道进行同播的设备和方法
CN101889409A (zh) 2007-12-18 2010-11-17 汤姆逊许可公司 基于广播网络的文件大小估计设备和方法
JP5517181B2 (ja) * 2008-07-24 2014-06-11 日本電気株式会社 コンテンツ配信システム、コンテンツ受信方法および装置
US8332528B2 (en) * 2008-11-18 2012-12-11 Agere Systems Llc Personal broadcast and content delivery engine
US8856821B2 (en) * 2009-01-14 2014-10-07 Mobitv, Inc. Distributed scheduling of media channel playout
GB2473258A (en) * 2009-09-08 2011-03-09 Nds Ltd Dynamically multiplexing a broadcast stream with metadata-based event inclusion decisions and priority assignment in case of conflict
CN102014309A (zh) * 2009-09-08 2011-04-13 中兴通讯股份有限公司 一种传输电子业务指南的方法及系统
JP2011211650A (ja) * 2010-03-30 2011-10-20 Oki Electric Industry Co Ltd 告知放送サーバ及び告知端末
US8745671B2 (en) * 2010-04-13 2014-06-03 Imagine Communications Corp. Systems and methods for presentation of digital media at a mobile platform
JP5679840B2 (ja) * 2011-01-31 2015-03-04 三菱電機株式会社 プレイリスト作成装置、プレイリスト編集装置
GB2496414A (en) * 2011-11-10 2013-05-15 Sony Corp Prioritising audio and/or video content for transmission over an IP network
US9596497B2 (en) * 2013-04-18 2017-03-14 Disney Enterprises, Inc. Recipient specific lists for distribution of media content
US9774914B2 (en) 2015-08-25 2017-09-26 Wowza Media Systems, LLC Scheduling video content from multiple sources for presentation via a streaming video channel
JPWO2017047433A1 (ja) * 2015-09-18 2018-07-05 ソニー株式会社 送信装置、受信装置、およびデータ処理方法
EP3442240A1 (en) * 2017-08-10 2019-02-13 Nagravision S.A. Extended scene view
US10687104B2 (en) 2018-05-10 2020-06-16 Arris Enterprises Llc Push video on demand schedule simulator
CN112188235B (zh) * 2019-07-05 2023-03-24 上海交通大学 媒体处理方式的选择方法及媒体处理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69841239D1 (de) * 1998-05-27 2009-11-26 Sony France Sa Sequenzgenerierung, die eine Formulierung als Bedingungserfüllungsproblem nutzt
JP2001357300A (ja) * 2000-06-12 2001-12-26 Sony Corp 映像コンテンツ提供方法、映像コンテンツ提供システム、映像コンテンツ提供装置、映像コンテンツを提供するプログラムを格納したプログラム格納媒体、広告映像提供装置、広告映像を提供するプログラムを格納したプログラム格納媒体、映像コンテンツ再生装置、映像コンテンツを再生するプログラムを格納したプログラム格納媒体、広告料集計システム、広告料集計方法及び広告料を集計するプログラムを格納したプログラム格納媒体
US7036138B1 (en) * 2000-11-08 2006-04-25 Digeo, Inc. Method and apparatus for scheduling broadcast information
US7283992B2 (en) * 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
JP3999530B2 (ja) * 2002-02-25 2007-10-31 日本電信電話株式会社 コンテンツ情報分類装置、プログラム、および同プログラムを記録した記録媒体
US8145120B2 (en) * 2003-10-27 2012-03-27 Nokia Corporation Apparatus, system, method and computer program product for service selection and sorting
JPWO2005096629A1 (ja) * 2004-03-31 2007-08-16 株式会社デンソーアイティーラボラトリ 番組表作成方法及び番組表作成装置並びに番組表作成システム
US7827579B2 (en) * 2004-09-09 2010-11-02 Nokia Corporation Mobile television electronic service guide delivery system
KR100735218B1 (ko) * 2004-12-14 2007-07-03 삼성전자주식회사 디지털 방송수신기의 방송정보 표시장치 및 방법
US7614068B2 (en) * 2005-03-18 2009-11-03 Nokia Corporation Prioritization of electronic service guide carousels
JP4775626B2 (ja) * 2005-04-15 2011-09-21 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7574231B2 (en) * 2005-09-07 2009-08-11 Sharp Kabushiki Kaisha Receiving device, rebroadcast content scheduling device, reception state notifying method, rebroadcast content scheduling method, rebroadcast content scheduling system, rebroadcast content scheduling program, and recording medium
US7827580B2 (en) * 2006-12-22 2010-11-02 Nokia Corporation Dynamically adjustable electronic service guide
US7870377B2 (en) * 2007-02-07 2011-01-11 Nokia Corporation Automatic electronic-service-guide selection
WO2009020492A2 (en) * 2007-08-07 2009-02-12 Thomson Licensing Broadcast clip scheduler

Also Published As

Publication number Publication date
WO2009020493A3 (en) 2009-04-23
WO2009020493A2 (en) 2009-02-12
WO2009020492A3 (en) 2010-04-15
JP2010536238A (ja) 2010-11-25
US20100138870A1 (en) 2010-06-03
EP2201708A2 (en) 2010-06-30
JP2011503917A (ja) 2011-01-27
CN101772911A (zh) 2010-07-07
BRPI0815128A2 (pt) 2015-02-03
EP2176975A2 (en) 2010-04-21
KR20100049606A (ko) 2010-05-12
BRPI0815125A2 (pt) 2015-02-03
CN101779398A (zh) 2010-07-14
US20100138871A1 (en) 2010-06-03
WO2009020492A2 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
KR20100053618A (ko) 방송 클립 스케줄러
JP6852121B2 (ja) シグナリング又はブロック生成を用いた拡張ブロック−要求ストリーミングシステム
JP5148697B2 (ja) 受信機で電力管理を実行する装置及び方法
EP2068557B1 (en) Mapping mobile device electronic program guide to content
KR101083378B1 (ko) Ipdc 오버 dvb-h에서의 동적 sdp 업데이트
US20070300265A1 (en) User behavior adapted electronic service guide update
CN101889425B (zh) 通过可变带宽信道进行同播的设备和方法
EP2073495A1 (en) Method of management of metadata size of a service guide
US20050220147A1 (en) Retransmission of a burst copy in a broadband digital network
EP3981121B1 (en) System and method for out-of-order transmission stream of content via ambient intelligent one-to-many transmission mode
KR20140125668A (ko) 방송 서비스의 제공 방법 및 장치

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid