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

방송 클립 스케줄러 Download PDF

Info

Publication number
KR20100049606A
KR20100049606A KR1020107003746A KR20107003746A KR20100049606A KR 20100049606 A KR20100049606 A KR 20100049606A KR 1020107003746 A KR1020107003746 A KR 1020107003746A KR 20107003746 A KR20107003746 A KR 20107003746A KR 20100049606 A KR20100049606 A KR 20100049606A
Authority
KR
South Korea
Prior art keywords
content
clip
scheduler
schedule
program guide
Prior art date
Application number
KR1020107003746A
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 KR20100049606A publication Critical patent/KR20100049606A/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

스케줄러가 방송 네트워크를 통한 전송을 위해 멀티미디어 콘텐트 파일을 스케줄한다. 멀티미디어 콘텐트 파일은 스포츠 비디오, 뮤직비디오, 뉴스 클립, 영화 사운드트랙 등과 같은 어떠한 종류의 오디오/비디오 클립도 될 수 있다. 특히, 스케줄러는 콘텐트 파일에 대한 전송 순위를 결정하고 정적 부분과 동적 부분을 갖는 전자 서비스 가이드를 생성하는데, 상기 동적 부분 내에 스케줄된 콘텐트는 상이한 버전의 전자 서비스 가이드 내에서 상이한 전송 순위를 가질 수 있다. 배터리 전원과 저장부를 절약하여 수신기가 자신의 선호 클립(preferred clips)의 선택적 수신을 할 수 있도록, 스케줄 타이밍 정보와 메타데이터 정보가 방송 네트워크를 통하여 클립과 함께 전송된다.

Description

방송 클립 스케줄러{Broadcast Clip Scheduler}
본 발명은 일반적으로 통신 시스템에 관한 것이고, 더욱 구체적으로는 예를 들어 지상파 방송, 셀룰러, Wi-Fi(Wireless-Fidelity), 위성 등의 무선 시스템에 관한 것이다.
오늘날, 모바일 장치는-MP3 플레이어로부터 개인 휴대 정보단말기(personal digital assistants), 휴대폰, 모바일 텔레비전(TVs)까지- 어디에도 있다. 불행히도, 모바일 장치는 계산 자원(computational resources) 및/또는 전원에 있어 제한을 가지고 있다. 이와 관련, 디지털 비디오 방송-핸드헬드(DVB-H) 시스템 상의 인터넷 프로토콜(IP) 데이터캐스트(internet protocol datacast)는 상기 장치에 대해 최적화되어 있는 IP 기반 메커니즘을 이용한 어떤 형태의 파일 및 서비스의 전달을 위한 종단 간(end-to-end) 방송 시스템이다. 예를 들어, ETSI EN 302 304 V1.1.1(2004-11) "Digital Video Broadcasting(DVB); Transmission System for Handheld Terminals(DVB-H)"; ETSI EN 300 468 V1.7.1(2006-5) "Digital Video Broadcasting(DVB); Specification for service Information(SI) in DVB systems"; ETSI TS 102 472 V1.1.1(2006-6) "Digital Video Broadcasting(DVB); IP Datacast over DVB-H; Content Delivery Protocols"; and ETSI TS 102 471 V1.1.1(2006-04) "Digital Video Broadcasting(DVB); IP Datacast over DVB-H: Electronic Service Guide(ESG)"를 참조하라. 본 기술분야에서 알려진 DVB-H 시스템 상 IP 데이터캐스트(IP Datacast over DVB-H system)의 예가 도 1에 도시되어 있다. 도 1에서, (여기서는 "서버"로도 불리는) 헤드엔드(head-end, 10)는 안테나(35)를 통하여 DVB-H 신호(36)를 수신기(90)에 의해 표시된 바와 같은 하나 또는 그 이상의 수신장치(여기서는 "클라이언트" 또는 "수신기"로도 불림)에 방송한다. DVB-H 신호(36)는 클라이언트에 IP 데이터캐스트(IP Datacasts)를 전달한다. 수신기(90)는 IP 데이터캐스트의 복구를 위해 안테나를 통하여 DVB-H 신호(36)를 수신한다. 도 1의 시스템은 단방향 네트워크(unidirectional network)를 나타낸다.
상술한 IP 데이터캐스트는 전자 서비스 가이드(electronic service guide, ESG) 및 콘텐트 파일과 같은 파일을 배포함으로써 콘텐트 기반 서비스를 제공하기 위하여 사용된다. 도 1에서, 콘텐트 기반 서비스는 텔레비전(TV) 프로그램과 같은 실시간 콘텐트, 또는 일반 TV 프로그램보다 짧은 쇼트-형태(short-form) 콘텐트와 같은 파일기반 콘텐트일 수 있다. ESG는 사용자에게 콘텐트 기반 서비스를 선택할 수 있는 능력을 제공하고 수신기로 하여금 선택된 콘텐트를 복구할 수 있도록 한다. 이와 관련, ESG는 일반적으로 콘텐트에 관한 기술형 데이터(descriptive data) 또는 메타데이터를 포함한다(상기 "콘텐트"는 여기서는 이벤트(event)로도 불린다.). 상기 메타데이터는 여기서는 "콘텐트 메타데이터"로도 불리며, 스케줄된 시각, 날짜, 지속시간 및 방송을 위한 채널뿐만 아니라 TV 프로그램의 명칭, 시놉시스, 배우, 감독(director) 등을 포함한다. 수신기(90)과 관련된 사용자는 ESG에 의하여 확인된 적정 채널에 수신기(90)를 튜닝함으로써 ESG에 의해 참조된 콘텐트를 수신할 수 있다. TV 방송과 같은 실시간 콘텐트의 경우 ESG는 세션 서술 프로토콜(Session Description Protocol, SDP) 파일(M. Handley, V. Jacobson, April 1998 - "RFC 2327 - SDP: Session Description Protocol 참조)을 포함한다는 점을 알아야 한다. 상기 SDP 파일은 수신기(90)가 선택된 방송 콘텐트에 튜닝할 수 있도록 하는 추가적인 정보를 포함한다.
파일-기반 콘텐트와 관련하여, 도 1의 헤드엔드(10)는 FLUTE(File Delivery over Unidirectional Transport) 프로토콜(예를 들어, T.Paila, M. Luby, V. Roca, R. Walsh, "RFC 3926 - FLUTE - File Delivery over Unidirectional Transport", October 2004 참조)을 이용하여 파일을 배포한다. FLUTE 프로토콜은 단방향 네트워크 상에서 파일 또는 데이터를 전송하는데 사용되고 멀티캐스트 파일 전달을 대비한다. 본 실시예에서, 헤드엔드(10)는 ALC(Asynchronous Layered Coding) 프로토콜(예를 들어, Luby, M., Gemmell, J., Vicisano, L., Rizzo, L., and J. Crowcroft, "Asynchronous Layered Coding(ALC) Protocol Instantiation", RFC 3450, December 2002 참조)을 FLUTE를 위한 기본 전송으로서 사용한다. 그것은 특히 대규모 확장형(scalable), 단방향, 멀티캐스트 배포에 적합하다.
도 2로 돌아가서, FLUTE를 사용한 파일기반 콘텐트의 전송은 ESG를 방송 중인 헤드엔드(10)과 관련하여 도시되어 있다. 다른 파일기반 콘텐트의 전송은 유사하지만 여기서는 기술되지는 않는다. 헤드엔드(10)는 ESG 발생기(15), FLUTE 송신기(FLUTE sender, 20), IP 캡슐화기(IP encapsulator, 25) 및 DVB-H 변조기(DVB-H modulator, 30)를 포함한다. ESG 발생기(15)는 FLUTE 송신기(20)에 ESG를 제공하며, FLUTE 송신기(20)는 ALC에 따른 FLUTE에 따라 상기 ESG를 포맷하고, 본 기술분야에서 공지된 바와 같이 IP 패킷 내의 캡슐화를 위해, 상기 FLUTE 파일을 전달하는 상기 결과물로서의 ALC 패킷을 IP 캡슐화기(25)에 제공한다. 그 결과물로서의 IP 패킷은 도 1에 도시된 바와 같이 하나 또는 그 이상의 수신장치로의 전송을 위하여 DVB-H 변조기(30)에 제공된다. 수신기는 수신기에서의 사용을 위해 상기 ESG를 복구하기 위하여 특정 FLUTE 채널(예를 들어, IP 어드레스 및 포트번호)에 튜닝한다.
상술한 바와 같이, 수신기는 예를 들어 배터리 수명과 같은 전원 제한을 가질 수 있다. 또한, 방송 네트워크(broadcast network) 내의 수신기는 특정 또는 선택된 파일기반 콘텐트를 특정 때에 수신하고 있을 수 있다. 다른 때에는, 상기 수신기는 - 최고 전력수준으로 되어 있는 동안에 - 다른 방송 네트워크에 의해 전송된 다른 어떠한 콘텐트도 처리하고 있지 않다. 따라서, 선택된 정보가 수신되고 있지 않은 상기의 시간 간격(time intervals) 동안에 상기 수신기가 전력을 줄일 수 있도록, 만약 FLUTE 송신기(예를 들어 도 2의 헤드-엔드(10)의 FLUTE 송신기(20))와 FLUTE 수신기(예를 들어 도 1의 수신기(90)의 FLUTE 수신기 부분(미도시))가 수신기의 배터리 수명을 증가시키기 위하여 시간 동기화될 수 있다면, 이는 유익할 것이다. 시간 동기화(time synchronization)를 수행하기 위한 한 접근법이 도 3에 도시되어 있다. 구체적으로, 도 3에서, 시간 동기화가 헤드-엔드(10)와 수신기(90) 간에 NTP 서버(Network Time Protocol server, 45)를 통해 수행된다. 이 경우, (헤드-엔드(10)의) FLUTE 송신기(20)는 NTP 서버(45)로부터의 NTP 타임스탬프를 포함하는 시간 및 날짜 테이블(Time and Date Table, TDT)(예를 들어, 상기 인용된 ETSI EN 300 468 V1.7.1 참조)을 제공한다. 헤드-엔드(10)는 DVB-H 신호(36) 내의 상기 TDT를 방송한다(broadcast). 그리고 나서, 수신기(90)는 선택된 콘텐트를 찾기 위해 상기 수신된 NTP 타임스탬프(time stamp)를 특정 때에 사용한다. 한편, 헤드-엔드(10)는, 라이브 서비스 방송(예를 들어, Audio-Vedio Transport Working Group, H. Schulzrinne, GMD Fokus S. Casner, Precept Software, Inc., R. Frederick, Xerox Palo Alto Research Center, V. Jacobson., January 1996 - "RFC 1889 RTP: A Transport for Real-Time Applications 참조)에 포함된 RTCP 송신기 리포트(Real-time Transport Control Protocol Sender Reports) 내 상기 NTP 타임스탬프를 수신기(90)에 제공할 수 있다.
(예를 들어 도 1에 도시된 바와 같은) 단방향 방송네트워크는 멀티미디어 또는 데이터 콘텐트의 확장형 방송을 위한 이상적인 선택이다. 방송 네트워크는 특히 멀티미디어 콘텐트 전송 및 스트리밍을 위해 널리 사용된다. 하지만, 이러한 종류의 네트워크는 수신기들에 대한 점대점(point-to-point) 서비스를 수행하는 능력이 부족하고, 또한 상기 수신기들이 송신기에 그들의 선호(preference)에 대하여 통지하기 위한 어떠한 역방향채널(reverse channel)도 가지고 있지 않다.
본 발명이 해결하고자 하는 과제는 종래 기술의 문제점을 개선할 수 있는 방법 및 장치를 제공하는 데 있다.
방송 네트워크 상에서 행해지는 VOD(Push-Video ON Demand) 종류의 서비스를 행하기 위하여, 송신기는 선호 콘텐트를 얻는데 있어 최대 개수의 수신기를 만족시켜야 한다. 또한, 콘텐트 제공자와 오퍼레이터(operator)는 전송을 위한 그들 고유의 우선순위(priorities)도 가질 것이다. "오퍼레이터"(서비스 제공자로도 불림)는 방송 서비스를 정의하고 상기 서비스에 대한 콘텐트를 제공하는 실체이다; "콘텐트 제공자"는 어떤 특정한 서비스 또는 일련의 서비스에 대한 콘텐트를 창작하는 실체이다.
따라서, 및 본 발명에 따르면, 서버가 정적 부분(static part)과 동적 부분(dynamic part)을 갖는 프로그램 가이드를 결정하되, 상기 동적 부분에 표시된 콘텐트의 전송 순위(transmission order)는 이전에 결정된 프로그램 가이드 내의 대응하는 콘텐트의 전송순위와 달라질 수 있는 반면, 상기 정적 부분에 표시된 콘텐트의 전송 순위는 상기 이전에 결정된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위로부터 결정된다.
본 발명의 일실시예에서, 상기 헤드-엔드는 콘텐트 파일에 대한 전송 순위를 결정하는 스케줄러(scheduler)를 포함하고, 정적 부분과 동적 부분을 갖는 전자 서비스 가이드를 생성하는데, 상기 동적 부분 내에 스케줄된 콘텐트는 상이한 버전의 전자 서비스 가이드 내에서 상이한 전송 순위를 가질 수 있다. 배터리 전원과 저장부를 절약하여 수신기가 자신의 선호 클립(preferred clips)의 선택적 수신을 할 수 있도록, 스케줄 타이밍 정보와 메타데이터 정보가 방송 네트워크를 통하여 클립과 함께 전송된다.
상술한 내용을 고려하여, 및 상세한 설명으로부터 명백하게 되는 바와 같이, 다른 실시예 및 특징도 가능하며 본 발명의 사상의 범위에 있다.
본 발명에 따르면, 종래의 문제점을 효과적으로 개선한 방송 클립 스케줄러 또는 이와 관련된 장치, 방법을 제공할 수 있다.
도 1 내지 3은 DVB-H(Digital Video Broadcasting-Handheld) 시스템 상에서의 종래 인터넷 프로토콜(IP) 데이터캐스트를 나타낸다.
도 4 및 5는 도 1 내지 3의 상기 시스템에 대한 파일-기반 콘텐트 전송 및 ESG의 관련 부분을 나타낸다.
도 6은 본 발명에 따른 시스템의 일 실시예를 나타낸다.
도 7은 본 발명에 따른 실시예적인 서버를 나타낸다.
도 8은 본 발명에 따른 실시예적인 스케줄링 메타데이터를 나타낸다.
도 9는 본 발명에 따라 서버(150)에서의 사용을 위한 실시예적인 흐름도를 나타낸다.
도 10은 본 발명에 따른 실시예적인 스케줄을 나타낸다.
도 11 및 12는 발명에 따라 서버(150)에서의 사용을 위한 다른 실시예적인 흐름도를 나타낸다.
도 13은 본 발명에 따른 다른 실시예적인 스케줄을 나타낸다.
도 14 및 도 15는 본 발명에 따른 수신기의 실시예를 나타낸다.
도 16은 본 발명에 따라 수신기에서의 사용을 위한 실시예적인 흐름도를 나타낸다.
도 17은 본 발명에 따른 또 다른 실시예적인 서버를 나타낸다.
진보 개념 이외에, 도면에 도시된 구성요소들은 공지된 것이고 상세하게 설명되지는 않을 것이다. 예를 들어, 진보 개념이외에, 이산 멀티톤 전송(discrete multitone transmission, DMT)(여기서는 OFDM(Orthogonal Frequency Division Multiplexing) 또는 COFDM(Coded Orthogonal Frequency Division Multiplexing)으로도 불림)과 관련하여 공지된 내용은 추정되고 여기서는 기재되지 않는다. 또한, 텔레비전 방송, 수신기 및 비디오 인코딩과 관련하여 공지된 내용도 추정되고 여기서는 상세하게 기재되지는 않는다. 예를 들어, 진보 개념이외에, NTSC(National Television Systems Committee), PAL(Phase Alteration Lines), SECAM(SEquential Couleur Avec Memoire), ATSC(Advanced Television Systems Committee), CDTS(Chinese Digital Television System)(GB) 20600-2006, 및 DVB-H와 같은 TV 표준에 대한 현재 및 제안되는 권고사항들과 관련하여 공지된 사항도 추정된다. 마찬가지로, 진보 개념 이외에, 8-VSB(eight-level vestigial sideband), QAM(Quadrature Amplitude Modulation), 및 (저노이즈 블럭, 튜너, 다운 컨버터 등과 같은) RF 프론트엔드(radio-frequency front-end), 복조기, 상관기(correlators), 누설 통합기(leak integrators), 스퀘어러(squarers) 등의 수신기 요소와 같은 다른 전송 개념은 추정된다. 또한, 진보 개념 이외에, FLUTE 프로토콜(File Delivery over Unidirectional Transport protocol), ALC 프로토콜(Asynchronous Layered Coding protocol), IP(Internet protocol) 및 IPE(Internet Protocol Encapsulator)와 같은 프로토콜과 관련하여 공지된 사항도 추정되고 여기서는 기재되지 않는다. 마찬가지로, 진보 개념 이외에, (MPEG-2(Moving Picture Expert Group) 시스템 표준(ISO/IEC 13818-1)과 같은) 전송 비트스트림 생성을 위한 포맷팅 및 인코딩 방법은 공지된 것이고 여기서는 기술되지 않는다. Pull-VOD 및 Push-VOD와 관련하여 공지된 내용도 추정된다. Pull-VOD 서비스에서 사용자는 특정 비디오 클립을 요청하고 서버는 상기 특정 사용자에게 그것을 보낸다. Push-VOD 서비스에서, 사용자의 선호 비디오는 사용자의 능동적인 비디오 요청없이 수신기에 보내진다. 상기 진보 개념은 종래의 프로그래밍 기술을 사용하여 실행될 수도 있고 이에 따라 여기서는 기술되지 않을 것이라는 점을 알아야 한다. 마지막으로, 도면 상의 유사 번호는 유사 구성요소를 나타낸다.
본 진보 개념을 기술하기에 앞서, 도 4는 DVB-H에서의 종래 파일-기반 콘텐트 전송을 나타낸다. 도 4에서, DVB-H에서의 파일-기반 콘텐트 전송은 클립(50, 51, 52 및 53)으로 표시된 다수의 이벤트(여기서는 클립으로도 칭해짐)를 포함한다. 각각의 클립은 다수의 패킷을 포함할 수 있지만, 이것은 진보 개념과 관련된 것은 아니다. ESG는 각각의 클립을 시작 시각(start time) 및 종료시각(end time)과 관련시키고, 대응하는 FLUTE 세션에서의 관련 콘텐트 파일을 확인한다. 이는 도 4에서 클립(51)과 관련된 ESG(ESG 부분(ESG fragment, 60))의 부분(60)에 대해 도시되어 있다. 간결화를 위해 다른 ESG 데이터는 도시되어 있지 않다. 도 4에 도시된 바와 같이, ESG 부분(60)은 클립(51)과 관련하여 PublishedEndTime 파라미터(62)뿐만 아니라 ContentLocation 파라미터(65), PublishedStartTime 파라미터(61)을 포함한다. 이 실시예에서, 대응하는 FLUTE 세션에서의 관련된 콘텐트는 "Clip.mp4"이다. PublishedStartTime(63) 및 PublishedEndTime(64)의 실제값은 각각 세계 협정시(Coordinate Universal Time, UTC) 단위이다. PublishedStartTime에 대한 값은 FLUTE 송신기가 실제로 파일을 전송하기 시작하게 될 시각, 즉 상기 클립이 상기 FLUTE 송신기로부터 상기 시스템 체인 내의 다음 블럭으로 핸드오프되는 시각이다. 이는 DVB-H 시스템에 대하여 도 5에서 더 도시되어 있는데, 즉 상기 PublishedStartTime에 대한 값은 FLUTE 송신기(20)가 상기 클립을 IP 캡슐화기(25)에 핸드오프시키는 시각이다.
이미 언급된 바와 같이, 방송 네트워크 상에서 동작하는 Push-VOD 종류의 서비스를 행하기 위해서, 송신기는 선호 콘텐트를 얻는데 있어 최대 개수의 수신기를 만족시켜야 한다. 또한, 콘텐트 제공자와 오퍼레이터는 전송을 위한 그들 고유의 우선순위(priorities)도 가질 것이다. "오퍼레이터"(서비스 제공자로도 불림)는 방송 서비스를 정의하고 상기 서비스에 대한 콘텐트를 제공하는 실체이다; "콘텐트 제공자"는 어떤 특정한 서비스 또는 일련의 서비스에 대한 콘텐트를 창작하는 실체이다.
상기 내용과 관련, 우리는 Push-VOD 서비스에서의 전송을 위해 콘텐트를 제공하고 스케줄링하는 것에 대하여 다수의 이슈를 알게 되었다. 예를 들어, 콘텐트 데이터베이스는 일정 시간 구간에 걸쳐 변할 수 있고 오퍼레이터 선호도 새로운 클립의 추가에 따라 변할 수 있다. 따라서, 새로운 클립이 추가됨에 따라, 이것은 덜 선호되는 클립이 방송을 위해 스케줄링되는 것을 무한정으로 막을 수 있기 때문에, 클립 전송의 우선순위 기반 스케줄링은 수행될 수 없다.
또한, 스케줄의 예측성은 또 다른 중요한 요소이다. 스케줄은 클립의 추가 및 제거에 따라 또는 우선순위의 변화에 따라 어떤 시점에서도 변할 수 있다. 하지만, 단방향 네트워크 환경에서 수신기 단말은 자신의 선호 콘텐트의 시기적절한 수신을 위해 상기 스케줄에 크게 의존한다. 만약 상기 스케줄이 예측 불가능하면, 수신기는 항상 대기해야 하고 이것은 불필요하게 전력을 낭비시킨다. 또한, 단방향 네트워크에서 상기 수신기는 손실된 파일에 대하여 송신기에 통보할 어떠한 수단도 가지고 있지 않다.
또한, 수신기에서의 선호 설정(preference settings)은 사용자의 개인적인 관심, 수신기의 위치, 수신 시기 등에 따라 변할 수 있다. 예를 들어, 멀티미디어 클립 방송에 있어, 시청자들은 자연히 반복적으로 높이 선호되는 클립을 얻는 것보다 새로운 클립을 얻는 것을 더 좋아할 것이라는 것이 알려져있다. 하지만, 방송 Push-VOD 서비스에서는 선호 설정을 즉시 고려할 수 있는 역방향채널이 없다. 이에 따라, 어떠한 스케줄링도 멀티미디어 클립에 대한 전송스케줄을 업데이터할 때 상기와 같은 이슈를 다루어야 한다.
상기의 내용을 고려하여, Push-VOD 서비스가 상기 언급된 이슈를 다룰 수 있도록 하는 본 발명에 따라, 스케줄러가 기술된다. 따라서, 및 본 발명에 따르면, 헤드-엔드가 콘텐트 파일에 대한 전송 순위를 동적 우선순위 값(priority value)의 함수로서 결정하고, 이것은 상기 콘텐트 파일 간의 적어도 비유사도 측도(dissimilarity measure)에 따라 결정된다; 그리고 헤드-엔드는 상기 결정된 전송 순위에 따라 상기 콘텐트 파일을 전송한다.
본 발명의 일 실시예에 있어서, 상기 콘텐트 파일은 스포츠 비디오, 뮤직 비디오, 뉴스 클립, 영화 사운드트랙 등과 같은 어떠한 종류의 오디오/비디오 클립도 될 수 있으며, "클립 메타 데이터"는 각각의 클립과 연관된다. 상기 헤드-엔드는 콘텐트 파일에 대한 전송 순위를 동적 우선순위 값의 함수로서 결정하는 스케줄러를 포함하고, 상기 동적 우선순위 값은 콘텐트 파일 간 적어도 비유사도 측도에 따라 결정된다; 상기 콘텐트 파일의 비유사도 측도는 각 클립과 관련된 상기 클립 메타 데이터의 함수로서 결정된다. 배터리 전원과 저장부를 절약하여 수신기가 자신의 선호 클립(preferred clips)의 선택적 수신을 할 수 있도록, 스케줄 타이밍 정보와 메타 데이터 정보가 방송 네트워크를 통하여 상기 클립과 함께 전송된다.
도 6에 있어, 본 발명에 따른 실시예적인 시스템이 도시되어 있다. 본 실시예의 목적을 위해서, 및 진보 개념 이외에, 도 6에 도시된 시스템은 도 1에서 기재된 바와 유사한 DVB-H 시스템을 통한 IP 데이터캐스트이다. 본 발명에 따르면, 헤드-엔드(150)는 멀티미디어 콘텐트 파일에 대한 전송 순위를 결정하기 위하여 멀티미디어 콘텐트 파일과 관련된 서술적 데이터(descriptive data)를 분석하고; 상기 결정된 전송 순위에 따라 상기 멀티미디어 콘텐트 파일을 안테나(185)를 통해 전송한다. 특히, 헤드-엔드(150)는 랩탑 컴퓨터(100-1), PDA(personal digital assistant, 100-2) 및 휴대폰(100-3)로 표시된 하나 또는 그 이상의 수신장치(여기서는 "클라이언트" 또는 "수신기"로도 불려짐)에 IP 데이터캐스트를 방송하기 위한 DVB-H 신호(186)를 방송하며, 상기 수신장치의 각각은 실시간 콘텐트 및 파일-기반 콘텐트에 대한 방송 IP 데이터캐스트의 복구를 위해 DVB-H 신호를 수신하도록 구성되는 것으로 추정된다. 도 6의 상기 시스템은 단방향 네트워크를 나타낸다. 하지만, 본 진보 개념은 이에 한정되지는 않는다.
본 발명에 따른 헤드엔드 또는 서버(150)의 일 실시예가 도 7에 도시되어 있다. 본 진보 개념 이외에, 도 7에 도시된 구성요소들은 공지된 것이고 여기서는 기술되지 않는다. 헤드-엔드(150)는 프로세서-기반 시스템이고, 도 7에서 점선 쳐진 박스의 형태로 표시된 프로세서(190)와 메모리(195)에 의하여 나타내어진 바와 같은 하나 또는 그 이상의 프로세서 및 관련 메모리를 포함한다. 이와 관련, 컴퓨터 프로그램 또는 소프트웨어는 프로세서(190)에 의한 실행을 위해 메모리(195)에 저장되고 예를 들어 스케줄러(240)를 실행한다. 프로세서(190)는 하나 또는 그 이상의 저장-프로그램 제어 프로세서를 나타내며, 이는 상기 스케줄링 기능에 전용될 필요는 없는데, 예를 들어 프로세서(190)는 헤드-엔드(150)의 다른 기능도 제어할 수 있다. 메모리(195)는 예를 들어 RAM(random-access memory), ROM(read-only memory) 등과 같은 어떠한 저장 장치도 나타내며; 헤드-엔드(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)는 FLUTE 송신기(220)에 ESG를 제공하며, FLUTE 송신기(220)는 ALC에 따른 FLUTE에 따라 상기 ESG를 포맷하고, 본 기술분야에서 공지된 바와 같이 IP 패킷 내의 캡슐화를 위해, 상기 FLUTE 파일을 전달하는 상기 결과물로서의 ALC 패킷을 IP 캡슐화기(225)에 제공한다. 그 결과물로서의 IP 패킷은 도 6에 도시된 바와 같이 하나 또는 그 이상의 수신장치로의 전송을 위하여 DVB-H 변조기(230)에 제공된다. 수신기(예를 들어 도 6의 수신기(100-2))는 수신기에서의 사용을 위해 상기 ESG를 복구하기 위하여 특정 FLUTE 채널(예를 들어, IP 어드레스 및 포트번호)에 튜닝한다.
도 7에 도시된 바와 같이, 헤드-엔드(150)는 또한 콘텐트 데이터베이스(235) 및 스케줄러(240)를 포함한다. 콘텐트 데이터베이스(235)는 콘텐트, 즉 멀티미디어 콘텐트 파일을 저장한다. 이러한 멀티미디어 콘텐트 파일은 스포츠 비디오, 뮤직비디오, 뉴스 클립, 영화 사운드트랙 등과 같은 어떠한 종류의 오디오/비디오 클립도 될 수 있다. 본 진보 개념 이외에, 상기 클립은 신호(238)를 통하여 FLUTE 송신기(220)으로 제공되고, 도 4와 관련하여 상기 기재된 바와 같이 DVB-H 내에 파일-기반 콘텐트 전송으로서 전송된다. 콘텐트 메타데이터가 각각의 클립과 연관된다. 각 클립에 대한 상기 콘텐트 메타데이터는 ESG 발생기(215)에 제공되고, 본 발명에 따라 신호(236)를 통하여 스케줄러(240)에 제공된다. 그 결과, 스케줄러(240)는 콘텐트 데이터베이스(235)에의 변화, 예를 들어 클립의 콘텐트 메타데이터를 변화시킴에 의한 추가/삭제 또는 수정를 탐지한다.
본 발명에 따르면, 스케줄러(240)는 상기 멀티미디어 콘텐트 파일에 대한 전송 순위를 결정하기 위하여 콘텐트 데이터베이스(235)에 저장된 상기 클립과 관련된 콘텐트 메타데이터를 분석한다. 이와 관련, 스케줄러(240)는 FLUTE 송신기(220)로의 제어신호(242)를 통하여 상기 전송 순위를 제어한다. 또한, 스케줄러(240)는 상기 수신기로 전송되는 ESG를 형성하는 사용하기 위하여 신호(241)를 통하여 ESG 발생기(215)에 추가적인 스케줄링 정보를 제공한다. 상기 추가적인 스케줄링 정보는 여기서는 "스케줄링 메타데이터"로 불려진다. 특히, 각각의 클립과 관련된 상기 콘텐트 메타데이터에 더하여, 스케줄러(240)는 도 8에 도시된 바와 같이 스케줄링 메타데이터를 추가한다. 스케줄링 메타데이터(200)는 다수의 필드를 포함한다: 동적 우선순위(Dynamic Priority, 201), 송신카운트(Sent Count, 202), 대기시간(203) 및 선택적으로 키워드(204)(점선형태로 표시됨). 이에 따라, 각각의 클립에 대해 콘텐트 메타데이터(210) 이외에 이제 스케줄링 메타데이터(200)도 있다. 이것은 도 8에 도시된 바와 같이 전체 클립 메타데이터(overall clip metadata, 220)로 칭한다. 콘텐트 메타데이터(210)는 콘텐트 데이터베이스(235)에 저장된다. 콘텐트 메타데이터(210)는 콘텐트 ID(211), 우선순위(212), 서술부(Description, 213) 및 선택적으로 키워드(214)(점선형태로 표시됨)를 포함한다. 실시예적으로 XML(eXtensible Markup Language)이 상기 메타데이터를 나타내는데 사용될 수 있다.
콘텐트 메타데이터(210)와 관련하여, 콘텐트 ID(211)는 콘텐트 데이터베이스(235) 내의 각각의 클립을 식별하기 위한 고유 번호 식별자(numerical identifier)이다. 우선순위(212)는 상기 식별된 클립에 대한 우선순위 레벨을 나타내는 숫자값이다. 서술부(213)는 예를 들어 방송을 위한 스케줄된 시점, 날짜, 지속시간 및 채널뿐만 아니라 TV 프로그램명, 시놉시스, 배우, 감독 등이다. 마지막으로, 키워드(214)는 상기 식별된 클립 내의 콘텐트를 간단하게 서술하는 하나 또는 그 이상의 키워드를 나타내는 문자숫자식의 단어의 리스트이다.
스케줄링 메타데이터(200)와 관련하여, 동적 우선순위(201)는 상기 식별된 클립을 방송 또는 전송하기 위한 실제 우선순위 레벨을 나타내는 숫자값이다. 송신카운트(202)는 상기 식별된 클립이 방송 또는 전송된 회수를 나타내는 숫자값이다. 대기시간(203)은 상기 식별된 클립이 마지막으로 발송된 이후 경과된 초수(the number of seconds)를 나타내는 숫자값이다. 마지막으로, 키워드(204)는 상기 식별된 클립 내의 콘텐트를 간단하게 서술하는 하나 또는 그 이상의 키워드를 나타내는 문자숫자식 단어의 리스트이다. 상술한 바와 같이, 키워드는 메타데이터(200) 또는 콘텐트 메타데이터(210) 중 어디에도 위치할 수 있다. 전반부에서, 키워드(204)는 서술부(213)를 분석하는 스케줄러(240)에 의하여 결정된다. 후반부에서, 키워드(214)는 콘텐트 메타데이터(210)의 일부로서 오퍼레이터에 의하여 설정된다.
이제 도 9의 흐름도를 주목해야 하는데, 이것은 본 발명에 따른 실시예적인 스케줄링 방법을 나타낸다. 단계(305)에서, 스케줄러(240)는 초기화하고, 스케줄 정적부분(schedule static part)(이하 설명됨)뿐만 아니라 스케줄링 주파수(fs, 316)를 결정한다. 상기 스케줄 정적 부분과 마찬가지로 스케줄링 주파수(fs, 316)는 예시적으로 선험적으로(a priori) 결정되는데, 예를 들어 이들은 도 7의 메모리(195)에 저장되어 있는 값이다. 상기 값들은 신호(243)을 통하여 오퍼레이터에 의하여 설정될 수도 있다(예를 들어 키보드/콘솔(미도시)을 통하여). 스케줄링 주파수(fs, 316)는 스케줄이 얼마나 자주 생성되는지 결정한다. 단계(310)에서, 스케줄러(240)는 콘텐트 데이터베이스(235)에 저장된 클립에 대한 콘텐트 메타데이터를 검색한다.
단계(315)에서, 스케줄러(240)는 상기 스케줄을 생성할 때가 되었는지 여부를 체크하는데, 이것은 스케줄링 주파수(fs, 316)에 의하여 결정된다. 만약 스케줄을 생성할 때가 아닌 경우에는, 스케줄러(240)는 콘텐트 데이터베이스(235)가 단계(325)에서 업데이트되었는지 여부를 체크한다(예를 들어 도 7의 신호(239)를 통하여). 만약 콘텐트 데이터베이스(235)가 업데이트 되지 않았으면, 스케줄러(240)는 단계(315)에서 스케줄을 생성할 때가 되었는지 여부를 다시 체크한다. 하지만, 만약 콘텐트 데이터베이스(235)가 업데이트되었으면, 스케줄러(240)는 단계(310)에서 상기 업데이트된 콘텐트를 검색한다. 상기 업데이트된 콘텐트는 변경된 콘텐트, 새로운 콘텐트 또는 삭제된 콘텐트를 나타낸다. 이와 관련, 스케줄러(240)는 필요에 따라 상기 검색된 콘텐트 메타데이터를 생성, 업데이트 또는 삭제하기 위하여 단계(310)에서의 필수 처리를 수행한다.
일단 스케줄러(240)가 스케줄을 생성할 때가 된 것으로 단계(315)에서 결정하면, 실행이 단계(320)으로 진행되며, 여기에서 스케줄러(240)는 각각의 식별된 클립에 대한 스케줄링 메타데이터(200)에 대한 값을 결정 또는 업데이트하고 스케줄을 생성한다. 먼저, 필요하다면, 스케줄러(240)는 스케줄링 메타데이터(200)의 상기 키워드(204) 필드에 대한 키워드를 결정하기 위하여 서술부(213)를 분석한다. 선택적으로, 스케줄러(240)는 만약 존재한다면 키워드(214)를 사용한다. 그리고 나서, 스케줄러(240)는 상기 식별된 클립(콘텐트 ID(211))에 대한 실제 우선순위를 나타내는 값을 결정하고, 이 값을 동적 우선순위(201)에 저장한다(이하 추가 기재됨). 스케줄러(240)는 또한 상기 식별된 클립이 전송된 회수를 나타내기 위해 송신카운트(202)의 값을 업데이트하고; 상기 식별된 클립이 마지막으로 방송된 이후 경과된 초수(the number of seconds)를 나타내기 위해 대기시간(203)의 값을 업데이트한다. 일단 각각의 식별된 클립에 대한 상기 스케줄링 메타데이터가 결정되면, 스케줄러(240)는 (신호(241)를 통해) ESG 발생기(215) 및 (신호(242)를 통해) FLUTE 송신기(220)에 의한 사용을 위한 상기 스케줄을 생성한다. 단계(325)와 관련된 실행이 계속된다. 간결화를 위해 다른 종료 및/또는 오류 조건은 여기에 기재된 흐름도에서는 도시되지 않는다는 점을 또한 알아야 한다.
상기 수신기측과 송신기측 상의 불필요한 실행 복잡성을 피하기 위하여, 스케줄러(240)는 비선점 스케줄러(non-preemptive scheduler)로서 예시적으로 설계된다. 이것은, 각각의 비디오 클립 또는 다른 어떤 콘텐트 파일도 작은 덩어리로 분리되지 않으며 전송은 상이한 시간슬롯 상으로 유포되지 않는다는 것을 의미한다. 달리 말하면, 일단 콘텐트 전송이 시작되면, 또 다른 클립을 전송하기 위한 종료 전까지는 상기 전송은 스케줄러(240)에 의하여 방해받지 않는다. 이것은 단말에서의 수신의 완료를 위해 요구되는 시간을 최소화하는데 도움을 준다. 하지만, 본 진보 개념은 여기에 한정되지 않고 선점 스케줄러(preemptive scheduler)에도 적용된다.
상술한 바와 같이, 스케줄러(240)는 스케줄을 생성한다. 본 발명에 따라, 실시예적인 스케줄(400)이 도 10에 도시되어 있다. 스케줄(400)은 정적부분(401)과 동적 부분(410)을 포함한다. 정적부분(401)은 J 클립: A(401-1), C(401-2), ... F(401-J)(J≥0)을 포함하고, 동적부분(410)은 K 클립: D(410-1) ... E(410-K)(K≥0)을 포함한다. 상기 스케줄의 지속기간은 [종료시점 - 시작시점](즉, tE-tS)이다. 도 10으로부터 볼 수 있는 바와 같이, 정적 부분(401)은 시작시점(tS)에서 시작하여 시점(tD)에서 종료한다. 후자의 시점은 동적 부분(410)의 시작점이고, 이것은 스케줄 종료시점(tE)에서 종료한다. 도 10에서 볼 수 있는 바와 같이, 각각의 클립은 관련된 지속시간을 갖는다. 예를 들어, 클립 C(401-2)는 관련 지속시간 DC를 갖는다. 비록 도 10이 정적 부분과 동적 부분을 도시하고 있지만, 각 부분에서의 클립의 개수는 0이 될 수 있으며 예를 들어 tS가 tD와 같을 수 있다는 점을 알아야 한다.
도 11에서는, 도 9의 단계(320)에서의 사용을 위한 예시적인 흐름도가 도시되어 있다. 새로운 스케줄을 생성할 때가 되면, 스케줄 시점 t는 초기화되는 바, 예를 들어 도 11의 단계(350)에서 tS = 0 이 된다. 단계(355)에서, 스케줄러(240)는 이전 스케줄이 존재하는지 여부를 체크한다. 만약 이전 스케줄이 존재하면, 단계(360)에서 스케줄러(240)는 상기 이전 스케줄을 로드하고, t를 상기 이전 스케줄의 동적 부분의 시작 시점과 같도록 설정하는데, 예를 들어 도 10의 스케줄(400)에 대하여 t = tD 로 설정한다. 어떤 경우에도, 단계(365)에서, 스케줄러(240)는 상기 스케줄링 세션에 대해 검색된 각각의 클립 또는 콘텐트의 동적 우선순위(DP(t))를 결정한다(이하 추가 기재됨). 단계(370)에서 가장 높은 동적 우선순위 DP(t)를 갖는 클립(i)는 스케줄 시점 t에서 시작하는 새로운 스케줄 내에 위치된다. 이 클립(i)은 관련 지속시간 Di를 갖는다. 단계(375)에서, 스케줄 시점 t는 t = t + Di가 된다. 단계(380)에서, 상기 스케줄 시점 t는 스케줄 종료 시점 tE에 대하여 체크된다. 만약, 상기 스케줄의 종료가 도달되면, 스케줄러(240)는 단계(385)에서 새로운 스케줄을 되돌려주거나 생성한다. 하지만, 만약 스케줄의 종료가 도달되지 않았으면, 스케줄러(240)는 단계(365)에서 남아있는 클립에 대한 동적 우선순위(DP(t))를 재계산하고 가장 높은 동적 우선순위 DP(t) 등을 갖는 상기 클립을 다시 선택한다. 이 프로세스는 스케줄러(240)이 전체 스케줄을 채울 때까지 반복된다. 흐름도에 도시되어 있는 바와 같이, 만약 이전 스케줄이 상기 시스템 내에 존재하면, 시작 시점 "t"는 동적 우선순위 계산을 하기 전까지 조정된다. 이 경우, 상기 이전 스케줄의 정적 부분 내의 이벤트는 변경없이 새로운 스케줄에 복사된다. 이것은 상기 스케줄이 수신기에서 더욱 예측가능하도록 하기 위하여 행해진다(이하 설명됨).
특정 시점(time instant) t에 스케줄된 클립이 그 시점에서 그 클립의 동적 우선순위에 의해 결정된다는 것을 도 11의 흐름도로부터 알 수 있다. 도 11의 단계(365)의 일 실시예가 도 12에 도시되어 있다. 단계(450)에서, 스케줄러(240)는 현재 스케줄 시점(t)와 현재 지속시간(Di)을 로드한다. 만약 어떠한 이전 스케줄도 존재하지 않고 어떠한 클립도 현재 이 스케줄링 세션 내에 스케줄되지 않았다면, 상기 현재 지속시간(Di)은 0과 같다. 만약 이전 스케줄이 존재하지만 어떠한 클립도 현재 이 스케줄링 세션 내에 스케줄되지 않았다면, Di는 상기 동적 부분의 시작(tD)과 상기 정적 부분의 시작 간의 차와 같다. 만약 그렇지 않으면, Di는 스케줄된 마지막 클립의 지속시간과 같다. 단계(455)에서, 스케줄러(240)는 모든 클립의 송신카운트를 업데이트하고(예를 들어 도 8의 송신카운트(202)), 또한 모든 클립의 마지막 방송 시간을 업데이트한다. 단계(460)에서, 스케줄러(240)는 현재 지속시간(Di)의 값을 체크한다. 만약 현재 지속시간(Di)의 값이 0 과 같으면, 단계(470)에서 각 클립에 대한 대기시간(Wt)(도 8에 도시된 대기시간(203)으로 표시됨)은 다음과 같이 계산된다:
Wt = 클립(i)의 마지막 방송시점 - t (1)
이것은 간단히 상기 클립에 대한 현재 시점과 마지막 방송시점 간의 차이다. 하지만, 만약 현재 지속시간(Di)의 값이 0 과 같지 않으면, 단계(465)에서 각 클립에 대하여 이 지속시간이 상기 대기시간에 더해지고(도 8에 도시된 대기시간(203)으로 표시됨), 다음과 같이 계산된다:
Wt = Wt + Di (2)
여기서, Di는 이전에 스케줄된 클립의 지속시간(또는 상기 스케줄의 정적부분의 지속시간)을 나타낸다.
단계(475)에서, 스케줄러(240)는 전송을 위해 아직 스케줄되지 않은 클립들의 비유사도(dissimilarity)를 결정한다. 이와 관련, 방송 상의 Push-VOD 류의 애플리케이션을 인식함에 있어 피드백 채널이 부족하다는 점을 알아야 한다. 최종 수요자가 자신의 선호를 송신기에 통보하기 위한 역방향 채널은 없다. Push-VOD 류의 애플리케이션에서는, 일반적으로 각자의 우선순위가 서로 간에 상이할 매우 다양한 사용자(수신기)가 존재한다. 이러한 특수한 이슈를 고려하지 않는 스케줄러는 Push-VOD 류의 애플리케이션에 대해서는 이상적이지 않다. 예를 들어, 만약 열렬한 축구팬이 축구 월드컵 하이라이트를 얻기 위해 다음 10 클립의 뉴스와 뮤직비디오 전송의 종료까지 기다려야 한다면, 그는 절대로 Push-VOD 애플리케이션을 좋아하지 않을 것이다.
매우 다양한 시청자 선호의 가능성을 고려하기 위해서 및 본 발명에 따르면, 도 12의 단계(475)에서 이전에 스케줄된 클립와 대비하여, 스케줄러(240)는 스케줄링 가능한 클립들의 각각의 비유사도에 대해 가중치(weighting)를 부여한다. 예를 들어, 시점 t에서 가장 비유사한 클립은 다른 클립보다 더 큰 비유사도 가중치를 갖는다. 이러한 비유사도 가중치(dissimilarity weighting value)는 이어서 어떤 클립의 동적 우선순위를 결정하는 데 사용되고, 그 결과(다른 요인들은 고려하지 않음. 이하 설명됨) 전송을 위해 유사한 클립들을 연속적으로 줄지어 세우는 대신에, 비유사한 클립들은 서로 이웃하여 전송되도록 스케줄된다. 스케줄된 클립에 대하여 스케줄되지 않은 클립이 얼마나 유사한지를 알아내기 위하여, 스케줄러는 예시적으로 각각의 클립과 관련된 키워드 데이터(도 8의 키워드(204))를 사용한다. 상술한 바와 같이, 상기 콘텐트 제공자는 상기 키워드를 제공할 수 있고/있거나 상기 오퍼레이터는 콘텐트를 더 잘 분류하기 위하여 추가적인 키워드를 규정할 수도 있다. 또한, 상술한 바와 같이, 스케줄러(240)는 키워드(204)에의 저장을 위해 스스로 키워드를 형성하기 위하여 도 8의 서술부(213)를 분석할 수 있다. 특정 클립에 대한 키워드(204) 또는 키워드(214) 내의 키워드의 전체 리스트는 유사도의 측도(measure of similarity)를 얻기 위하기 위하여 다른 클립의 각각의 키워드와 비교된다. 두 세트의 키워드 간의 상관관계 비율(rate of correlation)을 계산하는 몇 개의 방법이 있다. 예를 들어, 두 벡터의 내적을 얻음으로써, 그들 간의 상관관계를 알 수 있다.
예시적으로, 단계(475)에서, 스케줄러는 두 클립 간, 예를 들어 클립 X로 표시된 스케줄되지 않은 클립과 클립 Y로 표시된 마지막으로 스케줄 된 클립 간의 다음과 같은 유사성 측정을 수행한다.
Figure pct00001
(3)
단, S(x,y)는 클립 X와 클립 Y 간의 유사도 측도(similarity measure)이다; Ns는 클립 X와 클립 Y 내의 유사한 키워드의 개수이다; N(x)는 클립 X 내의 키워드의 총 개수이고 N(y)는 클립 Y 내의 키워드의 총 개수이다. 등식 (3)에서, S(x,y)의 값은 0과 1 사이에서 변한다. 1의 값은 전적으로 유사한 클립임을 나타내고 0의 값은 전적으로 비유사한 클립임을 나타낸다. 따라서, 상기 비유사도 측도는
Figure pct00002
(4)
이다.
각각의 스케줄되지 않은 클립의 비유사도 측도 Ds(x,y)는 스케줄러(240)에 의해서 어떤 클립에 대한 동적 우선순위를 결정하는 데 사용된다. 이 프로세스에서, 시놉시스/요약(summary) 필드를 분석함으로써 오퍼레이터/콘텐트 제공자 규정 키워드는 스케줄러에 의해 생성된 키워드보다 더 가중치가 부여된다.
상기 비유사도 측도는 이전의 클립과 비교할 때 가장 비유사한 클립을 식별하기 위하여 행해질 뿐만 아니라 이전의 전송 히스토리와 비교할 때 가장 비유사한 클립을 찾아내기 위해서도 확장될 수 있다는 점을 알아야 한다. 이것은 비유사도 측도를 과거 비유사도의 이동평균으로 함으로써 달성된다. 이에 따라, 등식 (3) 및 (4) 외에도, 스케줄러(240)는 상기 비유사도 측도를 정련할 수도 있다. 특히, 지속시간 △t를 갖는 클립 X가 "t-△t"에 스케줄되는 것으로 가정한다. 그러면, 시점 "t"에서의 각 클립의 Ds는 또한 다음과 같이 계산될 수 있다:
Figure pct00003
(5)
여기서, Ds(x,i)는 (등식 (3) 및 (4)로부터의) 클립 X에 대한 클립(i)의 비유사도이고, Ds(t-△t)는 시간 t-△t 즉 이전의 스케줄링 간격에서 얻어진 클립(i)의 비유사도 값이다. 이전 히스토리보다도 가장 최근에 스케줄된 클립에 대한 비유사도에 더 많은 가중치가 부여되도록 하는 방식으로, α 값이 선택된다.
각각의 스케줄되지 않은 클립에 대한 비유사도 값을 결정한 후, 스케줄러(240)는 스케줄되지 않은 모든 클립에 대하여 단계(480)에서 상기 동적 우선순위를 결정한다. 예시적으로, 시점 "t"에서의 각 클립의 동적 우선순위는 다음과 같이 주어진다:
Figure pct00004
(6)
여기서, Dp(t)는 시점 t에서 상기 클립의 동적 우선순위이고; P는 상기 클립의 오퍼레이터/콘텐트 제공자 부여 우선순위(예를 들어, 도 8의 우선순위(212)); Ds(t)는 시점 t에서 상기 클립의 상기 언급된 비유사도 측도(선택적으로 Ds(x,y)가 Ds(t) 대신에 사용될 수도 있다.), Wt는 시점 t에서의 상기 클립의 대기시간이며; Sc는 상기 클립의 송신 카운트이고, Kp, Kd, Kw 및 Ks는 각각 오퍼레이터 우선순위, 비유사도, 에이징(aging) 및 송신 카운트의 상대적 가중치를 결정하는 상수이다. 이러한 상수들은 선험적으로 설정될 수도 있지만, 상기 상수들은 최적의 스케줄을 얻기 위하여 수동적으로 조정될 수도 있고 또는 시청자로부터의 선택적 집합 피드백(aggregate feedback)을 사용함으로써 스케줄러 내에서 조정될 수도 있다. 상기 집합 피드백은 상이한 거리에서 얻어지는 시청자로부터의 오프라인 피드백의 모음이다. 그것은 웹 포털, 또는 SMS(short message service) 기반 게이트웨이, 또는 다른 유사한 통신 채널의 중 어떤 것을 통하여 파악될 수 있다.
동적 우선순위가 등식(6)와 관련하여 기재되었음에도 불구하고 P, Ds(t), Wt 및 Sc 중의 하나, 둘 또는 세개의 변수는 동적 우선순위를 결정하기 위하여 사용될 수 있다. 실제로, 동적 우선순위를 결정하기 위하여 본 발명에 따라 추가적인 파라미터가 상기 4개 이외에도 정의될 수도 있다.
상술한 바와 같이, 예시적으로, 상기 송신 카운트 Sc는 스케줄링 프로세스에서 어떤 클립이 전송된 회수를 고려하기 위하여 사용된다. 예를 들어, 비디오 클립 방송 시스템에서, 시청자는 항상 새로운 클립을 찾을 것이다. 일반적으로, 시청자는 오래된 클립보다는 새로운 클립을 선호할 것이고, 이것은 때때로 오래된 클립이 오퍼레이터나 콘텐트 제공자에 의하여 높이 평가되었다 하더라도 그러하다. 따라서, 스케줄러는 어떤 클립이 전송된 회수를 고려해야 하고, 이에 따라 그 클립을 스케줄해야 한다. 스케줄러는 상기 특정 클립이 전송된 회수를 카운트하기 위하여 Sc를 사용함으로써 상기 문제점을 해결한다. 모든 새로운 클립은 송신 카운트 Sc 값으로서 0을 가질 것이다. 어떤 클립의 동적 우선순위를 결정함에 있어, 스케줄러는 상기 송신 카운트에 직접 비례하여 상기 우선순위를 감소시킬 것이다. 달리 말하면, 상기 송신 카운트가 낮으면 낮을수록, 동적 우선순위의 상승은 더 높아진다.
이와 관련, 스케줄러는 높은 우선 순위 콘텐트를 선호하고 오래된 클립에 비해 새로이 추가된 클립에 특별한 관심을 부여하기 때문에, 새로운 클립의 빈번한 추가는 낮은 우선순위 클립으로 하여금 한번도 전송되지 않고 무한정 데이터베이스 내에 머물러 있게 할 수 있다. 이를 보상하기 위하여, 스케줄러는 등식 (6)의 파라미터 Wt를 통하여 클립의 에이징(aging)을 고려한다. 이에 따라, 어떤 클립의 동적 우선순위는 대기시간이 증가함에 따라 증가한다.
어떤 클립의 오퍼레이터/콘텐트 제공자 우선순위 P의 증가가 동적 우선순위의 직접적인 증가로 이어진다는 것을 등식(6)으로부터 또한 알 수 있다. 따라서, 오퍼레이터/콘텐트 제공자 선호 클립은 아마도 일찍 스케줄될 것이다.
단계(485)에서, 스케줄러(240)는 전송을 위해 시점 t에서 최고 또는 최대 동적 우선순위 Dp(t)를 갖는 클립을 선택하고 이 클립을 스케줄 내에 위치시킨다. 만약 다수의 클립이 같은 동적 우선순위를 가진다면, 스케줄러(240)는 그 클립 중의 하나를 선택하거나 같은 동적 우선순위 클립들 간에 라운드 로빈 스케줄(round robin schedule)을 수행한다. 예를 들어, 만약 어떤 한 세트의 클립의 모든 동적 우선순위 측도가 동일한 값을 가지다면, 스케줄러는 스케줄을 생성하는 것을 상기 세트를 통하여 단순히 반복하고 이에 따라 그것들 모두가 전송될 수 있도록 한다.
단계(490)에서, 상기 선택된 클립은 0으로 셋팅된 대기시간을 갖고(예를 들어 도 8의 대기시간(203)), 상기 스케줄링 프로세스의 다음 반복시 상기 Di 값이 단계(450)에서 사용되도록(상기에서 언급됨) Di는 상기 선택된 클립의 지속시간과 동일하도록 설정된다.
상술한 바와 같이, 스케줄의 예측성은 중요하다. 단방향 방송 환경에서, 수신기는 콘텐트의 선택적 수신을 행하기 위해 획득하는 메타데이터 및 스케줄에 크게 의존한다. 따라서, 상기 수신기가 미리 상기 스케줄을 수신하는 것은 매우 중요하다. 더구나, 만약 새로운 콘텐트의 추가나 다른 이유로 인해 어떤 스케줄 변화가 서버 상에서 발생하게 되면, 최근 스케줄은 모든 수신기에 전송될 필요가 있다. 스케줄러는 주기적인 스케줄 업데이트를 예를 들어 매 T=1/fs 초(seconds)마다 보냄으로써 이것을 행하는데, 여기서 fs는 이미 언급한 스케줄링 주파수이다. 상기 주기적인 스케줄 업데이트는 예를 들어 새로이 스케줄된 이벤트, 및 스케줄된 콘텐트와 관련된 다른 메타데이터를 포함한다. 이 정보를 이용하여, 상기 수신기는 상기 콘텐트를 수신할 필요가 있는지 여부와 그 콘텐트를 얻기 위하여 언제 튜닝할 것인지를 결정할 수 있다. 이에 따라 단말은 전원과 저장 공간을 절약할 수 있다.
하지만, 실제 시스템에서, 스케줄 업데이트 및 상기 단말에서의 스케줄 업데이트의 동시적인 수신의 주파수는 제한된다. 달리 말하면, 일단 서버 상에서 스케줄 변경이 발생하면, 수신기가 그것에 대하여 인식하는 데에는 일정한 시간이 소요된다. 이러한 지연을 서버 상에서의 최소 스케줄 업데이트 간격(minimum schedule update interval)이라고 하자. 상기 최소 스케줄 업데이트 간격 및 이에 기인한 비예측성을 고려하기 위하여, 및 본 발명에 따라, 스케줄러는 또 다른 개념- 상기 스케줄을 도 10에 도시된 바와 같이 정적 및 동적 부분으로 분리하는 것 -을 도입한다.
이것은 도 13에서 더 도시되어 있다. 이 도면은 연속적인 시간 간격에 걸친 스케줄러(240)에 의한 세 ESG(701, 702, 703)의 형성을 나타낸다. 간결화를 위해, ESG는 매분(minute)마다 형성되고 이전 스케줄은 없는 것으로 가정한다. 스케줄러(240)에 의해 0분에서 형성된 제 1 ESG는 ESG(701)이다. ESG(701)를 형성함에 있어, 스케줄러(240)는 클립(A, B, C, D, E)이 전송 가능한지를 결정하고, 상기에서 언급된 도 9, 11 및 12의 스케줄링 프로세스에 따라 도 13에 도시된 바와 같이 전송을 위해 그것들을 스케줄한다. 도 13으로부터 알 수 있는 바와 같이, ESG(701)에서, 클립(A, B, D 및 E)은 각각 1분의 지속시간을 갖는 반면, 클립(C)은 2분의 지속시간을 갖는다. 또한, 정적 부분(401)은 선험적으로 2분의 지속시간을 갖는 것으로 정의되며, ESG(401)의 나머지 부분은 상기 ESG의 동적 부분(410)으로 지정된다.
다음 스케줄링 간격에서, 스케줄러(240)는 클립(B, C, D, E 및 F)이 전송가능한지를 결정한다(클립 A는 전송됨). 또한, 스케줄러(240)는 이전 스케줄(ESG 701)이 존재한 것을 결정하고 정적 부분(401)을 결정한다. 이미 언급한 바와 같이, 스케줄러(240)는 예시적으로 비선점 스케줄러(non-preemptive scheduler)로 설계된다. 이것은, 각각의 비디오 클립 또는 다른 콘텐트 파일이 작은 조작으로 분리되지 않고 전송은 상이한 시간 슬롯에 걸쳐 퍼지지 않음을 의미한다. 이에 따라, 비록 정적부분(401)이 (클립(C)의 중앙에 위치할) 2분의 지속시간을 갖는 것으로 정의되더라도, 정적부분(401)은 전체 클립(C)을 포함하도록 잠정적으로 확장된다. 달리 말하면, 상기 정적부분은 2분의 최소 지속시간을 갖는다. 결과적으로, 클립(B 및 C)은 ESG(701)에서 이전에 결정된 바와 같이 전송을 위해 스케줄된다. 하지만, 도 13에서 볼 수 있는 바와 같이, 클립(D, E 및 F)의 전송의 동적 우선순위를 재계산함에 있어, 동적부분(410)에서, 클립(F)은 클립(D 및 E)에 앞서 전송을 위해 스케줄된다. 이에 따라, 예를 들어 이제 클립(D)는 클립(D)가 ESG(701)에서 가진 것과는 다른 전송 순서 또는 우선순위를 ESG(702)에서 갖는다.
마지막으로, 다음 스케줄링 간격에서, 스케줄러(240)는 클립(C, D, E, F 및 G)이 전송가능한지를 결정한다(클립 B는 전송됨). 또한, 스케줄러(240)는 이전 스케줄(ESG 702)이 존재한 것을 결정하고 정적 부분(401)을 결정한다. 하지만, 정적부분(401)은 단지 클립(C)를 포함하기 때문에, 이제 정적 부분(401)은 다시 2분으로 설정된다. 이에 따라, 클립(C)은 ESG(702)에서 이전에 결정된 바와 같이 전송을 위해 스케줄된다. 하지만, 도 13에서 볼 수 있는 바와 같이, 클립(D, E, F 및 G)의 전송의 동적 우선순위를 재계산함에 있어, 동적부분(410)에서, 클립(G)은 클립(F, D 및 E)에 앞서 전송을 위해 스케줄된다. 이에 따라, 예를 들어 이제 클립(F)은 클립(F)가 ESG(702)에서 가진 것과는 다른 전송 순서 또는 우선순위를 ESG(703)에서 갖는다.
상술한 내용을 고려할 때, 상기 스케줄러에 의해 어떤 시점에서 생성된 스케줄이라도 2개의 부분을 가질 것이다. 현재 스케줄의 정적 부분은 이전 스케줄에서 대응하는 시간 구간 내에 존재했던 이벤트를 가질 것이다. 상기 스케줄의 정적 부분은 또한 상기 스케줄이 이동함에 따라 시간 선 상에서 앞으로 이동할 것이다. 달리 말하면, 만약 30 초의 정적 구간이 있으면, 시간순간 t에서 만들어진 스케줄은 시점 t로부터 t+30까지 범위의 정적 부분을 가질 것이며 t+1초에서 만들어진 스케줄은 t+1로부터 t+31까지 범위의 정적 부분을 가질 것이다.
재스케줄(reschedule)이 발생할 때에는 언제나 새로운 재스케줄 변화가 상기 스케줄의 동적 부분에서 일어나고, 이것은 (t + 정적 구간)으로부터 시작하며, 여기서 t는 재스케줄링의 시간순간이다. 새로운 스케줄의 정적 부분은 t에서 (t + 정적 구간)까지의 시간 구간에 대응하는 이벤트를 이전 스케줄로부터 얻음으로써 만들어진다. 고정된 지속시간이 상기 정적 부분에 대하여 구성될 수 있음에도 불구하고(예를 들어 30초), 정확한 정적 부분은 도 13의 ESG(701, 702 및 703)와 관련하여 상기 도시된 바와 같이 정적 부분 내 클립의 지속시간에 따라 변할 수 있다.
스케줄의 정적 구간은 어떤 시간 구간에 걸쳐 조정(tune)될 수 있다. 이상적으로는, 상기 정적 구간은 단말에 의해 요구되는 최소 스케줄 업데이트 간격과 같다. 새로운 스케줄의 프로세싱 및 전송에 있어 어떠한 오버헤드(overhead)라도 수용하기 위해, 필요하다면 재스케줄링 간격도 조정될 수 있다. 이에 따라, 상기 단말은 변경되지 않는 정적 부분에 의존할 수는 있지만, 어떠한 재스케줄 변경도 상기 단말로 전송될 것이다.
도 14에서 본 발명에 따른 실시예적인 수신기(100)가 도시되어 있다. 본 진보 개념과 관련된 수신기(100) 부분만 도시된다. 수신기(100)는 예를 들어 PC, PDA(personal digital assistant), 휴대폰, 모바일 디지털 텔레비전(DTV) 등과 같은 어떠한 프로세서기반 플랫폼이라도 나타낸다. 이와 관련, 수신기(100)는 도 14에서 점선 쳐진 박스의 형태로 도시된 프로세서(890)와 메모리(895)에 의해 표시된 바와 같이 하나 또는 그 이상의 프로세서와 관련 메모리를 포함한다. 여기서, 컴퓨터 프로그램 또는 소프트웨어가 프로세서(890)에 의한 실행을 위해 메모리(895)에 저장된다. 상기 프로세서(890)는 하나 또는 그 이상의 저장-프로그램 제어 프로세서를 나타내고, 이것은 상기 수신기 기능에 전용될 필요는 없으며, 예를 들어 프로세서(890)는 수신기(100)의 다른 기능을 제어할 수도 있다. 메모리(895)는 예를 들어 RAM(random-access memory), ROM(read-only memory) 등과 같은 어떠한 저장 장치도 나타내며; 수신기(100)에 내장 및/또는 외장될 수 있고; 필요에 따라 휘발성 및/또는 비휘발성이다. 수신기(100)는 DVB-H 수신기(810), IP 디-캡슐화기(de-encapsulator, 815) 및 FLUTE 수신기(820)를 포함한다. 어떤 또는 모든 상기 구성요소는 프로세서(890)와 메모리(895)에 의해 표시된 바와 같이 소프트웨어로 실행될 수 있따. DVB-H 수신기(810)는 안테나(805)를 통하여 DVB-H 신호(186)를 수신하고 복조된 신호를 IP 디-캡슐화기(815)에 제공한다. 후자는 ALC 패킷을 FLUTE 수신기(820)에 제공하며, 이것은 신호(821)에 의해 표시된 바와 같이 콘텐트를 복구한다. 이 콘텐트는 (생략부호(830)에 의해 표시된 바와 같이) 본 기술분에서 알려진 바와 같이 수신기(100)에 의해 더 처리될 수 있다. 상술한 바와 같이, 및 본 발명에 따라, 프로세서(890)는 선택된 클립(콘텐트)을 식별하는 데 사용하기 위한 정적 부분과 동적부분을 갖는 ESG를 복구한다. 이 예에서, FLUTE 수신기(820)와 DVB-H 수신기(810)는 제어신호(809 및 819)에 의하여 표시된 바와 같이 프로세서(890)에 의하여 파워-온 및 오프되며, 적어도 비선택된 일부 콘텐트에 대해 수신기(100)는 감소된 전원 상태로 동작한다. 이에 따라, 수신된 프로그램 가이드 내에 표시된 선택된 콘텐트의 수신을 스케줄링하기 위해, 프로세서(890)는 ESG의 적어도 동적 부분에 적응한다.
본 발명에 따른 수신기(900)의 또 다른 실시예가 도 15에 도시되어 있다. 본 진보 개념과 관련된 수신기(900) 부분만 도시되어 있다. 수신기(900)는 DVB-H 수신기(910), 복조기/디코더(915), 전송 프로세서(transport processor, 920), 제어기(950) 및 메모리(960)를 포함한다. AD 컨버터(analog-to-digital converter), 프론트엔드 필터 등과 같은 수신기의 다른 구성요소들은 간결화를 위해 도시되지 않았다는 것을 알아야 한다. 전송프로세서(920)와 제어기(950) 모두는 각각 하나 또는 그 이상의 마이크로 프로세서 및/또는 디지털 신호프로세서(DSPs)를 나타내고, 프로그램 실행과 데이터 저장을 위한 메모리를 포함할 수 있다. 이와 관련, 메모리(960)는 수신기(900) 내의 메모리를 나타내고 예를 들어 전송 프로세서(920) 및 도는 제어기(950)의 어떤 메모리라도 포함한다. 예시적인 양방향 데이터 및 제어버스(901)가 도시된 바와 같이 수신기(900)의 다양한 구성요소들을 함께 연결시킨다. 버스(901)는 단지 예를 들어 (병렬 및/또는 직렬 형태의) 개별적인 신호들을 나타내고, 데이터를 전달하는 등을 위해 사용될 수 있으며, 수신기(900)의 구성요소들 간 시그널링을 제어한다. DVB-H 수신기(910)는 DVB-H 신호(909)를 수신하고 하향변환된(down-converted) DVB-H 신호(911)를 복조기/디코더(915)에 제공한다. 후자는 신호(911)의 복조 및 디코딩을 수행하고 디코딩된 신호(916)를 전송 프로세서(920)에 제공한다. 전송프로세서(920)는 패킷 프로세서로서, DVB-H에 따라 실시간 콘텐트나 파일기반 콘텐트를 복구하기 위하여 실시간 프로토콜과 FLUTE/ALC 프로토콜 스택 모두를 실행한다. 전송 프로세서(920)는 (생략부호(991)에 의해 표시된) 이후의 회로를 사용하기 위해 콘텐트 신호(921)에 의해 표시된 바와 같은 콘텐트를 제공한다. 메모리(960)에 저장하기 위해 도 13의 ESGs로 표시된 바와 같은 ESG 정보를 복구하기 위하여, 제어기(950)는 상기 언급된 흐름도에 따라 버스(901)를 통하여 전송 프로세서(920)를 제어한다. 제어기(960)는, 선택된 클립(콘텐트)에 대하여 수신된 ESGs의 정적 및 동적 부분에 응답하여, (버스(901)를 통해) 제어신호(951, 952 및 953)를 통하여 본 발명에 따라 전송 프로세서(920), DVB-H 수신기(910) 및 복조기/디코더(915)의 전원 관리(power management)를 수행한다. 이에 따라, 수신된 프로그램 가이드 내에 표시된 선택된 콘텐트의 수신을 스케줄링하기 위해, 제어기(960)는 상기 ESG의 적어도 동적 부분에 적응한다.
수신기(100) 또는 수신기(900)에서의 사용을 위한 흐름도가 도 16에 도시되어 있다. 단계(505)에서, 상기 수신기는 정적 부분과 동적 부분을 갖는 ESG를 수신하는데, 상기 정적 부분에 표시된 콘텐트의 전송 순위는 이전에 수신된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위로부터 결정되는 반면, 상기 동적 부분에 표시된 콘텐트의 전송 순위는 이전에 수신된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위와 달라질 수 있다. 예를 들어, 상기 수신기는 도 13의 ESG(702)를 수신한다. ESG(702)에서, 정적 부분(401)에 표시된 콘텐트의 전송 순위는 ESG(701)로부터 결정되는 반면, 동적 부분(410)에 표시된 콘텐트의 전송 순위는 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)를 수신할 때 상기 수신기는 t=4 mins에서 수신을 스케줄할 것이다. 하지만, ESG(702)의 수신 후, 상기 수신기는 상기 프로그램 가이드의 동적 부분에서의 변화를 탐지하고, 이제 t=5 mins에서의 클립(D)로 표시된 바와 같이 상기 선택된 콘텐트에 대한 수신을 스케줄한다. 이와 같이, 수신기는 수신된 프로그램 가이드 내에 표시된 선택된 콘텐트의 수신을 스케줄링하기 위해 상기 수신된 프로그램 가이드의 적어도 동적 부분에서의 변화에 적응한다.
기회적 대역폭 환경(apportunistic bandwidth environment)(예를 들어 가변 비트율(variable bit rate, VBR))에서 출력 채널 대역폭은 일정하지 않다. 이것은 스케줄러에 의해 행해지는 모든 타이밍 계산에 영향을 미친다. 이를 고려하기 위해, 스케줄러는 대역폭 피드백 인터페이스를 구비할 수 있다. 이에 따라, 스케줄러(240)는 각 클릭의 전송 지속시간(transmission duration)을 계산하기 위해 출력 대역폭을 감시하는데(지속시간 = 클립/대역폭의 크기), 그것은 스케줄러가 다음 클립을 스케줄링할 수 있는 시점을 결정할 것이다. 이는 도 17의 서버(150')에 도시되어 있는데, 서버(150')는 FLUTE 송신기(220)로부터 스케줄러(240)로의 피드백 통신경로(244)를 제외하면 도 7의 서버(150)와 유사하다. 결과적으로, FLUTE 송신기(220)가 피드백 통신경로(244)를 통하여 전송의 완료에 대해 스케줄러(240)에 통보하기 때문에, 스케줄러(240)는 대역폭 변화를 지속적으로 감시할 수 있고 상기 변화를 통계적으로 예측할 수 있다. 따라서, 결국은 상기 스케줄러가 만들어내는 타이밍 추정은 더욱 정확성을 가질 것이다. 또한, 상기 스케줄러는 각각의 콘텐트 전송의 상태를 업데이트할 수 있다. 이것은 VBR 환경에서 송신 카운트 계산에서의 오류를 최소화하는 데 도움을 준다.
상술한 바와 같이, 본 진보개념은 방송 네트워크를 통한 전송을 위한 멀티미디어 콘텐트 파일을 스케줄링함에 있어 다수의 문제점에 대해 기술한다. 예를 들어, 본 진보 개념은 콘텐트 데이터베이스가 예를 들어 새로운 클립의 추가 및/또는 삭제와 함께 어떤 시간구간에 걸쳐 변화할 수 있도록 한다. 또한, 개별 클립과 관련된 오퍼레이터 선호(preference)도 시간에 걸쳐 변할 수 있다. 또한, 스케줄러는 CBR(Constant Bit Rate) 출력채널 또는 VBR(variable bit rate) 출력채널 어디에도 적용될 수 있다.
본 진보 개념이 DVB-H 시스템과 관련하여 기술되었음에도 불구하고, 본 진보개념은 여기에 한정되지 않음을 알아야 한다. 또한, 본 진보 개념이 스케줄링 메타데이터 내의 특정 개수의 구성요소의 문맥에서 기술되었음에도 불구하고, 본 진보 개념은 여기에 한정되지 않고, 추가적인 또는 더 적은 필드가 상기 스케줄링 메타데이터를 포함할 수 있다. 또한, 상기 스케줄러가 서버 또는 헤드-엔드의 일부로서 도시되어 있지만 본 발명은 여기에 한정되지 않고, 상기 스케줄러는 스케줄링 정보를 ESG 및/또는 FLUTE 송신기에 제공하기 위하여 상기 서버로부터 분리될 수 있다.
상기의 내용을 고려할 때, 상기의 내용은 단지 본 발명의 사상을 예시적으로 나타내며, 본 기술분야의 당업자는, 여기에 명시적으로 기재되진 않았더라도 본 발명의 사상을 구체화하고 그 사상 및 범위 내에 있는 많은 대체적 장치를, 고안할 수도 있을 것이다. 예를 들어, 분리된 기능적 구성요소들의 맥락에서 개시되어 있더라도, 이러한 기능적 구성요소들은 하나 또는 그이상의 집적회로(ICs) 내에 구체화될 수 있다. 마찬가지로, 분리된 구성요소로서 도시되었더라도, (예를 들어 도 7의) 어떤 또는 모든 구성요소들은 예를 들어 디지털 신호프로세서와 같은 저장-프로그램-제어 프로세서(stored-program-controlled processor) 내에서 실시될 수 있는데, 이것은 예를 들어 도 9, 11 및 12의 하나 또는 그 이상의 단계에 대응하는 관련 소프트웨어를 실행한다. 또한, 본 발명의 사상은 예를 들어 위성, Wi-Fi(Wireless-Fidelity), 셀룰러 등과 같은 다른 타입의 통신 시스템에도 적용될 수 있다. 실제로, 본 진보 개념은 고정(stationary) 또는 모바일 수신기에도 적용될 수 있다. 따라서, 상기 실시예들에 대해 많은 수정이 행해질 수 있고, 본 발명의 사상 및 범위를 벗어나지 않는 한 다른 장치가 고안될 수 있다는 점을 이해해야 한다.
10, 150 : 헤드 엔드
35, 185 : 안테나 90 : 수신기
15 : ESG 발생기 20 : FLUTE 송신기
25 : IP 캡슐화기 30 : DVB-H 변조기
45 : NTP 서버
100-1 :랩탑 컴퓨터 100-2 : PDA
100-3 : 휴대폰(100-3)
190 : 프로세서 195 : 메모리
215 : ESG 발생기 220 : FLUTE 송신기
225 : IP 캡슐화기 230 : DVB-H 변조기
235 : 콘텐트 데이터베이스 240 : 스케줄러
810 : DVB-H 수신기 815 : IP 디-캡슐화기
820 : FLUTE 수신기
890 : 프로세서 895 : 메모리
910 : DVB-H 수신기 915 : 복조기/디코더
920 : 전송 프로세서
950 : 제어기 960 : 메모리

Claims (16)

  1. 정적 부분과 동적 부분을 갖는 프로그램 가이드를 결정하는 단계; 및
    상기 프로그램 가이드를 전송하는 단계를 포함하되,
    상기 동적 부분에 표시된 콘텐트의 전송 순위는 이전에 결정된 프로그램 가이드 내의 대응하는 콘텐트의 전송순위와 달라질 수 있는 반면, 상기 정적 부분에 표시된 콘텐트의 전송 순위는 상기 이전에 결정된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위로부터 결정되는, 방법.
  2. 제 1항에 있어서,
    콘텐트는 오디오 클립 또는 비디오 클립인, 방법.
  3. 제 1항에 있어서,
    상기 프로그램 가이드는 전자 서비스 가이드인, 방법.
  4. 제 1항에 있어서,
    상기 정적 부분은 적어도 하나의 최소 지속시간을 갖는, 방법.
  5. 정적 부분과 동적 부분을 갖는 프로그램 가이드를 결정하기 위한 프로세서; 및
    상기 프로그램 가이드를 전송하기 위한 변조기를 포함하되,
    상기 동적 부분에 표시된 콘텐트의 전송 순위는 이전에 결정된 프로그램 가이드 내의 대응하는 콘텐트의 전송순위와 달라질 수 있는 반면, 상기 정적 부분에 표시된 콘텐트의 전송 순위는 상기 이전에 결정된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위로부터 결정되는, 장치.
  6. 제 5항에 있어서,
    콘텐트는 오디오 클립 또는 비디오 클립인, 장치.
  7. 제 5항에 있어서,
    상기 프로그램 가이드는 전자 서비스 가이드인, 장치.
  8. 제 5항에 있어서,
    상기 정적 부분은 적어도 하나의 최소 지속시간을 갖는, 장치.
  9. 정적 부분과 동적 부분을 갖는 수신된 프로그램 가이드를 나타내는 신호를 복구하는 데 사용하기 위한 복조기; 및
    상기 수신된 프로그램 가이드에 표시되는 선택된 콘텐트의 수신을 스케줄링하기 위하여, 상기 수신된 프로그램 가이드의 적어도 상기 동적 부분에서의 변화에 적응하는 프로세서를 포함하되,
    상기 동적 부분에 표시된 콘텐트의 전송 순위는 이전에 수신된 프로그램 가이드 내의 대응하는 콘텐트의 전송순위와 달라질 수 있는 반면, 상기 정적 부분에 표시된 콘텐트의 전송 순위는 상기 이전에 수신된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위로부터 결정되는, 장치.
  10. 제 9항에 있어서,
    콘텐트는 오디오 클립 또는 비디오 클립인, 장치.
  11. 제 9항에 있어서,
    상기 프로그램 가이드는 전자 서비스 가이드인, 장치.
  12. 제 9항에 있어서,
    상기 정적 부분은 적어도 하나의 최소 지속시간을 갖는, 장치.
  13. 정적 부분과 동적 부분을 갖는 프로그램 가이드를 수신하는 단계; 및
    상기 수신된 프로그램 가이드에 표시되는 선택된 콘텐트의 수신을 스케줄링하기 위하여, 상기 수신된 프로그램 가이드의 적어도 상기 동적 부분에서의 변화에 적응하는 단계를 포함하되,
    상기 동적 부분에 표시된 콘텐트의 전송 순위는 이전에 수신된 프로그램 가이드 내의 대응하는 콘텐트의 전송순위와 달라질 수 있는 반면, 상기 정적 부분에 표시된 콘텐트의 전송 순위는 상기 이전에 수신된 프로그램 가이드 내의 대응하는 콘텐트의 전송 순위로부터 결정되는, 방법.
  14. 제 13항에 있어서,
    콘텐트는 오디오 클립 또는 비디오 클립인, 방법.
  15. 제 13항에 있어서,
    상기 프로그램 가이드는 전자 서비스 가이드인, 방법.
  16. 제 13항에 있어서,
    상기 정적 부분은 적어도 하나의 최소 지속시간을 갖는, 방법.
KR1020107003746A 2007-08-07 2008-06-17 방송 클립 스케줄러 KR20100049606A (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
KR20100049606A true KR20100049606A (ko) 2010-05-12

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 Before (1)

Application Number Title Priority Date Filing Date
KR1020107005066A KR20100053618A (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
KR20100053618A (ko) 2010-05-20
CN101772911A (zh) 2010-07-07
BRPI0815128A2 (pt) 2015-02-03
EP2176975A2 (en) 2010-04-21
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
KR20100049606A (ko) 방송 클립 스케줄러
JP5148697B2 (ja) 受信機で電力管理を実行する装置及び方法
EP2068557B1 (en) Mapping mobile device electronic program guide to content
US20070300265A1 (en) User behavior adapted electronic service guide update
EP2062383B1 (en) Dynamic sdp update in ipdc over dvb-h
US9313553B2 (en) Apparatus and method for simulcast over a variable bandwidth channel
JP2004532557A (ja) Mpeg2伝送ストリームにおける適応データ/コンテンツ挿入方法
Qi et al. Dynamic broadcast
EP3468208A1 (en) Method and device for providing media content
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) 방송 서비스의 제공 방법 및 장치
Zhiqi et al. Using object multiplex technique in data broadcast on digital CATV channel
EP2457374A1 (en) A method and system for transmitting channels to at least one digital video recorder

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